/* HELFFE · gabarit sobre des pages de service (mentions légales, confidentialité, 404) */
:root{
  --porcelain-soft:#FCFAF7;--porcelain-core:#F8F4EC;--porcelain-deep:#F1EBDD;
  --onyx-core:#22182E;--carbon-soft:#4A4A50;--carbon-core:#2D2D30;
  --gold-core:#F5EFD8;--gold-deep:#E9DFC0;
  --emerald-core:#00D28F;--emerald-deep:#007A55;
  --sans:"League Spartan",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --gutter:clamp(16px,5vw,72px);--ease:cubic-bezier(.22,.61,.36,1);--nav-h:68px;
}
*{box-sizing:border-box}
html{scroll-padding-top:calc(var(--nav-h) + 24px)}
body{margin:0;background:var(--porcelain-core);color:var(--carbon-core);font-family:var(--sans);font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
p{margin:0}
.sp{padding:calc(var(--nav-h) + clamp(56px,9vw,120px)) var(--gutter) clamp(80px,10vw,140px);max-width:1360px;margin-inline:auto}
.sp-col{max-width:43rem}
.overline{margin:0;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--carbon-soft)}
.sp h1{margin:20px 0 0;font-size:clamp(38px,5vw,68px);font-weight:700;letter-spacing:-.04em;line-height:1.02;color:var(--onyx-core);text-wrap:balance}
.sp .lede{margin-top:24px;font-size:clamp(17px,1.5vw,20px);font-weight:300;line-height:1.7}
.sp .upd{margin-top:14px;font-size:14px;color:var(--carbon-soft)}
.sp h2{margin:clamp(44px,5vw,64px) 0 0;padding-top:22px;border-top:1px solid var(--gold-deep);font-size:clamp(21px,1.9vw,26px);font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--onyx-core)}
.sp h2 + p,.sp h2 + dl,.sp h2 + ul{margin-top:16px}
.sp p + p{margin-top:14px}
.sp p,.sp li,.sp dd{font-weight:300}
.sp strong{font-weight:600;color:var(--onyx-core)}
.sp ul{margin:14px 0 0;padding-left:1.1em}
.sp li + li{margin-top:8px}
.sp li::marker{color:var(--emerald-deep)}
.sp dl{margin:0;border-top:1px solid var(--gold-deep)}
.sp dl div{display:grid;grid-template-columns:13rem minmax(0,1fr);gap:18px;padding:14px 0;border-bottom:1px solid var(--gold-deep)}
.sp dt{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--carbon-soft);padding-top:4px}
.sp dd{margin:0}
.sp p a,.sp dd a,.sp li a{text-decoration:none;box-shadow:inset 0 -1px 0 var(--emerald-deep);transition:box-shadow .3s var(--ease)}
.sp p a:hover,.sp dd a:hover,.sp li a:hover{box-shadow:inset 0 -2px 0 var(--emerald-core)}
.nf-links{margin-top:clamp(40px,5vw,56px);display:flex;flex-wrap:wrap;gap:12px}
.nf-links a{display:inline-flex;align-items:center;min-height:48px;padding:12px 20px 10px;border:1px solid var(--gold-deep);border-radius:10px;background:var(--porcelain-soft);text-decoration:none;font-size:17px;color:var(--onyx-core);transition:border-color .3s var(--ease),background .3s var(--ease)}
.nf-links a em{font-style:normal;font-weight:300;margin-right:.3em}
.nf-links a:hover{border-color:var(--emerald-deep);background:var(--porcelain-deep)}
:focus-visible{outline:2px solid var(--emerald-core);outline-offset:3px;border-radius:4px}
@media (max-width:620px){.sp dl div{grid-template-columns:minmax(0,1fr);gap:4px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
