/* Shared motion and responsive refinements for every language and page. */
:root{--ease-out:cubic-bezier(.22,1,.36,1)}
body{overflow-wrap:break-word}main,section,.header-inner>* , .vehicle-layout>*,.reservation>*{min-width:0}
header{transition:box-shadow .4s ease,background-color .35s ease}header.is-scrolled{box-shadow:0 5px 24px #00000012}
a,button,select,input,textarea{transition:background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease}
.button{transition:transform .35s var(--ease-out),box-shadow .35s ease,opacity .25s ease}.button:active{transform:scale(.98)}.button span{transition:transform .35s var(--ease-out)}
.gallery figure,.photo-grid figure{overflow:hidden}.gallery img{transition:transform .9s var(--ease-out)}
input:focus,textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 12%,transparent)}
@keyframes rise-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes photo-in{from{opacity:.3;transform:scale(1.055)}to{opacity:1;transform:scale(1)}}
@keyframes dialog-in{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){
.hero-copy>*{animation:rise-in 1.1s var(--ease-out) both}.hero-copy>:nth-child(2){animation-delay:.12s}.hero-copy>:nth-child(3){animation-delay:.24s}.hero-copy>:nth-child(4){animation-delay:.36s}
.hero-photo img{animation:photo-in 1.8s var(--ease-out) both}.photos-page>h1,.thanks>*{animation:rise-in 1s var(--ease-out) both}
.reveal-pending{opacity:0;transform:translateY(26px);transition:opacity .85s var(--ease-out),transform .85s var(--ease-out);transition-delay:var(--reveal-delay,0ms)}.reveal-pending.is-visible{opacity:1;transform:none}
dialog[open]{animation:dialog-in .35s var(--ease-out)}
}
@media(hover:hover){.button:hover{transform:translateY(-3px);box-shadow:0 8px 22px #0002}.button:hover span{transform:translateX(5px)}.gallery figure:hover img{transform:scale(1.025)}.photo-grid a:hover img{transform:scale(1.045)}}
@media(max-width:1050px) and (min-width:801px){.header-inner{flex-wrap:wrap;gap:0 20px}.brand{order:0}.utilities{order:1;margin-left:auto}nav{order:2;width:100%;justify-content:center;margin:0;gap:35px}html{scroll-padding-top:155px}}
@media(max-width:800px){.header-inner{gap:0 12px}nav{gap:4px;min-width:0}nav a{flex:1;min-width:0;width:auto;font-size:15px}.wrap{padding-left:24px;padding-right:24px}.hero-copy{padding-left:26px;padding-right:26px}.hero h1{font-size:clamp(27px,4vw,33px)}.hero-photo{min-height:360px}.consent{align-items:flex-start}.consent input{margin-top:8px}.photo-grid img{transition:transform .7s var(--ease-out)}#photo-viewer{max-height:calc(100dvh - 24px)}.viewer-controls{padding-bottom:env(safe-area-inset-bottom,0px)}}
@media(max-width:580px){.hero-photo{min-height:0}.hero h1{font-size:clamp(27px,7.5vw,35px)}.hero-copy{padding-top:42px;padding-bottom:38px}.lead{max-width:100%}html[lang=en] .hero h1{font-size:clamp(31px,9vw,43px)}.form-heading{flex-wrap:wrap}.contact-buttons{flex-wrap:wrap;gap:4px 22px}.phone-number{font-size:clamp(23px,7vw,27px)}.photo-grid{gap:22px 12px}.footer-legal{overflow-wrap:anywhere}input[type=date],input[type=time]{max-width:100%;appearance:none;-webkit-appearance:none}.thanks h1{overflow-wrap:anywhere}.viewer-top p{line-height:1.5}.viewer-controls{gap:22px}}
@media(max-width:359px){.header-inner{padding-left:12px;padding-right:12px;column-gap:6px}.brand img{width:105px}.utilities{gap:6px}.theme-label select{width:80px;padding-left:4px;padding-right:2px}.language{font-size:12px}nav a,html[lang=en] nav a{font-size:12px}.wrap{padding-left:18px;padding-right:18px}.hero-copy{padding-left:20px;padding-right:20px}.photo-grid{grid-template-columns:1fr}.button{gap:15px}.vehicle h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-pending{opacity:1!important;transform:none!important}}
