@font-face{font-family:'Apotek';src:url('../assets/fonts/apotek-bold.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap}
:root {
  --black: #111a22;
  --white: #eef2f5;
  --cream: #b8c4cc;
  --accent: #c8ff00;
  --accent2: #a8e600;
  --accent-glow: rgba(200,255,0,0.10);
  --accent-glow-s: rgba(200,255,0,0.30);
  --grey: #1a2530;
  --grey2: #243040;
  --grey3: #3a4a5a;
  --grey4: #7a8a9a;
  --font-d: 'Apotek', 'Bebas Neue', Impact, sans-serif;
  --font-b: 'DM Sans', sans-serif;
  --font-m: 'Space Mono', monospace;
  --ease: cubic-bezier(0.16,1,0.3,1);
  --ease2: cubic-bezier(0.76,0,0.24,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{overflow-x:hidden}
body{background:var(--black);color:var(--white);font-family:var(--font-b);overflow-x:hidden;-webkit-font-smoothing:antialiased;cursor:none}
::selection{background:var(--accent);color:#111a22}

/* ===== LOADER ===== */
.loader{position:fixed;inset:0;z-index:9999;background:var(--black);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .6s ease,visibility .6s ease}
.loader.done{opacity:0;visibility:hidden;pointer-events:none}
.loader-text{font-family:var(--font-d);font-size:14px;letter-spacing:12px;text-transform:uppercase;color:var(--accent);margin-bottom:32px}
.loader-bar-track{width:200px;height:1px;background:var(--grey2);position:relative;overflow:hidden}
.loader-bar{position:absolute;left:0;top:0;height:100%;width:0;background:var(--accent);transition:width .1s linear}
.loader-pct{font-family:var(--font-m);font-size:11px;color:var(--grey4);margin-top:16px;letter-spacing:2px}

/* ===== PROGRESS BAR ===== */
.progress{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent2));z-index:200;width:0;transition:width .05s linear}

/* ===== CURSOR ===== */
.cur{position:fixed;width:14px;height:14px;border:1.5px solid var(--accent);border-radius:50%;pointer-events:none;z-index:9998;transition:width .35s var(--ease),height .35s var(--ease),background .35s ease,border-color .35s ease,opacity .3s ease;transform:translate(-50%,-50%);mix-blend-mode:difference}
.cur.h{width:64px;height:64px;background:var(--accent);border-color:var(--accent)}
.cur.hide{opacity:0}
.cur-d{position:fixed;width:4px;height:4px;background:var(--accent);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%)}
.cur-label{position:fixed;pointer-events:none;z-index:9998;font-family:var(--font-m);font-size:8px;letter-spacing:2px;text-transform:uppercase;color:var(--black);opacity:0;transition:opacity .3s ease;transform:translate(-50%,-50%)}
.cur.h ~ .cur-label{opacity:1}

/* ===== NAV ===== */
nav{position:fixed;top:0;left:0;right:0;z-index:150;padding:28px 48px;display:flex;justify-content:space-between;align-items:center;transition:all .5s ease}
nav.s{padding:14px 48px;background:rgba(6,6,10,.9);backdrop-filter:blur(24px);border-bottom:1px solid rgba(255,255,255,.03)}
.nl{font-family:var(--font-d);font-size:20px;letter-spacing:8px;text-transform:uppercase;color:var(--white);text-decoration:none;position:relative}
.nl span{color:var(--accent)}
.nl::after{content:'';position:absolute;bottom:-4px;left:0;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nl:hover::after{transform:scaleX(1);transform-origin:left}
.nls{display:flex;gap:36px}
.nls a{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--cream);text-decoration:none;opacity:.4;transition:all .3s ease;position:relative}
.nls a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--accent);transition:width .4s var(--ease)}
.nls a:hover{opacity:1;color:var(--white)}
.nls a:hover::after{width:100%}

/* ===== HERO ===== */
.hero{position:relative;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.25}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(17,26,34,.2) 0%,rgba(17,26,34,.95) 100%)}
.hero-vignette{position:absolute;inset:0;box-shadow:inset 0 0 200px rgba(0,0,0,.8)}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:60px 60px;opacity:0;animation:gridFade 2s 1s ease forwards}
.hero-noise{position:absolute;inset:0;opacity:.03;pointer-events:none;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:128px;animation:noiseShift 8s steps(10) infinite}
.hero-particles{position:absolute;inset:0;z-index:1}
.ptc{position:absolute;width:2px;height:2px;background:var(--accent);border-radius:50%;opacity:0;animation:ptcFloat 8s ease-in-out infinite}
.hero-content{position:relative;z-index:3;text-align:center;perspective:1000px}
.hero-escudo{display:block;width:140px;height:auto;margin:0 auto 32px;opacity:0;filter:drop-shadow(0 0 24px rgba(200,255,0,.25));animation:fadeUp 1s .2s var(--ease) forwards}
.hero-wordmark{display:block;width:min(720px,80vw);max-width:100%;height:auto;margin:0 auto}
.hero-ey{font-family:var(--font-m);font-size:10px;letter-spacing:8px;text-transform:uppercase;color:var(--accent);margin-bottom:28px;opacity:0;animation:fadeUp .8s .5s var(--ease) forwards}
.hero-ey::before,.hero-ey::after{content:'—';margin:0 16px;opacity:.3}
.hero-t{font-family:var(--font-d);font-size:clamp(72px,15vw,220px);line-height:.85;text-transform:uppercase;letter-spacing:4px}
.hero-t .l{display:block;overflow:hidden}
.hero-t .l span{display:block;transform:translateY(105%);animation:revealUp 1.2s var(--ease) forwards}
.hero-t .l:nth-child(1) span{animation-delay:.6s}
.hero-t .l:nth-child(2) span{animation-delay:.8s}
.hero-t .outline{-webkit-text-stroke:2px var(--white);color:transparent}
.hero-sub{margin-top:40px;font-size:13px;letter-spacing:5px;text-transform:uppercase;color:var(--grey4);opacity:0;animation:fadeUp .8s 1.2s var(--ease) forwards}
.hero-line{position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);transform:scaleX(0);animation:lineX 1.5s 1.5s var(--ease) forwards}
.hero-coords{position:absolute;bottom:48px;left:48px;z-index:3;font-family:var(--font-m);font-size:9px;letter-spacing:2px;color:var(--grey3);opacity:0;animation:fadeUp .8s 1.8s var(--ease) forwards}
.hero-scroll{position:absolute;bottom:48px;right:48px;z-index:3;display:flex;align-items:center;gap:12px;opacity:0;animation:fadeUp .8s 1.8s var(--ease) forwards}
.hero-scroll span{font-family:var(--font-m);font-size:8px;letter-spacing:3px;text-transform:uppercase;color:var(--grey4)}
.scroll-ln{width:48px;height:1px;background:var(--grey3);position:relative;overflow:hidden}
.scroll-ln::after{content:'';position:absolute;left:0;top:0;width:30%;height:100%;background:var(--accent);animation:scrollLn 2s ease infinite}

