@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');
body{font-family:'Plus Jakarta Sans',sans-serif;background-color:#fcfcfc;color:#1e293b}
:root{--iestp-rojo:#c1121f;--iestp-azul:#0a2540;--iestp-dorado:#d4a017}
.bg-iestp-rojo{background-color:var(--iestp-rojo)}
.bg-iestp-azul{background-color:var(--iestp-azul)}
.bg-iestp-dorado{background-color:var(--iestp-dorado)}
.text-iestp-rojo{color:var(--iestp-rojo)}
.text-iestp-azul{color:var(--iestp-azul)}
.text-iestp-dorado{color:var(--iestp-dorado)}
.border-iestp-rojo{border-color:var(--iestp-rojo)}
.hover\:bg-iestp-rojo-dark:hover{background-color:#a51723}
.hover\:text-iestp-rojo:hover{color:var(--iestp-rojo)}
.hover\:border-iestp-rojo:hover{border-color:var(--iestp-rojo)}
.group:hover .group-hover\:bg-iestp-rojo{background-color:var(--iestp-rojo)}
.group:hover .group-hover\:text-iestp-rojo{color:var(--iestp-rojo)}
.hero-bg{background-image:url(../insti.jpg)}
:focus-visible{outline:3px solid var(--iestp-dorado);outline-offset:2px;border-radius:6px}
/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto!important}}
/* Menú móvil */
#menu-movil{max-height:0;overflow:hidden;transition:max-height .35s ease}
#menu-movil.abierto{max-height:480px}
/* Chips de filtro */
.chip{padding:.5rem 1rem;border-radius:9999px;font-size:.8rem;font-weight:600;border:1px solid #cbd5e1;background:#fff;color:#334155;transition:all .2s;cursor:pointer}
.chip:hover{border-color:var(--iestp-rojo);color:var(--iestp-rojo)}
.chip[aria-pressed="true"]{background:var(--iestp-azul);border-color:var(--iestp-azul);color:#fff}
/* Diálogos */
dialog{border:0;border-radius:1.5rem;padding:0;max-width:min(92vw,720px);width:100%;box-shadow:0 25px 60px rgba(10,37,64,.35);margin:auto}
dialog::backdrop{background:rgba(10,37,64,.65);backdrop-filter:blur(3px)}
dialog[open]{animation:pop .25s ease}
@keyframes pop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
/* FAQ */
details.faq summary{cursor:pointer;list-style:none}
details.faq summary::-webkit-details-marker{display:none}
details.faq[open] .faq-ico{transform:rotate(45deg)}
.faq-ico{transition:transform .2s}
/* Línea de tiempo */
.paso::before{content:"";position:absolute;left:1.25rem;top:3rem;bottom:-1.5rem;width:2px;background:#e2e8f0}
.paso:last-child::before{display:none}
/* Fondo propio de la página Programas */
.hero-bg.hero-programas{background-image:url(../programas-bg.jpg)}
.hero-bg.hero-nosotros{background-image:url(../nosotros-bg.jpg)}
.hero-bg.hero-admision{background-image:url(../admision-bg.jpg)}
.hero-bg.hero-noticias{background-image:url(../noticias-bg.jpg)}
.hero-bg.hero-contactos{background-image:url(../contactos-bg.jpg)}
