/* ===========================================================
   Sstrategy Advisors — Hoja de estilos global
   Partner de Estrategia y Continuidad Empresarial
   =========================================================== */

:root{
  --black:#121212;
  --charcoal:#1d1d1d;
  --red:#b91c2c;
  --red-dark:#8f1521;
  --cream:#f7f5f1;
  --cream-2:#efebe4;
  --grey:#5c5c5c;
  --grey-light:#9a9a9a;
  --border:#e3ddd3;
  --white:#ffffff;
  --radius:2px;
  --maxw:1180px;
  --serif:"Playfair Display", Georgia, serif;
  --sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--charcoal);
  background:var(--cream);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;}
section{padding:96px 0;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}

h1,h2,h3,h4{
  font-family:var(--serif);
  font-weight:700;
  line-height:1.15;
  margin:0 0 20px;
  color:var(--black);
}
h1{font-size:clamp(2.2rem,5vw,3.6rem);}
h2{font-size:clamp(1.7rem,3.4vw,2.5rem);}
h3{font-size:1.25rem;}
p{margin:0 0 16px;color:var(--grey);}
.lead{font-size:1.2rem;color:var(--charcoal);}
.eyebrow{
  font-family:var(--sans);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.78rem;
  font-weight:600;
  color:var(--red);
  margin-bottom:14px;
  display:inline-block;
}
.center{text-align:center;}
.section-head{max-width:720px;margin:0 auto 56px;text-align:center;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-block;
  font-family:var(--sans);
  font-weight:600;
  font-size:.95rem;
  letter-spacing:.02em;
  padding:16px 32px;
  border-radius:var(--radius);
  transition:all .2s ease;
  border:1px solid transparent;
  cursor:pointer;
}
.btn-primary{background:var(--red);color:var(--white);}
.btn-primary:hover{background:var(--red-dark);}
.btn-outline{border-color:var(--black);color:var(--black);}
.btn-outline:hover{background:var(--black);color:var(--white);}
.btn-outline-light{border-color:rgba(255,255,255,.5);color:var(--white);}
.btn-outline-light:hover{background:var(--white);color:var(--black);}
.btn-block{display:block;width:100%;text-align:center;}
.cta-row{display:flex;gap:16px;flex-wrap:wrap;}

