﻿:root{
  --bg:#05020c;
  --pink:#ff149f;
  --pink2:#ff58c8;
  --cyan:#1bdcff;
  --ink:#ffffff;
  --muted:rgba(255,255,255,.74);
  --line:rgba(255,255,255,.16);
  --shadow:0 34px 100px rgba(0,0,0,.62);
}
*{box-sizing:border-box}
html,body{height:100%; margin:0}
html{scrollbar-width:none}
body{
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:#05020c;
  overflow:hidden;
}
body::-webkit-scrollbar{display:none}
body.modal-open{overflow:hidden}
button,input{font:inherit}
button{cursor:pointer}
img{max-width:100%}
.sr-only{
  position:absolute!important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}
.am-page{
  position:relative;
  width:100vw;
  height:100svh;
  min-height:100vh;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#05020c;
}
.am-blur-bg{
  position:fixed;
  inset:-5%;
  background-image:url('../assets/amclub-portada-base-controles.png');
  background-size:cover;
  background-position:center;
  filter:blur(30px) saturate(1.08) brightness(.52);
  transform:scale(1.08);
  opacity:.92;
}
.am-blur-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 15% 12%, rgba(255,20,159,.15), transparent 25%),
    radial-gradient(circle at 86% 88%, rgba(27,220,255,.12), transparent 26%),
    linear-gradient(180deg, rgba(5,2,12,.10), rgba(5,2,12,.52));
}

.am-cover{
  --cover-scale:1;
  --count-num-size: calc(var(--cover-scale) * 82px);
  --count-label-size: calc(var(--cover-scale) * 15px);
  --vip-main-size: calc(var(--cover-scale) * 18px);
  --vip-top-size: calc(var(--cover-scale) * 14px);
  position:relative;
  z-index:2;
  width:min(100vw, calc(100svh * 1.7689));
  height:min(100svh, calc(100vw / 1.7689));
  max-width:100vw;
  max-height:100svh;
  overflow:hidden;
  background:#05020c;
  box-shadow:var(--shadow);
}
.am-cover-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  user-select:none;
  pointer-events:none;
}
.top-vip-control,
.main-vip-control,
.mobile-top-vip,
.mobile-main-vip,
.mobile-vip-button,
.mobile-provider-top-link{
  border:1px solid rgba(255,255,255,.20);
  color:#fff;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.085em;
  text-shadow:0 0 12px rgba(255,255,255,.45);
  background:linear-gradient(135deg, rgba(255,20,159,.86), rgba(255,88,200,.64) 48%, rgba(27,220,255,.26));
  box-shadow:0 0 28px rgba(255,20,159,.50), inset 0 1px 0 rgba(255,255,255,.18), inset 0 0 24px rgba(255,255,255,.05);
  transition:transform .18s ease, filter .18s ease, box-shadow .18s ease;
}
.top-vip-control:hover,
.main-vip-control:hover,
.mobile-top-vip:hover,
.mobile-main-vip:hover,
.mobile-vip-button:hover,
.mobile-provider-top-link:hover{
  transform:translateY(-1px);
  filter:brightness(1.09) saturate(1.08);
  box-shadow:0 0 38px rgba(255,20,159,.64), 0 0 18px rgba(27,220,255,.20), inset 0 1px 0 rgba(255,255,255,.2);
}
.top-vip-control:focus-visible,
.main-vip-control:focus-visible,
.mobile-top-vip:focus-visible,
.mobile-main-vip:focus-visible,
.mobile-vip-button:focus-visible,
.mobile-provider-top-link:focus-visible,
.modal-close:focus-visible,
.submit-btn:focus-visible{
  outline:2px solid rgba(27,220,255,.85);
  outline-offset:3px;
}
.top-vip-control{
  position:absolute;
  z-index:7;
  left:82.55%;
  top:4.05%;
  width:12.6%;
  height:5.0%;
  border-radius:4px;
  font-size:clamp(7px, var(--vip-top-size), 14px);
  white-space:nowrap;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  padding:0 .55em;
}
.live-controls{
  position:absolute;
  z-index:6;
  left:11.65%;
  top:52.15%;
  width:38.1%;
  height:22.55%;
}
.countdown-grid{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:52.5%;
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:1.72%;
}
.count-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,97,204,.74);
  border-radius:9px;
  background:
    radial-gradient(circle at 50% 106%, rgba(255,20,159,.42), transparent 66%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.04) 0 1px, transparent 1px 11px),
    linear-gradient(180deg, rgba(33,8,31,.88), rgba(12,3,18,.92));
  box-shadow:0 0 18px rgba(255,20,159,.48), inset 0 1px 0 rgba(255,255,255,.18), inset 0 -18px 38px rgba(255,20,159,.16);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding-top:.3em;
}
.count-card.cyan{
  border-color:rgba(27,220,255,.74);
  box-shadow:0 0 18px rgba(27,220,255,.42), inset 0 1px 0 rgba(255,255,255,.18), inset 0 -18px 38px rgba(27,220,255,.15);
}
.count-card strong{
  display:block;
  font-family:"Bebas Neue", Anton, Impact, sans-serif;
  font-size:clamp(24px, var(--count-num-size), 82px);
  line-height:.78;
  font-weight:400;
  letter-spacing:.055em;
  color:#fff;
  text-shadow:0 0 7px #fff, 0 0 16px rgba(255,20,159,.82), 0 0 28px rgba(255,20,159,.60);
}
.count-card.cyan strong{
  text-shadow:0 0 7px #fff, 0 0 16px rgba(27,220,255,.92), 0 0 28px rgba(27,220,255,.62);
}
.count-card span{
  display:block;
  margin-top:.45em;
  font-size:clamp(7px, var(--count-label-size), 15px);
  line-height:1;
  font-weight:900;
  letter-spacing:.13em;
  color:#fff;
  text-shadow:0 0 12px rgba(255,255,255,.42);
}
.main-vip-control{
  position:absolute;
  z-index:7;
  left:1.25%;
  top:63.3%;
  width:52.7%;
  height:29.4%;
  border-radius:7px;
  font-size:clamp(9px, var(--vip-main-size), 18px);
  white-space:nowrap;
  line-height:1.05;
  padding:0 .7em;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.65em;
}
.crown{
  font-size:1.18em;
  line-height:1;
  transform:translateY(-.04em);
  flex:0 0 auto;
}
.mobile-scene,
.mobile-bg,
.mobile-stage,
.mobile-vip-button{display:none}

