:root{--red:#d71520;--deep:#6f050b;--paper:#ece8e2;--muted:#9b9692;--line:rgba(255,255,255,.13);--black:#050506}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#050506}body{margin:0;background:#050506;color:#eee;font-family:Montserrat,Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.grain,.vignette,.flash,#embers{position:fixed;inset:0;pointer-events:none}.grain{z-index:70;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E")}.vignette{z-index:69;box-shadow:inset 0 0 180px #000}.flash{z-index:90;background:#fff;opacity:0;transition:opacity .18s}.flash.on{opacity:.12}.page-progress{position:fixed;z-index:100;top:0;left:0;height:2px;background:var(--red);width:0}.nav{position:fixed;z-index:80;top:0;left:0;right:0;height:76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 4.8vw;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(#050506d8,#05050622);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;height:100%;min-width:0}.brand img{display:block;width:191px;height:82px;object-fit:contain;object-position:left center;filter:drop-shadow(0 4px 12px rgba(0,0,0,.55))}.nav-center{font-size:10px;letter-spacing:4px;color:#aaa}.nav-cta{justify-self:end;border:1px solid #666;padding:12px 18px;font-size:10px;font-weight:900;letter-spacing:1.5px;transition:.25s}.nav-cta:hover{background:var(--red);border-color:var(--red)}.scene{position:relative;overflow:hidden}.scene-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.68) contrast(1.14) brightness(.62)}.hero{height:100svh;min-height:720px;display:flex;align-items:center;padding:110px 7vw 60px}.hero .scene-video{object-position:center 39%;transform:scale(1.05)}.video-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,2,3,.9) 0%,rgba(2,2,3,.72) 43%,rgba(2,2,3,.25) 72%,rgba(2,2,3,.72) 100%),linear-gradient(0deg,#050506 0%,transparent 30%)}.fog{position:absolute;width:80vw;height:30vh;filter:blur(45px);opacity:.14;background:radial-gradient(ellipse,#ddd 0%,transparent 65%);animation:fog 13s ease-in-out infinite alternate}.fog-1{left:-10vw;bottom:5vh}.fog-2{right:-20vw;top:22vh;animation-delay:-6s}@keyframes fog{to{transform:translate(12vw,-2vh) scale(1.25)}}.hero-copy{position:relative;z-index:3;max-width:780px}.eyebrow{font-size:11px;letter-spacing:5px;font-weight:800;color:#d5ccc4;text-transform:uppercase}.hero h1,.section-head h2,.chapter h2,.countdown h2,.prize-copy h2,.reg-copy h2,.cinema-copy h2,.finale h2{font-family:Anton,Impact,sans-serif;font-weight:400;line-height:.91;letter-spacing:.3px;margin:18px 0;text-transform:uppercase}.hero h1{font-size:clamp(72px,9vw,145px)}.hero h1 span{display:block}.hero h1 strong{display:block;color:var(--red);font-weight:400;text-shadow:0 0 40px rgba(215,21,32,.18)}.lead{max-width:580px;font-size:18px;line-height:1.8;color:#c2bdba}.hero-actions{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}.cta{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 28px;border:1px solid #555;font-size:11px;font-weight:900;letter-spacing:1.8px;text-transform:uppercase;transition:.28s;cursor:pointer}.cta.primary{background:linear-gradient(90deg,#8f070d,var(--red));border-color:var(--red);box-shadow:0 8px 34px rgba(184,4,15,.22)}.cta.primary:hover{transform:translateY(-2px);box-shadow:0 12px 44px rgba(220,0,15,.35);filter:brightness(1.15)}.cta.ghost:hover{border-color:#aaa;background:#ffffff10}.hero-stamp{position:absolute;right:7vw;bottom:11vh;font-family:Anton;font-size:20px;letter-spacing:3px;color:#ffffff35;border:1px solid #ffffff20;padding:18px;transform:rotate(-5deg)}.scroll-mark{position:absolute;right:4vw;bottom:3vh;display:flex;align-items:center;gap:13px;font-size:9px;letter-spacing:4px;color:#888}.scroll-mark i{height:48px;width:1px;background:linear-gradient(#fff,transparent);animation:scroll 1.5s infinite}@keyframes scroll{50%{transform:translateY(8px)}}.marquee{height:58px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:#09090a;display:flex;align-items:center}.marquee>div{display:flex;align-items:center;gap:28px;white-space:nowrap;min-width:max-content;animation:marquee 23s linear infinite;font-family:Bebas Neue;font-size:18px;letter-spacing:2px}.marquee i{color:var(--red)}@keyframes marquee{to{transform:translateX(-50%)}}.story{display:grid;grid-template-columns:minmax(360px,43vw) 1fr;min-height:1700px;background:radial-gradient(circle at 75% 20%,#211012 0%,#080808 35%,#050506 70%)}.story-visual{position:sticky;top:0;height:100vh;align-self:start}.story-visual .scene-video{object-position:center}.story-mask{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.08),rgba(5,5,6,.78) 100%),linear-gradient(0deg,#050506 0%,transparent 20%,transparent 78%,#050506 100%)}.story-label{position:absolute;left:30px;bottom:34px;font-size:9px;letter-spacing:4px;color:#b3aaa6}.story-copy{padding:170px 8vw 170px 6vw}.chapter{position:relative;margin-bottom:120px}.chapter>span{position:absolute;left:-55px;top:5px;font-family:Anton;font-size:42px;color:#ffffff1f}.chapter h2{font-size:clamp(54px,6vw,92px)}.chapter h2 b{color:var(--red);font-weight:400}.chapter>p:last-child{max-width:650px;color:#aaa;line-height:1.9;font-size:16px}.evidence-card{width:100%;margin:0 0 150px;padding:28px 30px;text-align:left;color:#fff;border:1px solid #671018;background:linear-gradient(115deg,#26080b,#0d0d0e 68%);cursor:pointer;position:relative;overflow:hidden;transition:.28s}.evidence-card:before{content:"";position:absolute;inset:-80% auto -80% -20%;width:30%;background:#ffffff0e;transform:rotate(20deg);transition:.5s}.evidence-card:hover:before{left:115%}.evidence-card em{display:block;font-size:9px;letter-spacing:4px;color:#b8aaa4}.evidence-card strong{display:block;font-family:Anton;font-weight:400;font-size:clamp(28px,3vw,46px);margin:9px 0}.evidence-card span{font-size:10px;letter-spacing:2px;color:#ef5360}.unlock{border-top:1px solid var(--line)}.unlock>div,.unlock>button{width:100%;display:grid;grid-template-columns:55px 1fr 1fr auto;align-items:center;gap:20px;padding:28px 8px;border:0;border-bottom:1px solid var(--line);background:transparent;color:#ddd;text-align:left}.unlock>button{cursor:pointer}.unlock i{font-family:Anton;font-size:30px;color:#ffffff2b;font-style:normal}.unlock b{font-family:Anton;font-weight:400;font-size:28px}.unlock small{color:#777;letter-spacing:2px}.unlock strong{font-size:9px;letter-spacing:2px;color:#999}.unlock .open{background:linear-gradient(90deg,#67070e44,transparent);border-bottom-color:#6c141a}.unlock .open strong{color:#f1303b}.advantages{padding:150px 6.8vw;background:#070708}.section-head{text-align:center;max-width:1100px;margin:0 auto 75px}.section-head h2{font-size:clamp(55px,7vw,100px)}.section-head h2 b{font-weight:400;color:var(--red)}.cards{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);max-width:1320px;margin:auto}.adv{min-height:385px;padding:38px 28px;border-right:1px solid var(--line);position:relative;overflow:hidden;transition:.3s}.adv:last-child{border-right:0}.adv:after{content:"";position:absolute;inset:auto 0 0;height:0;background:linear-gradient(0deg,#52060b,transparent);transition:.35s;z-index:0}.adv:hover:after{height:75%}.adv>*{position:relative;z-index:1}.adv>span{font-family:Anton;font-size:48px;color:#6f1117}.adv>i{position:absolute;right:28px;top:38px;font-style:normal;color:#ffffff35}.adv h3{font-family:Anton;font-size:34px;font-weight:400;margin:75px 0 14px;line-height:1}.adv p{color:#888;line-height:1.7;font-size:13px}.adv>b{position:absolute;bottom:28px;font-size:9px;letter-spacing:2px;color:#c74148}.countdown{position:relative;text-align:center;padding:160px 5vw;overflow:hidden;border-block:1px solid var(--line);background:#0a0a0b}.count-bg{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,#3b0a0f 0%,transparent 38%),linear-gradient(90deg,transparent 49.8%,#ffffff08 50%,transparent 50.2%);opacity:.8}.countdown>*:not(.count-bg){position:relative}.countdown h2{font-size:clamp(58px,7vw,100px)}.countdown h2 b{color:var(--red);font-weight:400}.clock{display:flex;align-items:center;justify-content:center;gap:30px;margin:55px auto 45px}.clock div{min-width:130px}.clock strong{display:block;font-family:Anton;font-size:82px;font-weight:400}.clock span{font-size:9px;letter-spacing:4px;color:#777}.clock i{font-style:normal;color:var(--red);font-size:30px}.prizes{display:grid;grid-template-columns:1fr 1.05fr;gap:8vw;padding:150px 7vw;background:radial-gradient(circle at 70% 40%,#261012 0,#080808 40%,#050506 70%);align-items:center}.prize-poster{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}.poster-frame{width:min(480px,90%);padding:10px;border:1px solid #5a2023;background:#0a0a0a;transform:rotate(-1.5deg);box-shadow:0 35px 100px #000}.poster-frame img{width:100%;display:block}.tape{position:static;z-index:2;background:#d7d0bf;color:#111;font-size:10px;font-weight:900;letter-spacing:2px;padding:9px 28px;box-shadow:0 8px 25px #000;white-space:nowrap}.t1{order:1;align-self:flex-start;margin-left:6%;transform:rotate(-32deg);position: relative;top: 110px;}.poster-frame{order:2}.t2{order:3;align-self:flex-end;margin-right:6%;transform:rotate(-29deg);background:#a40b12;color:#fff;position: relative;top: -190px;}.prize-copy h2{font-size:clamp(72px,8vw,120px)}.prize-copy h2 b{color:var(--red);font-weight:400}.prize-copy h3{font-family:Bebas Neue;font-size:35px;letter-spacing:3px}.podium{margin:34px 0;border-top:1px solid var(--line)}.podium>div{display:grid;grid-template-columns:56px 150px 1fr;align-items:center;padding:19px 0;border-bottom:1px solid var(--line)}.podium span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#5c1015;font-weight:900}.podium strong{font-family:Anton;font-size:36px;font-weight:400}.podium small{font-size:9px;letter-spacing:3px;color:#777}.warning{border-left:3px solid var(--red);padding:6px 0 6px 18px;margin:35px 0}.warning b{font-size:12px;letter-spacing:1px}.warning p{color:#aaa;margin:8px 0 0;line-height:1.7}.cinema{height:92vh;min-height:650px;display:flex;align-items:center;justify-content:center;text-align:center}.cinema-video{filter:saturate(.7) contrast(1.2) brightness(.42);object-position:center 40%}.cinema-overlay{position:absolute;inset:0;background:radial-gradient(circle,transparent 0,#050506b8 65%,#050506 100%)}.cinema-copy{position:relative;z-index:2}.cinema-copy h2{font-size:clamp(68px,9vw,135px)}.cinema-copy h2 b{color:var(--red);font-weight:400}.register{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;padding:160px 8vw;background:#050506;overflow:hidden}.register-bg{position:absolute;inset:0;background:radial-gradient(circle at 75% 55%,#44070c 0%,transparent 32%),url('assets/hero.jpeg') center/cover no-repeat;opacity:.12;filter:grayscale(1)}.reg-copy,.form-card{position:relative}.reg-copy h2{font-size:clamp(70px,8vw,110px)}.reg-copy h2 b{color:var(--red);font-weight:400}.reg-copy>p:last-of-type{color:#aaa;line-height:1.8}.reg-copy ul{list-style:none;padding:0;margin-top:35px}.reg-copy li{padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.reg-copy li:before{content:"✦";color:var(--red);margin-right:12px}.form-card{padding:44px;border:1px solid #4d2225;background:#09090adc;box-shadow:0 40px 100px #000;backdrop-filter:blur(16px)}.form-code{font-size:9px;letter-spacing:4px;color:#80565a;padding-bottom:23px;border-bottom:1px solid var(--line);margin-bottom:28px}.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:9px;letter-spacing:3px;color:#948b89;margin-bottom:18px}input{margin-top:8px;width:100%;height:55px;border:1px solid #343235;background:#0b0b0c;color:#fff;padding:0 15px;font:600 14px Montserrat;outline:none;transition:.2s}input:focus{border-color:#8b171e;box-shadow:0 0 0 3px #a10a1214}.check{display:flex;align-items:flex-start;gap:10px;letter-spacing:0;line-height:1.5}.check input{width:15px;height:15px;margin:2px 0}.submit{width:100%;height:62px;border:0;background:linear-gradient(90deg,#87070e,var(--red));color:#fff;font-weight:900;letter-spacing:2px;cursor:pointer}.submit i{display:none;font-style:normal}.submit.loading span{display:none}.submit.loading i{display:inline}.form-card small{display:block;text-align:center;color:#5d5858;margin-top:14px;font-size:9px}.success{text-align:center;padding:35px 10px}.success>div{font-size:60px}.success h3{font-family:Anton;font-size:68px;font-weight:400;line-height:.9}.success h3 b{color:var(--red);font-weight:400}.finale{display:grid;grid-template-columns:1fr 1.2fr;min-height:700px;background:#050506;align-items:center;padding:70px 8vw;gap:5vw;border-top:1px solid var(--line)}.finale img{width:100%;max-height:610px;object-fit:contain;filter:brightness(.8);mask-image:linear-gradient(#000 75%,transparent)}.finale h2{font-size:clamp(65px,8vw,120px)}.finale h2 b{color:var(--red);font-weight:400}footer{height:110px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);font-size:9px;letter-spacing:2px;color:#666}footer>span:first-child{font-family:Anton;font-size:18px;color:#aaa}footer b{color:var(--red);font-weight:400}.reveal{opacity:0;transform:translateY(35px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}.glitchable.glitch{animation:glitch .18s steps(2) 2}@keyframes glitch{25%{transform:translateX(4px);text-shadow:-4px 0 #e00018,4px 0 #00a3ff}75%{transform:translateX(-3px);text-shadow:3px 0 #e00018,-3px 0 #00a3ff}}
@media(max-width:980px){.nav{grid-template-columns:1fr auto;padding:0 20px}.nav-center{display:none}.hero{padding-inline:24px}.story{display:block;min-height:auto}.story-visual{position:relative;height:78vh}.story-copy{padding:90px 25px}.chapter>span{position:static;display:block;margin-bottom:10px}.unlock>div,.unlock>button{grid-template-columns:42px 1fr auto}.unlock small{display:none}.cards{grid-template-columns:1fr 1fr}.adv:nth-child(2){border-right:0}.adv{border-bottom:1px solid var(--line)}.prizes,.register,.finale{grid-template-columns:1fr}.prizes{padding:90px 24px}.register{padding:100px 24px}.finale{padding:70px 24px}.clock{gap:12px}.clock div{min-width:82px}.clock strong{font-size:56px}.cinema{height:80vh}.hero-stamp{display:none}}
@media(max-width:600px){.nav{height:72px;padding:0 14px}.brand img{width:137px;height:82px}.brand.nav-cta{padding:10px 11px;font-size:8px}.hero{min-height:760px;padding:92px 20px 55px;align-items:flex-end}.hero .scene-video{object-position:center center}.hero h1{font-size:68px}.hero .lead{font-size:14px}.hero-actions .cta{width:100%}.scroll-mark{display:none}.story-visual{height:72vh}.story-copy{padding:75px 20px}.chapter{margin-bottom:78px}.chapter h2{font-size:52px}.evidence-card{margin-bottom:85px}.unlock b{font-size:22px}.unlock strong{font-size:8px}.advantages{padding:90px 20px}.section-head h2{font-size:54px}.cards{grid-template-columns:1fr}.adv{border-right:0;min-height:295px}.adv h3{margin-top:45px}.countdown{padding:100px 15px}.countdown h2{font-size:52px}.clock{gap:6px}.clock div{min-width:61px}.clock strong{font-size:45px}.clock span{font-size:7px;letter-spacing:2px}.clock i{font-size:18px}.prize-copy h2{font-size:74px}.podium>div{grid-template-columns:48px 115px 1fr}.podium strong{font-size:30px}.cinema{height:78vh}.cinema-copy h2{font-size:64px}.register{padding:85px 20px}.reg-copy h2{font-size:72px}.form-card{padding:28px 18px}.row{grid-template-columns:1fr}.finale{min-height:720px}.finale img{max-height:max-content;}.finale h2{font-size:62px}footer{height:auto;min-height:130px;flex-direction:column;justify-content:center;gap:12px;text-align:center}}
@media(max-width:600px){.prize-poster{gap:14px}.poster-frame{width:100%;max-width:460px}.tape{font-size:9px;letter-spacing:1.6px;padding:8px 18px}.t1{margin-left:2%;transform:rotate(-29deg)}.t2{margin-right:2%;transform:rotate(-29deg);position: relative; top: -146px;}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* ==========================================================
   TRANSICIÓN AL GRUPO DE WHATSAPP
========================================================== */

.whatsapp-terror-transition {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;
  justify-content: center;
  align-items: center;

  background:
    radial-gradient(
      circle at center,
      rgba(160, 0, 0, 0.20) 0%,
      rgba(20, 0, 0, 0.35) 30%,
      rgba(0, 0, 0, 0.96) 72%
    ),
    #020202;

  opacity: 0;
  visibility: hidden;
  overflow: hidden;

  transition:
    opacity .35s ease,
    visibility .35s ease;
}

.whatsapp-terror-transition.active {
  opacity: 1;
  visibility: visible;
}
select {
	margin-top: 8px;
    width: 100%;
    height: 55px;
    border: 1px solid #343235;
    background: #0b0b0c;
    color: #fff;
    padding: 0 15px;
    font: 600 14px Montserrat;
    outline: none;
    transition: .2s;
}
.whatsapp-terror-transition.leaving {
  opacity: 0;
  transition: opacity .45s ease;
}


/* CONTENIDO */

.wa-transition-content {
  position: relative;
  z-index: 4;
  width: min(92%, 620px);
  text-align: center;
  padding: 30px 20px;

  transform: scale(.88);
  opacity: 0;

  transition:
    transform .7s cubic-bezier(.2,.8,.2,1),
    opacity .6s ease;
}

.whatsapp-terror-transition.active .wa-transition-content {
  transform: scale(1);
  opacity: 1;
}


/* CALAVERA */

.wa-skull-wrap {
  position: relative;
  width: 150px;
  height: 150px;
  margin: 0 auto 25px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.wa-skull {
  position: relative;
  z-index: 3;

  font-size: 115px;
  line-height: 1;
  color: #f1f1f1;

  text-shadow:
    0 0 8px rgba(255,255,255,.3),
    0 0 25px rgba(255,0,0,.5),
    0 0 60px rgba(170,0,0,.65);

  animation:
    waSkullFloat 1.4s ease-in-out infinite,
    waSkullFlicker 2.1s linear infinite;
}

.wa-skull-glow {
  position: absolute;
  width: 120px;
  height: 120px;
  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(220,0,0,.48),
      rgba(120,0,0,.18) 40%,
      transparent 72%
    );

  filter: blur(14px);

  animation: waGlow 1.2s ease-in-out infinite alternate;
}


/* TEXTO */

.wa-access {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 7px;
  color: #d71920;
  margin-bottom: 15px;
}

.wa-transition-content h2 {
  margin: 0;

  font-family: 'Anton', sans-serif;
  font-size: clamp(42px, 7vw, 76px);
  line-height: .95;
  letter-spacing: 1px;

  color: #eeeeee;
}

.wa-transition-content h2 strong {
  color: #d71920;
  font-weight: inherit;
}

.wa-transition-content p {
  margin: 22px 0 24px;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  color: rgba(255,255,255,.55);
}


/* BARRA */

.wa-loader {
  position: relative;
  width: min(360px, 82%);
  height: 3px;
  margin: 0 auto;

  background: rgba(255,255,255,.12);
  overflow: hidden;
}

.wa-loader-progress {
  position: absolute;
  inset: 0 auto 0 0;

  width: 0;

  background: linear-gradient(
    90deg,
    #5b0000,
    #d71920,
    #ff2525
  );

  box-shadow:
    0 0 10px rgba(255,0,0,.7),
    0 0 24px rgba(255,0,0,.4);

  animation: waLoad 2.55s cubic-bezier(.25,.7,.3,1) forwards;
}

.wa-loading-text {
  display: block;
  margin-top: 18px;

  font-family: 'Montserrat', sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 5px;

  color: rgba(255,255,255,.45);
}

.wa-loading-text i {
  font-style: normal;
  animation: waDot 1.2s infinite;
}

.wa-loading-text i:nth-child(2) {
  animation-delay: .2s;
}

.wa-loading-text i:nth-child(3) {
  animation-delay: .4s;
}


/* HUMO */

.wa-fog {
  position: absolute;
  width: 140%;
  height: 60%;

  background:
    radial-gradient(
      ellipse at center,
      rgba(170,170,170,.10),
      transparent 65%
    );

  filter: blur(25px);
  opacity: .65;
  pointer-events: none;
}

.wa-fog-1 {
  bottom: -10%;
  left: -35%;
  animation: waFog1 6s linear infinite alternate;
}

.wa-fog-2 {
  top: 5%;
  right: -35%;
  animation: waFog2 7s linear infinite alternate;
}


/* ANIMACIONES */

@keyframes waSkullFloat {
  0%, 100% {
    transform: translateY(0) scale(1);
  }

  50% {
    transform: translateY(-10px) scale(1.04);
  }
}

@keyframes waSkullFlicker {
  0%, 18%, 22%, 25%, 53%, 57%, 100% {
    opacity: 1;
  }

  20%, 24%, 55% {
    opacity: .65;
  }
}

@keyframes waGlow {
  from {
    transform: scale(.85);
    opacity: .55;
  }

  to {
    transform: scale(1.25);
    opacity: 1;
  }
}

@keyframes waLoad {
  0% {
    width: 0;
  }

  20% {
    width: 18%;
  }

  55% {
    width: 58%;
  }

  80% {
    width: 82%;
  }

  100% {
    width: 100%;
  }
}

@keyframes waDot {
  0%, 20% {
    opacity: .15;
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: .15;
  }
}

@keyframes waFog1 {
  from {
    transform: translateX(-8%) translateY(0);
  }

  to {
    transform: translateX(12%) translateY(-7%);
  }
}

@keyframes waFog2 {
  from {
    transform: translateX(7%) translateY(0);
  }

  to {
    transform: translateX(-12%) translateY(8%);
  }
}


/* CELULAR */

@media (max-width: 600px) {

  .wa-skull-wrap {
    width: 125px;
    height: 125px;
  }

  .wa-skull {
    font-size: 95px;
  }

  .wa-access {
    font-size: 9px;
    letter-spacing: 5px;
  }

  .wa-transition-content h2 {
    font-size: 48px;
  }

  .wa-transition-content p {
    font-size: 12px;
  }

}

/* Ajustes finales transición post-registro */
.whatsapp-terror-transition .wa-transition-content h2 strong{display:block;margin-top:10px;font-size:.62em;line-height:1.02}
.whatsapp-terror-transition .wa-access{color:#ef2732}
@media(max-width:600px){
  .whatsapp-terror-transition .wa-transition-content h2{font-size:42px}
  .whatsapp-terror-transition .wa-transition-content h2 strong{font-size:.58em;line-height:1.08}
}

.footer-logo {
    display: block;
    width: 190px;
    max-width: 65%;
    height: auto;
    margin: 0 auto 12px;
}

.footer p {
    text-align: center;
}
/* ==========================================================
   WHATSAPP INTERNACIONAL - BANDERA + VALIDACIÓN
   intl-tel-input
========================================================== */
.phone-field{
  position:relative;
  width:100%;
}

.phone-field .iti{
  width:100%;
  display:block;
  --iti-border-color:rgba(255,255,255,.16);
  --iti-hover-color:rgba(215,25,32,.12);
  --iti-country-selector-bg:#0b0b0b;
  --iti-dropdown-bg:#0b0b0b;
  --iti-dialcode-color:rgba(255,255,255,.72);
  --iti-arrow-color:rgba(255,255,255,.65);
  --iti-path-globe-1:url("https://cdn.jsdelivr.net/npm/intl-tel-input@26.5.0/build/img/globe.webp");
  --iti-path-globe-2x:url("https://cdn.jsdelivr.net/npm/intl-tel-input@26.5.0/build/img/globe@2x.webp");
  --iti-path-flags-1x:url("https://cdn.jsdelivr.net/npm/intl-tel-input@26.5.0/build/img/flags.webp");
  --iti-path-flags-2x:url("https://cdn.jsdelivr.net/npm/intl-tel-input@26.5.0/build/img/flags@2x.webp");
}

.phone-field .iti input#whatsapp{
  width:100%;
}

.iti__selected-country{
  background:rgba(255,255,255,.025);
  border-right:1px solid rgba(255,255,255,.08);
}

.iti__country-container{
  z-index:8;
}

.iti__dropdown-content{
  background:#0a0a0a !important;
  color:#f1f1f1 !important;
  border:1px solid rgba(215,25,32,.35) !important;
  box-shadow:0 18px 60px rgba(0,0,0,.7);
}

.iti__search-input{
  background:#111 !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.13) !important;
  outline:none;
}

.iti__country-name,
.iti__dial-code{
  color:#ddd;
}

.iti__country.iti__highlight{
  background:rgba(215,25,32,.18) !important;
}

.phone-error{
  display:none;
  margin-top:8px;
  color:#ff4b55 !important;
  font-family:'Montserrat',sans-serif;
  font-size:10px !important;
  font-weight:600;
  letter-spacing:.4px;
  line-height:1.45;
  text-transform:none;
}

.phone-field.invalid .phone-error{
  display:block;
}

.phone-field.invalid .iti input#whatsapp{
  border-color:#d71920 !important;
  box-shadow:0 0 0 1px rgba(215,25,32,.22),0 0 20px rgba(215,25,32,.08);
}

.phone-field.valid .iti input#whatsapp{
  border-color:rgba(77,191,111,.5) !important;
}

