/* Mastermind Semanal de IA · Millonarios del Tiempo
   Gramática: órbita. Marfil y oro. 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);
  --sc-maxw: 74rem;

  --oro: #D9A537;
  --oro-claro: #E8B84D;
  --destello: #FCE8A1;
  --bronce: #7A4A0A;
  --acento-texto: var(--bronce);
  --alterno: #F4ECDA;
  --arena: #EDE1C8;
  --r-boton: 14px;
  --r-caja: 22px;
  --barra-movil: 0px;
}

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; opacity: 0.035; }
.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); }

/* ------------------------------------------------------------ botones -- */
.cta {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 3.35rem; padding: 0 1.8rem;
  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.6);
  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--ancho { width: 100%; }
.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(--bronce) 60%, transparent); border-radius: var(--r-boton);
  color: var(--sc-ink); font-weight: 600; text-decoration: none;
  transition: background-color 160ms var(--sc-ease-out), transform 160ms var(--sc-ease-out);
}
.boton-linea:active { transform: scale(0.98); }
@media (hover: hover) and (pointer: fine) { .boton-linea:hover { background: color-mix(in oklab, var(--oro) 14%, transparent); } }

/* -------------------------------------------------------------- barra -- */
.barra {
  position: relative; z-index: 6;
  display: flex; align-items: center; gap: 1rem;
  padding: 0.6rem var(--sc-gutter);
  background: var(--alterno); border-bottom: 1px solid var(--sc-hairline);
}
.barra__marca img { height: 24px; width: auto; }
.barra__aviso { flex: 1; text-align: center; font-size: var(--sc-t-sm); font-weight: 600; color: var(--sc-ink); }
.barra__sep { color: var(--bronce); padding-inline: 0.3rem; }
[data-p="aviso"], [data-aviso-precio] { color: var(--bronce); }

/* =============================================================== HERO == */
.hero {
  --h: 0; --mx: 0; --my: 0;
  position: relative; overflow: clip;
  min-height: calc(100svh - 44px);
  display: grid; grid-template-columns: 1fr; align-items: center;
  background:
    radial-gradient(50vw 60vh at 74% 48%, rgb(232 184 77 / 0.32), transparent 70%),
    radial-gradient(40vw 50vh at 10% 100%, rgb(217 165 55 / 0.12), transparent 70%),
    var(--sc-canvas);
}
.hero__luz { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(24vw 26vh at 70% 30%, rgb(255 246 216 / 0.8), transparent 70%); }
.hero__anillo {
  position: absolute; width: min(66vh, 44vw); right: 12vw; top: 50%; translate: 0 -50%;
  pointer-events: none; overflow: visible;
  transform: translate3d(calc(var(--mx) * -8px), calc(var(--h) * 24vh + var(--my) * -6px), 0) rotate(calc(var(--h) * 120deg + var(--giro, 0deg)));
}
.hero__anillo text { font: 800 22px var(--sc-font-display); letter-spacing: 0.08em; fill: rgb(122 74 10 / 0.5); stroke: none; }
.hero__anillo-linea { stroke: rgb(217 165 55 / 0.5); stroke-width: 1; }
.hero__copy { position: relative; z-index: 4; padding-block: clamp(3rem, 8vh, 6rem); }
.hero__copy > * { max-width: 36rem; }
/* La caja del texto ocupa todo el ancho y tapaba la tarjeta del video: solo su contenido recibe clics. */
.hero__copy { pointer-events: none; }
.hero__copy > * { pointer-events: auto; }
.hero__lema { font: 700 var(--sc-t-xs)/1 var(--sc-font-text); letter-spacing: 0.18em; text-transform: uppercase; color: var(--bronce); }
.hero__titulo { margin-top: var(--sc-5); font-size: clamp(3.2rem, 1.6rem + 5vw, 6.8rem); line-height: 0.94; letter-spacing: -0.045em; }
.hero__titulo span { display: block; color: var(--bronce); }
.hero__sub { margin-top: var(--sc-5); max-width: 30rem; font-size: var(--sc-t-lg); line-height: 1.45; color: var(--sc-ink-soft); }
.hero__accion { margin-top: var(--sc-7); display: flex; align-items: center; gap: 1.2rem 1.4rem; flex-wrap: wrap; }
.hero__precio { display: flex; flex-direction: column; gap: 0.2rem; font-size: var(--sc-t-sm); color: var(--sc-ink-soft); }
.hero__precio b { font: 800 var(--sc-t-lg)/1.1 var(--sc-font-display); letter-spacing: -0.02em; }

