/* ============================================================
   ComparaEOR — sistema de diseño
   Tinta contable + papel frío + ámbar de sello
   Display: Bricolage Grotesque · Cuerpo: Public Sans · Datos: IBM Plex Mono
   ============================================================ */

:root{
  --tinta:#16233A;
  --tinta-2:#43536B;
  --papel:#F6F7F4;
  --blanco:#FFFFFF;
  --linea:#DEE3E9;
  --ambar:#E7A13C;
  --ambar-suave:#FBF1DC;
  --verde:#1E7A5B;
  --verde-suave:#E6F2EC;
  --rojo:#B0503A;
  --rojo-suave:#F7E9E4;
  --radio:10px;
  --ancho:1080px;
  --f-display:"Bricolage Grotesque",system-ui,sans-serif;
  --f-cuerpo:"Public Sans",system-ui,sans-serif;
  --f-datos:"IBM Plex Mono",ui-monospace,monospace;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--f-cuerpo);
  font-size:1.0625rem;line-height:1.65;
  color:var(--tinta);background:var(--papel);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--ambar);outline-offset:2px;border-radius:4px}

.saltar{position:absolute;left:-9999px;background:var(--tinta);color:#fff;padding:.6rem 1rem;z-index:99}
.saltar:focus{left:12px;top:12px}

.contenedor{max-width:var(--ancho);margin:0 auto;padding:0 20px}

/* ---------- Cabecera ---------- */
.cabecera{background:var(--blanco);border-bottom:1px solid var(--linea);position:sticky;top:0;z-index:50}
.cabecera .contenedor{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.85rem;padding-bottom:.85rem}
.marca{font-family:var(--f-display);font-weight:800;font-size:1.35rem;text-decoration:none;letter-spacing:-.01em}
.marca span{color:var(--ambar)}
.nav{display:flex;gap:1.4rem}
.nav a{font-size:.95rem;font-weight:600;text-decoration:none;color:var(--tinta-2)}
.nav a:hover{color:var(--tinta);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--ambar)}

