/* Henley Media: night map hero + scroll story */
.hero-henley{position:relative;width:100%;max-width:560px;margin:0 auto}
.hero-henley .hh-frame{position:relative;aspect-ratio:1/1.02;border-radius:26px;overflow:hidden;background:#2b1c40;
  box-shadow:0 40px 90px -30px rgba(91,42,134,.85),0 0 0 1px rgba(215,184,255,.14),inset 0 1px 0 rgba(255,255,255,.08)}
.hero-henley .hh-map{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero-henley .hh-frame::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(80% 70% at 50% 45%,transparent 55%,rgba(10,5,18,.6)),linear-gradient(180deg,rgba(10,5,18,.35),transparent 22%,transparent 70%,rgba(10,5,18,.6))}
.hero-henley .hh-glass{position:absolute;z-index:2;background:rgba(20,11,32,.62);backdrop-filter:blur(12px) saturate(1.3);-webkit-backdrop-filter:blur(12px) saturate(1.3);border:1px solid rgba(215,184,255,.16);border-radius:14px;color:#f4ecff}
.hero-henley .hh-top{left:14px;right:14px;top:14px;display:flex;justify-content:space-between;align-items:center;padding:9px 12px;font:600 .8rem/1 var(--sans)}
.hero-henley .hh-live{display:flex;align-items:center;gap:8px}
.hero-henley .hh-live i{width:8px;height:8px;border-radius:50%;background:#7dffb0;box-shadow:0 0 0 0 rgba(125,255,176,.6);animation:hh-pulse 1.6s infinite}
.hero-henley .hh-budget{color:#d7b8ff}
.hero-henley .hh-budget b{font:800 1.15rem/1 var(--display);color:#fff;margin-right:1px}
.hero-henley .hh-count{left:14px;bottom:14px;padding:10px 14px 9px;display:grid;grid-template-columns:auto auto;align-items:end;gap:0 10px}
.hero-henley .hh-count small{grid-column:1/-1;font:600 .66rem/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#bfa6dd}
.hero-henley .hh-num{font:800 2.6rem/1 var(--display);color:#fff;font-variant-numeric:tabular-nums}
.hero-henley .hh-count em{font:700 .62rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;font-style:normal;color:#1a0d29;background:#d7b8ff;padding:4px 6px;border-radius:5px;margin-bottom:6px;justify-self:start}
.hero-henley .hh-feed{position:absolute;z-index:2;right:14px;bottom:14px;margin:0;padding:0;list-style:none;display:flex;flex-direction:column-reverse;gap:6px;width:min(230px,52%)}
.hero-henley .hh-feed li{display:flex;gap:9px;align-items:center;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.92);color:#1d1128;font:500 .74rem/1.25 var(--sans);box-shadow:0 10px 24px -10px rgba(0,0,0,.6);opacity:0;transform:translateY(10px) scale(.96);transition:opacity .45s,transform .45s cubic-bezier(.2,.8,.2,1)}
.hero-henley .hh-feed li.in{opacity:1;transform:none}
.hero-henley .hh-feed li:nth-child(2){opacity:.75}
.hero-henley .hh-feed li:nth-child(3){opacity:.45}
.hero-henley .hh-feed b{display:block;font-weight:700;color:#5b2a86}
.hero-henley .hh-feed i{flex:none;width:22px;height:22px;border-radius:7px;background:#5b2a86}
.hero-henley .hh-feed i.box{background:linear-gradient(160deg,#e8b97f,#a8733c)}
@keyframes hh-pulse{70%{box-shadow:0 0 0 8px rgba(125,255,176,0)}100%{box-shadow:0 0 0 0 rgba(125,255,176,0)}}
@media(max-width:420px){.hero-henley .hh-feed{width:58%}.hero-henley .hh-num{font-size:2.1rem}}

/* ---- scene ---- */
.scene-henley{position:relative;background:#2b1c40;color:#f4ecff}
.scene-henley .hs-track{height:400vh;position:relative}
.scene-henley .hs-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.scene-henley .hs-map{position:absolute;inset:0;width:100%;height:100%;display:block}
.scene-henley .hs-shade{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(14,8,22,.55),transparent 24%,transparent 48%,rgba(14,8,22,.92) 80%),radial-gradient(90% 80% at 50% 50%,transparent 50%,rgba(14,8,22,.5))}
.scene-henley .hs-copy{position:absolute;left:0;right:0;bottom:0;padding:0 16px 26px;z-index:3}
.scene-henley .hs-title{font-size:clamp(1.05rem,4vw,1.3rem);letter-spacing:.08em;color:#d7b8ff;margin:0 0 10px}
.scene-henley .hs-caps{list-style:none;margin:0;padding:0;position:relative;min-height:128px}
.scene-henley .hs-caps li{position:absolute;left:0;right:0;bottom:0;opacity:0;transform:translateY(14px);transition:opacity .5s,transform .5s cubic-bezier(.2,.8,.2,1)}
.scene-henley .hs-caps li.on{opacity:1;transform:none}
.scene-henley .hs-n{display:block;font:800 .85rem/1 var(--display);letter-spacing:.12em;color:#b57cf0;margin-bottom:6px}
.scene-henley .hs-caps h3{font:800 clamp(2.2rem,10vw,3.6rem)/.92 var(--display);text-transform:uppercase;color:#fff;margin:0 0 8px}
.scene-henley .hs-caps p{margin:0;color:#d9cbe9;font-size:1.02rem;max-width:34ch}
.scene-henley .hs-bar{margin-top:18px;height:3px;border-radius:3px;background:rgba(215,184,255,.18);overflow:hidden}
.scene-henley .hs-bar i{display:block;height:100%;background:linear-gradient(90deg,#5b2a86,#d7b8ff);transform-origin:0 50%;transform:scaleX(0)}

.scene-henley .hs-cards{position:absolute;left:16px;right:16px;top:80px;z-index:2;max-width:360px;margin:0 auto}
.scene-henley .hs-card{position:absolute;left:0;right:0;top:0;opacity:0;visibility:hidden;border-radius:18px;padding:16px 18px;background:rgba(255,255,255,.96);color:#1d1128;box-shadow:0 30px 60px -20px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.4);will-change:transform,opacity}
.scene-henley .hs-k{display:flex;justify-content:space-between;align-items:center;margin:0 0 6px;font:700 .72rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#6c5a7e}
.scene-henley .hs-k em{font-style:normal;letter-spacing:.06em;background:#efe4ff;color:#5b2a86;padding:4px 7px;border-radius:6px}
.scene-henley .hs-big{margin:0 0 12px;display:flex;align-items:baseline;gap:8px}
.scene-henley .hs-big b{font:800 3.4rem/1 var(--display);color:#5b2a86;font-variant-numeric:tabular-nums}
.scene-henley .hs-big span{font-weight:600;color:#6c5a7e}
.scene-henley .hs-slider{position:relative;height:8px;border-radius:8px;background:#ece5f3}
.scene-henley .hs-fill{position:absolute;left:0;top:0;bottom:0;border-radius:8px;background:linear-gradient(90deg,#8b4fc4,#5b2a86)}
.scene-henley .hs-knob{position:absolute;top:50%;width:24px;height:24px;margin:-12px 0 0 -12px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(40,10,70,.35),0 0 0 6px rgba(91,42,134,.14)}
.scene-henley .hs-ticks{display:flex;justify-content:space-between;margin-top:10px;font:600 .72rem/1 var(--sans);color:#8f7fa1}
.scene-henley .hs-ad{top:178px;padding:12px}
.scene-henley .hs-spons{margin:0 0 8px;font:600 .72rem/1 var(--sans);color:#8f7fa1}
.scene-henley .hs-ad-img{border-radius:12px;overflow:hidden;aspect-ratio:16/7;background:#3a2a1c}
.scene-henley .hs-ad-img img{width:100%;height:100%;object-fit:cover;display:block}
.scene-henley .hs-ad-h{margin:10px 2px 10px;font:800 1.35rem/1 var(--display);text-transform:uppercase;color:#1d1128}
.scene-henley .hs-ad-btn{display:inline-block;background:#5b2a86;color:#fff;font:700 .85rem/1 var(--sans);padding:10px 16px;border-radius:999px}
.scene-henley .hs-row{position:relative;display:flex;justify-content:space-between;align-items:center;padding:11px 0 13px;border-bottom:1px solid #eee7f4;font-weight:600}
.scene-henley .hs-row b{font:800 1.5rem/1 var(--display);color:#5b2a86;font-variant-numeric:tabular-nums}
.scene-henley .hs-row i{position:absolute;left:0;bottom:4px;height:4px;border-radius:4px;width:var(--w);background:linear-gradient(90deg,#5b2a86,#b57cf0);transform-origin:0 50%;transform:scaleX(var(--g,0))}
.scene-henley .hs-foot{margin:12px 0 0;font-size:.9rem;color:#6c5a7e}
.scene-henley .hs-foot b{color:#1d1128}
.scene-henley .hs-hud{position:absolute;z-index:2;left:16px;top:80px;opacity:0;padding:10px 14px;border-radius:14px;background:rgba(20,11,32,.66);border:1px solid rgba(215,184,255,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;grid-template-columns:auto auto;align-items:end;gap:0 10px}
.scene-henley .hs-hud small{grid-column:1/-1;font:600 .66rem/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#bfa6dd}
.scene-henley .hs-hud b{font:800 3rem/1 var(--display);color:#fff;font-variant-numeric:tabular-nums}
.scene-henley .hs-hud em{font:700 .62rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;font-style:normal;color:#1a0d29;background:#d7b8ff;padding:4px 6px;border-radius:5px;margin-bottom:8px;justify-self:start}
@media(max-width:759px){.scene-henley .hs-track{height:340vh}.scene-henley .hs-ad-img{aspect-ratio:16/6}}
@media(max-height:700px) and (max-width:759px){.scene-henley .hs-ad{top:160px}.scene-henley .hs-ad-img{display:none}}

@media(min-width:760px){
  .scene-henley .hs-shade{background:linear-gradient(90deg,rgba(14,8,22,.92),rgba(14,8,22,.55) 34%,transparent 58%),linear-gradient(180deg,rgba(14,8,22,.5),transparent 20%,transparent 80%,rgba(14,8,22,.5))}
  .scene-henley .hs-copy{left:max(24px,calc(50vw - 560px));right:auto;top:50%;bottom:auto;transform:translateY(-50%);width:min(420px,40vw);padding:0}
  .scene-henley .hs-title{font-size:1.3rem;margin-bottom:26px}
  .scene-henley .hs-caps{min-height:0;display:grid;gap:4px}
  .scene-henley .hs-caps li{position:relative;opacity:.38;transform:none;padding:10px 0;border-top:1px solid rgba(215,184,255,.14)}
  .scene-henley .hs-caps li.on{opacity:1}
  .scene-henley .hs-caps h3{font-size:1.7rem;margin:0;transition:font-size .4s,color .4s}
  .scene-henley .hs-caps li.on h3{font-size:2.9rem;color:#fff}
  .scene-henley .hs-caps li p{max-height:0;overflow:hidden;transition:max-height .5s,margin .5s;margin:0}
  .scene-henley .hs-caps li.on p{max-height:90px;margin-top:8px}
  .scene-henley .hs-n{display:inline-block;margin:0 10px 0 0;vertical-align:.5em}
  .scene-henley .hs-caps li h3{display:inline}
  .scene-henley .hs-cards{left:auto;right:max(24px,calc(50vw - 560px));top:50%;margin:-230px 0 0;width:340px}
  .scene-henley .hs-ad{top:200px}
  .scene-henley .hs-hud{left:auto;right:max(24px,calc(50vw - 560px));top:auto;bottom:40px}
}

/* reduced motion: one complete still frame, every caption visible */
.scene-henley.is-static .hs-track{height:auto}
.scene-henley.is-static .hs-stage{position:relative;height:auto;min-height:640px;padding:90px 0 40px}
.scene-henley.is-static .hs-copy{position:relative;transform:none;top:auto;left:auto;right:auto;margin:0 auto;width:auto;max-width:1180px;padding:0 16px;z-index:3}
.scene-henley.is-static .hs-caps li{position:relative;opacity:1;transform:none;margin-bottom:16px}
.scene-henley.is-static .hs-caps li p{max-height:none;margin-top:6px}
.scene-henley.is-static .hs-caps li h3{font-size:2rem;display:block}
.scene-henley.is-static .hs-cards,.scene-henley.is-static .hs-bar{display:none}
.scene-henley.is-static .hs-shade{background:rgba(14,8,22,.72)}
