:root{--azul:#1341d1;--rojo:#d81e1e;--gris:#f5f6f8;--texto:#2b2b2b;--fondo:#fff;--borde:#e2e5ea;--sombra:0 2px 10px rgba(19,65,209,.1)}
*{box-sizing:border-box}body{margin:0;background:var(--fondo);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--texto);line-height:1.65;font-size:17px}
header{background:#fff;text-align:center;padding:16px 20px;border-bottom:3px solid var(--rojo)}
header a.logo{display:inline-flex;align-items:center;justify-content:center}header a.logo img{height:72px;width:auto;display:block}
nav{background:var(--gris);display:flex;flex-wrap:wrap;justify-content:center;padding:6px 12px;font-size:.92em;border-bottom:1px solid var(--borde)}
nav a{color:var(--azul);text-decoration:none;padding:8px 10px;display:inline-block}nav a:hover{text-decoration:underline;color:var(--rojo)}
.breadcrumb{max-width:760px;margin:14px auto 0;padding:0 20px;font-size:.85em;color:#666}
.breadcrumb a{color:var(--azul)}
main{max-width:760px;margin:0 auto;padding:24px 20px}
main.portada{max-width:1080px}
h1{color:var(--azul);font-size:1.7em;line-height:1.25}h2{color:var(--azul);font-size:1.25em;margin-top:1.6em}
table{border-collapse:collapse;width:100%;margin:0;font-size:.95em}th{background:var(--azul);color:#fff;text-align:left}th,td{border:1px solid #ddd;padding:8px 10px}
div.tabla{overflow-x:auto;margin:1em 0;-webkit-overflow-scrolling:touch}
.destacado{background:var(--gris);border-left:4px solid var(--rojo);padding:12px 16px;margin:1.2em 0}
.fecha{color:#777;font-size:.85em}
.news{background:var(--azul);color:#fff;padding:20px;border-radius:12px;margin:2em 0}
.news h3{margin-top:0}
.news form{display:flex;flex-wrap:wrap;gap:8px}
.news input[type=email]{padding:12px;border:0;border-radius:6px;flex:1 1 220px;min-height:44px;font-size:1em}
.news button{padding:12px 20px;border:0;border-radius:6px;background:var(--rojo);color:#fff;font-weight:700;cursor:pointer;min-height:44px;font-size:1em}
.news button:hover{background:#a81616}
/* Hero de portada */
.hero{text-align:center;padding:36px 20px 28px}
.hero h1{font-size:2em}
.hero p.sub{font-size:1.1em;color:#555;max-width:640px;margin:0.6em auto 1.4em}
.hero .news{max-width:520px;margin:1.5em auto 0;text-align:left}
/* Cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin:1.6em 0}
.card{border:1px solid var(--borde);border-radius:12px;padding:18px;background:var(--fondo);box-shadow:var(--sombra);text-decoration:none;color:inherit;display:block;transition:transform .15s ease,box-shadow .15s ease}
.card:hover{box-shadow:0 6px 20px rgba(19,65,209,.18);transform:translateY(-2px)}
.card h3{margin:0 0 .4em;color:var(--azul);font-size:1.08em}
.card p{margin:0;font-size:.92em;color:#555}
.archivo{margin-top:2.4em;padding-top:1.2em;border-top:1px solid var(--borde)}
.archivo h2{margin-top:0}
.archivo ul{padding-left:1.1em;font-size:.92em;color:#666}
.archivo li{margin:.3em 0}
.archivo a{color:#666}
footer{background:var(--gris);text-align:center;padding:18px;font-size:.85em;color:#666;margin-top:40px}footer a{color:var(--azul)}
@media(max-width:600px){
main{padding:16px 14px}
h1{font-size:1.4em}
.hero h1{font-size:1.5em}
.news input[type=email]{width:100%}
nav{padding:4px 8px}
nav a{padding:8px}
}
@media(prefers-color-scheme:dark){
:root{--fondo:#151b23;--gris:#1d252f;--texto:#e6e8eb;--borde:#2b3441;--sombra:0 2px 10px rgba(0,0,0,.35)}
th,td{border-color:#3a4453}
.archivo a,.card p{color:#aab2bd}
.hero p.sub{color:#aab2bd}
}
