/* =================================================================
   HAULYN — "Dispatch" design system
   Fleet-green + bone + terracotta · Bricolage Grotesque / Plex Mono
   ================================================================= */

:root{
  /* greens (dark) */
  --ink:#0B1F17;
  --green-900:#0E2A20;
  --green-800:#123528;
  --green-700:#1A4636;
  --green-600:#23624A;
  --mint:#BFE8CF;

  /* bone (light) */
  --bone:#F2EEE3;
  --bone-2:#EAE3D3;
  --bone-3:#DED5C0;
  --paper-card:#FBF9F2;

  /* terracotta signal */
  --clay:#DA6A43;
  --clay-600:#C2562F;
  --clay-tint:#F6E2D7;

  /* text + lines */
  --tx:#16271F;          /* ink text on bone */
  --tx-soft:#3C4D44;
  --muted:#69756C;
  --line:#D9D1BF;        /* hairline on bone */
  --line-dk:rgba(242,238,227,.14);
  --bone-soft:rgba(242,238,227,.66);

  --f-display:"Bricolage Grotesque","Hanken Grotesk",sans-serif;
  --f-body:"Hanken Grotesk",system-ui,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,monospace;

  --container:min(1240px,92vw);
  --r:4px;            /* sharp, technical corners */
  --r-lg:10px;
}

*,*::before,*::after{box-sizing:border-box;}
*{margin:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  font-family:var(--f-body);
  background:var(--bone);
  color:var(--tx);
  font-size:17px;line-height:1.62;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;padding:0;}
::selection{background:var(--clay);color:#fff;}
:focus-visible{outline:2.5px solid var(--clay);outline-offset:3px;}

/* ---------- type ---------- */
h1,h2,h3,h4{font-family:var(--f-display);font-weight:800;line-height:1.02;letter-spacing:-.02em;color:var(--tx);}
.display{font-size:clamp(2.9rem,7.2vw,6rem);letter-spacing:-.035em;line-height:.96;}
.h2{font-size:clamp(2rem,4.2vw,3.4rem);letter-spacing:-.025em;}
.lead{font-size:clamp(1.1rem,1.55vw,1.34rem);line-height:1.55;color:var(--tx-soft);max-width:60ch;}

/* mono kicker / labels */
.kicker{
  font-family:var(--f-mono);font-weight:500;font-size:.72rem;
  letter-spacing:.22em;text-transform:uppercase;color:var(--clay-600);
  display:inline-flex;align-items:center;gap:.6rem;
}
.kicker::before{content:"";width:8px;height:8px;background:var(--clay);border-radius:50%;flex:none;}
.mono{font-family:var(--f-mono);}

.container{width:var(--container);margin-inline:auto;}
.shell{width:var(--container);margin-inline:auto;}   /* legal pages alias */
.section{padding:clamp(4.5rem,9vw,8.5rem) 0;}
.divider{height:1px;background:var(--line);border:0;}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--f-body);font-weight:700;font-size:.97rem;
  padding:.95rem 1.55rem;border-radius:999px;border:1.5px solid transparent;
  cursor:pointer;transition:transform .16s ease,background .2s ease,color .2s ease,border-color .2s;
  white-space:nowrap;
}
.btn svg{width:18px;height:18px;}
.btn--clay{background:var(--clay);color:#fff;}
.btn--clay:hover{background:var(--clay-600);transform:translateY(-2px);}
.btn--ink{background:var(--ink);color:var(--bone);}
.btn--ink:hover{background:#06140e;transform:translateY(-2px);}
.btn--bone{background:var(--bone);color:var(--ink);}
.btn--bone:hover{background:#fff;transform:translateY(-2px);}
.btn--line{background:transparent;color:var(--tx);border-color:var(--line);}
.btn--line:hover{border-color:var(--ink);transform:translateY(-2px);}
.btn--line-dk{background:transparent;color:var(--bone);border-color:rgba(242,238,227,.3);}
.btn--line-dk:hover{border-color:var(--bone);background:rgba(242,238,227,.06);transform:translateY(-2px);}

/* ---------- masthead ---------- */
.masthead{position:sticky;top:0;z-index:60;background:rgba(242,238,227,.86);
  backdrop-filter:saturate(150%) blur(10px);border-bottom:1px solid var(--line);}
.masthead .container{display:flex;align-items:center;justify-content:space-between;height:74px;gap:1rem;}
.brand{display:inline-flex;align-items:center;gap:.6rem;}
.brand__mark{width:34px;height:34px;flex:none;}
.brand__name{font-family:var(--f-display);font-weight:800;font-size:1.5rem;letter-spacing:-.045em;color:var(--ink);}
.brand__name b{color:var(--clay);font-weight:800;}
.nav{display:flex;align-items:center;gap:2.1rem;}
.nav a{font-family:var(--f-mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-soft);transition:color .15s;position:relative;}
.nav a:hover,.nav a[aria-current="page"]{color:var(--ink);}
.nav a[aria-current="page"]::after{content:"";position:absolute;left:0;bottom:-7px;width:100%;height:2px;background:var(--clay);}
.masthead__cta{display:flex;align-items:center;gap:.7rem;}
.burger{display:none;width:46px;height:46px;border:1px solid var(--line);border-radius:var(--r);background:transparent;cursor:pointer;align-items:center;justify-content:center;}
.burger span,.burger span::before,.burger span::after{content:"";display:block;width:20px;height:2px;background:var(--ink);position:relative;transition:transform .25s,opacity .2s;}
.burger span::before{position:absolute;top:-6px;}
.burger span::after{position:absolute;top:6px;}
body.nav-open .burger span{background:transparent;}
body.nav-open .burger span::before{transform:translateY(6px) rotate(45deg);}
body.nav-open .burger span::after{transform:translateY(-6px) rotate(-45deg);}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--ink);color:var(--bone);overflow:hidden;padding:clamp(3.5rem,7vw,6.5rem) 0 0;}
.hero__route{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.9;pointer-events:none;}
.hero .container{position:relative;z-index:2;}
.hero__grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(2rem,5vw,4.5rem);align-items:end;padding-bottom:clamp(2.6rem,5vw,4rem);}
.hero h1{color:var(--bone);margin:1.4rem 0 1.6rem;}
.hero .lead{color:var(--bone-soft);}
.hero__actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2.2rem;}

