:root{--maroon:rgb(155,36,63);--blue:#11539F;--ink:#111111}
html{scroll-behavior:smooth}
body{font-family:Arial,Helvetica,sans-serif;background:#fff;color:#111}
.glass{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.shadow-soft{box-shadow:0 18px 50px rgba(0,0,0,.10)}
.text-balance{text-wrap:balance}
.hero-slide{transition:opacity .8s ease, transform .8s ease}
.hero-slide.inactive{opacity:0;transform:scale(1.03);pointer-events:none}
.hero-slide.active{opacity:1;transform:scale(1)}
.marquee{animation:marquee 18s linear infinite}
@keyframes marquee{0%{transform:translateX(100%)}100%{transform:translateX(-100%)}}
.floaty{animation:floaty 4s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.parallax{background-attachment:fixed;background-size:cover;background-position:center}
.menu-item:hover .submenu{opacity:1;visibility:visible;transform:translateY(0)}
.submenu{opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s ease}
.carousel-track{scroll-snap-type:x mandatory}
.carousel-track > *{scroll-snap-align:start}
.facility-card:hover .facility-icon{transform:rotate(8deg) scale(1.08)}
.facility-icon{transition:transform .25s ease}
.sticky-admission{animation:pulseGlow 1.8s ease-in-out infinite}
@keyframes pulseGlow{0%,100%{box-shadow:0 0 0 0 rgba(17,83,159,.42)}50%{box-shadow:0 0 0 10px rgba(17,83,159,0)}}
.topbar-marquee{white-space:nowrap}