.hero__escena { position: absolute; inset: 0; pointer-events: none; }
.hero__video {
  pointer-events: auto;
  position: absolute; left: 50vw; bottom: 6vh; z-index: 4;
  width: clamp(19rem, 31vw, 32rem); padding: 0; border: 0; cursor: pointer; text-align: left;
  background: var(--sc-surface); border-radius: 18px; overflow: hidden;
  box-shadow: var(--sc-e3);
  transform: translate3d(calc(var(--mx) * 10px), calc(var(--h) * 13vh + var(--my) * 8px), 0) rotate(-3deg);
  transition: box-shadow 200ms var(--sc-ease-out);
}
.hero__video img { width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; }
.hero__video-pie { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: center; padding: 1.1rem 1.3rem 1.25rem; color: var(--sc-ink); }
.hero__video-pie b { display: block; font: 800 clamp(1.15rem, 0.8rem + 0.8vw, 1.6rem)/1.1 var(--sc-font-display); }
.hero__video-pie span span { display: block; margin-top: 0.35rem; font-size: clamp(0.85rem, 0.7rem + 0.3vw, 1.05rem); line-height: 1.4; color: var(--sc-ink-soft); }
.hero__video-play { display: grid; place-items: center; width: 3.6rem; height: 3.6rem; border-radius: 50%; background: var(--oro); color: var(--sc-accent-ink); box-shadow: 0 0 0 5px rgb(252 232 161 / 0.5); }
.hero__video-play svg { width: 1.5rem; height: 1.5rem; margin-left: 3px; }
.hero__video:active { transform: translate3d(0, calc(var(--h) * 13vh), 0) rotate(-3deg) scale(0.98); }
@media (hover: hover) and (pointer: fine) { .hero__video:hover { box-shadow: var(--sc-e3), 0 0 0 2px var(--oro); } }
.hero__neto {
  position: absolute; right: -2vw; bottom: 0; z-index: 3;
  height: min(80svh, 54vw * 1.58); width: auto; max-width: none;
  -webkit-mask-image: linear-gradient(to top, transparent 0, #000 9%); mask-image: linear-gradient(to top, transparent 0, #000 9%);
  transform: translate3d(calc(var(--mx) * 18px), calc(var(--h) * 5vh + var(--my) * 10px), 0) scale(calc(1 + var(--h) * 0.04));
  transform-origin: 50% 100%;
}
.hero__polvo { position: absolute; inset: 0; z-index: 5; }
.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.95), rgb(217 165 55 / 0.4) 45%, transparent 70%); filter: blur(var(--b, 1px)); transform: translate3d(calc(var(--mx) * var(--f) * 24px), calc(var(--h) * var(--f) * -40vh), 0); }
.hero__polvo i:nth-child(1) { --x: 62%; --y: 80%; --t: 40px; --f: 2.4; --b: 7px; }
.hero__polvo i:nth-child(2) { --x: 94%; --y: 30%; --t: 18px; --f: 1.6; --b: 3px; }
.hero__polvo i:nth-child(3) { --x: 50%; --y: 22%; --t: 9px; --f: 1.2; }
.hero__polvo i:nth-child(4) { --x: 78%; --y: 92%; --t: 60px; --f: 3; --b: 12px; }
.hero__polvo i:nth-child(5) { --x: 44%; --y: 60%; --t: 6px; --f: 1; }