.waitlist-modal{
  position:fixed;
  inset:0;
  z-index:50;
  display:grid;
  place-items:center;
  padding:18px;
  opacity:0;
  visibility:hidden;
  transition:opacity .22s ease, visibility .22s ease;
}
.waitlist-modal.is-open{opacity:1; visibility:visible}
.waitlist-backdrop{
  position:absolute;
  inset:0;
  background:rgba(4,2,10,.74);
  backdrop-filter:blur(14px);
}
.waitlist-card{
  position:relative;
  width:min(94vw,560px);
  z-index:1;
  padding:26px 24px 24px;
  border:1px solid var(--line);
  border-radius:30px;
  background:
    radial-gradient(circle at 12% 10%, rgba(255,20,159,.22), transparent 30%),
    radial-gradient(circle at 92% 0%, rgba(27,220,255,.16), transparent 28%),
    linear-gradient(180deg, rgba(18,8,31,.96), rgba(8,4,17,.96));
  box-shadow:var(--shadow), inset 0 1px 0 rgba(255,255,255,.12);
}
.modal-close{
  position:absolute;
  top:12px;
  right:12px;
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.07);
  color:#fff;
  font-size:28px;
  line-height:1;
}
.modal-header{display:flex; gap:14px; align-items:center; padding-right:42px; margin-bottom:14px}
.modal-logo{width:78px; height:auto; filter:drop-shadow(0 0 16px rgba(255,20,159,.32))}
.modal-eyebrow{margin:0 0 4px; color:var(--cyan); font-size:12px; font-weight:900; letter-spacing:.16em; text-transform:uppercase}
.waitlist-card h2{margin:0; font-size:clamp(30px,4vw,42px); line-height:.95; text-transform:uppercase; letter-spacing:-.04em}
.modal-text{margin:0 0 18px; color:var(--muted); line-height:1.6; font-size:15px}
.waitlist-form{display:grid; gap:14px}
.waitlist-form label{display:grid; gap:8px}
.waitlist-form label>span{font-size:12px; font-weight:900; letter-spacing:.12em; text-transform:uppercase}
.waitlist-form input[type=text],.waitlist-form input[type=email],.waitlist-form input[type=tel]{
  width:100%;
  min-height:54px;
  padding:0 16px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  outline:none;
  background:rgba(255,255,255,.08);
  color:#fff;
  transition:border .18s ease, box-shadow .18s ease, background .18s ease;
}
.waitlist-form input:focus{border-color:rgba(27,220,255,.72); box-shadow:0 0 0 4px rgba(27,220,255,.13); background:rgba(255,255,255,.105)}
.check-row{grid-template-columns:auto 1fr; align-items:flex-start; gap:12px; margin-top:2px}
.check-row input{margin-top:2px; accent-color:var(--pink)}
.check-row span{color:var(--muted)!important; font-size:14px!important; text-transform:none!important; letter-spacing:0!important; font-weight:650!important}
.submit-btn{
  min-height:56px;
  margin-top:2px;
  border:0;
  border-radius:18px;
  color:#fff;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  background:linear-gradient(135deg, var(--pink), var(--pink2) 48%, var(--cyan));
  box-shadow:0 18px 44px rgba(255,20,159,.34), 0 0 24px rgba(27,220,255,.12);
}
.submit-btn:hover{filter:brightness(1.06)}
.form-status{min-height:22px; margin:2px 0 0; color:#c8faff; line-height:1.45; font-size:14px}

@media (min-aspect-ratio: 1/1) and (max-width:1100px){
  .top-vip-control{font-size:clamp(7px, var(--vip-top-size), 14px)}
  .count-card strong{font-size:clamp(24px, var(--count-num-size), 82px)}
  .count-card span{font-size:clamp(7px, var(--count-label-size), 15px)}
  .main-vip-control{font-size:clamp(9px, var(--vip-main-size), 18px)}
}

@media (max-width: 860px), (max-aspect-ratio: 1/1){
  .am-page,
  .am-cover{
    width:100vw;
    height:100svh;
    max-width:none;
    max-height:none;
  }
  .am-cover{
    border-radius:0;
    box-shadow:none;
    background:#05020c;
  }
  .am-blur-bg{background-image:url('../assets/amclub-mobile-bg.png'); filter:blur(24px) saturate(1.06) brightness(.42)}
  .am-cover-img,
  .top-vip-control,
  .live-controls,
  .mobile-vip-button{display:none !important}

  .mobile-scene{
    display:block;
    position:absolute;
    inset:0;
    z-index:8;
    overflow:hidden;
  }
  .mobile-bg{
    display:block;
    position:absolute;
    inset:0;
    background:
      linear-gradient(180deg, rgba(3,2,8,.28) 0%, rgba(4,2,10,.14) 24%, rgba(4,2,10,.30) 46%, rgba(4,2,10,.72) 72%, rgba(4,2,10,.96) 100%),
      linear-gradient(90deg, rgba(4,2,10,.78) 0%, rgba(4,2,10,.48) 26%, rgba(4,2,10,.12) 52%, rgba(4,2,10,.05) 100%),
      url('../assets/amclub-mobile-bg.png') center center / cover no-repeat;
  }
  .mobile-stage{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    position:relative;
    z-index:2;
    height:100%;
    padding:
      calc(env(safe-area-inset-top) + 16px)
      18px
      calc(env(safe-area-inset-bottom) + 18px);
  }
  .mobile-brand-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
  }
  .mobile-logo{
    width:min(30vw, 118px);
    min-width:78px;
    filter:drop-shadow(0 0 14px rgba(255,20,159,.28));
  }
  .mobile-top-vip{
    min-height:40px;
    padding:0 14px;
    border-radius:999px;
    font-size:clamp(10px, 2.6vw, 12px);
    line-height:1;
    white-space:nowrap;
  }
  .mobile-provider-top-link{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:42px;
    margin-top:10px;
    border:1px solid rgba(27,220,255,.46);
    border-radius:999px;
    color:#fff;
    background:linear-gradient(135deg, rgba(27,220,255,.18), rgba(255,20,159,.18));
    font-size:clamp(11px, 3vw, 13px);
    font-weight:900;
    letter-spacing:.075em;
    text-transform:uppercase;
    box-shadow:0 0 22px rgba(27,220,255,.20), inset 0 1px 0 rgba(255,255,255,.16);
    text-shadow:0 0 10px rgba(255,255,255,.34);
  }
  .mobile-copy-block{
    margin-top:clamp(14px, 8vh, 82px);
    max-width:min(72vw, 320px);
  }
  .mobile-kicker{
    margin:0 0 10px;
    color:var(--cyan);
    font-size:clamp(11px, 2.8vw, 13px);
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.2em;
    text-shadow:0 0 14px rgba(27,220,255,.28);
  }
  .mobile-title{
    margin:0;
    font-family:Anton, "Bebas Neue", Impact, sans-serif;
    text-transform:uppercase;
    line-height:.92;
    letter-spacing:.01em;
    display:grid;
    gap:.06em;
    text-wrap:balance;
  }
  .mobile-title .light,
  .mobile-title .accent{
    display:block;
    font-size:clamp(36px, 11.5vw, 64px);
  }
  .mobile-title .light{
    color:#fff;
    text-shadow:0 0 18px rgba(255,255,255,.18), 0 5px 24px rgba(0,0,0,.52);
  }
  .mobile-title .accent{
    color:var(--pink);
    text-shadow:0 0 18px rgba(255,20,159,.48), 0 0 34px rgba(255,20,159,.26), 0 5px 24px rgba(0,0,0,.48);
  }
  .mobile-subtitle{
    margin:14px 0 0;
    max-width:92%;
    color:rgba(255,255,255,.92);
    font-size:clamp(14px, 3.7vw, 17px);
    line-height:1.38;
  }
  .mobile-subtitle strong{color:#fff}
  .mobile-subtitle strong:last-child{color:var(--cyan)}
  .mobile-launch-block{
    margin-top:16px;
    display:grid;
    gap:4px;
  }
  .mobile-launch-block span{
    font-size:clamp(11px, 2.8vw, 13px);
    font-weight:900;
    letter-spacing:.19em;
    color:var(--cyan);
    text-transform:uppercase;
    text-shadow:0 0 12px rgba(27,220,255,.28);
  }
  .mobile-launch-block strong{
    font-family:"Bebas Neue", Anton, sans-serif;
    font-size:clamp(33px, 10.2vw, 52px);
    line-height:.9;
    font-weight:400;
    letter-spacing:.02em;
    color:#fff;
    text-shadow:0 0 14px rgba(255,20,159,.20), 0 5px 16px rgba(0,0,0,.58);
  }

  .mobile-bottom-block{
    display:grid;
    gap:12px;
    margin-top:auto;
  }
  .mobile-countdown-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:8px;
  }
  .mobile-count-card{
    min-height:88px;
    border:1px solid rgba(255,97,204,.72);
    border-radius:14px;
    background:
      radial-gradient(circle at 50% 106%, rgba(255,20,159,.42), transparent 66%),
      repeating-linear-gradient(90deg, rgba(255,255,255,.04) 0 1px, transparent 1px 11px),
      linear-gradient(180deg, rgba(33,8,31,.86), rgba(12,3,18,.92));
    box-shadow:0 0 20px rgba(255,20,159,.40), inset 0 1px 0 rgba(255,255,255,.18), inset 0 -18px 38px rgba(255,20,159,.14);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:8px 4px 6px;
  }
  .mobile-count-card.cyan{
    border-color:rgba(27,220,255,.72);
    box-shadow:0 0 20px rgba(27,220,255,.34), inset 0 1px 0 rgba(255,255,255,.18), inset 0 -18px 38px rgba(27,220,255,.12);
  }
  .mobile-count-card strong{
    display:block;
    font-family:"Bebas Neue", Anton, Impact, sans-serif;
    font-size:clamp(36px, 11.6vw, 56px);
    line-height:.8;
    font-weight:400;
    letter-spacing:.055em;
    color:#fff;
    text-shadow:0 0 7px #fff, 0 0 16px rgba(255,20,159,.82), 0 0 28px rgba(255,20,159,.54);
  }
  .mobile-count-card.cyan strong{ text-shadow:0 0 7px #fff, 0 0 16px rgba(27,220,255,.92), 0 0 28px rgba(27,220,255,.56); }
  .mobile-count-card span{
    display:block;
    margin-top:4px;
    color:#fff;
    font-size:clamp(10px, 2.6vw, 12px);
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
  }
  .mobile-main-vip{
    width:100%;
    min-height:56px;
    border-radius:999px;
    font-size:clamp(13px, 3.5vw, 16px);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.7em;
    white-space:nowrap;
  }
  .mobile-note{
    margin:0;
    text-align:center;
    color:rgba(255,255,255,.76);
    font-size:clamp(10px, 2.8vw, 12px);
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
    text-shadow:0 0 10px rgba(0,0,0,.42);
  }
}

@media (max-width:560px){
  .waitlist-modal{padding:12px}
  .waitlist-card{padding:24px 18px 20px; border-radius:24px}
  .modal-logo{width:64px}
  .waitlist-card h2{font-size:30px}
  .submit-btn{font-size:13px}
}
@media (orientation:landscape) and (max-height:560px){
  .waitlist-card{max-height:calc(100svh - 24px); overflow:auto; padding:20px}
  .modal-logo{width:58px}
  .waitlist-card h2{font-size:28px}
}


/* v20 - Limpieza de tarjetas inferiores y foco en registro */
.bottom-cleaner{
  position:absolute;
  z-index:5;
  left:2.2%;
  right:2.2%;
  bottom:2.0%;
  height:17.8%;
  border-radius:24px;
  background:
    radial-gradient(circle at 22% 6%, rgba(255,20,159,.16), transparent 20%),
    radial-gradient(circle at 72% 8%, rgba(27,220,255,.14), transparent 24%),
    linear-gradient(180deg, rgba(8,4,18,.14) 0%, rgba(8,4,18,.84) 20%, rgba(6,3,14,.97) 100%);
  border:1px solid rgba(255,255,255,.05);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 18px 44px rgba(0,0,0,.34);
  backdrop-filter: blur(10px);
  pointer-events:none;
}

/* v15 - Claridad de público objetivo y contacto para chicas/proveedoras */
.audience-strip{
  position:absolute;
  z-index:7;
  left:4.1%;
  bottom:4.1%;
  width:37.8%;
  min-height:8.6%;
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-rows:auto auto;
  gap:.24em .85em;
  align-items:center;
  padding:.86em 1.04em;
  border:1px solid rgba(255,255,255,.16);
  border-radius:12px;
  background:linear-gradient(135deg, rgba(5,2,12,.62), rgba(5,2,12,.25));
  box-shadow:0 0 24px rgba(255,20,159,.18), inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter:blur(7px);
}
.audience-strip strong{
  grid-column:1/2;
  display:block;
  color:#fff;
  font-size:calc(var(--cover-scale) * 16px);
  line-height:1.05;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  text-shadow:0 0 12px rgba(255,255,255,.24), 0 5px 14px rgba(0,0,0,.6);
}
.audience-strip span{
  grid-column:1/2;
  color:rgba(255,255,255,.78);
  font-size:calc(var(--cover-scale) * 11.8px);
  line-height:1.18;
  font-weight:700;
}
.provider-contact-link{
  grid-column:2/3;
  grid-row:1/3;
  min-height:calc(var(--cover-scale) * 44px);
  padding:0 calc(var(--cover-scale) * 14px);
  border:1px solid rgba(27,220,255,.30);
  border-radius:999px;
  color:#fff;
  background:rgba(255,255,255,.07);
  font-size:calc(var(--cover-scale) * 11.3px);
  line-height:1.12;
  font-weight:900;
  letter-spacing:.045em;
  text-transform:uppercase;
  white-space:normal;
  text-align:center;
  max-width:calc(var(--cover-scale) * 200px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 0 18px rgba(27,220,255,.10);
}
.provider-contact-link:hover{
  background:linear-gradient(135deg, rgba(255,20,159,.32), rgba(27,220,255,.18));
}
.mobile-audience{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  margin:12px 0 0;
  padding:8px 11px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  color:#fff;
  background:rgba(5,2,12,.42);
  font-size:clamp(11px, 2.9vw, 13px);
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  box-shadow:0 0 18px rgba(255,20,159,.18), inset 0 1px 0 rgba(255,255,255,.12);
}
.mobile-provider-top-link{display:none}
.mobile-provider-link{
  width:100%;
  min-height:42px;
  border:1px solid rgba(27,220,255,.24);
  border-radius:999px;
  color:#fff;
  background:rgba(255,255,255,.07);
  font-size:clamp(11px, 3vw, 13px);
  font-weight:900;
  letter-spacing:.055em;
  text-transform:uppercase;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 0 18px rgba(27,220,255,.10);
}
.provider-modal .waitlist-card{
  border-color:rgba(27,220,255,.22);
}
@media (max-width: 860px), (max-aspect-ratio: 1/1){
  .bottom-cleaner{display:none}
  .audience-strip{display:none}
}
@media (min-aspect-ratio: 1/1) and (max-width:1100px){
  .audience-strip strong{font-size:max(9px, calc(var(--cover-scale) * 16px))}
  .audience-strip span{font-size:max(7px, calc(var(--cover-scale) * 11px))}
  .provider-contact-link{font-size:max(7px, calc(var(--cover-scale) * 11px))}
}


/* v16 - Modal inicial explicativo */
.intro-modal{
  z-index:70;
}
.intro-card{
  width:min(94vw, 650px);
  padding:30px 28px 26px;
  border-color:rgba(255,20,159,.24);
  background:
    radial-gradient(circle at 14% 12%, rgba(255,20,159,.26), transparent 32%),
    radial-gradient(circle at 92% 0%, rgba(27,220,255,.18), transparent 30%),
    linear-gradient(180deg, rgba(19,8,33,.98), rgba(8,4,17,.98));
}
.intro-brand{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:16px;
  padding-right:42px;
}
.intro-brand img{
  width:84px;
  height:auto;
  filter:drop-shadow(0 0 16px rgba(255,20,159,.34));
}
.intro-brand span{
  color:rgba(255,255,255,.75);
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.intro-card h2{
  margin:0 0 12px;
  font-family:Anton, "Bebas Neue", Impact, sans-serif;
  font-size:clamp(34px, 4.6vw, 58px);
  line-height:.95;
  letter-spacing:-.035em;
  text-transform:uppercase;
  color:#fff;
  text-shadow:0 0 22px rgba(255,20,159,.22), 0 8px 28px rgba(0,0,0,.46);
}
.intro-text{
  font-size:16px;
  color:rgba(255,255,255,.82);
}
.intro-notice-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
  margin:18px 0 18px;
}
.intro-notice-grid article{
  min-height:116px;
  padding:16px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  background:linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.intro-notice-grid strong{
  display:block;
  margin-bottom:8px;
  color:#fff;
  font-size:16px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.intro-notice-grid span{
  display:block;
  color:rgba(255,255,255,.74);
  font-size:14px;
  line-height:1.48;
}
.intro-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.intro-actions .submit-btn{
  min-height:54px;
}
.intro-secondary-btn,
.intro-link-btn{
  min-height:54px;
  border-radius:18px;
  font-weight:900;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.intro-secondary-btn{
  border:1px solid rgba(27,220,255,.28);
  color:#fff;
  background:linear-gradient(135deg, rgba(27,220,255,.22), rgba(255,255,255,.06));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 0 20px rgba(27,220,255,.10);
}
.intro-link-btn{
  grid-column:1 / -1;
  min-height:44px;
  border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.78);
  background:rgba(255,255,255,.055);
}
.intro-small{
  margin:14px 0 0;
  color:rgba(255,255,255,.58);
  text-align:center;
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
}
@media (max-width:560px){
  .intro-card{padding:24px 18px 20px; border-radius:24px}
  .intro-brand img{width:68px}
  .intro-brand span{font-size:10px; letter-spacing:.1em}
  .intro-card h2{font-size:clamp(30px, 9vw, 42px)}
  .intro-notice-grid{grid-template-columns:1fr}
  .intro-notice-grid article{min-height:auto}
  .intro-actions{grid-template-columns:1fr}
  .intro-link-btn{grid-column:auto}
}


/* v17 - Servicios enumerados para chicas/proveedoras */
.services-article{
  min-height:190px;
}
.service-list{
  margin:12px 0 0;
  padding:0;
  color:rgba(255,255,255,.78);
}
.service-list.compact{
  list-style:none;
  display:grid;
  gap:6px;
}
.service-list.compact li{
  position:relative;
  padding-left:18px;
  font-size:12.5px;
  line-height:1.28;
}
.service-list.compact li::before{
  content:"";
  position:absolute;
  left:0;
  top:.48em;
  width:7px;
  height:7px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--pink), var(--cyan));
  box-shadow:0 0 10px rgba(255,20,159,.42);
}
.services-panel{
  margin:-4px 0 18px;
  padding:16px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:20px;
  background:
    radial-gradient(circle at 12% 0%, rgba(255,20,159,.14), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.085), rgba(255,255,255,.035));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}
.services-panel p{
  margin:0 0 10px;
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.service-list.numbered{
  margin:0;
  padding-left:20px;
  display:grid;
  gap:8px;
}
.service-list.numbered li{
  color:rgba(255,255,255,.76);
  font-size:13px;
  line-height:1.42;
}
.service-list.numbered strong{
  color:#fff;
}
.services-panel > span{
  display:block;
  margin-top:12px;
  color:rgba(255,255,255,.58);
  font-size:12px;
  line-height:1.45;
}
.waitlist-form select{
  width:100%;
  min-height:54px;
  padding:0 16px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  outline:none;
  background:rgba(255,255,255,.08);
  color:#fff;
  appearance:none;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(255,255,255,.75) 50%),
    linear-gradient(135deg, rgba(255,255,255,.75) 50%, transparent 50%);
  background-position:calc(100% - 20px) 23px, calc(100% - 14px) 23px;
  background-size:6px 6px, 6px 6px;
  background-repeat:no-repeat;
}
.waitlist-form select:focus{
  border-color:rgba(27,220,255,.72);
  box-shadow:0 0 0 4px rgba(27,220,255,.13);
  background-color:rgba(255,255,255,.105);
}
.waitlist-form select option{
  color:#12071f;
  background:#fff;
}
@media (max-width:560px){
  .services-article{min-height:auto}
  .service-list.compact li{font-size:12px}
  .services-panel{padding:14px; border-radius:18px}
  .service-list.numbered li{font-size:12.5px}
}

/* v18 - Scroll interno para modales largos */
.waitlist-card{
  max-height:calc(100svh - 36px);
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,20,159,.95) rgba(255,255,255,.06);
}
.waitlist-card::-webkit-scrollbar{
  width:10px;
}
.waitlist-card::-webkit-scrollbar-track{
  background:rgba(255,255,255,.055);
  border-radius:999px;
}
.waitlist-card::-webkit-scrollbar-thumb{
  border-radius:999px;
  border:2px solid rgba(12,5,22,.92);
  background:linear-gradient(180deg, var(--pink), var(--pink2) 48%, var(--cyan));
  box-shadow:0 0 16px rgba(255,20,159,.42);
}
.waitlist-card::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg, #ff43b5, #ff6fd2 48%, #42e0ff);
}
.intro-card,
.provider-card{
  max-height:calc(100svh - 36px);
}
.intro-card::after,
.provider-card::after,
.waitlist-card::after{
  content:"";
  position:sticky;
  display:block;
  left:0;
  right:0;
  bottom:-1px;
  height:18px;
  margin:10px -24px -24px;
  pointer-events:none;
  background:linear-gradient(to top, rgba(8,4,17,.95), rgba(8,4,17,0));
}
.modal-close{
  position:sticky;
  top:0;
  z-index:20;
  float:right;
  margin:-12px -12px 0 12px;
}
.modal-header,
.intro-brand{
  clear:both;
}
@media (max-width:560px){
  .waitlist-card,
  .intro-card,
  .provider-card{
    max-height:calc(100svh - 24px);
  }
  .waitlist-card::after,
  .intro-card::after,
  .provider-card::after{
    margin:8px -18px -20px;
  }
  .modal-close{
    margin:-10px -8px 0 10px;
  }
}


