/* Entrenamiento de IA · 6ta Generación · Millonarios del Tiempo
   Gramática: almanaque. Tema noche y oro hasta el amanecer, marfil y oro después.
   Solo tokens y marcado propio: el motor no se toca. */

:root {
  --sc-canvas:     #FBF7EE;
  --sc-surface:    #FFFDF8;
  --sc-ink:        #1C150C;
  --sc-ink-soft:   #6B5E4A;
  --sc-accent:     #D9A537;
  --sc-accent-ink: #14100A;
  --sc-font-display: "Sora", ui-sans-serif, system-ui, sans-serif;
  --sc-font-text:    "Inter", ui-sans-serif, system-ui, sans-serif;
  --sc-font-mono:    "Inter", ui-sans-serif, system-ui, sans-serif;
  --sc-shadow-color: 36 40% 30%;
  --sc-edge: inset 0 1px 0 rgb(255 255 255 / 0.8);

  --oro: #D9A537;
  --oro-claro: #E8B84D;
  --destello: #FCE8A1;
  --bronce: #7A4A0A;
  --acento-texto: var(--bronce);   /* el oro no sirve como texto sobre marfil */
  --noche-2: #F4ECDA;   /* marfil alterno para dar ritmo entre secciones */
  --marfil: #FBF7EE;
  --r-boton: 14px;
  --r-caja: 20px;
  --dock-h: 78px;
}

/* marfil y oro, redeclarando color donde se redeclara la tinta */
.dia {
  --sc-canvas:   #FBF7EE;
  --sc-surface:  #FFFDF8;
  --sc-ink:      #1C150C;
  --sc-ink-soft: #6B5E4A;
  --acento-texto: var(--bronce);
  --sc-shadow-color: 36 40% 30%;
  --sc-edge: inset 0 1px 0 rgb(255 255 255 / 0.7);
  background: var(--sc-canvas);
  color: var(--sc-ink);
}

body { padding-bottom: var(--dock-h); }
strong, b { font-weight: 700; color: var(--sc-ink); }
p { margin: 0; }
h1, h2, h3 { margin: 0; font-family: var(--sc-font-display); font-weight: 800; letter-spacing: var(--sc-track-tight); text-wrap: balance; }
q { quotes: "“" "”"; }
svg { fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.sc-grain { z-index: 70; }

.antetitulo {
  font: 700 var(--sc-t-xs)/1.2 var(--sc-font-text);
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--acento-texto);
}
.titulo-grande { font-size: var(--sc-t-3xl); line-height: 1.02; }
.titulo-seccion { font-size: var(--sc-t-2xl); line-height: 1.06; letter-spacing: var(--sc-track-snug); }
.nota-videos { margin-top: var(--sc-5); font-size: var(--sc-t-sm); color: var(--sc-ink-soft); }

/* ------------------------------------------------------------ botones -- */
.cta {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 3.35rem; padding: 0 1.7rem;
  font: 700 var(--sc-t-base)/1 var(--sc-font-display); letter-spacing: -0.01em;
  color: var(--sc-accent-ink); background: var(--oro);
  border-radius: var(--r-boton); text-decoration: none; white-space: nowrap;
  box-shadow: var(--sc-e2), inset 0 1px 0 rgb(255 240 200 / 0.55);
  transition: transform 160ms var(--sc-ease-out), background-color 160ms var(--sc-ease-out);
}
.cta:active { transform: scale(0.97); }
@media (hover: hover) and (pointer: fine) {
  .cta:hover { background: var(--oro-claro); transform: translateY(-1px); }
  .cta[data-sc-magnet]:hover { transform: none; }
}
.cta--ancho { width: 100%; }
.cta--grande { min-height: 4rem; padding: 0 2.4rem; font-size: var(--sc-t-lg); }
.cta--dock { min-height: 2.9rem; padding: 0 1.3rem; font-size: var(--sc-t-sm); }

.boton-linea {
  display: inline-flex; align-items: center; gap: 0.6rem;
  min-height: 3rem; padding: 0.7rem 1.3rem;
  border: 1px solid color-mix(in oklab, var(--acento-texto) 70%, transparent);
  border-radius: var(--r-boton);
  color: var(--sc-ink); font-weight: 600; text-decoration: none; line-height: 1.3;
  transition: background-color 160ms var(--sc-ease-out), transform 160ms var(--sc-ease-out);
}
.boton-linea svg { width: 1.3rem; height: 1.3rem; flex: none; color: var(--acento-texto); }
.boton-linea:active { transform: scale(0.98); }
@media (hover: hover) and (pointer: fine) {
  .boton-linea:hover { background: color-mix(in oklab, var(--acento-texto) 12%, transparent); }
}

/* ------------------------------------------------------------- franja -- */
.franja {
  position: relative; z-index: 5;
  display: flex; align-items: center; justify-content: center; gap: 0.9rem;
  padding: 0.55rem var(--sc-gutter);
  font-size: var(--sc-t-sm); color: var(--sc-ink-soft);
  background: #F3EBDA;
  border-bottom: 1px solid var(--sc-hairline);
}
.franja__simbolo { height: 22px; width: auto; }
.franja__idioma { margin-left: auto; font-size: var(--sc-t-xs); font-weight: 600; color: var(--sc-ink-soft); }
.franja > span { text-align: center; }

/* =============================================================== HERO == */
.hero { --mx: 0; --my: 0; }
.hero__escena {
  background:
    radial-gradient(60vw 70vh at 72% 42%, rgb(232 184 77 / 0.34), transparent 70%),
    radial-gradient(40vw 40vh at 18% 90%, rgb(122 74 10 / 0.18), transparent 70%),
    var(--sc-canvas);
}
.hero__luz {
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(28vw 34vh at 64% 30%, rgb(252 232 161 / 0.10), transparent 70%);
  transform: translate3d(calc(var(--mx) * -4px), calc(var(--sc-p) * -2vh), 0);
}
.hero__fecha {
  position: absolute; right: 3vw; top: 6vh;
  display: flex; flex-direction: column; align-items: flex-end;
  font-family: var(--sc-font-display); font-weight: 800; line-height: 0.8;
  color: rgb(200 147 31 / 0.2);
  transform: translate3d(calc(var(--mx) * -6px), calc(var(--sc-p) * -5vh + var(--my) * -5px), 0) scale(calc(1 - var(--sc-p) * 0.06));
  transform-origin: 100% 0;
  user-select: none;
}
.hero__dia { font-size: 62vh; letter-spacing: -0.06em; }
.hero__mes { font-size: 11vh; letter-spacing: 0.08em; margin-right: 1.4vw; color: rgb(200 147 31 / 0.34); }

.hero__bucle, .giro__bucle { position: absolute; pointer-events: none; overflow: visible; }
.hero__bucle path, .giro__bucle path {
  stroke: var(--oro); stroke-width: 1.2; vector-effect: non-scaling-stroke;
  stroke-dasharray: 1 1;
}
.hero__bucle {
  width: 62vw; left: 30vw; top: 22vh; opacity: 0.75;
  transform: translate3d(calc(var(--mx) * -10px), calc(var(--sc-p) * -8vh + var(--my) * -8px), 0);
}
.hero__bucle path { stroke-dashoffset: calc(0.52 - var(--sc-p) * 0.52); animation: trazo 2.4s var(--sc-ease-out) both; }
@keyframes trazo { from { stroke-dashoffset: 1; } }

/* El recuadro del video de bienvenida: la pantalla vertical de un teléfono, con
   marco dorado y un botón que late para invitar a dar play. */
