:root{
  
  /* ROUND 2: she asked for white space, deep green, charcoal used selectively,
   * subtle light gray. The beige field (#FBF8EF/#F4EFDF/#E9E3C2) is gone.
   * --c-dark-bg flipped from tan to charcoal, which inverts every rule that
   * assumed it was light; those are corrected in the block at the foot of
   * this file. Do not "restore" the cream, she named it by name. */
  --c-bg:#FFFFFF;
  --c-surface:#F1F4F2;
  --c-text:#1B211F;
  --c-primary:#0F5236;
  --c-secondary:#4E625A;
  --c-accent:#0F5236;
  --c-dark-bg:#1B211F;
  --c-dark-text:#F1F4F2;
  --c-sage:#8FD3AE;          

  
  --c-hairline:color-mix(in srgb, var(--c-text) 14%, transparent);
  --c-hairline-strong:color-mix(in srgb, var(--c-text) 30%, transparent);
  --c-scrim:color-mix(in srgb, var(--c-text) 62%, transparent);
  --c-wash:#F7F9F8;

  
  --ff-display:"Fraunces", Georgia, "Times New Roman", serif;
  --ff-body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
  --ff-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  
  --gutter:clamp(1.25rem, 0.9rem + 2.2vw, 3rem);
  --maxw:1200px;
  --measure:62ch;
  --section-y:clamp(3.5rem, 2.5rem + 5vw, 8rem);
  --sp-1:.25rem; --sp-2:.5rem; --sp-3:.75rem; --sp-4:1rem;
  --sp-5:1.5rem; --sp-6:2rem; --sp-7:3rem; --sp-8:4rem;
  --radius:6px;
  --radius-lg:14px;

  
  --mo-dur:600ms;
  --mo-ease:ease;
  --mo-dist:16px;
  --mo-stagger:90ms;

  --header-h:64px;
}
@media (min-width:900px){ :root{ --header-h:80px } }

*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{ -webkit-text-size-adjust:100%; overflow-x:hidden }
body{
  overflow-x:hidden;
  background:var(--c-bg);
  color:var(--c-text);
  font-family:var(--ff-body);
  font-size:1.0625rem;            
  line-height:1.6;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  min-height:100%;
}
@media (prefers-reduced-motion: no-preference){
  html{ scroll-behavior:smooth }
}
img,svg,video,canvas{display:block;max-width:100%;height:auto}
img{background:var(--c-surface)}
ul,ol{list-style:none;padding:0}
button,input,select,textarea{font:inherit;color:inherit}
#top{display:block;height:0;width:0;overflow:hidden}

[id]{scroll-margin-top:calc(var(--header-h) + 1rem)}

h1,h2,h3,h4{
  font-family:var(--ff-display);
  font-weight:600;
  letter-spacing:-0.02em;
  text-wrap:balance;
}

h1,.hero__title{
  font-size:clamp(2.75rem, 1.5rem + 6.5vw, 8.5rem);
  line-height:1.0;
  letter-spacing:-0.03em;
  max-width:15ch;
}
.page-title{
  font-size:clamp(2.25rem, 1.5rem + 2.4vw, 3.5rem);
  line-height:1.08;
  letter-spacing:-0.02em;
  max-width:26ch;
}
h2,.section-head{
  font-size:clamp(2rem, 1.2rem + 3vw, 4.5rem);
  line-height:1.06;
  max-width:24ch;
}
h3{font-size:clamp(1.25rem, 1.1rem + 0.5vw, 1.625rem);line-height:1.25}
h4{font-size:1.125rem;line-height:1.3}
p,li,dd,dt,blockquote,figcaption,label{max-width:var(--measure)}
.copy,.copy p{max-width:var(--measure)}
.lede{
  font-size:clamp(1.125rem, 1.02rem + 0.45vw, 1.375rem);
  line-height:1.55;
  max-width:54ch;
}
.meta,.caption,.form-hint{
  font-family:var(--ff-mono);
  font-size:0.8125rem;            
  line-height:1.5;
  letter-spacing:0.02em;
  color:var(--c-secondary);
}

.kicker{
  display:block;
  font-family:var(--ff-mono);
  font-weight:500;
  font-size:0.8rem;               
  line-height:1.4;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--c-secondary);
  max-width:40ch;
}
.section--sand .kicker,.section--dark .kicker{color:color-mix(in srgb, var(--c-secondary) 92%, var(--c-dark-text))}

.mark-accent{font-weight:400;font-style:italic;color:var(--c-primary)}

a{color:var(--c-accent);text-decoration-thickness:1px;text-underline-offset:0.18em;transition:color var(--mo-dur) var(--mo-ease), opacity var(--mo-dur) var(--mo-ease)}
a:hover{color:color-mix(in srgb, var(--c-accent) 80%, var(--c-text))}
.section--sand a,.section--dark a{color:var(--c-accent)}
:focus-visible{outline:2px solid var(--c-primary);outline-offset:3px;border-radius:2px}

