:root{
  --brand-forest:#14453F;--brand-pine:#3E6B5C;--brand-olive:#7C8B5E;--brand-sage:#A3AE86;--brand-amber:#C9922F;
  --neutral-cream:#EFEADD;--neutral-paper:#F7F4EC;--neutral-linen:#DED7C6;--neutral-ink:#1B2420;--neutral-white:#FFFFFF;
  --surface-page:var(--neutral-paper);--surface-card:var(--neutral-white);--surface-sunken:var(--neutral-cream);
  --border-subtle:var(--neutral-linen);--text-primary:var(--neutral-ink);--text-secondary:var(--brand-pine);--text-on-dark:var(--neutral-cream);
  --space-1:4px;--space-2:8px;--space-3:11px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:44px;--space-8:64px;
  --radius-sm:4px;--radius-md:8px;
  --shadow-card:0 1px 2px rgba(27,36,32,.06),0 4px 12px rgba(27,36,32,.06);
  --font-mono:'IBM Plex Mono',ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;
  --font-head:'IBM Plex Sans',system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-mono);background:var(--surface-page);color:var(--text-primary);line-height:1.55}
img{max-width:100%;height:auto}
a{color:var(--brand-forest)}
a:hover{color:var(--brand-pine)}
a:focus-visible,button:focus-visible{outline:2px solid var(--brand-amber);outline-offset:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--brand-forest);color:var(--text-on-dark);padding:8px 12px;z-index:10}
.skip:focus{left:8px;top:8px}

/* Nav */
.nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-6);background:var(--surface-page);border-bottom:1px solid var(--border-subtle);position:relative}
.brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:14px;letter-spacing:.04em;color:var(--text-primary);text-decoration:none}
.brand img{height:26px;width:auto}
.nav-links{display:flex;gap:var(--space-5)}
.nav-links a{font-size:13px;color:var(--text-secondary);text-decoration:none}
.nav-links a[aria-current="page"]{color:var(--brand-forest);font-weight:600}
.nav-toggle{display:none;background:none;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:6px 10px;font:inherit;font-size:12px;color:var(--brand-forest);cursor:pointer}

/* Buttons */
.btn{display:inline-block;font-family:var(--font-mono);font-weight:600;font-size:13px;letter-spacing:.04em;text-transform:uppercase;border:2px solid var(--brand-forest);border-radius:var(--radius-sm);padding:12px 22px;text-decoration:none;transition:background .15s,color .15s}
.btn-primary{background:var(--brand-forest);color:var(--text-on-dark)}
.btn-primary:hover{background:var(--brand-pine);border-color:var(--brand-pine);color:var(--text-on-dark)}
.btn-secondary{background:transparent;color:var(--brand-forest)}
.btn-secondary:hover{background:var(--brand-forest);color:var(--text-on-dark)}
.btn-sm{font-size:11px;letter-spacing:.06em;padding:9px 16px}
.btn-amber{background:var(--brand-amber);border-color:var(--brand-amber);color:var(--neutral-ink)}
.btn-amber:hover{background:#b8832a;border-color:#b8832a;color:var(--neutral-ink)}
.btn-row{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-5)}

/* Type */
.eyebrow{display:inline-block;font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-pine)}
h1,h2,h3{font-family:var(--font-head);font-weight:600;color:var(--text-primary);margin:var(--space-3) 0 0}
h1{font-size:46px;line-height:1.15;max-width:680px}
h2{font-size:28px;line-height:1.25}
h3{font-size:22px;line-height:1.3}
.lead{margin:var(--space-4) 0 0;font-size:16px;color:var(--text-secondary);max-width:580px;line-height:1.6}

/* Sections */
.section{padding:var(--space-8) var(--space-7)}
.section-sunken{background:var(--surface-sunken)}
.page-header{padding:var(--space-8) var(--space-7) var(--space-7);border-bottom:1px solid var(--border-subtle)}
.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--space-7);align-items:center}
.more{display:inline-block;margin-top:var(--space-5);font-size:13px;font-weight:600;color:var(--brand-forest);text-decoration:none}