/* v21 - Lenguaje caballeros y contacto separado para locales */
.intro-three-grid{
  grid-template-columns:repeat(3, minmax(0,1fr));
}
.intro-three-grid article{
  min-height:170px;
}
.intro-three-actions{
  grid-template-columns:repeat(3, minmax(0,1fr));
}
.intro-three-actions .intro-link-btn{
  grid-column:1 / -1;
}
@media (max-width:760px){
  .intro-three-grid{grid-template-columns:1fr}
  .intro-three-grid article{min-height:auto}
  .intro-three-actions{grid-template-columns:1fr}
  .intro-three-actions .intro-link-btn{grid-column:auto}
}


/* v24 - Botón de locales/chicas visible en móvil */
@media (max-width: 860px), (max-aspect-ratio: 1/1){
  .mobile-provider-top-link,
  .mobile-provider-link{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:44px;
    border:1px solid rgba(27,220,255,.44);
    background:rgba(27,220,255,.10);
    color:#fff;
  }
  .mobile-provider-top-link{
    margin-top:10px;
    background:linear-gradient(135deg, rgba(27,220,255,.22), rgba(255,20,159,.18));
    box-shadow:0 0 22px rgba(27,220,255,.22), inset 0 1px 0 rgba(255,255,255,.16);
  }
}
@media (max-width: 430px), (max-height: 760px){
  .mobile-stage{
    padding:
      calc(env(safe-area-inset-top) + 12px)
      16px
      calc(env(safe-area-inset-bottom) + 12px);
  }
  .mobile-copy-block{
    margin-top:clamp(10px, 5vh, 42px);
  }
  .mobile-subtitle{
    font-size:clamp(13px, 3.4vw, 15px);
    margin-top:10px;
  }
  .mobile-launch-block{
    margin-top:12px;
  }
  .mobile-bottom-block{
    gap:8px;
  }
  .mobile-count-card{
    min-height:72px;
  }
  .mobile-count-card strong{
    font-size:clamp(30px, 10vw, 44px);
  }
  .mobile-main-vip{
    min-height:50px;
  }
  .mobile-provider-link{
    min-height:42px;
    font-size:clamp(10px, 2.85vw, 12px);
  }
}


