:root {
    --color-cream: #FBF4EE;
    --color-terra: #E7A98B;
    --color-terra-dark: #C97F5D;
    --color-terra-deep: #A8583A;
    --color-text: #2E2A26;
    --color-surface: #FFFFFF;
    --color-dark: #241D1A;
    --radius-sm: 14px;
    --radius-md: 22px;
    --radius-lg: 32px;
    --space-sm: 0.75rem;
    --space-md: 1.25rem;
    --space-lg: 1.75rem;
    --space-xl: 2.5rem;
    --space-2xl: 4rem;
    --shadow-soft: 0 14px 40px rgba(46, 42, 38, 0.08);
    --font-scale: 1;
    --max-width: 1120px;
}

* { box-sizing: border-box; }
html { font-size: 16px; scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: 'Poppins', Arial, sans-serif;
    background: var(--color-cream);
    color: var(--color-text);
    line-height: 1.6;
    font-size: calc(16px * var(--font-scale));
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.container {
    width: min(var(--max-width), calc(100% - 2rem));
    margin: 0 auto;
}
.button {
    display: inline-block;
    padding: 0.95rem 1.3rem;
    border-radius: var(--radius-sm);
    font-weight: 700;
    transition: transform 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}
.button:hover { transform: translateY(-2px); }
.button-primary {
    background: var(--color-terra-deep);
    color: var(--color-surface);
}
.button-primary:hover {
    background: var(--color-terra-dark);
}
.button-secondary {
    background: var(--color-surface);
    color: var(--color-text);
    box-shadow: var(--shadow-soft);
}
.button-secondary:hover {
    box-shadow: 0 14px 30px rgba(46, 42, 38, 0.16);
}
.hero, .page-section { padding: var(--space-2xl) 0; }
.eyebrow {
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-weight: 700;
    color: var(--color-terra-deep);
}
