/* Motion uses only transform/opacity. Content stays visible without JavaScript. */
body[data-motion="subtle"] .motion-pending{opacity:0;transform:translateY(20px)}
body[data-motion="subtle"] .motion-visible{opacity:1;transform:translateY(0);transition:opacity .6s ease-out,transform .6s cubic-bezier(.22,.7,.25,1);transition-delay:var(--motion-delay,0ms)}
body[data-motion="subtle"].motion-ready .hero-grid>div:first-child{animation:hero-settle .65s cubic-bezier(.22,.7,.25,1) both}
body[data-motion="subtle"].motion-ready .hero-media{animation:photo-settle .85s cubic-bezier(.22,.7,.25,1) both}
@keyframes hero-settle{from{transform:translateY(10px)}to{transform:translateY(0)}}
@keyframes photo-settle{from{transform:translateY(14px) scale(.985)}to{transform:translateY(0) scale(1)}}
body[data-motion="subtle"] .btn{transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}
body[data-motion="subtle"] .home-occasion-card,body[data-motion="subtle"] .model-cards>.card{transition:opacity .6s ease-out,transform .6s cubic-bezier(.22,.7,.25,1),box-shadow .25s ease}
@media(hover:hover) and (pointer:fine){
 body[data-motion="subtle"] .btn:hover{transform:translateY(-2px);box-shadow:0 5px 14px rgba(23,43,66,.12)}
 body[data-motion="subtle"] .home-occasion-card:not(.motion-pending):hover,body[data-motion="subtle"] .model-cards>.card:not(.motion-pending):hover{transform:translateY(-5px);box-shadow:0 12px 28px rgba(23,43,66,.1);transition-delay:0ms}
 body[data-motion="subtle"] .gallery-grid a img{transition:transform .3s ease}
 body[data-motion="subtle"] .gallery-grid a:hover img{transform:scale(1.015)}
}
body[data-motion="subtle"] .btn:active{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){
 body[data-motion="subtle"] .motion-pending,body[data-motion="subtle"] .motion-visible{opacity:1!important;transform:none!important}
 body[data-motion="subtle"] *,body[data-motion="subtle"] *::before,body[data-motion="subtle"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media print{body[data-motion="subtle"] .motion-pending{opacity:1!important;transform:none!important}}

/* Reduced motion also disables instantaneous hover/press displacement. */
@media(prefers-reduced-motion:reduce){
 body[data-motion="subtle"] .btn:hover,
 body[data-motion="subtle"] .btn:active,
 body[data-motion="subtle"] .home-occasion-card:hover,
 body[data-motion="subtle"] .model-cards>.card:hover,
 body[data-motion="subtle"] .gallery-grid a:hover img{transform:none!important}
}