.hero__pantalla {
  position: absolute; right: 4vw; top: 50%; z-index: 4;
  display: flex; flex-direction: column; align-items: center; gap: 0.9rem;
  translate: 0 -50%;
  transform: translate3d(calc(var(--mx) * 12px), calc(var(--sc-p) * -6vh + var(--my) * 8px), 0);
}
/* Los dos textos que invitan al play: grandes, en Sora 800 y con movimiento sutil. */
.pantalla__etiqueta {
  display: inline-flex; align-items: center; gap: 0.7rem; white-space: nowrap;
  padding: 0.7rem 1.4rem; border-radius: 999px;
  background: var(--sc-ink); color: #FCE8A1;
  box-shadow: var(--sc-e2), 0 0 0 3px var(--oro);
  font: 800 clamp(1.15rem, 0.8rem + 0.9vw, 1.6rem)/1 var(--sc-font-display); letter-spacing: 0.02em; text-transform: uppercase;
  animation: llamar 2.4s var(--sc-ease-out) infinite;
}
@keyframes llamar { 0%, 60%, 100% { transform: scale(1); } 30% { transform: scale(1.05); } }
.pantalla__punto { width: 0.8rem; height: 0.8rem; border-radius: 50%; background: #E74C3C; box-shadow: 0 0 0 4px rgb(231 76 60 / 0.3); animation: latido 1.2s ease-in-out infinite; }
@keyframes latido { 50% { opacity: 0.3; } }
.pantalla__zoom {
  display: inline-flex; align-items: center; gap: 0.5rem; white-space: nowrap;
  font: 800 clamp(1.05rem, 0.8rem + 0.6vw, 1.35rem)/1 var(--sc-font-display); letter-spacing: -0.01em; color: var(--bronce);
}
.pantalla__zoom svg { width: 1.5em; height: 1.5em; stroke-width: 2.2; color: var(--sc-ink); }
.pantalla__marco {
  position: relative; width: min(40vw, 44rem, 108vh); aspect-ratio: 16 / 9;
  padding: 7px; border-radius: 30px;
  background: linear-gradient(150deg, #FCE8A1 0%, #E8B84D 30%, #C8931F 65%, #F3D98F 100%);
  box-shadow: var(--sc-e3), 0 30px 80px -20px rgb(200 147 31 / 0.55);
}
.pantalla__marco > * { width: 100%; height: 100%; border-radius: 24px; overflow: hidden; background: #111; }
.pantalla__marco iframe { display: block; border: 0; }
.pantalla__play { position: relative; display: block; padding: 0; border: 0; cursor: pointer; }
.pantalla__play img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms var(--sc-ease-out); }
.pantalla__play::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(circle at 50% 48%, rgb(20 16 10 / 0.05), rgb(20 16 10 / 0.35) 70%),
              linear-gradient(to top, rgb(20 16 10 / 0.7), transparent 38%);
}
.pantalla__boton {
  position: absolute; z-index: 2; left: 50%; top: 48%; translate: -50% -50%;
  display: grid; place-items: center; width: clamp(4.6rem, 7vw, 6rem); aspect-ratio: 1; border-radius: 50%;
  background: var(--oro); color: var(--sc-accent-ink);
  box-shadow: 0 0 0 4px rgb(255 253 248 / 0.95), 0 12px 34px rgb(0 0 0 / 0.45), inset 0 2px 0 rgb(255 240 200 / 0.7);
  transition: transform 200ms var(--sc-ease-out), background-color 200ms;
}
.pantalla__boton svg { position: relative; width: 42%; height: 42%; margin-left: 8%; }
.pantalla__onda { position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--destello); animation: onda 2.4s var(--sc-ease-out) infinite; }
.pantalla__onda + .pantalla__onda { animation-delay: 1.2s; }
@keyframes onda { from { transform: scale(1); opacity: 0.9; } to { transform: scale(1.9); opacity: 0; } }
.pantalla__cta {
  position: absolute; z-index: 2; left: 50%; bottom: 7%; translate: -50% 0;
  padding: 0.6rem 1.3rem; border-radius: 999px; white-space: nowrap;
  background: #FFFDF8; color: #1C150C; box-shadow: var(--sc-e2);
  font: 800 var(--sc-t-base)/1 var(--sc-font-display); letter-spacing: -0.01em;
}
.pantalla__play:active .pantalla__boton { transform: scale(0.94); }
@media (hover: hover) and (pointer: fine) {
  .pantalla__play:hover .pantalla__boton { transform: scale(1.08); background: var(--oro-claro); }
  .pantalla__play:hover img { transform: scale(1.04); }
}

.hero__polvo { position: absolute; inset: 0; pointer-events: none; }
.hero__polvo i {
  position: absolute; left: var(--x); top: var(--y);
  width: var(--t); height: var(--t); border-radius: 50%;
  background: radial-gradient(circle, rgb(252 232 161 / 0.9), rgb(217 165 55 / 0.35) 45%, transparent 70%);
  filter: blur(var(--b, 1px)); opacity: var(--o, 0.7);
  transform: translate3d(calc(var(--mx) * var(--f) * 26px), calc(var(--sc-p) * var(--f) * -34vh + var(--my) * var(--f) * 18px), 0);
}
.hero__polvo i:nth-child(1) { --x: 52%; --y: 78%; --t: 22px; --f: 1.6; --b: 3px; }
.hero__polvo i:nth-child(2) { --x: 90%; --y: 64%; --t: 36px; --f: 2.2; --b: 6px; --o: .5; }
.hero__polvo i:nth-child(3) { --x: 60%; --y: 20%; --t: 8px; --f: 1.1; }
.hero__polvo i:nth-child(4) { --x: 44%; --y: 44%; --t: 5px; --f: 0.8; --o: .5; }
.hero__polvo i:nth-child(5) { --x: 82%; --y: 16%; --t: 12px; --f: 1.3; --b: 2px; }
.hero__polvo i:nth-child(6) { --x: 70%; --y: 90%; --t: 54px; --f: 2.8; --b: 10px; --o: .35; }
.hero__polvo i:nth-child(7) { --x: 38%; --y: 70%; --t: 7px; --f: 1.2; }

.hero__piso {
  position: absolute; inset: auto 0 0 0; height: 22vh; pointer-events: none;
  background: linear-gradient(to top, var(--sc-canvas) 8%, transparent);
}
.hero__acciones { display: flex; flex-wrap: wrap; align-items: center; gap: 0.8rem; }
.hero__copy {
  position: absolute; z-index: var(--sc-z-copy);
  left: var(--sc-gutter); top: 50%; translate: 0 -46%;
  width: min(44rem, 44vw);
}
.hero__gen { font: 700 var(--sc-t-xs)/1 var(--sc-font-text); letter-spacing: 0.16em; text-transform: uppercase; color: var(--acento-texto); }
.hero__titulo {
  margin-top: var(--sc-5);
  font-size: clamp(2.3rem, 1rem + 3vw, 4.2rem); line-height: 1; letter-spacing: -0.035em;
}
.hero__para { margin: var(--sc-5) 0 var(--sc-7); font: 700 var(--sc-t-xl)/1.2 var(--sc-font-display); color: var(--acento-texto); letter-spacing: -0.02em; }

/* =============================================================== QUÉ ES = */
.queEs { padding-top: clamp(5rem, 10vw, 9rem); background: var(--sc-canvas); }
.queEs__lede {
  max-width: 30ch;
  font: 700 var(--sc-t-xl)/1.28 var(--sc-font-display); letter-spacing: -0.02em;
  text-wrap: pretty;
}
.queEs__lede strong { color: var(--acento-texto); }
.queEs__grid {
  display: grid; grid-template-columns: 1.05fr 0.95fr; gap: clamp(3rem, 7vw, 7rem);
  align-items: start; margin-top: clamp(4rem, 8vw, 7rem);
}
.queEs__no { font-size: var(--sc-t-2xl); line-height: 1.04; }
.queEs__es { margin-top: var(--sc-4); color: var(--sc-ink-soft); }
.ecuacion { list-style: none; margin: var(--sc-5) 0 0; padding: 0; }
.ecuacion li {
  font: 800 var(--sc-t-xl)/1.12 var(--sc-font-display); letter-spacing: -0.025em;
  padding-block: 0.28em; border-bottom: 1px solid var(--sc-hairline);
  display: flex; gap: 0.5em; align-items: baseline;
}
.ecuacion li::before { content: "+"; color: var(--acento-texto); font-weight: 700; width: 0.7em; flex: none; }
.ecuacion li:first-child::before { content: ""; }
.hechos { list-style: none; padding: 0; margin: var(--sc-6) 0 0; display: flex; flex-wrap: wrap; gap: 0.6rem 1.6rem; }
.hechos li { display: flex; align-items: center; gap: 0.55rem; font-weight: 600; }
.hechos li::before { content: ""; width: 0.55rem; height: 0.55rem; border-radius: 50%; border: 2px solid var(--oro); }