/* ---------- Header ---------- */
header.site-header{
  position:sticky;top:0;z-index:100;
  background:var(--black);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.nav-wrap{
  max-width:var(--maxw);margin:0 auto;padding:0 24px;
  display:flex;align-items:center;justify-content:space-between;
  height:76px;
}
.logo{
  display:flex;
  align-items:center;
  gap:10px;
}
.logo img{
  height:42px;
  width:42px;
  display:block;
}
.logo-text{
  font-family:var(--serif);
  font-size:1.2rem;
  font-weight:700;
  color:var(--white);
  letter-spacing:.01em;
}
.logo-text span{color:var(--red);}
nav.main-nav ul{display:flex;gap:32px;align-items:center;}
nav.main-nav a{
  color:rgba(255,255,255,.82);
  font-size:.92rem;
  font-weight:500;
  transition:color .2s;
}
nav.main-nav a:hover,nav.main-nav a.active{color:var(--white);}
.nav-cta{
  background:var(--red);color:var(--white)!important;
  padding:10px 20px;border-radius:var(--radius);font-weight:600;
}
.nav-cta:hover{background:var(--red-dark);}
.menu-toggle{display:none;background:none;border:none;color:var(--white);font-size:1.6rem;cursor:pointer;}

@media (max-width:880px){
  nav.main-nav{
    position:fixed;top:76px;left:0;right:0;bottom:0;
    background:var(--black);
    display:flex;flex-direction:column;
    padding:32px 24px;
    transform:translateY(-110%);
    transition:transform .25s ease;
    overflow-y:auto;
  }
  nav.main-nav.open{transform:translateY(0);}
  nav.main-nav ul{flex-direction:column;align-items:flex-start;gap:22px;}
  .menu-toggle{display:block;}
}

/* ---------- Hero ---------- */
.hero{
  background:var(--black);
  color:var(--white);
  padding:120px 0 100px;
  position:relative;
  overflow:hidden;
}
.hero::after{
  content:"";position:absolute;right:-120px;top:-120px;
  width:480px;height:480px;border-radius:50%;
  background:radial-gradient(circle,rgba(185,28,44,.28),transparent 70%);
}
.hero .container{position:relative;z-index:2;}
.hero h1{color:var(--white);max-width:780px;}
.hero p.lead{color:rgba(255,255,255,.78);max-width:620px;}
.hero-stats{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:24px;margin-top:64px;border-top:1px solid rgba(255,255,255,.12);padding-top:40px;
}
.hero-stats .stat-num{font-family:var(--serif);font-size:2.2rem;color:var(--red);font-weight:700;}
.hero-stats .stat-label{font-size:.85rem;color:rgba(255,255,255,.7);margin-top:4px;}
@media (max-width:760px){.hero-stats{grid-template-columns:repeat(2,1fr);}}

/* ---------- Cards / grids ---------- */
.grid{display:grid;gap:28px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
@media (max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}}

.card{
  background:var(--white);
  border:1px solid var(--border);
  padding:32px;
  border-radius:var(--radius);
}
.card-dark{background:var(--black);color:var(--white);border:none;}
.card-dark h3,.card-dark h4{color:var(--white);}
.card-dark p{color:rgba(255,255,255,.72);}
.card .num,.problem-num{
  font-family:var(--serif);
  color:var(--red);
  font-size:1.6rem;
  font-weight:700;
  display:block;
  margin-bottom:8px;
}

.bg-dark{background:var(--black);color:var(--white);}
.bg-dark h2,.bg-dark h3,.bg-dark h4{color:var(--white);}
.bg-dark p{color:rgba(255,255,255,.72);}
.bg-cream2{background:var(--cream-2);}

/* ---------- Problem list ---------- */
.problem-item{
  display:flex;gap:18px;padding:24px 0;
  border-bottom:1px solid var(--border);
}
.problem-item:last-child{border-bottom:none;}
.problem-item .icon{
  font-family:var(--serif);color:var(--red);font-weight:700;font-size:1.1rem;
  flex-shrink:0;width:34px;
}
.problem-item h4{margin-bottom:6px;font-size:1.05rem;}
.problem-item p{margin:0;font-size:.95rem;}

/* ---------- Timeline ---------- */
.timeline{position:relative;padding-left:40px;border-left:2px solid var(--border);}
.timeline-item{position:relative;margin-bottom:48px;}
.timeline-item:last-child{margin-bottom:0;}
.timeline-item::before{
  content:"";position:absolute;left:-47px;top:2px;
  width:14px;height:14px;border-radius:50%;background:var(--red);
  border:3px solid var(--cream);
}
.timeline-phase{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--red);font-weight:700;margin-bottom:6px;}

/* ---------- Comparison table ---------- */
table.compare{width:100%;border-collapse:collapse;background:var(--white);}
table.compare th,table.compare td{
  padding:18px 20px;border:1px solid var(--border);text-align:left;font-size:.92rem;vertical-align:top;
}
table.compare th{background:var(--black);color:var(--white);font-family:var(--serif);font-weight:700;}
table.compare td.tradicional{color:var(--grey-light);}
table.compare td.reto{color:var(--charcoal);font-weight:600;border-left:3px solid var(--red);}
@media (max-width:760px){
  table.compare,table.compare thead,table.compare tbody,table.compare th,table.compare td,table.compare tr{display:block;width:100%;}
  table.compare tr{margin-bottom:14px;}
}

