/* ============================================================
   MENTES MAESTRAS INTERNACIONAL — sistema visual
   Navy profundo + oro. Gotham (local). Página de inscripción.
   ============================================================ */

/* ---------- 0. Tipografía ---------- */
@font-face{font-family:"Gotham";src:url("../fonts/GothamLight_0.ttf") format("truetype");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Gotham";src:url("../fonts/GothamBook_1.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Gotham";src:url("../fonts/GothamBookItalic.ttf") format("truetype");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Gotham";src:url("../fonts/GothamMedium.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Gotham";src:url("../fonts/GothamBold_1.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}

/* ---------- 1. Tokens ---------- */
:root{
  --ink-950:#02091a;
  --ink-900:#04122b;
  --ink-820:#0a2247;

  /* Oro metálico, no amarillo. El brillo vive en el degradado, no en la
     saturación: los planos son bronce y la luz se aplica como reflejo. */
  --gold-100:#f2e0ae;   /* reflejo especular — solo dentro de degradados */
  --gold-200:#e2c88b;
  --gold-300:#d8b25c;   /* oro de texto sobre marino */
  --gold-400:#be9436;
  --gold-500:#a9801f;   /* base de los rellenos */
  --gold-600:#85611a;
  --gold-700:#5e4411;   /* sombra del bisel */

  --gold:var(--gold-400);
  --gold-2:var(--gold-300);
  --gold-deep:var(--gold-600);

  /* Chapa metálica: bandas claras y oscuras alternadas = lectura de metal */
  --plate:linear-gradient(158deg,#e8cf92 0%,#c8a03a 34%,#a9801f 58%,#c39a34 82%,#8e6a1c 100%);
  --plate-hi:linear-gradient(158deg,#f2e0ae 0%,#d4ae45 34%,#bb8f28 58%,#d2a83c 82%,#a07826 100%);

  --txt:#eef3fa;
  --txt-2:#a9bdd8;
  --txt-3:#7889a6;

  --hair:rgba(190,148,54,.26);
  --hair-soft:rgba(255,255,255,.07);
  --glass:rgba(255,255,255,.035);

  --danger:#e8734a;

  --e-out:cubic-bezier(.23,1,.32,1);
  --e-drawer:cubic-bezier(.32,.72,0,1);

  --r-lg:1.75rem;
  --r-md:1.1rem;
  --r-sm:.7rem;

  --shell:6px;
  --maxw:1180px;
  --gut:clamp(20px,5vw,44px);

  --ff:"Gotham",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,sans-serif;
  --ff-quote:Georgia,"Times New Roman",serif;

  --fs-display:clamp(2.5rem,6.4vw,4.6rem);
  --fs-h2:clamp(1.75rem,3.6vw,2.7rem);
  --fs-lead:clamp(1.02rem,1.35vw,1.16rem);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:108px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  font-family:var(--ff);
  font-size:16.5px;
  font-weight:400;
  line-height:1.6;
  color:var(--txt-2);
  background:var(--ink-900);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
  max-width:100%;
}
img{max-width:100%;display:block}

/* En celular la página se podía arrastrar de lado. overflow-x en body no lo
   frena en Safari de iPhone: hay que ponerlo también en html. Va dentro de la
   media query porque en escritorio rompería el position:sticky de .enroll
   y .co__sum, que ahí sí se usa. */
@media (max-width:940px){
  html,body{overflow-x:hidden;max-width:100%}
}

/* Una sola palabra larga —un correo, una liga— basta para estirar la página.
   Se parten antes de que eso pase. */
@media (max-width:640px){
  h1,h2,h3,p,li,a,td,span,b,summary{overflow-wrap:break-word;word-wrap:break-word}
  .wrap,.wrap--mid,.wrap--narrow{max-width:100%}
}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,select{font:inherit}
::selection{background:var(--gold);color:var(--ink-950)}

h1,h2,h3,h4,h5{
  font-family:var(--ff);font-weight:700;color:var(--txt);
  line-height:1.08;letter-spacing:-.025em;text-wrap:balance;margin:0;
}
.display{font-size:var(--fs-display);line-height:1.02;letter-spacing:-.035em}
.h2{font-size:var(--fs-h2);line-height:1.16}
.h3{font-size:1.06rem;font-weight:700;letter-spacing:-.015em;line-height:1.3}
.lead{font-size:var(--fs-lead);color:var(--txt-2);line-height:1.62;max-width:58ch;font-weight:400}
.small{font-size:.85rem;line-height:1.55}
.gold{color:var(--gold-2)}

/* ---------- 2. Fondo ---------- */
.field{position:fixed;inset:0;z-index:-2;overflow:hidden;background:var(--ink-900);pointer-events:none}
.field::before{
  content:"";position:absolute;inset:-20%;
  background:
    radial-gradient(46% 38% at 12% 88%, rgba(190,148,54,.17) 0%, transparent 62%),
    radial-gradient(52% 44% at 62% 6%,  rgba(38,96,190,.24) 0%, transparent 64%),
    radial-gradient(70% 60% at 50% 50%, rgba(10,34,71,.85) 0%, var(--ink-900) 72%);
}
.field::after{
  content:"";position:absolute;inset:0;opacity:.4;
  background-image:
    linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(70% 55% at 50% 22%,#000 0%,transparent 78%);
  -webkit-mask-image:radial-gradient(70% 55% at 50% 22%,#000 0%,transparent 78%);
}
#stars{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.75}
.grain{
  position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.04;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/></filter><rect width='140' height='140' filter='url(%23n)' opacity='.55'/></svg>");
}

/* ---------- 3. Layout ---------- */
.wrap{width:min(100% - var(--gut)*2,var(--maxw));margin-inline:auto}
.wrap--mid{width:min(100% - var(--gut)*2,940px);margin-inline:auto}
.wrap--narrow{width:min(100% - var(--gut)*2,720px);margin-inline:auto}
section{position:relative;padding-block:clamp(54px,6.5vw,92px)}
section.tight{padding-block:clamp(38px,4.5vw,62px)}

.sec-head{max-width:680px;margin-bottom:clamp(28px,3.4vw,44px)}
.sec-head--center{margin-inline:auto;text-align:center}
.sec-head--center .lead{margin-inline:auto}
.sec-head .lead{margin:14px 0 0}

.eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  padding:6px 14px;border-radius:999px;
  background:rgba(190,148,54,.09);border:1px solid var(--hair);
  color:var(--gold-2);
  font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
}
.eyebrow i{width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold)}
.rule{height:1px;border:0;margin:0;background:linear-gradient(90deg,transparent,var(--hair) 18%,var(--hair) 82%,transparent)}

/* ---------- 4. Doble bisel ---------- */
.bez{padding:var(--shell);border-radius:var(--r-lg);background:var(--glass);border:1px solid var(--hair-soft)}
.bez__core{
  border-radius:calc(var(--r-lg) - var(--shell));
  background:linear-gradient(168deg,rgba(10,34,71,.86),rgba(4,18,43,.94));
  border:1px solid var(--hair);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 26px 60px -40px rgba(0,0,0,.9);
  height:100%;
}
.bez--gold{background:rgba(190,148,54,.10);border-color:var(--hair)}
.bez--gold .bez__core{
  background:linear-gradient(168deg,rgba(24,45,82,.9),rgba(6,22,50,.96));
  border-color:rgba(190,148,54,.34);
  box-shadow:inset 0 1px 0 rgba(242,224,174,.16), 0 36px 80px -46px rgba(0,0,0,.95);
}

/* ---------- 5. Botones ---------- */
.btn{
  position:relative;overflow:hidden;isolation:isolate;
  display:inline-flex;align-items:center;justify-content:center;gap:11px;
  min-height:48px;padding:14px 26px;border-radius:999px;
  background:var(--plate);color:#1a1204;
  font-weight:700;font-size:.93rem;letter-spacing:-.005em;text-align:center;
  cursor:pointer;
  transition:transform 180ms var(--e-out),box-shadow 320ms var(--e-out),filter 320ms var(--e-out);
  box-shadow:
    0 14px 32px -14px rgba(94,68,17,.85),
    inset 0 1px 0 rgba(255,247,224,.55),
    inset 0 -1px 0 rgba(70,50,12,.5);
}
.btn svg{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.btn:active{transform:scale(.975)}
@media (hover:hover) and (pointer:fine){
  .btn:hover{background:var(--plate-hi);box-shadow:0 20px 42px -14px rgba(120,88,22,.9), inset 0 1px 0 rgba(255,250,235,.7), inset 0 -1px 0 rgba(70,50,12,.5)}
}
/* reflejo lento que recorre la chapa: lo que hace que se lea como metal */
.btn--sheen::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(105deg,transparent 38%,rgba(255,252,240,.55) 50%,transparent 62%);
  transform:translateX(-120%);
  animation:sheen 4.5s var(--e-out) 1.4s infinite;
}
@keyframes sheen{0%{transform:translateX(-120%)}38%,100%{transform:translateX(120%)}}

.btn--ghost{
  background:transparent;color:var(--txt);
  border:1px solid var(--hair);font-weight:500;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.btn--ghost::after{display:none}
@media (hover:hover) and (pointer:fine){
  .btn--ghost:hover{background:rgba(190,148,54,.12);border-color:rgba(190,148,54,.48);filter:none}
}
.btn--lg{padding:16px 30px;font-size:1rem}
.btn--block{display:flex;width:100%}
.btn[disabled]{opacity:.5;pointer-events:none}
.link{
  display:inline-flex;align-items:center;gap:8px;font-size:.9rem;font-weight:500;color:var(--txt-2);
  padding-bottom:2px;border-bottom:1px solid var(--hair);
  transition:color 280ms var(--e-out),border-color 280ms var(--e-out);
}
.link svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;transition:transform 320ms var(--e-out)}
@media (hover:hover) and (pointer:fine){.link:hover{color:var(--gold-2);border-color:var(--gold-2)}.link:hover svg{transform:translateX(3px)}}

/* ---------- 6. Nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;padding-top:20px;transition:transform 420ms var(--e-out)}
.nav.is-hidden{transform:translate3d(0,-140%,0)}
.nav__inner{
  width:max-content;max-width:calc(100% - 28px);margin-inline:auto;
  display:flex;align-items:center;gap:clamp(16px,2.2vw,32px);
  padding:10px 10px 10px 22px;border-radius:999px;
  background:rgba(4,18,43,.64);border:1px solid var(--hair);
  backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);
  box-shadow:0 20px 46px -28px rgba(0,0,0,.95), inset 0 1px 0 rgba(255,255,255,.09);
}
.brand{display:flex;align-items:center;gap:10px}
.brand svg{width:35px;height:35px;flex:none}
.brand b{font-weight:700;font-size:1.05rem;color:var(--txt);letter-spacing:-.015em;line-height:1.15;display:block}
.brand span{display:block;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2);font-weight:500}
.nav__links{display:flex;align-items:center;gap:clamp(14px,1.8vw,26px)}
.nav__links a{font-size:.92rem;font-weight:500;color:var(--txt-2);position:relative;padding:4px 0;transition:color 260ms var(--e-out)}
.nav__links a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 320ms var(--e-out)}
@media (hover:hover) and (pointer:fine){.nav__links a:hover{color:var(--txt)}.nav__links a:hover::after{transform:scaleX(1)}}
.nav .btn{padding:12px 24px;font-size:.9rem;min-height:44px}

.burger{display:none;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.06);position:relative;flex:none}
.burger span{position:absolute;left:13px;width:20px;height:1.6px;background:var(--txt);border-radius:2px;transition:transform 420ms var(--e-drawer)}
.burger span:nth-child(1){top:19px}
.burger span:nth-child(2){top:26px}
.burger.is-open span:nth-child(1){transform:translateY(3.5px) rotate(45deg)}
.burger.is-open span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}

.sheet{
  position:fixed;inset:0;z-index:49;background:rgba(2,9,26,.88);
  backdrop-filter:blur(30px) saturate(140%);-webkit-backdrop-filter:blur(30px) saturate(140%);
  display:grid;place-items:center;opacity:0;visibility:hidden;
  transition:opacity 420ms var(--e-out),visibility 0s linear 420ms;
}
.sheet.is-open{opacity:1;visibility:visible;transition:opacity 420ms var(--e-out),visibility 0s}
.sheet nav{display:flex;flex-direction:column;gap:4px;text-align:center}
.sheet a{
  font-size:clamp(1.5rem,5.6vw,2rem);font-weight:700;color:var(--txt);padding:9px 20px;letter-spacing:-.025em;
  opacity:0;transform:translate3d(0,26px,0);
  transition:opacity 520ms var(--e-out),transform 520ms var(--e-out),color 240ms var(--e-out);
}
.sheet.is-open a{opacity:1;transform:none}
.sheet.is-open a:nth-child(1){transition-delay:80ms}
.sheet.is-open a:nth-child(2){transition-delay:125ms}
.sheet.is-open a:nth-child(3){transition-delay:170ms}
.sheet.is-open a:nth-child(4){transition-delay:215ms}
.sheet.is-open a:nth-child(5){transition-delay:260ms}
.sheet a:active{color:var(--gold-2)}
@media (max-width:1060px){.nav__links{display:none}.burger{display:block}.nav__inner{width:calc(100% - 28px);justify-content:space-between;padding-left:16px}}
@media (max-width:560px){.nav .btn{display:none}}

/* ---------- 7. Hero ---------- */
.hero{padding-block:clamp(116px,14vh,158px) clamp(46px,6vw,76px)}
.hero__grid{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(28px,4vw,60px);align-items:start}
.hero h1{margin:18px 0 18px}
.kin{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em}
.kin>span{
  display:inline-block;transform:translate3d(0,105%,0);filter:blur(8px);opacity:0;
  transition:transform 900ms var(--e-out),filter 900ms var(--e-out),opacity 720ms var(--e-out);
}
.is-lit .kin>span{transform:none;filter:blur(0);opacity:1}
.hero__sub{font-size:clamp(1.05rem,1.7vw,1.3rem);color:var(--gold-2);font-weight:500;margin:0 0 16px;letter-spacing:-.015em}

/* cifras del hero */
.facts{display:flex;gap:clamp(22px,3.6vw,46px);flex-wrap:wrap;margin:26px 0 0;padding-top:24px;border-top:1px solid var(--hair-soft)}
.facts div b{display:block;font-size:clamp(1.5rem,2.8vw,2rem);font-weight:700;color:var(--txt);line-height:1;letter-spacing:-.035em}
.facts div b em{font-style:normal;color:var(--gold-2)}
.facts div span{display:block;margin-top:7px;font-size:.75rem;color:var(--txt-3);letter-spacing:.02em;line-height:1.35}

/* tarjeta de inscripción — el eje de la página */
.enroll{position:sticky;top:104px}
.enroll .bez__core{padding:clamp(22px,2.6vw,30px)}
.enroll__badge{
  display:inline-block;padding:5px 12px;border-radius:999px;margin-bottom:16px;
  background:var(--gold);color:var(--ink-950);
  font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
}
.enroll__price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.enroll__price b{font-size:clamp(2.4rem,5vw,3.2rem);font-weight:700;color:var(--gold-2);line-height:.95;letter-spacing:-.04em}
.enroll__price s{font-size:1.15rem;color:var(--txt-3);text-decoration-thickness:1.5px}
.enroll__price span{font-size:.82rem;color:var(--txt-3);letter-spacing:.06em}
.enroll__mxn{margin:11px 0 0;font-size:.84rem;color:var(--txt-3)}
.enroll__mxn b{color:var(--txt-2);font-weight:500}
.enroll .btn{margin-top:18px}
.enroll .btn + .btn{margin-top:9px}
.enroll__facts{list-style:none;margin:20px 0 0;padding:18px 0 0;border-top:1px solid var(--hair-soft);display:grid;gap:11px}
.enroll__facts li{display:flex;gap:10px;align-items:flex-start;font-size:.86rem;color:var(--txt-2);line-height:1.45}
.enroll__facts svg{width:15px;height:15px;flex:none;margin-top:3px;stroke:var(--gold);fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.enroll__seats{margin-top:16px}
.seats__bar{height:4px;border-radius:99px;background:rgba(255,255,255,.09);overflow:hidden}
.seats__fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--gold-deep),var(--gold-2));transform-origin:left;transform:scaleX(0);transition:transform 1.3s var(--e-out) .3s}
.seats__txt{display:flex;justify-content:space-between;font-size:.75rem;color:var(--txt-3);margin-top:8px}
.seats__txt b{color:var(--gold-2);font-weight:700}
@media (max-width:940px){
  .hero__grid{grid-template-columns:1fr;gap:34px}
  .enroll{position:static}
  .hero{padding-top:clamp(104px,16vh,132px)}
}

/* ---------- 8. Mentores ---------- */
.mentors{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.3vw,15px)}
.m .bez__core{padding:5px;overflow:hidden;display:flex;flex-direction:column}
.m__ph{position:relative;aspect-ratio:1/1;border-radius:calc(var(--r-lg) - 11px);overflow:hidden;background:var(--ink-820)}
.m__ph img{width:100%;height:100%;object-fit:cover;object-position:center 22%;filter:saturate(.88) contrast(1.04);transition:transform 900ms var(--e-out),filter 640ms var(--e-out)}
.m__ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 44%,rgba(4,18,43,.9) 100%)}
.m__flag{
  position:absolute;top:9px;left:9px;z-index:2;padding:4px 9px;border-radius:999px;
  background:rgba(2,9,26,.62);border:1px solid var(--hair);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  font-size:8.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--gold-2);
}
.m__body{padding:14px 12px 12px}
.m__body b{display:block;font-weight:700;font-size:.9rem;color:var(--txt);letter-spacing:-.02em}
.m__body p{margin:6px 0 0;font-size:.76rem;line-height:1.45;color:var(--txt-3)}
@media (hover:hover) and (pointer:fine){.m:hover .m__ph img{transform:scale(1.055);filter:saturate(1) contrast(1.06)}}
@media (max-width:900px){.mentors{grid-template-columns:repeat(2,1fr)}}
@media (max-width:440px){.mentors{grid-template-columns:1fr}}

