/* ═══════════════ HOMEPAGE ONLY — "The Shortlist" ═══════════════ */
body.page--home{background:var(--ink)}
body.page--home main{background:var(--paper)}
body.page--home #navbar.scrolled{background:rgba(243,239,230,.94)}
.home-sec{position:relative;padding:var(--space-section) 0}
.home-label{display:flex;align-items:center;gap:.9rem;margin-bottom:clamp(1.6rem,3vw,2.6rem)}
.home-label .idx{font-family:var(--serif);font-style:italic;font-weight:300;font-size:1.15rem;color:var(--brass);letter-spacing:-.01em}
.home-label .rule{flex:0 0 42px;height:1px;background:var(--line-brass)}
.on-ink .home-label .idx{color:var(--brass-lt)}
.on-ink .home-label .rule{background:rgba(196,180,131,.4)}
.split-words .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.split-words .w > span{display:inline-block;transform:translateY(105%);transition:transform 1.25s var(--ease)}
.split-words.in .w > span{transform:none}

/* ── § 01  THE STAGE: hero + how a shortlist is made ── */
#home{position:relative;height:600vh;background:var(--ink);color:var(--on-ink)}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;isolation:isolate}
#field{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.stage-poster{position:absolute;inset:0;z-index:0;opacity:0;transition:opacity 1.2s var(--ease);
  background:radial-gradient(60% 70% at 72% 40%,rgba(196,180,131,.16),transparent 70%),var(--ink)}
html.no-gl .stage-poster{opacity:1}
.stage-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(95% 85% at 4% 72%,rgba(19,17,13,.93) 0%,rgba(19,17,13,.66) 34%,rgba(19,17,13,0) 62%),
             linear-gradient(180deg,rgba(19,17,13,.72) 0%,rgba(19,17,13,0) 20%,rgba(19,17,13,0) 74%,rgba(19,17,13,.8) 100%);
  transition:opacity .8s var(--ease)}
.stage-vignette{position:absolute;inset:0;z-index:1;pointer-events:none;box-shadow:inset 0 0 22vmax rgba(0,0,0,.55)}
.hero-copy,.hero-strip,.proc-label,.steps,.rail{z-index:2}

.hero-copy{position:absolute;left:var(--gutter);right:var(--gutter);top:calc(var(--nav-h) + clamp(1.5rem,7vh,6.5rem));max-width:1040px;will-change:transform,opacity}
.hero-kicker{display:flex;align-items:center;gap:.8rem;line-height:1.55;text-shadow:0 0 14px rgba(19,17,13,.95),0 0 3px rgba(19,17,13,.9);font-family:var(--sans);font-size:var(--fs-micro);font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--brass-lt);margin:0 0 clamp(1.1rem,2.6vh,1.8rem)}
.hero-kicker .tri{color:var(--brass-lt)}
.hero-h1{margin:0;font-family:var(--serif);font-optical-sizing:auto;font-weight:280;font-size:min(var(--fs-mega),19.5vh);line-height:.9;letter-spacing:-.05em;color:var(--on-ink)}
.hero-h1 .line{display:block;overflow:hidden;padding:.12em .04em .08em 0;margin:-.12em 0 -.08em}
.hero-h1 .line > span{display:inline-block;transform:translateY(108%);animation:lineUp 1.5s var(--ease) forwards}
.hero-h1 .line:nth-child(2) > span{animation-delay:.14s}
.hero-h1 .line:nth-child(3) > span{animation-delay:.28s}
.hero-h1 em{font-style:italic;font-weight:260;color:var(--brass-lt);letter-spacing:-.045em}
@keyframes lineUp{to{transform:none}}
.hero-deck{margin:clamp(1.3rem,3.2vh,2.3rem) 0 0;max-width:46ch;font-size:clamp(1.02rem,1.25vw,1.22rem);line-height:1.62;color:var(--on-ink-sec);opacity:0;animation:fadeUp 1.2s var(--ease) .55s forwards}
.hero-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.6rem;margin-top:clamp(1.4rem,3.6vh,2.5rem);opacity:0;animation:fadeUp 1.2s var(--ease) .7s forwards}
.hero-ctas .count-pill{display:inline-grid;place-items:center;min-width:1.9rem;height:1.5rem;padding:0 .45rem;margin-left:.15rem;border-radius:99px;background:var(--brass-lt);color:var(--ink);font-size:.75rem;font-weight:600;letter-spacing:0}
.hero-ctas .count-pill:empty{display:none}
.hero-ctas .link-arrow{color:var(--on-ink);font-size:.9375rem}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.hero-strip{position:absolute;left:var(--gutter);right:var(--gutter);bottom:clamp(1.2rem,3.4vh,2.4rem);display:grid;grid-template-columns:repeat(3,auto) 1fr;gap:1rem clamp(1.5rem,3.4vw,3.4rem);
  align-items:end;padding-top:1.1rem;border-top:1px solid var(--line-ink);opacity:0;animation:fadeUp 1.2s var(--ease) .9s forwards;will-change:opacity}
.hero-strip div{display:grid;gap:.2rem}
.hero-strip .k{font-size:.66rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--brass-lt)}
.hero-strip .v{font-family:var(--serif);font-size:1.05rem;color:var(--on-ink);letter-spacing:-.005em}
.scroll-cue{justify-self:end;display:inline-flex;align-items:center;gap:.8rem;font-size:.78rem;color:var(--on-ink-sec);text-shadow:0 0 12px rgba(19,17,13,.95),0 0 3px rgba(19,17,13,.9)}
.hero-strip::before{content:"";position:absolute;inset:-2.5rem -3rem -3rem;background:linear-gradient(180deg,rgba(19,17,13,0),rgba(19,17,13,.78) 45%);z-index:-1}
.scroll-cue i{position:relative;width:1px;height:42px;background:rgba(243,239,230,.18);overflow:hidden}
.scroll-cue i::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--brass-lt);animation:cue 2.2s var(--ease-in-out) infinite}
@keyframes cue{to{top:100%}}

