
:root{--paper:#FAF7F2;--paper-2:#F2ECE3;--surface:#FFFFFF;--ink:#100F0D;--ink-2:#3F3933;--muted:#6B635A;--line:#E2DACE;--plum:#7D1E7F;--indigo:#3A2762;--dot:#982597;--night:#0F0D12;
--disp:"obviously-narrow","Barlow Condensed","Arial Narrow",sans-serif;--body:"degular-text",system-ui,-apple-system,"Segoe UI",sans-serif;--ease:cubic-bezier(.2,0,0,1)}
*{box-sizing:border-box}
html,body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.5}
h1,h2,h3,p,ul,ol{margin:0}ul,ol{padding:0;list-style:none}
a{color:var(--plum)}a:focus-visible{outline:2px solid var(--plum);outline-offset:2px}
.d{font-family:var(--disp);font-weight:700;line-height:.95;letter-spacing:-.01em}
.btn{display:inline-flex;align-items:center;min-height:48px;padding:0 24px;border-radius:6px;background:var(--plum);color:#fff;font-weight:700;text-decoration:none;transition:background .12s var(--ease)}
.btn:hover{background:var(--indigo)}
.tl{font-weight:700;min-height:44px;display:inline-flex;align-items:center}
.ctas{display:flex;align-items:center;gap:8px 20px;flex-wrap:wrap}

/* hero flight */
.track{position:relative;height:620vh}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--paper-2)}
.stage>img,.stage>canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.tags{position:absolute;inset:var(--hd) 0 0 0;z-index:2;pointer-events:none}
.tag{position:absolute;display:flex;flex-direction:column;align-items:center;transform:translate(-50%,-100%);opacity:0;transition:opacity .2s var(--ease)}
.tag.on{opacity:1}
.tag div{background:var(--paper);border-radius:4px;padding:6px 10px;box-shadow:0 1px 2px rgba(16,15,13,.06),0 6px 16px rgba(16,15,13,.16);white-space:nowrap}
.tag b{display:block;font-size:14px;line-height:1.25}
.tag span{display:block;font-size:14px;line-height:1.3;color:var(--muted)}
.tag i{width:1px;background:var(--paper);display:block}
.tag u{width:10px;height:10px;border:2px solid var(--paper);border-radius:9999px;display:block}
.tag.you div{background:var(--plum)}.tag.you b{color:#fff}.tag.you span{color:#F2E4F2}
.tag.you i{background:var(--plum);width:2px}.tag.you u{background:var(--dot);border-color:#fff;width:14px;height:14px}
.cap{position:absolute;left:0;right:0;bottom:0;z-index:3;background:rgba(250,247,242,.94);padding:20px 16px 24px;display:flex;flex-direction:column;gap:14px}
.beats{display:grid;font-size:inherit}
.beats span{display:block;font-family:var(--disp);font-weight:700;font-size:clamp(44px,7vw,84px);line-height:.95;letter-spacing:-.01em;max-width:12em}
.js .beats span{grid-area:1/1;opacity:0;transform:translateY(12px);transition:opacity .2s var(--ease),transform .2s var(--ease)}
.js .beats span.on{opacity:1;transform:none}
.cap .hint{font-size:14px;font-weight:700;color:var(--ink-2)}
.wash{position:absolute;inset:0;background:var(--paper);opacity:0;pointer-events:none;z-index:5}

/* first section, inside the hero's last frame */
.land{position:absolute;inset:0;z-index:6;background:var(--paper);display:flex;flex-direction:column;justify-content:space-between;gap:clamp(10px,2svh,20px);padding:calc(var(--hd) + 16px) 16px 24px;opacity:0;pointer-events:none;overflow:hidden}
.land>*{flex:none}
.land h2{font-size:clamp(64px,13vw,150px);line-height:.9;max-width:8em}
.lede{font-size:clamp(18px,1.6vw,20px);color:var(--ink-2);max-width:32em}
.small{font-size:14px;line-height:1.4;color:var(--muted);max-width:34em}
.ctrl{display:grid;border-top:2px solid var(--ink)}
.ctrl li{padding:12px 0;border-bottom:1px solid var(--line);font-family:var(--disp);font-weight:700;font-size:clamp(23px,2.4vw,30px);line-height:1.1}

/* chapters: a rail the dot travels */
.ch{position:relative}
.ch-stage{position:sticky;top:0;height:100vh;height:100svh;padding:calc(var(--hd) + 16px) 16px 20px;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:16px;overflow:hidden;background:var(--paper)}
.ch.alt .ch-stage{background:var(--paper-2)}
.ch-k{display:flex;justify-content:space-between;font-size:14px;font-weight:700;color:var(--ink-2)}
.ch h2{font-size:clamp(40px,5.6vw,72px);max-width:11em}
.shot{position:relative;border-radius:6px;overflow:hidden;height:clamp(110px,22svh,210px);background:var(--paper-2)}
.shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.shot canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0}
.shot span{position:absolute;left:12px;bottom:12px;background:var(--plum);color:#fff;font-weight:700;font-size:14px;line-height:1.3;padding:6px 10px;border-radius:4px;max-width:calc(100% - 24px)}
.rail{position:relative;padding-left:30px;display:flex;flex-direction:column;justify-content:space-between;min-height:0}
.rail::before{content:"";position:absolute;left:7px;top:10px;bottom:10px;width:2px;background:var(--line)}
.ch.alt .rail::before{background:#D9CFC0}
.rail .fill{position:absolute;left:7px;top:10px;width:2px;height:0;background:var(--plum)}
.rail .mark{position:absolute;left:0;top:2px;width:16px;height:16px;border-radius:9999px;background:var(--dot);transform:translateY(0)}
.rail li{position:relative}
.rail li::before{content:"";position:absolute;left:-28px;top:.42em;width:8px;height:8px;border-radius:9999px;background:var(--paper);border:2px solid var(--line)}
.ch.alt .rail li::before{background:var(--paper-2);border-color:#D9CFC0}
.rail li.done::before{background:var(--plum);border-color:var(--plum)}
.rail b{display:block;font-family:var(--disp);font-weight:700;font-size:clamp(28px,3.4vw,44px);line-height:1.02;color:var(--ink)}
.rail p{font-size:14px;line-height:1.4;color:var(--ink-2);max-width:30em}
.js .rail li:not(.done):not(.now) b{color:var(--muted)}
.js .rail li:not(.now) p{display:none}
.prog{display:flex;gap:6px}.prog i{flex:1;height:3px;background:var(--line)}.prog i.on{background:var(--ink)}
.ch.alt .prog i{background:#D9CFC0}.ch.alt .prog i.on{background:var(--ink)}

/* closing band */
.band{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;background:var(--night);overflow:hidden}
.band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.band-copy{position:relative;width:100%;background:rgba(250,247,242,.94);padding:24px 16px 32px;display:flex;flex-direction:column;gap:16px}
.band-copy h2{font-size:clamp(44px,7vw,96px);max-width:12em}

/* readiness scan */
.scan{padding:48px 16px;display:grid;gap:24px;background:var(--paper);scroll-margin-top:var(--hd)}
.scan-h{display:grid;gap:12px;align-content:start}
.scan-h h2{font-size:clamp(44px,6.4vw,96px);text-wrap:balance}
.scan-h .dek{max-width:none}
.scan-f{display:grid;gap:6px;margin-top:4px}
.scan-f label,.scan-u label{font-size:14px;font-weight:700;color:var(--ink-2)}
.scan-row{display:flex;flex-wrap:wrap;gap:8px}
.scan-row input,.scan-mini input{flex:1 1 180px;min-width:0;min-height:48px;padding:0 14px;border:1px solid #857C72;border-radius:4px;background:var(--surface);color:var(--ink);font:inherit;font-size:16px}
.scan-row input:focus-visible,.scan-mini input:focus-visible{outline:2px solid var(--plum);outline-offset:1px}
.scan .btn,.scan-mini .btn{border:0;font:inherit;font-weight:700;cursor:pointer;justify-content:center}
.scan .btn:disabled{background:var(--muted);cursor:default}
.scan-err{color:var(--plum);font-weight:700}
.scan-out{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:20px;display:grid;gap:16px;align-content:start}
.scan-what{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0 24px}
.scan-what li{border-top:1px solid var(--line);padding:10px 0;font-family:var(--disp);font-weight:700;font-size:22px;line-height:1.1}
.scan-run:not([hidden])~.scan-what,.scan-res:not([hidden])~.scan-what{display:none}
.scan-run{display:grid;gap:12px}.scan-run[hidden],.scan-res[hidden],.scan-f[hidden]{display:none}
.scan-pt{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.scan-clock{font-family:var(--disp);font-size:28px;line-height:1;font-variant-numeric:tabular-nums}
.scan-bar{height:10px;border-radius:9999px;background:var(--paper-2);overflow:hidden;position:relative}
.scan-bar i{display:block;height:100%;width:0;border-radius:9999px;background:var(--plum);transition:width .4s var(--ease)}
.scan-bar.live::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(152,37,151,.35),transparent);width:40%;animation:scan-sweep 1.4s linear infinite}
@keyframes scan-sweep{from{transform:translateX(-100%)}to{transform:translateX(250%)}}
@keyframes scan-pulse{50%{opacity:.35}}
.scan-st{display:grid;margin-top:4px}
.scan-st li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0 9px 22px;border-top:1px solid var(--line);position:relative;font-weight:700;line-height:1.3}
.scan-st li::before{content:"";position:absolute;left:0;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:9999px;border:2px solid var(--line);box-sizing:border-box}
.scan-st em{font-style:normal;font-size:14px;font-weight:700;color:var(--muted)}
.scan-st li.wait{color:var(--muted)}
.scan-st li.run::before{border-color:var(--dot);background:var(--dot);animation:scan-pulse 1s ease-in-out infinite}
.scan-st li.run em{color:var(--plum)}
.scan-st li.done::before{border-color:var(--ok);background:var(--ok)}
.scan-st li.done em{color:var(--ok)}
.scan-note{font-size:14px;line-height:1.45;color:var(--ink-2);min-height:2.9em}
.scan{--ok:#1F7A4D;--ok-t:#E3F1E9;--warn:#96590A;--warn-t:#FBEBCF;--bad:#B3261E;--bad-t:#F9E1DE}
.scan-res{display:grid;gap:16px}
.scan-was{font-size:14px;font-weight:700;color:var(--muted)}
.scan-card{border-radius:6px;padding:18px;display:grid;gap:10px;background:var(--c-t);--c:var(--warn);--c-t:var(--warn-t)}
.scan-card.good{--c:var(--ok);--c-t:var(--ok-t)}.scan-card.low{--c:var(--bad);--c-t:var(--bad-t)}
.scan-dom{font-weight:700;overflow-wrap:anywhere}
.scan-top{display:flex;align-items:baseline;gap:10px}
.scan-n{font-family:var(--disp);font-weight:700;font-size:clamp(96px,16vw,168px);line-height:.8;font-variant-numeric:tabular-nums;color:var(--c)}
.scan-top span{font-family:var(--disp);font-weight:700;font-size:32px;color:var(--ink-2)}
.scan-g{height:12px;border-radius:9999px;background:rgba(16,15,13,.12);overflow:hidden}
.scan-g i{display:block;height:100%;width:0;background:var(--c);border-radius:9999px;transition:width .7s var(--ease)}
.scan-band{font-family:var(--disp);font-weight:700;font-size:clamp(26px,2.6vw,34px);line-height:1.05}
.scan-card .scan-band{color:var(--c)}
.scan-ms{display:grid;gap:14px}
.scan-mh{display:flex;justify-content:space-between;gap:12px;font-weight:700;line-height:1.3}
.scan-mh b{font-variant-numeric:tabular-nums;white-space:nowrap}
.scan-mt{height:10px;border-radius:9999px;background:var(--paper-2);overflow:hidden;margin-top:6px}
.scan-mt i{display:block;height:100%;width:0;border-radius:9999px;background:var(--warn);transition:width .7s var(--ease)}
.scan-m.good .scan-mt i{background:var(--ok)}.scan-m.low .scan-mt i{background:var(--bad)}
.scan-m.good .scan-mh b{color:var(--ok)}.scan-m.mid .scan-mh b{color:var(--warn)}.scan-m.low .scan-mh b{color:var(--bad)}
.scan-m.na .scan-mh b{color:var(--muted)}
.scan-fine{font-size:14px;line-height:1.45;color:var(--ink-2)}
.scan-res h3{font-size:18px;color:var(--ink)}
.scan-iss{display:grid;gap:8px;counter-reset:iss}
.scan-iss li{counter-increment:iss;position:relative;padding:12px 12px 12px 48px;border-radius:6px;background:var(--bad-t);line-height:1.4;font-weight:700;overflow-wrap:anywhere}
.scan-iss li::before{content:counter(iss);position:absolute;left:12px;top:10px;width:26px;height:26px;border-radius:9999px;background:var(--bad);color:#fff;font-size:14px;display:flex;align-items:center;justify-content:center}
.scan-flag{padding:12px;border-radius:6px;background:var(--warn-t);font-weight:700}
.scan-u{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:16px}
.scan-lock{display:grid}
.scan-lock li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line);font-weight:700;line-height:1.3}
.scan-lock em{font-style:normal;font-size:14px;color:var(--muted);white-space:nowrap}
.scan-next{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:16px;justify-items:start}
.scan-again{background:none;border:0;padding:0;font:inherit;font-weight:700;color:var(--plum);cursor:pointer;text-decoration:underline}
.scan-na{display:grid;gap:8px;padding:18px;border-radius:6px;background:var(--warn-t)}
.scan-na h3.d,.scan-stop h3.d{font-size:clamp(28px,3vw,40px);line-height:1;overflow-wrap:anywhere}
.scan-stop{display:grid;gap:12px;padding:18px;border-radius:6px;background:var(--surface);border:2px solid var(--plum);margin-top:4px}
.scan .ctas{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px}
.btn-xl{min-height:56px;padding:0 28px;font-size:18px}
@media (prefers-reduced-motion:reduce){.scan-bar.live::after,.scan-st li.run::before{animation:none}.scan-bar i,.scan-g i,.scan-mt i{transition:none}}
.scan-ft{background:transparent;padding:0 0 32px;border-bottom:1px solid #D9CFC0}
.scan-ft .scan-h h2{font-size:clamp(36px,4.4vw,60px)}
body.home .scan-ft{display:none}
.scan-mini{display:flex;flex-wrap:wrap;gap:8px;flex:1 1 100%}
.scan-mini label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media (min-width:900px){
  .scan{padding:72px 32px;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:64px;align-items:start}
  .scan-ft{padding:0 0 40px}
  .scan-out{padding:28px}
}

/* header + menu */
:root{--hd:60px}
.hd{position:fixed;inset:0 0 auto 0;height:var(--hd);z-index:60;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 16px;background:var(--paper);border-bottom:1px solid var(--line)}
.logo{display:block;flex:none}.logo img{display:block;height:38px;width:auto}
.hd-nav{display:none}
.hd-nav button{font:700 16px/1 var(--body);color:var(--ink);background:none;border:0;min-height:44px;padding:0 12px;border-radius:6px;cursor:pointer;white-space:nowrap;transition:background .12s var(--ease)}
.hd-nav button:hover{background:var(--paper-2)}
.hd-r{display:flex;align-items:center;gap:4px 12px}
.hd .btn{min-height:44px;padding:0 16px;white-space:nowrap}
.hd-l{display:inline-flex;align-items:center;min-height:44px;padding:0 8px;font-weight:700;color:var(--ink);text-decoration:none;white-space:nowrap;border-radius:6px}.hd-l:hover{background:var(--paper-2)}.hd-l2{display:none}
@media (min-width:700px){.hd-l2{display:inline-flex}}
.mbtn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 0 0 8px;font-weight:700;color:var(--ink);text-decoration:none}
.mbtn i{width:12px;height:12px;border-radius:9999px;background:var(--dot);display:block}
button:focus-visible{outline:2px solid var(--plum);outline-offset:2px}
.menu{position:fixed;inset:0;z-index:50;background:var(--paper);padding:calc(var(--hd) + 8px) 16px 24px;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:24px;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .2s var(--ease),transform .2s var(--ease),visibility 0s .2s}
.menu:target,.menu-open .menu{visibility:visible;opacity:1;transform:none;transition-delay:0s}
.menu-open{overflow:hidden}
.groups{display:grid}
.g{display:flex;align-items:baseline;justify-content:space-between;gap:16px;width:100%;padding:12px 0 10px;border:0;border-top:1px solid var(--line);background:none;text-align:left;font-family:var(--disp);font-weight:700;font-size:clamp(40px,5.4vw,76px);line-height:1;letter-spacing:-.01em;color:var(--muted);cursor:pointer}
.g:first-child{border-top:0}
.gl{position:relative;display:block;transition:transform .2s var(--ease)}
.gl::before{content:"";position:absolute;left:-.36em;top:.4em;width:.22em;height:.22em;border-radius:9999px;background:var(--dot);opacity:0;transition:opacity .2s var(--ease)}
.gn{font:700 14px/1 var(--body);letter-spacing:0;color:var(--muted)}
.js .g[aria-expanded=true],html:not(.js) .g{color:var(--ink)}
.js .g[aria-expanded=true] .gl{transform:translateX(.36em)}
.js .g[aria-expanded=true] .gl::before{opacity:1}
.panel{padding:0 0 20px;display:grid;gap:8px}
.js .panel:not(.on){display:none}
.big a{display:block;padding:9px 0;text-decoration:none;color:var(--ink)}
.big b{display:block;font-size:18px;line-height:1.3}
.big span{display:block;font-size:14px;line-height:1.4;color:var(--muted)}
.big a:hover b,.sub a:hover{color:var(--plum)}
.sub h3{font-size:14px;line-height:1.4;color:var(--ink-2);padding:8px 0 4px;border-top:1px solid var(--line)}
.sub ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0 16px}
.sub a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;font-weight:700;font-size:18px;line-height:1.2;color:var(--ink);text-decoration:none}
.sub a i{font-style:normal;font-size:14px;color:var(--muted)}
@keyframes in{from{opacity:0;transform:translateY(8px)}}
.js .panel.on .big li,.js .panel.on .sub{animation:in .2s var(--ease) both;animation-delay:calc(var(--i)*25ms)}
.mfoot{margin-top:auto;border-top:2px solid var(--ink);padding-top:16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 32px}
.legal{display:flex;flex-wrap:wrap;gap:0 20px}
.legal a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:var(--ink-2)}
.js .mclose{display:none}
.ft{background:var(--paper-2);padding:48px 16px 32px;display:grid;gap:32px}
.ft-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:32px 24px}
.ft h3{font-size:14px;line-height:1.4;color:var(--ink-2);padding-bottom:4px}
.ft-cols a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);font-weight:700;text-decoration:none}
.ft-cols a:hover{color:var(--plum)}
.askai{display:grid;gap:10px}.askai ul{display:flex;flex-wrap:wrap;gap:8px 20px}
.askai a{display:inline-flex;align-items:center;gap:10px;min-height:48px;color:var(--ink);font-weight:700;text-decoration:none}
.askai img{width:28px;height:28px;object-fit:contain;display:block}.askai a:hover span{color:var(--plum)}
.tpl ul{display:flex;flex-wrap:wrap;gap:0 20px}.tpl a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
.ft-b{border-top:1px solid #D9CFC0;padding-top:16px;display:grid;gap:8px}
.ft-b .small,.land .lede,.land .small,.band-copy .small{max-width:none}
.feat{display:none}
@media (max-width:519px){.hd .btn{display:none}}
@media (min-width:900px){
  :root{--hd:72px}
  .hd{padding:0 32px}.logo img{height:44px}
  .menu{padding:calc(var(--hd) + 24px) 32px 32px}
  .ft{padding:64px 32px 32px}
}
@media (min-width:1000px){
  .hd-nav{display:flex;gap:4px}
  .groups{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:64px;align-items:start}
  .js .groups{grid-template-rows:repeat(5,min-content) 1fr}
  .js .g{grid-column:1}
  .js .panel{grid-column:2;grid-row:1/6;padding-top:12px;gap:16px}
  .js .feat{grid-column:2;grid-row:6;align-self:end;margin-top:24px;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:stretch;background:var(--surface);border:1px solid var(--line);border-radius:6px;overflow:hidden;text-decoration:none;color:var(--ink)}
  .feat img{width:100%;height:100%;min-height:150px;max-height:22vh;object-fit:cover;display:block}
  .feat span{padding:20px 24px;display:flex;flex-direction:column;justify-content:center;gap:6px}
  .feat b{font-family:var(--disp);font-size:clamp(28px,2.6vw,40px);line-height:1}
  .feat i{font-style:normal;font-weight:700;color:var(--plum)}
  html:not(.js) .g,html:not(.js) .panel{grid-column:1/-1}
  .big{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 32px}
  .big b{font-size:20px}
}
@media (prefers-reduced-motion:reduce){.menu,.gl,.gl::before{transition:none}.js .panel.on .big li,.js .panel.on .sub{animation:none}}

html:not(.js) .track{height:auto}
html:not(.js) .stage{position:relative;height:auto;overflow:visible}
html:not(.js) .stage>img{position:relative;height:100svh}
html:not(.js) .stage>canvas,html:not(.js) .wash,html:not(.js) .hint,html:not(.js) .tags{display:none}
html:not(.js) .cap,html:not(.js) .land{position:relative;opacity:1;pointer-events:auto}
html{scroll-padding-top:0}
html:not(.js) .ch-stage{position:relative;height:auto}html:not(.js) .rail{gap:16px}
@media (min-width:700px){
  .ch-stage{grid-template-columns:minmax(0,5fr) minmax(0,6fr);grid-template-rows:auto auto minmax(0,1fr) auto;gap:16px 32px}
  .ch-k{grid-column:1}.ch h2{grid-column:1}.rail{grid-column:1}.prog{grid-column:1/-1}
  .shot{grid-column:2;grid-row:1/4;height:auto}
}
@media (min-width:900px){
  .cap{padding:24px 32px 32px}
  .land{padding:calc(var(--hd) + 24px) 32px 48px;justify-content:center;gap:24px}
  .ctrl{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px;border-top:0}.ctrl li{border-top:2px solid var(--ink)}
  .ch-stage{padding:calc(var(--hd) + 24px) 32px 32px;grid-template-columns:minmax(0,5fr) minmax(0,6fr);grid-template-rows:auto auto minmax(0,1fr) auto;gap:20px 64px}
  .ch-k{grid-column:1}.ch h2{grid-column:1}.rail{grid-column:1}.prog{grid-column:1/-1}
  .shot{grid-column:2;grid-row:1/4;height:auto}
  .band-copy{padding:32px 32px 48px}
}
@media (prefers-reduced-motion:reduce){
  .track{height:auto}.stage{position:relative;height:auto;overflow:visible}
  .stage>canvas{position:relative;height:100svh}.stage>img,.wash,.cap .hint,.tags{display:none}
  .cap,.land{position:relative;opacity:1;pointer-events:auto}
  .js .beats span{grid-area:auto;opacity:1;transform:none;transition:none;margin-bottom:12px}
  .ch{height:auto!important}.ch-stage{position:relative;height:auto}.rail{gap:16px}
  .js .rail li:not(.now) p{display:block}.js .rail li:not(.done):not(.now) b{color:var(--ink)}.rail .mark,.rail .fill{display:none}
}

.res{padding:56px 16px;display:grid;gap:28px;background:var(--surface)}
.res-h{display:grid;gap:10px}
.res-h h2{font-size:clamp(40px,6vw,80px)}
.res-l{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:0 32px}
.res-l li{border-top:2px solid var(--ink);padding:14px 0 22px;display:grid;gap:4px;align-content:start}
.res-l b{font-family:var(--disp);font-weight:700;font-size:clamp(56px,8vw,104px);line-height:.95}
.res-l span{font-size:18px;line-height:1.4;color:var(--ink-2)}
.res-l i{font-style:normal;font-weight:700;font-size:16px;color:var(--plum)}
.res-n{font-size:14px;line-height:1.45;color:var(--ink-2)}
.demo{border:0;padding:0;width:min(100% - 24px,880px);max-width:none;height:min(100dvh - 24px,820px);max-height:none;border-radius:6px;background:var(--surface);color:var(--ink)}
.demo::backdrop{background:rgba(15,13,18,.6)}
.demo-b{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%}
.demo-t{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;border-bottom:1px solid var(--line)}
.demo-t h2{font-size:28px}
.demo-t button{background:none;border:0;font:inherit;font-weight:700;cursor:pointer;padding:8px 0}
.demo iframe{width:100%;height:100%;border:0;background:#fff}
.demo-b>a{padding:12px 16px;border-top:1px solid var(--line)}
@media(min-width:900px){.res{padding:96px 32px;gap:40px}}

/* ===== inner pages ===== */
main{padding-top:var(--hd)}
main .band{min-height:72vh;min-height:72svh}
.band-copy .lede,.band-p p{font-size:clamp(18px,1.6vw,20px);color:var(--ink-2);max-width:36em}
.band-p{display:grid;gap:8px}
.tpl ul{display:flex;flex-wrap:wrap;gap:0 20px}.tpl a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
.crumb{font-size:14px;line-height:1.4;font-weight:700;color:var(--ink-2)}
.crumb a{color:inherit;text-decoration:none}.crumb a:hover{color:var(--plum)}
.ph{padding:28px 16px 32px;display:grid;gap:16px}
.ph h1{font-size:clamp(46px,8.4vw,124px);max-width:13em;text-wrap:balance}
.dek{font-size:clamp(18px,1.7vw,22px);line-height:1.45;color:var(--ink-2);max-width:36em}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0 24px}
.facts li{border-top:2px solid var(--ink);padding:10px 0 14px;font-family:var(--disp);font-weight:700;font-size:clamp(20px,2vw,26px);line-height:1.1}

/* document layout + contents rail */
.doc{--pad:16px;padding:0 var(--pad) 48px;display:grid;grid-template-columns:minmax(0,1fr)}
.toc{position:sticky;top:var(--hd);z-index:30;margin:0 calc(var(--pad)*-1);background:var(--paper);border-block:1px solid var(--line)}
.toc-b{display:flex;width:100%;align-items:center;gap:10px;min-height:48px;padding:0 16px;background:none;border:0;font:inherit;text-align:left;color:var(--ink);cursor:pointer}
.toc-b span{flex:none;font-size:14px;color:var(--muted);font-weight:700}
.toc-b b{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.toc-b i{flex:none;font-style:normal;font-size:14px;font-weight:700;color:var(--plum)}
.toc-h{display:none;font-size:14px;font-weight:700;color:var(--ink-2);padding-bottom:10px}
.toc-l{display:none;padding:0 16px 12px;max-height:60vh;max-height:60svh;overflow:auto}
.toc.open .toc-l{display:block}
.toc-l a{display:block;padding:10px 0;color:var(--ink-2);text-decoration:none;font-weight:700;line-height:1.3}
.toc-l li.now a{color:var(--plum)}
.toc-l .fill,.toc-l .mark{display:none}
.toc-p{position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--plum);display:block}
html:not(.js) .toc{position:static}html:not(.js) .toc-b{display:none}html:not(.js) .toc-l{display:block;padding-top:12px}

.sec{padding-top:40px;scroll-margin-top:calc(var(--hd) + 56px)}
.sec>*,.prose>p,.prose>ul,.prose>ol{max-width:68ch}
.sec>h2{max-width:16em;border-top:2px solid var(--ink);padding-top:14px;margin-bottom:16px;font-size:clamp(34px,4.4vw,60px);text-wrap:balance}
.sec>.defs,.sec>.tw,.sec>.steps,.sec>blockquote{max-width:none}
.prose{padding-top:8px;min-width:0}
.prose p{font-size:18px;line-height:1.6;margin-bottom:16px}
.prose p.open{font-size:clamp(20px,1.9vw,24px);line-height:1.45;padding-top:24px}
.prose .say{font-family:var(--disp);font-weight:700;font-size:clamp(24px,2.6vw,34px);line-height:1.1;margin:8px 0 16px}
.prose h3{font-family:var(--disp);font-weight:700;font-size:clamp(26px,2.6vw,34px);line-height:1.05;margin:28px 0 10px}
.prose h4{font-size:20px;line-height:1.3;margin:20px 0 6px}
.prose ul:not(.defs),.prose ol:not(.steps){display:grid;gap:8px;margin-bottom:16px}
.prose ul:not(.defs)>li,.prose ol:not(.steps)>li{position:relative;padding-left:22px;font-size:18px;line-height:1.5}
.prose ul:not(.defs)>li::before{content:"";position:absolute;left:2px;top:.62em;width:6px;height:6px;border-radius:9999px;background:var(--plum)}
.prose ol:not(.steps){counter-reset:n}
.prose ol:not(.steps)>li{counter-increment:n;padding-left:30px}
.prose ol:not(.steps)>li::before{content:counter(n);position:absolute;left:0;top:0;font-weight:700;color:var(--plum)}
.prose sup a{text-decoration:none;font-weight:700}
.prose code{background:var(--paper-2);border-radius:4px;padding:1px 5px;font-size:.9em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-wrap:anywhere}
.prose a{overflow-wrap:anywhere}
.prose blockquote{margin:32px 0;padding:0}
.prose blockquote::before{content:"";display:block;width:14px;height:14px;border-radius:9999px;background:var(--dot);margin-bottom:12px}
.prose blockquote p{font-family:var(--disp);font-weight:700;font-size:clamp(28px,3.6vw,48px);line-height:1.05;max-width:20em;margin-bottom:10px}
.prose blockquote cite{font-style:normal;font-size:14px;font-weight:700;color:var(--ink-2)}
.tw{overflow-x:auto;margin:8px calc(var(--pad)*-1) 24px;padding:0 var(--pad)}
.tw table{border-collapse:collapse;min-width:560px;width:100%;font-size:16px;line-height:1.4}
.tw th{text-align:left;font-size:14px;color:var(--ink-2);border-bottom:2px solid var(--ink);padding:8px 16px 8px 0}
.tw td{border-bottom:1px solid var(--line);padding:10px 16px 10px 0;vertical-align:top}
.tw td:first-child{font-weight:700}
.defs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:0 32px;margin:8px 0 16px}
.defs li{border-top:1px solid var(--line);padding:14px 0 6px}
.defs b{display:block;font-family:var(--disp);font-size:clamp(24px,2.2vw,30px);line-height:1.05;margin-bottom:6px}
.defs p{font-size:16px;line-height:1.5;color:var(--ink-2)}
.steps{position:relative;padding-left:30px;display:grid;gap:24px;margin:20px 0}
.steps::before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:var(--line)}
.steps>li{position:relative}
.steps>li::before{content:"";position:absolute;left:-28px;top:4px;width:12px;height:12px;border-radius:9999px;background:var(--plum)}
.st-n{font-size:14px;font-weight:700;color:var(--plum)}
.steps h4{font-family:var(--disp);font-size:clamp(26px,2.6vw,34px);line-height:1.05;margin:2px 0 10px}
.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;cursor:pointer;font-weight:700;font-size:20px;line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"Open";flex:none;font-size:14px;color:var(--plum)}
.faq details[open] summary::after{content:"Close"}

