:root{
  --ink:#102a38;
  --night:#0b202d;
  --snow:#f7f9fa;
  --paper:#edf2f3;
  --pine:#30715f;
  --wood:#b77b45;
  --line:rgba(16,42,56,.17);
  --serif:"Playfair Display",Georgia,serif;
  --sans:"DM Sans",Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans)}
a{color:inherit}
.skip-link{position:fixed;z-index:20;top:10px;left:10px;padding:10px 14px;background:#fff;transform:translateY(-150%);transition:transform .2s}
.skip-link:focus{transform:translateY(0);outline:3px solid var(--wood)}
.legal-header{min-height:82px;padding:0 5.8vw;display:flex;align-items:center;justify-content:space-between;background:var(--night);color:#fff}
.brand{font:700 27px var(--serif);letter-spacing:-.5px;text-decoration:none}
.brand span{display:inline-block;margin-left:12px;color:var(--wood);font:700 9px var(--sans);letter-spacing:1.7px;vertical-align:middle}
.back-link{padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.6);font-size:12px;font-weight:700;text-decoration:none}
.legal-hero{padding:102px max(5.8vw,24px) 89px;background:linear-gradient(126deg,#0b202d 0%,#14394a 63%,#23564f 100%);color:#fff}
.legal-hero>*{max-width:1240px;margin-left:auto;margin-right:auto}
.eyebrow{margin-top:0;margin-bottom:18px;color:var(--wood);font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase}
.legal-hero .eyebrow{color:#a9c9c5}
h1,h2{margin:0;font-family:var(--serif);font-weight:600;line-height:.98;letter-spacing:-1.5px}
h1{font-size:clamp(52px,7vw,94px)}
h2{font-size:clamp(31px,3.3vw,45px)}
.legal-hero>p:last-child{max-width:560px;margin-top:27px;margin-bottom:0;color:#dbe8e7;font-size:17px;line-height:1.7}
#contenu{padding-bottom:106px}
.legal-grid{max-width:1240px;margin:-38px auto 0;padding:0 5.8vw;display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
.legal-card{min-width:0;padding:32px;background:var(--snow);border:1px solid var(--line)}
.legal-card-primary{background:#fff}
.legal-card-contact{background:var(--pine);color:#fff}
.legal-card-contact .eyebrow{color:#c8e0da}
.legal-card-contact p:not(.eyebrow){margin:20px 0 0;color:#e2f0ec;font-size:14px;line-height:1.65}
.legal-card-wide{grid-column:1/-1;padding:38px max(32px,4.6vw)}
.legal-card-wide p:not(.eyebrow){max-width:890px;margin:20px 0 0;color:#4d626a;font-size:15px;line-height:1.75}
.legal-card-wide p+p{margin-top:13px}
.lead{margin:13px 0 0;color:#4d626a;font-size:16px}
.legal-details{display:grid;gap:17px;margin:31px 0 0}
.legal-details div{display:grid;grid-template-columns:190px 1fr;gap:15px;padding-top:14px;border-top:1px solid var(--line)}
.legal-details dt{color:#66767c;font-size:11px;font-weight:700;letter-spacing:.7px;text-transform:uppercase}
.legal-details dd{margin:0;font-size:15px;font-weight:600}
.legal-details address{font-style:normal}
.phone-link{display:inline-flex;align-items:center;gap:13px;margin-top:28px;padding-bottom:7px;border-bottom:1px solid currentColor;font:600 clamp(22px,2.7vw,34px)/1 var(--serif);letter-spacing:-.4px;text-decoration:none}
.phone-link span{font:400 19px var(--sans)}
.legal-cta{max-width:1240px;margin:72px auto 0;padding:47px max(5.8vw,32px);display:flex;align-items:end;justify-content:space-between;gap:35px;background:var(--night);color:#fff}
.legal-cta .eyebrow{color:#a9c9c5}
.legal-cta a{display:inline-flex;align-items:center;gap:20px;padding:14px 18px;background:#fff;color:var(--night);font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap}
.legal-cta a span{font-size:18px}
.legal-footer{padding:23px 5.8vw;display:flex;align-items:center;gap:22px;background:var(--night);color:#d9e4e1;font-size:11px}
.legal-footer a{text-decoration:none}
.legal-footer a:hover,.back-link:hover,.phone-link:hover{text-decoration:underline}
.footer-admin{margin-left:auto;color:#9fbbb5}
a:focus-visible{outline:3px solid var(--wood);outline-offset:4px}

@media(max-width:760px){
  .legal-header{min-height:68px;padding:0 20px}
  .brand{font-size:22px}
  .brand span{display:none}
  .legal-hero{padding:72px 24px 72px}
  .legal-grid{margin-top:-22px;padding:0 20px;grid-template-columns:1fr}
  .legal-card,.legal-card-wide{padding:26px 21px}
  .legal-card-wide{grid-column:auto}
  .legal-details div{grid-template-columns:1fr;gap:4px}
  .legal-cta{margin:48px 20px 0;padding:34px 24px;display:block}
  .legal-cta a{margin-top:27px}
  .legal-footer{flex-wrap:wrap;padding:20px;gap:14px}
  .footer-admin{margin-left:0}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .skip-link{transition:none}
}