.container{
  width:100%;
  max-width:var(--maxw);
  margin-inline:auto;
  padding-inline:var(--gutter);
}

.bleed,.section__inner{
  width:100%;
  padding-inline:var(--gutter);
}
.section__inner{max-width:var(--maxw);margin-inline:auto}
.section{padding-block:var(--section-y)}
.section--surface{background:var(--c-surface)}
.section--sand,.section--dark{background:var(--c-dark-bg);color:var(--c-dark-text)}
.section--sand h1,.section--sand h2,.section--sand h3,
.section--dark h1,.section--dark h2,.section--dark h3{color:var(--c-dark-text)}

main > section:not(:has(.container, .section__inner, .bleed)){padding-inline:var(--gutter)}
.stack > * + *{margin-top:var(--sp-4)}
.stack-lg > * + *{margin-top:var(--sp-6)}
.grid-3{display:grid;gap:clamp(1.25rem, 1rem + 1.5vw, 2.5rem);grid-template-columns:1fr}
@media (min-width:768px){
  .grid-3{grid-template-columns:repeat(auto-fit, minmax(260px, 1fr))}
}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);
  min-height:48px;
  padding:0.85rem 1.5rem;
  font-family:var(--ff-body);font-weight:500;font-size:1rem;line-height:1.2;
  letter-spacing:0.01em;
  border:1px solid transparent;border-radius:var(--radius);
  text-decoration:none;cursor:pointer;text-align:center;
  max-width:100%;
  transition:background-color var(--mo-dur) var(--mo-ease), color var(--mo-dur) var(--mo-ease),
             border-color var(--mo-dur) var(--mo-ease), opacity var(--mo-dur) var(--mo-ease),
             transform var(--mo-dur) var(--mo-ease);
}
.btn--primary{background:var(--c-primary);color:var(--c-bg)}
.btn--primary:hover,.btn--primary:focus-visible{background:color-mix(in srgb, var(--c-primary) 94%, #000);color:var(--c-bg);opacity:.97}
.btn--ghost{background:transparent;border-color:var(--c-hairline-strong);color:var(--c-accent)}
.btn--ghost:hover,.btn--ghost:focus-visible{border-color:var(--c-accent);background:color-mix(in srgb, var(--c-accent) 8%, transparent);opacity:.97}
.btn--block{width:100%}

.mark{
  flex:0 0 auto;
  width:2rem;height:2rem;
  border-radius:var(--radius);
  background:var(--c-primary);
  display:flex;flex-direction:column;justify-content:center;gap:2px;
  padding:5px 4px 5px 5px;
}
.mark i{display:block;height:2px;border-radius:1px;background:var(--c-bg);transform-origin:left center}
.mark i:nth-child(1){width:40%}
.mark i:nth-child(2){width:52%}
.mark i:nth-child(3){width:64%}
.mark i:nth-child(4){width:76%}
.mark i:nth-child(5){width:88%}
.mark--lg{width:3.25rem;height:3.25rem;border-radius:10px;padding:8px 6px 8px 8px;gap:3px}
.mark--lg i{height:3px}
.mark--ink{background:transparent}
.mark--ink i{background:var(--c-text)}

.rule-pair{
  display:block;
  width:clamp(4.5rem, 3rem + 8vw, 9rem);
  height:2px;
  border:0;
  background-image:linear-gradient(90deg,
    var(--c-secondary) 0 62%,
    var(--c-accent) 62% 100%);
  transform-origin:left center;
}
.rule-pair--wide{width:clamp(7rem, 4rem + 16vw, 16rem)}

.hairline{display:block;width:100%;height:1px;border:0;background:var(--c-hairline);transform-origin:left center}
.hairline--accent{background:var(--c-secondary)}

.note{
  background:var(--c-wash);
  border:1px solid color-mix(in srgb, var(--c-secondary) 32%, transparent);
  border-radius:var(--radius-lg);
  padding:clamp(1.25rem, 1rem + 1.2vw, 2rem);
  padding-inline:clamp(1.25rem, 1rem + 1.2vw, 2rem);
}
.note .kicker{margin-bottom:var(--sp-2)}
.note p{max-width:56ch}
.section--sand .note{background:color-mix(in srgb, var(--c-bg) 60%, var(--c-dark-bg));border-color:color-mix(in srgb, var(--c-dark-text) 18%, transparent)}

.fact{display:flex;flex-direction:column;gap:var(--sp-2)}
.fact__num,[data-count]{
  font-family:var(--ff-mono);font-weight:500;
  font-variant-numeric:tabular-nums;
  font-size:clamp(2rem, 1.4rem + 2vw, 3.25rem);
  line-height:1;letter-spacing:-0.02em;
  color:var(--c-primary);
}
.fact__label{font-family:var(--ff-mono);font-size:0.8rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--c-secondary);max-width:28ch}

.register{border-top:1px solid var(--c-hairline)}
.register__row{
  display:grid;grid-template-columns:auto 1fr;gap:var(--sp-3) var(--sp-4);
  align-items:baseline;
  padding-block:clamp(1.1rem, 0.9rem + 0.8vw, 1.9rem);
  border-bottom:1px solid var(--c-hairline);
  transition:border-color var(--mo-dur) var(--mo-ease), background-color var(--mo-dur) var(--mo-ease);
}
.register__index{
  font-family:var(--ff-mono);font-weight:500;font-size:0.8rem;letter-spacing:0.12em;
  color:var(--c-accent);font-variant-numeric:tabular-nums;
  transition:transform var(--mo-dur) var(--mo-ease);
}
.register__row:hover,.register__row:focus-within{border-bottom-color:var(--c-accent)}

.card{
  background:var(--c-surface);
  border:1px solid var(--c-hairline);
  border-radius:var(--radius-lg);
  padding:clamp(1.25rem, 1rem + 1vw, 2rem);
  transition:transform var(--mo-dur) var(--mo-ease), opacity var(--mo-dur) var(--mo-ease), border-color var(--mo-dur) var(--mo-ease);
}
.card p{max-width:48ch}
.card:hover,.card:focus-within{border-color:var(--c-hairline-strong)}
.card--paper{background:var(--c-bg)}
.card--sand{background:var(--c-dark-bg);color:var(--c-dark-text);border-color:color-mix(in srgb, var(--c-dark-text) 16%, transparent)}

.img-treated{
  filter:saturate(.9) contrast(1.05) brightness(1.02) sepia(.05);
  border-radius:var(--radius-lg);
}
.img-treated--flat{border-radius:0}
.figure-frame{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--radius-lg);background:var(--c-surface)}
.figure-frame figcaption{
  font-family:var(--ff-mono);font-size:0.8rem;letter-spacing:0.04em;
  color:var(--c-secondary);padding:var(--sp-3) 0 0;max-width:46ch;
}