/* ---------- 9. Contraste ---------- */
.vs{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.6vw,18px)}
.vs__col .bez__core{padding:clamp(22px,2.5vw,30px)}
.vs h3{font-size:.98rem;margin-bottom:16px;display:flex;align-items:center;gap:10px}
.vs h3 i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex:none;font-style:normal;font-size:11px}
.vs--no h3 i{background:rgba(255,255,255,.07);color:var(--txt-3)}
.vs--si h3 i{background:rgba(190,148,54,.16);color:var(--gold-2)}
.vs ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.vs li{display:flex;gap:10px;font-size:.89rem;line-height:1.5}
.vs li svg{width:14px;height:14px;flex:none;margin-top:4px;fill:none;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.vs--no li{color:var(--txt-3)}
.vs--no li svg{stroke:var(--txt-3)}
.vs--si li svg{stroke:var(--gold)}
@media (max-width:780px){.vs{grid-template-columns:1fr}}

/* ---------- 10. Tarjetas ---------- */
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(10px,1.2vw,14px)}
.c4{grid-column:span 4}.c6{grid-column:span 6}.c12{grid-column:span 12}
.card{height:100%}
.card .bez__core{padding:clamp(20px,2.3vw,27px);display:flex;flex-direction:column;gap:11px}
.card h3{font-size:1rem;line-height:1.45}
.card p{margin:0;font-size:.87rem;line-height:1.55;color:var(--txt-3)}
.card__ic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex:none;background:rgba(190,148,54,.1);border:1px solid var(--hair)}
.card__ic svg{width:18px;height:18px;stroke:var(--gold-2);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:860px){.bento{grid-template-columns:1fr}.c4,.c6,.c12{grid-column:span 1}}

