body {
    background-color: #fbf9f4;
    color: #1b1c19;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

.material-symbols-outlined {
    font-variation-settings: "FILL" 0, "wght" 300, "GRAD" 0, "opsz" 24;
    display: inline-block;
    vertical-align: middle;
}

.image-zoom-container {
    overflow: hidden;
}

.image-zoom-container img,
.image-zoom {
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.image-zoom-container:hover img,
.luxury-hover:hover .image-zoom {
    transform: scale(1.05);
}

.nav-link {
    position: relative;
}

.nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 0;
    height: 1px;
    background: currentColor;
    transition: width 0.3s ease;
}

.nav-link:hover::after {
    width: 100%;
}

.reveal,
.js-reveal-target {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1), transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal.active,
.js-reveal-target.active {
    opacity: 1;
    transform: translateY(0);
}

.partner-grid {
    transition: opacity 0.28s cubic-bezier(0.16, 1, 0.3, 1), transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

.partner-grid.is-filtering {
    opacity: 0;
    transform: translateY(18px);
}

.partner-card--filter-enter {
    opacity: 0;
    transform: translateY(24px);
    animation: partnerCardFilterIn 0.72s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.partner-filter-empty {
    grid-column: 1 / -1;
}

.editorial-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 1s cubic-bezier(0.4, 0, 0.2, 1);
}

.editorial-slide.active {
    opacity: 1;
    z-index: 10;
}

.editorial-slide.is-hidden {
    visibility: hidden;
    pointer-events: none;
}

.line-overflow {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.luxury-space {
    padding: 120px 80px;
}

input:focus,
textarea:focus,
select:focus {
    outline: none !important;
    box-shadow: none !important;
}

input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(0);
    cursor: pointer;
}

details > summary::-webkit-details-marker {
    display: none;
}

.luxury-fade-in {
    animation: fadeIn 1.2s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes partnerCardFilterIn {
    from {
        opacity: 0;
        transform: translateY(24px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 768px) {
    .luxury-space {
        padding: 64px 20px;
    }
}