/* ---------- Testimonials ---------- */
.testimonial{
  background:var(--white);border-left:3px solid var(--red);
  padding:28px 32px;border-radius:var(--radius);
}
.testimonial p{font-style:italic;color:var(--charcoal);font-size:1.02rem;}
.testimonial .who{font-weight:600;color:var(--black);font-style:normal;font-size:.88rem;}

/* ---------- FAQ ---------- */
details.faq{
  border-bottom:1px solid var(--border);
  padding:20px 0;
}
details.faq summary{
  cursor:pointer;font-weight:600;font-size:1.02rem;color:var(--black);
  list-style:none;display:flex;justify-content:space-between;align-items:center;
}
details.faq summary::-webkit-details-marker{display:none;}
details.faq summary::after{content:"+";color:var(--red);font-size:1.4rem;font-weight:400;}
details.faq[open] summary::after{content:"–";}
details.faq .faq-a{margin-top:14px;color:var(--grey);}

/* ---------- CTA band ---------- */
.cta-band{
  background:var(--red);
  color:var(--white);
  text-align:center;
  padding:80px 0;
}
.cta-band h2{color:var(--white);}
.cta-band p{color:rgba(255,255,255,.88);}
.cta-band .btn-outline-light{margin:0 8px;}

/* ---------- Forms ---------- */
form.contact-form{display:flex;flex-direction:column;gap:18px;}
form.contact-form label{font-size:.85rem;font-weight:600;color:var(--charcoal);margin-bottom:6px;display:block;}
form.contact-form input,form.contact-form textarea,form.contact-form select{
  width:100%;padding:14px;border:1px solid var(--border);border-radius:var(--radius);
  font-family:var(--sans);font-size:.95rem;background:var(--white);
}
form.contact-form input:focus,form.contact-form textarea:focus{outline:2px solid var(--red);}

/* ---------- Footer ---------- */
footer{background:var(--black);color:rgba(255,255,255,.65);padding:64px 0 28px;}
footer h4, footer .footer-title{color:var(--white);font-size:1rem;font-family:var(--sans);font-weight:700;}
footer a{color:rgba(255,255,255,.65);}
footer a:hover{color:var(--white);}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;margin-bottom:48px;}
.footer-grid ul{display:flex;flex-direction:column;gap:10px;margin-top:14px;}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.12);
  padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
  font-size:.82rem;
}
@media (max-width:800px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.footer-grid{grid-template-columns:1fr;}}

/* ---------- Misc ---------- */
.tag{
  display:inline-block;background:var(--cream-2);color:var(--charcoal);
  font-size:.78rem;font-weight:600;padding:6px 14px;border-radius:20px;margin-right:8px;
}
.divider{height:1px;background:var(--border);margin:64px 0;}
.breadcrumb{font-size:.85rem;color:rgba(255,255,255,.55);margin-bottom:18px;}
.breadcrumb a{color:rgba(255,255,255,.8);}
.img-frame{border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);}
.flex-between{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}

/* ===========================================================
   Fase 1 (sep. 2026) — fuentes locales, accesibilidad,
   formularios, páginas legales
   =========================================================== */

/* ---------- Fuentes alojadas en el propio servidor ---------- */
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/inter-latin-400-normal.woff2") format("woff2");}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/inter-latin-500-normal.woff2") format("woff2");}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/inter-latin-600-normal.woff2") format("woff2");}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url("/assets/fonts/inter-latin-700-normal.woff2") format("woff2");}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/playfair-display-latin-600-normal.woff2") format("woff2");}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:700;font-display:swap;src:url("/assets/fonts/playfair-display-latin-700-normal.woff2") format("woff2");}

