:root {
    --navy-900: #0C1F3A;
    --navy-800: #132D4F;
    --navy-700: #1A3A5C;
    --gold-500: #C9A84C;
    --gold-400: #D4B965;
    --gold-600: #B8943F;
    --stone-50: #FAFAF8;
    --stone-100: #F5F5F4;
    --stone-200: #E7E5E4;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 80px;
}

body {
    font-family: 'Inter', sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.font-serif {
    font-family: 'Playfair Display', serif;
}

.font-sans {
    font-family: 'Inter', sans-serif;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: var(--stone-50);
}
::-webkit-scrollbar-thumb {
    background: var(--navy-900);
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--navy-800);
}

/* Selection color */
::selection {
    background: var(--gold-500);
    color: var(--navy-900);
}

/* Nav active state */
.nav-scrolled {
    background: rgba(12, 31, 58, 0.97) !important;
    backdrop-filter: blur(12px);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
}

.nav-scrolled .text-navy-900 {
    color: #ffffff !important;
}

/* Button focus states */
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--gold-500);
    outline-offset: 2px;
}

/* Smooth image loading */
img {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
}
