@charset "UTF-8";

/* Variables & Palette */
:root {
  --c-cream: #f8f5f0;
  --c-warm-white: #fdfcfa;
  --c-gold: #96744a;
  --c-gold-light: #b8976a;
  --c-gold-dark: #6e5230;
  --c-slate: #1a1e26;
  --c-slate-mid: #2d3545;
  --c-slate-light: #4a5568;
  --c-stone: #e8e2d9;
  --c-stone-dark: #cec5b8;
  --c-accent: #6b8fa3;
  --c-accent-soft: #e8f0f5;

  --f-serif: Georgia, "Times New Roman", serif;
  --f-sans:
    system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 2rem;
  --space-lg: 3.5rem;
  --space-xl: 5rem;
  --space-2xl: 8rem;

  --max-w: 1100px;
  --max-w-text: 680px;
  --radius-sm: 4px;
  --radius-md: 12px;
  --radius-lg: 24px;
  --ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Reset & Base */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  font-size: 17px;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--f-sans);
  font-weight: 400;
  line-height: 1.75;
  color: var(--c-slate);
  background-color: var(--c-warm-white);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

img {
  display: block;
  max-width: 100%;
}
a {
  color: inherit;
  text-decoration: none;
}
ul,
ol {
  list-style: none;
}

/* Typographie */
h1,
h2,
h3 {
  font-family: var(--f-serif);
  font-weight: 400;
  line-height: 1.15;
  color: var(--c-slate);
}

h1 {
  font-size: clamp(2.8rem, 6vw, 4.5rem);
  letter-spacing: -0.01em;
}
h2 {
  font-size: clamp(1.9rem, 3.5vw, 2.8rem);
}
h3 {
  font-size: clamp(1.3rem, 2vw, 1.65rem);
  font-weight: 300;
}
p {
  font-size: 1rem;
  line-height: 1.8;
  color: var(--c-slate);
}
strong {
  font-weight: 700;
  color: var(--c-slate);
}
em {
  font-style: italic;
}
/* Utilitaires typographiques */
.text-gold {
  color: var(--c-gold);
}
.text-center {
  text-align: center;
}
