/* Finite transitions; no looping backgrounds, parallax, or changing data counters. */
.header{transition:background-color .25s ease,box-shadow .25s ease,border-color .25s ease}
.header.is-scrolled{background:#f5f7fdeb;border-color:#d7dff0;box-shadow:0 6px 28px #243a7010}
.button{transition:background-color .2s ease,border-color .2s ease,box-shadow .25s ease,transform .25s cubic-bezier(.22,1,.36,1)}
.text-link>span,.text-button>span{display:inline-block;transition:transform .25s cubic-bezier(.22,1,.36,1)}
.home-product-grid article,.planning-feature-grid article,.plan,.plan-detail-card,.mode-card,.journey-strip a{transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease,border-color .25s ease}
.shot-open{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,border-color .25s ease}
.shot-open picture img{transition:transform .6s cubic-bezier(.22,1,.36,1);transform-origin:center}
.shot-zoom{transition:background-color .2s ease,box-shadow .25s ease,transform .25s ease}
.preview-tabs button,.subject-tabs button,.coach-tabs button,.school-view-switch button,.filter-row button{transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}
.activity-chart i{transform-origin:50% 100%}
.planning-check-track i{transition:width .4s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .button:hover{transform:translateY(-2px);box-shadow:0 10px 22px #2b63df24}
 .button:active{transform:translateY(0) scale(.98)}
 .text-link:hover>span,.text-button:hover>span{transform:translateX(3px)}
 .home-product-grid article:hover,.planning-feature-grid article:hover,.plan:hover,.plan-detail-card:hover,.mode-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px -22px #42529640;border-color:#aebfe8}
 .journey-strip a:hover{transform:translateY(-3px);box-shadow:0 8px 20px #42529612}
 .shot-open:hover{transform:translateY(-3px);box-shadow:0 30px 58px -24px #24386555}
 .shot-open:hover picture img{transform:scale(1.006)}
 .shot-open:hover .shot-zoom{transform:translateY(-2px);background:#fff;box-shadow:0 5px 16px #3047791f}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
}
