@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,500;1,9..144,600&family=Jost:wght@300;400;500;600&family=Spline+Sans+Mono:wght@400;500&display=swap');
:root{
  --c-bleu:#006E97; --c-bleu-fonce:#00384D;
  --c-turquoise:#01B2BB; --c-turquoise-2:#30A6AC;
  --c-rose:#DB5E9F; --c-jaune:#F9B231;
  --c-sable:#F4DDB5; --c-creme:#FFEFD1; --c-blanc:#FFFFFF;
  --c-texte:#243a40; --c-texte-doux:#5a6b70;
  --c-fond:#fffdf8;
  --f-titre:'Fraunces',Georgia,serif;
  --f-corps:'Jost',system-ui,sans-serif;
  --f-mono:'Spline Sans Mono',monospace;
  --t-0:1rem; --t-1:1.25rem; --t-2:1.563rem; --t-3:1.953rem; --t-4:2.441rem; --t-5:3.2rem;
  --s-1:8px; --s-2:16px; --s-3:24px; --s-4:32px; --s-5:48px; --s-6:64px; --s-7:96px;
  --r:18px; --r-bulle:60px; --r-pill:999px;
  --ombre:0 10px 34px rgba(0,55,77,.10);
  --max:1180px;
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--f-corps);color:var(--c-texte);background:var(--c-fond);font-size:var(--t-0);line-height:1.7;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--f-titre);font-weight:600;line-height:1.12;color:var(--c-bleu-fonce);margin:0 0 var(--s-2)}
h1{font-size:var(--t-5)} h2{font-size:var(--t-3)} h3{font-size:var(--t-1)}
a{color:var(--c-bleu);text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--s-3)}
.kicker{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--c-rose);margin:0 0 10px}
.btn{display:inline-block;background:var(--c-rose);color:#fff;padding:13px 28px;border-radius:var(--r-pill);font-weight:500;letter-spacing:.04em;transition:transform .15s,filter .15s}
.btn:hover{transform:translateY(-2px);filter:brightness(1.06)}
.btn--ghost{background:none;border:1.5px solid var(--c-bleu);color:var(--c-bleu)}
.btn--jaune{background:var(--c-jaune);color:#6b3d00}
.rule{display:flex;align-items:center;justify-content:center;gap:14px;margin:14px 0 0}
.rule span{height:1px;width:64px}
.rule .l{background:linear-gradient(90deg,transparent,var(--c-jaune))}
.rule .r{background:linear-gradient(90deg,var(--c-jaune),transparent)}
.rule em{font-family:var(--f-titre);font-style:italic;font-size:1.05rem;color:var(--c-texte-doux)}
:focus-visible{outline:3px solid var(--c-turquoise);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
