:root {
    --color-bg-main: #F6F1E7;
    --color-bg-soft: #FBF8F3;
    --color-bg-dark: #121416;
    --color-primary: #18362C;
    --color-primary-strong: #10251f;
    --color-secondary: #C29A5C;
    --color-accent: #2E3F6E;
    --color-text-main: #121416;
    --color-text-soft: #7B6E61;
    --color-text-light: #FBF8F3;
    --color-border: rgba(24, 54, 44, 0.12);
    --space-xs: 8px;
    --space-sm: 16px;
    --space-md: 32px;
    --space-lg: 64px;
    --space-xl: 96px;
    --radius-sm: 12px;
    --radius-md: 20px;
    --radius-lg: 28px;
    --radius-pill: 999px;
    --shadow-soft: 0 12px 40px rgba(18, 20, 22, 0.06);
    --shadow-card: 0 10px 30px rgba(18, 20, 22, 0.08);
    --container: 1280px;
    --transition: 0.3s ease;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: var(--color-text-main);
    background: var(--color-bg-soft);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; transition: var(--transition); }
button, input, select, textarea { font: inherit; }
ul { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4 {
    margin: 0 0 16px;
    font-family: 'Playfair Display', serif;
    line-height: 1.15;
    color: var(--color-text-main);
}
h1 { font-size: 64px; letter-spacing: -0.02em; }
h2 { font-size: 42px; letter-spacing: -0.01em; }
h3 { font-size: 24px; }
p { margin: 0 0 16px; }
.section-kicker {
    margin-bottom: 12px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-secondary);
}
.section-heading {
    max-width: 760px;
    margin-bottom: 40px;
}
.text-soft { color: var(--color-text-soft); }
@media (max-width: 991px) {
    h1 { font-size: 46px; }
    h2 { font-size: 34px; }
}
@media (max-width: 767px) {
    body { font-size: 15px; }
    h1 { font-size: 38px; }
    h2 { font-size: 28px; }
    h3 { font-size: 22px; }
}