/* ---------- 11. Divulgación progresiva ---------- */
.disc{margin-top:clamp(18px,2.4vw,28px)}
.disc__btn{
  display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;
  padding:16px 22px;border-radius:var(--r-md);
  background:rgba(255,255,255,.035);border:1px solid var(--hair-soft);
  font-size:.94rem;font-weight:500;color:var(--txt);
  transition:background 300ms var(--e-out),border-color 300ms var(--e-out);
}
.disc__btn i{
  width:24px;height:24px;flex:none;border-radius:50%;background:rgba(190,148,54,.13);border:1px solid var(--hair);
  position:relative;transition:transform 400ms var(--e-out),background 300ms var(--e-out);
}
.disc__btn i::before,.disc__btn i::after{content:"";position:absolute;top:50%;left:50%;background:var(--gold-2);border-radius:2px;transform:translate(-50%,-50%)}
.disc__btn i::before{width:10px;height:1.6px}
.disc__btn i::after{width:1.6px;height:10px;transition:transform 400ms var(--e-out),opacity 240ms var(--e-out)}
.disc__btn[aria-expanded="true"] i{transform:rotate(180deg);background:rgba(190,148,54,.26)}
.disc__btn[aria-expanded="true"] i::after{transform:translate(-50%,-50%) scaleY(0);opacity:0}
@media (hover:hover) and (pointer:fine){.disc__btn:hover{background:rgba(190,148,54,.07);border-color:var(--hair)}}
.disc__body{margin-top:12px}
.disc__body[hidden]{display:none}

