/* Interaction states complement the one-time, scroll-triggered entrances. */
.header{transition:box-shadow .3s ease,background-color .3s ease}
.header.is-scrolled{box-shadow:0 7px 28px #15375b12}
.header::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--blue);transform:scaleX(var(--page-progress,0));transform-origin:left;pointer-events:none}
.button,.header-cta,footer>a.back-to-top,.menu-toggle{transition:transform .25s ease,background-color .25s ease,color .25s ease,box-shadow .25s ease}
.button>span,.header-cta>span,.back-to-top>span,.hero-bottom a>span,.partner-copy a>span{display:inline-block;transition:transform .25s ease}
.receptor-grid article,.stats-grid article,.evidence-card,.quality-pillars article{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.feature-strip .icon,.quality-pillars .icon{transition:transform .3s ease}
.header nav a{transition:color .2s ease}
.partner-copy a{transition:color .2s ease,text-decoration-color .2s ease}
@media(hover:hover) and (pointer:fine){
 .button:hover,.header-cta:hover,footer>a.back-to-top:hover{transform:translateY(-3px);box-shadow:0 9px 24px #0649ec25}
 .button:hover{background:#003bc5}
 .header-cta:hover{background:var(--blue);color:white}
 .button:hover>span,.header-cta:hover>span,.partner-copy a:hover>span{transform:translate(3px,-2px)}
 .back-to-top:hover>span{transform:translateY(-4px)}
 .hero-bottom a:hover>span{transform:translateY(4px)}
 .receptor-grid article:hover,.stats-grid article:hover,.quality-pillars article:hover{transform:translateY(-5px);box-shadow:0 14px 32px #163f7414;border-color:#97b8f1}
 .evidence-card:hover{box-shadow:0 12px 30px #163f7410}
 .feature-strip li:hover .icon,.quality-pillars article:hover .icon{transform:translateY(-3px) rotate(-4deg)}
}
.button:active,.header-cta:active,footer>a.back-to-top:active,.menu-toggle:active{transform:scale(.98)}
@media(max-width:1000px) and (prefers-reduced-motion:no-preference){
 .header nav.open{animation:menu-enter .23s ease-out both}
}
@keyframes menu-enter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
 .button:hover,.header-cta:hover,footer>a.back-to-top:hover,.receptor-grid article:hover,.stats-grid article:hover,.quality-pillars article:hover,.button:active,.header-cta:active,footer>a.back-to-top:active,.menu-toggle:active{transform:none}
 .button>span,.header-cta>span,.back-to-top>span,.hero-bottom a>span,.partner-copy a>span,.feature-strip .icon,.quality-pillars .icon{transform:none!important}
}
@media print{.header::after{display:none}}
