/* ══════════════════════════════════════════════════════════════
   QUATRE — BASE STYLES
   @font-face, resets, basic elements
   ═════════════════════════════════════════════════════════════ */

/* Spectral — typo de titrage (remplace Portrait Text) */
@import url("https://fonts.googleapis.com/css2?family=Spectral:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap");

/* GT Flexa Mono — Headline/on-title (surtitres) */
@font-face {
  font-family: "GTFlexaMono";
  src: url("../assets/fonts/GT-Flexa-Mono-Trial-VF.woff2") format("woff2"),
       url("../assets/fonts/GT-Flexa-Mono-Trial-VF.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

/* Reset and normalization */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  background: var(--bg); /* par défaut gris — chaque page peut surcharger */
}

body {
  font-family: "Inter", Arial, sans-serif;
  font-size: var(--text-base-size);
  line-height: var(--text-base-lh);
  background: var(--bg);
  color: var(--text-dark);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  transition: background 0.85s cubic-bezier(0.4, 0, 0.2, 1);
}

p {
  font-family: "Inter", Arial, sans-serif;
  font-size: var(--text-base-size);
  line-height: var(--text-base-lh);
  font-weight: 400;
}

img,
video {
  max-width: 100%;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

h1,
h2,
h3,
h4 {
  font-family: "Spectral", Georgia, serif;
  font-weight: 400;
}

.serif {
  font-family: "Spectral", Georgia, serif;
  letter-spacing: 0.01em;
}

/* Headline/on-title — surtitres, labels, overlines (toutes pages) */
.on-title {
  font-family: "GTFlexaMono", monospace;
  font-size: 12px;
  line-height: 16px;
  text-transform: uppercase;
  font-weight: 400;
  letter-spacing: 0;
}

/* .eyebrow existant → adopte la même police */
.eyebrow {
  font-family: "GTFlexaMono", monospace;
}

.container {
  width: calc(100% - var(--pad-x) * 2);
  margin-inline: auto;
}