.field{display:flex;flex-direction:column;gap:var(--sp-2);max-width:40rem}
.field label,.field .label{
  font-family:var(--ff-mono);font-weight:500;font-size:0.8rem;
  letter-spacing:0.12em;text-transform:uppercase;color:var(--c-secondary);
}
.field input,.field select,.field textarea{
  min-height:48px;
  padding:0.75rem 1rem;
  background:var(--c-bg);
  border:1px solid var(--c-hairline-strong);
  border-radius:var(--radius);
  font-size:1rem;
  width:100%;
  transition:border-color var(--mo-dur) var(--mo-ease), background-color var(--mo-dur) var(--mo-ease);
}
.field textarea{min-height:9rem;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--c-primary)}
.form{padding-inline:0}

.statement{
  min-height:max(700px, 82vh);
  display:flex;flex-direction:column;justify-content:center;
}
.statement__copy{
  font-family:var(--ff-display);font-weight:600;
  font-size:clamp(2rem, 1.2rem + 3.4vw, 4.75rem);
  line-height:1.14;letter-spacing:-0.02em;
  max-width:26ch;
}

.pillars-reveal{display:grid;gap:clamp(1.25rem, 1rem + 1.5vw, 2.25rem);grid-template-columns:1fr}
@media (min-width:768px){ .pillars-reveal{grid-template-columns:repeat(3, 1fr)} }
.pillar{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--radius-lg);background:var(--c-surface);min-height:22rem;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(1.25rem, 1rem + 1vw, 2rem)}
.pillar__photo{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;clip-path:inset(0 0 55% 0);transition:clip-path calc(var(--mo-dur) * 1.2) var(--mo-ease)}
.pillar:hover .pillar__photo,.pillar:focus-within .pillar__photo{clip-path:inset(0 0 0 0)}
.pillar__body{background:color-mix(in srgb, var(--c-bg) 88%, transparent);border-radius:var(--radius);padding:var(--sp-4)}
@media (hover:none){ .pillar__photo{clip-path:inset(0 0 0 0)} }

.tour-scroller{display:flex;gap:clamp(1rem, .75rem + 1vw, 2rem);overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-block:var(--sp-2)}
.tour-scroller::-webkit-scrollbar{display:none}
.tour-panel{scroll-snap-align:center;flex:0 0 auto;width:min(88vw, 34rem)}

.stacked-steps{display:flex;flex-direction:column;gap:clamp(1rem, .75rem + 1vw, 2rem)}
.stacked-steps [data-card]{position:sticky;top:calc(var(--header-h, 0px) + 88px + (var(--card-i, 0) * 16px))}