@media(max-width:600px){
  .iti__dropdown-content{
    max-width:calc(100vw - 34px);
  }
}

/* ==========================================================
   V4.7 - AJUSTE PROFESIONAL CAMPO WHATSAPP / FORMULARIO
   Evita cortes de bandera/prefijo y descuadres en desktop.
========================================================== */
@media (min-width: 981px){
  .register{
    grid-template-columns:minmax(420px,.88fr) minmax(620px,1.12fr);
    gap:5vw;
    padding-left:7vw;
    padding-right:7vw;
  }
  .form-card{
    min-width:0;
    width:100%;
  }
  .form-card .row{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:18px;
  }
  .form-card label,
  .phone-field,
  .phone-field .iti{
    min-width:0;
  }
}

/* El selector debe quedar dentro de la caja sin robar espacio al número */
.phone-field .iti{
  width:100% !important;
  max-width:100%;
}

.phone-field .iti__country-container{
  width:auto;
  max-width:118px;
}

.phone-field .iti__selected-country{
  min-width:102px;
  max-width:118px;
  padding:0 10px !important;
  gap:6px;
  overflow:visible;
}

.phone-field .iti__selected-country-primary{
  gap:6px;
  padding:0 !important;
}

.phone-field .iti__selected-dial-code{
  white-space:nowrap;
  font-size:12px;
  line-height:1;
  color:rgba(255,255,255,.72) !important;
}

