.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.mobile-menu-toggle,
.mobile-menu{display:none}

@media (max-width:980px){
  .nav .wrap{gap:.7rem}
  .mobile-menu-toggle{
    display:inline-grid;
    place-items:center;
    width:44px;
    height:44px;
    margin-left:auto;
    border:1px solid var(--hair,rgba(14,31,69,.13));
    border-radius:50%;
    background:var(--paper,#fff);
    color:var(--ink,#0e1f45);
    cursor:pointer;
  }
  .mobile-menu-toggle span,
  .mobile-menu-toggle::before,
  .mobile-menu-toggle::after{
    content:"";
    display:block;
    width:19px;
    height:2px;
    border-radius:2px;
    background:currentColor;
    transition:transform .28s ease,opacity .2s ease;
  }
  .mobile-menu-toggle span{margin:4px 0}
  .mobile-menu-toggle[aria-expanded="true"] span{opacity:0}
  .mobile-menu-toggle[aria-expanded="true"]::before{transform:translateY(6px) rotate(45deg)}
  .mobile-menu-toggle[aria-expanded="true"]::after{transform:translateY(-6px) rotate(-45deg)}
  .mobile-menu{
    position:fixed;
    z-index:49;
    inset:84px 0 auto;
    padding:1rem var(--gut,1.25rem) 1.35rem;
    border-top:1px solid var(--hair,rgba(14,31,69,.13));
    background:var(--paper,#fff);
    box-shadow:0 18px 36px rgba(14,31,69,.14);
  }
  .mobile-menu.is-open{display:block;animation:menu-in .28s ease both}
  .mobile-menu nav{display:grid;gap:.25rem}
  .mobile-menu a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:48px;
    border-bottom:1px solid var(--hair,rgba(14,31,69,.13));
    font-family:var(--display,"Gabarito",system-ui,sans-serif);
    font-weight:800;
    text-decoration:none;
  }
  .mobile-menu a::after{content:"→";color:var(--sky-deep,#3f7ad1)}
  body.menu-open{overflow:hidden}
  @keyframes menu-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
}

.form-honeypot{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}

.form-feedback{
  display:none;
  margin:.8rem 0 0;
  color:#a52620;
  font-weight:700;
}
.form-feedback.is-visible{display:block}
.form.is-sending button[type="submit"]{opacity:.65;pointer-events:none}

.seo-related{
  padding:clamp(2.6rem,6vw,5.5rem) 0;
  background:var(--paper,#fff);
}
.seo-related h2{
  max-width:18ch;
  margin-bottom:1.5rem;
}
.seo-related-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:clamp(1.5rem,5vw,5rem);
  margin:0;
  padding:0;
  list-style:none;
}
.seo-related-list li{border-bottom:1px solid var(--hair,rgba(14,31,69,.13))}
.seo-related-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  min-height:66px;
  padding:.9rem 0;
  text-decoration:none;
  transition:color .2s ease,padding-left .25s ease;
}
.seo-related-link:hover{
  color:var(--sky-deep,#3f7ad1);
  padding-left:.35rem;
}
.seo-related-link span:first-child{
  font-family:var(--display,"Gabarito",system-ui,sans-serif);
  font-size:1.12rem;
  font-weight:800;
  line-height:1.15;
}
.seo-related-link span:last-child{
  color:var(--sky-deep,#3f7ad1);
  font-size:1.25rem;
  font-weight:800;
}

.legal-main{padding:clamp(2rem,5vw,5rem) 0 clamp(4rem,8vw,7rem)}
.legal-hero{
  padding:clamp(2.4rem,6vw,5.5rem) clamp(1.5rem,5vw,5rem);
  border-radius:clamp(26px,4vw,54px);
  background:var(--ink,#0e1f45);
  color:var(--paper,#fff);
}
.legal-hero h1{max-width:14ch;font-size:clamp(2.7rem,7vw,6rem)}
.legal-hero p{max-width:60ch;margin-top:1rem;color:rgba(255,255,255,.7);font-size:clamp(1rem,1.6vw,1.25rem)}
.legal-content{display:grid;gap:1rem;margin-top:clamp(2rem,5vw,4rem)}
.legal-content article{
  padding:clamp(1.4rem,3vw,2.2rem);
  border:1px solid var(--hair,rgba(14,31,69,.13));
  border-radius:24px;
  background:var(--paper,#fff);
}
.legal-content h2{font-size:clamp(1.35rem,2.5vw,2rem);margin-bottom:.7rem}
.legal-content p,.legal-content li{color:var(--ink-70,rgba(14,31,69,.72))}
.legal-content p+p{margin-top:.7rem}
.legal-content ul{display:grid;gap:.5rem;padding-left:1.2rem}
.legal-content a{text-decoration:underline;text-decoration-color:var(--sun,#ffcb57);text-decoration-thickness:3px;text-underline-offset:4px}
.sitemap-content{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.sitemap-content article{height:100%}
.sitemap-content ul{list-style:none;padding:0;gap:0}
.sitemap-content li+li{border-top:1px solid var(--hair,rgba(14,31,69,.13))}
.sitemap-content a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.72rem 0;text-decoration:none;font-weight:700}
.sitemap-content a::after{content:"→";color:var(--sky-deep,#3f7ad1)}
.sitemap-content a:hover{color:var(--sky-deep,#3f7ad1)}

/* Landing pages locales : même langage visuel que les prestations, avec des blocs éditoriaux dédiés. */
.local-page .presta-main>.lede{max-width:70ch}
.local-intro h2{max-width:23ch;margin-top:1rem}
.local-intro h2+p{margin-top:1.3rem}
.local-figure{margin:0}
.local-figure img{display:block;width:100%;height:100%;object-fit:cover}
.local-figure figcaption{
  margin-top:.55rem;
  color:var(--ink-45,rgba(14,31,69,.58));
  font-size:.72rem;
  line-height:1.45;
}
.local-figure figcaption a{text-decoration:underline;text-underline-offset:2px}
.local-figure-wide{margin-top:clamp(2.2rem,4vw,3.5rem)}
.local-figure-wide img{aspect-ratio:16/9;border-radius:22px 52px 22px 22px}
.local-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:clamp(1.8rem,3.5vw,2.8rem);
}
.local-stats article{display:flex;flex-direction:column;min-height:170px;padding:1.25rem;border:1px solid var(--hair);border-radius:18px 34px 18px 18px;background:var(--paper)}
.local-stats strong{font-family:var(--display);font-size:clamp(1.8rem,3vw,2.7rem);line-height:1;color:var(--ink)}
.local-stats span{margin-top:.65rem;color:var(--ink-70);line-height:1.45}
.local-stats a{margin-top:auto;padding-top:.85rem;color:var(--sky-deep);font-size:.75rem;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.local-segments{display:grid;gap:1rem;margin-top:1.5rem}
.local-segment{padding:clamp(1.3rem,2.5vw,2rem);border:1px solid var(--hair);border-radius:20px 42px 20px 20px;background:var(--paper)}
.local-segment h3{font-size:clamp(1.25rem,2vw,1.65rem)}
.local-segment p{margin-top:.7rem;color:var(--ink-70)}
.local-segment ul{display:flex;flex-wrap:wrap;gap:.45rem 1.2rem;margin:.95rem 0 0;padding:0;list-style:none}
.local-segment a{font-family:var(--display);font-weight:800;text-decoration:underline;text-decoration-color:var(--sun);text-decoration-thickness:3px;text-underline-offset:4px}
.local-mid-cta{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:clamp(2.8rem,5vw,4.5rem);padding:clamp(1.5rem,3vw,2.2rem);border-radius:24px 48px 24px 24px;background:var(--ink);color:var(--paper)}
.local-mid-cta h2{max-width:18ch;font-size:clamp(1.45rem,2.6vw,2.15rem)}
.local-mid-cta p{max-width:52ch;margin-top:.55rem;color:rgba(255,255,255,.7)}
.local-mid-cta .btn{flex:none}
.local-steps{display:grid;gap:.75rem;margin-top:1.5rem}
.local-steps article{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;padding:1.1rem 1.2rem;border-bottom:1px solid var(--hair)}
.local-steps article>span{display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:50%;background:var(--sun);font-family:var(--display);font-size:1.1rem;font-weight:900}
.local-steps article:nth-child(2)>span{background:var(--sky)}
.local-steps article:nth-child(3)>span{background:var(--sun-soft)}
.local-steps article:nth-child(4)>span{background:var(--ink);color:var(--sun)}
.local-steps h3{font-size:1.2rem}
.local-steps p{margin-top:.35rem;color:var(--ink-70)}
.local-media-block{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(1.4rem,4vw,3.2rem);align-items:center;margin-top:clamp(3rem,6vw,5.5rem)}
.local-media-block .local-figure img{aspect-ratio:4/5;border-radius:22px 54px 22px 22px}
.local-media-block>div h2{max-width:18ch;margin-top:.85rem}
.local-media-block>div>p:last-child{margin-top:1rem;color:var(--ink-70)}
.local-media-reverse .local-figure{order:2}
.local-media-reverse .local-figure img{border-radius:54px 22px 22px 22px}
.local-faq-list{margin-top:1.4rem}
@media (max-width:760px){
  .seo-related-list,.sitemap-content{grid-template-columns:1fr}
  .local-stats{grid-template-columns:1fr}
  .local-stats article{min-height:0}
  .local-mid-cta{align-items:flex-start;flex-direction:column}
  .local-media-block{grid-template-columns:1fr}
  .local-media-reverse .local-figure{order:0}
  .local-media-block .local-figure img{aspect-ratio:4/3}
}

@media (prefers-reduced-motion:reduce){
  .mobile-menu.is-open{animation:none}
}