/* v25 - En móvil ambos botones van abajo y siempre visibles */
@media (max-width: 860px), (max-aspect-ratio: 1/1){
  .mobile-top-vip,
  .mobile-provider-top-link{
    display:none !important;
  }
  .mobile-brand-row{
    justify-content:flex-start;
  }
  .mobile-stage{
    position:relative;
    padding:
      calc(env(safe-area-inset-top) + 16px)
      16px
      calc(env(safe-area-inset-bottom) + 260px);
  }
  .mobile-copy-block{
    margin-top:clamp(10px, 5vh, 42px);
    max-width:min(70vw, 320px);
  }
  .mobile-title .light,
  .mobile-title .accent{
    font-size:clamp(34px, 10.8vw, 62px);
  }
  .mobile-subtitle{
    max-width:94%;
    margin-top:12px;
  }
  .mobile-launch-block{
    margin-top:12px;
  }
  .mobile-bottom-block{
    position:absolute;
    left:16px;
    right:16px;
    bottom:calc(env(safe-area-inset-bottom) + 12px);
    gap:8px;
    z-index:4;
  }
  .mobile-countdown-grid{
    gap:6px;
  }
  .mobile-count-card{
    min-height:78px;
    border-radius:16px;
  }
  .mobile-count-card strong{
    font-size:clamp(34px, 10.2vw, 50px);
  }
  .mobile-count-card span{
    font-size:clamp(10px, 2.5vw, 11px);
    letter-spacing:.13em;
  }
  .mobile-main-vip,
  .mobile-provider-link{
    min-height:52px;
    font-size:clamp(12px, 3.3vw, 14px);
  }
  .mobile-note{
    display:none;
  }
}