/* ===== MARQUEE ===== */
.mqe{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.03);overflow:hidden;position:relative}
.mqe-t{display:flex;gap:56px;animation:mqScroll 30s linear infinite;width:max-content}
.mqe-i{font-family:var(--font-d);font-size:12px;letter-spacing:8px;text-transform:uppercase;color:var(--grey3);white-space:nowrap;display:flex;align-items:center;gap:56px}
.mqe-i::after{content:'';width:4px;height:4px;background:var(--accent);border-radius:50%;flex-shrink:0}

/* ===== SPLIT SECTION ===== */
/* ===== ABOUT (brand cards) ===== */
.about{padding:140px 48px 100px;max-width:1400px;margin:0 auto}
.about-head{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:64px;flex-wrap:wrap}
.about-label{font-family:var(--font-m);font-size:9px;letter-spacing:6px;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:12px}
.about-label::before{content:'';width:32px;height:1px;background:var(--accent)}
.about-title{font-family:var(--font-d);font-size:clamp(48px,5vw,80px);line-height:.95;text-transform:uppercase}
.about-title .a{color:var(--accent)}
.about .icards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}

.split{display:grid;grid-template-columns:1fr;min-height:auto;max-width:1400px;margin:0 auto}
.split-left{display:none}
/* Hidden until teaser/series/episodes content is ready */
#timeline,#scenes{display:none}
.split-left{position:relative;overflow:hidden;background:var(--grey)}
.split-left-inner{position:absolute;inset:0;background:url('../assets/images/img-studio.jpg') center/cover no-repeat;display:flex;align-items:center;justify-content:center;transition:transform .6s var(--ease)}
.split-left-inner::after{content:'';position:absolute;inset:0;background:rgba(17,26,34,.5)}
.split:hover .split-left-inner{transform:scale(1.05)}
.split-left-content{text-align:center;z-index:2;position:relative}
.split-left-num{font-family:var(--font-d);font-size:200px;color:var(--accent);opacity:.06;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
.split-left-icon{width:80px;height:80px;border:1px solid rgba(255,255,255,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:24px;transition:all .5s var(--ease)}
.split:hover .split-left-icon{border-color:var(--accent);background:var(--accent);color:var(--black);transform:scale(1.1)}
.split-left-tag{font-family:var(--font-m);font-size:8px;letter-spacing:4px;text-transform:uppercase;color:var(--accent)}
.split-right{padding:80px 60px;display:flex;flex-direction:column;justify-content:center}
.split-right-label{font-family:var(--font-m);font-size:9px;letter-spacing:6px;text-transform:uppercase;color:var(--accent);margin-bottom:24px;display:flex;align-items:center;gap:12px}
.split-right-label::before{content:'';width:32px;height:1px;background:var(--accent)}
.split-right h2{font-family:var(--font-d);font-size:clamp(48px,5vw,80px);line-height:.95;text-transform:uppercase;margin-bottom:40px}
.split-right h2 .a{color:var(--accent)}

/* ===== PHOTO GRID ===== */
.pgrid-wrap{padding:80px 48px;gap:32px}
.pgrid-head{display:flex;flex-direction:column;gap:14px}
.pgrid-label{font-family:var(--font-m);font-size:9px;letter-spacing:6px;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:12px}
.pgrid-label::before{content:'';width:32px;height:1px;background:var(--accent)}
.pgrid-title{font-family:var(--font-d);font-size:clamp(32px,3.2vw,56px);line-height:.95;text-transform:uppercase}
.pgrid-title .a{color:var(--accent)}
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:140px;gap:8px}
@keyframes pcellReveal{from{opacity:0;transform:translateY(40px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
.pcell{position:relative;display:block;overflow:hidden;border-radius:4px;background:var(--grey);grid-column:span 2;grid-row:span 1;cursor:pointer;animation:pcellReveal .9s var(--ease) both;transition:box-shadow .5s ease}
.pcell:nth-child(1){animation-delay:0ms}
.pcell:nth-child(2){animation-delay:90ms}
.pcell:nth-child(3){animation-delay:180ms}
.pcell:nth-child(4){animation-delay:270ms}
.pcell:nth-child(5){animation-delay:360ms}
.pcell:nth-child(6){animation-delay:450ms}
.pcell:nth-child(7){animation-delay:540ms}
.pcell:nth-child(8){animation-delay:630ms}
.pcell:nth-child(9){animation-delay:720ms}
.pcell-tall{grid-row:span 2}
.pcell-wide{grid-column:span 4;grid-row:span 1}
.pcell img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s var(--ease),filter .6s ease;filter:grayscale(.4) brightness(.85)}
.pcell::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(17,26,34,.6) 100%);opacity:0;transition:opacity .5s ease;pointer-events:none}
.pcell:hover{box-shadow:0 24px 60px rgba(0,0,0,.5),0 0 0 1px rgba(200,255,0,.3);z-index:2}
.pcell:hover img{transform:scale(1.12);filter:grayscale(0) brightness(1)}
.pcell:hover::after{opacity:1}
.pcell-tag{position:absolute;left:14px;bottom:14px;font-family:var(--font-m);font-size:9px;letter-spacing:3px;color:var(--accent);background:rgba(17,26,34,.7);backdrop-filter:blur(8px);padding:5px 10px;border:1px solid rgba(200,255,0,.25);opacity:0;transform:translateY(8px);transition:all .4s var(--ease);z-index:2}
.pcell:hover .pcell-tag{opacity:1;transform:translateY(0)}

/* INFO CARDS */
.icards{display:flex;flex-direction:column;gap:20px}
.icard{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.05);border-radius:8px;padding:32px;position:relative;overflow:hidden;transition:all .5s var(--ease);transform:translateX(60px);opacity:0}
.icard.v{transform:translateX(0);opacity:1}
.icard:hover{border-color:rgba(200,255,0,.2);transform:translateX(8px) !important}
.icard::before{content:'';position:absolute;top:0;left:0;width:0;height:100%;background:rgba(200,255,0,.04);transition:width .5s var(--ease)}
.icard:hover::before{width:100%}
.icard-n{font-family:var(--font-d);font-size:42px;color:var(--accent);opacity:.12;position:absolute;top:8px;right:16px}
.icard-t{font-family:var(--font-d);font-size:18px;letter-spacing:3px;text-transform:uppercase;margin-bottom:8px}
.icard-p{font-size:13px;line-height:1.7;color:var(--grey4)}
.icard-p strong{color:var(--white);font-weight:500}
.icard-arrow{position:absolute;right:32px;bottom:32px;width:32px;height:1px;background:var(--grey3);transition:all .4s var(--ease)}
.icard-arrow::after{content:'';position:absolute;right:0;top:-3px;width:6px;height:6px;border-right:1px solid var(--grey3);border-top:1px solid var(--grey3);transform:rotate(45deg);transition:border-color .4s ease}
.icard:hover .icard-arrow{width:48px;background:var(--accent)}
.icard:hover .icard-arrow::after{border-color:var(--accent)}

