/* Fondations : variables, réinitialisation, typographie, boutons, sections. Chargé sur toutes les pages. */

:root {
  --ink-v2026: #121212;
  --ink-soft-v2026: #1a1a1a;
  --cream-v2026: #fbf7ef;
  --paper-v2026: #fff;
  --text-v2026: #444;
  --muted-v2026: #777;
  --line-v2026: #e3d9c0;
  --gold-v2026: #d4af37;
  --gold-dark-v2026: #b8941e;
  --gold-light-v2026: #f0d58c;
  --gold-gradient-v2026: linear-gradient(135deg, #d4af37 0%, #f0d58c 50%, #d4af37 100%);

  --font-title-v2026: 'Cormorant Garamond', Georgia, serif;
  --font-body-v2026: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;

  --header-height-v2026: 68px;
  --gutter-v2026: clamp(1.25rem, 5vw, 4rem);
  --section-space-v2026: clamp(3.5rem, 9vw, 6.5rem);
  --radius-v2026: 4px;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  font-family: var(--font-body-v2026);
  font-weight: 300;
  line-height: 1.7;
  color: var(--text-v2026);
  background: var(--cream-v2026);
}

img { display: block; max-width: 100%; height: auto; }

a { color: inherit; }

h1, h2, h3 {
  margin: 0 0 .6em;
  font-family: var(--font-title-v2026);
  font-weight: 500;
  line-height: 1.1;
  color: var(--ink-v2026);
}
h1 { font-size: clamp(2.6rem, 8vw, 5.4rem); font-weight: 300; }
h2 { font-size: clamp(2rem, 5vw, 3.2rem); }
h3 { font-size: 1.5rem; }
h1 em, h2 em { font-style: italic; font-weight: 400; color: var(--gold-dark-v2026); }

p { margin: 0 0 1em; }

.container { width: min(100% - 2 * var(--gutter-v2026), 1200px); margin-inline: auto; }

.section { padding-block: var(--section-space-v2026); }
.section--dark { background: var(--ink-v2026); color: #f7f1e6; }
.section--dark h2, .section--dark h3 { color: #f7f1e6; }
.section--dark h2 em { color: var(--gold-v2026); }
.section__intro { max-width: 46rem; margin-bottom: 2rem; }
.section__action { margin: 2.5rem 0 0; text-align: center; }

.section-heading { margin-bottom: 1.5rem; }
.kicker {
  margin: 0 0 .9rem;
  font-size: .75rem;
  font-weight: 500;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--gold-dark-v2026);
}
.section--dark .kicker, .hero .kicker { color: var(--gold-v2026); }

.empty { text-align: center; color: var(--muted-v2026); }

/* Boutons */
.button {
  display: inline-block;
  padding: .85rem 1.8rem;
  border: 1px solid transparent;
  background: var(--gold-gradient-v2026);
  color: var(--ink-v2026);
  font: 500 .8rem/1.2 var(--font-body-v2026);
  letter-spacing: .14em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: transform .2s, box-shadow .2s, background .2s, color .2s;
}
.button:hover, .button:focus-visible { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(212, 175, 55, .3); }
.button--outline { background: none; border-color: var(--gold-v2026); color: var(--gold-v2026); }
.button--outline:hover { background: var(--gold-v2026); color: var(--ink-v2026); }
.button--dark { background: var(--ink-v2026); color: var(--gold-v2026); }

/* Accessibilité */
:focus-visible { outline: 2px solid var(--gold-v2026); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