/* dispatch panel (right of hero) */
.dispatch{background:rgba(242,238,227,.04);border:1px solid var(--line-dk);border-radius:var(--r-lg);padding:1.4rem;}
.dispatch__head{display:flex;align-items:center;justify-content:space-between;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--bone-soft);padding-bottom:1rem;border-bottom:1px solid var(--line-dk);}
.dispatch__live{display:inline-flex;align-items:center;gap:.45rem;color:var(--mint);}
.dispatch__live::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 0 rgba(191,232,207,.6);animation:pulse 1.8s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(191,232,207,.55);}70%{box-shadow:0 0 0 9px rgba(191,232,207,0);}100%{box-shadow:0 0 0 0 rgba(191,232,207,0);}}
.dstep{display:flex;gap:.9rem;align-items:flex-start;padding:.85rem 0;}
.dstep+.dstep{border-top:1px dashed var(--line-dk);}
.dstep__no{font-family:var(--f-mono);font-size:.8rem;color:var(--clay);width:24px;flex:none;padding-top:.15rem;}
.dstep__main{font-weight:700;font-size:.98rem;color:var(--bone);}
.dstep__sub{font-family:var(--f-mono);font-size:.72rem;color:var(--bone-soft);letter-spacing:.04em;margin-top:.15rem;}
.dstep.is-paid .dstep__no{color:var(--mint);}

/* ticker */
.ticker{border-top:1px solid var(--line-dk);border-bottom:1px solid var(--line-dk);background:rgba(0,0,0,.18);overflow:hidden;position:relative;z-index:2;}
.ticker__track{display:flex;gap:0;width:max-content;animation:ticker 38s linear infinite;}
.ticker:hover .ticker__track{animation-play-state:paused;}
.ticker__item{display:inline-flex;align-items:center;gap:.7rem;padding:.85rem 1.7rem;font-family:var(--f-mono);font-size:.78rem;letter-spacing:.06em;color:var(--bone-soft);border-right:1px solid var(--line-dk);white-space:nowrap;}
.ticker__item b{color:var(--clay);font-weight:500;}
.ticker__item .ok{color:var(--mint);}
@keyframes ticker{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- modes switchboard ---------- */
.modes{border-top:1px solid var(--line);}
.mode-row{display:grid;grid-template-columns:auto 1.1fr 2fr auto;gap:1.5rem;align-items:center;
  padding:1.9rem .4rem;border-bottom:1px solid var(--line);transition:background .25s,padding .2s;cursor:default;}
.mode-row:hover{background:var(--bone-2);padding-left:1.2rem;}
.mode-row__no{font-family:var(--f-mono);font-size:.85rem;color:var(--clay-600);}
.mode-row__name{font-family:var(--f-display);font-weight:800;font-size:clamp(1.5rem,2.8vw,2.3rem);letter-spacing:-.02em;}
.mode-row__desc{color:var(--tx-soft);font-size:1rem;max-width:46ch;}
.mode-row__glyph{width:52px;height:52px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--green-600);transition:transform .25s,border-color .25s,color .25s;}
.mode-row:hover .mode-row__glyph{transform:translateX(6px);border-color:var(--clay);color:var(--clay);}
.mode-row__glyph svg{width:24px;height:24px;}

