/* ── Base ── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; display: block; }

/* ── Scroll reveal (progressive enhancement) ── */
@media (prefers-reduced-motion: no-preference) {
    .reveal {
        opacity: 0;
        transform: translateY(24px);
        transition: opacity 0.7s cubic-bezier(.22,.61,.36,1), transform 0.7s cubic-bezier(.22,.61,.36,1);
    }
    .reveal.visible {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ── Navbar scroll state ── */
nav.scrolled {
    background: rgba(2, 44, 34, 0.92);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(212, 175, 55, 0.1);
}

/* ── Selection ── */
::selection { background: rgba(212, 175, 55, 0.3); color: #fdfbf7; }
</style>
