body { font-family: 'Lato', sans-serif; }
h1, h2, h3, h4, h5, h6 { font-family: 'Playfair Display', serif; }
html { scroll-behavior: smooth; }

.nav-bar {
    background: rgba(17, 17, 22, 0.85);
    backdrop-filter: blur(20px) saturate(180%);
    border-bottom: 1px solid rgba(255,255,255,0.05);
}
.nav-bar.scrolled { background: rgba(10, 10, 14, 0.95); box-shadow: 0 4px 30px rgba(0,0,0,0.3); }

.hero-noise {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.5'/%3E%3C/svg%3E");
}

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}
.fade-in-up { opacity: 0; animation: fadeInUp 0.8s ease-out forwards; }
.reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.7s ease-out, transform 0.7s ease-out; }
.reveal.visible { opacity: 1; transform: translateY(0); }

::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #0A0A0E; }
::-webkit-scrollbar-thumb { background: #1A1A22; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #C5A55A; }
::selection { background: rgba(197, 165, 90, 0.3); color: white; }