/* ---------- 12. Sesiones ---------- */
.steps{display:grid;gap:2px;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--hair-soft)}
.step{
  display:grid;grid-template-columns:54px 1fr;gap:clamp(12px,1.8vw,22px);align-items:baseline;
  padding:clamp(15px,1.8vw,20px) clamp(16px,2.2vw,26px);
  background:rgba(255,255,255,.026);transition:background 380ms var(--e-out);
}
.step:nth-child(even){background:rgba(255,255,255,.011)}
@media (hover:hover) and (pointer:fine){.step:hover{background:rgba(190,148,54,.05)}}
.step__n{font-size:.92rem;font-weight:700;color:var(--gold);opacity:.6;font-variant-numeric:tabular-nums}
.step h4{font-size:.95rem;margin-bottom:4px;font-weight:700}
.step p{margin:0;font-size:.85rem;line-height:1.5;color:var(--txt-3)}
@media (max-width:560px){.step{grid-template-columns:38px 1fr;gap:12px}}

/* ---------- 13. Precio ---------- */
.price{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.6vw,18px);align-items:stretch}
.price .bez__core{padding:clamp(24px,2.8vw,34px);display:flex;flex-direction:column}
.price__label{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--txt-3);margin-bottom:14px}
.price--now .price__label{color:var(--gold-2)}
.price__amt{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.price__amt b{font-size:clamp(2.2rem,4.6vw,3.1rem);font-weight:700;line-height:.95;letter-spacing:-.04em;color:var(--txt)}
.price--now .price__amt b{color:var(--gold-2)}
.price__amt s{font-size:1.1rem;color:var(--txt-3);text-decoration-thickness:1.5px}
.price__cur{font-size:.82rem;color:var(--txt-3);letter-spacing:.06em}
.price__mxn{margin-top:11px;font-size:.83rem;color:var(--txt-3)}
.price__mxn b{color:var(--txt-2);font-weight:500}
.price ul{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:10px}
.price li{display:flex;gap:10px;font-size:.87rem;line-height:1.48}
.price li svg{width:14px;height:14px;flex:none;margin-top:4px;stroke:var(--gold);fill:none;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.price .btn{margin-top:auto}
.price ul + .btn{margin-top:24px}
.price__foot{margin-top:12px;font-size:.75rem;color:var(--txt-3);text-align:center}
.price__ribbon{position:absolute;top:14px;right:14px;z-index:2;padding:5px 12px;border-radius:999px;background:var(--gold);color:var(--ink-950);font-size:8.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.price--now{position:relative}
@media (max-width:780px){.price{grid-template-columns:1fr}}

/* ---------- 14. Formularios ---------- */
.co{display:grid;grid-template-columns:1fr .82fr;gap:clamp(14px,2vw,24px);align-items:start}
.co .bez__core{padding:clamp(22px,2.6vw,32px)}
.fld{display:grid;gap:6px;margin-bottom:14px}
.fld label{font-size:.78rem;font-weight:500;color:var(--txt-2)}
.fld input,.fld select{
  padding:12px 15px;border-radius:var(--r-sm);background:rgba(2,9,26,.5);
  border:1px solid var(--hair-soft);color:var(--txt);font-size:.92rem;width:100%;
  transition:border-color 260ms var(--e-out),background 260ms var(--e-out),box-shadow 260ms var(--e-out);
}
.fld input::placeholder{color:var(--txt-3);opacity:.6}
.fld input:focus,.fld select:focus{outline:none;border-color:rgba(190,148,54,.55);background:rgba(2,9,26,.72);box-shadow:0 0 0 3px rgba(190,148,54,.13)}
.fld--2{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.fld--2 .fld{margin-bottom:0}
@media (max-width:540px){.fld--2{grid-template-columns:1fr;gap:0}.fld--2 .fld{margin-bottom:14px}}
.co__sum{position:sticky;top:104px}
.co__line{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:10px 0;font-size:.87rem;border-bottom:1px solid var(--hair-soft)}
.co__line:last-of-type{border-bottom:0}
.co__tot{display:flex;justify-content:space-between;align-items:baseline;padding-top:14px;margin-top:6px;border-top:1px solid var(--hair)}
.co__tot span{font-size:.76rem;color:var(--txt-3);letter-spacing:.12em;text-transform:uppercase;font-weight:500}
.co__tot b{font-size:1.7rem;font-weight:700;color:var(--gold-2);letter-spacing:-.035em}
.co__secure{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:.74rem;color:var(--txt-3)}
.co__secure svg{width:14px;height:14px;stroke:var(--gold);fill:none;stroke-width:1.9;flex:none}
.co__msg{margin-top:12px;font-size:.85rem;min-height:1.3em;color:var(--gold-2)}
.co__msg.is-err{color:#ff8f8f}
#brick{margin-top:6px;min-height:190px}
@media (max-width:880px){.co{grid-template-columns:1fr}.co__sum{position:static}}

/* ---------- 15. Banda del webinar ---------- */
.trial .bez__core{padding:clamp(24px,3vw,40px)}
.trial__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3.4vw,48px);align-items:center}
.trial h2{font-size:clamp(1.4rem,2.6vw,1.95rem);margin-bottom:12px}
.trial__when{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:.86rem;color:var(--txt-2)}
.trial__when svg{width:15px;height:15px;stroke:var(--gold);fill:none;stroke-width:1.8;flex:none}
.trial__when b{color:var(--txt);font-weight:700}
.count{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:18px;max-width:380px}
.count div{text-align:center;padding:10px 3px;border-radius:var(--r-sm);background:rgba(255,255,255,.045);border:1px solid var(--hair-soft)}
.count b{display:block;font-size:1.25rem;font-weight:700;color:var(--gold-2);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.count span{display:block;margin-top:5px;font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-3);
  overflow-wrap:break-word;hyphens:auto;line-height:1.25}
.count--done{grid-template-columns:1fr}
.count--done b{font-size:1rem}
@media (max-width:820px){.trial__grid{grid-template-columns:1fr;gap:28px}}

/* ---------- 16. FAQ ---------- */
.faq{display:grid;gap:2px;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--hair-soft)}
.faq details{background:rgba(255,255,255,.026);transition:background 300ms var(--e-out)}
.faq details[open]{background:rgba(190,148,54,.05)}
.faq summary{
  list-style:none;cursor:pointer;padding:18px clamp(16px,2.2vw,24px);
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  font-size:.93rem;font-weight:500;color:var(--txt);letter-spacing:-.01em;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{width:22px;height:22px;flex:none;border-radius:50%;background:rgba(190,148,54,.12);border:1px solid var(--hair);position:relative;transition:transform 380ms var(--e-out),background 300ms var(--e-out)}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;top:50%;left:50%;background:var(--gold-2);border-radius:2px;transform:translate(-50%,-50%)}
.faq summary i::before{width:9px;height:1.5px}
.faq summary i::after{width:1.5px;height:9px;transition:transform 380ms var(--e-out),opacity 240ms var(--e-out)}
.faq details[open] summary i{transform:rotate(180deg);background:rgba(190,148,54,.24)}
.faq details[open] summary i::after{transform:translate(-50%,-50%) scaleY(0);opacity:0}
.faq__a{padding:0 clamp(16px,2.2vw,24px) 20px;font-size:.88rem;line-height:1.62;color:var(--txt-3);max-width:74ch}

/* ---------- 17. Cita ---------- */
.quote{text-align:center;max-width:22ch;margin-inline:auto;position:relative}
.quote::before{
  content:"\201C";display:block;font-family:var(--ff-quote);font-size:clamp(4rem,9vw,6.5rem);
  line-height:.4;height:.42em;color:rgba(190,148,54,.32);
}
.quote blockquote{margin:0;font-size:clamp(1.5rem,3.6vw,2.4rem);line-height:1.16;letter-spacing:-.03em;color:var(--txt);font-weight:700}
.quote blockquote em{font-style:italic;color:var(--gold-2);font-weight:400}
.quote cite{display:block;margin-top:20px;font-style:normal;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--txt-3);font-weight:500}

/* ---------- 18. Cierre ---------- */
.final{text-align:center}
.final .bez__core{padding:clamp(34px,5vw,66px) clamp(22px,4vw,54px)}
.final h2{margin-bottom:14px}
.final .lead{margin-inline:auto}
.final__cta{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:center;margin-top:28px}

/* ---------- 19. Footer ---------- */
.foot{border-top:1px solid var(--hair-soft);padding-block:clamp(36px,4.5vw,56px) 28px}
.foot__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:clamp(26px,4vw,52px);margin-bottom:34px}
.foot p{font-size:.85rem;color:var(--txt-3);max-width:40ch;margin:14px 0 0}
.foot h5{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2);margin:0 0 13px;font-weight:700}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.foot ul a{font-size:.86rem;color:var(--txt-3);transition:color 260ms var(--e-out)}
@media (hover:hover) and (pointer:fine){.foot ul a:hover{color:var(--gold-2)}}
.foot__bar{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;border-top:1px solid var(--hair-soft);font-size:.75rem;color:var(--txt-3)}
@media (max-width:740px){.foot__grid{grid-template-columns:1fr;gap:26px}}