@media (max-width: 430px), (max-height: 760px){
  .mobile-stage{
    padding:
      calc(env(safe-area-inset-top) + 12px)
      14px
      calc(env(safe-area-inset-bottom) + 232px);
  }
  .mobile-logo{
    width:min(28vw, 102px);
    min-width:68px;
  }
  .mobile-copy-block{
    margin-top:clamp(4px, 2vh, 18px);
    max-width:min(73vw, 288px);
  }
  .mobile-kicker{
    margin-bottom:8px;
  }
  .mobile-title .light,
  .mobile-title .accent{
    font-size:clamp(31px, 10.6vw, 56px);
    line-height:.9;
  }
  .mobile-audience{
    margin-top:10px;
    padding:7px 10px;
    font-size:clamp(10px, 2.7vw, 12px);
  }
  .mobile-subtitle{
    font-size:clamp(12px, 3.4vw, 14px);
    line-height:1.32;
  }
  .mobile-launch-block span{
    font-size:clamp(10px, 2.6vw, 12px);
  }
  .mobile-launch-block strong{
    font-size:clamp(28px, 9.5vw, 44px);
  }
  .mobile-bottom-block{
    left:14px;
    right:14px;
    bottom:calc(env(safe-area-inset-bottom) + 10px);
    gap:7px;
  }
  .mobile-countdown-grid{
    gap:5px;
  }
  .mobile-count-card{
    min-height:70px;
    padding:6px 2px 5px;
  }
  .mobile-count-card strong{
    font-size:clamp(30px, 9.6vw, 42px);
  }
  .mobile-count-card span{
    font-size:clamp(9px, 2.5vw, 10px);
  }
  .mobile-main-vip,
  .mobile-provider-link{
    min-height:48px;
    border-radius:999px;
    font-size:clamp(11px, 3.1vw, 13px);
  }
}

