/* ===== RESET & BASE ===== */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; font-size: 16px; }
@media (max-width: 1200px) { html { font-size: 15px; } }
@media (max-width: 768px) { html { font-size: 14px; } }

body {
    font-family: var(--font-body);
    color: var(--white);
    background: var(--primary-dark);
    overflow-x: hidden;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: 700;
    line-height: 1.2;
}

a { text-decoration: none; color: inherit; transition: var(--transition); }
img { max-width: 100%; height: auto; display: block; }
ul, ol { list-style: none; }
button { font-family: var(--font-heading); }

.container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 clamp(16px, 4vw, 40px);
}

.gold { color: var(--gold); }

/* ===== UTILITY ===== */
.text-center { text-align: center; }
.text-gold {
    background: var(--gradient-gold);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.text-white {
    background: linear-gradient(180deg, var(--white), var(--gray-200));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ===== SELECTION ===== */
::selection {
    background: rgba(200,150,46,0.3);
    color: var(--white);
}

/* ===== SCROLLBAR ===== */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--primary-dark); }
::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--gold), var(--gold-dark));
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover { background: var(--gold-light); }
