/* =========================================================================
   TRAVEL SMART AGENCY — jetons de design
   Direction « Nuit » : noir vert chaud, os, un seul vert givré.
   La photographie occupe l'écran, le texte se pose dessus.
   Un seul accent, aucune ombre, aucun radius, aucune animation infinie.
   ========================================================================= */

/* ---- Polices auto-hébergées ----
   Sous-ensemble latin uniquement : il couvre le français, l'anglais et l'espagnol.
   Servies par Netlify avec un cache d'un an (voir _headers). Aucune requête vers
   fonts.googleapis.com : deux origines, deux poignées de main TLS et une feuille
   de style bloquante en moins.
   Bodoni Moda (SIL OFL) et Manrope (SIL OFL). */
@font-face{
  font-family:"Bodoni Moda";src:url(assets/fonts/bodoni-moda.woff2) format("woff2");
  font-weight:400;font-style:normal;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"Bodoni Moda";src:url(assets/fonts/bodoni-moda-italic.woff2) format("woff2");
  font-weight:400;font-style:italic;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"Manrope";src:url(assets/fonts/manrope.woff2) format("woff2");
  font-weight:400 600;font-style:normal;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* Polices de secours calées sur les vraies : le texte ne bouge plus au moment du swap. */
@font-face{font-family:"Bodoni fallback";src:local("Times New Roman");size-adjust:105%;ascent-override:92%;descent-override:24%;line-gap-override:0%}
@font-face{font-family:"Manrope fallback";src:local("Helvetica Neue"),local("Arial");size-adjust:102%;ascent-override:104%;descent-override:29%;line-gap-override:0%}

:root{
  /* ---- Palette ---- */
  --bg:#0F1412;            /* noir vert chaud : jamais un bleu nuit */
  --surface:#161C1A;
  --surface-2:#1F2724;
  --ink:#EDE7DA;           /* os : 15.1:1 sur le fond */
  --ink-2:#BBB6A8;         /* 9.2:1 sur le fond, 8.5:1 sur les panneaux, 7.6:1 sur les champs */
  --accent:#A9C7BC;        /* givre : liens, filets actifs, focus : 10.3:1 */
  --accent-hover:#C2DACF;  /* 12.6:1 */
  --on-accent:#0F1412;
  --line:rgba(237,231,218,.16);
  --line-strong:rgba(237,231,218,.4);
  --success:#8FCF9F;       /* 10.3:1 */
  --error:#F09A8E;         /* 8.6:1 */
  --focus:var(--accent);
  /* Seul voile autorisé sur une photo, et seulement sous du texte. */
  --veil:linear-gradient(to top,rgba(15,20,18,.94) 0%,rgba(15,20,18,.7) 45%,rgba(15,20,18,.15) 100%);
  --veil-soft:linear-gradient(to top,rgba(15,20,18,.85) 0%,rgba(15,20,18,.35) 45%,transparent 100%);

  /* ---- Typographie ---- */
  --font-display:"Bodoni Moda","Bodoni fallback","Didot",Georgia,serif;
  --font-text:"Manrope","Manrope fallback",system-ui,-apple-system,"Segoe UI",sans-serif;

  /* Échelle modulaire, ratio 1.333 (quarte), base 16 px. */
  --fs--1:0.8125rem;  /* 13 */
  --fs-0:1rem;        /* 16 */
  --fs-1:1.3125rem;   /* 21 */
  --fs-2:1.75rem;     /* 28 */
  --fs-3:2.375rem;    /* 38 */
  --fs-4:3.125rem;    /* 50 */
  --fs-5:4.1875rem;   /* 67 */
  --fs-6:5.625rem;    /* 90 */
  --fs-7:7.5rem;      /* 120 */
  --fs-display:clamp(var(--fs-4),9vw,var(--fs-7));
  --fs-h2:clamp(var(--fs-3),5vw,var(--fs-5));
  --fs-h3:clamp(var(--fs-2),2.8vw,var(--fs-3));

  --fw-regular:400; --fw-medium:500; --fw-semibold:600;
  --lh-tight:0.98; --lh-snug:1.12; --lh-text:1.65;
  --ls-display:-0.01em;
  --ls-caps:0.14em;   /* la seule capitale espacée du système : l'étiquette */

  /* ---- Espacements, base 8 px ---- */
  --sp-1:0.5rem; --sp-2:1rem; --sp-3:1.5rem; --sp-4:2.5rem; --sp-5:4rem; --sp-6:7rem;
  --sp-section:clamp(var(--sp-5),12vw,12rem);
  --measure:58ch;
  --container:90rem;
  --gutter:clamp(1.25rem,4vw,4rem);

  /* ---- Formes ---- */
  --radius:0;
  --radius-pill:999px;
  --border:1px;
  --shadow:none;      /* sur fond noir, c'est le contraste qui découpe, pas l'ombre */

  /* ---- Motion ----
     Le mouvement répond au lecteur : chargement, défilement, survol. Jamais seul.
     900 ms est le plafond de toute apparition au défilement ; la durée longue
     ne sert qu'au chargement et au survol. */
  --dur-1:180ms;      /* micro : couleur, bordure, flèche */
  --dur-2:320ms;      /* transition : état, header, bandeau */
  --dur-3:900ms;      /* PLAFOND des apparitions au défilement */
  --dur-4:1800ms;     /* lent : la photo du hero qui se pose, le zoom au survol */
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-luxe:cubic-bezier(.7,0,.2,1);
  --ease-in-out:cubic-bezier(.65,0,.35,1);
  --stagger:70ms;     /* décalage entre deux éléments d'une même série */
  --rise:18px;        /* distance de montée à l'apparition */
  --hero-zoom:1.08;
  --parallax:6%;

  /* ---- Points de rupture (documentation : une media query ne lit pas une variable)
     sm 40rem/640   md 48rem/768   lg 64rem/1024   xl 90rem/1440 ---- */
}

/* Pages légales : longs textes, donc sombre sur clair. */
.legal-body{
  --bg:#EDE7DA; --surface:#F5F1E6; --surface-2:#E3DCCB;
  --ink:#0F1412; --ink-2:#4A4A44;
  --accent:#0C4F59; --accent-hover:#083B44; --on-accent:#FFFFFF;  /* 7.5:1 et 10.5:1 sur l'ivoire */
  --line:rgba(15,20,18,.18); --line-strong:rgba(15,20,18,.42);
  --success:#2E6B3F; --error:#A3362B;
}

@media (prefers-reduced-motion:reduce){
  :root{--dur-1:0ms;--dur-2:0ms;--dur-3:0ms;--dur-4:0ms;--stagger:0ms;--rise:0px;--hero-zoom:1;--parallax:0%}
}