/* ---------- Contraste (WCAG AA) ---------- */
:root{--grey-light:#6e6e6e;}

/* ---------- Enlace para saltar al contenido ---------- */
.skip-link{
  position:absolute;left:16px;top:-100px;z-index:1000;
  background:var(--white);color:var(--black);
  padding:12px 18px;font-weight:600;border:2px solid var(--red);
}
.skip-link:focus{top:12px;}

/* ---------- Foco visible ---------- */
:focus-visible{outline:3px solid var(--red);outline-offset:3px;}
.bg-dark :focus-visible,header.site-header :focus-visible,footer :focus-visible,.hero :focus-visible,.cta-band :focus-visible{outline-color:var(--white);}
form.contact-form input:focus,form.contact-form textarea:focus,form.contact-form select:focus{outline:3px solid var(--red);outline-offset:1px;}

/* ---------- Enlaces dentro de texto: distinguibles sin depender del color ---------- */
.prose a,.legal a,.form-note a{color:var(--red);text-decoration:underline;text-underline-offset:3px;}
.prose a:hover,.legal a:hover,.form-note a:hover{color:var(--red-dark);}

/* ---------- Menú móvil ---------- */
.menu-toggle{align-items:center;gap:10px;min-height:44px;min-width:44px;padding:8px 4px;font-family:var(--sans);font-size:.9rem;font-weight:600;}
.menu-toggle-bars,.menu-toggle-bars::before,.menu-toggle-bars::after{display:block;width:22px;height:2px;background:currentColor;position:relative;transition:transform .2s ease;}
.menu-toggle-bars::before,.menu-toggle-bars::after{content:"";position:absolute;left:0;}
.menu-toggle-bars::before{top:-7px;}
.menu-toggle-bars::after{top:7px;}
.menu-toggle[aria-expanded="true"] .menu-toggle-bars{background:transparent;}
.menu-toggle[aria-expanded="true"] .menu-toggle-bars::before{transform:translateY(7px) rotate(45deg);}
.menu-toggle[aria-expanded="true"] .menu-toggle-bars::after{transform:translateY(-7px) rotate(-45deg);}
@media (max-width:880px){
  .menu-toggle{display:flex;}
  nav.main-nav{visibility:hidden;}
  nav.main-nav.open{visibility:visible;}
  nav.main-nav a{display:inline-block;padding:6px 0;font-size:1.05rem;}
}
nav.main-nav a[aria-current="page"]{color:var(--white);text-decoration:underline;text-underline-offset:6px;}
nav.main-nav a.nav-cta[aria-current="page"]{text-decoration:none;}

/* ---------- Pie ---------- */
footer .footer-title{color:var(--white);font-size:1rem;font-family:var(--sans);font-weight:700;margin:0;}
.footer-about{margin-top:16px;max-width:320px;color:rgba(255,255,255,.65);}
footer p{color:rgba(255,255,255,.65);}
.footer-legal{border-top:1px solid rgba(255,255,255,.12);padding:20px 0;}
.footer-legal ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px 24px;font-size:.88rem;}
.footer-legal a,.footer-legal .link-button{color:rgba(255,255,255,.8);text-decoration:underline;text-underline-offset:3px;}
.link-button{background:none;border:0;padding:0;font:inherit;cursor:pointer;color:inherit;}
.footer-bottom{border-top:0;padding-top:4px;}