/* the process overlay */
.proc-label{position:absolute;left:var(--gutter);top:calc(var(--nav-h) + 1.4rem);opacity:0;transition:opacity .6s var(--ease);text-shadow:0 0 14px rgba(19,17,13,.95),0 0 3px rgba(19,17,13,.9)}
.proc-label::before{content:"";position:absolute;inset:-1.2rem -2.5rem -1.2rem -3rem;background:radial-gradient(closest-side,rgba(19,17,13,.85),rgba(19,17,13,0));z-index:-1}
.skip-story{position:absolute;right:var(--gutter);bottom:clamp(1.2rem,3.4vh,2.4rem);z-index:3;display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--on-ink-sec);padding:.55rem .9rem;border:1px solid rgba(243,239,230,.22);background:rgba(19,17,13,.6);opacity:0;pointer-events:none;transition:opacity .6s var(--ease),color .3s,border-color .3s}
.skip-story:hover{color:var(--on-ink);border-color:var(--brass-lt)}
.stage.in-process .skip-story{opacity:1;pointer-events:auto}
.stage.at-end .skip-story{opacity:0;pointer-events:none}
.steps{position:absolute;left:var(--gutter);bottom:clamp(2.5rem,9vh,6.5rem);width:min(560px,42vw);margin:0;padding:0;list-style:none}
.steps::before{content:"";position:absolute;left:-12vw;right:-14vw;bottom:-14vh;height:calc(100% + 72vh);max-height:120vh;background:radial-gradient(60% 55% at 32% 72%,rgba(19,17,13,.9),rgba(19,17,13,.55) 55%,rgba(19,17,13,0) 78%);z-index:-1;pointer-events:none;opacity:0;transition:opacity .6s var(--ease)}
.stage.in-process .steps::before{opacity:1}
.step{position:absolute;left:0;bottom:0;width:100%;opacity:0;transform:translateY(24px);pointer-events:none;transition:opacity .7s var(--ease),transform .9s var(--ease)}
.step.on{opacity:1;transform:none;pointer-events:auto}
.step-n{display:block;font-family:var(--serif);font-style:italic;font-weight:250;font-size:clamp(4.5rem,9vw,8.5rem);line-height:.8;letter-spacing:-.05em;color:var(--brass-lt);margin-bottom:1.1rem}
.step h2{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,3.6vw,3.35rem);line-height:1.02;letter-spacing:-.035em;color:var(--on-ink);margin:0 0 1rem;text-wrap:balance}
.step h2 em{font-style:italic;color:var(--brass-lt)}
.step p{font-size:1.02rem;line-height:1.65;color:rgba(243,239,230,.9);max-width:44ch}
.criteria{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.2rem}
.criteria span{font-size:.78rem;padding:.42rem .75rem;border:1px solid rgba(243,239,230,.3);background:rgba(19,17,13,.72);color:rgba(243,239,230,.82);transition:background-color .5s var(--ease),color .5s var(--ease),border-color .5s var(--ease)}
.criteria span.lit{background:var(--brass-lt);border-color:var(--brass-lt);color:var(--ink)}
.rail{position:absolute;right:var(--gutter);top:50%;transform:translateY(-50%);display:grid;gap:1.05rem;margin:0;padding:0;list-style:none;opacity:0;transition:opacity .6s var(--ease);text-shadow:0 0 12px rgba(19,17,13,.95),0 0 3px rgba(19,17,13,.95)}
.rail::before{content:"";position:absolute;inset:-40% -4rem -40% -9rem;background:radial-gradient(closest-side,rgba(19,17,13,.9),rgba(19,17,13,.5) 60%,rgba(19,17,13,0));z-index:-1;pointer-events:none}
.rail li{display:grid;grid-template-columns:auto 34px;align-items:center;gap:.9rem;justify-items:end;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--on-ink-muted);transition:color .5s}
.rail li b{font-weight:500}
.rail li i{display:block;width:34px;height:1px;background:rgba(243,239,230,.22);position:relative;overflow:hidden}
.rail li i::after{content:"";position:absolute;inset:0;background:var(--brass-lt);transform:scaleX(var(--f,0));transform-origin:0 50%}
.rail li.on{color:var(--on-ink)}
.stage.in-process .proc-label,.stage.in-process .rail{opacity:1}

/* the accepted offer */
.offer-card{position:absolute;left:50%;top:50%;z-index:3;height:min(56svh,112vw);aspect-ratio:360/520;transform:translate(-50%,-50%);
  background:var(--paper);color:var(--text);opacity:0;pointer-events:none;box-shadow:0 60px 120px -40px rgba(0,0,0,.7);
  padding:clamp(1.2rem,3.4%,2.4rem);display:flex;flex-direction:column;clip-path:polygon(var(--cut) 0,100% 0,100% 100%,0 100%,0 var(--cut))}