/* blog: topics + timeline */
.ph-blog{padding-bottom:16px}
.ph-blog h1{font-size:clamp(96px,22vw,280px);line-height:.82}
.topics{position:sticky;top:var(--hd);z-index:30;background:var(--paper);border-block:1px solid var(--line);display:flex;gap:0 24px;overflow-x:auto;padding:0 16px;scrollbar-width:none}
.topics::-webkit-scrollbar{display:none}
.topics a{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:48px;font-weight:700;color:var(--ink-2);text-decoration:none;white-space:nowrap;border-bottom:3px solid transparent;border-top:3px solid transparent}
.topics a.on{color:var(--ink);border-bottom-color:var(--ink)}
.topics i{font-style:normal;font-size:14px;color:var(--muted)}
.lead{display:grid;gap:16px;padding:24px 16px 16px;color:var(--ink);text-decoration:none}
.lead img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:6px;display:block}
.lead div{display:grid;gap:10px}
.lead h2{font-size:clamp(36px,5vw,72px);text-wrap:balance}
.lead:hover h2,.row a:hover h3,.au:hover .d{color:var(--plum)}
.tline{--tl-top:calc(var(--hd) + 49px);padding:0 16px 48px}
.tl-pf,.tl-rel{--tl-top:var(--hd)}
.tl-h{position:sticky;top:var(--tl-top);z-index:20;background:var(--paper);padding:14px 0 8px;border-bottom:2px solid var(--ink);font-family:var(--disp);font-weight:700;font-size:clamp(28px,3vw,40px);line-height:1}
.tl-l{position:relative}
.tl-l::before{content:"";position:absolute;left:21px;top:0;bottom:0;width:2px;background:var(--line)}
.row a{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) 84px;gap:12px;padding:16px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;align-items:start}
.row.noimg a{grid-template-columns:44px minmax(0,1fr)}
.row time{display:flex;flex-direction:column;align-items:center;background:var(--paper);padding:0 0 6px}
.row time b{font-family:var(--disp);font-size:30px;line-height:1}
.row time span{font-size:14px;line-height:1.2;color:var(--muted);font-weight:700}
.row h3{font-family:var(--disp);font-weight:700;font-size:clamp(24px,2.4vw,34px);line-height:1.05;text-wrap:balance;transition:color .12s var(--ease)}
.row p{font-size:16px;line-height:1.45;color:var(--ink-2);margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.row-c{display:block;font-size:14px;line-height:1.4;font-weight:700;color:var(--muted)}
.row .row-c{margin-top:6px}
.row img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:6px;display:block}
.row.dup,.row.hide,.tl-m.hide,.lead.hide{display:none}
.filtered .row.dup:not(.hide){display:list-item}

