@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,800;1,700&family=DM+Sans:wght@300;400;500;600;700&family=DM+Mono:wght@400;500&display=swap');

:root{
  /* Brand — nunca cambia entre temas */
  --brand-navy:#0D1B2A;
  --brand-cream:#FAF8F4;
  --navy:#0D1B2A;
  --navyLt:#152335;
  --navyCard:#1C2F44;
  --coral:#E85D4A;
  --coralDk:#C94432;
  --pink:#E85D4A;
  --mag:#C73A2A;
  --purple:#8B2FC9;
  --teal:#0EA5A0;
  --tealDk:#047857;
  --tealLt:#5EEAD4;
  --tealSoft:rgba(4,120,87,.12);
  --gold:#D4A017;
  --goldDk:#92400E;
  --white:#FFFFFF;
  --off:#F6F5F0;
  --warm:#FAF8F4;
  --slate:#4A5968;
  --slateLt:#6B7A8D;
  --light:#B8C5D0;
  --border:#E0D8CC;
  --borderSoft:#EDE7DC;
  --green:#16A34A;
  --greenDk:#15803D;
  --orange:#EA580C;
  --red:#DC2626;
  /* Tokens semánticos de UI (light) */
  --ui-bg:#FAF8F4;
  --ui-surface:#FFFFFF;
  --ui-surface-soft:#F6F5F0;
  --ui-surface-tint:#F1EEE4;
  --ui-text:#0D1B2A;
  --ui-text-soft:#4A5968;
  --ui-text-muted:#6B7A8D;
  --ui-border:#E0D8CC;
  --ui-border-soft:#EDE7DC;
  color-scheme:light;
}
[data-theme="dark"]{
  --ui-bg:#0E1621;
  --ui-surface:#17202E;
  --ui-surface-soft:#141C27;
  --ui-surface-tint:#1C2838;
  --ui-text:#ECECF2;
  --ui-text-soft:#AFBDCE;
  --ui-text-muted:#8B98AB;
  --ui-border:#2A3548;
  --ui-border-soft:#1F2A3B;
  color-scheme:dark;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ui-bg:#0E1621;
    --ui-surface:#17202E;
    --ui-surface-soft:#141C27;
    --ui-surface-tint:#1C2838;
    --ui-text:#ECECF2;
    --ui-text-soft:#AFBDCE;
    --ui-text-muted:#8B98AB;
    --ui-border:#2A3548;
    --ui-border-soft:#1F2A3B;
    color-scheme:dark;
  }
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--ui-bg);color:var(--ui-text);line-height:1.65;min-height:100vh;transition:background .25s ease,color .25s ease}

/* ============== ACADEMY BAR (banda superior) ============== */
.academy-bar{background:var(--navy);color:var(--white);text-align:center;padding:8px 20px;font-family:'Cinzel',serif;font-size:11px;font-weight:700;letter-spacing:4px;text-transform:uppercase}
.academy-bar-inner{display:inline-block;color:#F1EEE4}
@media(max-width:700px){.academy-bar{font-size:9.5px;letter-spacing:2.5px;padding:7px 14px}}

/* ============== HEADER (tema claro, igual al certificado) ============== */
.hdr{background:var(--warm);position:sticky;top:0;z-index:100;box-shadow:0 2px 16px rgba(13,27,42,.08);border-bottom:1px solid var(--borderSoft)}
.grad-stripe{height:4px;background:linear-gradient(90deg,var(--tealDk),var(--teal),var(--gold),var(--coral))}
.hdr-row{max-width:1080px;margin:0 auto;padding:16px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.brand-logo{display:inline-flex;align-items:center;gap:18px;text-decoration:none;transition:opacity .15s}
.brand-logo:hover{opacity:.85}
.brand-tagline{display:flex;flex-direction:column;gap:3px;padding-left:16px;border-left:1.5px solid var(--border)}
.brand-tagline-l1{font-family:'Cinzel',serif;font-size:11.5px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold)}
.brand-tagline-l2{font-family:'EB Garamond',serif;font-size:13px;font-style:normal;color:var(--slate);font-weight:500;letter-spacing:.3px}
@media(max-width:820px){.brand-tagline{display:none}}
.brand-img{height:130px;width:auto;display:block;object-fit:contain;mix-blend-mode:multiply}
@media(max-width:700px){.brand-img{height:78px}}
.taller-badge{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--tealDk);background:var(--tealSoft);border:1.5px solid rgba(4,120,87,.35);border-radius:20px;padding:5px 14px}

/* ============== PROGRESS BAR ============== */
.progress-wrap{background:#F1EEE4;padding:12px 28px;border-bottom:1px solid var(--borderSoft)}
.progress-inner{max-width:1080px;margin:0 auto;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.progress-label{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--slate);white-space:nowrap}
.progress-track{flex:1;min-width:200px;height:8px;background:rgba(13,27,42,.08);border-radius:20px;overflow:hidden;position:relative}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--tealDk),var(--teal),var(--gold));border-radius:20px;transition:width .5s cubic-bezier(.22,.61,.36,1)}
.progress-num{font-family:'DM Mono',monospace;font-size:12px;font-weight:700;color:var(--navy);white-space:nowrap}

/* ============== MODULE NAV ============== */
.modnav{background:var(--warm);padding:0 28px;overflow-x:auto;border-bottom:1px solid var(--borderSoft)}
.modnav-inner{max-width:1080px;margin:0 auto;display:flex;gap:4px;padding:10px 0;white-space:nowrap}
.modnav-btn{padding:8px 16px;border-radius:8px;border:1px solid transparent;background:transparent;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;color:var(--slate);cursor:pointer;transition:all .15s;flex-shrink:0;display:inline-flex;align-items:center;gap:7px;position:relative}
.modnav-btn .mod-n{font-family:'DM Mono',monospace;font-size:10px;opacity:.7}
.modnav-btn:hover:not(.locked){color:var(--navy);background:rgba(13,27,42,.05)}
.modnav-btn.active{color:var(--tealDk);background:var(--tealSoft);border-color:rgba(4,120,87,.35)}
.modnav-btn.locked{color:rgba(74,89,104,.4);cursor:not-allowed}
.modnav-btn.locked::after{content:'🔒';font-size:10px;margin-left:2px}
.modnav-btn.done{color:var(--greenDk)}
.modnav-btn.done::after{content:'✓';font-size:11px;margin-left:2px;color:var(--green)}

/* ============== MODULE SECTIONS ============== */
.module{display:none;animation:fadeIn .35s ease}
.module.active{display:block}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

.page{max-width:1080px;margin:0 auto;padding:50px 28px 80px}

/* ============== HERO INTRO (legacy) ============== */
.hero{background:var(--warm);padding:60px 28px 70px;text-align:center;position:relative;color:var(--navy)}
.hero-inner{max-width:760px;margin:0 auto;position:relative;z-index:2}
.hero-eyebrow{display:inline-block;font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--coralDk);margin-bottom:24px}
.hero h1{font-family:'Cinzel',serif;font-size:clamp(30px,5vw,52px);line-height:1.12;margin-bottom:20px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px}
.hero h1 em{color:var(--coralDk);font-style:normal;font-family:'EB Garamond',serif;text-transform:none;font-weight:700}
.hero-desc{font-size:17px;color:var(--slate);max-width:620px;margin:0 auto 36px;line-height:1.75;font-family:'EB Garamond',serif;font-weight:500}
.hero-pills{display:none}
.hero-cta{display:inline-flex;align-items:center;gap:10px;background:var(--navy);color:var(--white);border:none;border-radius:2px;padding:14px 36px;font-family:'Cinzel',serif;font-size:13px;font-weight:700;letter-spacing:3px;text-transform:uppercase;cursor:pointer;transition:all .2s}
.hero-cta:hover{background:var(--tealDk);transform:translateY(-1px)}

/* ============== HERO NEW (minimalista, tema claro) ============== */
.hero-new{background:var(--warm);padding:60px 28px 60px;text-align:center;position:relative;color:var(--navy);border-bottom:1px solid var(--borderSoft)}
.hero-new-inner{max-width:860px;margin:0 auto}
.hero-academy-mark{font-family:'Cinzel',serif;font-size:13px;font-weight:700;letter-spacing:6px;text-transform:uppercase;color:var(--gold);margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid rgba(212,160,23,.3);display:inline-block;min-width:260px;position:relative}
.hero-academy-mark::before,.hero-academy-mark::after{content:'❖';position:absolute;bottom:-7px;color:var(--gold);font-size:11px;background:var(--warm);padding:0 8px}
.hero-academy-mark::before{left:30%}
.hero-academy-mark::after{right:30%}
.hero-cta-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-bottom:22px}
.hero-save-hint{display:inline-flex;align-items:center;gap:10px;margin:0 auto;font-family:'EB Garamond',serif;font-size:14px;color:var(--slate);font-style:normal;max-width:520px;line-height:1.5;font-weight:500}
.save-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(22,163,74,.18);flex-shrink:0;animation:savePulse 2.4s ease-in-out infinite}
@keyframes savePulse{0%,100%{box-shadow:0 0 0 3px rgba(22,163,74,.18)}50%{box-shadow:0 0 0 6px rgba(22,163,74,.08)}}

