:root{--blue:#187eff;--green:#00fb8e;--yellow:#ffd000;--ink:#07090d;--paper:#f6f7f2;--p:0;--mx:0;--my:0}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{margin:0;background:var(--ink);color:var(--paper);font-family:Inter,Arial,sans-serif;overflow-x:hidden}.skip{position:fixed;z-index:1000;left:16px;top:-80px;background:var(--yellow);color:#000;padding:12px 18px;font-weight:800}.skip:focus{top:16px}img{display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.intro{position:fixed;z-index:900;inset:0;background:var(--blue);display:grid;place-items:center;overflow:hidden;animation:introOut .5s cubic-bezier(.76,0,.24,1) 1.45s forwards;pointer-events:none}.intro-logo{position:relative;width:min(440px,68vw);max-height:46vh;object-fit:contain;animation:logoLaunch 1.25s cubic-bezier(.16,1,.3,1) both;filter:drop-shadow(0 16px 35px #00217966)}.intro-track{position:absolute;inset:0;transform:skewX(-12deg)}.intro-track span{position:absolute;left:10%;width:22%;height:160%;top:-30%;background:var(--green);transform:translateX(-180vw);animation:trackPass .8s cubic-bezier(.7,0,.2,1) forwards}.intro-track span:nth-child(2){left:45%;width:3%;background:var(--yellow);animation-delay:.12s}.intro-track span:nth-child(3){left:76%;width:8%;background:#fff;animation-delay:.18s}.intro-count{position:absolute;bottom:24px;right:28px;font:500 12px DM Mono,monospace;letter-spacing:.18em;color:#fff}.topbar{position:fixed;z-index:100;top:0;left:0;width:100%;height:74px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(20px,4vw,64px);border-bottom:1px solid #ffffff2a;color:#fff;animation:barIn .4s ease 1.55s both}.mini-brand img{height:38px;width:74px;object-fit:contain;object-position:left center}.edition{font:500 11px DM Mono,monospace;letter-spacing:.15em}.edition span{color:var(--green)}.entry{justify-self:end;background:var(--yellow);color:#07090d;padding:13px 18px;font:700 12px DM Mono,monospace;letter-spacing:.05em;text-decoration:none;transition:transform .2s,background .2s}.entry:hover,.entry:focus-visible{background:var(--green);transform:translateY(-2px)}.run-story{height:300vh;position:relative}.hero-stage{position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden;background:var(--blue);isolation:isolate}.stage-wash{position:absolute;z-index:-3;inset:0;background:linear-gradient(115deg,#0a4de5 0%,var(--blue) 45%,#1269e8 100%);transform:scale(calc(1 + var(--p)*.25))}.speed-field{position:absolute;z-index:-2;inset:0;opacity:calc(.1 + var(--p)*.45)}.speed-field i{position:absolute;width:2px;height:44vh;background:linear-gradient(transparent,#fff,transparent);transform:rotate(19deg) translateY(calc(var(--p)*-100vh));left:18%;top:80%}.speed-field i:nth-child(2){left:48%;top:110%;height:70vh;background:linear-gradient(transparent,var(--green),transparent)}.speed-field i:nth-child(3){left:72%;top:90%;height:50vh}.speed-field i:nth-child(4){left:90%;top:120%;background:linear-gradient(transparent,var(--yellow),transparent)}.hero-copy{position:absolute;inset:0;padding:clamp(100px,14vh,148px) clamp(20px,5vw,76px) clamp(32px,5vw,58px);display:flex;flex-direction:column;justify-content:space-between;opacity:clamp(0,calc(1 - var(--p)*3),1);transform:translateY(calc(var(--p)*-8vh))}.pretitle{margin:0;display:flex;gap:24px;font:500 clamp(12px,1vw,15px) DM Mono,monospace;letter-spacing:.14em}.pretitle span:first-child{color:var(--yellow)}h1{font:400 clamp(4rem,10.5vw,10.5rem)/.78 Archivo Black,Arial Black,sans-serif;letter-spacing:-.065em;margin:0;max-width:1100px}h1 em,h2 em{color:var(--green);font-style:normal}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:28px}.hero-bottom p{font-size:clamp(14px,1.2vw,18px);line-height:1.45}.start{border:0;background:transparent;color:#fff;border-bottom:2px solid var(--green);padding:12px 0;font:700 13px DM Mono,monospace;letter-spacing:.06em;cursor:pointer}.start span{display:inline-block;margin-left:30px;animation:nudge 1.2s infinite}.brand-flag{position:absolute;z-index:-1;right:-3vw;top:50%;width:min(36vw,540px);transform:translateY(-45%) rotate(-4deg);opacity:.2}.brand-flag img{width:100%;filter:drop-shadow(0 20px 80px #083ea5)}.shirt-wrap{position:absolute;z-index:4;left:50%;top:50%;width:min(68vw,870px);transform:translate(-50%,calc(-35% + (1 - var(--p))*80vh)) scale(calc(.55 + var(--p)*.52)) rotate(calc(-5deg + var(--mx)*3deg));opacity:clamp(0,calc((var(--p) - .18)*5),1);will-change:transform}.shirt{width:100%;max-height:80svh;object-fit:contain;transform:perspective(900px) rotateY(calc(var(--mx)*5deg)) rotateX(calc(var(--my)*-3deg)) translate(calc(var(--mx)*10px),calc(var(--my)*8px));transition:transform .25s ease-out;filter:drop-shadow(0 40px 50px #00174d88)}.shirt-shadow{position:absolute;left:25%;right:17%;bottom:2%;height:15%;background:#00194e88;filter:blur(28px);border-radius:50%}.start-line{position:absolute;z-index:5;left:-5%;bottom:calc(48% - var(--p)*38%);width:110%;height:74px;background:var(--yellow);color:#080b10;display:flex;align-items:center;gap:5vw;white-space:nowrap;overflow:hidden;transform:rotate(calc(-7deg + var(--p)*7deg)) scaleX(calc(.4 + var(--p)*.6));transform-origin:center;font:400 clamp(2rem,4vw,4.5rem)/1 Archivo Black,sans-serif;letter-spacing:-.04em;opacity:clamp(0,calc((var(--p) - .08)*6),1)}.distance{position:absolute;z-index:6;left:clamp(20px,5vw,76px);bottom:clamp(28px,6vh,70px);opacity:clamp(0,calc((var(--p) - .25)*4),1);transform:translateY(calc((1 - var(--p))*35px))}.distance-label{font:500 11px DM Mono,monospace;letter-spacing:.18em}.distance strong{display:block;font:400 clamp(5rem,13vw,13rem)/.82 Archivo Black,sans-serif;letter-spacing:-.08em}.distance small{font:400 .18em DM Mono,monospace;letter-spacing:0;margin-left:.25em}.after-start{position:absolute;z-index:7;right:clamp(20px,6vw,90px);top:18%;max-width:min(47vw,720px);text-align:right;opacity:clamp(0,calc((var(--p) - .62)*4),1);transform:translateX(calc((1 - var(--p))*20vw))}.chapter{font:500 11px DM Mono,monospace;letter-spacing:.18em;color:var(--yellow)}.after-start h2{font:400 clamp(3.1rem,7vw,7.5rem)/.83 Archivo Black,sans-serif;letter-spacing:-.06em;margin:.25em 0}.after-note{font-size:clamp(14px,1.3vw,18px)}.scroll-cue{position:absolute;z-index:10;right:clamp(20px,4vw,64px);bottom:32px;display:flex;align-items:center;gap:14px;font:500 10px DM Mono,monospace;letter-spacing:.16em;opacity:clamp(0,calc(1 - var(--p)*4),1)}.scroll-cue i{height:1px;width:56px;background:#fff}.progress{position:absolute;z-index:20;right:0;top:0;width:4px;height:100%;background:#0002}.progress span{display:block;width:100%;height:calc(var(--p)*100%);background:var(--green)}.end-cap{min-height:70vh;background:var(--ink);padding:clamp(70px,12vw,160px) clamp(20px,6vw,90px);display:flex;flex-direction:column;justify-content:center}.end-cap p{font:500 11px DM Mono,monospace;letter-spacing:.18em;color:var(--green)}.end-cap h2{font:400 clamp(3.2rem,9vw,10rem)/.86 Archivo Black,sans-serif;letter-spacing:-.065em;margin:.22em 0 0}.end-cap{scroll-margin-top:74px}
@keyframes introOut{to{clip-path:inset(0 0 100% 0);visibility:hidden}}@keyframes logoLaunch{0%{opacity:0;transform:translateX(-30vw) skewX(-12deg) scale(.7)}55%{opacity:1;transform:translateX(0) skewX(0) scale(1)}100%{transform:translateX(3vw) scale(1.05)}}@keyframes trackPass{to{transform:translateX(180vw)}}@keyframes barIn{from{opacity:0;transform:translateY(-12px)}}@keyframes nudge{50%{transform:translateY(5px)}}
@media(max-width:700px){.topbar{height:62px;padding:0 18px;grid-template-columns:1fr auto}.edition{display:none}.mini-brand img{height:30px;width:58px}.entry{padding:11px 12px;font-size:10px}.hero-stage{min-height:560px}.hero-copy{padding:100px 20px 28px}.pretitle{justify-content:space-between}.hero-copy h1{font-size:clamp(3.6rem,18vw,6.3rem);line-height:.8;transform:translateX(-2px)}.hero-bottom p{display:none}.hero-bottom{justify-content:flex-start}.brand-flag{width:78vw;right:-28vw;top:46%}.shirt-wrap{width:112vw;transform:translate(-50%,calc(-33% + (1 - var(--p))*85vh)) scale(calc(.5 + var(--p)*.5)) rotate(calc(-6deg + var(--mx)*2deg))}.shirt{max-height:68svh}.start-line{height:52px;bottom:calc(39% - var(--p)*29%);gap:10vw;font-size:2.2rem}.start-line span:nth-child(even){display:none}.distance{bottom:28px}.distance strong{font-size:clamp(5.8rem,28vw,9rem)}.after-start{right:18px;left:18px;top:16%;max-width:none}.after-start h2{font-size:clamp(3rem,15.5vw,5.4rem)}.after-note{max-width:240px;margin-left:auto}.scroll-cue{right:18px;bottom:24px}.scroll-cue span{display:none}.scroll-cue i{width:38px}.end-cap{min-height:62vh;padding:80px 20px}.end-cap h2{font-size:clamp(3rem,15vw,5rem)}}
@media(max-height:680px) and (min-width:701px){.hero-copy{padding-top:92px}.hero-copy h1{font-size:clamp(4rem,9vw,7rem)}.distance strong{font-size:8rem}.after-start h2{font-size:5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.intro{display:none}.topbar{animation:none}.start span{animation:none}.shirt{transition:none}.speed-field{display:none}.hero-copy{opacity:1;transform:none}.brand-flag{opacity:.16}.run-story{height:auto}.hero-stage{position:relative}.shirt-wrap,.start-line,.distance,.after-start{display:none}}

/* V2 refinement: one continuous launch, no start banner. */
:root{--vx:0;--vy:0}
.intro{animation:introMerge .72s cubic-bezier(.76,0,.24,1) 1.18s forwards}
.intro::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#ffffff16 49%,transparent 72%);transform:translateX(-120%);animation:sheenPass .8s cubic-bezier(.7,0,.2,1) .28s forwards}
.intro-logo{z-index:3;animation:logoMerge 1.55s cubic-bezier(.16,1,.3,1) both}
.intro-echo{position:absolute;z-index:2;width:min(620px,86vw);aspect-ratio:1;background:radial-gradient(circle,#00fb8e1f 0 20%,transparent 62%);transform:scale(.5);animation:echoOut 1.25s ease-out .16s both}
.intro-count{z-index:3;animation:introMeta .35s ease .9s forwards}
.hero-copy{opacity:clamp(0,calc(1 - var(--p)*2.8),1);transform:translateY(calc(var(--p)*-11vh)) scale(calc(1 - var(--p)*.035));transform-origin:left center;animation:heroArrive .7s cubic-bezier(.16,1,.3,1) 1.22s both}
.brand-flag{transform:translateY(calc(-45% - var(--p)*6%)) rotate(calc(-4deg + var(--p)*2deg)) scale(calc(1 + var(--p)*.08));opacity:clamp(.08,calc(.21 - var(--p)*.14),.21);animation:brandSettle .8s cubic-bezier(.16,1,.3,1) 1.15s both}
.run-story{height:320vh}
.stage-wash{inset:-8%;transform:translate(calc(var(--p)*-2%),calc(var(--p)*-2%)) scale(calc(1 + var(--p)*.2))}
.speed-field{inset:-20%;opacity:clamp(.08,calc(var(--p)*.9),.72);transform:skewX(-9deg)}
.speed-field i{height:64vh;transform:rotate(19deg) translateY(calc(var(--p)*-150vh));box-shadow:0 0 16px #fff6}
.speed-field i:nth-child(2){height:82vh;width:4px}.speed-field i:nth-child(3){height:62vh}.speed-field i:nth-child(4){height:74vh}
.shirt-wrap{width:min(69vw,880px);transform:translate(calc(-50% + var(--vx)*5px),calc(-31% + (1 - var(--p))*92vh + var(--vy)*4px)) scale(calc(.46 + var(--p)*.58)) rotate(calc(-7deg + var(--mx)*3.2deg));opacity:clamp(0,calc((var(--p) - .2)*5),1);touch-action:pan-y}
.shirt{position:relative;z-index:2;max-height:82svh;transform:perspective(1000px) rotateY(calc(var(--mx)*6deg)) rotateX(calc(var(--my)*-4deg)) skewY(calc(var(--vx)*.25deg)) translate(calc(var(--mx)*10px),calc(var(--my)*8px));transition:transform .22s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(calc(var(--mx)*-18px) calc(35px + var(--my)*10px) 48px #00174d99)}
.shirt-shadow{z-index:0;transform:translate(calc(var(--mx)*-18px),calc(var(--my)*8px)) scaleX(calc(.86 + var(--p)*.18));filter:blur(calc(22px + var(--p)*14px));transition:transform .2s}
.airflow{position:absolute;z-index:1;inset:12% -12% 9% -12%;opacity:clamp(0,calc((var(--p) - .28)*2.8),.62);pointer-events:none}
.airflow i{position:absolute;left:0;right:0;top:26%;height:1px;background:linear-gradient(90deg,transparent,#fff8 20%,transparent 82%);transform:translateX(calc((1 - var(--p))*-35%)) rotate(-7deg)}
.airflow i:nth-child(2){top:52%;left:8%;right:-8%;background:linear-gradient(90deg,transparent,var(--green) 35%,transparent 86%);transform:translateX(calc((1 - var(--p))*-50%)) rotate(5deg)}
.airflow i:nth-child(3){top:76%;left:-4%;right:14%;transform:translateX(calc((1 - var(--p))*-40%)) rotate(-2deg)}
.distance{opacity:clamp(0,calc((var(--p) - .08)*5),1);transform:translateY(calc((1 - var(--p))*44px))}
.distance strong{font-variant-numeric:tabular-nums}
.after-start{top:17%;opacity:clamp(0,calc((var(--p) - .7)*4.5),1);transform:translateX(calc((1 - var(--p))*22vw))}
@keyframes introMerge{0%{opacity:1;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}60%{opacity:1}100%{opacity:0;clip-path:polygon(0 0,100% 0,100% 0,0 22%);visibility:hidden}}
@keyframes logoMerge{0%{opacity:0;transform:translateX(-30vw) skewX(-12deg) scale(.7)}48%{opacity:1;transform:translateX(0) skewX(0) scale(1)}78%{transform:translateX(2vw) scale(1.04)}100%{opacity:.15;transform:translate(27vw,-1vh) rotate(-4deg) scale(1.18)}}
@keyframes echoOut{0%{opacity:0;transform:scale(.45)}55%{opacity:1}100%{opacity:0;transform:scale(1.45)}}
@keyframes introMeta{to{opacity:0;transform:translateY(-8px)}}
@keyframes sheenPass{to{transform:translateX(120%)}}
@keyframes heroArrive{from{opacity:0;transform:translateY(4vh) scale(.98)}}
@keyframes brandSettle{from{opacity:0;transform:translateY(-45%) translateX(-16vw) rotate(-9deg) scale(1.2)}}
@media(max-width:700px){
  .intro-logo{width:76vw}.intro-count{right:18px;bottom:18px}
  .shirt-wrap{width:113vw;transform:translate(calc(-50% + var(--vx)*3px),calc(-29% + (1 - var(--p))*94vh + var(--vy)*3px)) scale(calc(.43 + var(--p)*.55)) rotate(calc(-7deg + var(--mx)*2.2deg))}
  .shirt{max-height:70svh;transform:perspective(800px) rotateY(calc(var(--mx)*4deg)) rotateX(calc(var(--my)*-3deg)) skewY(calc(var(--vx)*.18deg))}
}
@media(prefers-reduced-motion:reduce){.airflow{display:none}.hero-copy,.brand-flag{animation:none}.shirt-wrap,.distance,.after-start{display:none}}

/* Fase 02 — a cena de produto se reorganiza em informação e linguagem cartográfica. */
.distance{position:fixed;z-index:60;pointer-events:none;transition:left .45s cubic-bezier(.16,1,.3,1),bottom .45s cubic-bezier(.16,1,.3,1),top .45s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1),color .25s}
body.is-phase-two .distance{left:clamp(20px,4vw,64px);top:clamp(88px,12vh,124px);bottom:auto;transform:none}
body.is-phase-two .distance strong{font-size:clamp(3rem,6vw,6rem);letter-spacing:-.06em}
body.is-phase-two .distance-label{opacity:.7}
body.at-one-km .distance{color:var(--green);transform:scale(1.12);transform-origin:left top}
.phase-two{height:470vh;position:relative;background:var(--blue);--q:0}
.phase-two-stage{position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden;background:var(--blue);isolation:isolate}
.phase-two-wash{position:absolute;z-index:-4;inset:-10%;background:linear-gradient(122deg,#0e60ed 0%,var(--blue) 42%,#082d8f 100%);transform:scale(calc(1 + var(--q)*.18)) translateX(calc(var(--q)*-3%))}
.shirt-handoff{position:absolute;z-index:2;left:50%;top:50%;width:min(69vw,880px);transform:translate(calc(-50% - var(--q)*45vw),calc(-31% + var(--q)*18vh)) scale(calc(1.04 - var(--q)*.55)) rotate(calc(-7deg - var(--q)*5deg));opacity:clamp(0,calc(1 - var(--q)*3.1),1);filter:drop-shadow(0 36px 50px #00174d88)}
.shirt-handoff img{width:100%;max-height:82svh;object-fit:contain}
.event-editorial{position:absolute;inset:0;padding:clamp(104px,14vh,150px) clamp(20px,6vw,92px) clamp(34px,6vh,70px);opacity:clamp(0,calc((var(--q) - .08)*5),calc((.66 - var(--q))*6));transform:translateX(calc((.22 - var(--q))*28vw));display:grid;grid-template-columns:minmax(0,1.45fr) minmax(230px,.55fr);grid-template-rows:auto 1fr;gap:3vh 5vw}
.scene-label{grid-column:1/-1;margin:0;font:500 11px DM Mono,monospace;letter-spacing:.17em;color:#d9e8ff}
.date-lockup{align-self:center;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:clamp(14px,2vw,34px);width:min-content}
.date-lockup strong{grid-row:1/3;font:400 clamp(11rem,27vw,27rem)/.68 Archivo Black,sans-serif;letter-spacing:-.1em;color:var(--paper)}
.date-lockup span{align-self:end;font:400 clamp(2.6rem,6vw,6.4rem)/.85 Archivo Black,sans-serif;color:var(--green)}
.date-lockup b{font:500 clamp(1.2rem,2.2vw,2.5rem)/1 DM Mono,monospace;letter-spacing:.08em}
.event-meta{align-self:end;border-top:1px solid #ffffff4d;padding-top:24px;display:grid;gap:26px;margin-bottom:4vh}
.event-meta p{margin:0;font:600 clamp(1.35rem,2.2vw,2.5rem)/1.08 Inter,sans-serif;letter-spacing:-.035em}
.event-meta span{display:block;margin-bottom:8px;font:500 11px DM Mono,monospace;letter-spacing:.16em;color:var(--green)}
.km-milestone{position:absolute;z-index:8;inset:0;display:grid;place-content:center;text-align:center;opacity:clamp(0,calc((var(--q) - .42)*12),calc((.58 - var(--q))*12));transform:scale(calc(.82 + var(--q)*.3));pointer-events:none}
.km-milestone span{font:400 clamp(10rem,28vw,30rem)/.7 Archivo Black,sans-serif;letter-spacing:-.09em;color:var(--green)}
.km-milestone small{font:500 14px DM Mono,monospace;letter-spacing:.18em}
.km-milestone i{display:block;width:clamp(90px,14vw,220px);height:2px;background:#fff;margin:26px auto 0;transform:scaleX(clamp(0,calc((var(--q) - .44)*12),1))}
.city-scene{position:absolute;inset:0;padding:clamp(106px,15vh,160px) clamp(20px,6vw,92px) clamp(42px,7vh,80px);display:flex;flex-direction:column;justify-content:flex-end;opacity:clamp(0,calc((var(--q) - .54)*6),calc((.8 - var(--q))*7));transform:translateY(calc((.64 - var(--q))*24vh))}
.city-scene p{align-self:flex-end;margin:0 0 auto;font:500 clamp(1rem,1.6vw,1.4rem)/1.35 DM Mono,monospace;text-align:right;letter-spacing:.05em}.city-scene p em{color:var(--green);font-style:normal}
.city-scene strong{font:400 clamp(5.4rem,17vw,18rem)/.72 Archivo Black,sans-serif;letter-spacing:-.085em;white-space:nowrap;transform:translateX(-.04em)}
.city-scene>span{font:500 12px DM Mono,monospace;letter-spacing:.18em;color:var(--green);margin-top:20px}
.route-prelude{position:absolute;inset:0;background:var(--ink);clip-path:inset(calc((1 - clamp(0,calc((var(--q) - .7)*4),1))*100%) 0 0 0);overflow:hidden}
.technical-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff12 1px,transparent 1px),linear-gradient(90deg,#ffffff12 1px,transparent 1px);background-size:clamp(44px,6vw,88px) clamp(44px,6vw,88px);mask-image:linear-gradient(to bottom,transparent 3%,#000 22%,#000 85%,transparent)}
.abstract-route{position:absolute;inset:12% 5% auto auto;width:min(62vw,900px);height:66vh;overflow:visible}
.abstract-route path{fill:none;stroke:var(--green);stroke-width:3;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - clamp(0,calc((var(--q) - .77)*4.2),1));filter:drop-shadow(0 0 8px #00fb8e55)}
.abstract-route circle{fill:var(--ink);stroke:#fff;stroke-width:3;opacity:clamp(0,calc((var(--q) - .83)*8),1)}
.route-copy{position:absolute;z-index:2;left:clamp(20px,6vw,92px);top:clamp(110px,16vh,170px);max-width:60vw}
.route-copy p{margin:0 0 15px;font:500 11px DM Mono,monospace;letter-spacing:.18em;color:var(--green)}
.route-copy h2{margin:0;font:400 clamp(4.5rem,13vw,14rem)/.72 Archivo Black,sans-serif;letter-spacing:-.075em}
.route-copy strong{display:block;margin-top:18px;font:500 clamp(1.8rem,3vw,3.4rem)/1 DM Mono,monospace}
.route-copy>span{display:block;margin-top:18px;font:500 11px DM Mono,monospace;letter-spacing:.12em;color:#a9adb5}
.route-axis{position:absolute;z-index:2;left:clamp(20px,6vw,92px);right:clamp(20px,6vw,92px);bottom:clamp(34px,6vh,68px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;font:500 11px DM Mono,monospace;letter-spacing:.16em}
.route-axis i{height:1px;background:#ffffff55;position:relative}.route-axis i::after{content:"";position:absolute;left:calc(clamp(0,calc((var(--q) - .76)*4),1)*100%);top:50%;width:9px;height:9px;border-radius:50%;background:var(--green);transform:translate(-50%,-50%);box-shadow:0 0 16px var(--green)}
.phase-progress{position:absolute;z-index:20;right:0;top:0;width:4px;height:100%;background:#ffffff12}.phase-progress span{display:block;width:100%;height:calc(var(--q)*100%);background:var(--green)}

@media(max-width:700px){
  body.is-phase-two .distance{left:18px;top:78px}.phase-two-stage{min-height:560px}
  .shirt-handoff{width:113vw;transform:translate(calc(-50% - var(--q)*70vw),calc(-29% + var(--q)*12vh)) scale(calc(.98 - var(--q)*.48)) rotate(calc(-7deg - var(--q)*5deg))}
  .event-editorial{padding:94px 18px 30px;display:flex;flex-direction:column;gap:0;transform:translateX(calc((.22 - var(--q))*40vw))}
  .scene-label{margin-bottom:auto}.date-lockup{margin-top:auto;grid-template-columns:auto 1fr}.date-lockup strong{font-size:clamp(9rem,47vw,13rem)}.date-lockup span{font-size:2.5rem}.date-lockup b{font-size:1.1rem}
  .event-meta{margin:24px 0 0;grid-template-columns:1fr 1fr;gap:14px;padding-top:16px}.event-meta p{font-size:1.05rem}.event-meta span{font-size:10px}
  .km-milestone span{font-size:45vw}
  .city-scene{padding:100px 18px 34px}.city-scene strong{font-size:19vw;white-space:normal;line-height:.78}.city-scene p{font-size:.85rem}.city-scene>span{font-size:10px}
  .route-prelude{clip-path:inset(calc((1 - clamp(0,calc((var(--q) - .7)*4),1))*100%) 0 0 0)}
  .abstract-route{width:115vw;height:55vh;right:-34vw;top:29%}
  .route-copy{left:18px;right:18px;top:104px;max-width:none}.route-copy h2{font-size:clamp(4.1rem,20vw,6.4rem)}.route-copy strong{font-size:1.8rem}
  .route-axis{left:18px;right:18px;bottom:30px;font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  .distance{display:none}.phase-two{height:auto}.phase-two-stage{position:relative;height:auto;min-height:0;overflow:visible;background:var(--blue)}
  .phase-two-wash,.shirt-handoff,.km-milestone,.phase-progress{display:none}
  .event-editorial,.city-scene,.route-prelude{position:relative;inset:auto;opacity:1;transform:none;clip-path:none}
  .event-editorial{min-height:100svh}.city-scene{min-height:70svh}.route-prelude{min-height:100svh}
  .abstract-route path{stroke-dashoffset:0}.abstract-route circle{opacity:1}
}

/* Refino Fase 02 — continuidade de produto e reserva para Google My Maps. */
.phase-two-stage{background:linear-gradient(115deg,#0a4de5 0%,var(--blue) 45%,#1269e8 100%)}
.phase-two-wash{opacity:clamp(0,calc(var(--q)*3),1);background:linear-gradient(122deg,#0e60ed 0%,var(--blue) 42%,#082d8f 100%)}
.shirt-handoff{transform:translate(calc(-50% - var(--q)*25vw),calc(-31% + var(--q)*38vh)) scale(calc(1.04 - var(--q)*.62)) rotate(calc(-7deg - var(--q)*4deg));opacity:clamp(0,calc((.64 - var(--q))*4),1)}
.event-editorial{opacity:clamp(0,calc((var(--q) - .1)*6),calc((.64 - var(--q))*7));transform:translateX(calc((.2 - var(--q))*22vw))}
.event-meta{gap:clamp(30px,5vh,58px);padding-top:clamp(24px,4vh,42px);margin-bottom:1vh}
.event-meta p{font-size:clamp(2rem,3.8vw,4.6rem);line-height:.95;letter-spacing:-.055em}
.event-meta span{font-size:12px;margin-bottom:12px}
.km-milestone,.city-scene,.abstract-route,.route-axis{display:none!important}
.editorial-breath{position:absolute;inset:0;opacity:clamp(0,calc((var(--q) - .5)*6),calc((.76 - var(--q))*7));pointer-events:none}
.editorial-breath i{position:absolute;height:1px;background:linear-gradient(90deg,transparent,#ffffff70,transparent);transform-origin:left center}
.editorial-breath i:nth-child(1){left:8%;top:38%;width:58%;transform:translateX(calc((.62 - var(--q))*22vw)) rotate(-6deg)}
.editorial-breath i:nth-child(2){right:7%;top:58%;width:36%;background:linear-gradient(90deg,transparent,var(--green),transparent);transform:translateX(calc((var(--q) - .62)*18vw)) rotate(4deg)}
.editorial-breath i:nth-child(3){left:28%;bottom:17%;width:44%;opacity:.4;transform:scaleX(clamp(0,calc((var(--q) - .54)*5),1))}
.route-prelude{display:grid;grid-template-rows:auto 1fr;gap:clamp(24px,4vh,48px);padding:clamp(100px,13vh,138px) clamp(20px,6vw,92px) clamp(34px,5vh,58px);clip-path:inset(calc((1 - clamp(0,calc((var(--q) - .69)*4.2),1))*100%) 0 0 0)}
.technical-grid{inset:0 0 auto;height:30%;opacity:.22;background-size:72px 72px;mask-image:linear-gradient(to bottom,#000,transparent)}
.route-copy{position:relative;inset:auto;max-width:none;text-align:center;align-self:start}
.route-copy p{margin-bottom:12px}
.route-copy h2{font-size:clamp(3.8rem,8.6vw,9.5rem);line-height:.78;letter-spacing:-.065em}
.route-copy strong{font-size:clamp(1.8rem,2.8vw,3rem);margin-top:16px;color:var(--green)}
.map-reserve{position:relative;align-self:stretch;width:100%;min-height:0;border-top:1px solid #ffffff45;border-bottom:1px solid #ffffff45;background:linear-gradient(135deg,#ffffff05,transparent 46%,#00fb8e08);display:grid;place-content:center;text-align:center;overflow:hidden}
.map-reserve::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.9%,#ffffff0e 50%,transparent 50.1%),linear-gradient(transparent 49.9%,#ffffff0e 50%,transparent 50.1%);pointer-events:none}
.map-reserve span{font:500 11px DM Mono,monospace;letter-spacing:.18em;color:#9ba2ac}
.map-reserve p{margin:10px 0 0;font:600 clamp(1rem,1.5vw,1.35rem)/1 Inter,sans-serif;letter-spacing:.04em}
.map-reserve>i{position:absolute;width:18px;height:18px;border-color:var(--green);border-style:solid}
.map-reserve>i:nth-of-type(1){left:0;top:0;border-width:2px 0 0 2px}.map-reserve>i:nth-of-type(2){right:0;top:0;border-width:2px 2px 0 0}.map-reserve>i:nth-of-type(3){right:0;bottom:0;border-width:0 2px 2px 0}.map-reserve>i:nth-of-type(4){left:0;bottom:0;border-width:0 0 2px 2px}
body.route-ready .distance{left:auto;right:clamp(20px,4vw,64px);top:clamp(86px,11vh,112px);transform:none;text-align:right}
body.route-ready .distance strong{font-size:clamp(2.4rem,4vw,4.4rem)}
body.route-ready .distance-label{font-size:10px}

@media(max-width:700px){
  .shirt-handoff{width:113vw;transform:translate(calc(-50% - var(--q)*20vw),calc(-29% + var(--q)*42vh)) scale(calc(.98 - var(--q)*.58)) rotate(calc(-7deg - var(--q)*4deg))}
  .event-editorial{transform:translateX(calc((.2 - var(--q))*32vw))}
  .event-meta{grid-template-columns:1fr;gap:22px;margin-top:22px}.event-meta p{font-size:clamp(1.65rem,8vw,2.6rem);line-height:1}.event-meta span{font-size:10px;margin-bottom:7px}
  .editorial-breath i:nth-child(1){left:-6%;width:82%}.editorial-breath i:nth-child(2){right:-8%;width:66%}
  .route-prelude{padding:92px 18px 26px;gap:24px;grid-template-rows:auto 1fr}
  .route-copy h2{font-size:clamp(3.2rem,16vw,5.6rem)}.route-copy strong{font-size:1.55rem;margin-top:12px}
  .map-reserve{min-height:52svh}
  body.route-ready .distance{left:auto;right:18px;top:70px;text-align:right}body.route-ready .distance strong{font-size:2.35rem}
}
@media(prefers-reduced-motion:reduce){
  .editorial-breath{display:none}.route-prelude{display:grid;padding:90px 20px 28px}.map-reserve{min-height:58svh}
}

/* Microrefino 01 — trajetórias contínuas, sem troca visual de instâncias. */
.distance,
body.is-phase-two .distance,
body.route-ready .distance{
  position:fixed;
  left:0;
  right:auto;
  top:0;
  bottom:auto;
  text-align:left;
  transform:translate3d(var(--distance-x,5vw),var(--distance-y,70vh),0) scale(var(--distance-pulse,1));
  transform-origin:left top;
  transition:color .25s,font-size .25s;
  will-change:transform;
}
body.at-one-km .distance{
  --distance-pulse:1.06;
  transform:translate3d(var(--distance-x,5vw),var(--distance-y,70vh),0) scale(var(--distance-pulse));
}
body.route-ready .distance{text-align:right}

.shirt-handoff{
  position:fixed;
  left:50%;
  top:50%;
  transform:translate(calc(-50% - var(--bridge-shift-x,0vw)),calc(var(--bridge-base-y,-31%) + var(--bridge-shift-y,0vh))) scale(var(--bridge-scale,1.04)) rotate(var(--bridge-rotation,-7deg));
  opacity:0;
  pointer-events:none;
  will-change:transform,opacity;
}
body.shirt-bridge-active .shirt-handoff{opacity:var(--bridge-opacity,1)}
body.shirt-bridge-active .shirt-wrap{opacity:0}

@media(max-width:700px){
  body.is-phase-two .distance,
  body.route-ready .distance{left:0;right:auto;top:0}
  .shirt-handoff{
    transform:translate(calc(-50% - var(--bridge-shift-x,0vw)),calc(var(--bridge-base-y,-29%) + var(--bridge-shift-y,0vh))) scale(var(--bridge-scale,.98)) rotate(var(--bridge-rotation,-7deg));
  }
}

/* Fase 04 — chegada e CTA final. Começa após o slot reservado do mapa. */
.arrival{height:240vh;position:relative;--a:0;--a-enter:0;--a-impact:0;--a-message:0;background:linear-gradient(180deg,#071a28 0%,var(--ink) 22%)}
.arrival[hidden]{display:none!important}
.arrival-stage{position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden;background:linear-gradient(180deg,#071a28 0%,#07090d 35%);isolation:isolate;padding:clamp(96px,12vh,132px) clamp(20px,5vw,76px) clamp(28px,5vh,52px)}
.arrival-stage::before{content:"";position:absolute;z-index:-2;inset:-12%;background:radial-gradient(circle at 72% 30%,#187eff24,transparent 42%),linear-gradient(145deg,#07090d 10%,#0b1018 62%,#061c17 100%);transform:scale(calc(1.12 - var(--a-enter)*.12))}
.arrival-stage::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(110deg,transparent 0 46%,#00fb8e12 46.2%,transparent 46.5%);opacity:calc(.18 + var(--a-impact)*.42)}
.arrival-axis{position:absolute;z-index:1;left:clamp(20px,5vw,76px);right:clamp(20px,5vw,76px);top:50%;height:1px;background:#ffffff20;transform:scaleX(var(--a-enter));transform-origin:left center}
.arrival-axis span{position:absolute;right:0;top:50%;width:9px;height:9px;border-radius:50%;background:var(--green);transform:translate(50%,-50%) scale(var(--a-impact));box-shadow:0 0 20px #00fb8e77}
.arrival-km{display:none;position:absolute;z-index:2;left:clamp(20px,5vw,76px);top:clamp(90px,12vh,132px);margin:0;align-items:flex-start;gap:clamp(10px,1.2vw,20px);color:var(--green)}
.arrival-km strong{font:400 clamp(7.5rem,18vw,19rem)/.72 Archivo Black,sans-serif;letter-spacing:-.095em}
.arrival-km span{font:500 clamp(1rem,1.6vw,1.5rem)/1 DM Mono,monospace;letter-spacing:.16em;margin-top:.7em}
.arrival-word{position:absolute;z-index:3;right:clamp(20px,5vw,76px);top:43%;margin:0;font:400 clamp(5.5rem,16vw,17rem)/.72 Archivo Black,sans-serif;letter-spacing:-.075em;color:var(--paper);opacity:var(--a-impact);clip-path:inset(0 calc((1 - var(--a-impact))*100%) 0 0);transform:translateX(calc((1 - var(--a-impact))*18vw));will-change:transform,opacity,clip-path}
.arrival-message{position:absolute;z-index:4;left:clamp(20px,5vw,76px);bottom:clamp(28px,5vh,52px);opacity:var(--a-message);transform:translateY(calc((1 - var(--a-message))*12vh));will-change:transform,opacity}
.arrival-message>p{margin:0 0 12px;font:500 11px DM Mono,monospace;letter-spacing:.18em;color:var(--green)}
.arrival-message h2{margin:0;font:400 clamp(3rem,6.4vw,7rem)/.8 Archivo Black,sans-serif;letter-spacing:-.06em}.arrival-message h2 em{color:var(--green)}
.arrival-meta{display:flex;align-items:center;gap:14px;margin-top:22px;font:500 clamp(.8rem,1vw,1rem)/1 DM Mono,monospace;letter-spacing:.1em}.arrival-meta i{width:38px;height:1px;background:#ffffff55}
.arrival-cta{position:absolute;z-index:5;right:clamp(20px,5vw,76px);bottom:clamp(30px,6vh,60px);width:clamp(210px,20vw,310px);border:0;background:var(--yellow);color:var(--ink);padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px;opacity:var(--a-cta);transform:translateY(calc((1 - var(--a-cta))*8vh));font-family:DM Mono,monospace;cursor:default}
.arrival-cta span{font-size:13px;font-weight:700;letter-spacing:.08em}.arrival-cta small{font-size:9px;font-weight:500;letter-spacing:.14em;opacity:.65}
.arrival-cta[hidden]{display:none!important}
body.is-arrival .distance{opacity:1}
body.at-finish .distance{color:var(--green)}

@media(max-width:700px){
  .arrival{height:195vh}
  .arrival-stage{min-height:560px;padding:82px 18px 24px}
  .arrival-axis{left:18px;right:18px;top:47%}
  .arrival-km{left:18px;top:92px;gap:8px}.arrival-km strong{font-size:30vw}.arrival-km span{font-size:.8rem}
  .arrival-word{left:18px;right:auto;top:37%;font-size:19vw;line-height:.76;transform:translateX(calc((1 - var(--a-impact))*28vw))}
  .arrival-message{left:18px;right:18px;bottom:116px}.arrival-message h2{font-size:clamp(3rem,13.5vw,5.2rem)}
  .arrival-meta{gap:9px;margin-top:15px;font-size:.72rem;letter-spacing:.07em}.arrival-meta i{width:20px}
  .arrival-cta{left:18px;right:18px;bottom:24px;width:auto;padding:17px 18px}
}

@media(prefers-reduced-motion:reduce){
  .arrival{height:auto}.arrival-stage{position:relative;min-height:100svh}
  .arrival-stage::before{transform:none}.arrival-stage::after{opacity:.35}
  .arrival-axis{transform:none}.arrival-axis span{transform:translate(50%,-50%)}
  .arrival-km{display:flex}.arrival-word,.arrival-message{opacity:1;transform:none;clip-path:none}
  body.is-arrival .distance{display:none}
}

/* Fase 04 — Kit do Atleta. Um único item confirmado, arquitetura expansível. */
:root{--kit-x:0;--kit-y:0}
.athlete-kit{height:430vh;position:relative;--k:0;--k-enter:0;--k-title:0;--k-product:0;--k-caption:0;background:var(--ink)}
.kit-stage{position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden;isolation:isolate;background:var(--ink)}
.kit-stage::before{content:"";position:absolute;z-index:-3;inset:-10%;background:linear-gradient(125deg,#07090d 5%,#071a28 52%,#083f72 100%);opacity:calc(.25 + var(--k-enter)*.75);transform:scale(calc(1.08 - var(--k-enter)*.08))}
.kit-stage::after{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,#07090df2 0 34%,transparent 66%),linear-gradient(180deg,transparent 64%,#07090d99);pointer-events:none}
.kit-environment{position:absolute;z-index:-1;inset:0;opacity:var(--k-enter);pointer-events:none}.kit-environment i{position:absolute;height:1px;background:linear-gradient(90deg,transparent,#ffffff42,transparent);transform-origin:left center}.kit-environment i:first-child{left:-8%;top:39%;width:70%;transform:translateX(calc((1 - var(--k-enter))*-22vw)) rotate(-7deg)}.kit-environment i:last-child{right:-6%;bottom:25%;width:58%;background:linear-gradient(90deg,transparent,#00fb8e88,transparent);transform:translateX(calc((1 - var(--k-enter))*20vw)) rotate(5deg)}
.kit-heading{position:absolute;z-index:4;left:clamp(20px,5vw,76px);top:clamp(104px,15vh,160px);opacity:var(--k-title);transform:translateX(calc((1 - var(--k-title))*-16vw));will-change:transform,opacity}.kit-heading p{margin:0 0 18px;font:500 11px DM Mono,monospace;letter-spacing:.18em;color:var(--green)}.kit-heading h2{margin:0;font:400 clamp(5.2rem,12vw,13rem)/.76 Archivo Black,sans-serif;letter-spacing:-.07em}.kit-heading h2 em{color:var(--green)}
.kit-items,.kit-item{position:absolute;inset:0}
.kit-product{position:absolute;z-index:3;right:-3vw;top:50%;width:min(61vw,850px);transform:translate(calc((1 - var(--k-product))*28vw + var(--kit-x)*9px),calc(-46% + (1 - var(--k-product))*14vh + var(--kit-y)*6px)) scale(calc(.78 + var(--k-product)*.22)) rotate(calc(-8deg + var(--k-product)*6deg + var(--kit-x)*1.4deg));transform-origin:center;opacity:var(--k-product);touch-action:pan-y;will-change:transform,opacity}
.kit-product img{position:relative;z-index:2;width:100%;max-height:82svh;object-fit:contain;transform:perspective(1000px) rotateY(calc(var(--kit-x)*4deg)) rotateX(calc(var(--kit-y)*-2.5deg));transition:transform .22s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(calc(var(--kit-x)*-12px) 34px 34px #0008)}
.kit-product-shadow{position:absolute;z-index:0;left:20%;right:12%;bottom:5%;height:13%;border-radius:50%;background:#0009;filter:blur(24px);transform:translateX(calc(var(--kit-x)*-10px))}
.kit-caption{position:absolute;z-index:5;left:clamp(20px,5vw,76px);bottom:clamp(34px,7vh,76px);display:flex;align-items:start;gap:clamp(18px,3vw,48px);opacity:var(--k-caption);transform:translateY(calc((1 - var(--k-caption))*10vh));will-change:transform,opacity}.kit-caption span{padding-top:.45em;font:500 11px DM Mono,monospace;letter-spacing:.17em;color:#aab0b9}.kit-copy{display:grid;gap:18px}.kit-caption strong{font:500 clamp(1.5rem,3vw,3.2rem)/1 DM Mono,monospace;letter-spacing:-.04em;color:var(--paper)}.kit-copy ul{list-style:none;margin:0;padding:0;display:grid;gap:7px;font:500 clamp(.72rem,.85vw,.88rem)/1.25 DM Mono,monospace;letter-spacing:.045em;text-transform:uppercase;color:#d8dce2}.kit-copy li{display:flex;align-items:center;gap:10px}.kit-copy li::before{content:"";width:18px;height:1px;flex:0 0 auto;background:var(--green)}
body.is-kit .distance{color:var(--paper);text-align:right}
body.kit-km-milestone .distance{color:var(--green)}

@media(max-width:700px){
  .athlete-kit{height:350vh}
  .kit-stage{min-height:560px}
  .kit-stage::after{background:linear-gradient(180deg,#07090de8 0 22%,transparent 48%,#07090dcc 86%)}
  .kit-heading{left:18px;right:18px;top:94px}.kit-heading p{font-size:10px;margin-bottom:12px}.kit-heading h2{font-size:clamp(3.8rem,17vw,6rem);line-height:.78}
  .kit-product{right:-16vw;top:57%;width:110vw;transform:translate(calc((1 - var(--k-product))*32vw + var(--kit-x)*5px),calc(-43% + (1 - var(--k-product))*10vh + var(--kit-y)*4px)) scale(calc(.72 + var(--k-product)*.18)) rotate(calc(-7deg + var(--k-product)*5deg + var(--kit-x)*.8deg))}
  .kit-product img{max-height:59svh;transform:perspective(800px) rotateY(calc(var(--kit-x)*2.5deg)) rotateX(calc(var(--kit-y)*-1.5deg))}
  .kit-caption{left:18px;right:18px;bottom:24px;display:grid;gap:7px}.kit-caption strong{font-size:1.4rem}.kit-caption span{padding-top:0;font-size:10px}.kit-copy{gap:11px}.kit-copy ul{gap:5px;font-size:.66rem;line-height:1.2;max-width:270px}.kit-copy li{gap:8px}.kit-copy li::before{width:14px}
  body.is-kit .distance{text-align:right}
}

@media(prefers-reduced-motion:reduce){
  .athlete-kit{height:auto}.kit-stage{position:relative;min-height:100svh}
  .kit-stage::before{opacity:1;transform:none}.kit-environment{display:none}
  .kit-heading,.kit-product,.kit-caption{opacity:1;transform:none}
  .kit-product img{transform:none;transition:none}
}

@media(prefers-reduced-motion:reduce){
  .shirt-handoff{display:none}
}

/* Fase 05 — Patrocinadores. Slots neutros recebem os logos oficiais depois. */
.sponsors{position:relative;height:280vh;background:#071a28;--s:0;--s-enter:0;--s-title:0;--s-rows:0}
.sponsors-stage{position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden;isolation:isolate;background:linear-gradient(145deg,#071a28 0%,#06111b 48%,#07090d 100%)}
.sponsors-stage::before{content:"";position:absolute;z-index:-2;inset:-12%;background:linear-gradient(118deg,#083f72 0%,transparent 46%),linear-gradient(310deg,#00fb8e16 0%,transparent 34%);opacity:calc(.2 + var(--s-enter)*.8);transform:translateY(calc((1 - var(--s-enter))*-12%)) scale(1.08)}
.sponsors-stage::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,#071a2800 0%,#07090d66 100%);pointer-events:none}
.sponsors-heading{position:absolute;z-index:4;left:clamp(20px,5vw,76px);right:clamp(20px,5vw,76px);top:clamp(94px,12vh,132px);opacity:var(--s-title);transform:translateY(calc((1 - var(--s-title))*7vh));will-change:transform,opacity}.sponsors-heading p{margin:0 0 12px;font:500 11px DM Mono,monospace;letter-spacing:.18em;color:var(--green)}.sponsors-heading h2{margin:0;font:400 clamp(3.8rem,8.5vw,9.2rem)/.8 Archivo Black,sans-serif;letter-spacing:-.07em;white-space:nowrap}.sponsors-heading h2 em{font-style:normal;color:var(--green)}
.sponsor-streams{position:absolute;z-index:2;left:0;right:0;top:58%;display:grid;gap:clamp(10px,1.5vh,16px);opacity:var(--s-rows);transform:translateY(calc(-50% + (1 - var(--s-rows))*10vh));will-change:transform,opacity}.sponsor-row{width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.sponsor-track{display:flex;width:max-content;animation:marqueeLeft 34s linear infinite;animation-play-state:paused}.sponsor-row-right .sponsor-track{animation-name:marqueeRight;animation-duration:38s}.sponsor-row-slow .sponsor-track{animation-duration:44s}.sponsor-track-group{display:grid;grid-template-columns:repeat(6,clamp(210px,18vw,280px));align-items:center;min-width:max-content;gap:0;padding-right:0}.sponsor-slot{position:relative;width:clamp(210px,18vw,280px);height:clamp(68px,9vh,92px);padding:10px clamp(18px,2vw,30px);border-left:1px solid #ffffff29}.sponsor-slot img{display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:92%;height:82%;object-fit:contain;object-position:center}
body.is-sponsors .distance{color:var(--paper);text-align:right}
body.is-sponsors .sponsor-track{animation-play-state:running;will-change:transform}
body.is-sponsors.kit-km-milestone .distance{color:var(--green)}
@keyframes marqueeLeft{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes marqueeRight{from{transform:translateX(-50%)}to{transform:translateX(0)}}

@media(max-width:700px){
  .sponsors{height:240vh}.sponsors-stage{min-height:560px}.sponsors-heading{left:18px;right:18px;top:88px}.sponsors-heading p{font-size:9px;margin-bottom:9px}.sponsors-heading h2{font-size:clamp(2rem,9.6vw,3.5rem);white-space:nowrap;line-height:.82}
  .sponsor-streams{top:59%;gap:9px}.sponsor-row{-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}.sponsor-track-group{grid-template-columns:repeat(6,168px);min-width:1008px}.sponsor-slot{width:168px;height:64px;padding:6px 12px}.sponsor-slot img{width:86%;height:78%}.sponsor-row-right .sponsor-track{animation-duration:31s}.sponsor-row-left .sponsor-track{animation-duration:28s}.sponsor-row-slow .sponsor-track{animation-duration:36s}
  body.is-sponsors .distance{text-align:right}
}

@media(prefers-reduced-motion:reduce){
  .sponsors{height:auto}.sponsors-stage{position:relative;height:auto;min-height:100svh;padding:94px 0 24px;overflow:hidden}.sponsors-heading,.sponsor-streams{position:relative;inset:auto;opacity:1;transform:none}.sponsors-heading{padding:0 18px}.sponsor-streams{margin:40px 0 0}.sponsor-row:nth-child(n+2){display:none}.sponsor-row:first-child{display:block;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-mask-image:none;mask-image:none;padding:0 18px 12px}.sponsor-track{width:max-content;animation:none;transform:none}.sponsor-row-right .sponsor-track{animation:none}.sponsor-track-group{display:flex;flex-wrap:nowrap;min-width:max-content;width:max-content;justify-content:flex-start;padding:0}.sponsor-track-group[aria-hidden="true"]{display:none}.sponsor-slot{flex:0 0 clamp(176px,48vw,230px);width:clamp(176px,48vw,230px);height:80px;border:1px solid #ffffff24;scroll-snap-align:start}body.is-sponsors .sponsor-track{animation:none}
}

/* Fase 07 — pós-chegada: a energia assenta e o convite assume a tela. */
.post-finish{position:relative;min-height:128svh;background:var(--ink);isolation:isolate;overflow:hidden}
.post-finish::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 82% 25%,#187eff20,transparent 34%),linear-gradient(145deg,#07090d 8%,#09121b 58%,#061b16 100%)}
.post-finish::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(112deg,transparent 0 58%,#00fb8e0b 58.15%,transparent 58.4%)}
.post-finish-stage{min-height:128svh;padding:clamp(27svh,30vh,34svh) clamp(20px,5vw,76px) clamp(34px,6vh,70px);display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto 1fr auto;column-gap:clamp(32px,7vw,120px);position:relative}
.post-finish-rule{grid-column:1/-1;height:1px;background:#ffffff1f;position:relative;margin-bottom:clamp(38px,7vh,78px);transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.16,1,.3,1)}
.post-finish-rule span{position:absolute;right:0;top:50%;width:8px;height:8px;border-radius:50%;background:var(--green);transform:translate(50%,-50%) scale(0);transition:transform .55s cubic-bezier(.16,1,.3,1) .55s}
.post-finish-copy{grid-column:1;align-self:start;opacity:0;transform:translateY(44px);transition:opacity .7s ease .18s,transform .9s cubic-bezier(.16,1,.3,1) .18s}
.post-finish-eyebrow{margin:0 0 18px;color:var(--green);font:500 11px/1 DM Mono,monospace;letter-spacing:.2em}
.post-finish-copy h2{margin:0;font:400 clamp(4.8rem,10.6vw,11.5rem)/.77 Archivo Black,sans-serif;letter-spacing:-.07em}.post-finish-copy h2 em{color:var(--green)}
.post-finish-details{grid-column:2;grid-row:2;align-self:end;display:flex;align-items:center;justify-content:flex-end;gap:14px;padding-bottom:10px;font:500 clamp(.78rem,1vw,1rem)/1 DM Mono,monospace;letter-spacing:.1em;white-space:nowrap;opacity:0;transform:translateY(28px);transition:opacity .65s ease .42s,transform .8s cubic-bezier(.16,1,.3,1) .42s}
.post-finish-details i{width:28px;height:1px;background:#ffffff4d}
.final-entry{grid-column:2;grid-row:3;align-self:start;justify-self:end;margin-top:clamp(38px,7vh,72px);width:clamp(280px,28vw,440px);min-height:82px;border:0;background:var(--green);color:var(--ink);padding:20px 22px;display:grid;grid-template-columns:1fr auto;text-align:left;align-items:center;gap:7px 18px;font-family:DM Mono,monospace;text-decoration:none;cursor:pointer;opacity:0;transform:translateY(28px) scale(.985);transition:opacity .65s ease .62s,transform .8s cubic-bezier(.16,1,.3,1) .62s,background .22s,color .22s}
.final-entry>span:first-child{font-size:clamp(1rem,1.4vw,1.25rem);font-weight:700;letter-spacing:.08em}.final-entry-arrow{font-size:1.45rem;transition:transform .22s}.final-entry small{grid-column:1/-1;font-size:.62rem;letter-spacing:.15em;opacity:.62}
.final-entry:hover,.final-entry:focus-visible{background:var(--paper);color:var(--ink)}.final-entry:hover .final-entry-arrow,.final-entry:focus-visible .final-entry-arrow{transform:translate(3px,-3px)}.final-entry:focus-visible{outline:3px solid var(--yellow);outline-offset:5px}.final-entry:active{transform:scale(.98)}
.post-finish-signature{grid-column:1/-1;grid-row:4;align-self:end;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;border-top:1px solid #ffffff18;padding-top:24px;opacity:0;transition:opacity .7s ease .82s}
.post-finish-signature img{width:clamp(82px,8vw,120px);height:clamp(64px,7vw,98px);object-fit:contain;object-position:left bottom}.post-finish-signature span{text-align:right;color:#ffffff75;font:500 10px/1.55 DM Mono,monospace;letter-spacing:.14em}
.post-finish.is-visible .post-finish-rule{transform:scaleX(1)}.post-finish.is-visible .post-finish-rule span{transform:translate(50%,-50%) scale(1)}
.post-finish.is-visible .post-finish-copy,.post-finish.is-visible .post-finish-details,.post-finish.is-visible .final-entry{opacity:1;transform:none}.post-finish.is-visible .post-finish-signature{opacity:1}
body.is-post-finish .distance{opacity:0;transition:opacity .45s ease}

@media(max-width:700px){
  .post-finish{min-height:108svh}.post-finish-stage{min-height:108svh;padding:18svh 18px 24px;display:flex;flex-direction:column}
  .post-finish-rule{margin-bottom:42px}.post-finish-copy h2{font-size:clamp(4rem,20vw,6.5rem);line-height:.79}
  .post-finish-details{align-self:stretch;justify-content:flex-start;flex-wrap:wrap;row-gap:10px;margin-top:34px;padding:0;font-size:.71rem;white-space:normal}.post-finish-details i{width:18px}
  .final-entry{align-self:stretch;justify-self:auto;width:100%;min-height:78px;margin-top:38px;padding:18px;flex:none}
  .post-finish-signature{margin-top:auto;padding-top:18px}.post-finish-signature img{width:76px;height:58px}.post-finish-signature span{font-size:8px}
}

@media(prefers-reduced-motion:reduce){
  .post-finish,.post-finish-stage{min-height:100svh}.post-finish-stage{padding-top:18vh}
  .post-finish-rule,.post-finish-rule span,.post-finish-copy,.post-finish-details,.final-entry,.post-finish-signature{opacity:1;transform:none;transition:none}
}

/* Microrefino 02 — hierarquia, presença e coreografia do marcador. */
.hero-stage,
.phase-two,
.phase-two-stage{
  background:#187eff;
}
.run-story,.phase-two{z-index:auto}
.stage-wash,
.phase-two-wash{
  background:linear-gradient(115deg,#0a4de5 0%,var(--blue) 45%,#1269e8 100%);
}
.phase-two-wash{
  inset:-8%;
  opacity:1;
  transform:translate(calc(-2% - var(--q)*1%),calc(-2% + var(--q)*2%)) scale(calc(1.2 - var(--q)*.02));
}

.after-start{z-index:70}
.shirt-wrap{
  z-index:4;
  left:calc(48% - var(--p)*9vw);
  width:min(60vw,760px);
  transform:translate(calc(-50% + var(--vx)*5px),calc(-29% + (1 - var(--p))*92vh + var(--vy)*4px + var(--shirt-float-y,0px))) scale(calc(.42 + var(--p)*.46)) rotate(calc(-7deg + var(--mx)*3.2deg + var(--shirt-float-r,0deg)));
}
.after-start h2{text-shadow:0 5px 30px #064bb899}

.distance,
body.is-phase-two .distance,
body.route-ready .distance{
  transform:translate3d(var(--distance-x,5vw),var(--distance-y,70vh),0) scale(var(--distance-scale,1));
  transform-origin:left top;
}
.distance strong,
body.is-phase-two .distance strong,
body.route-ready .distance strong{
  font-size:clamp(5rem,13vw,13rem);
  letter-spacing:-.08em;
}
body.at-one-km .distance{
  transform:translate3d(var(--distance-x,5vw),var(--distance-y,70vh),0) scale(var(--distance-scale,1));
}
.shirt-handoff{
  transform:translate(calc(-50% - var(--bridge-base-x,6vw) - var(--bridge-shift-x,0vw)),calc(var(--bridge-base-y,-31%) + var(--bridge-shift-y,0vh) + var(--bridge-float-y,0px))) scale(var(--bridge-scale,.94)) rotate(calc(var(--bridge-rotation,-7deg) + var(--shirt-float-r,0deg)));
}

@media(max-width:700px){
  .shirt-wrap{
    left:calc(50% - var(--p)*10vw);
    width:100vw;
    transform:translate(calc(-50% + var(--vx)*3px),calc(-29% + (1 - var(--p))*94vh + var(--vy)*3px + var(--shirt-float-y,0px))) scale(calc(.40 + var(--p)*.43)) rotate(calc(-7deg + var(--mx)*2.2deg + var(--shirt-float-r,0deg)));
  }
  .after-start{z-index:70}
  .after-start h2 .motion-word{display:block;white-space:nowrap;font-size:clamp(1rem,9vw,3.5rem)}
  .after-start h2{text-shadow:0 4px 22px #064bb8aa}
  .airflow,.shirt-shadow{display:none}
  .shirt{transition:none;filter:drop-shadow(0 18px 22px #00174d66)}
  .distance strong,
  body.is-phase-two .distance strong,
  body.route-ready .distance strong{font-size:clamp(5.8rem,28vw,9rem)}
  .shirt-handoff{
    filter:none;
    transform:translate(calc(-50% - var(--bridge-base-x,10vw) - var(--bridge-shift-x,0vw)),calc(var(--bridge-base-y,-29%) + var(--bridge-shift-y,0vh) + var(--bridge-float-y,0px))) scale(var(--bridge-scale,.83)) rotate(calc(var(--bridge-rotation,-7deg) + var(--shirt-float-r,0deg)));
  }
}

/* Shared entry plane: one product and one message throughout both scenes. */
.run-story,.hero-stage,.phase-two,.phase-two-stage{background:var(--entry-blue,var(--blue))}
.stage-wash,.phase-two-wash{background:linear-gradient(115deg,#0045cb55,transparent 45%,#0045cb33);inset:0;transform:none}
main>.shirt-wrap{
  position:fixed;z-index:40;top:50svh;left:var(--entry-x,50vw);
  width:min(60vw,760px);pointer-events:none;
  opacity:var(--entry-opacity,0);
  transform:translate(-50%,calc(-50% + var(--entry-y,90svh) + var(--shirt-float-y,0px))) scale(var(--entry-scale,.42)) rotate(calc(var(--entry-rotation,-7deg) + var(--shirt-float-r,0deg)));
}
main>.after-start{
  position:fixed;z-index:70;top:max(100px,17svh);right:6vw;
  width:min(58vw,800px);max-width:none;pointer-events:none;
  opacity:var(--message-opacity,0);transform:none;
}
.after-start .motion-word{display:block;white-space:nowrap;font-size:clamp(1rem,5.4vw,5.8rem)}
@media(max-width:700px){
  main>.shirt-wrap{width:94vw}
  main>.shirt-wrap .shirt{animation:entryBreathe 3s ease-in-out infinite}
  main>.after-start{left:18px;right:18px;width:auto;top:max(90px,16svh)}
  .after-start h2{font-size:clamp(2rem,14vw,4.8rem)}
  .after-start h2 .motion-word{font-size:clamp(1rem,9vw,3.5rem)}
  .after-start .chapter{font-size:10px;letter-spacing:.12em}
  .after-start .after-note{font-size:14px}
  .route-prelude{padding-top:146px}
  .map-reserve{min-height:0}
  .kit-heading{top:146px}
  .sponsors-heading{top:146px}
}
@keyframes entryBreathe{0%,100%{transform:translateY(0) rotate(-.2deg)}50%{transform:translateY(-3px) rotate(.2deg)}}
@media(prefers-reduced-motion:reduce){
  main>.shirt-wrap .shirt{animation:none}
  .kit-heading,.sponsors-heading{top:auto}
}
