/* Progressive enhancement: content stays visible without JavaScript. */
.esc-reveal{opacity:1}
@media(prefers-reduced-motion:no-preference){
.esc-reveal.esc-await{opacity:0;transform:translateY(16px)}
.esc-reveal.esc-seen{animation:esc-enter .55s ease-out both;animation-delay:var(--esc-delay,0ms)}
@keyframes esc-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.esc-home-banner #esc-home-heading{animation:esc-hero-rise .7s cubic-bezier(.22,1,.36,1) both}
.esc-home-banner .esc-home-motto{animation:esc-hero-rise .7s cubic-bezier(.22,1,.36,1) .35s both}
.esc-home-route path:first-child{animation:esc-path 2.8s ease-out both,esc-path-drift 18s linear 2.8s infinite}
@keyframes esc-hero-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes esc-path-drift{from{stroke-dashoffset:0}to{stroke-dashoffset:-24}}
@keyframes esc-path{from{opacity:0;clip-path:inset(100% 0 0 0)}to{opacity:1;clip-path:inset(0)}}
.card,.location-card,.resource-card,.person-card{transition:transform .22s ease,box-shadow .22s ease}
@media(hover:hover) and (pointer:fine){
.card:hover,.location-card:hover,.resource-card:hover,.person-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(16,42,67,.12)}
.location-card{overflow:hidden}
.location-card img{transition:transform .4s ease;transform-origin:center}
.location-card:hover img{transform:scale(1.015)}
}
.nav-list a{position:relative}
.nav-list a::after{content:"";position:absolute;bottom:-6px;left:0;width:100%;height:2px;background:#0b74de;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.nav-list a:hover::after,.nav-list a:focus-visible::after{transform:scaleX(1)}
.tab-panel.active{animation:esc-tab .22s ease-out}
@keyframes esc-tab{from{opacity:.4}to{opacity:1}}
}
@media(max-width:620px){.esc-reveal.esc-seen{animation-duration:.35s;animation-delay:0ms}}
@media(prefers-reduced-motion:reduce){.esc-reveal.esc-await{opacity:1;transform:none}.esc-reveal,.tab-panel.active,.esc-home-route path{animation:none!important}.card,.location-card,.resource-card,.person-card,.location-card img,.nav-list a::after{transition:none!important}}
