:root {
    /* --- Travis Scott Brown (cool, desaturated, smoky mocha) --- */
    --brown-dark: #1A1412;
    --brown-deeper: #0F0C0A;
    --brown-medium: #3D332D;
    --brown-light: #5A4E46;
    --brown-muted: #7A6E64;

    /* --- Charcoal (modern contrast — DARKER) --- */
    --charcoal: #141414;
    --charcoal-light: #1E1E1E;
    --charcoal-medium: #2A2A2A;
    --charcoal-muted: #4A4A4A;

    /* --- Bronze/Tan Accents (warm, subtle) --- */
    --accent: #B8923A;
    --accent-light: #D4B06A;
    --accent-warm: #C4874D;
    --accent-muted: #A89070;
    --gold-primary: #B8923A;
    --gold-secondary: #A6833A;
    --gold-light: #D4B06A;
    --gold-dark: #8B7035;

    /* --- Bronze (legacy) --- */
    --bronze-primary: #CD7F32;
    --bronze-light: #D4B896;
    --bronze-dark: #8B5A2B;
    --bronze-deep: #6B4423;

    /* --- Whites & Creams (dominant palette) --- */
    --white: #FFFFFF;
    --off-white: #FAFAFA;
    --cream-light: #F7F5F2;
    --cream-bg: #F2EFEB;
    --cream-warm: #EDE9E3;
    --border-light: #DDD9D3;

    /* --- Text (high contrast) --- */
    --text-dark: #111111;
    --text-heading: #0A0A0A;
    --text-body: #2D2D2D;
    --text-muted: #6B6B6B;
    --text-subtle: #999999;
    --text-on-dark: #F5F5F5;
    --text-on-dark-muted: rgba(255, 255, 255, 0.7);

    /* --- Legacy Aliases (mapped to new palette) --- */
    --navy-dark: #141414;
    --navy-darker: #0F0C0A;
    --navy-medium: #1E1E1E;
    --color-primary-blue: #141414;
    --color-accent-gold: #B8923A;
    --color-white: #FFFFFF;
    --color-off-white: #FAFAFA;
    --color-text-dark: #111111;
    --color-text-light: #F5F5F5;
    --color-grey-light: #DDD9D3;
    --text-navy: #111111;

    /* --- Typography (thick, modern, clean) --- */
    --font-heading: 'Montserrat', sans-serif;
    --font-body: 'Montserrat', sans-serif;
    --font-accent: 'Playfair Display', serif;

    /* --- Spacing --- */
    --spacing-xs: 0.5rem;
    --spacing-sm: 1rem;
    --spacing-md: 2rem;
    --spacing-lg: 4rem;
    --spacing-xl: 8rem;
    --spacing-container: 5%;

    /* --- Border Radius --- */
    --radius-sm: 6px;
    --radius-md: 12px;
    --radius-pill: 100px;

    /* --- Transitions --- */
    --transition-fast: 0.3s ease;
}

/* --- Reset --- */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 400;
    color: var(--text-body);
    background-color: var(--white);
    line-height: 1.6;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
    color: var(--text-heading);
    font-weight: 800;
    line-height: 1.1;
    text-transform: none;
}

h1 {
    font-size: clamp(36px, 5vw, 56px);
    font-weight: 900;
    letter-spacing: -1.5px;
}

h2 {
    font-size: clamp(28px, 4vw, 42px);
    font-weight: 800;
    letter-spacing: -1px;
}

h3 {
    font-size: clamp(20px, 3vw, 28px);
    font-weight: 700;
    letter-spacing: -0.5px;
}

a {
    text-decoration: none;
    color: inherit;
    transition: var(--transition-fast);
}

img {
    max-width: 100%;
    display: block;
    object-fit: cover;
}

/* --- Utilities --- */
.container {
    padding: 0 var(--spacing-container);
    max-width: 1400px;
    margin: 0 auto;
}

.text-gold {
    color: var(--gold-primary);
}

.text-white {
    color: var(--white);
}

.text-navy {
    color: var(--text-navy);
}

.bg-navy {
    background-color: var(--navy-dark);
}

.bg-navy-dark {
    background-color: var(--navy-darker);
}

.bg-cream {
    background-color: var(--cream-bg);
}

/* --- Mobile Typography Overrides --- */
@media (max-width: 480px) {
    h1 {
        font-size: 32px;
        letter-spacing: -1.5px;
    }

    h2 {
        font-size: 26px;
        letter-spacing: -1.2px;
    }

    h3 {
        font-size: 20px;
        letter-spacing: -0.8px;
    }

    .container {
        padding: 0 4%;
    }
}

@media (max-width: 768px) {
    h1 {
        font-size: 36px;
        letter-spacing: -1.8px;
    }

    h2 {
        font-size: 30px;
        letter-spacing: -1.5px;
    }

    h3 {
        font-size: 22px;
        letter-spacing: -1px;
    }
}

/* Legacy utilities */
.bg-blue {
    background-color: var(--navy-dark);
}