.offer-card > *{opacity:var(--oc-in,1)}
.offer-card .oc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.offer-card .oc-bars{display:grid;gap:.55rem;flex:1}
.offer-card .oc-bars i{display:block;height:9px;background:#2A261D;width:58%}
.offer-card .oc-bars i:nth-child(2){height:6px;width:36%;background:var(--brass)}
.offer-card .oc-tri{width:13%;aspect-ratio:190/265;background:var(--brass);clip-path:polygon(0 0,100% 0,0 100%);flex:none}
.offer-card .oc-lines{margin:9% 0 0;display:grid;gap:.5rem}
.offer-card .oc-lines i{display:block;height:5px;background:rgba(74,67,54,.22)}
.offer-card .oc-stamp{margin-top:auto;border-top:1px solid var(--line-brass);padding-top:1rem}
.offer-card .oc-stamp .micro{display:flex;align-items:center;gap:.5rem}
.offer-card .oc-stamp strong{display:block;font-family:var(--serif);font-weight:320;font-size:clamp(1.4rem,3.3svh,2.2rem);line-height:1.05;letter-spacing:-.03em;margin:.55rem 0 .5rem}
.offer-card .oc-stamp strong em{font-style:italic;color:var(--brass)}
.offer-card .oc-stamp p{font-size:clamp(.72rem,1.5svh,.9rem);line-height:1.5;color:var(--text-sec)}
.offer-fill{position:absolute;inset:0;z-index:4;background:var(--paper);pointer-events:none;clip-path:inset(50% 50% 50% 50%);opacity:0}
.offer-fill{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(1.8rem,4.5vh,3rem)}
.offer-fill::before{content:"";width:clamp(22px,2.2vw,32px);aspect-ratio:190/265;background:var(--brass);clip-path:polygon(0 0,100% 0,0 100%)}
.fill-line{margin:0;font-family:var(--serif);font-weight:280;font-size:clamp(3rem,9vw,9rem);line-height:.92;letter-spacing:-.05em;color:var(--text);text-align:center;opacity:var(--fl,0);transform:translate3d(0,calc((1 - var(--fl,0)) * 28px),0)}
.fill-line em{font-style:italic;color:var(--brass)}

/* reduced motion / no WebGL: the stage becomes a normal page section */
html.static-stage #home{height:auto}
html.static-stage .stage{position:relative;height:auto;min-height:100svh;overflow:visible}
html.static-stage .hero-copy{position:relative;top:auto;left:auto;right:auto;padding:calc(var(--nav-h) + 4rem) 0 3rem}
html.static-stage .hero-strip{position:relative;left:auto;right:auto;bottom:auto;margin-bottom:3rem}
html.static-stage #field{position:absolute;height:100svh}
html.static-stage .steps{position:relative;left:auto;bottom:auto;width:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2.5rem;padding:3rem 0 5rem;border-top:1px solid var(--line-ink)}
html.static-stage .step{position:relative;opacity:1;transform:none}
html.static-stage .step-n{font-size:3.5rem}
html.static-stage .rail,html.static-stage .proc-label,html.static-stage .offer-card,html.static-stage .offer-fill,html.static-stage .scroll-cue{display:none}

/* ── § 02  MANIFESTO ── */
#why{background:var(--paper);padding-top:clamp(3.5rem,6vw,5.5rem)}
.manifesto{font-family:var(--serif);font-optical-sizing:auto;font-weight:300;font-size:clamp(2.5rem,5.8vw,6.2rem);line-height:1.02;letter-spacing:-.04em;color:var(--text);max-width:15ch;margin:clamp(1rem,2vw,2rem) 0 0;text-wrap:balance}
.manifesto .mw{color:rgba(26,24,19,.14);transition:color .35s linear}
.manifesto .mw.lit{color:var(--text)}
.manifesto em .mw.lit,.manifesto .mw.lit.em{color:var(--brass)}
.manifesto em{font-style:italic}
html:not(.js-motion) .manifesto .mw{color:inherit}
.why-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(4rem,8vw,7rem);border-top:1px solid var(--text)}
.why-item{padding:1.6rem 1.8rem 0 0;border-right:1px solid var(--line)}
.why-item + .why-item{padding-left:1.8rem}
.why-item:last-child{border-right:0}
.why-item .n{font-family:var(--serif);font-style:italic;font-weight:300;font-size:1.05rem;color:var(--brass)}
.why-item h3{font-family:var(--serif);font-weight:400;font-size:1.45rem;line-height:1.15;letter-spacing:-.02em;margin:.9rem 0 .7rem}
.why-item p{font-size:.95rem;line-height:1.7;color:var(--text-sec)}

/* ── § 03  PRACTICE AREAS — the logo's diagonal splits the page ── */
#services{background:var(--paper);padding-top:0}
.pa-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:2rem 4rem;align-items:end;margin-bottom:clamp(2.5rem,5vw,4.5rem)}
.pa-head .answer{margin:0}
.pa{--split:var(--split-base,51%);--off:18%;position:relative;min-height:clamp(720px,92vh,880px);overflow:hidden;background:var(--brass-wash)}
.pa-panel{position:absolute;inset:0;display:flex;flex-direction:column;gap:1.6rem;padding:clamp(2rem,4.6vw,4.4rem)}
.pa-rec{background:var(--ink);color:var(--on-ink);z-index:2;justify-content:flex-start;
  clip-path:polygon(0 0,calc(var(--split) + var(--off)) 0,calc(var(--split) - var(--off)) 100%,0 100%);transition:clip-path 1.1s var(--ease)}
