/* =========================================================
   ADIZERO RACING — MOTION LAYER
   Carregado depois de styles.css. Tudo aqui é "aditivo":
   removendo este arquivo + motion.js a página volta ao estado original.
   Regra de ouro: só transform / opacity / clip-path / translate / rotate / scale.
   ========================================================= */
:root{--ease-out:cubic-bezier(.16,1,.3,1);--ease-io:cubic-bezier(.76,0,.24,1)}
.chapter{isolation:isolate}
.chapter:focus{outline:none}

/* ---------- PRELOADER ---------- */
html.is-loading{overflow:hidden}
.preloader{position:fixed;inset:0;z-index:95;display:none;pointer-events:all}
html.is-loading .preloader{display:block}
.pl-half{position:absolute;left:0;width:100%;height:50.3%;background:#050505;transition:transform 1.05s var(--ease-io)}
.pl-top{top:0}.pl-bottom{bottom:0}
.pl-core{position:absolute;inset:0;transition:opacity .45s,transform 1s var(--ease-io)}
.pl-count{position:absolute;left:var(--gutter);bottom:calc(50% + 10px);font-family:"Bebas Neue",sans-serif;font-size:clamp(120px,21vw,340px);line-height:.78;letter-spacing:-.01em;color:var(--white);display:flex;align-items:flex-end}
.pl-count b{font-weight:400;font-variant-numeric:tabular-nums}
.pl-count i{font-style:normal;font-size:.34em;color:var(--lime);margin:0 0 .12em .08em}
.pl-bar{position:absolute;left:0;right:0;top:50%;height:1px;background:#ffffff22}
.pl-bar i{display:block;height:100%;background:var(--lime);box-shadow:0 0 18px 2px #caff39aa;transform:scaleX(0);transform-origin:left}
.pl-label,.pl-sub{position:absolute;top:calc(50% + 18px);font-size:10px;letter-spacing:.22em;color:#9a9b94}
.pl-label{left:var(--gutter)}.pl-sub{right:var(--gutter);color:var(--red);text-transform:uppercase}
.preloader.leave .pl-top{transform:translateY(-101%)}
.preloader.leave .pl-bottom{transform:translateY(101%)}
.preloader.leave .pl-core{opacity:0;transform:scale(1.06)}

/* ---------- HERO: entrada cinematográfica ---------- */
.js-motion:not(.motion-paused) .hero-media{clip-path:inset(14% 9% 14% 9%);scale:1.2;transition:clip-path 2s var(--ease-out),scale 2.4s var(--ease-out)}
.js-motion:not(.motion-paused).is-in .hero-media{clip-path:inset(0);scale:1}
.hero-poster,.hero-video{scale:1.06;translate:calc(var(--hx,0)*1px) calc(var(--hy,0)*1px)}
.js-motion .hero-wire{opacity:0;transition:opacity 2s .5s}
.is-in .hero-wire{opacity:.65}
.js-motion .hero-word{animation:none}
.js-motion .hero-reveal,.js-motion .hero-bottom{animation:none;opacity:0;transform:translateY(14px);transition:opacity 1s .95s,transform 1.2s var(--ease-out) .95s}
.is-in .hero-reveal,.is-in .hero-bottom{opacity:1;transform:none}
.js-motion .site-header>*{opacity:0;transform:translateY(-18px);transition:opacity .9s .6s,transform 1.1s var(--ease-out) .6s}
.js-motion .site-header nav{transition-delay:.75s}
.is-in .site-header>*{opacity:1;transform:none}
.hero{overflow:clip}
.hero-glow{position:absolute;left:0;top:0;width:900px;height:900px;margin:-450px 0 0 -450px;background:radial-gradient(circle,#caff3924 0%,#caff3910 34%,transparent 62%);mix-blend-mode:screen;pointer-events:none;will-change:transform;opacity:0;transition:opacity 1.2s}
.is-in .hero-glow{opacity:1}
.hero-copy{translate:calc(var(--cx,0)*1px) calc(var(--cy,0)*1px)}

/* ---------- Texto cinético: letras mascaradas ---------- */
.js-motion:not(.motion-paused) .w{display:inline-block;overflow:hidden;vertical-align:top;padding:.06em 0 .12em;margin:-.06em 0 -.12em}
.js-motion:not(.motion-paused) .c{display:inline-block;transform:translateY(118%) rotate(7deg);transform-origin:0 100%;transition:transform 1.05s var(--ease-out);transition-delay:calc(var(--i)*24ms)}
.js-motion:not(.motion-paused) .split-in .c,.js-motion:not(.motion-paused) .split-in.c{transform:none}
.hero .c{transition-duration:1.4s;transition-delay:calc(var(--i)*42ms + .25s)}
.hero h1 .w{padding-right:.04em}
.fast.rgb,.rgb.fast{text-shadow:calc(var(--vel,0)*8px) 0 #ff2a4a88,calc(var(--vel,0)*-8px) 0 #00e5ff77}
@keyframes glitch{0%,91%,100%{text-shadow:none;translate:0 0}92%{text-shadow:4px 0 #00e5ff,-4px 0 #ff2a6d;translate:3px 0}94%{text-shadow:-5px 0 #00e5ff,5px 0 #ff2a6d;translate:-4px 0}96%{text-shadow:3px 0 #00e5ff,-3px 0 #ff2a6d;translate:2px 0}98%{text-shadow:none;translate:0 0}}
.is-in .hero-word.victory{animation:glitch 7s steps(1,end) 3.6s infinite}

/* o CSS original estiliza `h2 span` / `blockquote span`: letras e palavras novas herdam do pai */
.precision-copy h2 .w,.precision-copy h2 .c,.precision-copy h2 .sr-only{color:inherit;font-weight:inherit;letter-spacing:inherit}
.manifesto blockquote .lw{color:inherit}
.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- Palavras acendendo com o scroll ---------- */
.js-motion:not(.motion-paused) .lw{opacity:.2}
.motion-paused .lw{opacity:1!important}

/* ---------- Clip-path reveal das imagens ---------- */
.js-motion:not(.motion-paused) .clip{clip-path:inset(7% 4.5% 7% 4.5%);transition:clip-path 1.6s var(--ease-out)}
.js-motion:not(.motion-paused) .clip.clip-in{clip-path:inset(0)}
.motion-paused .clip{clip-path:none!important}
.js-motion:not(.motion-paused) .performance-card.clip{clip-path:inset(12% 6% 12% 6% round 20px)}
.js-motion:not(.motion-paused) .performance-card.clip.clip-in{clip-path:inset(0 round 20px)}

/* ---------- Marquee ---------- */
.marquee{position:relative;overflow:hidden;padding:clamp(20px,2.6vw,50px) 0 clamp(18px,2.2vw,40px);border-block:1px solid var(--line);user-select:none}
.marquee-row{display:flex;width:max-content;white-space:nowrap;will-change:transform}
.marquee-group{display:flex;flex-shrink:0;align-items:center}
.marquee-row span{font-family:"Bebas Neue",sans-serif;font-size:clamp(76px,13vw,250px);line-height:.92;letter-spacing:.02em;padding-right:.3em;text-transform:uppercase}
.mq-solid{color:var(--white)}
.mq-outline{color:transparent;-webkit-text-stroke:1.5px #ffffff66}
.mq-red{color:var(--red)}
.marquee-row .mq-sep{color:var(--lime);font-size:.55em;opacity:.9;align-self:center}
.marquee-row.small{margin-top:clamp(10px,1.4vw,28px)}
.marquee-row.small span{font-family:"PT Sans",Arial,sans-serif;font-size:clamp(10px,.95vw,17px);letter-spacing:.34em;color:var(--muted);padding-right:2.4em}
.marquee-row.small .mq-sep{font-size:inherit}

/* ---------- Números fantasma de capítulo ---------- */
.ghost-num{position:absolute;right:var(--gutter);top:.02em;z-index:-1;font-family:"Bebas Neue",sans-serif;font-size:clamp(180px,26vw,520px);line-height:1;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1px #ffffff0f;pointer-events:none;user-select:none;will-change:transform}

/* ---------- HUD de capítulo (inferior esquerdo) ---------- */
.chapter-hud{position:fixed;left:var(--gutter);bottom:26px;z-index:30;display:flex;align-items:baseline;gap:10px;font-size:9px;letter-spacing:.2em;color:#7b7d75;pointer-events:none;opacity:0;transform:translateY(10px);transition:opacity .5s,transform .7s var(--ease-out)}
.chapter-hud.show{opacity:1;transform:none}
.chapter-hud .hud-n{font-family:"Bebas Neue",sans-serif;font-size:30px;letter-spacing:.04em;color:var(--lime);display:inline-block;overflow:hidden;line-height:1}
.chapter-hud .hud-n b{display:block;font-weight:400}
.chapter-hud .hud-name{color:#c9cac3;display:inline-block}

/* ---------- Progress bar com brilho ---------- */
.page-progress{box-shadow:0 0 14px 1px #caff39aa}

/* ---------- Cursor ---------- */
.cursor{position:fixed;left:0;top:0;z-index:110;pointer-events:none;opacity:0;transition:opacity .3s}
html.has-cursor .cursor.on{opacity:1}
html.has-cursor,html.has-cursor a,html.has-cursor button{cursor:none}
html.has-cursor dialog,html.has-cursor dialog *{cursor:auto!important}
.cursor-dot,.cursor-ring{position:absolute;left:0;top:0;will-change:transform}
.cursor-dot:before{content:"";position:absolute;left:-3px;top:-3px;width:6px;height:6px;border-radius:50%;background:var(--lime);transition:transform .25s var(--ease-out)}
.cursor-ring:before{content:"";position:absolute;left:-20px;top:-20px;width:40px;height:40px;border:1px solid #caff39aa;border-radius:50%;transition:transform .45s var(--ease-out),background-color .3s,border-color .3s}
.cursor-label{position:absolute;left:0;top:0;transform:translate(-50%,-50%);font-size:9px;font-weight:700;letter-spacing:.2em;color:#050505;opacity:0;white-space:nowrap;transition:opacity .25s}
.cursor.is-link .cursor-ring:before{transform:scale(1.6);background:#caff3914;border-color:var(--lime)}
.cursor.is-label .cursor-ring:before{transform:scale(2.3);background:var(--lime);border-color:var(--lime)}
.cursor.is-label .cursor-label{opacity:1}
.cursor.is-label .cursor-dot:before{transform:scale(0)}
.cursor.is-down .cursor-ring:before{transform:scale(.7)}
.cursor.is-label.is-down .cursor-ring:before{transform:scale(2)}
.cursor.is-hidden{opacity:0!important}

/* ---------- Warp (transição de navegação) ---------- */
.warp{position:fixed;inset:0;z-index:90;pointer-events:none;visibility:hidden;overflow:hidden}
.warp.on{visibility:visible;pointer-events:all}
.warp-panel{position:absolute;top:-6%;bottom:-6%;left:-30%;width:160%;transform:translate3d(105%,0,0) skewX(-14deg);will-change:transform}
.warp-panel.a{background:var(--lime)}
.warp-panel.b{background:#070707;border-left:3px solid var(--red);display:grid;place-items:center}
.warp-panel.b:before{content:"";position:absolute;inset:0;opacity:.5;background:repeating-linear-gradient(0deg,transparent 0 46px,#ffffff10 46px 47px);animation:warp-lines .6s linear infinite}
.warp-label{position:relative;transform:skewX(14deg);text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;font-family:"Bebas Neue",sans-serif;text-transform:uppercase}
.warp-label .wl-n{font-size:clamp(140px,26vw,420px);line-height:.8;color:transparent;-webkit-text-stroke:2px var(--lime);letter-spacing:-.01em}
.warp-label .wl-t{font-size:clamp(22px,3vw,52px);letter-spacing:.4em;color:var(--white);padding-left:.4em}
.warp-label .wl-k{font-family:"PT Sans",Arial,sans-serif;font-size:10px;letter-spacing:.3em;color:var(--red);margin-bottom:10px}
@keyframes warp-lines{to{transform:translate3d(0,47px,0)}}

/* ---------- Speed lines (canvas) ---------- */
.speed-lines{position:fixed;inset:0;width:100%;height:100%;z-index:14;pointer-events:none}

/* ---------- Aero: scan + readout ---------- */
.aero-scan{position:absolute;top:0;bottom:0;left:0;width:1px;z-index:2;background:linear-gradient(180deg,transparent,var(--lime) 30%,var(--lime) 70%,transparent);box-shadow:0 0 22px 3px #caff3966;opacity:.75;pointer-events:none;will-change:transform}
.aero-scan:before{content:"";position:absolute;top:0;bottom:0;right:0;width:160px;background:linear-gradient(90deg,transparent,#caff3912)}
.aero-readout{position:absolute;z-index:2;right:var(--gutter);top:27%;display:flex;align-items:baseline;gap:10px;font-family:monospace;color:#caff39cc}
.aero-readout span{font-size:9px;letter-spacing:.2em;color:#b5b6ae;text-shadow:0 0 8px #000}
.aero-readout b{font-family:"Bebas Neue",sans-serif;font-weight:400;font-size:clamp(44px,5vw,92px);line-height:1;letter-spacing:.04em;font-variant-numeric:tabular-nums;color:var(--white)}
.aero-readout i{font-style:normal;font-size:10px;letter-spacing:.2em}

/* ---------- Lateral: streaks de velocidade ---------- */
.lateral-streaks{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:0}
.lateral-streaks:before{content:"";position:absolute;top:0;bottom:0;left:0;width:200%;animation:streak-run .55s linear infinite;background:
linear-gradient(90deg,transparent 0 10%,#ffffffcc 10% 34%,transparent 34%) 0 14%/50% 1px no-repeat,
linear-gradient(90deg,transparent 0 40%,#caff39cc 40% 62%,transparent 62%) 0 27%/50% 1px no-repeat,
linear-gradient(90deg,transparent 0 22%,#ffffff99 22% 58%,transparent 58%) 0 41%/50% 2px no-repeat,
linear-gradient(90deg,transparent 0 58%,#ffffffaa 58% 86%,transparent 86%) 0 55%/50% 1px no-repeat,
linear-gradient(90deg,transparent 0 5%,#d4322dcc 5% 24%,transparent 24%) 0 68%/50% 1px no-repeat,
linear-gradient(90deg,transparent 0 46%,#ffffffbb 46% 78%,transparent 78%) 0 79%/50% 2px no-repeat,
linear-gradient(90deg,transparent 0 16%,#caff39aa 16% 40%,transparent 40%) 0 90%/50% 1px no-repeat}
@keyframes streak-run{to{transform:translate3d(-50%,0,0)}}

/* ---------- Cards: tilt 3D + glare ---------- */
.performance-card{will-change:rotate}
.js-motion .performance-card.reveal{transition:opacity .9s var(--ease-out),transform 1.1s var(--ease-out),rotate .6s var(--ease-out),box-shadow .5s,clip-path 1.6s var(--ease-out)}
.performance-card.settled{transition-delay:0s!important}
.performance-card:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .4s;background:radial-gradient(420px circle at var(--gx,50%) var(--gy,50%),#caff3930,transparent 62%)}
.performance-card:hover:before{opacity:1}
.performance-card:hover{box-shadow:0 30px 80px -30px #caff3940,0 0 0 1px #caff3933}
.performance-card>img{translate:calc(var(--px,0)*-16px) calc(var(--py,0)*-16px);scale:1.08;transition:transform 1s var(--ease-out),translate .5s var(--ease-out)}

/* ---------- Features: micro-interações ---------- */
@media(hover:hover) and (min-width:701px){
.feature>img{transition:transform .7s var(--ease-out)}
.feature:hover>img{transform:scale(.83) rotate(-10deg) translateY(-4px)}
.feature h2{transition:color .3s,letter-spacing .6s var(--ease-out)}
.feature:hover h2{color:var(--lime);letter-spacing:.07em}
}

/* ---------- Pequenos acabamentos ---------- */
.carbon-label{animation:pulse-border 3.2s ease-in-out infinite}
@keyframes pulse-border{0%,100%{box-shadow:0 0 0 0 #caff3900}50%{box-shadow:0 0 28px 0 #caff3940}}
.chapter-nav a{position:relative}
.chapter-nav a.active span{opacity:.9;transform:none}
.chapter-nav i{transition:width .5s var(--ease-out),background .3s,box-shadow .3s}
.chapter-nav a.active i{box-shadow:0 0 12px #caff39aa}
.replay-link span{display:inline-block;transition:transform .5s var(--ease-out)}
.replay-link:hover span{transform:translate(4px,-4px) rotate(8deg)}
.film-dialog[open]{animation:dlg-in .7s var(--ease-out)}
.film-dialog[open]::backdrop{animation:fade-in .6s both}
@keyframes dlg-in{from{opacity:0;clip-path:inset(18% 10% 18% 10%);scale:.94}to{opacity:1;clip-path:inset(0);scale:1}}

/* ---------- Pausa do usuário / movimento reduzido ---------- */
.motion-paused .preloader,.motion-paused .warp,.motion-paused .speed-lines,.motion-paused .hero-glow,.motion-paused .lateral-streaks,.motion-paused .aero-scan{display:none!important}
.motion-paused .hero-media{clip-path:none!important;scale:1!important}
.motion-paused .hero-wire{opacity:.65!important}
.motion-paused .hero-reveal,.motion-paused .hero-bottom,.motion-paused .site-header>*{opacity:1!important;transform:none!important;transition:none!important}
.motion-paused .hero-word.victory{animation:none!important}
.motion-paused .c{transform:none!important;transition:none!important}
.motion-paused .ghost-num{display:none}
@media(max-width:700px){
.aero-readout{top:auto;bottom:25%;right:24px;left:auto}
.aero-readout b{font-size:44px}
.chapter-hud{display:none}
.marquee-row span{font-size:84px}
.ghost-num{display:none}
.hero-glow{width:600px;height:600px;margin:-300px 0 0 -300px}
}
@media(prefers-reduced-motion:reduce){
html:not(.motion-active) .preloader,html:not(.motion-active) .warp,html:not(.motion-active) .speed-lines{display:none!important}
}