/* ---------- 20. Revelado ---------- */
.rv{opacity:0;transform:translate3d(0,32px,0);filter:blur(5px)}
.rv.is-in{opacity:1;transform:none;filter:blur(0);transition:opacity 760ms var(--e-out),transform 820ms var(--e-out),filter 760ms var(--e-out)}
.rv-s>*{opacity:0;transform:translate3d(0,24px,0)}
.rv-s.is-in>*{opacity:1;transform:none;transition:opacity 640ms var(--e-out),transform 700ms var(--e-out)}
.rv-s.is-in>*:nth-child(1){transition-delay:0ms}
.rv-s.is-in>*:nth-child(2){transition-delay:55ms}
.rv-s.is-in>*:nth-child(3){transition-delay:110ms}
.rv-s.is-in>*:nth-child(4){transition-delay:165ms}
.rv-s.is-in>*:nth-child(5){transition-delay:220ms}
.rv-s.is-in>*:nth-child(6){transition-delay:265ms}
.rv-s.is-in>*:nth-child(7){transition-delay:305ms}
.rv-s.is-in>*:nth-child(8){transition-delay:345ms}

/* ---------- 21. Utilidades ---------- */
.hide{display:none !important}
.center{text-align:center}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px;border-radius:4px}

/* ---------- 22. Movimiento reducido ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  .rv,.rv-s>*{opacity:1 !important;transform:none !important;filter:none !important}
  .kin>span{transform:none !important;filter:none !important;opacity:1 !important}
  #stars{display:none}
}

/* ============================================================
   23. URGENCIA — el precio de fundador expira de verdad
   ============================================================ */

/* Píldora "en vivo ahora" */
.live{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 13px;border-radius:999px;
  background:rgba(232,115,74,.14);border:1px solid rgba(232,115,74,.42);
  color:#ffb59a;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
}
.live i{width:6px;height:6px;border-radius:50%;background:var(--danger);box-shadow:0 0 0 0 rgba(232,115,74,.6);animation:ping 2s var(--e-out) infinite}
@keyframes ping{70%{box-shadow:0 0 0 8px rgba(232,115,74,0)}100%{box-shadow:0 0 0 0 rgba(232,115,74,0)}}

