/* Améliorations ciblées ; ne constitue pas une certification d’accessibilité. */
[hidden]{display:none!important}
html{scroll-padding-top:110px;scroll-padding-bottom:110px}
:is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #172b24;outline-offset:3px;box-shadow:0 0 0 3px #fff}
:where(a,button,input,select,textarea,summary,[tabindex]){scroll-margin-block:110px}
:where(section,[id]){scroll-margin-top:110px}
.region-list span,.category-row .number{color:#53645b}
.field input,.field select,.field textarea,.form-result textarea,.menu-toggle,.btn-light{border-color:#65776b}
.form-title{font-size:1.7rem}
fieldset{padding:0;border:0;margin:0;min-width:0}
legend{font-size:1.1rem;font-weight:700;margin-bottom:14px}
fieldset:disabled{opacity:.75}
.form-result textarea{width:100%;padding:14px;border:1px solid #65776b;border-radius:7px;background:#fff;color:#172b24;font:inherit;resize:vertical;line-height:1.6}
.form-result label{display:block;font-weight:600;margin:12px 0}
.form-result[tabindex]:focus{outline:3px solid #172b24;outline-offset:4px}
.contact-layout a:not(.btn),.legal a{text-decoration:underline;text-underline-offset:3px}
.footer .footer-heading{font-size:1rem;letter-spacing:0;line-height:1.4;margin:0 0 20px}
.footer-bottom div{flex-wrap:wrap}
.footer-links a,.footer-bottom a{padding-block:4px;min-height:24px}
.legal-table{border-collapse:collapse;width:100%;font-size:.93rem}
.legal-table th,.legal-table td{border:1px solid #65776b;padding:12px;text-align:left;vertical-align:top;overflow-wrap:anywhere}
.legal-table th{background:#eef3eb}
.legal-table caption{text-align:left;font-weight:700;margin-bottom:12px}
.legal-table-wrap{overflow:auto}
.brand{min-width:0;flex-shrink:1}
.menu-toggle{flex-shrink:0}
.contact-layout,.split,.region{min-width:0}
.contact-layout>*,.split>*,.region>*{min-width:0}
.btn,.textlink,.contact-panel a,.legal h1{overflow-wrap:anywhere}
body{font-size:1rem;overflow-wrap:anywhere}
.hero>*,.service-grid>*,.service-extra>*,.service-small>*,.footer-grid>*,.archive-panel>*,.process>*,.field{min-width:0}
.service-body>*{max-width:100%}
.hero-visual .volume-tag{max-width:calc(100% - 36px)}
.final-cta .btn{white-space:normal}
@media(max-width:940px){
  body{padding-bottom:calc(6rem + env(safe-area-inset-bottom))}
  html:not(.nav-enhanced) .header{position:static}
  html:not(.nav-enhanced) .header-inner{flex-wrap:wrap;padding-block:16px}
  html:not(.nav-enhanced) .menu-toggle{display:none}
  html:not(.nav-enhanced) .nav{display:flex;position:static;flex-basis:100%;flex-direction:column;align-items:stretch;max-height:none;overflow:visible;box-shadow:none;padding:0;border:0}
}
@media(max-width:360px){
  .header{position:static}
  .mobile-bar{position:static;flex-wrap:wrap}
  body{padding-bottom:0}
  .header-inner{gap:10px}
  .brand{width:165px}
  .mobile-bar{padding-inline:10px;gap:6px}
  .mobile-bar .btn{font-size:.83rem;padding:9px 7px}
  .mobile-bar .btn-light{flex-basis:105px}
  .contact-panel{padding:20px}
  .contact-panel .phone-big{font-size:1.6rem}
  .page-hero h1,.legal h1{font-size:2.15rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.preview-note{padding:10px 20px;background:#fff4cf;color:#382d10;font-size:.9rem;text-align:center;border-bottom:1px solid #d5bb64}
.hero h1{font-size:clamp(2.35rem,4.6vw,4.2rem);line-height:1.08}
.area-note{margin-top:28px;padding:24px;border-left:4px solid #267456;background:#f1f5ef}

.rn-3ad22255c3{font-size:1.7rem}