/* Axiom v7 "Distillation". Palette + type from website/v6/BRAND.md (Dossier). */
/* Self-hosted fonts (SIL OFL 1.1, from Google Fonts, latin subset). Replaces the render-blocking fonts.googleapis.com stylesheet. */
@font-face{font-family:"Newsreader";font-style:normal;font-weight:300 600;font-display:swap;src:url(fonts/newsreader-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Newsreader";font-style:italic;font-weight:300 600;font-display:swap;src:url(fonts/newsreader-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/schibsted-grotesk-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{
  --ink:#121314; --ink-2:#1E2023; --paper:#EEEDE8; --paper-2:#E6E4DE; --sheet:#F8F7F3;
  --graphite:#55585C; --smoke:#A8ABAF; --rule:#C9C7C0;
  --signal:#C8102E; --signal-d:#A00D25; --signal-l:#FF6470; --blush:#FCE6E8;
  --serif:"Newsreader", Georgia, "Times New Roman", serif;
  --sans:"Schibsted Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
  --gut:clamp(20px,5vw,72px);
  --top:64px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.55 var(--serif);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit}
em{font-style:italic}
img,svg{display:block;max-width:100%}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--paper);padding:10px 14px;font:600 14px var(--sans);text-decoration:none}
.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
.sep{color:var(--signal);font-family:var(--serif);padding:0 .25em}
.wrap{max-width:1240px;margin:0 auto;padding:0 var(--gut)}

/* ---------- top bar ---------- */
.top{position:fixed;inset:0 0 auto 0;height:var(--top);z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gut);
  background:color-mix(in srgb,var(--paper) 86%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:background .3s,color .3s,border-color .3s}
.top.scrolled{border-bottom-color:var(--rule)}
.top.dark{background:color-mix(in srgb,var(--ink) 88%,transparent);color:var(--paper);border-bottom-color:#2a2c30}
.top.solid{background:var(--paper);border-bottom-color:var(--rule)}
.mark{font:400 26px/1 var(--serif);letter-spacing:-.02em;text-decoration:none}
.top nav{display:flex;gap:clamp(14px,2.4vw,32px);font:500 14px var(--sans)}
.top nav a{text-decoration:none;padding:6px 0;border-bottom:1px solid transparent}
.top nav a:hover{border-bottom-color:currentColor}
.top nav .signin{border:1px solid currentColor;padding:6px 12px}
.top nav .signin:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.top.dark nav .signin:hover{background:var(--paper);color:var(--ink)}
@media (max-width:720px){.top nav a:not(.signin):not([href="#plans"]){display:none}}

/* ---------- shared bits ---------- */
.label{display:flex;align-items:center;gap:10px;margin:0 0 28px;font:500 14px var(--sans);color:var(--graphite)}
.label i{font:italic 400 17px var(--serif);color:var(--ink)}
.sig{display:inline-block;width:28px;height:3px;background:var(--signal);flex:none}
h2{font-weight:300;letter-spacing:-.02em;line-height:1.02;margin:0;font-size:clamp(38px,6vw,84px)}
h2 em{color:var(--signal)}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--signal);color:var(--paper);font:600 15px/1 var(--sans);padding:16px 22px;text-decoration:none;border:0;cursor:pointer;transition:background .2s}
.btn::after{content:"→";transition:transform .2s}
.btn:hover{background:var(--signal-d)}.btn:hover::after{transform:translateX(3px)}
.btn.inv{background:var(--paper);color:var(--ink)}.btn.inv:hover{background:#fff}
.link{font:600 15px var(--sans);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}
.link:hover{color:var(--signal)}
.link.inv{color:var(--paper)}.link.inv:hover{color:var(--signal-l)}
.ctas{display:flex;flex-wrap:wrap;align-items:center;gap:22px 28px;margin:28px 0 0}

/* ---------- I. distil ---------- */
.distil{position:relative}
.distil .stage{position:relative;min-height:100vh;min-height:100svh;overflow:hidden;padding:calc(var(--top) + 6vh) var(--gut) 10vh;display:flex}
.field{display:none}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,400px);grid-template-areas:"h h" ". s";gap:4vh 6vw;align-content:center;width:100%;max-width:1400px;margin:0 auto;position:relative;z-index:2}
.headline{grid-area:h;margin:0;font-weight:300;font-size:clamp(50px,10.4vw,172px);line-height:.94;letter-spacing:-.035em}
.headline .ln{display:block;white-space:nowrap}
.headline .ln:nth-child(2){padding-left:.9em}
.headline .ln:nth-child(3){padding-left:1.8em}
.headline .w{display:inline-block;transform-origin:0 0;will-change:transform}
.headline .key{font-style:italic;font-weight:300;color:var(--signal);letter-spacing:-.03em}
.hero-sub{grid-area:s;font-size:19px;line-height:1.5;color:var(--graphite)}
.hero-sub p{margin:0}.hero-sub p:first-child::first-line{color:var(--ink)}
.hero-sub .ctas{margin-top:22px}
.readout,.cue{display:none}

