:root {
    /* Brand */
    --color-brand: #d4a034;
    --color-brand-hover: #e0b24a;
    --color-brand-active: #b8861f;

    /* Backgrounds */
    --color-bg: #1a1a1a;
    --color-bg-alt: #151515;
    --color-surface: #242424;
    --color-surface-hover: #2d2d2d;
    --color-surface-light: #303030;

    /* Text */
    --color-text: #f5f5f5;
    --color-text-soft: #d8d8d8;
    --color-text-muted: #a8a8a8;
    --color-text-dark: #111111;

    /* Borders */
    --color-border: #3a3a3a;
    --color-border-strong: #4a4a4a;

    /* States */
    --color-danger: #e74c3c;
    --color-success: #3e8e41;
    --color-warning: #c78a1d;

    /* Effects */
    --shadow-dark: 0 6px 18px rgba(0,0,0,0.35);
    --shadow-brand: 0 0 12px rgba(212,160,52,0.28);

    /* Layout */
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 16px;
    --transition-fast: 0.2s ease;
    --transition-normal: 0.3s ease;
}

/* Reset */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

/* Base layout */

body {
    font-family: "Open Sans", Arial, sans-serif;
    background-color: var(--color-bg);
    color: var(--color-text);
    line-height: 1.6;
}

img {
    max-width: 100%;
    display: block;
}

a {
    color: var(--color-brand);
    text-decoration: none;
    transition: color var(--transition-fast);
}

a:hover:not(.btn):not(.call-button) {
    color: var(--color-brand-hover);
}

ul,
ol {
    padding-left: 1.25rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--color-brand);
    line-height: 1.2;
    margin-bottom: 0.75rem;
}

p {
    color: var(--color-text-soft);
    margin-bottom: 1rem;
}

section {
    padding: 4rem 0;
}

.container {
    width: min(92%, 1400px);
    margin: 0 auto;
}

/* Utility */

.text-muted {
    color: var(--color-text-muted);
}

.text-soft {
    color: var(--color-text-soft);
}

.bg-alt {
    background-color: var(--color-bg-alt);
}