/* Polices auto-hébergées (licence OFL, voir assets/fonts/LICENCES.md) */
@font-face {
  font-family: "Cormorant Garamond";
  src: url("../assets/fonts/cormorant-garamond-normal.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Cormorant Garamond";
  src: url("../assets/fonts/cormorant-garamond-italic.woff2") format("woff2");
  font-weight: 400 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Jost";
  src: url("../assets/fonts/jost.woff2") format("woff2");
  font-weight: 300 600;
  font-style: normal;
  font-display: swap;
}

/* Palette provisoire « lagon, nacre et or doux » (contrastes AA) : à remplacer par celle du client */
:root {
  --couleur-fond: #f6f2ea;       /* nacre */
  --couleur-fond-doux: #ece6da;
  --couleur-surface: #ffffff;
  --couleur-texte: #1c2a2d;
  --couleur-texte-doux: #4d5b5e;
  --couleur-principale: #0e4a52;        /* lagon profond */
  --couleur-principale-fonce: #0a353b;
  --couleur-or: #a07f46;                /* décor uniquement (filets, traits) */
  --couleur-or-texte: #7a5c28;          /* or lisible sur fond clair */
  --couleur-or-clair: #d9bd86;          /* or lisible sur fond sombre */
  --couleur-accent: #7a5c28;
  --couleur-bordure: #dcd4c4;
  --couleur-focus: #0f62fe;

  --police: "Jost", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --police-titre: "Cormorant Garamond", Georgia, "Times New Roman", serif;

  --espace-s: 0.5rem;
  --espace-m: 1rem;
  --espace-l: 2rem;
  --espace-xl: clamp(3rem, 6.5vw, 5.5rem);
  --rayon: 0;
  --largeur-max: 96rem;
  --gouttiere: clamp(1rem, 4vw, 3rem);

  --courbe: cubic-bezier(0.22, 0.61, 0.36, 1);
  --courbe-douce: cubic-bezier(0.65, 0, 0.35, 1);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--couleur-fond);
  color: var(--couleur-texte);
  font-family: var(--police);
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

main {
  flex: 1;
}

h1,
h2,
h3 {
  font-family: var(--police-titre);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -0.01em;
  margin: 0 0 var(--espace-m);
}

h1 { font-size: clamp(2.6rem, 8vw, 5.5rem); }
h2 { font-size: clamp(2rem, 5vw, 3.4rem); }
h3 { font-size: 1.4rem; line-height: 1.2; }

p { margin: 0 0 var(--espace-m); }

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: var(--couleur-principale);
  text-underline-offset: 0.2em;
}

a:hover { color: var(--couleur-principale-fonce); }

:focus-visible {
  outline: 2px solid var(--couleur-focus);
  outline-offset: 3px;
}

.lien-evitement {
  position: absolute;
  left: var(--espace-m);
  top: -4rem;
  z-index: 100;
  padding: var(--espace-s) var(--espace-m);
  background: var(--couleur-texte);
  color: #fff;
}

.lien-evitement:focus { top: var(--espace-m); }

.visuellement-cache {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* Petit titre en capitales espacées au-dessus des titres */
.surtitre {
  margin: 0 0 var(--espace-m);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--couleur-or-texte);
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; animation: none !important; }
}
