
#faq details { transition: border-color 180ms ease, background-color 180ms ease; }
#faq details[open] > div { animation: answer-in 300ms ease-out; }
#booking-dialog[open] { animation: dialog-in 320ms cubic-bezier(.2,.7,.3,1); }
#booking-dialog[open]::backdrop { animation: backdrop-in 180ms ease-out; }
#contact .contact-submit svg { transition: transform 180ms ease; }
#contact .contact-submit:focus-visible svg { transform: translateX(3px); }
.collaboration-card { transition: border-color 180ms ease; }
.collaboration-cta { transition: background-color 180ms ease; }
@media (hover:hover) {
    #contact .contact-submit:hover:not(:disabled) svg { transform: translateX(3px); }
    .collaboration-card:hover { border-color: #657e49; }
}
@keyframes answer-in {
    from { opacity: .15; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes dialog-in {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes backdrop-in {
    from { opacity: 0; }
    to { opacity: 1; }
}
@media (prefers-reduced-motion:reduce) {
    #faq details[open] > div, #booking-dialog[open], #booking-dialog[open]::backdrop { animation: none; }
    #contact .contact-submit svg, .collaboration-card, .collaboration-cta, #faq details { transition: none; }
    #contact .contact-submit svg { transform: none !important; }
}
