/* ============================================================
   BUSINESS BUILDER INDEX · styles.css
   ------------------------------------------------------------
   Estética ejecutiva, minimalista, analítica. Marca Diego Castro.
   Mobile-first (base móvil -> escala a desktop).

   Paleta: Primario #1B2A41 · Secundario #1FC4AD · Acento #F4A261
           Profundidad #344E41 · Fondo #F8F9FA · Texto #2B2D42
   Tipografía: Inter (UI, todos los pesos)
   ============================================================ */

/* ============================================================
   LAYOUT SAGRADO — REGLAS DE CIERRE

   1. CUADRÍCULA PRIMERO. Toda pantalla, export y página respeta
      la retícula (12 col, gutter consistente). Sin excepciones.
   2. ALTURAS FIJAS EN FILAS. Todas las tarjetas de una misma fila
      terminan a la misma altura. Sin excepciones.
   3. CONTENIDO ADAPTATIVO. Si el texto no cabe: se reescribe, se
      resume, se condensa. NUNCA se cambia el layout por el texto.
   4. CERO HUECOS. Sin huecos verticales u horizontales grandes
      entre bloques. Si sobra espacio, se rediseña la fila.
   5. AUDITORÍA VISUAL FINAL. Antes de cerrar cualquier pantalla o
      export: ¿huecos grandes? ¿tarjetas desalineadas? ¿alturas
      distintas en una fila? ¿títulos de +2 líneas? ¿texto huérfano?
      Si alguna es sí, rediseñar antes de finalizar.
   ============================================================ */

:root{
  --brand:          #1B2A41;
  --brand-2:        #26426a;
  --brand-secondary:#1FC4AD;
  --brand-accent:   #F4A261;
  --brand-accent-2: #f7c08a;
  --brand-accent-soft:#FBEEDD;
  --brand-depth:    #344E41;

  --ink:      #2B2D42;
  --ink-soft: #4a4d63;
  --muted:    #838799;
  --line:     #E3E7EC;
  --bg:       #F8F9FA;
  --card:     #FFFFFF;

  --radius: 16px;
  --shadow: 0 12px 44px -20px rgba(27,42,65,.34);
  --font-ui:  "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-narr:"Lora", Georgia, "Times New Roman", serif;
}

*{ box-sizing:border-box; margin:0; padding:0; }
/* El atributo [hidden] debe ganar a reglas de display de autor (.likert{display:grid}, etc.) */
[hidden]{ display:none !important; }
html{ -webkit-text-size-adjust:100%; }
body{
  font-family:var(--font-ui);
  color:var(--ink); background:var(--bg);
  -webkit-font-smoothing:antialiased; line-height:1.5;
}
.app{ min-height:100vh; min-height:100dvh; position:relative; }
a{ color:var(--brand-secondary); }

/* ============================================================
   TOGGLE DE IDIOMA (global, arriba a la derecha)
   ============================================================ */
.lang-toggle{
  position:fixed; top:12px; right:12px; z-index:50;
  display:inline-flex; background:#fff; border:1px solid var(--line);
  border-radius:999px; padding:3px; box-shadow:0 6px 20px -14px rgba(27,42,65,.5);
}
.lang-btn{
  font-family:var(--font-ui); font-size:.74rem; font-weight:700; letter-spacing:.03em;
  border:none; background:transparent; color:var(--muted);
  padding:6px 12px; border-radius:999px; cursor:pointer; min-width:40px;
}
.lang-btn.is-active{ background:var(--brand); color:#fff; }

/* ============================================================
   SCREENS
   ============================================================ */
.screen{ display:none; min-height:100vh; min-height:100dvh; }
.screen--active{ display:block; animation:fadeIn .45s ease; }
@keyframes fadeIn{ from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:none;} }

.brand-kicker{
  font-size:.68rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--muted); font-weight:700;
}

