html {
    scroll-behavior: smooth;
}

body {
    font-family: "DM Sans", sans-serif;
}

body.menu-open {
    overflow: hidden;
}

::selection {
    background: #d4af57;
    color: #15110f;
}

.hero-slide {
    opacity: 0;
    visibility: hidden;
    transform: scale(1.05);
    transition:
        opacity 1.1s ease,
        visibility 1.1s ease,
        transform 8s ease;
}

.hero-slide.active {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
}

.reveal {
    opacity: 0;
    transform: translateY(28px);
    transition:
        opacity .8s ease,
        transform .8s ease;
}

.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

.image-zoom img {
    transition: transform .8s ease;
}

.image-zoom:hover img {
    transform: scale(1.07);
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height .35s ease;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}