/* ── Base & Utilities ── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* ── Hero Gradient ── */
.hero-gradient {
    background: radial-gradient(ellipse 80% 60% at 50% 40%,
        rgba(184, 96, 50, 0.35) 0%,
        rgba(139, 69, 35, 0.2) 40%,
        rgba(20, 20, 20, 0.0) 75%
    );
}

/* ── Hero Orbs ── */
.hero-orb {
    border-radius: 50%;
    filter: blur(80px);
    opacity: 0.4;
}
.hero-orb--1 {
    background: radial-gradient(circle, rgba(198, 100, 55, 0.5) 0%, transparent 70%);
}
.hero-orb--2 {
    background: radial-gradient(circle, rgba(212, 168, 75, 0.25) 0%, transparent 70%);
}

/* ── CTA Banner Gradient ── */
.cta-gradient {
    background: linear-gradient(135deg,
        rgba(139, 69, 35, 0.6) 0%,
        rgba(100, 50, 25, 0.7) 50%,
        rgba(60, 30, 15, 0.8) 100%
    );
}

/* ── Scroll Reveal (progressive enhancement) ── */
@media (prefers-reduced-motion: no-preference) {
    .reveal {
        opacity: 0;
        transform: translateY(32px);
        transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
                    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
    }
    .reveal.revealed {
        opacity: 1;
        transform: translateY(0);
    }
}
/* Fallback: if JS is disabled or prefers-reduced-motion, content is visible */
@media not all and (prefers-reduced-motion: no-preference) {
    .reveal {
        opacity: 1;
        transform: none;
    }
}

/* ── Card Hover ── */
.card-hover {
    will-change: transform;
}

/* ── Gold shimmer line on section headers ── */
section h2::after {
    content: '';
    display: block;
    width: 48px;
    height: 2px;
    background: linear-gradient(90deg, rgba(184, 134, 11, 0.6), transparent);
    margin-top: 16px;
    border-radius: 2px;
}
section h2.text-center::after,
.text-center h2::after {
    margin-left: auto;
    margin-right: auto;
}

/* ── Custom scrollbar ── */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #1A1A1A; }
::-webkit-scrollbar-thumb { background: #3D2B1F; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #5C3D2A; }

/* ── Input autofill override ── */
input:-webkit-autofill,
textarea:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 30px #1A1A1A inset !important;
    -webkit-text-fill-color: #FDF6E8 !important;
    caret-color: #FDF6E8;
}

/* ── Mobile menu animation ── */
#mobile-menu {
    animation: slideDown 0.25s cubic-bezier(0.22, 1, 0.36, 1);
}
@keyframes slideDown {
    from { opacity: 0; transform: translateY(-8px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ── Responsive tweaks ── */
@media (max-width: 640px) {
    section h2::after { width: 32px; margin-top: 12px; }
    .font-serif { line-height: 1.15; }
}