.pa-trn{background:var(--brass-wash);color:var(--text);z-index:1;justify-content:flex-end;align-items:flex-end}
.pa-inner{width:min(31%,450px)}
.pa.focus-rec{--split:calc(var(--split-base,51%) + 4%)}
.pa.focus-trn{--split:calc(var(--split-base,51%) - 4%)}
.pa-num{font-family:var(--serif);font-style:italic;font-weight:250;font-size:clamp(3.8rem,7vw,6.6rem);line-height:.8;letter-spacing:-.05em}
.pa-rec .pa-num{color:var(--brass-lt)} .pa-trn .pa-num{color:var(--brass)}
.pa h3{font-family:var(--serif);font-weight:300;font-size:clamp(2.1rem,3.7vw,3.5rem);line-height:.98;letter-spacing:-.04em;margin:.9rem 0 1rem}
.pa h3 em{font-style:italic}
.pa-rec h3 em{color:var(--brass-lt)} .pa-trn h3 em{color:var(--brass)}
.pa p{font-size:1rem;line-height:1.7;max-width:42ch}
.pa-rec p{color:var(--on-ink-sec)} .pa-trn p{color:var(--text-sec)}
.pa-cred{display:inline-flex;align-items:center;gap:.6rem;margin:1.2rem 0 0;font-size:.78rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.pa-rec .pa-cred{color:var(--brass-lt)} .pa-trn .pa-cred{color:var(--brass-deep)}
.pa-links{display:grid;grid-template-columns:1fr 1fr;column-gap:1.4rem;border-top:1px solid;margin-top:.2rem}
.pa-rec .pa-links{border-color:var(--line-ink)} .pa-trn .pa-links{border-color:var(--line)}
.pa-links a{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.75rem 0;border-bottom:1px solid;font-size:.9rem;line-height:1.35;transition:padding .5s var(--ease),color .3s}
.pa-rec .pa-links a{border-color:var(--line-ink);color:var(--on-ink)} .pa-trn .pa-links a{border-color:var(--line);color:var(--text)}
.pa-links a::after{content:"→";transition:transform .5s var(--ease)}
.pa-links a:hover{padding-left:.6rem}
.pa-rec .pa-links a:hover{color:var(--brass-lt)} .pa-trn .pa-links a:hover{color:var(--brass-deep)}
.pa-links a:hover::after{transform:translateX(4px)}
.pa-seam{position:absolute;inset:0;z-index:3;pointer-events:none}
.pa-seam::before{content:"";position:absolute;top:50%;left:var(--split);width:1px;height:var(--seam-h,130%);
  background:linear-gradient(180deg,transparent,var(--brass-lt) 18%,var(--brass-lt) 82%,transparent);transform:translate(-50%,-50%) rotate(35.64deg);transition:left 1.1s var(--ease)}
.sectors{margin-top:clamp(4rem,8vw,7rem)}
.sectors-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:1.1rem;border-bottom:1px solid var(--text)}
.sector-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(1.5rem,3vw,3rem)}
.sector-grid li{border-bottom:1px solid var(--line)}
.sector-grid a{display:grid;grid-template-columns:2.2rem minmax(0,1fr) auto;align-items:baseline;gap:.4rem;padding:1.35rem 0 1.25rem;font-family:var(--serif);font-weight:340;font-size:clamp(1.08rem,1.3vw,1.28rem);line-height:1.3;letter-spacing:-.012em;color:var(--text);transition:color .3s var(--ease)}
.sector-grid .n{font-family:var(--sans);font-size:.72rem;font-weight:500;letter-spacing:.08em;color:var(--brass)}
.sector-grid .arr{font-family:var(--sans);font-size:.9rem;color:var(--brass);opacity:0;transform:translate3d(-6px,0,0);transition:opacity .3s var(--ease),transform .3s var(--ease)}
.sector-grid a:hover,.sector-grid a:focus-visible{color:var(--brass-deep)}
.sector-grid a:hover .arr,.sector-grid a:focus-visible .arr{opacity:1;transform:none}
.sector-grid a:active{opacity:.75}

/* ── § 04  OPEN RIGHT NOW — the radar ── */
#openings{background:var(--paper);border-top:1px solid var(--line)}
.open-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(2rem,5vw,5.5rem);align-items:start}
.open-count{display:flex;align-items:flex-end;gap:1.4rem;margin:0 0 1.8rem}
.open-count b{font-family:var(--serif);font-weight:250;font-size:clamp(6rem,13vw,12.5rem);line-height:.78;letter-spacing:-.06em;color:var(--text);font-variant-numeric:lining-nums}
.open-count span{padding-bottom:.6rem;font-size:.95rem;line-height:1.45;color:var(--text-sec);max-width:15ch}
.open-count b:empty::before{content:"—";color:var(--line-strong)}
.radar-col{position:sticky;top:calc(var(--nav-h) + 1.5rem);align-self:start}
.radar-wrap{position:relative;aspect-ratio:1;max-width:620px;width:100%;margin:0 auto}
.radar .city.hot circle.dot{fill:var(--ink)}
.radar .city.hot text{font-weight:600}
.radar{width:100%;height:100%;overflow:visible}
.radar .ring{fill:none;stroke:rgba(26,24,19,.13)}
.radar .ring-l{font:500 10px var(--sans);letter-spacing:.14em;fill:var(--text-muted);text-transform:uppercase}
.radar .spoke{stroke:rgba(26,24,19,.07)}
.radar .card-l{font:500 11px var(--sans);letter-spacing:.2em;fill:var(--brass-deep)}
.radar .sweep{transform-origin:0 0;animation:sweep 9s linear infinite}
@keyframes sweep{to{transform:rotate(360deg)}}
.radar .city{cursor:pointer}
.radar .city circle.dot{fill:var(--brass);transition:r .5s var(--ease),fill .3s}
.radar .city circle.halo{fill:none;stroke:var(--brass);stroke-opacity:.35;transform-box:fill-box;transform-origin:center;animation:halo 3.2s var(--ease) infinite}
@keyframes halo{0%{transform:scale(1);stroke-opacity:.45}100%{transform:scale(2.6);stroke-opacity:0}}
.radar .city text{font:500 12.5px var(--sans);fill:var(--text);paint-order:stroke;stroke:var(--paper);stroke-width:4px;stroke-linejoin:round}
.radar .city text tspan.c{fill:var(--brass-deep);font-weight:600}
.radar .city.dim{opacity:.32}
.radar .city.sel circle.dot{fill:var(--ink)}
.radar .home-mark path{fill:var(--ink)}
.radar .home-l{font:italic 400 15px var(--serif);fill:var(--text)}
.radar .home-s{font:500 9.5px var(--sans);letter-spacing:.18em;fill:var(--brass-deep)}
.radar-note{margin-top:1rem;font-size:.8rem;color:var(--text-muted);text-align:center}
.open-filters{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1.2rem}
.open-filters button{font-size:.8rem;padding:.45rem .8rem;border:1px solid var(--line-strong);color:var(--text-sec);transition:background-color .3s,color .3s,border-color .3s}
.open-filters button:hover{border-color:var(--brass);color:var(--text)}
.open-filters button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
.open-list{border-top:1px solid var(--text)}
.open-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;align-items:center;margin-top:1.6rem}
.cand{margin-top:clamp(4.5rem,9vw,8rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem clamp(3rem,7vw,7rem);padding-top:2.4rem;border-top:1px solid var(--line)}
.cand h3{font-family:var(--serif);font-weight:320;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.05;letter-spacing:-.03em}
.cand h3 em{font-style:italic;color:var(--brass)}
.cand p{color:var(--text-sec);margin-top:1.2rem;max-width:38ch}
.cand-links{list-style:none;margin:-.95rem 0 0;padding:0}
.cand-links li{border-bottom:1px solid var(--line)}
.cand-links a{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.95rem 0;font-size:.98rem;color:var(--text);transition:color .3s var(--ease)}
.cand-links a span{color:var(--brass);transition:transform .3s var(--ease)}
.cand-links a:hover,.cand-links a:focus-visible{color:var(--brass-deep)}
.cand-links a:hover span,.cand-links a:focus-visible span{transform:translate3d(4px,0,0)}
.cand-links a:active{opacity:.75}
/* homepage role rows (compact) */
.h-role{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem 1.5rem;align-items:center;padding:1.15rem .2rem 1.15rem 0;border-bottom:1px solid var(--line);position:relative;transition:padding .5s var(--ease),background-color .4s}
.h-role::before{content:"";position:absolute;left:0;top:50%;width:.5rem;height:.7rem;margin-top:-.35rem;background:var(--brass);clip-path:polygon(0 0,100% 0,0 100%);transform:scale(0);transform-origin:0 0;transition:transform .45s var(--ease)}
.h-role:hover{padding-left:1.3rem;background:rgba(228,218,192,.28)}
.h-role:hover::before{transform:scale(1)}
.h-role .t{font-family:var(--serif);font-weight:400;font-size:1.3rem;line-height:1.2;letter-spacing:-.015em;color:var(--text)}
.h-role .m{grid-column:1;font-size:.8125rem;color:var(--text-muted)}
.h-role .pay{grid-column:2;grid-row:1/span 2;display:grid;gap:.4rem;justify-items:end;min-width:150px}
.h-role .pay b{font-weight:500;font-size:.85rem;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}
.h-role .pay i{position:relative;display:block;width:150px;height:3px;background:var(--paper-3)}
.h-role .pay i s{position:absolute;top:0;bottom:0;background:var(--brass);text-decoration:none}
.h-skel{height:74px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,transparent 0,rgba(228,218,192,.5) 50%,transparent 100%);background-size:200% 100%;animation:skel 1.6s infinite linear}