/* ===== BIG REVEAL ===== */
.bigr{padding:180px 48px;position:relative;overflow:hidden}
.bigr-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 30% 50%,var(--accent-glow) 0%,transparent 55%);opacity:0;transition:opacity 1.2s ease}
.bigr.active .bigr-glow{opacity:1}
.bigr-16{position:absolute;right:-2vw;top:50%;transform:translateY(-50%);z-index:0;pointer-events:none;line-height:.78;text-align:right;opacity:0;transition:opacity 1.4s ease,transform 1.4s var(--ease)}
.bigr.active .bigr-16{opacity:1;transform:translateY(-50%) translateX(-1vw)}
.bigr-16-num{display:block;font-family:var(--font-d);font-size:clamp(280px,42vw,720px);font-weight:700;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:2px rgba(200,255,0,.18);text-stroke:2px rgba(200,255,0,.18);filter:drop-shadow(0 0 60px rgba(200,255,0,.05))}
.bigr-16-tag{display:block;font-family:var(--font-m);font-size:11px;letter-spacing:8px;text-transform:uppercase;color:var(--grey4);margin-top:8px;padding-right:8px}
.bigr-text{font-family:var(--font-d);font-size:clamp(56px,10vw,160px);text-transform:uppercase;line-height:.92;max-width:1400px;margin:0 auto;position:relative;z-index:1}
.bigr-text .ch{display:inline-block;opacity:0;transform:translateY(100px) rotateX(60deg);transition:all .5s var(--ease)}
.bigr-text .ch.v{opacity:1;transform:translateY(0) rotateX(0)}
.bigr-text .a{color:var(--accent)}
.bigr-text .d{color:var(--grey3)}
.bigr-counter{position:absolute;right:48px;top:50%;transform:translateY(-50%);font-family:var(--font-m);font-size:10px;letter-spacing:2px;color:var(--grey3);writing-mode:vertical-lr;z-index:1;opacity:0;transition:opacity .8s ease}
.bigr.active .bigr-counter{opacity:1}