.phone-field .iti__flag{
  flex:0 0 auto;
}

/* deja espacio real para bandera + flecha + +593 */
.phone-field .iti input#whatsapp{
  width:100% !important;
  min-width:0 !important;
  padding-left:124px !important;
  padding-right:14px !important;
  text-overflow:ellipsis;
}

/* Si el formulario se hace más angosto, apilamos SOLO la fila WhatsApp/Correo
   antes de permitir que el teléfono quede comprimido */
@media (min-width: 981px) and (max-width: 1220px){
  .register{
    grid-template-columns:minmax(360px,.8fr) minmax(520px,1.2fr);
    gap:3.5vw;
    padding-left:5vw;
    padding-right:5vw;
  }
  .form-card{
    padding:38px 34px;
  }
}

@media (min-width: 981px) and (max-width: 1100px){
  .form-card .row{
    grid-template-columns:1fr;
  }
}

/* Tablet / móvil: selector compacto y sin recortes */
@media (max-width: 980px){
  .phone-field .iti__country-container{
    max-width:112px;
  }
  .phone-field .iti__selected-country{
    min-width:98px;
    max-width:112px;
    padding:0 9px !important;
  }
  .phone-field .iti input#whatsapp{
    padding-left:116px !important;
    font-size:16px; /* evita zoom de iOS */
  }
}