/* Cards */
.grid{display:grid;gap:var(--space-4);margin-top:var(--space-6)}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-5)}
.card-title{font-size:15px;font-weight:600;color:var(--text-primary);margin-top:var(--space-3)}
.card p{font-size:13px;color:var(--text-secondary);margin:6px 0 0;line-height:1.6}
.num{font-size:11px;font-weight:600;letter-spacing:.1em;color:var(--brand-amber)}
.tag{display:inline-block;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-forest);background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:999px;padding:3px 10px}

/* Dark panel */
.panel-dark{background:var(--neutral-ink);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-6);color:var(--text-on-dark)}
.panel-dark .eyebrow{color:var(--brand-sage)}
.facts{list-style:none;margin:var(--space-4) 0 0;padding:0;display:grid;gap:var(--space-4)}
.facts li{display:grid;grid-template-columns:22px 1fr;gap:10px;font-size:14px;line-height:1.5}
.facts li::before{content:"";width:10px;height:10px;margin-top:6px;border-radius:2px;background:var(--brand-amber)}
.facts small{display:block;color:var(--brand-sage);font-size:12px;margin-top:2px}

/* Flow */
.flow{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-5)}
.node{font-size:13px;font-weight:600;padding:10px 16px;border:2px solid var(--brand-forest);border-radius:var(--radius-sm);background:var(--surface-card)}
.node.term{border-radius:999px;background:var(--brand-forest);color:var(--text-on-dark)}
.node.dec{background:var(--brand-sage)}
.arrow{color:var(--brand-forest);font-weight:600}

/* Stages */
.stage{border-top:3px solid var(--brand-forest)}
.stage:nth-child(2){border-top-color:var(--brand-olive)}
.stage:nth-child(3){border-top-color:var(--brand-amber)}

/* CTA band */
.cta{display:flex;justify-content:space-between;align-items:center;gap:var(--space-5);flex-wrap:wrap;background:var(--brand-forest);color:var(--text-on-dark);padding:var(--space-7)}
.cta h3{color:var(--text-on-dark)}
.cta .eyebrow{color:var(--brand-sage)}

/* Contact */
.contact{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:var(--space-6);align-items:start}
.cal{border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;background:var(--surface-card);margin-top:var(--space-4)}
.cal iframe{display:block;width:100%;height:640px;border:0}
.contact-list{list-style:none;margin:var(--space-3) 0 0;padding:0;display:grid;gap:var(--space-3);font-size:14px}
.contact-list a{text-decoration:none}
.note{font-size:12px;color:var(--text-secondary);margin-top:var(--space-3)}

/* Footer */
.footer{background:var(--neutral-ink);color:var(--text-on-dark);padding:var(--space-6) var(--space-7);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-3);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.footer a{color:var(--text-on-dark);text-decoration:none}
.footer a:hover{color:var(--brand-sage)}
.footer .muted{color:var(--brand-sage)}

/* Responsive */
@media (max-width:960px){
  .hero,.contact{grid-template-columns:1fr}
  .g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g3{grid-template-columns:1fr}
}
@media (max-width:760px){
  .nav{padding:var(--space-3) var(--space-4);flex-wrap:wrap}
  .nav-toggle{display:block;margin-left:auto}
  .nav .btn-sm{display:none}
  .nav-links{display:none;flex-direction:column;gap:0;width:100%;border-top:1px solid var(--border-subtle);margin-top:var(--space-3)}
  .nav.open .nav-links{display:flex}
  .nav-links a{padding:12px 0;font-size:14px;border-bottom:1px solid var(--border-subtle)}
  .section,.page-header{padding:var(--space-7) var(--space-4)}
  .cta,.footer{padding:var(--space-6) var(--space-4)}
  h1{font-size:32px}
  h2{font-size:24px}
  .g2,.g4{grid-template-columns:1fr}
  .btn{text-align:center}
  .btn-row .btn{flex:1 1 100%}
  .flow .arrow{transform:rotate(90deg)}
  .flow{flex-direction:column;align-items:flex-start}
}
