/* ── DESIGN TOKENS ── */
:root {

  /* Palette */
  --color-cream:    #FDF8F2;   /* page background */
  --color-oat:      #F7F0E6;   /* section alternate bg */
  --color-fog:      #E8DDD4;   /* borders, dividers */
  --color-espresso: #2C1A0E;   /* primary text, dark bg */
  --color-latte:    #7A5C45;   /* secondary text */
  --color-blush:    #D4907A;   /* accent / CTA */
  --color-sage:     #8FAF8F;   /* success state */

  /* Typography */
  --font-display: 'Playfair Display', Georgia, serif;
  --font-body:    'DM Sans', system-ui, sans-serif;
  --font-script:  'Caveat', cursive;

  /* Type scale */
  --text-xs:   0.75rem;
  --text-sm:   0.85rem;
  --text-base: 1rem;
  --text-lg:   1.15rem;
  --text-xl:   1.4rem;
  --text-2xl:  1.8rem;
  --text-3xl:  2.4rem;
  --text-4xl:  3.2rem;

  /* Spacing */
  --space-1:  0.25rem;
  --space-2:  0.5rem;
  --space-3:  0.75rem;
  --space-4:  1rem;
  --space-5:  1.25rem;
  --space-6:  1.5rem;
  --space-8:  2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;

  /* Border radius */
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 8px;
  --radius-phone: 32px;

  /* Shadows */
  --shadow-card:  0 4px 20px rgba(44,26,14,0.07);
  --shadow-phone: 0 20px 60px rgba(44,26,14,0.18);
  --shadow-hover: 0 8px 30px rgba(44,26,14,0.12);

  /* Transitions */
  --transition-fast: 0.2s ease;
  --transition-base: 0.3s ease;
  --transition-slow: 0.5s ease;

  /* Layout */
  --max-width: 1160px;
  --nav-height: 68px;
  --section-pad-x: clamp(1.5rem, 5vw, 3rem);
  --section-pad-y: clamp(4rem, 8vw, 6rem);
}

/* ── BASE STYLES ── */
body {
  background-color: var(--color-cream);
  color: var(--color-espresso);
  font-family: var(--font-body);
  font-weight: 300;
  font-size: var(--text-base);
  overflow-x: hidden;
}

/* ── UTILITY CLASSES ── */
.eyebrow {
  display: block;
  font-family: var(--font-script);
  font-size: 1.1rem;
  color: var(--color-blush);
  margin-bottom: var(--space-3);
}

.section__title {
  font-family: var(--font-display);
  font-size: clamp(var(--text-2xl), 3.5vw, var(--text-3xl));
  font-weight: 600;
  line-height: 1.2;
  color: var(--color-espresso);
  margin-bottom: var(--space-5);
}

.section__body {
  font-size: var(--text-base);
  line-height: 1.8;
  color: var(--color-latte);
  max-width: 560px;
}

.section__header {
  margin-bottom: var(--space-12);
}
