/* ==========================================================================
   EL ARTE DE SER INOLVIDABLE™ · Katherine Rivas
   Diseño: "Teatro de lujo" — terciopelo morado, foco dorado, acentos rosados.
   Estructura: carta de venta (una columna, botón tras cada bloque, stack de valor).
   ========================================================================== */

:root {
  --plum-950: #12051c;
  --plum-900: #1c0a2b;
  --plum-800: #2e0f47;
  --plum-700: #3d1660;
  --purple: #5b2389;
  --lilac: #c9b0e4;
  --lilac-50: #f5eefb;

  --pink: #e0418f;
  --pink-600: #c42a76;
  --pink-300: #f59ac3;
  --pink-50: #fdf0f6;

  --gold: #d6a43a;
  --gold-300: #f3d684;
  --gold-600: #9a6d17;
  --gold-grad: linear-gradient(100deg, #b98a2a 0%, #f6dc8c 25%, #d6a43a 50%, #fbe7a6 75%, #b98a2a 100%);
  --gold-grad-deep: linear-gradient(100deg, #8a5e12 0%, #c99a35 25%, #8f6416 50%, #c08a25 75%, #8a5e12 100%);

  --ivory: #fbf6ef;
  --white: #ffffff;
  --soft: #f3eaf6;
  --ink: #1e1328;
  --ink-2: #4b4056;
  --muted: #7b7085;
  --line: rgba(30, 19, 40, .12);

  --f-display: "Fraunces", Georgia, "Times New Roman", serif;
  --f-body: "Instrument Sans", "Helvetica Neue", system-ui, sans-serif;

  --gutter: clamp(16px, 4vw, 40px);
  --sec: clamp(72px, 9vw, 120px);
  --ease: cubic-bezier(.2, .7, .1, 1);
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
/* Fraunces sin letras "onduladas": el shorthand `font` reinicia esta propiedad, por eso va con !important */
*, *::before, *::after { font-variation-settings: "WONK" 0, "SOFT" 30 !important; }
html { scroll-behavior: smooth; scroll-padding-top: 0; overflow-x: clip; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font: 400 clamp(1.02rem, .98rem + .25vw, 1.1rem)/1.7 var(--f-body);
  color: var(--ink);
  background: var(--ivory);
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
}
img, video, svg { max-width: 100%; }
img { display: block; height: auto; }
p { margin: 0 0 1.1em; }
strong, b { font-weight: 700; }
a { color: inherit; }
::selection { background: var(--pink); color: #fff; }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; border-radius: 6px; }

.letter { width: min(100% - 2 * var(--gutter), 760px); margin-inline: auto; }
.wide { width: min(100% - 2 * var(--gutter), 1120px); margin-inline: auto; }
.center { text-align: center; }
.sec { position: relative; padding: var(--sec) 0; }
.sec > * + * { margin-top: clamp(36px, 5vw, 56px); }

/* ---------- Superficies ---------- */
.s-dark {
  background:
    radial-gradient(1000px 600px at 85% 0%, rgba(122, 59, 176, .34), transparent 60%),
    radial-gradient(800px 600px at 0% 100%, rgba(224, 65, 143, .15), transparent 60%),
    var(--plum-950);
  color: rgba(243, 234, 246, .86);
}
.s-ivory { background: var(--ivory); }
.s-white { background: var(--white); }
.s-blush {
  background:
    radial-gradient(900px 500px at 92% 0%, rgba(224, 65, 143, .12), transparent 60%),
    radial-gradient(700px 500px at 0% 100%, rgba(122, 59, 176, .09), transparent 60%),
    #fdf3f7;
}
:where(.s-ivory, .s-white, .s-blush) p { color: var(--ink-2); }

.grain {
  position: fixed; inset: 0; z-index: 90; pointer-events: none; opacity: .045;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 70; pointer-events: none; }
.progress span { display: block; height: 100%; background: var(--gold-grad); transform-origin: 0 50%; transform: scaleX(0); }

/* ---------- Tipografía ---------- */
.eyebrow {
  margin: 0 0 1rem;
  font: 700 .8rem/1.4 var(--f-body); letter-spacing: .1em; text-transform: uppercase;
  color: var(--pink-600);
}
.eyebrow::before { content: "✦ "; color: var(--gold); }
.eyebrow--gold { color: var(--gold-300); }
.h2 {
  margin: 0 0 .7em;
  font: 600 clamp(2rem, 4.4vw, 3.3rem)/1.08 var(--f-display);
  letter-spacing: -.02em; text-wrap: balance;
  color: var(--plum-800);
}
.h2--xl { font-size: clamp(2.4rem, 6vw, 4.4rem); }
.h2 em {
  font-style: italic; font-weight: 500; padding-right: .04em;
  color: var(--pink-600);
}
.s-dark .h2 { color: #fff; }
.s-dark .h2 em { color: var(--gold-300); }
.gold-text { color: var(--gold-300); }
.s-ivory .gold-text, .s-white .gold-text { color: var(--gold-600); }

.strong { font: 600 clamp(1.15rem, 1.8vw, 1.32rem)/1.42 var(--f-display) !important; color: var(--plum-800) !important; }
.s-dark .strong { color: #fff !important; }
.big-line { margin: 1.6em 0 !important; font: 600 clamp(1.4rem, 2.8vw, 2rem)/1.25 var(--f-display) !important; color: var(--plum-800) !important; text-wrap: balance; }
.big-line em { color: var(--pink-600); }
.s-dark .big-line { color: #fff !important; }
.s-dark .big-line em { color: var(--gold-300); }
.sub-title { margin: clamp(48px, 6vw, 72px) 0 1.6rem; text-align: center; font: 600 clamp(1.5rem, 2.6vw, 2rem)/1.2 var(--f-display); color: var(--plum-800); }
.sub-title::before { content: "✦ "; color: var(--gold); font-size: .7em; vertical-align: .2em; }

/* ---------- Botones ---------- */
.btn {
  --h: 52px;
  position: relative; isolation: isolate; overflow: hidden;
  display: inline-flex; align-items: center; justify-content: center; gap: .6em;
  min-height: var(--h); padding: .8em 1.7em; border: 0; border-radius: 999px;
  font: 700 .98rem/1.2 var(--f-body); letter-spacing: .01em; text-align: center; text-decoration: none;
  cursor: pointer;
  transition: transform .35s var(--ease), box-shadow .35s var(--ease), background-position .6s;
}
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0) scale(.98); }
.btn--gold { color: var(--plum-950); background: var(--gold-grad); background-size: 200% 100%; box-shadow: 0 14px 34px -12px rgba(214, 164, 58, .75), inset 0 1px 0 rgba(255, 255, 255, .55); }
.btn--gold::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, .7) 50%, transparent 70%); transform: translateX(-120%); transition: transform .9s var(--ease); }
.btn--gold:hover { background-position: 100% 0; }
.btn--gold:hover::after { transform: translateX(120%); }
.btn--plum { background: var(--plum-800); color: #fff; box-shadow: 0 14px 30px -14px rgba(46, 15, 71, .8); }
.btn--plum:hover { background: var(--purple); }
.btn--lg { --h: 62px; font-size: 1.04rem; padding: .9em 2.1em; }
.btn--sm { --h: 40px; font-size: .86rem; padding: .5em 1.25em; }
.btn--block { width: 100%; }
.ico { width: 1.2em; height: 1.2em; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .35s var(--ease); }
.btn:hover .ico { transform: translateX(4px); }
.cta { margin-top: 2.6rem; text-align: center; }

/* ---------- Animaciones de entrada ---------- */
.js .reveal { opacity: 0; transform: translateY(26px); transition: opacity .9s var(--ease), transform .9s var(--ease); transition-delay: calc(var(--i, 0) * 90ms); }
.js .reveal.in { opacity: 1; transform: none; }
.js .load { opacity: 0; transform: translateY(18px); animation: fadeUp 1s var(--ease) forwards; animation-delay: calc(.2s + var(--d, 0) * .1s); }
@keyframes fadeUp { to { opacity: 1; transform: none; } }
@keyframes spin { to { transform: rotate(360deg); } }

/* ==========================================================================
   BARRA SUPERIOR
   ========================================================================== */
.topbar {
  position: fixed; top: 0; left: 0; right: 0; z-index: 60;
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: 14px clamp(16px, 4vw, 40px);
  border-bottom: 1px solid transparent;
  transition: background .4s, padding .4s, border-color .4s;
}
.topbar.scrolled { background: rgba(18, 5, 28, .86); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); padding-block: 9px; border-bottom-color: rgba(243, 214, 132, .18); }
.brand { flex: 1 1 auto; display: flex; align-items: center; gap: .65rem; min-width: 0; text-decoration: none; color: #fff; }
.topbar .btn { flex: none; white-space: nowrap; }
.brand__star { display: inline-block; color: var(--gold-300); font-size: 1.15rem; animation: spin 14s linear infinite; }
.brand__txt { display: flex; flex-direction: column; line-height: 1.15; min-width: 0; }
.brand__name { font: italic 600 1.08rem var(--f-display); white-space: nowrap; }
.brand__sub { font: 700 .66rem var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--gold-300); }

/* ==========================================================================
   1 · HERO
   ========================================================================== */
.hero {
  position: relative; overflow: hidden;
  min-height: 100svh; display: flex; align-items: center;
  padding: 84px 0 52px;
  background:
    radial-gradient(1100px 700px at 70% 0%, rgba(122, 59, 176, .5), transparent 60%),
    radial-gradient(900px 600px at 6% 100%, rgba(224, 65, 143, .24), transparent 60%),
    var(--plum-950);
}
.hero__beam {
  position: absolute; inset: -10% 0 0 0; pointer-events: none;
  background: conic-gradient(from 160deg at 72% -8%, transparent 0deg, rgba(255, 226, 160, .08) 11deg, rgba(255, 236, 190, .18) 20deg, rgba(255, 226, 160, .08) 29deg, transparent 40deg);
  -webkit-mask-image: linear-gradient(to bottom, #000 30%, transparent 85%); mask-image: linear-gradient(to bottom, #000 30%, transparent 85%);
  filter: blur(6px); transform-origin: 72% 0;
  animation: sway 10s ease-in-out infinite alternate;
}
@keyframes sway { from { transform: rotate(-4deg); } to { transform: rotate(4deg); } }
.hero__spot { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(520px circle at var(--mx, 70%) var(--my, 40%), rgba(243, 214, 132, .12), transparent 65%); }

/* Primera pantalla: todo (texto, foto y botón) cabe sin hacer scroll.
   Los tamaños dependen también de la ALTURA de la pantalla (svh). */
.hero__grid {
  position: relative; z-index: 2;
  display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: clamp(28px, 4.5vw, 64px); align-items: center;
}
.kicker { margin: 0 0 .5rem; font: italic 600 clamp(.95rem, 1.7svh, 1.1rem) var(--f-display); color: var(--gold-300); }
.badge {
  display: inline-flex; align-items: center; gap: .6em;
  margin: 0 0 clamp(.6rem, 1.6svh, 1rem); padding: .5em 1.05em; border-radius: 999px;
  border: 1px solid rgba(243, 214, 132, .45); background: rgba(28, 10, 43, .55);
  font: 700 .76rem/1.3 var(--f-body); letter-spacing: .07em; text-transform: uppercase; color: #fff;
}
.badge__dot { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--pink); box-shadow: 0 0 0 4px rgba(224, 65, 143, .25); animation: pulseDot 2s ease-in-out infinite; }
@keyframes pulseDot { 50% { box-shadow: 0 0 0 7px rgba(224, 65, 143, 0); } }
.hero__title { margin: 0 0 clamp(.9rem, 2.4svh, 1.4rem); font: 600 clamp(1.7rem, min(2.9vw, 5.2svh), 2.9rem)/1.12 var(--f-display); letter-spacing: -.02em; color: #fff; text-wrap: balance; }
.hero__title em { font-style: italic; }
.hero__lead { max-width: 48ch; margin: 0 0 clamp(.6rem, 1.6svh, 1rem); font-size: clamp(.95rem, min(1.15vw, 2.2svh), 1.08rem); line-height: 1.6; color: rgba(243, 234, 246, .86); }
.hero__bold { max-width: 40ch; margin: 0 0 clamp(.6rem, 1.6svh, 1rem); font: italic 600 clamp(1.05rem, min(1.6vw, 2.8svh), 1.4rem)/1.3 var(--f-display); color: #fff; }
.hero__meta { margin: 0 0 clamp(.7rem, 2svh, 1.2rem); font: 700 .74rem/1.5 var(--f-body); letter-spacing: .07em; text-transform: uppercase; color: var(--lilac); }
.hero .btn { animation: glow 3.2s ease-in-out 2.4s infinite; }
@keyframes glow { 50% { box-shadow: 0 14px 50px -6px rgba(243, 214, 132, .85), inset 0 1px 0 rgba(255, 255, 255, .55); } }
.hero__cred { margin: clamp(.6rem, 1.6svh, .9rem) 0 0; font-size: .84rem; color: var(--gold-300); }

.vsl {
  position: relative; overflow: hidden;
  aspect-ratio: 16 / 9; margin: 0 auto;
  border-radius: 22px; border: 1px solid rgba(243, 214, 132, .55);
  background: var(--plum-800);
  box-shadow: 0 40px 90px -30px rgba(0, 0, 0, .75), 0 0 120px -40px rgba(224, 65, 143, .6);
}
.vsl img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 35%; }
.vsl iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.vsl__play {
  position: absolute; inset: 0; z-index: 2; display: grid; place-items: center;
  border: 0; cursor: pointer; background: linear-gradient(180deg, transparent 40%, rgba(18, 5, 28, .55));
}
.vsl__play span {
  display: grid; place-items: center; width: clamp(54px, 7vw, 84px); aspect-ratio: 1; border-radius: 50%;
  background: var(--gold-grad); box-shadow: 0 0 0 10px rgba(243, 214, 132, .18);
  animation: pulse 2.6s ease-out infinite;
}
.vsl__play svg { width: 36%; fill: var(--plum-950); margin-left: 6%; }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(243, 214, 132, .5); } 100% { box-shadow: 0 0 0 30px rgba(243, 214, 132, 0); } }
.hero__media { aspect-ratio: 4 / 5; width: min(100%, calc((100svh - 150px) * .8)); justify-self: center; border-radius: 26px; }
.hero__media img { object-position: 50% 18%; }
.hero__media.is-playing { aspect-ratio: 16 / 9; width: 100%; }

@media (max-width: 760px) {
  .hero { padding: 72px 0 36px; }
  .hero__grid {
    grid-template-columns: 36% minmax(0, 1fr); column-gap: 12px; row-gap: 0;
    grid-template-areas: "title title" "media lead1" "lead2 lead2" "bold bold" "meta meta" "cta cta";
  }
  .hero__grid:has(.is-playing) { grid-template-areas: "title title" "media media" "lead1 lead1" "lead2 lead2" "bold bold" "meta meta" "cta cta"; }
  .hero__copy { display: contents; }
  .kicker { display: none; }
  .badge { grid-area: badge; justify-self: start; gap: .45em; margin-bottom: .7rem; padding: .45em .8em; font-size: .6rem; letter-spacing: .03em; white-space: nowrap; }
  .hero__title { grid-area: title; margin-bottom: .8rem; font-size: clamp(1.3rem, min(6.4vw, 3.6svh), 1.75rem); }
  .hero__media { grid-area: media; width: 100%; border-radius: 16px; box-shadow: 0 20px 40px -20px rgba(0, 0, 0, .7); }
  .hero__media .vsl__play span { width: 44px; box-shadow: 0 0 0 6px rgba(243, 214, 132, .18); }
  .hero__lead { margin: 0; font-size: clamp(.82rem, min(3.7vw, 2.15svh), .94rem); line-height: 1.45; }
  .hero__lead--1 { grid-area: lead1; align-self: center; }
  .hero__lead--2 { grid-area: lead2; margin-top: .7rem; }
  .hero__bold { grid-area: bold; margin: .8rem 0 .5rem; font-size: clamp(.96rem, min(4.4vw, 2.5svh), 1.12rem); }
  .hero__meta { grid-area: meta; margin-bottom: .75rem; font-size: .62rem; letter-spacing: .05em; }
  .hero__cta { grid-area: cta; }
  .hero__cta .btn { --h: 52px; width: 100%; }
  .hero__cred { grid-area: cred; margin-top: .55rem; font-size: .74rem; }
}
/* Teléfonos bajos (iPhone SE y similares): menos aire para que la última línea también quepa */
@media (max-width: 760px) and (max-height: 620px) {
  .hero { padding: 70px 0 22px; }
  .badge { margin-bottom: .55rem; }
  .hero__title { margin-bottom: .6rem; }
  .hero__bold { margin: .6rem 0 .4rem; }
  .hero__meta { margin-bottom: .55rem; }
  .hero__cred { margin-top: .4rem; line-height: 1.45; }
  .hero__lead { font-size: .8rem; line-height: 1.38; }
  .hero__lead--2 { margin-top: .45rem; }
  .hero__bold { font-size: .94rem; }
}

/* ---------- Marquesina ---------- */
.marquee {
  position: relative; z-index: 5; margin: -26px -3vw -4px; padding: 14px 0; overflow: hidden;
  background: var(--gold-grad); background-size: 200% 100%;
  transform: rotate(-1.4deg); box-shadow: 0 24px 40px -22px rgba(18, 5, 28, .6);
}
.marquee__track { display: flex; align-items: center; gap: 1.5rem; padding-right: 1.5rem; width: max-content; animation: marq 36s linear infinite; }
.marquee span { font: italic 600 clamp(1.2rem, 2.3vw, 1.8rem)/1 var(--f-display); color: var(--plum-900); white-space: nowrap; }
.marquee i { font-style: normal; color: var(--pink-600); }
@keyframes marq { to { transform: translateX(-50%); } }

/* ---------- Respaldo: escenarios ---------- */
.proofbar { padding: clamp(64px, 7vw, 84px) 0 clamp(40px, 5vw, 60px); }
.proofbar__list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.proofbar__list li { margin: 0; }
.proofbar__list img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 18px; box-shadow: 0 24px 44px -30px rgba(61, 22, 96, .6); }
.proofbar__list span { display: block; margin-top: .7rem; font: 600 .95rem/1.35 var(--f-display); color: var(--plum-800); text-align: center; }

