/* Tokens — direction artistique « Lumière de studio » */

@font-face {
  font-family: "Instrument Serif";
  src: url("../assets/fonts/instrument-serif.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: "Instrument Serif";
  src: url("../assets/fonts/instrument-serif-italic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: block;
}
@font-face {
  font-family: "Hanken Grotesk";
  src: url("../assets/fonts/hanken-grotesk.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: block;
}

:root {
  /* Couleurs */
  --bg: #f6f5f2;          /* Blanc galerie */
  --ink: #161415;         /* Noir studio */
  --ink-2: #615c58;       /* Gris chaud (6,1:1) */
  --curtain: #52372a;     /* Rideau */
  --rideau: #52372a;      /* Rideau : bandes chaudes (mariage, contact) */
  --denim: #1b3238;       /* Denim, section Avis uniquement */
  --brass: #8d7a4d;       /* Laiton : filets seulement */
  --brass-text: #6e5e36;  /* Laiton : texte (≥ 4,5:1) */
  --panel: #eceae5;       /* Panneaux */
  --line: #d8d5cf;        /* Lignes */
  --on-denim: #f6f5f2;
  --on-denim-2: #c9d3d5;

  /* Typographie */
  --font-serif: "Instrument Serif", "Iowan Old Style", Georgia, "Times New Roman", serif;
  --font-sans: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;

  --fs-body: 1.125rem;    /* 18 px */
  --fs-small: 1rem;       /* 16 px, minimum absolu */
  --fs-lead: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem);
  --fs-h3: clamp(2.25rem, 2rem + 1vw, 2.75rem);   /* ≥ 36 px */
  --fs-h2: clamp(2.5rem, 2rem + 2.2vw, 4rem);
  --fs-h1: clamp(3.5rem, 2.2rem + 6vw, 7.5rem);
  --lh-body: 1.6;
  --measure: 62ch;
  --tracking-caps: 0.14em;

  /* Espacements */
  --sp-1: 0.5rem;
  --sp-2: 1rem;
  --sp-3: 1.5rem;
  --sp-4: 2rem;
  --sp-5: 3rem;
  --sp-6: 4.5rem;
  --sp-7: clamp(4rem, 3rem + 5vw, 8rem);
  --gutter: clamp(1.25rem, 0.5rem + 3.5vw, 4rem);
  --page-max: 1440px;

  /* Interface */
  --btn-h: 3.5rem;        /* 56 px */
  --radius: 999px;
  --radius-card: 6px;
  --focus: 3px solid var(--ink);
  --header-h: 4.5rem;

  /* Mouvement */
  --t-fast: 160ms;
  --t-med: 240ms;
  --ease: cubic-bezier(0.2, 0.6, 0.2, 1);

  /* Rail */
  --rail-h: min(68vh, 620px);
  --rail-gap: clamp(1.5rem, 1rem + 3vw, 4rem);
}
