:root{
  --azul:#3a4f70; --azul-claro:#4f6f99; --acento:#5f8fa8;
  --texto:#1f2633; --suave:#5b6577; --fondo:#ffffff; --fondo-alt:#f3f6fa; --borde:#dfe5ee;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;color:var(--texto);background:var(--fondo);line-height:1.6;font-size:16px}
a{color:var(--azul-claro)}
.contenedor{max-width:1080px;margin:0 auto;padding:0 20px}

/* Cabecera */
header{background:#fff;border-bottom:1px solid var(--borde);position:sticky;top:0;z-index:10}
header .contenedor{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;flex-wrap:wrap}
header img{height:46px;width:auto;display:block}
nav{display:flex;gap:22px;flex-wrap:wrap}
nav a{color:var(--texto);text-decoration:none;font-weight:500;font-size:15px}
nav a:hover{color:var(--azul-claro)}

/* Portada */
.hero{background:linear-gradient(135deg,var(--azul) 0%,var(--azul-claro) 100%);color:#fff;padding:84px 0 92px}
.hero h1{font-size:clamp(28px,4.4vw,44px);line-height:1.2;max-width:760px;font-weight:700}
.hero p{margin-top:18px;font-size:clamp(16px,2vw,19px);max-width:640px;opacity:.92}
.btn{display:inline-block;margin-top:30px;background:#fff;color:var(--azul);padding:13px 26px;border-radius:8px;font-weight:600;text-decoration:none}
.btn:hover{background:#e8eef6}

/* Secciones */
section{padding:72px 0}
section.alt{background:var(--fondo-alt)}
h2{font-size:clamp(24px,3vw,32px);color:var(--azul);margin-bottom:10px}
.intro{color:var(--suave);max-width:680px;margin-bottom:36px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.tarjeta{background:#fff;border:1px solid var(--borde);border-radius:12px;padding:28px}
.tarjeta .icono{width:46px;height:46px;border-radius:10px;background:#e7eef7;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.tarjeta .icono svg{width:24px;height:24px;stroke:var(--azul);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tarjeta h3{font-size:19px;margin-bottom:8px;color:var(--texto)}
.tarjeta p{color:var(--suave);font-size:15px}
.tarjeta ul{margin:12px 0 0 18px;color:var(--suave);font-size:15px}

.datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.dato{background:#fff;border:1px solid var(--borde);border-radius:12px;padding:22px}
.dato a{overflow-wrap:anywhere}
.dato strong{display:block;color:var(--azul);font-size:13px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}

/* Páginas legales */
.legal{padding:56px 0 72px}
.legal .contenedor{max-width:820px}
.legal h1{font-size:clamp(26px,3.6vw,36px);color:var(--azul);margin-bottom:6px}
.legal .fecha{color:var(--suave);margin-bottom:30px}
.legal h2{font-size:21px;margin:32px 0 10px}
.legal p,.legal li{margin-bottom:10px}
.legal ul,.legal ol{margin-left:22px}
.aviso{background:var(--fondo-alt);border-left:4px solid var(--azul-claro);padding:16px 20px;border-radius:6px;margin:18px 0}

/* Pie */
footer{background:#1f2a3c;color:#c9d2df;padding:40px 0 30px;font-size:14px}
footer .contenedor{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px}
footer a{color:#fff;text-decoration:none}
footer a:hover{text-decoration:underline}
footer .links{display:flex;flex-direction:column;gap:6px}
footer .copy{width:100%;border-top:1px solid #34425a;padding-top:18px;margin-top:8px;color:#8f9bb0}

@media (max-width:640px){
  header .contenedor{justify-content:center;padding:12px 16px}
  nav{justify-content:center;gap:16px}
  .contenedor{padding:0 16px}
  .hero{padding:56px 0 64px}
  section{padding:52px 0}
}
