/* Feuille de style commune aux pages secondaires (offres, mentions légales, confidentialité, 404).
   Reprend les mêmes jetons de couleur et polices que la page d'accueil. */
:root{
  --paper:#f7f2ea; --paper-raised:#ffffff; --ink:#16303a; --ink-soft:#4c6873;
  --line:rgba(22,48,58,0.14); --peak-dark:#3f6e7d; --peak-light:#6fabc9;
  --sunrise:#d99433; --sunrise-soft:#eab868; --plum:#8a5570; --focus:#3f6e7d;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#0d1b21; --paper-raised:#132430; --ink:#f2ece1; --ink-soft:#b7c6cc;
    --line:rgba(242,236,225,0.14); --peak-dark:#6fa3b4; --peak-light:#9ed4ea;
    --sunrise:#eab868; --sunrise-soft:#f0c274; --plum:#c98aa8; --focus:#eab868;
  }
}
:root[data-theme="dark"]{
  --paper:#0d1b21; --paper-raised:#132430; --ink:#f2ece1; --ink-soft:#b7c6cc;
  --line:rgba(242,236,225,0.14); --peak-dark:#6fa3b4; --peak-light:#9ed4ea;
  --sunrise:#eab868; --sunrise-soft:#f0c274; --plum:#c98aa8; --focus:#eab868;
}
*{box-sizing:border-box;}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:"Public Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;
  font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:"Fraunces", ui-serif, Georgia, serif; font-weight:560; color:var(--ink); margin:0; text-wrap:balance;}
p{margin:0 0 1rem; color:var(--ink-soft);}
a{color:var(--peak-dark);}
a:focus-visible{outline:2px solid var(--focus); outline-offset:3px;}
.skip{position:absolute; left:-9999px; top:0; z-index:100; background:var(--sunrise-soft); color:#16303a; padding:10px 18px; text-decoration:none;}
.skip:focus{left:0;}
.wrap{max-width:760px; margin:0 auto; padding:0 28px;}
header.site{border-bottom:1px solid var(--line); background:var(--paper);}
.nav-row{max-width:920px; margin:0 auto; padding:14px 28px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 24px;}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none; color:inherit;}
.brand-mark{height:28px; width:auto;}
.wordmark{font-family:"Fraunces", serif; font-weight:560; font-size:1.02rem; white-space:nowrap;}
.wordmark span{color:var(--peak-dark);}
.nav-back{font-family:"IBM Plex Mono", ui-monospace, monospace; font-size:0.8rem; text-decoration:none; color:var(--ink-soft); border:1px solid var(--line); padding:8px 14px; border-radius:2px;}
.nav-back:hover{border-color:var(--sunrise); color:var(--sunrise);}
main{padding:64px 0 88px;}
.eyebrow{font-family:"IBM Plex Mono", ui-monospace, monospace; font-size:0.72rem; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; color:var(--peak-dark); display:block; margin-bottom:14px;}
main h1{font-size:clamp(1.9rem, 4.5vw, 2.6rem); line-height:1.15; margin-bottom:18px;}
main h2{font-size:1.25rem; margin:38px 0 12px;}
main h3{font-size:1rem; font-weight:500; font-family:"Public Sans", sans-serif; margin:22px 0 6px;}
.lede{font-size:1.08rem; color:var(--ink-soft); max-width:56ch;}
.doc dl{margin:0;}
.doc dt{font-family:"IBM Plex Mono", ui-monospace, monospace; font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-soft); opacity:0.8; margin-top:16px;}
.doc dd{margin:2px 0 0; color:var(--ink);}
.btn{display:inline-flex; align-items:center; gap:8px; font-size:0.92rem; font-weight:500; text-decoration:none; padding:13px 22px; border-radius:2px; border:1px solid transparent; background:var(--sunrise-soft); color:#16303a;}
.btn:hover{background:#f0c274;}
.panel{background:var(--paper-raised); border:1px solid var(--line); border-top:3px solid var(--peak-dark); padding:28px 30px; margin:24px 0;}
.tag{display:inline-block; font-family:"IBM Plex Mono", ui-monospace, monospace; font-size:0.72rem; letter-spacing:0.06em; border:1px solid var(--line); padding:4px 10px; border-radius:999px; margin:4px 6px 4px 0; color:var(--ink-soft);}
footer{border-top:1px solid var(--line); font-size:0.8rem; color:var(--ink-soft); padding:28px 0 56px;}
footer .wrap{max-width:920px; display:flex; flex-wrap:wrap; gap:12px 20px; justify-content:space-between; align-items:center;}
footer a{color:var(--ink-soft); border-bottom:1px solid var(--line); text-decoration:none;}
footer a:hover{color:var(--ink); border-color:var(--sunrise);}
@media (prefers-reduced-motion: reduce){*{animation:none !important; transition:none !important;}}