/* ---------- Formularios ---------- */
.field-hint{display:block;font-size:.8rem;color:var(--grey);margin-top:4px;font-weight:400;}
.req{color:var(--red);}
.field-error{display:block;color:var(--red-dark);font-size:.85rem;font-weight:600;margin-top:6px;}
.field-error::before{content:"⚠ ";}
[aria-invalid="true"]{border-color:var(--red-dark)!important;border-width:2px!important;}
.check{display:flex;gap:12px;align-items:flex-start;font-size:.88rem;color:var(--charcoal);line-height:1.5;}
.check input[type="checkbox"]{width:22px;height:22px;flex:0 0 22px;margin:1px 0 0;accent-color:var(--red);}
form.contact-form .check label{font-weight:400;margin:0;display:inline;}
.form-note{font-size:.82rem;color:var(--grey);line-height:1.55;background:var(--cream);border:1px solid var(--border);padding:14px 16px;}
.form-note p{font-size:.82rem;margin:0 0 6px;}
.form-note p:last-child{margin:0;}
.form-alert{padding:14px 16px;border-left:4px solid var(--red);background:#fdf1f2;color:var(--black);font-size:.92rem;}
.form-alert:empty{display:none;}
.hp-field{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden;}
button[disabled]{opacity:.6;cursor:progress;}

/* ---------- Páginas legales ---------- */
.legal{max-width:820px;margin:0 auto;}
.legal h2{font-size:clamp(1.4rem,2.6vw,1.8rem);margin-top:48px;}
.legal h3{font-size:1.1rem;margin-top:28px;font-family:var(--sans);}
.legal p,.legal li{color:var(--charcoal);}
.legal ul{padding-left:22px;margin:0 0 16px;}
.legal li{margin-bottom:8px;}
.legal .meta{font-size:.88rem;color:var(--grey);}
.legal table{width:100%;border-collapse:collapse;margin:16px 0 24px;font-size:.9rem;background:var(--white);}
.legal th,.legal td{border:1px solid var(--border);padding:12px 14px;text-align:left;vertical-align:top;}
.legal th{background:var(--cream-2);font-weight:600;}
.legal .table-wrap{overflow-x:auto;}
.legal dl{display:grid;grid-template-columns:minmax(160px,220px) 1fr;gap:8px 20px;background:var(--white);border:1px solid var(--border);padding:20px;}
.legal dt{font-weight:600;color:var(--black);}
.legal dd{margin:0;color:var(--charcoal);}
@media (max-width:600px){.legal dl{grid-template-columns:1fr;}.legal dd{margin-bottom:10px;}}

/* ---------- Movimiento reducido ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
}

/* ---------- Utilidades ---------- */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ---------- Contraste del rojo sobre fondos oscuros (WCAG AA) ---------- */
:root{--red-on-dark:#ef6b76;}
.hero .eyebrow,.bg-dark .eyebrow,.card-dark .eyebrow,
.bg-dark .num,.card-dark .num,.bg-dark .problem-num,.card-dark .problem-num,
.hero-stats .stat-num,.logo-text span{color:var(--red-on-dark);}
.breadcrumb a{text-decoration:underline;text-underline-offset:3px;}
nav.main-nav ul,.footer-grid ul,.footer-legal ul{list-style:none;}
.card-dark h2{color:var(--white);}

/* ===========================================================
   Fase 2 (sep. 2026) — componentes de reposicionamiento
   =========================================================== */
.section-sm{padding:64px 0;}
.lead-dark{color:rgba(255,255,255,.8);}
.kicker{font-size:.95rem;color:var(--grey);max-width:720px;}
.center .kicker,.section-head .kicker{margin-left:auto;margin-right:auto;}

/* Hero de la home */
.hero-home{padding:112px 0 88px;}
.hero-home h1{max-width:900px;font-size:clamp(2.2rem,5vw,3.5rem);}
.hero-home .lead{max-width:680px;font-size:1.2rem;}
.hero-proof{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:48px;padding-top:28px;border-top:1px solid rgba(255,255,255,.14);
  list-style:none;font-size:.92rem;color:rgba(255,255,255,.78);}
.hero-proof li::before{content:"—";color:var(--red-on-dark);margin-right:10px;}

/* Tarjetas de situación / servicio */
.tile{background:var(--white);border:1px solid var(--border);padding:28px;display:flex;flex-direction:column;gap:10px;border-radius:var(--radius);}
.tile h3{margin:0;font-size:1.15rem;}
.tile p{margin:0;font-size:.95rem;}
.tile .tile-link{margin-top:auto;padding-top:8px;font-weight:600;color:var(--red);text-decoration:underline;text-underline-offset:3px;}
.tile .tile-meta{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--grey);font-weight:600;}
.tile-accent{border-top:3px solid var(--red);}

/* Tabla de oferta / comparación general */
.table-wrap{overflow-x:auto;}
table.data{width:100%;border-collapse:collapse;background:var(--white);font-size:.93rem;}
table.data caption{text-align:left;font-weight:600;color:var(--black);padding:0 0 12px;}
table.data th,table.data td{padding:16px 18px;border:1px solid var(--border);text-align:left;vertical-align:top;}
table.data thead th{background:var(--black);color:var(--white);font-weight:600;}
table.data tbody th{font-weight:600;color:var(--black);background:var(--cream);}
table.data td strong{color:var(--black);}
@media (max-width:760px){
  table.data.stack thead{position:absolute;left:-10000px;}
  table.data.stack,table.data.stack tbody,table.data.stack tr,table.data.stack th,table.data.stack td{display:block;width:100%;}
  table.data.stack tr{margin-bottom:16px;border:1px solid var(--border);}
  table.data.stack td,table.data.stack tbody th{border:0;border-bottom:1px solid var(--border);}
  table.data.stack td[data-label]::before{content:attr(data-label);display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--grey);font-weight:600;margin-bottom:4px;}
}