.motion .distil{height:360vh}
.motion .distil .stage{position:sticky;top:0;height:100vh;height:100svh;min-height:0}
.motion .field{display:block;position:absolute;inset:calc(var(--top) + 3vh) var(--gut) 9vh;overflow:hidden;text-align:justify;font:400 18px/1.62 var(--serif);color:var(--graphite);hyphens:none;z-index:1}
.field .nz{transition:none}
.field .nz.s{font:500 14px/1 var(--sans);letter-spacing:0}
.field .nz.l{font-size:22px;font-style:italic}
.field .nz i{font-style:normal;color:var(--rule);padding:0 .2em}
.field .nz{opacity:.62}
.field .ph{color:transparent;position:relative;font-size:18px}
.field .ph.key{font-style:italic}
.field .ph::after{content:"";position:absolute;left:-2px;right:-2px;bottom:-1px;height:2px;background:var(--signal);transform:scaleX(var(--m,0));transform-origin:0 50%;opacity:var(--mo,1)}
.motion .headline .w{color:var(--ink)}
.motion .headline .key{color:var(--ink)}
.motion .hero-sub{opacity:0;transform:translateY(16px)}
.motion .readout{display:block;position:absolute;left:var(--gut);bottom:3.2vh;margin:0;font:500 13px var(--sans);color:var(--graphite);z-index:3;font-variant-numeric:tabular-nums}
.motion .readout span:not(.sep){color:var(--ink);display:inline-block;min-width:2.2ch;text-align:right}
.motion .cue{display:block;position:absolute;right:var(--gut);bottom:3vh;margin:0;font:italic 400 17px var(--serif);color:var(--ink);z-index:3;background:var(--paper);padding:2px 0 2px 10px}
.motion .cue::after{content:" ↓";color:var(--signal)}

@media (max-width:820px){
  .hero{grid-template-columns:1fr;grid-template-areas:"h" "s";gap:28px;align-content:end}
  .distil .stage{padding-bottom:8vh}
  .headline{font-size:clamp(46px,14.2vw,96px);line-height:.96}
  .headline .ln{white-space:normal}
  .headline .ln:nth-child(2),.headline .ln:nth-child(3){padding-left:0}
  .hero-sub{font-size:17px}
  .motion .field{font-size:15px;line-height:1.6;text-align:left}
  .field .ph{font-size:15px}.field .nz.l{font-size:18px}.field .nz.s{font-size:12px}
  .motion .cue{display:none}
}

/* ---------- II. plain ---------- */
.plain{padding:18vh 0 16vh}
.say{max-width:15ch;font-size:clamp(40px,6.6vw,96px)}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:5vw;max-width:880px;margin:8vh 0 0 auto;color:var(--graphite);font-size:20px}
.cols p{margin:0}.cols p:first-child{color:var(--ink)}
@media (max-width:720px){.cols{grid-template-columns:1fr;gap:18px;font-size:18px}}