/* Bloque de cuenta regresiva del precio */
.deadline{
  margin-top:18px;padding:16px;border-radius:var(--r-md);
  background:linear-gradient(180deg,rgba(190,148,54,.13),rgba(190,148,54,.05));
  border:1px solid rgba(190,148,54,.36);
}
.deadline__lbl{
  display:flex;align-items:center;gap:8px;justify-content:center;
  font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2);
  margin-bottom:12px;text-align:center;
}
.deadline__lbl svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;flex:none}
.clock{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.clock div{
  text-align:center;padding:9px 2px;border-radius:.55rem;
  background:rgba(2,9,26,.5);border:1px solid rgba(190,148,54,.2);
}
.clock b{
  display:block;font-size:1.32rem;font-weight:700;color:var(--gold-200);line-height:1;
  letter-spacing:-.03em;font-variant-numeric:tabular-nums;
}
.clock span{display:block;margin-top:5px;font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:var(--txt-3)}
.deadline__note{margin:12px 0 0;font-size:.76rem;line-height:1.45;color:var(--txt-3);text-align:center}
.deadline--over{background:rgba(255,255,255,.04);border-color:var(--hair-soft)}
.deadline--over .deadline__lbl{color:var(--txt-3)}

/* Barra fija de conversión — aparece al pasar el hero */
.dock{
  position:fixed;left:0;right:0;bottom:0;z-index:55;
  padding:10px clamp(12px,3vw,20px) calc(10px + env(safe-area-inset-bottom));
  background:rgba(3,14,33,.9);
  backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);
  border-top:1px solid rgba(190,148,54,.3);
  transform:translate3d(0,110%,0);
  transition:transform 460ms var(--e-drawer);
  will-change:transform;
}
.dock.is-up{transform:none}
.dock__in{
  width:min(100% ,var(--maxw));margin-inline:auto;
  display:flex;align-items:center;justify-content:space-between;gap:clamp(12px,2.4vw,28px);
}
.dock__price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-width:0}
.dock__price b{font-size:1.32rem;font-weight:700;color:var(--gold-200);letter-spacing:-.03em;line-height:1}
.dock__price s{font-size:.86rem;color:var(--txt-3)}
.dock__price span{font-size:.72rem;color:var(--txt-3);letter-spacing:.04em}
.dock__meta{display:block;font-size:.72rem;color:var(--txt-3);margin-top:4px;line-height:1.3}
.dock__meta b{font-size:.76rem;color:var(--gold-2);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.dock .btn{flex:none;white-space:nowrap}
@media (max-width:560px){
  .dock__price b{font-size:1.12rem}
  .dock .btn{padding:12px 18px;font-size:.85rem;min-height:44px}
  .dock__in{gap:12px}
}

/* Aviso de que el precio ya venció */
.expired{
  display:flex;align-items:flex-start;gap:11px;
  margin-top:16px;padding:14px 16px;border-radius:var(--r-md);
  background:rgba(255,255,255,.04);border:1px solid var(--hair-soft);
  font-size:.83rem;line-height:1.5;color:var(--txt-3);
}
.expired svg{width:16px;height:16px;flex:none;margin-top:2px;stroke:var(--txt-3);fill:none;stroke-width:1.9}

@media (prefers-reduced-motion:reduce){
  .btn--sheen::after{animation:none;opacity:0}
  .live i{animation:none}
  .dock{transition:none}
}

/* El footer solo reserva el alto de la barra fija mientras la barra exista.
   Si se cierran las inscripciones la barra desaparece y el hueco sobraría. */
body.has-dock .foot{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
@media (min-width:561px){body.has-dock .foot{padding-bottom:calc(84px + env(safe-area-inset-bottom))}}

/* ============================================================
   24. HERO A LO ANCHO + BLOQUE DE INSCRIPCIÓN EN GRANDE
   ============================================================ */

/* El hero ya no comparte espacio con una tarjeta: explica y respira. */
.hero--wide{
  padding-block:clamp(124px,15vh,172px) clamp(52px,7vw,88px);
  text-align:center;
}
.hero--wide .wrap{max-width:960px}
.hero--wide .lead{margin-inline:auto;max-width:60ch}
.hero--wide h1{margin:20px 0 16px}
.hero--wide .hero__sub{margin-bottom:20px}
.hero--wide .facts{justify-content:center;gap:clamp(26px,5vw,64px);margin-top:34px;padding-top:30px}
.hero--wide .facts div{text-align:center}
.hero__cue{
  display:inline-flex;flex-direction:column;align-items:center;gap:9px;margin-top:clamp(32px,4.5vw,52px);
  font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--txt-3);font-weight:500;
}
.hero__cue svg{width:18px;height:18px;stroke:var(--gold);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;animation:nudge 2.6s var(--e-out) infinite}
@keyframes nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}

/* --- El bloque que vende --- */
.offer{position:relative}
.offer::before{
  content:"";position:absolute;inset:-8% -20% 30%;pointer-events:none;
  background:radial-gradient(46% 55% at 50% 40%, rgba(190,148,54,.14), transparent 70%);
}
.offer__head{text-align:center;max-width:640px;margin:0 auto clamp(26px,3.4vw,40px)}
.offer__head h2{margin:16px 0 12px}
.offer__head .lead{margin-inline:auto}

/* Reloj grande — el que marca el ritmo de la página */
.clock--xl{max-width:600px;margin:0 auto;gap:clamp(8px,1.2vw,12px)}
.clock--xl div{padding:clamp(14px,2vw,22px) 6px;border-radius:var(--r-md)}
.clock--xl b{font-size:clamp(2rem,5.6vw,3.4rem);letter-spacing:-.045em}
.clock--xl span{margin-top:8px;font-size:9.5px;letter-spacing:.16em;overflow-wrap:break-word;line-height:1.25}

/* Tarjeta de inscripción a tamaño completo */
.offer__card{max-width:960px;margin:clamp(26px,3.4vw,42px) auto 0}
.offer__card .bez__core{padding:clamp(26px,3.6vw,48px)}
.offer__grid{display:grid;grid-template-columns:1fr 1px 1fr;gap:clamp(26px,3.6vw,48px);align-items:stretch}
.offer__sep{background:linear-gradient(180deg,transparent,var(--hair) 18%,var(--hair) 82%,transparent);min-height:100%}
/* Las dos columnas se centran una contra la otra. Cuál es más alta depende de
   lo que esté encendido —promo, descuento, bonos, inscripciones—, así que la
   simetría evita que el hueco aparezca de un lado o del otro. */
