:root{--navy:#00162d;--navy-d:#000c1a;--navy-l:#1c4a7a;--ink:#0b1b2e;--mute:#5a6b80;--bg:#f5f8fc;--line:#e1e8f1;--gold:#d19a2f;--r:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:17px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
/* Navegación */
.nav{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.82);backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
.marca{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:-.2px}
.marca img{width:44px;height:44px;border-radius:9px;border:1px solid var(--line)}
.nav ul{display:flex;gap:28px;list-style:none;margin:0;padding:0;font-size:15px;color:var(--mute)}
.nav ul a:hover{color:var(--navy)}
.btn{display:inline-block;padding:12px 26px;border-radius:999px;font-weight:600;font-size:15px;transition:.2s}
.btn-p{background:var(--navy);color:#fff}.btn-p:hover{background:var(--navy-l);transform:translateY(-1px)}
.btn-s{border:1.5px solid var(--navy);color:var(--navy)}.btn-s:hover{background:var(--navy);color:#fff}
.btn-g{background:var(--gold);color:var(--navy-d)}.btn-g:hover{filter:brightness(1.05);transform:translateY(-1px)}
/* Hero */
.hero{background:radial-gradient(900px 480px at 85% 10%,#dbe9fb 0%,transparent 60%),radial-gradient(600px 400px at 0% 100%,#fff3d6 0%,transparent 60%),#fff;color:var(--ink);padding:96px 0 140px;position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.etiqueta{display:inline-block;background:#eaf1fa;color:var(--navy);padding:7px 16px;border-radius:999px;font-size:13px;font-weight:600;margin-bottom:24px}
.hero h1{font-size:clamp(42px,6.4vw,76px);line-height:1.02;letter-spacing:-2.4px;margin:0 0 22px;font-weight:700;color:var(--navy)}
.hero h1 em{font-style:normal;background:linear-gradient(transparent 62%,rgba(245,183,46,.55) 62%)}
.hero p{font-size:21px;color:var(--mute);max-width:500px;margin:0 0 36px}
.hero .acciones{display:flex;gap:14px;flex-wrap:wrap}
.escudo{display:flex;justify-content:center}
.escudo div{width:min(360px,82%);aspect-ratio:1;border-radius:34px;background:#fff;display:grid;place-items:center;box-shadow:0 50px 100px rgba(0,52,102,.16),0 0 0 1px var(--line),0 0 0 18px rgba(0,52,102,.04),0 0 0 38px rgba(0,52,102,.022);animation:flota 7s ease-in-out infinite}
.escudo img{width:84%;border-radius:12px}
@keyframes flota{50%{transform:translateY(-12px)}}
.rv{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.rv.on{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.escudo div{animation:none}.rv{opacity:1;transform:none;transition:none}}
/* Tarjetas flotantes de datos */
.datos{margin-top:-64px;position:relative;z-index:2}
.datos .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.dato{background:#fff;border-radius:var(--r);padding:28px;box-shadow:0 18px 50px rgba(0,35,74,.12);border:1px solid var(--line)}
.dato b{display:block;font-size:30px;letter-spacing:-.6px;color:var(--navy)}
.dato span{color:var(--mute);font-size:15px}
/* Secciones */
section{padding:100px 0}
.kicker{color:var(--navy-l);font-weight:600;font-size:14px;letter-spacing:.8px;text-transform:uppercase}
h2{font-size:clamp(30px,4.2vw,48px);letter-spacing:-1.1px;line-height:1.1;margin:10px 0 16px}
.lead{color:var(--mute);font-size:19px;max-width:620px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px}
.card{background:var(--bg);border-radius:var(--r);padding:32px;transition:.25s;border:1px solid transparent}
.card:hover{background:#fff;border-color:var(--line);box-shadow:0 20px 50px rgba(0,35,74,.1);transform:translateY(-4px)}
.ico{width:54px;height:54px;border-radius:16px;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:24px;margin-bottom:20px}
.card:nth-child(3n+2) .ico{background:var(--gold);color:var(--navy-d)}
.card h3{margin:0 0 8px;font-size:21px;letter-spacing:-.3px}.card p{margin:0;color:var(--mute);font-size:16px}
/* Banda */
.banda{background:var(--bg)}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.pasos{list-style:none;padding:0;margin:0;counter-reset:p}
.pasos li{counter-increment:p;display:flex;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}
.pasos li:before{content:counter(p);flex:none;width:36px;height:36px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700;font-size:15px}
.pasos b{display:block}.pasos span{color:var(--mute);font-size:15px}
/* CTA */
.cta{background:linear-gradient(160deg,var(--navy-d),var(--navy));color:#fff;border-radius:34px;padding:70px 40px;text-align:center}
.cta h2{margin-top:0}.cta p{color:#cfdcee;max-width:560px;margin:0 auto 30px;font-size:19px}
footer{padding:44px 0;color:var(--mute);font-size:14px;border-top:1px solid var(--line)}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
@media(max-width:860px){.hero .wrap,.dos{grid-template-columns:1fr}.escudo{order:-1}.grid,.datos .wrap{grid-template-columns:1fr}.nav ul{display:none}section{padding:70px 0}.hero{padding:70px 0 110px}}
/* Galería */
.sub{font-size:22px;letter-spacing:-.4px;margin:44px 0 16px;color:var(--navy)}
.eventos{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.evento{position:relative;display:block;aspect-ratio:4/3;border-radius:22px;overflow:hidden;background:var(--bg);box-shadow:0 10px 30px rgba(0,35,74,.08)}
.evento img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.evento:hover img{transform:scale(1.06)}
.ev-info{position:absolute;inset:auto 0 0 0;padding:46px 20px 18px;color:#fff;background:linear-gradient(transparent,rgba(0,35,74,.9))}
.ev-info b{display:block;font-size:19px;letter-spacing:-.3px}.ev-info span{font-size:13px;color:#cfe0f5}
.videos{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.video{margin:0}.video video,.video iframe,.enlace-video{width:100%;aspect-ratio:16/9;border:0;border-radius:18px;background:#0b1b2e;display:block}
.enlace-video{display:grid;place-items:center;color:#fff;font-weight:600}
.video figcaption{margin-top:10px;font-weight:600;color:var(--ink)}
.collage{columns:3;column-gap:14px;margin-top:34px}
.collage a{display:block;break-inside:avoid;margin-bottom:14px;border-radius:16px;overflow:hidden;background:var(--bg)}
.collage img{width:100%;display:block;transition:transform .5s,filter .3s}
.collage a:hover img{transform:scale(1.04)}
.atras{color:var(--navy-l);font-weight:600;font-size:15px}.borrador{background:#fff4d6;padding:10px 16px;border-radius:12px;font-size:14px}
#visor{position:fixed;inset:0;z-index:50;background:rgba(0,20,45,.94);display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px;cursor:zoom-out}
#visor[hidden]{display:none}#visor img{max-width:88vw;max-height:80vh;border-radius:14px;cursor:default}#visor p{color:#fff;margin:14px 0 0}
#visor button{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;width:48px;height:48px;border-radius:50%;font-size:28px;cursor:pointer;line-height:1}
#visor button:hover{background:rgba(255,255,255,.25)}.v-x{top:20px;right:20px}.v-p{left:20px;top:50%}.v-n{right:20px;top:50%}
@media(max-width:860px){.eventos,.videos{grid-template-columns:1fr}.collage{columns:2}}

.pie-dgb{align-self:flex-start;width:auto;max-width:none;height:46px;object-fit:contain;margin-top:10px}

/* Iconos de línea (minimalista) */
.ico svg,.datos .dato i svg,.btn svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ico{width:auto;height:auto;border-radius:0;background:none!important;color:var(--navy)!important;display:block;margin-bottom:18px}
.ico svg{width:38px;height:38px;display:block}
.card:nth-child(3n+2) .ico{color:var(--gold)!important}
.card{border:1px solid var(--line);background:#fff}.card:hover{border-color:var(--navy);transform:translateY(-3px)}
.datos .dato i{background:none!important;border:1.5px solid var(--line);color:var(--navy);border-radius:50%}
.datos .dato i svg{width:22px;height:22px}
.btn svg{width:1.05em;height:1.05em;vertical-align:-.16em;margin-right:6px}
/* Bloque del plantel con logo */
.pl-top{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center}
.pl-logo{display:flex;justify-content:center}
.pl-logo img{width:min(400px,100%);height:auto;filter:drop-shadow(0 24px 40px rgba(0,22,45,.16))}
@media(max-width:860px){.pl-top{grid-template-columns:1fr;gap:28px}.pl-logo{order:-1}.pl-logo img{width:min(260px,70%)}}
.ico{width:38px;margin:0 auto 18px 0}
