:root {
    --primary-color: #ba1349;
    --primary-dark: #8f0e37;
    --primary-soft: #fbeaf0;
    --secondary-color: #31443a;
    --accent-color: #d6a85f;
    --body-color: #000;
    --heading-color: #241f1d;
    --body-bg: #fffdfb;
    --section-bg: #f8f3ef;
    --white: #ffffff;
    --border-color: #eadfd9;
    --heading-font: "Philosopher", sans-serif;
    --body-font: "Quicksand", sans-serif;
    --body-font-size: 18px;
    --body-line-height: 1.7;
    --h1-size: 50px;
    --h2-size: 32px;
    --h3-size: 26px;
    --h4-size: 22px;
    --h5-size: 18px;
    --h6-size: 16px;
    --radius-sm: .5rem;
    --radius-md: 1rem;
    --radius-lg: 2rem;
    --shadow-sm: 0 .5rem 1.75rem rgba(49, 34, 35, .08);
    --container-max: 1320px;
    --section-space: clamp(3rem, 5vw, 5rem);
}

html { overflow-x: clip; scroll-behavior: smooth; }
body { margin: 0; overflow-x: clip; color: var(--body-color); background: var(--body-bg); font-family: var(--body-font); font-size: var(--body-font-size); line-height: var(--body-line-height); }
p { font-size: 18px !important; }
h1, h2, h3, h4, h5, h6 { margin-top: 0; color: var(--heading-color); font-family: var(--heading-font); font-weight: 700; line-height: 1.12; }
h1 { font-size: var(--h1-size); }
h2 { font-size: var(--h2-size); }
h3 { font-size: var(--h3-size); }
h4 { font-size: var(--h4-size); }
h5 { font-size: var(--h5-size); }
h6 { font-size: var(--h6-size); }
a { color: var(--primary-color); text-decoration: none; transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease; }
a:hover { color: var(--primary-dark); }
.container { max-width: var(--container-max); }
.section-padding { padding-block: var(--section-space); }
.section-soft { background: var(--section-bg); }
.narrow-content { max-width: 780px; }
.eyebrow { display: inline-block; margin-bottom: .75rem; color: var(--primary-color); font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.btn { border-radius: 999px; font-weight: 700; padding: .7rem 1.25rem; }
.btn-lg { padding: .9rem 1.6rem; font-size: 1rem; }
.btn-primary { --bs-btn-bg: var(--primary-color); --bs-btn-border-color: var(--primary-color); --bs-btn-hover-bg: var(--primary-dark); --bs-btn-hover-border-color: var(--primary-dark); --bs-btn-active-bg: var(--primary-dark); --bs-btn-active-border-color: var(--primary-dark); }
.btn-outline-primary { --bs-btn-color: var(--primary-color); --bs-btn-border-color: var(--primary-color); --bs-btn-hover-bg: var(--primary-color); --bs-btn-hover-border-color: var(--primary-color); }
