/* Motion is decorative; all content remains visible without JavaScript. */
@keyframes ds-enter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes ds-photo{from{opacity:.6;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:no-preference){
.hero-content>.eyebrow{animation:ds-enter .8s both}.hero h1{animation:ds-enter 1s .12s both}.hero-bottom{animation:ds-enter .9s .28s both}.hero-image{animation:ds-photo 1.5s both}.hero-photo-inset{animation:ds-enter 1.1s .4s both}
.button-primary,.submit,.nav-cta,.photo-arrow,button{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease}
.button-primary:hover,.submit:hover,.nav-cta:hover{transform:translateY(-3px);box-shadow:0 10px 24px #11243e25}.button-primary:active,.submit:active{transform:translateY(0)}
.luxury-card:hover .photo-arrow{transform:rotate(45deg);background:#11243e}.luxury-card:focus-visible img{transform:scale(1.045)}
.photo-ribbon img{transition:transform .8s ease}.photo-ribbon figure:hover img{transform:scale(1.05)}
nav a:not(.nav-cta){position:relative}nav a:not(.nav-cta):after{content:'';position:absolute;left:0;bottom:-6px;width:100%;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}nav a:hover:after,nav a[aria-current]:after{transform:scaleX(1)}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
