/* ==========================================================
   LA PERLA TRUCK SHOW · rediseño pro (v2)
   Marca intacta: negro #0b0b0c · rojo #d60407 · Bebas Neue + Montserrat
   ========================================================== */
@font-face{font-family:'Bebas Neue';src:url(../fonts/bebas-neue-latin-400-normal.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url(../fonts/montserrat-latin-wght-normal.woff2) format('woff2');font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --ink:#0b0b0c;--ink-2:#101011;--carbon:#151517;--panel:#1a1a1d;--line:#2b2b2f;
  --muted:#a7a7ad;--paper:#fff;--red:#d60407;--red-dark:#8f0204;--red-l:#ff3a3e;
  --display:'Bebas Neue',Impact,'Arial Narrow',sans-serif;
  --body:'Montserrat',system-ui,-apple-system,'Segoe UI',sans-serif;
  --max:1320px;--gutter:clamp(20px,5vw,72px);
  --cbOut:cubic-bezier(.16,1,.3,1);--cbUi:cubic-bezier(.23,1,.32,1);
  --shadow:0 30px 80px rgba(0,0,0,.35);
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--ink);scroll-behavior:smooth;scroll-padding-top:70px;-webkit-text-size-adjust:100%}
body{font-family:var(--body);background:var(--ink);color:var(--paper);line-height:1.6;overflow-x:clip;-webkit-font-smoothing:antialiased}
img,video,canvas,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{color:inherit}
ul,ol{list-style:none}
::selection{background:var(--red);color:#fff}
:focus-visible{outline:2px solid #fff;outline-offset:4px}
.wrap{width:min(100%,var(--max));margin-inline:auto;padding-inline:var(--gutter)}
.section{position:relative;padding:clamp(82px,9vw,132px) 0;background:var(--ink)}
.skip-link{position:fixed;left:18px;top:-80px;z-index:1000;background:#fff;color:#111;padding:10px 16px;border-radius:4px;font-weight:700;transition:top .2s var(--cbUi)}
.skip-link:focus{top:18px}

/* ---------- Botones ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:48px;padding:.92rem 1.45rem;border:1px solid transparent;border-radius:2px;font-size:.8rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;overflow:hidden;
  transition:transform .28s var(--cbUi),background .28s,border-color .28s,box-shadow .28s}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(.98)}
.btn--lg{min-height:56px;padding:1.05rem 1.75rem;font-size:.84rem}
.btn--light{background:#fff;color:#0b0b0c;box-shadow:0 16px 45px rgba(255,255,255,.12)}
.btn--light:hover{box-shadow:0 20px 55px rgba(255,255,255,.22)}
.btn--brand{background:linear-gradient(180deg,var(--red),var(--red-dark));color:#fff;box-shadow:0 16px 45px rgba(214,4,7,.18)}
.btn--brand:hover{box-shadow:0 22px 60px rgba(214,4,7,.34)}
.btn--outline{background:rgba(10,10,10,.28);border-color:rgba(255,255,255,.26);backdrop-filter:blur(8px)}
.btn--outline:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn::after{content:"";position:absolute;inset:-2px;pointer-events:none;background:linear-gradient(115deg,transparent 24%,rgba(255,255,255,.26) 44%,transparent 63%);transform:translateX(-130%);transition:transform .6s var(--cbOut)}
.btn:hover::after{transform:translateX(130%)}

/* ---------- Barra RPM ---------- */
.rpm{position:fixed;left:0;right:0;top:0;height:5px;z-index:1200;pointer-events:none;background:rgba(255,255,255,.035)}
.rpm::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 8.1%,rgba(255,255,255,.14) 8.18%,transparent 8.3%);opacity:.45}
.rpm__fill{position:absolute;inset:0;transform-origin:left center;transform:scaleX(var(--p,0));background:linear-gradient(90deg,#4a0001,var(--red) 48%,#ff3c31);box-shadow:0 0 16px rgba(214,4,7,.7)}
.rpm__needle{position:absolute;left:calc(var(--p,0)*100%);top:50%;width:8px;height:8px;border-radius:50%;transform:translate(-50%,-50%);background:#fff;box-shadow:0 0 0 3px rgba(214,4,7,.35),0 0 18px #fff}
.rpm__label{position:absolute;right:12px;top:10px;font:800 .6rem/1 var(--body);letter-spacing:.17em;color:rgba(255,255,255,.55);opacity:calc(.28 + var(--p,0)*.72)}

/* ---------- Navegación ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:200;height:82px;padding:0 var(--gutter);display:flex;align-items:center;gap:28px;border-bottom:1px solid transparent;transition:height .35s var(--cbOut),background .35s,border-color .35s,box-shadow .35s}
.nav.scrolled{height:68px;background:rgba(11,11,12,.86);backdrop-filter:blur(16px) saturate(150%);border-bottom-color:rgba(255,255,255,.08);box-shadow:0 12px 40px rgba(0,0,0,.28)}
.nav__logo{margin-right:auto;display:block}
.nav__logo img{width:auto;height:30px;object-fit:contain;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35))}
.nav__links{display:flex;align-items:center;gap:26px}
.nav__links a{position:relative;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#d5d5d9;transition:color .25s}
.nav__links a::after{content:"";position:absolute;left:0;bottom:-9px;width:0;height:2px;background:var(--red);transition:width .25s var(--cbUi)}
.nav__links a:hover{color:#fff}.nav__links a:hover::after{width:100%}
.nav__cta{margin-left:4px;padding:.75rem 1.1rem;min-height:42px;white-space:nowrap}
.burger{display:none;width:44px;height:44px;background:transparent;border:0;position:relative;cursor:pointer}
.burger span{position:absolute;left:9px;width:26px;height:2px;background:#fff;transition:transform .3s var(--cbUi),opacity .3s,top .3s var(--cbUi)}
.burger span:nth-child(1){top:13px}.burger span:nth-child(2){top:21px}.burger span:nth-child(3){top:29px}
.burger.open span:nth-child(1){top:21px;transform:rotate(45deg)}.burger.open span:nth-child(2){opacity:0}.burger.open span:nth-child(3){top:21px;transform:rotate(-45deg)}

/* ---------- Humo WebGL (una sola capa fija) ---------- */
#smoke{position:fixed;inset:0;width:100%;height:100%;z-index:60;pointer-events:none;opacity:0}

/* ---------- Eyebrow / títulos ---------- */
.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:22px;font-size:.72rem;font-weight:800;letter-spacing:.19em;text-transform:uppercase;color:#a3a3a9}
.eyebrow b{display:inline-grid;place-items:center;min-width:36px;height:26px;padding:0 9px;border:1px solid rgba(214,4,7,.5);color:#ff4a4d;background:rgba(214,4,7,.08);font-size:.7rem;letter-spacing:.08em}
h2{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.01em}
.event h2,.section-head h2,.countdown h2,.sponsors h2,.location h2,.faq-section h2,.vid h2{font-size:clamp(3.3rem,7.2vw,7.1rem);line-height:.87}
h2>span:not(.tw){color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.82)}
.lead{margin-top:26px;max-width:62ch;font-size:clamp(1.04rem,1.5vw,1.18rem);line-height:1.75;color:#eee}
.muted{max-width:62ch;margin-top:18px;color:var(--muted);font-size:.96rem}

/* ---------- Reveals (solo con JS) ---------- */
.js:not(.show-all) [data-reveal]:not(.is-in){opacity:0;transform:translate3d(0,26px,0)}
.js:not(.show-all) [data-reveal="right"]:not(.is-in){transform:translate3d(32px,0,0)}
[data-reveal]{transition:opacity .8s var(--cbOut),transform .8s var(--cbOut);transition-delay:calc(var(--i,0)*70ms)}
.tw{display:inline-block;overflow:hidden;vertical-align:bottom;padding:.06em .02em .1em;margin:-.06em -.02em -.1em}
.tw__in{display:inline-block;transition:transform .85s var(--cbOut),opacity .5s ease;transition-delay:calc(var(--wi,0)*55ms)}
.js:not(.show-all) .title-animate:not(.is-in) .tw__in{transform:translate3d(0,115%,0);opacity:.05}

/* ==========================================================
   HERO
   ========================================================== */
.hero-wrap{position:relative;height:240vh}
.hero{position:sticky;top:0;height:100svh;min-height:600px;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);align-items:center;gap:clamp(8px,2vw,32px);padding:96px var(--gutter) 40px;background:var(--ink)}
.hero__glow{position:absolute;inset:0;z-index:-2;background:radial-gradient(58% 72% at 74% 58%,rgba(214,4,7,.24),transparent 70%),radial-gradient(40% 40% at 10% 105%,rgba(214,4,7,.13),transparent 70%)}
.hero__grain{position:absolute;inset:-50%;z-index:-1;opacity:.09;pointer-events:none;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.hero__copy{position:relative;z-index:5;max-width:640px}
.hero__kicker{display:flex;align-items:center;gap:11px;margin-bottom:18px;font-size:.75rem;letter-spacing:.19em;text-transform:uppercase;font-weight:700;color:#d1d1d5}
.hero__kicker span{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 18px rgba(214,4,7,.9)}
.hero h1{font-family:var(--display);font-size:clamp(4.2rem,min(9.4vw,17svh),9.6rem);font-weight:400;line-height:.76;letter-spacing:.005em;text-transform:uppercase}
.hero h1 em{display:block;color:transparent;font-style:normal;-webkit-text-stroke:1.5px rgba(255,255,255,.92)}
.hero__lead{max-width:520px;margin-top:24px;font-size:clamp(1rem,1.5vw,1.14rem);color:#e1e1e4;font-weight:500}
.hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hero__meta{display:flex;margin-top:36px;width:max-content;max-width:100%;border:1px solid rgba(255,255,255,.15);background:rgba(11,11,12,.5);backdrop-filter:blur(10px)}
.hero__meta>div{display:flex;flex-direction:column;min-width:140px;padding:12px 20px;border-right:1px solid rgba(255,255,255,.12)}
.hero__meta>div:last-child{border-right:0}
.hero__meta strong{font-family:var(--display);font-size:1.45rem;letter-spacing:.05em;line-height:1;font-weight:400}
.hero__meta span{margin-top:3px;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#b9b9be}
.hero__scroll{position:absolute;right:calc(var(--gutter) * .45);bottom:30px;z-index:5;display:flex;align-items:center;gap:10px;font-size:.68rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#c8c8cd;writing-mode:vertical-rl;transform:rotate(180deg)}
.hero__scroll span{display:block;width:1px;height:50px;background:linear-gradient(#fff,transparent);animation:scrollPulse 1.8s infinite}
@keyframes scrollPulse{50%{opacity:.35;transform:scaleY(.65)}}

.stage{position:relative;justify-self:end;align-self:center;width:min(100%,calc((100svh - 130px)*1.0996));aspect-ratio:1324/1204;perspective:1300px;will-change:transform}
.stage__tilt{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform}
.layer{position:absolute;inset:0;will-change:transform}
.letters{position:absolute;inset:0;transform-origin:50% 100%;
  background:linear-gradient(180deg,#e9090c 0%,var(--red) 45%,#b30306 100%);
  -webkit-mask:url(../img/hero-letters-1324.webp) center/100% 100% no-repeat;mask:url(../img/hero-letters-1324.webp) center/100% 100% no-repeat;
  filter:drop-shadow(0 0 40px rgba(214,4,7,.25))}
.truck{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 26px 30px rgba(0,0,0,.55))}
.js:not(.show-all) .letters{clip-path:inset(100% 0 0 0)}
.js:not(.show-all) .layer--truck{opacity:0}
.js:not(.show-all) .hero__copy>*{opacity:0}

/* ---------- Ticker ---------- */
.ticker{position:relative;z-index:2;overflow:hidden;border-block:1px solid rgba(255,255,255,.08);background:#0e0e0f;padding:15px 0}
.ticker__track{display:flex;width:max-content;align-items:center;gap:24px;animation:ticker 34s linear infinite;font-family:var(--display);font-size:1.15rem;letter-spacing:.13em;white-space:nowrap}
.ticker__track i{color:var(--red);font-style:normal;font-size:.58rem}
.ticker:hover .ticker__track{animation-play-state:paused}
@keyframes ticker{to{transform:translateX(-50%)}}

/* ---------- Gancho ---------- */
.hook{position:relative;z-index:2;background:var(--ink);padding:clamp(90px,16vh,170px) 0 clamp(40px,8vh,90px)}
.hook__line{font-family:var(--display);font-size:clamp(2.8rem,8.4vw,8.4rem);line-height:.9;text-transform:uppercase;letter-spacing:.01em;max-width:15ch}
.hook__line--red{color:var(--red);margin-top:.1em}
.hook .w{display:inline-block}
.js:not(.show-all) .hook .w{color:#7a7a7f}

/* ---------- Evento ---------- */
.event{padding-top:clamp(50px,6vw,90px)}
.event__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);gap:clamp(42px,7vw,100px);align-items:center}
.event__visual{position:relative;overflow:hidden;min-height:530px;border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow)}
.event__visual::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(0,0,0,.72),transparent 48%)}
.event__visual img{width:100%;height:100%;min-height:530px;object-fit:cover;transition:transform .9s var(--cbOut)}
.event__visual:hover img{transform:scale(1.035)}
.event__visual figcaption{position:absolute;z-index:2;left:26px;bottom:23px;display:flex;flex-direction:column}
.event__visual figcaption strong{font-family:var(--display);font-size:2rem;line-height:1;text-transform:uppercase;font-weight:400}
.event__visual figcaption span{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:#c1c1c6}

/* ==========================================================
   VIDEO
   ========================================================== */
.vid{background:linear-gradient(180deg,var(--ink),#0e0e10 60%,var(--ink));overflow:hidden}
.vid__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,7vw,110px);align-items:center}
.vid__phonecol{display:flex;justify-content:center;perspective:1400px}
.phone{position:relative;width:min(100%,360px);aspect-ratio:9/16;border-radius:42px;background:#000;border:9px solid #19191c;box-shadow:0 0 0 1px rgba(255,255,255,.16),0 40px 90px rgba(0,0,0,.6),0 0 90px rgba(214,4,7,.16);overflow:hidden;transform:rotateY(var(--ry,0deg)) rotateX(var(--rx,0deg));transition:transform .35s var(--cbUi);will-change:transform}
.phone video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}
.phone::after{content:"";position:absolute;inset:0;border-radius:32px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);pointer-events:none}
.phone__play{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(11,11,12,.55);backdrop-filter:blur(8px);display:grid;place-items:center;cursor:pointer;transition:transform .3s var(--cbUi),opacity .3s,background .3s}
.phone__play svg{width:30px;height:30px;margin-left:3px}
.phone__play:hover{transform:scale(1.07);background:rgba(214,4,7,.8)}
.phone.is-playing .phone__play{opacity:0;pointer-events:none}
.phone__sound{position:absolute;right:12px;top:12px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(11,11,12,.55);backdrop-filter:blur(8px);display:grid;place-items:center;cursor:pointer}
.phone__sound svg{width:22px;height:22px}
.phone__sound .w{display:none}.phone__sound[aria-pressed="true"] .w{display:block}.phone__sound[aria-pressed="true"] .x{display:none}
.phone__bar{position:absolute;left:14px;right:14px;bottom:14px;height:3px;background:rgba(255,255,255,.22);border-radius:2px;overflow:hidden}
.phone__bar i{display:block;height:100%;background:var(--red);transform-origin:left;transform:scaleX(0)}
.vtabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.vtab{min-height:44px;padding:.6rem 1.1rem;border:1px solid rgba(255,255,255,.2);background:transparent;font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .25s,border-color .25s,color .25s}
.vtab small{margin-left:8px;color:#9b9ba1;font-weight:600;letter-spacing:.06em}
.vtab:hover{border-color:#fff}
.vtab.is-on{background:var(--red);border-color:var(--red)}
.vtab.is-on small{color:#fff}
.chapters{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.chapter{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:.5rem .9rem;border:1px solid #2d2d31;background:#121214;font-size:.76rem;font-weight:700;letter-spacing:.06em;color:#d6d6da;cursor:pointer;transition:border-color .25s,background .25s}
.chapter time{font-family:var(--display);font-size:1.05rem;letter-spacing:.06em;color:#ff4a4d}
.chapter:hover{border-color:#6a6a70}
.chapter.is-on{border-color:var(--red);background:rgba(214,4,7,.12)}

/* ==========================================================
   EXPERIENCIA
   ========================================================== */
.exp{position:relative;background:#111}
.exp__burn{position:relative;height:100svh;min-height:600px;overflow:hidden;isolation:isolate}
.exp__bg{position:absolute;inset:-4% 0;z-index:-2;will-change:transform}
.exp__bg img{width:100%;height:100%;object-fit:cover;object-position:center 58%}
.exp__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(0,0,0,.84),rgba(0,0,0,.08) 62%),linear-gradient(90deg,rgba(0,0,0,.45),transparent 70%)}
.exp__label{position:absolute;left:var(--gutter);top:96px;margin:0}
.exp__copy{position:absolute;left:var(--gutter);right:var(--gutter);bottom:clamp(40px,7vh,84px)}
.exp__copy h2,.exp__stunt-copy h2{font-size:clamp(5.4rem,13vw,13rem);line-height:.72}
.exp__copy h2 small,.exp__stunt-copy h2 small{display:block;font-family:var(--body);font-size:.16em;line-height:1;letter-spacing:.22em;font-weight:900;color:#fff;margin-top:12px}
.exp__copy p,.exp__stunt-copy p{max-width:500px;margin-top:26px;font-size:1rem;color:#ddd}
.exp__copy p strong,.exp__stunt-copy p strong{font-weight:900;letter-spacing:.05em;color:#fff}
.exp__stunt{position:relative;overflow:hidden;min-height:100svh;padding:clamp(90px,12vh,140px) var(--gutter) clamp(60px,9vh,110px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(20px,4vw,60px);align-items:center;background:radial-gradient(circle at 78% 24%,rgba(214,4,7,.38),transparent 32%),linear-gradient(155deg,#171719,#0d0d0e 70%);border-top:1px solid rgba(255,255,255,.08)}
.exp__stunt-copy{position:relative;z-index:3}
.exp__stunt-copy h2{color:var(--red);text-shadow:0 0 45px rgba(214,4,7,.25)}
.checkers{position:absolute;right:-65px;top:40px;width:340px;height:340px;opacity:.1;transform:rotate(13deg);background-image:linear-gradient(45deg,#fff 25%,transparent 25%),linear-gradient(-45deg,#fff 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#fff 75%),linear-gradient(-45deg,transparent 75%,#fff 75%);background-size:42px 42px;background-position:0 0,0 21px,21px -21px,-21px 0}
.speed-lines{position:absolute;inset:0;opacity:.1;background:repeating-linear-gradient(164deg,transparent 0 30px,rgba(255,255,255,.2) 31px,transparent 32px 70px)}
.stunt-gallery{position:relative;z-index:3;display:grid;grid-template-columns:.8fr 1.2fr;grid-template-rows:auto auto;gap:14px;align-items:end}
.sg{position:relative;margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.13);background:#0b0b0c;border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.4);will-change:transform}
.sg img{width:100%;height:100%;object-fit:cover}
.sg--a{grid-row:1 / span 2;aspect-ratio:9/17}
.sg--b{aspect-ratio:4/3}
.sg--c{aspect-ratio:4/3.2}
.sg figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 14px 11px;font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;background:linear-gradient(0deg,rgba(0,0,0,.78),transparent)}

/* ==========================================================
   LINEUP · láminas que se expanden
   ========================================================== */
.lineup{background:#0b0b0c}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:48px}
.section-head>p{max-width:470px;color:#a2a2a8}
.section-head h2,.countdown h2,.location h2,.vid h2{font-size:clamp(3.3rem,5.6vw,5.9rem)}
.slats{display:flex;gap:8px;height:min(640px,74svh);min-height:480px}
.slat{position:relative;flex:1 1 0;min-width:0;overflow:hidden;border:1px solid var(--line);background:#101012;cursor:pointer;isolation:isolate;transition:flex-grow .75s var(--cbOut),border-color .3s}
.slat.is-on{flex-grow:5.6;border-color:rgba(214,4,7,.6)}
.slat::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,.18) 62%,rgba(0,0,0,.45));transition:opacity .5s}
.slat::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--cbOut);z-index:3}
.slat.is-on::after{transform:scaleX(1)}
.slat__img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;filter:grayscale(1) brightness(.62);transform:scale(1.1);transition:filter .7s ease,transform 1.3s var(--cbOut)}
.slat.is-on .slat__img{filter:none;transform:scale(1)}
.slat--type{background:radial-gradient(circle at 30% 25%,rgba(214,4,7,.28),transparent 55%),linear-gradient(155deg,#1a1a1d,#0e0e10)}
.slat--accent{background:linear-gradient(155deg,#211012,#111 70%)}
.slat__word{position:absolute;left:50%;top:44%;z-index:0;font-family:var(--display);font-size:clamp(5rem,9vw,9rem);line-height:.8;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.22);transform:translate(-50%,-50%) rotate(-90deg);transition:transform .8s var(--cbOut),-webkit-text-stroke-color .5s}
.slat--type.is-on .slat__word{transform:translate(-50%,-50%) rotate(0);-webkit-text-stroke-color:rgba(255,255,255,.4)}
.slat__num{position:absolute;z-index:2;right:16px;top:12px;font-family:var(--display);font-size:3.6rem;line-height:1;color:rgba(255,255,255,.18)}
.slat h3{position:absolute;z-index:2;left:20px;bottom:22px;font-family:var(--display);font-weight:400;font-size:2.5rem;line-height:1;text-transform:uppercase;white-space:nowrap;transform-origin:0 100%;transform:translate3d(22px,0,0) rotate(-90deg);transition:transform .7s var(--cbOut)}
.slat.is-on h3{transform:none}
.slat p{position:absolute;z-index:2;left:20px;bottom:76px;max-width:380px;font-size:.92rem;line-height:1.65;color:#dcdce0;opacity:0;transform:translate3d(0,14px,0);transition:opacity .4s ease,transform .6s var(--cbOut)}
.slat.is-on p{opacity:1;transform:none;transition-delay:.18s}

/* ==========================================================
   GALERÍA · tira horizontal
   ========================================================== */
.gallery{background:#0e0e0f;position:relative}
.gallery__pin{position:relative;padding:clamp(82px,9vw,120px) 0 clamp(50px,6vw,80px)}
.gallery__viewport{overflow-x:auto;overflow-y:hidden;padding:6px var(--gutter) 10px;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.gallery__viewport::-webkit-scrollbar{display:none}
.gallery__track{display:flex;align-items:center;gap:14px;width:max-content;height:min(560px,64svh)}
.shot{position:relative;flex:none;height:100%;border:0;padding:0;overflow:hidden;background:#171719;cursor:zoom-in;scroll-snap-align:start;transition:transform .5s var(--cbOut)}
.shot--w{height:72%}
.shot img{height:100%;width:auto;max-width:none;object-fit:cover;transition:transform .8s var(--cbOut),filter .5s}
.shot::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(0,0,0,.6),transparent 48%);opacity:.45;transition:opacity .35s}
.shot:hover img{transform:scale(1.045);filter:saturate(1.1)}
.shot:hover::before{opacity:1}
.shot span{position:absolute;z-index:2;left:18px;bottom:16px;opacity:0;transform:translateY(7px);font-size:.7rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;transition:opacity .3s,transform .4s var(--cbOut)}
.shot:hover span,.shot:focus-visible span{opacity:1;transform:none}
.gallery__hint{display:flex;align-items:center;gap:12px;margin:22px var(--gutter) 0;font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#85858b}
.gallery__hint span{width:46px;height:1px;background:linear-gradient(90deg,var(--red),transparent)}

/* ==========================================================
   BOLETOS
   ========================================================== */
.tickets{background:linear-gradient(180deg,#0b0b0c,#111 40%,#0b0b0c)}
.tickets__grid>*{min-width:0}
.tickets__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;max-width:1080px;margin:0 auto;perspective:1400px}
.ticket{--spot-x:50%;--spot-y:30%;--rx:0deg;--ry:0deg;position:relative;display:flex;flex-direction:column;border:1px solid #2a2a2e;background:#121214;isolation:isolate;
  transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .4s var(--cbUi),opacity .8s var(--cbOut),box-shadow .3s;will-change:transform;
  -webkit-mask:radial-gradient(circle 13px at 0 calc(100% - 120px),#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 13px at 100% calc(100% - 120px),#0000 98%,#000) right/51% 100% no-repeat;
  mask:radial-gradient(circle 13px at 0 calc(100% - 120px),#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 13px at 100% calc(100% - 120px),#0000 98%,#000) right/51% 100% no-repeat}
.ticket::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(380px circle at var(--spot-x) var(--spot-y),rgba(255,255,255,.07),transparent 65%)}
.ticket--featured{border-color:rgba(214,4,7,.68);background:linear-gradient(150deg,rgba(214,4,7,.13),#121214 58%)}
.ticket--featured::before{background:radial-gradient(380px circle at var(--spot-x) var(--spot-y),rgba(214,4,7,.24),rgba(214,4,7,.05) 34%,transparent 68%)}
.ticket__tag{position:absolute;right:0;top:0;background:var(--red);padding:8px 14px;font-size:.68rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.ticket:not(.ticket--featured) .ticket__tag{background:#2a2a2e}
.ticket__main{padding:38px 34px 6px;flex:1}
.ticket__top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-right:130px}
.ticket__top>span{font-size:.72rem;font-weight:800;letter-spacing:.18em;color:#b0b0b6}
.ticket__top em{font-size:.76rem;color:#d3d3d6;font-style:normal}
.ticket__price{font-family:var(--display);font-size:6.4rem;line-height:.88;margin:26px 0 12px}
.ticket__price small{font-size:2.5rem;vertical-align:top;color:#87878d}
.ticket__price span{font-family:var(--body);font-size:.76rem;letter-spacing:.12em;color:#8d8d93}
.ticket__main>p{color:#eee;font-weight:600}
.ticket ul{margin:20px 0 6px}
.ticket li{position:relative;padding:10px 0 10px 22px;border-bottom:1px solid #242427;color:#b1b1b7;font-size:.88rem}
.ticket li::before{content:"";position:absolute;left:0;top:17px;width:7px;height:7px;background:var(--red);transform:rotate(45deg)}
.ticket__stub{height:68px;margin-top:20px;border-top:2px dashed #34343a;display:flex;align-items:center;padding:0 34px;gap:16px;background:repeating-linear-gradient(90deg,transparent 0 3px,rgba(255,255,255,.035) 3px 4px)}
.ticket__stub span{min-width:0;font-size:.64rem;font-weight:800;letter-spacing:.2em;color:#6e6e74;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ticket .btn{margin:0 24px 24px;min-height:52px}
.tickets__status{max-width:1080px;margin:26px auto 0;padding:18px 22px;border:1px solid #2a2a2e;background:#0e0e10;display:grid;grid-template-columns:auto 1fr;gap:4px 16px;align-items:center}
.tickets__status span{font-size:.74rem;font-weight:900;letter-spacing:.18em;color:var(--red-l)}
.tickets__status strong{font-size:.82rem;color:#d7d7dc}
.tickets__status small{grid-column:2;color:#8a8a90;font-size:.74rem}

/* ==========================================================
   CUENTA REGRESIVA · tacómetros
   ========================================================== */
.countdown{background:linear-gradient(180deg,#0e0e10,#151516);border-block:1px solid rgba(255,255,255,.06);overflow:hidden}
.countdown::before{content:"";position:absolute;inset:0;opacity:.14;pointer-events:none;background-image:linear-gradient(45deg,rgba(255,255,255,.035) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.035) 25%,transparent 25%);background-size:12px 12px}
.countdown__grid{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}
.countdown__intro p:last-child{margin-top:20px;color:#adadb2;max-width:430px}
.dials{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.dial{position:relative;aspect-ratio:1;display:grid;align-content:center;justify-items:center;text-align:center}
.dial svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.dial circle{fill:none;transform-box:view-box;transform-origin:60px 60px;transform:rotate(135deg)}
.dial__ticks{stroke:#46464b;stroke-width:5;stroke-dasharray:.45 1.55;stroke-dashoffset:0}
.dial svg{-webkit-mask:conic-gradient(from 225deg,#000 0 270deg,transparent 270deg);mask:conic-gradient(from 225deg,#000 0 270deg,transparent 270deg)}
.dial__track,.dial__arc{stroke-width:5;stroke-linecap:round}
.dial__track{stroke:#232327;stroke-dasharray:75 100}
.dial__arc{stroke:#fff;stroke-dasharray:0 100;filter:drop-shadow(0 0 6px rgba(255,255,255,.35));transition:stroke-dasharray .9s var(--cbOut)}
.dial--hot .dial__arc{stroke:var(--red-l);filter:drop-shadow(0 0 7px rgba(214,4,7,.7))}
.dial strong{font-family:var(--display);font-weight:400;font-size:clamp(2.6rem,5vw,4.6rem);line-height:1;margin-top:-4px;transition:color .2s}
.dial strong.tick{animation:tick .3s var(--cbUi)}
@keyframes tick{50%{transform:translateY(-4px);color:var(--red-l)}}
.dial span{margin-top:2px;font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#9b9ba1}

/* ---------- Patrocinadores ---------- */
.sponsors{background:#101011;border-top:1px solid rgba(255,255,255,.05)}
.sponsors__head{text-align:center;max-width:900px;margin:0 auto 44px}
.sponsors__head .eyebrow{justify-content:center}
.sponsors__head p:last-child{max-width:660px;margin:22px auto 0;color:#b0b0b6}
.sponsor-wall{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid #262629;border-top:1px solid #262629}
.sponsor-wall>div{display:grid;place-items:center;min-height:160px;padding:28px;border-right:1px solid #262629;border-bottom:1px solid #262629;background:#0d0d0e}
.sponsor-wall img{max-width:180px;max-height:90px;width:auto;object-fit:contain;filter:grayscale(1) brightness(1.45);opacity:.8;transition:filter .3s,opacity .3s,transform .4s var(--cbOut)}
.sponsor-wall>div:hover img{filter:none;opacity:1;transform:scale(1.05)}
.js:not(.show-all) .sponsor-wall>div:not(.is-in){opacity:0;transform:translate3d(0,16px,0)}
.sponsor-wall>div{transition:opacity .6s var(--cbOut),transform .7s var(--cbOut);transition-delay:calc(var(--i,0)*50ms)}
.sponsor-cta{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:18px;padding:25px 28px;border:1px solid #2a2a2e;background:linear-gradient(90deg,rgba(214,4,7,.1),rgba(255,255,255,.02))}
.sponsor-cta strong{display:block;font-family:var(--display);font-size:1.8rem;font-weight:400;text-transform:uppercase}
.sponsor-cta span{display:block;color:#9a9aa0;font-size:.84rem;margin-top:3px}

/* ---------- Ubicación ---------- */
.location{background:#0b0b0c}
.location__grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:52px;align-items:stretch}
.location__copy{padding-top:12px}
.location__facts{margin:30px 0}
.location__facts>div{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid #242427}
.location__facts b{width:28px;font-size:1.05rem;color:var(--red-l)}
.location__facts p{display:flex;flex-direction:column}
.location__facts strong{font-size:.88rem}
.location__facts span{font-size:.82rem;color:#a0a0a6;margin-top:3px}
.location__map{min-height:540px;border:1px solid #29292c;box-shadow:var(--shadow);overflow:hidden}
.location__map iframe{width:100%;height:100%;min-height:540px;border:0;filter:grayscale(.75) contrast(1.06) brightness(.76);transition:filter .35s}
.location__map:hover iframe{filter:grayscale(.15) contrast(1.02) brightness(.88)}

/* ---------- FAQ ---------- */
.faq-section{background:#101011}
.faq-wrap{max-width:940px}
.faq-section h2{margin-bottom:32px}
.faq-list{border-top:1px solid #2b2b2e}
.faq{border-bottom:1px solid #2b2b2e}
.faq button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:24px 0;background:none;border:0;text-align:left;cursor:pointer;font-weight:700;font-size:1rem;min-height:44px}
.faq button i{position:relative;flex:0 0 22px;width:22px;height:22px}
.faq button i::before,.faq button i::after{content:"";position:absolute;left:50%;top:50%;width:16px;height:2px;background:#fff;transform:translate(-50%,-50%);transition:transform .3s var(--cbUi)}
.faq button i::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq button[aria-expanded="true"] i::after{transform:translate(-50%,-50%) rotate(0)}
.faq__answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--cbOut)}
.faq__answer>p{overflow:hidden;color:#a8a8ae;font-size:.92rem;max-width:740px}
.faq.open .faq__answer{grid-template-rows:1fr}
.faq.open .faq__answer>p{padding-bottom:24px}
.faq a{text-decoration:underline;text-underline-offset:3px}

/* ---------- CTA final ---------- */
.final-cta{position:relative;min-height:720px;display:flex;align-items:center;overflow:hidden;background:#090909;isolation:isolate}
.final-cta__bg{position:absolute;inset:-6% 0;z-index:-2;will-change:transform}
.final-cta__bg img{width:100%;height:100%;object-fit:cover;object-position:center 57%}
.final-cta__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.54) 46%,rgba(0,0,0,.2)),linear-gradient(0deg,rgba(0,0,0,.6),transparent)}
.final-cta h2{max-width:1240px;font-size:clamp(4.3rem,8vw,8.4rem);line-height:.9}
.final-cta__content>p:not(.eyebrow){max-width:640px;margin-top:24px;font-size:1.03rem;color:#d4d4d8}
.final-cta__content>div{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}

/* ---------- Footer ---------- */
.footer{padding:70px 0 22px;background:#080809;border-top:1px solid #1f1f22}
.footer__grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:46px}
.footer__brand img{width:250px}
.footer__brand p{max-width:390px;margin-top:18px;color:#9a9aa0;font-size:.85rem}
.footer__grid>div:not(.footer__brand){display:flex;flex-direction:column;align-items:flex-start}
.footer__grid strong{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px}
.footer__grid a:not(:first-child){padding:5px 0;color:#9a9aa0;font-size:.84rem;transition:color .2s}
.footer__grid a:hover{color:#fff}
.footer__bottom{display:flex;justify-content:space-between;gap:20px;margin-top:55px;padding-top:20px;border-top:1px solid #1d1d20;color:#7a7a80;font-size:.72rem}

/* ---------- Barra móvil, toast, lightbox ---------- */
.mobile-bar{display:none}
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);z-index:1100;width:min(92vw,520px);padding:18px 20px;border:1px solid rgba(255,255,255,.16);background:rgba(12,12,13,.96);backdrop-filter:blur(14px);box-shadow:0 20px 60px rgba(0,0,0,.55);opacity:0;pointer-events:none;transition:opacity .3s var(--cbUi),transform .4s var(--cbOut)}
.toast.is-show{opacity:1;transform:translate(-50%,0)}
.toast strong{display:block;font-family:var(--display);font-size:1.55rem;font-weight:400;text-transform:uppercase}
.toast span{display:block;margin-top:3px;color:#b0b0b5;font-size:.8rem}
.toast b{color:var(--red-l);font-weight:700}

.lightbox{border:0;padding:0;margin:0;width:100%;height:100%;max-width:none;max-height:none;background:rgba(0,0,0,.95);color:#fff;overflow:hidden}
.lightbox:not([open]){display:none}
.lightbox::backdrop{background:rgba(0,0,0,.9)}
.lightbox[open]{display:grid;place-items:center}
.lightbox figure{max-width:min(1150px,88vw);max-height:84vh;display:flex;flex-direction:column;align-items:center;touch-action:pan-y;user-select:none}
.lightbox figure img{max-width:100%;max-height:76vh;width:auto;object-fit:contain;box-shadow:0 30px 80px rgba(0,0,0,.45);will-change:transform,opacity;-webkit-user-drag:none}
.lightbox figcaption{margin-top:12px;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:#a3a3a9}
.lightbox__count{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);font-family:var(--display);font-size:1.2rem;letter-spacing:.14em;color:#a3a3a9}
.lightbox button{position:absolute;border:1px solid rgba(255,255,255,.18);background:rgba(15,15,16,.65);color:#fff;cursor:pointer;backdrop-filter:blur(8px);transition:background .25s}
.lightbox button:hover{background:rgba(214,4,7,.7)}
.lightbox__close{right:24px;top:22px;width:48px;height:48px;font-size:2rem;line-height:1}
.lightbox__nav{top:50%;transform:translateY(-50%);width:48px;height:60px;font-size:2.4rem;line-height:1}
.lightbox__prev{left:24px}.lightbox__next{right:24px}

/* ==========================================================
   RESPONSIVE
   ========================================================== */
@media (max-width:1050px){
  .nav{gap:18px}.nav__links{gap:14px}.nav__links a{font-size:.64rem;letter-spacing:.1em}.nav__cta{padding:.7rem .85rem;font-size:.7rem}
  .event__grid{grid-template-columns:1fr 1fr;gap:42px}.event__visual,.event__visual img{min-height:470px}
  .countdown__grid{grid-template-columns:1fr;gap:35px}
  .location__grid{grid-template-columns:1fr 1.35fr}
  .footer__grid{grid-template-columns:1.6fr repeat(3,1fr);gap:28px}
  .hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .hero__meta>div{min-width:0;padding:12px 14px}
}
@media (max-width:820px){
  body.menu-open{overflow:hidden}
  .nav{height:70px}.nav.scrolled{height:64px}.nav__logo img{height:25px}.nav__cta{display:none}.burger{display:block}
  .nav__links{position:fixed;inset:0;z-index:-1;flex-direction:column;align-items:flex-start;justify-content:center;gap:22px;padding:100px 30px 40px;background:rgba(8,8,9,.98);opacity:0;visibility:hidden;pointer-events:none;transform:translateX(100%);transition:transform .45s var(--cbOut),opacity .35s,visibility .35s}
  .nav__links.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .nav__links a{font-family:var(--display);font-size:2.2rem;font-weight:400;letter-spacing:.04em}
  .nav__links a::after{bottom:-3px}

  .hero-wrap{height:210vh}
  .hero{grid-template-columns:1fr;grid-template-rows:auto auto;align-content:center;align-items:start;gap:0;padding:78px var(--gutter) 78px}
  .stage{order:-1;justify-self:center;width:min(86vw,calc(38svh*1.0996));margin-bottom:2px}
  .hero h1{font-size:clamp(3.6rem,16vw,5.6rem);line-height:.8}
  .hero__kicker{font-size:.66rem;letter-spacing:.13em;margin-bottom:10px}
  .hero__lead{margin-top:12px;font-size:.92rem;max-width:520px}
  .hero__actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:16px;max-width:380px}
  .hero__actions .btn{min-height:48px}
  .hero__meta{width:100%;display:grid;grid-template-columns:repeat(3,1fr);margin-top:16px}
  .hero__meta strong{font-size:1.15rem}.hero__meta span{font-size:.62rem;line-height:1.25}
  .hero__scroll{display:none}

  .event__grid{grid-template-columns:1fr}.event__visual,.event__visual img{min-height:380px}
  .vid__grid{grid-template-columns:1fr;gap:36px}.phone{width:min(78vw,340px)}
  .exp__stunt{grid-template-columns:1fr;gap:34px}
  .stunt-gallery{grid-template-columns:.8fr 1.2fr}
  .section-head{align-items:flex-start;flex-direction:column;gap:18px}.section-head>p{max-width:650px}
  .slats{flex-direction:column;height:auto;min-height:0;gap:6px}
  .slat{flex:0 0 78px;transition:flex-basis .6s var(--cbOut),border-color .3s}
  .slat.is-on{flex:0 0 380px}
  .slat h3{transform:none;font-size:2.1rem;bottom:20px}
  .slat p{bottom:68px;left:18px;right:18px}
  .slat__word{left:auto;right:12px;top:50%;transform:translate(0,-50%)}
  .slat--type.is-on .slat__word{transform:translate(0,-50%)}
  .gallery__track{height:min(440px,58svh)}
  .tickets__grid{grid-template-columns:minmax(0,1fr)}
  .sponsor-wall{grid-template-columns:repeat(2,1fr)}.sponsor-wall>div{min-height:135px}
  .sponsor-cta{align-items:flex-start;flex-direction:column}
  .location__grid{grid-template-columns:1fr}.location__map,.location__map iframe{min-height:420px}
  .footer__grid{grid-template-columns:1fr 1fr}.footer__brand{grid-column:1/-1}
  .rpm__label{display:none}
  .mobile-bar{position:fixed;z-index:180;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 8px 8px 14px;background:rgba(15,15,16,.9);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(14px);box-shadow:0 14px 40px rgba(0,0,0,.34);transform:translateY(130%);opacity:0;transition:transform .4s var(--cbOut),opacity .35s}
  .mobile-bar.show{transform:none;opacity:1}
  .mobile-bar>div{display:flex;flex-direction:column;line-height:1}
  .mobile-bar strong{font-family:var(--display);font-size:1.25rem;font-weight:400}
  .mobile-bar span{margin-top:2px;font-size:.6rem;letter-spacing:.12em;color:#a8a8ad}
  .mobile-bar>a{display:grid;place-items:center;min-height:44px;padding:0 18px;background:var(--red);font-size:.72rem;font-weight:800;letter-spacing:.12em}
  h2>span:not(.tw){-webkit-text-stroke-width:1.5px}
}
@media (max-width:620px){
  :root{--gutter:20px}
  .section{padding:76px 0}.btn--lg{min-height:52px;padding:.95rem 1.25rem}
  .event h2,.section-head h2,.countdown h2,.sponsors h2,.location h2,.faq-section h2,.vid h2{font-size:clamp(3.3rem,15vw,5.3rem)}
  .lead{font-size:.98rem}
  .exp__burn{min-height:560px}
  .exp__copy h2,.exp__stunt-copy h2{font-size:clamp(5.2rem,26vw,8.5rem)}
  .exp__copy p{font-size:.92rem}
  .exp__label{top:82px}
  .ticket__price{font-size:5.5rem}.ticket__main{padding:34px 22px 6px}.ticket__top{padding-right:0;flex-direction:column;align-items:flex-start;gap:2px;margin-top:14px}.ticket__stub{padding:0 22px}.ticket .btn{margin:0 16px 20px}
  .tickets__status{grid-template-columns:1fr;gap:5px}.tickets__status small{grid-column:1}
  .dials{grid-template-columns:repeat(2,1fr);gap:14px}
  .dial strong{font-size:3.6rem}
  .sponsor-wall>div{min-height:112px;padding:18px}.sponsor-wall img{max-width:130px;max-height:72px}
  .sponsor-cta{padding:22px}.sponsor-cta strong{font-size:1.55rem}
  .faq button{font-size:.92rem;padding:20px 0}
  .final-cta{min-height:660px}.final-cta h2{font-size:clamp(3.9rem,17vw,6.7rem)}
  .final-cta__content>div{display:grid;grid-template-columns:1fr;max-width:340px}
  .footer{padding-bottom:95px}.footer__bottom{flex-direction:column;gap:6px}
  .lightbox__prev{left:8px}.lightbox__next{right:8px}.lightbox__nav{width:40px}.lightbox__close{right:12px;top:12px}
}
@media (hover:none){
  .magnetic{transform:none!important}
}

/* ---------- Preferencias de accesibilidad ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .hero-wrap{height:auto}
  .hero{position:relative;min-height:100svh}
  [data-reveal],.tw__in,.hook .w,.sponsor-wall>div{opacity:1!important;transform:none!important}
  .letters{clip-path:none!important}.layer--truck,.hero__copy>*{opacity:1!important}
  #smoke{display:none}
}
@media (prefers-contrast:more){
  .hero__meta span,.muted,.section-head>p,.location__facts span{color:#fff}
  .shot::before{opacity:.8}
}
@media (prefers-reduced-transparency:reduce){
  .nav.scrolled,.btn--outline,.hero__meta,.mobile-bar,.toast{backdrop-filter:none;background:#0b0b0c}
}

/* Galería anclada en escritorio */
@media (min-width:821px) and (prefers-reduced-motion:no-preference){
  .gallery__pin{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-block:90px 40px}
  .gallery__track{height:min(500px,50svh)}
  .gallery .section-head{margin-bottom:26px}
}

@media (min-width:821px) and (max-height:760px){
  .hero{padding-top:84px;padding-bottom:28px}
  .hero__lead{margin-top:16px}.hero__actions{margin-top:20px}.hero__meta{margin-top:22px}
}
@media (min-width:821px) and (max-height:680px){.hero__lead{display:none}}

.sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