/* ── § 05  THE CALENDAR ── */
#training{background:var(--paper-2);padding:0}
.cal-pin{position:relative}
.cal-sticky{position:sticky;top:0;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--nav-h) + 2.5rem) 0 3rem;overflow:hidden}
.cal-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:1.5rem 4rem;align-items:end;margin-bottom:clamp(1.6rem,3vw,2.4rem)}
.cal-side p{color:var(--text-sec);max-width:56ch}
.topic-chips{list-style:none;margin:.9rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem}
.topic-chips a{display:inline-block;padding:.3rem .78rem;border:1px solid var(--line-brass);border-radius:999px;font-size:.84rem;color:var(--text);transition:background-color .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease)}
.topic-chips a:hover,.topic-chips a:focus-visible{background:var(--text);border-color:var(--text);color:var(--bg)}
.topic-chips a:active{opacity:.8}
.cal-side .cal-links{display:flex;flex-wrap:wrap;gap:.6rem 1.8rem;margin-top:1rem}
.cal-track{position:relative;padding-left:var(--gutter)}
.cal-rail{display:flex;gap:1.1rem;will-change:transform;padding:.4rem var(--gutter) 1.2rem 0;width:max-content}
.cal-timeline{position:relative;height:30px;margin:0 var(--gutter) .9rem 0;border-bottom:1px solid var(--line-strong)}
.cal-timeline b{position:absolute;bottom:.5rem;font-family:var(--serif);font-style:italic;font-weight:350;font-size:1.05rem;color:var(--brass-deep);white-space:nowrap}
.cal-progress{position:absolute;left:0;bottom:-1px;height:1px;background:var(--brass);width:calc(var(--cp,0)*100%)}
.ticket{position:relative;flex:none;width:clamp(280px,24vw,340px);min-height:420px;display:flex;flex-direction:column;background:var(--card);padding:1.6rem 1.6rem 1.4rem;
  clip-path:polygon(var(--cut) 0,100% 0,100% 100%,0 100%,0 var(--cut));box-shadow:var(--shadow-md);transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.ticket:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.ticket .d{display:flex;align-items:flex-end;gap:.7rem}
.ticket .d b{white-space:nowrap;font-family:var(--serif);font-weight:250;font-size:4.6rem;line-height:.8;letter-spacing:-.05em;color:var(--text);font-variant-numeric:lining-nums}
.ticket .d span{display:grid;gap:.1rem;padding-bottom:.25rem;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--brass-deep)}
.ticket .d span em{font-style:normal;font-weight:400;letter-spacing:.06em;text-transform:none;color:var(--text-muted);font-size:.8rem}
.ticket .fmt{margin-top:1rem;font-size:.8rem;color:var(--text-muted)}
.ticket h3{margin:1.6rem 0 1rem;padding-top:1.4rem;border-top:1px dashed var(--line-strong);font-family:var(--serif);font-weight:400;font-size:1.32rem;line-height:1.22;letter-spacing:-.015em;color:var(--text);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.ticket .foot{margin-top:auto;display:grid;gap:.9rem}
.ticket .fee{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.ticket .fee b{font-family:var(--serif);font-weight:400;font-size:1.4rem;letter-spacing:-.02em}
.ticket .fee small{font-size:.75rem;color:var(--text-muted)}
.ticket .hrd{display:inline-flex;align-items:center;gap:.45rem;font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-deep)}
.ticket .hrd .tri{color:var(--brass)}
.ticket .acts{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:.9rem;border-top:1px solid var(--line)}
.ticket .acts a.reg{font-weight:500;font-size:.9rem;color:var(--text)}
.ticket .acts a.reg:hover{color:var(--brass-deep)}
.ticket .acts a.bro{font-size:.78rem;color:var(--text-muted)}
.ticket .acts a.bro:hover{color:var(--brass-deep)}
.ticket.skel{background:linear-gradient(90deg,var(--card) 0,#fff 50%,var(--card) 100%);background-size:200% 100%;animation:skel 1.6s infinite linear}
.ticket.end{background:var(--ink);color:var(--on-ink);justify-content:space-between}
.ticket.end::after{display:none}
.ticket.end h3{border-top:0;padding-top:0;color:var(--on-ink);margin-top:0;font-weight:300;font-size:2rem;line-height:1.05;-webkit-line-clamp:unset}
.ticket.end h3 em{font-style:italic;color:var(--brass-lt)}
.ticket.end p{color:var(--on-ink-sec);font-size:.92rem}
.cal-note{margin:1.2rem var(--gutter) 0 0;font-size:.8rem;color:var(--text-muted)}

/* ── § 06  CREDENTIALS — the seal ── */
#credentials{background:var(--ink);color:var(--on-ink);overflow:hidden}
.cred-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}
.seal{position:relative;aspect-ratio:1;width:100%;max-width:600px;margin:0 auto}
.seal svg{width:100%;height:100%;overflow:visible}
.seal .g{fill:none;stroke:var(--brass-lt);stroke-width:.55;vector-effect:non-scaling-stroke}
.seal .spin{transform-origin:300px 300px;animation:spin 140s linear infinite}
.seal .spin.rev{animation-direction:reverse;animation-duration:190s}
@keyframes spin{to{transform:rotate(360deg)}}
.seal .ring-text{font:500 11.5px var(--sans);letter-spacing:.32em;fill:var(--brass-lt)}
.seal-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:.35rem;pointer-events:none}
.seal-center::before{content:"";position:absolute;left:50%;top:50%;width:46%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#13110D 0,#13110D 60%,rgba(19,17,13,0) 71%);z-index:-1}
.seal-center > *{position:relative}
.seal-center .micro{color:var(--brass-lt)}
.seal-center b{font-family:var(--serif);font-weight:300;font-size:clamp(1.8rem,3.3vw,3rem);letter-spacing:-.03em;line-height:1;color:var(--on-ink)}
.seal-center b em{font-style:italic;color:var(--brass-lt)}
.plates{display:grid;gap:1px;background:var(--line-ink);border:1px solid var(--line-ink);margin:2.2rem 0 2.4rem}
.plate{background:var(--ink-2);padding:1.5rem 1.6rem;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.2rem 1.2rem}
.plate .tri{color:var(--brass-lt);grid-row:span 3;margin-top:.4rem}
.plate .micro{color:var(--brass-lt)}
.plate b{font-family:var(--serif);font-weight:400;font-size:1.3rem;letter-spacing:-.01em;color:var(--on-ink);line-height:1.3}
.plate span{font-size:.875rem;color:var(--on-ink-sec);line-height:1.6}
.served{display:flex;align-items:flex-end;gap:1.2rem;padding-top:1.8rem;border-top:1px solid var(--line-ink)}
.served b{font-family:var(--serif);font-weight:250;font-size:clamp(4.5rem,8vw,7rem);line-height:.8;letter-spacing:-.05em;color:var(--brass-lt)}
.served span{padding-bottom:.35rem;color:var(--on-ink-sec);font-size:.95rem;line-height:1.5;max-width:30ch}
.cred-about{color:var(--on-ink-sec);max-width:56ch;margin-top:1.2rem}

/* ── § 07  CONTEXT + FAQ ── */
#landscape{background:var(--paper)}
.figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--text);margin:clamp(2.5rem,5vw,4rem) 0}
.fig{padding:1.8rem 2rem 0 0;border-right:1px solid var(--line)}
.fig + .fig{padding-left:2rem}
.fig:last-child{border-right:0}
.fig b{display:block;font-family:var(--serif);font-weight:260;font-size:clamp(3.4rem,6.4vw,6rem);line-height:.9;letter-spacing:-.05em;color:var(--text);margin-bottom:1.1rem}
.fig p{font-size:.95rem;line-height:1.65;color:var(--text-sec);max-width:34ch}
.fig > a{display:inline-block;margin-top:.9rem;font-size:.76rem;letter-spacing:.02em;color:var(--brass-deep);border-bottom:1px solid var(--line-brass)}
.context-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:2rem 5rem;align-items:start;margin-top:clamp(4rem,8vw,6.5rem)}
.context-body > div{max-width:58ch}
.context-links{display:flex;flex-direction:column;gap:.7rem;margin-top:1.6rem}
.context-body h3{font-family:var(--serif);font-weight:320;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.08;letter-spacing:-.03em}
.context-body p{color:var(--text-sec);margin-bottom:1rem}
.context-body p a{color:var(--brass-deep);border-bottom:1px solid var(--line-brass)}
.context-body p strong{color:var(--text)}
.faq-home{margin-top:clamp(4rem,8vw,7rem);display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:2rem 5rem}
.faq-home h2{font-family:var(--serif);font-weight:300;font-size:var(--fs-h2);line-height:1.04;letter-spacing:-.035em}
.faq-home h2 em{font-style:italic;color:var(--brass)}
.qa{border-top:1px solid var(--line)}
.qa:last-child{border-bottom:1px solid var(--line)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1.5rem;align-items:center;padding:1.4rem 0;font-family:var(--serif);font-weight:400;font-size:clamp(1.2rem,1.7vw,1.5rem);line-height:1.3;letter-spacing:-.015em;color:var(--text);transition:color .3s}
.qa summary::-webkit-details-marker{display:none}
.qa summary::marker{content:"";font-size:0}
.qa > summary::after{content:none;display:none}
.qa[open] > summary{border-bottom:0;margin-bottom:0}
.qa summary:hover{color:var(--brass-deep)}
.qa summary i{position:relative;width:18px;height:18px;flex:none}
.qa summary i::before,.qa summary i::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:currentColor;transition:transform .5s var(--ease)}
.qa summary i::after{transform:rotate(90deg)}
.qa[open] summary i::after{transform:rotate(0)}
.qa .a{padding:0 3rem 1.6rem 0;color:var(--text-sec);line-height:1.75;max-width:64ch}

