body {
  font-family: var(--font-body);
  font-size: 1rem;
  color: var(--ink);
  background: var(--white);
}

.display {
  font-family: var(--font-display);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

h1 { font-size: var(--text-h1); }
h2 { font-size: var(--text-h2); }
h3 { font-size: var(--text-h3); }

.container {
  max-width: var(--max-w);
  margin-inline: auto;
  padding-inline: clamp(1rem, 5vw, 3rem);
}

.container--narrow {
  max-width: var(--content-w);
}

/* ═══ BOUTONS ═══════════════════════════════════════════════════ */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  border-radius: var(--r-full);
  font-weight: 500;
  font-size: 0.95rem;
  transition: all var(--duration) var(--ease-out);
  white-space: nowrap;
  cursor: pointer;
}

.btn--primary {
  background: var(--sage);
  color: var(--white);
  box-shadow: var(--shadow-md);
}
.btn--primary:hover {
  background: var(--sage-mid);
  transform: translateY(-1px);
  box-shadow: var(--shadow-lg);
}

.btn--secondary {
  background: transparent;
  color: var(--sage);
  border: 1.5px solid var(--sage);
}
.btn--secondary:hover {
  background: var(--sage-pale);
  transform: translateY(-1px);
}

.btn--sm  { padding: 10px 20px; font-size: 0.875rem; }
.btn--lg  { padding: 18px 36px; font-size: 1.05rem; }

/* ═══ EYEBROW ════════════════════════════════════════════════════ */
.eyebrow {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 12px;
}
.eyebrow--light { color: var(--gold-light); }

/* ═══ SECTIONS ═══════════════════════════════════════════════════ */
.section {
  padding-block: clamp(60px, 8vw, 120px);
}
.section--cream      { background: var(--cream); }
.section--cream-dark { background: var(--cream-dark); }
.section--sage       { background: var(--sage); }

.section__header { margin-bottom: clamp(32px, 5vw, 56px); }
.section__header--center { text-align: center; }

.section__lead {
  font-size: var(--text-lead);
  color: var(--ink-mid);
  max-width: 60ch;
  margin-top: 16px;
}
.section__header--center .section__lead {
  margin-inline: auto;
}

/* ═══ SCROLL REVEAL ══════════════════════════════════════════════ */
[data-reveal] {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s var(--ease-out), transform 0.6s var(--ease-out);
}
[data-reveal].is-visible {
  opacity: 1;
  transform: none;
}
[data-reveal-stagger] > * {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s var(--ease-out), transform 0.5s var(--ease-out);
}
[data-reveal-stagger] > *.is-visible { opacity: 1; transform: none; }
[data-reveal-stagger] > *:nth-child(1) { transition-delay: 0ms; }
[data-reveal-stagger] > *:nth-child(2) { transition-delay: 80ms; }
[data-reveal-stagger] > *:nth-child(3) { transition-delay: 160ms; }
[data-reveal-stagger] > *:nth-child(4) { transition-delay: 240ms; }
[data-reveal-stagger] > *:nth-child(5) { transition-delay: 320ms; }
[data-reveal-stagger] > *:nth-child(6) { transition-delay: 400ms; }
[data-reveal-stagger] > *:nth-child(7) { transition-delay: 480ms; }
[data-reveal-stagger] > *:nth-child(8) { transition-delay: 560ms; }
[data-reveal-stagger] > *:nth-child(9) { transition-delay: 640ms; }

/* ═══ BREADCRUMB ═════════════════════════════════════════════════ */
.breadcrumb {
  font-size: 0.85rem;
  color: var(--ink-light);
  margin-bottom: 24px;
}
.breadcrumb a { color: var(--gold); }
.breadcrumb a:hover { text-decoration: underline; }