/* post */
.by{display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px;font-size:14px;color:var(--ink-2);font-weight:700}
.by a{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--ink);text-decoration:none}
.by img{width:40px;height:40px;border-radius:9999px;object-fit:cover;object-position:top}
.hero-img{margin:0;padding:0 16px}
.hero-img img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:6px;display:block}
.after{padding:0 16px 48px;display:grid;gap:40px}
.after .tline{padding:0}
.au{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:16px;border-top:2px solid var(--ink);padding-top:16px;color:var(--ink);text-decoration:none}
.au img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:top;border-radius:6px;display:block}
.au div{display:grid;gap:8px;align-content:start}
.au .d{font-size:clamp(32px,4vw,56px);transition:color .12s var(--ease)}
.au p:not(.row-c){font-size:16px;line-height:1.5;color:var(--ink-2);max-width:40em}

/* about */
.open2{display:grid;gap:16px;max-width:44em}
.open2 p:not(.dek):not(.say){font-size:18px;line-height:1.6}
.open2 .say{font-family:var(--disp);font-weight:700;font-size:clamp(26px,3vw,40px);line-height:1.05;border-top:2px solid var(--ink);padding-top:14px}
.pr,.ppl,.adv{padding:48px 16px;display:grid;gap:24px}
.ppl{background:var(--paper-2)}
.pr-h{display:grid;gap:10px;align-content:start}
.pr-h h2{font-size:clamp(40px,5.2vw,76px);max-width:10em;text-wrap:balance}
.pr-l li{border-top:2px solid var(--ink);padding:14px 0 28px}
.pr-l h3{font-size:clamp(30px,3.4vw,48px);margin-bottom:8px}
.pr-l p{font-size:18px;line-height:1.55;color:var(--ink-2);max-width:34em}
.ppl-l{display:grid;gap:32px}
.seat{border-top:2px solid var(--ink);padding-top:16px;display:grid;gap:8px}
.seat h3{font-size:clamp(32px,4vw,56px)}.seat p:not(.row-c){color:var(--ink-2);max-width:34em}
.adv-l{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:0 32px}
.adv-l li{border-top:1px solid var(--line);padding:14px 0 18px;display:grid;gap:4px;align-content:start}
.adv-l h3{font-size:clamp(28px,2.6vw,34px)}.adv-l b{font-size:14px;color:var(--ink-2)}.adv-l p{font-size:14px;line-height:1.45;color:var(--muted)}
.adv-p{border-top:2px solid var(--ink);padding-top:14px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 24px;font-size:20px}