@media (max-width: 390px), (max-height: 700px){
  .mobile-stage{
    padding-bottom:calc(env(safe-area-inset-bottom) + 220px);
  }
  .mobile-copy-block{
    max-width:min(74vw, 270px);
  }
  .mobile-title .light,
  .mobile-title .accent{
    font-size:clamp(28px, 9.9vw, 48px);
  }
  .mobile-launch-block strong{
    font-size:clamp(26px, 8.9vw, 38px);
  }
  .mobile-count-card{
    min-height:64px;
  }
  .mobile-count-card strong{
    font-size:clamp(26px, 8.8vw, 36px);
  }
  .mobile-main-vip,
  .mobile-provider-link{
    min-height:46px;
  }
}


/* v26 - Móvil: contacto chicas/locales arriba, caballeros abajo */
@media (max-width: 860px), (max-aspect-ratio: 1/1){
  .mobile-top-vip{
    display:none !important;
  }
  .mobile-provider-top-link{
    display:flex !important;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:46px;
    margin-top:12px;
    border:1px solid rgba(27,220,255,.50);
    border-radius:999px;
    color:#fff;
    background:linear-gradient(135deg, rgba(27,220,255,.24), rgba(255,20,159,.20));
    font-size:clamp(11px, 3vw, 13px);
    font-weight:900;
    letter-spacing:.075em;
    text-transform:uppercase;
    box-shadow:0 0 24px rgba(27,220,255,.22), inset 0 1px 0 rgba(255,255,255,.16);
    text-shadow:0 0 10px rgba(255,255,255,.34);
  }
  .mobile-provider-link{
    display:none !important;
  }
  .mobile-brand-row{
    justify-content:flex-start;
  }
  .mobile-stage{
    padding-bottom:calc(env(safe-area-inset-bottom) + 198px);
  }
  .mobile-bottom-block{
    bottom:calc(env(safe-area-inset-bottom) + 14px);
  }
}