/* ------------------------------------------------------------- boleto -- */
.boleto {
  position: relative;
  background: linear-gradient(180deg, color-mix(in oklab, var(--sc-surface) 100%, var(--oro) 4%), var(--sc-surface));
  border: 1px solid color-mix(in oklab, var(--oro) 26%, transparent);
  border-radius: var(--r-caja);
  box-shadow: var(--sc-e3), var(--sc-edge);
}
.boleto__main { padding: clamp(1.6rem, 3vw, 2.4rem); }
.boleto__talon {
  position: relative; padding: clamp(1.4rem, 3vw, 2.2rem);
  border-top: 2px dashed color-mix(in oklab, var(--oro) 30%, transparent);
}
.boleto__talon::before, .boleto__talon::after {
  content: ""; position: absolute; top: -13px; width: 24px; height: 24px; border-radius: 50%;
  background: var(--sc-canvas);
  border: 1px solid color-mix(in oklab, var(--oro) 26%, transparent);
}
.boleto__talon::before { left: -13px; clip-path: inset(0 0 0 50%); }
.boleto__talon::after { right: -13px; clip-path: inset(0 50% 0 0); }
.boleto__kicker { font: 700 var(--sc-t-xs)/1 var(--sc-font-text); letter-spacing: 0.14em; text-transform: uppercase; color: var(--acento-texto); }
.boleto__regular { margin-top: var(--sc-4); font-size: var(--sc-t-sm); color: var(--sc-ink-soft); }
.boleto__regular s { text-decoration-thickness: 1.5px; }
.boleto__precio { display: flex; align-items: baseline; gap: 0.4rem; margin-top: var(--sc-2); font: 800 clamp(3.4rem, 2.4rem + 3.4vw, 5.2rem)/0.95 var(--sc-font-display); letter-spacing: -0.045em; color: var(--acento-texto); font-variant-numeric: tabular-nums; }
.boleto__precio small { font-size: var(--sc-t-lg); letter-spacing: 0; color: var(--sc-ink-soft); font-weight: 700; white-space: nowrap; }
.boleto__precio { flex-wrap: wrap; row-gap: 0.2rem; }
.boleto__usd { margin-top: var(--sc-2); font-weight: 600; }
.boleto__hasta { margin: var(--sc-1) 0 var(--sc-5); color: var(--sc-ink-soft); font-size: var(--sc-t-sm); }
.boleto__letra { margin-top: var(--sc-3); text-align: center; font-size: var(--sc-t-sm); color: var(--sc-ink-soft); }
.escalon { list-style: none; margin: var(--sc-4) 0 0; padding: 0; }
.escalon li {
  position: relative; display: flex; justify-content: space-between; gap: 1rem; align-items: baseline;
  padding: 0.7rem 0 0.7rem 1.4rem; border-bottom: 1px solid var(--sc-hairline);
  font-size: var(--sc-t-sm);
}
.escalon li::before { content: ""; position: absolute; left: 0; top: 1.05rem; width: 0.6rem; height: 0.6rem; border-radius: 50%; border: 1.5px solid var(--sc-ink-soft); }
.escalon__cuando { color: var(--sc-ink-soft); }
.escalon__precio { font-weight: 700; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.nw { white-space: nowrap; }
.escalon__precio small { display: block; font-weight: 400; color: var(--sc-ink-soft); }
.escalon li.actual::before { background: var(--acento-texto); border-color: var(--acento-texto); }
.escalon li.actual .escalon__cuando { color: var(--sc-ink); font-weight: 700; }
.escalon li.actual .escalon__precio { color: var(--acento-texto); }
.escalon li.pasado { opacity: 0.55; }
.escalon li.pasado .escalon__precio { text-decoration: line-through; }
.boleto__garantia { display: flex; gap: 0.6rem; align-items: center; margin-top: var(--sc-5); font-weight: 600; font-size: var(--sc-t-sm); }
.boleto__garantia svg { width: 1.5rem; height: 1.5rem; flex: none; color: var(--acento-texto); }
.boleto__metodos { margin-top: var(--sc-2); font-size: var(--sc-t-sm); color: var(--sc-ink-soft); }

/* ================================================================ GIRO == */
.giro__escena { background: var(--sc-canvas); }
.giro { --k: clamp(0, calc((var(--sc-p) - 0.16) / 0.22), 1); }
.giro__bucle { width: 78vw; right: -18vw; top: 16vh; opacity: 0.6; }
.giro__bucle path { stroke-dashoffset: calc(1 - var(--sc-p)); }
.giro__texto { position: absolute; left: var(--sc-gutter); right: var(--sc-gutter); top: 50%; translate: 0 -50%; max-width: 64rem; }
.giro__a { font: 700 var(--sc-t-2xl)/1.12 var(--sc-font-display); letter-spacing: -0.025em; color: var(--sc-ink-soft); max-width: 22ch; }
.giro__b { margin-top: clamp(1.5rem, 4vh, 3rem); font: 800 var(--sc-t-3xl)/1 var(--sc-font-display); letter-spacing: -0.04em; max-width: 16ch; }
.giro__b em { font-style: normal; color: var(--acento-texto); }
.tacha {
  background: linear-gradient(var(--acento-texto), var(--acento-texto)) 0 56% / calc(var(--k) * 100%) 0.09em no-repeat;
  -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.giro__a .tacha { color: color-mix(in oklab, var(--sc-ink) calc((1 - var(--k)) * 100%), var(--sc-ink-soft)); }

/* ============================================================== SILLAS == */
.sillas__escena { background: linear-gradient(180deg, var(--sc-canvas), var(--noche-2)); display: flex; align-items: center; }
.riel { align-items: center; gap: clamp(1rem, 2vw, 1.75rem); padding-inline: var(--sc-gutter); }
.riel > * { flex: none; }
.riel__inicio { width: min(36rem, 84vw); padding-right: clamp(1rem, 4vw, 4rem); }
.riel__p { display: grid; grid-template-columns: 2rem 1fr; gap: 0.9rem; color: var(--sc-ink-soft); text-wrap: pretty; }
.riel__p + .riel__p { margin-top: var(--sc-5); }
.riel__p svg { width: 1.6rem; height: 1.6rem; color: var(--acento-texto); margin-top: 0.15rem; }
.riel__p--fuerte { color: var(--sc-ink); font-size: var(--sc-t-lg); line-height: 1.45; }
.riel__p--fuerte strong { color: var(--acento-texto); }
.silla {
  width: clamp(17rem, 23vw, 21.5rem); min-height: min(62vh, 30rem);
  display: flex; flex-direction: column;
  padding: clamp(1.5rem, 2.4vw, 2.2rem);
  background: var(--sc-surface);
  border: 1px solid var(--sc-hairline);
  border-radius: var(--r-caja);
  box-shadow: var(--sc-e2), var(--sc-edge);
}
.silla:nth-child(odd) { translate: 0 3.5vh; }
.silla:nth-child(even) { translate: 0 -3.5vh; }
.silla__icono { width: 2.8rem; height: 2.8rem; color: var(--acento-texto); stroke-width: 1.3; }
.silla h3 { margin-top: auto; padding-top: var(--sc-7); font-size: var(--sc-t-xl); line-height: 1.08; letter-spacing: -0.025em; }
.silla p { margin-top: var(--sc-4); color: var(--sc-ink-soft); font-size: var(--sc-t-sm); line-height: 1.6; }
.silla p + p { margin-top: var(--sc-3); }
/* Imágenes propias en lugar de íconos de línea: al doble del ícono y centradas arriba. */
.silla__img { display: block; width: 2.8rem; height: 2.8rem; object-fit: contain; }
.silla__img--doble { width: 5.6rem; height: 5.6rem; margin-inline: auto; }
.silla--final { background: linear-gradient(160deg, color-mix(in oklab, var(--oro) 22%, var(--sc-surface)), var(--sc-surface) 60%); border-color: color-mix(in oklab, var(--oro) 35%, transparent); }

/* ============================================================ PREGUNTA == */
.pregunta { --k: clamp(0, calc((var(--sc-p) - 0.42) / 0.12), 1); }
.pregunta__escena { background: radial-gradient(70vw 60vh at 20% 100%, rgb(122 74 10 / 0.16), transparent 70%), var(--noche-2); }
.pregunta__costo {
  position: absolute; left: var(--sc-gutter); top: 16vh; max-width: 30ch;
  font: 700 var(--sc-t-xl)/1.3 var(--sc-font-display); letter-spacing: -0.02em; color: var(--sc-ink-soft);
}
.pregunta__costo strong { color: var(--acento-texto); }
.pregunta__par { position: absolute; left: var(--sc-gutter); right: var(--sc-gutter); bottom: 13vh; }
.pregunta__intro { display: flex; align-items: center; gap: 0.6rem; font-weight: 600; color: var(--sc-ink-soft); }
.pregunta__intro svg { width: 1.3rem; height: 1.3rem; stroke-width: 2.2; }
.pregunta__nueva .pregunta__intro svg { color: var(--acento-texto); }
.pregunta__texto { margin-top: var(--sc-2); font-family: var(--sc-font-display); letter-spacing: -0.03em; }
.pregunta__vieja .pregunta__texto { font-weight: 700; font-size: var(--sc-t-xl); line-height: 1.2; color: color-mix(in oklab, var(--sc-ink) calc((1 - var(--k)) * 100%), var(--sc-ink-soft)); }
.pregunta__nueva { margin-top: clamp(1.8rem, 5vh, 3.2rem); }
.pregunta__nueva .pregunta__texto { font-weight: 800; font-size: var(--sc-t-3xl); line-height: 1.02; max-width: 20ch; }

/* ======================================================== TESTIMONIOS == */
.video {
  position: relative; display: block; width: 100%; padding: 0; border: 0; cursor: pointer;
  aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--r-boton);
  background: var(--sc-surface); box-shadow: var(--sc-e2);
}
.video img { width: 100%; height: 100%; object-fit: cover; transition: transform 420ms var(--sc-ease-out); }
.video__play {
  position: absolute; left: 50%; top: 50%; translate: -50% -50%;
  display: grid; place-items: center; width: 4rem; height: 4rem; border-radius: 50%;
  background: var(--oro); color: var(--sc-accent-ink);
  box-shadow: 0 6px 20px rgb(0 0 0 / 0.35);
  transition: transform 180ms var(--sc-ease-out);
}
.video__play svg { width: 1.6rem; height: 1.6rem; margin-left: 3px; }
.video:active .video__play { transform: scale(0.94); }
@media (hover: hover) and (pointer: fine) {
  .video:hover img { transform: scale(1.03); }
  .video:hover .video__play { transform: scale(1.08); }
}
.testimonio { margin: 0; }
.testimonio figcaption { margin-top: var(--sc-4); }
.testimonio q { display: block; font: 700 var(--sc-t-lg)/1.25 var(--sc-font-display); letter-spacing: -0.02em; text-wrap: balance; }
.testimonio figcaption > span { display: block; margin-top: var(--sc-2); font-size: var(--sc-t-sm); color: var(--sc-ink-soft); }

.accion { background: var(--noche-2); padding-top: clamp(2.5rem, 5vw, 4.5rem); }
.accion__grid { display: grid; grid-template-columns: 1.45fr 1fr; gap: clamp(1.5rem, 3vw, 2.5rem); margin-top: var(--sc-7); }
.testimonio--grande { grid-row: span 2; }
.testimonio--grande q { font-size: var(--sc-t-xl); }
.testimonio--tuyo {
  display: grid; grid-template-columns: auto 1fr; gap: 0.4rem 1.2rem; align-content: center;
  padding: var(--sc-5);
  border: 1.5px dashed color-mix(in oklab, var(--oro) 55%, transparent); border-radius: var(--r-boton);
}
.tuyo__marco { grid-row: span 2; display: grid; place-items: center; width: 4.2rem; height: 4.2rem; border-radius: 50%; border: 1.5px solid var(--oro); font: 800 var(--sc-t-lg)/1 var(--sc-font-display); color: var(--acento-texto); }
.testimonio--tuyo q { font: 700 var(--sc-t-lg)/1.2 var(--sc-font-display); }
.tuyo__pie { font-size: var(--sc-t-sm); color: var(--acento-texto); font-weight: 600; }

/* ================================================================ NETO == */
.neto { background: var(--sc-canvas); overflow: clip; }
.neto__grid { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
.neto__foto { position: relative; margin: 0; height: min(84vh, 52rem); }
.neto__placa {
  position: absolute; inset: 12% 4% 0 4%;
  border-radius: 999px 999px var(--r-caja) var(--r-caja);
  background: radial-gradient(90% 60% at 50% 20%, rgb(252 232 161 / 0.9), transparent 70%), linear-gradient(#F3E4C2, #E3C98F);
  border: 1px solid color-mix(in oklab, var(--oro) 30%, transparent);
}
.neto__foto img {
  position: absolute; left: 50%; bottom: 0; translate: -50% 0;
  height: 100%; width: auto; max-width: none;
  filter: saturate(0.75) sepia(0.18) contrast(1.04);
  -webkit-mask-image: linear-gradient(to top, transparent 0, #000 16%);
          mask-image: linear-gradient(to top, transparent 0, #000 16%);
}
.neto__texto { color: var(--sc-ink-soft); }
.neto__texto .titulo-seccion { color: var(--sc-ink); }
.neto__texto strong { color: var(--acento-texto); }
.neto__remate { font: 800 var(--sc-t-xl)/1.18 var(--sc-font-display) !important; letter-spacing: -0.025em; color: var(--acento-texto); padding-top: var(--sc-4); }

/* ============================================================== MÉTODO == */
.metodo { background: var(--noche-2); }
.metodo__cabeza { max-width: 48rem; color: var(--sc-ink-soft); }
.metodo__cabeza .titulo-grande { color: var(--sc-ink); }
.metodo__cuerpo { display: grid; grid-template-columns: 15rem 1fr; gap: clamp(2rem, 6vw, 6rem); margin-top: clamp(4rem, 8vw, 7rem); }
.escalera { position: sticky; top: 18vh; align-self: start; padding-left: 1.6rem; --i: 0; }
.escalera ol { list-style: none; margin: 0; padding: 0; }
.escalera li + li { margin-top: 1.1rem; }
.escalera a {
  position: relative; display: block; text-decoration: none;
  font: 700 var(--sc-t-base)/1.2 var(--sc-font-display); color: var(--sc-ink-soft);
  transition: color 200ms var(--sc-ease-out), transform 200ms var(--sc-ease-out);
}
.escalera a::before { content: ""; position: absolute; left: -1.6rem; top: 0.35em; width: 0.6rem; height: 0.6rem; border-radius: 50%; background: var(--sc-canvas); border: 1.5px solid var(--sc-ink-soft); translate: -50% 0; margin-left: 1px; transition: background-color 200ms, border-color 200ms; }
.escalera li.activa a { color: var(--acento-texto); transform: translateX(4px); }
.escalera li.activa a::before, .escalera li.hecha a::before { background: var(--oro); border-color: var(--oro); }
.escalera li.hecha a { color: var(--sc-ink); }
.escalera__barra { position: absolute; left: 1px; top: 0.4rem; bottom: 0.4rem; width: 1.5px; background: var(--sc-hairline); z-index: -1; }
.escalera__barra span { position: absolute; inset: 0; background: var(--oro); transform: scaleY(calc(var(--i) / 5)); transform-origin: 0 0; transition: transform 400ms var(--sc-ease-out); }
.etapa { padding-block: clamp(2.5rem, 5vw, 4rem); border-top: 1px solid var(--sc-hairline); color: var(--sc-ink-soft); max-width: 44rem; }
.etapa:first-child { border-top: 0; padding-top: 0; }
.etapa h3 { font-size: var(--sc-t-2xl); line-height: 1; color: var(--sc-ink); margin-bottom: var(--sc-5); }
.etapa p + p, .etapa ul + p, .etapa p + ul { margin-top: var(--sc-4); }
.etapa__pregunta { font: 700 var(--sc-t-xl)/1.2 var(--sc-font-display); letter-spacing: -0.02em; color: var(--acento-texto); padding-block: var(--sc-3); }
.areas { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.areas li { padding: 0.35rem 0.8rem; border: 1px solid color-mix(in oklab, var(--oro) 35%, transparent); border-radius: 8px; font-size: var(--sc-t-sm); font-weight: 600; color: var(--sc-ink); }
.metodo__cierre { max-width: 46rem; margin-top: clamp(3rem, 6vw, 5rem); margin-left: calc(15rem + clamp(2rem, 6vw, 6rem)); color: var(--sc-ink-soft); }
.metodo__creemos { font: 700 var(--sc-t-xl)/1.3 var(--sc-font-display); letter-spacing: -0.02em; color: var(--sc-ink); }
.metodo__cierre .cta { margin-top: var(--sc-3); }

/* ============================================================= RESUMEN == */
.resumen { background: var(--sc-canvas); }
.resumen__banda { padding-block: clamp(2.5rem, 5vw, 4rem); border-block: 1px solid color-mix(in oklab, var(--oro) 35%, transparent); text-align: center; }
.resumen__formula { margin-top: var(--sc-4); font: 800 var(--sc-t-lg)/1.5 var(--sc-font-display); letter-spacing: 0.02em; text-transform: uppercase; }
.resumen__formula b { color: var(--acento-texto); padding-inline: 0.35em; }
.resumen__lema { margin-top: var(--sc-5); font: 800 var(--sc-t-3xl)/1 var(--sc-font-display); letter-spacing: -0.04em; color: var(--acento-texto); text-wrap: balance; }
.empresas { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2.5rem, 6vw, 6rem); align-items: center; margin-top: clamp(5rem, 9vw, 8rem); }
.empresas__doc { margin: 0; rotate: -2.5deg; border-radius: 10px; overflow: hidden; box-shadow: var(--sc-e3); }
.empresas__doc img { width: 100%; height: auto; }
.empresas__texto { color: var(--sc-ink-soft); }
.empresas__texto .titulo-seccion { color: var(--sc-ink); }
.empresas__icono { display: block; width: 2.4rem; height: 2.4rem; color: var(--acento-texto); margin-bottom: var(--sc-4); stroke-width: 1.4; }

/* =============================================================== DICEN == */
.dicen { background: var(--noche-2); }
.dicen__cabeza { max-width: 40rem; }
.dicen__cabeza .titulo-grande { margin-top: var(--sc-3); }
.dicen__fila { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.25rem, 2.5vw, 2rem); margin-top: var(--sc-7); align-items: start; }
.dicen__fila > :nth-child(2) { margin-top: clamp(2rem, 6vw, 5rem); }
.dicen__fila > :nth-child(3) { margin-top: clamp(4rem, 12vw, 10rem); }

/* ============================================================= RECIBES == */
.recibes { background: var(--sc-canvas); }
.recibes__cabeza { max-width: 44rem; }
.recibes__sub { font-size: var(--sc-t-lg); color: var(--sc-ink-soft); }
.recibes__grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: clamp(2.5rem, 6vw, 6rem); margin-top: var(--sc-8); align-items: start; }
.recibo { list-style: none; margin: 0; padding: 0; }
.recibo li { display: grid; grid-template-columns: clamp(5rem, 9vw, 7.5rem) 1fr; gap: 1.2rem; align-items: center; padding-block: 1.15rem; border-bottom: 1px dashed color-mix(in oklab, var(--sc-ink) 18%, transparent); }
.recibo__cifra { font: 800 var(--sc-t-2xl)/1 var(--sc-font-display); letter-spacing: -0.04em; color: var(--acento-texto); font-variant-numeric: tabular-nums; }
.recibo__cifra--icono svg { width: 2.4rem; height: 2.4rem; stroke-width: 1.4; }
.recibo__que b { display: block; font: 700 var(--sc-t-lg)/1.2 var(--sc-font-display); letter-spacing: -0.02em; }
.recibo__que > span { display: block; margin-top: 0.3rem; color: var(--sc-ink-soft); font-size: var(--sc-t-sm); }
.mes {
  position: sticky; top: 12vh;
  padding: clamp(1.4rem, 3vw, 2.2rem);
  background: #FFFDF8; color: #1C150C;
  border-radius: var(--r-caja); box-shadow: var(--sc-e3);
  --sc-ink: #1C150C; --sc-ink-soft: #6B5E4A;
}
.mes__titulo { font: 800 var(--sc-t-xl)/1 var(--sc-font-display); letter-spacing: -0.03em; }
.mes__dias, .mes__cuadro { display: grid; grid-template-columns: repeat(7, 1fr); gap: 0.35rem; }
.mes__dias { margin-top: var(--sc-5); font-size: var(--sc-t-xs); font-weight: 700; color: var(--sc-ink-soft); text-align: center; }
.mes__cuadro { list-style: none; margin: 0.5rem 0 0; padding: 0; }
.mes__cuadro li {
  display: grid; place-items: center; aspect-ratio: 1; border-radius: 10px;
  font: 700 var(--sc-t-sm)/1 var(--sc-font-display); color: #6B5E4A;
  font-variant-numeric: tabular-nums;
}
.mes__cuadro li.vacio { visibility: hidden; }
.mes__cuadro li.sesion { color: #14100A; background: #E3D6BA; transition: background-color 420ms var(--sc-ease-out), transform 420ms var(--sc-ease-out); transition-delay: calc(var(--n) * 110ms + 300ms); }
.mes.sc-in .mes__cuadro li.sesion { background: var(--oro); box-shadow: var(--sc-e1); }
.mes__cuadro li.cierre-insc { box-shadow: inset 0 0 0 1.5px #B3261E; color: #8E1D17; }
.mes__cuadro li.treinta { box-shadow: inset 0 0 0 1.5px var(--bronce); color: var(--bronce); }
.mes__cuadro li.ahora { outline: 2px solid #14100A; outline-offset: 2px; }
.mes__texto { margin: var(--sc-5) 0; font-size: var(--sc-t-sm); color: #3E3426; }
.mes__texto strong { color: #1C150C; }

/* ============================================================ NEGOCIOS == */
.negocios { background: var(--noche-2); padding-block: clamp(4rem, 7vw, 7rem); }
.negocios__grid { display: grid; grid-template-columns: 1fr 1.5fr; gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.negocios__cabeza .titulo-seccion { margin-top: var(--sc-3); }
.filas { list-style: none; margin: 0; padding: 0; }
.fila {
  display: grid; grid-template-columns: clamp(7rem, 12vw, 10rem) 1fr auto; gap: 1.2rem; align-items: center;
  width: 100%; padding: 1rem 0.6rem; background: none; border: 0; border-bottom: 1px solid var(--sc-hairline);
  color: inherit; text-align: left; cursor: pointer; border-radius: 10px;
  transition: background-color 160ms var(--sc-ease-out);
}
.fila img { width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; border-radius: 8px; }
.fila q { display: block; font: 700 var(--sc-t-lg)/1.2 var(--sc-font-display); letter-spacing: -0.02em; }
.fila__txt > span { display: block; margin-top: 0.3rem; font-size: var(--sc-t-sm); color: var(--sc-ink-soft); }
.fila__play { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 50%; border: 1px solid var(--oro); color: var(--acento-texto); }
.fila__play svg { width: 1rem; height: 1rem; margin-left: 2px; }
.fila:active { transform: translateY(1px); }
@media (hover: hover) and (pointer: fine) { .fila:hover { background: var(--sc-surface); } }

/* ============================================ EL PICO: AMANECER 30 NOV == */
.amanecer {
  --s: clamp(0, calc((var(--sc-p) - 0.12) / 0.28), 1);
  --d: clamp(0, calc((var(--sc-p) - 0.34) / 0.22), 1);
}
.amanecer__escena { background: #D8CCB6; }
.amanecer__noche {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, #D8CCB6 0%, #DCCDB0 50%, #E2C999 100%);
  display: grid; place-items: center;
}
.amanecer__treinta {
  display: flex; flex-direction: column; align-items: center;
  font-family: var(--sc-font-display); font-weight: 800; line-height: 0.8;
  color: transparent; -webkit-text-stroke: 1.5px rgb(122 74 10 / 0.55);
  opacity: calc(1 - var(--d) * 1.2);
  transform: translate3d(0, calc(var(--s) * -8vh), 0) scale(calc(1 + var(--s) * 0.06));
}
.amanecer__treinta span { font-size: 48vh; letter-spacing: -0.05em; }
.amanecer__treinta small { font-size: 7vh; letter-spacing: 0.3em; margin-top: 2vh; -webkit-text-stroke: 1px rgb(122 74 10 / 0.7); }
.amanecer__sol {
  position: absolute; left: 50%; bottom: 0; width: 70vmin; aspect-ratio: 1; border-radius: 50%;
  background: radial-gradient(circle, #FFF1C4 0%, #F7D57A 30%, var(--oro-claro) 48%, rgb(217 165 55 / 0.5) 60%, transparent 71%);
  translate: -50% calc((1 - var(--s)) * 85% + 40%);
  opacity: calc(0.2 + var(--s) * 0.8);
}
.amanecer__dia {
  position: absolute; inset: 0;
  background:
    radial-gradient(90vw 60vh at 50% 100%, rgb(232 184 77 / 0.28), transparent 70%),
    linear-gradient(180deg, #FBF7EE 0%, #F7EEDB 100%);
  clip-path: circle(calc(var(--d) * 150vmax) at 50% 100%);
}
.amanecer__copy {
  position: absolute; z-index: var(--sc-z-copy);
  left: var(--sc-gutter); right: var(--sc-gutter); top: 50%; translate: 0 -50%;
  max-width: 50rem;
  --sc-ink: #1C150C; --sc-ink-soft: #4A3F31; color: var(--sc-ink);
}
.amanecer__titulo { font-size: clamp(2.6rem, 1.4rem + 4.4vw, 5.6rem); line-height: 0.98; letter-spacing: -0.045em; }
.amanecer__relato { margin-top: var(--sc-6); max-width: 40rem; font-size: var(--sc-t-lg); line-height: 1.55; color: var(--sc-ink-soft); }
.amanecer__relato p + p { margin-top: var(--sc-4); }
.amanecer__relato em { font-style: normal; font-weight: 700; color: var(--sc-ink); }
.amanecer__metodo { margin-top: var(--sc-6); max-width: 34ch; font: 800 var(--sc-t-xl)/1.2 var(--sc-font-display); letter-spacing: -0.025em; color: var(--bronce); }

/* ============================================================= RAZONES == */
.razones { padding-top: clamp(5rem, 9vw, 8rem); }
.razones__cabeza .titulo-grande { margin-top: var(--sc-3); }
.razones__mosaico { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.25rem, 3vw, 2.5rem); margin-top: var(--sc-7); }
.razones__mosaico .testimonio { padding: 0.8rem 0.8rem 1.4rem; background: #FFFDF8; border-radius: 6px; box-shadow: var(--sc-e2); }
.razones__mosaico .testimonio:nth-child(1) { rotate: -1.6deg; }
.razones__mosaico .testimonio:nth-child(2) { rotate: 1.2deg; translate: 0 1.5rem; }
.razones__mosaico .testimonio:nth-child(3) { rotate: -0.8deg; }
.razones__mosaico .video { border-radius: 3px; box-shadow: none; }
.razones__mosaico figcaption { padding-inline: 0.4rem; }
.escritos { margin-top: clamp(5rem, 9vw, 8rem); }
.escritos__cabeza .titulo-seccion { margin-top: var(--sc-3); }
.escritos__fila { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.25rem, 3vw, 2.5rem); margin-top: var(--sc-6); }
.escrito { margin: 0; }
.escrito__img {
  position: relative; display: block; width: 100%; padding: 0; border: 0; cursor: zoom-in;
  border-radius: 14px; overflow: hidden; background: #fff; box-shadow: var(--sc-e3);
  transition: transform 220ms var(--sc-ease-out), box-shadow 220ms var(--sc-ease-out);
}
.escrito__img img { display: block; width: 100%; height: auto; }
.escrito__lupa {
  position: absolute; right: 0.8rem; bottom: 0.8rem; display: grid; place-items: center; width: 2.8rem; height: 2.8rem; border-radius: 50%;
  background: var(--sc-ink); color: #FCE8A1; box-shadow: var(--sc-e2);
}
.escrito__lupa svg { width: 1.3rem; height: 1.3rem; stroke-width: 2; }
.escrito__img:active { transform: scale(0.98); }
@media (hover: hover) and (pointer: fine) { .escrito__img:hover { transform: translateY(-4px); box-shadow: var(--sc-e3), 0 0 0 2px var(--oro); } }
.escrito figcaption { margin-top: var(--sc-4); }
.escrito q { display: block; font: 800 var(--sc-t-lg)/1.2 var(--sc-font-display); letter-spacing: -0.02em; color: var(--sc-ink); }
.escrito figcaption span { display: block; margin-top: 0.3rem; font-size: var(--sc-t-sm); color: var(--sc-ink-soft); }
.resenas { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: clamp(2rem, 5vw, 5rem); margin-top: clamp(5rem, 9vw, 8rem); align-items: start; }
.resenas__cabeza .titulo-seccion { margin-top: var(--sc-3); }
.resenas__pila { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.resena {
  display: block; padding: 0.6rem 0.6rem 0.8rem; border: 0; cursor: zoom-in; text-align: left;
  background: #fff; border-radius: 10px; box-shadow: var(--sc-e2);
  color: var(--sc-ink); transition: transform 180ms var(--sc-ease-out);
}
.resena img { width: 100%; height: 7.5rem; object-fit: cover; object-position: top; border-radius: 6px; }
.resena span { display: block; margin-top: 0.6rem; font: 700 var(--sc-t-sm)/1.2 var(--sc-font-display); }
.resena:active { transform: scale(0.98); }
@media (hover: hover) and (pointer: fine) { .resena:hover { transform: translateY(-3px); } }

/* ================================================================= FAQ == */
.faq { background: var(--sc-surface); }
.faq__grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(2.5rem, 6vw, 6rem); align-items: start; }
.faq__cabeza .video { margin-top: var(--sc-6); }
.objeciones { margin: 0; }
.objeciones > div { padding-block: clamp(1.4rem, 3vw, 2rem); border-top: 1px solid color-mix(in oklab, var(--sc-ink) 14%, transparent); }
.objeciones > div:first-child { border-top: 0; padding-top: 0; }
.objeciones dt { font: 800 var(--sc-t-xl)/1.1 var(--sc-font-display); letter-spacing: -0.03em; }
.objeciones dd { margin: var(--sc-3) 0 0; color: var(--sc-ink-soft); max-width: 52ch; }

/* =========================================================== INVERSIÓN == */
.inversion__cabeza { max-width: 46rem; }
.inversion__valor { font-size: var(--sc-t-lg); color: var(--sc-ink-soft); }
.boleto--dia { margin-top: var(--sc-7); display: grid; grid-template-columns: 1fr 1fr; background: #FFFDF8; border-color: color-mix(in oklab, var(--bronce) 25%, transparent); }
.boleto--dia .boleto__talon { border-top: 0; border-left: 2px dashed color-mix(in oklab, var(--bronce) 28%, transparent); }
.boleto--dia .boleto__talon::before { top: -13px; left: -13px; clip-path: inset(50% 0 0 0); background: var(--sc-canvas); border-color: color-mix(in oklab, var(--bronce) 25%, transparent); }
.boleto--dia .boleto__talon::after { top: auto; bottom: -13px; right: auto; left: -13px; clip-path: inset(0 0 50% 0); background: var(--sc-canvas); border-color: color-mix(in oklab, var(--bronce) 25%, transparent); }
.cupo { display: flex; align-items: center; gap: clamp(1.5rem, 4vw, 3rem); margin-top: clamp(4rem, 7vw, 6rem); max-width: 50rem; }
.cupo__num { display: flex; flex-direction: column; font: 800 clamp(4.5rem, 3rem + 5vw, 8rem)/0.85 var(--sc-font-display); letter-spacing: -0.06em; color: var(--bronce); }
.cupo__num small { font-size: var(--sc-t-sm); letter-spacing: 0.14em; text-transform: uppercase; margin-top: 0.6rem; }
.cupo h3 { font-size: var(--sc-t-xl); }
.cupo p { margin-top: var(--sc-2); color: var(--sc-ink-soft); }
.garantia {
  display: grid; grid-template-columns: auto 1fr; gap: clamp(1.5rem, 4vw, 3rem); align-items: start;
  margin-top: clamp(4rem, 7vw, 6rem); padding: clamp(1.8rem, 4vw, 3rem);
  border: 1px solid color-mix(in oklab, var(--bronce) 30%, transparent); border-radius: var(--r-caja);
  background: #FFFDF8; box-shadow: var(--sc-e1);
}
.garantia__sello { width: clamp(4rem, 8vw, 6rem); height: auto; aspect-ratio: 1; color: var(--bronce); stroke-width: 1.1; }
.garantia h3 { font-size: var(--sc-t-2xl); line-height: 1.05; }
.garantia p { color: var(--sc-ink-soft); max-width: 58ch; }
.garantia__remate { font: 700 var(--sc-t-lg)/1.3 var(--sc-font-display); color: var(--bronce) !important; }
.pasos { margin-top: clamp(4rem, 8vw, 7rem); }
.pasos__lista { list-style: none; margin: var(--sc-6) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.5rem, 3vw, 2.5rem); counter-reset: none; position: relative; }
.pasos__lista::before { content: ""; position: absolute; left: 1.6rem; right: 1.6rem; top: 1.6rem; height: 1px; background: color-mix(in oklab, var(--bronce) 35%, transparent); }
.pasos__lista li { position: relative; }
.pasos__lista li > span { display: grid; place-items: center; width: 3.2rem; height: 3.2rem; border-radius: 50%; background: var(--oro); color: var(--sc-accent-ink); font: 800 var(--sc-t-lg)/1 var(--sc-font-display); box-shadow: var(--sc-e1); }
.pasos__lista p { margin-top: var(--sc-4); font-weight: 600; max-width: 30ch; }
.pasos__accion { margin-top: var(--sc-7); display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.6rem; }
.pasos__accion p { font-size: var(--sc-t-sm); color: var(--sc-ink-soft); max-width: 52ch; }
.firma { display: grid; grid-template-columns: auto 1fr; gap: 0.3rem 1.2rem; align-items: center; margin-top: clamp(4rem, 7vw, 6rem); padding-top: var(--sc-6); border-top: 1px solid color-mix(in oklab, var(--sc-ink) 14%, transparent); max-width: 50rem; }
.firma img { grid-row: span 1; width: 4.5rem; height: 4.5rem; border-radius: 50%; object-fit: cover; object-position: 50% 12%; background: var(--sc-surface); }
.firma__nombre { font: 800 var(--sc-t-xl)/1 var(--sc-font-display); }
.firma__cargo { color: var(--sc-ink-soft); font-size: var(--sc-t-sm); margin-top: 0.3rem; }
.firma__pd { grid-column: 1 / -1; margin-top: var(--sc-5); color: var(--sc-ink-soft); }
.firma__pd b { color: var(--bronce); }

/* ======================================================= MASTERMIND IA == */
.mastermind { background: radial-gradient(60vw 70% at 72% 50%, rgb(232 184 77 / 0.28), transparent 70%), var(--sc-canvas); overflow: clip; }
.mastermind__grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
.mastermind__texto { color: var(--sc-ink-soft); }
.mastermind__texto .titulo-grande { color: var(--sc-ink); }
.mastermind__texto .titulo-grande span { color: var(--bronce); }
.mastermind__nuevo {
  display: inline-flex; align-items: center; gap: 0.6rem; padding: 0.5rem 1rem; border-radius: 999px;
  background: var(--sc-ink); color: #FCE8A1; font: 800 var(--sc-t-sm)/1 var(--sc-font-display); letter-spacing: 0.04em; text-transform: uppercase;
}
.mastermind__punto { width: 0.6rem; height: 0.6rem; border-radius: 50%; background: var(--oro); box-shadow: 0 0 0 3px rgb(217 165 55 / 0.35); animation: latido-mm 1.4s ease-in-out infinite; }
@keyframes latido-mm { 50% { opacity: 0.35; } }
.mastermind__lead { font: 700 var(--sc-t-lg)/1.45 var(--sc-font-display); letter-spacing: -0.01em; color: var(--sc-ink) !important; max-width: 34ch; }
.mastermind__boton { gap: 0.6rem; font-family: var(--sc-font-display); font-weight: 800; }
.mastermind__boton svg { width: 1.2rem; height: 1.2rem; transition: transform 180ms var(--sc-ease-out); }
@media (hover: hover) and (pointer: fine) { .mastermind__boton:hover svg { transform: translateX(3px); } }
.mastermind__flyer { position: relative; display: block; justify-self: center; width: min(24rem, 100%); perspective: 1200px; text-decoration: none; border-radius: 22px; }
.mastermind__halo { position: absolute; inset: -12%; border-radius: 50%; background: radial-gradient(circle, rgb(252 232 161 / 0.9), rgb(232 184 77 / 0.35) 45%, transparent 70%); filter: blur(8px); pointer-events: none; }
.mastermind__marco {
  position: relative; display: block; padding: 7px; border-radius: 22px; overflow: hidden;
  background: linear-gradient(150deg, #FCE8A1 0%, #E8B84D 30%, #C8931F 65%, #F3D98F 100%);
  box-shadow: var(--sc-e3), 0 30px 70px -20px rgb(200 147 31 / 0.55);
}
.mastermind__marco img { display: block; width: 100%; height: auto; border-radius: 16px; }
.mastermind__brillo {
  position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(105deg, transparent 35%, rgb(255 255 255 / 0.55) 50%, transparent 65%);
  transform: translateX(-120%); animation: brillo-mm 4.5s var(--sc-ease-out) 1s infinite;
}
@keyframes brillo-mm { 0% { transform: translateX(-120%); } 35%, 100% { transform: translateX(120%); } }
.mastermind__flyer:focus-visible { outline-offset: 8px; }
.mastermind__flyer:active .mastermind__marco { transform: scale(0.98); }

/* ================================================================ GUÍA == */
.guia { background: var(--sc-surface); padding-block: clamp(4rem, 7vw, 6.5rem); }
.guia__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.guia__grid > .sc-stack { color: var(--sc-ink-soft); }
.guia__grid .titulo-seccion { color: var(--sc-ink); }
.guia__gratis { font: 800 var(--sc-t-sm)/1 var(--sc-font-display); letter-spacing: 0.14em; text-transform: uppercase; color: var(--bronce); }
.guia__caja { padding: clamp(1.6rem, 3vw, 2.4rem); background: #FFFDF8; border-radius: var(--r-caja); box-shadow: var(--sc-e2); color: var(--sc-ink-soft); }
.guia__lista { list-style: none; margin: 0 0 var(--sc-5); padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem 1.2rem; color: var(--sc-ink); font-weight: 600; font-size: var(--sc-t-sm); }
.guia__lista li { display: flex; gap: 0.5rem; }
.guia__lista li::before { content: ""; flex: none; width: 0.9rem; height: 0.5rem; margin-top: 0.3rem; border-left: 2px solid var(--bronce); border-bottom: 2px solid var(--bronce); rotate: -45deg; }
.guia__titulo { font: 800 var(--sc-t-lg)/1.2 var(--sc-font-display); color: var(--sc-ink); margin-bottom: var(--sc-2); }
.guia__caja .boton-linea { margin-top: var(--sc-5); }
.guia__letra { margin-top: var(--sc-3); font-size: var(--sc-t-xs); }

/* ============================================================== CIERRE == */
.cierre__escena { background: radial-gradient(70vw 60vh at 12% 30%, rgb(232 184 77 / 0.22), transparent 70%), var(--sc-canvas); display: grid; grid-template-rows: 1fr auto; }
.cierre__escena { --k: clamp(0, calc(var(--sc-p) / 0.6), 1); }
.cierre__hoja, .cierre__texto { align-self: center; }
.cierre__escena > .cierre__hoja { position: absolute; left: var(--sc-gutter); top: 50%; translate: 0 -58%; }
.cierre__hoja {
  display: flex; flex-direction: column; align-items: flex-start;
  font-family: var(--sc-font-display); font-weight: 800; color: var(--bronce); line-height: 0.85;
}
.cierre__hoy { font-size: var(--sc-t-sm); letter-spacing: 0.2em; text-transform: uppercase; padding: 0.5rem 0.9rem; background: var(--oro); color: var(--sc-accent-ink); border-radius: 8px; }
.cierre__dia { font-size: clamp(8rem, 22vw, 20rem); letter-spacing: -0.06em; margin-top: 1rem; }
.cierre__mes { font-size: var(--sc-t-xl); letter-spacing: -0.01em; color: var(--sc-ink); margin-left: 0.4rem; }
.cierre__texto {
  position: absolute; right: var(--sc-gutter); top: 50%; translate: 0 -58%;
  width: min(40rem, 50vw);
}
.cierre__pd { font: 700 var(--sc-t-xl)/1.3 var(--sc-font-display); letter-spacing: -0.02em; text-wrap: pretty; }
.cierre__pd b { display: block; margin-bottom: var(--sc-3); font-size: var(--sc-t-sm); letter-spacing: 0.14em; color: var(--bronce); }
.cierre__texto .cta { margin-top: var(--sc-6); }
.pie {
  grid-row: 2; display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap;
  padding: 1rem var(--sc-gutter) calc(1rem + var(--dock-h) * 0);
  border-top: 1px solid color-mix(in oklab, var(--sc-ink) 12%, transparent);
  font-size: var(--sc-t-sm); color: var(--sc-ink-soft);
}
.pie img { height: 44px; width: auto; mix-blend-mode: multiply; }
.pie__lema { font-weight: 700; color: var(--sc-ink); }
.pie__legal { margin-left: auto; }

/* ========================================================== ALMANAQUE == */
.almanaque {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: var(--sc-z-chrome);
  height: var(--dock-h);
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: clamp(1rem, 3vw, 2.5rem);
  padding: 0 var(--sc-gutter) env(safe-area-inset-bottom);
  background: color-mix(in oklab, #FFFDF8 96%, transparent);
  border-top: 1px solid color-mix(in oklab, var(--bronce) 22%, transparent);
  box-shadow: 0 -10px 30px rgb(90 60 20 / 0.12);
  color: #1C150C;
  --sc-ink: #1C150C; --sc-ink-soft: #6B5E4A;
  transition: transform 320ms var(--sc-ease-out);
}
.almanaque[data-oculto] { transform: translateY(110%); }
.hoja { display: grid; grid-template-columns: 3.4rem auto; grid-template-rows: auto auto; column-gap: 0.9rem; align-items: center; }
.hoja__mes {
  grid-column: 1; grid-row: 1; text-align: center;
  font: 800 0.66rem/1 var(--sc-font-display); letter-spacing: 0.14em;
  padding: 0.28rem 0 0.24rem; background: var(--oro); color: var(--sc-accent-ink); border-radius: 7px 7px 0 0;
}
.hoja__dia {
  grid-column: 1; grid-row: 2; display: block; overflow: hidden; text-align: center; height: 2.1rem;
  font: 800 1.55rem/2.1rem var(--sc-font-display); letter-spacing: -0.04em; font-variant-numeric: tabular-nums;
  background: #FFFFFF; color: #14100A; border-radius: 0 0 7px 7px; box-shadow: inset 0 0 0 1px rgb(28 21 12 / 0.14);
}
.hoja__dia > span { display: block; }
.hoja__dia > span.cambia { animation: hoja-gira 200ms var(--sc-ease-out); }
@keyframes hoja-gira { from { transform: translateY(-55%); opacity: 0; } }
.hoja__etiqueta { grid-column: 2; grid-row: 1 / 3; max-width: 17ch; font-size: var(--sc-t-sm); line-height: 1.25; font-weight: 600; color: #1C150C; }

.riel-fechas { position: relative; height: 100%; min-width: 0; }
.riel-fechas__linea { position: absolute; left: 0; right: 0; top: 50%; height: 2px; background: rgb(28 21 12 / 0.12); border-radius: 2px; }
.riel-fechas__lleno { position: absolute; inset: 0; background: var(--oro); transform: scaleX(var(--f, 0)); transform-origin: 0 50%; border-radius: 2px; }
.riel-fechas__cabezal { position: absolute; top: 50%; left: calc(var(--f, 0) * 100%); width: 12px; height: 12px; translate: -50% -50%; border-radius: 50%; background: var(--destello); box-shadow: 0 0 0 4px rgb(217 165 55 / 0.3), 0 0 0 1px var(--bronce); }
.riel-fechas__hitos { list-style: none; margin: 0; padding: 0; position: absolute; inset: 0; }
.hito { position: absolute; top: 50%; left: calc(var(--x) * 100%); translate: -50% -50%; }
.hito button {
  position: relative; display: block; width: 26px; height: 26px; padding: 0; border: 0; background: none; cursor: pointer; color: inherit;
}
.hito button::before { content: ""; position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; translate: -50% -50%; border-radius: 50%; background: #FFFDF8; border: 1.5px solid rgb(28 21 12 / 0.4); transition: background-color 200ms, border-color 200ms; }
.hito.pasado button::before { background: var(--oro); border-color: var(--oro); }
.hito__txt {
  position: absolute; left: 50%; translate: -50% 0; white-space: nowrap; pointer-events: none;
  font: 700 0.64rem/1 var(--sc-font-text); letter-spacing: 0.1em; color: #6B5E4A;
}
.hito:nth-child(odd) .hito__txt { bottom: 100%; margin-bottom: 1px; }
.hito:nth-child(even) .hito__txt { top: 100%; margin-top: 1px; }
.hito.pasado .hito__txt { color: #1C150C; }
.almanaque__accion { display: flex; align-items: center; gap: 1rem; }
.almanaque__precio { font-size: var(--sc-t-xs); color: #6B5E4A; max-width: 12ch; line-height: 1.25; order: -1; text-align: right; }

/* =============================================================== VISOR == */
.visor { padding: 0; border: 0; background: transparent; width: min(1040px, 94vw); max-width: none; overflow: visible; }
.visor::backdrop { background: rgb(8 6 4 / 0.86); }
.visor__marco { border-radius: 12px; overflow: hidden; box-shadow: var(--sc-e3); background: #000; }
.visor__marco iframe { display: block; width: 100%; aspect-ratio: 16/9; border: 0; }
.visor__marco img { width: 100%; height: auto; background: #fff; }
.visor__cerrar {
  position: absolute; right: 0; top: -3.2rem; width: 2.6rem; height: 2.6rem; display: grid; place-items: center;
  border: 1px solid rgb(247 241 227 / 0.3); border-radius: 50%; background: #15110B; color: #F7F1E3; cursor: pointer;
}
.visor__cerrar svg { width: 1.1rem; height: 1.1rem; }

/* ============================================================== MÓVIL == */
@media (max-width: 1080px) {
  .metodo__cuerpo { grid-template-columns: 11rem 1fr; }
  .metodo__cierre { margin-left: 0; }
  .razones__mosaico { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 860px) {
  :root { --dock-h: 70px; }
  .queEs__grid, .neto__grid, .empresas, .recibes__grid, .negocios__grid, .resenas, .faq__grid, .guia__grid, .mastermind__grid { grid-template-columns: 1fr; }
  .mastermind__flyer { width: min(20rem, 88%); }
  .accion__grid { grid-template-columns: 1fr; }
  .testimonio--grande { grid-row: auto; }
  .dicen__fila { grid-template-columns: 1fr; }
  .dicen__fila > :nth-child(n) { margin-top: 0; }
  .razones__mosaico { grid-template-columns: 1fr; }
  .metodo__cuerpo { grid-template-columns: 1fr; }
  .escalera { display: none; }
  .neto__foto { height: 62vh; order: -1; }
  .mes { position: static; }
  .boleto--dia { grid-template-columns: 1fr; }
  .boleto--dia .boleto__talon { border-left: 0; border-top: 2px dashed color-mix(in oklab, var(--bronce) 28%, transparent); }
  .boleto--dia .boleto__talon::before { top: -13px; left: -13px; bottom: auto; clip-path: inset(0 0 0 50%); }
  .boleto--dia .boleto__talon::after { top: -13px; bottom: auto; left: auto; right: -13px; clip-path: inset(0 50% 0 0); }
  .pasos__lista { grid-template-columns: 1fr; }
  .pasos__lista::before { left: 1.6rem; right: auto; top: 1.6rem; bottom: 1.6rem; width: 1px; height: auto; }
  .pasos__lista li { display: grid; grid-template-columns: 3.2rem 1fr; gap: 1rem; align-items: center; }
  .pasos__lista p { margin-top: 0; }
  .almanaque { grid-template-columns: auto 1fr; gap: 0.8rem; }
  .riel-fechas { position: absolute; left: 0; right: 0; top: 0; height: 2px; }
  .riel-fechas__linea { top: 0; }
  .riel-fechas__hitos, .riel-fechas__cabezal { display: none; }
  .almanaque__accion { justify-self: end; }
  .almanaque__precio { display: none; }
  .hoja__etiqueta { max-width: 13ch; font-size: var(--sc-t-xs); }
}
@media (max-width: 700px) {
  .franja { font-size: var(--sc-t-xs); gap: 0.6rem; }
  .escalon__precio { white-space: normal; }
  .franja__simbolo { height: 18px; }
  .hero__fecha { top: 3svh; right: 2vw; }
  .hero__dia { font-size: 34svh; }
  .hero__mes { font-size: 6svh; }
  .hero__bucle { width: 120vw; left: -10vw; top: 44svh; }
  .hero__pantalla { right: var(--sc-gutter); top: auto; bottom: calc(2.5svh + 60px); translate: none; gap: 0.55rem; align-items: flex-end; }
  .pantalla__marco { width: calc(100vw - 2 * var(--sc-gutter)); padding: 5px; border-radius: 22px; }
  .pantalla__marco > * { border-radius: 18px; }
  .pantalla__etiqueta { font-size: 1rem; padding: 0.5rem 0.9rem; gap: 0.5rem; box-shadow: var(--sc-e2), 0 0 0 2px var(--oro); }
  .pantalla__punto { width: 0.6rem; height: 0.6rem; }
  .pantalla__zoom { font-size: 0.95rem; }
  .pantalla__boton { width: 4.2rem; }
  .pantalla__cta { font-size: var(--sc-t-sm); padding: 0.5rem 1rem; }
  .hero__copy { top: 7svh; translate: none; width: fit-content; max-width: calc(100vw - 2 * var(--sc-gutter)); }
  .hero__titulo { font-size: clamp(1.8rem, 8.2vw, 2.4rem); margin-top: var(--sc-4); }
  .hero__para { margin: var(--sc-3) 0 var(--sc-5); font-size: var(--sc-t-lg); }
  .hero__piso { height: 14svh; }
  .giro__texto { top: 46%; }
  .giro__bucle { width: 150vw; right: -60vw; top: 60svh; }
  .pregunta__costo { top: 9svh; right: var(--sc-gutter); font-size: var(--sc-t-lg); }
  .pregunta__par { bottom: 8svh; }
  .pregunta__nueva .pregunta__texto { font-size: clamp(1.9rem, 8.4vw, 2.4rem); }
  .riel__p { grid-template-columns: 1.6rem 1fr; font-size: var(--sc-t-sm); }
  .riel__p--fuerte { font-size: var(--sc-t-base); }
  .silla { min-height: 56svh; }
  .amanecer__treinta span { font-size: 30svh; }
  .amanecer__titulo { font-size: clamp(2.1rem, 9.6vw, 2.7rem); }
  .amanecer__relato { font-size: var(--sc-t-base); margin-top: var(--sc-5); }
  .amanecer__metodo { font-size: var(--sc-t-lg); margin-top: var(--sc-5); }
  .resenas__pila { grid-template-columns: 1fr; }
  .escritos__fila { grid-template-columns: 1fr; }
  .guia__lista { grid-template-columns: 1fr; }
  .fila { grid-template-columns: 6rem 1fr auto; gap: 0.8rem; }
  .fila q { font-size: var(--sc-t-base); }
  .cierre__escena > .cierre__hoja { top: 7svh; translate: none; flex-direction: row; align-items: baseline; gap: 0.6rem; flex-wrap: wrap; }
  .cierre__dia { font-size: 5.5rem; margin-top: 0; }
  .cierre__texto { left: var(--sc-gutter); right: var(--sc-gutter); width: auto; top: 22svh; translate: none; }
  .cierre__pd { font-size: var(--sc-t-lg); }
  .pie { gap: 0.4rem 1rem; }
  .pie img { height: 34px; }
  .pie__legal { margin-left: 0; width: 100%; }
}

@media (max-width: 700px) and (max-height: 720px) {
  .pantalla__marco { width: min(calc(100vw - 2 * var(--sc-gutter)), 52svh); }
  .pantalla__etiqueta { font-size: 0.9rem; }
  .hero__copy { top: 5svh; }
  .hero__titulo { font-size: 1.7rem; }
  .hero__para { margin: var(--sc-2) 0 var(--sc-4); }
}

/* ===================================================== MENOS MOVIMIENTO == */
@media (prefers-reduced-motion: reduce) {
  .hero__fecha, .hero__pantalla, .hero__bucle, .hero__luz, .hero__polvo i, .amanecer__treinta { transform: none !important; }
  .hero__bucle path { animation: none; stroke-dashoffset: 0; }
  .pantalla__onda, .pantalla__punto, .pantalla__etiqueta, .mastermind__punto, .mastermind__brillo { animation: none; }
  .amanecer__sol { translate: -50% 40%; opacity: var(--s); }
  .amanecer__dia { clip-path: none; opacity: var(--d); }
  .silla:nth-child(n) { translate: none; }
  .hoja__dia > span.cambia { animation: none; }
  .mes__cuadro li.sesion { transition-delay: 0ms; }
}