.offer__main,
.offer__side{display:flex;flex-direction:column;justify-content:center}
.offer__side{gap:clamp(20px,2.6vw,28px)}
.offer__side .offer__seats{margin-top:0;padding-top:20px}
.offer__price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;justify-content:center}
.offer__price b{font-size:clamp(3.2rem,8vw,5rem);font-weight:700;color:var(--gold-200);line-height:.92;letter-spacing:-.045em}
.offer__price s{font-size:1.5rem;color:var(--txt-3);text-decoration-thickness:2px}
.offer__price em{font-style:normal;font-size:.9rem;color:var(--txt-3);letter-spacing:.06em}
.offer__mxn{margin:14px 0 0;font-size:.94rem;color:var(--txt-2);text-align:center}
.offer__mxn b{color:var(--txt);font-weight:700}
.offer__badge{
  display:block;width:max-content;margin:0 auto 18px;padding:7px 16px;border-radius:999px;
  background:var(--plate);color:#1a1204;
  font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  box-shadow:inset 0 1px 0 rgba(255,247,224,.5);
}
.offer__actions{margin-top:26px;display:grid;gap:10px}
.offer__note{margin:14px 0 0;font-size:.78rem;color:var(--txt-3);text-align:center;line-height:1.5}
.offer__list{list-style:none;margin:0;padding:0;display:grid;gap:13px}
.offer__list li{display:flex;gap:12px;align-items:flex-start;font-size:.92rem;line-height:1.48;color:var(--txt-2)}
.offer__list svg{width:16px;height:16px;flex:none;margin-top:3px;stroke:var(--gold);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.offer__list b{color:var(--txt);font-weight:700}
.offer__seats{margin-top:24px;padding-top:20px;border-top:1px solid var(--hair-soft)}

@media (max-width:860px){
  .offer__grid{grid-template-columns:1fr;gap:30px}
  .offer__sep{height:1px;min-height:0;background:linear-gradient(90deg,transparent,var(--hair),transparent)}
  .offer__main,.offer__side{justify-content:flex-start}
}
@media (prefers-reduced-motion:reduce){.hero__cue svg{animation:none}}


/* ============================================================
   25. BONOS — pieza propia bajo la tarjeta, con aire
   ============================================================ */
.bonus{
  max-width:960px;margin:clamp(14px,1.8vw,20px) auto 0;
  padding:clamp(22px,2.8vw,32px) clamp(22px,3vw,38px);
  border-radius:var(--r-lg);
  background:linear-gradient(180deg,rgba(190,148,54,.13),rgba(190,148,54,.04));
  border:1px dashed rgba(190,148,54,.5);
}
.bonus__tag{
  display:flex;align-items:center;gap:11px;
  padding-bottom:18px;margin-bottom:22px;border-bottom:1px solid rgba(190,148,54,.24);
  font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-200);
}
.bonus__tag svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.9;flex:none}
.bonus__tag b{margin-left:auto;font-size:1rem;letter-spacing:-.02em;text-transform:none;color:var(--gold-100)}