/* ── § 08  LIBRARY ── */
#insights{background:var(--paper-2)}
.lib-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:1.5rem 4rem;align-items:end;margin-bottom:clamp(1.6rem,3vw,2.4rem)}
.lib-head p{color:var(--text-sec)}
.lib ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-template-rows:auto auto;gap:1.4rem}
.lib li{position:relative;border-top:1px solid var(--text);padding-top:1rem}
.lib li a{font-family:var(--serif);font-weight:360;font-size:clamp(1.3rem,2vw,1.75rem);line-height:1.18;letter-spacing:-.02em;color:var(--text);transition:color .3s}
.lib li a:hover{color:var(--brass-deep)}
.lib li time{display:block;margin-top:.6rem;font-size:.78rem;letter-spacing:.06em;color:var(--text-muted)}
.lib.enhanced li{border-top:0;padding-top:0}
.lib.enhanced li:first-child{grid-row:1/span 2}
.lib li a.card{font-family:var(--sans);font-size:1rem;letter-spacing:0}
.lib li:not(:first-child) .card .img{display:none}
.lib li:not(:first-child) .card{display:flex;flex-direction:column;overflow:hidden}
.lib li:not(:first-child) .card .txt{position:relative;display:flex;flex-direction:column;flex:1;padding:1.8rem 1.8rem 2rem}
.lib li:not(:first-child) .card .txt time{margin-top:auto!important;padding-top:1.4rem}
.lib li:not(:first-child) .card::after{content:"";position:absolute;right:-18px;bottom:-26px;width:120px;aspect-ratio:190/265;background:var(--brass-pale);clip-path:polygon(0 0,100% 0,0 100%);opacity:.7;transition:transform .8s var(--ease)}
.lib li:not(:first-child) .card:hover::after{transform:translate(-6px,-6px)}
.lib .card{display:block;position:relative;height:100%;background:var(--card);box-shadow:var(--shadow-sm);transition:box-shadow .6s var(--ease),transform .6s var(--ease)}
.lib .card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.lib .card .img{aspect-ratio:2/1;overflow:hidden;background:var(--paper-3)}
.lib li:first-child .card .img{aspect-ratio:16/10}
.lib .card .img img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.03);transition:transform 1.4s var(--ease)}
.lib .card:hover .img img{transform:scale(1.045)}
.lib .card .txt{padding:1.3rem 1.4rem 1.5rem}
.lib .card .cat{font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--brass-deep);margin-bottom:.7rem;display:flex;align-items:center;gap:.5rem}
.lib .card .cat .tri{color:var(--brass)}
.lib li:first-child .card a.ttl{font-size:clamp(1.6rem,2.6vw,2.3rem)}
.lib-foot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:clamp(2.5rem,5vw,4rem);background:var(--line);border:1px solid var(--line)}
.lib-foot a{display:grid;gap:.5rem;background:var(--paper-2);padding:1.5rem 1.6rem;transition:background-color .4s}
.lib-foot a:hover{background:var(--card)}
.lib-foot a b{font-family:var(--serif);font-weight:400;font-size:1.25rem;letter-spacing:-.015em;color:var(--text)}
.lib-foot a span{font-size:.875rem;color:var(--text-sec)}
.lib-foot a .micro::after{content:" →"}

