
/* Ajustements techniques : identité et disposition conservées. */
:root{--orange-text:#b54700}
.nav-cta,.primary,.service-grid .accent,.service-grid .accent span,.service-grid .accent p,.service-grid .accent .card-link,.crack-image span{color:var(--ink)}
.primary:hover,.nav-cta:hover{background:#e65d00;color:var(--ink)}
.eyebrow,.intro p,.service-grid article>span,.process li:before,.tools-grid figcaption>span,.text-link,.card-link,.service-nav a{color:var(--orange-text)}
.service-grid .accent>span{color:var(--ink)}
.hero h1 span{color:#c34f00}
.hero-panel .panel-number,.field-work .eyebrow,.audiences .eyebrow,.service-hero .eyebrow{color:var(--orange)}
.site-header nav a:not(.nav-cta):hover,.contact-details a:hover{color:var(--orange-text)}
footer .legal{color:#aeb7bf}
:focus-visible{outline:3px solid #176db0;outline-offset:4px}
section[id],main[id]{scroll-margin-top:110px}
.skip-link{position:absolute;top:-100px;left:20px;background:#fff;padding:12px;z-index:100}.skip-link:focus{top:12px}
.footer-links{display:flex;flex-wrap:wrap;gap:12px 24px;grid-column:1/-1}.footer-links a{text-decoration:underline;text-underline-offset:4px}
form .full,form .form-status,form .form-actions{grid-column:1/-1}
.form-status{margin:0;font-size:.9rem}.form-status:empty{display:none}
.form-actions{display:flex;flex-wrap:wrap;gap:12px}.form-actions .secondary{font-size:.86rem}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
button:disabled{opacity:.65;cursor:wait}
.legal-content{max-width:1000px;margin:auto;padding:70px 24px}.legal-content h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.1}.legal-content h2{margin-top:32px}.legal-content a{text-decoration:underline}
@media(max-width:600px){input,select,textarea{font-size:16px}.hero h1{font-size:clamp(2.5rem,8.4vw,3.1rem)}.contact-details a{overflow-wrap:anywhere}.service-header .brand img{width:140px}.service-header .nav-cta{max-width:142px}.hero,.hero-copy,form{min-width:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Confort mobile et tablette — septembre 2026. */
input,select,textarea{font-size:16px;min-width:0;scroll-margin-block:100px}
form,label,.hero-copy,.contact-copy{min-width:0}
.button,.nav-cta,.menu-button{min-height:48px}
@media(max-width:1180px){
 .site-header:not(.service-header){height:76px;padding-inline:24px}
 .site-header:not(.service-header) .brand img{width:180px;height:64px}
 .site-header:not(.service-header) .menu-button{display:block;min-width:68px}
 .site-header:not(.service-header) nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:16px 24px;flex-direction:column;align-items:stretch;gap:4px;max-height:calc(100dvh - 90px);overflow-y:auto;overscroll-behavior:contain;border-bottom:1px solid var(--line)}
 .site-header:not(.service-header) nav.open{display:flex}
 .site-header:not(.service-header) nav a{min-height:48px;display:flex;align-items:center;padding:10px 12px;font-size:16px}
 .hero{grid-template-columns:minmax(0,1fr);background:#fff;gap:32px;min-height:0;padding-top:48px}
 .hero-panel{background:var(--ink);padding:28px;border:0}
 .contact{grid-template-columns:minmax(0,1fr);gap:32px}
 .about{grid-template-columns:minmax(0,1fr);gap:32px}
 .portrait{max-width:360px}
 .service-content{grid-template-columns:minmax(0,1fr);gap:32px}
 .service-aside{position:static}
}
@media(max-width:600px){
 .hero h1,.service-hero h1{font-size:clamp(2rem,9vw,2.8rem);line-height:1.08;overflow-wrap:break-word}
 .service-header .brand{min-width:0}.service-header .brand img{width:min(140px,34vw)}
 .service-header .nav-cta{max-width:145px;text-align:center;line-height:1.3}
 .section,.audiences,.about,.contact,.intro,.investigation-tools{padding-block:48px}
 .hero-actions .button,.form-actions .button{width:100%;text-align:center;white-space:normal}
 .form-actions{width:100%}
 form{padding:20px;gap:18px}
 .contact-details a{overflow-wrap:anywhere;min-height:44px;display:flex;align-items:center}
 .local-questions summary{min-height:44px}
 .card-link,.service-nav a,.footer-links a{min-height:44px;display:inline-flex;align-items:center}
 .service-hero figure{min-height:240px;max-height:360px}
 .crack-image{min-height:280px}
}
@media(max-height:500px) and (max-width:1180px){.site-header{position:relative}}