.proof-figures{display:grid;gap:clamp(1.5rem, 1rem + 2vw, 3rem);grid-template-columns:1fr}
@media (min-width:640px){ .proof-figures{grid-template-columns:repeat(auto-fit, minmax(220px, 1fr))} }

.quote-serif{
  font-family:var(--ff-display);font-style:italic;font-weight:600;
  font-size:clamp(1.5rem, 1.1rem + 1.6vw, 2.5rem);
  line-height:1.24;max-width:22ch;letter-spacing:-0.01em;
}
.quote-serif__cite{display:block;margin-top:var(--sp-4);font-family:var(--ff-mono);font-style:normal;font-size:0.8125rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--c-secondary)}

.wordmark-footer{text-align:left}
.wordmark-footer__type{
  display:block;font-family:var(--ff-display);font-weight:700;
  letter-spacing:-0.03em;line-height:0.92;
  font-size:clamp(2.5rem, 1rem + 9vw, 10rem);
}
@supports (container-type: inline-size){
  .wordmark-footer{container-type:inline-size}
  .wordmark-footer__type{font-size:max(2.5rem, 11cqw)}
}

.reveal{opacity:1}
.reveal-stagger > *{opacity:1}
@media (prefers-reduced-motion: no-preference){
  .reveal,.reveal-stagger > *{
    opacity:0;
    transform:translateY(var(--mo-dist));
    transition:opacity var(--mo-dur) var(--mo-ease) var(--reveal-delay, 0ms),
               transform var(--mo-dur) var(--mo-ease) var(--reveal-delay, 0ms);
  }
  .reveal.is-visible,.reveal-stagger > *.is-visible,.reveal-stagger.is-visible > *{opacity:1;transform:none}

  .rule-wipe{transform:scaleX(0);transition:transform var(--mo-dur) var(--mo-ease) var(--reveal-delay, 0ms)}
  .rule-wipe.is-visible{transform:scaleX(1)}

  .media-zoom{overflow:hidden}
  .media-zoom img{transition:transform calc(var(--mo-dur) * 2) var(--mo-ease)}
  .media-zoom:hover img,.media-zoom:focus-within img{transform:scale(1.03)}

  .link-draw{position:relative;text-decoration:none}
  .link-draw::after{content:"";position:absolute;left:0;right:0;bottom:-0.15em;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform var(--mo-dur) var(--mo-ease)}
  .link-draw:hover::after,.link-draw:focus-visible::after{transform:scaleX(1)}

  .ken-burns{animation:ken-burns calc(var(--mo-dur) * 20) var(--mo-ease) infinite alternate}
  @keyframes ken-burns{from{transform:scale(1)}to{transform:scale(1.04)}}

  .card:hover,.card:focus-within{transform:translateY(-2px)}
  .register__row:hover .register__index,.register__row:focus-within .register__index{transform:translateX(4px)}

  
  .mark--draw i{animation:bar-draw var(--mo-dur) var(--mo-ease) both}
  .mark--draw i:nth-child(1){animation-delay:0ms}
  .mark--draw i:nth-child(2){animation-delay:var(--mo-stagger)}
  .mark--draw i:nth-child(3){animation-delay:calc(var(--mo-stagger) * 2)}
  .mark--draw i:nth-child(4){animation-delay:calc(var(--mo-stagger) * 3)}
  .mark--draw i:nth-child(5){animation-delay:calc(var(--mo-stagger) * 4)}
  @keyframes bar-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
}
@media (prefers-reduced-motion: reduce){
  .reveal,.reveal-stagger > *{opacity:1;transform:none;transition:none}
  .rule-wipe{transform:none}
  .ken-burns,.mark--draw i{animation:none}
  .media-zoom img,.card,.register__index{transition:none;transform:none}
  .pillar__photo{clip-path:inset(0 0 0 0);transition:none}
  .stacked-steps [data-card]{position:static}
}

.skip-link{
  position:fixed;top:0;left:var(--gutter);z-index:200;
  width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;
  padding:0;border:0;
  background:var(--c-primary);color:var(--c-bg);
  font-family:var(--ff-mono);font-size:0.8125rem;letter-spacing:0.08em;text-transform:uppercase;
  border-radius:0 0 var(--radius) var(--radius);
  text-decoration:none;
}
.skip-link:focus{
  width:auto;height:auto;overflow:visible;clip-path:none;
  padding:0.75rem 1rem;color:var(--c-bg);
}

.site-header{
  position:sticky;top:0;z-index:100;
  background:var(--c-bg);
  border-bottom:1px solid var(--c-hairline);
}
.site-header__inner{
  position:relative;
  width:100%;max-width:var(--maxw);margin-inline:auto;
  padding-inline:var(--gutter);
}
.site-header__bar{
  display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);
  min-height:var(--header-h);
}

