/* Prep in the Mountains: calm stylesheet.
   One centered column. Solid surfaces. Scenes only as hero, bands and door cards. */

/* ---------- tokens ---------- */
:root{
  --bg:#FFFFFF; --bg-2:#F7F3EE; --ink:#1F1A16; --ink-2:#5A524A; --rule:#E7E1D8; --line:#D3CABE;
  --link:#9A4710; --focus:#B4560F;
  --amber:#F2A541; --amber-h:#F7B862; --amber-ink:#21160A;
  --ok:#2B7A4B; --ok-bg:#EAF4EC; --bad:#B23B2E; --bad-bg:#FBECE8;
  --bar:#0E131D; --bar-2:#172030; --bar-ink:#F7F0E6; --bar-ink-2:#C3CAD5; --bar-rule:rgba(247,240,230,.14);
  --scene-cap:#FFFFFF;
  --poor:#3B6CB4; --rich:#C2412D;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --col:720px; --wide:1200px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0E131D; --bg-2:#172030; --ink:#F4ECDF; --ink-2:#C3CAD5; --rule:#263044; --line:#36425A;
    --link:#F2B864; --focus:#F2B864;
    --ok:#8BD3A3; --ok-bg:#15281E; --bad:#F3A293; --bad-bg:#3A1D22;
    --bar:#090C13; --bar-2:#131A27; --bar-ink-2:#C3CAD5;
    --poor:#7FA8E8; --rich:#F08A76;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0E131D; --bg-2:#172030; --ink:#F4ECDF; --ink-2:#C3CAD5; --rule:#263044; --line:#36425A;
  --link:#F2B864; --focus:#F2B864;
  --ok:#8BD3A3; --ok-bg:#15281E; --bad:#F3A293; --bad-bg:#3A1D22;
  --bar:#090C13; --bar-2:#131A27; --bar-ink-2:#C3CAD5;
  --poor:#7FA8E8; --rich:#F08A76;
  color-scheme:dark;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--top-h) + 8px)}
