/* Paleta tomada del logotipo: azul #103880 y rojo #EE1B24 */
:root{--navy:#103880;--sea:#2A62C9;--sun:#D8141E;--foam:#EBF0FA;--sand:#FDECEC;--ink:#092c79;--line:#CCD6EB}
*{box-sizing:border-box}
body{margin:0;font:17px/1.6 'Source Sans 3',system-ui,sans-serif;color:var(--ink);background:#fff}
h1,h2,h3{font-family:'Outfit',system-ui,sans-serif;color:var(--navy);line-height:1.2}
.brand{display:flex;align-items:center}
.brand img{height:58px;width:auto;display:block}
a{color:#1c4fb0}
:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.4rem 1.5rem;background:#fff;position:sticky;top:0;z-index:20;border-bottom:4px solid var(--sun);box-shadow:0 2px 8px rgba(16,56,128,.12)}

nav{display:flex;gap:.2rem;flex-wrap:wrap}
nav a{color:var(--navy);text-decoration:none;padding:.5rem .8rem;border-radius:6px;font-weight:600}
nav a:hover{background:var(--foam)}
nav a[aria-current]{background:var(--navy);color:#fff}
.burger{display:none;background:none;border:0;color:var(--navy);font-size:1.8rem;cursor:pointer}
.slider{position:relative;height:min(75vh,780px);background:var(--navy);overflow:hidden}
.slide{position:absolute;inset:0;background:linear-gradient(135deg,var(--navy),var(--sea)) center/cover;opacity:0;transition:opacity .9s;display:flex;align-items:flex-end}
.slide:nth-child(2){background-image:linear-gradient(135deg,var(--navy),var(--sun))}
.slide:nth-child(3){background-image:linear-gradient(135deg,var(--sea),var(--navy))}
.slide.on{opacity:1}
.cap{padding:2rem clamp(1.2rem,6vw,5rem) 4rem;color:#fff;max-width:900px}
.cap h1{color:#fff;font-size:clamp(2rem,5vw,3.6rem);margin:0 0 .3rem}
.cap p{font-size:1.2rem;margin:0}
.prev,.next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(16,56,128,.65);color:#fff;border:0;font-size:2rem;width:46px;height:46px;border-radius:50%;cursor:pointer}
.prev{left:1rem}.next{right:1rem}
.dots{position:absolute;bottom:1.2rem;left:0;right:0;display:flex;justify-content:center;gap:.5rem}
.dots button{width:12px;height:12px;border-radius:50%;border:2px solid #fff;background:transparent;padding:0;cursor:pointer}
.dots button.on{background:var(--sun);border-color:var(--sun)}
.wrap{max-width:1000px;margin:0 auto;padding:2.5rem 1.5rem}
.quick{text-align:center}
.btns{display:flex;gap:1.2rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}
.btn{display:inline-block;padding:1rem 1.8rem;border-radius:10px;font:700 1.1rem 'Outfit',sans-serif;text-decoration:none;border:0;cursor:pointer;color:#fff}
.btn-sea{background:var(--navy)}.btn-sea:hover{background:#0b2a63}
.btn-sun{background:var(--sun)}.btn-sun:hover{background:#b30f18}
.btns .btn{min-width:300px;padding:1.6rem 2rem;font-size:1.25rem}
.aviso{display:flex;gap:1.2rem;padding:1rem 0;border-top:1px solid var(--line)}
.aviso time{color:var(--sun);font-weight:700;white-space:nowrap}.aviso h3,.aviso p{margin:0}
.page h1{font-size:2.4rem;border-bottom:4px solid var(--sea);display:inline-block;padding-bottom:.2rem}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}
.timeline{list-style:none;padding:0 0 0 1.4rem;border-left:4px solid var(--sea)}
.timeline li{margin:1.2rem 0}.timeline b{display:block;color:var(--navy)}
.card{background:var(--foam);border-left:5px solid var(--sun);padding:1rem 1.3rem;margin:1rem 0;border-radius:0 8px 8px 0}
.card h3,.card p{margin:.2rem 0}
.form{display:grid;gap:1rem;max-width:600px}
.form label{display:grid;gap:.3rem;font-weight:600}
input,textarea,select{font:inherit;padding:.6rem;border:1px solid var(--line);border-radius:6px}
.msg{padding:.8rem 1rem;border-radius:6px}.ok{background:#dff5e7}.bad{background:#fde3e1}
.tabs{display:flex;gap:.5rem;margin:1rem 0}
.tabs a{padding:.5rem 1rem;border-radius:20px;background:var(--foam);text-decoration:none;font-weight:600}
.tabs a.on{background:var(--navy);color:#fff}
.scroll{overflow-x:auto}
table{width:100%;border-collapse:collapse}
th{background:var(--navy);color:#fff;text-align:left}
th,td{padding:.7rem;border-bottom:1px solid var(--line);vertical-align:top}
.tag{padding:.15rem .6rem;border-radius:12px;font-size:.85rem;font-weight:600;background:var(--sand);border:1px solid var(--sun);white-space:nowrap}
.tag.completado{background:#dff5e7;border-color:#3aa561}
.tag.en-proceso{background:var(--foam);border-color:var(--sea)}
.foot{background:var(--navy);color:#e6ecf8;display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:2.5rem clamp(1.2rem,6vw,5rem) 1rem;border-top:6px solid var(--sea)}
.foot h3{color:#fff;margin-top:0}.foot a{color:#fff}.foot p{margin:.3rem 0}
.map iframe{width:100%;height:200px;border:0;border-radius:8px}
.copy{grid-column:1/-1;text-align:center;font-size:.9rem;opacity:.8;border-top:1px solid rgba(255,255,255,.2);padding-top:1rem}
@media(max-width:800px){
 .burger{display:block}
 nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:4px solid var(--sun);flex-direction:column;padding:.5rem 1rem}
 nav.open{display:flex}
 .foot{grid-template-columns:1fr}
 .btns .btn{min-width:100%}
}
@media(prefers-reduced-motion:reduce){.slide{transition:none}}