@media (max-width: 430px), (max-height: 760px){
  .mobile-provider-top-link{
    min-height:44px;
    margin-top:10px;
    font-size:clamp(10.5px, 2.85vw, 12px);
  }
  .mobile-stage{
    padding-bottom:calc(env(safe-area-inset-bottom) + 188px);
  }
}

@media (max-width: 390px), (max-height: 700px){
  .mobile-stage{
    padding-bottom:calc(env(safe-area-inset-bottom) + 176px);
  }
}

/* v28 - Ajuste móvil Safari: contacto arriba visible y VIP separado de barra inferior */
@media (max-width: 860px), (max-aspect-ratio: 1/1){
  .am-page,
  .am-cover{
    height:100dvh;
    min-height:100svh;
  }
  .mobile-scene{
    height:100dvh;
    min-height:100svh;
  }
  .mobile-stage{
    height:100%;
    padding:
      calc(env(safe-area-inset-top) + 8px)
      16px
      calc(env(safe-area-inset-bottom) + 300px);
  }
  .mobile-brand-row{
    min-height:70px;
  }
  .mobile-logo{
    width:min(26vw, 104px);
    min-width:70px;
  }
  .mobile-provider-top-link{
    position:absolute;
    top:calc(env(safe-area-inset-top) + 78px);
    left:16px;
    right:16px;
    width:auto;
    min-height:48px;
    margin-top:0;
    z-index:10;
    display:flex !important;
  }
  .mobile-copy-block{
    margin-top:clamp(58px, 8vh, 82px);
    max-width:min(72vw, 318px);
  }
  .mobile-title .light,
  .mobile-title .accent{
    font-size:clamp(31px, 10.5vw, 58px);
  }
  .mobile-audience{
    margin-top:10px;
  }
  .mobile-subtitle{
    margin-top:10px;
    font-size:clamp(12.5px, 3.4vw, 15px);
    line-height:1.32;
  }
  .mobile-launch-block{
    margin-top:10px;
  }
  .mobile-launch-block strong{
    font-size:clamp(28px, 9.6vw, 46px);
  }
  .mobile-bottom-block{
    position:absolute;
    left:16px;
    right:16px;
    bottom:calc(env(safe-area-inset-bottom) + 100px);
    gap:8px;
    z-index:11;
    margin-bottom:0;
  }
  .mobile-countdown-grid{
    gap:6px;
  }
  .mobile-count-card{
    min-height:72px;
    border-radius:16px;
  }
  .mobile-count-card strong{
    font-size:clamp(30px, 9.8vw, 46px);
  }
  .mobile-count-card span{
    font-size:clamp(9px, 2.5vw, 11px);
  }
  .mobile-main-vip{
    min-height:50px;
    font-size:clamp(11.5px, 3.2vw, 14px);
  }
  .mobile-note{
    display:none;
  }
}