@media (max-width: 420px){
  .phone-field .iti__country-container{
    max-width:108px;
  }
  .phone-field .iti__selected-country{
    min-width:94px;
    max-width:108px;
    padding:0 8px !important;
  }
  .phone-field .iti input#whatsapp{
    padding-left:111px !important;
  }
}


/* ==========================================================
   V4.8 - FIX ALINEACION WHATSAPP + SUBMIT GOOGLE FORMS
========================================================== */
/* El label de WhatsApp contiene un wrapper extra (.phone-field).
   Le damos el mismo margen superior que tienen los inputs normales
   y quitamos el margin-top del input interno para que WhatsApp y Correo
   queden exactamente en la misma línea. */
.phone-field{
  margin-top:8px;
}
.phone-field .iti input#whatsapp{
  margin-top:0 !important;
  height:55px !important;
}
.phone-field .iti__country-container,
.phone-field .iti__selected-country{
  height:55px;
}


/* ==========================================================
   V5.0 - CONTADOR DE VENTA SOBRE EL FORMULARIO
   Apertura del sitio: sección #venta. Venta: 05/09/2026 10h00 Ecuador.
========================================================== */
.sale-countdown{
  scroll-margin-top:76px;
  padding-top:125px;
  padding-bottom:110px;
}
.sale-countdown .eyebrow{
  color:#f0e8df;
}
.sale-countdown .sale-note{
  position:relative;
  max-width:680px;
  margin:-10px auto 30px;
  color:#aaa;
  font-size:14px;
  line-height:1.75;
}
.sale-countdown + .register{
  padding-top:110px;
}