/* ---------- line map (how it works) ---------- */
.linemap{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;margin-top:3rem;}
.linemap::before{content:"";position:absolute;top:14px;left:6%;right:6%;height:2px;
  background:repeating-linear-gradient(90deg,var(--green-600) 0 14px,transparent 14px 26px);}
.stop{position:relative;padding-top:42px;}
.stop__node{position:absolute;top:5px;left:0;width:20px;height:20px;border-radius:50%;background:var(--bone);border:2px solid var(--green-600);}
.stop:last-child .stop__node{background:var(--clay);border-color:var(--clay);}
.stop__code{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--clay-600);}
.stop h3{font-size:1.3rem;margin:.5rem 0 .45rem;}
.stop p{color:var(--tx-soft);font-size:.96rem;}
.on-dark .stop h3{color:var(--bone);}
.on-dark .stop p{color:var(--bone-soft);}
.on-dark .stop__code{color:#F0A584;}
.on-dark .linemap::before{background:repeating-linear-gradient(90deg,rgba(191,232,207,.3) 0 14px,transparent 14px 26px);}
.on-dark .stop__node{background:var(--green-900);border-color:var(--mint);}
.on-dark .stop:last-child .stop__node{background:var(--clay);border-color:var(--clay);}

/* ---------- generic blocks ---------- */
.eyebrow-block{max-width:62ch;}
.eyebrow-block .h2{margin:1rem 0 1rem;}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
.checks{display:grid;gap:1.3rem;margin-top:.5rem;}
.check{display:flex;gap:1rem;align-items:flex-start;}
.check__i{width:30px;height:30px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--clay-tint);color:var(--clay-600);}
.check__i svg{width:16px;height:16px;}
.check h4{font-family:var(--f-body);font-weight:800;font-size:1.05rem;letter-spacing:0;margin-bottom:.2rem;}
.check p{color:var(--tx-soft);font-size:.95rem;}

/* dark panel variant */
.panel-dark{background:var(--green-900);color:var(--bone);border-radius:var(--r-lg);padding:clamp(1.8rem,3vw,2.6rem);}
.panel-dark h2,.panel-dark h3,.panel-dark h4{color:var(--bone);}
.panel-dark .lead{color:var(--bone-soft);}
.panel-dark .check__i,.on-dark .check__i{background:rgba(218,106,67,.18);color:#F0A584;}
.panel-dark .check h4,.on-dark .check h4{color:var(--bone);}
.panel-dark .check p,.on-dark .check p{color:var(--bone-soft);}
.on-dark{background:var(--ink);color:var(--bone);}
.on-dark .h2{color:var(--bone);}
.on-dark .lead{color:var(--bone-soft);}
.on-dark .kicker{color:#F0A584;}

/* feature cards (light) */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;}
.fcard{background:var(--paper-card);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.8rem 1.6rem;transition:transform .2s,box-shadow .25s;}
.fcard:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(11,31,23,.08);}
.fcard__i{width:48px;height:48px;border-radius:10px;background:var(--green-900);color:var(--mint);display:grid;place-items:center;margin-bottom:1.1rem;}
.fcard__i svg{width:24px;height:24px;}
.fcard h3{font-size:1.25rem;margin-bottom:.45rem;}
.fcard p{color:var(--tx-soft);font-size:.95rem;}

/* ---------- pricing bits ---------- */
.splitbar{margin:2rem 0 1rem;}
.splitbar__track{display:flex;height:64px;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);}
.splitbar__seg{display:flex;flex-direction:column;justify-content:center;padding:0 1.2rem;color:#fff;}
.splitbar__seg.payout{background:var(--green-600);flex:1 1 72%;}
.splitbar__seg.fee{background:var(--clay);flex:1 1 28%;}
.splitbar__seg .lab{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;opacity:.85;}
.splitbar__seg .val{font-family:var(--f-display);font-weight:800;font-size:1.05rem;}
.splitbar__note{font-family:var(--f-mono);font-size:.74rem;color:var(--muted);letter-spacing:.03em;}

.manifest{width:100%;border-collapse:collapse;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--paper-card);}
.manifest th,.manifest td{text-align:left;padding:1rem 1.2rem;border-bottom:1px solid var(--line);font-size:.95rem;vertical-align:top;}
.manifest thead th{background:var(--green-900);color:var(--bone);font-family:var(--f-mono);font-weight:500;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;}
.manifest tbody tr:last-child td{border-bottom:0;}
.manifest td:first-child{font-family:var(--f-display);font-weight:700;}

