:root{--bg:#01153b;--navy:#002b80;--card:#0a2560;--blue:#2f6fe8;--light:#8fb0f0;--red:#e63a1e;--green:#22a35a;--gold:#f6b40e;--line:#3d64b8}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:#fff;font-family:Inter,system-ui,sans-serif;line-height:1.45}
img{max-width:100%;display:block}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;color:#000;padding:.5rem;z-index:9}
a{color:#fff}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.top{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem 1rem;padding:.5rem 1rem;background:linear-gradient(90deg,#001a55,var(--navy));border-bottom:4px solid var(--red);box-shadow:0 4px 18px #0008}
.brand img{height:52px;width:auto}
nav{display:flex;flex-wrap:wrap;gap:.2rem .4rem;font-weight:600;font-size:.9rem}
nav a{text-decoration:none;padding:.35rem .7rem;border-radius:999px;background:#ffffff14}
nav a:hover{background:var(--red)}
main{max-width:1160px;margin:auto;padding:0 1rem}
section{padding:3rem 0}
h1{font-size:clamp(2.6rem,12vw,4.6rem);line-height:.95;margin:.4rem 0 1rem;font-weight:800;letter-spacing:-.02em;text-shadow:0 3px 18px #000a}
h2{font-family:'Francois One',Montserrat,sans-serif;font-weight:400;font-size:clamp(2.1rem,9vw,3.2rem);text-align:center;margin:0 0 1.6rem;letter-spacing:.02em}
h2::after{content:"";display:block;width:90px;height:5px;margin:.4rem auto 0;border-radius:3px;background:linear-gradient(90deg,var(--blue),var(--green),var(--gold),var(--red))}
.hero{position:relative;margin:1rem -1rem 0;padding:2rem 1.2rem 2.5rem;overflow:hidden;border-radius:0 0 28px 28px;isolation:isolate}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#01153bcc 0%,#002b80b3 45%,#01153bf2 100%),radial-gradient(circle at 85% 10%,#e63a1e55,transparent 45%)}
.hero-logo{width:120px;height:auto;filter:drop-shadow(0 4px 14px #0009)}
.freq{font-size:clamp(4rem,21vw,6.5rem);font-weight:700;margin:0;line-height:1;border-top:3px solid #ffffff55;padding-top:.5rem}
.freq span{font-size:.42em;color:var(--gold)}
.sub{color:#e3ebff;font-size:1.15rem;font-weight:600}
.btn{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;max-width:440px;background:linear-gradient(90deg,var(--red),#ff6a3d);color:#fff;border:0;border-radius:999px;padding:1rem 1.2rem;font:800 1.35rem Inter,sans-serif;cursor:pointer;box-shadow:0 8px 28px #e63a1e66}
.btn::before{content:"";width:0;height:0;border-left:16px solid #fff;border-top:10px solid transparent;border-bottom:10px solid transparent}
.btn:hover{filter:brightness(1.08)}
.qr{margin:2rem auto 0;text-align:center}.qr img{width:180px;height:auto;margin:auto;border:4px solid #fff;border-radius:14px;box-shadow:0 8px 24px #0008}
.qr figcaption{font-weight:700;margin-top:.5rem}
.grid,.cards{list-style:none;padding:0;margin:0;display:grid;gap:1rem}
.grid li{border-radius:18px;overflow:hidden;background:linear-gradient(160deg,var(--card),#061a46);border:1px solid #ffffff1f;box-shadow:0 6px 20px #0006;display:grid;grid-template-columns:1fr;align-content:start}
.pimg{width:100%;aspect-ratio:5/3;object-fit:cover;height:auto}
.when{margin:.8rem 1rem 0;justify-self:start;padding:.35rem .7rem;border-radius:12px;background:var(--red);font-weight:800;font-size:.95rem;line-height:1.15;box-shadow:0 3px 10px #0007}
.when small{font-weight:600}
.what{margin:0;padding:.5rem 1rem 1rem;font-family:Montserrat,sans-serif;font-weight:800;font-size:1.15rem}
.pimg{border-bottom:4px solid var(--blue)}
.grid li:nth-child(4n+2) .pimg{border-color:var(--green)}.grid li:nth-child(4n+3) .pimg{border-color:var(--gold)}.grid li:nth-child(4n) .pimg{border-color:var(--red)}
.news{display:grid;gap:1.2rem}
article{border-radius:18px;overflow:hidden;background:var(--card);box-shadow:0 6px 20px #0006;position:relative}
article img{width:100%;aspect-ratio:5/3;object-fit:cover;height:auto}
.ntx{padding:1rem 1.1rem 1.1rem;background:linear-gradient(180deg,#0a2560,#06193f);border-top:4px solid var(--red)}
article h3{margin:0 0 .6rem;font-family:'Francois One',sans-serif;font-weight:400;font-size:1.35rem;line-height:1.2}
time{display:inline-block;font-weight:700;font-size:.85rem;background:#ffffff1a;padding:.2rem .6rem;border-radius:999px}
#redes{background:radial-gradient(circle at 20% 0,#2f6fe833,transparent 60%)}
.lead{text-align:center;font-size:1.15rem;max-width:640px;margin:0 auto 1.4rem}
.cards a{display:flex;align-items:center;gap:.7rem;border-radius:16px;padding:1rem 1.1rem;font-weight:700;text-decoration:none;word-break:break-word;background:linear-gradient(120deg,var(--blue),#1b44b0);box-shadow:0 6px 18px #0006}
.cards li:nth-child(2) a{background:linear-gradient(120deg,#c13584,#e1306c,#f77737)}
.cards li:nth-child(3) a{background:linear-gradient(120deg,#1a1a1a,#3a3a3a)}

#contacto .cards li:nth-child(1) a{background:linear-gradient(120deg,#128c4a,#25d366)}
#contacto .cards li:nth-child(2) a{background:linear-gradient(120deg,var(--red),#ff6a3d)}
.cards a:hover{filter:brightness(1.1)}
.ico{width:28px;height:28px;border-radius:50%;background:#fff;flex:none}
.app{text-align:center;margin:2rem auto 0;max-width:420px;padding:1.2rem;border-radius:18px;background:linear-gradient(120deg,var(--green),#178a47);box-shadow:0 6px 18px #0006}
.app h3{margin:0;font-size:1.3rem}.app p{margin:.3rem 0 0;font-weight:600}
#contacto{position:relative}
footer{text-align:center;padding:2rem 1rem;background:linear-gradient(90deg,#001a55,var(--navy));border-top:4px solid var(--red);font-weight:600}
[hidden]{display:none!important}
@media(min-width:700px){.grid,.news{grid-template-columns:1fr 1fr}}
@media(min-width:960px){
 .brand img{height:64px}
 .hero{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:2rem;margin:1.2rem 0 0;border-radius:28px;padding:3rem}
 .hero-logo{width:150px}
 .qr img{width:230px}
 .grid{grid-template-columns:repeat(4,1fr)}
 .news{grid-template-columns:repeat(4,1fr)}
 .cards{grid-template-columns:repeat(3,1fr)}
}