.wordmark-lock{
  display:inline-flex;align-items:center;gap:var(--sp-3);
  text-decoration:none;color:var(--c-text);
  transition:opacity var(--mo-dur) var(--mo-ease), transform var(--mo-dur) var(--mo-ease);
}
.wordmark-lock:hover,.wordmark-lock:focus-visible{opacity:.88;color:var(--c-text)}
.wordmark{display:flex;flex-direction:column;line-height:1}
.wordmark__line1{
  font-family:var(--ff-display);font-weight:600;
  letter-spacing:-0.01em;color:var(--c-text);
  font-size:clamp(1.25rem, 1.05rem + 0.6vw, 1.5rem);
  line-height:1.05;
}
.wordmark__line2{
  font-family:var(--ff-body);font-weight:500;
  text-transform:uppercase;letter-spacing:0.14em;
  color:var(--c-secondary);
  font-size:clamp(0.75rem, 0.68rem + 0.22vw, 0.875rem);
  line-height:1.3;margin-top:0.2em;
}
@media (min-width:560px){
  .wordmark{flex-direction:row;align-items:baseline;gap:0.4em}
  .wordmark__line2{margin-top:0;letter-spacing:0.1em;font-size:clamp(0.75rem, 0.66rem + 0.3vw, 0.9375rem)}
}

.nav-toggle-label{
  display:inline-flex;align-items:center;justify-content:center;
  width:46px;height:46px;flex:0 0 auto;
  border:1px solid var(--c-hairline-strong);border-radius:var(--radius);
  background:transparent;cursor:pointer;
  transition:border-color var(--mo-dur) var(--mo-ease), transform var(--mo-dur) var(--mo-ease), opacity var(--mo-dur) var(--mo-ease);
}
.nav-toggle-label:hover{border-color:var(--c-primary)}
.burger{position:relative;display:block;width:20px;height:2px;background:var(--c-text);border-radius:1px}
.burger::before,.burger::after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--c-text);border-radius:1px}
.burger::before{top:-6px}
.burger::after{top:6px}

.nav{
  position:absolute;top:100%;left:0;right:0;
  display:flex;flex-direction:column;align-items:stretch;
  gap:var(--sp-3);
  padding:var(--sp-4) var(--gutter) var(--sp-6);
  background:var(--c-bg);
  border-top:1px solid var(--c-hairline);
  border-bottom:1px solid var(--c-hairline);
  max-height:calc(100dvh - var(--header-h));
  overflow-y:auto;
  visibility:hidden;opacity:0;
  transform:translateY(-8px);
  transition:opacity var(--mo-dur) var(--mo-ease), transform var(--mo-dur) var(--mo-ease), visibility var(--mo-dur) var(--mo-ease);
}
.nav__list{display:flex;flex-direction:column;gap:var(--sp-1);margin:0}
.nav__list li{max-width:none}
.nav__list a{
  display:flex;align-items:center;min-height:48px;
  padding:0.5rem 0;
  font-family:var(--ff-body);font-weight:500;font-size:1.0625rem;
  color:var(--c-primary);text-decoration:none;
  transition:color var(--mo-dur) var(--mo-ease), transform var(--mo-dur) var(--mo-ease);
}
.nav__list a:hover,.nav__list a:focus-visible{color:color-mix(in srgb, var(--c-primary) 84%, var(--c-text))}
.nav__cta{width:100%}
.nav-close{
  align-self:flex-start;
  display:inline-flex;align-items:center;min-height:44px;padding:0.5rem 0;
  font-family:var(--ff-mono);font-size:0.8125rem;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--c-secondary);cursor:pointer;
  transition:color var(--mo-dur) var(--mo-ease);
}
.nav-close:hover{color:var(--c-text)}
.nav-scrim{
  position:fixed;inset:var(--header-h) 0 0;
  background:var(--c-scrim);
  opacity:0;visibility:hidden;
  transition:opacity var(--mo-dur) var(--mo-ease), visibility var(--mo-dur) var(--mo-ease);
  z-index:-1;cursor:pointer;
}
.nav-toggle:checked ~ .site-header__inner .nav{visibility:visible;opacity:1;transform:none}
.nav-toggle:checked ~ .nav-scrim{opacity:.35;visibility:visible}
.nav-toggle:focus-visible ~ .site-header__inner .nav-toggle-label{outline:2px solid var(--c-primary);outline-offset:3px}