/* ---------- Utilidades tipográficas ---------- */
.ceja{font-family:var(--f-datos);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-2);display:inline-flex;align-items:center;gap:.5rem}
.ceja::before{content:"";width:22px;height:2px;background:var(--ambar)}
.sello{font-family:var(--f-datos);font-size:.72rem;letter-spacing:.06em;color:var(--tinta-2);background:var(--ambar-suave);border:1px solid #EBD3A4;border-radius:999px;padding:.28rem .7rem;display:inline-block}
h1{font-family:var(--f-display);font-weight:800;font-size:clamp(1.9rem,5.4vw,3.1rem);line-height:1.08;letter-spacing:-.02em}
h2{font-family:var(--f-display);font-weight:700;font-size:clamp(1.4rem,3.4vw,1.9rem);line-height:1.2;letter-spacing:-.01em;margin-bottom:.75rem}
h3{font-family:var(--f-display);font-weight:700;font-size:1.15rem;margin-bottom:.4rem}
.sub{color:var(--tinta-2);font-size:1.1rem;max-width:56ch}

/* ---------- Bloques ---------- */
.seccion{padding:3.4rem 0}
.seccion--blanca{background:var(--blanco);border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.hero{padding:3.2rem 0 2.6rem}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:2.4rem;align-items:center}
.hero h1 .sub-ambar{box-shadow:inset 0 -0.42em var(--ambar-suave)}
.hero .acciones{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.4rem}

.boton{display:inline-block;font-weight:700;font-size:1rem;text-decoration:none;border-radius:var(--radio);padding:.8rem 1.3rem;border:2px solid var(--tinta);transition:transform .12s ease,background .12s ease}
.boton--primario{background:var(--tinta);color:#fff}
.boton--primario:hover{transform:translateY(-2px);background:#0F1A2E}
.boton--secundario{background:transparent;color:var(--tinta)}
.boton--secundario:hover{background:var(--blanco)}

/* ---------- Chips de países (firma) ---------- */
.paises{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.2rem}
.pais{font-family:var(--f-datos);font-size:.8rem;font-weight:600;letter-spacing:.05em;border:1.5px solid var(--tinta);border-radius:6px;padding:.3rem .6rem;background:var(--blanco)}
.pais small{color:var(--tinta-2);font-weight:400;letter-spacing:0}
.pais--pronto{border-style:dashed;border-color:var(--tinta-2);color:var(--tinta-2)}

/* ---------- Tarjeta-tabla (héroe) ---------- */
.tarjeta{background:var(--blanco);border:1.5px solid var(--tinta);border-radius:var(--radio);box-shadow:6px 6px 0 var(--ambar-suave);overflow:hidden}
.tarjeta__cab{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.8rem 1rem;border-bottom:1px solid var(--linea);flex-wrap:wrap}
.tarjeta__cab strong{font-family:var(--f-display);font-size:1rem}

/* ---------- Tablas ---------- */
.tabla-envoltura{overflow-x:auto}
table{width:100%;border-collapse:collapse;background:var(--blanco);font-size:.95rem}
caption{text-align:left;font-family:var(--f-datos);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-2);padding:.7rem 1rem;background:var(--blanco)}
th,td{padding:.75rem .9rem;border-top:1px solid var(--linea);text-align:left;vertical-align:top}
thead th{border-top:none;background:var(--tinta);color:#fff;font-family:var(--f-datos);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
tbody th{font-weight:600;color:var(--tinta-2);font-size:.88rem;white-space:nowrap}
.dato{font-family:var(--f-datos);font-size:.88rem}
.pro{background:var(--verde-suave);color:var(--verde);font-weight:600}
.contra{background:var(--rojo-suave);color:var(--rojo);font-weight:600}
tbody tr:hover td,tbody tr:hover th{background:#FBFBF8}
.nota-tabla{font-size:.85rem;color:var(--tinta-2);padding:.7rem .2rem 0}

/* ---------- Ficha de definición (citable) ---------- */
.ficha{background:var(--blanco);border-left:5px solid var(--ambar);border-radius:0 var(--radio) var(--radio) 0;padding:1.4rem 1.6rem;max-width:760px}
.ficha p{font-size:1.12rem}

/* ---------- Veredicto ---------- */
.veredicto{background:var(--tinta);color:#fff;border-radius:var(--radio);padding:1.5rem 1.7rem;margin:1.6rem 0}
.veredicto .ceja{color:#C9D2E2}
.veredicto .ceja::before{background:var(--ambar)}
.veredicto p{font-size:1.08rem}

/* ---------- Tarjetas de escenario ---------- */
.escenarios{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.2rem}
.escenario{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--radio);padding:1.2rem}
.escenario .resultado{font-family:var(--f-datos);font-size:.8rem;font-weight:600;letter-spacing:.05em;color:var(--verde);margin-top:.6rem;display:block}

/* ---------- FAQ ---------- */
.faq details{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--radio);margin-bottom:.7rem;padding:1rem 1.2rem}
.faq summary{font-weight:700;cursor:pointer;font-family:var(--f-display);font-size:1.02rem}
.faq details[open]{border-color:var(--tinta)}
.faq details p{margin-top:.7rem;color:var(--tinta-2)}

/* ---------- Aviso / transparencia ---------- */
.aviso{background:var(--ambar-suave);border:1px solid #EBD3A4;border-radius:var(--radio);padding:1rem 1.2rem;font-size:.95rem}

/* ---------- Prosa (metodología / artículo) ---------- */
.prosa{max-width:760px}
.prosa p{margin-bottom:1rem}
.prosa h2{margin-top:2.2rem}
.prosa h3{margin-top:1.6rem}
.prosa ol{margin:1rem 0 1rem 1.3rem}
.prosa ol li{margin-bottom:.6rem}
.prosa ul{margin:1rem 0 1rem 1.3rem}
.prosa ul li{margin-bottom:.4rem}

/* ---------- Pie ---------- */
.pie{background:var(--tinta);color:#B9C3D6;padding:2.6rem 0;margin-top:3rem;font-size:.9rem}
.pie a{color:#fff}
.pie .marca{color:#fff;font-size:1.15rem}
.pie .marca span{color:var(--ambar)}
.pie p{margin-top:.8rem;max-width:72ch}
.pie .legal{margin-top:1.4rem;border-top:1px solid #2A3A57;padding-top:1.2rem;font-size:.82rem}

/* ---------- Animación de entrada ---------- */
@media (prefers-reduced-motion:no-preference){
  .entra{opacity:0;transform:translateY(14px);animation:entrar .7s ease forwards}
  .entra--2{animation-delay:.12s}
  .entra--3{animation-delay:.24s}
  @keyframes entrar{to{opacity:1;transform:none}}
}

/* ---------- Responsive ---------- */
@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr;gap:1.8rem}
  .escenarios{grid-template-columns:1fr}
  .nav{gap:1rem}
  body{font-size:1rem}
}