:root{--top-h:64px;--bar-rgb:14 19 29}
:root:has(.sub){--top-h:113px}
:root[data-theme="dark"]{--bar-rgb:9 12 19}
@media (min-width:960px){:root{--top-h:72px}:root:has(.sub){--top-h:121px}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 18px/1.65 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
.page{background:var(--bg);color:var(--ink);min-height:100vh}
@media (min-width:760px){body{font-size:19px}}
img,svg{display:block;max-width:100%}
a{color:var(--link);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
button{font:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}
[hidden]{display:none!important}
.col{width:min(var(--col),100% - 32px);margin-inline:auto}
.wide{width:min(var(--wide),100% - 32px);margin-inline:auto}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.15;letter-spacing:-.01em;margin:0;text-wrap:balance}
h1{font-size:clamp(38px,6.4vw,60px)}
h2{font-size:clamp(30px,4.2vw,40px)}
.cap{margin:0;font:700 13px/1.3 var(--sans);letter-spacing:.09em;text-transform:uppercase}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:#fff;color:#111;padding:12px 16px;border-radius:8px;font-weight:700}
.skip:focus{left:12px}
.n,.facts dd,.qhead{font-variant-numeric:tabular-nums}

/* ---------- buttons, links, chips ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 26px;border:0;border-radius:12px;background:var(--amber);color:var(--amber-ink);font:700 18px/1.2 var(--sans);text-decoration:none;cursor:pointer;text-align:center;box-shadow:0 1px 0 rgba(0,0,0,.12)}
.btn:hover{background:var(--amber-h)}
.btn svg{width:20px;height:20px;flex:none}
.btn-2{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 24px;border-radius:12px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);font:700 18px/1.2 var(--sans);cursor:pointer}
.btn-2:hover{border-color:var(--ink-2)}
.tlink{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0;border:0;background:none;color:var(--link);font:700 18px/1.2 var(--sans);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;cursor:pointer}
.tlink svg{width:18px;height:18px}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;margin:28px 0 0}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0}
.chip{display:inline-flex;align-items:center;min-height:48px;padding:0 18px;border-radius:999px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);font:600 16px/1.2 var(--sans);text-decoration:none;cursor:pointer;white-space:nowrap}
.chip:hover{border-color:var(--ink-2)}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}

/* ---------- header ---------- */
/* transparent over the scene, smoked dark as you scroll (--a goes 0 to 1) */
.top{--a:0;position:fixed;top:0;left:0;right:0;z-index:50;color:var(--bar-ink);box-shadow:0 1px 0 rgb(255 255 255 / calc(var(--a) * .07)),0 8px 24px rgb(0 0 0 / calc(var(--a) * .18))}
.top::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:rgb(var(--bar-rgb) / .94);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);opacity:var(--a)}
.top::before{content:"";position:absolute;left:0;right:0;top:0;bottom:-64px;z-index:-1;pointer-events:none;background:linear-gradient(to bottom,rgba(7,10,18,.74) 0%,rgba(7,10,18,.66) 45%,rgba(7,10,18,.36) 75%,rgba(7,10,18,0) 100%);opacity:calc(1 - var(--a))}
.bar{position:relative;color:var(--bar-ink)}
.bar-in{display:flex;align-items:center;gap:4px;min-height:64px}
.brand{display:inline-flex;align-items:center;gap:10px;min-height:48px;margin-right:auto;color:var(--bar-ink);text-decoration:none;font:700 17px/1.1 var(--sans);letter-spacing:-.01em}
.brand svg{width:30px;height:30px;color:var(--amber);flex:none}
.bar-nav{display:none}
.bar-nav a{display:inline-flex;align-items:center;min-height:48px;padding:0 14px;border-radius:10px;color:var(--bar-ink);text-decoration:none;font:600 16px var(--sans)}
.bar-nav a:hover{background:rgba(255,255,255,.1)}
.ib{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:48px;height:48px;padding:0 12px;border:0;border-radius:12px;background:transparent;color:var(--bar-ink);font:600 15px var(--sans);cursor:pointer}
.ib:hover{background:rgba(255,255,255,.1)}
.ib svg{width:22px;height:22px;flex:none}
.sound .t{display:none}
.sound .i-on,.sound[aria-pressed="true"] .i-off{display:none}
.sound[aria-pressed="true"] .i-on{display:block}
.theme-b{display:none}
.theme-b .i-sun,:root[data-theme="dark"] .theme-b .i-moon{display:none}
:root[data-theme="dark"] .theme-b .i-sun{display:block}
.bar .btn{display:none;min-height:48px;padding:0 20px;margin-left:10px;font-size:16px}
@media (min-width:960px){
  .bar-in{min-height:72px}
  .bar-nav{display:flex;gap:2px;margin-right:6px}
  .bar .btn{display:inline-flex}
  .theme-b{display:inline-flex}
  .menu-b{display:none}
  .sound .t{display:inline}
}
/* exam row */
.sub{position:relative;border-top:1px solid rgba(247,240,230,.16)}
.sub-in{display:flex;align-items:center;gap:2px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.sub-in::-webkit-scrollbar{display:none}
.sub b{display:none;margin-right:14px;color:var(--bar-ink);font:700 15px var(--sans);white-space:nowrap}
.sub a{position:relative;flex:none;display:inline-flex;align-items:center;min-height:48px;padding:0 11px;color:#F1E8DA;text-decoration:none;font:600 15px var(--sans);white-space:nowrap}
.sub a:hover,.sub a[aria-current]{color:var(--bar-ink)}
.sub a[aria-current]::after{content:"";position:absolute;left:11px;right:11px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--amber)}
.sub .lg{display:none}
@media (max-width:639px){.sub-in{width:calc(100% - 12px);justify-content:space-between;gap:0}.sub a{padding:0 7px;font-size:14.5px}.sub a[aria-current]::after{left:7px;right:7px}}
@media (min-width:640px){.sub .lg{display:inline}.sub .sm{display:none}.sub a{padding:0 13px}.sub a[aria-current]::after{left:13px;right:13px}}
@media (min-width:760px){.sub b{display:inline}}
/* mobile menu */
.msheet{position:fixed;inset:0;z-index:70;background:var(--bar);color:var(--bar-ink);overflow:auto}
.ms-in{padding:8px 0 40px}
.ml{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:60px;padding:0;border:0;border-bottom:1px solid var(--bar-rule);background:none;color:var(--bar-ink);text-decoration:none;font:600 20px var(--sans);text-align:left;cursor:pointer}
.theme-row svg{width:24px;height:24px;color:var(--bar-ink-2)}
:root[data-theme="dark"] .theme-row .i-moon,.theme-row .i-sun{display:none}
:root[data-theme="dark"] .theme-row .i-sun{display:block}
.t-night,:root[data-theme="dark"] .t-day{display:none}
:root[data-theme="dark"] .t-night{display:inline}
.msheet .btn{width:100%;margin-top:28px}
body.lock{overflow:hidden}

/* ---------- scenes ---------- */
.scene{position:absolute;inset:0;overflow:hidden;background:#0B1019;z-index:0}
.scene .pan{position:absolute;inset:0}
.scene .layer{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;opacity:0;transition:opacity .9s ease}
.scene .layer.on{opacity:1}
.scene .fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to top,rgba(12,8,5,.84) 0%,rgba(12,8,5,.62) 30%,rgba(12,8,5,.22) 58%,rgba(12,8,5,0) 78%)}
.scene[data-scene="summit"]+.shade{background:linear-gradient(to top,rgba(9,14,30,.92) 0%,rgba(9,14,30,.82) 36%,rgba(9,14,30,.7) 52%,rgba(9,14,30,.3) 72%,rgba(9,14,30,0) 90%)}
/* the closing band has a taller text block, so its caption sits up in the bright sunrise sky */
.band-end .scene[data-scene="summit"]+.shade{background:linear-gradient(to top,rgba(9,14,30,.92) 0%,rgba(9,14,30,.82) 40%,rgba(9,14,30,.72) 60%,rgba(9,14,30,.45) 80%,rgba(9,14,30,0) 98%)}
.hero,.band{position:relative;color:#fff;background:#0B1019}
.hero>.col,.band>.col{position:relative;z-index:2}
.hero h1,.band h2,.band h3{color:#fff;text-shadow:0 1px 16px rgba(0,0,0,.35)}
.hero .line,.band .l{color:rgba(255,255,255,.95);text-shadow:0 1px 12px rgba(0,0,0,.4)}
@media (prefers-reduced-motion:reduce){.scene .layer{transition:none}}

/* hero: home */
.hero-home{min-height:100svh;display:flex;align-items:flex-end}
.hero-home>.col{padding:calc(var(--top-h) + 72px) 0 40px}
.hero-home .line{font-size:20px;line-height:1.5;margin:14px 0 0;max-width:36ch}
.hero-home .shade{background:linear-gradient(to top,rgba(12,8,5,.88) 0%,rgba(12,8,5,.7) 38%,rgba(12,8,5,.25) 66%,rgba(12,8,5,0) 86%)}
:root[data-theme="dark"] .hero-home .shade{background:linear-gradient(to top,rgba(8,6,10,.82) 0%,rgba(8,6,10,.6) 34%,rgba(8,6,10,.16) 60%,rgba(8,6,10,0) 76%)}
.find{margin:28px 0 0}
.find label{display:block;margin:0 0 10px;font:700 18px/1.3 var(--sans);color:#fff}
.find-box{position:relative}
.find-box>svg{position:absolute;left:18px;top:20px;width:24px;height:24px;color:#6B6157;pointer-events:none}
.find-box input{width:100%;height:64px;padding:0 18px 0 54px;border:0;border-radius:14px;background:#fff;color:#1F1A16;font:500 19px var(--sans);box-shadow:0 10px 30px rgba(0,0,0,.3);-webkit-appearance:none;appearance:none}
.find-box input::placeholder{color:#7A7066}
.find-box input:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.find-res{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:20;margin:0;padding:6px;list-style:none;background:#fff;color:#1F1A16;border-radius:14px;box-shadow:0 18px 44px rgba(0,0,0,.35);max-height:min(360px,60vh);overflow:auto}
.find-res a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:0 14px;border-radius:10px;color:inherit;text-decoration:none;font:600 18px var(--sans)}
.find-res a:hover,.find-res a[aria-selected="true"]{background:#F3EDE5}
.find-res em{font-style:normal;font:600 15px var(--sans);color:#6B6157;white-space:nowrap}
.find-res em.open{color:#9A4710}
.find-res .none{padding:14px;font-size:17px;color:#5A524A}
.pop{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0 0}
.pop>span{font:600 16px var(--sans);margin-right:4px}
.pop .chip{background:rgba(255,255,255,.95);border-color:transparent;color:#1F1A16}
.pop .chip:hover{background:#fff}
@media (min-width:960px){.hero-home>.col{padding-bottom:64px}}

/* hero: pages */
.hero-page{height:calc(var(--top-h) + clamp(300px,38svh,460px));display:flex;align-items:flex-end}
.hero-page>.col{padding:0 0 26px}
.crumbs{display:none;margin:0 0 8px;font:600 15px/1.4 var(--sans);color:rgba(255,255,255,.9);text-shadow:0 1px 10px rgba(0,0,0,.5)}
.crumbs a{color:#fff;text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.hero-page .line{margin:8px 0 0;font-size:19px;line-height:1.45}
@media (min-width:760px){.crumbs{display:block}.hero-page{height:calc(var(--top-h) + clamp(340px,44vh,520px))}.hero-page>.col{padding-bottom:36px}.hero-page .line{font-size:21px}}

/* bands */
.band{height:clamp(320px,55svh,520px);display:flex;align-items:flex-end;overflow:hidden}
.band>.col{padding:0 0 30px}
.band .cap{color:var(--scene-cap);text-shadow:0 1px 10px rgba(0,0,0,.6)}
.band h2,.band h3{font-size:clamp(32px,5vw,46px);margin:8px 0 0}
.band .l{margin:10px 0 0;font-size:19px;line-height:1.45;max-width:40ch}
.band-act{margin:22px 0 0}
.bands{display:grid;gap:6px;background:var(--bg)}
@media (min-width:760px){.band{height:clamp(320px,48svh,520px)}.band>.col{padding-bottom:42px}.band .l{font-size:21px}}

/* ---------- sections and prose ---------- */
.sec{padding:56px 0}
.sec h2{margin:0}
.intro-l{margin:12px 0 0;font-size:19px;color:var(--ink-2)}
.sec-how{padding-bottom:32px}
.intro{padding:28px 0 8px}
.lead{margin:0;font-size:20px;line-height:1.55}
@media (min-width:760px){.lead{font-size:22px}.sec{padding:72px 0}}
.meta{margin:20px 0 0;font-size:15.5px;color:var(--ink-2)}
.facts{display:grid;grid-template-columns:repeat(4,1fr);margin:24px 0 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.facts div{display:flex;flex-direction:column-reverse;padding:14px 0}
.facts dt{font:600 14px/1.3 var(--sans);color:var(--ink-2)}
.facts dd{margin:0;font:500 32px/1.1 var(--serif)}
@media (min-width:760px){.facts dd{font-size:38px}.facts dt{font-size:15px}}

.prose{padding:44px 0 72px}
.prose-top{padding-top:32px}
.prose-after{padding-top:44px}
.prose>:first-child{margin-top:0}
.prose p,.prose ul,.prose ol{margin:0 0 18px}
.prose ul,.prose ol{padding-left:1.35em}
.prose li{margin:0 0 8px;padding-left:.2em}
.prose li::marker{color:var(--ink-2);font-weight:600}
.prose h2{margin:64px 0 14px}
.prose h3{margin:56px 0 14px;font-size:clamp(26px,3.4vw,30px)}
.prose h2+h3{margin-top:24px}
.prose h3.q{margin:36px 0 8px;font:700 20px/1.35 var(--sans);letter-spacing:0}
.prose h4{margin:32px 0 8px;font:700 19px/1.35 var(--sans)}
.prose h3+h4{margin-top:16px}
.prose b{font-weight:700}
.prose .lead{margin-bottom:8px}
/* Terms and Privacy: long legal text, so quieter headings than the guides */
.legaldoc .upd{margin:0 0 28px}
.legaldoc h2{margin:52px 0 12px;font-size:clamp(25px,3vw,29px)}
.legaldoc h3{margin:28px 0 8px;font:700 18px/1.35 var(--sans);letter-spacing:0}
.legaldoc h2+h3{margin-top:12px}
.legaldoc p,.legaldoc li{overflow-wrap:anywhere}

/* tables */
.tw{margin:20px 0 28px;overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:17px;line-height:1.45}
th,td{padding:12px 14px 12px 0;text-align:left;vertical-align:top;border-bottom:1px solid var(--rule)}
th:last-child,td:last-child{padding-right:0}
thead th{padding-top:4px;font:700 15px/1.3 var(--sans);color:var(--ink-2);border-bottom:2px solid var(--line)}
tbody th{font-weight:700}
.n{text-align:right;white-space:nowrap}
tr.tot th,tr.tot td{font-weight:700;border-bottom:0;border-top:2px solid var(--line)}
table.kv tbody th{width:36%}
table.cmp tbody th{width:22%}
@media (min-width:760px){table{font-size:18px}}

/* simple card grid */
.cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 32px;padding:0;list-style:none}
.cards li{margin:0;padding:0}
.card{display:flex;flex-direction:column;gap:4px;height:100%;min-height:128px;padding:16px;border:1px solid var(--rule);border-radius:14px;background:var(--bg);color:var(--ink);text-decoration:none}
a.card:hover{border-color:var(--line);background:var(--bg-2)}
.card b{font:700 18px/1.3 var(--sans)}
.card .d{font-size:15.5px;line-height:1.4;color:var(--ink-2)}
.card .s{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:10px;font:700 15.5px var(--sans);color:var(--link)}
.card .s svg{width:16px;height:16px}
.card.soon{background:var(--bg-2);border-color:transparent}
.card.soon .s{color:var(--ink-2);font-weight:600}
@media (min-width:760px){.cards{gap:14px}.card{padding:18px 20px}}

/* door cards */
.sec-doors{padding-top:44px}
.doors{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 0}
.door{display:flex;flex-direction:column;border:1px solid var(--rule);border-radius:16px;overflow:hidden;background:var(--bg);color:var(--ink);text-decoration:none}
.door:hover{border-color:var(--line)}
.dimg{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:#1A2232}
.dimg img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;transition:transform .5s ease}
.door:hover .dimg img{transform:scale(1.03)}
.tnight,:root[data-theme="dark"] .tday{display:none!important}
:root[data-theme="dark"] .tnight{display:block!important}
.dtxt{display:flex;flex-direction:column;gap:2px;padding:12px 14px 16px}
.dtxt .cap{font-size:11.5px;color:var(--ink-2)}
.dtxt b{margin-top:4px;font:700 18px/1.25 var(--sans)}
.dtxt .d{font-size:15px;line-height:1.4;color:var(--ink-2)}
@media (min-width:760px){.doors{gap:16px}.dimg{aspect-ratio:16/10}.dtxt{padding:16px 18px 20px}.dtxt b{font-size:20px}.dtxt .d{font-size:16px}.dtxt .cap{font-size:12.5px}}
@media (prefers-reduced-motion:reduce){.dimg img{transition:none}.door:hover .dimg img{transform:none}}

/* directory */
.dsearch{margin:28px 0 0}
.dsearch label{display:block;margin:0 0 8px;font:700 17px var(--sans)}
.sbox{position:relative}
.sbox svg{position:absolute;left:16px;top:16px;width:22px;height:22px;color:var(--ink-2);pointer-events:none}
.sbox input{width:100%;height:56px;padding:0 16px 0 48px;border:1.5px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);font:500 18px var(--sans);-webkit-appearance:none;appearance:none}
.sbox input::placeholder{color:var(--ink-2)}
.dgroup h3{margin:36px 0 0;font:700 19px/1.3 var(--sans);letter-spacing:0}
.empty{margin:28px 0 0;font-size:18px}

/* question card */
.qcard{margin:24px 0 0;padding:20px;border:1px solid var(--rule);border-radius:18px;background:var(--bg-2)}
.qhead{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 10px;font:600 15px/1.3 var(--sans);color:var(--ink-2)}
.qhead span:last-child{white-space:nowrap}
.qtext{margin:0 0 18px;font:500 22px/1.4 var(--serif);white-space:pre-line}
.opts{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.prose .opts{padding:0;margin:0}
.prose .opts li{margin:0;padding:0}
.opt{display:flex;align-items:center;gap:14px;width:100%;min-height:58px;padding:12px 16px;border:1.5px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);font:500 18px/1.35 var(--sans);text-align:left;cursor:pointer}
.opt:hover:not(:disabled){border-color:var(--ink-2)}
.opt:disabled{cursor:default}
.key{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--line);font:700 15px var(--sans)}
.opt .mk{margin-left:auto;font-weight:700;font-size:15px}
.opt.right{border-color:var(--ok);background:var(--ok-bg)}
.opt.right .key{background:var(--ok);border-color:var(--ok);color:var(--bg)}
.opt.right .mk{color:var(--ok)}
.opt.wrong{border-color:var(--bad);background:var(--bad-bg)}
.opt.wrong .key{background:var(--bad);border-color:var(--bad);color:var(--bg)}
.opt.wrong .mk{color:var(--bad)}
.opt.dim{opacity:.62}
.why{margin:16px 0 0;padding:16px 18px;border-radius:12px;background:var(--bg);border-left:4px solid var(--ok)}
.why.no{border-left-color:var(--bad)}
.why strong{display:block;margin:0 0 6px;color:var(--ok);font-size:18px}
.why.no strong{color:var(--bad)}
.why p{margin:0 0 10px;font-size:17px;line-height:1.55}
.why p:last-child{margin:0}
.qnav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;margin:16px 0 24px;min-height:56px}
.qnav .hint{color:var(--ink-2);font-size:16.5px}
.result{margin:28px 0 0;padding:24px 0 0;border-top:1px solid var(--rule)}
.result h2{margin:0 0 10px;font-size:clamp(28px,4vw,36px)}
.result h2:focus{outline:none}
.result h3{margin:28px 0 8px;font:700 19px var(--sans)}
.result ul{margin:0;padding-left:1.3em}
/* flashcards */
.fcard{display:flex;flex-direction:column;min-height:280px}
.fterm{margin:20px 0 20px;font:500 34px/1.2 var(--serif);text-align:center}
.fback{margin-top:auto;padding:18px 0 0;border-top:1px solid var(--rule)}
.fback p{margin:0;font-size:19px;line-height:1.55;text-align:center}
.fbtns{display:flex;gap:10px;flex:1 1 100%}
.fbtns>*{flex:1}
@media (min-width:640px){.fbtns{flex:0 0 auto}.fbtns>*{flex:none;min-width:170px}}

/* figure */
.fig{margin:24px 0 28px;padding:16px;border:1px solid var(--rule);border-radius:16px;background:var(--bg)}
.fig figcaption{margin:12px 0 0;font-size:15.5px;color:var(--ink-2)}
.heart{width:100%;height:auto}
.heart .organ{fill:var(--bg-2);stroke:var(--line);stroke-width:2}
.heart .ch{stroke-width:2.5}
.heart .ch.poor{fill:color-mix(in srgb,var(--poor) 14%,var(--bg));stroke:var(--poor)}
.heart .ch.rich{fill:color-mix(in srgb,var(--rich) 14%,var(--bg));stroke:var(--rich)}
.heart .v{fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.heart .vp{stroke:var(--poor)}
.heart .vr{stroke:var(--rich)}
.heart text{fill:var(--ink);font-family:var(--sans);text-anchor:middle}
.heart .ot{font-size:24px;font-weight:700}
.heart .ct{font-size:22px;font-weight:600}
.heart .lt{font-size:19px;fill:var(--ink-2);font-weight:600}
.heart .lt[x="408"]{text-anchor:start}

/* ---------- exam guide: chapters, contents ---------- */
.guide{position:relative}
.chapter{position:relative}
.cbody{position:relative}
.toc-slot{display:none}
@media (min-width:1200px){
  .cbody{display:grid;grid-template-columns:1fr min(var(--col),100% - 32px) 1fr}
  .cbody>.prose{grid-column:2;width:auto;margin:0}
  .toc-slot{display:block;grid-column:1;grid-row:1;justify-self:stretch;max-width:220px;margin-left:max(16px,100% - (var(--wide) - var(--col)) / 2);margin-right:40px;padding:44px 0 72px}
}
.toc{position:sticky;top:calc(var(--top-h) + 28px);padding-left:20px}
.toc-h{margin:0 0 10px;font:700 13px/1.3 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2)}
.toc-l{position:absolute;left:0;top:34px;bottom:6px;width:2px;border-radius:2px;background:var(--rule)}
.toc-l .fill{position:absolute;left:0;top:0;width:2px;height:0;border-radius:2px;background:var(--amber)}
.toc ol{margin:0;padding:0;list-style:none}
.toc a{display:block;padding:8px 0;color:var(--ink-2);text-decoration:none;font:500 16px/1.35 var(--sans)}
.toc a:hover{color:var(--ink)}
.toc a[aria-current="true"]{color:var(--ink);font-weight:700}
.cbtn{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:36;display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 20px 0 16px;border:1px solid var(--bar-rule);border-radius:999px;background:var(--bar);color:var(--bar-ink);font:700 16px var(--sans);box-shadow:0 8px 24px rgba(0,0,0,.3);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s,transform .25s,visibility .25s}
.cbtn svg{width:20px;height:20px}
.cbtn.show{opacity:1;visibility:visible;transform:none}
@media (min-width:1200px){.cbtn{display:none}}
.csheet{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-end;background:rgba(0,0,0,.5)}
.cpanel{width:100%;max-height:85vh;overflow:auto;padding:12px 20px calc(24px + env(safe-area-inset-bottom,0px));border-radius:20px 20px 0 0;background:var(--bg);color:var(--ink)}
.chd{display:flex;align-items:center;justify-content:space-between}
.chd h2{font-size:26px}
.cx{color:var(--ink)}
.cx:hover{background:var(--bg-2)}
.cpanel ol{margin:8px 0 0;padding:0;list-style:none}
.cpanel a{display:flex;align-items:center;gap:14px;min-height:58px;border-bottom:1px solid var(--rule);color:var(--ink);text-decoration:none;font:600 18px var(--sans)}
.cpanel .n{width:26px;text-align:left;color:var(--ink-2)}
.cpanel a[aria-current="true"]{color:var(--link)}
@media (prefers-reduced-motion:reduce){.cbtn{transition:none}}

/* ---------- footer ---------- */
.foot{padding:56px 0 calc(40px + env(safe-area-inset-bottom,0px));background:var(--bar);color:var(--bar-ink-2);font-size:16px;line-height:1.55}
.foot .brand{margin:0 0 10px}
.foot p{margin:0}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:32px 24px}
.fgrid>div:first-child{grid-column:1/-1}
.foot h2{margin:0 0 8px;font:700 13px/1.3 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--bar-ink-2)}
.foot ul{margin:0;padding:0;list-style:none}
.foot li a{display:inline-flex;align-items:center;min-height:48px;color:var(--bar-ink);text-decoration:none}
.foot li a:hover{text-decoration:underline}
.legal{margin:40px 0 0;padding:24px 0 0;border-top:1px solid var(--bar-rule);font-size:14.5px}
.legal p+p{margin-top:8px}
@media (min-width:760px){.fgrid{grid-template-columns:2fr 1fr 1fr 1fr}.fgrid>div:first-child{grid-column:auto;max-width:300px}}

/* ---------- immersive study rooms: practice (fireplace) and flashcards (tent) ---------- */
.stage{position:relative;isolation:isolate;background:#0B1019}
.stage-bg{position:sticky;top:0;z-index:0;height:100vh;height:100svh;margin-bottom:-100vh;margin-bottom:-100svh;overflow:hidden}
.stage-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to left,rgba(7,10,18,.5) 0%,rgba(7,10,18,.18) 42%,rgba(7,10,18,0) 64%)}
.stage-in{position:relative;z-index:2;display:flex;justify-content:flex-end;min-height:100vh;min-height:100svh;padding:calc(var(--top-h) + 36px) max(16px,(100% - var(--wide)) / 2) 72px}
.panel{align-self:flex-start;width:min(580px,100%);padding:28px 30px 26px;border-radius:24px;background:rgb(255 253 249 / .95);color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.4),inset 0 0 0 1px rgba(255,255,255,.4)}
:root[data-theme="dark"] .panel{background:rgb(23 32 48 / .94);box-shadow:0 30px 80px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.07)}
.panel-k{margin:0;font:600 14.5px/1.4 var(--sans);color:var(--ink-2)}
.panel-k a{color:inherit}
.panel h1{margin:8px 0 0;font-size:clamp(28px,3vw,36px)}
.panel-l{margin:8px 0 0;font-size:17px;line-height:1.5;color:var(--ink-2)}
.prog{height:6px;margin:22px 0 0;border-radius:6px;background:var(--rule);overflow:hidden}
.prog i{display:block;width:0;height:100%;border-radius:6px;background:var(--amber);transition:width .45s ease}
.qcard.bare{margin:22px 0 0;padding:0;border:0;background:none;border-radius:0}
.panel .fcard{margin-top:18px}
.panel .qnav{margin-bottom:0}
.panel .result{margin-top:22px;padding-top:0;border-top:0}
.panel-body>:first-child{margin-top:22px}
.fsecs{margin:26px 0 0;padding:18px 0 0;border-top:1px solid var(--rule)}
.fsecs-l{margin:0;font:700 15px var(--sans);color:var(--ink-2)}
.fsecs .chips{margin-top:10px}
.prose-room{padding-top:64px}
/* phones: the scene fills the top of the screen, the title sits in it, the work rises from below */
@media (max-width:759px){
  .stage-bg .scene{bottom:auto;height:66svh}
  .stage-bg::after{content:"";position:absolute;left:0;right:0;top:26svh;height:40.5svh;z-index:1;background:linear-gradient(to bottom,rgba(11,16,25,0) 0%,rgba(11,16,25,.55) 38%,rgba(11,16,25,.9) 70%,#0B1019 100%)}
  .stage-shade{display:none}
  .stage-in{display:block;padding:calc(var(--top-h) + 22svh) 16px 36px}
  .panel{width:100%;padding:0;border-radius:0;background:none!important;box-shadow:none!important;-webkit-backdrop-filter:none;backdrop-filter:none}
  .panel-head{padding:0 8px 16px;color:#fff}
  .panel-k{display:none}
  .panel h1{font-size:30px;color:#fff;text-shadow:0 1px 16px rgba(0,0,0,.5)}
  .panel-l{color:rgba(255,255,255,.94);font-size:16.5px;text-shadow:0 1px 10px rgba(0,0,0,.5)}
  .panel-body{padding:20px 18px 20px;border-radius:22px;background:rgb(255 253 249 / .97);box-shadow:0 -10px 40px rgba(0,0,0,.35)}
  :root[data-theme="dark"] .panel-body{background:rgb(23 32 48 / .96);box-shadow:0 -10px 40px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.07)}
  .panel-body>:first-child{margin-top:0}
  .fcard{min-height:210px}
}
@media (prefers-reduced-motion:reduce){.prog i{transition:none}}

/* reading rooms: tips and study guides by the campfire */
.panel-body.prose{padding:0}
.panel-body.prose>.lead:first-child{margin-top:22px}
.panel-body.prose h2{margin:52px 0 12px;font-size:clamp(28px,3vw,34px)}
.panel-body.prose h3{margin:40px 0 12px;font-size:clamp(24px,2.6vw,27px)}
.panel-body.prose h3.q{margin:30px 0 8px;font-size:19.5px}
.panel-body.prose .qcard{background:var(--bg-2)}
.panel-body.prose .fig{background:var(--bg)}
.panel-body.prose>:last-child{margin-bottom:0}
@media (max-width:759px){.panel-body.prose{padding:22px 18px 24px}.panel-body.prose>.lead:first-child{margin-top:0}}
.dimg img[src*="campfire"]{object-position:50% 88%}

/* ---------- study rooms in tiles: practice (fireplace) and flashcards (tent) ----------
   Golden hour: warm paper tiles. Night: smoked tiles. The scene shows between them. */
.room{--t-bg:rgb(255 250 243 / .95);--t-bg-top:rgb(255 250 244 / .94);--t-hover:rgb(255 252 248 / .98);--t-ink:#2A211A;--t-ink-2:#665A4E;--t-head:#7A5A3A;
  --t-line:rgba(255,255,255,.7);--t-rule:rgba(70,45,20,.14);--t-key:rgba(70,45,20,.28);--t-shadow:0 10px 30px rgba(40,22,8,.22);--t-q:#1F1A16;--t-why:#3B3129;
  --t-ok:#2B7A4B;--t-ok-bg:rgb(233 245 236 / .96);--t-ok-ink:#226A3E;--t-bad:#B23B2E;--t-bad-bg:rgb(252 236 232 / .96);--t-bad-ink:#9E3226;--t-link:#9A4710;
  --t-chip-on:#2A211A;--t-chip-on-ink:#FFF8EE;--t-prog:rgba(70,45,20,.13);
  align-self:flex-start;width:min(620px,100%);color:var(--t-ink)}
:root[data-theme="dark"] .room{--t-bg:rgb(14 19 29 / .88);--t-bg-top:rgb(14 19 29 / .9);--t-hover:rgb(31 42 60 / .9);--t-ink:#F7EFE3;--t-ink-2:#C9D0DB;--t-head:#C9D0DB;
  --t-line:rgba(205,220,255,.16);--t-rule:rgba(205,220,255,.16);--t-key:rgba(205,220,255,.38);--t-shadow:0 14px 40px rgba(0,0,0,.28);--t-q:#FCF6EE;--t-why:#EFE5D6;
  --t-ok:#7FD19B;--t-ok-bg:rgb(20 46 30 / .9);--t-ok-ink:#9BE0B2;--t-bad:#F3A293;--t-bad-bg:rgb(66 28 22 / .9);--t-bad-ink:#F6B2A5;--t-link:#F2B864;
  --t-chip-on:#F7EFE3;--t-chip-on-ink:#1F1A16;--t-prog:rgba(255,255,255,.14)}
.room-head{position:relative;isolation:isolate;margin:6px 0 22px}
.room-head::before{content:"";position:absolute;left:-120px;right:-80px;top:-90px;bottom:-70px;z-index:-1;pointer-events:none;background:radial-gradient(closest-side at 48% 52%,rgba(7,10,18,.32) 0%,rgba(7,10,18,.26) 46%,rgba(7,10,18,.1) 76%,rgba(7,10,18,0) 100%)}
.room .eyebrow{margin:0;font:700 14px/1.35 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#fff;text-shadow:0 0 3px rgba(7,10,18,.6),0 1px 12px rgba(7,10,18,.75)}
.room .display{text-wrap:balance;margin:8px 0 0;font:500 clamp(40px,4.4vw,60px)/1.04 var(--serif);letter-spacing:-.015em;color:#fff;text-shadow:0 2px 26px rgba(0,0,0,.5)}
.tile,.room-q .qtop,.room-q .opt,.room-q .why,.room-q .btn-2,.room-q .chip{background:var(--t-bg);border:1px solid var(--t-line);color:var(--t-ink)}
.tile,.room-q .qtop{border-radius:18px;box-shadow:var(--t-shadow)}
.room-q .qtop{padding:22px 24px 24px;background:var(--t-bg-top)}
.room-q .qhead{margin:0;font:700 12.5px/1.4 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--t-head)}
.room-q .prog{margin:14px 0 0;background:var(--t-prog)}
.room-q .qtext{margin:16px 0 0;font:500 clamp(24px,2.3vw,30px)/1.3 var(--serif);color:var(--t-q)}
.room-q .opts{gap:10px;margin:10px 0 0}
.room-q .opt{min-height:64px;padding:14px 20px;border-radius:16px;font:500 19px/1.35 var(--sans);box-shadow:var(--t-shadow)}
.room-q .opt:hover:not(:disabled){background:var(--t-hover)}
.room-q .key{border-color:var(--t-key);color:var(--t-ink)}
.room-q .opt.right{border-color:var(--t-ok);background:var(--t-ok-bg)}
.room-q .opt.right .key{background:var(--t-ok);border-color:var(--t-ok);color:var(--t-ok-bg)}
.room-q .opt.right .mk{color:var(--t-ok-ink)}
.room-q .opt.wrong{border-color:var(--t-bad);background:var(--t-bad-bg)}
.room-q .opt.wrong .key{background:var(--t-bad);border-color:var(--t-bad);color:var(--t-bad-bg)}
.room-q .opt.wrong .mk{color:var(--t-bad-ink)}
.room-q .opt.dim{opacity:1;color:var(--t-ink-2)}
.room-q .opt.dim .key{opacity:.7}
.room-q .why{margin:10px 0 0;padding:20px 22px;border-radius:16px;border-left:4px solid var(--t-ok);background:var(--t-bg-top);box-shadow:var(--t-shadow)}
.room-q .why.no{border-left-color:var(--t-bad)}
.room-q .why strong{color:var(--t-ok-ink)}
.room-q .why.no strong{color:var(--t-bad-ink)}
.room-q .why p{color:var(--t-why);font-size:17.5px}
.room-q #pq+.qnav{display:none}
.room-q .qnav.in{margin:18px 0 0;padding:16px 0 0;border-top:1px solid var(--t-rule);min-height:0}
.room-q .qnav .hint{color:var(--t-ink-2);font-size:16px}
.room-q .result{margin:0;padding:26px 26px 24px;background:var(--t-bg-top)}
.room-q .result h2,.room-q .result h3{color:var(--t-q)}
.room-q .result p,.room-q .result li{color:var(--t-why)}
.room-q .result th,.room-q .result td{border-bottom-color:var(--t-rule)}
.room-q .result thead th{color:var(--t-ink-2);border-bottom-color:var(--t-key)}
.room-q .tlink{color:var(--t-link)}
.room-q :focus-visible{outline-color:#F2B864}
.room-q .fcard{display:flex;flex-direction:column;min-height:270px;padding:22px 24px 26px;text-align:center;background:var(--t-bg-top)}
.room-q .fcard .qhead{display:flex;justify-content:space-between;text-align:left}
.room-q .fterm{margin:26px 0 22px;font:500 clamp(34px,3.4vw,44px)/1.15 var(--serif);color:var(--t-q)}
.room-q .fback{margin-top:auto;padding-top:18px;border-top:1px solid var(--t-rule)}
.room-q .fback p{color:var(--t-why);font-size:19.5px}
.room-q .fbtns{display:flex;gap:10px;margin:12px 0 0}
.room-q .fbtns>*{flex:1;min-height:60px}
.room-q .btn-2{border-radius:12px;font-weight:700;box-shadow:var(--t-shadow)}
.room-q .btn-2:hover{background:var(--t-hover)}
.room-q .fchips{margin:18px 0 0}
.room-q .chip{border-radius:999px;box-shadow:0 4px 14px rgba(40,22,8,.16)}
.room-q .chip[aria-pressed="true"]{background:var(--t-chip-on);border-color:var(--t-chip-on);color:var(--t-chip-on-ink)}
.room-q #fc-done{margin-top:0}
@media (max-width:759px){
  .stage-room .stage-in{padding:calc(var(--top-h) + 19svh) 16px 36px}
  .room-head{margin:0 0 16px}
  .room-head::before{left:-20px;right:-20px}
  .room .display{font-size:40px}
  .room .eyebrow{font-size:13px;color:#fff}
  .room-q .qtop{padding:18px 18px 20px}
  .room-q .qtext{font-size:23px}
  .room-q .opt{min-height:60px;padding:12px 16px;font-size:18px}
  .room-q .why{padding:18px}
  .room-q .fcard{min-height:230px;padding:18px}
  .room-q .fterm{font-size:34px;margin:20px 0}
  .room-q .qnav.in .btn{width:100%}
  .room-q .cw{display:none}
  .room-q .qhead{letter-spacing:.06em}
}

/* reading room: tips and study guides on one paper tile */
.room-read .reading{padding:30px 32px 34px;border-radius:20px;background:rgb(255 250 243 / .97);border:1px solid rgba(255,255,255,.7);box-shadow:0 12px 36px rgba(40,22,8,.24);color:var(--ink)}
:root[data-theme="dark"] .room-read .reading{background:rgb(23 32 48 / .95);border-color:rgba(205,220,255,.1);box-shadow:0 14px 40px rgba(0,0,0,.4)}
.room-read .reading>:first-child{margin-top:0}
.room-read .reading>:last-child{margin-bottom:0}
.room-read .reading h2{margin:48px 0 12px;font-size:clamp(28px,3vw,34px)}
.room-read .reading h3{margin:36px 0 12px;font-size:clamp(23px,2.5vw,26px)}
.room-read .reading h3.q{margin:28px 0 8px;font-size:19.5px}
.room-read .reading .qcard{background:var(--bg-2)}
.room-read .reading .fig{background:var(--bg)}
@media (max-width:759px){.room-read .reading{padding:22px 18px 26px;border-radius:18px}}

/* tips: scannable tiles (intro, section headers, one tile per mistake, tip rows, guide lists) */
.tstack{--p-bg:rgb(255 250 243 / .95);--p-bg-2:rgb(248 239 226 / .96);--p-line:rgba(255,255,255,.72);--p-rule:rgba(70,45,20,.12);--p-ink:#2A211A;--p-ink-2:#5F5347;--p-acc:#9A4710;--p-ok:#2B7A4B;--p-ok-bg:rgb(233 245 236 / .9);--p-num:#2A211A;--p-num-ink:#FFF6EA;--p-shadow:0 10px 30px rgba(40,22,8,.22);
  display:grid;gap:10px;color:var(--p-ink)}
:root[data-theme="dark"] .tstack{--p-bg:rgb(23 32 48 / .93);--p-bg-2:rgb(31 42 60 / .94);--p-line:rgba(205,220,255,.1);--p-rule:rgba(205,220,255,.12);--p-ink:#F4ECDF;--p-ink-2:#C3CAD5;--p-acc:#F2B864;--p-ok:#8BD3A3;--p-ok-bg:rgb(28 46 34 / .85);--p-num:#F2B864;--p-num-ink:#1F1A16;--p-shadow:0 14px 40px rgba(0,0,0,.35)}
.tstack .tile{padding:22px 24px;border-radius:18px;background:var(--p-bg);border:1px solid var(--p-line);box-shadow:var(--p-shadow);color:var(--p-ink)}
.tstack p{margin:0}
.intro-t .lead{font-size:19.5px;line-height:1.55}
.jump{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}
.jump .chip{background:transparent;border-color:var(--p-rule);color:var(--p-ink);border-width:1.5px}
.jump .chip:hover{border-color:var(--p-acc)}
.shead{margin-top:22px;background:var(--p-bg-2)!important;scroll-margin-top:calc(var(--top-h) + 16px)}
.spart{font:700 12.5px/1.4 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--p-acc)}
.shead h2{margin:6px 0 6px;font-size:clamp(27px,2.8vw,32px);color:var(--p-ink)}
.shead p:last-child{color:var(--p-ink-2);font-size:17px;line-height:1.5}
.mtile{display:grid;grid-template-columns:40px 1fr;gap:16px;align-items:start}
.mnum{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--p-num);color:var(--p-num-ink);font:700 18px var(--sans)}
.mbody h3{margin:7px 0 6px;font:700 19.5px/1.35 var(--sans);letter-spacing:0;color:var(--p-ink)}
.why-l{color:var(--p-ink-2);font-size:17px;line-height:1.55}
.fix{margin-top:12px!important;padding:12px 14px;border-radius:12px;background:var(--p-ok-bg);font-size:17px;line-height:1.5;color:var(--p-ink)}
.fix-l{display:flex;align-items:center;gap:6px;margin:0 0 3px;font:700 13px/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--p-ok)}
.fix-l svg{width:16px;height:16px}
.trows{margin:0;padding:0;list-style:none}
.trows li{display:grid;grid-template-columns:28px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--p-rule);font-size:17.5px;line-height:1.5;color:var(--p-ink-2)}
.trows li:first-child{padding-top:2px}
.trows li:last-child{border-bottom:0;padding-bottom:2px}
.trows b{color:var(--p-ink);font-weight:700}
.tic{display:grid;place-items:center;width:26px;height:26px;margin-top:1px;border-radius:50%;background:var(--p-ok-bg);color:var(--p-ok)}
.tic svg{width:16px;height:16px}
.gtile h3{margin:0 0 4px;font:700 13px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--p-acc)}
.grows{margin:0;padding:0;list-style:none}
.grow{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:54px;padding:8px 0;border-bottom:1px solid var(--p-rule);color:var(--p-ink);text-decoration:none;font:600 17.5px/1.35 var(--sans)}
.grows li:last-child .grow{border-bottom:0;padding-bottom:0}
a.grow:hover .gt{text-decoration:underline;text-underline-offset:3px}
.grow.soon .gt{color:var(--p-ink-2);font-weight:500}
.gs{flex:none;display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font:600 14px var(--sans);color:var(--p-ink-2);background:var(--p-bg-2)}
.gs.open{color:var(--p-num-ink);background:var(--p-num)}
.gs svg{width:15px;height:15px}
@media (max-width:759px){
  .tstack .tile{padding:18px}
  .mtile{grid-template-columns:34px 1fr;gap:12px}
  .mnum{width:34px;height:34px;font-size:16px}
  .mbody h3{margin-top:4px;font-size:18.5px}
  .shead{margin-top:16px}
}

/* ---------- closing call to action: the summit ---------- */
.unlock{margin:20px 0 0!important;padding:16px 0 0;border-top:1px solid var(--t-rule);font-size:17.5px;line-height:1.55}
.band.scta{height:auto;min-height:max(760px,100svh);align-items:flex-end;overflow:hidden;padding-top:42svh}
.scta .scene[data-scene="summit"]+.shade{background:linear-gradient(to top,rgba(9,14,30,.5) 0%,rgba(9,14,30,0) 40%)}
.scta-in::before{content:"";position:absolute;z-index:-1;left:calc(50% - 50vw);width:100vw;top:-260px;bottom:-80px;pointer-events:none;background:linear-gradient(to top,rgba(9,14,30,.9) 0%,rgba(9,14,30,.86) 55%,rgba(9,14,30,.7) 72%,rgba(9,14,30,.32) 87%,rgba(9,14,30,0) 100%)}
.scta-in{padding:0 0 72px}
.scta .scta-h{margin:10px 0 0;font-size:clamp(48px,7vw,88px);line-height:1;letter-spacing:-.02em}
.scta .l{max-width:34ch;font-size:clamp(19px,1.6vw,22px)}
.scta-tile{--s-bg:rgb(255 250 243 / .95);--s-ink:#2A211A;--s-ink-2:#5F5347;--s-rule:rgba(70,45,20,.12);--s-ok:#2B7A4B;--s-ok-bg:rgb(233 245 236 / .95);--s-link:#9A4710;
  margin:30px 0 0;padding:26px 28px 24px;border-radius:22px;background:var(--s-bg);color:var(--s-ink);border:1px solid rgba(255,255,255,.7);box-shadow:0 24px 60px rgba(0,0,0,.35);text-shadow:none}
:root[data-theme="dark"] .scta-tile{--s-bg:rgb(20 24 38 / .9);--s-ink:#F2EEE8;--s-ink-2:#C9C4BC;--s-rule:rgba(255,255,255,.12);--s-ok:#8BD3A3;--s-ok-bg:rgb(30 52 40 / .85);--s-link:#F2B864;border-color:rgba(255,255,255,.1)}
.scta-tile h3{text-shadow:none;margin:0;font:500 clamp(26px,2.6vw,30px)/1.2 var(--serif);color:var(--s-ink)}
.sc-list{display:grid;gap:10px;margin:16px 0 0;padding:0;list-style:none}
.sc-list li{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;font-size:18px;line-height:1.45;color:var(--s-ink)}
.sc-ic{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--s-ok-bg);color:var(--s-ok)}
.sc-ic svg{width:16px;height:16px}
.sc-note{margin:18px 0 0;padding:14px 0 0;border-top:1px solid var(--s-rule);font-size:16px;line-height:1.5;color:var(--s-ink-2)}
.sc-act{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin:18px 0 0}
.sc-act .btn{min-height:58px;padding:0 30px;font-size:18.5px}
.sc-act .tlink{color:var(--s-link);font-size:17px}
.sc-secure{margin:12px 0 0;font-size:14.5px;color:var(--s-ink-2)}
@media (min-width:960px){.band.scta{padding-top:58vh}.sc-list{grid-template-columns:1fr 1fr;column-gap:22px}}
@media (max-width:759px){
  .band.scta{min-height:0}
  .band.scta{padding-top:46svh}
  .scta-in{padding:0 0 44px}
  .scta-tile{margin-top:22px;padding:20px 18px}
  .sc-act .btn{width:100%}
}

/* ---------- closing CTA: the trail you unlock ---------- */
.trailcta{--c-sec:linear-gradient(180deg,#FBF6EF 0%,#F2E6D5 100%);--c-bg:#FFFFFF;--c-ink:#2A211A;--c-ink-2:#5F5347;--c-line:rgba(70,45,20,.12);--c-acc:#9A4710;--c-shadow:0 14px 34px rgba(60,35,12,.14);
  --c-trail:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0 100 L100 0' fill='none' stroke='%23B98A5A' stroke-width='2.5' stroke-dasharray='7 9' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");position:relative;z-index:3;padding:84px 0 92px;background:var(--c-sec);color:var(--c-ink)}
:root[data-theme="dark"] .trailcta{--c-sec:linear-gradient(180deg,#0E131D 0%,#0C1322 100%);--c-bg:#172030;--c-ink:#F4ECDF;--c-ink-2:#C3CAD5;--c-line:rgba(205,220,255,.11);--c-acc:#F2B864;--c-shadow:0 18px 40px rgba(0,0,0,.4);--c-trail:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0 100 L100 0' fill='none' stroke='%23F2B864' stroke-width='2.5' stroke-dasharray='7 9' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E")}
.tc-wrap{width:min(var(--wide),100% - 32px);margin-inline:auto}
.tc-head{max-width:700px}
.tc-eyebrow{margin:0;font:700 13.5px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--c-acc)}
.tc-head h2{margin:10px 0 0;font-size:clamp(36px,4.6vw,58px);line-height:1.04;color:var(--c-ink)}
.tc-head p:last-child{margin:14px 0 0;font-size:19px;line-height:1.55;color:var(--c-ink-2)}
.tc-trailbox{position:relative;margin:40px 0 0}
.tc-trail{position:relative;z-index:1;display:grid;gap:12px;margin:0;padding:0;list-style:none}
.tc-stop{display:grid;grid-template-columns:92px 1fr;gap:16px;align-items:center;padding:10px;border-radius:18px;background:var(--c-bg);border:1px solid var(--c-line);box-shadow:var(--c-shadow)}
.tc-stop.is-here{border-color:var(--amber);box-shadow:0 0 0 2px var(--amber),var(--c-shadow)}
.tc-img{position:relative;display:block;aspect-ratio:1/1;border-radius:12px;overflow:hidden;background:#1A2232}
.tc-img img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}
.tc-img img[src*="campfire"]{object-position:50% 85%}
.tc-here{position:absolute;left:6px;top:6px;z-index:1;padding:3px 8px;border-radius:999px;background:var(--amber);color:var(--amber-ink);font:700 11.5px/1.3 var(--sans);letter-spacing:.02em;white-space:nowrap}
.tc-txt{display:flex;flex-direction:column;gap:2px}
.tc-alt{font:700 12px/1.3 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--c-acc)}
.tc-txt b{margin-top:2px;font:700 19px/1.25 var(--sans);color:var(--c-ink)}
.tc-l{font-size:16px;line-height:1.45;color:var(--c-ink-2)}
.tc-line{position:absolute;left:56px;top:40px;bottom:40px;width:0;border-left:2.5px dashed #C8A27A;z-index:0}
:root[data-theme="dark"] .tc-line{border-left-color:rgba(242,184,100,.55)}
.tc-summit{margin:28px 0 0;border-radius:22px;overflow:hidden;background:var(--c-bg);border:1px solid var(--c-line);box-shadow:var(--c-shadow)}
.tc-sumimg{position:relative;aspect-ratio:4/3;overflow:hidden;background:#141A2C}
.tc-sumimg picture,.tc-sumimg img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}
.tc-sumimg::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(9,14,30,.88) 0%,rgba(9,14,30,.74) 36%,rgba(9,14,30,.4) 56%,rgba(9,14,30,0) 74%)}
.tc-sumtxt{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:20px;color:#fff}
.tc-sumtxt .tc-alt{color:#fff}
.tc-motto{margin:6px 0 0;font:500 clamp(40px,5vw,64px)/1 var(--serif);letter-spacing:-.02em;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.4)}
.tc-sumtxt .tc-l{margin:8px 0 0;color:rgba(255,255,255,.95);font-size:17.5px}
.tc-offer{display:grid;gap:16px;padding:20px}
.tc-otxt{display:flex;flex-direction:column;gap:4px}
.tc-otxt b{font:500 25px/1.2 var(--serif);color:var(--c-ink)}
.tc-otxt span{font-size:16px;line-height:1.5;color:var(--c-ink-2)}
.tc-oact{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px}
.tc-oact .btn{min-height:58px;padding:0 30px;font-size:18.5px}
.tc-oact .tlink{color:var(--c-acc);font-size:16.5px}
@media (max-width:759px){.trailcta{padding:56px 0 64px}.tc-oact .btn{width:100%}}
@media (min-width:760px){
  .tc-trail{grid-template-columns:repeat(2,1fr);gap:16px}
  .tc-line{display:none}
  .tc-stop{display:flex;flex-direction:column;align-items:stretch;padding:0;overflow:hidden}
  .tc-img{aspect-ratio:16/10;border-radius:0}
  .tc-txt{padding:14px 18px 20px}
  .tc-here{left:12px;top:12px;font-size:12.5px;padding:4px 10px}
  .tc-sumimg{aspect-ratio:21/8}
  .tc-sumtxt{padding:30px 34px}
  .tc-offer{grid-template-columns:1fr auto;align-items:center;padding:24px 34px}
  .tc-oact{flex-direction:column;align-items:flex-end;gap:8px}
}
@media (min-width:1080px){
  .tc-trailbox{container-type:inline-size;margin-top:36px}
  .tc-trail{grid-template-columns:repeat(4,1fr);gap:20px;align-items:start}
  .tc-stop{margin-top:calc((4 - var(--i)) * 30px)}
  .tc-img{aspect-ratio:4/5}
  .tc-line{display:block;border:0;left:calc((100cqw - 60px) / 8);right:calc((100cqw - 60px) / 8);top:calc((100cqw - 60px) / 4 * .625);bottom:auto;width:auto;height:90px;background:var(--c-trail) center/100% 100% no-repeat}
}

/* =====================================================================
   A. THE CLIMB: one painting of the whole mountain, the camera climbs it
   ===================================================================== */
.climb{--c-sec:linear-gradient(180deg,#FBF6EF 0%,#F2E6D5 100%);--c-card:rgb(255 251 245 / .97);--c-ink:#2A211A;--c-ink-2:#5F5347;--c-acc:#9A4710;--c-line:rgba(70,45,20,.12);--c-trail:#FFD796;
  position:relative;z-index:3;height:460vh;height:460svh;background:var(--c-sec);color:var(--c-ink)}
:root[data-theme="dark"] .climb{--c-sec:linear-gradient(180deg,#0E131D 0%,#0C1322 100%);--c-card:rgb(23 32 48 / .96);--c-ink:#F4ECDF;--c-ink-2:#C3CAD5;--c-acc:#F2B864;--c-line:rgba(205,220,255,.12);--c-trail:#F7E6BC}
.climb-st{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--c-sec)}
.climb-cam{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform;border-radius:150px;overflow:hidden;background:#1A2232;box-shadow:0 260px 600px rgba(30,16,6,.42)}
.climb-cam img{position:absolute;inset:0;width:100%;height:100%;max-width:none}
.climb-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ctrail{fill:none;stroke:var(--c-trail);stroke-width:3.5px;stroke-dasharray:1.5px 10px;stroke-linecap:round;vector-effect:non-scaling-stroke}
.ctrail-glow{fill:none;stroke:rgba(255,196,120,.28);stroke-width:11px;stroke-linecap:round;vector-effect:non-scaling-stroke}
.climb-shade{display:none}
.c-eyebrow{margin:0;font:700 13.5px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase}
/* lead: the title sits on the band colour, which dissolves into the first frame of the journey */
.climb-lead{--l-rgb:255 250 243;--l-ink:#2A211A;--l-ink-2:#5F5347;--l-acc:#9A4710;position:relative;z-index:3;height:clamp(540px,78vh,820px);height:clamp(540px,78svh,820px);overflow:hidden;
  background-color:rgb(var(--l-rgb));background-repeat:no-repeat}
:root[data-theme="dark"] .climb-lead{--l-rgb:14 19 29;--l-ink:#F4ECDF;--l-ink-2:#C3CAD5;--l-acc:#F2B864}
.climb-lead::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgb(var(--l-rgb)) 0%,rgb(var(--l-rgb)) 36%,rgb(var(--l-rgb) / .95) 46%,rgb(var(--l-rgb) / .84) 55%,rgb(var(--l-rgb) / .66) 64%,rgb(var(--l-rgb) / .45) 73%,rgb(var(--l-rgb) / .25) 82%,rgb(var(--l-rgb) / .09) 91%,rgb(var(--l-rgb) / 0) 100%)}
.cl-in{position:relative;width:min(1000px,100% - 32px);margin-inline:auto;padding-top:clamp(28px,6vh,64px);text-align:center}
.cl-in .c-eyebrow{color:var(--l-acc)}
.cl-in h2{margin:12px auto 0;max-width:15em;font-size:clamp(38px,4.6vw,64px);line-height:1.04;color:var(--l-ink)}
.cl-in p:last-child{margin:16px auto 0;max-width:620px;font-size:clamp(18px,1.5vw,20px);line-height:1.55;color:var(--l-ink-2)}
.climb-cue{position:absolute;left:50%;bottom:calc(22px + env(safe-area-inset-bottom,0px));margin:0;display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;background:rgb(11 16 25 / .72);color:#FFF6EA;font:700 15.5px var(--sans);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transform:translate(-50%,8px);transition:opacity .45s,transform .45s;pointer-events:none}
.climb-cue svg{width:17px;height:17px}
.climb.at-intro .climb-cue{opacity:1;transform:translate(-50%,0)}
.climb.is-static .climb-cue{display:none}
.climb-alt{position:absolute;left:max(16px,(100% - var(--wide)) / 2);top:calc(var(--top-h) + 20px);margin:0;display:flex;align-items:baseline;gap:10px;padding:9px 16px;border-radius:999px;background:rgb(11 16 25 / .72);color:#FFF6EA;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transition:opacity .4s}
.climb.climbing .climb-alt{opacity:1}
.climb-alt span{font:700 11.5px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#E8D9C4}
.climb-alt b{font:600 18px var(--sans);font-variant-numeric:tabular-nums}
.cpins{position:absolute;inset:0;margin:0;padding:0;list-style:none;pointer-events:none}
.cpin{position:absolute;left:0;top:0;will-change:transform}
.cdot{position:absolute;left:-9px;top:-9px;width:18px;height:18px;border-radius:50%;background:#F2A541;border:2.5px solid #FFF6E6;box-shadow:0 0 0 6px rgba(242,165,65,.28),0 0 26px 6px rgba(255,190,100,.55);opacity:0;transform:scale(.4);transition:opacity .4s,transform .4s}
.cpin.reached .cdot{opacity:1;transform:none}
.cpin.on .cdot{animation:cpulse 2.4s ease-in-out infinite}
@keyframes cpulse{50%{box-shadow:0 0 0 12px rgba(242,165,65,.16),0 0 34px 10px rgba(255,190,100,.6)}}
.clabel{position:absolute;top:0;width:300px;padding:16px 18px 18px;border-radius:16px;background:var(--c-card);color:var(--c-ink);border:1px solid var(--c-line);box-shadow:0 18px 44px rgba(20,10,4,.32);opacity:0;visibility:hidden;transition:opacity .45s,transform .45s,visibility 0s .45s}
.side-r .clabel{left:26px;transform:translate(10px,-50%)}
.side-l .clabel{right:26px;transform:translate(-10px,-50%)}
.cpin.on .clabel{opacity:1;visibility:visible;transform:translate(0,-50%);transition:opacity .45s,transform .45s}
.cl-alt{display:block;font:700 12px/1.3 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--c-acc)}
.clabel b{display:block;margin:4px 0 4px;font:500 26px/1.15 var(--serif);color:var(--c-ink)}
.cl-l{display:block;font-size:16.5px;line-height:1.45;color:var(--c-ink-2)}
.c-here{display:inline-block;margin-top:10px;padding:4px 10px;border-radius:999px;background:#F2A541;color:#21160A;font:700 12.5px var(--sans)}
.ctag{position:absolute;top:0;padding:5px 11px;border-radius:999px;background:var(--c-card);color:var(--c-ink);font:700 13.5px/1.2 var(--sans);white-space:nowrap;box-shadow:0 6px 18px rgba(20,10,4,.28);opacity:0;transition:opacity .4s}
.side-r .ctag{left:18px;transform:translateY(-50%)}
.side-l .ctag{right:18px;transform:translateY(-50%)}
.cpin.final .ctag{opacity:1}
.cpin.final .clabel{opacity:0;visibility:hidden}
.cpin.is-summit .ctag{background:#F2A541;color:#21160A}
.climb-end{position:absolute;left:0;top:0;width:420px;padding:28px 30px 26px;border-radius:22px;background:var(--c-card);color:var(--c-ink);border:1px solid var(--c-line);box-shadow:0 24px 60px rgba(20,10,4,.25);opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .5s,transform .5s,visibility 0s .5s}
.climb.at-end .climb-end{opacity:1;visibility:visible;transform:none;transition:opacity .5s,transform .5s}
.climb-end .c-eyebrow{color:var(--c-acc)}
.climb-end h3{margin:10px 0 0;font:500 clamp(30px,3vw,40px)/1.08 var(--serif);color:var(--c-ink)}
.climb-end>p{margin:12px 0 0;font-size:17px;line-height:1.55;color:var(--c-ink-2)}
.ce-act{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:20px 0 0}
.ce-act .btn{min-height:58px;padding:0 30px;font-size:18.5px}
.ce-act .tlink{color:var(--c-acc);font-size:16.5px}
.climb-end .ce-note{margin:14px 0 0;padding:14px 0 0;border-top:1px solid var(--c-line);font-size:14.5px;color:var(--c-ink-2)}
.climb-pill{position:absolute;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));min-height:50px;padding:0 22px;font-size:16.5px;box-shadow:0 10px 30px rgba(0,0,0,.35);opacity:0;visibility:hidden;transform:translate(-50%,10px);transition:opacity .35s,transform .35s,visibility 0s .35s}
.climb.climbing .climb-pill{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .35s,transform .35s}
@media (max-width:759px){
  .climb{height:400svh}
  .climb-lead{height:clamp(480px,70svh,640px)}
  .clabel{width:min(300px,82vw);padding:14px 16px 16px}
  .side-r .clabel,.side-l .clabel{left:50%;right:auto;top:26px;transform:translate(calc(-50% + var(--dx,0px)),8px)}
  .cpin.on .clabel{transform:translate(calc(-50% + var(--dx,0px)),0)}
  .clabel b{font-size:23px}
  .ctag{font-size:12px;padding:4px 9px}
  .side-r .ctag{left:14px}.side-l .ctag{right:14px}
  .cpin:nth-child(2) .ctag{transform:translateY(-135%)}
  .cpin:nth-child(1) .ctag{transform:translateY(35%)}
  .climb-end{left:12px!important;right:12px;top:auto!important;bottom:calc(14px + env(safe-area-inset-bottom,0px));width:auto!important;padding:20px 18px 18px}
  .climb-end h3{font-size:27px}
  .climb-end>p{font-size:15.5px;margin-top:8px}
  .ce-act{margin-top:14px}
  .ce-act .btn{width:100%}
  .climb-end .ce-note{display:none}
  .climb-alt{left:16px;top:calc(var(--top-h) + 12px);padding:7px 12px}
  .climb-alt b{font-size:16px}
}
.climb.is-static{height:auto}
.climb.is-static .climb-st{position:relative;height:max(760px,100svh)}

/* =====================================================================
   B. THE WALK: every place on the mountain, one under the other.
   Normal scroll. Only the words move in, once, as each place arrives.
   ===================================================================== */
.trek{position:relative;z-index:3;display:grid;gap:6px;padding:6px 0 0;background:var(--bg)}
.tk{position:relative;isolation:isolate;display:flex;min-height:clamp(560px,86vh,880px);min-height:clamp(560px,86svh,880px);overflow:hidden;background:#0B1019;color:#fff}
.tk::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(120% 90% at 50% 45%,rgba(0,0,0,0) 55%,rgba(0,0,0,.3) 100%)}
.tk-in{position:relative;z-index:2;display:flex;flex:1;padding:calc(var(--top-h) + 48px) max(16px,(100% - var(--wide)) / 2) 72px}
.p-tl{align-items:flex-start;justify-content:flex-start}
.p-tr{align-items:flex-start;justify-content:flex-end}
.p-br,.p-camp{align-items:flex-end;justify-content:flex-end}
.p-r{align-items:center;justify-content:flex-end}
.wt{position:relative;isolation:isolate;width:min(560px,100%)}
.wt::before{content:"";position:absolute;left:-180px;right:-160px;top:-170px;bottom:-130px;z-index:-1;pointer-events:none;background:radial-gradient(closest-side,rgba(7,10,18,.8) 0%,rgba(7,10,18,.72) 52%,rgba(7,10,18,.42) 78%,rgba(7,10,18,0) 100%)}
.wt-summit::before{background:radial-gradient(closest-side,rgba(8,12,26,.86) 0%,rgba(8,12,26,.8) 55%,rgba(8,12,26,.5) 80%,rgba(8,12,26,0) 100%)}
.w-alt{margin:0;font:700 13.5px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.55),0 1px 14px rgba(0,0,0,.6)}
.w-title{margin:12px 0 0;font:500 clamp(46px,6.2vw,88px)/1 var(--serif);letter-spacing:-.02em;color:#fff;text-shadow:0 2px 26px rgba(0,0,0,.45)}
.w-title span{display:inline-block}
.w-line{margin:14px 0 0;max-width:30ch;font-size:clamp(18px,1.6vw,22px);line-height:1.45;color:rgba(255,255,255,.96);text-shadow:0 1px 12px rgba(0,0,0,.55)}
.w-here{display:inline-block;margin:12px 0 0;padding:5px 12px;border-radius:999px;background:#F2A541;color:#21160A;font:700 13px var(--sans)}
/* the words arrive once; until the script runs they are simply visible */
.trek.anim .w-alt,.trek.anim .w-title span,.trek.anim .w-line,.trek.anim .w-here,.trek.anim .w-offer{opacity:0;transform:translateY(18px);filter:blur(6px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1),filter .7s}
.trek.anim .wt.on .w-alt,.trek.anim .wt.on .w-title span,.trek.anim .wt.on .w-line,.trek.anim .wt.on .w-here,.trek.anim .wt.on .w-offer{opacity:1;transform:none;filter:none}
.wt.on .w-alt{transition-delay:.05s}
.wt.on .w-title span{transition-delay:calc(.15s + var(--w) * .07s)}
.wt.on .w-line{transition-delay:.55s}
.wt.on .w-here{transition-delay:.7s}
.wt.on .w-offer{transition-delay:.45s}
.w-offer{margin:24px 0 0;padding:22px 24px;border-radius:20px;background:rgb(255 251 245 / .97);color:#2A211A;box-shadow:0 24px 60px rgba(0,0,0,.35);text-shadow:none}
:root[data-theme="dark"] .w-offer{background:rgb(23 32 48 / .95);color:#F2EEE8;border:1px solid rgba(255,255,255,.1)}
.w-offer b{display:block;font:500 26px/1.15 var(--serif)}
.w-offer>span{display:block;margin:8px 0 0;font-size:16px;line-height:1.5;color:#5F5347}
:root[data-theme="dark"] .w-offer>span{color:#C3CAD5}
.w-act{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin:16px 0 0}
.w-act .btn{min-height:56px;padding:0 26px}
.w-act .tlink{color:#9A4710;font-size:16px}
:root[data-theme="dark"] .w-act .tlink{color:#F2B864}
@media (max-width:759px){
  .tk{min-height:82svh}
  .tk-summit{min-height:112svh}
  .tk-in{padding:calc(var(--top-h) + 32px) 16px 40px;align-items:flex-end;justify-content:flex-start}
  .wt::before{left:-60px;right:-60px;top:-150px;bottom:-70px;background:radial-gradient(farthest-side at 40% 58%,rgba(7,10,18,.82),rgba(7,10,18,.7) 50%,rgba(7,10,18,.35) 78%,rgba(7,10,18,0))}
  .wt-summit::before{left:-40px;right:-40px;top:-110px;bottom:-30px;background:linear-gradient(180deg,rgba(8,12,26,0) 0%,rgba(8,12,26,.84) 20%,rgba(8,12,26,.8) 62%,rgba(8,12,26,.35) 90%,rgba(8,12,26,0) 100%)}
  .w-title{font-size:44px}
  .w-line{font-size:17.5px}
  .w-offer{margin-top:16px;padding:18px}
  .w-offer b{font-size:23px}
  .w-act .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .trek.anim .w-alt,.trek.anim .w-title span,.trek.anim .w-line,.trek.anim .w-here,.trek.anim .w-offer{opacity:1;transform:none;filter:none;transition:none}
  .cpin.on .cdot{animation:none}
}

/* climb canvas */
.climb-cv{position:absolute;inset:0;width:100%;height:100%;display:block}
.climb-frame{position:absolute;border-radius:22px;box-shadow:0 30px 70px rgba(30,16,6,.38);opacity:0;pointer-events:none}
:root[data-theme="dark"] .climb-frame{box-shadow:0 30px 80px rgba(0,0,0,.55)}

/* ---------- practice: more free practice (band in the colour of the question cards) ---------- */
.pmore{--m-bg:#FFFAF3;--m-tile:#FFFFFF;--m-line:rgba(70,45,20,.12);--m-ink:#2A211A;--m-ink-2:#5F5347;--m-acc:#9A4710;--m-shadow:0 10px 28px rgba(60,35,12,.1);
  position:relative;z-index:3;padding:84px 0 88px;background:var(--m-bg);color:var(--m-ink)}
:root[data-theme="dark"] .pmore{--m-bg:#0E131D;--m-tile:#172030;--m-line:rgba(205,220,255,.1);--m-ink:#F4ECDF;--m-ink-2:#C3CAD5;--m-acc:#F2B864;--m-shadow:0 14px 34px rgba(0,0,0,.35)}
.pm-wrap{width:min(var(--col),100% - 32px);margin-inline:auto}
.pm-head{max-width:none}
.pm-k{margin:0;font:700 13.5px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--m-acc)}
.pm-head h2{margin:10px 0 0;font-size:clamp(34px,4.2vw,50px);color:var(--m-ink)}
.pm-head p:last-child{margin:12px 0 0;font-size:19px;line-height:1.55;color:var(--m-ink-2)}
.pm-cards{display:grid;grid-template-columns:1fr;gap:12px;margin:32px 0 0;padding:0;list-style:none}
.pmore .tile{background:var(--m-tile);border:1px solid var(--m-line);border-radius:18px;box-shadow:var(--m-shadow);color:var(--m-ink)}
.pcard{display:flex;flex-direction:column;gap:4px;height:100%;padding:20px 22px;text-decoration:none}
.pcard:hover{border-color:var(--m-acc)}
.pcard[aria-current]{border-color:var(--amber);box-shadow:0 0 0 2px var(--amber),var(--m-shadow)}
.pcard b{font:500 28px/1.15 var(--serif);color:var(--m-ink)}
.pc-k{margin:2px 0 6px;font:700 14.5px/1.4 var(--sans);color:var(--m-acc)}
.room-head h1{scroll-margin-top:calc(var(--top-h) + 20px)}
.pc-l{font-size:16.5px;line-height:1.5;color:var(--m-ink-2)}
.pc-go{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:14px;font:700 16.5px var(--sans);color:var(--m-acc)}
.pc-go svg{width:17px;height:17px}
.pm-col{display:grid;gap:12px;margin:28px 0 0}
.pm-t{padding:24px 26px}
.pm-t h3{margin:0 0 8px;font-size:clamp(25px,2.6vw,30px);color:var(--m-ink)}
.pm-t>p{margin:0;font-size:17.5px;line-height:1.55;color:var(--m-ink-2)}
.pm-t .tw{margin:16px 0 0}
.pm-t th,.pm-t td{border-bottom-color:var(--m-line)}
.pm-t thead th{color:var(--m-ink-2)}
.pm-steps{margin:8px 0 0;padding-left:1.3em}
.pm-steps li{margin:0 0 10px;padding-left:.2em;font-size:17.5px;line-height:1.55;color:var(--m-ink-2)}
.pm-steps b{color:var(--m-ink)}
.pm-t h4{margin:20px 0 6px;font:700 18.5px/1.35 var(--sans);color:var(--m-ink)}
.pm-t h4:first-of-type{margin-top:6px}
.pm-t h4+p{margin:0;font-size:17px;line-height:1.55;color:var(--m-ink-2)}
@media (min-width:560px){.pm-cards{grid-template-columns:1fr 1fr}}
@media (max-width:759px){.pmore{padding:56px 0 60px}.pm-t{padding:20px 18px}}
@media (prefers-reduced-motion:reduce){.climb-lead{height:auto;padding-bottom:56px}.climb-lead::before{display:none}}
/* tiles sit above the soft shade behind the room title */
.room>:not(.room-head){position:relative;z-index:1}
