:root{--motion-quick:180ms;--motion-panel:300ms;--motion-ease:cubic-bezier(.22,.75,.25,1)}
.prime-motion .prime-reveal-pending{opacity:0;transform:translateY(24px)}
.prime-motion dialog::backdrop{animation:prime-scrim-in 240ms both}
.prime-motion dialog[data-motion="closing"]::backdrop{animation:prime-scrim-out 220ms both}
@keyframes prime-scrim-in{from{opacity:0}to{opacity:1}}
@keyframes prime-scrim-out{from{opacity:1}to{opacity:0}}
.faq-plus:before,.faq-plus:after{transition:transform var(--motion-quick) var(--motion-ease)}
.faq-plus{transition:transform var(--motion-quick) var(--motion-ease),background var(--motion-quick)}
.faq-list summary:hover .faq-plus{transform:scale(1.08)}
.faq-list details[data-disclosure="closing"] .faq-plus:after{transform:translate(-50%,-50%) rotate(90deg)}
.price-details summary{transition:color var(--motion-quick)}
.button,input,select,textarea,.icon-button,.menu-toggle,.category-tabs button,.check-row,.extra-row,.gallery-thumbnails button{transition-duration:var(--motion-quick);transition-timing-function:var(--motion-ease)}
.booking-field>input,.booking-field>textarea,.booking-field>select{transition:background var(--motion-quick),box-shadow var(--motion-quick)}
.booking-field>input:focus,.booking-field>textarea:focus,.booking-field>select:focus{background:var(--page);box-shadow:inset 0 0 0 1px var(--focus)}
.button:active,.hero-gallery-arrow:active,.icon-button:active,.menu-toggle:active,.category-tabs button:active{transform:scale(.97);transition-duration:90ms}
.menu-dialog nav a{display:block;transition:transform var(--motion-quick),opacity var(--motion-quick)}
.menu-dialog nav a:hover{transform:translateX(6px)}
.extra-row:has(input:checked){transition:background 220ms var(--motion-ease)}
.gallery-thumbnails button{transition:opacity 180ms,transform 180ms,border-color 180ms}
.gallery-thumbnails button:hover{transform:translateY(-3px)}
@media(prefers-reduced-motion:reduce){
 .prime-motion .prime-reveal-pending{opacity:1;transform:none}
 .prime-motion dialog::backdrop,.prime-motion dialog[data-motion="closing"]::backdrop{animation:none}
 .button:active,.hero-gallery-arrow:active,.icon-button:active,.menu-toggle:active,.category-tabs button:active,.menu-dialog nav a:hover,.gallery-thumbnails button:hover{transform:none}
}