/* Pasos de metodología */
ol.steps{list-style:none;counter-reset:paso;display:grid;grid-template-columns:repeat(5,1fr);gap:20px;padding:0;margin:0;}
ol.steps li{counter-increment:paso;border-top:3px solid var(--red);padding-top:18px;}
ol.steps li::before{content:counter(paso,decimal-leading-zero);font-family:var(--serif);font-weight:700;color:var(--red);font-size:1.4rem;display:block;margin-bottom:8px;}
ol.steps h3{font-size:1.05rem;margin-bottom:8px;}
ol.steps p{font-size:.92rem;margin:0;}
.bg-dark ol.steps li::before{color:var(--red-on-dark);}
@media (max-width:980px){ol.steps{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){ol.steps{grid-template-columns:1fr;}}

/* Bloques partidos (texto + lateral) */
.split{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:start;}
.split-media{display:grid;grid-template-columns:300px 1fr;gap:48px;align-items:start;}
@media (max-width:900px){.split,.split-media{grid-template-columns:1fr;gap:32px;}}
.portrait{border:1px solid var(--border);background:var(--cream-2);}
.portrait img{width:100%;height:auto;}

/* Listas de verificación */
ul.checks{list-style:none;padding:0;margin:0 0 16px;}
ul.checks li{position:relative;padding-left:28px;margin-bottom:10px;color:var(--charcoal);}
ul.checks li::before{content:"✓";position:absolute;left:0;color:var(--red);font-weight:700;}
.bg-dark ul.checks li{color:rgba(255,255,255,.85);}
.bg-dark ul.checks li::before{color:var(--red-on-dark);}
ul.plain{padding-left:20px;margin:0 0 16px;}
ul.plain li{margin-bottom:8px;color:var(--charcoal);}

/* Datos / hechos */
dl.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin:0;border-top:1px solid var(--border);}
dl.facts div{padding:18px 0;border-bottom:1px solid var(--border);padding-right:20px;}
dl.facts dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--grey);font-weight:600;margin-bottom:4px;}
dl.facts dd{margin:0;color:var(--black);font-weight:500;}
@media (max-width:600px){dl.facts{grid-template-columns:1fr;}}

/* Resultados con contexto */
.result{background:var(--white);border:1px solid var(--border);border-left:3px solid var(--red);padding:24px 26px;}
.result .result-figure{font-family:var(--serif);font-size:1.5rem;font-weight:700;color:var(--black);margin:0 0 6px;}
.result p{margin:0 0 6px;font-size:.93rem;}
.result .result-type{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--grey);font-weight:600;}