/* ---------- III. anatomy ---------- */
.anatomy{background:var(--paper-2);border-top:1px solid var(--rule)}
.anatomy .stage{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:6vw;align-items:center;max-width:1320px;margin:0 auto;padding:14vh var(--gut)}
.an-side h2{font-size:clamp(34px,4.2vw,62px);max-width:12ch}
.an-index{list-style:none;padding:0;margin:6vh 0 0;font-family:var(--sans)}
.an-index li{display:grid;grid-template-columns:44px 1fr;align-items:baseline;padding:14px 0;border-top:1px solid var(--rule);color:var(--graphite);transition:color .3s}
.an-index li:last-child{border-bottom:1px solid var(--rule)}
.an-index i{font:italic 400 20px var(--serif);color:inherit;position:relative}
.an-index span{font-size:16px;font-weight:500}
.an-index small{display:block;font-weight:400;font-size:14px;color:var(--graphite);margin-top:2px}
.an-index li.on{color:var(--ink)}
.an-index li.on i{color:var(--signal)}
.an-index li.on i::before{content:"";position:absolute;left:-40px;top:50%;width:28px;height:3px;background:var(--signal)}

.sheet{background:var(--sheet);border:1px solid var(--rule);border-top:3px solid var(--signal);display:flex;flex-direction:column;box-shadow:0 30px 60px -40px rgba(18,19,20,.35)}
.sheet-head{display:flex;justify-content:space-between;gap:16px;padding:16px 26px;border-bottom:1px solid var(--rule);font:500 13px var(--sans);color:var(--graphite)}
.sheet-head .sh-title{font:italic 400 16px var(--serif);color:var(--ink)}
.panels{position:relative;flex:1}
.panel{padding:30px 34px 34px}
.panel h3{font:400 15px var(--sans);color:var(--graphite);margin:0 0 20px;display:flex;gap:12px;align-items:baseline}
.panel h3 i{font:italic 400 22px var(--serif);color:var(--signal)}
.panel .lede{font-size:clamp(22px,2.1vw,30px);line-height:1.2;font-weight:300;margin:0 0 22px;letter-spacing:-.01em}
.moved,.watch,.do{list-style:none;margin:0;padding:0}
.moved li{position:relative;padding:12px 0 12px 22px;border-top:1px solid var(--fold,#E6E4DE);font-size:17px;line-height:1.45}
.moved li::before{content:"";position:absolute;left:0;top:22px;width:10px;height:3px;background:var(--signal)}
.moved b{font-weight:600}
.moved cite{display:block;font:normal 400 13px var(--sans);color:var(--graphite);margin-top:4px}
.overweight{font-size:clamp(30px,3.6vw,52px);font-weight:300;line-height:1.08;margin:6px 0 26px;letter-spacing:-.02em}
.strike{background:linear-gradient(var(--signal),var(--signal)) 0 58%/calc(var(--sk,1)*100%) 4px no-repeat;color:var(--graphite)}
.under{font-size:19px;line-height:1.45;margin:0;max-width:34em}
.under em{color:var(--signal)}
.tag{display:inline-block;font:600 12px/1 var(--sans);background:var(--ink);color:var(--paper);padding:5px 7px;margin-right:8px;vertical-align:2px}
.fork{position:relative;display:grid;grid-template-columns:1fr;gap:0}
.fork svg{width:100%;height:auto;overflow:visible}
.fork path{fill:none;stroke-width:2}
.fork .trunk{stroke:var(--ink)}.fork .br{stroke:var(--signal)}
.fork .node{fill:var(--sheet);stroke:var(--ink);stroke-width:2}
.fk{position:relative}.fork .if{position:absolute;left:0;bottom:56%;margin:0;font:italic 400 15px var(--serif);color:var(--graphite);max-width:110px;line-height:1.2}
.fork .then{font-size:17px;line-height:1.42;margin:14px 0 0;padding-left:16px;border-left:3px solid var(--signal)}
.fork .then b{font:600 13px var(--sans);color:var(--signal)}
.do{counter-reset:d}
.do li{counter-increment:d;display:grid;grid-template-columns:42px 1fr;align-items:baseline;padding:16px 0;border-top:1px solid #E6E4DE;font-size:clamp(20px,1.9vw,26px);line-height:1.2;font-weight:400;letter-spacing:-.01em}
.do li::before{content:counter(d);font:600 13px var(--sans);color:var(--signal)}
.watch li{display:grid;grid-template-columns:28px 1fr;padding:12px 0;border-top:1px solid #E6E4DE;font-size:18px;line-height:1.4}
.watch li::before{content:"";width:12px;height:12px;border:2px solid var(--ink);margin-top:6px}
.watch + .btn{margin-top:24px}
.sheet-foot{display:flex;align-items:center;gap:14px;padding:12px 26px;border-top:1px solid var(--rule);font:500 12px var(--sans);color:var(--graphite)}
.prog{flex:1;height:2px;background:#E6E4DE;position:relative;overflow:hidden}
.prog span{position:absolute;inset:0;background:var(--ink);transform-origin:0 50%;transform:scaleX(var(--pg,1))}
.motion .sheet-foot{display:flex}
.sheet-foot{display:none}

/* static (no motion): panels flow one after another */
.panel + .panel{border-top:1px solid var(--rule)}
.motion .anatomy{height:600vh}
.motion .anatomy .stage{position:sticky;top:0;height:100vh;height:100svh;padding-top:calc(var(--top) + 4vh);padding-bottom:5vh}
.motion .sheet{height:min(600px,calc(100svh - var(--top) - 12vh))}
.motion .panels{overflow:hidden}
.motion .panel{position:absolute;inset:0;border:0;opacity:0;visibility:hidden;transform:translateY(28px);transition:opacity .5s ease,transform .7s cubic-bezier(.2,.7,.1,1),visibility 0s .7s}
.motion .panel.on{opacity:1;visibility:visible;transform:none;transition:opacity .5s ease .1s,transform .7s cubic-bezier(.2,.7,.1,1) .05s,visibility 0s}
.motion .panel.past{transform:translateY(-28px)}
.motion .panel .r{opacity:0;transform:translateY(10px);transition:opacity .45s ease,transform .6s cubic-bezier(.2,.7,.1,1)}
.motion .panel .r.in{opacity:1;transform:none}
.motion .strike{--sk:clamp(0,calc(var(--lp,0)*2.6 - .1),1)}
.motion .fork path{stroke-dasharray:1;stroke-dashoffset:1}
.motion .fork .trunk{stroke-dashoffset:calc(1 - clamp(0,var(--lp,0)*4,1))}
.motion .fork .br.a{stroke-dashoffset:calc(1 - clamp(0,(var(--lp,0) - .22)*2.6,1))}
.motion .fork .br.b{stroke-dashoffset:calc(1 - clamp(0,(var(--lp,0) - .36)*2.6,1))}
.motion .fork .node{opacity:clamp(0,calc(var(--lp,0)*5 - .8),1)}

@media (max-width:900px){
  .anatomy .stage{grid-template-columns:1fr;gap:3vh;align-content:start}
  .an-side h2{font-size:clamp(28px,7.4vw,44px);max-width:none}
  .an-side .label{margin-bottom:14px}
  .an-index{display:flex;margin-top:18px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
  .an-index li{display:block;flex:1;border:0;padding:10px 0;text-align:center}
  .an-index li:last-child{border:0}
  .an-index li span{display:none}
  .an-index li.on i::before{left:50%;top:auto;bottom:-10px;width:20px;margin-left:-10px}
  .motion .anatomy .stage{padding-top:calc(var(--top) + 2vh);padding-bottom:2vh}
  .motion .sheet{height:auto;flex:1;min-height:0}
  .motion .anatomy .stage{display:flex;flex-direction:column}
  .panel{padding:20px 20px 22px}
  .sheet-head{padding:12px 20px}.sheet-head .sh-meta{display:none}
  .panel .lede{font-size:20px;margin-bottom:12px}
  .moved li{font-size:15px;padding:9px 0 9px 20px}.moved li::before{top:18px}.moved cite{display:inline;margin-left:6px;font-size:12px}.moved cite::before{content:"· "}
  .overweight{font-size:30px}.under{font-size:17px}
  .fork .if{font-size:13px;max-width:90px}.fork .then{font-size:15px;margin-top:10px}
  .do li{font-size:19px;padding:12px 0}
  .watch li{font-size:16px;padding:9px 0}
  .sheet-foot{padding:10px 20px}
}
@media (max-width:900px) and (max-height:760px){ .an-side h2{font-size:26px} .moved cite{display:none} .panel .lede{font-size:18px} }

/* ---------- IV. converge ---------- */
.converge{padding:20vh 0 14vh;overflow:hidden}
.converge h2{max-width:15ch}
.lines{margin:7vh calc(var(--gut) * -1) 0}
.lines svg{width:100%;height:auto;overflow:visible}
.lines path{fill:none;stroke:var(--rule);stroke-width:1.2}
.lines path.out{stroke:var(--signal);stroke-width:3}
.motion .lines path{stroke-dasharray:1;stroke-dashoffset:calc(1 - clamp(0,var(--d,1)*1.7 - var(--k,0)*.7,1))}
.motion .lines path.out{stroke-dashoffset:calc(1 - clamp(0,(var(--d,1) - .5)*2.4,1))}
.steps{list-style:none;margin:4vh 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:4vw}
.steps li{border-top:1px solid var(--ink);padding-top:16px;font-size:18px;color:var(--graphite)}
.steps li:last-child{border-top:3px solid var(--signal);padding-top:14px}
.steps i{font:italic 400 18px var(--serif);color:var(--signal);margin-right:10px}
.steps b{font:600 16px var(--sans);color:var(--ink)}
.steps span{display:block;margin-top:8px}
.bar{max-width:640px;margin:9vh 0 0 auto;font-size:22px;line-height:1.4;font-weight:300}
@media (max-width:720px){.lines path{stroke-width:2.6}.lines path.out{stroke-width:8}.steps{grid-template-columns:1fr;gap:22px}.bar{font-size:19px}}

/* ---------- V. who ---------- */
.who{padding:14vh 0;border-top:1px solid var(--rule)}
.whol{list-style:none;margin:0;padding:0}
.whol li{font-size:clamp(28px,4.4vw,60px);font-weight:300;line-height:1.1;letter-spacing:-.02em;padding:22px 0;border-bottom:1px solid var(--rule)}
.who-end{font-size:clamp(22px,2.4vw,32px);max-width:24em;margin:7vh 0 0;line-height:1.3}
.who-end em{color:var(--signal)}
.motion .whol li{color:var(--rule);transition:color .7s ease}
.motion .whol li.in{color:var(--ink)}

/* ---------- VI. sample ---------- */
.sample{padding:16vh 0;background:var(--sheet);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.sample .intro{font-size:20px;max-width:34em;color:var(--graphite);margin:24px 0 7vh}
.issues{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.issues a{display:grid;grid-template-columns:150px minmax(0,1fr) 200px;grid-template-areas:"n t m" "n d m";gap:6px 4vw;padding:30px 0;border-bottom:1px solid var(--rule);text-decoration:none;position:relative}
.issues a::before{content:"";position:absolute;left:0;top:-1px;height:3px;width:0;background:var(--signal);transition:width .5s cubic-bezier(.2,.7,.1,1)}
.issues a:hover::before,.issues a:focus-visible::before{width:100%}
.issues .n{grid-area:n;font:500 14px var(--sans);color:var(--graphite);padding-top:10px}
.issues .n em{display:block;font:italic 400 15px var(--serif);color:var(--signal);margin-top:4px}
.issues .t{grid-area:t;font-size:clamp(26px,3.2vw,44px);font-weight:300;line-height:1.08;letter-spacing:-.015em}
.issues a:hover .t{color:var(--signal)}
.issues .d{grid-area:d;color:var(--graphite);font-size:17px;max-width:40em}
.issues .m{grid-area:m;font:500 13px var(--sans);color:var(--graphite);text-align:right;padding-top:10px}
.issues .cur .t{font-size:clamp(32px,4.4vw,60px)}
@media (max-width:720px){.issues a{grid-template-columns:1fr;grid-template-areas:"n" "t" "d" "m";gap:8px}.issues .m{text-align:left;padding:0}.issues .n{padding:0}}

/* ---------- VII. plans ---------- */
.plans{padding:16vh 0}
.plans-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:6vh}
.period{display:inline-flex;border:1px solid var(--ink)}
.period button{font:600 14px var(--sans);background:transparent;color:var(--ink);border:0;padding:12px 18px;cursor:pointer}
.period button span{font-weight:400;color:var(--graphite);margin-left:6px}
.period button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.period button[aria-pressed=true] span{color:var(--smoke)}
.tiers{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--ink)}
.tier{padding:clamp(26px,4vw,52px);background:var(--sheet);display:flex;flex-direction:column}
.tier.team{background:var(--ink);color:var(--paper)}
.tier h3{font:400 clamp(34px,3.6vw,52px)/1 var(--serif);letter-spacing:-.02em;margin:0}
.tier .for{color:var(--graphite);margin:10px 0 30px;font-size:18px}
.tier.team .for{color:var(--smoke)}
.price{display:flex;align-items:baseline;gap:12px;margin:0 0 28px;font-family:var(--sans)}
.price .amt{font-size:clamp(44px,5vw,64px);font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.price .per{font-size:15px;color:var(--graphite)}
.tier.team .per{color:var(--smoke)}
.tier ul{list-style:none;margin:0 0 36px;padding:0;flex:1}
.tier li{padding:12px 0 12px 26px;border-top:1px solid var(--rule);position:relative;font-size:18px}
.tier.team li{border-top-color:#2c2e32}
.tier li::before{content:"";position:absolute;left:0;top:23px;width:12px;height:2px;background:var(--signal)}
.tier.team li::before{background:var(--signal-l)}
.tier .btn{align-self:flex-start}
.tier.team .btn{background:var(--paper);color:var(--ink)}.tier.team .btn:hover{background:#fff}
.fine{font:400 14px var(--sans);color:var(--graphite);margin:18px 0 0}
.faq{margin-top:12vh;max-width:820px}
.faq h3{font:500 14px var(--sans);color:var(--graphite);margin:0 0 14px}
.faq details{border-top:1px solid var(--rule)}
.faq details:last-child{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;font-size:22px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:16px;font:400 26px var(--sans);color:var(--signal)}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0 0 22px;color:var(--graphite);max-width:40em}
@media (max-width:820px){.tiers{grid-template-columns:1fr}}

/* ---------- VIII. close ---------- */
.close{background:var(--ink);color:var(--paper)}
.close .stage{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:14vh var(--gut);max-width:1400px;margin:0 auto}
.closing{font-size:clamp(42px,7.4vw,120px);line-height:1;margin:0}
.closing span{display:block}
.closing .c1{color:var(--smoke)}
.closing .c1 .cw{display:inline-block}
.closing .c2 em{color:var(--signal-l)}
.motion .close{height:240vh}
.motion .close .stage{position:sticky;top:0;height:100vh;height:100svh;min-height:0}
.motion .closing .c1{position:relative}
.motion .close .ctas{opacity:0}

/* ---------- footer ---------- */
.foot{background:var(--ink);color:var(--smoke);border-top:3px solid var(--signal);font:400 14px var(--sans)}
.foot .wrap{display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;padding-top:36px;padding-bottom:40px}
.foot .mark{color:var(--paper);font-size:24px}
.foot nav{display:flex;gap:22px;margin-left:auto}
.foot a{color:var(--paper);text-decoration:none}.foot a:hover{color:var(--signal-l)}

/* static / reduced-motion anatomy: side column sticks beside the full sheet */
html:not(.motion) .anatomy .stage{align-items:start}
@media (min-width:901px){html:not(.motion) .an-side{position:sticky;top:calc(var(--top) + 32px)}}