/* ===== AUTOMOTIVE GAUGES ===== */
.infog{padding:140px 48px;max-width:1400px;margin:0 auto}
.infog-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:80px}
.infog-label{font-family:var(--font-m);font-size:9px;letter-spacing:6px;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:12px}
.infog-label::before{content:'';width:32px;height:1px;background:var(--accent)}
.infog-desc{font-size:12px;color:var(--grey4);max-width:300px;text-align:right;line-height:1.6}
.gauge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.gauge-card{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.04);border-radius:12px;padding:36px 20px 28px;text-align:center;position:relative;overflow:hidden;transition:all .5s var(--ease)}
.gauge-card::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,rgba(200,255,0,.04) 0%,transparent 70%);opacity:0;transition:opacity .5s ease}
.gauge-card:hover::before{opacity:1}
.gauge-card:hover{border-color:rgba(200,255,0,.15);transform:translateY(-4px)}
.gauge-icon{margin:0 auto 16px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;opacity:.5}
.gauge-icon svg{width:100%;height:100%}
.gauge-wrap{position:relative;width:180px;height:110px;margin:0 auto}
.gauge-svg{width:100%;height:100%;overflow:visible}
.gauge-bg{fill:none;stroke:rgba(255,255,255,.06);stroke-width:8;stroke-linecap:round}
.gauge-fill{fill:none;stroke:var(--accent);stroke-width:8;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(200,255,0,.3));transition:stroke-dashoffset .05s linear}
.gauge-redline{fill:none;stroke:#ff1a1a;stroke-width:8;stroke-linecap:round;opacity:.7}
.gauge-ticks{}
.gauge-tick{fill:none;stroke:rgba(255,255,255,.15);stroke-width:1.5}
.gauge-tick-major{fill:none;stroke:rgba(255,255,255,.3);stroke-width:2}
.gauge-tick-red{fill:none;stroke:rgba(255,26,26,.5);stroke-width:2}
.gauge-needle{transform-origin:90px 90px;transition:transform .05s linear}
.gauge-needle line{stroke:var(--white);stroke-width:2.5;stroke-linecap:round;filter:drop-shadow(0 0 4px rgba(200,255,0,.4))}
.gauge-needle circle{fill:var(--accent);filter:drop-shadow(0 0 6px rgba(200,255,0,.5))}
.gauge-center-ring{fill:none;stroke:rgba(255,255,255,.1);stroke-width:1}
.gauge-val{position:absolute;bottom:0;left:50%;transform:translateX(-50%);text-align:center}
.gauge-val-num{font-family:var(--font-d);font-size:36px;line-height:1;color:var(--white);letter-spacing:1px}
.gauge-val-unit{font-family:var(--font-m);font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-top:2px;display:block}
.gauge-name{font-family:var(--font-m);font-size:8px;letter-spacing:4px;text-transform:uppercase;color:var(--grey4);margin-top:20px}
.gauge-range{display:flex;justify-content:space-between;margin-top:12px;padding:0 10px}
.gauge-range span{font-family:var(--font-m);font-size:7px;color:var(--grey3);letter-spacing:1px}
.gauge-glow{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);width:120px;height:40px;background:radial-gradient(ellipse,rgba(200,255,0,.08) 0%,transparent 70%);opacity:0;transition:opacity .5s ease;pointer-events:none}
.gauge-card:hover .gauge-glow{opacity:1}

/* ===== 3D CAR SECTION ===== */
.car3d{position:relative;height:115vh}
.car3d-sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center}
.car3d-canvas{position:absolute;inset:0;z-index:1}
.car3d-overlay{position:absolute;inset:0;z-index:2;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:48px}
.car3d-label{font-family:var(--font-m);font-size:9px;letter-spacing:6px;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:12px}
.car3d-label::before{content:'';width:32px;height:1px;background:var(--accent)}
.car3d-title{font-family:var(--font-d);font-size:clamp(48px,8vw,120px);text-transform:uppercase;line-height:.9;opacity:.08;position:absolute;bottom:80px;right:48px;text-align:right;z-index:2;pointer-events:none}
.car3d-specs{position:absolute;left:48px;top:50%;transform:translateY(-50%);z-index:2;pointer-events:none}
.car3d-spec{margin-bottom:24px;opacity:0;transform:translateX(-20px);transition:all .6s var(--ease)}
.car3d-spec.v{opacity:1;transform:translateX(0)}
.car3d-spec-val{font-family:var(--font-d);font-size:36px;color:var(--accent);line-height:1}
.car3d-spec-lbl{font-family:var(--font-m);font-size:8px;letter-spacing:3px;text-transform:uppercase;color:var(--grey4);margin-top:2px}
.car3d-pct{position:absolute;right:48px;top:50%;transform:translateY(-50%);z-index:2;pointer-events:none;font-family:var(--font-m);font-size:11px;letter-spacing:2px;color:var(--grey3)}
.car3d-grid{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(200,255,0,.03) 1px,transparent 1px);background-size:40px 40px;z-index:0}
.car3d-scanline{position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.15;z-index:3;pointer-events:none;animation:scanline 4s linear infinite}
@keyframes scanline{0%{top:-1px}100%{top:100%}}