@media (min-width:900px){
  .site-header__inner{display:flex;align-items:center;gap:clamp(1.5rem, 1rem + 2vw, 3rem)}
  .site-header__bar{flex:1 1 auto;min-height:var(--header-h)}
  .nav{
    position:static;flex-direction:row;align-items:center;justify-content:flex-end;
    gap:clamp(1rem, 0.5rem + 1.4vw, 2.25rem);
    padding:0;background:none;border:0;max-height:none;overflow:visible;
    visibility:visible;opacity:1;transform:none;margin-left:auto;
  }
  .nav__list{flex-direction:row;align-items:center;gap:clamp(1rem, 0.5rem + 1.2vw, 2rem)}
  .nav__list a{min-height:0;padding:0.25rem 0}
  .nav__cta{width:auto}
  .nav-toggle-label{display:none}
  .nav-close{display:none}
  .nav-scrim{display:none}
}

.hero{position:relative;isolation:isolate;padding-block:clamp(3.5rem, 2.5rem + 6vw, 8rem)}
.hero__copy{max-width:min(92vw, 760px)}
.hero__title{margin-block:var(--sp-4) var(--sp-5)}
.hero__lede{max-width:52ch}
.hero__actions{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-5)}
.hero__meta{margin-top:var(--sp-5);font-family:var(--ff-mono);font-size:0.8125rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--c-secondary)}

.site-footer{
  margin-top:0;
  background:var(--c-surface);
  border-top:1px solid var(--c-hairline);
  padding-block:clamp(3rem, 2.2rem + 4vw, 6rem) clamp(1.5rem, 1.2rem + 1.5vw, 2.5rem);
  color:var(--c-text);
}
.site-footer__grid{
  display:grid;grid-template-columns:1fr;
  gap:clamp(2rem, 1.5rem + 3vw, 4rem);
}
@media (min-width:768px){
  .site-footer__grid{grid-template-columns:1.4fr 0.8fr 1fr}
}
.site-footer__id .wordmark{display:flex;flex-direction:column;line-height:1}
.wordmark--footer .wordmark__line1{font-size:clamp(1.75rem, 1.2rem + 2.2vw, 2.75rem);line-height:1.02}
.wordmark--footer .wordmark__line2{font-size:clamp(0.8125rem, 0.72rem + 0.35vw, 1rem);letter-spacing:0.14em;margin-top:0.35em}
.site-footer__blurb{margin-top:var(--sp-4);max-width:42ch;color:color-mix(in srgb, var(--c-text) 86%, var(--c-bg))}
.site-footer__id .rule-pair{margin-top:var(--sp-5)}
.footer-head{
  font-family:var(--ff-mono);font-weight:500;
  font-size:0.8rem;line-height:1.4;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--c-secondary);margin-bottom:var(--sp-3);max-width:none;
}
.footer-list{display:flex;flex-direction:column;gap:var(--sp-1)}
.footer-list li{max-width:38ch}
.footer-list a{
  display:inline-flex;align-items:center;min-height:44px;
  color:var(--c-accent);text-decoration:none;font-weight:500;
}
.footer-list a:hover,.footer-list a:focus-visible{color:color-mix(in srgb, var(--c-accent) 78%, var(--c-text))}
.footer-list .footer-static{display:flex;align-items:center;min-height:44px;font-size:1rem;color:color-mix(in srgb, var(--c-text) 84%, var(--c-bg))}

.social-row{
  display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);
  margin-top:clamp(2rem, 1.5rem + 2vw, 3rem);
  padding-top:var(--sp-5);
  border-top:1px solid var(--c-hairline);
}
.social-row a{
  display:inline-flex;align-items:center;justify-content:center;
  width:46px;height:46px;
  border-radius:var(--radius);
  color:var(--c-text);
  transition:color var(--mo-dur) var(--mo-ease), transform var(--mo-dur) var(--mo-ease), background-color var(--mo-dur) var(--mo-ease);
}
.social-row a:hover,.social-row a:focus-visible{color:var(--c-primary);background:color-mix(in srgb, var(--c-primary) 8%, transparent)}
@media (prefers-reduced-motion: no-preference){
  .social-row a:hover,.social-row a:focus-visible{transform:translateY(-2px)}
}

.site-footer__bottom{
  display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3) var(--sp-5);
  justify-content:space-between;
  margin-top:clamp(1.5rem, 1.2rem + 1.5vw, 2.5rem);
  padding-top:var(--sp-5);
  border-top:1px solid var(--c-hairline);
}
.site-footer__copy,.site-footer__by{
  font-size:0.8125rem;line-height:1.5;
  color:color-mix(in srgb, var(--c-text) 78%, var(--c-bg));
  max-width:46ch;margin:0;
}
.site-footer__legal{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4)}
.site-footer__legal li{max-width:none}
.site-footer__legal a{
  display:inline-flex;align-items:center;min-height:44px;
  font-size:0.8125rem;letter-spacing:0.04em;
  color:var(--c-accent);text-decoration:none;
}
.site-footer__legal a:hover,.site-footer__legal a:focus-visible{text-decoration:underline}
.site-footer__by a{color:var(--c-accent);text-decoration:none;font-weight:500}
.site-footer__by a:hover{text-decoration:underline}