/* ==========================================================================
   BLOQUES DE TEXTO
   ========================================================================== */
.arrows { list-style: none; padding: 0; margin: 2rem 0; }
.arrows li { position: relative; padding: 1rem 0 1rem 2.2rem; border-bottom: 1px solid var(--line); color: var(--ink-2); }
.arrows li::before { content: "→"; position: absolute; left: 0; top: .95rem; font-weight: 700; color: var(--pink); }
.night { margin: 1.6rem 0 !important; font: italic 600 clamp(1.2rem, 2vw, 1.45rem)/1.4 var(--f-display) !important; color: var(--plum-800) !important; }
.callout {
  margin: 2rem 0; padding: 1.4rem 1.6rem;
  border-left: 4px solid var(--pink); border-radius: 0 20px 20px 0;
  background: var(--pink-50);
  font: 500 clamp(1.2rem, 2vw, 1.45rem)/1.4 var(--f-display); color: var(--plum-800);
}
.highlight {
  position: relative; margin: 2rem 0 !important; padding: clamp(20px, 3vw, 28px) clamp(22px, 3.2vw, 32px);
  border-radius: 22px; border: 1px solid rgba(214, 164, 58, .45); border-left: 5px solid var(--gold);
  background: #fff; box-shadow: 0 30px 60px -36px rgba(61, 22, 96, .45);
  font: 600 clamp(1.15rem, 1.9vw, 1.4rem)/1.45 var(--f-display) !important; color: var(--plum-800) !important;
}
.highlight em { font-style: italic; color: var(--pink-600); }
.chips { list-style: none; padding: 0; margin: 0 0 1.2rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.chips li { padding: .5em 1em; border-radius: 999px; background: #fff; border: 1px solid rgba(91, 35, 137, .18); font: 600 1rem var(--f-display); color: var(--plum-800); }
.truth { margin-top: 1.6rem; padding: clamp(22px, 3vw, 32px); border-radius: 24px; background: var(--plum-900); box-shadow: 0 30px 60px -36px rgba(61, 22, 96, .6); }
.truth p { margin: 0; font: 600 clamp(1.15rem, 1.8vw, 1.35rem)/1.45 var(--f-display); color: #fff !important; }

/* ==========================================================================
   4 · ACTUACIÓN + HUMOR
   ========================================================================== */
.duo { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.duo__card { overflow: hidden; border-radius: 26px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(243, 214, 132, .3); }
.duo__card--pink { border-color: rgba(245, 154, 195, .4); }
.duo__media { margin: 0; }
.duo__media img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.duo__body { padding: clamp(22px, 3vw, 34px); }
.duo__body p { color: rgba(243, 234, 246, .82); }
.duo__k { margin: 0 0 .4rem !important; font: 700 .8rem var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--gold-300) !important; }
.duo__card--pink .duo__k { color: var(--pink-300) !important; }
.duo__h { margin: 0 0 1rem; font: 600 clamp(1.4rem, 2.4vw, 1.8rem)/1.2 var(--f-display); color: #fff; }
.duo__end { margin: 1.2rem 0 0 !important; padding-top: 1rem; border-top: 1px solid rgba(255, 255, 255, .12); font: italic 600 1.15rem/1.4 var(--f-display); color: #fff !important; }

.reels__h { margin: 0 0 1.2rem; text-align: center; font: 700 .82rem var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--gold-300); }
.reels__h::before { content: "▶ "; font-size: .8em; }
:where(.s-ivory, .s-white, .s-blush) .reels__h { color: var(--pink-600); }
.reels { display: grid; grid-template-columns: repeat(3, minmax(0, 260px)); justify-content: center; gap: 1rem; }
.reels--4 { grid-template-columns: repeat(4, minmax(0, 250px)); }
.reel { margin: 0; }
.reel video { display: block; width: 100%; aspect-ratio: 9 / 16; object-fit: cover; border-radius: 20px; background: #000; border: 1px solid rgba(243, 214, 132, .35); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .7); }
.reel figcaption { margin-top: .6rem; text-align: center; font-size: .9rem; font-weight: 600; color: rgba(243, 234, 246, .8); }
:where(.s-ivory, .s-white, .s-blush) .reel figcaption { color: var(--ink-2); }

.together { margin-top: clamp(40px, 5vw, 64px); padding: clamp(24px, 3.5vw, 40px); border-radius: 26px; background: linear-gradient(150deg, rgba(243, 214, 132, .12), rgba(224, 65, 143, .1)); border: 1px solid rgba(243, 214, 132, .35); }
.together__h { margin: 0 0 1rem; font: 600 clamp(1.4rem, 2.4vw, 1.8rem)/1.2 var(--f-display); color: var(--gold-300); }
.formula { margin-top: 2.6rem; text-align: center; }
.formula__t { margin: 1.2rem 0 0; font: 600 clamp(1.4rem, 2.8vw, 2.1rem)/1.2 var(--f-display); color: #fff; }
.formula__t span { color: var(--pink-300); font-style: italic; }

.venn { position: relative; width: min(100%, 320px); aspect-ratio: 1; margin: 0 auto; }
.venn__c { position: absolute; width: 58%; aspect-ratio: 1; border-radius: 50%; display: flex; padding: 13%; mix-blend-mode: screen; transition: transform 1.6s var(--ease); }
.venn__c b { font: 700 .68rem var(--f-body); letter-spacing: .06em; text-transform: uppercase; color: #fff; }
.venn__c--1 { left: 21%; top: 1%; justify-content: center; align-items: flex-start; background: radial-gradient(circle at 50% 38%, #9e5fd8, #5b2389 72%); }
.venn__c--2 { left: 1%; top: 37%; justify-content: flex-start; align-items: flex-end; background: radial-gradient(circle at 40% 55%, #f36aa9, #c42a76 72%); }
.venn__c--3 { right: 1%; top: 37%; justify-content: flex-end; align-items: flex-end; background: radial-gradient(circle at 60% 55%, #f6dc8c, #b9862a 72%); }
.venn__c--3 b { color: var(--plum-950); }
.venn__you { position: absolute; left: 50%; top: 59%; z-index: 2; transform: translate(-50%, -50%); font: italic 600 clamp(1.6rem, 3vw, 2.2rem)/1 var(--f-display); color: var(--plum-950); transition: opacity .8s 1.2s; }
.js .venn:not(.in) .venn__c--1 { transform: translateY(-30%); }
.js .venn:not(.in) .venn__c--2 { transform: translate(-25%, 20%); }
.js .venn:not(.in) .venn__c--3 { transform: translate(25%, 20%); }
.js .venn:not(.in) .venn__you { opacity: 0; }

/* ==========================================================================
   5 · LA SALA
   ========================================================================== */
.photo { margin: 2rem 0; }
.photo img { width: 100%; border-radius: 24px; box-shadow: 0 34px 60px -40px rgba(61, 22, 96, .6); }
.photo--wide { max-width: 575px; margin-inline: auto; }
.twelve { display: flex; align-items: center; gap: 1.4rem; margin: 2rem 0 1.4rem; padding: 1.2rem 1.6rem; border-radius: 22px; background: #fff; border: 1px solid var(--line); }
.twelve__n { flex: none; font: 700 clamp(3.6rem, 8vw, 5rem)/.9 var(--f-display); color: var(--gold-600); }
.twelve p { margin: 0; font: 500 clamp(1.15rem, 1.8vw, 1.35rem)/1.4 var(--f-display); color: var(--plum-800); }
.steps { list-style: none; padding: 0; margin: 1.6rem 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: .6rem; counter-reset: s; }
.steps li { counter-increment: s; padding: 1rem; border-radius: 16px; background: var(--plum-900); color: #fff; font: 600 1rem/1.3 var(--f-display); }
.steps li::before { content: counter(s); display: block; margin-bottom: .4rem; font: 700 .78rem var(--f-body); color: var(--gold-300); }
.rule { display: flex; align-items: center; gap: 1.4rem; margin: 2rem 0 0; padding: 1.4rem; border-radius: 24px; background: #fff; border: 1px solid var(--line); }
.rule p { margin: 0; }
.rule__stamp {
  flex: none; width: 128px; height: 128px; border-radius: 50%; padding: .8rem;
  display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
  border: 2px dashed var(--pink); background: radial-gradient(circle, #fff 58%, var(--pink-50));
  font: 600 .95rem/1.15 var(--f-display); color: var(--pink-600); transform: rotate(-10deg);
}
.rule__stamp em { color: var(--purple); }

/* ==========================================================================
   6 · MÉTODO
   ========================================================================== */
.meets { list-style: none; padding: 0; margin: 0; display: grid; gap: 1.2rem; }
.meet { display: grid; grid-template-columns: 74px 1fr; gap: 1.2rem; padding: clamp(20px, 3vw, 32px); border-radius: 26px; background: var(--ivory); border: 1px solid var(--line); }
.meet__n { width: 74px; height: 74px; border-radius: 50%; display: grid; place-items: center; border: 2px solid var(--gold); font: italic 600 1.7rem var(--f-display); color: var(--plum-800); background: #fff; }
.meet__body p { color: var(--ink-2); }
.meet__mode { margin: 0 0 .2rem !important; font: 700 .76rem var(--f-body); letter-spacing: .08em; text-transform: uppercase; color: var(--pink-600) !important; }
.meet__name { margin: 0; font: 600 clamp(1.7rem, 3vw, 2.2rem)/1.1 var(--f-display); color: var(--plum-800); }
.meet__tag { margin: .3rem 0 1rem !important; font: 700 .9rem var(--f-body); letter-spacing: .05em; text-transform: uppercase; color: var(--plum-700) !important; }
.meet__end { margin: 1rem 0 0 !important; padding: .9rem 1.1rem; border-radius: 14px; background: var(--pink-50); font: italic 600 1.08rem/1.45 var(--f-display); color: var(--plum-800) !important; }
.meet--final { background: var(--plum-900); border-color: transparent; }
.meet--final .meet__n { background: var(--gold-grad); border-color: transparent; color: var(--plum-950); }
.meet--final .meet__name { color: #fff; }
.meet--final .meet__body p { color: rgba(243, 234, 246, .84); }
.meet--final .meet__mode { color: var(--pink-300) !important; }
.meet--final .meet__tag { color: var(--gold-300) !important; }
.meet--final .meet__end { background: rgba(243, 214, 132, .1); color: #fff !important; }

/* ==========================================================================
   7 · PARA QUIÉN ES
   ========================================================================== */
.fit { margin-top: 1.6rem; padding: clamp(22px, 3vw, 34px); border-radius: 26px; background: #fff; box-shadow: 0 30px 60px -40px rgba(61, 22, 96, .45); }
.fit--no { background: rgba(255, 255, 255, .55); border: 1px solid var(--line); box-shadow: none; }
.fit__h { margin: 0 0 .6rem !important; font: 700 1.35rem var(--f-display); color: var(--plum-800) !important; }
.fit__list { list-style: none; padding: 0; margin: 0; }
.fit__list li { position: relative; padding: .85rem 0 .85rem 2.3rem; border-bottom: 1px solid var(--line); line-height: 1.5; color: var(--ink-2); }
.fit__list li:last-child { border-bottom: 0; }
.fit__list li::before { content: "✓"; position: absolute; left: 0; top: .85rem; width: 1.5rem; height: 1.5rem; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(135deg, var(--pink), var(--purple)); color: #fff; font-size: .78rem; font-weight: 700; }
.fit--no .fit__list li::before { content: "✕"; background: var(--lilac-50); color: var(--muted); }

/* ==========================================================================
   8 · ¿CAMBIA ALGO?
   ========================================================================== */
.contrast { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 2rem 0; }
.contrast > div { padding: 1.4rem 1.5rem; border-radius: 22px; }
.contrast p { margin: 0; }
.contrast__no { background: var(--ivory); border: 1px dashed rgba(196, 42, 118, .4); }
.contrast__yes { background: var(--plum-900); }
.contrast__yes p { color: #fff !important; }
.contrast__k { margin-bottom: .6rem !important; font: 700 .8rem var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--pink-600) !important; }
.contrast__yes .contrast__k { color: var(--gold-300) !important; }
.scene { display: block; margin: 1rem 0; padding: 1.3rem 1.5rem; border-radius: 22px; background: var(--pink-50); border: 1px solid rgba(224, 65, 143, .2); }
.scene p { margin: 0; }
.scene q { font-style: italic; color: var(--pink-600); quotes: "«" "»"; }
.scene__t { flex: none; min-width: 3.2rem; font: italic 700 1.8rem/1 var(--f-display); color: var(--gold-600); }

/* ==========================================================================
   9 · TESTIMONIOS
   ========================================================================== */
.quotes { columns: 3 280px; column-gap: 1rem; }
.quote { break-inside: avoid; margin: 0 0 1rem; padding: 1.6rem; border-radius: 22px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .12); }
.quote blockquote { margin: 0 0 1rem; font: italic 500 1.12rem/1.5 var(--f-display); color: #fff; }
.quote figcaption { font-size: .92rem; color: var(--lilac); }
.quote b { color: var(--gold-300); }
.quotes + .reels__h, .msgs { margin-top: clamp(40px, 5vw, 64px); }
.msgs { columns: 3 240px; column-gap: 1rem; }
.reels + .reels__h { margin-top: clamp(40px, 5vw, 64px); }
.reels + .reels__h + .msgs { margin-top: 0; }
.msgs img { break-inside: avoid; width: 100%; margin: 0 0 1rem; border-radius: 18px; border: 1px solid rgba(255, 255, 255, .14); box-shadow: 0 24px 44px -28px rgba(0, 0, 0, .7); }
.disclaimer { margin: 1.4rem auto 0; max-width: 60ch; text-align: center; font-size: .9rem; font-style: italic; color: rgba(243, 234, 246, .6); }

/* ==========================================================================
   10 · LA ENTRENADORA
   ========================================================================== */
.portrait { position: relative; width: min(100%, 380px); margin: 0 auto 4.4rem; }
.portrait > img:first-child { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 14%; border-radius: 26px; border: 1px solid rgba(214, 164, 58, .55); box-shadow: 0 40px 80px -44px rgba(61, 22, 96, .7); }
.portrait__award { position: absolute; right: -16%; bottom: -8%; width: 44%; border-radius: 12px; border: 4px solid #fff; box-shadow: 0 24px 44px -18px rgba(28, 10, 43, .6); transform: rotate(6deg); }
.path { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: .8rem; }
.path li { position: relative; margin: 0; }
.path img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 18px; }
.path span { position: absolute; left: .6rem; bottom: .6rem; padding: .35em .8em; border-radius: 999px; background: rgba(18, 5, 28, .78); color: #fff; font: 700 .78rem var(--f-body); letter-spacing: .06em; text-transform: uppercase; }
.demo { margin-top: 2rem; }

/* ==========================================================================
   11 · STACK DE VALOR
   ========================================================================== */
.stack { list-style: none; padding: 0; margin: 2rem 0 0; border-top: 2px solid var(--plum-800); }
.stack li { display: grid; grid-template-columns: 1fr auto; gap: 1.2rem; align-items: start; padding: 1.3rem 0; border-bottom: 1px solid var(--line); }
.stack h3 { margin: 0 0 .35rem; font: 600 1.25rem/1.25 var(--f-display); color: var(--plum-800); }
.stack li p { margin: 0; font-size: 1rem; }
.stack__v { padding: .35em .8em; border-radius: 999px; background: var(--lilac-50); font: 700 .95rem var(--f-body); color: var(--purple); white-space: nowrap; }
.stack__sub { margin: 1rem 0 0 !important; text-align: right; font: 600 1.2rem var(--f-display); color: var(--plum-800) !important; }
.stack--bonus { border-top-color: var(--pink); }
.stack__k { margin: 0 0 .3rem !important; font: 700 .76rem var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--pink-600) !important; }
.reveal-price { margin-top: 2.4rem; padding: clamp(24px, 4vw, 40px); border-radius: 28px; text-align: center; background: var(--plum-900); box-shadow: 0 40px 80px -44px rgba(61, 22, 96, .8); }
.reveal-price__total { margin: 0 0 .4rem !important; font: 700 1rem var(--f-body); letter-spacing: .06em; text-transform: uppercase; color: var(--lilac) !important; }
.reveal-price__total s { text-decoration-color: var(--pink); text-decoration-thickness: 2px; }
.reveal-price__pay { margin: 0 !important; font: 700 clamp(2.2rem, 6vw, 3.6rem)/1.1 var(--f-display); color: #fff !important; }
.reveal-price .gold-text { color: var(--gold-300); }

/* ==========================================================================
   12 · INVERSIÓN (entradas)
   ========================================================================== */
.offer__date { margin: 0; text-align: center; font: 700 .9rem var(--f-body); letter-spacing: .08em; text-transform: uppercase; color: var(--gold-300); }
.offer__date b { color: #fff; }
.tickets { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 3vw, 32px); align-items: stretch; }
.ticket { --notch: var(--plum-950); position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid rgba(214, 164, 58, .45); border-radius: 30px; box-shadow: 0 54px 90px -54px rgba(0, 0, 0, .8); color: var(--ink-2); }
.ticket__top { padding: clamp(28px, 4vw, 42px) clamp(22px, 3.5vw, 40px) 1.4rem; text-align: center; }
.ticket__kind { margin: 0; font: 700 .8rem var(--f-body); letter-spacing: .14em; text-transform: uppercase; color: var(--gold-600); }
.ticket__name { margin: .2rem 0 .6rem; font: italic 600 clamp(2rem, 3.4vw, 2.6rem)/1.05 var(--f-display); color: var(--pink-600); }
.ticket__price { margin: 0; font: 700 clamp(2.8rem, 6vw, 4.2rem)/1 var(--f-display); letter-spacing: -.02em; color: var(--plum-900); }
.ticket__cur { font-size: .5em; vertical-align: .7em; }
.ticket__clp { font: 700 .9rem var(--f-body); letter-spacing: .08em; vertical-align: middle; color: var(--muted); }
.ticket__tag { margin: 1rem 0 0; font: 600 1.12rem/1.4 var(--f-display); color: var(--plum-800); }
.ticket__perf { position: relative; height: 30px; margin: 0 -1px; background: radial-gradient(circle at 0 50%, var(--notch) 14px, transparent 15px), radial-gradient(circle at 100% 50%, var(--notch) 14px, transparent 15px); }
.ticket__perf::before { content: ""; position: absolute; left: 30px; right: 30px; top: 50%; border-top: 2px dashed rgba(91, 35, 137, .22); }
.ticket__body { flex: 1; display: flex; flex-direction: column; padding: 1.2rem clamp(22px, 3.5vw, 40px) clamp(26px, 4vw, 38px); }
.ticket__body p { font-size: 1rem; }
.ticket__inc { padding: .9rem 1rem; border-radius: 14px; background: var(--pink-50); }
.ticket__inc b { color: var(--pink-600); }
.ticket__list-h { margin: 0 0 .6rem !important; font: 700 .8rem var(--f-body) !important; letter-spacing: .1em; text-transform: uppercase; color: var(--pink-600); }
.tstack { list-style: none; padding: 0; margin: 0 0 1rem; border-top: 1px solid var(--line); }
.tstack li { display: flex; justify-content: space-between; align-items: baseline; gap: .8rem; padding: .62rem 0 .62rem 1.7rem; position: relative; border-bottom: 1px solid var(--line); font-size: .95rem; line-height: 1.4; color: var(--ink-2); }
.tstack li::before { content: "✓"; position: absolute; left: 0; top: .66rem; width: 1.2rem; height: 1.2rem; border-radius: 50%; display: grid; place-items: center; background: var(--lilac-50); color: var(--purple); font-size: .68rem; font-weight: 700; }
.tstack b { color: var(--plum-800); }
.tstack__v { flex: none; font: 700 .86rem var(--f-body); color: var(--purple); white-space: nowrap; }
.tstack__bonus::before { content: "✦" !important; background: var(--pink-50) !important; color: var(--pink-600) !important; }
.tstack__bonus b { color: var(--pink-600); }
.tstack__total, .tstack__pay { display: flex; justify-content: space-between; align-items: baseline; margin: 0 !important; }
.tstack__total { font: 700 .82rem var(--f-body) !important; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.tstack__total s { font-size: 1rem; text-decoration-color: var(--pink); text-decoration-thickness: 2px; }
.tstack__pay { margin: .3rem 0 1rem !important; padding: .7rem 1rem; border-radius: 14px; background: var(--pink-50); font: 700 1rem var(--f-body) !important; color: var(--plum-800); }
.tstack__pay b { font: 700 1.5rem var(--f-display); color: var(--pink-600); }
.ticket--vip .ticket__list-h { color: var(--pink-300); }
.tstack--vip { border-top-color: rgba(255, 255, 255, .14); }
.tstack--vip li { border-bottom-color: rgba(255, 255, 255, .14); color: rgba(243, 234, 246, .8); }
.tstack--vip b { color: #fff; }
.tstack--vip li::before { background: rgba(255, 255, 255, .1); color: var(--gold-300); }
.tstack--vip .tstack__bonus::before { background: rgba(224, 65, 143, .2) !important; color: var(--pink-300) !important; }
.tstack--vip .tstack__bonus b { color: var(--pink-300); }
.tstack__star::before { content: "★" !important; background: var(--gold-grad) !important; color: var(--plum-950) !important; }
.tstack__star b { color: var(--gold-300) !important; }
.ticket__for { margin-top: auto !important; padding-top: .6rem; font-style: italic; }
.ticket__note { margin: .9rem 0 0 !important; text-align: center; font-size: .86rem !important; color: var(--muted); }
.ticket--vip { background: radial-gradient(ellipse at 50% 0%, rgba(243, 214, 132, .22), transparent 60%), var(--plum-900); border-color: rgba(243, 214, 132, .65); color: var(--soft); box-shadow: 0 64px 110px -54px rgba(0, 0, 0, .95), 0 0 0 6px rgba(243, 214, 132, .08); }
.ticket--vip .ticket__name { color: var(--gold-300); }
.ticket--vip .ticket__kind { color: var(--gold-300); }
.ticket--vip .ticket__price { color: #fff; }
.ticket--vip .ticket__clp { color: var(--lilac); }
.ticket--vip .ticket__tag { color: #fff; }
.ticket--vip .ticket__perf::before { border-color: rgba(243, 214, 132, .35); }
.ticket--vip .ticket__note { color: rgba(243, 234, 246, .66); }
.ticket__ribbon { position: absolute; top: 18px; right: -10px; padding: .55em 1.1em; border-radius: 8px 8px 0 8px; background: var(--pink); color: #fff; font: 700 .74rem var(--f-body); letter-spacing: .08em; text-transform: uppercase; box-shadow: 0 12px 24px -10px rgba(196, 42, 118, .8); }
.ticket__ribbon::after { content: ""; position: absolute; right: 0; bottom: -10px; border-top: 10px solid #8f1d55; border-right: 10px solid transparent; }
.ensayo { margin: 0 0 1.2rem; padding: 1.3rem 1.4rem; border-radius: 20px; background: rgba(243, 214, 132, .07); border: 1px solid rgba(243, 214, 132, .3); }
.ensayo__h { margin: 0 0 .3rem !important; font: 700 1.45rem var(--f-display); color: var(--gold-300); }
.ensayo__s { margin: 0 0 .8rem !important; font: italic 600 1.08rem/1.4 var(--f-display); color: #fff; }
.edition { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; margin: 1.6rem 0 0; }
.edition > div { padding: 1rem 1.2rem; border-radius: 18px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .12); }
.edition dt { margin-bottom: .3rem; font: 700 .76rem var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--gold-300); }
.edition dd { margin: 0; color: #fff; font-weight: 600; }
.tbd { display: inline-block; padding: .3em .85em; border-radius: 999px; border: 1.5px dashed var(--pink-300); font: 700 .74rem var(--f-body); letter-spacing: .08em; text-transform: uppercase; color: var(--pink-300); }
.think { padding: clamp(24px, 3.5vw, 40px); border-radius: 26px; background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .12); }
.think__h { margin: 0 0 1rem; font: 600 clamp(1.4rem, 2.4vw, 1.8rem)/1.2 var(--f-display); color: var(--gold-300); }

/* ==========================================================================
   13 · GARANTÍA
   ========================================================================== */
.seal { position: relative; width: 150px; height: 150px; margin: 0 auto 1.6rem; }
.seal svg { width: 100%; height: 100%; overflow: visible; animation: spin 32s linear infinite; }
.seal text { font: 700 12.5px var(--f-body); fill: var(--pink-600); letter-spacing: 1px; }
.seal span { position: absolute; inset: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--gold-grad); color: var(--plum-950); font: 700 1.6rem var(--f-display); box-shadow: 0 0 40px rgba(214, 164, 58, .35); }

/* ==========================================================================
   14 · PREGUNTAS
   ========================================================================== */
.faq__list { border-top: 1px solid var(--line); }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1.2rem; padding: 1.3rem 0; font: 600 clamp(1.08rem, 1.8vw, 1.28rem)/1.3 var(--f-display); color: var(--plum-800); transition: color .3s; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary:hover { color: var(--pink-600); }
.faq summary::after {
  content: ""; flex: none; width: 36px; height: 36px; border-radius: 50%;
  background: linear-gradient(var(--purple), var(--purple)) center / 12px 2px no-repeat, linear-gradient(var(--purple), var(--purple)) center / 2px 12px no-repeat, var(--lilac-50);
  transition: transform .45s var(--ease);
}
.faq details[open] summary::after { transform: rotate(45deg); background: linear-gradient(#fff, #fff) center / 12px 2px no-repeat, linear-gradient(#fff, #fff) center / 2px 12px no-repeat, var(--pink); }
.faq details > div { padding: 0 3rem 1.4rem 0; animation: faqIn .5s var(--ease); }
.faq details > div p { margin: 0; }
@keyframes faqIn { from { opacity: 0; transform: translateY(-6px); } }

/* ==========================================================================
   15 · CIERRE
   ========================================================================== */
.finale { overflow: hidden; }
.finale__spot { position: absolute; top: -220px; left: 50%; width: 1200px; height: 900px; transform: translateX(-50%); pointer-events: none; background: radial-gradient(ellipse at 50% 0%, rgba(243, 214, 132, .22), transparent 60%); }
.finale .letter { position: relative; }
.final-card { margin: 2.6rem 0; padding: clamp(26px, 4vw, 44px); border-radius: 30px; text-align: center; background: radial-gradient(ellipse at 50% 0%, rgba(243, 214, 132, .18), transparent 70%), rgba(255, 255, 255, .04); border: 1px solid rgba(243, 214, 132, .45); box-shadow: 0 0 0 8px rgba(243, 214, 132, .05), 0 70px 130px -64px rgba(224, 65, 143, .7); }
.final-card__brand { margin: 0; font: 700 clamp(1.7rem, 3.6vw, 2.4rem)/1.1 var(--f-display); }
.final-card__sub { margin: .5rem 0 1.4rem; color: var(--soft); }
.final-card__prices { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; margin-bottom: 1.6rem; }
.final-card__prices p { margin: 0; padding: 1rem; display: flex; flex-direction: column; gap: .3rem; border-radius: 18px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .12); }
.final-card__prices span { font: 700 .74rem var(--f-body); letter-spacing: .08em; text-transform: uppercase; color: var(--pink-300); }
.final-card__prices b { font: 700 1.45rem var(--f-display); color: #fff; }
.signoff { margin: 0 !important; text-align: center; font: 600 clamp(1.3rem, 2.6vw, 1.9rem)/1.35 var(--f-display); color: #fff; }
.signoff em { color: var(--gold-300); }

/* ---------- Footer y CTA fija ---------- */
.footer { padding: 40px 0 50px; background: var(--plum-950); color: rgba(243, 234, 246, .6); border-top: 1px solid rgba(243, 214, 132, .2); }
.footer__in { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; }
.footer__brand { margin: 0; display: flex; align-items: center; gap: .6rem; font: italic 600 1.08rem var(--f-display); color: #fff; }
.footer__sep { color: var(--gold-300); font-style: normal; }
.footer__small { margin: 0; font-size: .85rem; }
.sticky-cta {
  position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 65;
  display: none; align-items: center; justify-content: space-between; gap: 1rem;
  padding: .55rem .55rem .55rem 1.3rem; border-radius: 999px;
  background: rgba(28, 10, 43, .94); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  border: 1px solid rgba(243, 214, 132, .35); box-shadow: 0 20px 44px -10px rgba(0, 0, 0, .55);
  transform: translateY(150%); transition: transform .55s var(--ease);
}
.sticky-cta.show { transform: none; }
.sticky-cta p { margin: 0; display: flex; flex-direction: column; line-height: 1.15; color: #fff; font-size: .95rem; }
.sticky-cta span { font: 700 .66rem var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--lilac); }

/* ==========================================================================
   PANTALLAS · cada idea cabe completa en una pantalla
   En PC cada sección ocupa el alto de la pantalla; si en una pantalla baja
   no alcanza, script.js la reduce un poco (zoom) hasta que entra.
   ========================================================================== */
.screen { position: relative; min-height: 100svh; display: flex; align-items: center; padding: 84px 0 44px; overflow: hidden; }
.screen > .wide { position: relative; z-index: 1; }
.s-dark--alt {
  background:
    radial-gradient(900px 600px at 12% 0%, rgba(224, 65, 143, .22), transparent 60%),
    radial-gradient(900px 600px at 100% 100%, rgba(122, 59, 176, .3), transparent 60%),
    #160620;
}
.narrow { max-width: 760px; margin-inline: auto; }
.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.split--top { align-items: start; margin-top: 1.2rem; }
.col > :first-child { margin-top: 0; }
.col > :last-child { margin-bottom: 0; }
.screen p { margin-bottom: .8em; }
.screen .h2 { margin-bottom: .5em; }
.screen .h2--xl { font-size: clamp(2.2rem, min(4.4vw, 7svh), 3.9rem); }
.lead { font-size: 1.12rem !important; line-height: 1.6; }
.screen .cta { margin-top: 1.4rem; }
.cta--left { text-align: left; }

/* Frase resaltada del inicio */
mark.hl { color: #fff; font-weight: 600; background: linear-gradient(transparent 58%, rgba(214, 164, 58, .55) 0); padding: 0 .08em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }

/* 2 · Te reconoces */
.screen .arrows { margin: 1rem 0 0; }
.screen .arrows li { padding: .72rem 0 .72rem 2.1rem; }
.screen .arrows li::before { top: .7rem; }
.screen .night { margin: 0 0 1rem !important; }
.screen .callout { margin: 0 0 1.2rem; padding: 1.1rem 1.4rem; }

/* 3 · Diagnóstico */
.screen .big-line { margin: 1rem 0 !important; }
.screen .highlight { margin: 0 0 1.2rem !important; }
.screen .truth { margin-top: 0; }

/* 4 · Actuación y humor */
.screen .duo__media img { aspect-ratio: 21 / 9; }
.screen .duo__body { padding: clamp(18px, 2.4vw, 28px); }
.screen .duo__body p { margin-bottom: .6em; font-size: .98rem; line-height: 1.55; }
.screen .duo__h { margin-bottom: .7rem; }
.screen .duo__end { margin-top: .8rem !important; padding-top: .8rem; }
.screen .formula { margin-top: 0; }
.screen .venn { width: min(100%, 340px); }

/* 5 · No vienes a tomar apuntes */
.twelve--big { margin: .4rem 0 1.2rem; padding: 1.2rem 1.6rem; }
.twelve--big .twelve__n { font-size: clamp(4.6rem, 11svh, 7.4rem); }
.screen .steps { grid-template-columns: repeat(2, 1fr); margin: 0 0 1.2rem; }
.screen .rule { margin-top: 0; }

/* 6 · La experiencia y el método */
.photo--tall { margin: 0; }
.photo--tall img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 24px; box-shadow: 0 34px 60px -40px rgba(61, 22, 96, .6); }
.screen__head { display: flex; justify-content: space-between; align-items: center; gap: 1.4rem; flex-wrap: wrap; margin-bottom: 1.4rem; }
.screen__head .h2 { margin: 0; }
.meets--grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.meets--grid .meet { grid-template-columns: 1fr; gap: .8rem; padding: 20px; align-content: start; }
.meets--grid .meet__n { width: 52px; height: 52px; font-size: 1.25rem; }
.meets--grid .meet__name { font-size: 1.55rem; }
.meets--grid .meet__tag { margin-bottom: .7rem !important; font-size: .78rem; }
.meets--grid .meet__body p { font-size: .92rem; line-height: 1.5; margin-bottom: .6em; }
.meets--grid .meet__end { margin-top: .4rem !important; padding: .7rem .85rem; font-size: .95rem; }

/* 7 · Para quién es */
.fitgrid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 1.2rem; align-items: start; margin-top: 1.2rem; }
.fitgrid .fit { margin-top: 0; }
.fit__list--2col { display: grid; grid-template-columns: 1fr 1fr; column-gap: 1.6rem; }
.fit__list--2col li { font-size: .95rem; }
.fitside { display: flex; flex-direction: column; gap: 1.2rem; }
.fitside .cta { margin-top: 0; }

/* 8 · ¿De verdad cambia algo? */
.screen .contrast { margin: 0 0 1.2rem; }
.screen .scene { margin: 0 0 .8rem; padding: 1rem 1.3rem; }

/* 9 · Testimonios, videos y mensajes */
.quotes--4 { columns: auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; max-width: 1080px; margin: 1.2rem auto 0; }
.quotes--4 .quote { margin: 0; padding: 1.3rem; }
.quotes--4 .quote blockquote { font-size: 1.04rem; }
.screen .reels--4 { margin-top: 1.2rem; }
.screen .reel video { max-height: 62svh; }
.msgs-wrap { position: relative; margin-top: 1.2rem; }
.msgs-row { display: flex; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: .4rem .2rem 1rem; scrollbar-width: thin; scrollbar-color: rgba(243, 214, 132, .5) transparent; }
.msgs-row img { flex: none; height: min(46svh, 400px); width: auto; scroll-snap-align: start; border-radius: 18px; border: 1px solid rgba(255, 255, 255, .14); box-shadow: 0 24px 44px -28px rgba(0, 0, 0, .7); }
.msgs-nav { position: absolute; top: calc(50% - 30px); z-index: 2; width: 46px; height: 46px; border: 0; border-radius: 50%; cursor: pointer; background: var(--gold-grad); color: var(--plum-950); font: 700 1.6rem/1 var(--f-body); box-shadow: 0 10px 24px -8px rgba(0, 0, 0, .6); }
.msgs-nav--prev { left: -14px; }
.msgs-nav--next { right: -14px; }
.screen .disclaimer { margin-top: .4rem; }

/* 10 · La entrenadora */
.screen .portrait { width: min(100%, 360px); margin: 0 auto; }
.screen .portrait > img:first-child { max-height: 74svh; }
.screen .portrait__award { right: -12%; bottom: -6%; }
.screen .path { margin-bottom: .4rem; }
.screen .path img { aspect-ratio: 5 / 4; }

/* 11 · Todo lo que te llevas */
.stackgrid { list-style: none; padding: 0; margin: 1.2rem 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.stackgrid li { display: flex; flex-direction: column; align-items: flex-start; padding: 1.2rem 1.2rem 1.1rem; border-radius: 22px; background: #fff; border: 1px solid var(--line); box-shadow: 0 24px 50px -40px rgba(61, 22, 96, .5); }
.stackgrid h3 { margin: .7rem 0 .4rem; font: 600 1.1rem/1.25 var(--f-display); color: var(--plum-800); }
.stackgrid li p { margin: 0; font-size: .9rem; line-height: 1.5; }
.stackgrid .stackgrid__sub { justify-content: center; align-items: center; text-align: center; background: var(--plum-900); border-color: transparent; }
.stackgrid__sub span { font: 700 .8rem var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--lilac); }
.stackgrid__sub b { margin-top: .3rem; font: 700 2rem var(--f-display); color: #fff; }
.bonusgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1.2rem; }
.bonus { padding: 1.4rem 1.5rem; border-radius: 22px; background: var(--pink-50); border: 1px solid rgba(224, 65, 143, .22); }
.bonus h3 { margin: .2rem 0 .5rem; font: 600 1.3rem/1.25 var(--f-display); color: var(--plum-800); }
.bonus p:last-child { margin: 0; }
.bonus .stack__v { float: right; margin-left: 1rem; }
.screen .reveal-price { margin-top: 1.4rem; padding: clamp(18px, 3svh, 30px); }

/* 12 · La inversión */
.offer__head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.2rem; }
.offer__head .h2 { margin: 0; }
.offer__head .offer__date { text-align: right; }
.screen .ticket__top { padding: 20px 28px 10px; }
.screen .ticket__name { margin: .1rem 0 .3rem; font-size: clamp(1.6rem, 3.6svh, 2.1rem); }
.screen .ticket__price { font-size: clamp(2.3rem, 5.6svh, 3.3rem); }
.screen .ticket__tag { margin-top: .5rem; font-size: 1rem; }
.screen .ticket__perf { height: 22px; }
.screen .ticket__body { padding: .7rem 28px 20px; }
.screen .ticket__list-h { margin-bottom: .3rem !important; }
.screen .tstack { margin-bottom: .6rem; }
.screen .tstack li { padding: .34rem 0 .34rem 1.6rem; font-size: .88rem; }
.screen .tstack li::before { top: .38rem; }
.tstack__sum { display: grid; grid-template-columns: auto 1fr; gap: .8rem; align-items: center; }
.screen .tstack__pay { margin: 0 !important; padding: .45rem .9rem; }
.screen .tstack__pay b { font-size: 1.3rem; }
.screen .tstack__total { flex-direction: column; gap: .1rem; }
.screen .ticket__for { padding-top: .5rem; margin-bottom: .6rem !important; font-size: .9rem !important; line-height: 1.45; }
.screen .ticket__note { margin-top: .5rem !important; }
.screen .ensayo { margin-bottom: .6rem; padding: .9rem 1.1rem; }
.screen .ensayo p { font-size: .9rem; line-height: 1.5; margin-bottom: .5em; }
.screen .ensayo__h { font-size: 1.2rem; }
.screen .ensayo__s { font-size: .98rem; }
.edition--stack { grid-template-columns: 1fr; margin: 0; }

/* 13 · Garantía */
.screen .seal { margin-bottom: 1rem; }

/* 14 · Preguntas */
.faq__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 0 2.4rem; align-items: start; margin-top: 1rem; }
.screen.faq summary { padding: .85rem 0; font-size: 1.04rem; }
.screen.faq summary::after { width: 30px; height: 30px; }
.screen.faq details > div { padding-bottom: 1rem; }

/* 15 · Cierre */
.screen .final-card { margin: 0 0 1.6rem; }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 960px) {
  .reels--4 { grid-template-columns: repeat(2, minmax(0, 250px)); }
  .path { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 860px) {
  .duo, .tickets, .contrast { grid-template-columns: 1fr; }
  .proofbar__list { grid-template-columns: repeat(2, 1fr); }
  .sticky-cta { display: flex; }
  .footer { padding-bottom: 104px; }
}
@media (max-width: 600px) {
  .brand__sub { display: none; }
  .brand__name { font-size: .95rem; overflow: hidden; text-overflow: ellipsis; }
  .topbar .btn { padding-inline: 1rem; font-size: .82rem; }
  .btn--lg { --h: 58px; font-size: 1rem; padding: .85em 1.4em; }
  .cta .btn, .hero .btn { width: 100%; }
  .reels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .reels--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .steps { grid-template-columns: repeat(2, 1fr); }
  .path { grid-template-columns: repeat(2, 1fr); }
  .path li:last-child { grid-column: 1 / -1; }
  .path li:last-child img { aspect-ratio: 16 / 10; }
  .edition { grid-template-columns: 1fr; }
  .meet { grid-template-columns: 1fr; }
  .meet__n { width: 56px; height: 56px; font-size: 1.3rem; }
  .rule { flex-direction: column; text-align: center; }
  .twelve { flex-direction: column; text-align: center; gap: .6rem; }
  .stack li { grid-template-columns: 1fr; gap: .6rem; }
  .stack__v { justify-self: start; }
  .final-card__prices { grid-template-columns: 1fr; }
  .faq details > div { padding-right: 0; }
  .ticket__ribbon { right: 14px; top: 14px; border-radius: 8px; }
  .ticket__ribbon::after { display: none; }
  .portrait__award { right: 0; width: 40%; }
  .marquee { margin-top: -20px; }
  .scene { flex-direction: column; gap: .4rem; }
  .reel figcaption { font-size: .82rem; }
}

/* Pantallas en tablet y móvil: una columna, sin alto fijo */
@media (max-width: 860px) {
  .screen { min-height: 0; display: block; padding: 64px 0 56px; }
  .split, .fitgrid, .faq__cols, .bonusgrid { grid-template-columns: 1fr; }
  .split { gap: 1.6rem; }
  .meets--grid, .stackgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quotes--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .screen .portrait { width: min(100%, 320px); margin-bottom: 1.6rem; }
  .screen .portrait__award { right: 0; }
  .screen__head { justify-content: center; text-align: center; }
  .offer__head { justify-content: center; text-align: center; }
  .offer__head .offer__date { text-align: center; }
  .msgs-nav { display: none; }
  .cta--left { text-align: center; }
}
@media (max-width: 600px) {
  .screen { padding: 56px 0 48px; }
  .meets--grid, .stackgrid, .fit__list--2col { grid-template-columns: 1fr; }
  .quotes--4 { grid-template-columns: 1fr; }
  .screen .reels--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .msgs-row img { height: 320px; }
  .twelve--big { flex-direction: row; text-align: left; }
  .tstack__sum { grid-template-columns: 1fr; }
  .screen .ticket__top, .screen .ticket__body { padding-inline: 20px; }
  .bonus .stack__v { float: none; display: inline-block; margin: 0 0 .5rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; transition-delay: 0s !important; }
  .js .reveal, .js .load { opacity: 1 !important; transform: none !important; }
}

/* ---------- Pantallas divididas (v2) ---------- */
.split--media { grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); }
.split--media-right { grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr); }
.photo--tall img { max-height: 72svh; }
.s-dark .lead { color: rgba(243, 234, 246, .86); }
.s-dark .eyebrow--gold { color: var(--gold-300); }
.meets--two { grid-template-columns: 1fr 1fr; gap: 1.2rem; margin-top: 1rem; }
.meets--two .meet { grid-template-columns: 64px 1fr; padding: clamp(18px, 2.4vw, 28px); align-content: start; }
.meets--two .meet__n { width: 64px; height: 64px; font-size: 1.45rem; }
.meets--two .meet__body p { font-size: 1rem; line-height: 1.55; margin-bottom: .6em; }
.meets--two .meet__end { margin-top: .5rem !important; }
.scenes2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; margin: 1.2rem 0 .4rem; }
.scenes2 .scene { margin: 0; padding: 1.4rem 1.6rem; }
.scenes2 .scene p { font-size: 1.08rem; line-height: 1.6; }
#cambia .contrast { margin: 1.2rem 0; }
#cambia .contrast p { font-size: 1.05rem; line-height: 1.55; }
#katherine .h2 { font-size: clamp(1.8rem, min(3.2vw, 5svh), 2.7rem); }

/* Entrada horizontal: datos a la izquierda, lo que incluye a la derecha */
.ticket--h { flex-direction: row; align-items: stretch; }
.ticket--h .ticket__top { flex: 0 0 38%; display: flex; flex-direction: column; justify-content: center; padding: 28px 30px; }
.ticket--h .ticket__perf { flex: none; width: 30px; height: auto; margin: -1px 0;
  background: radial-gradient(circle at 50% 0, var(--notch) 14px, transparent 15px), radial-gradient(circle at 50% 100%, var(--notch) 14px, transparent 15px); }
.ticket--h .ticket__perf::before { left: 50%; right: auto; top: 30px; bottom: 30px; border-top: 0; border-left: 2px dashed rgba(91, 35, 137, .22); }
.ticket--vip.ticket--h .ticket__perf::before { border-left-color: rgba(243, 214, 132, .35); }
.ticket--h .ticket__body { flex: 1; padding: 24px 30px; }
.ticket--h .ticket__for { margin-top: .4rem !important; }
.offer .ticket--h { --notch: var(--plum-950); }
#inversion-vip .ticket--h { --notch: #160620; }
.ticket--h .ticket__ribbon { right: auto; left: 22px; top: -14px; border-radius: 8px; }
.ticket--h .ticket__ribbon::after { display: none; }

@media (max-width: 860px) {
  .split--media, .split--media-right { grid-template-columns: 1fr; }
  .split--media-right > .photo { order: -1; }
  .meets--two, .scenes2 { grid-template-columns: 1fr; }
  .ticket--h { flex-direction: column; }
  .ticket--h .ticket__top { flex: none; }
  .ticket--h .ticket__perf { width: auto; height: 30px; margin: 0 -1px;
    background: radial-gradient(circle at 0 50%, var(--notch) 14px, transparent 15px), radial-gradient(circle at 100% 50%, var(--notch) 14px, transparent 15px); }
  .ticket--h .ticket__perf::before { left: 30px; right: 30px; top: 50%; bottom: auto; border-left: 0; border-top: 2px dashed rgba(91, 35, 137, .22); }
  .photo--tall img { max-height: none; }
}
.fit--wide { margin-top: 1rem; }
.fit--wide .fit__list--2col { column-gap: 2.4rem; }
.fit--wide .fit__list--2col li { font-size: 1rem; }
.fit--big .fit__h { font-size: clamp(1.6rem, 3vw, 2.2rem); margin-bottom: 1rem !important; }
.fit--big .fit__list li { font-size: 1.12rem; padding-block: 1rem; }
.fit--big .fit__list li::before { top: 1.05rem; }
/* Pantallas de PC bajas (laptop 1366×768): entradas más compactas */
@media (min-width: 861px) and (max-height: 700px) {
  .offer__head { margin-bottom: .8rem; }
  .offer__head .h2 { font-size: 2rem; }
  .screen .tstack li { padding: .24rem 0 .24rem 1.6rem; font-size: .85rem; }
  .screen .tstack li::before { top: .28rem; }
  .ticket--h .ticket__body { padding: 18px 28px; }
  .screen .ticket__for { font-size: .86rem !important; margin-bottom: .4rem !important; }
}

/* Franja de credenciales bajo el inicio */
.proofbar__cred { margin: 0 0 1.2rem; text-align: center; font: 700 .86rem/1.5 var(--f-body); letter-spacing: .08em; text-transform: uppercase; color: var(--gold-600); }
/* Pantalla en una sola columna centrada */
.stack-center .highlight { text-align: center; border-left-width: 1px; border-top: 4px solid var(--gold); margin-bottom: 1.6rem !important; }
.stack-center .h2 { margin-bottom: .6em; }
.stack-center .truth { text-align: center; }

/* Stack de valor: uno debajo del otro, valor a la derecha */
.vstack { list-style: none; padding: 0; margin: 1.2rem 0 0; border-top: 2px solid var(--plum-800); }
.vstack li { display: grid; grid-template-columns: minmax(180px, 26%) minmax(0, 1fr) auto; gap: .5rem 1.6rem; align-items: baseline; padding: .8rem 0; border-bottom: 1px solid var(--line); }
.vstack h3 { margin: 0; font: 600 1.08rem/1.3 var(--f-display); color: var(--plum-800); }
.vstack li p { margin: 0; font-size: .93rem; line-height: 1.5; color: var(--ink-2); }
.vstack .stack__v { justify-self: end; }
.vstack .vstack__sub { display: flex; justify-content: flex-end; align-items: baseline; gap: .8rem; border-bottom: 0; padding-top: 1rem; }
.vstack__sub span { font: 700 .82rem var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.vstack__sub b { font: 700 1.7rem var(--f-display); color: var(--plum-800); }
.vstack--bonus { border-top-color: var(--pink); }
.vstack__bonus .stack__k { display: block; margin: 0 0 .15rem; font: 700 .74rem var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: var(--pink-600); }
#juntas .formula__t { font-size: clamp(1.3rem, 2vw, 1.7rem); white-space: nowrap; }
@media (max-width: 760px) {
  .vstack li { grid-template-columns: minmax(0, 1fr) auto; }
  .vstack h3 { grid-column: 1; }
  .vstack .stack__v { grid-column: 2; grid-row: 1; }
  .vstack li p { grid-column: 1 / -1; }
  #juntas .formula__t { white-space: normal; }
}

/* Entradas verticales compactas (ambas en una pantalla) */
.offer__head { align-items: center; }
.screen .tickets .ticket__top { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; column-gap: 1rem; text-align: left; padding: 20px 26px 6px; }
.screen .tickets .ticket__kind { grid-column: 1; }
.screen .tickets .ticket__name { grid-column: 1; margin: 0; font-size: clamp(1.5rem, 3.2svh, 1.9rem); }
.screen .tickets .ticket__price { grid-column: 2; grid-row: 1 / span 2; align-self: center; font-size: clamp(2.1rem, 5svh, 2.9rem); }
.screen .tickets .ticket__tag { grid-column: 1 / -1; margin: .5rem 0 0; font-size: .95rem; }
.screen .tickets .ticket__perf { height: 20px; }
.screen .tickets .ticket__body { padding: .5rem 26px 18px; }
.screen .tickets .tstack li { padding: .26rem 0 .26rem 1.6rem; font-size: .86rem; }
.screen .tickets .tstack li::before { top: .3rem; }
.screen .tickets .ticket__for { font-size: .86rem !important; margin-bottom: .5rem !important; }
.screen .tickets .ensayo p { font-size: .86rem; }
.screen .tickets .ticket__ribbon { top: -13px; right: 22px; border-radius: 8px; }
.screen .tickets .ticket__ribbon::after { display: none; }
@media (max-width: 860px) { #inversion .offer__head { flex-wrap: wrap; } }
@media (min-width: 861px) and (max-height: 820px) {
  .vstack { margin-top: .6rem; }
  .vstack li { padding: .5rem 0; }
  .vstack li p { font-size: .9rem; line-height: 1.42; }
  .vstack .vstack__sub { padding-top: .6rem; }
}

/* La inversión: entradas como al principio (pueden ser más altas que la pantalla) */
.sec-free { position: relative; padding: clamp(84px, 10vw, 120px) 0 clamp(64px, 8vw, 100px); }
#inversion .offer__date { margin: -.4rem 0 clamp(28px, 4vw, 44px); }

/* Foto con su proporción original (sin recortar a las participantes) */
.photo--natural { margin: 0; }
.photo--natural img { width: 100%; height: auto; border-radius: 20px; border: 1px solid var(--line); box-shadow: 0 34px 60px -40px rgba(61, 22, 96, .6); }
.photo--natural figcaption { margin-top: .7rem; text-align: center; font: 700 .78rem var(--f-body); letter-spacing: .08em; text-transform: uppercase; color: var(--pink-600); }
#experiencia .split { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
@media (max-width: 860px) { #experiencia .split { grid-template-columns: 1fr; } }

/* Entradas más contenidas */
#inversion .tickets { max-width: 960px; margin-inline: auto; gap: 24px; }
#inversion .ticket__top { padding: 26px 30px 14px; }
#inversion .ticket__kind { font-size: .72rem; }
#inversion .ticket__name { margin: .15rem 0 .4rem; font-size: clamp(1.5rem, 2.3vw, 1.9rem); }
#inversion .ticket__price { font-size: clamp(2.2rem, 3.8vw, 2.9rem); }
#inversion .ticket__clp { font-size: .78rem; }
#inversion .ticket__tag { margin-top: .7rem; font-size: .98rem; }
#inversion .ticket__perf { height: 24px; }
#inversion .ticket__body { padding: .9rem 30px 26px; }
#inversion .ticket__list-h { font-size: .74rem !important; }
#inversion .tstack li { padding: .45rem 0 .45rem 1.6rem; font-size: .88rem; }
#inversion .tstack li::before { top: .5rem; width: 1.1rem; height: 1.1rem; font-size: .62rem; }
#inversion .tstack__pay { padding: .55rem .9rem; }
#inversion .tstack__pay b { font-size: 1.3rem; }
#inversion .ticket__for { font-size: .9rem; }
#inversion .ensayo { padding: 1rem 1.1rem; }
#inversion .ensayo__h { font-size: 1.2rem; }
#inversion .ensayo__s { font-size: .98rem; }
#inversion .ensayo p { font-size: .9rem; }
.ticket--vip .vip-name { color: var(--gold-300); font-style: italic; }
#trayectoria .proofbar__list { margin-top: 1.4rem; }
#trayectoria .proofbar__list img { max-height: 46svh; }

/* Mensajes: todos visibles, en mosaico (esta sección puede ocupar más de una pantalla) */
.msgs--all { columns: 3 260px; column-gap: 1.1rem; margin-top: clamp(28px, 4vw, 44px); }
.msgs--all img { display: block; width: 100%; height: auto; margin: 0 0 1.1rem; break-inside: avoid; }
#mensajes .disclaimer { margin-top: .6rem; }
@media (max-width: 600px) { .msgs--all { columns: 2 150px; column-gap: .7rem; } .msgs--all img { margin-bottom: .7rem; border-radius: 12px; } }
/* La entrenadora: el nombre arriba, la frase debajo */
.h2--name em { display: block; margin-top: .35em; font-size: .68em; line-height: 1.25; }
.hero__lead strong { font-weight: 700; color: #fff; }

/* Gift Card del VIP */
.tstack__gift::before { content: "✦" !important; background: var(--gold-grad) !important; color: var(--plum-950) !important; }
.tstack--vip .tstack__gift b { color: var(--gold-300); }
.giftcard {
  position: relative; overflow: hidden; margin: 0 0 1.1rem; padding: 1.1rem 1.3rem 1.2rem;
  border-radius: 18px; background: var(--gold-grad); color: var(--plum-950);
  box-shadow: 0 18px 40px -18px rgba(214, 164, 58, .7), inset 0 1px 0 rgba(255, 255, 255, .6);
}
.giftcard::before { content: ""; position: absolute; top: 0; bottom: 0; right: 22%; width: 14px; background: rgba(224, 65, 143, .85); }
.giftcard::after { content: "✦"; position: absolute; top: .7rem; right: calc(22% - 9px); width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--pink); color: #fff; font-size: .85rem; box-shadow: 0 4px 10px rgba(0, 0, 0, .25); }
.giftcard p { position: relative; z-index: 1; margin: 0; max-width: 74%; color: var(--plum-950) !important; }
.giftcard__k { font: 700 .7rem var(--f-body) !important; letter-spacing: .14em; text-transform: uppercase; }
.giftcard__v { margin: .15rem 0 0 !important; font: 700 2.1rem/1 var(--f-display) !important; }
.giftcard__v span { font-size: .55em; vertical-align: .55em; }
.giftcard__t { margin-bottom: .55rem !important; font: italic 600 1.05rem var(--f-display) !important; }
.giftcard__d { max-width: none !important; padding-top: .55rem; border-top: 1px dashed rgba(28, 10, 43, .35); font-size: .86rem !important; line-height: 1.45; }
.giftcard__d b { font-weight: 700; }
/* Cinta de la gift card en el borde derecho, sin tapar el texto */
.giftcard { padding-right: 64px; }
.giftcard::before { right: 24px; width: 12px; }
.giftcard::after { right: 14px; }
.giftcard p, .giftcard__d { max-width: none !important; }

/* Incluye: la frase de los tres oficios como título, "lo que te llevas" como subtítulo */
#incluye .h2--intro { max-width: 1120px; margin: 0 auto .5em; font-size: clamp(1.7rem, min(2.8vw, 5svh), 2.5rem); line-height: 1.15; }
.stack-label { margin: 0 0 .35rem !important; text-align: center; font: 600 clamp(1.15rem, 1.8vw, 1.45rem)/1.3 var(--f-display); color: var(--plum-800); }
.stack-label::before { content: "✦ "; color: var(--gold); font-size: .75em; vertical-align: .15em; }
@media (min-width: 861px) and (max-height: 820px) { #incluye .h2--intro { font-size: 1.6rem; margin-bottom: .35em; } .stack-label { font-size: 1.1rem; } }
@media (max-width: 600px) { #incluye .h2--intro { font-size: 1.45rem; line-height: 1.2; } }

/* ==========================================================================
   TARJETAS · cuadros con texto más ricos: marco doble fino, brillo suave y sellos.
   Para volver: respaldo-diseno-antes-de-lujo/styles-antes-de-tarjetas.css
   ========================================================================== */

/* Marco interior fino (segunda línea dorada dentro de cada tarjeta) */
.highlight, .truth, .quote, .meet, .fit:not(.fit--no), .contrast > div, .bonus, .reveal-price, .final-card, .twelve, .rule, .ensayo { position: relative; --r: 22px; --frame: rgba(214, 164, 58, .34); }
.highlight::after, .truth::after, .quote::after, .meet::after, .fit:not(.fit--no)::after, .contrast > div::after, .bonus::after, .reveal-price::after, .final-card::after, .twelve::after, .rule::after, .ensayo::after {
  content: ""; position: absolute; inset: 5px; border: 1px solid var(--frame); border-radius: calc(var(--r) - 5px); pointer-events: none;
}
.truth { --r: 24px; --frame: rgba(243, 214, 132, .32); }
.meet, .fit { --r: 26px; }
.rule { --r: 24px; }
.ensayo { --r: 20px; --frame: rgba(243, 214, 132, .26); }
.quote { --frame: rgba(243, 214, 132, .2); }
.contrast__yes, .meet--final { --frame: rgba(243, 214, 132, .3); }
.reveal-price { --r: 28px; --frame: rgba(243, 214, 132, .32); }
.final-card { --r: 30px; --frame: rgba(243, 214, 132, .3); }

/* Tarjetas claras: degradado marfil, filo dorado y sombra con profundidad */
.highlight { background: linear-gradient(180deg, #fff 0%, #fffaf0 100%); border-color: rgba(214, 164, 58, .65); box-shadow: 0 30px 60px -34px rgba(61, 22, 96, .5); }
.twelve, .rule, .fit:not(.fit--no) { background: linear-gradient(180deg, #fff 0%, #fffaf2 100%); border: 1px solid rgba(214, 164, 58, .5); box-shadow: 0 28px 54px -36px rgba(61, 22, 96, .55); }
.meet { background: linear-gradient(180deg, #fffdf9 0%, #f9f1e4 100%); border: 1px solid rgba(214, 164, 58, .55); box-shadow: 0 28px 56px -36px rgba(61, 22, 96, .55); }
.meet__n { background: linear-gradient(180deg, #fff, #fbf3e2); box-shadow: 0 0 0 5px rgba(214, 164, 58, .16), 0 8px 18px -8px rgba(61, 22, 96, .4); }
.meet__end { border-left: 3px solid var(--gold); background: linear-gradient(90deg, var(--pink-50), #fff8f0); }
.callout { background: linear-gradient(135deg, #fff6fa 0%, #fdeaf3 100%); border: 1px solid rgba(224, 65, 143, .22); border-left: 5px solid var(--pink); box-shadow: 0 22px 44px -30px rgba(196, 42, 118, .45); }
.bonus { background: linear-gradient(180deg, #fff7fb 0%, #fdeef6 100%); border: 1px solid rgba(214, 164, 58, .5); box-shadow: 0 24px 46px -32px rgba(196, 42, 118, .4); }
.chips li { background: linear-gradient(180deg, #fff 0%, #fbf5ea 100%); border: 1px solid rgba(214, 164, 58, .5); box-shadow: 0 10px 20px -14px rgba(61, 22, 96, .45); }
.contrast__no { background: linear-gradient(180deg, #fff 0%, #fbf6ee 100%); }

/* Tarjetas oscuras: ciruela con brillo dorado arriba y borde dorado */
.truth, .contrast__yes, .reveal-price {
  background: radial-gradient(ellipse at 50% 0%, rgba(243, 214, 132, .2), transparent 70%), linear-gradient(180deg, #2e0f47 0%, #180726 100%);
  border: 1px solid rgba(243, 214, 132, .55); box-shadow: 0 34px 64px -34px rgba(46, 15, 71, .85);
}
.reveal-price { box-shadow: 0 44px 80px -40px rgba(46, 15, 71, .9); }
.meet--final { background: radial-gradient(ellipse at 50% 0%, rgba(243, 214, 132, .2), transparent 70%), linear-gradient(180deg, #2a0f41 0%, #170824 100%); border: 1px solid rgba(243, 214, 132, .55); box-shadow: 0 40px 70px -36px rgba(0, 0, 0, .7); }
.steps li { background: linear-gradient(160deg, #3a1360 0%, #1c0a2b 100%); border: 1px solid rgba(243, 214, 132, .35); box-shadow: 0 16px 30px -20px rgba(28, 10, 43, .8); }
.ensayo { background: linear-gradient(160deg, rgba(243, 214, 132, .13), rgba(243, 214, 132, .04)); border: 1px solid rgba(243, 214, 132, .42); }
.edition > div { background: linear-gradient(160deg, rgba(243, 214, 132, .11), rgba(255, 255, 255, .03)); border: 1px solid rgba(243, 214, 132, .32); border-left: 3px solid var(--gold); }

/* Testimonios: filo dorado, brillo y comillas grandes de fondo */
.quote { background: linear-gradient(160deg, rgba(243, 214, 132, .11) 0%, rgba(255, 255, 255, .03) 60%); border: 1px solid rgba(243, 214, 132, .38); box-shadow: 0 24px 44px -28px rgba(0, 0, 0, .7); }
.quote::before { content: "\201C"; position: absolute; top: -15px; left: 22px; z-index: 2; width: 30px; height: 30px; display: grid; place-items: center; padding-top: .45rem; border-radius: 50%; background: var(--plum-950); border: 1px solid rgba(243, 214, 132, .7); font: 700 1.7rem/1 var(--f-display); color: var(--gold-300); pointer-events: none; }

/* Sello dorado sobre el borde de los recuadros clave */
.truth::before, .reveal-price::before, .final-card::before, .stack-center .highlight::before {
  content: "\2726"; position: absolute; top: -14px; left: 50%; transform: translateX(-50%); z-index: 2;
  width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%;
  background: var(--gold-grad); color: var(--plum-950); font-size: .85rem; line-height: 1;
  box-shadow: 0 6px 14px -4px rgba(0, 0, 0, .45), 0 0 0 3px rgba(243, 214, 132, .22);
}
.screen .truth { margin-top: 18px; }
.final-card__prices p { background: linear-gradient(160deg, rgba(243, 214, 132, .13), rgba(255, 255, 255, .03)); border: 1px solid rgba(243, 214, 132, .42); box-shadow: 0 16px 30px -22px rgba(0, 0, 0, .7); }
/* Testimonios adelantados (antes de los cuatro encuentros): franja compacta de dos citas */
.voces { padding: clamp(56px, 6vw, 72px) 0 clamp(44px, 5vw, 60px); }
.voces .eyebrow { margin-bottom: 1.6rem; }
.quotes--duo { columns: auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; max-width: 860px; margin: 0 auto; }
.quotes--duo .quote { margin: 0; padding: 1.5rem; }
.quotes--duo .quote blockquote { font-size: 1.06rem; }
@media (max-width: 700px) { .quotes--duo { grid-template-columns: 1fr; gap: 1.6rem; } }
/* Bloque "dejar huella": cuatro habilidades en tarjetas con icono y cierre */
.s-dark .lead strong { color: #fff; }
.skills { list-style: none; padding: 0; margin: 1.2rem auto 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; max-width: 1080px; counter-reset: none; }
.skill { position: relative; --r: 22px; --frame: rgba(214, 164, 58, .34); display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 1rem; align-items: start; padding: clamp(18px, 2.2vw, 26px); border-radius: 22px; background: linear-gradient(180deg, #fff 0%, #fffaf2 100%); border: 1px solid rgba(214, 164, 58, .5); box-shadow: 0 28px 54px -36px rgba(61, 22, 96, .55); }
.skill::after { content: ""; position: absolute; inset: 5px; border: 1px solid var(--frame); border-radius: calc(var(--r) - 5px); pointer-events: none; }
.skill__ico { width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; font-size: 1.6rem; line-height: 1; background: #fff; border: 2px solid var(--gold); box-shadow: 0 0 0 5px rgba(214, 164, 58, .16), 0 8px 18px -8px rgba(61, 22, 96, .4); }
.skill h3 { margin: 0 0 .4rem; font: 600 1.14rem/1.25 var(--f-display); color: var(--plum-800); }
.skill p { margin: 0; font-size: .95rem; line-height: 1.5; }
.skill p strong { color: var(--plum-800); }
.truth--close { max-width: 860px; margin: 1.3rem auto 0 !important; text-align: center; }
.truth--close p + p { margin-top: .45rem; font-style: italic; color: var(--gold-300) !important; }
.screen .truth--close { margin-top: 1.5rem !important; }
@media (max-width: 760px) { .skills { grid-template-columns: 1fr; } .skill { grid-template-columns: 48px minmax(0, 1fr); } .skill__ico { width: 48px; height: 48px; font-size: 1.35rem; } }
/* Pantallas de PC bajas (laptop 1366x657 / 1536x730): el bloque "poner en práctica" más compacto para que entre completo */
@media (min-width: 861px) and (max-height: 780px) {
  #practica .h2 { font-size: clamp(1.7rem, 3.2vw, 2.2rem); margin-bottom: .35em; }
  #practica .skills { margin-top: .6rem; gap: .7rem; }
  #practica .skill { padding: 12px 18px; gap: .8rem; grid-template-columns: 46px minmax(0, 1fr); }
  #practica .skill__ico { width: 46px; height: 46px; font-size: 1.3rem; }
  #practica .skill h3 { font-size: 1.02rem; margin-bottom: .25rem; }
  #practica .skill p { font-size: .88rem; line-height: 1.42; }
  #practica .truth--close { margin-top: 1.1rem !important; padding: 18px 20px 14px; }
  #practica .truth--close p { font-size: 1.02rem; line-height: 1.35; }
  #practica .truth--close p + p { margin-top: .25rem; }
  #practica .cta { margin-top: .9rem; }
  #practica .btn--lg { --h: 52px; }
}