/* -------------------------------------------------------------- banda -- */
.banda { background: var(--sc-ink); color: #F7F1E3; --sc-ink: #F7F1E3; }
.banda__lista { list-style: none; margin: 0 auto; padding-block: 1.3rem; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem 2rem; font-weight: 600; }
.banda__lista li { display: flex; align-items: center; gap: 0.6rem; }
.banda__lista svg { width: 1.35rem; height: 1.35rem; color: var(--oro); }
.banda__sabado b { color: var(--oro); }

/* ========================================================= INVITACIÓN == */
.invitacion__escena { background: var(--sc-canvas); }
.invitacion__de { position: absolute; left: var(--sc-gutter); top: 14vh; font: 700 var(--sc-t-xs)/1 var(--sc-font-text); letter-spacing: 0.16em; text-transform: uppercase; color: var(--bronce); }
.invitacion__titulo { position: absolute; left: var(--sc-gutter); right: var(--sc-gutter); top: 50%; translate: 0 -55%; max-width: 20ch; font-size: clamp(2.6rem, 1.4rem + 4.4vw, 5.6rem); line-height: 0.98; letter-spacing: -0.045em; }
.invitacion__p { position: absolute; left: var(--sc-gutter); right: var(--sc-gutter); top: 50%; translate: 0 -50%; max-width: 32ch; font: 700 var(--sc-t-2xl)/1.18 var(--sc-font-display); letter-spacing: -0.03em; color: var(--sc-ink-soft); }
.invitacion__quiero { position: absolute; left: var(--sc-gutter); right: var(--sc-gutter); top: 50%; translate: 0 -50%; max-width: 26ch; font: 700 var(--sc-t-2xl)/1.18 var(--sc-font-display); letter-spacing: -0.03em; }
.invitacion__quiero strong { color: var(--bronce); }

/* ========================================================== OBJETIVOS == */
.objetivos { background: var(--alterno); padding-block: clamp(2.5rem, 4vw, 3.5rem) clamp(4rem, 8vw, 7rem); }
.objetivos__grid { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.objetivos__titulo { font-size: var(--sc-t-2xl); line-height: 1.05; position: sticky; top: 16vh; }
.objetivos__lista { list-style: none; margin: 0; padding: 0; }
.objetivos__lista li { display: grid; grid-template-columns: 3.2rem 1fr; gap: 1.2rem; align-items: center; padding-block: 1.1rem; border-bottom: 1px solid color-mix(in oklab, var(--sc-ink) 12%, transparent); font: 700 var(--sc-t-xl)/1.15 var(--sc-font-display); letter-spacing: -0.025em; color: var(--sc-ink-soft); }
.objetivos__lista li b { color: var(--sc-ink); font-weight: 800; }
.objetivos__lista svg { width: 3.2rem; height: 3.2rem; padding: 0.7rem; border-radius: 50%; background: var(--sc-surface); color: var(--bronce); box-shadow: var(--sc-e1); stroke-width: 1.5; }

/* =============================================================== NETO == */
.neto { background: var(--sc-canvas); overflow: clip; }
.neto__grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
.neto__foto { position: relative; margin: 0; aspect-ratio: 1 / 1.12; }
.neto__disco {
  position: absolute; left: 4%; right: 4%; bottom: 0; aspect-ratio: 1; border-radius: 50%;
  background: radial-gradient(circle at 50% 35%, #FFF3D0, #F0CF86 55%, #D9A537 100%);
  box-shadow: inset 0 0 0 6px rgb(255 253 248 / 0.7), var(--sc-e2);
}
.neto__foto img {
  position: absolute; left: 50%; bottom: 0; translate: -50% 0; height: 100%; width: auto; max-width: none;
  -webkit-mask-image: linear-gradient(to top, transparent 0, #000 22%); mask-image: linear-gradient(to top, transparent 0, #000 22%);
}
.neto__texto { color: var(--sc-ink-soft); }
.neto__texto .titulo-grande { color: var(--sc-ink); }
.neto__remate { font: 800 var(--sc-t-xl)/1.18 var(--sc-font-display) !important; letter-spacing: -0.025em; color: var(--bronce); padding-top: var(--sc-4); }

/* ========================================================== MEMBRESÍA == */
.membresia { background: var(--alterno); }
.membresia__cabeza { max-width: 40rem; }
.membresia__cabeza .titulo-grande { margin-top: var(--sc-3); }
.mosaico { display: grid; grid-template-columns: repeat(6, 1fr); grid-auto-rows: minmax(11rem, auto); gap: clamp(0.9rem, 1.8vw, 1.4rem); margin-top: var(--sc-7); }
.pieza { position: relative; padding: clamp(1.4rem, 2.4vw, 2rem); background: var(--sc-surface); border-radius: var(--r-caja); box-shadow: var(--sc-e2), var(--sc-edge); display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; }
.pieza h3 { font-size: var(--sc-t-lg); line-height: 1.12; letter-spacing: -0.02em; }
.pieza p:last-child { margin-top: 0.35rem; font-size: var(--sc-t-sm); color: var(--sc-ink-soft); }
.pieza__cifra { font: 800 clamp(4rem, 3rem + 4vw, 7.5rem)/0.85 var(--sc-font-display); letter-spacing: -0.06em; color: var(--bronce); font-variant-numeric: tabular-nums; margin-bottom: auto !important; }
.pieza__cifra small { font-size: 0.26em; letter-spacing: 0; margin-left: 0.3rem; }
.pieza__icono { width: 2.6rem; height: 2.6rem; color: var(--bronce); margin-bottom: auto; stroke-width: 1.4; }
.pieza--a { grid-column: span 3; grid-row: span 2; background: linear-gradient(150deg, #FFF3D0, #F3D98F 70%, #E8C063); }
.pieza--a .pieza__cifra { font-size: clamp(8rem, 5rem + 10vw, 15rem); color: #3A2606; }
.pieza--a p:last-child { color: #4A3F31; }
.pieza--b { grid-column: span 3; }
.pieza--c { grid-column: span 3; }
.pieza--d, .pieza--e, .pieza--f { grid-column: span 2; }
.pieza--f { background: var(--sc-ink); color: #F7F1E3; --sc-ink: #F7F1E3; }
.pieza--f p:last-child { color: #CFC3A8; }
.pieza--f .pieza__icono { color: var(--oro); }

/* ============================================================ SÁBADOS == */
.sabados { --t: clamp(0, calc((var(--sc-p) - 0.04) / 0.9), 1); }
.sabados__escena { background: var(--sc-canvas); display: grid; grid-template-columns: 1fr 1fr; align-items: center; padding-inline: var(--sc-gutter); gap: 4vw; }
.sabados__cabeza { position: absolute; left: var(--sc-gutter); top: 9vh; max-width: 40rem; }
.sabados__titulo { margin-top: var(--sc-3); font-size: var(--sc-t-2xl); line-height: 1.05; }
.reloj { position: relative; justify-self: center; width: min(52vh, 36vw); margin-top: 12vh; }
.reloj svg { width: 100%; overflow: visible; }
.reloj__cara { fill: var(--sc-surface); stroke: color-mix(in oklab, var(--bronce) 25%, transparent); stroke-width: 1; filter: drop-shadow(0 12px 30px rgb(90 60 20 / 0.14)); }
.reloj__arco-base { stroke: color-mix(in oklab, var(--oro) 25%, transparent); stroke-width: 6; }
.reloj__arco { stroke: var(--oro); stroke-width: 6; stroke-dasharray: 1 1; stroke-dashoffset: calc(1 - var(--t)); }
.reloj__marcas line { stroke: var(--sc-ink-soft); stroke-width: 1.4; }
.reloj__marcas line.mayor { stroke: var(--sc-ink); stroke-width: 2.4; }
.reloj__marcas text { font: 700 11px var(--sc-font-display); fill: var(--sc-ink-soft); stroke: none; text-anchor: middle; dominant-baseline: middle; }
.reloj__hora, .reloj__minuto { stroke: var(--sc-ink); stroke-linecap: round; transform-origin: 100px 100px; }
.reloj__hora { stroke-width: 5; transform: rotate(calc(-60deg + var(--t) * 60deg)); }
.reloj__minuto { stroke-width: 3; stroke: var(--bronce); transform: rotate(calc(var(--t) * 720deg)); }
.reloj__eje { fill: var(--oro); stroke: var(--sc-ink); stroke-width: 1.5; }
.reloj__digital { position: absolute; left: 50%; bottom: 22%; translate: -50% 0; font: 800 var(--sc-t-lg)/1 var(--sc-font-display); font-variant-numeric: tabular-nums; letter-spacing: -0.02em; }
.reloj__digital small { font-size: 0.55em; margin-left: 0.3em; color: var(--sc-ink-soft); }
.sabados__horas { position: relative; height: 40vh; margin-top: 12vh; }
.hora { position: absolute; inset: 0 auto auto 0; max-width: 28rem; }
.hora__num { font: 700 var(--sc-t-xs)/1 var(--sc-font-text); letter-spacing: 0.16em; text-transform: uppercase; color: var(--bronce); }
.hora h3 { margin-top: var(--sc-4); font-size: var(--sc-t-3xl); line-height: 0.98; letter-spacing: -0.04em; }
.hora p:last-child { margin-top: var(--sc-5); font-size: var(--sc-t-lg); line-height: 1.5; color: var(--sc-ink-soft); }

/* ============================================================== SILLA == */
.silla__escena { background: var(--alterno); display: flex; align-items: center; }
.riel { align-items: center; gap: clamp(1rem, 2vw, 1.5rem); padding-inline: var(--sc-gutter) calc(var(--sc-gutter) + 8rem); }
.riel > * { flex: none; }
.riel__inicio { width: min(30rem, 82vw); padding-right: 2rem; }
.riel__inicio .titulo-grande { margin-top: var(--sc-4); font-size: var(--sc-t-2xl); }
.columna { display: grid; gap: clamp(1rem, 2vw, 1.5rem); }
.columna:nth-child(odd) { translate: 0 4vh; }
.caso {
  width: clamp(13rem, 17vw, 16rem); aspect-ratio: 1 / 0.92;
  display: flex; flex-direction: column; justify-content: space-between;
  padding: 1.3rem; background: var(--sc-surface); border-radius: var(--r-caja);
  box-shadow: var(--sc-e2), var(--sc-edge);
  font: 800 var(--sc-t-lg)/1.12 var(--sc-font-display); letter-spacing: -0.02em;
}
.caso svg { width: 2.6rem; height: 2.6rem; color: var(--bronce); stroke-width: 1.4; }

/* =========================================================== SILENCIO == */
.silencio { background: var(--sc-canvas); padding-block: clamp(7rem, 22vh, 14rem); }
.silencio__frase { font: 800 clamp(2.4rem, 1rem + 5vw, 6rem)/1 var(--sc-font-display); letter-spacing: -0.045em; color: var(--sc-ink-soft); }
.silencio__frase span { display: block; color: var(--sc-ink); }

/* ======================================================== EL PICO: BONO = */
.bono__escena {
  background: radial-gradient(60vw 70vh at 30% 55%, rgb(232 184 77 / calc(0.14 + var(--listo, 0) * 0.3)), transparent 70%), var(--sc-canvas);
  display: grid; grid-template-columns: 1.05fr 0.95fr; align-items: center; gap: 4vw; padding-inline: var(--sc-gutter);
}
.orbita { position: relative; justify-self: center; width: min(78vh, 44vw); aspect-ratio: 1; }
.orbita svg { width: 100%; height: 100%; overflow: visible; }
.orbita__base { stroke: color-mix(in oklab, var(--bronce) 16%, transparent); stroke-width: 14; }
.orbita__meses path { stroke: var(--oro); stroke-width: 14; stroke-linecap: butt; stroke-dasharray: 1 1; }
.orbita__sabados circle { fill: var(--sc-surface); stroke: color-mix(in oklab, var(--bronce) 45%, transparent); stroke-width: 1.5; transition: fill 200ms var(--sc-ease-out); }
.orbita__sabados circle.lit { fill: var(--oro); stroke: var(--bronce); }
.orbita__centro { position: absolute; inset: 22%; border-radius: 50%; display: grid; place-items: center; text-align: center; }
.orbita__centro::before { content: ""; position: absolute; inset: 0; border-radius: 50%; background: radial-gradient(circle, #FFF6D8, #F3D98F 70%, #E8B84D); opacity: var(--listo, 0); transform: scale(calc(0.85 + var(--listo, 0) * 0.15)); box-shadow: 0 20px 60px rgb(200 147 31 / 0.35); }
.orbita__mes { position: relative; display: grid; font: 800 var(--sc-t-2xl)/1 var(--sc-font-display); letter-spacing: -0.03em; }
.orbita__mes span { grid-area: 1 / 1; opacity: 0; transition: opacity 200ms var(--sc-ease-out); }
.orbita__mes span.activo { opacity: calc(1 - var(--listo, 0)); }
.orbita__premio { position: absolute; display: flex; flex-direction: column; align-items: center; opacity: var(--listo, 0); transform: scale(calc(0.8 + var(--listo, 0) * 0.2)); color: #3A2606; }
.orbita__premio b { font: 800 clamp(5rem, 3rem + 6vw, 10rem)/0.85 var(--sc-font-display); letter-spacing: -0.06em; color: #3A2606; }
.orbita__premio span { font: 800 var(--sc-t-lg)/1 var(--sc-font-display); letter-spacing: 0.1em; text-transform: uppercase; }
.bono__texto { position: relative; height: 70vh; }
.bono__kicker { font: 800 var(--sc-t-xl)/1 var(--sc-font-display); letter-spacing: 0.06em; text-transform: uppercase; color: var(--bronce); }
.bono__regla { position: absolute; top: 18%; max-width: 30ch; font: 700 var(--sc-t-xl)/1.3 var(--sc-font-display); letter-spacing: -0.02em; color: var(--sc-ink-soft); }
.bono__titulo { position: absolute; top: 18%; max-width: 14ch; font-size: clamp(2.6rem, 1.4rem + 3.6vw, 5rem); line-height: 0.98; letter-spacing: -0.045em; }
.bono__importante { position: absolute; bottom: 4%; max-width: 34rem; display: grid; grid-template-columns: 1.6rem 1fr; gap: 0.8rem; padding: 1rem 1.2rem; background: var(--sc-surface); border-radius: 14px; box-shadow: var(--sc-e1); font-size: var(--sc-t-sm); color: var(--sc-ink-soft); }
.bono__importante svg { width: 1.5rem; height: 1.5rem; color: #B3261E; }

/* ========================================================== HISTORIAS == */
.historias { background: var(--alterno); }
.historias__cabeza { display: flex; justify-content: space-between; align-items: end; gap: 2rem; }
.historias__cabeza .titulo-grande { margin-top: var(--sc-3); max-width: 18ch; }
.carrusel__botones { display: flex; gap: 0.6rem; flex: none; }
.carrusel__btn { display: grid; place-items: center; width: 3.2rem; height: 3.2rem; border-radius: 50%; border: 1px solid color-mix(in oklab, var(--bronce) 45%, transparent); background: var(--sc-surface); color: var(--sc-ink); cursor: pointer; transition: background-color 160ms, transform 160ms var(--sc-ease-out); }
.carrusel__btn svg { width: 1.3rem; height: 1.3rem; }
.carrusel__btn:active { transform: scale(0.95); }
.carrusel__btn:disabled { opacity: 0.35; cursor: default; }
@media (hover: hover) and (pointer: fine) { .carrusel__btn:not(:disabled):hover { background: var(--oro); } }
.carrusel {
  list-style: none; margin: var(--sc-7) 0 0; padding: 0.5rem max(var(--sc-gutter), calc((100vw - var(--sc-maxw)) / 2 + var(--sc-gutter))) 1.5rem;
  display: flex; gap: 1.4rem; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: max(var(--sc-gutter), calc((100vw - var(--sc-maxw)) / 2 + var(--sc-gutter)));
  scrollbar-width: none; overscroll-behavior-x: contain;
}
.carrusel::-webkit-scrollbar { display: none; }
.historia { flex: none; width: clamp(16rem, 26vw, 23rem); scroll-snap-align: start; }
.historia q { display: block; margin-top: var(--sc-4); font: 700 var(--sc-t-lg)/1.25 var(--sc-font-display); letter-spacing: -0.02em; }
.historia > span { display: block; margin-top: var(--sc-2); font-size: var(--sc-t-xs); font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--bronce); }
.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: 3.6rem; height: 3.6rem; border-radius: 50%; background: var(--oro); color: var(--sc-accent-ink); box-shadow: 0 6px 20px rgb(0 0 0 / 0.3); transition: transform 180ms var(--sc-ease-out); }
.video__play svg { width: 1.4rem; height: 1.4rem; margin-left: 3px; }
@media (hover: hover) and (pointer: fine) { .video:hover img { transform: scale(1.03); } .video:hover .video__play { transform: scale(1.08); } }
.escritos { margin-top: clamp(4rem, 8vw, 6rem); }
.escritos__cabeza .titulo-seccion { margin-top: var(--sc-3); }
.escritos__nota { margin-top: var(--sc-3); font-size: var(--sc-t-sm); color: var(--sc-ink-soft); }
.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); }
.precio { padding-bottom: clamp(5rem, 10vw, 8rem); }
.pie--final { margin-top: 0; }
.resenas { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-top: var(--sc-7); }
.resena { display: block; padding: 0.55rem 0.55rem 0.8rem; border: 0; cursor: zoom-in; text-align: left; background: #fff; border-radius: 12px; box-shadow: var(--sc-e2); color: var(--sc-ink); transition: transform 180ms var(--sc-ease-out); }
.resena img { width: 100%; height: 6.5rem; object-fit: cover; object-position: top; border-radius: 7px; }
.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); } }

/* ========================================================== GARANTÍA == */
.garantia { background: var(--sc-canvas); }
.garantia__grid { display: grid; grid-template-columns: auto 1fr; gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
.sello { position: relative; width: clamp(12rem, 22vw, 18rem); aspect-ratio: 1; }
.sello svg { width: 100%; height: 100%; transform: rotate(var(--giro-sello, 0deg)); }
.sello__borde { fill: #F3D98F; stroke: var(--bronce); stroke-width: 1.5; stroke-dasharray: 3 4; }
.sello__centro { fill: var(--sc-surface); stroke: var(--bronce); stroke-width: 1.5; }
.sello__texto { font: 800 12px var(--sc-font-display); letter-spacing: 0.1em; fill: #3A2606; stroke: none; }
.sello__cifra { position: absolute; inset: 0; display: grid; place-items: center; font: 800 clamp(2.4rem, 1.6rem + 2.4vw, 3.6rem)/1 var(--sc-font-display); letter-spacing: -0.05em; color: var(--bronce); }
.garantia__grid .sc-stack { color: var(--sc-ink-soft); max-width: 40rem; }
.garantia__grid .titulo-grande { color: var(--sc-ink); }
.garantia__lead { font: 700 var(--sc-t-xl)/1.25 var(--sc-font-display); color: var(--sc-ink) !important; letter-spacing: -0.02em; }

/* ============================================================== GUÍA == */
.guia { background: var(--arena); padding-block: clamp(4rem, 7vw, 6rem); }
.guia__grid { display: grid; grid-template-columns: 1.1fr 0.9fr; 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__lista { list-style: none; padding: 0; margin: 0; color: var(--sc-ink); font-weight: 600; }
.guia__lista li { display: flex; gap: 0.6rem; padding-block: 0.3rem; }
.guia__lista li::before { content: ""; flex: none; width: 0.9rem; height: 0.5rem; margin-top: 0.35rem; border-left: 2px solid var(--bronce); border-bottom: 2px solid var(--bronce); rotate: -45deg; }
.guia__sellos { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.guia__sellos span { padding: 0.35rem 0.8rem; border-radius: 8px; background: var(--sc-surface); font: 700 var(--sc-t-xs)/1.2 var(--sc-font-text); letter-spacing: 0.08em; text-transform: uppercase; color: var(--bronce); }
.guia__caja { padding: clamp(1.6rem, 3vw, 2.4rem); background: var(--sc-surface); border-radius: var(--r-caja); box-shadow: var(--sc-e2); color: var(--sc-ink-soft); }
.guia__titulo { font: 800 var(--sc-t-xl)/1.1 var(--sc-font-display); color: var(--sc-ink); margin-bottom: var(--sc-3); }
.guia__imagen { display: block; width: 100%; height: auto; border-radius: calc(var(--r-caja) * 0.6); box-shadow: var(--sc-e1); }
.guia__caja .boton-linea { margin-top: var(--sc-5); }
.guia__letra { margin-top: var(--sc-3); font-size: var(--sc-t-xs); }

/* ============================================================= PRECIO == */
.precio { min-height: 100svh; display: flex; flex-direction: column; justify-content: center; padding-top: clamp(5rem, 10vw, 8rem); background: radial-gradient(60vw 60vh at 70% 40%, rgb(232 184 77 / 0.28), transparent 70%), var(--sc-canvas); }
.precio__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
.precio__monto { display: block; color: var(--bronce); }
.precio__cuando { font-size: var(--sc-t-lg); color: var(--sc-ink-soft); }
.tarjeta { perspective: 1200px; }
.tarjeta__cuerpo {
  position: relative; padding: clamp(1.8rem, 3vw, 2.6rem); border-radius: 26px;
  background: linear-gradient(160deg, #FFFDF8 0%, #FBF1D8 60%, #F3DFA8 100%);
  border: 1px solid color-mix(in oklab, var(--oro) 55%, transparent);
  box-shadow: var(--sc-e3), inset 0 1px 0 #fff;
}
.tarjeta__emblema { position: relative; width: 7.5rem; aspect-ratio: 1; margin-bottom: var(--sc-4); }
.tarjeta__emblema img { position: absolute; inset: 10%; width: 80%; height: 80%; mix-blend-mode: multiply; border-radius: 50%; }
.tarjeta__emblema svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.tarjeta__anillo { stroke: var(--oro); stroke-width: 3; stroke-dasharray: 1 1; stroke-dashoffset: 1; transform: rotate(-90deg); transform-origin: center; transition: stroke-dashoffset 1400ms var(--sc-ease-out) 200ms; }
.tarjeta.sc-in .tarjeta__anillo { stroke-dashoffset: 0; }
.tarjeta__nombre { font: 700 var(--sc-t-xs)/1 var(--sc-font-text); letter-spacing: 0.14em; text-transform: uppercase; color: var(--bronce); }
.tarjeta__precio { margin-top: var(--sc-3); font: 800 clamp(2.8rem, 2rem + 2.6vw, 4.2rem)/1 var(--sc-font-display); letter-spacing: -0.05em; font-variant-numeric: tabular-nums; }
.tarjeta__precio small { font-size: var(--sc-t-base); letter-spacing: 0; font-weight: 700; color: var(--sc-ink-soft); }
.tarjeta__lista { list-style: none; padding: 0; margin: var(--sc-5) 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem 1rem; font-size: var(--sc-t-sm); font-weight: 600; }
.tarjeta__lista li { display: flex; gap: 0.5rem; }
.tarjeta__lista li::before { content: ""; flex: none; width: 0.5rem; height: 0.5rem; margin-top: 0.45rem; border-radius: 50%; background: var(--oro); }
.tarjeta__despues { margin-bottom: var(--sc-5); padding: 0.8rem 1rem; border-radius: 12px; background: rgb(255 255 255 / 0.7); font-size: var(--sc-t-sm); color: var(--sc-ink-soft); }
.tarjeta__garantia { display: flex; align-items: center; gap: 0.5rem; justify-content: center; margin-top: var(--sc-4); font-size: var(--sc-t-sm); font-weight: 600; color: var(--sc-ink-soft); }
.tarjeta__garantia svg { width: 1.3rem; height: 1.3rem; color: var(--bronce); }
.pie { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; margin-top: clamp(4rem, 8vw, 6rem); padding-block: 1.4rem calc(1.4rem + var(--barra-movil)); 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; }

/* ========================================================== EL ANILLO == */
.anillo {
  position: fixed; right: clamp(0.8rem, 1.6vw, 1.6rem); top: 50%; translate: 0 -50%; z-index: var(--sc-z-chrome);
  width: 8.5rem; display: flex; flex-direction: column; align-items: center; gap: 0.8rem;
  padding: 1rem 0.8rem; border-radius: 28px;
  background: color-mix(in oklab, #FFFDF8 94%, transparent);
  box-shadow: var(--sc-e2), inset 0 0 0 1px color-mix(in oklab, var(--bronce) 14%, transparent);
  transition: opacity 280ms var(--sc-ease-out), transform 280ms var(--sc-ease-out);
}
.anillo[data-oculto] { opacity: 0; transform: translateX(24px); pointer-events: none; }
.anillo__disco { position: relative; width: 5.6rem; aspect-ratio: 1; }
.anillo__disco svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.anillo__base { stroke: color-mix(in oklab, var(--bronce) 16%, transparent); stroke-width: 5; }
.anillo__lleno { stroke: var(--oro); stroke-width: 5; stroke-dasharray: 1 1; stroke-dashoffset: calc(1 - var(--f, 0)); }
.anillo__marcas circle { fill: var(--sc-surface); stroke: var(--bronce); stroke-width: 1.5; }
.anillo__marcas circle.hecha { fill: var(--oro); }
.anillo__disco img { position: absolute; left: 50%; top: 50%; width: 58%; height: auto; translate: -50% -50%; transform: rotate(calc(var(--f, 0) * 360deg)); }
.anillo__estaciones { list-style: none; margin: 0; padding: 0; width: 100%; }
.anillo__estaciones a { display: block; padding: 0.3rem 0.4rem; border-radius: 8px; text-align: center; text-decoration: none; font: 700 var(--sc-t-sm)/1.2 var(--sc-font-display); color: var(--sc-ink-soft); transition: color 180ms, background-color 180ms; }
.anillo__estaciones li.activa a { color: var(--sc-ink); background: color-mix(in oklab, var(--oro) 26%, transparent); }
@media (hover: hover) and (pointer: fine) { .anillo__estaciones a:hover { color: var(--sc-ink); } }
.cta--anillo { min-height: 2.6rem; padding: 0 1rem; font-size: var(--sc-t-sm); width: 100%; }

@media (min-width: 1101px) {
  /* Deja libre la columna del anillo */
  .sabados__escena, .bono__escena { padding-right: calc(var(--sc-gutter) + 8rem); }
  .riel { padding-right: calc(var(--sc-gutter) + 10rem); }
  .invitacion__titulo, .invitacion__p, .invitacion__quiero { right: calc(var(--sc-gutter) + 9rem); }
}

/* =============================================================== VISOR == */
.visor { padding: 0; border: 0; background: transparent; width: min(1040px, 94vw); max-width: none; overflow: visible; }
.visor::backdrop { background: rgb(28 21 12 / 0.82); }
.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(255 255 255 / 0.4); border-radius: 50%; background: #FFFDF8; color: #1C150C; cursor: pointer; }
.visor__cerrar svg { width: 1.1rem; height: 1.1rem; }

/* ============================================ ENTRENAMIENTO PRINCIPIANTES == */
.principiantes { background: radial-gradient(60vw 70% at 28% 50%, rgb(232 184 77 / 0.3), transparent 70%), var(--sc-canvas); overflow: clip; }
.principiantes__grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
.principiantes__texto { color: var(--sc-ink-soft); }
.principiantes__texto .titulo-grande { color: var(--sc-ink); font-size: var(--sc-t-2xl); line-height: 1.06; }
.principiantes__texto .titulo-grande span { color: var(--bronce); }
.principiantes__etiqueta { 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; }
.principiantes__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-pr 1.4s ease-in-out infinite; }
@keyframes latido-pr { 50% { opacity: 0.35; } }
.principiantes__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; }
.principiantes__boton { font-family: var(--sc-font-display); font-weight: 800; }
.principiantes__boton svg { width: 1.2rem; height: 1.2rem; transition: transform 180ms var(--sc-ease-out); }
@media (hover: hover) and (pointer: fine) { .principiantes__boton:hover svg { transform: translateX(3px); } }
/* Pase de 1 sábado: imagen limpia (sin efectos) y la oferta de prueba */
.pase { background: var(--alterno); }
.pase__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
.pase__img { display: block; width: min(25rem, 100%); justify-self: center; border-radius: 16px; overflow: hidden; box-shadow: var(--sc-e3); }
.pase__img:focus-visible { outline-offset: 8px; }
.pase__texto { color: var(--sc-ink-soft); }
.pase__pregunta { font-size: clamp(1.8rem, 1.15rem + 1.9vw, 2.9rem); line-height: 1.08; color: var(--sc-ink); }
.pase__monto { color: var(--bronce); white-space: nowrap; }
.pase__lead { font: 600 var(--sc-t-lg)/1.45 var(--sc-font-display); color: var(--sc-ink); }
.pase__lead strong { color: var(--bronce); }
.pase__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.7rem; }
.pase__lista li { display: grid; grid-template-columns: 1.7rem 1fr; gap: 0.6rem; align-items: start; color: var(--sc-ink); }
.pase__lista svg { width: 1.5rem; height: 1.5rem; padding: 0.2rem; border-radius: 50%; background: var(--oro); color: var(--sc-accent-ink); stroke-width: 2.6; }
.pase__idea { font-size: var(--sc-t-lg); color: var(--sc-ink); }
.pase__comprobante { font-size: var(--sc-t-sm); }
.pase__comprobante a { color: var(--sc-ink); white-space: nowrap; }
.pase__nos { font: 800 var(--sc-t-xl)/1.1 var(--sc-font-display); color: var(--bronce); }

/* El flyer va limpio, sin inclinación, destello, halo ni marco: así se ve tal cual. */
.principiantes__flyer { display: block; justify-self: center; width: min(28rem, 100%); text-decoration: none; border-radius: 14px; }
.principiantes__flyer img { display: block; width: 100%; height: auto; border-radius: 14px; box-shadow: var(--sc-e3); }
.principiantes__flyer:focus-visible { outline-offset: 8px; }
@media (prefers-reduced-motion: reduce) { .principiantes__punto { animation: none; } }

/* ============================================================== MÓVIL == */
@media (max-width: 1100px) {
  .anillo {
    top: auto; bottom: 0; left: 0; right: 0; translate: none; width: auto;
    flex-direction: row; justify-content: space-between; gap: 0.8rem;
    padding: 0.55rem var(--sc-gutter) calc(0.55rem + env(safe-area-inset-bottom)); border-radius: 0;
    box-shadow: 0 -8px 24px rgb(90 60 20 / 0.12), inset 0 1px 0 color-mix(in oklab, var(--bronce) 16%, transparent);
  }
  .anillo[data-oculto] { transform: translateY(110%); }
  .anillo__disco { width: 3.1rem; flex: none; }
  .anillo__estaciones { display: flex; flex: 1; gap: 0.1rem; justify-content: flex-start; }
  .anillo__estaciones li:not(.activa) { display: none; }
  .anillo__estaciones a { font-size: var(--sc-t-base); background: none !important; text-align: left; }
  .cta--anillo { width: auto; min-height: 2.9rem; }
  :root { --barra-movil: 4.2rem; }
}
@media (max-width: 860px) {
  .objetivos__grid, .neto__grid, .precio__grid, .guia__grid, .principiantes__grid { grid-template-columns: 1fr; }
  .principiantes__flyer { width: min(20rem, 88%); order: 2; }
  .pase__grid { grid-template-columns: 1fr; gap: 2rem; }
  .pase__img { width: min(21rem, 88%); }
  .objetivos__titulo { position: static; }
  .mosaico { grid-template-columns: 1fr 1fr; grid-auto-rows: auto; }
  .pieza { min-height: 9.5rem; }
  .pieza--a { grid-column: span 2; grid-row: auto; min-height: 16rem; }
  .pieza--b, .pieza--c { grid-column: span 1; }
  .pieza--d, .pieza--e, .pieza--f { grid-column: span 2; }
  .pieza--b .pieza__cifra, .pieza--c .pieza__cifra { font-size: 3.4rem; }
  .sabados__escena { grid-template-columns: 1fr; grid-template-rows: auto auto; align-content: center; gap: 2vh; }
  .sabados__cabeza { top: 6svh; right: var(--sc-gutter); }
  .reloj { width: min(34svh, 62vw); margin-top: 14svh; }
  .sabados__horas { height: 30svh; margin-top: 0; }
  .hora h3 { font-size: var(--sc-t-2xl); margin-top: var(--sc-2); }
  .hora p:last-child { font-size: var(--sc-t-base); margin-top: var(--sc-3); }
  .bono__escena { grid-template-columns: 1fr; grid-template-rows: auto 1fr; align-content: start; padding-top: 7svh; gap: 3svh; }
  .orbita { width: min(38svh, 72vw); }
  .bono__texto { height: 48svh; }
  .bono__kicker { font-size: var(--sc-t-lg); }
  .bono__regla, .bono__titulo { top: 14%; }
  .bono__regla { font-size: var(--sc-t-lg); }
  .bono__titulo { font-size: 2rem; top: 10%; }
  .bono__importante { font-size: var(--sc-t-xs); padding: 0.8rem 1rem; bottom: auto; top: 52%; }
  .historias__cabeza { flex-direction: column; align-items: flex-start; }
  .historia { width: 78vw; }
  .resenas { grid-template-columns: 1fr 1fr; }
  .escritos__fila { grid-template-columns: 1fr; }
  .garantia__grid { grid-template-columns: 1fr; justify-items: start; }
  .tarjeta__lista { grid-template-columns: 1fr; }
  .banda__lista { justify-content: flex-start; font-size: var(--sc-t-sm); }
  .banda__lista li { width: calc(50% - 1rem); }
}
@media (max-width: 700px) {
  .barra__aviso { font-size: var(--sc-t-xs); }
  .barra__sep { display: none; }
  .barra__aviso [data-inicio]:not([hidden]) { display: block; }
  .hero { min-height: calc(100svh - 56px); align-items: start; }
  .hero__copy { padding-block: 5svh 0; }
  .hero__titulo { font-size: clamp(2.6rem, 12vw, 3.4rem); margin-top: var(--sc-4); }
  .hero__sub { font-size: var(--sc-t-base); margin-top: var(--sc-4); }
  .hero__accion { margin-top: var(--sc-5); gap: 0.9rem; }
  .hero__anillo { width: 88vw; right: -30vw; top: 70%; }
  .hero__neto { height: 44svh; right: -14vw; }
  .hero__video { left: var(--sc-gutter); bottom: 4svh; width: 74vw; }
  .hero__video-pie > span:last-child > span { display: none; }
  .hero__video-pie { padding: 0.75rem 0.9rem; gap: 0.7rem; }
  .hero__video-pie b { font-size: 1.1rem; }
  .hero__video-play { width: 2.8rem; height: 2.8rem; }
  .hero__video-play svg { width: 1.2rem; height: 1.2rem; }
  .invitacion__de { top: 9svh; }
  .invitacion__titulo { font-size: clamp(2.2rem, 10vw, 2.8rem); }
  .invitacion__p, .invitacion__quiero { font-size: var(--sc-t-xl); }
  .objetivos__lista li { font-size: var(--sc-t-lg); grid-template-columns: 2.6rem 1fr; gap: 0.9rem; }
  .objetivos__lista svg { width: 2.6rem; height: 2.6rem; padding: 0.55rem; }
  .caso { width: 42vw; font-size: 0.95rem; padding: 1rem; hyphens: auto; overflow-wrap: anywhere; }
  .caso svg { width: 2rem; height: 2rem; }
  .silencio { padding-block: 22svh; }
  .pie__legal { margin-left: 0; width: 100%; }
}
@media (max-width: 700px) and (max-height: 720px) {
  .hero__neto { height: 36svh; }
  .hero__video { width: 56vw; bottom: 2.5svh; }
  .hero__video-pie b { font-size: 0.95rem; }
  .hero__video-play { width: 2.3rem; height: 2.3rem; }
  .reloj { width: 28svh; }
  .orbita { width: 30svh; }
}

/* ===================================================== MENOS MOVIMIENTO == */
@media (prefers-reduced-motion: reduce) {
  .hero__anillo, .hero__neto, .hero__video, .hero__polvo i { transform: none !important; }
  .hero__video { rotate: -3deg; }
  .columna:nth-child(n) { translate: none; }
  .sello svg { transform: none; }
  .tarjeta__anillo { transition: none; }
}