/* ============== RESUME BANNER ============== */
.resume-banner{display:flex;align-items:center;gap:18px;background:linear-gradient(135deg,#FEF9F5,#FFFFFF);border:1.5px solid var(--coral);border-radius:14px;padding:18px 22px;max-width:640px;margin:0 auto 24px;text-align:left;box-shadow:0 4px 18px rgba(232,93,74,.12)}
.resume-banner-icon{font-size:32px;flex-shrink:0}
.resume-banner-body{flex:1;min-width:0}
.resume-banner-title{font-family:'Cinzel',serif;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--coralDk);margin-bottom:4px}
.resume-banner-text{font-family:'EB Garamond',serif;font-size:15.5px;color:var(--navy);line-height:1.5;font-weight:500}
.resume-banner-btn{flex-shrink:0;white-space:nowrap}
@media(max-width:600px){.resume-banner{flex-direction:column;text-align:center}.resume-banner-btn{width:100%;justify-content:center}}
.hero-logo{height:260px;width:auto;max-width:100%;display:block;margin:0 auto 28px;mix-blend-mode:multiply;object-fit:contain}
@media(max-width:700px){.hero-logo{height:170px;margin-bottom:20px}}
.hero-eyebrow-line{font-family:'Cinzel',serif;font-size:11.5px;font-weight:700;letter-spacing:5px;text-transform:uppercase;color:var(--gold);margin-bottom:22px}
.hero-title{font-family:'Cinzel',serif;font-size:clamp(32px,5.2vw,56px);line-height:1.1;margin-bottom:22px;font-weight:800;color:var(--navy);letter-spacing:2px;text-transform:uppercase}
.hero-title em{color:var(--tealDk);font-style:normal;font-family:'EB Garamond',serif;font-weight:700;letter-spacing:.5px;text-transform:none;display:block;margin-top:8px;font-size:.78em}
.hero-lead{font-family:'EB Garamond',serif;font-size:20px;color:var(--slate);max-width:640px;margin:0 auto 40px;line-height:1.65;font-weight:500;letter-spacing:.2px}

.hero-meta{display:flex;justify-content:center;align-items:stretch;gap:0;flex-wrap:wrap;max-width:700px;margin:0 auto 42px;padding:22px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.hero-meta-item{flex:1;min-width:120px;padding:0 18px;text-align:center}
.hero-meta-num{font-family:'Cinzel',serif;font-size:34px;font-weight:900;color:var(--navy);line-height:1;margin-bottom:6px;letter-spacing:1px}
.hero-meta-num .u{font-size:.55em;color:var(--tealDk);font-weight:700;margin-left:2px}
.hero-meta-lbl{font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;color:var(--slate)}
.hero-meta-sep{width:1px;background:var(--border);margin:6px 0}
@media(max-width:640px){.hero-meta-sep{display:none}.hero-meta-item{min-width:140px;padding:8px 0}}

.hero-cta-new{display:inline-flex;align-items:center;gap:12px;background:var(--navy);color:var(--white);border:none;border-radius:2px;padding:16px 40px;font-family:'Cinzel',serif;font-size:13px;font-weight:700;letter-spacing:4px;text-transform:uppercase;cursor:pointer;transition:all .2s;box-shadow:0 4px 16px rgba(13,27,42,.18)}
.hero-cta-new:hover{background:var(--tealDk);transform:translateY(-1px);box-shadow:0 6px 20px rgba(4,120,87,.3)}

/* ============== EMBUDO DE MÓDULOS ============== */
.mod-funnel{max-width:860px;margin:0 auto 60px;display:flex;flex-direction:column;gap:0}
.mod-t-item{display:flex;align-items:center;gap:22px;padding:22px 26px;border-top:1px solid var(--border);cursor:pointer;transition:background .15s;background:transparent}
.mod-t-item:last-child{border-bottom:1px solid var(--border)}
.mod-t-item:hover{background:rgba(4,120,87,.05)}
.mod-t-num{font-family:'Cinzel',serif;font-size:28px;font-weight:800;color:var(--gold);letter-spacing:1px;flex-shrink:0;width:54px;text-align:center;line-height:1}
.mod-t-body{flex:1;min-width:0}
.mod-t-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:9px}
.mod-t-title{flex:1 1 auto;min-width:0;font-family:'Cinzel',serif;font-size:18px;font-weight:700;color:var(--navy);letter-spacing:.5px;text-transform:uppercase;line-height:1.3;word-break:break-word}
.mod-t-time{flex:0 0 auto;align-self:flex-start;margin-top:1px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:700;color:var(--coralDk);letter-spacing:1px;text-transform:uppercase;white-space:nowrap;padding:4px 11px;border:1px solid rgba(232,93,74,.28);border-radius:999px;background:rgba(232,93,74,.07)}
.mod-t-keys{display:flex;flex-wrap:wrap;gap:6px}
.mod-t-keys span{font-family:'EB Garamond',serif;font-size:16px;color:var(--slate);font-weight:500;font-style:normal;letter-spacing:.2px}
.mod-t-keys span:not(:last-child)::after{content:'·';margin-left:10px;color:var(--gold);font-weight:700;font-style:normal}
.mod-t-item.mod-t-final{background:rgba(212,160,23,.06);border-top:1.5px solid var(--gold)}
.mod-t-item.mod-t-final .mod-t-num{color:var(--tealDk);font-size:32px}
.mod-t-item.mod-t-final .mod-t-title{color:var(--tealDk)}

/* ============== HOW WORKS ============== */
.how-works{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:860px;margin:0 auto;padding-top:40px;border-top:1px solid var(--border)}
@media(max-width:760px){.how-works{grid-template-columns:1fr;gap:22px}}
.how-item{text-align:center;padding:0 10px}
.how-n{font-family:'Cinzel',serif;font-size:13px;font-weight:700;letter-spacing:3px;color:var(--gold);margin-bottom:12px}
.how-title{font-family:'Cinzel',serif;font-size:14px;font-weight:700;color:var(--navy);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px}
.how-text{font-family:'EB Garamond',serif;font-size:16px;color:var(--slate);line-height:1.65;font-weight:500}

/* ============== TYPOGRAPHY ============== */
.sec-header{margin-bottom:44px}
.sec-tag{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;color:var(--tealDk);margin-bottom:14px;background:var(--tealSoft);border:1px solid rgba(4,120,87,.22);border-radius:20px;padding:5px 14px}
.sec-tag .dot{width:6px;height:6px;border-radius:50%;background:var(--teal)}
.sec-h2{font-family:'Playfair Display',serif;font-size:clamp(28px,4.2vw,44px);color:var(--navy);line-height:1.12;margin-bottom:14px;font-weight:800;letter-spacing:-.5px}
.sec-desc{font-size:16px;color:var(--slate);max-width:720px;line-height:1.75}

.section-block{padding:10px 0 60px}

/* ============== CARDS ============== */
.card{background:var(--white);border:1.5px solid var(--border);border-radius:16px;padding:28px;box-shadow:0 2px 14px rgba(0,0,0,.04);transition:box-shadow .2s}
.card:hover{box-shadow:0 6px 24px rgba(0,0,0,.07)}
.card-dark{background:linear-gradient(135deg,var(--navy),#0A1420);border:1.5px solid rgba(255,255,255,.08);border-radius:16px;padding:28px;color:var(--white)}
.card-dark .sub-key{color:#B8C5D0}
.card-dark .sub-val{color:var(--white)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:820px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}

/* ============== CRM TOOL CARD (módulo 10) ============== */
.crm-tool-card{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:14px;overflow:hidden;box-shadow:0 4px 16px rgba(13,27,42,.06);margin-bottom:24px}
.crm-tool-header{display:flex;align-items:center;gap:16px;padding:20px 24px;background:linear-gradient(135deg,#0B6C68,#0EA5A0);color:#FFF}
.crm-tool-icon{width:48px;height:48px;border-radius:10px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;border:1px solid rgba(255,255,255,.2)}
.crm-tool-title{font-family:'Cinzel',serif;font-size:15px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;line-height:1.3}
.crm-tool-sub{font-family:'EB Garamond',serif;font-style:normal;font-size:14px;color:rgba(255,255,255,.9);margin-top:4px}
.crm-tool-body{padding:22px 26px}
.crm-tool-body p{font-family:'EB Garamond',serif;font-size:16px;color:var(--ui-text);line-height:1.7;margin-bottom:18px}
.crm-tool-body p strong{color:var(--navy)}
.crm-tool-steps{display:flex;flex-direction:column;gap:14px;margin-bottom:20px}
.crm-step{display:flex;gap:14px;padding:12px 14px;background:var(--ui-surface-soft);border:1px solid var(--ui-border-soft);border-radius:10px;align-items:flex-start}
.crm-step-n{font-family:'Cinzel',serif;font-weight:700;font-size:14px;color:var(--teal);flex-shrink:0;min-width:26px;letter-spacing:1px;padding-top:1px}
.crm-step strong{font-family:'Cinzel',serif;font-size:12.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--ui-text);display:block;margin-bottom:4px}
.crm-step-desc{font-family:'EB Garamond',serif;font-size:15px;color:var(--ui-text-soft);line-height:1.55;font-weight:500}
.crm-step-desc a{color:var(--coralDk);text-decoration:underline;text-decoration-color:rgba(201,68,50,.4);text-underline-offset:3px;transition:text-decoration-color .2s}
.crm-step-desc a:hover{text-decoration-color:var(--coralDk)}
.crm-tool-cta{display:inline-flex;align-items:center;gap:10px;background:var(--navy);color:#FFF;padding:13px 26px;border-radius:4px;font-family:'Cinzel',serif;font-size:12px;font-weight:700;letter-spacing:3px;text-transform:uppercase;text-decoration:none;transition:all .2s}
.crm-tool-cta:hover{background:var(--teal);transform:translateY(-1px)}

/* ============== COMISIONES CARDS (módulo 10) ============== */
.comm-card{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:14px;overflow:hidden;box-shadow:0 4px 16px rgba(13,27,42,.06)}
.comm-head{display:flex;align-items:center;gap:10px;padding:16px 20px;background:linear-gradient(135deg,var(--navy),#1A2F45);color:#FFF;font-family:'Cinzel',serif;font-size:14px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase}
.comm-head-gold{background:linear-gradient(135deg,#7C5A0F,#D4A017)}
.comm-head span{font-size:20px;line-height:1}
.comm-body{padding:18px 22px}
.comm-subhead{font-family:'Cinzel',serif;font-size:10.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--coralDk);margin:14px 0 6px;padding-bottom:6px;border-bottom:1px solid var(--ui-border-soft)}
.comm-body .comm-subhead:first-child{margin-top:0}
.comm-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;font-size:14.5px;border-bottom:1px solid var(--ui-border-soft)}
.comm-row:last-child{border-bottom:none}
.comm-k{color:var(--ui-text-soft);font-weight:600;flex-shrink:0}
.comm-v{color:var(--ui-text);font-weight:800;text-align:right;line-height:1.35}

@media(max-width:700px){
  .crm-tool-header{padding:16px 18px;gap:12px}
  .crm-tool-icon{width:42px;height:42px;font-size:20px}
  .crm-tool-title{font-size:13.5px;letter-spacing:1px}
  .crm-tool-sub{font-size:13px}
  .crm-tool-body{padding:18px}
  .crm-step{flex-direction:column;gap:6px}
  .comm-head{font-size:12.5px;letter-spacing:1.2px}
  .comm-row{flex-direction:column;gap:2px;font-size:13.5px}
  .comm-k{font-size:11.5px;letter-spacing:1px;text-transform:uppercase}
  .comm-v{text-align:left}
}

[data-theme="dark"] .crm-tool-card{background:var(--ui-surface);border-color:var(--ui-border);box-shadow:0 4px 18px rgba(0,0,0,.35)}
[data-theme="dark"] .crm-tool-header{background:linear-gradient(135deg,#083F3D,#0B6C68)}
[data-theme="dark"] .crm-tool-body p strong{color:var(--ui-text)}
[data-theme="dark"] .crm-step{background:var(--ui-surface-soft);border-color:var(--ui-border-soft)}
[data-theme="dark"] .crm-step-n{color:#5EEAD4}
[data-theme="dark"] .crm-step-desc a{color:#FF8A75}
[data-theme="dark"] .crm-tool-cta:hover{background:var(--teal)}

[data-theme="dark"] .comm-card{background:var(--ui-surface);border-color:var(--ui-border);box-shadow:0 4px 18px rgba(0,0,0,.35)}
[data-theme="dark"] .comm-head{background:linear-gradient(135deg,#0A1420,#1A2F45)}
[data-theme="dark"] .comm-head-gold{background:linear-gradient(135deg,#4A3707,#B8860B)}
[data-theme="dark"] .comm-subhead{color:#FF8A75;border-bottom-color:var(--ui-border-soft)}
[data-theme="dark"] .comm-row{border-bottom-color:var(--ui-border-soft)}
[data-theme="dark"] .comm-v{color:var(--ui-text)}

/* ============== SUBS GROUP HEADINGS (títulos del módulo 7) ============== */
.subs-group-head{display:flex;align-items:center;gap:14px;margin:32px 0 18px;padding:10px 0}
.subs-group-head .sgh-bar{width:6px;height:28px;border-radius:3px;flex-shrink:0;background:var(--coralDk)}
.subs-group-head .sgh-txt{font-family:'Cinzel',serif;font-size:15px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--navy);line-height:1.25}
.subs-group-orange .sgh-bar{background:var(--orange)}
.subs-group-teal .sgh-bar{background:var(--teal)}
.subs-group-coral .sgh-bar{background:var(--coralDk)}
.subs-group-gold .sgh-bar{background:var(--gold)}
.subs-group-orange .sgh-txt{color:var(--orange)}
.subs-group-teal .sgh-txt{color:#0B6C68}
.subs-group-coral .sgh-txt{color:var(--coralDk)}
.subs-group-gold .sgh-txt{color:#7C5A0F}
@media(max-width:700px){
  .subs-group-head{margin:26px 0 14px;gap:12px}
  .subs-group-head .sgh-txt{font-size:12.5px;letter-spacing:1.8px}
  .subs-group-head .sgh-bar{width:5px;height:24px}
}
[data-theme="dark"] .subs-group-orange .sgh-txt{color:#FCA35B}
[data-theme="dark"] .subs-group-teal .sgh-txt{color:#5EEAD4}
[data-theme="dark"] .subs-group-coral .sgh-txt{color:#FF8A75}
[data-theme="dark"] .subs-group-gold .sgh-txt{color:#FCD34D}

/* ============== SUBSIDIO CARDS ============== */
.subsidio-card{background:var(--white);border-radius:16px;border:2px solid;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08);transition:transform .2s,box-shadow .2s}
.subsidio-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,.12)}
.sub-header{padding:22px 24px;display:flex;align-items:center;gap:16px}
.sub-badge{width:62px;height:62px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;font-family:'DM Sans',sans-serif;letter-spacing:.5px;color:var(--white);flex-shrink:0;background:rgba(255,255,255,.22);border:1.5px solid rgba(255,255,255,.35);text-shadow:0 1px 2px rgba(0,0,0,.18)}
.sub-title{font-family:'Playfair Display',serif;font-size:19px;color:var(--white);line-height:1.22;font-weight:800;letter-spacing:.2px;text-shadow:0 1px 3px rgba(0,0,0,.22)}
.sub-sub{font-size:13px;color:rgba(255,255,255,.94);margin-top:5px;font-weight:500;line-height:1.4}
.sub-body{padding:22px 24px}
.sub-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 0;border-bottom:1px solid #EDE7DC;font-size:14.5px}
.sub-row:last-child{border-bottom:none}
.sub-key{color:var(--slate);font-weight:600;flex-shrink:0;width:140px;font-size:13.5px;letter-spacing:.1px}
.sub-val{color:var(--navy);font-weight:800;text-align:right;font-size:14.5px;line-height:1.35;flex:1}
.sub-desc{font-size:14.5px;color:var(--navy);margin-top:16px;padding-top:16px;border-top:1.5px solid #EDE7DC;line-height:1.7;font-weight:500}
.sub-desc strong{color:var(--navy);font-weight:800}

/* ============== PREGS ============== */
.preg-block{margin-bottom:12px}
.preg-toggle{display:flex;align-items:flex-start;gap:14px;width:100%;background:var(--white);border:1.5px solid var(--border);border-radius:12px;padding:16px 18px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:14.5px;font-weight:600;color:var(--navy);text-align:left;transition:all .15s}
.preg-toggle:hover{border-color:var(--coral);background:#FEF9F8}
.preg-toggle.open{border-color:var(--coral);background:#FEF2EF;border-radius:12px 12px 0 0;border-bottom-color:transparent}
.preg-num{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;font-family:'DM Mono',monospace;color:var(--white);flex-shrink:0}
.preg-icon{margin-left:auto;font-size:20px;transition:transform .2s;flex-shrink:0;color:var(--coral);font-weight:700}
.preg-toggle.open .preg-icon{transform:rotate(45deg)}
.preg-body{display:none;background:var(--off);border:1.5px solid var(--coral);border-top:none;border-radius:0 0 12px 12px;padding:18px 20px}
.preg-body.show{display:block}
.preg-purpose{font-size:13px;color:var(--slate);font-style:normal;margin-bottom:10px}
.preg-tip{font-size:13.8px;color:var(--navy);line-height:1.7}
.preg-tip strong{color:var(--coralDk)}

/* ============== TIP CARDS ============== */
.tip-card{background:var(--white);border-radius:14px;border:1.5px solid var(--border);padding:22px;display:flex;gap:16px;transition:all .2s}
.tip-card:hover{box-shadow:0 6px 24px rgba(0,0,0,.08);transform:translateY(-2px)}
.tip-icon{font-size:28px;flex-shrink:0;line-height:1}
.tip-title{font-size:15px;font-weight:800;color:var(--navy);margin-bottom:7px}
.tip-text{font-size:13.8px;color:var(--slate);line-height:1.7}
.tip-text strong{color:var(--navy);font-weight:700}

/* ============== OBJ CARDS ============== */
.obj-card{background:var(--white);border-radius:14px;overflow:hidden;border:1.5px solid var(--border);box-shadow:0 2px 10px rgba(0,0,0,.04)}
.obj-q{padding:16px 20px;font-size:14.5px;font-weight:700;color:var(--white);display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}
.obj-q-text{flex:1;line-height:1.45}
.obj-n{font-family:'DM Mono',monospace;font-size:11px;font-weight:800;background:rgba(255,255,255,.22);color:var(--white);padding:3px 8px;border-radius:6px;letter-spacing:1px;flex-shrink:0;align-self:center}
.obj-raiz{padding:12px 20px;background:#FAF8F4;border-top:1px solid var(--borderSoft);font-size:13px;color:var(--slate);display:flex;gap:10px;align-items:flex-start;line-height:1.5}
.obj-raiz-label{font-size:10px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--coralDk);background:rgba(232,93,74,.1);padding:3px 8px;border-radius:5px;flex-shrink:0}
.obj-raiz-text{font-style:normal;color:var(--slate);font-weight:500}
.obj-r{padding:18px 20px;font-size:14px;color:var(--navy);line-height:1.7;border-top:1.5px solid var(--border)}
.obj-r-label{display:block;font-size:10px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--green);margin-bottom:10px}
.obj-tag{font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:4px 10px;border-radius:6px;background:rgba(255,255,255,.22);flex-shrink:0;align-self:flex-start}

/* ============== INFO BOX ============== */
.info-box{border-radius:12px;padding:18px 22px;display:flex;gap:14px;margin-bottom:12px;align-items:flex-start}
.info-box.warn{background:#FFF7ED;border:1.5px solid #FED7AA}
.info-box.success{background:#F0FDF4;border:1.5px solid #BBF7D0}
.info-box.info{background:#EFF6FF;border:1.5px solid #BFDBFE}
.info-box.danger{background:#FEF2F2;border:1.5px solid #FECACA}
.info-icon{font-size:22px;flex-shrink:0;line-height:1.2}
.info-text{font-size:14px;line-height:1.7;color:var(--navy)}
.info-text strong{font-weight:800;color:var(--navy)}

/* ============== FORMULAS ============== */
.formula-box{background:linear-gradient(135deg,var(--navy),#0A1420);border-radius:12px;padding:22px 24px;margin:18px 0}
.formula-label{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--coral);margin-bottom:10px}
.formula-eq{font-family:'DM Mono',monospace;font-size:16px;color:var(--white);line-height:1.5;font-weight:500}
.formula-example{font-size:12.5px;color:var(--light);margin-top:10px;line-height:1.55}

/* ============== ETAPAS ============== */
.etapa-row{display:flex;align-items:flex-start;gap:18px;margin-bottom:20px}
.etapa-n{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-family:'DM Mono',monospace;font-size:16px;color:var(--white);flex-shrink:0;box-shadow:0 4px 12px rgba(0,0,0,.12)}
.etapa-title{font-size:15.5px;font-weight:800;color:var(--navy);margin-bottom:5px}
.etapa-desc{font-size:14px;color:var(--slate);line-height:1.65}

/* ============== EMO SECTION ============== */
.emo-section{background:linear-gradient(135deg,#1C0B18,var(--navy));border-radius:20px;padding:42px;color:var(--white)}
.emo-section h3{font-family:'Playfair Display',serif;font-size:26px;margin-bottom:16px;font-weight:800}
.emo-quote{font-family:'Playfair Display',serif;font-size:19px;font-style:normal;color:var(--coral);line-height:1.6;border-left:4px solid var(--coral);padding-left:22px;margin:22px 0}

/* ============== CHECKLIST ============== */
.checklist{list-style:none}
.checklist li{display:flex;gap:12px;padding:10px 0;font-size:14.5px;color:var(--navy);border-bottom:1px solid var(--borderSoft);line-height:1.5}
.checklist li:last-child{border-bottom:none}
.checklist li::before{content:'✓';font-weight:800;color:var(--green);flex-shrink:0;width:18px}
.checklist.warn li::before{content:'!';color:var(--orange)}

/* ============== TABLE ============== */
.barrio-table{width:100%;border-collapse:collapse;font-size:13.8px;border-radius:12px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.barrio-table th{background:var(--navy);color:var(--white);text-align:left;padding:13px 16px;font-size:12px;font-weight:700;letter-spacing:.5px}
.barrio-table td{padding:13px 16px;border-bottom:1px solid var(--border);background:var(--white);color:var(--navy);vertical-align:top;line-height:1.55}
.barrio-table tr:nth-child(even) td{background:var(--off)}

/* Barrio-table como cards apiladas en móvil */
@media(max-width:640px){
  .barrio-table{font-size:14.5px;box-shadow:none;background:transparent;border-radius:0}
  .barrio-table thead{display:none}
  .barrio-table tr{display:block;background:var(--white);border:1px solid var(--border);border-radius:12px;margin-bottom:14px;padding:14px 16px 10px;box-shadow:0 2px 10px rgba(0,0,0,.05)}
  .barrio-table tr:nth-child(even) td{background:transparent}
  .barrio-table td{display:block;padding:6px 0;border:none !important;background:transparent !important;color:var(--navy)}
  .barrio-table td:nth-child(1){font-family:'Cinzel',serif;font-size:16px;font-weight:800;color:var(--coralDk);border-bottom:1px solid var(--border) !important;padding-bottom:10px;margin-bottom:4px;letter-spacing:.5px;text-transform:uppercase}
  .barrio-table td:nth-child(1) strong{font-weight:800}
  .barrio-table td:nth-child(2)::before{content:'Requisito';display:block;font-family:'DM Sans',sans-serif;font-weight:700;color:var(--slate);font-size:10.5px;letter-spacing:1.8px;text-transform:uppercase;margin-bottom:4px}
  .barrio-table td:nth-child(3)::before{content:'Comisión tope';display:block;font-family:'DM Sans',sans-serif;font-weight:700;color:var(--slate);font-size:10.5px;letter-spacing:1.8px;text-transform:uppercase;margin-bottom:4px;margin-top:6px}
}
[data-theme="dark"] .barrio-table tr{background:var(--ui-surface);border-color:var(--ui-border);box-shadow:0 2px 10px rgba(0,0,0,.35)}
[data-theme="dark"] .barrio-table td{color:var(--ui-text)}
[data-theme="dark"] .barrio-table td:nth-child(1){color:#FF8A75;border-bottom-color:var(--ui-border) !important}
[data-theme="dark"] .barrio-table td:nth-child(2)::before,
[data-theme="dark"] .barrio-table td:nth-child(3)::before{color:var(--ui-text-soft)}

/* ============== HIGHLIGHTS ============== */
.hl{display:inline-block;background:rgba(232,93,74,.14);color:var(--coralDk);border-radius:6px;padding:2px 9px;font-weight:700;font-size:.92em}
.hl-green{background:rgba(22,163,74,.14);color:var(--greenDk)}
.hl-blue{background:rgba(59,130,246,.14);color:#1D4ED8}
.hl-purple{background:rgba(139,47,201,.14);color:#6B21A8}
.hl-gold{background:rgba(212,160,23,.15);color:#92400E}

/* ============== PROP CARDS (rediseñadas) ============== */
.prop-card{background:var(--ui-surface);border-radius:14px;border:1px solid var(--ui-border);overflow:hidden;box-shadow:0 2px 12px rgba(13,27,42,.05);transition:box-shadow .2s}
.prop-card:hover{box-shadow:0 8px 24px rgba(13,27,42,.08)}
.prop-header{padding:18px 22px;display:flex;align-items:center;gap:12px;color:#FFFFFF;background:linear-gradient(135deg,var(--navy),#1A2F45)}
.prop-card-sun .prop-header{background:linear-gradient(135deg,#B45309 0%,#EA580C 100%)}
.prop-card-water .prop-header{background:linear-gradient(135deg,#1E3A5F 0%,#2563EB 100%)}
.prop-header-ico{font-size:22px;line-height:1;flex-shrink:0}
.prop-header-txt{font-family:'Cinzel',serif;font-size:14.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;line-height:1.2}
.prop-body{padding:20px 22px}
.prop-body-intro{font-family:'Cinzel',serif;font-size:10.5px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--coralDk);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--ui-border-soft)}
.prop-item{display:flex;flex-direction:column;gap:3px;padding:11px 0;border-bottom:1px solid var(--ui-border-soft);line-height:1.55}
.prop-item:last-child{border-bottom:none}
.prop-item strong{font-family:'Cinzel',serif;font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--ui-text);display:block}
.prop-item span{font-family:'EB Garamond',serif;font-size:15.5px;color:var(--ui-text-soft);font-weight:500;line-height:1.55}
.prop-item:not(:has(strong)) span{color:var(--ui-text);font-size:15px}
.prop-item-star{padding:14px 14px;margin:6px -14px;background:rgba(212,160,23,.1);border-radius:8px;border:1px solid rgba(212,160,23,.35);border-bottom:1px solid rgba(212,160,23,.35)}
.prop-item-star strong{color:var(--coralDk)}
.prop-item-star span{color:var(--ui-text);font-weight:500}
.prop-tip{margin-top:16px;padding:14px 16px;background:rgba(212,160,23,.08);border-left:3px solid var(--gold);border-radius:4px;font-family:'EB Garamond',serif;font-size:15px;color:var(--ui-text);line-height:1.6;font-weight:500}
.prop-tip strong{color:var(--coralDk);font-family:'Cinzel',serif;font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;margin-right:4px}

/* ============== QUIZ GATE ============== */
.quiz-gate{margin-top:60px;padding:38px;background:linear-gradient(135deg,var(--navy),var(--navyCard));border-radius:20px;color:var(--white);box-shadow:0 20px 50px rgba(13,27,42,.25)}
.quiz-gate-head{display:flex;align-items:center;gap:16px;margin-bottom:8px;flex-wrap:wrap}
.quiz-icon{width:50px;height:50px;border-radius:12px;background:linear-gradient(135deg,var(--coral),var(--pink));display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.quiz-title{font-family:'Playfair Display',serif;font-size:26px;color:var(--white);font-weight:800}
.quiz-sub{font-size:14px;color:#B8C5D0;margin-bottom:26px;line-height:1.65}

.quiz-progress-wrap{display:flex;align-items:center;gap:14px;margin-bottom:22px;flex-wrap:wrap}
.quiz-progress{display:flex;gap:6px;flex:1;min-width:200px}
.quiz-progress-label{font-family:'DM Sans',sans-serif;font-size:12px;font-weight:700;color:#5DE0A8;letter-spacing:.5px;white-space:nowrap}
.qp-dot{flex:1;height:7px;background:rgba(255,255,255,.1);border-radius:10px;transition:background .3s}
.qp-dot.done{background:var(--green)}
.qp-dot.current{background:var(--coral)}
.qp-dot.wrong{background:var(--red)}

.quiz-q{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:22px 24px;margin-bottom:18px}
.quiz-q-label{font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--coral);margin-bottom:10px}
.quiz-q-text{font-size:16px;font-weight:600;color:var(--white);line-height:1.55;margin-bottom:18px}
.quiz-opts{display:flex;flex-direction:column;gap:10px}
.quiz-opt{display:flex;align-items:flex-start;gap:12px;background:rgba(255,255,255,.05);border:1.5px solid rgba(255,255,255,.12);border-radius:10px;padding:14px 16px;cursor:pointer;color:#E6ECF3;font-size:14.5px;line-height:1.5;transition:all .15s;text-align:left;font-family:inherit;font-weight:500}
.quiz-opt:hover{background:rgba(255,255,255,.09);border-color:rgba(232,93,74,.5)}
.quiz-opt .opt-letter{width:26px;height:26px;border-radius:7px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;font-family:'DM Mono',monospace;flex-shrink:0}
.quiz-opt.correct{background:rgba(22,163,74,.15);border-color:var(--green);color:#BBF7D0}
.quiz-opt.correct .opt-letter{background:var(--green);color:var(--white)}
.quiz-opt.wrong{background:rgba(220,38,38,.15);border-color:var(--red);color:#FECACA}
.quiz-opt.wrong .opt-letter{background:var(--red);color:var(--white)}
.quiz-opt.disabled{cursor:not-allowed;opacity:.65}

.quiz-feedback{margin-top:16px;padding:18px 20px;border-radius:12px;font-size:14px;line-height:1.65;display:none}
.quiz-feedback.show{display:block;animation:fadeIn .25s ease}
.quiz-feedback.correct{background:rgba(22,163,74,.12);border:1px solid rgba(22,163,74,.4);color:#BBF7D0}
.quiz-feedback.wrong{background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.35);color:#FECACA}
.quiz-feedback-title{font-weight:800;margin-bottom:12px;color:var(--white);font-size:14.5px;letter-spacing:.5px;font-family:'Cinzel',serif;text-transform:uppercase;letter-spacing:1.5px}
.quiz-feedback-body{color:#E6ECF3}
.quiz-feedback strong{color:var(--coral)}
.fb-block{padding:12px 14px;border-radius:8px;margin-bottom:12px}
.fb-block-wrong{background:rgba(220,38,38,.12);border:1px solid rgba(220,38,38,.3)}
.fb-block-right{background:rgba(22,163,74,.14);border:1px solid rgba(22,163,74,.4)}
.fb-label{font-size:10.5px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:#B8C5D0;margin-bottom:6px}
.fb-text{font-size:15px;font-weight:600;color:#FFF;line-height:1.5;display:flex;gap:9px;align-items:flex-start}
.fb-text .fb-x{color:#FCA5A5;font-weight:800;flex-shrink:0}
.fb-text .fb-check{color:#5DE0A8;font-weight:800;flex-shrink:0}
.fb-note{font-size:12.5px;color:#FECACA;margin-top:6px;font-style:normal;line-height:1.5}
.fb-why-label{font-size:10.5px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--coral);margin-bottom:6px;margin-top:4px}
.fb-why{color:#E6ECF3;font-size:14px;line-height:1.7}

.quiz-next{margin-top:18px;display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.btn{display:inline-flex;align-items:center;gap:8px;border:none;border-radius:10px;padding:13px 24px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s}
.btn-primary{background:var(--coral);color:var(--white)}
.btn-primary:hover{background:var(--coralDk);transform:translateY(-1px)}
.btn-ghost{background:rgba(255,255,255,.08);color:var(--white);border:1px solid rgba(255,255,255,.2)}
.btn-ghost:hover{background:rgba(255,255,255,.14)}
.btn-success{background:var(--green);color:var(--white)}
.btn-success:hover{background:var(--greenDk)}
.btn-light{background:var(--white);color:var(--navy);border:1.5px solid var(--border)}
.btn-light:hover{background:var(--off)}

/* ============== QUIZ SUMMARY ============== */
.quiz-done{text-align:center;padding:30px 20px}
.quiz-done-icon{font-size:60px;margin-bottom:16px;display:block}
.quiz-done-title{font-family:'Playfair Display',serif;font-size:28px;margin-bottom:10px;font-weight:800}
.quiz-done-text{font-size:15px;color:#D8E0EA;margin-bottom:24px;line-height:1.65}
.quiz-score{display:inline-flex;align-items:center;gap:14px;background:rgba(22,163,74,.15);border:1.5px solid rgba(22,163,74,.45);border-radius:14px;padding:16px 26px;margin-bottom:24px}
.quiz-score-n{font-family:'DM Mono',monospace;font-size:32px;font-weight:800;color:#5DE0A8}
.quiz-score-lbl{font-size:12px;color:#B8C5D0;letter-spacing:.5px;text-transform:uppercase;font-weight:700}

/* ============== CONCLUSION ============== */
.gold-rule{background:linear-gradient(135deg,#FEF9F5,#FFFFFF);border:2px solid var(--coral);border-radius:16px;padding:22px 24px;display:flex;gap:16px;align-items:flex-start;transition:transform .2s}
.gold-rule:hover{transform:translateY(-2px)}
.gold-rule-n{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--coral),var(--pink));color:var(--white);font-family:'DM Mono',monospace;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;box-shadow:0 6px 18px rgba(232,93,74,.25)}
.gold-rule-title{font-size:15px;font-weight:800;color:var(--navy);margin-bottom:6px}
.gold-rule-text{font-size:14px;color:var(--slate);line-height:1.65}

.concept-chip{display:inline-block;background:var(--navy);color:var(--white);padding:8px 16px;border-radius:20px;margin:4px;font-size:13px;font-weight:600}
.concept-chip strong{color:var(--coral)}

.crm-msg{margin-top:36px;background:linear-gradient(135deg,var(--coral),var(--pink));color:var(--white);border-radius:20px;padding:36px;text-align:center;box-shadow:0 20px 50px rgba(232,93,74,.35)}
.crm-msg h3{font-family:'Playfair Display',serif;font-size:26px;margin-bottom:12px;font-weight:800}
.crm-msg p{font-size:15.5px;line-height:1.7;max-width:680px;margin:0 auto 18px;color:#FFF3F0}
.crm-msg .crm-highlight{background:rgba(255,255,255,.15);border-radius:12px;padding:16px 20px;display:inline-block;font-size:14px;line-height:1.6;margin-top:10px}

/* ============== LOCKED BANNER ============== */
.locked-banner{background:var(--navyLt);border:1.5px dashed rgba(255,255,255,.2);border-radius:16px;padding:50px 30px;text-align:center;color:var(--light);margin:40px 0}
.locked-banner .lock-icon{font-size:50px;display:block;margin-bottom:14px;opacity:.7}
.locked-banner h4{font-family:'Playfair Display',serif;font-size:22px;color:var(--white);margin-bottom:8px;font-weight:800}
.locked-banner p{font-size:14px;line-height:1.65;max-width:480px;margin:0 auto}

/* ============== FINAL TEST ============== */
.final-test-intro{background:linear-gradient(135deg,#1C0B18,var(--navy));border-radius:20px;padding:44px;color:var(--white);text-align:center;margin-bottom:32px}
.final-test-intro h2{font-family:'Playfair Display',serif;font-size:34px;margin-bottom:14px;font-weight:800}
.final-test-intro p{font-size:15.5px;color:#D8E0EA;max-width:620px;margin:0 auto;line-height:1.7}
.test-stats{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:28px}
.test-stat{background:rgba(255,255,255,.08);border-radius:12px;padding:14px 22px;min-width:130px;border:1px solid rgba(255,255,255,.15)}
.test-stat .num{font-family:'Playfair Display',serif;font-size:28px;font-weight:800;color:var(--coral);line-height:1}
.test-stat .lbl{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--light);margin-top:6px;font-weight:700}

.final-result{background:var(--white);border:2px solid var(--coral);border-radius:20px;padding:44px;text-align:center;margin-top:32px;box-shadow:0 20px 50px rgba(232,93,74,.12)}
.final-result-icon{font-size:70px;display:block;margin-bottom:16px}
.final-result h3{font-family:'Playfair Display',serif;font-size:30px;margin-bottom:10px;color:var(--navy);font-weight:800}
.final-score-big{font-family:'Cinzel',serif;font-size:96px;font-weight:900;color:var(--coral);line-height:1;margin:24px 0 10px;letter-spacing:4px;text-shadow:0 3px 8px rgba(232,93,74,.18)}
@media(max-width:700px){.final-score-big{font-size:72px}}

/* ============== BACK TO TOP ============== */
.back-top{position:fixed;bottom:28px;right:28px;width:48px;height:48px;border-radius:50%;background:var(--coral);color:var(--white);border:none;font-size:22px;cursor:pointer;box-shadow:0 6px 20px rgba(232,93,74,.45);transition:all .2s;display:flex;align-items:center;justify-content:center;z-index:200}
.back-top:hover{transform:translateY(-3px);background:var(--coralDk)}

/* ============== CERTIFICADO ============== */
.cert-name-form{background:var(--white);border:1.5px solid var(--border);border-radius:14px;padding:20px 22px;margin-bottom:22px;display:flex;flex-direction:column;gap:8px}
.cert-name-form label{font-size:12px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--slate)}
.cert-name-form input{font-family:'DM Sans',sans-serif;font-size:15px;padding:12px 14px;border:1.5px solid var(--border);border-radius:10px;color:var(--navy);transition:border-color .15s}
.cert-name-form input:focus{outline:none;border-color:var(--coral);box-shadow:0 0 0 3px rgba(232,93,74,.12)}

.tm-cert{background:#FFFFFF;padding:18px;border-radius:18px;box-shadow:0 14px 40px rgba(13,27,42,.12);margin-bottom:24px}
.tm-cert-border{background:#FFFFFF;border:3px double var(--gold);padding:56px 62px 48px;position:relative;text-align:center;color:var(--navy);overflow:hidden}
.tm-cert-border::before{content:'';position:absolute;inset:10px;border:1px solid rgba(212,160,23,.5);pointer-events:none}
.tm-cert-corner{position:absolute;width:58px;height:58px;border:2px solid var(--gold);pointer-events:none}
.tm-cert-corner.tl{top:18px;left:18px;border-right:none;border-bottom:none}
.tm-cert-corner.tr{top:18px;right:18px;border-left:none;border-bottom:none}
.tm-cert-corner.bl{bottom:18px;left:18px;border-right:none;border-top:none}
.tm-cert-corner.br{bottom:18px;right:18px;border-left:none;border-top:none}

.tm-cert-logo-block{margin-bottom:18px;display:flex;flex-direction:column;align-items:center}
.tm-cert-logo-img{height:150px;width:auto;display:block;object-fit:contain}
@media(max-width:700px){.tm-cert-logo-img{height:115px}}

.tm-cert-eyebrow{font-family:'Cinzel',serif;font-size:12px;letter-spacing:6px;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:22px}
.tm-cert-title{font-family:'Cinzel',serif;font-weight:800;font-size:46px;line-height:1.15;color:var(--navy);letter-spacing:2px;text-transform:uppercase;margin-bottom:18px}
.tm-cert-title em{font-style:normal;font-family:'EB Garamond',serif;font-weight:700;letter-spacing:.5px;color:var(--coralDk);font-size:40px;text-transform:none;display:inline-block;margin-top:4px}
.tm-cert-divider{width:110px;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:0 auto 18px;position:relative}
.tm-cert-divider::before,.tm-cert-divider::after{content:'❖';position:absolute;top:50%;transform:translateY(-50%);color:var(--gold);font-size:10px;line-height:1}
.tm-cert-divider::before{left:-18px}
.tm-cert-divider::after{right:-18px}
.tm-cert-subtitle{font-family:'EB Garamond',serif;font-style:normal;font-size:19px;color:var(--slate);margin-bottom:38px;letter-spacing:.4px;font-weight:500}

.tm-cert-intro{font-family:'EB Garamond',serif;font-size:19px;color:var(--slate);margin-bottom:16px;font-style:normal;font-weight:500;letter-spacing:.2px}
.tm-cert-name{font-family:'EB Garamond',serif;font-weight:700;font-size:46px;color:var(--navy);border-bottom:1.5px solid var(--gold);padding:0 34px 12px;display:inline-block;margin:0 auto 28px;letter-spacing:1.5px;min-width:60%;max-width:100%;word-wrap:break-word;font-feature-settings:"liga","dlig","kern"}
.tm-cert-body{font-family:'EB Garamond',serif;font-size:18px;color:var(--navy);line-height:1.75;max-width:640px;margin:0 auto 34px;font-weight:500;letter-spacing:.1px}

.tm-cert-modules-block{background:rgba(250,245,235,.55);border:1px solid rgba(212,160,23,.3);border-radius:10px;padding:22px 26px;margin:0 auto 34px;max-width:640px;text-align:left}
.tm-cert-modules-title{font-family:'Cinzel',serif;font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);font-weight:700;text-align:center;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid rgba(212,160,23,.3)}
.tm-cert-modules{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 22px;font-family:'EB Garamond',serif;font-size:15.5px;color:var(--navy);font-weight:500}
.tm-cert-modules li{display:flex;gap:9px;align-items:flex-start;line-height:1.45}
.cert-mod-n{font-family:'Cinzel',serif;font-size:11px;font-weight:700;color:var(--gold);flex-shrink:0;padding-top:2px}

.tm-cert-final-badge{margin-top:20px;padding-top:18px;border-top:1px solid rgba(212,160,23,.3);display:flex;flex-direction:column;align-items:center;gap:2px}
.tm-cert-final-badge .badge-label{font-family:'Cinzel',serif;font-size:10.5px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);font-weight:700}
.tm-cert-final-badge .badge-score{font-family:'Cinzel',serif;font-size:64px;font-weight:900;color:var(--greenDk);line-height:1;letter-spacing:1px;margin:4px 0 6px;display:inline-flex;align-items:baseline;text-shadow:0 2px 4px rgba(21,128,61,.12)}
.tm-cert-final-badge .badge-slash{font-size:52px;color:var(--gold);margin:0 2px;font-weight:500}
.tm-cert-final-badge .badge-sub{font-family:'EB Garamond',serif;font-style:normal;font-size:14px;color:var(--greenDk);font-weight:600;letter-spacing:.3px}

/* Footer 3 columnas: fecha (izq) · prueba final (centro) · firma (der, con timbre APROBADO encima) */
.tm-cert-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:24px;margin-top:50px}
.tm-cert-footer .tm-cert-final-badge{margin:0;padding:0;border-top:none;align-items:center;text-align:center}
.tm-cert-footer .tm-cert-final-badge .badge-score{font-size:42px;margin:2px 0}
.tm-cert-footer .tm-cert-final-badge .badge-slash{font-size:34px}
.tm-cert-footer .tm-cert-final-badge .badge-sub{font-size:11.5px;letter-spacing:.4px}
.tm-cert-date{text-align:left;padding-bottom:10px}
.tm-cert-date-label{font-family:'Cinzel',serif;font-size:9.5px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-bottom:4px}
.tm-cert-date-val{font-family:'Cormorant Garamond',serif;font-style:normal;font-size:14px;color:var(--navy);font-weight:600}
/* Firma + timbre APROBADO superpuesto */
.tm-cert-sign{text-align:right;padding-bottom:6px;position:relative}
.tm-cert-sign-line{border-top:1.5px solid var(--navy);margin:0 0 8px auto;width:90%}
.tm-cert-sign-name{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:15px;color:var(--navy);letter-spacing:.3px}
.tm-cert-sign-role{font-family:'Cormorant Garamond',serif;font-style:normal;font-size:12.5px;color:var(--slate);margin-top:3px}
.tm-cert-stamp{position:absolute;top:-92px;right:-12px;width:160px;height:160px;transform:rotate(-12deg);pointer-events:none;opacity:.95;z-index:3}
.tm-cert-stamp-svg{width:100%;height:100%;display:block;filter:drop-shadow(0 3px 6px rgba(13,27,42,.18))}
/* Sello redondo central · identidad institucional */
.tm-cert-seal{display:flex;flex-direction:column;align-items:center;gap:6px}
.tm-cert-seal-mark{width:96px;height:96px;border-radius:50%;background:#FFFFFF;border:2.5px solid var(--gold);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(212,160,23,.28);position:relative;overflow:hidden;padding:14px}
.tm-cert-seal-mark img{width:100%;height:100%;object-fit:contain;display:block}
.tm-cert-seal-mark::before{content:'';position:absolute;inset:5px;border:1px dashed var(--gold);border-radius:50%;pointer-events:none}
.tm-cert-seal-label{font-family:'Cinzel',serif;font-size:8.5px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);text-align:center;line-height:1.4;font-weight:700}

.tm-cert-stamp::before{content:'';position:absolute;inset:10%;border-radius:50%;background:radial-gradient(circle at 28% 28%, rgba(255,255,255,.45) 0%, rgba(255,255,255,0) 55%);pointer-events:none;mix-blend-mode:screen}
.tm-cert-stamp::after{content:'';position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle at 72% 68%, rgba(13,27,42,.07) 0%, transparent 50%);pointer-events:none}

.tm-cert-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:20px}
.tm-cert-actions .btn{padding:14px 26px;font-size:14px}
.tm-cert-actions .btn:disabled{opacity:.6;cursor:wait}

@media(max-width:700px){
  .tm-cert-border{padding:40px 24px 32px}
  .tm-cert-title{font-size:36px}
  .tm-cert-name{font-size:28px;padding:0 14px 8px}
  .tm-cert-modules{grid-template-columns:1fr}
  .tm-cert-footer{grid-template-columns:1fr;gap:36px;text-align:center;justify-items:center}
  .tm-cert-date,.tm-cert-sign{text-align:center}
  .tm-cert-sign-line{margin:0 auto 6px;width:80%}
  .tm-cert-seal-mark{width:84px;height:84px;padding:10px}
  .tm-cert-stamp{position:relative;top:auto;right:auto;margin:0 auto 14px;display:block;transform:rotate(-8deg);width:130px;height:130px}
  .tm-cert-corner{width:38px;height:38px}
}

/* ============== PRINT ============== */
@media print{
  @page{size:A4 portrait;margin:12mm}
  body{background:#FFFFFF !important}
  .hdr,.progress-wrap,.modnav,.back-top,.tm-cert-actions,
  .cert-name-form,.crm-msg,.final-result,.concept-chip,
  .modnav-btn,.sec-header,.gold-rule,#gold-rules,
  .module:not(#mod-done) *{display:none !important}
  .module{display:none !important}
  .module#mod-done{display:block !important}
  #mod-done .page{padding:0 !important;max-width:100% !important}
  #mod-done .page > *:not(.cert-section){display:none !important}
  #mod-done .cert-section > .sec-header{display:none !important}
  .tm-cert{background:#FFFFFF !important;box-shadow:none !important;padding:0 !important;margin:0 !important}
  .tm-cert-border{border-color:#B8860B !important;page-break-inside:avoid;padding:40px 50px !important}
  .tm-cert-logo-mark{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .tm-cert-border,.tm-cert-title,.tm-cert-name,.tm-cert-seal-mark,
  .tm-cert-brand-name,.tm-cert-eyebrow,.tm-cert-subtitle,.tm-cert-final-badge{
    -webkit-print-color-adjust:exact !important;print-color-adjust:exact !important
  }
}

/* ============== THEME TOGGLE ============== */
.hdr-actions{display:inline-flex;align-items:center;gap:12px}
.theme-toggle{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--ui-border);background:var(--ui-surface);color:var(--navy);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;padding:0}
.theme-toggle:hover{border-color:var(--coral);color:var(--coralDk);transform:translateY(-1px)}
.theme-toggle .tt-sun{display:none}
.theme-toggle .tt-moon{display:block}
[data-theme="dark"] .theme-toggle{color:var(--gold)}
[data-theme="dark"] .theme-toggle .tt-sun{display:block}
[data-theme="dark"] .theme-toggle .tt-moon{display:none}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .theme-toggle{color:var(--gold)}
  :root:not([data-theme="light"]) .theme-toggle .tt-sun{display:block}
  :root:not([data-theme="light"]) .theme-toggle .tt-moon{display:none}
}

/* ============== RESPONSIVE ============== */
@media(max-width:700px){
  .hero{padding:50px 24px 70px}
  .hero-new{padding:40px 20px 40px}
  .hero-new-inner{max-width:100%}
  .hero-title{font-size:30px;letter-spacing:1px}
  .hero-title em{font-size:.82em;margin-top:6px}
  .hero-lead{font-size:17px;margin-bottom:28px}
  .hero-meta{margin-bottom:30px;padding:18px 0}
  .hero-meta-num{font-size:28px}
  .hero-meta-lbl{font-size:10px;letter-spacing:1.2px}
  .hero-academy-mark{font-size:11px;letter-spacing:4px;min-width:220px}
  .hero-cta-new{padding:14px 28px;font-size:12px;letter-spacing:3px;width:100%;justify-content:center}
  .page{padding:40px 20px 60px}
  .emo-section,.quiz-gate,.final-test-intro,.final-result{padding:28px 22px}
  .crm-msg{padding:28px 22px}
  .hdr-row{padding:12px 16px;gap:10px}
  .hdr-actions{gap:8px}
  .theme-toggle{width:36px;height:36px}
  .taller-badge{font-size:9px;padding:4px 10px;letter-spacing:1.5px}
  .modnav{padding:0 16px}
  .progress-wrap{padding:10px 16px}
  .quiz-title{font-size:22px}
  .quiz-q{padding:18px}
  .quiz-q-text{font-size:15px}
  .quiz-next{justify-content:stretch}
  .quiz-next .btn{flex:1;justify-content:center}
  .mod-t-item{padding:18px 18px;gap:14px}
  .mod-t-num{font-size:22px;width:40px}
  .mod-t-title{font-size:16px}
  .mod-t-time{font-size:12px;padding:3px 9px}
  .mod-t-keys span{font-size:15px}
  .mod-funnel{margin-bottom:40px}
  .academy-bar{font-size:8.5px;letter-spacing:2px;padding:6px 12px}
  .barrio-table{font-size:12.5px}
  .barrio-table th,.barrio-table td{padding:10px 12px}
  .sub-header{padding:18px 18px;gap:12px}
  .sub-badge{width:52px;height:52px;font-size:14px}
  .sub-title{font-size:16px}
  .sub-sub{font-size:12px}
  .sub-body{padding:18px 18px}
  .sub-row{font-size:13.5px;flex-direction:column;gap:3px}
  .sub-key{width:auto;font-size:11.5px;letter-spacing:1.2px;text-transform:uppercase}
  .sub-val{text-align:left;font-size:14.5px}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .final-score-big{font-size:64px;letter-spacing:2px}
  .tm-cert-title{font-size:32px;letter-spacing:1px}
  .tm-cert-name{font-size:26px;padding:0 12px 6px}
  .tm-cert-body{font-size:16px}
  .sec-h2{font-size:26px}
  .sec-desc{font-size:15px}
}
@media(max-width:480px){
  .hero-logo{height:140px}
  .brand-img{height:62px}
  .brand-tagline{display:none}
  .hero-title{font-size:26px}
  .tm-cert-border{padding:28px 18px 24px}
  .tm-cert-title{font-size:26px}
}

/* ============== DARK MODE OVERRIDES ============== */
[data-theme="dark"] .academy-bar{background:#070B12;border-bottom:1px solid #1F2A3B}
[data-theme="dark"] .academy-bar-inner{color:#E4DDC5}

[data-theme="dark"] .hdr{background:var(--ui-surface);box-shadow:0 2px 20px rgba(0,0,0,.5);border-bottom:1px solid var(--ui-border)}

/* Logo swap se hace vía JS cambiando el src; aquí ajustamos el mix-blend según tema */
[data-theme="dark"] .brand-img,
[data-theme="dark"] .hero-logo{mix-blend-mode:normal}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .brand-img,
  :root:not([data-theme="light"]) .hero-logo{mix-blend-mode:normal}
}

[data-theme="dark"] .brand-tagline{border-left-color:var(--ui-border-soft)}
[data-theme="dark"] .brand-tagline-l2{color:var(--ui-text-soft)}

[data-theme="dark"] .progress-wrap{background:var(--ui-surface-tint);border-bottom:1px solid var(--ui-border-soft)}
[data-theme="dark"] .progress-label{color:var(--ui-text-soft)}
[data-theme="dark"] .progress-track{background:rgba(255,255,255,.06)}
[data-theme="dark"] .progress-num{color:var(--ui-text)}

[data-theme="dark"] .modnav{background:var(--ui-surface);border-bottom:1px solid var(--ui-border-soft)}
[data-theme="dark"] .modnav-btn{color:var(--ui-text-soft);border-color:transparent}
[data-theme="dark"] .modnav-btn:hover:not(.locked){color:var(--ui-text);background:rgba(255,255,255,.05)}
[data-theme="dark"] .modnav-btn.active{color:#FFD4CC;background:rgba(232,93,74,.18);border-color:rgba(232,93,74,.4)}
[data-theme="dark"] .modnav-btn.done{color:#5DE0A8}
[data-theme="dark"] .modnav-btn.locked{color:rgba(175,189,206,.35)}

[data-theme="dark"] .hero-new{background:var(--ui-bg);border-bottom:1px solid var(--ui-border-soft);color:var(--ui-text)}
[data-theme="dark"] .hero-academy-mark{color:var(--gold);border-bottom-color:rgba(212,160,23,.35)}
[data-theme="dark"] .hero-academy-mark::before,
[data-theme="dark"] .hero-academy-mark::after{background:var(--ui-bg)}
[data-theme="dark"] .hero-eyebrow-line{color:var(--gold)}
[data-theme="dark"] .hero-title{color:var(--ui-text)}
[data-theme="dark"] .hero-title em{color:#FF8A75}
[data-theme="dark"] .hero-lead{color:var(--ui-text-soft)}
[data-theme="dark"] .hero-meta{border-color:var(--ui-border)}
[data-theme="dark"] .hero-meta-num{color:var(--ui-text)}
[data-theme="dark"] .hero-meta-num .u{color:#FF8A75}
[data-theme="dark"] .hero-meta-lbl{color:var(--ui-text-soft)}
[data-theme="dark"] .hero-meta-sep{background:var(--ui-border)}
[data-theme="dark"] .hero-save-hint{color:var(--ui-text-soft)}
[data-theme="dark"] .hero-cta-new{background:var(--coral);color:#FFF;box-shadow:0 4px 16px rgba(232,93,74,.28)}
[data-theme="dark"] .hero-cta-new:hover{background:var(--coralDk)}

[data-theme="dark"] .resume-banner{background:linear-gradient(135deg,#2A1F1C,#1F1815);border-color:rgba(232,93,74,.5);box-shadow:0 4px 18px rgba(0,0,0,.5)}
[data-theme="dark"] .resume-banner-title{color:#FF8A75}
[data-theme="dark"] .resume-banner-text{color:var(--ui-text)}

[data-theme="dark"] .mod-t-item{border-top-color:var(--ui-border-soft)}
[data-theme="dark"] .mod-t-item:last-child{border-bottom-color:var(--ui-border-soft)}
[data-theme="dark"] .mod-t-item:hover{background:rgba(232,93,74,.08)}
[data-theme="dark"] .mod-t-title{color:var(--ui-text)}
[data-theme="dark"] .mod-t-keys span{color:var(--ui-text-soft)}
[data-theme="dark"] .mod-t-item.mod-t-final{background:rgba(212,160,23,.08);border-top-color:var(--gold)}
[data-theme="dark"] .mod-t-item.mod-t-final .mod-t-title{color:#FF8A75}
[data-theme="dark"] .how-works{border-top-color:var(--ui-border)}
[data-theme="dark"] .how-title{color:var(--ui-text)}
[data-theme="dark"] .how-text{color:var(--ui-text-soft)}

[data-theme="dark"] .sec-h2{color:var(--ui-text)}
[data-theme="dark"] .sec-desc{color:var(--ui-text-soft)}
[data-theme="dark"] .sec-tag{color:#FF8A75;background:rgba(232,93,74,.12);border-color:rgba(232,93,74,.3)}

[data-theme="dark"] .card{background:var(--ui-surface);border-color:var(--ui-border);color:var(--ui-text);box-shadow:var(--shadow-sm,0 2px 14px rgba(0,0,0,.3))}
[data-theme="dark"] .card:hover{box-shadow:0 6px 24px rgba(0,0,0,.5)}
[data-theme="dark"] .tip-card{background:var(--ui-surface);border-color:var(--ui-border)}
[data-theme="dark"] .tip-title{color:var(--ui-text)}
[data-theme="dark"] .tip-text{color:var(--ui-text-soft)}
[data-theme="dark"] .tip-text strong{color:var(--ui-text)}
[data-theme="dark"] .checklist li{color:var(--ui-text);border-bottom-color:var(--ui-border-soft)}

[data-theme="dark"] .info-box.warn{background:rgba(234,88,12,.12);border-color:rgba(234,88,12,.35)}
[data-theme="dark"] .info-box.success{background:rgba(22,163,74,.12);border-color:rgba(22,163,74,.35)}
[data-theme="dark"] .info-box.info{background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.35)}
[data-theme="dark"] .info-box.danger{background:rgba(220,38,38,.12);border-color:rgba(220,38,38,.35)}
[data-theme="dark"] .info-text{color:var(--ui-text)}
[data-theme="dark"] .info-text strong{color:var(--ui-text)}

[data-theme="dark"] .barrio-table th{background:#070B12}
[data-theme="dark"] .barrio-table td{background:var(--ui-surface);color:var(--ui-text);border-bottom-color:var(--ui-border-soft)}
[data-theme="dark"] .barrio-table tr:nth-child(even) td{background:var(--ui-surface-soft)}

[data-theme="dark"] .subsidio-card{background:var(--ui-surface);box-shadow:0 4px 20px rgba(0,0,0,.35)}
[data-theme="dark"] .subsidio-card:hover{box-shadow:0 10px 28px rgba(0,0,0,.5)}
[data-theme="dark"] .sub-row{border-bottom-color:var(--ui-border-soft)}
[data-theme="dark"] .sub-key{color:var(--ui-text-soft)}
[data-theme="dark"] .sub-val{color:var(--ui-text)}
[data-theme="dark"] .sub-desc{color:var(--ui-text);border-top-color:var(--ui-border-soft)}

[data-theme="dark"] .prop-card{background:var(--ui-surface);border-color:var(--ui-border);box-shadow:0 2px 14px rgba(0,0,0,.35)}
[data-theme="dark"] .prop-card:hover{box-shadow:0 10px 28px rgba(0,0,0,.55)}
[data-theme="dark"] .prop-card-sun .prop-header{background:linear-gradient(135deg,#7C2D12,#C2410C)}
[data-theme="dark"] .prop-card-water .prop-header{background:linear-gradient(135deg,#0F223A,#1D4ED8)}
[data-theme="dark"] .prop-body-intro{color:#FF8A75;border-bottom-color:var(--ui-border-soft)}
[data-theme="dark"] .prop-item{border-bottom-color:var(--ui-border-soft)}
[data-theme="dark"] .prop-item strong{color:var(--ui-text)}
[data-theme="dark"] .prop-item span{color:var(--ui-text-soft)}
[data-theme="dark"] .prop-item:not(:has(strong)) span{color:var(--ui-text)}
[data-theme="dark"] .prop-item-star{background:rgba(212,160,23,.16);border-color:rgba(212,160,23,.45)}
[data-theme="dark"] .prop-item-star strong{color:#FCD34D}
[data-theme="dark"] .prop-item-star span{color:var(--ui-text)}
[data-theme="dark"] .prop-tip{background:rgba(212,160,23,.1);color:var(--ui-text)}
[data-theme="dark"] .prop-tip strong{color:#FCD34D}

[data-theme="dark"] .preg-toggle{background:var(--ui-surface);border-color:var(--ui-border);color:var(--ui-text)}
[data-theme="dark"] .preg-toggle:hover,
[data-theme="dark"] .preg-toggle.open{background:rgba(232,93,74,.1);border-color:var(--coral)}
[data-theme="dark"] .preg-body{background:var(--ui-surface-soft);border-color:var(--coral)}
[data-theme="dark"] .preg-purpose{color:var(--ui-text-soft)}
[data-theme="dark"] .preg-tip{color:var(--ui-text)}

[data-theme="dark"] .obj-card{background:var(--ui-surface);border-color:var(--ui-border)}
[data-theme="dark"] .obj-raiz{background:var(--ui-surface-soft);border-top-color:var(--ui-border-soft);color:var(--ui-text-soft)}
[data-theme="dark"] .obj-r{color:var(--ui-text);border-top-color:var(--ui-border)}

[data-theme="dark"] .gold-rule{background:linear-gradient(135deg,#23180F,#1A120A);border-color:rgba(232,93,74,.5)}
[data-theme="dark"] .gold-rule-title{color:var(--ui-text)}
[data-theme="dark"] .gold-rule-text{color:var(--ui-text-soft)}

[data-theme="dark"] .concept-chip{background:#070B12;color:var(--ui-text);border:1px solid var(--ui-border-soft)}

[data-theme="dark"] .final-result{background:var(--ui-surface);border-color:var(--coral);box-shadow:0 20px 50px rgba(0,0,0,.6)}
[data-theme="dark"] .final-result h3{color:var(--ui-text)}
[data-theme="dark"] .final-score-big{color:#FF8A75;text-shadow:0 3px 8px rgba(255,138,117,.25)}

[data-theme="dark"] .cert-name-form{background:var(--ui-surface);border-color:var(--ui-border)}
[data-theme="dark"] .cert-name-form label{color:var(--ui-text-soft)}
[data-theme="dark"] .cert-name-form input{background:var(--ui-surface-soft);border-color:var(--ui-border);color:var(--ui-text)}
[data-theme="dark"] .cert-name-form input::placeholder{color:var(--ui-text-muted)}

/* Certificado: siempre mantiene aspecto de papel claro */
[data-theme="dark"] .tm-cert{background:#f4f0e6}

[data-theme="dark"] .btn-light{background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-border)}
[data-theme="dark"] .btn-light:hover{background:var(--ui-surface-soft)}

[data-theme="dark"] .back-top{box-shadow:0 6px 20px rgba(0,0,0,.6)}

/* Fondos hardcoded inline → overrides agresivos en dark mode */
[data-theme="dark"] [style*="background:#FEF2EF"],
[data-theme="dark"] [style*="background: #FEF2EF"]{background:rgba(232,93,74,.08) !important;border-color:rgba(232,93,74,.3) !important;color:var(--ui-text) !important}
[data-theme="dark"] [style*="background:#FFF7ED"],
[data-theme="dark"] [style*="background: #FFF7ED"]{background:rgba(234,88,12,.1) !important;border-color:rgba(234,88,12,.3) !important;color:var(--ui-text) !important}
[data-theme="dark"] [style*="background:#F0FDF4"],
[data-theme="dark"] [style*="background: #F0FDF4"]{background:rgba(22,163,74,.1) !important;border-color:rgba(22,163,74,.3) !important;color:var(--ui-text) !important}
[data-theme="dark"] [style*="background:#EFF6FF"],
[data-theme="dark"] [style*="background: #EFF6FF"]{background:rgba(59,130,246,.1) !important;border-color:rgba(59,130,246,.3) !important;color:var(--ui-text) !important}
[data-theme="dark"] [style*="background:#FDF2F8"],
[data-theme="dark"] [style*="background: #FDF2F8"]{background:rgba(232,93,74,.1) !important;border-color:rgba(232,93,74,.3) !important;color:var(--ui-text) !important}
[data-theme="dark"] [style*="background:#FEF9C3"]{background:rgba(212,160,23,.18) !important;color:#FCD34D !important}
[data-theme="dark"] [style*="background:var(--off)"]{background:var(--ui-surface-soft) !important;border-color:var(--ui-border) !important}

/* Texto dentro de divs con colores hardcoded hijo en modulos */
[data-theme="dark"] [style*="background:#FEF2EF"] *,
[data-theme="dark"] [style*="background:#FFF7ED"] *,
[data-theme="dark"] [style*="background:#F0FDF4"] *,
[data-theme="dark"] [style*="background:#EFF6FF"] *,
[data-theme="dark"] [style*="background:#FDF2F8"] *{color:var(--ui-text) !important}
[data-theme="dark"] [style*="background:#FEF2EF"] strong,
[data-theme="dark"] [style*="background:#FFF7ED"] strong,
[data-theme="dark"] [style*="background:#F0FDF4"] strong,
[data-theme="dark"] [style*="background:#EFF6FF"] strong,
[data-theme="dark"] [style*="background:#FDF2F8"] strong{color:#FFDCD5 !important}

/* Colores de texto hardcoded comunes */
[data-theme="dark"] [style*="color:var(--slate)"]{color:var(--ui-text-soft) !important}
[data-theme="dark"] [style*="color: var(--slate)"]{color:var(--ui-text-soft) !important}
[data-theme="dark"] [style*="color:var(--navy)"]{color:var(--ui-text) !important}
[data-theme="dark"] [style*="color: var(--navy)"]{color:var(--ui-text) !important}
[data-theme="dark"] [style*="color:#D8E0EA"]{color:var(--ui-text-soft) !important}

/* Módulo 2 — cards de comparación con texto legible */
[data-theme="dark"] #mod-2 .card{background:var(--ui-surface) !important;border-color:var(--ui-border) !important}
[data-theme="dark"] #mod-2 .card ul li{color:var(--ui-text) !important;border-bottom-color:var(--ui-border-soft) !important}
[data-theme="dark"] #mod-2 > .page > .grid-2 > div > div:first-child{color:var(--ui-text-soft) !important}

/* Borders de líneas divisorias con var(--border) inline */
[data-theme="dark"] [style*="border-bottom:1px solid var(--border)"]{border-bottom-color:var(--ui-border-soft) !important}
[data-theme="dark"] [style*="border:1px solid var(--border)"]{border-color:var(--ui-border) !important}
[data-theme="dark"] [style*="border: 1px solid var(--border)"]{border-color:var(--ui-border) !important}
[data-theme="dark"] [style*="border-color:var(--coral)"]{border-color:var(--coral) !important}

/* Sub-headers de categorías con colores suaves (var(--slate) o var(--coralDk)) */
[data-theme="dark"] #mod-2 > .page > .grid-2 > div > div[style*="color:var(--coralDk)"]{color:#FF8A75 !important}

/* Highlights en tablas y textos */
[data-theme="dark"] .hl{background:rgba(232,93,74,.18);color:#FFA896}
[data-theme="dark"] .hl-green{background:rgba(22,163,74,.2);color:#6EE7A7}
[data-theme="dark"] .hl-blue{background:rgba(59,130,246,.2);color:#93C5FD}
[data-theme="dark"] .hl-purple{background:rgba(139,47,201,.22);color:#D8B4FE}
[data-theme="dark"] .hl-gold{background:rgba(212,160,23,.22);color:#FCD34D}

/* Titulos de sección internos con colores hardcoded */
[data-theme="dark"] [style*="color:var(--coralDk)"]{color:#FF8A75 !important}
[data-theme="dark"] [style*="color:var(--orange)"]{color:#FB923C !important}
[data-theme="dark"] [style*="color:var(--pink)"]{color:#F9A8D4 !important}
[data-theme="dark"] [style*="color:var(--mag)"]{color:#F0ABFC !important}
[data-theme="dark"] [style*="color:var(--purple)"]{color:#C4B5FD !important}
[data-theme="dark"] [style*="color:var(--teal)"]{color:#5EEAD4 !important}
[data-theme="dark"] [style*="color:#92400E"]{color:#FBBF24 !important}
[data-theme="dark"] [style*="color:#713F12"]{color:#FCD34D !important}

/* Tip cards dentro de prop-card con style inline */
[data-theme="dark"] .prop-body > div[style*="background:"]{background:var(--ui-surface-soft) !important;border-color:var(--ui-border) !important;color:var(--ui-text) !important}
[data-theme="dark"] .prop-body > div[style*="background:"] strong{color:#FFDCD5 !important}

/* Formula box siempre oscuro ya es oscuro, ok */

/* Card-dark — ya es navy siempre, ok en ambos temas */

/* Hero legacy (deprecated) */
[data-theme="dark"] .hero{background:var(--ui-surface)}
[data-theme="dark"] .hero h1{color:var(--ui-text)}
[data-theme="dark"] .hero-desc{color:var(--ui-text-soft)}
[data-theme="dark"] .hero-cta{background:var(--coral);color:#FFF}

/* Emo section ya es oscura siempre — garantizar contraste */
[data-theme="dark"] .emo-section{background:linear-gradient(135deg,#0A0F17,#07090D)}
[data-theme="dark"] .emo-quote{color:#FF8A75;border-left-color:#FF8A75}

/* Progress wrap ya tematizada, pero fortalecer */
[data-theme="dark"] .progress-track{background:rgba(255,255,255,.08)}

/* Sección final de conclusión */
[data-theme="dark"] #mod-done .sec-desc,
[data-theme="dark"] #mod-done p{color:var(--ui-text-soft)}

/* Módulo 10 — Cierre */
[data-theme="dark"] #mod-10 .etapa-title{color:var(--ui-text) !important}
[data-theme="dark"] #mod-10 .etapa-desc{color:var(--ui-text-soft) !important}
[data-theme="dark"] #mod-10 [style*="text-transform:uppercase"][style*="color:var(--navy)"]{color:#FF8A75 !important}
[data-theme="dark"] #mod-10 .card-dark{background:#0A0F17;border-color:rgba(232,93,74,.3) !important}
[data-theme="dark"] #mod-10 .card-dark [style*="color:var(--white)"]{color:#E6ECF3 !important}
/* Cards estadísticas finales (1 → 3-5 → ∞) */
[data-theme="dark"] #mod-10 .emo-section > div > div[style*="background:rgba(255,255,255"]{background:rgba(255,255,255,.05) !important}

/* Móvil: alinear etapas */
@media(max-width:700px){
  .etapa-row{gap:14px;margin-bottom:16px}
  .etapa-n{width:36px;height:36px;font-size:14px}
  .etapa-title{font-size:14.5px}
  .etapa-desc{font-size:13.5px}
  /* cards "1 → 3-5 → ∞" en mobile: ocultar flechas, cards a ancho completo */
  #mod-10 .emo-section > div[style*="display:flex"]{flex-direction:column;gap:10px}
  #mod-10 .emo-section > div[style*="display:flex"] > div[style*="font-size:26px"]{display:none !important}
  #mod-10 .emo-section > div[style*="display:flex"] > div[style*="min-width:140px"]{width:100%;flex:0 0 auto}
}

/* Badges pequeños dentro de la tabla final */
[data-theme="dark"] .barrio-table td span[style*="background:#FEF9C3"]{background:rgba(212,160,23,.2) !important;color:#FCD34D !important}

/* card-dark contraste */
[data-theme="dark"] .card-dark{background:linear-gradient(135deg,#0A0F17,#07090D);border-color:rgba(255,255,255,.08)}
[data-theme="dark"] .card-dark p,
[data-theme="dark"] .card-dark div[style*="color:#D8E0EA"]{color:#D8E0EA !important}
[data-theme="dark"] .card-dark [style*="color:var(--coral)"]{color:#FF8A75 !important}
[data-theme="dark"] .card-dark [style*="color:var(--teal)"]{color:#5EEAD4 !important}

/* Etapa row (módulos 10) — dark mode */
[data-theme="dark"] .etapa-title{color:var(--ui-text)}
[data-theme="dark"] .etapa-desc{color:var(--ui-text-soft)}

/* Formula box (siempre oscuro) */
[data-theme="dark"] .formula-box{background:linear-gradient(135deg,#0A0F17,#07090D)}
[data-theme="dark"] .formula-eq{color:#E6ECF3}
[data-theme="dark"] .formula-example{color:var(--ui-text-soft)}

/* Sub-desc dentro de card dark */
[data-theme="dark"] .sub-desc{color:var(--ui-text)}

/* Textos con style color:var(--navy) DENTRO de cards card-dark → contraste */
[data-theme="dark"] .card-dark [style*="color:var(--navy)"]{color:#E6ECF3 !important}

/* Info box con icon + text: asegurar legibilidad */
[data-theme="dark"] .info-text em{color:var(--ui-text-soft)}

/* Stat boxes del módulo 1 con fondos hardcoded */
[data-theme="dark"] .grid-3 > [style*="background:#FEF2EF"],
[data-theme="dark"] .grid-3 > [style*="background:#FFF7ED"],
[data-theme="dark"] .grid-3 > [style*="background:#F0FDF4"]{
  background:var(--ui-surface) !important;
  border:1px solid var(--ui-border) !important;
  border-left:4px solid var(--coral) !important;
  color:var(--ui-text) !important;
}
[data-theme="dark"] .grid-3 > [style*="background:#FFF7ED"]{border-left-color:var(--orange) !important}
[data-theme="dark"] .grid-3 > [style*="background:#F0FDF4"]{border-left-color:var(--green) !important}

/* ================================================================
   TALLER COMPRADOR DE INVERSIÓN · Estilos extra (teal, bloqueo, cert)
   ================================================================ */
.quiz-gate{background:var(--navy);border-radius:20px;padding:36px 32px;color:var(--white);box-shadow:0 8px 30px rgba(13,27,42,.14);margin-top:40px}
.quiz-gate-head{display:flex;gap:16px;align-items:center;margin-bottom:18px}
.quiz-icon{font-size:32px;line-height:1}
.quiz-title{font-family:"Cinzel",serif;font-size:18px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--white)}
.quiz-sublabel{font-size:12px;color:#B8C5D0;letter-spacing:1px;text-transform:uppercase;font-weight:700;margin-top:3px}
.quiz-sub{font-size:14.5px;color:#D8E0EA;line-height:1.7;margin-bottom:22px}
.quiz-sub strong{color:var(--tealLt)}
.quiz-progress-wrap{display:flex;align-items:center;gap:18px;margin-bottom:26px;flex-wrap:wrap}
.quiz-progress{display:flex;gap:8px}
.qp-dot{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.18)}
.qp-dot.current{background:var(--tealLt);box-shadow:0 0 0 4px rgba(94,234,212,.22)}
.qp-dot.done{background:var(--green)}
.quiz-progress-label{font-family:"DM Mono",monospace;font-size:12px;color:var(--light);font-weight:600}
.quiz-life-label{margin-left:auto;font-family:"DM Mono",monospace;font-size:12px;color:var(--tealLt);font-weight:700;letter-spacing:1px}
.quiz-q{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:24px}
.quiz-q-label{font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--tealLt);margin-bottom:10px}
.quiz-q-text{font-family:"Playfair Display",serif;font-size:19px;line-height:1.5;margin-bottom:18px;color:var(--white);font-weight:600}
.quiz-opts{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}
.quiz-opt{display:flex;align-items:center;gap:14px;padding:14px 18px;background:var(--white);border:1.5px solid var(--border);border-radius:10px;cursor:pointer;transition:all .15s;font-family:"DM Sans",sans-serif;font-size:14.5px;color:var(--navy);text-align:left;font-weight:500}
.quiz-opt:hover:not(.disabled){border-color:var(--teal);background:#F0FDFC}
.quiz-opt.disabled{cursor:default;opacity:.7}
.quiz-opt.correct{border-color:var(--green);background:#F0FDF4;color:var(--greenDk);font-weight:700}
.quiz-opt.wrong{border-color:var(--red);background:#FEF2F2;color:var(--red);font-weight:700}
.opt-letter{width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;background:var(--navy);color:var(--white);font-size:11px;font-weight:800;flex-shrink:0}
.quiz-opt.correct .opt-letter{background:var(--green)}
.quiz-opt.wrong .opt-letter{background:var(--red)}
.quiz-feedback{display:none;margin-top:12px;border-radius:10px;padding:18px 20px;font-size:14px;line-height:1.6}
.quiz-feedback.show{display:block}
.quiz-feedback.correct{background:rgba(22,163,74,.18);border:1px solid rgba(22,163,74,.4);color:#D7F8E5}
.quiz-feedback.wrong{background:rgba(220,38,38,.14);border:1px solid rgba(220,38,38,.4);color:#FDDDDD}
.quiz-feedback-title{font-weight:800;font-size:14.5px;margin-bottom:8px;letter-spacing:.3px}
.quiz-feedback-body{font-size:13.8px;line-height:1.7}
.fb-block{margin-bottom:10px;padding:10px 12px;border-radius:8px}
.fb-block-wrong{background:rgba(220,38,38,.15)}
.fb-block-right{background:rgba(22,163,74,.15)}
.fb-label{font-size:10.5px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:4px;opacity:.85}
.fb-text{font-size:14px;color:var(--white);font-weight:600}
.fb-x{color:#FCA5A5;font-weight:900;margin-right:6px}
.fb-check{color:#86EFAC;font-weight:900;margin-right:6px}
.fb-note{font-size:12.5px;margin-top:6px;opacity:.85}
.fb-why-label{font-size:10.5px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--tealLt);margin:10px 0 4px}
.fb-why{font-size:13.8px;color:#E8F1F2;line-height:1.7}
.quiz-next{margin-top:14px;display:flex;justify-content:flex-end}

.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:8px;border:none;font-family:"DM Sans",sans-serif;font-size:13.5px;font-weight:700;letter-spacing:.4px;cursor:pointer;transition:all .15s}
.btn-primary{background:var(--teal);color:var(--white)}
.btn-primary:hover{background:var(--tealDk)}
.btn-success{background:var(--green);color:var(--white)}
.btn-success:hover{background:var(--greenDk)}
.btn-ghost{background:transparent;border:1.5px solid rgba(255,255,255,.25);color:var(--white)}
.btn-ghost:hover{background:rgba(255,255,255,.08);border-color:var(--tealLt)}

.quiz-done{text-align:center;padding:26px 18px;background:rgba(14,165,160,.16);border:1.5px solid rgba(94,234,212,.28);border-radius:14px;color:var(--white)}
.quiz-done-icon{font-size:38px;line-height:1;margin-bottom:10px;color:var(--tealLt)}
.quiz-done-title{font-family:"Cinzel",serif;font-size:17px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;margin-bottom:8px}
.quiz-done-desc{font-size:14px;color:#D8F1EF;margin-bottom:16px;line-height:1.6}

.quiz-locked{text-align:center;padding:36px 22px;background:rgba(220,38,38,.12);border:1.5px solid rgba(220,38,38,.4);border-radius:14px;color:var(--white)}
.quiz-locked-icon{font-size:44px;line-height:1;margin-bottom:12px}
.quiz-locked-title{font-family:"Cinzel",serif;font-size:18px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:#FCA5A5;margin-bottom:10px}
.quiz-locked-desc{font-size:14.5px;color:#FFE4E4;margin-bottom:18px;line-height:1.7}
.quiz-locked-desc strong{color:#fff;font-family:"DM Mono",monospace;font-size:16px;background:rgba(255,255,255,.1);padding:2px 8px;border-radius:6px;display:inline-block;margin:0 2px}

.cert{max-width:900px;margin:0 auto;background:linear-gradient(135deg,#FAF8F4 0%,#FFFFFF 100%);border-radius:16px;padding:10px;box-shadow:0 20px 60px rgba(13,27,42,.18)}
.cert-border{border:2px solid var(--gold);border-radius:10px;padding:48px 44px;text-align:center;position:relative;background:#FFFFFF}
.cert-band{height:6px;background:linear-gradient(90deg,var(--tealDk),var(--teal),var(--gold),var(--coral));border-radius:6px;margin-bottom:28px}
.cert-logo img{height:140px;width:auto;display:block;margin:0 auto 20px;mix-blend-mode:multiply}
.cert-academy{font-family:"Cinzel",serif;font-size:13px;font-weight:700;letter-spacing:5px;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.cert-title{font-family:"Playfair Display",serif;font-size:34px;color:var(--navy);font-weight:800;letter-spacing:1px;margin-bottom:6px}
.cert-subtitle{font-family:"EB Garamond",serif;font-size:20px;color:var(--tealDk);font-style:normal;margin-bottom:24px}
.cert-text{font-family:"EB Garamond",serif;font-size:16px;color:var(--slate);line-height:1.75;max-width:640px;margin:0 auto 30px;font-weight:500}
.cert-to{margin-bottom:24px}
.cert-to-label{font-family:"Cinzel",serif;font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--slate);margin-bottom:8px}
.cert-to-name{font-family:"Playfair Display",serif;font-size:28px;color:var(--navy);border:none;border-bottom:2px solid var(--gold);background:transparent;text-align:center;padding:4px 8px;min-width:320px;font-weight:700;font-style:normal;outline:none}
.cert-to-name:focus{border-bottom-color:var(--teal)}
.cert-meta{display:flex;justify-content:center;gap:40px;margin:22px 0 28px;flex-wrap:wrap}
.cert-meta-k{font-family:"Cinzel",serif;font-size:10px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--slate);margin-bottom:4px}
.cert-meta-v{font-family:"EB Garamond",serif;font-size:15px;color:var(--navy);font-weight:700}
.cert-sign{margin-top:16px}
.cert-sign-line{width:240px;height:1px;background:var(--navy);margin:0 auto 6px}
.cert-sign-label{font-family:"Cinzel",serif;font-size:10.5px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--slate)}

@media(max-width:640px){
  .cert-border{padding:32px 22px}
  .cert-title{font-size:24px}
  .cert-subtitle{font-size:16px}
  .cert-to-name{font-size:22px;min-width:auto;width:100%}
  .cert-logo img{height:100px}
  .quiz-gate{padding:26px 20px}
  .quiz-q{padding:18px}
  .quiz-q-text{font-size:16.5px}
  .quiz-opt{font-size:13.5px;padding:12px 14px;min-height:48px}
  .quiz-progress-wrap{gap:10px}
  .quiz-life-label{margin-left:0;width:100%}
  .btn{padding:14px 22px;font-size:14px}
}

/* Dark mode específico */
[data-theme="dark"] .quiz-gate{background:#101B29;box-shadow:0 10px 32px rgba(0,0,0,.55)}
[data-theme="dark"] .quiz-opt{background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-border)}
[data-theme="dark"] .quiz-opt:hover:not(.disabled){background:rgba(14,165,160,.1);border-color:var(--teal)}
[data-theme="dark"] .quiz-opt.correct{background:rgba(22,163,74,.2);color:#86EFAC;border-color:#22C55E}
[data-theme="dark"] .quiz-opt.wrong{background:rgba(220,38,38,.2);color:#FCA5A5;border-color:#DC2626}
[data-theme="dark"] .cert{background:linear-gradient(135deg,#17202E 0%,#0E1621 100%)}
[data-theme="dark"] .cert-border{background:#17202E;border-color:var(--gold)}
[data-theme="dark"] .cert-title{color:var(--ui-text)}
[data-theme="dark"] .cert-subtitle{color:var(--tealLt)}
[data-theme="dark"] .cert-text{color:var(--ui-text-soft)}
[data-theme="dark"] .cert-to-name{color:var(--ui-text);border-bottom-color:var(--gold)}
[data-theme="dark"] .cert-meta-k{color:var(--ui-text-muted)}
[data-theme="dark"] .cert-meta-v{color:var(--ui-text)}
[data-theme="dark"] .cert-sign-line{background:var(--ui-text-soft)}
[data-theme="dark"] .cert-sign-label{color:var(--ui-text-muted)}
[data-theme="dark"] .card[style*="border-left:4px solid var(--teal)"]{border-left-color:var(--tealLt) !important}
[data-theme="dark"] .grid-3 > [style*="border-left:4px solid var(--teal)"]{border-left-color:var(--tealLt) !important}
[data-theme="dark"] .barrio-table th{background:#1A2A3F}
[data-theme="dark"] .barrio-table td{background:var(--ui-surface);color:var(--ui-text);border-bottom-color:var(--ui-border-soft)}
[data-theme="dark"] .barrio-table tr:nth-child(even) td{background:var(--ui-surface-soft)}

.theme-toggle{background:transparent;border:1px solid var(--ui-border);border-radius:8px;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;color:var(--ui-text-soft);cursor:pointer}
.theme-toggle:hover{background:var(--tealSoft);color:var(--tealDk);border-color:var(--teal)}
.tt-sun{display:inline-block}
.tt-moon{display:none}
[data-theme="dark"] .tt-sun{display:none}
[data-theme="dark"] .tt-moon{display:inline-block}

[data-theme="dark"] .info-box.warn{background:rgba(251,146,60,.08);border-color:rgba(251,146,60,.3);color:var(--ui-text)}
[data-theme="dark"] .info-box.success{background:rgba(22,163,74,.1);border-color:rgba(34,197,94,.3);color:var(--ui-text)}
[data-theme="dark"] .info-box.info{background:rgba(59,130,246,.1);border-color:rgba(96,165,250,.3);color:var(--ui-text)}
[data-theme="dark"] .info-text, [data-theme="dark"] .info-text strong{color:var(--ui-text)}

[data-theme="dark"] .obj-card{background:var(--ui-surface);border-color:var(--ui-border)}
[data-theme="dark"] .obj-r{color:var(--ui-text);border-top-color:var(--ui-border)}
[data-theme="dark"] .obj-r-label{color:#86EFAC}
[data-theme="dark"] .obj-raiz{background:var(--ui-surface-soft);border-top-color:var(--ui-border-soft);color:var(--ui-text-soft)}
[data-theme="dark"] .obj-raiz-label{background:rgba(14,165,160,.2);color:var(--tealLt)}
[data-theme="dark"] .obj-raiz-text{color:var(--ui-text-soft)}

[data-theme="dark"] .tip-card{background:var(--ui-surface);border-color:var(--ui-border)}
[data-theme="dark"] .tip-title{color:var(--ui-text)}
[data-theme="dark"] .tip-text{color:var(--ui-text-soft)}
[data-theme="dark"] .tip-text strong{color:var(--ui-text)}

[data-theme="dark"] .card{background:var(--ui-surface);border-color:var(--ui-border);color:var(--ui-text)}
[data-theme="dark"] .card ul li, [data-theme="dark"] .checklist li{color:var(--ui-text);border-bottom-color:var(--ui-border-soft)}

[data-theme="dark"] .mod-t-item{border-top-color:var(--ui-border)}
[data-theme="dark"] .mod-t-item:last-child{border-bottom-color:var(--ui-border)}
[data-theme="dark"] .mod-t-item:hover{background:rgba(14,165,160,.08)}
[data-theme="dark"] .mod-t-title{color:var(--ui-text)}
[data-theme="dark"] .mod-t-keys span{color:var(--ui-text-soft)}
[data-theme="dark"] .mod-t-time{color:var(--tealLt)}
[data-theme="dark"] .mod-t-item.mod-t-final{background:rgba(212,160,23,.08);border-top-color:var(--gold)}
[data-theme="dark"] .mod-t-item.mod-t-final .mod-t-title, [data-theme="dark"] .mod-t-item.mod-t-final .mod-t-num{color:var(--tealLt)}

[data-theme="dark"] .hero-new{background:var(--ui-bg);border-bottom-color:var(--ui-border-soft)}
[data-theme="dark"] .hero-title{color:var(--ui-text)}
[data-theme="dark"] .hero-title em{color:var(--tealLt)}
[data-theme="dark"] .hero-lead{color:var(--ui-text-soft)}
[data-theme="dark"] .hero-meta{border-color:var(--ui-border)}
[data-theme="dark"] .hero-meta-num{color:var(--ui-text)}
[data-theme="dark"] .hero-meta-num .u{color:var(--tealLt)}
[data-theme="dark"] .hero-meta-lbl{color:var(--ui-text-muted)}
[data-theme="dark"] .hero-logo, [data-theme="dark"] .brand-img{mix-blend-mode:screen}
[data-theme="dark"] .hdr{background:var(--ui-surface)}
[data-theme="dark"] .progress-wrap{background:var(--ui-surface-soft);border-bottom-color:var(--ui-border-soft)}
[data-theme="dark"] .progress-label{color:var(--ui-text-soft)}
[data-theme="dark"] .progress-num{color:var(--ui-text)}
[data-theme="dark"] .modnav{background:var(--ui-surface);border-bottom-color:var(--ui-border-soft)}
[data-theme="dark"] .modnav-btn{color:var(--ui-text-soft)}
[data-theme="dark"] .modnav-btn:hover:not(.locked){background:rgba(14,165,160,.1);color:var(--ui-text)}
[data-theme="dark"] .modnav-btn.active{background:rgba(14,165,160,.2);color:var(--tealLt);border-color:rgba(94,234,212,.35)}
[data-theme="dark"] .modnav-btn.done{color:#86EFAC}

[data-theme="dark"] .sec-tag{background:rgba(14,165,160,.16);border-color:rgba(94,234,212,.3);color:var(--tealLt)}
[data-theme="dark"] .sec-tag .dot{background:var(--tealLt)}
[data-theme="dark"] .sec-h2{color:var(--ui-text)}
[data-theme="dark"] .sec-desc{color:var(--ui-text-soft)}

[data-theme="dark"] .academy-bar{background:#050A12}
[data-theme="dark"] footer{background:var(--ui-surface);border-top-color:var(--ui-border);color:var(--ui-text-soft)}

[data-theme="dark"] .resume-banner{background:linear-gradient(135deg,rgba(14,165,160,.12),rgba(14,165,160,.04));border-color:var(--teal)}
[data-theme="dark"] .resume-banner-title{color:var(--tealLt)}
[data-theme="dark"] .resume-banner-text{color:var(--ui-text)}
[data-theme="dark"] .save-dot{background:var(--tealLt)}

[data-theme="dark"] .barrio-table .hl{background:rgba(94,234,212,.18);color:var(--tealLt)}

.quiz-opt:focus-visible, .btn:focus-visible, .hero-cta-new:focus-visible, .mod-t-item:focus-visible{
  outline:3px solid var(--tealLt);outline-offset:2px;
}

/* ============================================================
   ONBOARDING FREELANCE · Colores oficiales TuMatch
   Paleta coral + gold sobre navy. Las vars --capt-* heredan la
   estructura del captador-onboarding pero apuntan a coral oficial.
   ============================================================ */
:root{
  --capt-pink:#E85D4A;        /* coral oficial TuMatch */
  --capt-pinkDk:#C73A2A;      /* coral oscuro */
  --capt-magenta:#A02818;     /* coral muy oscuro */
  --capt-coral:#D4A017;       /* gold oficial, acento secundario */
  --capt-gradient:linear-gradient(135deg,#0D1B2A 0%,#E85D4A 55%,#D4A017 100%);
  --capt-soft:rgba(232,93,74,.12);
  --capt-border:rgba(232,93,74,.35);
}
[data-theme="dark"]{
  --capt-soft:rgba(232,93,74,.18);
  --capt-border:rgba(232,93,74,.45);
}

.taller-badge{background:var(--capt-soft);border-color:var(--capt-border);color:var(--capt-pinkDk)}
[data-theme="dark"] .taller-badge{background:rgba(232,93,74,.2);border-color:rgba(232,93,74,.5);color:#FDA4C4}

.hero-academy-mark{color:var(--capt-pinkDk);border-bottom-color:rgba(232,93,74,.35)}
.hero-academy-mark::before,.hero-academy-mark::after{color:var(--capt-pinkDk)}
.hero-eyebrow-line{color:var(--capt-pinkDk)}
.hero-title em{color:var(--capt-pink)}
.hero-cta-new{background:var(--capt-gradient);color:#FFF;box-shadow:0 6px 20px rgba(232,93,74,.28)}
.hero-cta-new:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(232,93,74,.4);background:linear-gradient(135deg,#C73A2A 0%,#C94432 60%,#B45309 100%)}
.hero-meta-num .u{color:var(--capt-pink)}

.grad-stripe{background:var(--capt-gradient)}
.progress-fill{background:var(--capt-gradient)}

.sec-tag{color:var(--capt-pinkDk);background:var(--capt-soft);border-color:var(--capt-border)}
.sec-tag .dot{background:var(--capt-pink)}
[data-theme="dark"] .sec-tag{background:rgba(232,93,74,.2);border-color:rgba(232,93,74,.45);color:#FDA4C4}
[data-theme="dark"] .sec-tag .dot{background:#FDA4C4}

.mod-t-item:hover{background:rgba(232,93,74,.06)}
[data-theme="dark"] .mod-t-item:hover{background:rgba(232,93,74,.12)}
.mod-t-item.mod-t-final .mod-t-num,
.mod-t-item.mod-t-final .mod-t-title{color:var(--capt-pinkDk)}
[data-theme="dark"] .mod-t-item.mod-t-final .mod-t-num,
[data-theme="dark"] .mod-t-item.mod-t-final .mod-t-title{color:#FDA4C4}

.modnav-btn.active{color:var(--capt-pinkDk);background:var(--capt-soft);border-color:var(--capt-border)}
[data-theme="dark"] .modnav-btn.active{background:rgba(232,93,74,.2);color:#FDA4C4;border-color:rgba(232,93,74,.5)}
.modnav-btn:hover:not(.locked){background:rgba(232,93,74,.06)}

.mod-t-time{color:var(--capt-coral)}

.btn-primary{background:var(--capt-pink)}
.btn-primary:hover{background:var(--capt-pinkDk)}

.quiz-sublabel,.quiz-q-label{color:#FCA5D4}
.quiz-sub strong{color:#FCA5D4}
.qp-dot.current{background:#FCA5D4;box-shadow:0 0 0 4px rgba(252,165,212,.22)}
.quiz-life-label{color:#FCA5D4}
.fb-why-label{color:#FCA5D4}

.quiz-opt:hover:not(.disabled){border-color:var(--capt-pink);background:rgba(232,93,74,.05)}
[data-theme="dark"] .quiz-opt:hover:not(.disabled){background:rgba(232,93,74,.12);border-color:var(--capt-pink)}

.cert-band{background:var(--capt-gradient)}
.cert-border{border-color:var(--capt-pink)}
.cert-subtitle{color:var(--capt-pinkDk)}
.cert-to-name{border-bottom-color:var(--capt-pink)}
.cert-to-name:focus{border-bottom-color:var(--capt-pinkDk)}

.theme-toggle:hover{background:var(--capt-soft);color:var(--capt-pinkDk);border-color:var(--capt-pink)}

.quiz-opt:focus-visible, .btn:focus-visible, .hero-cta-new:focus-visible, .mod-t-item:focus-visible{
  outline:3px solid var(--capt-pink);outline-offset:2px;
}

.star-profile-card{background:linear-gradient(135deg,rgba(212,160,23,.08),rgba(232,93,74,.06));border:2px solid var(--gold);border-radius:16px;padding:24px 28px;position:relative;margin:20px 0}
.star-profile-card::before{content:'\2605';position:absolute;top:-18px;left:24px;background:var(--capt-gradient);color:#FFF;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:900;box-shadow:0 6px 16px rgba(232,93,74,.3)}
.star-profile-card h4{font-family:'Cinzel',serif;font-size:15px;letter-spacing:1.5px;text-transform:uppercase;color:var(--goldDk);margin:8px 0 14px;padding-left:52px;font-weight:800}
.star-profile-card ul{list-style:none;padding:0;margin:0}
.star-profile-card li{padding:10px 0;border-bottom:1px dashed rgba(212,160,23,.25);font-family:'EB Garamond',serif;font-size:15.5px;color:var(--slate);line-height:1.6;font-weight:500;display:flex;align-items:flex-start;gap:10px}
.star-profile-card li::before{content:'\2713';color:var(--gold);font-weight:900;flex-shrink:0}
.star-profile-card li:last-child{border-bottom:none}
[data-theme="dark"] .star-profile-card{background:linear-gradient(135deg,rgba(212,160,23,.1),rgba(232,93,74,.1));border-color:var(--gold)}
[data-theme="dark"] .star-profile-card li{color:var(--ui-text);border-bottom-color:rgba(212,160,23,.2)}
[data-theme="dark"] .star-profile-card h4{color:#FCD34D}

.circle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0}
@media(max-width:820px){.circle-grid{grid-template-columns:1fr}}
.circle-card{background:var(--ui-surface);border:1.5px solid var(--ui-border);border-radius:16px;padding:22px 24px;position:relative;overflow:hidden;box-shadow:0 4px 14px rgba(13,27,42,.05)}
.circle-card::before{content:'';position:absolute;top:0;left:0;right:0;height:5px}
.circle-hot{border-color:rgba(232,93,74,.4)}
.circle-hot::before{background:linear-gradient(90deg,#E85D4A,#C94432)}
.circle-warm{border-color:rgba(212,160,23,.4)}
.circle-warm::before{background:linear-gradient(90deg,#D4A017,#F59E0B)}
.circle-cold{border-color:rgba(59,130,246,.35)}
.circle-cold::before{background:linear-gradient(90deg,#3B82F6,#1E40AF)}
.circle-temp{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:800;display:inline-block;padding:4px 10px;border-radius:12px;margin-bottom:10px}
.circle-hot .circle-temp{background:rgba(232,93,74,.14);color:#C94432}
.circle-warm .circle-temp{background:rgba(212,160,23,.14);color:#92400E}
.circle-cold .circle-temp{background:rgba(59,130,246,.14);color:#1E40AF}
[data-theme="dark"] .circle-hot .circle-temp{background:rgba(232,93,74,.22);color:#FF8A75}
[data-theme="dark"] .circle-warm .circle-temp{background:rgba(212,160,23,.22);color:#FCD34D}
[data-theme="dark"] .circle-cold .circle-temp{background:rgba(59,130,246,.22);color:#93C5FD}
.circle-card h4{font-family:'Cinzel',serif;font-size:17px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--ui-text);margin-bottom:12px}
.circle-card p{font-family:'EB Garamond',serif;font-size:15.5px;color:var(--ui-text-soft);line-height:1.65;font-weight:500;margin-bottom:12px}
.circle-card .circle-kpi{font-family:'Cinzel',serif;font-size:28px;font-weight:900;color:var(--ui-text);margin-top:8px}
.circle-card .circle-kpi small{font-family:'DM Sans',sans-serif;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ui-text-muted);font-weight:700;display:block;margin-top:4px}

.commission-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}
@media(max-width:820px){.commission-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:500px){.commission-grid{grid-template-columns:1fr}}
.commission-cell{background:var(--ui-surface);border:1.5px solid var(--ui-border);border-radius:14px;padding:18px;text-align:center;position:relative;transition:transform .15s, box-shadow .15s}
.commission-cell:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(232,93,74,.15)}
.commission-lado{font-family:'Cinzel',serif;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--ui-text-soft);margin-bottom:8px;font-weight:700}
.commission-captador{font-family:'Cinzel',serif;font-size:38px;font-weight:900;color:var(--capt-pinkDk);line-height:1;margin:6px 0}
.commission-referido{font-family:'DM Mono',monospace;font-size:13px;color:var(--ui-text-muted);margin-bottom:8px}
.commission-note{font-family:'EB Garamond',serif;font-size:13px;color:var(--ui-text-soft);font-style:normal;line-height:1.5;font-weight:500}
[data-theme="dark"] .commission-captador{color:#FDA4C4}

.funnel{max-width:560px;margin:24px auto;display:flex;flex-direction:column;gap:8px}
.funnel-step{padding:16px 22px;border-radius:10px;text-align:center;color:#FFF;font-family:'Cinzel',serif;font-size:14px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;box-shadow:0 4px 12px rgba(13,27,42,.1);position:relative;transition:transform .15s}
.funnel-step:hover{transform:translateX(4px)}
.funnel-step small{display:block;font-family:'DM Sans',sans-serif;font-size:11px;font-weight:500;letter-spacing:.5px;text-transform:none;margin-top:4px;opacity:.9}
.funnel-s1{background:linear-gradient(135deg,#0D1B2A,#1C2F44);width:100%}
.funnel-s2{background:linear-gradient(135deg,#1E3A5F,#2563EB);width:94%;align-self:center}
.funnel-s3{background:linear-gradient(135deg,#047857,#10B981);width:86%;align-self:center}
.funnel-s4{background:linear-gradient(135deg,#B45309,#D4A017);width:78%;align-self:center}
.funnel-s5{background:linear-gradient(135deg,#C73A2A,#E85D4A);width:70%;align-self:center}
.funnel-s6{background:linear-gradient(135deg,#A02818,#E85D4A);width:62%;align-self:center}

.habit-pills{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
.habit-pill{padding:10px 18px;background:var(--capt-soft);color:var(--capt-pinkDk);border:1.5px solid var(--capt-border);border-radius:30px;font-family:'DM Sans',sans-serif;font-size:13.5px;font-weight:700;letter-spacing:.3px;display:inline-flex;align-items:center;gap:8px}
.habit-pill::before{content:'\25CF';color:var(--capt-pink)}
[data-theme="dark"] .habit-pill{background:rgba(232,93,74,.18);color:#FDA4C4;border-color:rgba(232,93,74,.45)}

.whatsapp-cta{display:inline-flex;align-items:center;gap:12px;background:linear-gradient(135deg,#25D366,#128C7E);color:#FFF;padding:16px 28px;border-radius:40px;font-family:'DM Sans',sans-serif;font-size:14.5px;font-weight:800;letter-spacing:.5px;text-decoration:none;box-shadow:0 8px 22px rgba(37,211,102,.35);transition:transform .15s, box-shadow .15s}
.whatsapp-cta:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(37,211,102,.45);color:#FFF}
.whatsapp-cta svg{width:22px;height:22px}

.crm-mock{background:var(--ui-surface);border:1.5px solid var(--ui-border);border-radius:14px;padding:20px;margin:24px 0;font-family:'DM Mono',monospace;font-size:13px;color:var(--ui-text);overflow-x:auto}
.crm-mock-header{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--ui-border-soft);margin-bottom:14px;flex-wrap:wrap}
.crm-mock-dot{width:12px;height:12px;border-radius:50%}
.crm-mock-dot-r{background:#EF4444}
.crm-mock-dot-y{background:#F59E0B}
.crm-mock-dot-g{background:#10B981}
.crm-mock-url{flex:1;background:var(--ui-surface-soft);border:1px solid var(--ui-border);border-radius:8px;padding:6px 14px;font-family:'DM Mono',monospace;font-size:12px;color:var(--ui-text-soft);min-width:200px}
.crm-mock-cols{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:8px;overflow-x:auto;padding-bottom:4px}
.crm-mock-col{background:var(--ui-surface-soft);border-radius:8px;padding:10px;min-height:120px;border:1px dashed var(--ui-border-soft)}
.crm-mock-col-title{font-family:'DM Sans',sans-serif;font-size:10.5px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--ui-text-soft);margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--ui-border-soft)}
.crm-mock-card{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:6px;padding:8px 10px;margin-bottom:6px;font-size:11.5px;color:var(--ui-text);font-family:'DM Sans',sans-serif}
.crm-mock-card strong{display:block;font-size:12px;color:var(--ui-text);margin-bottom:2px}
.crm-mock-card small{font-size:10px;color:var(--ui-text-muted)}

.pre-taller{max-width:780px;margin:30px auto 0;padding:26px 30px;background:linear-gradient(135deg,rgba(232,93,74,.04),rgba(232,93,74,.04));border:1.5px solid var(--capt-border);border-radius:18px;font-family:'EB Garamond',serif;font-size:16px;line-height:1.7;color:var(--ui-text);font-weight:500}
.pre-taller strong{color:var(--capt-pinkDk);font-weight:700}
.pre-taller em{color:var(--capt-pinkDk);font-style:normal;font-weight:600}
[data-theme="dark"] .pre-taller{background:linear-gradient(135deg,rgba(232,93,74,.1),rgba(232,93,74,.08));border-color:rgba(232,93,74,.35)}
[data-theme="dark"] .pre-taller strong, [data-theme="dark"] .pre-taller em{color:#FDA4C4}

.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
@media(max-width:820px){.grid-2{grid-template-columns:1fr}}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:820px){.grid-3{grid-template-columns:1fr}}

.card{background:var(--ui-surface);border:1.5px solid var(--ui-border);border-radius:14px;padding:22px 24px;color:var(--ui-text);line-height:1.65;box-shadow:0 2px 14px rgba(13,27,42,.04)}
.checklist{list-style:none;padding:0;margin:0}
.checklist li{padding:8px 0;font-family:'EB Garamond',serif;font-size:15.5px;color:var(--ui-text-soft);border-bottom:1px solid var(--ui-border-soft);font-weight:500;display:flex;align-items:flex-start;gap:10px}
.checklist li::before{content:'\2713';color:var(--capt-pink);font-weight:900;flex-shrink:0}
.checklist li:last-child{border-bottom:none}
.checklist.warn li::before{content:'!';color:#EA580C;background:rgba(234,88,12,.1);width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:11px;font-weight:800}

.info-box{display:flex;align-items:flex-start;gap:14px;padding:16px 20px;border-radius:12px;margin:14px 0;font-family:'EB Garamond',serif;font-size:15.5px;color:var(--ui-text);line-height:1.65;border:1.5px solid transparent}
.info-icon{font-size:24px;flex-shrink:0;line-height:1.2}
.info-text{flex:1;font-weight:500}
.info-text strong{color:var(--ui-text);font-weight:700}
.info-box.info{background:rgba(59,130,246,.08);border-color:rgba(59,130,246,.25)}
.info-box.success{background:rgba(22,163,74,.08);border-color:rgba(22,163,74,.28)}
.info-box.warn{background:rgba(234,88,12,.08);border-color:rgba(234,88,12,.28)}
.info-box.danger{background:rgba(220,38,38,.08);border-color:rgba(220,38,38,.28)}
.info-box.pink{background:var(--capt-soft);border-color:var(--capt-border)}

.tip-card{background:var(--ui-surface);border:1.5px solid var(--ui-border);border-radius:14px;padding:20px 22px;display:flex;flex-direction:column;gap:10px;box-shadow:0 2px 12px rgba(13,27,42,.04)}
.tip-title{font-family:'Cinzel',serif;font-size:14px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase;color:var(--ui-text)}
.tip-text{font-family:'EB Garamond',serif;font-size:15.5px;color:var(--ui-text-soft);line-height:1.65;font-weight:500}
.tip-text strong{color:var(--ui-text);font-weight:700}

.barrio-table{width:100%;border-collapse:collapse;font-family:'DM Sans',sans-serif;font-size:14px;background:var(--ui-surface);border-radius:10px;overflow:hidden;box-shadow:0 2px 14px rgba(13,27,42,.06)}
.barrio-table th{background:var(--navy);color:#FFF;font-weight:700;padding:14px;text-align:left;font-size:12px;letter-spacing:1.2px;text-transform:uppercase}
.barrio-table td{padding:12px 14px;border-bottom:1px solid var(--ui-border-soft);color:var(--ui-text);vertical-align:top}
.barrio-table tr:nth-child(even) td{background:var(--ui-surface-soft)}

.bar-chart{margin:24px 0;padding:24px;background:var(--ui-surface);border:1.5px solid var(--ui-border);border-radius:14px}
.bar-chart-title{font-family:'Cinzel',serif;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ui-text-soft);margin-bottom:18px;font-weight:700}
.bar-row{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.bar-label{width:130px;font-family:'DM Sans',sans-serif;font-size:12.5px;font-weight:700;color:var(--ui-text);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}
.bar-bar{flex:1;height:28px;background:var(--ui-surface-soft);border-radius:6px;overflow:hidden;position:relative}
.bar-fill{height:100%;border-radius:6px;display:flex;align-items:center;justify-content:flex-end;padding-right:10px;color:#FFF;font-family:'DM Mono',monospace;font-size:12.5px;font-weight:700;transition:width 1s ease}
.bar-hot .bar-fill{background:linear-gradient(90deg,#E85D4A,#C94432)}
.bar-warm .bar-fill{background:linear-gradient(90deg,#D4A017,#92400E)}
.bar-cold .bar-fill{background:linear-gradient(90deg,#3B82F6,#1E40AF)}
@media(max-width:600px){
  .bar-row{flex-wrap:wrap}
  .bar-label{width:100%;margin-bottom:4px}
}

.formula-box{background:linear-gradient(135deg,#0A0F17,#1C2F44);color:#FFF;border-radius:12px;padding:18px 20px}
.formula-label{font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:#FCA5D4;font-weight:800;margin-bottom:6px}
.formula-eq{font-family:'DM Mono',monospace;font-size:16px;font-weight:700;color:#FFF;margin-bottom:6px}
.formula-example{font-family:'EB Garamond',serif;font-size:14px;color:#D8E0EA;line-height:1.6;font-style:normal}

@media(max-width:700px){
  .star-profile-card{padding:22px 18px}
  .star-profile-card h4{padding-left:48px;font-size:14px}
  .commission-captador{font-size:32px}
  .funnel-step{font-size:13px;padding:12px 14px}
  .pre-taller{padding:20px 18px;font-size:16px}
  .circle-card{padding:18px 20px}
}

/* ============================================================
   v2 · FUENTES MÁS GRANDES PARA MEJOR LECTURA
   Override sobre el taller base (hereda del taller comprador-inversion)
   ============================================================ */
body{font-size:17px;line-height:1.7}

.hero-lead{font-size:22px !important;line-height:1.7}
@media(max-width:700px){.hero-lead{font-size:19px !important}}
.hero-save-hint{font-size:15.5px}
.hero-meta-lbl{font-size:12.5px}
.hero-meta-num{font-size:38px}
@media(max-width:640px){.hero-meta-num{font-size:32px}}

.sec-desc{font-size:18.5px !important;line-height:1.75}
@media(max-width:700px){.sec-desc{font-size:16.5px !important}}
.sec-tag{font-size:12.5px;padding:6px 16px}

.mod-t-title{font-size:20px}
.mod-t-keys span{font-size:17px}
.mod-t-time{font-size:15px}
.mod-t-num{font-size:32px;width:60px}

.how-title{font-size:15px}
.how-text{font-size:17px;line-height:1.7}

.card{font-size:16.5px;line-height:1.75}
.card p{font-size:16.5px;line-height:1.75}
.checklist li{font-size:17px;line-height:1.65;padding:10px 0}
.checklist li::before{font-size:16px}

.tip-card .tip-title{font-size:15px;letter-spacing:1.4px}
.tip-card .tip-text{font-size:16.5px;line-height:1.7}

.info-box{font-size:17px;line-height:1.75;padding:18px 22px}
.info-text{font-size:17px}
.info-text strong{font-size:inherit}
.info-icon{font-size:28px}

.barrio-table{font-size:15px}
.barrio-table th{font-size:13px;padding:16px}
.barrio-table td{padding:14px 16px;font-size:15px;line-height:1.6}

.commission-lado{font-size:13px}
.commission-captador{font-size:44px}
.commission-referido{font-size:14px}
.commission-note{font-size:14.5px;line-height:1.55}

.circle-card h4{font-size:19px}
.circle-card p{font-size:16.5px;line-height:1.7}
.circle-card .circle-kpi{font-size:32px}
.circle-card .circle-kpi small{font-size:12px;letter-spacing:1.5px}
.circle-temp{font-size:12px}

.habit-pill{font-size:14.5px;padding:12px 20px}
.funnel-step{font-size:15px;padding:18px 26px}
.funnel-step small{font-size:12.5px}

.star-profile-card h4{font-size:16px}
.star-profile-card li{font-size:17px;line-height:1.7;padding:12px 0}

.bar-chart-title{font-size:14px}
.bar-label{font-size:13.5px;width:140px}
.bar-fill{font-size:13.5px}

.crm-mock{font-size:14px}
.crm-mock-col-title{font-size:11.5px}
.crm-mock-card{font-size:12.5px}
.crm-mock-card strong{font-size:13px}
.crm-mock-card small{font-size:11px}
.crm-mock-url{font-size:13px}

.pre-taller{font-size:17.5px;line-height:1.75;padding:28px 32px}
@media(max-width:700px){.pre-taller{font-size:16px;padding:22px 20px}}

/* Quiz — fuentes más grandes y claras */
.quiz-gate{padding:38px 34px}
.quiz-title{font-size:20px}
.quiz-sublabel{font-size:13px}
.quiz-sub{font-size:16.5px;line-height:1.75;margin-bottom:26px}
.quiz-q{padding:28px 30px}
.quiz-q-label{font-size:12px}
.quiz-q-text{font-size:21px !important;line-height:1.55}
@media(max-width:700px){.quiz-q-text{font-size:18.5px !important}.quiz-gate{padding:28px 20px}.quiz-q{padding:20px 18px}}
.quiz-opt{font-size:16px;padding:16px 20px;min-height:56px}
.opt-letter{width:30px;height:30px;font-size:12.5px}
.quiz-progress-label{font-size:13px}
.quiz-life-label{font-size:13px}
.qp-dot{width:14px;height:14px}
.quiz-feedback{font-size:15.5px;padding:20px 22px}
.quiz-feedback-title{font-size:16px;margin-bottom:12px}
.quiz-feedback-body{font-size:15px;line-height:1.75}
.fb-label{font-size:11.5px;letter-spacing:1.8px}
.fb-text{font-size:15.5px;line-height:1.55}
.fb-why-label{font-size:11.5px;letter-spacing:1.8px;margin:14px 0 6px}
.fb-why{font-size:15.5px;line-height:1.75}
.btn{padding:14px 26px;font-size:14.5px;min-height:48px}

/* Mensaje simpático en error */
.friendly-miss{
  background:linear-gradient(135deg,rgba(232,93,74,.14),rgba(212,160,23,.12));
  border:1.5px solid rgba(232,93,74,.35);
  border-radius:12px;
  padding:14px 18px;
  margin:14px 0 18px;
  font-family:'EB Garamond',serif;
  font-size:17px;
  line-height:1.6;
  color:#FFE4EE;
  font-style:normal;
  font-weight:500;
  display:flex;
  align-items:center;
  gap:12px;
}
.friendly-miss::before{content:'🌸';font-size:22px;flex-shrink:0}

/* Lista "por qué no las otras" */
.fb-others{margin-top:8px;display:flex;flex-direction:column;gap:10px}
.fb-otherwrong{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;
  padding:10px 14px;
  font-size:14.5px;
  line-height:1.65;
  color:#F0E3E8;
  font-family:'DM Sans',sans-serif;
}
.fb-otherwrong strong{color:#FFF;font-weight:700;margin-right:2px}
.fb-otherwrong em{color:#FCA5D4;font-style:normal;font-weight:400}
.fb-otherwrong .fb-x{color:#FCA5A5;font-weight:900;margin-right:6px}

/* Dark mode: ya es fondo navy en quiz-gate, el feedback ya luce bien */
[data-theme="light"] .friendly-miss{color:#92400E;background:linear-gradient(135deg,rgba(232,93,74,.1),rgba(212,160,23,.1));border-color:rgba(232,93,74,.25)}
[data-theme="light"] .fb-otherwrong{background:rgba(255,255,255,.05);color:#FFEEF3}
/* El quiz-gate es siempre oscuro por diseño, los feedbacks van ok */

/* Certificado — letras más grandes */
.cert-title{font-size:38px}
@media(max-width:640px){.cert-title{font-size:28px}}
.cert-subtitle{font-size:22px}
.cert-text{font-size:17.5px;line-height:1.8}
.cert-to-label{font-size:12px}
.cert-to-name{font-size:30px;min-width:360px}
@media(max-width:640px){.cert-to-name{font-size:24px;min-width:auto;width:100%}}
.cert-academy{font-size:14px}
.cert-meta-k{font-size:11px}
.cert-meta-v{font-size:16px}

/* Module headings más generosos */
.sec-h2{font-size:clamp(32px,4.6vw,48px) !important;line-height:1.12}
@media(max-width:700px){.sec-h2{font-size:clamp(24px,6vw,32px) !important}}

/* Progress num — más visible */
.progress-num{font-size:13.5px}
.progress-label{font-size:12.5px}

/* Nav de módulos más legible */
.modnav-btn{font-size:13px;padding:10px 18px}
.modnav-btn .mod-n{font-size:11px}

/* Mensaje bloqueado más claro */
.quiz-locked-title{font-size:20px}
.quiz-locked-desc{font-size:16.5px;line-height:1.75}
.quiz-locked-desc strong{font-size:17px;padding:3px 10px}
.quiz-done-title{font-size:19px}
.quiz-done-desc{font-size:16px;line-height:1.7}

/* Footer */
footer{font-size:15px !important;line-height:1.7}
footer strong{font-size:13px !important;letter-spacing:2.2px !important}

/* ============================================================
   v2.1 · CERTIFICADO ESTILO "TM-CERT" (inspirado en taller
   comprador primera vivienda · psicología del comprador)
   Acento captador: pink/magenta/coral con base clásica navy/gold
   ============================================================ */
.tm-cert{background:#FAF8F4;padding:18px;border-radius:18px;box-shadow:0 14px 40px rgba(13,27,42,.14);margin:24px auto;max-width:900px}
.tm-cert-border{background:linear-gradient(180deg,#FEFCF5 0%,#FBF6EB 100%);border:3px double var(--gold);padding:56px 62px 48px;position:relative;text-align:center;color:var(--navy);overflow:hidden}
.tm-cert-border::before{content:'';position:absolute;inset:10px;border:1px solid rgba(212,160,23,.5);pointer-events:none}
.tm-cert-corner{position:absolute;width:58px;height:58px;border:2px solid var(--gold);pointer-events:none}
.tm-cert-corner.tl{top:18px;left:18px;border-right:none;border-bottom:none}
.tm-cert-corner.tr{top:18px;right:18px;border-left:none;border-bottom:none}
.tm-cert-corner.bl{bottom:18px;left:18px;border-right:none;border-top:none}
.tm-cert-corner.br{bottom:18px;right:18px;border-left:none;border-top:none}

.tm-cert-logo-block{margin-bottom:22px;display:flex;flex-direction:column;align-items:center;position:relative;z-index:2}
.tm-cert-logo-img{height:200px;width:auto;display:block;object-fit:contain;mix-blend-mode:multiply}
@media(max-width:700px){.tm-cert-logo-img{height:150px}}

.tm-cert-eyebrow{font-family:'Cinzel',serif;font-size:12px;letter-spacing:6px;text-transform:uppercase;color:var(--capt-pinkDk);font-weight:700;margin-bottom:22px;position:relative;z-index:2}
.tm-cert-title{font-family:'Cinzel',serif;font-weight:800;font-size:46px;line-height:1.15;color:var(--navy);letter-spacing:2px;text-transform:uppercase;margin-bottom:18px;position:relative;z-index:2}
.tm-cert-title em{font-style:normal;font-family:'EB Garamond',serif;font-weight:700;letter-spacing:.5px;color:var(--capt-pinkDk);font-size:34px;text-transform:none;display:block;margin-top:6px}
.tm-cert-divider{width:110px;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:0 auto 18px;position:relative}
.tm-cert-divider::before,.tm-cert-divider::after{content:'\2756';position:absolute;top:50%;transform:translateY(-50%);color:var(--gold);font-size:10px;line-height:1}
.tm-cert-divider::before{left:-18px}
.tm-cert-divider::after{right:-18px}
.tm-cert-subtitle{font-family:'EB Garamond',serif;font-style:normal;font-size:19px;color:var(--slate);margin-bottom:38px;letter-spacing:.4px;font-weight:500;position:relative;z-index:2}

.tm-cert-intro{font-family:'EB Garamond',serif;font-size:19px;color:var(--slate);margin-bottom:16px;font-style:normal;font-weight:500;letter-spacing:.2px;position:relative;z-index:2}
.tm-cert-name{font-family:'EB Garamond',serif;font-weight:700;font-size:46px;color:var(--navy);border:none;border-bottom:1.5px solid var(--gold);padding:0 34px 12px;display:inline-block;margin:0 auto 28px;letter-spacing:1.5px;min-width:60%;max-width:100%;word-wrap:break-word;background:transparent;text-align:center;outline:none;position:relative;z-index:2}
.tm-cert-name:focus{border-bottom-color:var(--capt-pink)}
@media(max-width:640px){.tm-cert-name{font-size:28px;padding:0 14px 8px;min-width:auto;width:100%}}

.tm-cert-body{font-family:'EB Garamond',serif;font-size:18px;color:var(--navy);line-height:1.75;max-width:640px;margin:0 auto 34px;font-weight:500;letter-spacing:.1px;position:relative;z-index:2}

.tm-cert-modules-block{background:rgba(250,245,235,.55);border:1px solid rgba(212,160,23,.3);border-radius:10px;padding:22px 26px;margin:0 auto 34px;max-width:640px;text-align:left;position:relative;z-index:2}
.tm-cert-modules-title{font-family:'Cinzel',serif;font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);font-weight:700;text-align:center;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid rgba(212,160,23,.3)}
.tm-cert-modules{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 22px;font-family:'EB Garamond',serif;font-size:15.5px;color:var(--navy);font-weight:500}
@media(max-width:640px){.tm-cert-modules{grid-template-columns:1fr}}
.tm-cert-modules li{display:flex;gap:9px;align-items:flex-start;line-height:1.45}
.cert-mod-n{font-family:'Cinzel',serif;font-size:11px;font-weight:700;color:var(--capt-pinkDk);flex-shrink:0;padding-top:2px}

.tm-cert-final-badge{margin-top:20px;padding-top:18px;border-top:1px solid rgba(212,160,23,.3);display:flex;flex-direction:column;align-items:center;gap:2px}
.tm-cert-final-badge .badge-label{font-family:'Cinzel',serif;font-size:10.5px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);font-weight:700}
.tm-cert-final-badge .badge-score{font-family:'Cinzel',serif;font-size:64px;font-weight:900;color:#15803D;line-height:1;letter-spacing:1px;margin:4px 0 6px;display:inline-flex;align-items:baseline;text-shadow:0 2px 4px rgba(21,128,61,.12)}
.tm-cert-final-badge .badge-slash{font-size:52px;color:var(--gold);margin:0 2px;font-weight:500}
.tm-cert-final-badge .badge-sub{font-family:'EB Garamond',serif;font-style:normal;font-size:14px;color:#15803D;font-weight:600;letter-spacing:.3px}

.tm-cert-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:30px;margin-top:20px;position:relative;z-index:2}
@media(max-width:700px){.tm-cert-footer{grid-template-columns:1fr;text-align:center}}
/* (Bloque duplicado removido — definiciones canónicas en líneas 583-600) */

.tm-cert-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:24px;margin-top:26px}
.tm-cert-actions .btn{padding:14px 26px;font-size:14.5px}

@media(max-width:700px){
  .tm-cert-border{padding:40px 24px 32px}
  .tm-cert-title{font-size:30px;letter-spacing:1.5px}
  .tm-cert-title em{font-size:22px}
  .tm-cert-body{font-size:16.5px}
  .tm-cert-modules-block{padding:18px 20px}
  .tm-cert-final-badge .badge-score{font-size:48px}
  .tm-cert-final-badge .badge-slash{font-size:38px}
}

/* ============================================================
   v2.2 · QUIZ LOOK ACADEMIA (unificado light/dark)
   El quiz siempre es dark navy con opciones semitransparentes,
   igual que los demás talleres de la Academia de Corredores.
   ============================================================ */
.quiz-gate{
  margin-top:60px;
  padding:40px 38px;
  background:linear-gradient(135deg,#0D1B2A 0%,#142335 50%,#1C2F44 100%) !important;
  border-radius:22px;
  color:#FFF !important;
  box-shadow:0 22px 56px rgba(13,27,42,.28);
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.06);
}
.quiz-gate::before{
  content:'';position:absolute;top:0;left:0;right:0;height:4px;
  background:var(--capt-gradient);
}
.quiz-gate-head{display:flex;align-items:center;gap:16px;margin-bottom:10px;flex-wrap:wrap}
.quiz-icon{
  width:52px;height:52px;border-radius:13px;
  background:var(--capt-gradient);
  display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;
  box-shadow:0 6px 18px rgba(232,93,74,.32);
}
.quiz-title{font-family:'Playfair Display',serif;font-size:26px;color:#FFF;font-weight:800;letter-spacing:.3px;line-height:1.2}
.quiz-sublabel{font-size:12.5px;color:#FCA5D4;letter-spacing:1.2px;text-transform:uppercase;font-weight:700;margin-top:4px}
.quiz-sub{font-size:16px;color:#C8D3E0;margin-bottom:28px;line-height:1.7;font-family:'EB Garamond',serif;font-weight:500}
.quiz-sub strong{color:#FCA5D4;font-weight:700}

.quiz-progress-wrap{display:flex;align-items:center;gap:14px;margin-bottom:22px;flex-wrap:wrap;padding:14px 18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px}
.quiz-progress{display:flex;gap:8px;flex:1;min-width:180px}
.qp-dot{width:14px;height:14px;border-radius:50%;background:rgba(255,255,255,.14);transition:all .2s ease}
.qp-dot.done{background:#22C55E;box-shadow:0 0 0 3px rgba(34,197,94,.2)}
.qp-dot.current{background:#FCA5D4;box-shadow:0 0 0 4px rgba(252,165,212,.25)}
.quiz-progress-label{font-family:'DM Sans',sans-serif;font-size:12.5px;font-weight:700;color:#6EE7A7;letter-spacing:.5px;white-space:nowrap}
.quiz-life-label{margin-left:auto;font-family:'DM Mono',monospace;font-size:12.5px;color:#FCA5D4;font-weight:700;letter-spacing:1px;white-space:nowrap}

.quiz-q{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  padding:26px 28px;
}
.quiz-q-label{font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:#FCA5D4;margin-bottom:12px;font-family:'DM Mono',monospace}
.quiz-q-text{
  font-family:'Playfair Display',serif !important;
  font-size:20px !important;
  font-weight:600;
  color:#FFF !important;
  line-height:1.55;
  margin-bottom:22px;
}
@media(max-width:700px){.quiz-q-text{font-size:17.5px !important}}

.quiz-opts{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.quiz-opt{
  display:flex !important;
  align-items:flex-start !important;
  gap:14px !important;
  background:rgba(255,255,255,.05) !important;
  border:1.5px solid rgba(255,255,255,.14) !important;
  border-radius:12px !important;
  padding:14px 18px !important;
  cursor:pointer;
  color:#E6ECF3 !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:15.5px !important;
  line-height:1.55;
  transition:all .15s ease;
  text-align:left;
  font-weight:500;
  min-height:auto;
}
.quiz-opt:hover:not(.disabled){
  background:rgba(232,93,74,.14) !important;
  border-color:rgba(252,165,212,.55) !important;
  color:#FFF !important;
  transform:translateX(2px);
}
.quiz-opt .opt-letter{
  width:30px !important;
  height:30px !important;
  border-radius:8px !important;
  background:rgba(255,255,255,.1) !important;
  color:#FFF !important;
  display:flex;align-items:center;justify-content:center;
  font-size:12.5px;font-weight:800;
  font-family:'DM Mono',monospace;
  flex-shrink:0;
}
.quiz-opt.correct{
  background:rgba(22,163,74,.2) !important;
  border-color:#22C55E !important;
  color:#BBF7D0 !important;
  font-weight:600;
}
.quiz-opt.correct .opt-letter{background:#16A34A !important;color:#FFF !important}
.quiz-opt.wrong{
  background:rgba(220,38,38,.2) !important;
  border-color:#F87171 !important;
  color:#FECACA !important;
  font-weight:600;
}
.quiz-opt.wrong .opt-letter{background:#DC2626 !important;color:#FFF !important}
.quiz-opt.disabled{cursor:not-allowed;opacity:.72}
.quiz-opt.disabled:hover{transform:none}

.quiz-feedback{
  margin-top:16px;
  padding:20px 22px;
  border-radius:14px;
  font-size:15.5px;
  line-height:1.7;
  display:none;
  font-family:'EB Garamond',serif;
  font-weight:500;
}
.quiz-feedback.show{display:block;animation:quizFade .3s ease}
@keyframes quizFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.quiz-feedback.correct{
  background:rgba(22,163,74,.14) !important;
  border:1.5px solid rgba(110,231,167,.45) !important;
  color:#BBF7D0 !important;
}
.quiz-feedback.wrong{
  background:rgba(220,38,38,.14) !important;
  border:1.5px solid rgba(252,165,165,.45) !important;
  color:#FECACA !important;
}
.quiz-feedback-title{
  font-family:'Cinzel',serif;
  font-size:13.5px;
  font-weight:800;
  letter-spacing:1.8px;
  text-transform:uppercase;
  margin-bottom:14px;
}
.quiz-feedback.correct .quiz-feedback-title{color:#6EE7A7}
.quiz-feedback.wrong .quiz-feedback-title{color:#FCA5A5}

.quiz-feedback-body{color:#E6ECF3;font-size:15.5px;line-height:1.75;font-family:'EB Garamond',serif}
.quiz-feedback.correct .quiz-feedback-body,
.quiz-feedback.wrong .quiz-feedback-body{color:#E6ECF3}

.fb-block{margin-bottom:12px;padding:12px 16px;border-radius:10px;font-family:'DM Sans',sans-serif}
.fb-block-wrong{background:rgba(220,38,38,.14);border:1px solid rgba(252,165,165,.3)}
.fb-block-right{background:rgba(22,163,74,.14);border:1px solid rgba(110,231,167,.35)}
.fb-label{font-family:'DM Mono',monospace;font-size:10.5px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:6px;color:#C8D3E0}
.fb-text{font-size:15px;color:#FFF;font-weight:500;line-height:1.55}
.fb-x{color:#FCA5A5;font-weight:900;margin-right:6px}
.fb-check{color:#86EFAC;font-weight:900;margin-right:6px}
.fb-why-label{font-family:'DM Mono',monospace;font-size:10.5px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:#FCA5D4;margin:12px 0 6px}
.fb-why{font-size:15.5px;color:#E6ECF3;line-height:1.75;font-family:'EB Garamond',serif;font-weight:500}

/* Mensaje simpático — dentro del feedback (dark container) */
.friendly-miss{
  background:linear-gradient(135deg,rgba(232,93,74,.18),rgba(212,160,23,.14)) !important;
  border:1.5px solid rgba(252,165,212,.4) !important;
  color:#FFE4EE !important;
  border-radius:12px;
  padding:14px 18px;
  margin:6px 0 18px;
  font-family:'EB Garamond',serif;
  font-size:16.5px;
  line-height:1.6;
  font-style:normal;
  font-weight:500;
  display:flex;
  align-items:center;
  gap:12px;
}

/* "Por qué NO las otras" */
.fb-others{margin-top:10px;display:flex;flex-direction:column;gap:10px}
.fb-otherwrong{
  background:rgba(255,255,255,.05) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:10px;
  padding:12px 14px;
  font-size:14.5px;
  line-height:1.65;
  color:#E6ECF3 !important;
  font-family:'DM Sans',sans-serif;
  font-weight:500;
}
.fb-otherwrong strong{color:#FFF !important;font-weight:700;margin-right:2px}
.fb-otherwrong em{color:#FDA4C4 !important;font-style:normal;font-weight:500}
.fb-otherwrong .fb-x{color:#FCA5A5;font-weight:900;margin-right:6px}

.quiz-next{margin-top:20px;display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}
.quiz-next .btn{padding:14px 26px;font-size:14.5px}
.btn-primary{background:var(--capt-pink) !important;color:#FFF !important}
.btn-primary:hover{background:var(--capt-pinkDk) !important}
.btn-success{background:#16A34A !important;color:#FFF !important}
.btn-success:hover{background:#15803D !important}
.btn-ghost{background:transparent !important;border:1.5px solid rgba(255,255,255,.25) !important;color:#FFF !important}
.btn-ghost:hover{background:rgba(255,255,255,.08) !important;border-color:#FCA5D4 !important}

.quiz-done{text-align:center;padding:32px 24px;background:rgba(22,163,74,.14);border:1.5px solid rgba(110,231,167,.4);border-radius:16px}
.quiz-done-icon{font-size:52px;line-height:1;margin-bottom:14px;color:#6EE7A7}
.quiz-done-title{font-family:'Cinzel',serif;font-size:20px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px;color:#FFF}
.quiz-done-desc{font-family:'EB Garamond',serif;font-size:16.5px;color:#D7F8E5;margin-bottom:20px;line-height:1.7}

.quiz-locked{text-align:center;padding:36px 24px;background:rgba(220,38,38,.14);border:1.5px solid rgba(252,165,165,.45);border-radius:16px}
.quiz-locked-icon{font-size:48px;line-height:1;margin-bottom:14px}
.quiz-locked-title{font-family:'Cinzel',serif;font-size:20px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:#FCA5A5;margin-bottom:12px}
.quiz-locked-desc{font-family:'EB Garamond',serif;font-size:16.5px;color:#FFE4E4;margin-bottom:20px;line-height:1.75;font-weight:500}
.quiz-locked-desc strong{color:#FFF;font-family:'DM Mono',monospace;font-size:17px;background:rgba(255,255,255,.12);padding:4px 12px;border-radius:8px;display:inline-block;margin:0 3px}

@media(max-width:700px){
  .quiz-gate{padding:28px 22px;margin-top:40px}
  .quiz-q{padding:20px 18px}
  .quiz-title{font-size:22px}
  .quiz-icon{width:44px;height:44px;font-size:20px}
  .quiz-opt{font-size:14.5px !important;padding:12px 14px !important}
  .quiz-next{justify-content:stretch}
  .quiz-next .btn{flex:1;justify-content:center}
}

/* ============================================================
   v2.3 · FUENTES MÁS GRANDES Y PROGRESO EN %
   Objetivo: subir el tamaño mínimo de labels/micro-copy para
   mayor legibilidad sin romper la cuadrícula responsive.
   Mínimos aplicados: 13px labels · 14px microcopy · 17px body.
   ============================================================ */

/* Body base */
body{font-size:18px;line-height:1.7}
@media(max-width:700px){body{font-size:17px}}

/* Brand tagline / barras superiores */
.academy-bar{font-size:12.5px;letter-spacing:3.5px;padding:10px 20px}
@media(max-width:700px){.academy-bar{font-size:11px;letter-spacing:2.5px}}
.brand-tagline-l1{font-size:13px;letter-spacing:3px}
.brand-tagline-l2{font-size:14.5px}
.taller-badge{font-size:12px;letter-spacing:2px;padding:7px 16px}

/* Progress bar */
.progress-wrap{padding:14px 28px}
.progress-label{font-size:13.5px;letter-spacing:1.5px}
.progress-track{height:11px;border-radius:24px}
.progress-num{font-size:17px;font-weight:800;font-family:'Cinzel',serif;color:var(--capt-pinkDk);min-width:52px;text-align:right}
[data-theme="dark"] .progress-num{color:#FDA4C4}

/* Nav de módulos */
.modnav-btn{font-size:14px;padding:11px 20px}
.modnav-btn .mod-n{font-size:12px}

/* Hero */
.hero-academy-mark{font-size:14px;letter-spacing:5px}
.hero-eyebrow-line{font-size:13px;letter-spacing:4.5px}
.hero-meta-num{font-size:42px}
.hero-meta-lbl{font-size:13.5px;letter-spacing:1.8px}
@media(max-width:640px){.hero-meta-num{font-size:34px}.hero-meta-lbl{font-size:12.5px}}
.hero-lead{font-size:23px !important;line-height:1.7}
@media(max-width:700px){.hero-lead{font-size:20px !important}}
.hero-save-hint{font-size:16px}
.pre-taller{font-size:18.5px;line-height:1.75;padding:30px 34px}
@media(max-width:700px){.pre-taller{font-size:17px;padding:22px 22px}}

/* Embudo del onboarding (lista de módulos) */
.mod-funnel{margin-bottom:70px}
.mod-t-item{padding:26px 28px;gap:26px}
.mod-t-num{font-size:34px;width:64px}
.mod-t-title{font-size:22px}
.mod-t-keys span{font-size:18px}
.mod-t-time{font-size:16px}
.mod-t-item.mod-t-final .mod-t-num{font-size:36px}

/* How works */
.how-n{font-size:14.5px;letter-spacing:3.5px}
.how-title{font-size:16.5px}
.how-text{font-size:17.5px;line-height:1.7}

/* Section tag / headers */
.sec-tag{font-size:13.5px;letter-spacing:2.5px;padding:7px 18px}
.sec-desc{font-size:19.5px !important;line-height:1.75}
@media(max-width:700px){.sec-desc{font-size:17.5px !important}}

/* Cards / Tips / Checklists */
.card{font-size:17.5px;line-height:1.75;padding:24px 28px}
.card ul li, .card ol li{font-size:17.5px;line-height:1.7}
.card p{font-size:17.5px;line-height:1.75}
.checklist li{font-size:17.5px;padding:11px 0}
.tip-card{padding:22px 24px}
.tip-card .tip-title{font-size:16px;letter-spacing:1.6px}
.tip-card .tip-text{font-size:17.5px;line-height:1.7}

/* Info boxes */
.info-box{font-size:18px;line-height:1.75;padding:20px 24px;gap:16px}
.info-icon{font-size:30px}
.info-text{font-size:18px}

/* Tablas */
.barrio-table{font-size:16.5px}
.barrio-table th{font-size:14px;padding:16px;letter-spacing:1.3px}
.barrio-table td{padding:15px 18px;font-size:16px;line-height:1.6}

/* Comisiones */
.commission-cell{padding:22px 18px}
.commission-lado{font-size:14px;letter-spacing:2.2px}
.commission-captador{font-size:48px}
@media(max-width:700px){.commission-captador{font-size:40px}}
.commission-referido{font-size:15px}
.commission-note{font-size:15.5px;line-height:1.55}

/* Círculos */
.circle-card{padding:24px 26px}
.circle-card h4{font-size:20px}
.circle-card p{font-size:17.5px;line-height:1.7}
.circle-card .circle-kpi{font-size:34px}
.circle-card .circle-kpi small{font-size:13px;letter-spacing:1.6px;margin-top:5px}
.circle-temp{font-size:13px;letter-spacing:2px;padding:5px 12px}

/* Habits + funnel */
.habit-pill{font-size:15.5px;padding:12px 22px;letter-spacing:.4px}
.funnel-step{font-size:16px;padding:20px 28px;letter-spacing:1.6px}
.funnel-step small{font-size:13.5px;margin-top:5px}
@media(max-width:700px){.funnel-step{font-size:14.5px;padding:14px 16px}.funnel-step small{font-size:12.5px}}

/* Star profile card */
.star-profile-card h4{font-size:17px;letter-spacing:1.6px}
.star-profile-card li{font-size:18px;line-height:1.7;padding:13px 0}
.star-profile-card::before{width:44px;height:44px;font-size:24px}

/* Bar chart */
.bar-chart{padding:26px}
.bar-chart-title{font-size:15px;letter-spacing:1.6px;margin-bottom:20px}
.bar-row{margin-bottom:14px}
.bar-label{font-size:15px;width:150px}
.bar-bar{height:32px}
.bar-fill{font-size:14.5px}
@media(max-width:600px){.bar-label{font-size:13.5px;width:100%;margin-bottom:4px}}

/* CRM mock */
.crm-mock{padding:22px;font-size:14.5px}
.crm-mock-url{font-size:14px;padding:8px 16px}
.crm-mock-col-title{font-size:12.5px;letter-spacing:1.3px}
.crm-mock-card{font-size:13px;padding:10px 12px;margin-bottom:8px}
.crm-mock-card strong{font-size:13.5px}
.crm-mock-card small{font-size:11.5px}

/* Quiz — texto más grande manteniendo look academia dark */
.quiz-title{font-size:28px !important}
@media(max-width:700px){.quiz-title{font-size:23px !important}}
.quiz-sublabel{font-size:13.5px !important;letter-spacing:1.5px}
.quiz-sub{font-size:17px !important;line-height:1.75}
.quiz-q{padding:28px 32px}
@media(max-width:700px){.quiz-q{padding:22px 20px}}
.quiz-q-label{font-size:12.5px !important;letter-spacing:2.2px}
.quiz-q-text{font-size:22px !important;line-height:1.5}
@media(max-width:700px){.quiz-q-text{font-size:19px !important}}
.quiz-opt{font-size:16.5px !important;padding:15px 20px !important;gap:16px !important}
@media(max-width:700px){.quiz-opt{font-size:15.5px !important;padding:13px 15px !important}}
.opt-letter{width:32px !important;height:32px !important;font-size:13px !important;border-radius:9px !important}
.quiz-progress-label{font-size:13.5px !important}
.quiz-life-label{font-size:13.5px !important;letter-spacing:1.2px}
.qp-dot{width:16px;height:16px}
.quiz-feedback{font-size:16.5px !important;padding:22px 24px !important}
.quiz-feedback-title{font-size:14.5px !important;letter-spacing:2px}
.quiz-feedback-body{font-size:16.5px !important;line-height:1.75}
.fb-label{font-size:12px !important;letter-spacing:1.6px}
.fb-text{font-size:16.5px !important;line-height:1.6}
.fb-why-label{font-size:12px !important;letter-spacing:1.6px;margin:14px 0 8px}
.fb-why{font-size:16.5px !important;line-height:1.75}
.fb-otherwrong{font-size:15.5px !important;padding:14px 16px !important}
.friendly-miss{font-size:17.5px !important;padding:16px 20px !important}
.quiz-done-icon{font-size:58px}
.quiz-done-title{font-size:22px !important;letter-spacing:1.6px}
.quiz-done-desc{font-size:17.5px !important;line-height:1.7}
.quiz-locked-title{font-size:22px}
.quiz-locked-desc{font-size:17.5px;line-height:1.75}
.quiz-locked-desc strong{font-size:18px;padding:4px 12px}

/* Botones */
.btn{font-size:15px !important;padding:15px 28px !important;min-height:50px}
@media(max-width:700px){.btn{font-size:14.5px !important;padding:14px 22px !important}}
.hero-cta-new{font-size:14.5px !important;padding:18px 44px !important;letter-spacing:4.5px}
@media(max-width:700px){.hero-cta-new{font-size:13px !important;padding:15px 30px !important;letter-spacing:3px}}

/* Resume banner */
.resume-banner-title{font-size:14px;letter-spacing:2.2px}
.resume-banner-text{font-size:17px;line-height:1.55}

/* Headings de sección */
.sec-h2{font-size:clamp(34px,4.8vw,50px) !important;line-height:1.1}
@media(max-width:700px){.sec-h2{font-size:clamp(26px,6vw,34px) !important}}

/* CERTIFICADO — ligera subida de letras pequeñas en metadatos */
.tm-cert-eyebrow{font-size:13.5px;letter-spacing:6.5px}
.tm-cert-modules{font-size:17px}
@media(max-width:640px){.tm-cert-modules{font-size:15.5px}}
.tm-cert-modules-title{font-size:12.5px;letter-spacing:4.2px}
.cert-mod-n{font-size:12px;letter-spacing:.6px}
.tm-cert-final-badge .badge-label{font-size:12px;letter-spacing:4.2px}
.tm-cert-final-badge .badge-sub{font-size:15.5px}
.tm-cert-date{font-size:16px}
.tm-cert-seal-label{font-size:9.8px;letter-spacing:2.2px}
.tm-cert-sign-name{font-size:17px}
.tm-cert-sign-role{font-size:14px}
.tm-cert-body{font-size:19px;line-height:1.8}
@media(max-width:700px){.tm-cert-body{font-size:17px}}
.tm-cert-subtitle{font-size:20.5px}
.tm-cert-intro{font-size:20px}
@media(max-width:640px){.tm-cert-subtitle{font-size:17px}.tm-cert-intro{font-size:18px}}

/* Footer */
footer{font-size:16px !important;line-height:1.75}
footer strong{font-size:14px !important;letter-spacing:2.2px !important}

/* Admin: elevar también las micro-tipos para revisión */
.admin-q-text{font-size:19px !important}
.admin-opt{font-size:16px !important}
.admin-opt-letter{font-size:12.5px !important;padding:4px 10px !important;min-width:30px !important}
.admin-whyexp{font-size:16.5px !important;line-height:1.7}
.admin-whyexp strong{font-size:12px !important;letter-spacing:1.6px}

/* Asegurar que no haya overflow horizontal en mobile */
@media(max-width:700px){
  .page{padding:40px 20px 60px}
  .card{padding:20px 22px}
  .info-box{padding:16px 18px;gap:12px}
  .barrio-table th, .barrio-table td{padding:12px 13px}
}

/* Dark mode — mantener contraste de labels que ahora son más grandes */
[data-theme="dark"] .progress-label{color:#C8D3E0}
[data-theme="dark"] .modnav-btn{color:#C8D3E0}
[data-theme="dark"] .sec-tag{color:#FDA4C4;background:rgba(232,93,74,.2);border-color:rgba(232,93,74,.5)}

/* Dark mode: el certificado siempre mantiene el papel claro para legibilidad al imprimir */
[data-theme="dark"] .tm-cert{background:#F2EADC}
[data-theme="dark"] .tm-cert-border{background:linear-gradient(180deg,#FEFCF5 0%,#FBF6EB 100%);color:var(--navy)}
[data-theme="dark"] .tm-cert-title{color:var(--navy)}
[data-theme="dark"] .tm-cert-subtitle,
[data-theme="dark"] .tm-cert-intro,
[data-theme="dark"] .tm-cert-date{color:var(--slate)}
[data-theme="dark"] .tm-cert-name,
[data-theme="dark"] .tm-cert-body{color:var(--navy)}
[data-theme="dark"] .tm-cert-modules-block{background:rgba(250,245,235,.85)}
[data-theme="dark"] .tm-cert-modules{color:var(--navy)}
[data-theme="dark"] .tm-cert-sign-name{color:var(--navy)}
[data-theme="dark"] .tm-cert-sign-role{color:var(--slate)}

/* ============================================================
   FREELANCE ONBOARDING · COMPONENTES NUEVOS
   Modal de identidad (nombre + RUT), certificado custom con RUT,
   estado 'chosen' para prueba final (sin revelar correcta),
   pasos 6 y 7 del funnel (embudo de captación).
   ============================================================ */

/* -------- Certificado custom (usado por App.mountConclusion) -------- */
.tm-cert{position:relative}
#cert.tm-cert{background:#FAF8F4;padding:18px;border-radius:18px;box-shadow:0 14px 40px rgba(13,27,42,.12);margin-bottom:24px;position:relative}
#cert .cert-border{background:linear-gradient(180deg,#FEFCF5 0%,#FBF6EB 100%);border:3px double var(--gold);padding:54px 56px 44px;position:relative;text-align:center;color:var(--navy);overflow:hidden;border-radius:10px}
#cert .cert-border::before{content:'';position:absolute;inset:10px;border:1px solid rgba(212,160,23,.5);pointer-events:none;border-radius:6px}
#cert .cert-inner{position:relative}
#cert .cert-academy-mark{font-family:'Cinzel',serif;font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:18px}
#cert .cert-title{font-family:'Cinzel',serif;font-weight:800;font-size:38px;line-height:1.15;color:var(--navy);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:6px}
#cert .cert-subtitle{font-family:'EB Garamond',serif;font-style:normal;font-size:18px;color:var(--coralDk);margin-bottom:32px;font-weight:600;letter-spacing:.3px}
#cert .cert-body{max-width:560px;margin:0 auto 28px}
#cert .cert-to{font-family:'EB Garamond',serif;font-size:16px;color:var(--slate);font-style:normal;margin-bottom:10px}
#cert .cert-to-name{font-family:'EB Garamond',serif;font-weight:700;font-size:36px;color:var(--navy);border-bottom:1.5px solid var(--gold);padding:0 20px 10px;display:inline-block;margin:0 auto 8px;letter-spacing:1px;max-width:100%;word-wrap:break-word}
#cert .cert-to-rut{font-family:'DM Mono',monospace;font-size:14px;color:var(--slate);letter-spacing:1px;margin-bottom:22px}
#cert .cert-desc{font-family:'EB Garamond',serif;font-size:16.5px;color:var(--navy);line-height:1.7;font-weight:500;letter-spacing:.1px}
#cert .cert-stats{display:flex;justify-content:center;gap:32px;margin:28px auto;max-width:500px;flex-wrap:wrap}
#cert .cert-stat{text-align:center}
#cert .cert-stat-num{font-family:'Cinzel',serif;font-size:28px;font-weight:900;color:var(--coralDk);line-height:1}
#cert .cert-stat-lbl{font-family:'Cinzel',serif;font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--slate);font-weight:700;margin-top:4px}
#cert .cert-foot{margin-top:24px;padding-top:18px;border-top:1px solid rgba(212,160,23,.3);display:flex;flex-direction:column;align-items:center;gap:8px}
#cert .cert-date{font-family:'Cormorant Garamond',serif;font-style:normal;font-size:14px;color:var(--slate)}
#cert .cert-stamp{font-family:'Cinzel',serif;font-size:10.5px;letter-spacing:1.5px;color:var(--gold);font-weight:600}
@media(max-width:700px){
  #cert .cert-border{padding:36px 22px 30px}
  #cert .cert-title{font-size:28px;letter-spacing:.8px}
  #cert .cert-to-name{font-size:24px;padding:0 12px 8px}
  #cert .cert-stats{gap:16px}
  #cert .cert-stat-num{font-size:22px}
}
[data-theme="dark"] #cert.tm-cert{background:#FAF8F4}
[data-theme="dark"] #cert .cert-title,
[data-theme="dark"] #cert .cert-to-name,
[data-theme="dark"] #cert .cert-desc{color:var(--navy)}

/* -------- Estado 'chosen' en prueba final (no revela correcta) -------- */
.quiz-opt.chosen{border-color:var(--coral) !important;background:rgba(232,93,74,.1) !important;color:var(--ui-text)}
.quiz-opt.chosen .opt-letter{background:var(--coral);color:#FFF;border-color:var(--coral)}
[data-theme="dark"] .quiz-opt.chosen{background:rgba(232,93,74,.2) !important}

/* -------- Pasos 6 y 7 del funnel (embudo extendido a 7 pasos) -------- */
.funnel-s6{background:linear-gradient(135deg,#0F8C87,#15803D);width:62%;align-self:center;border-left:4px solid var(--tealDk);color:#FFF}
.funnel-s7{background:linear-gradient(135deg,#15803D,#047857);width:54%;align-self:center;border-left:4px solid var(--greenDk);color:#FFF}
[data-theme="dark"] .funnel-s6{background:linear-gradient(135deg,#0EA5A0,#15803D)}
[data-theme="dark"] .funnel-s7{background:linear-gradient(135deg,#16A34A,#047857)}
@media(max-width:700px){.funnel-s2,.funnel-s3,.funnel-s4,.funnel-s5,.funnel-s6,.funnel-s7{width:100%}}

/* ============================================================
   ALINEACIÓN DE CARDS EN GRID (.aligned-cards)
   Iguala altura entre tarjetas de la misma fila y distribuye
   contenido de forma consistente. Mejora la percepción visual
   cuando los bloques tienen largos de texto distintos.
   ============================================================ */
.aligned-cards{align-items:stretch}
.aligned-cards > .card,
.aligned-cards > .tip-card{display:flex;flex-direction:column;height:100%}
.aligned-cards > .card > :first-child,
.aligned-cards > .tip-card > :first-child{margin-top:0}
.aligned-cards > .card > :last-child,
.aligned-cards > .tip-card > :last-child{margin-bottom:0}
.aligned-cards .card ul,
.aligned-cards .card p{flex:1 1 auto}
.aligned-cards .card p + div:not([class]),
.aligned-cards .card p + p{margin-top:auto}
.aligned-cards .tip-card .tip-text{flex:1 1 auto}

/* Cards de objeciones (cerradas en grid-2): texto baseline igual */
.aligned-cards .card p[style*="font-style:normal"]{flex:1 1 auto;display:block}

/* ============================================================
   TIPOLOGÍAS · Alineación 100% fila por fila entre los 4 cards
   Cada item del checklist mantiene la misma altura mínima
   para que "Motor de decisión", "Velocidad", "Riesgo principal",
   "Factor decisivo de cierre" y "Pregunta de calificación" comiencen
   exactamente en la misma posición vertical en los 4 cards.
   ============================================================ */
.tipo-card .checklist{display:flex;flex-direction:column;height:100%}
.tipo-card .checklist li{min-height:112px;align-items:flex-start}
@media(max-width:1100px){.tipo-card .checklist li{min-height:124px}}
@media(max-width:700px){.tipo-card .checklist li{min-height:auto}}

/* Tipo-card inline: el <strong> ocupa columna fija para que el valor inicie en la misma X en todas las filas y entre cards */
.tipo-card .checklist li > strong{flex:0 0 165px;min-width:165px;max-width:165px;display:block}
@media(max-width:980px){.tipo-card .checklist li > strong{flex-basis:140px;min-width:140px;max-width:140px}}
@media(max-width:700px){.tipo-card .checklist li > strong{flex-basis:auto;min-width:0;max-width:none}}

/* Stacked: ya está en grid, anular flex */
.tipo-card .checklist.stacked li > strong{flex:none;min-width:0;max-width:none}

/* Checklist stacked: label en su propia línea, descripción debajo. Todas las filas alineadas en una sola columna entre cards. */
.checklist.stacked li{display:grid;grid-template-columns:18px 1fr;gap:4px 12px;align-items:start;padding:14px 0}
.checklist.stacked li::before{grid-row:1 / span 2;align-self:start;padding-top:2px;width:18px}
.checklist.stacked li > strong{grid-column:2;grid-row:1;display:block;font-family:'Cinzel',serif;font-size:13.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--navy);margin-bottom:4px;line-height:1.3}
.checklist.stacked li > span{grid-column:2;grid-row:2;display:block;font-family:'EB Garamond',serif;font-size:16px;line-height:1.6;color:var(--slate);font-weight:500}
.tipo-card .checklist.stacked li{min-height:auto;flex:1 1 auto}
[data-theme="dark"] .checklist.stacked li > strong{color:var(--ui-text)}
[data-theme="dark"] .checklist.stacked li > span{color:var(--ui-text-soft)}
@media(max-width:700px){.checklist.stacked li > strong{font-size:12.5px}.checklist.stacked li > span{font-size:15px}}

/* Info-box de las 3 preguntas: sin cursiva y tipografía más grande */
.tres-preguntas .info-text{font-size:18px;line-height:1.75}
.tres-preguntas .info-text em{font-style:normal}
@media(max-width:700px){.tres-preguntas .info-text{font-size:16.5px}}

/* Regla de cierre de conversación: tipografía más grande y sin cursivas */
.regla-cierre .info-text{font-size:18px;line-height:1.75}
.regla-cierre .info-text em{font-style:normal;font-weight:700}
@media(max-width:700px){.regla-cierre .info-text{font-size:16.5px}}

/* Cursivas en info-text / sec-desc / objeciones: legibles en todos los temas y mobile */
.info-text em, .sec-desc em, .objection-response em{font-style:normal;font-weight:700;color:var(--coralDk)}
[data-theme="dark"] .info-text em, [data-theme="dark"] .sec-desc em, [data-theme="dark"] .objection-response em{color:#FF8A75 !important}

/* ============================================================
   OBJECIONES · tipografía ampliada + jerarquía visual clara
   ============================================================ */
.objections-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px;margin-bottom:28px;align-items:stretch}
.objection-card{background:var(--ui-surface);border:1px solid var(--ui-border);border-left:5px solid var(--coral);border-radius:12px;padding:24px 26px;display:flex;flex-direction:column;gap:14px;box-shadow:0 2px 10px rgba(13,27,42,.04);transition:transform .15s, box-shadow .2s}
.objection-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(13,27,42,.08)}
.objection-card.variant-gold{border-left-color:var(--gold)}
.objection-card.variant-teal{border-left-color:var(--teal)}
.objection-card.variant-pink{border-left-color:var(--capt-pinkDk)}
.objection-card-head{display:flex;align-items:flex-start;gap:12px}
.objection-number{flex-shrink:0;width:34px;height:34px;border-radius:50%;background:var(--coral);color:#FFF;font-family:'Cinzel',serif;font-weight:800;font-size:14px;display:inline-flex;align-items:center;justify-content:center;letter-spacing:.5px}
.objection-card.variant-gold .objection-number{background:var(--gold)}
.objection-card.variant-teal .objection-number{background:var(--teal)}
.objection-card.variant-pink .objection-number{background:var(--capt-pinkDk)}
.objection-tag{font-family:'Cinzel',serif;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:var(--slate);font-weight:700;margin-bottom:6px}
.objection-text{font-family:'EB Garamond',serif;font-size:19.5px;font-weight:700;color:var(--ui-text);line-height:1.45;letter-spacing:.2px}
.objection-response{font-family:'EB Garamond',serif;font-size:18px;color:var(--ui-text);line-height:1.7;font-weight:500;font-style:normal;border-top:1px dashed var(--ui-border);padding-top:14px;margin-top:2px}
.objection-response-label{font-family:'Cinzel',serif;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--coralDk);font-weight:700;font-style:normal;display:block;margin-bottom:8px}
.objection-card.variant-gold .objection-response-label{color:var(--goldDk)}
.objection-card.variant-teal .objection-response-label{color:var(--tealDk)}
.objection-card.variant-pink .objection-response-label{color:var(--capt-pinkDk)}
[data-theme="dark"] .objection-card{background:var(--ui-surface);border-color:var(--ui-border-soft)}
@media(max-width:700px){
  .objections-grid{grid-template-columns:1fr;gap:14px}
  .objection-card{padding:20px 20px}
  .objection-text{font-size:18px}
  .objection-response{font-size:16.5px}
}

/* ============== ADMIN RIBBON ============== */
.admin-ribbon{background:linear-gradient(90deg,#0D1B2A,#1C2E47);color:#F2E4C1;font-family:'DM Sans',sans-serif;font-size:12.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;text-align:center;padding:10px 16px;border-top:1px solid rgba(212,160,23,.4);border-bottom:1px solid rgba(212,160,23,.4)}
[data-theme="dark"] .admin-ribbon{background:linear-gradient(90deg,#1C2E47,#0D1B2A)}

/* ============== INPUT NOMBRE DEL CERTIFICADO ============== */
.cert-name-box{max-width:520px;margin:0 auto 22px;padding:18px 22px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:12px}
.cert-name-label{display:block;font-family:'Cinzel',serif;font-size:11.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--coralDk);margin-bottom:10px}
.cert-name-input{width:100%;padding:12px 14px;font-family:'EB Garamond',serif;font-size:16px;color:var(--ui-text);background:var(--ui-bg);border:1.5px solid var(--ui-border);border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s}
.cert-name-input:focus{border-color:var(--coral);box-shadow:0 0 0 3px rgba(232,93,74,.18)}
.cert-name-hint{font-family:'DM Sans',sans-serif;font-size:12px;color:var(--ui-text-soft);margin-top:8px}

/* ============================================================
   AUDIT VISIBILIDAD 2026-04
   Ajustes de contraste y tamaño tras revisión integral.
   No reemplaza reglas previas; solo refuerza el estado final.
   ============================================================ */

/* 1) <em> de marca: refuerzo de contraste en dark.
   Las reglas existentes ya hacen <em> bold + color de marca, pero el tono
   coral en fondos oscuros baja levemente en contraste. Subimos a un coral
   más claro y aplicamos también a tip-text que antes quedaba fuera. */
[data-theme="dark"] .info-text em,
[data-theme="dark"] .sec-desc em,
[data-theme="dark"] .objection-response em,
[data-theme="dark"] .tip-text em{color:#FFB199 !important;font-weight:700}
.tip-text em{font-style:normal;font-weight:700;color:var(--coralDk)}

/* 2) Mobile: piso de 14px en textos pequeños del cuerpo.
   Algunas reglas previas dejaban tip-text/info-text/checklist en 13.8-14px;
   subimos a 14.5-15.5px en pantallas estrechas para respetar el mínimo. */
@media(max-width:700px){
  .tip-text{font-size:15px;line-height:1.7}
  .info-text{font-size:15px;line-height:1.7}
  .checklist li{font-size:15px;line-height:1.6}
  .funnel-step small{font-size:13px}
  .progress-label{font-size:11.5px}
  .progress-num{font-size:13px}
  .modnav-btn{font-size:12.5px}
  .modnav-btn .mod-n{font-size:11px}
}

/* 3) Cards en dark: reforzar contraste de info-text, tip-text,
   objection-response y checklist contra el fondo de las cards. */
[data-theme="dark"] .info-text,
[data-theme="dark"] .info-text strong{color:#F2F4F9}
[data-theme="dark"] .tip-text{color:#D6DEEC}
[data-theme="dark"] .tip-text strong{color:#F2F4F9}
[data-theme="dark"] .checklist li{color:#ECEFF6}
[data-theme="dark"] .objection-response{color:#ECEFF6}
[data-theme="dark"] .objection-response-label{color:#FFB199}
[data-theme="dark"] .objection-card.variant-gold .objection-response-label{color:#F2C66A}
[data-theme="dark"] .objection-card.variant-teal .objection-response-label{color:#5EEAD4}

/* 4) Foco visible y consistente en todo control interactivo.
   Mejora accesibilidad sin alterar el look base del botón. */
.modnav-btn:focus-visible,
.btn:focus-visible,
.quiz-opt:focus-visible,
a:focus-visible,
.cert-name-input:focus-visible{outline:2px solid var(--coral);outline-offset:2px;box-shadow:0 0 0 3px rgba(232,93,74,.22)}
[data-theme="dark"] .modnav-btn:focus-visible,
[data-theme="dark"] .btn:focus-visible,
[data-theme="dark"] .quiz-opt:focus-visible,
[data-theme="dark"] a:focus-visible{outline-color:#FFB199;box-shadow:0 0 0 3px rgba(255,177,153,.28)}

/* 5) Funnel-step small: legibilidad sobre fondos saturados (la opacidad .9
   sobre color blanco daba ~#E8E8E8 que pierde lectura en pantallas chicas). */
.funnel-step small{opacity:1;color:rgba(255,255,255,.92);font-weight:600}
@media(max-width:700px){.funnel-step small{font-weight:600}}

/* 6) Tipo-card: confirmar colapso correcto del min-height en mobile.
   Reforzamos la regla previa para que no quede atrapada por especificidad. */
@media(max-width:700px){
  .tipo-card .checklist li{min-height:auto !important;align-items:flex-start}
  .tipo-card{padding-bottom:18px}
}

/* 7) Sec-desc en dark: el ui-text-soft #AFBDCE da contraste justo (~6.4)
   sobre ui-bg #0E1621; subimos un peldaño en pantallas chicas. */
@media(max-width:700px){
  [data-theme="dark"] .sec-desc{color:#C9D2DF}
}

/* 8) Modnav locked/done en dark: el ícono debía mantenerse legible. */
[data-theme="dark"] .modnav-btn.locked{color:var(--ui-text-muted)}
[data-theme="dark"] .modnav-btn.done{color:#7FE3A2}

/* 9) Sin cursivas: la fuente serif italic costaba leer en cuerpos largos.
   Neutralizamos la cursiva por defecto del navegador en <em> e <i> y
   cualquier residual inline. La jerarquía se mantiene por color/peso. */
em, i, cite, address, dfn, var{font-style:normal}
[style*="font-style:italic"]{font-style:normal !important}
