:root{--a:#121a6b;--r:#d62828;--rd:#a61e1e;--t:#1c2430;--bg:#fff;--alt:#f3f6fb;--nav-h:4.2rem}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h)}
body{font-family:"Source Sans 3",system-ui,Segoe UI,Roboto,sans-serif;color:var(--t);background:var(--bg);line-height:1.6;padding-top:var(--nav-h)}
a{color:var(--a)}img{max-width:100%;display:block}
.w{max-width:1080px;margin:auto;padding:0 20px}
section{padding:64px 0}.alt{background:var(--alt)}
h2{font-family:Georgia,"Times New Roman",serif;color:var(--a);font-size:clamp(1.8rem,4.5vw,2.4rem);line-height:1.2}
.section-lead{color:var(--t);font-size:1.1rem;margin:6px 0 24px}
h3{color:var(--a);margin-bottom:6px}
.ph{background:#fdecec;border:1px dashed var(--r);color:#7a1414;padding:1px 6px;border-radius:4px;font-size:.92em}
/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;height:var(--nav-h);background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .28s ease,background .28s ease}
.nav.is-scrolled{background:rgba(255,255,255,.94);box-shadow:0 2px 14px rgba(29,78,137,.12)}
.nav.is-hidden{transform:translateY(-100%)}
.nav .w{display:flex;align-items:center;justify-content:space-between;height:100%}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--a);text-decoration:none;font-size:1.05rem}
.brand img{width:auto;height:52px}.brand img.brand-logo{height:56px;max-width:70vw;object-fit:contain}.brand-t{display:flex;flex-direction:column;justify-content:center;line-height:1;font-size:1.45rem;letter-spacing:.02em}.brand-t small{font-size:.85rem;font-weight:700;letter-spacing:.06em;margin-bottom:3px}@media(max-width:600px){.brand img,.brand img.brand-logo{height:42px}.brand-t{font-size:1.3rem}.brand-t small{font-size:.78rem}}
.nav-links{display:flex;gap:18px;list-style:none;align-items:center}
.nav-links a{text-decoration:none;color:var(--t);font-weight:600;font-size:.95rem}
.nav-links a.nav-wa{background:var(--r);color:#fff;padding:7px 14px;border-radius:8px}
.nav-toggle{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--a);margin:5px auto;transition:.2s}
@media (max-width:900px){.nav-toggle{display:block}.nav-links{position:absolute;top:var(--nav-h);left:0;right:0;flex-direction:column;gap:0;background:#fff;box-shadow:0 10px 20px rgba(0,0,0,.08);display:none;padding:8px 0}.nav.is-open .nav-links{display:flex}.nav-links li{width:100%}.nav-links a{display:block;padding:12px 20px}.nav-links a.nav-wa{margin:8px 20px;text-align:center}}
@media (prefers-reduced-motion:reduce){.nav{transition:none}html{scroll-behavior:auto}}
/* hero */
.hero{min-height:calc(100svh - var(--nav-h));display:flex;align-items:flex-start;color:#fff;background:linear-gradient(rgba(0,0,0,.05),rgba(0,0,0,.6)),linear-gradient(135deg,#3b82c4 0%,#121a6b 55%,#0f2f57 100%);text-shadow:0 2px 8px rgba(0,0,0,.55)}
.hero .w{width:100%;padding-top:max(40px,42vh);padding-bottom:40px;display:flex;flex-direction:column;align-items:flex-start}
.eyebrow{font-weight:600;letter-spacing:.02em}
.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.8rem,4.6vw,2.7rem);line-height:1.2;max-width:26ch;margin:8px 0 14px}
.hero .sub{font-size:1.15rem;max-width:58ch;opacity:.95}
.btn{display:inline-block;padding:14px 24px;border-radius:10px;font-weight:700;text-decoration:none;border:0;cursor:pointer;font:inherit;font-weight:700;text-shadow:none}
.btn-r{background:var(--r);color:#fff;box-shadow:0 6px 18px rgba(214,40,40,.35)}.btn-r:hover{background:var(--rd)}
.hero .btn{margin-top:22px}
.proof{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:.98rem;margin-top:28px}
.proof a{color:#fff}.proof-wa{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:600;padding:6px 12px;border:1px solid rgba(255,255,255,.45);border-radius:999px;text-shadow:none}.proof-wa svg{color:#25d366}.proof-wa:hover{background:rgba(255,255,255,.12)}
.hero .ph{text-shadow:none}
/* cards */
.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{background:#fff;border-radius:14px;padding:24px;box-shadow:0 4px 18px rgba(29,78,137,.08);border-top:4px solid var(--r)}
.stack{display:grid;gap:10px}
ul.stack,ol.stack{padding-left:20px}
/* gallery */
.gal{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.gal button{aspect-ratio:4/3;border:0;border-radius:12px;color:#fff;font:inherit;font-weight:600;cursor:zoom-in;background:linear-gradient(135deg,#121a6b,#3b82c4)}
.gal button:nth-child(2n){background:linear-gradient(135deg,#d62828,#9b1c1c)}
#lb{position:fixed;inset:0;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center;z-index:99}
#lb.o{display:flex}
#lb .lb-c{width:min(90vw,800px);aspect-ratio:4/3;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem}
#lb .x{position:absolute;top:12px;right:18px;font-size:2.4rem;color:#fff;background:none;border:0;cursor:pointer;line-height:1}
body.photo-open{overflow:hidden}
/* form */
form.card{display:grid;gap:12px}
label{display:grid;gap:4px;font-weight:600;font-size:.95rem}
input,select,textarea{padding:12px;border:1px solid #c9d3e0;border-radius:8px;font:inherit;font-weight:400;width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid var(--a);border-color:var(--a)}
/* faq */
details{background:#fff;border-radius:10px;padding:14px 18px;margin-bottom:10px;box-shadow:0 2px 8px rgba(0,0,0,.05)}
summary{font-weight:600;cursor:pointer;color:var(--a)}
details p{margin-top:8px}
/* visitar */
.map{width:100%;height:340px;border:0;border-radius:14px}
.redes{display:flex;flex-wrap:wrap;gap:12px}
.redes span{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.06);font-weight:600;color:var(--a)}
.redes svg{width:22px;height:22px;fill:var(--a)}
footer{background:var(--a);color:#fff;padding:28px 0;font-size:.95rem}
footer .w{display:grid;gap:8px;text-align:center}
footer a{color:#fff}
footer .muted{opacity:.8;font-size:.88rem}
.fw{position:fixed;right:calc(14px + env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom));width:52px;height:52px;border-radius:50%;background:var(--a);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(29,78,137,.45);z-index:40}
.fw svg{width:28px;height:28px;fill:#fff}
/* libro */
.libro{padding:40px 0 64px}
.libro dl{display:grid;gap:8px}.libro dl div{display:grid;grid-template-columns:150px 1fr;gap:8px}.libro dt{font-weight:600}
.radio{display:flex;gap:18px;font-weight:400}.radio label{display:flex;gap:6px;align-items:center;font-weight:400}.radio input{width:auto}
@media print{.nav,.fw,footer,#libro-form,.no-print{display:none!important}body{padding-top:0}}

.hero{position:relative;overflow:hidden}.hero-bg{position:absolute;inset:-40px;width:calc(100% + 80px);height:calc(100% + 80px);object-fit:cover;filter:blur(28px) brightness(.75) saturate(1.1);z-index:0}.hero-video{position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);height:100%;width:auto;max-width:100%;aspect-ratio:16/9;object-fit:cover;z-index:1;box-shadow:0 0 60px rgba(0,0,0,.45)}.hero .w{position:relative;z-index:2}.hero h1,.hero .sub,.hero .eyebrow,.hero .proof{text-shadow:0 2px 6px rgba(0,0,0,.85),0 0 18px rgba(0,0,0,.55)}@media(prefers-reduced-motion:reduce){.hero-bg{position:absolute;inset:-40px;width:calc(100% + 80px);height:calc(100% + 80px);object-fit:cover;filter:blur(28px) brightness(.75) saturate(1.1);z-index:0}.hero-video{position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);height:100%;width:auto;max-width:100%;aspect-ratio:16/9;object-fit:cover;z-index:1;box-shadow:0 0 60px rgba(0,0,0,.45)}}

@media(max-width:700px){.hero{display:block;min-height:0;background:#121a6b}.hero-bg{display:none}.hero-video{position:relative;inset:auto;top:auto;left:auto;transform:none;display:block;width:100%;height:calc((100svh - var(--nav-h)) / 2);max-width:none;aspect-ratio:auto;object-fit:cover;box-shadow:none}.hero .w{min-height:calc((100svh - var(--nav-h)) / 2);justify-content:center;padding-top:24px;padding-bottom:28px}}

/* infraestructura */
.infra-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.infra-grid figure{margin:0;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 4px 14px rgba(18,26,107,.12);border:1px solid rgba(18,26,107,.1)}
.infra-grid a{display:block;overflow:hidden;aspect-ratio:4/3;cursor:zoom-in}
.infra-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.infra-grid figure:hover img,.infra-grid a:focus-visible img{transform:scale(1.07)}
.infra-grid a:focus-visible{outline:3px solid #121a6b;outline-offset:-3px}
.infra-grid figcaption{padding:10px 14px;color:#121a6b;font-weight:600;font-size:.95rem}
@media(max-width:800px){.infra-grid{grid-template-columns:repeat(2,1fr);gap:10px}.infra-grid figcaption{font-size:.85rem;padding:8px 10px}}
.infra-lb{position:fixed;inset:0;background:rgba(10,14,60,.92);display:none;align-items:center;justify-content:center;z-index:9999;padding:20px;cursor:zoom-out}
.infra-lb.open{display:flex}
.infra-lb img{max-width:100%;max-height:85vh;border-radius:10px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.infra-lb p{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:#fff;margin:0}

/* videos */
#videos{padding:64px 0;background:#f5f6fb}
#videos h2{color:#121a6b;text-align:center;margin:0 0 8px}
#videos .videos-intro{text-align:center;color:#444;margin:0 0 32px}
#videos .videos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
#videos .video-card{margin:0;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 4px 16px rgba(18,26,107,.12);border-top:4px solid #121a6b}
#videos .video-card video{display:block;width:100%;aspect-ratio:16/9;background:#121a6b;object-fit:cover}
#videos .video-card figcaption{padding:12px 16px;font-weight:600;color:#121a6b;font-size:.95rem}
@media (max-width:900px){#videos .videos-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){#videos .videos-grid{grid-template-columns:1fr}#videos{padding:40px 0}}

/* lightbox nav */
.infra-lb .lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:0;background:rgba(255,255,255,.18);color:#fff;font-size:2.4rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0 0 4px}
.infra-lb .lb-nav:hover{background:rgba(255,255,255,.35)}
.infra-lb .lb-prev{left:16px}.infra-lb .lb-next{right:16px}
.infra-lb .lb-x{position:absolute;top:12px;right:18px;font-size:2.4rem;color:#fff;background:none;border:0;cursor:pointer;line-height:1}
.infra-lb img{cursor:pointer}
@media(max-width:700px){.infra-lb .lb-nav{width:40px;height:40px;font-size:1.8rem}.infra-lb .lb-prev{left:6px}.infra-lb .lb-next{right:6px}}
.card-k{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#121a6b;background:#e8eaf6;padding:3px 10px;border-radius:99px;margin-bottom:8px}

.sub-gal{margin-top:56px;margin-bottom:18px}

.redes a{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.06);font-weight:700;color:var(--a);text-decoration:none}.redes a:hover{background:#121a6b;color:#fff}.redes a:hover svg{fill:#fff}

.visit-info{margin-bottom:24px}.locales{display:grid;grid-template-columns:1fr 1fr;gap:28px}.local{background:#fff;border-radius:14px;padding:20px;box-shadow:0 4px 18px rgba(0,0,0,.08)}.local h3{margin:0 0 6px}.local .map{width:100%;height:300px;border:0;border-radius:10px;margin:10px 0}@media(max-width:760px){.locales{grid-template-columns:1fr}}

@media(max-width:700px){.hero-video{height:calc((100svh - var(--nav-h)) * .6)}.hero .w{min-height:calc((100svh - var(--nav-h)) * .4);padding-top:16px;padding-bottom:16px}.hero h1{font-size:1.45rem;margin:4px 0 8px}.hero .sub{font-size:1rem}.hero .btn{margin-top:12px}}

.infra-lb .lb-x{z-index:2;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;padding:0 0 4px}.infra-lb .lb-nav{z-index:2}

@media(max-width:700px){.hero .eyebrow,.hero .sub,.hero .proof{display:none}.hero h1{font-size:1.3rem;line-height:1.25;margin:0 0 4px}.hero .btn{margin-top:10px;padding:12px 20px}.hero .w{justify-content:center;padding-top:12px;padding-bottom:12px}}

@media(max-width:700px){.hero .sub{display:block;font-size:.92rem;line-height:1.4;margin:0}.hero .proof{display:block;font-size:.8rem;margin-top:8px;opacity:.9}.hero .btn{margin-top:10px}}

@media(max-width:700px){.hero{background:#121a6b!important;text-shadow:none}.hero .w{background:#121a6b}}

.map-wrap{position:relative;margin:10px 0;border-radius:10px;overflow:hidden}.map-wrap .map{margin:0;display:block}.map-static{pointer-events:none}.map-open-gmaps{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding-bottom:14px;text-decoration:none}.map-open-gmaps::after{content:'';}.map-open-gmaps{color:#fff;font-weight:700}.map-open-gmaps{background:linear-gradient(transparent 60%,rgba(18,26,107,.55))}

/* Niveles: background image with navy overlay (v8) */
#niveles{background:linear-gradient(rgba(18,26,107,.82),rgba(18,26,107,.82)),url("/assets/niveles-bg.jpg") center/cover no-repeat;background-color:#121a6b}
#niveles h2,#niveles .section-lead{color:#fff}
#niveles .card{background:#fff;color:var(--t)}
#niveles .card h3{color:var(--a)}

/* Vida escolar: portada con botón de reproducción */
#videos .vida-wrap{position:relative;line-height:0}
#videos .vida-wrap video{display:block;width:100%;cursor:pointer}
#videos .vida-play{position:absolute;top:50%;left:50%;width:68px;height:68px;margin:-34px 0 0 -34px;border:0;border-radius:50%;background:rgba(18,26,107,.9);box-shadow:0 6px 18px rgba(0,0,0,.35);cursor:pointer;transition:transform .2s ease,background .2s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation;padding:0}
#videos .vida-play::before{content:"";position:absolute;top:50%;left:50%;margin:-13px 0 0 -8px;border-style:solid;border-width:13px 0 13px 22px;border-color:transparent transparent transparent #fff}
#videos .vida-play:hover,#videos .vida-play:focus-visible{transform:scale(1.1);background:#121a6b}
#videos .vida-wrap.playing .vida-play{display:none}
.video-band{position:relative;height:60vh;min-height:320px;overflow:hidden;padding:0;background:#121a6b}
.video-band video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.video-band-overlay{position:absolute;inset:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;text-align:center;padding:24px}
.video-band h2{color:#fff;font-family:Georgia,"Times New Roman",serif;margin:0;max-width:22ch;text-shadow:0 2px 4px rgba(0,0,0,.6),0 2px 16px rgba(0,0,0,.45)}
@media (max-width:700px){.video-band{height:50vh}}

/* Admision procedimiento y requisitos */
#admision .ap-h{color:#121a6b;margin:28px 0 14px;font-size:1.25rem}
.ap-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ap-steps li{background:#fff;border-radius:14px;padding:22px;box-shadow:0 4px 16px rgba(18,26,107,.08);border-top:4px solid #121a6b}
.ap-n{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#121a6b;color:#fff;font-weight:700;margin-bottom:10px}
.ap-steps p{margin:0}
.ap-req{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}
.ap-req li{display:flex;align-items:flex-start;gap:10px;background:#fff;border-radius:10px;padding:12px 14px;box-shadow:0 2px 8px rgba(18,26,107,.06)}
.ap-req svg{flex:0 0 22px;width:22px;height:22px;fill:#fff;background:#121a6b;border-radius:50%;padding:3px}
@media(max-width:700px){.ap-steps,.ap-req{grid-template-columns:1fr}}

/* Calendarizacion */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.cal-wrap{border-radius:14px;overflow:hidden;box-shadow:0 4px 16px rgba(18,26,107,.1);margin-top:20px}
.cal-table{width:100%;border-collapse:collapse;background:#fff;text-align:center}
.cal-table thead th{background:#121a6b;color:#fff;padding:14px 12px;font-weight:700}
.cal-table td,.cal-table tbody th{padding:14px 12px;border-top:1px solid #e6e8f2}
.cal-table tbody th{text-align:left;font-weight:700;color:#121a6b;width:24%}
.cal-table tbody tr:nth-child(even){background:#f3f4fb}
.cal-cards{display:none}
@media(max-width:700px){
.cal-wrap{display:none}
.cal-cards{display:grid;gap:16px;margin-top:20px}
.cal-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 4px 16px rgba(18,26,107,.1)}
.cal-card h3{margin:0;background:#121a6b;color:#fff;padding:12px 16px;font-size:1.1rem}
.cal-card dl{margin:0;padding:4px 16px 12px}
.cal-card dt{font-weight:700;color:#121a6b;margin-top:10px;font-size:.9rem}
.cal-card dd{margin:2px 0 0;overflow-wrap:anywhere}
}

/* Horario niveles */
.horario{margin-top:16px;padding:12px 14px;background:#f3f4fb;border-left:4px solid #121a6b;border-radius:10px}
.horario-h{display:flex;align-items:center;gap:6px;color:#121a6b;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}
.horario-h svg{width:18px;height:18px;fill:#121a6b}
.horario dl{display:flex;flex-wrap:wrap;gap:8px 28px;margin:8px 0 0}
.horario dl div{display:flex;flex-direction:column}
.horario dt{font-size:.8rem;color:#555}
.horario dd{margin:0;font-size:1.25rem;font-weight:700;color:#121a6b}

/* FAQ vacantes */
.vac-list{padding:0 0 8px}
.vac-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px}
.vac-list h4{margin:8px 0 6px;color:#121a6b;font-size:1rem}
.vac-t{width:100%;border-collapse:collapse;font-size:.95rem;background:#fff;border-radius:8px;overflow:hidden}
.vac-t th{background:#121a6b;color:#fff;font-weight:600;padding:8px 10px;text-align:left;font-size:.85rem}
.vac-t td{padding:7px 10px;border-top:1px solid #e6e8f2}
.vac-t td:last-child,.vac-t th:last-child{text-align:center;font-weight:700;color:#121a6b}
.vac-t th:last-child{color:#fff}
.vac-t tbody tr:nth-child(even){background:#f3f4fb}
@media(max-width:700px){.vac-grid{grid-template-columns:1fr}}

/* Plan curricular */
.plan-curricular{margin-top:28px;background:#fff;border-radius:14px;padding:22px;box-shadow:0 4px 16px rgba(18,26,107,.1)}
.plan-curricular h3{margin:0 0 14px;color:#121a6b}
.pc-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.pc-col h4{margin:0 0 8px;color:#121a6b}
.pc-t{width:100%;border-collapse:collapse;font-size:.95rem;border-radius:8px;overflow:hidden}
.pc-t thead th{background:#e9ebf7;color:#121a6b;text-align:left;padding:8px 10px}
.pc-t td{padding:7px 10px;border-top:1px solid #e6e8f2;color:#222}
.pc-t th:last-child,.pc-t td:last-child{text-align:center;width:70px}
.pc-t tbody tr:nth-child(even){background:#f6f7fc}
.pc-t tfoot th,.pc-t tfoot td{background:#121a6b;color:#fff;font-weight:700;padding:9px 10px;text-align:left;border:0}
.pc-t tfoot td{text-align:center}
@media(max-width:700px){.pc-grid{grid-template-columns:1fr}.plan-curricular{padding:16px}}

/* Plan curricular desplegable */
details.plan-curricular{padding:0;border:2px solid #121a6b;overflow:hidden}
details.plan-curricular>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none}
details.plan-curricular>summary::-webkit-details-marker{display:none}
details.plan-curricular>summary h3{margin:0;display:inline}
details.plan-curricular>summary:hover{background:#f3f4fb}
details.plan-curricular>summary:focus-visible{outline:3px solid #121a6b;outline-offset:-3px}
.pc-chev{width:28px;height:28px;flex:0 0 28px;fill:#fff;background:#121a6b;border-radius:50%;transition:transform .25s}
details.plan-curricular[open] .pc-chev{transform:rotate(180deg)}
details.plan-curricular[open]>summary{border-bottom:1px solid #e6e8f2}
details.plan-curricular>.pc-grid{padding:20px 22px 22px}
@media(max-width:700px){details.plan-curricular>summary{padding:14px 16px}details.plan-curricular>.pc-grid{padding:16px}}

/* Niveles parallax (fixed bg on desktop, scroll fallback on touch/small) */
#niveles{background-attachment:fixed}
@media (max-width:700px),(hover:none),(pointer:coarse){#niveles{background-attachment:scroll}}

/* Mobile hero v19: gradient with light + readability */
@media(max-width:700px){
.hero,.hero .w{background:radial-gradient(120% 90% at 100% 0%,rgba(111,140,255,.55) 0%,rgba(59,76,192,.45) 35%,rgba(18,26,107,0) 70%),radial-gradient(60% 50% at 10% 100%,rgba(255,255,255,.08),rgba(255,255,255,0) 70%),linear-gradient(180deg,#1a2480 0%,#121a6b 100%)!important}
.hero .w{gap:0;padding-top:18px;padding-bottom:20px}
.hero .eyebrow{display:block;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;opacity:.9;margin:0 0 8px}
.hero h1{font-size:1.45rem;line-height:1.35;letter-spacing:.01em;margin:0 0 10px}
.hero .sub{font-size:1rem;line-height:1.45;margin:0}
.hero .eyebrow,.hero h1,.hero .sub,.hero .proof{text-shadow:0 1px 2px rgba(0,0,0,.35),0 0 12px rgba(0,0,0,.2)}
.hero .btn{margin-top:16px}
.hero .proof{margin-top:12px}
}
@media(max-width:700px){.hero .proof,.hero .proof span{white-space:normal;overflow:visible;text-overflow:clip;max-width:calc(100% - 64px)}}
@media(max-width:700px){.hero .proof,.hero .proof span{font-size:1rem;line-height:1.45;font-weight:400;opacity:.95}}
@media(max-width:700px){.hero .w{padding-top:12px;padding-bottom:14px}.hero .eyebrow{margin-bottom:6px}.hero h1{margin-bottom:8px}.hero .btn{margin-top:14px}.hero .proof{margin-top:10px}}

/* v21: address = subtitle size; mobile 55/45 */
.hero .proof,.hero .proof span{font-size:1.15rem;line-height:1.45;font-weight:400}
.hero .proof{text-shadow:0 2px 6px rgba(0,0,0,.85),0 0 18px rgba(0,0,0,.55);max-width:58ch}
@media(max-width:700px){.hero-video{height:calc((100svh - var(--nav-h)) * .55)}.hero .w{min-height:calc((100svh - var(--nav-h)) * .45);padding-bottom:24px}.hero .proof,.hero .proof span{font-size:1rem}.hero .proof{text-shadow:0 1px 2px rgba(0,0,0,.35),0 0 12px rgba(0,0,0,.2)}}
@media(max-width:700px){.hero .proof{max-width:calc(100% - 64px)}}

/* Comunicados */
.com-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:20px}
.com-card{background:#fff;border-radius:14px;padding:22px;box-shadow:0 4px 16px rgba(18,26,107,.08);border-top:4px solid #121a6b;display:flex;flex-direction:column;gap:10px;min-width:0}
.com-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.88rem;color:#555}
.com-tag{background:#e9ebf7;color:#121a6b;font-weight:700;border-radius:999px;padding:3px 10px;font-size:.78rem}
.com-card h3{margin:0;color:#121a6b;font-size:1.15rem;overflow-wrap:anywhere}
.com-body{margin:0;line-height:1.55;overflow-wrap:anywhere}
.com-img img{width:100%;max-height:320px;object-fit:cover;border-radius:10px;display:block}
.com-att{align-self:flex-start;display:inline-block;background:#121a6b;color:#fff;border-radius:8px;padding:9px 16px;font-weight:700;text-decoration:none}
.com-empty{grid-column:1/-1;text-align:center;color:#555;background:#fff;border-radius:12px;padding:22px}
@media(max-width:700px){.com-list{grid-template-columns:1fr}}

/* Comunicados: tarjeta horizontal en desktop (v23) */
#comunicados .com-list{grid-template-columns:1fr;max-width:none;width:100%}
@media(min-width:701px){
#comunicados .com-card{display:grid;grid-template-columns:200px minmax(0,1fr);column-gap:36px;row-gap:0;align-items:start;padding:28px 34px;border-top:0;border-left:5px solid #121a6b}
#comunicados .com-card>*{grid-column:2;margin-bottom:12px}#comunicados .com-card>:last-child{margin-bottom:0}
#comunicados .com-card>.com-meta{grid-column:1;grid-row:1/span 6;margin-bottom:0;flex-direction:column;align-items:flex-start;gap:10px;padding-right:24px;border-right:1px solid #e6e8f2;align-self:stretch}
#comunicados .com-meta time{font-weight:700;color:#121a6b;font-size:.95rem}
#comunicados .com-card h3{font-size:1.3rem}
#comunicados .com-body{max-width:75ch}
#comunicados .com-img img{max-width:560px}
}

/* Horario niveles sin burbuja (v24) */
#niveles .horario{background:transparent;border:0;border-top:1px solid #e1e4f0;border-radius:0;padding:14px 0 0}
/* Nosotros: historia + Mision/Vision (03-nov-2026) */
.nos-txt{max-width:none;gap:14px}.nos-txt p{margin:0}
.nos-mv{margin-top:28px;align-items:stretch}.nos-mv .card p{margin:0 0 10px}.nos-mv .card p:last-child{margin-bottom:0}
/* Graficos (03-nov-2026): educacion en #nosotros, didactica en #propuesta */
.graf{max-width:900px;margin:32px auto 0;background:#fff;border-radius:14px;box-shadow:0 4px 18px rgba(29,78,137,.08);overflow:hidden}
.graf a{display:block;cursor:zoom-in}.graf picture,.graf img{display:block;width:100%;height:auto}
.graf a:focus-visible{outline:3px solid #121a6b;outline-offset:-3px}
.graf-h{text-align:center;margin:44px 0 0}.graf-h+.graf{margin-top:14px}
@media(max-width:700px){.graf{margin-left:-12px;margin-right:-12px;border-radius:10px}}
.infra-lb.lb-one .lb-nav{display:none}
.infra-lb.lb-graf{overflow:auto;align-items:safe center;justify-content:safe center}
.infra-lb.lb-graf img{width:auto;height:auto;max-width:min(1400px,calc(100vw - 40px));max-height:calc(100vh - 40px);background:#fff;cursor:zoom-out}
@media(max-width:700px){.infra-lb.lb-graf img{width:900px;max-width:none;max-height:none}}

/* grafico educacion mas chico en desktop */
@media (min-width:900px){.graf{max-width:560px;margin-left:auto;margin-right:auto}.graf img{width:100%;height:auto}}
