:root{--fondo:#fbfaf8;--texto:#1f2328;--suave:#5b636d;--linea:#e4e1dc;--acento:#1f5f8b;--tarjeta:#fff}
@media (prefers-color-scheme:dark){:root{--fondo:#15181c;--texto:#e7e9ec;--suave:#a1a8b0;--linea:#2b3036;--acento:#7cb4dc;--tarjeta:#1c2026}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fondo);color:var(--texto);font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
main,header,footer{max-width:46rem;margin:0 auto;padding:0 1rem}
header{padding-top:2.5rem;padding-bottom:1rem;border-bottom:1px solid var(--linea)}
header a{color:inherit;text-decoration:none}
.marca{font-size:1.35rem;font-weight:650;letter-spacing:-.01em}
.sub{color:var(--suave);margin:.15rem 0 0}
main{padding-top:1.5rem;padding-bottom:2.5rem}
h1{font-size:1.7rem;line-height:1.25;letter-spacing:-.015em;margin:.5rem 0 1rem}
h2{font-size:1.15rem;margin:2rem 0 .5rem}
a{color:var(--acento)}
.sedes{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));margin:1rem 0}
.sede{background:var(--tarjeta);border:1px solid var(--linea);border-radius:10px;padding:1rem 1.1rem}
.sede h3{margin:0 0 .25rem;font-size:1.05rem}
.sede p{margin:0;color:var(--suave)}
table{border-collapse:collapse;width:100%;font-size:.95rem}
td,th{border-bottom:1px solid var(--linea);padding:.45rem .5rem;text-align:left;vertical-align:top}
.fecha{color:var(--suave);font-size:.95rem}
.aviso{background:var(--tarjeta);border-left:3px solid var(--acento);padding:.75rem 1rem;border-radius:4px}
footer{border-top:1px solid var(--linea);padding-top:1rem;padding-bottom:2rem;color:var(--suave);font-size:.9rem}
footer a{color:var(--suave)}
