/* ==========================================================================
   Page « Mentions légales et vie privée » : même univers visuel que le portfolio (polices, couleurs, thème clair / sombre), feuille de style autonome et légère.
   Les valeurs de couleur reprennent celles de css/style.css (:root et html[data-theme="dark"]).
   ========================================================================== */
@font-face{font-family:"Geist";src:url("../assets/fonts/Geist-Variable-latin.woff2") format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Geist Mono";src:url("../assets/fonts/GeistMono-Variable-latin.woff2") format("woff2");font-weight:300 800;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("../assets/fonts/InstrumentSerif-Italic.woff2") format("woff2");font-style:italic;font-weight:400;font-display:swap}

:root{
  color-scheme:light dark;
  --bg:#f4f3ef;--ink:#191c23;--muted:#4f5560;--blue:#1754b8;--title:#102a56;--bright:#397ff6;--outline:#bdbdbc;
  --rule:rgba(16,42,86,.2);--grad-a:#102a56;--grad-b:#2f6df0;--pill:rgba(16,42,86,.07);--pill-on:#fff;--pill-on-ink:#1754b8;--ft-bg:#0b1424;--ft-ink:#e9e7e1;
  --mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --accent:"Instrument Serif",Georgia,"Times New Roman",serif;
  --gut:clamp(20px,5vw,64px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){--bg:#0b0f17;--ink:#ecebe6;--muted:#aab0bd;--blue:#6ea3ff;--title:#e4ecff;--bright:#4f8dff;--outline:#4a5365;--rule:rgba(174,191,230,.22);--grad-a:#f4f7ff;--grad-b:#7fb0ff;--pill:rgba(255,255,255,.08);--pill-on:#dfe8ff;--pill-on-ink:#0b1424;--ft-bg:#060910}
}
:root[data-theme="dark"]{color-scheme:dark;--bg:#0b0f17;--ink:#ecebe6;--muted:#aab0bd;--blue:#6ea3ff;--title:#e4ecff;--bright:#4f8dff;--outline:#4a5365;--rule:rgba(174,191,230,.22);--grad-a:#f4f7ff;--grad-b:#7fb0ff;--pill:rgba(255,255,255,.08);--pill-on:#dfe8ff;--pill-on-ink:#0b1424;--ft-bg:#060910}
:root[data-theme="light"]{color-scheme:light}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font:400 15px/1.75 var(--mono);-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
a:focus-visible,button:focus-visible{outline:3px solid var(--bright);outline-offset:3px;border-radius:4px}
::selection{background:var(--bright);color:#fff}

.skip{position:fixed;left:12px;top:-60px;z-index:10;padding:10px 16px;border-radius:999px;background:#102a56;color:#fff;font-size:13px;text-decoration:none;transition:top .25s}
.skip:focus{top:12px}

/* haut de page : retour + langue */
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px var(--gut);max-width:1180px;width:100%;margin:0 auto}
.back{font-size:13px;font-weight:500;color:var(--ink);text-decoration:none;letter-spacing:.02em}
.back:hover{color:var(--blue)}
.lang{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:var(--pill)}
.lang button{min-width:40px;height:30px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:var(--ink);font:600 11px/1 var(--mono);letter-spacing:.08em;opacity:.72;cursor:pointer}
.lang button:hover{opacity:1}
.lang button[aria-pressed="true"]{background:var(--pill-on);color:var(--pill-on-ink);opacity:1;box-shadow:0 1px 3px rgba(16,42,86,.2)}

/* contenu */
main{flex:1 0 auto;width:100%;max-width:1180px;margin:0 auto;padding:clamp(16px,4vw,48px) var(--gut) clamp(56px,9vw,120px)}
main>div[data-l]+div[data-l]{margin-top:80px}
.eyebrow{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:11px;line-height:1;color:var(--blue)}
.eyebrow i{display:block;width:40px;height:1px;background:var(--blue)}

/* titre : lettres creuses en filigrane, titre plein en dégradé par-dessus (comme les titres de section du portfolio).
   La taille du texte creux est calculée pour que le titre tienne EXACTEMENT dans la largeur disponible (--n : nombre de lettres ; une lettre de Geist Mono
   mesure 0,6 em + 0,035 em d'interlettrage) ; de la place est laissée en haut pour les accents (É). */
.title{--n:16;--t:min(112px,calc(100cqw / (var(--n) * .64 + .1)));container-type:inline-size;position:relative;margin:0 0 8px;padding-top:calc(var(--t) * .16);font-weight:700;line-height:1;height:calc(var(--t) * 1.3)}
.title:lang(en){--n:12}
.title__ghost{display:block;font-size:var(--t);font-weight:600;line-height:1;letter-spacing:.035em;white-space:nowrap;color:transparent;-webkit-text-stroke:max(.6px,.012em) var(--outline)}
.title__solid{position:absolute;left:0;top:calc(var(--t) * .63);font-size:calc(var(--t) * .556);line-height:1.05;white-space:nowrap;color:var(--title);
  background:linear-gradient(90deg,var(--grad-a),var(--grad-b));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.title__amp{font-size:.62em;letter-spacing:.04em}
.updated{margin:6px 0 0;font-size:12px;color:var(--muted)}

section{max-width:820px;margin-top:clamp(36px,6vw,64px)}
h2{margin:0 0 14px;padding-top:14px;border-top:1px solid var(--rule);font:600 12px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
p{margin:0 0 14px}
section p:last-child{margin-bottom:0}

/* lignes « libellé / valeur » */
.facts{margin:0 0 16px}
.facts>div{display:grid;grid-template-columns:minmax(150px,230px) 1fr;gap:4px 24px;padding:11px 0;border-bottom:1px solid var(--rule)}
.facts>div:first-child{border-top:1px solid var(--rule)}
.facts dt{font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--muted)}
.facts dd{margin:0;overflow-wrap:break-word;word-break:break-word}
@media (max-width:640px){
  body{font-size:14.5px}
  .facts>div{grid-template-columns:1fr;gap:2px}
  /* petit écran : « & VIE PRIVÉE » passe sur une seconde ligne sous le titre plein */
  .title{height:calc(var(--t) * 1.85)}
  .title__solid{white-space:normal;max-width:100%}
  .title__amp{display:block;margin-top:2px;font-size:.55em}
}

/* pied de page */
.foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;padding:22px var(--gut);background:var(--ft-bg);color:var(--ft-ink);font-size:12px}
.foot p{margin:0;color:rgba(233,231,225,.72)}
.foot .back{color:var(--ft-ink)}
.foot .back:hover{color:#8fb6ff}

@media print{
  .top,.skip,.foot .back{display:none!important}
  body{background:#fff;color:#000;font-size:11pt}
  .title{height:auto;overflow:visible}.title__ghost{display:none}.title__solid{position:static;-webkit-text-fill-color:#000;background:none;color:#000;font-size:22pt}
  main>div[hidden]{display:none!important}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
