/* ── Base ── */
html {
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    background-color: #020610;
    color: #ffffff;
}

/* ── Scroll-reveal base (visible by default, enhanced by JS) ── */
.reveal-down,
.reveal-left,
.reveal-right,
.reveal-scale {
    opacity: 1;
    transform: none;
    transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1), transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

@media (prefers-reduced-motion: no-preference) {
    .reveal-down {
        opacity: 0;
        transform: translateY(32px);
    }
    .reveal-left {
        opacity: 0;
        transform: translateX(-40px);
    }
    .reveal-right {
        opacity: 0;
        transform: translateX(40px);
    }
    .reveal-scale {
        opacity: 0;
        transform: scale(0.95);
    }
    .reveal-down.visible,
    .reveal-left.visible,
    .reveal-right.visible,
    .reveal-scale.visible {
        opacity: 1;
        transform: none;
    }
}

/* ── Navbar ── */
#navbar.scrolled {
    background: rgba(2, 6, 16, 0.92);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

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

#mobile-menu.closed {
    opacity: 0;
    pointer-events: none;
}

#menu-toggle.active #bar-top {
    transform: translateY(5px) rotate(45deg);
}
#menu-toggle.active #bar-mid {
    opacity: 0;
}
#menu-toggle.active #bar-bot {
    transform: translateY(-5px) rotate(-45deg);
}

/* ── Menu tabs ── */
.menu-tab {
    background: transparent;
    color: rgba(255, 255, 255, 0.5);
    border: none;
    cursor: pointer;
    font-family: 'Inter', system-ui, sans-serif;
}

.menu-tab.active {
    background: rgba(61, 168, 140, 0.15);
    color: #7ED4B8;
    border: 1px solid rgba(126, 212, 184, 0.3);
}

.menu-tab:not(.active):hover {
    color: rgba(255, 255, 255, 0.8);
}

/* ── Menu panels ── */
.menu-panel {
    animation: fadePanel 0.4s ease forwards;
}

@keyframes fadePanel {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ── Mobile link ── */
.mobile-link {
    font-family: 'Playfair Display', Georgia, serif;
}

/* ── Selection ── */
::selection {
    background: rgba(61, 168, 140, 0.3);
    color: #ffffff;
}

/* ── Scrollbar ── */
::-webkit-scrollbar {
    width: 6px;
}
::-webkit-scrollbar-track {
    background: #020610;
}
::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.15);
    border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.25);
}
