:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
/* Navigation remains stable while the content changes. */
body>header{position:sticky;top:0;z-index:40;transition:box-shadow .3s ease,background-color .3s ease;isolation:isolate}
body>header.is-scrolled{background:#fffffffa;box-shadow:0 5px 24px #073d7010}
header nav>a:not(.nav-cta):not(.login-link){position:relative}
header nav>a:not(.nav-cta):not(.login-link):after{content:'';position:absolute;height:2px;left:0;right:0;bottom:5px;background:#00a3df;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--motion-ease)}
header nav>a.active:after{transform:scaleX(1)!important}
header .logo img{transition:transform .5s var(--motion-ease)}
.btn,.nav-cta,.login-link,.text-btn,.photo-link,.support-options button,.contact-input button{transition:transform .28s var(--motion-ease),box-shadow .28s ease,background-color .25s ease,color .25s ease,border-color .25s ease}
.btn>svg,.btn>span,.read-more>span,.project-copy>span>svg,.text-btn>svg{transition:transform .3s var(--motion-ease)}
.btn:active,.nav-cta:active,.contact-input button:active{transform:scale(.98)}
.mission-photo>img{transition:transform .8s var(--motion-ease)}
.project-card,.news-card{transition:transform .4s var(--motion-ease),box-shadow .4s ease,border-color .4s ease}
.project-image img,.news-image img{transition:transform .85s var(--motion-ease)}
.values-grid article{transition:box-shadow .35s ease,border-color .35s ease}
.event-row{transition:transform .3s var(--motion-ease),color .3s ease}
.volunteer-fields input,.volunteer-fields select,.contact-input input,.search{transition:box-shadow .25s ease,border-color .25s ease}
.volunteer-fields input:focus,.volunteer-fields select:focus,.contact-input input:focus,.search:focus{outline:2px solid #ffcc00;outline-offset:3px;box-shadow:0 0 0 5px #ffcc0018}
.article-cover{aspect-ratio:5/3;object-fit:contain}
.reveal-pending{opacity:0;transform:translateY(18px)}
#site-content{scroll-margin-top:110px}
#site-content:focus{outline:none}
#back-top{position:fixed;right:24px;bottom:24px;z-index:35;display:grid;place-items:center;width:43px;height:43px;border:1px solid #d6e9f4;border-radius:50%;background:white;color:#087aa9;box-shadow:0 5px 20px #073d7015;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s ease,transform .3s var(--motion-ease),visibility .25s ease}
#back-top.visible{opacity:1;visibility:visible;transform:translateY(0)}
#back-top svg{width:18px;height:18px}
@media(hover:hover) and (pointer:fine){
 header .logo:hover img{transform:rotate(-5deg)}
 header nav>a:hover:after{transform:scaleX(1)!important}
 .btn:hover,.nav-cta:hover,.contact-input button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #073d7018}
 .btn:hover>svg,.btn:hover>span,.project-card:hover .project-copy>span>svg,.news-card:hover .read-more>span{transform:translateX(3px)}
 .project-card:hover,.news-card:hover{transform:translateY(-5px);border-color:#cce2ed;box-shadow:0 13px 30px #073d7010}
 .project-card:hover .project-image img,.news-card:hover .news-image img,.mission-photo:hover>img{transform:scale(1.045)}
 .mission-photo:hover .photo-link{transform:scale(1.07);box-shadow:0 0 0 5px #ffffff22}
 .values-grid article:hover{border-color:#d3e8f0;box-shadow:0 8px 24px #073d7008}
 .event-row:hover{transform:translateX(3px)}
 .support-options button:hover{transform:translateY(-2px)}
 #back-top:hover{transform:translateY(-3px);border-color:#80bfdb}
}
@media(max-width:620px){
 body>header{position:sticky}
 header nav{position:absolute;top:100%;left:0;right:0;width:100%;background:#fff;box-shadow:0 15px 25px #073d7014;border-top:1px solid #e4edf3;padding:12px 5.5% 18px;max-height:calc(100dvh - 80px);overflow-y:auto}
 header nav>a:after{right:auto!important;width:25px;bottom:7px!important}
 #site-content{scroll-margin-top:88px}
 #back-top{width:38px;height:38px;right:16px;bottom:16px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 *,*:before,*:after{animation:none!important;transition:none!important}
 .reveal-pending{opacity:1!important;transform:none!important}
 #back-top,#back-top.visible{transform:none!important}
}

@media(prefers-reduced-motion:reduce){.btn:hover,.nav-cta:hover,.contact-input button:hover,.project-card:hover,.news-card:hover,.mission-photo:hover .photo-link,.event-row:hover,#back-top:hover,.project-image img,.news-image img,.mission-photo>img,.btn>svg,.btn>span{transform:none!important}}

#site-content{overflow-anchor:none}