/* ── § 09  CONTACT ── */
#contact{background:var(--paper)}
.quote-big{font-family:var(--serif);font-style:italic;font-weight:260;font-size:clamp(2.4rem,6.2vw,6.2rem);line-height:1;letter-spacing:-.045em;color:var(--text);max-width:16ch;margin:0 0 clamp(4rem,8vw,7rem);text-wrap:balance}
.quote-big::before{content:"";display:block;width:clamp(26px,3vw,42px);aspect-ratio:190/265;background:var(--brass);clip-path:polygon(0 0,100% 0,0 100%);margin-bottom:1.6rem}
.quote-big em{font-style:italic;color:var(--brass)}
.quote-big{color:var(--text)}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(2.5rem,6vw,6rem);align-items:start;padding-top:clamp(2.5rem,4vw,3.5rem);border-top:1px solid var(--text)}
.contact-grid h2{font-family:var(--serif);font-weight:300;font-size:var(--fs-h2);line-height:1.02;letter-spacing:-.035em;margin-bottom:1.2rem}
.contact-grid h2 em{font-style:italic;color:var(--brass)}
.who{display:flex;align-items:center;gap:1rem;margin:2rem 0 1.8rem}
.who .mono{width:56px;height:56px;border-radius:50%;background:var(--ink);color:var(--brass-lt);display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-size:1.25rem}
.who b{display:block;font-family:var(--serif);font-weight:400;font-size:1.3rem;letter-spacing:-.01em}
.who span{font-size:.875rem;color:var(--text-muted)}
.lines{display:grid;gap:0;margin-top:2.2rem;border-top:1px solid var(--line)}
.lines div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:1rem;padding:.95rem 0;border-bottom:1px solid var(--line);font-size:.95rem}
.lines .k{font-size:.7rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--brass-deep);padding-top:.2rem}
.lines a{color:var(--text);transition:color .3s}
.lines a:hover{color:var(--brass-deep)}
.lines address{font-style:normal;color:var(--text);line-height:1.6}
.cform{background:var(--card);padding:clamp(1.6rem,3vw,2.6rem);box-shadow:var(--shadow-md);clip-path:polygon(var(--cut) 0,100% 0,100% 100%,0 100%,0 var(--cut))}
.cform .micro{margin-bottom:1.4rem;display:block}
.form-group{margin-bottom:1.15rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.form-label{display:block;font-size:.78rem;font-weight:500;letter-spacing:.04em;color:var(--text-sec);margin-bottom:.45rem}
.form-label span{color:#9E3B2F}
.form-input{width:100%;min-height:50px;padding:.8rem .95rem;background:var(--paper);border:1px solid var(--line-strong);border-radius:0;color:var(--text);font-size:.95rem;transition:border-color .3s,box-shadow .3s,background-color .3s;appearance:none;-webkit-appearance:none}
select.form-input{background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 15px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:2.4rem}
.form-input:focus{outline:none;border-color:var(--brass);background:#fff;box-shadow:0 0 0 3px rgba(122,107,64,.14)}
textarea.form-input{min-height:130px;resize:vertical}
.form-error{display:none;margin-top:.35rem;font-size:.78rem;color:#9E3B2F}
.form-success{display:none;margin:0 0 1rem;padding:.9rem 1rem;background:var(--brass-wash);border-left:2px solid var(--brass);font-size:.9rem;color:var(--text)}
.cform .btn{width:100%}

/* ── responsive ── */
@media (max-width:1080px){
  .why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .why-item:nth-child(2){border-right:0}
  .why-item:nth-child(3){padding-left:0}
  .why-item:nth-child(n+3){padding-top:2rem;margin-top:1.4rem;border-top:1px solid var(--line)}
  .open-grid,.cred-grid,.contact-grid,.context-body,.faq-home,.pa-head,.cal-head,.lib-head{grid-template-columns:minmax(0,1fr)}
  .seal{max-width:480px}
}
@media (max-width:900px){
  .steps{width:auto;right:var(--gutter);bottom:clamp(1.5rem,5vh,3rem)}
  .step-n{font-size:4.2rem;margin-bottom:.6rem}
  .offer-card{top:34%;height:min(42svh,100vw)}
  .step h2{font-size:clamp(1.8rem,7.4vw,2.5rem)}
  .step p{font-size:.95rem}
  .rail{display:none}
  .skip-story{bottom:auto;top:calc(var(--nav-h) + 1rem)}
  .proc-label{display:none}
  .proc-label{top:calc(var(--nav-h) + 2.1rem)}
  .stage-scrim{background:linear-gradient(180deg,rgba(19,17,13,.86) 0%,rgba(19,17,13,.72) 30%,rgba(19,17,13,.62) 55%,rgba(19,17,13,.9) 80%,rgba(19,17,13,.96) 100%)}
  .stage.in-process .stage-scrim{background:linear-gradient(180deg,rgba(19,17,13,.7) 0%,rgba(19,17,13,.1) 24%,rgba(19,17,13,.15) 48%,rgba(19,17,13,.94) 78%)}
  .pa{min-height:auto;display:flex;flex-direction:column;background:none}
  .pa-panel{position:relative;inset:auto;clip-path:none!important;padding:3rem var(--gutter) 3.4rem}
  .pa-rec .pa-inner,.pa-trn .pa-inner{width:100%}
  .pa-rec{clip-path:polygon(0 0,100% 0,100% calc(100% - 44px),0 100%)!important;padding-bottom:5rem}
  .pa-trn{margin-top:-44px;padding-top:5rem;align-items:stretch}
  .pa-seam{display:none}
  .sector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cal-sticky{position:relative;min-height:0;padding:var(--space-section) 0}
  .cal-track{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .cal-track::-webkit-scrollbar{display:none}
  .ticket{scroll-snap-align:start;width:min(80vw,320px);min-height:400px}
  .ticket .d b{font-size:3.6rem}
  .cal-track{scroll-padding-left:var(--gutter);padding-left:var(--gutter)}
  .cal-rail{padding-right:var(--gutter)}
  .cal-note{margin-left:0}
  .cal-timeline{display:none}
  .figures{grid-template-columns:minmax(0,1fr)}
  .fig{padding:1.6rem 0 1.8rem;border-right:0;border-bottom:1px solid var(--line)}
  .fig + .fig{padding-left:0}
  .lib ul,.lib.enhanced ul{grid-template-columns:minmax(0,1fr)}
  .lib.enhanced li:first-child{grid-row:auto}
  .lib-foot{grid-template-columns:minmax(0,1fr)}
  .cand{grid-template-columns:minmax(0,1fr)}
  .context-body{margin-top:3rem}
}
@media (max-width:640px){
  .hero-h1{font-size:clamp(3.3rem,15.4vw,5rem);line-height:.92}
  .hero-strip{grid-template-columns:1fr 1fr;row-gap:.8rem}
  .hero-strip .scroll-cue{display:none}
  .hero-strip div:nth-child(3){display:none}
  .hero-strip .v{font-size:.92rem}
  .hero-copy{top:calc(var(--nav-h) + 2rem)}
  .why-grid{grid-template-columns:minmax(0,1fr)}
  .why-item,.why-item + .why-item{padding:1.6rem 0;border-right:0;border-bottom:1px solid var(--line);margin:0!important;border-top:0!important}
  .h-role{grid-template-columns:minmax(0,1fr)}
  .h-role .pay{grid-column:1;grid-row:auto;justify-items:start}
  .open-count b{font-size:6.5rem}
  .form-row{grid-template-columns:minmax(0,1fr)}
  .lines div{grid-template-columns:minmax(0,1fr);gap:.25rem}
  .radar .city text{font-size:15px}
  .radar .ring-l{font-size:12px}
  .sector-grid{grid-template-columns:minmax(0,1fr)}
  .sector-grid a{padding:1.05rem 0 1rem}
  .manifesto{font-size:clamp(2.3rem,10.5vw,3.4rem)}
}