/* Botones ---------------------------------------------------- */
.btn{
  font-family:var(--font-ui); font-size:.95rem; font-weight:600;
  border:1.5px solid transparent; border-radius:999px;
  padding:14px 22px; cursor:pointer; transition:.18s ease;
  background:#fff; color:var(--ink); min-height:48px;
}
.btn:hover{ transform:translateY(-1px); }
.btn:active{ transform:translateY(0); }
.btn:disabled{ opacity:.4; cursor:default; transform:none; }
.btn--primary{ background:var(--brand); color:#fff; }
.btn--primary:hover{ background:var(--brand-2); }
.btn--dark{ background:var(--brand-depth); color:#fff; }
.btn--ghost{ background:transparent; border-color:var(--line); color:var(--ink-soft); }
.btn--ghost:hover{ border-color:var(--muted); }
.btn--lg{ padding:16px 30px; font-size:1rem; width:100%; max-width:360px; }
.btn--sm{ padding:9px 16px; font-size:.82rem; min-height:auto; }

/* ============================================================
   PANTALLA 1 · INTRO + NOMBRE
   ============================================================ */
#screen-intro{ display:none; }
#screen-intro.screen--active{ display:flex; flex-direction:column; justify-content:center; }
.intro{ max-width:780px; margin:0 auto; padding:56px 22px 8px; text-align:center; }
.intro-title{
  font-size:clamp(2.5rem,11vw,4.8rem); line-height:1.02;
  font-weight:800; letter-spacing:-.02em; margin:14px 0 18px;
}
.intro-title span{ color:var(--brand-secondary); }
.intro-sub{ font-size:1.02rem; color:var(--ink-soft); max-width:580px; margin:0 auto 12px; }
.intro-support{
  font-family:var(--font-narr); font-style:italic;
  font-size:1rem; color:var(--ink); max-width:560px; margin:0 auto 26px;
}

.intro-dims{
  display:grid; grid-template-columns:repeat(2,1fr); gap:9px;
  max-width:640px; margin:0 auto 26px;
}
.intro-dim{ border:1px solid var(--line); border-radius:12px; padding:13px 10px; background:#fff; text-align:left; }
.intro-dim__dot{ width:9px; height:9px; border-radius:50%; margin-bottom:7px; }
.intro-dim__name{ font-size:.82rem; font-weight:700; }
.intro-dim__desc{ font-size:.66rem; color:var(--muted); margin-top:3px; line-height:1.35; }

/* Captura de nombre */
.name-block{ max-width:420px; margin:0 auto 24px; text-align:left; }
.name-label{ display:block; font-size:.9rem; font-weight:700; margin-bottom:8px; }
.name-input{
  font-family:var(--font-ui); font-size:1.05rem; padding:14px 16px; min-height:52px;
  border:1.5px solid var(--line); border-radius:12px; width:100%; color:var(--ink); background:#fff;
}
.name-input:focus{ outline:none; border-color:var(--brand-secondary); }
.name-hint{ font-size:.76rem; color:var(--muted); margin-top:8px; line-height:1.4; }
.name-error{ font-size:.8rem; color:#c0392b; font-weight:600; margin-top:6px; min-height:16px; }

.intro-meta{
  list-style:none; display:flex; gap:22px; justify-content:center; margin:0 0 24px;
  color:var(--muted); font-size:.82rem;
}
.intro-meta span{ display:block; font-size:1.4rem; font-weight:800; color:var(--ink); }
.intro-meta em{ font-style:normal; }
.intro-note{ color:var(--muted); font-size:.76rem; margin-top:14px; }

/* Byline discreto */
.byline{
  text-align:center; padding:22px 16px 40px; line-height:1.6;
}
.byline__name{ display:block; font-size:.74rem; font-weight:800; letter-spacing:.18em; color:var(--ink); }
.byline__role{ display:block; font-size:.72rem; color:var(--muted); }
.byline__link{ display:block; font-size:.72rem; color:var(--muted); }
.byline__link a{ font-weight:600; }

/* ============================================================
   PANTALLA 2 · TEST
   ============================================================ */
.test-head{
  max-width:720px; margin:0 auto; padding:20px 22px 0;
  display:flex; justify-content:space-between; align-items:center;
}
.test-head__brand{ font-weight:800; font-size:.72rem; letter-spacing:.16em; }
.test-head__count{ color:var(--muted); font-size:.84rem; font-weight:600; }
.test-head__count span:first-child{ color:var(--brand); }

.progress{ max-width:720px; margin:14px auto 0; padding:0 22px; position:relative; }
.progress::before{
  content:""; position:absolute; left:22px; right:22px; top:0; height:6px;
  background:var(--line); border-radius:999px;
}
.progress__bar{
  position:relative; z-index:1; height:6px; width:0%;
  background:linear-gradient(90deg,var(--brand),var(--brand-secondary));
  border-radius:999px; transition:width .35s cubic-bezier(.4,0,.2,1);
}

.question-wrap{
  max-width:640px; margin:0 auto; padding:34px 22px; min-height:46vh;
  display:flex; align-items:center;
}
.question-card{ width:100%; animation:qIn .35s ease; }
@keyframes qIn{ from{opacity:0; transform:translateX(12px);} to{opacity:1; transform:none;} }
.question-eyebrow{
  font-size:.68rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted); font-weight:700; margin-bottom:12px;
}
.question-text{
  font-size:clamp(1.3rem,5.4vw,1.9rem); font-weight:700;
  letter-spacing:-.01em; line-height:1.32; margin-bottom:26px;
}
.is-scenario .question-eyebrow{ color:var(--brand-secondary); }

/* Escala Likert */
.likert{ display:grid; grid-template-columns:repeat(5,1fr); gap:8px; }
.likert-btn{
  aspect-ratio:1/1; min-height:56px; border:1.5px solid var(--line); border-radius:14px;
  background:#fff; font-size:1.1rem; font-weight:700; color:var(--ink-soft);
  cursor:pointer; transition:.16s ease; display:flex; align-items:center; justify-content:center;
  -webkit-tap-highlight-color:transparent;
}
.likert-btn:hover{ border-color:var(--brand-secondary); color:var(--brand); }
.likert-btn.is-selected{
  background:var(--brand); color:#fff; border-color:var(--brand);
  box-shadow:0 8px 22px -10px rgba(27,42,65,.7); transform:translateY(-2px);
}
.likert-legend{
  display:flex; justify-content:space-between; margin-top:11px;
  color:var(--muted); font-size:.68rem;
}

/* Opciones de escenario */
.scenario-options{ display:flex; flex-direction:column; gap:10px; }
.scenario-opt{
  display:flex; align-items:center; gap:12px; text-align:left;
  border:1.5px solid var(--line); border-radius:14px; background:#fff;
  padding:14px 16px; cursor:pointer; transition:.16s ease; color:var(--ink);
  font-family:var(--font-ui); font-size:.96rem; line-height:1.35;
  -webkit-tap-highlight-color:transparent;
}
.scenario-opt:hover{ border-color:var(--brand-secondary); }
.scenario-opt.is-selected{
  border-color:var(--brand); background:rgba(27,42,65,.04);
  box-shadow:0 8px 22px -14px rgba(27,42,65,.6);
}
.scenario-opt__key{
  flex:0 0 auto; width:28px; height:28px; border-radius:8px;
  background:var(--bg); border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:.82rem; color:var(--brand);
}
.scenario-opt.is-selected .scenario-opt__key{ background:var(--brand); color:#fff; border-color:var(--brand); }

.test-foot{
  max-width:640px; margin:0 auto; padding:0 22px 36px;
  display:flex; flex-wrap:wrap; align-items:center; gap:14px;
}
.test-foot__hint{ color:var(--muted); font-size:.76rem; flex:1 1 100%; order:3; }
#btn-see-result{ margin-left:auto; }

/* ============================================================
   PANTALLA 3 · RESULTADOS
   ============================================================ */
.results{ max-width:980px; margin:0 auto; padding:34px 18px 0; }
.results-head{ text-align:center; margin-bottom:26px; }
.res-name{ font-size:1rem; font-weight:700; color:var(--ink); margin:10px 0 6px; }
.res-dna{ font-size:clamp(1.8rem,8vw,3.2rem); font-weight:800; letter-spacing:-.02em; line-height:1.05; }
.res-dna span{ color:var(--muted); font-weight:700; font-size:.5em; letter-spacing:0; display:block; margin-bottom:2px; }
.res-dna b{ color:var(--brand); }
.res-headline{ color:var(--brand-accent); font-weight:700; font-size:1.02rem; margin-top:8px; }
.res-tags{ color:var(--muted); font-size:.9rem; margin-top:10px; }
.res-tags b{ color:var(--ink); }

.results-grid{ display:grid; grid-template-columns:1fr; gap:16px; margin-bottom:16px; }

.card{
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  padding:20px; box-shadow:var(--shadow);
}
.card-title{
  font-size:.72rem; letter-spacing:.13em; text-transform:uppercase;
  color:var(--muted); font-weight:700; margin-bottom:16px;
}
.radar-wrap{ position:relative; height:280px; }

/* Cajitas de dimensión */
.dim-boxes{ display:flex; flex-direction:column; gap:10px; }
.dim-box{ border:1px solid var(--line); border-radius:12px; padding:12px 14px; }
.dim-box.is-dominant{ border-color:var(--brand-accent); box-shadow:0 0 0 1px var(--brand-accent) inset; }
.dim-box__head{ display:flex; align-items:center; gap:8px; }
.dim-box__dot{ width:9px; height:9px; border-radius:50%; flex:0 0 auto; }
.dim-box__name{ font-weight:700; font-size:.9rem; }
.dim-box__score{ margin-left:auto; font-size:.8rem; font-weight:600; color:var(--muted); }
.dim-box__band{ font-size:1.05rem; font-weight:800; letter-spacing:-.01em; margin:2px 0 4px; }
.dim-box__text{ font-size:.82rem; color:var(--ink-soft); line-height:1.45; }

/* Narrativa */
.card--story .story-head{
  font-size:.72rem; letter-spacing:.13em; text-transform:uppercase;
  color:var(--muted); font-weight:700; margin-bottom:14px;
}
.res-bullets{ list-style:none; margin-bottom:16px; }
.res-bullets li{
  font-family:var(--font-narr); font-size:1.08rem; line-height:1.5; color:var(--ink);
  padding:6px 0 6px 20px; position:relative; font-weight:500;
}
.res-bullets li::before{ content:""; position:absolute; left:0; top:15px; width:7px; height:7px; border-radius:50%; background:var(--brand-accent); }
.res-modifier{ font-size:.95rem; color:var(--ink-soft); line-height:1.5; padding-top:6px; border-top:1px solid var(--line); }
.res-scenario-line{
  margin-top:12px; font-size:.92rem; color:var(--brand); font-weight:600; line-height:1.5;
  background:var(--brand-accent-soft); border-radius:12px; padding:12px 14px;
}

.story-cols{ display:grid; grid-template-columns:1fr; gap:16px; margin:16px 0; }
.story-block h4{
  font-size:.68rem; letter-spacing:.11em; text-transform:uppercase;
  color:var(--muted); margin-bottom:10px; font-weight:700;
}
.story-block p{ font-size:.9rem; color:var(--ink-soft); line-height:1.5; }
.res-roles{ display:flex; flex-wrap:wrap; gap:8px; }
.role-chip{
  font-size:.8rem; font-weight:600; color:var(--brand);
  background:var(--bg); border:1px solid var(--line); border-radius:999px; padding:6px 12px;
}

/* Mapa de posicionamiento */
.card--map{ margin-bottom:16px; }
.positioning-map{ max-width:420px; margin:0 auto; }
.map-note{ text-align:center; font-size:.76rem; color:var(--muted); margin-top:10px; }

/* Acciones */
.actions{ display:flex; flex-wrap:wrap; gap:11px; justify-content:center; margin-top:22px; }
.actions .btn{ flex:1 1 100%; }
.actions--secondary{ margin-top:8px; }
.export-status{ text-align:center; color:var(--muted); font-size:.82rem; min-height:20px; margin-top:12px; }

/* LinkedIn */
.card--linkedin{ margin-top:16px; }
.linkedin-head{ display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:12px; }
.linkedin-head .card-title{ margin-bottom:0; }
.res-linkedin{
  font-size:.95rem; line-height:1.55; color:var(--ink-soft); white-space:pre-line;
  background:var(--bg); border:1px dashed var(--line); border-radius:12px; padding:16px;
}

/* Email opcional */
.card--email{ margin-top:18px; border-color:var(--brand-secondary); }
.email-lead{ font-size:.92rem; color:var(--ink-soft); margin-bottom:14px; }
.email-row{ display:flex; flex-direction:column; gap:10px; }
.email-row input[type="email"]{
  font-family:var(--font-ui); font-size:1rem; padding:14px 16px; min-height:50px;
  border:1.5px solid var(--line); border-radius:12px; width:100%; color:var(--ink);
}
.email-row input[type="email"]:focus{ outline:none; border-color:var(--brand-secondary); }
.email-feedback{ font-size:.85rem; margin-top:10px; min-height:18px; }
.email-feedback.is-ok{ color:var(--brand-secondary); font-weight:600; }
.email-feedback.is-err{ color:#c0392b; font-weight:600; }
.email-privacy{ font-size:.72rem; color:var(--muted); margin-top:10px; line-height:1.4; }
.hp-field{ position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }

/* Footer de atribución */
.res-footer{ text-align:center; padding:26px 16px 44px; line-height:1.7; }
.res-footer p{ font-size:.78rem; color:var(--muted); }
.res-footer a{ font-weight:600; }

/* ============================================================
   BREAKPOINTS -> tablet / desktop
   ============================================================ */
@media (min-width:600px){
  .intro-dims{ grid-template-columns:repeat(5,1fr); }
  .intro-dim{ text-align:center; }
  .intro-dim__dot{ margin:0 auto 7px; }
  .actions .btn{ flex:0 1 auto; }
}
@media (min-width:820px){
  .intro{ padding-top:72px; }
  .intro-sub{ font-size:1.1rem; }
  .results{ padding:44px 24px 0; }
  .results-grid{ grid-template-columns:1.05fr .95fr; }
  .story-cols{ grid-template-columns:repeat(3,1fr); }
  .card{ padding:24px; }
  .radar-wrap{ height:320px; }
  .email-row{ flex-direction:row; }
  .email-row input[type="email"]{ flex:1; }
  .email-row .btn{ flex:0 0 auto; }
}

/* ============================================================
   NODOS DE EXPORTACIÓN (ocultos offscreen, 1080px de ancho)
   Se renderizan fuera del viewport (NO display:none) para que
   html2canvas los capture a scale:3. Tamaños en px absolutos.
   ============================================================ */
#export-stage{ position:fixed; left:-20000px; top:0; }
.export-card{
  width:1080px; background:#fff; color:var(--ink);
  padding:88px 84px 76px; font-family:var(--font-ui); position:relative; overflow:hidden;
}
.export-card--image{ height:1620px; }   /* pieza liviana (Delta 15 · 2:3) */
.export-card--pdf{ min-height:1350px; } /* pieza completa, alto variable */
.export-card::before{
  content:""; position:absolute; left:0; right:0; top:0; height:12px;
  background:linear-gradient(90deg,var(--brand),var(--brand-secondary) 60%,var(--brand-accent));
}

.exp-kicker{ font-size:19px; letter-spacing:.3em; text-transform:uppercase; color:var(--muted); font-weight:800; }
.exp-name{ font-size:30px; font-weight:700; color:var(--ink); margin-top:26px; }
.exp-dna{ font-size:26px; color:var(--muted); font-weight:600; margin-top:6px; }
.exp-dna b{ color:var(--brand); font-size:60px; font-weight:800; letter-spacing:-.02em; display:block; margin-top:2px; }
.exp-headline{ color:var(--brand-accent); font-weight:700; font-size:30px; margin-top:8px; }
.exp-tags{ font-size:23px; color:var(--muted); margin-top:16px; }
.exp-tags b{ color:var(--ink); }

.exp-radar{ position:relative; width:100%; height:560px; margin:24px 0 8px; display:flex; justify-content:center; }
.exp-radar canvas{ max-width:100%; }

.exp-dims{ display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin-top:14px; }
.exp-dim{ border:1px solid var(--line); border-radius:14px; padding:16px 12px; text-align:center; }
.exp-dim.is-dominant{ border-color:var(--brand-accent); box-shadow:0 0 0 2px var(--brand-accent) inset; }
.exp-dim__top{ display:flex; flex-direction:column; align-items:center; gap:2px; }
.exp-dim__name{ font-size:20px; font-weight:800; }
.exp-dim__score{ font-size:15px; color:var(--muted); font-weight:600; }
.exp-dim__band{ font-size:22px; font-weight:800; margin-top:8px; color:var(--ink); }

.exp-section-title{ font-size:17px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); font-weight:800; margin:40px 0 16px; }
.exp-bullets{ list-style:none; }
.exp-bullets li{ font-family:var(--font-narr); font-size:27px; line-height:1.45; color:var(--ink); padding:8px 0 8px 26px; position:relative; font-weight:500; }
.exp-bullets li::before{ content:""; position:absolute; left:0; top:19px; width:9px; height:9px; border-radius:50%; background:var(--brand-accent); }
.exp-modifier{ font-size:23px; color:var(--ink-soft); line-height:1.45; margin-top:12px; }
.exp-scenario{ font-size:23px; color:var(--brand); font-weight:600; line-height:1.45; margin-top:20px; background:var(--brand-accent-soft); border-radius:16px; padding:22px 26px; }
.exp-two{ display:grid; grid-template-columns:1fr 1fr; gap:36px; }
.exp-p{ font-size:23px; color:var(--ink-soft); line-height:1.45; }
.exp-roles{ display:flex; flex-wrap:wrap; gap:12px; }
.exp-role{ font-size:21px; font-weight:600; color:var(--brand); background:var(--bg); border:1px solid var(--line); border-radius:999px; padding:12px 22px; }
.exp-map{ max-width:640px; margin:8px auto 0; }
.exp-mapnote{ text-align:center; font-size:18px; color:var(--muted); margin-top:12px; }

.exp-qr{ position:absolute; top:84px; right:84px; width:132px; height:132px; }
.exp-qr--pdf{ position:static; display:block; width:150px; height:150px; margin:44px auto 0; }

.exp-footer{ margin-top:48px; border-top:1px solid var(--line); padding-top:26px; }
.export-card--image .exp-footer{ position:absolute; left:84px; right:84px; bottom:60px; }
.exp-footer__sig{ font-size:19px; color:var(--ink); font-weight:600; }
.exp-footer__contact{ font-size:17px; color:var(--muted); margin-top:6px; }


/* ============================================================
   ============  REDISEÑO v2 (póster de resultado)  ===========
   ============================================================ */

/* Wordmark de marca (icono + BBI + BUSINESS BUILDER INDEX) */
.bbi-mark{ display:inline-flex; align-items:center; gap:9px; }
.bbi-mark__icon{ display:inline-flex; }
.bbi-mark__bbi{ font-weight:800; font-size:1.5rem; letter-spacing:.02em; }
.bbi-mark__div{ width:1px; height:24px; }
.bbi-mark__full{ font-size:.56rem; font-weight:700; letter-spacing:.18em; line-height:1.25; }

#intro-brand{ display:inline-flex; justify-content:center; margin-bottom:2px; }
.test-head__brand .bbi-mark__bbi{ font-size:1.05rem; }
.test-head__brand .bbi-mark__icon svg{ width:22px; height:22px; }
.test-head__brand .bbi-mark__div{ height:18px; }

/* ---------- documento / póster ---------- */
.result-doc{
  max-width:1000px; margin:0 auto 20px; background:#fff;
  border:1px solid var(--line); border-radius:20px; overflow:hidden; box-shadow:var(--shadow);
}

/* Header navy */
.rd-header{ background:linear-gradient(160deg,#1B2A41 0%,#12233b 55%,#123a6b 120%); color:#fff; padding:22px 22px 26px; }
.rd-header__top{ display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:20px; }
.rd-header__body{ display:grid; grid-template-columns:1fr; gap:20px; }
.rd-meta{ text-align:right; flex:0 0 auto; }
.rd-meta__tag{ font-size:.6rem; font-weight:800; letter-spacing:.16em; color:rgba(255,255,255,.75); }
.rd-meta__date{ font-size:.72rem; color:rgba(255,255,255,.6); margin-top:2px; }
.rd-meta__id{ display:inline-block; margin-top:6px; font-size:.6rem; font-weight:700; letter-spacing:.06em; border:1px solid rgba(255,255,255,.3); border-radius:999px; padding:2px 9px; }
.rd-name{ color:#6FE3D3; font-weight:700; font-size:1.1rem; }
.rd-dna{ color:rgba(255,255,255,.72); font-weight:600; font-size:.98rem; margin-top:8px; }
.rd-profile{ font-size:clamp(1.9rem,7vw,3rem); font-weight:800; letter-spacing:-.02em; line-height:1.03; }
.rd-headline{ color:var(--brand-accent); font-weight:700; font-size:1.05rem; margin-top:6px; }
.rd-synth{ color:rgba(255,255,255,.82); font-size:.92rem; line-height:1.5; margin-top:12px; max-width:56ch; }
.rd-minis{ display:grid; grid-template-columns:1fr; gap:10px; margin-top:18px; }
.rd-mini{ display:flex; gap:10px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.13); border-radius:12px; padding:12px; }
.rd-mini__ic{ flex:0 0 auto; }
.rd-mini__label{ font-size:.56rem; font-weight:800; letter-spacing:.12em; color:rgba(255,255,255,.66); }
.rd-mini__txt{ font-size:.78rem; color:#fff; line-height:1.4; margin-top:3px; }
.rd-score{ background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.14); border-radius:16px; padding:18px 20px; }
.rd-score__title{ font-size:.62rem; font-weight:800; letter-spacing:.14em; color:rgba(255,255,255,.72); }
.rd-score__num{ font-size:3.6rem; font-weight:800; line-height:1; color:#6FE3D3; margin-top:6px; }
.rd-score__num span{ font-size:1.3rem; color:rgba(255,255,255,.7); font-weight:700; }
.rd-score__level{ display:inline-block; margin-top:12px; font-size:.78rem; border:1px solid rgba(111,227,211,.55); color:#6FE3D3; border-radius:999px; padding:4px 13px; font-weight:700; }
.rd-score__level b{ color:#fff; }
.rd-score__bar{ height:8px; background:rgba(255,255,255,.15); border-radius:999px; margin:16px 0 10px; overflow:hidden; }
.rd-score__bar span{ display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,var(--brand-secondary),var(--brand-accent)); }
.rd-score__range{ font-size:.76rem; color:rgba(255,255,255,.82); line-height:1.4; }
.rd-score__basis{ font-size:.68rem; color:rgba(255,255,255,.55); margin-top:8px; }

/* Secciones cuerpo */
.rd-section{ padding:20px 22px; }
.rd-card{ background:#fff; border:1px solid var(--line); border-radius:16px; padding:18px; }
.rd-card__title{ font-size:.7rem; letter-spacing:.13em; text-transform:uppercase; color:var(--muted); font-weight:800; margin-bottom:14px; }
.rd-section__title{ padding:0; }
.rd-grid2{ display:grid; grid-template-columns:1fr; gap:16px; }
.rd-grid3{ display:grid; grid-template-columns:1fr; gap:16px; }
.rd-legend{ display:flex; align-items:center; gap:8px; justify-content:center; font-size:.78rem; color:var(--muted); margin-top:8px; }
.rd-legend__dot{ width:10px; height:10px; border-radius:50%; background:#1B2A41; }

.rd-brk-list{ display:flex; flex-direction:column; gap:14px; }
.rd-brk{ display:flex; gap:12px; }
.dim-badge{ display:inline-flex; align-items:center; justify-content:center; border-radius:12px; }
.rd-brk__mid{ flex:1; min-width:0; }
.rd-brk__head{ display:flex; align-items:baseline; gap:8px; }
.rd-brk__name{ font-weight:800; font-size:.95rem; }
.rd-brk__fn{ font-size:.72rem; color:var(--muted); }
.rd-brk__score{ margin-left:auto; font-weight:800; font-size:1.15rem; }
.rd-brk__score small{ font-size:.62rem; color:var(--muted); font-weight:600; }
.rd-brk__bar{ height:8px; background:var(--line); border-radius:999px; overflow:hidden; margin:7px 0; }
.rd-brk__bar span{ display:block; height:100%; border-radius:999px; }
.rd-brk__desc{ font-size:.82rem; color:var(--ink-soft); line-height:1.45; }

.rd-list{ list-style:none; display:flex; flex-direction:column; gap:11px; }
.rd-list li{ display:flex; gap:10px; align-items:flex-start; font-size:.88rem; color:var(--ink-soft); line-height:1.42; }
.rd-list li svg{ flex:0 0 auto; margin-top:1px; }
.rd-roles{ display:flex; flex-wrap:wrap; gap:8px; }

.rd-plan{ display:grid; grid-template-columns:1fr; gap:12px; }
.rd-step{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px; }
.rd-step__n{ width:30px; height:30px; border-radius:50%; color:#fff; font-weight:800; display:flex; align-items:center; justify-content:center; font-size:.9rem; }
.rd-step__title{ font-weight:800; font-size:.92rem; margin:10px 0 5px; }
.rd-step__line{ font-size:.82rem; color:var(--ink-soft); line-height:1.45; }
.rd-step__arrow{ text-align:center; color:var(--muted); }

.rd-quote{ margin:20px 22px; border-radius:18px; padding:26px 24px; color:#fff;
  background:linear-gradient(120deg,#12233b 0%,#1B2A41 45%,#1c5c54 120%);
  display:grid; grid-template-columns:1fr; gap:20px; }
.rd-quote__mark{ font-family:var(--font-narr); font-size:2.6rem; color:#6FE3D3; line-height:1; display:block; }
.rd-quote__text{ font-family:var(--font-narr); font-size:1.28rem; line-height:1.4; margin:2px 0 10px; }
.rd-quote__author{ color:rgba(255,255,255,.7); font-size:.85rem; }
.rd-quote__cta-title{ font-weight:800; font-size:1.05rem; }
.rd-quote__cta-sub{ color:rgba(255,255,255,.72); font-size:.85rem; margin:6px 0 12px; }
.rd-share{ background:#fff; color:var(--brand); font-weight:700; display:inline-flex; align-items:center; gap:8px; }
.rd-share svg{ background:#0A66C2; border-radius:4px; padding:2px; }

.rd-doc-footer{ border-top:1px solid var(--line); padding:18px 22px; display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; justify-content:space-between; }
.rd-doc-footer .bbi-mark__bbi{ font-size:1.05rem; }
.rd-doc-footer .bbi-mark__icon svg{ width:22px; height:22px; }
.rd-doc-footer .bbi-mark__div{ height:18px; }
.rd-doc-footer__mid{ font-size:.74rem; color:var(--muted); text-align:center; flex:1; min-width:180px; }
.rd-doc-footer__domain{ font-size:.78rem; font-weight:800; color:var(--brand-secondary); }

@media (min-width:600px){ .rd-minis{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:720px){
  .rd-plan{ grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; align-items:start; }
  .rd-plan .rd-step__arrow{ align-self:center; }
}
@media (min-width:820px){
  .rd-header{ padding:26px 30px 30px; }
  .rd-header__body{ grid-template-columns:1.35fr .65fr; }
  .rd-section{ padding:22px 30px; }
  .rd-grid2{ grid-template-columns:1fr 1fr; }
  .rd-grid3{ grid-template-columns:1fr 1fr 1fr; }
  .rd-quote{ margin:22px 30px; grid-template-columns:1.05fr .95fr; align-items:center; }
}

/* ============================================================
   EXPORT v2 · nodos ocultos (imagen 1080 · pdf 1080 · mapa 1500)
   ============================================================ */
.export-card--map{ width:1500px; }
.export-card--image, .export-card--pdf, .export-card--map{ padding:0; }
.export-card--image::before, .export-card--pdf::before, .export-card--map::before{ display:none; }
.exp-accent{ height:10px; background:linear-gradient(90deg,#1B2A41,#1FC4AD 60%,#F4A261); }

.exp-header{ background:linear-gradient(160deg,#1B2A41 0%,#12233b 55%,#123a6b 120%); color:#fff; padding:56px 64px 48px; position:relative; }
.exp-header__top{ display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:30px; }
.export-card--map .exp-header__top{ padding:52px 60px 0; margin-bottom:6px; }
.exp-meta{ text-align:right; }
.exp-meta__tag{ font-size:14px; font-weight:800; letter-spacing:.16em; color:rgba(255,255,255,.75); }
.export-card--map .exp-meta__tag{ color:var(--muted); }
.exp-meta__d{ font-size:15px; color:rgba(255,255,255,.6); margin-top:3px; }
.export-card--map .exp-meta__d{ color:var(--muted); }
.exp-meta__id{ display:inline-block; margin-top:7px; font-size:13px; font-weight:700; border:1px solid rgba(255,255,255,.3); border-radius:999px; padding:3px 12px; }
.export-card--map .exp-meta__id{ border-color:var(--line); color:var(--ink); }
.exp-name{ color:#6FE3D3; font-weight:700; font-size:26px; }
.exp-dna{ color:rgba(255,255,255,.72); font-size:22px; margin-top:8px; }
.exp-profile{ font-size:58px; font-weight:800; letter-spacing:-.02em; line-height:1.02; }
.exp-headline{ color:var(--brand-accent); font-weight:700; font-size:26px; margin-top:8px; }
.exp-header__grid{ display:grid; grid-template-columns:1.4fr .6fr; gap:30px; margin-top:8px; }
.exp-minis{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:26px; }
.exp-mini{ display:flex; gap:10px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.13); border-radius:14px; padding:14px; }
.exp-mini__l{ font-size:12px; font-weight:800; letter-spacing:.1em; color:rgba(255,255,255,.66); }
.exp-mini__t{ font-size:15px; color:#fff; line-height:1.35; margin-top:4px; }
.exp-score{ background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.14); border-radius:18px; padding:26px; }
.exp-score__t{ font-size:14px; font-weight:800; letter-spacing:.13em; color:rgba(255,255,255,.72); }
.exp-score__n{ font-size:74px; font-weight:800; line-height:1; color:#6FE3D3; margin-top:8px; }
.exp-score__n span{ font-size:28px; color:rgba(255,255,255,.7); }
.exp-score__lvl{ display:inline-block; margin-top:14px; border:1px solid rgba(111,227,211,.55); color:#6FE3D3; border-radius:999px; padding:6px 16px; font-weight:700; font-size:17px; }
.exp-score__lvl b{ color:#fff; }
.exp-score__bar{ height:10px; background:rgba(255,255,255,.15); border-radius:999px; margin:20px 0 12px; overflow:hidden; }
.exp-score__bar span{ display:block; height:100%; background:linear-gradient(90deg,var(--brand-secondary),var(--brand-accent)); }
.exp-score__range{ font-size:16px; color:rgba(255,255,255,.82); line-height:1.4; }
.exp-qr{ position:absolute; top:52px; right:64px; width:110px; height:110px; }

.export-card--image{ height:1620px; overflow:hidden; }
.exp-two{ display:grid; grid-template-columns:1fr 1fr; gap:22px; padding:40px 64px; }
.exp-two--img{ align-items:start; padding:34px 60px; }
.exp-radar--img{ height:430px; }
.exp-brkc-list{ display:flex; flex-direction:column; gap:18px; }
.exp-brkc{ display:flex; gap:14px; align-items:center; }
.exp-brkc__mid{ flex:1; min-width:0; }
.exp-brkc__head{ display:flex; align-items:baseline; gap:10px; }
.exp-brkc__head b{ font-size:21px; }
.exp-brkc__fn{ font-size:14px; color:var(--muted); }
.exp-brkc__sc{ margin-left:auto; font-weight:800; font-size:24px; }
.exp-brkc__sc small{ font-size:13px; color:var(--muted); }
.exp-brkc__bar{ height:10px; background:var(--line); border-radius:999px; overflow:hidden; margin-top:9px; }
.exp-brkc__bar span{ display:block; height:100%; }
.exp-three{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:22px; padding:0 64px 6px; }
.exp-panel{ background:#fff; border:1px solid var(--line); border-radius:18px; padding:26px; }
.exp-ptitle{ font-size:15px; letter-spacing:.13em; text-transform:uppercase; color:var(--muted); font-weight:800; margin-bottom:18px; }
.exp-radar{ height:520px; display:flex; justify-content:center; }
.exp-radar canvas{ max-width:100%; }
.exp-legend{ display:flex; align-items:center; gap:9px; justify-content:center; color:var(--muted); font-size:16px; margin-top:10px; }
.exp-legend span{ width:12px; height:12px; border-radius:50%; background:#1B2A41; }
.exp-brk{ display:flex; gap:16px; margin-bottom:20px; }
.exp-brk__mid{ flex:1; min-width:0; }
.exp-brk__head{ display:flex; align-items:baseline; gap:10px; }
.exp-brk__head b{ font-size:22px; }
.exp-brk__fn{ font-size:15px; color:var(--muted); }
.exp-brk__sc{ margin-left:auto; font-weight:800; font-size:26px; }
.exp-brk__sc small{ font-size:14px; color:var(--muted); }
.exp-brk__bar{ height:10px; background:var(--line); border-radius:999px; overflow:hidden; margin:9px 0; }
.exp-brk__bar span{ display:block; height:100%; }
.exp-brk__desc{ font-size:17px; color:var(--ink-soft); line-height:1.4; }
.exp-list{ list-style:none; display:flex; flex-direction:column; gap:14px; }
.exp-list li{ display:flex; gap:12px; font-size:18px; color:var(--ink-soft); line-height:1.4; }
.exp-list li svg{ flex:0 0 auto; margin-top:2px; }
.exp-roles{ display:flex; flex-wrap:wrap; gap:12px; }
.exp-role{ font-size:18px; font-weight:600; color:var(--brand); background:var(--bg); border:1px solid var(--line); border-radius:999px; padding:11px 20px; }
.exp-plantitle{ padding:24px 64px 0; }
.exp-plan{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding:16px 64px 20px; }
.exp-step{ background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px; }
.exp-step__n{ width:40px; height:40px; border-radius:50%; color:#fff; font-weight:800; font-size:20px; display:flex; align-items:center; justify-content:center; }
.exp-step__t{ font-weight:800; font-size:20px; margin:14px 0 8px; }
.exp-step__l{ font-size:16px; color:var(--ink-soft); line-height:1.45; }
.exp-quote{ margin:20px 64px 30px; border-radius:22px; padding:44px 48px; color:#fff;
  background:linear-gradient(120deg,#12233b,#1B2A41 45%,#1c5c54 120%);
  display:grid; grid-template-columns:1.35fr .65fr; gap:30px; align-items:center; }
.exp-quote__m{ font-family:var(--font-narr); font-size:56px; color:#6FE3D3; line-height:1; display:block; }
.exp-quote__tx{ font-family:var(--font-narr); font-size:30px; line-height:1.35; margin:4px 0 12px; }
.exp-quote__au{ color:rgba(255,255,255,.7); font-size:19px; }
.exp-quote__ct{ font-weight:800; font-size:24px; }
.exp-quote__cs{ color:rgba(255,255,255,.72); font-size:18px; margin:8px 0 16px; }
.exp-quote__btn{ display:inline-block; background:#fff; color:#1B2A41; font-weight:700; border-radius:999px; padding:14px 26px; font-size:19px; }
.exp-foot{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:26px 64px 46px; border-top:1px solid var(--line); }
.exp-foot__mid{ font-size:17px; color:var(--muted); text-align:center; flex:1; }
.exp-foot__dom{ font-size:18px; font-weight:800; color:var(--brand-secondary); }

/* Mapa (página landscape 1500) */
.exp-map3{ display:grid; grid-template-columns:1fr 1.15fr 1fr; gap:26px; padding:26px 60px 14px; }
.exp-mapcol{ display:flex; flex-direction:column; gap:16px; }
.exp-eyebrow{ font-size:15px; letter-spacing:.16em; font-weight:800; color:var(--muted); }
.exp-maptitle{ font-size:38px; font-weight:800; line-height:1.08; letter-spacing:-.01em; color:var(--brand); }
.exp-mapsub{ color:var(--brand-accent); font-weight:700; font-size:20px; }
.exp-mappar{ font-size:17px; color:var(--ink-soft); line-height:1.5; }
.exp-mcard{ background:#fff; border:1px solid var(--line); border-radius:16px; padding:20px; }
.exp-mcard__l{ display:flex; align-items:center; gap:10px; font-size:14px; font-weight:800; letter-spacing:.1em; color:var(--muted); }
.exp-mcard__l2{ font-size:14px; font-weight:800; letter-spacing:.1em; color:var(--muted); margin-bottom:10px; display:flex; align-items:center; gap:8px; }
.exp-mcard__name{ font-size:26px; font-weight:800; margin:8px 0 6px; }
.exp-mcard p{ font-size:16px; color:var(--ink-soft); line-height:1.45; }
.exp-mquote{ font-family:var(--font-narr); font-style:italic; }
.exp-mcard--dark{ background:linear-gradient(135deg,#12233b,#1B2A41); color:#fff; border-color:transparent; }
.exp-mcard--dark .exp-mcard__l2{ color:#6FE3D3; }
.exp-mcard--dark p{ color:rgba(255,255,255,.85); }
.exp-mcard--key{ background:var(--bg); }
.exp-mapcenter{ display:flex; flex-direction:column; align-items:center; justify-content:flex-start; }
.exp-mapcap{ font-size:16px; color:var(--muted); margin-bottom:6px; }
.exp-mapsvg{ width:100%; }
.exp-maplegend{ font-size:16px; color:var(--ink-soft); margin-top:8px; }
.exp-maplegend .l1{ color:var(--brand-accent); }
.exp-maplegend .l2{ color:#C2C8D2; }
.exp-interp{ display:flex; gap:12px; margin-bottom:14px; }
.exp-interp__l{ font-weight:800; font-size:16px; }
.exp-interp__d{ font-size:14px; color:var(--ink-soft); line-height:1.4; }
.exp-detail{ display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.exp-detail__n{ width:74px; font-weight:700; font-size:16px; }
.exp-detail__bar{ flex:1; height:10px; background:var(--line); border-radius:999px; overflow:hidden; }
.exp-detail__bar span{ display:block; height:100%; }
.exp-detail__s{ font-weight:800; font-size:16px; width:30px; text-align:right; }


/* ============================================================
   v2.1 · COMPACTACIÓN + FIDELIDAD A LA REFERENCIA
   ============================================================ */

/* --- Póster on-screen: densidad como la referencia --- */
.result-doc{ max-width:1024px; }
.rd-header{ padding:22px 28px 24px; }
.rd-header__top{ margin-bottom:16px; }
.rd-name{ font-size:1.05rem; }
.rd-dna{ margin-top:4px; font-size:.92rem; }
.rd-profile{ font-size:clamp(1.9rem,6.6vw,2.9rem); }
.rd-headline{ font-size:1.02rem; margin-top:5px; }
.rd-synth{ margin-top:10px; font-size:.86rem; line-height:1.45; max-width:60ch; }
.rd-minis{ margin-top:14px; gap:9px; }
.rd-mini{ padding:11px; }
.rd-mini__txt{ font-size:.75rem; }
.rd-score{ padding:16px 18px; }
.rd-score__num{ font-size:3.2rem; }
.rd-section{ padding:15px 28px; }
.rd-grid2, .rd-grid3{ gap:13px; }
.rd-card{ padding:16px; }
.rd-card__title{ margin-bottom:12px; }
.radar-wrap{ height:250px; }
.rd-brk-list{ gap:11px; }
.rd-brk__desc{ font-size:.79rem; line-height:1.38; }
.rd-list{ gap:9px; }
.rd-list li{ font-size:.83rem; line-height:1.38; }
.rd-plan{ gap:11px; }
.rd-step{ padding:14px; }
.rd-quote{ margin:15px 28px 6px; padding:22px 24px; }
.rd-doc-footer{ padding:15px 28px; }

/* Barra de puntaje con marcador + ticks (como la referencia) */
.rd-score__bar{ position:relative; }
.rd-score__bar i{ position:absolute; top:50%; width:14px; height:14px; border-radius:50%; background:#fff; border:3px solid var(--brand-accent); transform:translate(-50%,-50%); box-shadow:0 2px 6px rgba(0,0,0,.35); }
.rd-score__ticks{ display:flex; justify-content:space-between; font-size:.66rem; color:rgba(255,255,255,.6); margin:3px 0 8px; }
.rd-score__ticks b{ color:var(--brand-accent); font-weight:800; }
.exp-score__bar{ position:relative; }
.exp-score__bar i{ position:absolute; top:50%; width:18px; height:18px; border-radius:50%; background:#fff; border:4px solid var(--brand-accent); transform:translate(-50%,-50%); box-shadow:0 3px 8px rgba(0,0,0,.35); }
.exp-score__ticks{ display:flex; justify-content:space-between; font-size:14px; color:rgba(255,255,255,.6); margin:5px 0 10px; }
.exp-score__ticks b{ color:var(--brand-accent); font-weight:800; }

/* Botón LinkedIn del PDF (logo en caja azul, como la referencia) */
.exp-quote__btn{ display:inline-flex; align-items:center; gap:12px; }
.exp-li{ background:#0A66C2; border-radius:5px; padding:3px 4px; display:inline-flex; }

/* --- Mapa: más grande y con presencia --- */
.exp-map3{ grid-template-columns:0.92fr 1.5fr 0.92fr; gap:24px; padding:22px 54px 12px; }
.exp-mapcenter{ justify-content:center; }
.exp-mapsvg{ max-width:660px; margin:0 auto; }
.exp-mapcap{ font-size:17px; margin-bottom:2px; }
.exp-maplegend{ margin-top:4px; }

/* --- Export PDF pág.1: compactar un poco el desglose y listas --- */
.exp-brk__desc{ font-size:16px; line-height:1.35; }
.exp-two{ padding:34px 60px; }
.exp-three{ padding:0 60px 4px; }
.exp-list li{ font-size:17px; }

/* ============================================================
   v2.2 · GRID RIGUROSO — fila [radar] + [desglose] a altura pareja
   Prioridad: comprimir el desglose para que ambas tarjetas queden
   a una altura chica y pareja (proporción de la referencia). El
   radar llena su tarjeta hasta igualar, pero SIN inflarse ni
   volverse protagónico (cap de altura).
   ============================================================ */
.rd-grid2, .rd-grid3 { align-items: stretch; }
.rd-grid2 > .rd-card, .rd-grid3 > .rd-card { display:flex; flex-direction:column; }
.rd-grid2 > .rd-card { padding:16px 16px 13px; }

/* Radar: se estira para cerrar el hueco, con tope para no protagonizar */
.rd-card .radar-wrap { flex:1 1 auto; height:auto; min-height:236px; max-height:360px; }
.rd-card .rd-legend { margin-top:auto; padding-top:6px; }

/* Desglose compacto: menos gap, barra más pegada, descripción a 2 líneas */
.rd-grid2 .rd-brk-list { gap:9px; flex:1 1 auto; justify-content:space-between; }
.rd-grid2 .rd-brk__bar { margin:6px 0 5px; }
.rd-grid2 .rd-brk__desc {
  font-size:.76rem; line-height:1.33; margin:0;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}

/* ============================================================
   v2.3 · BLOQUE B — sin score compuesto; banda cualitativa protagonista
   ============================================================ */

/* --- Badge de intensidad (reemplaza el panel de puntaje) — PÓSTER --- */
.rd-intensity{ background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.14);
  border-radius:16px; padding:20px; display:flex; flex-direction:column; justify-content:center; }
.rd-intensity__eyebrow{ font-size:.62rem; font-weight:800; letter-spacing:.14em; color:rgba(255,255,255,.72); }
.rd-intensity__band{ font-size:1.9rem; font-weight:800; line-height:1.06; color:#6FE3D3; margin-top:10px; letter-spacing:-.01em; }
.rd-intensity__phrase{ font-size:.86rem; color:rgba(255,255,255,.82); line-height:1.5; margin-top:12px; }

/* --- Badge de intensidad — EXPORT (imagen + PDF) --- */
.exp-intensity{ background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.14);
  border-radius:18px; padding:30px; display:flex; flex-direction:column; justify-content:center; }
.exp-intensity__t{ font-size:14px; font-weight:800; letter-spacing:.13em; color:rgba(255,255,255,.72); }
.exp-intensity__band{ font-size:40px; font-weight:800; line-height:1.06; color:#6FE3D3; margin-top:14px; }
.exp-intensity__phrase{ font-size:18px; color:rgba(255,255,255,.85); line-height:1.5; margin-top:16px; }

/* --- Fila del desglose: BANDA protagonista, número chico y gris — PÓSTER --- */
.rd-brk__head{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.rd-brk__id{ display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; min-width:0; }
.rd-brk__val{ display:flex; flex-direction:column; align-items:flex-end; flex:0 0 auto; line-height:1; text-align:right; }
.rd-brk__band{ font-weight:800; font-size:1.05rem; letter-spacing:-.01em; white-space:nowrap; }
.rd-brk__num{ font-size:.66rem; font-weight:600; color:var(--muted); margin-top:4px; }

/* --- Fila del desglose — EXPORT PDF --- */
.exp-brk__head{ display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.exp-brk__id{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; min-width:0; }
.exp-brk__val{ display:flex; flex-direction:column; align-items:flex-end; flex:0 0 auto; line-height:1; text-align:right; }
.exp-brk__band{ font-weight:800; font-size:27px; letter-spacing:-.01em; white-space:nowrap; }
.exp-brk__num{ font-size:15px; font-weight:600; color:var(--muted); margin-top:6px; }

/* --- Fila del desglose — EXPORT IMAGEN (compacto) --- */
.exp-brkc__head{ display:flex; align-items:flex-start; justify-content:space-between; gap:14px; width:100%; }
.exp-brkc__id{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; min-width:0; }
.exp-brkc__val{ display:flex; flex-direction:column; align-items:flex-end; flex:0 0 auto; line-height:1; text-align:right; }
.exp-brkc__band{ font-weight:800; font-size:23px; letter-spacing:-.01em; white-space:nowrap; }
.exp-brkc__num{ font-size:14px; font-weight:600; color:var(--muted); margin-top:5px; }

/* ============================================================
   v2.4 · FASE 2 — Radar centrado + "Tus Top Builder Strengths"
   (reemplaza el DESGLOSE POR DIMENSIÓN eliminado)
   ============================================================ */
.rd-card--center{ max-width:640px; margin:0 auto; display:flex; flex-direction:column; }
.rd-card--center .radar-wrap{ height:360px; }
.rd-card--center .rd-legend{ margin-top:10px; }

.rd-ts-list{ display:flex; flex-direction:column; }
.rd-ts{ display:flex; gap:20px; padding:24px 4px; border-bottom:1px solid #E6E9F0; }
.rd-ts:last-child{ border-bottom:none; }
.rd-ts__idx{ font-weight:800; font-size:1.3rem; line-height:1; min-width:40px; opacity:.5; letter-spacing:-.02em; padding-top:5px; }
.rd-ts__body{ flex:1; min-width:0; }
.rd-ts__name{ font-weight:800; font-size:1.7rem; line-height:1.05; letter-spacing:-.01em; }   /* ~27px */
.rd-ts__desc{ color:#2B2D42; font-size:.95rem; line-height:1.42; margin-top:6px; }
.rd-ts__through{ font-weight:600; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-top:10px; }
/* 3 columnas verticales fijas de igual ancho — sin wrap horizontal */
.rd-ts__manifs{ list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:5px 22px; margin-top:8px; }
.rd-ts__manifs li{ display:flex; gap:7px; align-items:baseline; font-size:.9rem; color:var(--ink-soft); line-height:1.35; }
@media (max-width:560px){ .rd-ts__manifs{ grid-template-columns:1fr; } }
.rd-ts__bullet{ font-weight:800; font-size:1.1rem; line-height:1; }
.rd-ts__group{ margin-top:20px; padding-top:16px; border-top:1px solid #E6E9F0; color:var(--muted); font-size:.85rem; line-height:1.5; }

/* ============================================================
   REGLAS DE LAYOUT (OBLIGATORIAS) — v2 · Parte 6.4
   1. Retícula sagrada (gutter consistente).
   2. Alturas iguales por fila; el contenido se resume, no crece la card.
   3. Cada módulo: alto/padding/margen/alineación fijos.
   4. Sin huecos grandes bajo un componente.
   5. Títulos/subtítulos máx 2 líneas.
   6. Bullets máx ~90 caracteres.
   7. Auditoría visual antes de dar por terminada una pantalla.
   EL CONTENIDO ES FLEXIBLE · EL LAYOUT ES SAGRADO.
   ============================================================ */

/* ============================================================
   v2.5 · FASE 3 — Sistema visual + pantallas del test
   ============================================================ */
/* 6.3 · Tipografía Inter siempre (cero Lora): el alias narrativo ahora es Inter */
:root{ --font-narr: var(--font-ui); }
.intro-support{ font-style:italic; font-weight:300; }
.rd-quote__text, .exp-quote__tx{ font-style:italic; font-weight:300; }

/* 7.1 · INTRO en navy (sandwich: header oscuro) */
#screen-intro{ background:#0B1729; }
.intro-title{ color:#fff; font-weight:900; }
.intro-title span{ color:var(--brand-secondary); }
.intro-sub{ color:rgba(255,255,255,.75); }
.intro-support{ color:rgba(255,255,255,.9); }
.intro-dim{ background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.12); }
.intro-dim__name{ color:#fff; }
.intro-dim__desc{ color:rgba(255,255,255,.55); }
.name-label{ color:#fff; }
.name-input{ background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.16); color:#fff; }
.name-input::placeholder{ color:rgba(255,255,255,.4); }
.name-input:focus{ border-color:var(--brand-secondary); }
.name-hint{ color:rgba(255,255,255,.5); }
.intro-meta{ color:rgba(255,255,255,.6); }
.intro-meta span{ color:#fff; }
.intro-note{ color:rgba(255,255,255,.5); }
.byline__name{ color:#fff; }
.byline__role, .byline__link{ color:rgba(255,255,255,.55); }
#btn-start{ background:var(--brand-secondary); color:#fff; border-color:var(--brand-secondary); }
#btn-start:hover{ background:#238b7e; }

/* Selector de pronombre EL/ELLA (dark) */
.pronoun-block{ max-width:420px; margin:0 auto 24px; text-align:left; }
.pronoun-label{ display:block; font-size:.9rem; font-weight:700; margin-bottom:9px; color:#fff; }
.pronoun-toggle{ display:inline-flex; gap:9px; }
.pronoun-btn{ font-family:var(--font-ui); font-weight:700; font-size:.9rem; letter-spacing:.05em;
  color:rgba(255,255,255,.82); background:rgba(255,255,255,.06);
  border:1.5px solid rgba(255,255,255,.16); border-radius:12px; padding:11px 30px; cursor:pointer; min-width:104px; transition:.15s ease; }
.pronoun-btn:hover{ border-color:rgba(255,255,255,.4); }
.pronoun-btn.is-active{ background:var(--brand-secondary); border-color:var(--brand-secondary); color:#fff; }

/* 7.2 · LIKERT — escala del gris al teal */
.likert-btn:nth-child(1){ color:#9aa0ad; }
.likert-btn:nth-child(2){ color:#7d94a0; }
.likert-btn:nth-child(3){ color:#589e97; }
.likert-btn:nth-child(4){ color:#379a8b; }
.likert-btn:nth-child(5){ color:var(--brand-secondary); }
.likert-btn.is-selected{ color:#fff; background:var(--brand-secondary); border-color:var(--brand-secondary); }

/* 7.2 · FORCED-CHOICE — opción + toggle MÁS/MENOS */
.scenario-options.is-fc{ display:flex; flex-direction:column; gap:10px; }
.fc-opt{ display:flex; align-items:center; gap:14px; justify-content:space-between; flex-wrap:wrap;
  border:1.5px solid var(--line); border-radius:14px; padding:13px 16px; background:#fff; transition:.15s ease; }
.fc-opt.is-more{ border-color:var(--brand-secondary); background:rgba(31,196,173,.07); }
.fc-opt.is-less{ border-color:#c9ccd6; background:#f3f4f6; }
.fc-opt__text{ flex:1 1 240px; font-size:.95rem; line-height:1.4; color:var(--ink); text-align:left; }
.fc-opt__btns{ display:flex; gap:7px; flex:0 0 auto; }
.fc-pick{ font-family:var(--font-ui); font-weight:700; font-size:.7rem; letter-spacing:.06em;
  border:1.5px solid var(--line); background:#fff; color:var(--muted); border-radius:999px; padding:8px 14px; cursor:pointer; min-width:64px; transition:.14s ease; }
.fc-pick:hover{ border-color:var(--muted); }
.fc-pick--more.on{ background:var(--brand-secondary); border-color:var(--brand-secondary); color:#fff; }
.fc-pick--less.on{ background:#6b7280; border-color:#6b7280; color:#fff; }

/* 7.2 · SJT — opciones apiladas (reusa .scenario-opt) */
.scenario-options.is-sjt{ display:flex; flex-direction:column; gap:10px; }

/* 7.3 · TRANSICIÓN "CALCULANDO" */
.screen--calc{ background:#0B1729; }
#screen-calc.screen--active{ display:flex; align-items:center; justify-content:center; min-height:100vh; }
.calc{ text-align:center; padding:24px; }
.calc__dots{ display:flex; gap:16px; justify-content:center; margin-bottom:28px; }
.calc__dot{ width:16px; height:16px; border-radius:50%; background:var(--c); opacity:0; transform:scale(.4);
  transition:opacity .45s ease, transform .45s ease, box-shadow .45s ease; }
.calc__dot.on{ opacity:1; transform:scale(1); box-shadow:0 0 20px 3px var(--c); }
.calc__text{ color:#fff; font-style:italic; font-weight:300; font-size:1.3rem; letter-spacing:.01em; }

/* ============================================================
   v2.6 · Opción A — Radar (5/12) + Top Strengths compactas (7/12)
   ============================================================ */
.rd-grid-rt{ display:grid; grid-template-columns:1fr; gap:16px; align-items:stretch; }
@media (min-width:820px){ .rd-grid-rt{ grid-template-columns:5fr 7fr; } }
.rd-grid-rt > .rd-card{ display:flex; flex-direction:column; }
.rd-card--radar .radar-wrap{ flex:1 1 auto; height:auto; min-height:280px; }
.rd-card--radar .rd-legend{ margin-top:auto; padding-top:8px; }

.rd-tsc-list{ display:flex; flex-direction:column; gap:13px; flex:1 1 auto; }
.rd-tsc__head{ display:flex; align-items:baseline; gap:9px; flex-wrap:wrap; }
.rd-tsc__idx{ font-weight:800; font-size:.78rem; opacity:.5; letter-spacing:-.02em; }
.rd-tsc__name{ font-weight:800; font-size:1rem; letter-spacing:-.01em; white-space:nowrap; }
.rd-tsc__desc{ color:#2B2D42; font-size:.82rem; line-height:1.3; }
.rd-tsc__bar{ height:6px; background:#EAEEF2; border-radius:999px; overflow:hidden; margin:7px 0 5px; }
.rd-tsc__bar span{ display:block; height:100%; border-radius:999px; }
.rd-tsc__manifs{ font-size:.72rem; color:var(--muted); line-height:1.4; }
.rd-card--ts .rd-ts__group{ margin-top:auto; }

/* ============================================================
   v2.7 · Ajustes finales pre-Fase 4 (1,4,5,7,8)
   ============================================================ */

/* Ajuste 7 · Cuadro "TU ESTILO BUILDERDNA" con presencia */
.rd-intensity{ padding:22px 22px 20px; border-radius:18px; border:1px solid rgba(255,255,255,.14);
  display:flex; flex-direction:column; justify-content:flex-start; }
.rd-intensity__eyebrow{ display:flex; align-items:center; gap:7px; font-size:.62rem; font-weight:800; letter-spacing:.14em; color:rgba(255,255,255,.72); }
.rd-intensity__dot{ width:8px; height:8px; border-radius:50%; display:inline-block; }
.rd-intensity__band{ font-size:clamp(2.6rem,4vw,3.1rem); font-weight:800; line-height:1.02; letter-spacing:-.02em; margin-top:12px; }
.rd-intensity__phrase{ margin-top:12px; font-size:.85rem; color:rgba(255,255,255,.8); line-height:1.45; }
.rd-intensity__profile{ margin-top:18px; }
.rd-intensity__dots{ display:flex; align-items:flex-end; gap:9px; min-height:22px; }
.rd-idot{ border-radius:50%; display:inline-block; }
.rd-intensity__plabel{ font-size:.6rem; font-weight:300; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.45); margin-top:9px; }

/* Ajuste 1 · mini-bloque "TU POSICIÓN" — parte de la card del radar (sin separador) */
.rd-card--radar .rd-legend{ margin-top:12px; }
.rd-pos{ margin-top:16px; }
.rd-pos__label{ font-size:.62rem; font-weight:800; letter-spacing:.14em; color:var(--muted); }
.rd-pos__dims{ display:flex; align-items:baseline; gap:9px; margin-top:6px; font-weight:800; font-size:1.15rem; letter-spacing:-.01em; }
.rd-pos__sep{ color:var(--muted); font-weight:600; }
.rd-pos__gap{ font-size:.78rem; color:var(--muted); line-height:1.4; margin-top:5px; }

/* Ajuste 5 · cards inferiores en 3 filas horizontales de ancho completo */
.rd-rows{ display:flex; flex-direction:column; gap:16px; }
.rd-rows .rd-list{ gap:9px; }
.rd-card--roles .rd-roleline{ font-size:.92rem; font-weight:600; color:#2B3350; line-height:1.65; }

/* Ajuste 4 · card de exportación con label + 3 botones */
.card--export{ text-align:center; }
.card-title--center{ text-align:center; }
.export-actions{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:14px; }
.export-actions .btn{ flex:1 1 210px; max-width:300px; }

/* Ajuste 8 · micro-mensaje bajo el toggle (solo en resultado) */
.lang-hint{ position:fixed; top:54px; right:14px; z-index:49; font-size:.6rem; font-weight:600;
  letter-spacing:.08em; color:var(--muted); max-width:140px; text-align:right; line-height:1.3; }

/* ============================================================
   v2.8 · FASE 4 — Exports (LinkedIn 1080×1350 · Story 1080×1920 · PDF 4 págs)
   ============================================================ */
.export-card--story{ height:1350px; padding:0; background:#05070c; }
.export-card--story::before{ display:none; }
.export-card--pdf{ background:#F8F9FA; }
#export-pdf-4{ background:#0B1729; }

/* ---- Piezas sociales (LinkedIn / Story) ---- */
.ex-share{ width:1080px; height:1350px; color:#fff; padding:74px 82px; display:flex; flex-direction:column; }
.ex-share--story{ height:1920px; padding:120px 92px; }
.ex-share__top{ display:flex; justify-content:space-between; align-items:center; }
.ex-share__meta{ font-size:15px; letter-spacing:.14em; font-weight:700; color:rgba(255,255,255,.6); text-transform:uppercase; }
.ex-share__body{ flex:1; display:flex; flex-direction:column; justify-content:center; }
.ex-share__name{ color:var(--brand-secondary); font-weight:700; font-size:30px; }
.ex-share__dna{ color:rgba(255,255,255,.7); font-size:25px; margin-top:12px; }
.ex-share__combo{ font-weight:800; font-size:74px; line-height:1.02; letter-spacing:-.02em; margin-top:6px; }
.ex-share--story .ex-share__combo{ font-size:90px; }
.ex-share__head{ color:var(--brand-accent); font-weight:700; font-size:29px; margin-top:20px; }
.ex-share__dots{ display:flex; align-items:flex-end; gap:15px; margin-top:44px; min-height:36px; }
.ex-pdot{ border-radius:50%; display:inline-block; }
.ex-share__tslabel{ font-size:15px; font-weight:800; letter-spacing:.14em; color:rgba(255,255,255,.55); margin-top:50px; }
.ex-share__chips{ display:flex; flex-wrap:wrap; gap:14px; margin-top:22px; }
.ex-chip{ font-weight:800; font-size:22px; letter-spacing:.02em; border:2px solid; border-radius:999px; padding:12px 22px; }
.ex-share__foot{ display:flex; justify-content:space-between; align-items:center; border-top:1px solid rgba(255,255,255,.14); padding-top:34px; }
.ex-share__cta{ color:rgba(255,255,255,.72); font-size:20px; font-weight:600; }

/* ---- PDF pág 1 · radar + Top Strengths ---- */
.exp-two--p1{ grid-template-columns:5fr 7fr; padding:40px 64px; align-items:stretch; }
.exp-two--p1 .exp-panel{ display:flex; flex-direction:column; }
.exp-two--p1 .exp-radar{ flex:1 1 auto; display:flex; align-items:center; justify-content:center; }
.ex-ts-list{ display:flex; flex-direction:column; gap:18px; }
.ex-ts__h{ display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.ex-ts__i{ font-weight:800; font-size:20px; opacity:.5; }
.ex-ts__n{ font-weight:800; font-size:25px; letter-spacing:-.01em; }
.ex-ts__d{ color:#2B2D42; font-size:18px; }
.ex-ts__bar{ height:8px; background:#EAEEF2; border-radius:999px; overflow:hidden; margin:10px 0 7px; }
.ex-ts__bar span{ display:block; height:100%; border-radius:999px; }
.ex-ts__m{ font-size:16px; color:var(--muted); line-height:1.4; }
.ex-tsgroup{ margin-top:auto; padding-top:18px; color:var(--muted); font-size:17px; line-height:1.5; }

/* dots de perfil en el hero del PDF */
.exp-idots{ display:flex; align-items:flex-end; gap:11px; min-height:24px; margin-top:22px; }
.exp-idot{ width:9px; height:9px; border-radius:50%; display:inline-block; }
.exp-intensity__t{ display:flex; align-items:center; gap:8px; }

/* ---- PDF pág 2 · fortalezas / oportunidades / roles / plan (filas) ---- */
.exp-p2{ padding:56px 64px; display:flex; flex-direction:column; gap:22px; }
.exp-rowcard{ background:#fff; border:1px solid var(--line); border-radius:18px; padding:30px 34px; }
.exp-rowcard .exp-list{ margin-top:6px; }
.exp-roleline{ font-size:20px; font-weight:600; color:#2B3350; line-height:1.6; margin-top:6px; }
.exp-rowcard .exp-plan{ margin-top:8px; }

/* ---- PDF pág 4 · cierre oscuro ---- */
.exp-p4{ padding:70px 64px 40px; }
.exp-p4__foot{ display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:44px;
  border-top:1px solid rgba(255,255,255,.14); padding-top:32px; }
.exp-p4__sign{ color:rgba(255,255,255,.55); font-size:17px; text-align:center; flex:1; }
.exp-p4__dom{ color:var(--brand-secondary); font-weight:700; font-size:18px; }

/* ============================================================
   v2.9 · CIERRE — Bloque de decisión de descarga (3 tarjetas)
   ============================================================ */
.dec-head{ text-align:center; }
.dec-title{ font-size:1rem; font-weight:800; letter-spacing:.05em; color:var(--ink); }
.dec-sub{ color:var(--ink-soft); font-size:.92rem; line-height:1.5; margin:10px auto 0; max-width:560px; }
.dec-which{ background:none; border:none; color:var(--brand-secondary); font-weight:700; font-size:.85rem; cursor:pointer; margin-top:10px; padding:4px 6px; }
.dec-which:hover{ text-decoration:underline; }
.dec-which-text{ max-width:660px; margin:14px auto 0; text-align:left; background:#F4F6F9; border:1px solid #E6E9F0;
  border-radius:12px; padding:16px 18px; font-size:.85rem; line-height:1.6; color:var(--ink-soft); }
.dec-which-text b{ color:var(--ink); }
.dec-cards{ display:grid; grid-template-columns:1fr; gap:14px; margin-top:22px; align-items:stretch; }
@media (min-width:720px){ .dec-cards{ grid-template-columns:repeat(3,1fr); } }
.dec-card{ display:flex; flex-direction:column; align-items:flex-start; background:#fff;
  border:1px solid #E6E9F0; border-radius:16px; padding:22px 22px 20px; }
.dec-card__ic{ width:46px; height:46px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; }
.dec-card__t{ font-weight:800; font-size:.95rem; letter-spacing:.04em; margin-top:16px; }
.dec-card__d{ font-size:.85rem; color:var(--ink-soft); line-height:1.45; margin-top:8px; }
.dec-card__r{ font-size:.76rem; font-weight:600; color:var(--muted); margin-top:10px; }
.dec-btn{ width:100%; margin-top:18px; color:#fff; font-weight:700; border:none; }
.dec-card:has(.dec-btn){ } /* botón al fondo → alturas iguales */
.dec-card{ min-height:100%; }
.dec-cards > .dec-card{ height:100%; }
.dec-btn{ margin-top:auto; }
.dec-card__r{ margin-bottom:18px; }
.dec-btn--radar{ background:#1FC4AD; }
.dec-btn--radar:hover{ background:#238b7e; }
.dec-btn--map{ background:#FF9426; }
.dec-btn--map:hover{ background:#e0821f; }
.dec-btn--pdf{ background:#1B2A41; }
.dec-btn--pdf:hover{ background:#26426a; }

/* ============================================================
   v3.0 · CIERRE — Exports rediseñados
   ============================================================ */
/* --- LinkedIn card · RADAR protagonista (1080×1350) --- */
.ex-li{ width:1080px; height:1350px; color:#fff; padding:60px 74px; display:flex; flex-direction:column; }
.ex-li__top{ display:flex; justify-content:space-between; align-items:center; }
.ex-li__meta{ font-size:14px; letter-spacing:.14em; font-weight:700; color:rgba(255,255,255,.6); text-transform:uppercase; }
.ex-li__id{ margin-top:30px; }
.ex-li__name{ color:var(--brand-secondary); font-weight:700; font-size:28px; }
.ex-li__dna{ color:rgba(255,255,255,.7); font-size:23px; margin-top:8px; }
.ex-li__combo{ font-weight:800; font-size:60px; line-height:1.03; letter-spacing:-.02em; margin-top:4px; }
.ex-li__head{ color:var(--brand-accent); font-weight:700; font-size:26px; margin-top:12px; }
.ex-li__desc{ color:rgba(255,255,255,.78); font-size:21px; line-height:1.45; margin-top:16px; max-width:840px; }
.ex-li__row{ display:grid; grid-template-columns:500px 1fr; gap:40px; align-items:center; margin-top:20px; flex:1; }
.ex-li__radar{ width:500px; height:500px; }
.ex-li__tslabel{ font-size:15px; font-weight:800; letter-spacing:.14em; color:rgba(255,255,255,.55); text-transform:uppercase; }
.ex-li__chips{ display:flex; flex-direction:column; align-items:flex-start; gap:14px; margin-top:22px; }
.ex-li__cta{ text-align:center; color:rgba(255,255,255,.75); font-size:21px; font-weight:600; padding-top:22px; border-top:1px solid rgba(255,255,255,.14); }

/* --- Story · MAPA protagonista (1080×1920) --- */
.ex-story{ width:1080px; height:1920px; background:#0B1729; color:#fff; padding:76px 78px 76px; display:flex; flex-direction:column; justify-content:space-between; }
.ex-story__top{ display:flex; justify-content:space-between; align-items:center; }
.ex-story__meta{ font-size:15px; letter-spacing:.14em; font-weight:700; color:rgba(255,255,255,.6); text-transform:uppercase; }
.ex-story__id{ margin-top:40px; }
.ex-story__name{ color:var(--brand-secondary); font-weight:700; font-size:30px; }
.ex-story__dna{ color:rgba(255,255,255,.7); font-size:24px; margin-top:8px; }
.ex-story__combo{ font-weight:800; font-size:64px; line-height:1.03; letter-spacing:-.02em; margin-top:4px; }
.ex-story__head{ color:var(--brand-accent); font-weight:700; font-size:27px; margin-top:12px; }
.ex-story__map{ background:#fff; border-radius:26px; padding:26px; margin:0 auto; width:100%; }
.ex-story__map svg{ width:100%; height:auto; display:block; }
.ex-story__center{ margin-top:40px; }
.ex-story__cta{ margin-top:0; }
.ex-story__center{ text-align:center; }
.ex-story__clabel{ font-size:15px; font-weight:800; letter-spacing:.14em; color:rgba(255,255,255,.55); text-transform:uppercase; }
.ex-story__cname{ font-weight:800; font-size:40px; margin-top:8px; }
.ex-story__cdesc{ color:rgba(255,255,255,.8); font-size:22px; line-height:1.45; margin:10px auto 0; max-width:760px; }
.ex-story__cta{ text-align:center; margin-top:auto; padding-top:40px; }
.ex-story__cta-q{ font-weight:800; font-size:42px; color:#fff; }
.ex-story__cta-s{ color:var(--brand-secondary); font-size:24px; font-weight:600; margin-top:12px; }

/* --- PDF pág 1 · A4 vertical consolidada --- */
#export-pdf-1{ padding:0; min-height:auto; }
.exp-a4{ width:1080px; min-height:1527px; display:flex; flex-direction:column; background:#F8F9FA; }
.exp-a4 .exp-header{ padding:40px 56px 30px; }
.exp-a4body{ flex:1; padding:24px 56px; display:flex; flex-direction:column; gap:16px; }
.exp-a4body .exp-two--p1{ padding:0; grid-template-columns:5fr 7fr; gap:22px; }
.exp-a4body .exp-panel{ padding:22px; }
.exp-a4 .ex-ts-list{ gap:13px; }
.exp-a4 .ex-ts__n{ font-size:23px; }
.exp-a4 .ex-ts__d{ font-size:16px; }
.exp-a4grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:stretch; }
.exp-a4 .exp-rowcard{ padding:22px 26px; }
.exp-a4 .exp-list li{ font-size:15.5px; line-height:1.4; }
.exp-a4close{ background:#0B1729; padding:28px 56px 36px; }
.exp-a4close .exp-quote{ margin:0; padding:34px 40px; }

/* v3.0b · PDF A4 pág 1 — compactación para caber en ~A4 (1080×1527) */
.exp-a4{ min-height:1527px; }
.exp-a4 .exp-header{ padding:32px 56px 24px; }
.exp-a4 .exp-name{ font-size:19px; }
.exp-a4 .exp-dna{ font-size:17px; margin-top:3px; }
.exp-a4 .exp-profile{ font-size:44px; }
.exp-a4 .exp-headline{ font-size:19px; margin-top:5px; }
.exp-a4 .exp-minis{ margin-top:12px; gap:10px; }
.exp-a4 .exp-mini{ padding:11px 13px; }
.exp-a4 .exp-mini__l{ font-size:10px; }
.exp-a4 .exp-mini__t{ font-size:13px; }
.exp-a4 .exp-intensity{ padding:18px 20px; }
.exp-a4 .exp-intensity__band{ font-size:32px; margin-top:8px; }
.exp-a4 .exp-intensity__phrase{ font-size:14px; margin-top:8px; line-height:1.4; }
.exp-a4 .exp-idots{ margin-top:12px; min-height:18px; }
.exp-a4body{ padding:16px 56px; gap:13px; }
.exp-a4body .exp-panel{ padding:16px 18px; }
.exp-a4 .exp-ptitle{ font-size:15px; }
.exp-a4 .ex-ts-list{ gap:8px; }
.exp-a4 .ex-ts__n{ font-size:19px; }
.exp-a4 .ex-ts__d{ font-size:14px; }
.exp-a4 .ex-ts__bar{ height:6px; margin:6px 0 0; }
.exp-a4 .ex-tsgroup{ font-size:13px; padding-top:9px; margin-top:9px; }
.exp-a4 .exp-rowcard{ padding:14px 20px; }
.exp-a4 .exp-list{ gap:5px; }
.exp-a4 .exp-list li{ font-size:14px; line-height:1.35; }
.exp-a4 .exp-roleline{ font-size:16px; }
.exp-a4 .exp-plan{ gap:10px; }
.exp-a4 .exp-step__n{ width:30px; height:30px; font-size:15px; }
.exp-a4 .exp-step__t{ font-size:15px; }
.exp-a4 .exp-step__l{ font-size:12.5px; line-height:1.35; }
.exp-a4 .exp-plantitle{ margin-bottom:8px; }
.exp-a4close{ padding:20px 56px 26px; }
.exp-a4close .exp-quote{ padding:24px 32px; }
.exp-a4 .exp-quote__tx{ font-size:23px; line-height:1.35; }
.exp-a4 .exp-quote__ct{ font-size:19px; }
.exp-a4 .exp-p4__foot{ margin-top:22px; padding-top:20px; }

/* v3.0c · A4 — recorte fino para que entre el cierre navy */
.exp-a4 .exp-header{ padding:28px 56px 20px; }
.exp-a4 .exp-profile{ font-size:40px; }
.exp-a4 .exp-intensity__band{ font-size:29px; }
.exp-a4 .exp-mini{ padding:9px 12px; }
.exp-a4body{ padding:14px 56px; gap:11px; }
.exp-a4body .exp-two--p1 .exp-panel{ padding:15px 16px; }
.exp-a4 .exp-radar{ min-height:0; }
.exp-a4 .exp-legend{ margin-top:6px; }
.exp-a4 .ex-ts-list{ gap:7px; }
.exp-a4 .exp-rowcard{ padding:13px 18px; }
.exp-a4 .exp-plan{ gap:9px; }
.exp-a4close{ padding:16px 56px 22px; }
.exp-a4close .exp-quote{ padding:20px 30px; }
.exp-a4 .exp-quote__tx{ font-size:21px; }
.exp-a4 .exp-quote__au{ font-size:14px; }
.exp-a4 .exp-quote__ct{ font-size:17px; }
.exp-a4 .exp-quote__cs{ font-size:13px; }
.exp-a4 .exp-p4__foot{ margin-top:16px; padding-top:16px; }
.exp-a4 .exp-p4__sign{ font-size:14px; }

/* v3.0d · A4 — radar sin flex-grow (evita whitespace que infla la fila) */
.exp-a4 .exp-two--p1 .exp-radar{ flex:0 0 auto; height:auto; display:flex; align-items:center; justify-content:center; }
.exp-a4 .exp-two--p1 .exp-panel{ justify-content:flex-start; }
.exp-a4 .exp-two--p1 .exp-legend{ margin-top:10px; }

/* v3.0e · A4 — última compactación + medición limpia */
.exp-a4body{ gap:9px; }
.exp-a4 .exp-two--p1 .exp-radar canvas{ max-height:300px; }
.exp-a4 .exp-rowcard{ padding:12px 18px; }
.exp-a4 .exp-list li{ font-size:13.5px; }
.exp-a4 .exp-step__l{ font-size:12px; }
.exp-a4close{ padding:14px 56px 20px; }

/* Ajuste puntual de portada · subtítulo único + bloque de nombre/pronombre centrado */
.intro-support:empty{ display:none; margin:0; }
.name-block, .pronoun-block{ text-align:center; }
.pronoun-toggle{ justify-content:center; }

/* Subtítulo de portada en una sola línea (solo ancho del subtítulo) */
.intro-sub{ max-width:720px; }

/* Selector de género · símbolo ♀/♂ en círculo turquesa + etiqueta (compacto, ES+EN) */
.pronoun-btn{ display:inline-flex; align-items:center; gap:9px; padding:9px 18px 9px 11px; min-width:0; letter-spacing:0; }
.pronoun-ic{ width:26px; height:26px; border-radius:50%; background:var(--brand-secondary);
  display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
.pronoun-ic svg{ display:block; }
.pronoun-lb{ font-weight:700; font-size:.9rem; }
.pronoun-btn.is-active{ background:rgba(31,196,173,.16); border-color:var(--brand-secondary); color:#fff; }

/* ============================================================
   Patch quirúrgico v2.5 · lema · frustración · posLink · apodo · modal 15
   ============================================================ */
/* D7 · lema (bajada del arquetipo, itálica) */
.rd-lema{ font-style:italic; color:rgba(255,255,255,.72); font-size:.95rem; margin-top:8px; line-height:1.4; }
.exp-lema{ font-style:italic; color:rgba(255,255,255,.72); font-size:18px; margin-top:8px; line-height:1.4; }
.exp-a4 .exp-lema{ font-size:15px; margin-top:6px; }
.ex-li__lema{ font-style:italic; color:rgba(255,255,255,.72); font-size:22px; margin-top:12px; line-height:1.4; }
.ex-story__lema{ font-style:italic; color:rgba(255,255,255,.72); font-size:24px; margin-top:14px; line-height:1.4; }

/* D7 · frustración (card de Oportunidades) */
.rd-frus{ margin:2px 0 14px; padding-bottom:13px; border-bottom:1px solid var(--line); }
.rd-frus__label{ font-size:.62rem; font-weight:800; letter-spacing:.14em; color:var(--brand-accent); }
.rd-frus__text{ font-size:.95rem; color:var(--ink); line-height:1.45; margin-top:6px; font-weight:500; }

/* D8 · línea de enlace bajo "TU POSICIÓN" */
.rd-pos__link{ font-size:.78rem; color:var(--muted); line-height:1.4; margin-top:4px; }

/* D9 · apodo de dimensión en la intro */
.intro-dim__agent{ font-size:.66rem; color:rgba(255,255,255,.5); margin-top:2px; margin-bottom:4px; }

/* D11 · botón "?" (sobre card clara) + modal de las 15 fortalezas */
.rd-tsc-title{ display:flex; align-items:center; }
.rd-ts-info{ display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; min-width:24px;
  border-radius:50%; border:1.5px solid #cfd5dd; background:#fff; color:var(--muted); font-size:.78rem; font-weight:800; cursor:pointer; margin-left:9px; }
.rd-ts-info:hover{ border-color:var(--muted); color:var(--ink); }
.ts-modal{ position:fixed; inset:0; z-index:200; display:flex; align-items:flex-end; justify-content:center; }
.ts-modal__backdrop{ position:absolute; inset:0; background:rgba(10,14,20,.65); }
.ts-modal__panel{ position:relative; z-index:1; width:100%; max-width:560px; max-height:82vh; overflow-y:auto;
  background:#101826; border-radius:20px 20px 0 0; padding:24px 20px 32px; }
@media (min-width:720px){ .ts-modal{ align-items:center; } .ts-modal__panel{ border-radius:20px; max-height:78vh; } }
.ts-modal__close{ position:absolute; top:14px; right:14px; width:32px; height:32px; border-radius:50%; border:none; background:rgba(255,255,255,.08); color:#fff; font-size:1.1rem; cursor:pointer; }
.ts-modal__title{ font-size:1.15rem; font-weight:800; color:#fff; margin-bottom:6px; padding-right:36px; }
.ts-modal__sub{ font-size:.88rem; color:rgba(255,255,255,.6); margin-bottom:20px; }
.ts-modal__group{ margin-bottom:16px; }
.ts-modal__dim{ font-size:.75rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; margin-bottom:8px; }
.ts-modal__list{ list-style:none; display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:0; }
.ts-modal__item{ font-size:.82rem; color:rgba(255,255,255,.55); border:1.5px solid rgba(255,255,255,.15); border-radius:20px; padding:6px 12px; }
.ts-modal__item--active{ color:#fff; font-weight:600; }

/* ============================================================
   Story compartible v2 · Executive Assessment Report 1080×1350
   Retícula: márgenes 48/48/38/34 · ancho útil 984 · secciones absolutas
   ============================================================ */
.exs{ position:relative; width:1080px; height:1350px; overflow:hidden; color:#fff; box-sizing:border-box;
  font-family:var(--font-ui); background:radial-gradient(120% 80% at 50% -10%, #0e2530 0%, #0a141e 55%, #0a1018 100%); border-radius:26px; }
.exs *{ box-sizing:border-box; }

/* 1 · Header */
.exs-head{ position:absolute; left:48px; top:40px; width:984px; height:52px; display:flex; justify-content:space-between; align-items:flex-start; }
.exs-head__r{ text-align:right; }
.exs-head__res{ font-size:15px; font-weight:600; letter-spacing:1.8px; color:rgba(255,255,255,.85); }
.exs-vfd{ display:inline-flex; align-items:center; gap:14px; margin-top:12px; border:1.5px solid rgba(31,196,173,.45); border-radius:14px; padding:14px 18px; background:rgba(12,22,38,.55); }
.exs-vfd__ic{ width:40px; height:40px; border-radius:8px; background:rgba(31,196,173,.14); display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
.exs-vfd__t{ font-size:17px; font-weight:700; letter-spacing:1.8px; color:#1FC4AD; line-height:1; }
.exs-vfd__s{ font-size:11px; font-weight:500; letter-spacing:2.5px; color:rgba(255,255,255,.75); margin-top:4px; }

/* 2 · Identity + seal */
.exs-id{ position:absolute; left:48px; top:112px; width:780px; }
.exs-id__name{ font-size:25px; font-weight:700; color:#2fc9b6; line-height:1.1; margin-bottom:8px; }
.exs-id__dna{ font-size:14px; letter-spacing:1.4px; color:rgba(255,255,255,.6); margin-bottom:8px; }
.exs-id__combo{ font-size:58px; font-weight:700; line-height:.98; letter-spacing:-1.4px; white-space:nowrap;
  background:linear-gradient(90deg,#8fefd9,#37b89f); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.exs-id__narr{ font-size:24px; font-weight:600; line-height:1.15; color:#FF9426; margin-top:10px; }
.exs-seal{ position:absolute; right:44px; top:146px; width:210px; height:168px; }
.exs-seal__svg{ display:block; }
.exs-seal__name{ font-size:9.5px; font-weight:800; letter-spacing:.05em; color:rgba(255,255,255,.62); width:86px; line-height:1.12; }
.exs-seal__year{ font-size:33px; font-weight:800; color:#fff; line-height:1; margin-top:3px; }
.exs-seal__profile{ font-size:10px; letter-spacing:.08em; color:rgba(255,255,255,.6); margin-top:2px; }
.exs-seal__stars{ font-size:9px; color:rgba(255,255,255,.3); margin-top:4px; letter-spacing:4px; }

/* 3 · Indicators */
.exs-ind{ position:absolute; left:48px; top:272px; width:760px; height:44px; display:flex; gap:22px; align-items:center; }
.exs-ind__c{ display:flex; align-items:center; gap:12px; padding-right:22px; border-right:1.5px solid rgba(255,255,255,.22); }
.exs-ind__c:last-child{ border-right:none; padding-right:0; }
.exs-ind__ic{ display:inline-flex; align-items:center; flex:0 0 auto; }
.exs-ind__l{ font-size:10px; letter-spacing:1.1px; color:rgba(255,255,255,.55); line-height:1; }
.exs-ind__v{ font-size:16px; font-weight:700; line-height:1.15; margin-top:3px; white-space:nowrap; }

/* 4 · Map */
.exs-map{ position:absolute; left:48px; top:320px; width:984px; height:480px; border-radius:20px;
  background:#0a1420; border:1px solid rgba(255,255,255,.07); overflow:hidden; }
.exs-radar{ position:absolute; left:0; top:0; }
.exs-dim{ position:absolute; display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; }
.exs-dim__ic{ width:40px; height:40px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
.exs-dim__n{ font-size:17px; font-weight:700; line-height:1; }
.exs-dim__d{ font-size:11px; color:rgba(255,255,255,.6); line-height:1.15; margin-top:3px; }
.exs-dim__v{ font-size:18px; font-weight:700; flex-basis:100%; }
.exs-dim--build{ left:492px; top:8px; transform:translateX(-50%); width:210px; flex-direction:column; align-items:center; text-align:center; gap:4px; }
.exs-dim--build .exs-dim__t{ order:1 } .exs-dim--build .exs-dim__ic{ order:2 } .exs-dim--build .exs-dim__v{ order:3; text-align:center; }
.exs-dim--grow{ left:6px; top:120px; width:272px; }
.exs-dim--scale{ left:706px; top:120px; width:272px; }
.exs-dim--change{ left:6px; top:352px; width:290px; }
.exs-dim--connect{ left:694px; top:352px; width:290px; }
.exs-dim--grow, .exs-dim--change{ justify-content:flex-end; text-align:right; }
.exs-dim--grow .exs-dim__t, .exs-dim--change .exs-dim__t{ order:1 }
.exs-dim--grow .exs-dim__ic, .exs-dim--change .exs-dim__ic{ order:2 }
.exs-dim--grow .exs-dim__v, .exs-dim--change .exs-dim__v{ order:3; text-align:right; }
.exs-dim--scale, .exs-dim--connect{ justify-content:flex-start; text-align:left; }
.exs-dim--scale .exs-dim__ic, .exs-dim--connect .exs-dim__ic{ order:1 }
.exs-dim--scale .exs-dim__t, .exs-dim--connect .exs-dim__t{ order:2 }
.exs-dim--scale .exs-dim__v, .exs-dim--connect .exs-dim__v{ order:3; text-align:left; }

/* 5 · Advantage */
.exs-adv{ position:absolute; left:48px; top:816px; width:984px; height:80px; text-align:center; }
.exs-adv__l{ display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:700; letter-spacing:1.4px; color:#2fc9b6; text-transform:uppercase; }
.exs-adv__t{ font-size:19px; line-height:1.35; color:rgba(255,255,255,.92); max-width:820px; margin:8px auto 0; }

/* 6 · Three cards */
.exs-row3{ position:absolute; left:48px; top:912px; width:984px; height:200px; display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:1fr; gap:16px; }
.exs-card{ height:100%; background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.07); border-radius:16px; padding:18px; min-width:0; overflow:hidden; }
.exs-card__t{ font-size:12px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; color:rgba(255,255,255,.55); margin-bottom:12px; }
.exs-ts{ display:flex; gap:10px; margin-bottom:11px; }
.exs-ts__ic{ width:26px; height:26px; border-radius:7px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
.exs-ts__n{ font-size:14px; font-weight:700; line-height:1.1; }
.exs-ts__d{ font-size:11.5px; line-height:1.25; color:rgba(255,255,255,.62); margin-top:2px; }
.exs-bul{ display:flex; gap:9px; margin-bottom:11px; font-size:12.5px; line-height:1.3; color:rgba(255,255,255,.84); }
.exs-bul__ic{ flex:0 0 auto; margin-top:1px; }

/* 7 · Two cards */
.exs-row2{ position:absolute; left:48px; top:1128px; width:984px; height:112px; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr; gap:16px; }
.exs-card2{ height:100%; overflow:hidden; background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.07); border-radius:16px; padding:14px 16px; min-width:0; }
.exs-minis{ display:flex; justify-content:space-between; gap:8px; }
.exs-mini{ flex:1 1 0; min-width:0; text-align:center; }
.exs-mini__ic{ display:inline-flex; }
.exs-mini__l{ font-size:10.5px; line-height:1.15; color:rgba(255,255,255,.72); margin-top:6px; }

/* 8 · CTA */
.exs-cta{ position:absolute; left:48px; top:1256px; width:984px; height:64px; border-radius:16px;
  background:linear-gradient(90deg,#0f2b2b,#0c1c2a); border:1px solid rgba(255,255,255,.06); display:flex; align-items:center; justify-content:space-between; padding:0 28px; }
.exs-cta__l{ display:flex; align-items:center; gap:12px; }
.exs-cta__aic{ width:38px; height:38px; border-radius:10px; background:rgba(31,196,173,.16); display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
.exs-cta__q{ font-size:22px; font-weight:700; line-height:1; }
.exs-cta__s{ font-size:11.5px; line-height:1.2; color:rgba(255,255,255,.65); margin-top:4px; white-space:nowrap; }
.exs-cta__b{ margin-left:10px; white-space:nowrap; }
.exs-cta__r{ text-align:right; flex:0 0 auto; }
.exs-cta__btn{ display:inline-block; background:rgba(63,211,192,.18); border:1.5px solid rgba(63,211,192,.6); color:#3fd3c0; font-size:14px; font-weight:800; padding:11px 26px; border-radius:10px; letter-spacing:.05em; }
.exs-cta__url{ font-size:10.5px; color:#3fd3c0; margin-top:5px; }

/* 9 · Footer */
.exs-foot{ position:absolute; left:48px; top:1328px; width:984px; text-align:center; font-size:9.5px; line-height:1.25; color:rgba(255,255,255,.4); }

/* Story v2 · fixes de fidelidad (combo sólido para html2canvas + fit de texto) */
.exs-id__combo{ background:none; -webkit-text-fill-color:initial; color:#40cdb4; }
.exs-ts{ margin-bottom:9px; }
.exs-ts__d{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.exs-bul{ margin-bottom:9px; }
.exs-bul > span:last-child{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.exs-card{ padding:16px 18px; }
.exs-card__t{ margin-bottom:10px; }

/* ============================================================
   Delta 12 · LinkedIn "Constellation Map" 1080×1500
   Retícula fija: márgenes 72 · ancho útil 936 · ritmo vertical 8px
   Header: Logo →40→ Nombre →12→ BuilderDNA →8→ Arquetipo →16→ regla →24→ lema →56→ Mapa
   ============================================================ */
.ex-li-map{ position:relative; width:1080px; height:1500px; overflow:hidden; box-sizing:border-box; color:#fff;
  font-family:var(--font-ui);
  background:
    radial-gradient(circle at 50% 46%, rgba(15,103,97,.14) 0%, rgba(8,28,49,.06) 30%, rgba(5,19,35,0) 56%),
    linear-gradient(145deg, #071523 0%, #081a2d 47%, #061321 100%); }
.ex-li-map *{ box-sizing:border-box; }

/* Header — top 72, alto 40 */
.elm-head{ position:absolute; left:72px; top:72px; right:72px; height:40px; display:flex; justify-content:space-between; align-items:center; }
.elm-head__r{ font-size:14px; font-weight:600; letter-spacing:2.4px; color:rgba(255,255,255,.76); text-transform:uppercase; }

/* Identity — top 152 (logo+40). Ritmo: name 12 dna 8 head 16 rule 24 lema */
.elm-id{ position:absolute; left:72px; top:152px; width:936px; }
.elm-id__name{ font-size:25px; font-weight:600; line-height:32px; color:var(--brand-secondary,#1FC4AD); margin:0 0 12px; }
.elm-id__dna{ font-size:58px; font-weight:750; line-height:64px; letter-spacing:-2px; white-space:nowrap; margin:0 0 8px; }
.elm-id__head{ font-size:25px; font-weight:700; line-height:32px; color:var(--brand-accent,#F4A261); margin:0 0 16px; }
.elm-id__rule{ width:496px; height:1px; background:rgba(255,255,255,.16); margin:0 0 24px; }
.elm-id__lema{ font-size:21px; font-style:italic; font-weight:400; line-height:28px; color:rgba(255,255,255,.76); max-width:820px; margin:0; }

/* Map title — top 425, alto 24 */
.elm-maptitle{ position:absolute; left:72px; right:72px; top:425px; height:24px; text-align:center;
  font-size:15px; font-weight:600; letter-spacing:5px; color:rgba(255,255,255,.62); text-transform:uppercase; }

/* Map — top 472, ancho útil completo 936, alto 482 (protagonista, ópticamente centrado) */
.elm-map{ position:absolute; left:72px; top:472px; width:936px; height:482px; }
.elm-map__svg{ overflow:visible; width:936px; height:482px; }
.elm-map__svg text{ font-family:var(--font-ui); }

/* Separator — top 994, alto 24 */
.elm-sep{ position:absolute; left:72px; right:72px; top:994px; height:24px; display:flex; align-items:center; justify-content:center; gap:24px; }
.elm-sep__line{ flex:1 1 0; height:1px; background:rgba(255,255,255,.14); max-width:296px; }
.elm-sep__t{ font-size:14px; font-weight:600; letter-spacing:4px; color:rgba(255,255,255,.55); text-transform:uppercase; white-space:nowrap; }

/* 3 columnas iguales — top 1058, alto 210 · icono →12→ título →12→ texto */
.elm-cols{ position:absolute; left:72px; top:1058px; width:936px; height:210px; display:grid; grid-template-columns:1fr 1fr 1fr; column-gap:24px; }
.elm-col{ min-width:0; }
.elm-col + .elm-col{ border-left:1px solid rgba(255,255,255,.15); padding-left:24px; }
.elm-col__ic{ width:48px; height:48px; border-radius:50%; border:2px solid; display:inline-flex; align-items:center; justify-content:center; margin-bottom:12px; }
.elm-col__label{ font-size:12px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; margin-bottom:4px; }
.elm-col__value{ font-size:27px; font-weight:750; line-height:1; margin-bottom:12px; }
.elm-col__desc{ font-size:15px; line-height:1.36; color:rgba(255,255,255,.84); max-width:250px;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.elm-col--ts .elm-col__label{ margin-bottom:12px; }
.elm-ts{ list-style:none; margin:0; padding:0; }
.elm-ts li{ display:flex; align-items:center; gap:11px; font-size:15px; color:rgba(255,255,255,.92); margin-bottom:8px; }
.elm-ts__dot{ width:10px; height:10px; border-radius:50%; flex:0 0 auto; }

/* CTA — top 1308, ancho útil completo, alto 120, radio 22, padding 36 */
.elm-cta{ position:absolute; left:72px; top:1308px; width:936px; height:120px; border:1px solid; border-radius:22px;
  background:rgba(4,20,34,.48); padding:0 36px; display:grid; grid-template-columns:1fr auto; align-items:center; column-gap:32px; }
.elm-cta__l{ display:flex; align-items:center; gap:24px; min-width:0; }
.elm-cta__ic{ width:68px; height:68px; border-radius:50%; border:1px solid; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
.elm-cta__t{ font-size:26px; font-weight:700; color:#fff; line-height:1.1; }
.elm-cta__s{ font-size:16px; color:rgba(255,255,255,.72); margin-top:8px; }
.elm-cta__url{ color:#3fd3c0; font-weight:700; }
.elm-cta__r{ display:flex; flex-direction:column; align-items:flex-end; gap:8px; padding-left:32px; border-left:1px solid rgba(255,255,255,.14); }
.elm-cta__logo{ display:inline-flex; align-items:center; gap:10px; }
.elm-cta__logo b{ font-size:30px; font-weight:800; color:#fff; letter-spacing:.5px; }
.elm-cta__tag{ font-size:11px; font-weight:700; letter-spacing:2.2px; color:rgba(255,255,255,.6); text-transform:uppercase; }

/* ============================================================
   Delta 14 · LinkedIn "Reporte Ejecutivo" 1080×1350
   Márgenes 36 lateral / 29 top / 20 bottom · ancho útil 1008
   (reemplaza .ex-li-map del Delta 12; ese queda inerte)
   ============================================================ */
.exl{ position:relative; width:1080px; height:1620px; overflow:hidden; box-sizing:border-box; color:#fff;
  font-family:var(--font-ui);
  background:
    linear-gradient(150deg, #04101c 0%, #06182a 46%, #040f1b 100%); }
.exl *{ box-sizing:border-box; }

/* 1 · Header */
.exl-head{ position:absolute; left:36px; top:32px; right:36px; height:36px; display:flex; justify-content:space-between; align-items:center; }
.exl-head__r{ font-size:12px; font-weight:500; letter-spacing:2.5px; color:rgba(255,255,255,.72); text-transform:uppercase; }

/* Onda decorativa */
.exl-wave{ position:absolute; right:30px; top:78px; width:430px; height:170px; pointer-events:none; }

/* 2 · Identidad */
.exl-id{ position:absolute; left:36px; top:112px; width:635px; }
.exl-id__name{ font-family:var(--font-narr); font-size:34px; font-weight:500; color:#f7f9fb; line-height:1; margin-bottom:24px; }
.exl-id__eyebrow{ font-size:11px; font-weight:500; letter-spacing:3.4px; text-transform:uppercase; color:rgba(255,255,255,.72); margin-bottom:11px; }
.exl-id__combo{ font-weight:750; letter-spacing:-1.8px; line-height:1; white-space:nowrap; margin-bottom:11px; }
.exl-id__head{ font-size:22px; font-weight:700; color:var(--brand-accent,#F4A261); margin-bottom:20px; }
.exl-id__rule{ width:345px; height:1px; margin-bottom:13px; }
.exl-id__desc{ font-family:var(--font-narr); font-size:16px; font-style:italic; line-height:1.42; color:rgba(255,255,255,.78);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

/* Cita */
.exl-quote{ position:absolute; right:36px; top:236px; width:340px; height:124px; border:1px solid; border-radius:10px;
  background:rgba(5,20,34,.40); padding:17px 31px 17px 58px; }
.exl-quote__t{ font-size:14px; line-height:1.48; color:rgba(255,255,255,.9);
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.exl-quote__mk{ position:absolute; font-family:var(--font-narr); font-size:39px; line-height:1; }
.exl-quote__mk--o{ left:22px; top:22px; }
.exl-quote__mk--c{ right:16px; bottom:-2px; }

/* 3 · Configuración de impacto */
.exl-impact{ position:absolute; left:36px; top:384px; width:1008px; height:424px; border:1px solid rgba(31,196,173,.20); border-radius:12px;
  background:linear-gradient(180deg, rgba(8,29,46,.80), rgba(5,21,35,.65)); padding:18px 27px 16px; overflow:hidden; }
.exl-impact__t{ text-align:center; font-size:12px; font-weight:500; letter-spacing:4.2px; text-transform:uppercase; color:rgba(255,255,255,.74); margin-bottom:12px; }
.exl-impact__grid{ display:grid; grid-template-columns:repeat(5,1fr); }
.exl-col{ min-width:0; display:flex; flex-direction:column; align-items:center; text-align:center; padding:0 12px; }
.exl-col + .exl-col{ border-left:1px solid rgba(255,255,255,.13); }
.exl-col__ic{ display:inline-flex; margin-bottom:10px; }
.exl-col__name{ font-size:15px; font-weight:700; letter-spacing:.7px; text-transform:uppercase; margin-bottom:3px; }
.exl-col__fn{ font-size:12px; color:rgba(255,255,255,.82); line-height:1.2; margin-bottom:10px; min-height:14px;
  display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; }
.exl-bar{ width:86px; height:178px; display:flex; flex-direction:column-reverse; gap:2px; margin-bottom:10px; }
.exl-seg{ width:100%; height:8px; border-radius:1.5px; background:rgba(82,105,124,.17); flex:0 0 auto; }
.exl-col__cat{ font-size:11px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; margin-bottom:7px; }
.exl-col__desc{ font-size:12px; line-height:1.36; color:rgba(255,255,255,.78); max-width:145px;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }

/* 4 · Fila insights */
.exl-row{ position:absolute; left:36px; width:1008px; display:flex; gap:14px; }
.exl-row--ins{ top:848px; height:384px; }
.exl-card{ border:1px solid rgba(255,255,255,.08); border-radius:12px; background:rgba(255,255,255,.028); padding:20px 22px; min-width:0; overflow:hidden; }
.exl-card__t{ font-size:11px; font-weight:600; letter-spacing:2.4px; text-transform:uppercase; margin-bottom:15px; }
.exl-card__t--c{ text-align:center; }
.exl-strcard{ width:365px; flex:0 0 auto; }
.exl-str{ display:flex; align-items:flex-start; gap:12px; margin-bottom:24px; }
.exl-str__ic{ width:38px; height:38px; border-radius:50%; border:1.5px solid; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
.exl-str__n{ font-size:15px; font-weight:650; line-height:1.1; margin-bottom:2px; }
.exl-str__d{ font-size:11.3px; line-height:1.28; color:rgba(255,255,255,.72);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.exl-bizcard{ flex:1 1 0; }
.exl-biz{ position:relative; padding-left:34px; margin-bottom:18px; }
.exl-biz__mk{ position:absolute; left:0; top:-6px; font-family:var(--font-narr); font-size:44px; line-height:1; }
.exl-biz__t{ font-family:var(--font-narr); font-size:22px; font-weight:500; line-height:1.35; color:rgba(255,255,255,.92);
  display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.exl-biz__sep{ height:1px; background:rgba(255,255,255,.10); margin:0 0 20px; }
.exl-tension{ display:flex; align-items:flex-start; gap:15px; }
.exl-tension__ic{ width:54px; height:54px; border-radius:50%; border:1.5px solid; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
.exl-tension__t{ font-size:11px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; margin-bottom:6px; }
.exl-tension__c{ font-size:14px; line-height:1.5; color:rgba(255,255,255,.82);
  display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden; }

/* 5 · Fila contextos */
.exl-row--ctx{ top:1272px; height:160px; }
.exl-ctxcard{ padding:20px 20px; }
.exl-ctxcard:first-child{ width:478px; flex:0 0 auto; }
.exl-ctxcard:last-child{ flex:1 1 0; }
.exl-ctx__row{ display:flex; justify-content:space-between; gap:10px; }
.exl-ctx{ flex:1 1 0; min-width:0; display:flex; flex-direction:column; align-items:center; text-align:center; }
.exl-ctx + .exl-ctx{ border-left:1px solid rgba(255,255,255,.10); }
.exl-ctx__ic{ display:inline-flex; margin-bottom:12px; }
.exl-ctx__l{ font-size:11px; line-height:1.25; color:rgba(255,255,255,.76);
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }

/* 6 · CTA */
.exl-cta{ position:absolute; left:36px; top:1470px; width:1008px; height:116px; border:1px solid; border-radius:11px;
  background:radial-gradient(ellipse 300px 120px at 88% 50%, rgba(31,196,173,.10), transparent 70%), rgba(6,20,33,.5);
  display:grid; grid-template-columns:1.02fr 1px .92fr; align-items:center; gap:26px; padding:0 30px; }
.exl-cta__l1{ font-size:17px; font-weight:400; color:rgba(255,255,255,.84); line-height:1.25; }
.exl-cta__l2{ font-size:19px; font-weight:700; line-height:1.2; margin-top:3px; }
.exl-cta__div{ width:1px; height:64px; background:rgba(255,255,255,.14); }
.exl-cta__r{ display:flex; align-items:center; justify-content:space-between; gap:16px; }
.exl-cta__q{ font-size:20px; font-weight:700; color:#fff; line-height:1.1; }
.exl-cta__s{ font-size:13px; color:rgba(255,255,255,.7); margin-top:6px; }
.exl-qr{ width:74px; height:74px; border:2px solid; border-radius:5px; background:#fff; flex:0 0 auto; }

/* 7 · Footer */
.exl-foot{ position:absolute; left:36px; right:36px; top:1592px; height:26px; display:flex; align-items:center; justify-content:center; gap:10px; }
.exl-foot b{ font-size:18px; font-weight:800; color:#fff; letter-spacing:.5px; }
.exl-foot__tag{ font-size:9.5px; font-weight:700; letter-spacing:5px; text-transform:uppercase; margin-left:6px; }

/* ============================================================
   Delta 15 · Pantalla de cierre (frase + idioma del resultado)
   ============================================================ */
#screen-close{ background:#0B1729; color:#fff; }
#screen-close.screen--active{ display:flex; flex-direction:column; justify-content:center; }
#screen-close .close-wrap{ max-width:640px; margin:0 auto; text-align:center; padding:48px 24px; }
.close-eyebrow{ font-size:.8rem; letter-spacing:2.5px; text-transform:uppercase; color:var(--brand-secondary); margin-bottom:16px; }
.close-title{ font-size:2rem; font-weight:800; color:#fff; margin-bottom:16px; }
.close-text{ font-size:1.05rem; line-height:1.55; color:rgba(255,255,255,.8); margin-bottom:40px; }
.close-lang{ display:flex; align-items:center; justify-content:center; gap:12px; margin-bottom:40px; }
.close-lang__label{ font-size:.9rem; color:rgba(255,255,255,.7); }
.close-lang__toggle{ display:inline-flex; border:1px solid rgba(255,255,255,.2); border-radius:999px; overflow:hidden; }
.close-lang__btn{ padding:8px 20px; background:transparent; border:none; color:rgba(255,255,255,.6); font-weight:700; cursor:pointer; }
.close-lang__btn.is-active{ background:var(--brand-secondary); color:#fff; }
