/* ===== BASE ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body { font-family: 'Inter', system-ui, sans-serif; background: #0d0808; color: #f5e6d3; }
h1, h2, h3, h4 { font-family: 'Playfair Display', Georgia, serif; }
img { display: block; max-width: 100%; }
a { text-decoration: none; color: inherit; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
select option { background: #1a0a0a; color: #f5e6d3; }

/* ===== SCROLLBAR ===== */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #0d0808; }
::-webkit-scrollbar-thumb { background: #c9952e30; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #c9952e60; }

/* ===== REVEAL ANIMATIONS ===== */
.reveal-up {
    opacity: 1;
    transform: none;
    transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

@media (prefers-reduced-motion: no-preference) {
    .reveal-up {
        opacity: 0;
        transform: translateY(32px);
    }
    .reveal-up.revealed {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ===== HERO ANIMATIONS ===== */
@media (prefers-reduced-motion: no-preference) {
    #hero-badge { animation: fadeSlideDown 0.8s 0.3s both cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    #hero-title { animation: fadeSlideUp 1s 0.5s both cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    #hero-desc { animation: fadeSlideUp 1s 0.7s both cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    #hero-cta { animation: fadeSlideUp 1s 0.9s both cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    #hero-stats { animation: fadeSlideUp 1s 1.1s both cubic-bezier(0.25, 0.46, 0.45, 0.94); }
}

@keyframes fadeSlideDown {
    from { opacity: 0; transform: translateY(-16px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeSlideUp {
    from { opacity: 0; transform: translateY(24px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ===== SCROLL GALLERY ===== */
@keyframes scrollGallery {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.animate-scroll {
    display: flex;
    gap: 16px;
    animation: scrollGallery 40s linear infinite;
    width: max-content;
}

.animate-scroll:hover {
    animation-play-state: paused;
}

/* ===== NAV ACTIVE STATE ===== */
.nav-active {
    color: #e8c87a !important;
}

/* ===== MOBILE MENU TRANSITIONS ===== */
.mobile-menu-open {
    opacity: 1 !important;
    pointer-events: all !important;
}

/* ===== GOLD SHIMMER on hover ===== */
a, button {
    transition: all 0.3s ease;
}

/* ===== FOCUS STYLES ===== */
:focus-visible {
    outline: 2px solid #c9952e;
    outline-offset: 2px;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
    .font-serif { line-height: 1.15; }
}
