/* One Pass Docs — website v1
 * Layout and components for the one-page site. All values come from the
 * design-system tokens (ds/tokens.css); classes mirror the design system's
 * Button, Eyebrow, Card, and DisclaimerBar styles without needing React.
 */

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:80px;}
body{margin:0;background:var(--paper);color:var(--text-body);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;}
a{color:var(--text-link);}
img{display:block;}
h1,h2,h3,p{margin:0;}

/* Buttons (design-system Button) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:var(--weight-semibold);border-radius:var(--radius-sm);border:1px solid transparent;text-decoration:none;white-space:nowrap;line-height:1;transition:background var(--duration-fast) var(--ease-standard);}
.btn:focus-visible,a:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:2px;}
.btn--sm{font-size:var(--text-xs);padding:8px 14px;}
.btn--lg{font-size:var(--text-md);padding:13px 22px;}
.btn--primary{background:var(--action-primary-bg);color:var(--action-primary-fg);}
.btn--primary:hover{background:var(--action-primary-bg-hover);}
.btn--ghost{background:transparent;color:var(--action-ghost-fg);}
.btn--ghost:hover{background:var(--action-ghost-bg-hover);}

/* Eyebrow (design-system Eyebrow) */
.eyebrow{font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;line-height:1.4;}
.eyebrow--muted{color:var(--text-muted);}
.eyebrow--teal{color:var(--teal-600);}

/* Nav */
.nav{position:sticky;top:0;z-index:10;background:rgba(247,246,242,.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--border-default);}
.nav__inner{max-width:var(--container-content);margin:0 auto;padding:var(--space-3) var(--space-8);display:flex;align-items:center;justify-content:space-between;}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;}
.brand__wm{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:var(--weight-medium);color:var(--ink-800);}
.brand__docs{font-weight:var(--weight-regular);opacity:.6;}

/* Hero */
.hero{max-width:880px;margin:0 auto;padding:var(--space-20) var(--space-8) var(--space-16);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-5);}
.h1{font-family:var(--font-serif);font-weight:var(--weight-regular);font-size:clamp(30px,4.2vw,44px);line-height:1.15;letter-spacing:var(--tracking-tight);color:var(--ink-900);max-width:22ch;}
.lede{font-size:var(--text-lg);color:var(--ink-600);max-width:60ch;}
.hero__cta{display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:center;margin-top:var(--space-2);}

/* Sections */
.section{max-width:var(--container-content);margin:0 auto;padding:var(--space-16) var(--space-8);}
.section--paper{max-width:none;background:var(--white);border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default);}
.section--paper > *{max-width:calc(var(--container-content) - 2 * var(--space-8));margin-left:auto;margin-right:auto;}
.section__head{max-width:680px;margin-bottom:var(--space-10);}
.h2{font-family:var(--font-serif);font-weight:var(--weight-regular);font-size:var(--text-3xl);line-height:var(--leading-tight);color:var(--ink-900);margin-top:6px;}
.sub{font-size:var(--text-md);color:var(--ink-600);margin-top:var(--space-3);}
.split{display:grid;grid-template-columns:1fr 1.15fr;gap:var(--space-12);align-items:start;}
.prose p{color:var(--ink-700);}
.prose p + p{margin-top:var(--space-4);}

/* Process steps */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);}
.step{background:var(--white);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--shadow-xs);}
.step__num{display:block;font-family:var(--font-serif);font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--teal-600);margin-bottom:var(--space-2);}
.step__t{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--ink-900);margin-bottom:4px;}
.step__d{font-size:var(--text-sm);color:var(--ink-600);}

/* Deliverables */
.checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3);}
.checklist li{position:relative;padding-left:28px;color:var(--ink-600);font-size:var(--text-md);}
.checklist li::before{content:"";position:absolute;left:2px;top:6px;width:12px;height:7px;border-left:2px solid var(--green-600);border-bottom:2px solid var(--green-600);transform:rotate(-45deg);}
.checklist strong{color:var(--ink-900);font-weight:var(--weight-semibold);}
.scope-note{margin-top:var(--space-10);padding-top:var(--space-5);border-top:1px solid var(--border-soft);font-size:var(--text-sm);color:var(--text-muted);}
.scope-note strong{color:var(--ink-700);}

/* Boundary band */
.band{background:var(--teal-700);padding:var(--space-12) var(--space-8);}
.band__inner{max-width:760px;margin:0 auto;}
.band__eyebrow{color:var(--green-300);}
.band__text{margin-top:var(--space-3);font-family:var(--font-serif);font-size:var(--text-lg);line-height:var(--leading-relaxed);color:rgba(247,246,242,.92);}

/* Contact */
.split--contact{align-items:center;}
.card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);padding:var(--space-6);}
.contact__name{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--ink-900);}
.contact__org{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-4);}
.contact__row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--border-soft);color:var(--ink-800);text-decoration:none;font-weight:var(--weight-medium);overflow-wrap:anywhere;}
.contact__row:hover span{color:var(--teal-600);text-decoration:underline;}
.contact__row svg{width:20px;height:20px;flex-shrink:0;fill:none;stroke:var(--teal-600);stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;}

/* Footer */
.foot{max-width:var(--container-content);margin:0 auto;padding:var(--space-10) var(--space-8) var(--space-12);border-top:1px solid var(--border-default);display:flex;flex-direction:column;gap:var(--space-3);}
.foot__brand{display:flex;align-items:center;gap:10px;font-family:var(--font-serif);font-size:var(--text-lg);color:var(--ink-800);}
.disclaimer{font-size:var(--text-xs);font-style:italic;color:var(--text-muted);}
.foot__legal{font-size:var(--text-xs);color:var(--text-faint);}

@media (max-width:900px){
  .steps{grid-template-columns:repeat(2,1fr);}
  .split{grid-template-columns:1fr;gap:var(--space-6);}
}
@media (max-width:560px){
  .nav__inner,.section,.hero,.foot{padding-left:var(--space-4);padding-right:var(--space-4);}
  .section--paper > *{max-width:none;}
  .band{padding-left:var(--space-4);padding-right:var(--space-4);}
  .hero{padding-top:var(--space-12);padding-bottom:var(--space-12);}
  .steps{grid-template-columns:1fr;}
  .h2{font-size:var(--text-2xl);}
}
