/* ── Base & Utilities ── */
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }

/* ── Scroll Reveal (progressive enhancement — content is visible by default) ── */
.scroll-reveal {
    transition: opacity 0.6s ease, transform 0.6s ease;
}
.scroll-reveal.revealed {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

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

/* ── Nav scroll state ── */
header.scrolled #nav {
    background: rgba(253, 248, 245, 0.95);
    backdrop-filter: blur(12px);
    box-shadow: 0 1px 0 rgba(0,0,0,0.06);
}

/* ── Hamburger animation ── */
#menu-btn.active .hamburger-line:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}
#menu-btn.active .hamburger-line:nth-child(2) {
    opacity: 0;
}
#menu-btn.active .hamburger-line:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
    width: 1.25rem;
}

/* ── Mobile menu ── */
#mobile-menu.open {
    opacity: 1;
    pointer-events: all;
}

/* ── Subtle hover lift for cards ── */
.bg-white.rounded-3xl,
.bg-burgundy-950.rounded-3xl {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.bg-white.rounded-3xl:hover,
.bg-burgundy-950.rounded-3xl:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 40px rgba(0,0,0,0.08);
}

/* ── Selection color ── */
::selection {
    background: #f9d0d9;
    color: #67122b;
}