@media (max-width: 430px), (max-height: 760px){
  .mobile-stage{
    padding-top:calc(env(safe-area-inset-top) + 6px);
    padding-bottom:calc(env(safe-area-inset-bottom) + 276px);
  }
  .mobile-logo{
    width:min(24vw, 92px);
    min-width:64px;
  }
  .mobile-provider-top-link{
    top:calc(env(safe-area-inset-top) + 68px);
    min-height:44px;
    font-size:clamp(10.5px, 2.8vw, 12px);
  }
  .mobile-copy-block{
    margin-top:clamp(48px, 7vh, 68px);
    max-width:min(74vw, 292px);
  }
  .mobile-title .light,
  .mobile-title .accent{
    font-size:clamp(28px, 10vw, 50px);
  }
  .mobile-launch-block strong{
    font-size:clamp(25px, 8.8vw, 38px);
  }
  .mobile-bottom-block{
    bottom:calc(env(safe-area-inset-bottom) + 92px);
    gap:7px;
  }
  .mobile-count-card{
    min-height:64px;
  }
  .mobile-count-card strong{
    font-size:clamp(27px, 9vw, 38px);
  }
  .mobile-main-vip{
    min-height:46px;
  }
}

@media (max-width: 390px), (max-height: 700px){
  .mobile-stage{
    padding-bottom:calc(env(safe-area-inset-bottom) + 252px);
  }
  .mobile-provider-top-link{
    top:calc(env(safe-area-inset-top) + 62px);
  }
  .mobile-copy-block{
    margin-top:44px;
  }
  .mobile-title .light,
  .mobile-title .accent{
    font-size:clamp(25px, 9.2vw, 42px);
  }
  .mobile-subtitle{
    font-size:12px;
  }
  .mobile-bottom-block{
    bottom:calc(env(safe-area-inset-bottom) + 86px);
  }
}


/* v4 - Validaciones AM Club en tiempo real + bloqueo doble envío */
.waitlist-form input.field-invalid,
.waitlist-form select.field-invalid{
  border-color:rgba(255,70,115,.95)!important;
  background:rgba(255,45,91,.115)!important;
  box-shadow:0 0 0 4px rgba(255,45,91,.14), 0 0 22px rgba(255,45,91,.16)!important;
}
.waitlist-form input.field-valid,
.waitlist-form select.field-valid{
  border-color:rgba(27,220,255,.54);
}
.waitlist-form label.has-error>span{
  color:#ff8aa7;
}
.field-error{
  display:block;
  min-height:17px;
  margin-top:-2px;
  color:#ff8aa7;
  font-size:12px;
  font-weight:750;
  line-height:1.35;
  letter-spacing:.01em;
  text-transform:none;
}
.check-row .field-error{
  grid-column:1 / -1;
  padding-left:30px;
}
.feedback-modal{
  z-index:80;
}
.feedback-card{
  width:min(92vw,460px);
  text-align:left;
}
.feedback-card h2{
  margin-bottom:12px;
}
.feedback-card .modal-text{
  margin-bottom:18px;
}
.feedback-ok-btn{
  width:100%;
  min-height:50px;
}
.feedback-modal.is-error .waitlist-card{
  border-color:rgba(255,70,115,.32);
  box-shadow:var(--shadow), 0 0 34px rgba(255,45,91,.18), inset 0 1px 0 rgba(255,255,255,.12);
}
.feedback-modal.is-success .waitlist-card{
  border-color:rgba(27,220,255,.34);
  box-shadow:var(--shadow), 0 0 34px rgba(27,220,255,.18), inset 0 1px 0 rgba(255,255,255,.12);
}


.waitlist-form .submit-btn:disabled{
  cursor:wait;
  opacity:.76;
  filter:saturate(.85);
}
