:root{
  --pine:#1E3A2F; --pine-deep:#16241D; --pine-soft:#2C5344;
  --bone:#F5F2EB; --bone-2:#EDE8DE; --paper:#FBFAF6;
  --clay:#C4703F; --clay-deep:#9E5730;
  --ink:#101A15; --muted:#5B6660; --line:#DBD4C6;
  --sans:'Montserrat',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --wrap:1120px; --r:4px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bone);color:var(--ink);font-family:var(--sans);font-weight:400;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}
a{color:var(--pine);text-decoration:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
.eyebrow{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--clay-deep);margin:0 0 18px}
.eyebrow.on-dark{color:#C99A72}
h1,h2,h3,h4{font-weight:300;line-height:1.12;letter-spacing:-.015em;margin:0 0 20px;color:var(--pine)}
h1{font-size:clamp(38px,5.6vw,64px)}
h2{font-size:clamp(30px,3.8vw,44px)}
h3{font-size:22px;font-weight:400;letter-spacing:-.005em;line-height:1.3}
h4{font-size:17px;font-weight:500;letter-spacing:0;line-height:1.4;margin-bottom:8px}
p{margin:0 0 20px;max-width:64ch}
.lede{font-size:clamp(18px,2vw,21px);line-height:1.6;color:var(--muted);font-weight:300}
.on-dark h1,.on-dark h2,.on-dark h3,.on-dark h4{color:var(--bone)}
.on-dark p{color:#BFC9C2}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(245,242,235,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-in{max-width:var(--wrap);margin:0 auto;padding:0 28px;height:76px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;flex:none}
.brand svg{height:34px;width:auto}
.nav-links{margin-left:auto;display:flex;align-items:center;gap:26px}
.nav-links a{font-size:14px;font-weight:400;color:var(--muted);padding:6px 0;border-bottom:1.5px solid transparent;transition:color .18s,border-color .18s}
.nav-links a:hover{color:var(--pine)}
.nav-links a.here{color:var(--pine);border-bottom-color:var(--clay)}
.nav-cta{background:var(--pine);color:var(--bone)!important;padding:11px 20px!important;border-radius:var(--r);border-bottom:none!important;font-weight:500;transition:background .18s}
.nav-cta:hover{background:var(--pine-soft)}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:var(--r);width:42px;height:42px;cursor:pointer;align-items:center;justify-content:center}
.burger span{display:block;width:18px;height:1.5px;background:var(--pine);position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:18px;height:1.5px;background:var(--pine)}
.burger span::before{top:-6px}.burger span::after{top:6px}

/* sections */
section{padding:96px 0}
.tight{padding:64px 0}
.dark{background:var(--pine-deep);color:var(--bone)}
.alt{background:var(--bone-2)}
.rule{height:1px;background:var(--line);border:0;margin:0}

/* the foundation bar — echoes the logo base */
.found{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:30px 28px 32px}
.found::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--pine);border-radius:0 0 var(--r) var(--r)}
.found.accent::after{background:var(--clay)}
.dark .found{background:rgba(255,255,255,.045);border-color:rgba(245,242,235,.16)}
.dark .found::after{background:var(--bone)}

/* hero */
.hero{padding:88px 0 76px}
.hero-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:64px;align-items:start}
.hero h1{margin-bottom:24px}
.manifest{border-top:1px solid var(--line)}
.manifest-row{display:flex;gap:16px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--line)}
.manifest-row .st{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--clay-deep);flex:none;width:74px}
.manifest-row .nm{font-size:15px;color:var(--pine);font-weight:500}
.manifest-row .ds{font-size:13px;color:var(--muted);margin-left:auto;text-align:right;white-space:nowrap;padding-left:14px}
a.manifest-row.next{text-decoration:none;transition:background .16s}
a.manifest-row.next .st{color:var(--pine)}
a.manifest-row.next:hover{background:var(--bone-2)}
a.manifest-row.next:hover .nm{color:var(--clay-deep)}

/* buttons */
.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.btn{display:inline-block;padding:14px 26px;border-radius:var(--r);font-size:15px;font-weight:500;border:1.5px solid var(--pine);transition:background .18s,color .18s}
.btn-solid{background:var(--pine);color:var(--bone)}
.btn-solid:hover{background:var(--pine-soft);border-color:var(--pine-soft)}
.btn-line{background:transparent;color:var(--pine)}
.btn-line:hover{background:var(--pine);color:var(--bone)}
.dark .btn-solid{background:var(--bone);color:var(--pine);border-color:var(--bone)}
.dark .btn-solid:hover{background:#fff;border-color:#fff}
.dark .btn-line{color:var(--bone);border-color:rgba(245,242,235,.5)}
.dark .btn-line:hover{background:var(--bone);color:var(--pine);border-color:var(--bone)}

/* grids */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:start}
.card p{font-size:15px;line-height:1.65;color:var(--muted);margin-bottom:0}
.card .more{display:inline-block;margin-top:16px;font-size:14px;font-weight:500;color:var(--clay-deep)}
.card .more:hover{color:var(--clay)}

