/* ============================================================
   COLA DE ARROZ MORADO COREANO — QUIZ · Design System "K-Beauty Modern Purple"
   Rediseño v3 (AR) · violeta ube coreano + dorado premium + Fraunces display
   Mismos nombres de clase que el engine — solo cambia la piel.
   ============================================================ */
:root{
  /* Morado ube coreano (nombres --blueberry* conservados por compat con el engine) */
  --blueberry:#7C3AED; --blueberry-deep:#5B21B6; --blueberry-light:#B794F4; --blueberry-bg:#F4EDFE;
  --ube:#9D5CE0; --ube-soft:#C9A9F2;
  --cream:#FAF7FC; --card:#FFFFFF; --ink:#231B33; --ink-soft:#6E6580;
  --gold:#C79A3E; --gold-soft:#E7CE93; --line:#ECE5F5;
  --red:#E4574C; --red-bg:#FCEEED; --green:#22A06B; --green-bg:#E9F7F0;
  --radius:16px; --radius-lg:20px; --radius-sm:12px;
  --grad-cta:linear-gradient(135deg,#9B5DE5 0%,#6D28D9 100%);
  --grad-deep:linear-gradient(135deg,#5B21B6,#3B1682);
  --sh-grape:0 12px 28px rgba(124,58,237,.28);
  --sh-soft:0 10px 30px rgba(45,28,74,.09);
  --sh-card:0 2px 10px rgba(45,28,74,.05);
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{font-family:'Inter',-apple-system,sans-serif;background:var(--cream);color:var(--ink);min-height:100vh;
  background-image:radial-gradient(120% 60% at 50% -10%,rgba(157,92,224,.10),transparent 60%);background-attachment:fixed}
body.has-ctabar{padding-bottom:100px}

/* Display serif para momentos hero / venta / emoción */
.q-title,.inter h2,.hero-oh,.emo-quote,.status-value,.absolve{
  font-family:'Fraunces','Times New Roman',serif;font-optical-sizing:auto;letter-spacing:-.3px}

/* ---------- Shell ---------- */
.app{max-width:480px;margin:0 auto;min-height:60vh;display:flex;flex-direction:column;padding:14px 18px 28px}
.topbar{display:flex;align-items:center;justify-content:space-between;min-height:42px;margin-bottom:10px}
.back-btn{background:none;border:none;font-size:22px;color:var(--ink-soft);cursor:pointer;padding:4px 10px 4px 0;line-height:1}
.back-btn.hidden{visibility:hidden}
.trust{font-size:9.5px;color:var(--ink-soft);font-weight:600;text-align:right;line-height:1.25}
.trust b{color:var(--gold);font-size:11px}

/* ---------- Logo / identidad ---------- */
.brand{display:flex;align-items:center;gap:9px}
.brand .logo-berry{width:32px;height:32px;flex:0 0 32px;filter:drop-shadow(0 3px 6px rgba(124,58,237,.3))}
.brand-tx b{display:block;font-size:13.5px;font-weight:900;color:var(--ink);line-height:1.05;letter-spacing:-.3px}
.brand-tx b span{color:var(--blueberry)}
.brand-tx small{display:block;font-size:7.5px;font-weight:800;letter-spacing:1.7px;color:var(--gold);text-transform:uppercase;margin-top:2px}

/* ---------- Progress (5 secciones nombradas) ---------- */
.progress-wrap{margin:2px 0 18px}
.progress-wrap.hidden{display:none}
.progress-label{font-size:10.5px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--blueberry-deep);margin-bottom:7px;text-align:center}
.progress-track{display:flex;gap:5px}
.progress-seg{flex:1;height:6px;border-radius:4px;background:#E9E1F3;overflow:hidden}
.progress-seg .fill{height:100%;width:0;background:var(--grad-cta);border-radius:4px;transition:width .4s cubic-bezier(.4,0,.2,1)}

/* ---------- Pantallas ---------- */
.screen{display:flex;flex-direction:column;flex:1;animation:fadeUp .34s cubic-bezier(.2,.7,.3,1)}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
h1.q-title{font-size:25px;font-weight:600;line-height:1.16;margin-bottom:7px;text-align:center}
.q-sub{font-size:13.5px;color:var(--ink-soft);line-height:1.5;text-align:center;margin-bottom:18px}
.q-sub b{color:var(--ink);font-weight:700}

/* ---------- Opciones ---------- */
.options{display:flex;flex-direction:column;gap:11px}
.opt{display:flex;align-items:center;gap:13px;background:var(--card);border:1.5px solid var(--line);border-radius:var(--radius);
  padding:16px 16px;font-size:14.5px;font-weight:600;color:var(--ink);cursor:pointer;text-align:left;width:100%;
  font-family:'Inter';transition:border-color .16s,background .16s,box-shadow .16s,transform .1s;line-height:1.35;box-shadow:var(--sh-card)}
.opt .emoji{font-size:22px;flex:0 0 28px;text-align:center}
.opt:active{transform:scale(.985)}
.opt.selected{border-color:var(--blueberry);background:var(--blueberry-bg);box-shadow:0 6px 18px rgba(124,58,237,.16)}
.opt .check{margin-left:auto;width:23px;height:23px;border:2px solid var(--line);border-radius:7px;flex:0 0 23px;
  display:flex;align-items:center;justify-content:center;font-size:13px;color:#fff;transition:all .16s}
.opt.selected .check{background:var(--grad-cta);border-color:var(--blueberry)}
.opt.single .check{border-radius:50%}

/* grid de zonas (T5) */
.zone-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.zone-grid .opt{flex-direction:column;gap:6px;padding:13px 10px;text-align:center;font-size:13px}
.zone-grid .opt img{width:86px;height:86px;object-fit:contain;border-radius:12px}
.zone-grid .opt .check{margin:4px auto 0}

/* ---------- Botones / CTA bar fija ---------- */
.btn{display:block;width:100%;border:none;border-radius:var(--radius);background:var(--grad-cta);color:#fff;font-weight:800;
  font-size:16px;padding:17px;text-align:center;cursor:pointer;font-family:'Inter';text-decoration:none;letter-spacing:.2px;
  box-shadow:var(--sh-grape);transition:opacity .15s,transform .1s,box-shadow .15s}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.4;box-shadow:none;cursor:default;background:var(--blueberry)}
.btn.green{background:linear-gradient(135deg,#2FBE80,#178A57);box-shadow:0 10px 24px rgba(34,160,107,.34)}
.btn.pulse-soft{animation:softpulse 2.6s ease-in-out infinite}
@keyframes softpulse{0%,100%{transform:scale(1);box-shadow:var(--sh-grape)}50%{transform:scale(1.014);box-shadow:0 14px 30px rgba(124,58,237,.5)}}
.cta-bar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;z-index:40;
  padding:28px 18px 18px;background:linear-gradient(to top,var(--cream) 58%,rgba(250,247,252,.75) 82%,rgba(250,247,252,0))}
.cta-bar .micro{margin-top:8px}
.yn-row{display:flex;gap:10px}
.yn-row .btn{flex:1}
.yn-row .btn.ghost{background:var(--card);color:var(--blueberry-deep);border:1.5px solid var(--blueberry-light);box-shadow:var(--sh-card)}
.micro{text-align:center;font-size:10px;color:var(--ink-soft);margin-top:10px;font-weight:600}

/* ---------- Input nombre ---------- */
.name-input{width:100%;border:1.5px solid var(--line);border-radius:var(--radius);background:var(--card);padding:17px;
  font-size:16px;font-family:'Inter';font-weight:600;color:var(--ink);text-align:center;outline:none;box-shadow:var(--sh-card);transition:border-color .16s,box-shadow .16s}
.name-input:focus{border-color:var(--blueberry);box-shadow:0 0 0 4px rgba(124,58,237,.12)}

/* ---------- Landing (T1) ---------- */
.hero-img{border-radius:var(--radius-lg);overflow:hidden;margin-bottom:14px;box-shadow:0 16px 40px rgba(91,33,182,.3)}
.hero-img img{width:100%;display:block}
.nob{font-size:12px;font-weight:700;color:var(--blueberry-deep);text-align:center;margin:8px 0 12px}
.urg{text-align:center;font-size:10.5px;color:#B0683A;font-weight:700;margin-top:10px}
.bullets{display:flex;flex-direction:column;gap:10px;margin-bottom:4px}
.bullet{display:flex;gap:11px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);
  padding:13px 14px;font-size:12.5px;line-height:1.5;font-weight:500;color:var(--ink);box-shadow:var(--sh-card)}
.bullet .bi{flex:0 0 18px;color:var(--blueberry);font-weight:900}
.bullet b{font-weight:800}
.ba-strip{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:12px}
.ba-strip .bas{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--sh-card)}
.ba-strip .bas .pair{display:flex}
.ba-strip .bas img{width:50%;aspect-ratio:4/5;object-fit:cover;display:block}
.ba-strip .bas .nm{font-size:8.5px;font-weight:800;text-align:center;padding:5px 3px;color:var(--ink-soft)}
.dr-chip{display:flex;gap:11px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:11px;margin-top:12px;box-shadow:var(--sh-card)}
.dr-chip img{width:46px;height:46px;border-radius:50%;object-fit:cover;flex:0 0 46px;border:2px solid var(--blueberry-light)}
.dr-chip .nm{font-size:12px;font-weight:800}
.dr-chip .nm span{color:var(--blueberry)}
.dr-chip .cr{font-size:10px;color:var(--ink-soft);line-height:1.4}

/* ---------- Big Idea (T2B) ---------- */
.bi-card{position:relative;border-radius:var(--radius);overflow:hidden;margin-bottom:12px;background:var(--card);border:1px solid var(--line);box-shadow:var(--sh-soft)}
.bi-card img,.bi-card .bi-ph{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.bi-card .bi-ph{background:linear-gradient(135deg,#EFE6FB,#D4C4F2);display:flex;align-items:center;justify-content:center;color:#7B5AC4;font-size:10px;font-weight:800;text-align:center;line-height:1.5;padding:14px}
.bi-card .bi-cap{position:absolute;left:0;right:0;bottom:0;padding:32px 15px 14px;color:#fff;font-size:12.5px;font-weight:600;font-style:italic;line-height:1.45;
  background:linear-gradient(to top,rgba(28,16,48,.94) 30%,rgba(28,16,48,0))}
.bi-card .bi-cap b{color:var(--ube-soft);font-style:normal}
.bi-card .bi-cap .bi-author{display:block;margin-top:5px;font-style:normal;font-weight:800;font-size:11px;letter-spacing:.3px;color:#fff;opacity:.82}

/* ---------- Interstitials ---------- */
.inter{display:flex;flex-direction:column;flex:1}
.inter h2{font-size:23px;font-weight:600;line-height:1.2;margin-bottom:11px;text-align:center}
.inter p.body{font-size:13.5px;color:var(--ink-soft);line-height:1.6;margin-bottom:12px}
.inter p.body b{color:var(--ink)}
.kicker-tag{display:block;width:fit-content;margin:0 auto 10px;background:var(--grad-cta);color:#fff;font-size:10px;font-weight:900;
  letter-spacing:.7px;padding:5px 13px;border-radius:20px;text-transform:uppercase;box-shadow:0 4px 12px rgba(124,58,237,.3)}
.kicker-tag.red{background:linear-gradient(135deg,#EF6A60,#C63A2F);box-shadow:0 4px 12px rgba(228,87,76,.3)}
.voice-chip{display:flex;align-items:center;gap:10px;margin-bottom:13px;background:var(--blueberry-bg);border:1px solid var(--line);border-radius:14px;padding:8px 11px}
.voice-chip img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 2px 6px rgba(124,58,237,.25)}
.voice-chip .vn{font-size:11.5px;font-weight:800}
.voice-chip .vn span{color:var(--blueberry)}
.voice-chip .vr{font-size:10px;color:var(--ink-soft)}

/* ---------- T16 enemigos (cards gradiente condicionales) ---------- */
.enemy-v2{position:relative;border-radius:var(--radius);overflow:hidden;margin-bottom:11px;min-height:128px;display:flex;align-items:flex-end;box-shadow:var(--sh-soft)}
.enemy-v2 .ev-bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:54px;
  background:linear-gradient(135deg,#4A3670,#251A3B)}
.enemy-v2 .ev-bg img{width:100%;height:100%;object-fit:cover}
.enemy-v2 .ev-tx{position:relative;width:100%;padding:36px 15px 14px;color:#fff;
  background:linear-gradient(to top,rgba(20,12,36,.96) 45%,rgba(20,12,36,0))}
.enemy-v2 .ev-t{font-size:14.5px;font-weight:900;margin-bottom:4px}
.enemy-v2 .ev-b{font-size:12px;line-height:1.5;color:#CFC6E2}
.enemy-v2 .ev-b b{color:#fff}
.study-line{background:var(--blueberry-bg);border:1px solid var(--line);border-radius:14px;padding:13px 15px;font-size:12.5px;line-height:1.55;margin:4px 0 10px}
.study-line b{color:var(--blueberry-deep)}
.absolve{font-size:16px;font-weight:600;text-align:center;line-height:1.4;margin:8px 0 12px}

/* ---------- T15 mecanismo (cards 2 columnas, texto superpuesto) ---------- */
.shield-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-bottom:15px}
.shield-card{position:relative;border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--sh-card)}
.shield-card img{width:100%;aspect-ratio:1/1.15;object-fit:cover;display:block}
.shield-card .sc-n{position:absolute;top:9px;left:9px;width:25px;height:25px;border-radius:50%;background:var(--grad-cta);
  color:#fff;font-size:12.5px;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 8px rgba(0,0,0,.28)}
.shield-card .sc-cap{position:absolute;left:0;right:0;bottom:0;padding:28px 11px 10px;color:#fff;
  background:linear-gradient(to top,rgba(28,16,48,.95) 38%,rgba(28,16,48,0))}
.shield-card .sc-cap b{display:block;font-size:12px;font-weight:900;margin-bottom:2px}
.shield-card .sc-cap span{font-size:10.5px;line-height:1.35;display:block;color:#DAD0EC}
.shield-card.hero-step{border:2px solid var(--blueberry);box-shadow:0 8px 20px rgba(124,58,237,.34)}
.demo-box{background:var(--card);border:2px solid var(--blueberry);border-radius:14px;overflow:hidden;margin-bottom:8px;box-shadow:var(--sh-soft)}
.demo-box .apple43{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 62%;display:block}
.demo-box .cap{padding:12px 14px;font-size:12.5px;line-height:1.5;color:var(--ink-soft)}
.demo-box .cap b{color:var(--ink)}

/* ---------- Prueba / antes-después ---------- */
.ba-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:12px;box-shadow:var(--sh-card)}
.ba-pair{display:flex}
.ba-pair .half{position:relative;width:50%}
.ba-pair img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover}
.ba-tag{position:absolute;top:8px;left:8px;background:rgba(35,27,51,.82);color:#fff;font-size:9px;font-weight:800;
  letter-spacing:1px;padding:3px 8px;border-radius:7px;text-transform:uppercase}
.ba-tag.after{background:var(--blueberry)}
.ba-meta{padding:12px 14px}
.stars{color:var(--gold);font-size:13px;letter-spacing:2px;margin-bottom:4px}
.ba-name{font-size:13px;font-weight:800;margin-bottom:3px}
.ba-quote{font-size:12.5px;color:var(--ink-soft);line-height:1.5;font-style:italic}
.ba-claim{font-size:12px;font-weight:900;color:var(--blueberry-deep);text-transform:uppercase;letter-spacing:.4px;margin-bottom:3px}
.disclaimer{font-size:9px;color:#A9A2B2;text-align:center;margin-top:8px;line-height:1.4}

/* ---------- Emocionales ---------- */
.emo-img{border-radius:var(--radius);overflow:hidden;margin-bottom:14px;box-shadow:var(--sh-soft)}
.emo-img img{width:100%;display:block;max-height:300px;object-fit:cover}
.emo-cap{font-size:10.5px;color:var(--ink-soft);text-align:center;font-weight:700;margin:-8px 0 12px}
.emo-quote{font-size:22px;font-weight:600;font-style:italic;text-align:center;line-height:1.3;margin-bottom:18px}

/* ---------- T23 meta ---------- */
.goal-badge{background:var(--blueberry-bg);border:1.5px solid var(--blueberry-light);border-radius:14px;text-align:center;
  font-size:14px;font-weight:800;color:var(--blueberry-deep);padding:12px;margin-top:14px;animation:fadeUp .3s ease}
.yuna-validate{display:flex;gap:11px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:13px;margin-top:10px;animation:fadeUp .35s ease;box-shadow:var(--sh-card)}
.yuna-validate img{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:0 0 44px;border:2px solid var(--blueberry-light)}
.yuna-validate .tx{font-size:12.5px;line-height:1.5;color:var(--ink-soft)}
.yuna-validate .tx b{color:var(--ink)}

/* ---------- LOADING v2 (anillo de progreso) ---------- */
.loadv2{display:flex;flex-direction:column;align-items:center;flex:1;padding-top:18px}
.ring-wrap{position:relative;width:120px;height:120px;margin-bottom:18px}
.ring-wrap svg{transform:rotate(-90deg)}
.ring-bg{fill:none;stroke:#EBE3F5;stroke-width:9}
.ring-fg{fill:none;stroke:url(#ringGrad);stroke-width:9;stroke-linecap:round;transition:stroke-dashoffset .25s linear}
.ring-pct{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:25px;font-weight:900;color:var(--blueberry-deep)}
.load-title{font-size:18px;font-weight:800;text-align:center;margin-bottom:5px}
.load-current{font-size:12.5px;font-weight:600;color:var(--blueberry-deep);text-align:center;min-height:18px;margin-bottom:18px;animation:fadeUp .3s ease}
.load-list{display:flex;flex-direction:column;gap:9px;width:100%;margin-bottom:16px}
.load-item{display:flex;gap:11px;align-items:center;font-size:13px;font-weight:600;color:var(--ink-soft);
  background:var(--card);border:1px solid var(--line);border-radius:12px;padding:11px 14px;opacity:.5;transition:all .3s;box-shadow:var(--sh-card)}
.load-item.active{opacity:1;color:var(--ink);border-color:var(--blueberry-light);box-shadow:0 6px 16px rgba(124,58,237,.14)}
.load-item.done{opacity:1;color:var(--ink);border-color:#BFE5CD;background:var(--green-bg)}
.load-item .li-ico{flex:0 0 20px;text-align:center}
.load-social{font-size:11px;color:var(--ink-soft);font-weight:700;margin-top:4px}

/* carrusel (testimonios / antes-después) */
.carousel{position:relative;width:100%;margin-bottom:10px}
.carousel .slide{display:none;animation:fadeUp .4s ease}
.carousel .slide.active{display:block}
.car-dots{display:flex;gap:6px;justify-content:center;margin-bottom:6px}
.car-dots .dot{width:7px;height:7px;border-radius:50%;background:#DAD0EC;transition:background .2s}
.car-dots .dot.active{background:var(--blueberry)}
.t-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--sh-card)}
.t-card .stars{margin-bottom:5px}
.t-card .tq{font-size:12.5px;line-height:1.55;color:var(--ink);font-style:italic;margin-bottom:7px}
.t-card .tn{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:800;color:var(--ink-soft)}
.t-card .tn .av{width:27px;height:27px;border-radius:50%;background:var(--grad-cta);
  color:#fff;font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center}
.t-card .tn .vf{color:var(--green);font-size:10px}

/* credenciales (loading T14) */
.cred-block{display:flex;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:13px;width:100%;margin-bottom:10px;box-shadow:var(--sh-card)}
.cred-block img{width:76px;height:76px;border-radius:14px;object-fit:cover;flex:0 0 76px}
.cred-block .cb-n{font-size:13px;font-weight:900}
.cred-block .cb-n span{color:var(--blueberry)}
.cred-block ul{list-style:none;margin-top:4px}
.cred-block li{font-size:10.5px;color:var(--ink-soft);line-height:1.5;display:flex;gap:5px}
.cred-block li::before{content:'✦';color:var(--gold)}

/* ---------- T25 diagnóstico v2 ---------- */
.diag-head{display:flex;gap:12px;align-items:center;margin-bottom:13px}
.diag-head img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:0 0 56px;border:2px solid var(--blueberry-light)}
.diag-head .dh-t{font-size:15px;font-weight:900;line-height:1.25}
.diag-head .dh-s{font-size:10.5px;color:var(--ink-soft);font-weight:600}
.diag-box-red{background:var(--red-bg);border:1.5px solid #F2CFCB;border-radius:var(--radius);padding:15px;margin-bottom:11px}
.status-line{text-align:center;margin-bottom:3px;font-size:12px;font-weight:800;color:var(--ink-soft);letter-spacing:1px;text-transform:uppercase}
.status-value{text-align:center;font-size:28px;font-weight:600;color:var(--red);margin-bottom:12px;line-height:1.1}
.status-gauge{display:flex;gap:4px;margin-bottom:5px}
.status-gauge .zone{flex:1;height:12px;border-radius:6px;opacity:.28;position:relative}
.status-gauge .zone.z-off{background:var(--red)}
.status-gauge .zone.z-weak{background:#E8A13C}
.status-gauge .zone.z-on{background:var(--green)}
.status-gauge .zone.lit{opacity:1}
.status-gauge .zone .pin{position:absolute;top:-5px;left:50%;transform:translateX(-50%);width:21px;height:21px;border-radius:50%;
  background:#fff;border:4px solid var(--red);box-shadow:0 2px 6px rgba(0,0,0,.25)}
.gauge-labels{display:flex;gap:4px;margin-bottom:13px}
.gauge-labels span{flex:1;text-align:center;font-size:8.5px;font-weight:800;letter-spacing:.5px;color:var(--ink-soft);text-transform:uppercase}
.diag-alert-title{font-size:12.5px;font-weight:900;margin-bottom:8px}
.diag-alert{display:flex;gap:8px;font-size:12.5px;line-height:1.5;margin-bottom:7px;color:var(--ink)}
.diag-alert .x{flex:0 0 16px}
.diag-alert i{font-style:normal;background:#FBE3E3;border-radius:5px;padding:0 3px;font-weight:700}
.diag-box-green{background:var(--green-bg);border:1.5px solid #BFE5CD;border-radius:var(--radius);padding:15px;margin-bottom:11px;font-size:13px;line-height:1.55}
.diag-box-green b{color:var(--green)}
.proj-chart{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 15px 8px;margin-bottom:10px;box-shadow:var(--sh-card)}
.proj-chart .ng-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--ink-soft);margin-bottom:6px;text-align:center}
.proj-chart svg{width:100%;display:block}
.benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.benefit-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 13px;box-shadow:var(--sh-card)}
.benefit-card .bc-i{font-size:20px;margin-bottom:5px}
.benefit-card .bc-t{font-size:11.5px;font-weight:700;line-height:1.4}
.diag-sign{text-align:right;margin-top:2px}
.signature{font-family:'Fraunces','Snell Roundhand',cursive;font-size:26px;color:var(--blueberry-deep);text-align:center;font-style:italic}

/* ---------- T25B future pacing ---------- */
.fp-hero{border-radius:var(--radius);overflow:hidden;margin-bottom:12px;box-shadow:var(--sh-soft)}
.fp-hero img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.fp-timeline{border-left:3px solid var(--blueberry-light);margin:6px 0 12px 8px;padding-left:17px}
.fp-item{margin-bottom:14px;position:relative}
.fp-item::before{content:'';position:absolute;left:-24px;top:3px;width:11px;height:11px;border-radius:50%;background:var(--blueberry);border:2.5px solid var(--cream);box-shadow:0 0 0 1px var(--blueberry-light)}
.fp-item .wk{font-size:10.5px;font-weight:900;color:var(--blueberry-deep);text-transform:uppercase;letter-spacing:1px}
.fp-item .tx{font-size:13px;line-height:1.55;color:var(--ink)}
.fp-item .tx b{color:var(--blueberry-deep)}
.fp-item.gold::before{background:var(--gold);box-shadow:0 0 0 1px var(--gold-soft)}
.fp-item.gold .wk{color:var(--gold)}

/* ---------- T26 compromiso ---------- */
.lock-banner{background:var(--blueberry-bg);border:1.5px solid var(--blueberry-light);border-radius:var(--radius);padding:14px 16px;
  font-size:13.5px;line-height:1.5;font-weight:600;margin-bottom:16px;text-align:center}

/* ---------- T27 prueba columna única ---------- */
.proof-col{display:flex;flex-direction:column;gap:12px;margin-bottom:6px}
.pg-ph{width:100%;aspect-ratio:8/5;background:linear-gradient(135deg,#EFE6FB,#DACFF4);display:flex;align-items:center;justify-content:center;color:#8168C4;font-size:10px;font-weight:800;text-align:center;padding:8px;line-height:1.4}

footer.q-footer{text-align:center;font-size:9px;color:#B0A8BE;padding:18px 24px 6px;line-height:1.5;max-width:480px;margin:0 auto}

/* ---------- Hero split (panel de copy ES + foto limpia, sin texto PT) ---------- */
.hero-split{border-radius:var(--radius-lg);overflow:hidden;margin-bottom:14px;box-shadow:0 16px 40px rgba(91,33,182,.32)}
.hero-copy{position:relative;padding:22px 18px 18px;background:linear-gradient(135deg,#7126D6 0%,#4C1D95 100%);overflow:hidden}
.hero-copy::after{content:'';position:absolute;width:210px;height:210px;right:-72px;top:-92px;border-radius:50%;background:radial-gradient(circle,rgba(201,169,242,.42),transparent 70%);pointer-events:none}
.hero-ot{position:relative;font-size:10.5px;font-weight:900;letter-spacing:2.4px;text-transform:uppercase;color:var(--ube-soft);margin-bottom:8px}
.hero-oh{position:relative;font-size:32px;font-weight:600;line-height:1.04;color:#fff;margin-bottom:13px}
.hero-oh span{color:var(--ube-soft)}
.hero-os{position:relative;display:inline-block;background:rgba(255,255,255,.13);border:1px solid rgba(231,206,147,.55);border-radius:20px;padding:6px 14px;font-size:11px;font-weight:800;color:#fff;letter-spacing:.5px}
.hero-photo{display:block;line-height:0;background:#EFE9F6}
.hero-photo img{width:100%;display:block}
/* legacy (por si results.html referencia) */
.hero-img{border-radius:var(--radius-lg);overflow:hidden;margin-bottom:14px}
.hero-img img{width:100%;display:block}

/* ---------- Popup / exit-intent ---------- */
.popup-overlay{position:fixed;inset:0;background:rgba(20,12,36,.66);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeUp .25s ease;backdrop-filter:blur(3px)}
.popup{background:var(--cream);border-radius:var(--radius-lg);max-width:420px;width:100%;padding:28px 22px 22px;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.4);position:relative;max-height:92vh;overflow:auto}
.popup h3{font-size:20px;font-weight:800;line-height:1.25;margin-bottom:9px}
.popup p{font-size:13px;color:var(--ink-soft);line-height:1.55;margin-bottom:15px}
.popup p b{color:var(--ink)}
.popup .gift-emoji{font-size:46px;margin-bottom:8px;display:block}
.popup .px{position:absolute;top:9px;right:14px;background:none;border:none;font-size:22px;color:var(--ink-soft);cursor:pointer;line-height:1}
.popup .later{display:block;margin:11px auto 0;font-size:11.5px;color:var(--ink-soft);background:none;border:none;text-decoration:underline;cursor:pointer;font-family:'Inter'}

/* ---------- Ruleta (Wheel of Youth) ---------- */
.wheel-kicker{font-size:10px;font-weight:900;letter-spacing:2.2px;color:var(--gold);text-transform:uppercase;margin-bottom:4px}
.wheel-wrap{position:relative;width:272px;height:272px;margin:12px auto 16px}
.wheel-pointer{position:absolute;top:-7px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:13px solid transparent;border-right:13px solid transparent;border-top:21px solid #C0392B;z-index:3;filter:drop-shadow(0 2px 2px rgba(0,0,0,.25))}
#wheel-svg{width:272px;height:272px;border-radius:50%;box-shadow:0 12px 30px rgba(91,33,182,.32);transition:transform 4.4s cubic-bezier(.12,.62,.06,1)}
.wheel-result{background:var(--green-bg);border:2px solid #BFE5CD;border-radius:14px;padding:14px;font-size:14.5px;font-weight:800;margin-bottom:12px;line-height:1.4;animation:fadeUp .35s ease}
.wheel-result small{display:block;font-size:11.5px;font-weight:600;color:var(--ink-soft);margin-top:4px}
.discount-strike{text-decoration:line-through;color:var(--ink-soft);font-weight:700}
.wheel-applied{background:var(--green);color:#fff;font-size:12px;font-weight:800;border-radius:10px;padding:8px 12px;margin:0 0 12px;text-align:center}
