/* self-hosted so the site makes no request to Google */
@font-face{font-family:'Archivo';font-style:normal;font-weight:500;font-display:swap;src:url(/f-aae031ec.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:600;font-display:swap;src:url(/f-f42b865e.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-display:swap;src:url(/f-a4d70ea0.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(/f-68f645c6.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(/f-6b66c741.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(/f-e0d61f6d.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(/f-5197a7ae.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/f-3ae62151.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/f-35c2a72b.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url(/f-e67f8fef.woff2) format('woff2')}
/* ---------- tokens: identical to the main site ---------- */
:root{
  --void:#FFFFFF;--ground:#F7F6F4;--raise:#FFFFFF;--raise-2:#F1EFEC;
  --ink:#151419;--ink-2:#55545E;--ink-3:#86858F;
  --gold:#876700;--gold-rich:#BC8C00;--gold-lux:#D4AF37;--gold-hi:#E8C86B;
  --gold-dim:rgba(212,175,55,.17);--hair:rgba(196,154,20,.44);--line:rgba(21,20,25,.13);
  --btn:#151419;--btn-fg:#FFFFFF;--accent-fg:#141109;
  --pass:#1F7A52;--out:#B02F3F;
  --glow:rgba(212,175,55,.46);
  --dot-live:188,140,0;--dot-dead:21,20,25;--dot-dead-a:.14;--dot-final:212,175,55;--halo:rgba(212,175,55,.30);
  --map-fill:rgba(21,20,25,.030);--map-line:rgba(21,20,25,.16);
  --ink-band:#151419;--ink-band-2:#201E26;--ink-band-fg:#F5F3F6;--ink-band-fg2:#A9A7B2;
  --note:#2B5FA8;--note-bg:rgba(43,95,168,.07);
  --display:"Archivo",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --gut:clamp(16px,4vw,56px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --void:#0C0B0F;--ground:#131217;--raise:#1A1921;--raise-2:#211F29;
    --ink:#F3F1F5;--ink-2:#AAA8B4;--ink-3:#7A7883;
    --gold:#F0CE6A;--gold-rich:#F5D77A;--gold-lux:#FFD966;--gold-hi:#FFDE8A;--gold-dim:rgba(255,217,102,.17);
    --hair:rgba(255,217,102,.34);--line:rgba(243,241,245,.11);
    --btn:#F3F1F5;--btn-fg:#151419;
    --pass:#5FC08C;--out:#E08B79;--glow:rgba(255,217,102,.42);
    --dot-live:245,215,122;--dot-dead:150,148,160;--dot-dead-a:.12;--dot-final:255,217,102;--halo:rgba(255,217,102,.22);
    --map-fill:rgba(245,215,122,.055);--map-line:rgba(245,215,122,.20);
    --ink-band:#08070B;--ink-band-2:#151419;
    --note:#8FB6F0;--note-bg:rgba(143,182,240,.08);
  }
}
:root[data-theme="dark"]{
  --void:#0C0B0F;--ground:#131217;--raise:#1A1921;--raise-2:#211F29;
  --ink:#F3F1F5;--ink-2:#AAA8B4;--ink-3:#7A7883;
  --gold:#F0CE6A;--gold-rich:#F5D77A;--gold-lux:#FFD966;--gold-hi:#FFDE8A;--gold-dim:rgba(255,217,102,.17);
  --hair:rgba(255,217,102,.34);--line:rgba(243,241,245,.11);
  --btn:#F3F1F5;--btn-fg:#151419;
  --pass:#5FC08C;--out:#E08B79;--glow:rgba(255,217,102,.42);
  --dot-live:245,215,122;--dot-dead:150,148,160;--dot-dead-a:.12;--dot-final:255,217,102;--halo:rgba(255,217,102,.22);
  --map-fill:rgba(245,215,122,.055);--map-line:rgba(245,215,122,.20);
  --ink-band:#08070B;--ink-band-2:#151419;
  --note:#8FB6F0;--note-bg:rgba(143,182,240,.08);
}

/* ---------- base ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--void);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{margin:0;font-family:var(--display);font-weight:700;line-height:1.04;letter-spacing:-.024em;text-wrap:balance}
p{margin:0}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.tn{font-variant-numeric:tabular-nums}
.wrap{max-width:1140px;margin:0 auto;padding-inline:var(--gut)}
.band{padding-block:clamp(56px,8vw,104px)}
.band.ground{background:var(--ground)}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:12px;margin-bottom:18px}
.eyebrow::after{content:"";height:1px;width:48px;background:var(--hair)}
.sec{font-size:clamp(28px,4vw,44px);margin-bottom:16px;max-width:22ch}
.lede{font-size:clamp(16.5px,1.6vw,18.5px);color:var(--ink-2);max-width:60ch}

/* ---------- header: logo only, nowhere to leak to ---------- */
.top{padding-block:22px;border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand img{display:block;height:44px;width:auto}
.brand .lw{display:none}
:root[data-theme="dark"] .brand .lb{display:none}
:root[data-theme="dark"] .brand .lw{display:block}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .brand .lb{display:none}:root:not([data-theme="light"]) .brand .lw{display:block}}
.top .reg{font:11px/1.4 var(--mono);letter-spacing:.06em;color:var(--ink-3);text-align:right}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 26px;background:var(--gold-lux);color:var(--accent-fg);border:1px solid var(--gold-rich);font:600 15px/1.2 var(--body);letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:box-shadow .2s,transform .2s}
.btn:hover{box-shadow:0 8px 34px var(--glow);transform:translateY(-1px)}
.btn .ar{transition:transform .2s}
.btn:hover .ar{transform:translateX(3px)}
@media (prefers-reduced-motion:reduce){.btn,.btn .ar{transition:none}.btn:hover{transform:none}}
.btn.ink{background:var(--btn);color:var(--btn-fg);border-color:var(--btn)}
.under{font-size:14px;color:var(--ink-3);margin-top:12px}

/* ---------- hero ---------- */
.hero{padding-block:clamp(40px,6vw,80px) clamp(48px,7vw,96px)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(32px,5vw,72px);align-items:center}
.hero h1{font-size:clamp(38px,5.6vw,68px);letter-spacing:-.038em;line-height:.98;margin-bottom:22px}
.hero h1 em{font-style:normal;color:var(--gold-rich)}
.hero .lede{margin-bottom:30px}
.proof{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:30px;padding-top:22px;border-top:1px solid var(--line);font:12px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.proof b{color:var(--ink);font-weight:500;margin-right:6px}
.screen{border:1px solid var(--line);background:var(--raise);padding:18px}
.screen .stage{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;min-height:30px;font:11px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.screen .stage .n{font:700 26px/1 var(--display);letter-spacing:-.02em;color:var(--gold-rich)}
/* The stage line must not shuffle as the count and label change underneath it.
   The number keeps a fixed box so the label never shifts, the label takes the
   slack, and the button is pinned to the right edge of the card. */
.screen .stage{position:relative;padding-right:78px;min-height:34px;align-items:center}
.screen .stage .n{flex:0 0 auto;min-width:3.6em}
.screen .stage #m-l{flex:1 1 auto;min-width:0}
.replay{
  position:absolute;right:0;top:50%;transform:translateY(-50%);
  background:transparent;border:1px solid var(--line);color:var(--ink-3);
  font:9.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;
  padding:6px 10px;cursor:pointer;transition:border-color .2s,color .2s;white-space:nowrap
}
.replay:hover{border-color:var(--gold);color:var(--gold)}
.replay:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
/* the payoff: when the count lands on the shortlist figure, flash it twice and
   hold, so the eye is on the number that actually matters. */
.screen .stage .n{display:inline-block;transform-origin:left bottom}
.screen .stage #m-l{transition:color .45s ease,font-weight .45s ease}
.screen .stage.land .n{animation:landPulse 1.6s ease-out 1 both}
.screen .stage.land #m-l{color:var(--ink);font-weight:700}
/* intermediate stages: one lighter pulse; bold is held back for the final figure */
.screen .stage.mark .n{animation:markPulse .8s ease-out 1}
.screen .stage.mark #m-l{color:var(--ink)}
@keyframes markPulse{
  0%{transform:scale(1);text-shadow:0 0 0 rgba(0,0,0,0)}
  30%{transform:scale(1.14);text-shadow:0 0 18px currentColor}
  100%{transform:scale(1);text-shadow:0 0 0 rgba(0,0,0,0)}
}
@media(prefers-reduced-motion:reduce){.screen .stage.mark .n{animation:none}}
@keyframes landPulse{
  0%{transform:scale(1);text-shadow:0 0 0 rgba(0,0,0,0)}
  16%{transform:scale(1.22);text-shadow:0 0 26px currentColor}
  34%{transform:scale(1);text-shadow:0 0 10px var(--gold-dim)}
  52%{transform:scale(1.13);text-shadow:0 0 20px currentColor}
  70%{transform:scale(1);text-shadow:0 0 12px var(--gold-dim)}
  100%{transform:scale(1);text-shadow:0 0 18px var(--gold-dim)}
}
@media(prefers-reduced-motion:reduce){.screen .stage.land .n{animation:none;text-shadow:0 0 18px var(--gold-dim)}}
#map{display:block;width:100%;height:auto}
.screen .legend{margin-top:10px;padding-top:12px;border-top:1px solid var(--line);font:10px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
@media (max-width:860px){
  .hero .wrap{grid-template-columns:1fr}
  .screen{order:2}
}

/* ---------- mobile fold: the map is the hook, so it has to be visible ----------
   Measured on a 390x844 phone, the text column pushed the canvas down to 761px,
   leaving only 83px of a 243px map in the first screen. Nothing is removed
   here — only the vertical air between elements — which lifts the canvas to
   roughly 645px and puts about four fifths of it above the fold. Keep these as
   spacing-only changes: the headline, lede and proof row all carry weight. */
@media (max-width:600px){
  .top{padding-block:13px}
  .brand img{height:36px}
  .hero{padding-block:24px 36px}
  .hero .wrap{gap:20px}
  .hero .eyebrow{margin-bottom:12px}
  .hero h1{margin-bottom:14px}
  .hero .lede{margin-bottom:18px}
  .hero .under{margin-top:8px}
  .hero .proof{margin-top:18px;padding-top:16px;gap:6px 16px;font-size:10.5px}
}

/* ---------- video ---------- */
.vid{position:relative;aspect-ratio:16/9;max-width:100%;background:var(--ink-band);color:var(--ink-band-fg);display:grid;place-items:center;overflow:hidden;margin-top:28px}
.vid .ph{text-align:center;padding:24px;max-width:46ch}
.vid .ph .k{font:11px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-hi);margin-bottom:14px}
.vid .ph h3{font-size:clamp(22px,3vw,32px);color:var(--ink-band-fg);margin-bottom:12px}
.vid .ph p{font-size:14.5px;color:var(--ink-band-fg2)}
.vid .play{width:68px;height:68px;border-radius:50%;border:1px solid rgba(232,200,107,.55);display:grid;place-items:center;margin:0 auto 18px;opacity:.55}
.vid .play::before{content:"";margin-left:5px;border-left:18px solid var(--gold-hi);border-top:11px solid transparent;border-bottom:11px solid transparent}
.covers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:1px}
.covers div{background:var(--raise);padding:18px 20px;font-size:14.5px;color:var(--ink-2)}
.covers div b{display:block;font:500 11px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin-bottom:6px}
@media (max-width:760px){.covers{grid-template-columns:1fr}}

/* ---------- the call ---------- */
.steps{list-style:none;margin:34px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px);counter-reset:s}
.steps li{counter-increment:s;border-top:2px solid var(--ink);padding-top:18px}
.steps li::before{content:counter(s,decimal-leading-zero);display:block;font:500 12px/1 var(--mono);letter-spacing:.14em;color:var(--gold);margin-bottom:12px}
.steps h3{font-size:21px;margin-bottom:8px}
.steps p{color:var(--ink-2);font-size:15.5px}
.fit{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:44px}
.fit > div{background:var(--raise);padding:24px 26px}
.fit h3{font:500 11px/1.2 var(--mono);letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px}
.fit .yes h3{color:var(--pass)}
.fit .no h3{color:var(--out)}
.fit ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.fit li{padding-left:24px;position:relative;font-size:15.5px}
.fit .yes li::before{content:"";position:absolute;left:2px;top:.55em;width:10px;height:5px;border-left:2px solid var(--pass);border-bottom:2px solid var(--pass);transform:rotate(-45deg)}
.fit .no li::before,.fit .no li::after{content:"";position:absolute;left:3px;top:.72em;width:12px;height:2px;background:var(--out);transform:rotate(45deg)}
.fit .no li::after{transform:rotate(-45deg)}
@media (max-width:860px){.steps{grid-template-columns:1fr}.fit{grid-template-columns:1fr}}

/* ---------- booking ---------- */
.book{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);border:1px solid var(--line);background:var(--raise);margin-top:30px}
.book .side{padding:26px;border-right:1px solid var(--line)}
.book .side .k{font:500 11px/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}
.book .side h3{font-size:24px;margin-bottom:14px}
.book .side dl{margin:0;display:grid;gap:10px;font-size:14.5px}
.book .side dt{font:500 10.5px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.book .side dd{margin:2px 0 0;color:var(--ink)}
.book .cal{padding:26px}
.book .cal .k{font:500 11px/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-bottom:16px}
.day{border:1px solid var(--line);background:transparent;color:var(--ink);padding:10px 4px;text-align:center;font:inherit;cursor:pointer}
.day small{display:block;font:500 10px/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.day span{font:600 18px/1.3 var(--display)}
.day[aria-pressed="true"]{border-color:var(--gold-rich);background:var(--gold-dim)}
.slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.slot{border:1px solid var(--hair);background:transparent;color:var(--gold);padding:11px 6px;font:500 13.5px/1 var(--mono);cursor:pointer}
.slot:hover,.slot[aria-pressed="true"]{background:var(--gold-lux);border-color:var(--gold-rich);color:var(--accent-fg)}
.picked{margin-top:16px;font-size:14px;color:var(--ink-2);min-height:22px}
@media (max-width:760px){.book{grid-template-columns:1fr}.book .side{border-right:0;border-bottom:1px solid var(--line)}.slots{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- about ---------- */
.about{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(28px,5vw,64px);align-items:start}
.about img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.about .cap{font:10.5px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:10px}
.about p+p{margin-top:14px}
.about .body{font-size:17px;color:var(--ink-2);max-width:58ch}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:28px}
.facts div{background:var(--raise);padding:16px 18px}
.facts b{display:block;font:700 26px/1.1 var(--display);letter-spacing:-.02em;color:var(--ink)}
.facts span{font:500 10.5px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.regline{margin-top:20px;font:12px/1.7 var(--mono);color:var(--ink-3)}
@media (max-width:760px){.about{grid-template-columns:1fr}.about img{max-width:340px}}

/* ---------- what I don't claim ---------- */
.ink{background:var(--ink-band);color:var(--ink-band-fg)}
.ink .eyebrow{color:var(--gold-hi)}
.ink .eyebrow::after{background:rgba(232,200,107,.4)}
.ink .sec{color:var(--ink-band-fg)}
.claims{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(245,243,246,.1)}
.claims li{background:var(--ink-band);padding:22px 24px 22px 0}
.claims li:nth-child(even){padding-left:24px}
.claims li:nth-child(odd){padding-right:24px}
.claims q{display:block;font:600 19px/1.2 var(--display);color:var(--ink-band-fg);text-decoration:line-through;text-decoration-color:rgba(232,200,107,.7);text-decoration-thickness:2px;margin-bottom:8px;quotes:"\201C" "\201D"}
.claims p{color:var(--ink-band-fg2);font-size:14.5px;max-width:48ch}
@media (max-width:760px){.claims{grid-template-columns:1fr}.claims li,.claims li:nth-child(even),.claims li:nth-child(odd){padding:20px 0}}

/* ---------- faq ---------- */
.faq{margin-top:28px;border-top:1px solid var(--line);max-width:780px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;position:relative;font:600 18px/1.3 var(--display);letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:16px;font:400 26px/1 var(--body);color:var(--gold)}
.faq details[open] summary::after{content:"\2212"}
.faq details p{padding:0 0 22px;color:var(--ink-2);max-width:62ch}

/* ---------- close + footer ---------- */
.close{text-align:left}
.close h2{font-size:clamp(30px,4.4vw,52px);letter-spacing:-.03em;margin-bottom:26px;max-width:18ch}
footer{border-top:1px solid var(--line);padding-block:34px 44px;font-size:13px;color:var(--ink-3)}
footer .wrap{display:grid;gap:14px}
footer img{height:36px;width:auto}
footer .lw{display:none}
:root[data-theme="dark"] footer .lb{display:none}
:root[data-theme="dark"] footer .lw{display:block}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) footer .lb{display:none}:root:not([data-theme="light"]) footer .lw{display:block}}
footer .row{display:flex;flex-wrap:wrap;gap:6px 20px;font:12px/1.6 var(--mono)}
footer a{color:var(--ink-2)}

/* ---------- sticky mobile CTA ---------- */
.stick{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--void);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));display:none;transform:translateY(110%);transition:transform .25s}
.stick .btn{width:100%}
.stick.on{transform:none}
@media (max-width:760px){.stick{display:block}body{padding-bottom:84px}}
@media (prefers-reduced-motion:reduce){.stick{transition:none}}

/* the VSL player: same frame as the prototype placeholder */
video.vid{display:block;width:100%;aspect-ratio:16/9;height:auto;background:var(--ink-band);border:0}
/* the embed fills the .vid frame, which already carries the 16/9 ratio.
   place-items:center from .vid would otherwise shrink-wrap the iframe. */
.vid iframe{display:block;width:100%;height:100%;border:0}
/* Match the main site's larger header logo (changed 7 Oct 2026) — the landing
   page has no nav, but the mark should be the same size across both. */
.top .brand img{height:clamp(46px,3.6vw,58px)}

/* ---------- the centred VSL hero ----------
   One column, not two. The column is narrower than the site's 1140px so the
   player reads as deliberate rather than stretched, and the headline steps
   down from 68px to 52px so it sets up the video instead of competing with it.
   Text stays left-aligned: the rest of the site is editorial, and centred type
   here would look like a different website. */
.hero.vsl{padding-block:clamp(24px,3.4vw,46px) clamp(44px,6vw,86px)}
.hero.vsl .wrap{display:block;max-width:980px}
.hero.vsl h1{font-size:clamp(29px,4vw,48px);margin-bottom:clamp(18px,2.4vw,26px)}
.hero.vsl .lede{max-width:62ch;margin:clamp(20px,2.6vw,26px) 0 clamp(20px,2.6vw,26px)}
.hero.vsl .vid{margin:0}
.hero.vsl .proof{margin-top:26px}
.hero.vsl .cta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px}
.hero.vsl .cta .under{margin-top:0;max-width:34ch}
@media(max-width:620px){
  .hero.vsl .cta{display:block}
  .hero.vsl .cta .under{margin-top:10px;max-width:none}
}

/* the click-to-play still. A real <button>, so it is reachable by keyboard and
   announced as a control rather than as a decorative image. */
.vfac{display:block;position:relative;width:100%;aspect-ratio:16/9;padding:0;
  border:0;background:var(--ink-band);cursor:pointer;overflow:hidden}
.vfac img{display:block;width:100%;height:100%;object-fit:cover}
/* the control sits over clear wall on the left of the frame, never over his
   face — the crop is built to leave that space */
.vfac .vplay{position:absolute;top:50%;left:21%;transform:translate(-50%,-50%);
  width:clamp(58px,7vw,88px);aspect-ratio:1;border-radius:50%;
  background:var(--gold-lux);border:1px solid var(--gold-rich);
  display:grid;place-items:center;transition:transform .18s,box-shadow .18s;
  box-shadow:0 6px 26px rgba(0,0,0,.28)}
.vfac .vplay::after{content:"";width:0;height:0;margin-left:16%;
  border-left:calc(clamp(58px,7vw,88px)*.30) solid var(--accent-fg);
  border-top:calc(clamp(58px,7vw,88px)*.19) solid transparent;
  border-bottom:calc(clamp(58px,7vw,88px)*.19) solid transparent}
.vfac:hover .vplay{transform:translate(-50%,-50%) scale(1.07);
  box-shadow:0 10px 32px rgba(0,0,0,.34)}
.vfac .vlen{position:absolute;right:14px;bottom:12px;padding:5px 9px;
  background:rgba(21,20,25,.78);color:#fff;font:500 11px/1 var(--mono);
  letter-spacing:.1em;text-transform:uppercase}
.vfac:focus-visible{outline:2px solid var(--gold-rich);outline-offset:3px}
.vid noscript iframe{display:block;width:100%;height:100%;border:0}
#video-sec[hidden]{display:none}
.doc{max-width:820px}
.doc h2{font-size:clamp(21px,2.4vw,28px);margin:38px 0 12px;letter-spacing:-.02em}
.doc h3{font-size:18px;margin:26px 0 10px}
.doc p{margin:0 0 14px;color:var(--ink-2)}
.doc p.lede{margin-bottom:26px}
.doc ul{margin:0 0 16px;padding-left:20px;color:var(--ink-2)}
.doc li{margin-bottom:7px}
.doc b{color:var(--ink)}
.doc a{color:var(--gold)}
.doc table{border-collapse:collapse;width:100%;margin:0 0 20px;font-size:14.5px}
.doc th,.doc td{text-align:left;vertical-align:top;padding:11px 14px;border-bottom:1px solid var(--line);color:var(--ink-2)}
.doc th{font:500 10px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);background:var(--ground)}
.doc .stamp{font:11px/1.6 var(--mono);letter-spacing:.06em;color:var(--ink-3);margin-top:30px;padding-top:16px;border-top:1px solid var(--line)}
.doc .tablewrap{overflow-x:auto}
@media (max-width:620px){.doc table{font-size:13px}.doc th,.doc td{padding:9px 10px}}