@media(max-width:600px){
  .sale-countdown{
    scroll-margin-top:72px;
    padding-top:92px;
    padding-bottom:82px;
  }
  .sale-countdown .eyebrow{
    max-width:330px;
    margin-left:auto;
    margin-right:auto;
    line-height:1.7;
    letter-spacing:3px;
  }
  .sale-countdown .sale-note{
    max-width:340px;
    margin:0 auto 26px;
    padding:0 10px;
    font-size:12px;
  }
  .sale-countdown + .register{
    padding-top:75px;
  }
}
/* IMAGEN DE LOCALIDADES DEBAJO DEL BOTÓN */

.localidades-imagen {
    position: relative;
    width: min(92%, 820px);
    margin: 55px auto 20px;
    padding: 6px;

    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;

    box-shadow:
        0 30px 80px rgba(0, 0, 0, 0.75),
        0 0 40px rgba(190, 0, 20, 0.12);

    overflow: hidden;
}

/* pequeño brillo rojo arriba */
.localidades-imagen::before {
    content: "";
    position: absolute;
    top: 0;
    left: 15%;
    width: 70%;
    height: 2px;

    background: linear-gradient(
        90deg,
        transparent,
        #d91527,
        transparent
    );

    box-shadow: 0 0 15px rgba(217, 21, 39, 0.8);
    z-index: 2;
}