/* ===== PARTS (3D Components) ===== */
.parts{padding:140px 48px 120px;max-width:1400px;margin:0 auto;position:relative}
.parts-head{display:grid;grid-template-columns:auto 1fr auto;gap:40px;align-items:end;margin-bottom:80px}
.parts-label{font-family:var(--font-m);font-size:9px;letter-spacing:6px;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:12px;align-self:center}
.parts-label::before{content:'';width:32px;height:1px;background:var(--accent)}
.parts-title{font-family:var(--font-d);font-size:clamp(40px,4.5vw,72px);line-height:.95;text-transform:uppercase;justify-self:start}
.parts-title .a{color:var(--accent)}
.parts-desc{font-size:12px;line-height:1.7;color:var(--grey4);max-width:280px;text-align:right}
.parts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;position:relative}
.parts-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:5;display:block}
.part-card{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.025) 0%,rgba(255,255,255,.005) 100%);border:1px solid rgba(255,255,255,.05);border-radius:6px;overflow:hidden;aspect-ratio:1/1.1;display:flex;flex-direction:column;transition:border-color .5s var(--ease),box-shadow .5s var(--ease);cursor:none}
.part-card::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(200,255,0,.04) 0%,transparent 70%);opacity:0;transition:opacity .5s ease;pointer-events:none;z-index:1}
.part-card::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle,rgba(200,255,0,.04) 1px,transparent 1px);background-size:32px 32px;opacity:.5;pointer-events:none;z-index:0}
.part-card:hover{border-color:rgba(200,255,0,.2);box-shadow:0 24px 60px rgba(0,0,0,.4),0 0 0 1px rgba(200,255,0,.1)}
.part-card:hover::before{opacity:1}
.part-scanline{position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.2;z-index:6;pointer-events:none;animation:scanline 6s linear infinite}
.part-meta{position:absolute;left:0;right:0;bottom:0;padding:24px 28px;z-index:7;display:flex;flex-direction:column;gap:4px;background:linear-gradient(180deg,transparent 0%,rgba(17,26,34,.7) 60%,rgba(17,26,34,.92) 100%);pointer-events:none}
.part-num{font-family:var(--font-m);font-size:9px;letter-spacing:4px;color:var(--accent);margin-bottom:6px}
.part-name{font-family:var(--font-d);font-size:28px;letter-spacing:3px;text-transform:uppercase;line-height:1}
.part-desc{font-family:var(--font-m);font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--grey4);margin-top:4px}

/* ===== VELOCITY TEXT ===== */
.vtext{padding:24px 0;overflow:hidden;border-top:1px solid rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.03)}
.vtext-inner{font-family:var(--font-d);font-size:clamp(80px,12vw,200px);text-transform:uppercase;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.08);line-height:1;transition:transform .1s linear}

/* ===== TIMELINE ===== */
.tl{padding:120px 48px;max-width:1000px;margin:0 auto;position:relative}
.tl-label{font-family:var(--font-m);font-size:9px;letter-spacing:6px;text-transform:uppercase;color:var(--accent);margin-bottom:80px;display:flex;align-items:center;gap:12px}
.tl-label::before{content:'';width:32px;height:1px;background:var(--accent)}
.tl-line{position:absolute;left:50%;top:200px;bottom:60px;width:1px;background:rgba(255,255,255,.04);transform:translateX(-50%)}
.tl-fill{position:absolute;left:50%;top:200px;width:1px;height:0;background:var(--accent);transform:translateX(-50%);transition:height .05s linear}
.tli{display:grid;grid-template-columns:1fr 48px 1fr;margin-bottom:72px;align-items:center;opacity:0;transform:translateY(50px);transition:all .7s var(--ease)}
.tli.v{opacity:1;transform:translateY(0)}
.tli:nth-child(odd) .tli-c{text-align:right;grid-column:1}
.tli:nth-child(odd) .tli-d{grid-column:2}
.tli:nth-child(odd) .tli-y{grid-column:3}
.tli:nth-child(even) .tli-y{text-align:right;grid-column:1;grid-row:1}
.tli:nth-child(even) .tli-d{grid-column:2;grid-row:1}
.tli:nth-child(even) .tli-c{grid-column:3;grid-row:1}
.tli-d{width:14px;height:14px;background:var(--black);border:2px solid var(--grey3);border-radius:50%;margin:0 auto;position:relative;z-index:2;transition:all .5s ease}
.tli.v .tli-d{border-color:var(--accent);box-shadow:0 0 24px var(--accent-glow-s)}
.tli-d::after{content:'';position:absolute;inset:3px;background:var(--accent);border-radius:50%;opacity:0;transition:opacity .4s ease}
.tli.v .tli-d::after{opacity:1}
.tli-yr{font-family:var(--font-d);font-size:48px;color:var(--accent);opacity:.4}
.tli-tt{font-family:var(--font-d);font-size:18px;letter-spacing:3px;text-transform:uppercase;margin-bottom:6px}
.tli-ds{font-size:12px;color:var(--grey4);line-height:1.6}
.tli-tag{display:inline-block;font-family:var(--font-m);font-size:8px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);border:1px solid rgba(200,255,0,.2);padding:3px 10px;border-radius:12px;margin-top:8px}