.note{border-left:3px solid var(--clay);background:var(--clay-tint);padding:1.1rem 1.3rem;border-radius:0 var(--r) var(--r) 0;font-size:.95rem;color:var(--tx);}
.note b,.note strong{color:var(--clay-600);}

/* ---------- stats band ---------- */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-dk);border:1px solid var(--line-dk);border-radius:var(--r-lg);overflow:hidden;}
.stat{background:var(--ink);padding:2rem 1.6rem;}
.stat__n{font-family:var(--f-display);font-weight:800;font-size:clamp(2.4rem,4vw,3.2rem);color:var(--bone);letter-spacing:-.03em;}
.stat__l{font-family:var(--f-mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bone-soft);margin-top:.4rem;}

/* ---------- two-up audience ---------- */
.audience{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;}
.acard{position:relative;background:var(--green-900);color:var(--bone);border-radius:var(--r-lg);padding:2.4rem;overflow:hidden;display:flex;flex-direction:column;min-height:280px;}
.acard h3{color:var(--bone);font-size:1.7rem;margin-bottom:.7rem;}
.acard p{color:var(--bone-soft);margin-bottom:1.6rem;flex:1;}
.acard .kicker{color:#F0A584;}
.acard__i{position:absolute;right:-20px;top:-20px;color:rgba(191,232,207,.10);}
.acard__i svg{width:150px;height:150px;}

/* ---------- CTA ---------- */
.cta{background:var(--clay);border-radius:var(--r-lg);padding:clamp(2.6rem,5vw,4rem);display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;position:relative;overflow:hidden;}
.cta h2{color:#fff;font-size:clamp(1.9rem,3.6vw,3rem);max-width:20ch;}
.cta .actions{display:flex;gap:.8rem;flex-wrap:wrap;}

/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;}
.ccard{background:var(--paper-card);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.6rem;display:flex;gap:1rem;align-items:flex-start;}
.ccard__i{width:44px;height:44px;border-radius:10px;background:var(--green-900);color:var(--mint);display:grid;place-items:center;flex:none;}
.ccard__i svg{width:21px;height:21px;}
.ccard .lab{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.ccard .val{font-weight:800;font-size:1.08rem;margin-top:.2rem;word-break:break-word;}
.ccard .val.ph{color:var(--clay-600);font-family:var(--f-mono);font-weight:500;}
.ccard small{color:var(--muted);font-size:.84rem;}

/* ---------- legal ---------- */
.legal-hero{background:var(--ink);color:var(--bone);padding:clamp(3rem,6vw,5rem) 0 clamp(2.2rem,4vw,3rem);}
.legal-hero .h-eyebrow,.legal-hero .kicker{color:#F0A584;}
.legal-hero h1{color:var(--bone);font-family:var(--f-display);}
.h-eyebrow{font-family:var(--f-mono);font-weight:500;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--clay-600);display:inline-flex;align-items:center;gap:.6rem;}
.h-eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--clay);}
.draft-banner{display:flex;align-items:center;gap:.7rem;background:rgba(218,106,67,.16);border:1px solid rgba(240,165,132,.4);color:#F3C3AC;
  font-family:var(--f-mono);font-size:.82rem;letter-spacing:.02em;padding:.8rem 1.1rem;border-radius:var(--r);margin-top:1.4rem;}