.localidades-imagen img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 4px;
}


/* CELULAR */
@media (max-width: 600px) {

    .localidades-imagen {
        width: calc(100% - 24px);
        margin-top: 40px;
        padding: 3px;
        border-radius: 5px;
    }

    .localidades-imagen img {
        border-radius: 3px;
    }

}

/* V21 · Archivo 02 / video del concierto */
.unlock>button.open-video{background:linear-gradient(90deg,#3c0b5740,#67070e32,transparent);border-bottom-color:#6c141a}
.unlock>button.open-video strong{color:#f1303b}
.unlock>button.open-video:hover{background:linear-gradient(90deg,#6d0c1f66,#3d0b5a42,transparent)}
.concert-reveal{position:relative;padding:125px 6.8vw 145px;background:radial-gradient(circle at 50% 20%,#2b0910 0,#09090a 42%,#050506 78%);border-block:1px solid var(--line);overflow:hidden}
.concert-reveal:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0 46%,#ffffff05 46.2% 46.5%,transparent 46.7% 100%);pointer-events:none}
.concert-reveal-head{position:relative;z-index:1;max-width:1180px;margin:0 auto 34px;text-align:center}
.concert-reveal-head h2{font-family:Anton,Impact,sans-serif;font-size:clamp(62px,8vw,112px);font-weight:400;line-height:.95;margin:8px 0 14px}
.concert-reveal-head h2 b{font-weight:400;color:var(--red)}
.concert-reveal-head>p:last-child{margin:0 auto;color:#8e8889;font-size:13px;line-height:1.7}
.concert-video-frame{position:relative;z-index:1;width:min(1180px,100%);margin:0 auto;padding:10px;border:1px solid #4b1b20;background:#050505;box-shadow:0 40px 120px #000}
.concert-video-frame:before,.concert-video-frame:after{content:"";position:absolute;width:64px;height:2px;background:var(--red);top:-1px}
.concert-video-frame:before{left:0}.concert-video-frame:after{right:0}
.concert-video-frame video{display:block;width:100%;max-height:78vh;object-fit:contain;background:#000;outline:none}
@media(max-width:980px){.concert-reveal{padding:95px 24px 110px}}
@media(max-width:600px){.concert-reveal{padding:78px 16px 90px}.concert-reveal-head{margin-bottom:24px}.concert-reveal-head h2{font-size:58px}.concert-video-frame{padding:5px}.concert-video-frame video{max-height:72vh}}


/* ========================================================================== */
/* V29 · PORTADA DE VENTA OFICIAL · DESKTOP + TABLET + MÓVIL                 */
/* ========================================================================== */
.sale-poster-hero{
  position:relative;
  z-index:2;
  min-height:100svh;
  padding:104px clamp(18px,4vw,68px) 34px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  isolation:isolate;
  background:#050506;
}
.sale-poster-hero:before{
  content:"";
  position:absolute;
  z-index:-2;
  inset:-70px;
  background:
    linear-gradient(90deg,rgba(4,4,6,.70),rgba(4,4,6,.30) 42%,rgba(4,4,6,.36) 62%,rgba(4,4,6,.72)),
    url('assets/portada-venta-nengo.jpg') center 43%/cover no-repeat;
  filter:blur(24px) saturate(1.08) brightness(.72);
  transform:scale(1.10);
  opacity:.92;
}
.sale-poster-hero:after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:
    radial-gradient(circle at 68% 45%,rgba(145,40,151,.13),transparent 33%),
    radial-gradient(circle at 28% 40%,rgba(171,23,35,.10),transparent 31%),
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.36));
  pointer-events:none;
}
.sale-poster-shell{
  width:min(1380px,100%);
  display:grid;
  grid-template-columns:minmax(330px,.86fr) minmax(500px,610px);
  align-items:center;
  justify-content:center;
  gap:clamp(34px,5vw,82px);
}
.sale-poster-copy{
  max-width:560px;
  text-shadow:0 6px 24px rgba(0,0,0,.55);
}
.sale-kicker{
  margin:0 0 18px;
  color:#ff4853;
  font-size:11px;
  font-weight:900;
  letter-spacing:5px;
  text-transform:uppercase;
}
.sale-poster-copy h1{
  margin:0;
  font-family:Anton,Impact,sans-serif;
  font-size:clamp(66px,6.4vw,112px);
  font-weight:400;
  line-height:.88;
  letter-spacing:.3px;
  text-transform:uppercase;
}
.sale-poster-copy h1 strong{color:#d71520;font-weight:400}
.sale-date{
  margin:26px 0 20px;
  max-width:500px;
  color:#f2ece9;
  font-size:14px;
  line-height:1.7;
  font-weight:800;
  letter-spacing:1.8px;
  text-transform:uppercase;
}
.sale-trust{
  display:flex;
  flex-wrap:wrap;
  gap:9px 12px;
  color:#bdb5b4;
  font-size:9px;
  font-weight:800;
  letter-spacing:1.5px;
  text-transform:uppercase;
}
.sale-trust i{color:#d71520;font-style:normal}
.sale-poster-stage{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  min-width:0;
}
.sale-poster-wrap{
  position:relative;
  width:clamp(500px,min(36vw,calc((100svh - 138px)*.75)),585px);
  min-width:500px;
  aspect-ratio:3/4;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  background:#09080b;
  box-shadow:0 34px 120px rgba(0,0,0,.72),0 0 80px rgba(91,16,103,.22);
}
.sale-poster-wrap:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 0 60px rgba(0,0,0,.13);
}
.sale-poster-wrap>img{display:block;width:100%;height:100%;object-fit:cover}
.poster-buy-button{
  position:absolute;
  z-index:4;
  left:50%;
  top:57.3%;
  transform:translate(-50%,-50%);
  width:46%;
  min-width:210px;
  height:8%;
  min-height:52px;
  padding:0 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  text-align:center;
  text-transform:uppercase;
  background:linear-gradient(180deg,#ef2636 0%,#a80718 56%,#73030f 100%);
  border:2px solid #fff;
  border-radius:10px;
  box-shadow:0 11px 34px rgba(0,0,0,.62),0 0 34px rgba(221,19,42,.50),inset 0 1px 0 rgba(255,255,255,.35);
  transition:transform .2s ease,filter .2s ease,box-shadow .2s ease;
}
.poster-buy-button span{
  display:block;
  font-family:Montserrat,Arial,sans-serif;
  font-size:clamp(14px,1.15vw,20px);
  line-height:1;
  letter-spacing:.4px;
  font-weight:900;
  white-space:nowrap;
}
.poster-buy-button:hover{
  transform:translate(-50%,-53%) scale(1.035);
  filter:brightness(1.12);
  box-shadow:0 14px 42px rgba(0,0,0,.72),0 0 42px rgba(230,20,44,.70);
}
.poster-buy-button:focus-visible{outline:3px solid #fff;outline-offset:4px}
.poster-more{
  padding:9px 18px;
  color:#d4cbce;
  font-size:9px;
  font-weight:800;
  letter-spacing:3px;
  text-transform:uppercase;
  transition:.2s;
}
.poster-more:hover{color:#fff}

/* Música: iframe invisible y control discreto. */
.site-music iframe{
  position:fixed;
  width:1px;
  height:1px;
  left:-9999px;
  top:-9999px;
  opacity:0;
  pointer-events:none;
}
.music-toggle{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:120;
  height:38px;
  padding:0 15px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:999px;
  background:rgba(8,8,10,.78);
  backdrop-filter:blur(12px);
  color:#d8d2d0;
  font-size:9px;
  font-weight:900;
  letter-spacing:1.5px;
  cursor:pointer;
  box-shadow:0 10px 30px rgba(0,0,0,.38);
}
.music-toggle.is-playing{border-color:#b41420;color:#fff;background:rgba(112,5,14,.80)}
.music-toggle:hover{color:#fff;border-color:#fff}

@media(max-width:1180px){
  .sale-poster-shell{grid-template-columns:minmax(270px,.75fr) minmax(460px,560px);gap:32px}
  .sale-poster-wrap{width:clamp(460px,min(45vw,calc((100svh - 132px)*.75)),550px);min-width:460px}
  .sale-poster-copy h1{font-size:clamp(58px,7vw,88px)}
}

@media(max-width:930px){
  .sale-poster-hero{padding:92px 14px 24px;align-items:flex-start}
  .sale-poster-shell{display:block;width:100%}
  .sale-poster-copy{display:none}
  .sale-poster-stage{width:100%}
  .sale-poster-wrap{width:min(78vw,590px);min-width:0;max-width:none}
  .poster-buy-button{width:46%;min-width:190px}
}

@media(max-width:600px){
  .sale-poster-hero{min-height:100svh;padding:76px 0 18px;overflow:hidden}
  .sale-poster-hero:before{filter:blur(18px) saturate(.95) brightness(.60);opacity:.78}
  .sale-poster-wrap{width:min(100vw,560px);border-left:0;border-right:0;box-shadow:0 22px 70px rgba(0,0,0,.66)}
  .poster-buy-button{top:57.25%;width:48%;min-width:0;height:7.7%;min-height:44px;padding:0 10px;border-radius:8px}
  .poster-buy-button span{font-size:clamp(12px,4vw,17px);letter-spacing:0}
  .poster-more{font-size:8px;letter-spacing:2px;padding:8px 12px}
  .music-toggle{right:10px;bottom:10px;height:34px;padding:0 12px;font-size:8px}
}

@media(max-width:390px){
  .poster-buy-button{width:50%;height:7.6%;min-height:40px}
  .poster-buy-button span{font-size:clamp(11px,4.1vw,15px)}
}

@media(min-width:931px) and (max-height:760px){
  .sale-poster-hero{min-height:auto;padding-top:98px;overflow:visible}
  .sale-poster-wrap{width:500px;min-width:500px}
  .sale-poster-copy h1{font-size:72px}
}

/* La venta ya abrió: el reloj queda visualmente fuera de la experiencia principal. */
#venta-countdown .clock{display:none}
#venta-countdown .count-status{margin:26px auto 28px}

/* Bloque que reemplaza el antiguo formulario de registro. */
.purchase-now{align-items:center}
.purchase-card{display:flex;align-items:center;justify-content:center;min-height:420px}
.purchase-card-inner{text-align:center;max-width:560px;margin:auto}
.purchase-lock{display:block;font-size:42px;margin-bottom:16px}
.purchase-card-inner h3{font-family:Anton,Impact,sans-serif;font-size:clamp(30px,3.2vw,48px);font-weight:400;line-height:1.05;margin:0 0 18px;text-transform:uppercase}
.purchase-card-inner p{color:#aaa;line-height:1.8;margin:0 auto 28px;max-width:480px}
.purchase-main-cta{width:100%;max-width:360px;margin:0 auto 18px}
.purchase-card-inner small{display:block;color:#777;line-height:1.6;font-size:10px;letter-spacing:.7px}

@media(max-width:430px){.purchase-card{min-height:320px;padding:30px 22px}}

/* Ajuste final navegación móvil */
@media(max-width:600px){
  .nav-cta{padding:10px 11px;font-size:8px;letter-spacing:1px;white-space:nowrap}
}


/* ========================================================================== */
/* V30 · PORTADA MÓVIL COMPLETA EN UNA SOLA PANTALLA                         */
/* El afiche 3:4 se calcula por ANCHO y por ALTO disponible.                  */
/* Así jamás obliga a hacer scroll solo para terminar de ver la portada.      */
/* ========================================================================== */
@media(max-width:600px){
  .nav{
    height:60px;
    padding:0 10px;
    background:rgba(4,4,6,.92);
    backdrop-filter:blur(12px);
  }
  .brand img{
    width:118px;
    height:58px;
  }
  .nav-cta{
    padding:9px 10px;
    font-size:7.5px;
    letter-spacing:.75px;
    white-space:nowrap;
  }

  .sale-poster-hero{
    height:100svh;
    height:100dvh;
    min-height:0;
    padding:60px 0 0;
    align-items:center;
    justify-content:center;
    overflow:hidden;
  }
  .sale-poster-shell{
    display:flex;
    width:100%;
    height:100%;
    align-items:center;
    justify-content:center;
  }
  .sale-poster-stage{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:0;
  }
  .sale-poster-wrap{
    /* 3:4 exacto, limitado por el ancho y por el alto que queda debajo del nav */
    width:min(100vw, calc((100svh - 60px) * .75));
    width:min(100vw, calc((100dvh - 60px) * .75));
    height:min(calc(100svh - 60px), calc(100vw * 1.333333));
    height:min(calc(100dvh - 60px), calc(100vw * 1.333333));
    max-width:none;
    min-width:0;
    min-height:0;
    aspect-ratio:3/4;
    flex:0 0 auto;
    border:0;
    box-shadow:0 18px 55px rgba(0,0,0,.65);
  }
  .sale-poster-wrap>img{
    width:100%;
    height:100%;
    object-fit:contain;
    background:#070609;
  }
  .poster-buy-button{
    top:57.25%;
    width:54%;
    min-width:0;
    height:7.5%;
    min-height:38px;
    max-height:52px;
    padding:0 8px;
    border-radius:8px;
  }
  .poster-buy-button span{
    font-size:clamp(11px,3.9vw,16px);
    line-height:1;
    letter-spacing:0;
    white-space:nowrap;
  }
  .poster-more{display:none}
  .music-toggle{
    right:8px;
    bottom:max(8px,env(safe-area-inset-bottom));
    height:32px;
    padding:0 10px;
    font-size:7.5px;
    letter-spacing:.8px;
  }
}

@media(max-width:600px) and (max-height:560px){
  .nav{height:54px}
  .brand img{width:104px;height:52px}
  .nav-cta{padding:8px 8px;font-size:7px}
  .sale-poster-hero{padding-top:54px}
  .sale-poster-wrap{
    width:min(100vw, calc((100svh - 54px) * .75));
    width:min(100vw, calc((100dvh - 54px) * .75));
    height:min(calc(100svh - 54px), calc(100vw * 1.333333));
    height:min(calc(100dvh - 54px), calc(100vw * 1.333333));
  }
}

/* ============================================================================
   V32 · ENTRADA DE AUDIO REAL
   El primer toque/click del usuario desbloquea la música. No se fabrica un click
   automático porque Chrome/Safari lo ignoran para permisos de sonido.
   ============================================================================ */
.music-gate{
  position:fixed;
  inset:0;
  z-index:10000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  cursor:pointer;
  background:
    linear-gradient(180deg,rgba(4,3,6,.58),rgba(4,3,6,.88)),
    radial-gradient(circle at 50% 40%,rgba(145,20,48,.32),transparent 48%),
    url('assets/portada-venta-nengo.jpg') center 38%/cover no-repeat;
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
  transition:opacity .38s ease,visibility .38s ease;
}
.music-gate:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at center,transparent 15%,rgba(0,0,0,.42) 76%,rgba(0,0,0,.78) 100%);
  pointer-events:none;
}
.music-gate.is-hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.music-gate-card{
  position:relative;
  z-index:2;
  width:min(560px,92vw);
  padding:34px 30px 30px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:16px;
  color:#fff;
  text-align:center;
  background:linear-gradient(180deg,rgba(10,8,11,.86),rgba(20,6,10,.92));
  box-shadow:0 30px 90px rgba(0,0,0,.62),0 0 50px rgba(166,12,26,.16);
  font-family:Montserrat,Arial,sans-serif;
  cursor:pointer;
  overflow:hidden;
}
.music-gate-card:before{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  top:0;
  height:2px;
  background:linear-gradient(90deg,transparent,#e11a27,transparent);
}
.music-gate-kicker{
  display:block;
  margin-bottom:12px;
  color:#d7cfca;
  font-size:10px;
  font-weight:800;
  letter-spacing:4px;
}
.music-gate-card strong{
  display:block;
  font-family:Anton,Impact,sans-serif;
  font-size:clamp(42px,7vw,76px);
  line-height:.95;
  font-weight:400;
  letter-spacing:.5px;
  text-transform:uppercase;
  text-shadow:0 8px 30px rgba(0,0,0,.6);
}
.music-gate-card em{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  margin-top:20px;
  padding:0 22px;
  border-radius:999px;
  border:1px solid #e02632;
  background:linear-gradient(90deg,#850810,#d71520);
  color:#fff;
  font-size:11px;
  font-style:normal;
  font-weight:900;
  letter-spacing:1.4px;
  box-shadow:0 10px 30px rgba(184,4,15,.25);
}
.music-gate-card small{
  display:block;
  min-height:14px;
  margin-top:16px;
  color:#a9a19e;
  font-size:8px;
  font-weight:800;
  letter-spacing:2.3px;
  text-transform:uppercase;
}
.music-gate.music-error .music-gate-card em{background:#29272a;border-color:#5d595c}

/* El contenedor de YouTube y el iframe generado por la API quedan fuera de pantalla. */
.site-music-player,
.site-music-player iframe{
  position:fixed!important;
  width:1px!important;
  height:1px!important;
  left:-9999px!important;
  top:-9999px!important;
  opacity:0!important;
  pointer-events:none!important;
  border:0!important;
}

@media(max-width:600px){
  .music-gate{padding:18px}
  .music-gate-card{width:min(94vw,440px);padding:28px 18px 24px;border-radius:14px}
  .music-gate-kicker{font-size:8px;letter-spacing:3px}
  .music-gate-card strong{font-size:clamp(42px,15vw,64px)}
  .music-gate-card em{width:100%;min-height:50px;padding:0 12px;font-size:10px;letter-spacing:.8px}
  .music-gate-card small{font-size:7px;letter-spacing:1.6px}
}


/* V33: no se usa pantalla intermedia de audio. */
.music-gate{display:none!important}

/* --------------------------------------------------------------------------
   V35 · PLAYER YOUTUBE COMPATIBLE CON ANDROID
   YouTube exige un viewport embebido mínimo de 200x200. No usamos 1x1/offscreen.
   Conserva caja 200x200 renderizada, prácticamente invisible y sin capturar toques.
   -------------------------------------------------------------------------- */
#siteMusicPlayer,
#siteMusicPlayer iframe,
.site-music-player,
.site-music-player iframe{
  position:fixed!important;
  width:200px!important;
  height:200px!important;
  min-width:200px!important;
  min-height:200px!important;
  left:0!important;
  bottom:0!important;
  top:auto!important;
  opacity:.001!important;
  pointer-events:none!important;
  border:0!important;
  transform:none!important;
  transform-origin:left bottom!important;
  z-index:1!important;
}
