/* Theme effects apply to CMS content without changing the saved page HTML. */
.motion-pending{opacity:0;transform:translateY(32px)}
.motion-visible{animation:school-enter .8s both;animation-delay:var(--motion-delay,0ms)}
@keyframes school-enter{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}
.gallery-item:after{content:'';position:absolute;inset:0;background:rgba(2,63,118,.65);opacity:0;transition:opacity .4s;pointer-events:none}
.gallery-item>span{z-index:1;transition:transform .4s}
.gallery-item:hover:after,.gallery-item:focus-visible:after{opacity:1}
.gallery-item:hover>span,.gallery-item:focus-visible>span{transform:translateY(-8px)}
.gallery-item:focus-visible img{transform:scale(1.05)}
.program>img,.photo-pair img{transition:filter .4s,scale .4s}
.program:hover>img,.program:focus-within>img,.photo-pair img:hover{filter:sepia(1) saturate(3) hue-rotate(165deg) brightness(.8);scale:1.025}
.activity,.facility-icon,.school-stats>div{transition:translate .3s,box-shadow .3s}
.activity:hover,.school-stats>div:hover{translate:0 -7px}
.facility-column article:hover .facility-icon{translate:0 -5px}
.school-stats strong{font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:reduce){
 .motion-pending,.motion-visible{opacity:1;transform:none;animation:none}
 .activity:hover,.school-stats>div:hover,.facility-column article:hover .facility-icon{translate:none}
 .program:hover>img,.program:focus-within>img,.photo-pair img:hover{scale:1}
}