/* ===== HSCROLL GALLERY ===== */
.hg{padding:120px 0 120px 48px;overflow:hidden}
.hg-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:56px;padding-right:48px}
.hg-label{font-family:var(--font-m);font-size:9px;letter-spacing:6px;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:12px}
.hg-label::before{content:'';width:32px;height:1px;background:var(--accent)}
.hg-arrows{display:flex;gap:8px}
.hg-arr{width:44px;height:44px;border:1px solid var(--grey2);display:flex;align-items:center;justify-content:center;cursor:none;transition:all .3s ease;background:transparent;color:var(--white);font-size:16px}
.hg-arr:hover{border-color:var(--accent);background:var(--accent);color:var(--black)}
.hg-track{display:flex;gap:20px;transition:transform .6s var(--ease);will-change:transform}
.gc{flex:0 0 400px;height:520px;background:var(--grey);border-radius:6px;overflow:hidden;position:relative;transition:all .5s var(--ease)}
.gc:hover{transform:translateY(-8px)}
.gc-bg{position:absolute;inset:0;transition:transform .7s var(--ease)}
.gc:hover .gc-bg{transform:scale(1.1)}
.gc:nth-child(1) .gc-bg{background:url('../assets/images/img-sp-night.png') center/cover}
.gc:nth-child(2) .gc-bg{background:linear-gradient(135deg,#141a24,#101622)}
.gc:nth-child(3) .gc-bg{background:linear-gradient(135deg,#141a24,#101622)}
.gc-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(6,6,10,.95) 0%,rgba(6,6,10,.15) 50%,transparent);padding:32px;display:flex;flex-direction:column;justify-content:flex-end;transition:background .5s ease}
.gc:hover .gc-ov{background:linear-gradient(to top,rgba(200,255,0,.2) 0%,rgba(6,6,10,.15) 50%,transparent)}
.gc-tag{position:absolute;top:20px;left:20px;font-family:var(--font-m);font-size:7px;letter-spacing:3px;text-transform:uppercase;color:var(--accent);background:rgba(0,0,0,.6);padding:5px 12px;border-radius:20px;backdrop-filter:blur(10px);border:1px solid rgba(200,255,0,.12)}
.gc-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);width:72px;height:72px;border:1.5px solid rgba(255,255,255,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .5s var(--ease);backdrop-filter:blur(8px);background:rgba(200,255,0,.1)}
.gc:hover .gc-play{transform:translate(-50%,-50%) scale(1)}
.gc-play::after{content:'';width:0;height:0;border-left:16px solid var(--white);border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:4px}
.gc-num{font-family:var(--font-d);font-size:72px;color:var(--accent);opacity:.08;line-height:1}
.gc-tt{font-family:var(--font-d);font-size:28px;letter-spacing:3px;text-transform:uppercase;margin-top:4px}
.gc-sub{font-size:11px;color:var(--grey4);margin-top:6px;letter-spacing:1px}
.gc-meta{display:flex;gap:16px;margin-top:12px;opacity:0;transform:translateY(10px);transition:all .4s ease .1s}
.gc:hover .gc-meta{opacity:1;transform:translateY(0)}
.gc-meta span{font-family:var(--font-m);font-size:8px;letter-spacing:2px;text-transform:uppercase;color:var(--grey4);border:1px solid var(--grey2);padding:3px 8px;border-radius:3px}

/* ===== QUOTE ===== */
.qt{padding:180px 48px;max-width:1000px;margin:0 auto;text-align:center;position:relative}
.qt-deco{font-family:var(--font-d);font-size:240px;line-height:.4;color:var(--accent);opacity:.05;position:absolute;top:120px;left:50%;transform:translateX(-50%)}
.qt-text{font-family:var(--font-d);font-size:clamp(32px,5vw,64px);text-transform:uppercase;line-height:1.1;position:relative;z-index:1}
.qt-text .w{display:inline-block;opacity:0;transform:translateY(24px) scale(.95);transition:all .4s var(--ease)}
.qt-text .w.v{opacity:1;transform:translateY(0) scale(1)}
.qt-a{margin-top:48px;font-family:var(--font-m);font-size:10px;letter-spacing:5px;text-transform:uppercase;color:var(--grey4);opacity:0;transition:opacity .8s ease .6s}
.qt-a.v{opacity:1}
.qt-line{width:48px;height:1px;background:var(--accent);margin:32px auto 0;transform:scaleX(0);transition:transform .8s var(--ease) .4s}
.qt-line.v{transform:scaleX(1)}

/* ===== COUNTDOWN ===== */
.cd{padding:64px 48px;text-align:center;border-bottom:1px solid rgba(255,255,255,.04);position:relative;overflow:hidden}
.cd::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 100%,rgba(200,255,0,.03) 0%,transparent 60%)}
.cd-title{font-family:var(--font-m);font-size:10px;letter-spacing:6px;text-transform:uppercase;color:var(--accent);margin-bottom:40px}
.cd-boxes{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:nowrap}
.cd-box{background:rgba(200,255,0,.04);border:1px solid rgba(200,255,0,.12);border-radius:8px;padding:20px 24px 14px;width:120px;position:relative;transition:all .3s ease}
.cd-box:hover{border-color:rgba(200,255,0,.3);background:rgba(200,255,0,.07);transform:translateY(-2px)}
.cd-box-val{font-family:var(--font-d);font-size:clamp(40px,6vw,64px);color:var(--accent);line-height:1;letter-spacing:1px;font-variant-numeric:tabular-nums;min-width:2ch;display:inline-block;text-align:center}
.cd-box-lbl{font-family:var(--font-m);font-size:8px;letter-spacing:3px;text-transform:uppercase;color:var(--grey4);margin-top:8px}
.cd-sep{font-family:var(--font-d);font-size:clamp(28px,4vw,48px);color:var(--accent);opacity:.2;padding:0 2px;align-self:flex-start;padding-top:16px}
.cd-box-ms{width:140px}
.cd-box-ms .cd-box-val{font-size:clamp(36px,5vw,56px);min-width:3ch}