/* motto */
.motto{background:var(--pine);color:var(--bone);padding:84px 0;text-align:center}
.motto p{font-size:clamp(21px,2.9vw,32px);font-weight:300;line-height:1.45;color:var(--bone);max-width:22ch;margin:0 auto 22px;letter-spacing:-.01em}
.motto .ref{font-family:var(--mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#C99A72;margin:0 auto;max-width:none}

/* blocks glyph */
.glyph{width:26px;height:auto;flex:none}

/* steps */
.step{display:grid;grid-template-columns:52px 1fr;gap:20px;padding:26px 0;border-top:1px solid var(--line)}
.step .n{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.1em;color:var(--clay-deep);padding-top:5px}
.step p{margin-bottom:0;color:var(--muted);font-size:15.5px}

/* list */
.ticks{list-style:none;padding:0;margin:0}
.ticks li{position:relative;padding:0 0 12px 24px;font-size:15.5px;color:var(--muted);line-height:1.6}
.ticks li::before{content:"";position:absolute;left:0;top:9px;width:9px;height:9px;background:var(--pine);border-radius:1.5px}
.dark .ticks li{color:#BFC9C2}
.dark .ticks li::before{background:var(--clay)}

/* range */
.range{display:grid;grid-template-columns:repeat(4,1fr);gap:0 32px;border-top:1px solid var(--line)}
.range span{font-family:var(--mono);font-size:12.5px;color:var(--muted);padding:12px 0;border-bottom:1px solid var(--line)}

/* form */
.form{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:34px}
.field{margin-bottom:20px}
.field label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--pine);margin-bottom:8px;font-weight:500}
.field input,.field select,.field textarea{width:100%;font-family:var(--sans);font-size:16px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:13px 14px;transition:border-color .18s,box-shadow .18s}
.field textarea{min-height:130px;resize:vertical;line-height:1.6}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--pine);box-shadow:0 0 0 3px rgba(30,58,47,.1)}
.field .hint{font-size:13px;color:var(--muted);margin:7px 0 0}
.hp{position:absolute;left:-9999px}
button.btn{cursor:pointer;font-family:var(--sans)}

/* footer */
.foot{background:var(--pine-deep);color:#BFC9C2;padding:64px 0 32px;font-size:14px}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}
.foot h4{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#8FA398;font-weight:500;margin-bottom:14px}
.foot a{color:#BFC9C2;display:block;padding:5px 0}
.foot a:hover{color:var(--bone)}
.foot .verse{font-size:14.5px;line-height:1.6;color:#8FA398;max-width:34ch;margin:18px 0 0}
.foot-base{margin-top:44px;padding-top:22px;border-top:1px solid rgba(245,242,235,.13);display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:13px;color:#7E9188}
.foot svg{height:30px}

/* prose (legal pages) */
.prose h2{font-size:26px;margin-top:44px}
.prose h3{font-size:18px;margin-top:28px}
.prose p,.prose li{color:var(--muted);font-size:16px}
.prose ul{padding-left:20px}

/* reveal */
.rev{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.rev.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rev{opacity:1;transform:none;transition:none}
}
:focus-visible{outline:2px solid var(--clay);outline-offset:3px}

@media(max-width:900px){
  .hero-grid,.split{grid-template-columns:1fr;gap:44px}
  .grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}
  .range{grid-template-columns:repeat(2,1fr);gap:0 20px}
  .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
  .burger{display:flex}
  .nav-links{position:absolute;top:76px;left:0;right:0;background:var(--bone);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:10px 28px 20px;display:none}
  .nav-links.open{display:flex}
  .nav-links a{padding:13px 0;border-bottom:1px solid var(--line);font-size:16px}
  .nav-links a.here{border-bottom-color:var(--line);color:var(--clay-deep)}
  .nav-cta{text-align:center;margin-top:14px;border-bottom:none!important}
  section{padding:60px 0}
  .manifest-row .ds{display:none}
  .split{gap:36px}
}
@media(max-width:600px){
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .form{padding:24px 20px}
  .wrap,.nav-in{padding:0 20px}

  /* tighter chrome so more of the screen is content */
  .nav-in{height:64px}
  .nav-links{top:64px;padding:8px 20px 18px}
  section{padding:52px 0}
  .tight{padding:44px 0}
  .hero{padding:48px 0 42px}
  .motto{padding:56px 0}

  /* full-width tap targets */
  .btns{gap:10px;width:100%;margin-top:26px}
  .btns .btn{width:100%;padding:16px 20px;min-height:52px;display:flex;align-items:center;justify-content:center}
  .nav-links a{min-height:48px;display:flex;align-items:center}
  .card .more,.found .more{padding:10px 0}
  .foot a{padding:9px 0}

  /* the range strip reads far better paired than as one long list */
  .range{grid-template-columns:1fr 1fr;gap:0 16px}
  .range span{font-size:11.5px;padding:10px 0;line-height:1.35}

  /* reclaim horizontal space */
  .found{padding:24px 20px 26px}
  .step{grid-template-columns:34px 1fr;gap:14px;padding:22px 0}
  .step .n{font-size:11px}
  .manifest-row{padding:12px 0}
  .manifest-row .st{width:56px;font-size:9px;letter-spacing:.1em}
  .manifest-row .nm{font-size:14.5px}

  .foot{padding:48px 0 24px}
  .foot-grid{grid-template-columns:1fr 1fr;gap:24px}
  .foot-grid > div:first-child{grid-column:1 / -1}
  .foot-base{margin-top:30px}

  h1{line-height:1.08}
  h2{line-height:1.12}
  p{margin-bottom:16px}
}