/* Cita */
blockquote.pull{margin:0;padding:28px 32px;border-left:3px solid var(--red);background:var(--white);font-family:var(--serif);font-size:1.35rem;line-height:1.4;color:var(--black);}
blockquote.pull footer{background:none;padding:0;margin-top:12px;font-family:var(--sans);font-size:.88rem;color:var(--grey);}

/* Aviso de alcance (qué es / qué no es) */
.note{border:1px solid var(--border);background:var(--cream);padding:18px 20px;font-size:.92rem;color:var(--charcoal);}
.note strong{color:var(--black);}

.faq-list{max-width:860px;margin:0 auto;}
.testimonial p{margin-bottom:10px;}
table.data a{color:var(--red);text-decoration:underline;text-underline-offset:3px;}
ol.steps.steps-4{grid-template-columns:repeat(4,1fr);}
@media (max-width:980px){ol.steps.steps-4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){ol.steps.steps-4{grid-template-columns:1fr;}}
.split>*,.split-media>*,.grid>*{min-width:0;}
.tile p a,.card p a:not(.btn),.card li a,.note a,.faq-a a,dl.facts a{color:var(--red);text-decoration:underline;text-underline-offset:3px;}
.bg-dark .tile p a,.card-dark p a{color:#fff;}
dl.facts.facts-4{grid-template-columns:repeat(4,1fr);}
@media (max-width:900px){dl.facts.facts-4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){dl.facts.facts-4{grid-template-columns:1fr;}}
@media (min-width:881px) and (max-width:1180px){nav.main-nav ul{gap:18px;}nav.main-nav a{font-size:.86rem;}.nav-cta{padding:9px 14px;}}
@media (min-width:881px) and (max-width:980px){
  nav.main-nav{position:fixed;top:76px;left:0;right:0;bottom:0;background:var(--black);display:flex;flex-direction:column;padding:32px 24px;transform:translateY(-110%);transition:transform .25s ease;overflow-y:auto;visibility:hidden;}
  nav.main-nav.open{transform:translateY(0);visibility:visible;}
  nav.main-nav ul{flex-direction:column;align-items:flex-start;gap:22px;}
  nav.main-nav a{display:inline-block;padding:6px 0;font-size:1.05rem;}
  .menu-toggle{display:flex;}
}
.prose h2{margin-top:48px;}
.prose>h2:first-child,.prose>.eyebrow+h2,.split .prose h2:first-child{margin-top:0;}
.prose h3{margin-top:24px;margin-bottom:10px;}
.prose .table-wrap{margin:8px 0 20px;}

/* Artículos (Fase 4) */
.article-body{max-width:760px;}
.article-body p,.article-body li{font-size:1.02rem;line-height:1.75;}
.byline{color:rgba(255,255,255,.75);font-size:.9rem;margin:8px 0 0;}
.byline a{color:#fff;text-decoration:underline;text-underline-offset:3px;}
.answer{background:var(--white);border:1px solid var(--border);border-left:4px solid var(--red);padding:22px 26px;margin-bottom:12px;}
.answer p{margin:0;color:var(--charcoal);}
.answer .answer-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--red);margin-bottom:8px;}
.author-box{display:grid;grid-template-columns:96px 1fr;gap:20px;align-items:center;}
.author-box img{width:96px;height:120px;object-fit:cover;border:1px solid var(--border);}
.author-box a{color:var(--black);text-decoration:underline;text-underline-offset:3px;}
@media (max-width:520px){.author-box{grid-template-columns:72px 1fr;}.author-box img{width:72px;height:90px;}}
.article-list{display:grid;gap:0;border-top:1px solid var(--border);}
.article-list article{padding:28px 0;border-bottom:1px solid var(--border);}
.article-list h3{font-size:1.35rem;margin:6px 0 8px;}
.article-list h3 a{color:var(--black);}
.article-list h3 a:hover{color:var(--red);}
.article-list p{margin:0 0 8px;}