/* profile */
.pf{padding:28px 16px 40px;display:grid;gap:20px}
.pf-t{display:grid;gap:10px}
.pf h1{font-size:clamp(76px,17vw,210px);line-height:.84}
.pf-r{font-weight:700;font-size:18px}
.pf-i{width:62%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:top;border-radius:6px;display:block}
.pf-b{display:grid;gap:16px}.pf-b>p:not(.dek){font-size:18px;line-height:1.6;max-width:36em}
.pf-s{display:flex;gap:24px}
.tl-pf .pr-h{padding:8px 0 8px}

/* 404 */
.nf{min-height:calc(100vh - var(--hd))!important;min-height:calc(100svh - var(--hd))!important}
.nf h1{font-size:clamp(56px,10vw,140px)}
.nf-l{display:flex;flex-wrap:wrap;gap:0 24px}
.nf-l a{display:inline-flex;align-items:center;min-height:44px;font-family:var(--disp);font-weight:700;font-size:28px;color:var(--ink)}

@media (min-width:900px){
  .ph{padding:40px 32px 40px;gap:20px}
  .doc{--pad:32px}
  .hero-img{padding:0 32px}.hero-img img{aspect-ratio:21/9}
  .topics{padding:0 32px}.lead{padding:32px 32px 24px;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:end}
  .tline{padding:0 32px 64px}.tl-l::before{left:35px}
  .row a{grid-template-columns:72px minmax(0,1fr) minmax(0,220px);gap:32px;padding:24px 0}
  .row.noimg a{grid-template-columns:72px minmax(0,1fr)}
  .row time b{font-size:44px}.row img{aspect-ratio:3/2}
  .after{padding:0 32px 64px}
  .pr,.ppl,.adv{padding:72px 32px;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px 64px}
  .pr-h{position:sticky;top:calc(var(--hd) + 24px)}
  .ppl-l{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ppl .au{grid-template-columns:1fr}.ppl .au img{width:60%}
  .open2{max-width:none;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:16px 64px;align-items:start}
  .open2>p:not(.say){grid-column:1;max-width:40em}.open2 .say{grid-column:2;grid-row:1/3}
  .pf{padding:40px 32px 56px;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:24px 64px;align-items:start}
  .pf-t,.pf-b{grid-column:1}.pf-i{grid-column:2;grid-row:1/3;width:100%}
}
@media (min-width:1000px){
  .doc{grid-template-columns:minmax(200px,3fr) minmax(0,9fr);gap:64px;padding-bottom:64px;align-items:start}
  .toc{top:calc(var(--hd) + 24px);margin:32px 0 0;border:0;background:none;max-height:calc(100svh - var(--hd) - 48px);overflow:auto}
  .toc-b,.toc-p{display:none}.toc-h{display:block}
  .toc-l,.toc.open .toc-l{display:block;position:relative;padding:0 0 0 28px;max-height:none;overflow:visible}
  .toc-l::before{content:"";position:absolute;left:7px;top:10px;bottom:10px;width:2px;background:var(--line)}
  .toc-l .fill{display:block;position:absolute;left:7px;top:10px;width:2px;height:0;background:var(--plum)}
  .toc-l .mark{display:block;position:absolute;left:1px;top:0;width:14px;height:14px;border-radius:9999px;background:var(--dot);transition:transform .2s var(--ease)}
  .toc-l a{padding:7px 0;font-size:16px;color:var(--muted)}
  .toc-l li.done a,.toc-l li.now a{color:var(--ink)}
  html:not(.js) .toc{position:sticky}
}
@media (prefers-reduced-motion:reduce){.toc-l .mark{transition:none}}

/* no fixed measure where the text has the row to itself */
.ph>h1,.ph>.dek,.band-copy .lede,.band-p p,.nf .lede{max-width:none}

/* pricing */
.plans{padding:8px 16px 48px;display:grid;gap:0}
.plan{border-top:2px solid var(--ink);padding:16px 0 32px;display:grid;gap:12px;align-content:start}
.plan header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.plan h3{font-size:clamp(32px,3.4vw,44px)}
.plan-t{background:var(--plum);color:#fff;font-weight:700;font-size:14px;line-height:1.3;padding:5px 10px;border-radius:4px}
.plan-p{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.plan-p b{font-family:var(--disp);font-weight:700;font-size:clamp(84px,11vw,150px);line-height:.82;font-variant-numeric:tabular-nums}
.plan-p span{font-weight:700;color:var(--ink-2)}
.plan-w{font-size:18px;line-height:1.5;color:var(--ink-2)}
.plan ul{display:grid;margin-bottom:8px}
.plan li{border-top:1px solid var(--line);padding:10px 0;font-weight:700;line-height:1.35}
.plan .btn{justify-self:start}
.joint{background:var(--paper-2);padding:48px 16px;display:grid;gap:24px}
.joint .dek{max-width:none}
.joint-l{margin:0}.joint-l li{border-top:2px solid var(--ink)}
.joint-l b{font-size:clamp(32px,3.4vw,44px)}
.todo{background:var(--surface);border-radius:4px;padding:8px 10px;font-size:14px!important}
.joint-n{font-size:14px;line-height:1.45;color:var(--ink-2)}
@media (min-width:900px){
  .plans{padding:8px 32px 72px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 48px}
  .plan{grid-template-rows:auto auto minmax(0,auto) 1fr auto;padding-bottom:0}
  .plan-w{min-height:6em}
  .joint{padding:72px 32px;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px 64px}
  .joint-n{grid-column:2}
}

/* inquiry form */
.joint-l .tl{margin-top:4px}
.inq{padding:48px 16px;display:grid;gap:24px}
.inq .dek{max-width:none}
.form{display:grid;gap:16px;align-content:start}
.form .f{display:grid;gap:6px;align-content:start}
.form label,.form legend{font-size:14px;font-weight:700;color:var(--ink-2)}
.form input[type=text],.form input[type=email],.form input[type=tel],.form select,.form textarea{width:100%;min-height:48px;padding:10px 14px;border:1px solid #857C72;border-radius:4px;background:var(--surface);color:var(--ink);font:inherit;font-size:16px}
.form textarea{resize:vertical}
.form :focus-visible{outline:2px solid var(--plum);outline-offset:1px}
.form .bad{border-color:var(--plum);border-width:2px}
.f-pk{border:0;padding:0;margin:0;display:grid;gap:8px}
.f-pk legend{padding:0 0 8px}
.ck{display:flex;align-items:center;gap:12px;min-height:56px;padding:0 14px;border:1px solid #857C72;border-radius:4px;background:var(--surface);cursor:pointer}
.ck input{width:20px;height:20px;accent-color:var(--plum);flex:none}
.ck span{font-family:var(--disp);font-weight:700;font-size:24px;line-height:1;color:var(--ink)}
.ck:has(input:checked){border-color:var(--plum);border-width:2px;padding:0 13px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form .btn{border:0;font:inherit;font-weight:700;cursor:pointer;justify-self:start}
.form-s{font-weight:700;line-height:1.4}.form-s:empty{display:none}
@media (min-width:700px){.form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}.f-pk,.f-w{grid-column:1/-1}.f-pk{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}.f-pk legend{grid-column:1/-1}}
@media (min-width:900px){.inq{padding:72px 32px;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px 64px}}

.prose img{max-width:100%;height:auto;border-radius:4px}
.prose figure{margin:16px 0}
.prose figcaption{font-size:14px;color:var(--ink-2)}
.plans-n{padding:0 16px 32px;font-size:14px;color:var(--ink-2)}

/* SiteScan page, and link blocks under articles and pages */
.scan-page{padding-top:calc(var(--hd) + 32px)}
.scan-page .scan-h h1{font-size:clamp(44px,6.4vw,96px);text-wrap:balance}
#page:has(.scan-page) .scan-ft{display:none}
.fit-l{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:0 32px}
.fit-l li{border-top:1px solid var(--line)}
.fit-l a{display:grid;gap:4px;padding:14px 0 16px;color:var(--ink);text-decoration:none;min-height:44px}
.fit-l b{font-family:var(--disp);font-size:clamp(24px,2.2vw,30px);line-height:1.05}
.fit-l a:hover b{color:var(--plum)}
.fit-l span{color:var(--ink-2);line-height:1.45}
