.closing-gallery{padding:105px 7vw;display:grid;grid-template-columns:.75fr 1.25fr .65fr;align-items:end;gap:20px;background:#f2f6f6}.closing-copy{padding:0 15px 15px 0}.closing-copy h2{font-family:"DM Serif Display";font-size:46px;line-height:.96;font-weight:400;letter-spacing:-1px;margin:0}.closing-copy p:not(.eyebrow){font-size:14px;line-height:1.55;max-width:290px;margin:22px 0 0}.closing-gallery figure{margin:0;overflow:hidden}.closing-gallery img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.75);transition:transform .6s cubic-bezier(.2,.7,.2,1)}.closing-gallery figure:hover img{transform:scale(1.045)}.closing-wide{height:295px;border-bottom:5px solid var(--sky)}.closing-portrait{height:355px;border-top:5px solid var(--yellow)}@media(max-width:800px){.closing-gallery{padding:75px 25px;grid-template-columns:1fr 1fr;gap:12px}.closing-copy{grid-column:1/3;padding:0 0 20px}.closing-copy h2{font-size:40px}.closing-wide{height:210px}.closing-portrait{height:270px}}

/* Recursos institucionales del documento */
.institutional-shield{object-fit:contain!important;background:#fff;padding:12px}.family-photo img,.gallery-tall img{object-fit:contain!important;background:#fff;filter:none!important}.gallery-main img,.closing-portrait img{object-fit:contain!important;background:#fff;filter:none!important}.closing-wide img{object-fit:contain!important;background:#0d4059;filter:none!important}@media(max-width:800px){.institutional-shield{padding:6px}}

.social-links{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.social-links a{display:inline-flex;align-items:center;gap:7px;color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.7px;font-size:10px;font-weight:800;padding:8px 11px;border:1px solid #ffffff5c;transition:.2s}.social-links a span{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:var(--yellow);color:var(--ink);font-size:12px;font-weight:900}.social-links a:hover{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}.social-links a:hover span{background:var(--ink);color:#fff}@media(max-width:800px){.social-links{justify-content:flex-start}.social-links a{font-size:9px;padding:7px 8px}}

/* Fotografía a sangre: cada imagen ocupa el contenedor completo. */
.hero-photo.school-photo{object-fit:cover!important;object-position:center 48%;background:transparent;padding:0}.family-photo img{object-fit:cover!important;object-position:center 45%;background:transparent!important;padding:0;filter:saturate(.96) contrast(1.03)!important}.gallery-main img{object-fit:cover!important;object-position:center 46%;background:transparent!important;padding:0;filter:saturate(.96) contrast(1.03)!important}.gallery-tall img{object-fit:cover!important;object-position:center 38%;background:transparent!important;padding:0;filter:saturate(.94) contrast(1.03)!important}.closing-wide img{object-fit:cover!important;object-position:center 42%;background:transparent!important;padding:0;filter:saturate(.96) contrast(1.03)!important}.closing-portrait img{object-fit:cover!important;object-position:center 42%;background:transparent!important;padding:0;filter:saturate(.96) contrast(1.03)!important}.hero-art,.family-photo,.gallery-grid figure,.closing-gallery figure{background:#0b334b}.hero-art{overflow:hidden}.hero-art:before,.hero-art:after{pointer-events:none}@media(max-width:800px){.hero-photo.school-photo{object-position:center 42%}.family-photo img{object-position:center 42%}.gallery-main img{object-position:center 45%}.gallery-tall img{object-position:center 35%}.closing-wide img,.closing-portrait img{object-position:center 40%}}
/* Menú responsive */
.menu-toggle{display:none;border:0;background:transparent;color:var(--ink);width:42px;height:42px;padding:9px;cursor:pointer}.menu-toggle span{display:block;width:24px;height:2px;background:currentColor;margin:5px auto;transition:transform .25s ease,opacity .2s ease}.menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.is-open span:nth-child(2){opacity:0}.menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media(max-width:800px){.topbar{position:relative;z-index:30}.mini-cta{margin-left:auto;margin-right:8px}.menu-toggle{display:block;position:relative;z-index:32}.topbar nav{display:none;position:absolute;top:calc(100% - 1px);left:14px;right:14px;z-index:31;flex-direction:column;gap:0;padding:10px 18px;background:#fff;box-shadow:0 18px 32px #062a4330;border-top:3px solid var(--yellow)}.topbar nav.is-open{display:flex}.topbar nav a{display:block;padding:15px 2px;border-bottom:1px solid #062a4317;font-size:11px}.topbar nav a:last-child{border-bottom:0}body.menu-open{overflow:hidden}}
/* Galería moderna de vida escolar */
.moments-gallery{padding:110px 7vw;background:#062a43;color:#fff;overflow:hidden}.moments-gallery-heading{display:grid;grid-template-columns:1fr 1.05fr;gap:22px 7vw;align-items:end;margin-bottom:48px}.moments-gallery-heading .eyebrow{grid-column:1/3;color:#a8c4d1}.moments-gallery-heading h2{font-family:"DM Serif Display";font-weight:400;font-size:clamp(40px,4.5vw,62px);line-height:.94;letter-spacing:-1.4px;margin:0;max-width:600px}.moments-gallery-heading h2 em{font-style:normal;color:#61ced0}.moments-gallery-heading>p:last-child{font-size:15px;line-height:1.6;max-width:370px;margin:0;color:#c8d8df}.gallery-mosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:100px;gap:15px}.moment-card{grid-column:span 3;grid-row:span 3;position:relative;margin:0;overflow:hidden;background:#17445d;isolation:isolate;cursor:default}.moment-card img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;filter:saturate(.9) contrast(1.04);transition:filter .4s ease}.moment-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#031d31db 2%,transparent 64%)}.moment-card figcaption{position:absolute;left:18px;right:16px;bottom:17px;display:flex;flex-direction:column;gap:4px;transform:translateY(7px);transition:transform .35s ease}.moment-card span{text-transform:uppercase;letter-spacing:1.3px;color:#77d8d8;font-size:9px;font-weight:900}.moment-card strong{font-family:"DM Serif Display";font-weight:400;font-size:21px;line-height:1.02}.moment-card:hover img{filter:saturate(1.12) contrast(1.06)}.moment-card:hover figcaption{transform:translateY(0)}.moment-featured{grid-column:span 6;grid-row:span 5}.moment-featured strong{font-size:30px}.moment-tall{grid-column:span 3;grid-row:span 5}.moment-wide{grid-column:span 6;grid-row:span 3}.moment-card:nth-child(3) img{object-position:center 46%}.moment-card:nth-child(4) img{object-position:center 43%}.moment-card:nth-child(5) img{object-position:center 42%}.moment-card:nth-child(6) img{object-position:center 47%}@media(max-width:800px){.moments-gallery{padding:75px 25px}.moments-gallery-heading{display:block;margin-bottom:30px}.moments-gallery-heading .eyebrow{margin-bottom:17px}.moments-gallery-heading h2{font-size:43px}.moments-gallery-heading>p:last-child{margin-top:17px;font-size:14px}.gallery-mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:145px;gap:10px}.moment-card,.moment-featured,.moment-tall,.moment-wide{grid-column:span 1;grid-row:span 1}.moment-featured,.moment-wide{grid-column:span 2}.moment-featured{grid-row:span 2}.moment-tall{grid-row:span 2}.moment-featured strong{font-size:26px}.moment-card figcaption{left:14px;bottom:14px}.moment-card strong{font-size:18px}}
/* Contacto permanente por WhatsApp Business */
.social-links{align-items:center}.social-links-title{margin:0 4px 0 0;color:#a8c4d1;text-transform:uppercase;letter-spacing:1.2px;font-size:9px;font-weight:900}.whatsapp-float{position:fixed;right:25px;bottom:25px;z-index:50;display:flex;align-items:center;gap:9px;padding:10px 15px 10px 11px;border-radius:999px;background:#1faf5b;color:#fff;text-decoration:none;box-shadow:0 11px 26px #062a4354;transition:background .2s ease,box-shadow .2s ease}.whatsapp-float svg{width:29px;height:29px;fill:currentColor}.whatsapp-float span{font-size:10px;line-height:1.05;letter-spacing:.2px}.whatsapp-float strong{font-size:12px;letter-spacing:.3px}.whatsapp-float:hover{background:#168f48;box-shadow:0 14px 30px #062a436b}.whatsapp-float:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}@media(max-width:800px){.social-links-title{width:100%;margin-bottom:2px}.whatsapp-float{right:16px;bottom:16px;padding:12px;border-radius:50%}.whatsapp-float span{display:none}.whatsapp-float svg{width:31px;height:31px}}
/* Íconos oficiales de redes sociales */
.social-links a{gap:7px}.social-links a svg{display:block;width:18px;height:18px;padding:3px;box-sizing:content-box;border-radius:50%;background:var(--yellow);fill:var(--ink);stroke:var(--ink);stroke-width:1.7;flex:0 0 auto}.social-links a svg .instagram-dot{fill:var(--ink);stroke:none}.social-links a:hover svg{background:var(--ink);fill:#fff;stroke:#fff}.social-links a:hover svg .instagram-dot{fill:#fff}.social-links a>span{width:auto;height:auto;background:transparent;color:inherit;font-size:10px;font-weight:800}
/* Redundancia visual para servidores con caché: logos siempre visibles. */
.social-links a{display:inline-flex!important;align-items:center!important;gap:7px!important}.social-links .social-icon{display:block!important;width:22px!important;height:22px!important;flex:0 0 22px!important;color:#ffd63b!important}.social-links .icon-fill{fill:#ffd63b!important;stroke:none!important}.social-links .icon-instagram{fill:none!important;stroke:#ffd63b!important;stroke-width:2!important}.social-links .icon-instagram circle:last-child{fill:#ffd63b!important;stroke:none!important}.social-links .social-label{display:inline!important;width:auto!important;height:auto!important;background:transparent!important;color:#fff!important;font-size:10px!important;font-weight:800!important}
/* Colores de marca y accesos flotantes */
.social-links a{border:0!important;border-radius:999px!important;padding:9px 12px!important;color:#fff!important}.social-links a:nth-of-type(1){background:#1877f2!important}.social-links a:nth-of-type(2){background:linear-gradient(135deg,#833ab4 0%,#fd1d1d 52%,#fcb045 100%)!important}.social-links a:nth-of-type(3){background:#25d366!important}.social-links a .social-icon{color:#fff!important}.social-links a .icon-fill{fill:#fff!important}.social-links a .icon-instagram{stroke:#fff!important}.social-links a .icon-instagram circle:last-child{fill:#fff!important}.social-links a:hover{transform:translateY(-3px);filter:brightness(1.08)}.social-float-dock{position:fixed;right:26px;bottom:105px;z-index:9998;display:flex;flex-direction:column;gap:10px}.social-float-dock a{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 9px 20px rgba(6,42,67,.3);transition:transform .25s ease,filter .25s ease}.social-float-dock a:hover{transform:scale(1.12);filter:brightness(1.1)}.social-float-dock svg{width:25px;height:25px;fill:currentColor}.float-facebook{background:#1877f2}.float-instagram{background:linear-gradient(135deg,#833ab4 0%,#fd1d1d 52%,#fcb045 100%)}.float-instagram svg{fill:none;stroke:#fff;stroke-width:2}.float-instagram svg circle:last-child{fill:#fff;stroke:none}@media(max-width:800px){.social-float-dock{right:17px;bottom:88px;gap:8px}.social-float-dock a{width:43px;height:43px}.social-float-dock svg{width:23px;height:23px}}
/* Redes sociales: acceso exclusivo desde el grupo flotante. */
.social-float-label{align-self:center;background:#062a43;color:#fff;border:1px solid #ffffff40;border-radius:999px;padding:7px 11px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:1px;box-shadow:0 7px 16px rgba(6,42,67,.22);white-space:nowrap}@media(max-width:800px){.social-float-label{font-size:9px;padding:6px 9px}}
/* Ajuste del grupo social en móviles */
@media(max-width:800px){.social-float-dock{right:max(16px,env(safe-area-inset-right));bottom:calc(84px + env(safe-area-inset-bottom));flex-direction:row;align-items:center;gap:9px}.social-float-dock a{width:45px;height:45px;min-width:45px}.social-float-dock svg{width:24px;height:24px}.social-float-label{position:absolute;right:0;bottom:54px;margin:0;padding:7px 10px;background:#062a43;font-size:9px}.whatsapp-float{right:max(16px,env(safe-area-inset-right))!important;bottom:max(16px,env(safe-area-inset-bottom))!important;width:54px;height:54px;padding:12px!important;justify-content:center;border:2px solid #fff;box-shadow:0 10px 24px rgba(6,42,67,.38)!important}.whatsapp-float svg{width:30px!important;height:30px!important}.whatsapp-float span{display:none!important}}
@media(max-width:360px){.social-float-dock{gap:7px}.social-float-dock a{width:41px;height:41px;min-width:41px}.social-float-dock svg{width:22px;height:22px}.social-float-label{bottom:49px}.whatsapp-float{width:50px;height:50px}}
/* Redes sociales: flotantes en escritorio, footer en móvil. */
.footer .social-links{display:none}@media(max-width:800px){.social-float-dock,.whatsapp-float{display:none!important}.footer-bottom{display:block}.footer .social-links{display:flex!important;justify-content:flex-start;align-items:center;gap:8px;margin-top:19px}.footer .social-links-title{width:100%;margin:0 0 2px}.footer .social-links a{min-height:39px;padding:8px 11px!important}.footer .social-links .social-label{font-size:9px!important}}
/* Footer móvil: botones siempre visibles, aun si hay caché de estilos. */
@media(max-width:800px){.footer .social-links{width:100%;display:flex!important;visibility:visible!important;opacity:1!important}.footer .social-links a{display:inline-flex!important;visibility:visible!important;opacity:1!important}.footer .social-links svg{display:block!important;visibility:visible!important;opacity:1!important}}
/* Regla definitiva por pantalla: footer en móvil, flotantes en escritorio. */
@media(min-width:801px){.footer .social-links{display:none!important}.social-float-dock{display:flex!important}.whatsapp-float{display:flex!important}}@media(max-width:800px){.footer .social-links{display:flex!important}.social-float-dock,.whatsapp-float{display:none!important}}
/* VISIBILIDAD FINAL DE REDES: selector correcto para la etiqueta footer. */
footer .social-links{display:none!important}
@media (max-width:800px){
  footer .footer-bottom{display:block!important}
  footer .social-links{display:flex!important;visibility:visible!important;opacity:1!important;flex-wrap:wrap!important;justify-content:flex-start!important;align-items:center!important;gap:9px!important;width:100%!important;margin-top:20px!important}
  footer .social-links-title{display:block!important;flex:0 0 100%!important;width:100%!important;margin:0 0 3px!important;color:#a8c4d1!important}
  footer .social-links a{display:inline-flex!important;visibility:visible!important;opacity:1!important;flex:0 0 auto!important;min-height:42px!important}
  .social-float-dock,.whatsapp-float{display:none!important}
}
@media (min-width:801px){
  footer .social-links{display:none!important}
  .social-float-dock{display:flex!important}
  .whatsapp-float{display:flex!important}
}
/* Escudo limpio en el footer: PNG transparente, sin recuadro blanco. */
.footer-logo{background:transparent!important;padding:0!important}.footer-logo img{width:100%!important;height:100%!important;object-fit:contain!important;mix-blend-mode:normal!important}
/* Footer social adaptable: botones compactos para teléfonos pequeños. */
@media(max-width:800px){footer .social-links{column-gap:8px!important;row-gap:8px!important}footer .social-links a{max-width:100%;white-space:nowrap!important}footer .social-links .social-icon{width:21px!important;height:21px!important;flex:0 0 21px!important}}
@media(max-width:480px){footer{padding-left:25px!important;padding-right:25px!important}footer .social-links{gap:8px!important}footer .social-links a{width:43px!important;min-width:43px!important;height:43px!important;min-height:43px!important;padding:0!important;justify-content:center!important;border-radius:50%!important}footer .social-links .social-label{display:none!important}footer .social-links .social-icon{width:22px!important;height:22px!important;flex:0 0 22px!important}}
@media(max-width:360px){footer{padding-left:18px!important;padding-right:18px!important}footer .social-links a{width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important}footer .social-links .social-icon{width:20px!important;height:20px!important;flex:0 0 20px!important}}