.bonus__items{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,44px)}
.bonus__item{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.bonus__chip{
  display:inline-block;padding:4px 10px;border-radius:999px;
  background:var(--plate);color:#1a1204;
  font-size:8.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  box-shadow:inset 0 1px 0 rgba(255,247,224,.5);
}
.bonus__item b{font-size:1.02rem;color:var(--txt);font-weight:700;letter-spacing:-.015em;line-height:1.3}
.bonus__val{display:inline-flex;align-items:center;gap:9px;font-size:.92rem}
.bonus__val s{color:var(--txt-3);font-weight:400}
.bonus__val em{font-style:normal;color:#7ee6a4;font-weight:700;letter-spacing:.03em}

.bonus__warn{
  display:flex;gap:10px;align-items:flex-start;
  margin:24px 0 0;padding-top:18px;border-top:1px solid rgba(190,148,54,.24);
  font-size:.83rem;line-height:1.55;color:var(--txt-3);
}
.bonus__warn svg{width:15px;height:15px;flex:none;margin-top:2px;stroke:var(--gold);fill:none;stroke-width:2}
.bonus__warn b{color:var(--gold-200);font-weight:700}

@media (max-width:700px){
  .bonus__items{grid-template-columns:1fr;gap:22px}
  .bonus__tag{flex-wrap:wrap}
  .bonus__tag b{margin-left:0;width:100%}
}

/* Resumen de valor dentro de la tarjeta */
.stack{margin:18px 0 4px}
.stack__row{display:flex;align-items:baseline;justify-content:center;gap:10px;flex-wrap:wrap;font-size:.88rem;color:var(--txt-3);padding:3px 0}
.stack__row s{font-size:1.05rem;color:var(--txt-3)}
.stack__row b{font-size:1.1rem;color:var(--gold-200);font-weight:700}

/* Etiqueta "Bono" en los títulos de tarjeta de la sección del programa */
.tagbonus{
  display:inline-block;vertical-align:middle;margin-left:8px;
  padding:3px 9px;border-radius:999px;line-height:1.1;
  background:rgba(190,148,54,.18);border:1px solid rgba(190,148,54,.45);
  color:var(--gold-200);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
}

/* ============================================================
   26. BLOQUE "ÚNETE AL GRUPO" (páginas de confirmación)
   ============================================================ */
.join{
  display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;
  margin-top:28px;padding:20px 22px;border-radius:var(--r-md);text-align:left;
  background:linear-gradient(180deg,rgba(37,211,102,.13),rgba(37,211,102,.05));
  border:1px solid rgba(37,211,102,.36);
}
.join__ic{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex:none;background:rgba(37,211,102,.16);color:#4ce07f}
.join__ic svg{width:24px;height:24px}
.join__txt b{display:block;font-size:1rem;color:var(--txt);font-weight:700;letter-spacing:-.015em}
.join__txt p{margin:5px 0 0;font-size:.85rem;line-height:1.5;color:var(--txt-3)}
.join .btn{flex:none;white-space:nowrap}
.join__soon{grid-column:1 / -1;margin:0;font-size:.83rem;color:var(--txt-3);text-align:center}
@media (max-width:640px){
  .join{grid-template-columns:auto 1fr}
  .join .btn{grid-column:1 / -1;width:100%}
}

/* Aviso "revisa tu correo" */
.mailnote{
  display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;text-align:left;
  margin-top:26px;padding:20px 22px;border-radius:var(--r-md);
  background:rgba(190,148,54,.09);border:1px solid var(--hair);
}
.mailnote__ic{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;flex:none;background:rgba(190,148,54,.16);color:var(--gold-200)}
.mailnote__ic svg{width:22px;height:22px}
.mailnote b{color:var(--txt);font-weight:700}
.mailnote p{margin:6px 0 0;font-size:.88rem;line-height:1.55;color:var(--txt-3)}
.mailnote p b{color:var(--gold-200)}

/* El contador de lugares parpadea cuando alguien más se inscribe */
@keyframes bump{
  0%{transform:scale(1);color:var(--gold-2)}
  35%{transform:scale(1.35);color:var(--gold-100)}
  100%{transform:scale(1);color:var(--gold-2)}
}
[data-seats-left].is-bump{display:inline-block;animation:bump 900ms var(--e-out)}
@media (prefers-reduced-motion:reduce){[data-seats-left].is-bump{animation:none}}

/* ============================================================
   27. PÁGINA LEGAL
   ============================================================ */
.legal{max-width:70ch}
.legal h1{margin-bottom:10px}
.legal__meta{margin:0 0 clamp(30px,4vw,44px);font-size:.84rem;color:var(--txt-3)}
.legal h2{
  font-size:clamp(1.02rem,1.6vw,1.14rem);font-weight:700;color:var(--gold-2);
  letter-spacing:-.01em;margin:clamp(30px,4vw,42px) 0 12px;
}
.legal p{margin:0 0 14px;font-size:.95rem;line-height:1.72;color:var(--txt-2)}
.legal ul{margin:0 0 16px;padding-left:20px;display:grid;gap:9px}
.legal li{font-size:.95rem;line-height:1.62;color:var(--txt-2)}
.legal b{color:var(--txt);font-weight:700}
.legal a{color:var(--gold-2);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
@media (hover:hover) and (pointer:fine){.legal a:hover{color:var(--gold-100)}}

/* Línea de consentimiento bajo los formularios */
.consent{
  margin:12px 0 0;font-size:.78rem;line-height:1.55;color:var(--txt-3);text-align:center;
}
.consent a{color:var(--gold-2);text-decoration:underline;text-underline-offset:2px}

/* ============================================================
   28. AJUSTES POR DISPOSITIVO
   Repaso completo en celular, tablet y horizontal.
   ============================================================ */

/* Nada se sale de la pantalla, pase lo que pase con el contenido */
img,svg,video{max-width:100%}
.legal a,.faq__a,.lead,.card p,.beat p{overflow-wrap:anywhere}

/* --- Tablet (768–1024) --- */
@media (max-width:1024px){
  .foot__grid{grid-template-columns:1fr 1fr;gap:28px 36px}
  .foot__grid > :first-child{grid-column:1 / -1}
}

/* --- Celular grande / tablet chica (≤700) --- */
@media (max-width:700px){
  /* Las cifras del hero leen mejor en cuadrícula que en fila apretada */
  .hero--wide .facts{
    display:grid;grid-template-columns:1fr 1fr;gap:22px 16px;
    justify-content:stretch;text-align:left;
  }
  .hero--wide .facts div{text-align:center}
  .hero--wide .facts div span br{display:none}

  .offer__card .bez__core{padding:24px 20px}
  .clock--xl div{padding:14px 4px}
  .clock--xl span{font-size:8.5px;letter-spacing:.1em}
}

/* --- Celular (≤560) --- */
@media (max-width:560px){
  /* Los mentores se quedan en dos columnas: ocho tarjetas apiladas es una eternidad */
  .mentors{grid-template-columns:1fr 1fr;gap:10px}
  .m__body{padding:12px 10px 10px}
  .m__body b{font-size:.82rem}
  .m__body p{font-size:.72rem}
  .m__flag{font-size:8px;padding:3px 7px}

  .btn{width:100%}
  .final__cta,.offer__actions{width:100%}
  .final__cta .link{justify-content:center}

  .quote{max-width:none}
  .bonus{padding:20px 18px}
  .bonus__tag{font-size:10px;letter-spacing:.12em}

  .co__line{flex-direction:column;gap:2px}
  .co__tot b{font-size:1.5rem}

  .foot__grid{grid-template-columns:1fr}
  .foot__grid > :first-child{grid-column:auto}
  .foot__bar{flex-direction:column;gap:8px}
}

/* Debajo de 380 px la cuadrícula de mentores se rinde */
@media (max-width:379px){
  .mentors{grid-template-columns:1fr}
  .clock--xl b{font-size:1.7rem}
}

/* --- Barra fija en pantallas chicas --- */
@media (max-width:560px){
  .dock{padding:9px 14px calc(9px + env(safe-area-inset-bottom))}
  .dock__in{gap:10px}
  .dock__price{gap:6px}
  .dock__price b{font-size:1.05rem}
  .dock__price s,.dock__price span{display:none}   /* solo el precio de hoy */
  .dock__meta{font-size:.68rem;margin-top:2px}
  .dock .btn{width:auto;padding:11px 16px;font-size:.82rem;min-height:44px}
}

/* --- Áreas táctiles: mínimo 44 px --- */
@media (pointer:coarse){
  .nav__links a{padding:10px 0}
  .faq summary{padding-block:20px}
  .link{padding-block:8px}
  .del{display:inline-block;padding:6px 0}
}

/* --- iOS hace zoom al enfocar un campo de menos de 16 px --- */
@media (max-width:900px){
  .fld input,.fld select{font-size:16px;padding:13px 15px}
}

/* --- Celular en horizontal: que el hero no obligue a hacer scroll eterno --- */
@media (max-height:520px) and (orientation:landscape){
  .hero--wide{padding-block:96px 44px}
  .hero--wide .facts{margin-top:22px;padding-top:20px}
  .hero__cue{margin-top:22px}
  section{padding-block:44px}
}

/* ============================================================
   29. PANTALLAS DE CONFIRMACIÓN
   Más aire entre las piezas: son pantallas de una sola idea.
   ============================================================ */
.done{text-align:center}
.done__mark{width:clamp(58px,11vw,78px);height:clamp(58px,11vw,78px);margin:0 auto clamp(22px,3vw,30px);display:block}
.done .eyebrow{margin-bottom:clamp(18px,2.6vw,26px)}
.done h1{line-height:1.2;margin-bottom:clamp(16px,2.2vw,22px);letter-spacing:-.028em}
.done > .lead{margin-inline:auto;max-width:52ch}
.done__next{text-align:left;max-width:520px;margin-inline:auto}
.done__next h2{margin-bottom:clamp(16px,2.2vw,20px)}
.done__cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:clamp(26px,3.4vw,34px)}

@media (max-width:560px){
  .done .bez__core{padding:30px 20px}
  .done__next .step{grid-template-columns:38px 1fr !important;gap:12px}
  .done__cta{gap:10px}
}

/* La pantalla se centra, pero con aire garantizado arriba y abajo:
   en celular la tarjeta es más alta que la ventana y no debe pegarse al borde. */
.done__wrap{
  min-height:100dvh;display:flex;align-items:center;
  padding-block:clamp(28px,6vh,72px);
}
@media (max-height:700px){.done__wrap{min-height:auto;padding-block:44px}}

/* ============================================================
   30. CASILLA (factura y demás)
   ============================================================ */
.chk{display:flex;align-items:flex-start;gap:11px;cursor:pointer;font-size:.9rem;line-height:1.5;color:var(--txt-2)}
.chk input{
  appearance:none;-webkit-appearance:none;
  width:20px;height:20px;flex:none;margin:1px 0 0;border-radius:6px;
  border:1px solid var(--hair);background:rgba(2,9,26,.5);
  display:grid;place-items:center;cursor:pointer;
  transition:background 220ms var(--e-out),border-color 220ms var(--e-out);
}
.chk input:checked{background:var(--plate);border-color:rgba(190,148,54,.7)}
.chk input:checked::after{
  content:"";width:9px;height:5px;
  border-left:2px solid #1a1204;border-bottom:2px solid #1a1204;
  transform:rotate(-45deg) translate(1px,-1px);
}
.chk:hover input{border-color:rgba(190,148,54,.5)}
@media (pointer:coarse){.chk{padding-block:6px}}

/* Aviso que ocupa el lugar del precio cuando se oculta desde el panel */
.notice{
  padding:clamp(20px,2.6vw,26px);border-radius:var(--r-md);text-align:center;
  background:rgba(255,255,255,.04);border:1px dashed var(--hair);
}
.notice p{margin:0;font-size:.95rem;line-height:1.65;color:var(--txt-2)}
