/* GP TECHNOLOGIE — feuille de style des pages annexes (légales, 404) */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --paper:#FAF7EF;--sand:#F1EADB;--shell:#FFFDF8;
  --ink:#0D1B3E;--ink2:#1F2C4C;--mute:#6E7385;
  --rule:#DFD6C3;--rule2:#EBE3D3;--gold:#C8931A;--gold-lt:#E8B437;
  --disp:'Sora',system-ui,sans-serif;
  --body:'DM Sans',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
  --ease:cubic-bezier(.22,1,.36,1);
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16.5px;line-height:1.72;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;display:block}
:focus-visible{outline:2.5px solid var(--gold);outline-offset:3px}

.wrap{max-width:820px;margin:0 auto;padding:0 26px}

header{border-bottom:1px solid var(--rule);background:var(--shell);padding:16px 0}
.hd{max-width:1240px;margin:0 auto;padding:0 26px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo-plate{background:var(--ink);padding:11px 15px;border-radius:2px;display:inline-flex;box-shadow:3px 3px 0 rgba(200,147,26,.85)}
.logo-plate img{height:34px;width:auto}
.back{
  font-family:var(--mono);font-size:.6rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;
  color:var(--mute);text-decoration:none;padding:9px 14px;border:1px solid var(--rule);border-radius:2px;transition:.2s;
}
.back:hover{color:var(--ink);border-color:var(--ink)}

main{padding:clamp(48px,7vw,84px) 0 clamp(56px,8vw,96px)}
.eyebrow{
  font-family:var(--mono);font-size:.64rem;font-weight:600;letter-spacing:.19em;text-transform:uppercase;
  color:var(--gold);display:inline-flex;align-items:center;gap:9px;
}
.eyebrow::before{content:'';width:22px;height:1.5px;background:var(--gold)}
h1{font-family:var(--disp);font-weight:800;letter-spacing:-.035em;line-height:1.08;font-size:clamp(2rem,4.6vw,3rem);margin:14px 0 10px}
h2{font-family:var(--disp);font-weight:700;letter-spacing:-.022em;font-size:1.16rem;margin:38px 0 10px;padding-top:22px;border-top:1px solid var(--rule)}
h2:first-of-type{border-top:0;padding-top:0}
p{margin-bottom:13px}
ul{margin:0 0 15px 20px}
li{margin-bottom:7px}
strong{font-weight:700}
.updated{font-family:var(--mono);font-size:.58rem;letter-spacing:.11em;text-transform:uppercase;color:var(--mute);margin-bottom:34px}
.card{background:var(--shell);border:1px solid var(--rule);border-left:3px solid var(--gold);border-radius:2px;padding:22px 24px;margin:20px 0}
.card p:last-child{margin-bottom:0}
table{width:100%;border-collapse:collapse;margin:16px 0;font-size:.9rem}
th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--rule2);vertical-align:top}
th{font-family:var(--mono);font-size:.56rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--mute)}
.todo{background:rgba(200,147,26,.1);border:1px dashed var(--gold);border-radius:2px;padding:14px 16px;font-size:.86rem;color:var(--ink2);margin:16px 0}

footer{background:var(--ink);color:rgba(255,253,248,.6);padding:34px 0;font-family:var(--mono);font-size:.56rem;letter-spacing:.09em}
footer .wrap{max-width:1240px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer a{color:var(--gold-lt);text-decoration:underline;text-underline-offset:3px}

/* page 404 */
.nf{text-align:center;padding:clamp(70px,12vw,140px) 0}
.nf b{font-family:var(--disp);font-size:clamp(4.5rem,17vw,10rem);font-weight:800;letter-spacing:-.06em;line-height:.9;display:block;color:var(--ink)}
.nf b span{color:var(--gold)}
.nf p{color:var(--mute);max-width:46ch;margin:16px auto 30px}
.btn{
  display:inline-flex;align-items:center;gap:10px;font-family:var(--disp);font-size:.86rem;font-weight:700;
  padding:15px 26px;border-radius:2px;text-decoration:none;background:var(--ink);color:var(--shell);
  box-shadow:5px 5px 0 var(--gold);transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.btn:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--gold)}
.nf-links{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;margin-top:34px}
.nf-links a{
  font-family:var(--mono);font-size:.58rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  padding:9px 14px;border:1px solid var(--rule);border-radius:2px;text-decoration:none;color:var(--mute);transition:.2s;
}
.nf-links a:hover{color:var(--ink);border-color:var(--ink);background:var(--sand)}
