/* ── Reset & Base ───────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'Inter', sans-serif; -webkit-font-smoothing: antialiased; }
.font-playfair { font-family: 'Playfair Display', serif; }
.font-inter { font-family: 'Inter', sans-serif; }

/* ── Header ─────────────────────────────────────── */
#header { background: transparent; }
#header.scrolled { background: rgba(9, 18, 48, 0.95); backdrop-filter: blur(12px); box-shadow: 0 4px 30px rgba(0,0,0,0.15); }

/* ── Mobile Menu ─────────────────────────────────── */
.mobile-link { display: block; }

/* ── Service Cards ───────────────────────────────── */
.service-card { border: 1px solid transparent; }
.service-card:hover { border-color: rgba(212, 168, 67, 0.3); }

/* ── Scroll Animations ───────────────────────────── */
.reveal { opacity: 0; transform: translateY(30px); transition: opacity 0.7s ease, transform 0.7s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }

/* ── Smooth Focus ────────────────────────────────── */
input:focus, textarea:focus { outline: none; }

/* ── Responsive ──────────────────────────────────── */
@media (max-width: 768px) {
    .font-playfair { font-size: clamp(2rem, 8vw, 3rem); }
}
