/* Adaptive editorial finish. This layer only styles the public landing page. */
@import url("static-experience.css?v=1") (prefers-reduced-motion:reduce);
@import url("static-experience.css?v=1") (max-height:560px);

:root{--reading:#e5ebf4;--muted:#b8c5d6}
html{scroll-padding-top:92px}
body{overflow-x:clip}
a,button{-webkit-tap-highlight-color:transparent}
:where(a,button):focus-visible{outline:3px solid var(--yellow);outline-offset:6px;box-shadow:0 0 0 9px #071a28}
.topbar{background:linear-gradient(180deg,#06172be8,#06172b9c);border-color:#ffffff24}
.topbar .entry{min-height:44px;display:flex;align-items:center;gap:12px}
.mini-brand{min-width:44px;min-height:44px;display:flex;align-items:center}
.hero-stage,.phase-two-stage,.kit-stage,.sponsors-stage,.arrival-stage{min-height:0}
.run-story{height:300vh}
.phase-two{height:390vh}
.athlete-kit{height:260vh}
.sponsors{height:250vh}
.arrival{height:180vh}
.stage-wash{background:linear-gradient(110deg,#052768aa,transparent 88%)}
.hero-copy{padding-top:clamp(120px,17svh,180px)}
.hero-copy h1{font-size:clamp(4rem,10.2vw,10rem);line-height:.84}
.hero-copy h1 em{color:var(--green)}
.hero-bottom p{max-width:32ch;color:#fff;line-height:1.6}
.distance{width:max-content;white-space:nowrap;pointer-events:none}
.pretitle span:first-child{color:#071a28;background:var(--yellow);padding:7px 9px}
.pretitle{align-items:center}
.hero-actions{display:grid;justify-items:end;gap:12px}
.start{min-height:44px}
.information-link{font:500 11px/1.5 DM Mono,monospace;letter-spacing:.06em;color:#fff;text-underline-offset:5px;min-height:44px;display:flex;align-items:center}
.scroll-cue{display:none}
.after-start .chapter{color:#061b35;background:var(--yellow);width:max-content;padding:7px 9px}
.after-start h2{text-shadow:0 3px 24px #06377d}
.after-note{color:#061b35;font-weight:700}

/* A stable date plateau; the route wipes in before the outgoing title vanishes. */
.event-editorial{opacity:clamp(0,calc((var(--q) - .08)*7),1);transform:translateY(calc((1 - clamp(0,calc((var(--q) - .08)*6),1))*28px));padding-top:clamp(148px,21svh,210px)}
.scene-label{color:#08254c;font-size:12px;font-weight:500;letter-spacing:.1em}
.event-meta span,.date-lockup span{color:#06294b}
.date-lockup strong{text-shadow:0 8px 40px #06418f33}
.event-meta{align-self:center;margin:0;border-color:#08254c66}
.event-meta p{font-size:clamp(2rem,3.4vw,4rem)}
.editorial-breath{display:none}
.route-prelude{clip-path:inset(calc((1 - clamp(0,calc((var(--q) - .58)/.16),1))*100%) 0 0 0);padding-top:148px;gap:32px}
.map-reserve{border:1px solid #a6bac333;min-height:0;background:radial-gradient(ellipse at 50% 100%,#12382b77,transparent 65%)}
.map-reserve span{color:var(--muted);font-size:12px}
.map-reserve p{font:400 clamp(1.5rem,3vw,3rem)/1.1 Archivo Black,sans-serif;letter-spacing:-.04em}

/* Product and copy each have a dedicated reading zone. */
.kit-heading{top:clamp(146px,20svh,190px);max-width:49%;transform:translateY(calc((1 - var(--k-title))*28px))}
.kit-heading h2{font-size:clamp(4.5rem,8.8vw,10rem);line-height:.85}
.kit-heading p,.sponsors-heading p,.arrival-message>p{font-size:12px;letter-spacing:.12em}
.kit-product{right:0;top:52%;width:55vw;transform:translate(calc((1 - var(--k-product))*9vw + var(--kit-x)*6px),calc(-46% + (1 - var(--k-product))*5vh)) scale(calc(.94 + var(--k-product)*.06)) rotate(-3deg)}
.kit-product img{max-height:75svh}
.kit-caption{bottom:8svh;max-width:45%;transform:translateY(calc((1 - var(--k-caption))*24px))}
.kit-caption strong{font-size:clamp(1.3rem,2vw,2rem);line-height:1.15}
.kit-copy ul{font-size:12px;line-height:1.5;letter-spacing:.025em}
.kit-copy li:last-child{color:var(--muted)}
.kit-caption>span{color:var(--muted)}

/* Preserve all three expandable marquee lanes. */
.sponsors-heading{top:clamp(146px,19svh,184px);transform:translateY(calc((1 - var(--s-title))*24px))}
.sponsors-heading h2{font-size:clamp(3.8rem,8.1vw,9rem)}
.sponsor-streams{top:60%;gap:clamp(14px,2svh,24px)}
.sponsor-slot{height:clamp(76px,10svh,104px)}
.sponsor-pause{position:absolute;z-index:5;bottom:30px;right:5vw;min-height:44px;padding:12px 16px;border:1px solid #b8c5d65c;background:#071a28;color:#e5ebf4;font:500 11px/1.4 DM Mono,monospace;letter-spacing:.05em;cursor:pointer}
.sponsor-pause[aria-pressed="true"]{background:var(--green);color:#071a28;border-color:var(--green)}
.sponsors.is-paused .sponsor-track{animation-play-state:paused}
.sponsor-slot img{filter:none}
.arrival-word{top:28%;font-size:clamp(5.5rem,15vw,16rem);transform:translateX(calc((1 - var(--a-impact))*6vw))}
.arrival-axis{top:51%}
.arrival-message{bottom:10svh;transform:translateY(calc((1 - var(--a-message))*30px))}
.arrival-message h2{font-size:clamp(3rem,6.1vw,6.6rem);line-height:.88}
.post-finish-stage{padding-top:clamp(120px,16svh,180px)}
.post-finish-copy h2{line-height:.86}
.final-entry{min-height:96px}
.final-entry small{font-size:11px;opacity:1;color:#08352b}
.post-finish-signature span{font-size:10px;color:var(--muted)}

@media(max-width:700px){
  html{scroll-padding-top:80px}
  .topbar{height:68px;padding:0 18px;grid-template-columns:1fr auto}
  .topbar .edition{display:none}
  .topbar .entry{font-size:11px;padding:12px 14px}
  .run-story{height:260vh}.phase-two{height:330vh}.athlete-kit{height:220vh}.sponsors{height:220vh}.arrival{height:160vh}
  .hero-copy{padding:112px 20px 28px}
  .hero-copy h1{font-size:clamp(3.4rem,13.5vw,5.7rem);line-height:.87;letter-spacing:-.065em}
  .hero-bottom{display:grid;gap:16px}
  .hero-bottom p{display:block;font-size:14px;margin:0;line-height:1.5}
  .hero-actions{justify-items:start;gap:0}
  .information-link{font-size:10px}
  .start{font-size:12px}
  .pretitle{font-size:11px;gap:20px;letter-spacing:.08em}
  main>.after-start{top:120px;left:20px;right:20px}
  .after-start h2{font-size:clamp(2rem,14vw,4.8rem);line-height:.88}
  .after-note{font-size:13px}
  .event-editorial{padding:144px 20px 32px;gap:28px}
  .scene-label{font-size:10px;max-width:24ch;line-height:1.6;margin:0}
  .date-lockup{margin:auto 0;align-self:flex-start}
  .date-lockup strong{font-size:clamp(8.5rem,43vw,12rem)}
  .date-lockup span{font-size:2.3rem}
  .event-meta{display:grid;grid-template-columns:1.4fr 1fr;align-self:stretch;gap:16px;padding-top:20px;margin:0}
  .event-meta p{font-size:clamp(1.1rem,5vw,1.5rem);line-height:1.15}
  .event-meta span{font-size:11px;margin-bottom:8px;letter-spacing:.08em}
  .route-prelude{padding:144px 20px 28px;gap:26px}
  .route-copy h2{font-size:clamp(2.8rem,14vw,4.8rem);line-height:.9}
  .route-copy p{font-size:11px}
  .route-copy strong{font-size:1.5rem}
  .map-reserve{min-height:0}
  .map-reserve span{font-size:10px;letter-spacing:.1em}
  .kit-stage{display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:144px 20px 24px;gap:12px}
  .kit-heading{position:relative;inset:auto;max-width:none}
  .kit-heading p{font-size:10px;margin-bottom:12px}
  .kit-heading h2{font-size:clamp(3rem,14vw,4.8rem);line-height:.86}
  .kit-items,.kit-item{display:contents}
  .kit-product{position:relative;inset:auto;width:100%;height:100%;min-height:0;align-self:center;transform:translateX(calc((1 - var(--k-product))*12vw)) rotate(-3deg)}
  .kit-product img{width:100%;height:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 12px 18px #0005)}
  .kit-product-shadow{display:none}
  .kit-caption{position:relative;inset:auto;max-width:none;gap:7px}
  .kit-caption>span{font-size:10px}
  .kit-caption strong{font-size:1.3rem}
  .kit-copy{gap:8px}.kit-copy ul{font-size:11px;max-width:none;gap:4px;line-height:1.4}
  .sponsors-heading{top:144px;left:20px;right:20px}
  .sponsors-heading p{font-size:10px;letter-spacing:.06em;line-height:1.5}
  .sponsors-heading h2{font-size:clamp(1.8rem,8.8vw,3.6rem);line-height:.9}
  .sponsor-streams{top:59%;gap:16px}
  .sponsor-slot{height:68px}
  .sponsor-pause{right:20px;bottom:24px;font-size:10px}
  .arrival-word{top:27%;font-size:18vw;left:20px;right:20px}
  .arrival-message{left:20px;right:20px;bottom:12svh}
  .arrival-message h2{font-size:clamp(2.4rem,11vw,4.6rem);line-height:.9}
  .arrival-meta{font-size:11px;flex-wrap:wrap;line-height:1.5}
  .post-finish-stage{padding:132px 20px 28px;min-height:100svh}
  .post-finish{min-height:100svh}
  .post-finish-copy h2{font-size:clamp(3.8rem,18vw,6rem);line-height:.88}
  .post-finish-details{font-size:11px;line-height:1.6;margin-top:28px}
  .post-finish-rule{margin-bottom:28px}
  .final-entry{min-height:88px;margin-top:28px}
}

@media(pointer:coarse){.kit-product img{transition:none}}