/* ===== SPONSORS ===== */
.sponsors{padding:100px 48px;max-width:1400px;margin:0 auto}
.sponsors-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:64px}
.sponsors-label{font-family:var(--font-m);font-size:9px;letter-spacing:6px;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:12px}
.sponsors-label::before{content:'';width:32px;height:1px;background:var(--accent)}
.sponsors-cta{font-family:var(--font-m);font-size:9px;letter-spacing:3px;text-transform:uppercase}
.sponsors-cta a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(200,255,0,.2);padding-bottom:2px;transition:border-color .3s ease}
.sponsors-cta a:hover{border-color:var(--accent)}
.sponsors-marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.sponsors-track{display:flex;align-items:center;gap:1px;width:max-content;animation:sponsorScroll 50s linear infinite}
.sponsors-marquee:hover .sponsors-track{animation-play-state:paused}
.sponsor{padding:0 48px;display:flex;align-items:center;justify-content:center;min-height:120px;width:200px;flex-shrink:0}
.sponsor-logo{max-width:100%;max-height:60px;width:auto;height:auto;object-fit:contain;filter:opacity(.5);transition:filter .4s ease,transform .4s ease}
.sponsor:hover .sponsor-logo{filter:opacity(1);transform:scale(1.05)}
@keyframes sponsorScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.sponsor-name{font-family:var(--font-d);font-size:18px;letter-spacing:3px;text-transform:uppercase;color:var(--grey4);transition:color .4s ease;text-align:center}
.sponsor:hover .sponsor-name{color:var(--white)}
.press{padding:60px 48px 0;max-width:1400px;margin:0 auto}
.press-label{font-family:var(--font-m);font-size:9px;letter-spacing:6px;text-transform:uppercase;color:var(--grey3);margin-bottom:32px;display:flex;align-items:center;gap:12px}
.press-label::before{content:'';width:32px;height:1px;background:var(--grey3)}
.press-contact{font-size:13px;color:var(--grey4);line-height:1.7}
.press-contact a{color:var(--accent);text-decoration:none}
.press-contact a:hover{text-decoration:underline}

/* ===== CTA ===== */
.cta{padding:160px 48px;text-align:center;position:relative;overflow:hidden}
.cta-glow{position:absolute;inset:0;background:radial-gradient(circle at 50% 60%,var(--accent-glow) 0%,transparent 50%)}
.cta h2{font-family:var(--font-d);font-size:clamp(44px,8vw,120px);text-transform:uppercase;position:relative;z-index:1;line-height:.95}
.cta h2 .a{color:var(--accent)}
.cta-sub{margin-top:16px;font-family:var(--font-m);font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--grey4);position:relative;z-index:1}
.mag-btn{display:inline-flex;align-items:center;gap:16px;margin-top:48px;padding:22px 64px;border:1px solid var(--accent);color:var(--accent);font-family:var(--font-b);font-size:11px;letter-spacing:5px;text-transform:uppercase;text-decoration:none;position:relative;z-index:1;transition:all .5s var(--ease);background:transparent;cursor:none;overflow:hidden}
.mag-btn::before{content:'';position:absolute;inset:0;background:var(--accent);transform:translateY(101%);transition:transform .5s var(--ease);z-index:-1}
.mag-btn:hover{color:var(--black)}
.mag-btn:hover::before{transform:translateY(0)}
.mag-btn-arr{width:24px;height:1px;background:currentColor;position:relative;transition:width .4s ease}
.mag-btn-arr::after{content:'';position:absolute;right:0;top:-3px;width:7px;height:7px;border-right:1px solid currentColor;border-top:1px solid currentColor;transform:rotate(45deg)}
.mag-btn:hover .mag-btn-arr{width:36px}

/* ===== LIGHTBOX MODAL ===== */
.lbx{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease}
.lbx.open{opacity:1;visibility:visible;pointer-events:auto}
.lbx-bg{position:absolute;inset:0;background:rgba(8,12,16,.92);backdrop-filter:blur(16px) saturate(120%);-webkit-backdrop-filter:blur(16px) saturate(120%);cursor:zoom-out}
.lbx-bg::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 30%,rgba(0,0,0,.6) 100%);pointer-events:none}
.lbx-stage{position:relative;z-index:2;max-width:min(1400px,92vw);max-height:88vh;display:flex;flex-direction:column;align-items:center;gap:18px;margin:0;transform:scale(.94) translateY(20px);transition:transform .5s var(--ease);pointer-events:none}
.lbx.open .lbx-stage{transform:scale(1) translateY(0)}
.lbx-img{max-width:100%;max-height:78vh;width:auto;height:auto;display:block;object-fit:contain;border-radius:2px;box-shadow:0 40px 120px rgba(0,0,0,.7),0 0 0 1px rgba(200,255,0,.12),0 0 80px rgba(200,255,0,.06);pointer-events:auto}
.lbx-meta{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 4px;pointer-events:auto}
.lbx-counter{font-family:var(--font-d);font-size:14px;letter-spacing:4px;color:var(--white);display:flex;align-items:center;gap:10px}
.lbx-counter #lbxIdx{color:var(--accent);font-size:18px}
.lbx-sep{color:var(--grey3);font-weight:300}
.lbx-label{font-family:var(--font-m);font-size:9px;letter-spacing:5px;text-transform:uppercase;color:var(--grey4);display:flex;align-items:center;gap:12px}
.lbx-label::before{content:'';width:32px;height:1px;background:var(--accent)}
.lbx-close{position:absolute;top:32px;right:32px;z-index:3;width:48px;height:48px;background:transparent;border:1px solid rgba(255,255,255,.15);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .4s var(--ease);pointer-events:auto}
.lbx-close span{position:absolute;width:18px;height:1px;background:var(--white);transition:background .3s ease}
.lbx-close span:nth-child(1){transform:rotate(45deg)}
.lbx-close span:nth-child(2){transform:rotate(-45deg)}
.lbx-close:hover{border-color:var(--accent);background:rgba(200,255,0,.08);transform:rotate(90deg) scale(1.05)}
.lbx-close:hover span{background:var(--accent)}
.lbx-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:56px;height:56px;background:rgba(17,26,34,.5);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:50%;color:var(--white);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .4s var(--ease);pointer-events:auto}
.lbx-nav svg{width:24px;height:24px}
.lbx-nav:hover{border-color:var(--accent);color:var(--accent);background:rgba(200,255,0,.08);box-shadow:0 0 24px rgba(200,255,0,.18)}
.lbx-prev{left:32px}
.lbx-next{right:32px}
.lbx-prev:hover{transform:translateY(-50%) translateX(-4px)}
.lbx-next:hover{transform:translateY(-50%) translateX(4px)}
body.lbx-lock{overflow:hidden}

