/* ------------------------------------------------------------------
   Pages de prestations — faites pour être lues, et pour être lisibles
   par un robot. Pas de défilement horizontal ici : du texte, une
   colonne, une hiérarchie nette.
   ------------------------------------------------------------------ */

:root{
  --paper:#FFFFFF; --ink:#0B0B0C; --ash:#5F6166; --mist:#F5F4F1;
  --rule:#E2E0DB; --gold:#A8871F;
  --display:"Bricolage Grotesque","Helvetica Neue",Arial,sans-serif;
  --body:"Instrument Sans","Helvetica Neue",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--body);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}

.bandeau{
  position:sticky;top:0;z-index:10;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:12px clamp(18px,5vw,48px);
  background:rgba(255,255,255,.92);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--rule);
}
.logo{font-family:var(--display);font-weight:800;font-size:17px;letter-spacing:-.02em;text-decoration:none}
.logo span{color:var(--gold)}
.appel{
  font-size:14px;font-weight:600;text-decoration:none;
  background:var(--ink);color:var(--paper);
  padding:9px 16px;border-radius:999px;white-space:nowrap;
}

.fil{
  max-width:74ch;margin-inline:auto;
  padding:18px clamp(18px,5vw,48px) 0;
  font-size:13px;color:var(--ash);
}
.fil a{color:var(--ash)}
.fil span:last-child{color:var(--ink)}

main{max-width:74ch;margin-inline:auto;padding:0 clamp(18px,5vw,48px) 64px}

h1{
  font-family:var(--display);font-weight:800;
  font-size:clamp(30px,5.6vw,46px);line-height:1.04;letter-spacing:-.03em;
  margin:22px 0 14px;text-wrap:balance;
}
h2{
  font-family:var(--display);font-weight:700;
  font-size:clamp(21px,3vw,27px);line-height:1.15;letter-spacing:-.02em;
  margin:44px 0 12px;text-wrap:balance;
}
h3{font-family:var(--display);font-weight:700;font-size:18px;margin:28px 0 8px}
p{margin:0 0 18px}
.chapo{font-size:clamp(18px,2.2vw,21px);line-height:1.5;color:#3A3B40}
strong{font-weight:600}

ul,ol{margin:0 0 18px;padding-left:22px}
li{margin-bottom:8px}

.encadre{
  background:var(--mist);border-radius:14px;
  padding:20px 22px;margin:28px 0;
}
.encadre p:last-child{margin-bottom:0}
.encadre h3{margin-top:0}

table{width:100%;border-collapse:collapse;margin:0 0 22px;font-size:15.5px}
th,td{text-align:left;padding:11px 0;border-bottom:1px solid var(--rule);vertical-align:top}
th{font-weight:600;width:42%}

.faq details{border-bottom:1px solid var(--rule)}
.faq summary{
  cursor:pointer;list-style:none;position:relative;
  padding:14px 30px 14px 0;font-weight:600;font-size:16px;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";position:absolute;right:6px;top:50%;width:8px;height:8px;margin-top:-6px;
  border-right:1.5px solid var(--ash);border-bottom:1.5px solid var(--ash);
  transform:rotate(45deg);transition:transform .2s ease;
}
.faq details[open] summary::after{transform:rotate(-135deg);margin-top:-2px}
.faq summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.faq p{color:var(--ash);font-size:16px;margin:0 0 16px}

.appel-bloc{
  border:1px solid var(--rule);border-radius:16px;
  padding:26px clamp(20px,4vw,30px);margin:48px 0 0;
}
.appel-bloc h2{margin-top:0}
.boutons{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-size:15px;font-weight:600;text-decoration:none;
  padding:13px 22px;border-radius:999px;
  background:var(--ink);color:var(--paper);border:1px solid var(--ink);
  transition:transform .18s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn.creux{background:transparent;color:var(--ink);border-color:var(--rule)}
.btn.creux:hover{border-color:var(--ink)}
.petit{font-size:13.5px;color:var(--ash);margin-bottom:0}

.autres{margin-top:48px;padding-top:26px;border-top:1px solid var(--rule)}
.autres ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:9px}
.autres li{margin:0}
.autres a{
  display:inline-block;font-size:14.5px;font-weight:600;text-decoration:none;
  border:1px solid var(--rule);border-radius:999px;padding:9px 16px;
  transition:border-color .2s ease;
}
.autres a:hover{border-color:var(--ink)}

.pied{
  border-top:1px solid var(--rule);background:var(--mist);
  padding:34px clamp(18px,5vw,48px);
}
.pied p{max-width:74ch;margin-inline:auto;font-size:14px;color:var(--ash)}
.pied p:first-child{color:var(--ink);margin-bottom:12px}

:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms !important}}