@media (min-width:900px){
  .nav-toggle-label,.nav-close,.nav-scrim{display:none}
  .nav{visibility:visible;opacity:1;transform:none;max-height:none;overflow:visible}
}

.reveal{opacity:0;transition:opacity var(--mo-dur,600ms) var(--mo-ease,cubic-bezier(.22,1,.36,1));transition-delay:var(--reveal-delay,0ms)}
.reveal.is-visible{opacity:1}
.reveal-stagger>*{opacity:0;transition:opacity var(--mo-dur,600ms) var(--mo-ease,cubic-bezier(.22,1,.36,1));transition-delay:var(--reveal-delay,0ms)}
.reveal-stagger.is-visible>*,.reveal-stagger>.is-visible{opacity:1}
@media (prefers-reduced-motion:no-preference){
  .reveal{transform:translateY(14px);transition:opacity var(--mo-dur,600ms) var(--mo-ease,cubic-bezier(.22,1,.36,1)),transform var(--mo-dur,600ms) var(--mo-ease,cubic-bezier(.22,1,.36,1))}
  .reveal.is-visible{transform:none}
  .reveal-stagger>*{transform:translateY(14px);transition:opacity var(--mo-dur,600ms) var(--mo-ease,cubic-bezier(.22,1,.36,1)),transform var(--mo-dur,600ms) var(--mo-ease,cubic-bezier(.22,1,.36,1))}
  .reveal-stagger.is-visible>*,.reveal-stagger>.is-visible{transform:none}
}
@media (prefers-reduced-motion:reduce){.reveal,.reveal-stagger>*{opacity:1;transform:none;transition:none}}
.split-word{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.split-word__i{display:inline-block}
html.motion [data-split] .split-word__i{transform:translateY(112%);opacity:0}
html.motion [data-split].is-visible .split-word__i{transform:none;opacity:1;transition:transform var(--mo-split-dur,900ms) var(--mo-ease,cubic-bezier(.22,1,.36,1)),opacity var(--mo-split-dur,900ms) var(--mo-ease,cubic-bezier(.22,1,.36,1));transition-delay:calc(var(--split-i,0) * var(--mo-split-stagger,40ms))}
[data-magnetic]{transition:transform .5s var(--mo-ease,cubic-bezier(.22,1,.36,1))}
.marquee{overflow:hidden}
.marquee-track{display:flex;width:max-content}
html.motion .marquee-track{animation:nn-marquee var(--mo-marquee-dur,40s) linear infinite}
.marquee:hover .marquee-track,.marquee:focus-within .marquee-track{animation-play-state:paused}
@keyframes nn-marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media (prefers-reduced-motion:reduce){
  html.motion [data-split] .split-word__i,html.motion [data-split].is-visible .split-word__i{transform:none;opacity:1;transition:none}
  .marquee-track,html.motion .marquee-track{animation:none}
  [data-magnetic]{transition:none;transform:none}
}
.shape-statement{min-height:max(700px,82vh);display:flex;align-items:center}
.shape-statement .statement__copy{font-size:var(--display-size,clamp(1.75rem,4.1vw,3.75rem));font-weight:300;line-height:1.14;letter-spacing:-.022em;max-width:26ch}
.shape-steps [data-card]{position:sticky;top:calc(var(--header-h,0px) + 88px + (var(--card-i,0) * 16px));margin-bottom:1.5rem}
@media(prefers-reduced-motion:reduce){.shape-steps [data-card]{position:static}}
.shape-wordmark{container-type:inline-size;overflow:hidden}
.shape-wordmark .wordmark{display:block;font-size:clamp(3.5rem,29vw,15rem);font-weight:300;line-height:.82;letter-spacing:-.045em}
@supports (font-size:1cqw){.shape-wordmark .wordmark{font-size:38cqw}}
/* nn:mobile-floor */
@media (max-width:899px){
.site-header{position:sticky}
.header__bar{flex-wrap:nowrap}
.nav-panel{position:absolute;top:100%;left:0;right:0;width:100%;max-height:calc(100dvh - var(--header-h,64px));overflow-y:auto;-webkit-overflow-scrolling:touch}
}
input,select,textarea{min-width:0;box-sizing:border-box;max-width:100%}
input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"],input[type="week"]{-webkit-appearance:none;appearance:none;width:100%}
input[type="date"]::-webkit-date-and-time-value{text-align:left;margin:0}
input[type="date"]::-webkit-calendar-picker-indicator{margin-inline-start:auto}

/* nn:nav-open-floor */
@media (max-width:899px){
header:has(.nav-toggle:checked) :where(.nav-panel,.mobile-nav,.mobile-menu,#nav-panel,#mobile-nav,#mobile-menu,#site-nav),
header:has(input[id="nav-toggle"]:checked) :where(.nav-panel,.mobile-nav,.mobile-menu,#nav-panel,#mobile-nav,#mobile-menu,#site-nav),
header:has(input[id="menu-toggle"]:checked) :where(.nav-panel,.mobile-nav,.mobile-menu,#nav-panel,#mobile-nav,#mobile-menu,#site-nav),
header:has(input[id="nav-check"]:checked) :where(.nav-panel,.mobile-nav,.mobile-menu,#nav-panel,#mobile-nav,#mobile-menu,#site-nav){display:block;max-height:calc(100dvh - var(--header-h,64px));overflow-y:auto;visibility:visible;opacity:1;transform:none;pointer-events:auto}
}

/* ==========================================================================
   ROUND 2 DARK ZONES
   --c-dark-bg used to be a light tan, so every rule above that paints ON it
   assumed dark ink. It is charcoal now. Two places in the site are dark by
   design and only two: the "You talk to the accountant" band and the footer.
   That is the "charcoal used selectively" she asked for. Everything else is
   white with light-gray panels.
   Deep green (#0F5236) is 1.8:1 on charcoal and unreadable there, so the
   dark zones use --c-sage for anything that has to be green.
   ========================================================================== */
.section--sand,.section--dark{background:var(--c-dark-bg);color:var(--c-dark-text)}
.section--sand .kicker,.section--dark .kicker{color:var(--c-sage)}
.section--sand a,.section--dark a{color:var(--c-sage)}
.section--sand a:hover,.section--dark a:hover{color:color-mix(in srgb, var(--c-sage) 78%, #fff)}
.section--sand .mark--ink i,.section--dark .mark--ink i{background:var(--c-dark-text)}
.section--sand .btn--ghost,.section--dark .btn--ghost{
  color:var(--c-dark-text);
  border-color:color-mix(in srgb, var(--c-dark-text) 34%, transparent);
}
.section--sand .btn--ghost:hover,.section--sand .btn--ghost:focus-visible,
.section--dark .btn--ghost:hover,.section--dark .btn--ghost:focus-visible{
  border-color:var(--c-sage);
  background:color-mix(in srgb, var(--c-sage) 12%, transparent);
  color:var(--c-dark-text);
}
.section--sand .rule-pair,.section--dark .rule-pair,
.site-footer .rule-pair{
  background-image:linear-gradient(90deg, var(--c-dark-text) 0 62%, var(--c-sage) 62% 100%);
}
.section--sand :focus-visible,.section--dark :focus-visible,
.site-footer :focus-visible{outline-color:var(--c-sage)}

/* The footer is the other bookend. Charcoal, so the page closes on something
   deliberate instead of fading out on a gray slab. */
.site-footer{
  background:var(--c-dark-bg);
  color:var(--c-dark-text);
  border-top:0;
}
.site-footer__blurb{color:color-mix(in srgb, var(--c-dark-text) 82%, var(--c-dark-bg))}
/* The footer wordmark inherits --c-text and --c-secondary, both of which were
   ink on a light footer. On charcoal that rendered the name at 1.00:1, i.e.
   invisible. render-check caught it; do not let it come back. */
.site-footer .wordmark__line1{color:var(--c-dark-text)}
.site-footer .wordmark__line2{color:var(--c-sage)}
.site-footer .wordmark-lock,.site-footer .wordmark-lock:hover{color:var(--c-dark-text)}
.site-footer .footer-head{color:var(--c-sage)}
.site-footer .footer-list a{color:var(--c-dark-text)}
.site-footer .footer-list a:hover,.site-footer .footer-list a:focus-visible{color:var(--c-sage)}
.site-footer .footer-list .footer-static{color:color-mix(in srgb, var(--c-dark-text) 78%, var(--c-dark-bg))}
.site-footer .social-row{border-top-color:color-mix(in srgb, var(--c-dark-text) 20%, transparent)}
.site-footer .social-row a{color:var(--c-dark-text)}
.site-footer .social-row a:hover,.site-footer .social-row a:focus-visible{
  color:var(--c-sage);
  background:color-mix(in srgb, var(--c-sage) 12%, transparent);
}
.site-footer__bottom{border-top-color:color-mix(in srgb, var(--c-dark-text) 20%, transparent)}
.site-footer__copy,.site-footer__by{color:color-mix(in srgb, var(--c-dark-text) 76%, var(--c-dark-bg))}
.site-footer__legal a{color:var(--c-dark-text)}
.site-footer__legal a:hover,.site-footer__legal a:focus-visible{color:var(--c-sage)}
.site-footer__by a{color:var(--c-sage)}