/* ===== FOOTER ===== */
footer{padding:48px;border-top:1px solid rgba(255,255,255,.03);display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.fl{font-family:var(--font-d);font-size:13px;letter-spacing:6px;text-transform:uppercase}
.fls{display:flex;gap:28px}
.fls a{font-family:var(--font-m);font-size:8px;letter-spacing:3px;text-transform:uppercase;color:var(--grey3);text-decoration:none;transition:color .3s}
.fls a:hover{color:var(--accent)}
.fc{text-align:right;font-family:var(--font-m);font-size:8px;color:var(--grey2);letter-spacing:2px}

/* ===== KEYFRAMES ===== */
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes revealUp{from{transform:translateY(105%)}to{transform:translateY(0)}}
@keyframes lineX{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes mqScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes scrollLn{0%{left:-30%}100%{left:100%}}
@keyframes gridFade{to{opacity:1}}
@keyframes noiseShift{0%{transform:translate(0)}10%{transform:translate(-5%,-5%)}20%{transform:translate(5%,5%)}30%{transform:translate(-3%,3%)}40%{transform:translate(3%,-3%)}50%{transform:translate(-5%,5%)}60%{transform:translate(5%,-5%)}70%{transform:translate(-3%,-3%)}80%{transform:translate(3%,3%)}90%{transform:translate(-5%,5%)}100%{transform:translate(0)}}
@keyframes ptcFloat{0%{opacity:0;transform:translateY(0)}15%{opacity:.6}100%{opacity:0;transform:translateY(-300px) translateX(40px)}}

/* ===== RESPONSIVE ===== */
@media(max-width:768px){
.cur,.cur-d,.cur-label{display:none}body{cursor:auto}
nav{padding:16px 20px}.nls{display:none}
.split{grid-template-columns:1fr}.split-left{height:40vh}.split-right{padding:48px 20px}.about{padding:80px 20px 60px}.about-head{margin-bottom:40px}.about .icards{grid-template-columns:1fr;gap:16px}.pgrid-wrap{padding:48px 20px}.pgrid{grid-template-columns:repeat(2,1fr);grid-auto-rows:100px}.pcell{grid-column:span 1}.pcell-tall{grid-row:span 2}.pcell-wide{grid-column:span 2;grid-row:span 1}
.infog{padding:80px 20px}.gauge-grid{grid-template-columns:1fr 1fr;gap:16px}
.infog-head{flex-direction:column;align-items:flex-start;gap:16px}.infog-desc{text-align:left}
.tli{grid-template-columns:28px 1fr;gap:12px}
.tli:nth-child(odd) .tli-c,.tli:nth-child(even) .tli-c{text-align:left;grid-column:2}
.tli:nth-child(odd) .tli-d,.tli:nth-child(even) .tli-d{grid-column:1}
.tli .tli-y{display:none}.tl-line,.tl-fill{left:14px}
.gc{flex:0 0 300px;height:420px}
footer{grid-template-columns:1fr;gap:20px;text-align:center}.fc{text-align:center}.fls{justify-content:center}
.sponsors{padding:60px 20px}.sponsors-head{flex-direction:column;align-items:flex-start;gap:16px}.sponsor{width:160px;padding:0 32px;min-height:100px}.sponsors-track{animation-duration:35s}
.press{padding:40px 20px}
.hero-coords{display:none}.hero-scroll{right:20px}
.hero-content{padding:0 20px;max-width:100vw}
.hero-wordmark{width:min(560px,78vw)}
.hero-escudo{width:108px;margin-bottom:24px}
.hero-t{letter-spacing:0}
.hero-ey{font-size:9px;letter-spacing:5px}
.hero-ey::before,.hero-ey::after{margin:0 8px}
.hero-sub{font-size:11px;letter-spacing:3px;margin-top:28px;padding:0 16px}
.lbx-close{top:16px;right:16px;width:40px;height:40px}.lbx-nav{width:44px;height:44px}.lbx-prev{left:12px}.lbx-next{right:12px}.lbx-img{max-height:70vh}.lbx-meta{flex-direction:column;gap:8px;align-items:flex-start}
.cd{padding:48px 20px}.cd-boxes{gap:8px}.cd-box{width:56px;padding:14px 8px 10px}.cd-sep{font-size:24px;padding-top:10px}.cd-box-ms{width:72px}
.bigr{padding:100px 20px}.bigr-counter{display:none}.bigr-16{right:-4vw;opacity:.6}.bigr-16-num{font-size:60vw}.bigr-16-tag{font-size:8px;letter-spacing:4px}
.parts{padding:80px 20px 60px}.parts-head{grid-template-columns:1fr;gap:20px;margin-bottom:40px}.parts-desc{text-align:left;max-width:none}.parts-grid{grid-template-columns:1fr;gap:12px}
}