.draft-banner svg{width:20px;height:20px;flex:none;color:#F0A584;}
.legal-body{max-width:80ch;padding:clamp(2.4rem,4vw,3.4rem) 0 4rem;}
.legal-body .meta{font-family:var(--f-mono);font-size:.8rem;color:var(--muted);letter-spacing:.03em;margin-bottom:2rem;}
.legal-body h2{font-family:var(--f-display);font-size:1.5rem;margin:2.4rem 0 .8rem;padding-top:1.3rem;border-top:1px solid var(--line);letter-spacing:-.02em;}
.legal-body h2:first-of-type{border-top:0;padding-top:0;}
.legal-body h3{font-family:var(--f-body);font-weight:800;font-size:1.06rem;margin:1.4rem 0 .5rem;}
.legal-body p,.legal-body li{color:var(--tx-soft);font-size:1rem;line-height:1.7;}
.legal-body p{margin-bottom:1rem;}
.legal-body a{color:var(--clay-600);text-decoration:underline;text-underline-offset:2px;}
.legal-body ul{list-style:disc;padding-left:1.3rem;margin-bottom:1.2rem;}
.legal-body li{margin-bottom:.5rem;}
.legal-body strong{color:var(--tx);}
.toc{background:var(--paper-card);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.3rem 1.5rem;margin-bottom:2.4rem;}
.toc>p{font-family:var(--f-mono);font-weight:500;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.7rem;}
.toc ol{columns:2;column-gap:2rem;padding-left:1.1rem;font-size:.93rem;}
.toc li{margin-bottom:.35rem;}
.toc a{color:var(--tx-soft);}
.toc a:hover{color:var(--clay-600);}

/* ---------- footer ---------- */
.footer{background:var(--ink);color:var(--bone);padding:clamp(3.5rem,6vw,5.5rem) 0 2rem;position:relative;overflow:hidden;}
.footer__word{font-family:var(--f-display);font-weight:800;font-size:clamp(4rem,17vw,12rem);line-height:.8;letter-spacing:-.05em;color:rgba(242,238,227,.06);position:absolute;bottom:-.12em;left:0;right:0;text-align:center;pointer-events:none;user-select:none;}
.footer .container{position:relative;z-index:1;}
.footer__top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem;padding-bottom:3rem;border-bottom:1px solid var(--line-dk);}
.footer__brand .brand__name{color:var(--bone);}
.footer__brand p{color:var(--bone-soft);font-size:.92rem;margin-top:1rem;max-width:32ch;}
.footer__col h4{font-family:var(--f-mono);font-weight:500;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(242,238,227,.45);margin-bottom:1rem;}
.footer__col a{display:block;color:var(--bone-soft);font-size:.95rem;padding:.3rem 0;transition:color .15s;}
.footer__col a:hover{color:var(--clay);}
.footer__bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:center;padding:1.8rem 0 5rem;}
.footer__bottom p{font-family:var(--f-mono);font-size:.76rem;letter-spacing:.04em;color:rgba(242,238,227,.5);}

/* ---------- hero route flow ---------- */
.route-base{stroke:rgba(191,232,207,.16);stroke-width:2;fill:none;stroke-dasharray:2 10;stroke-linecap:round;}
.route-flow{stroke:var(--clay);stroke-width:2.4;fill:none;stroke-dasharray:14 20;stroke-linecap:round;opacity:.85;animation:flow 16s linear infinite;}
.route-node{fill:var(--mint);}
.route-node.is-clay{fill:var(--clay);}
@keyframes flow{to{stroke-dashoffset:-680;}}

/* ---------- reveal (animate only when JS adds .js) ---------- */
.reveal{transition:opacity .65s ease,transform .65s ease;}
.js .reveal{opacity:0;transform:translateY(20px);}
.js .reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;transform:none;transition:none;}
  .ticker__track,.dispatch__live::before,.route-flow{animation:none;}
  html{scroll-behavior:auto;}
}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .hero__grid{grid-template-columns:1fr;align-items:start;}
  .dispatch{max-width:460px;}
  .split{grid-template-columns:1fr;}
  .cards{grid-template-columns:1fr 1fr;}
  .footer__top{grid-template-columns:1fr 1fr;}
  .linemap{grid-template-columns:1fr 1fr;gap:2rem 1.4rem;}
  .linemap::before{display:none;}
  .stats{grid-template-columns:1fr;}
}
@media (max-width:720px){
  .nav,.masthead__cta .btn{display:none;}
  .burger{display:inline-flex;}
  .nav{position:fixed;inset:74px 0 auto 0;flex-direction:column;align-items:stretch;background:var(--bone);
    border-bottom:1px solid var(--line);padding:.8rem 4vw 1.4rem;gap:0;transform:translateY(-130%);transition:transform .3s;z-index:55;}
  body.nav-open .nav{transform:none;}
  .nav a{padding:.95rem .2rem;border-bottom:1px solid var(--line);font-size:.95rem;}
  body.nav-open .nav .btn{display:inline-flex;margin-top:.8rem;justify-content:center;}
  .mode-row{grid-template-columns:auto 1fr;gap:.5rem 1rem;}
  .mode-row__desc{grid-column:1/-1;}
  .mode-row__glyph{display:none;}
  .cards,.audience,.contact-grid{grid-template-columns:1fr;}
  .toc ol{columns:1;}
  .footer__bottom{padding-bottom:6rem;}
}
@media (max-width:430px){
  body{font-size:16px;}
  .linemap{grid-template-columns:1fr;}
}
