:root{--azul:#25207a;--noche:#120f3f;--rojo:#e30613;--rojo-o:#b8050f;--tinta:#1b1a2b;--gris:#5c5b6e;--linea:#e3e2ec;--suave:#f5f4fa}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;font:400 17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--tinta);background:#fff}
a{color:inherit}img{max-width:100%;height:auto;display:block}
.c{width:min(1140px,100% - 40px);margin-inline:auto}
.salto{position:absolute;left:-999px;top:0;background:#fff;padding:10px 14px;z-index:30}.salto:focus{left:10px;top:10px}
header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--linea)}
.barra{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}
.logo img{width:270px}
nav{display:flex;align-items:center;gap:26px;font-weight:600;font-size:15px}
nav a{text-decoration:none}nav a:hover{color:var(--rojo)}
.boton{display:inline-block;padding:13px 22px;border-radius:6px;font-weight:700;text-decoration:none;border:2px solid transparent;transition:background .15s,color .15s,border-color .15s}
.b-rojo{background:var(--rojo);color:#fff}.b-rojo:hover{background:var(--rojo-o)}
.b-linea{border-color:#ffffff80;color:#fff}.b-linea:hover{background:#fff;color:var(--azul)}
.b-azul{border-color:var(--azul);color:var(--azul)}.b-azul:hover{background:var(--azul);color:#fff}
nav .boton{padding:9px 16px;color:#fff}nav .boton:hover{color:#fff}
.heroe{background:radial-gradient(900px 520px at 88% 8%,#e3061359,transparent 68%),linear-gradient(150deg,var(--noche),var(--azul));color:#fff}
.heroe .c{display:grid;grid-template-columns:1.35fr 1fr;gap:60px;align-items:center;padding-block:92px}
.antetitulo{margin:0 0 14px;text-transform:uppercase;letter-spacing:.14em;font-size:13px;font-weight:700;color:#ffb3b7}
h1{margin:0 0 20px;font-size:clamp(38px,5.4vw,62px);line-height:1.06;letter-spacing:-.02em;font-weight:800}
.heroe p.lead{margin:0 0 32px;font-size:20px;color:#e5e4f4;max-width:34em}
.acciones{display:flex;flex-wrap:wrap;gap:14px}
.ciclo{list-style:none;margin:0;padding:0;border-left:3px solid var(--rojo)}
.ciclo li{padding:15px 0 15px 24px;border-bottom:1px solid #ffffff24}.ciclo li:last-child{border-bottom:0}
.ciclo strong{display:block;font-size:19px}.ciclo span{font-size:15px;color:#d5d3ea}
section{padding-block:84px}
h2{margin:0 0 14px;font-size:clamp(29px,3.4vw,40px);line-height:1.15;letter-spacing:-.015em;color:var(--azul)}
.intro{margin:0 0 42px;color:var(--gris);max-width:44em;font-size:18px}
h3.grupo{margin:44px 0 16px;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--rojo)}
.rejilla{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tarjeta{padding:24px;border:1px solid var(--linea);border-top:3px solid var(--azul);border-radius:6px;background:#fff}
.tarjeta h4{margin:0 0 6px;font-size:19px;line-height:1.25}.tarjeta p{margin:0;color:var(--gris);font-size:15.5px}
.mantener{background:var(--suave)}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.lista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}
.lista li{padding:13px 0 13px 16px;border-bottom:1px solid #d8d6e6;font-weight:600;position:relative}
.lista li:before{content:"";position:absolute;left:0;top:23px;width:7px;height:7px;background:var(--rojo)}
.nosotros p{margin:0 0 16px}.cita{margin:0;padding:6px 0 6px 24px;border-left:3px solid var(--rojo);font-size:23px;line-height:1.35;font-weight:600;color:var(--azul)}
.contacto{background:var(--noche);color:#fff}.contacto h2{color:#fff}.contacto .intro{color:#d5d3ea}
.contacto .dos{align-items:stretch}.datos{font-style:normal}
.dato{padding:15px 0;border-bottom:1px solid #ffffff24}.dato small{display:block;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#ffb3b7;font-weight:700}
.dato a,.dato span{font-size:20px;font-weight:600;text-decoration:none}.dato a:hover{text-decoration:underline}
.contacto .acciones{margin-top:26px}
.mapa-f{margin:0}.mapa{width:100%;border-radius:6px}.mapa-f figcaption{margin-top:6px;font-size:13px;color:#b9b8cc}
footer{background:#0b092b;color:#b9b8cc;font-size:14.5px;padding-block:26px}
footer .c{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 28px}footer a{color:#fff}
.legal{max-width:760px;padding-block:60px}.legal h1{color:var(--azul);font-size:38px}.legal h2{font-size:22px;margin-top:30px}
a:focus-visible{outline:3px solid #ffb300;outline-offset:2px}
@media(max-width:940px){nav a:not(.boton){display:none}.heroe .c,.dos{grid-template-columns:1fr;gap:40px}.heroe .c{padding-block:60px}.rejilla{grid-template-columns:1fr 1fr}section{padding-block:60px}}
@media(max-width:600px){.logo img{width:190px}.rejilla,.lista{grid-template-columns:1fr}.barra{min-height:66px}nav .boton{font-size:14px;padding:8px 12px}.acciones .boton{flex:1 1 100%;text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
