
/* Optimisations SEO et accessibilité — palette propre au site conservée. */
:root{--seo-ink:#23303b;--seo-bg:#fbfaf6;--seo-card:#ffffff;--seo-muted:#68727d;--seo-accent:#4a6c98;--seo-line:rgba(74,108,152,.18)}
.seo-panel{margin:0!important;padding:64px 0!important;width:100%!important;max-width:none!important;background:var(--seo-bg);color:var(--seo-ink)}
.seo-panel+.seo-panel{padding-top:22px!important}
.seo-inner{width:min(1120px,calc(100% - 64px));margin-inline:auto;min-width:0}
.seo-panel h2,.seo-panel h3{color:var(--seo-ink);text-transform:none;letter-spacing:-.025em;font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.2}
.seo-panel h2{font-size:clamp(28px,3.2vw,43px);margin:0 0 24px;max-width:900px}
.seo-panel h3{font-size:25px;margin:0 0 15px}
.seo-panel p,.seo-panel li{font-size:16px;line-height:1.8;color:var(--seo-muted);max-width:930px}
.seo-panel p{margin:0 0 17px}.seo-panel ul{padding-left:23px;margin:0 0 20px}.seo-panel li{padding-left:3px;margin-bottom:7px}
.seo-panel a{color:var(--seo-accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.seo-panel a:hover{color:var(--seo-ink)}
.seo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:24px;margin:26px 0}
.seo-grid>article{min-width:0;border-top:2px solid var(--seo-accent);padding:24px;background:var(--seo-card)}
.seo-grid p:last-child{margin-bottom:0}.seo-card h3 a{color:var(--seo-ink)}
.seo-credentials{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;border-block:1px solid currentColor;padding:15px 0;margin:22px 0;max-width:780px;color:inherit}
.seo-credentials p{font:600 14px/1.55 Arial,Helvetica,sans-serif!important;margin:0!important;color:inherit!important;letter-spacing:.01em!important}
.seo-credentials a{font:12px/1.6 Arial,Helvetica,sans-serif;text-decoration:underline;text-underline-offset:3px;color:inherit}
.seo-breadcrumb{width:min(1120px,calc(100% - 64px));margin:0 auto;padding:20px 0;color:var(--seo-muted);font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.seo-breadcrumb a{text-decoration:underline;text-underline-offset:3px}.seo-breadcrumb span{padding-inline:8px}
.seo-faq details{padding:17px 0;border-bottom:1px solid var(--seo-line)}
.seo-faq summary{cursor:pointer;color:var(--seo-ink);font-weight:700;line-height:1.5;list-style:revert}
.seo-faq details p{margin:15px 0 0}.seo-table-wrap{overflow:auto;border:1px solid var(--seo-line);margin:25px 0}
.seo-table-wrap table{border-collapse:collapse;width:100%;min-width:540px;white-space:normal}
.seo-table-wrap caption{text-align:left;padding:15px 18px;font-weight:700;font-size:14px;color:var(--seo-ink)}
.seo-table-wrap th,.seo-table-wrap td{padding:15px 18px;text-align:left;vertical-align:top;border-top:1px solid var(--seo-line);font:14px/1.7 Arial,Helvetica,sans-serif;color:var(--seo-muted)}
.seo-table-wrap th{color:var(--seo-ink);background:var(--seo-card)}
.seo-small-link{display:inline-block;margin-top:12px!important;font-size:14px!important;text-decoration:underline!important;text-underline-offset:4px;min-height:30px}
.seo-section-heading{font:400 30px/1.25 Georgia,serif;margin:0 0 24px;color:inherit}
.seo-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}
.seo-skip{position:fixed;top:-100px;left:12px;z-index:1000;padding:12px 18px;background:var(--seo-card);color:var(--seo-ink)}.seo-skip:focus{top:12px}
.seo-new .page-hero{padding-bottom:55px}.seo-new .page-hero h1{font-size:clamp(36px,5vw,64px);line-height:1.12;max-width:1000px}
.seo-new .page-hero>p:last-child{max-width:900px}
.seo-new .seo-hero-image{width:100%;max-height:340px;object-fit:cover;margin:24px 0 0;display:block;aspect-ratio:16/7}
.seo-toc{display:flex;flex-wrap:wrap;gap:12px 22px;margin:20px 0 0;padding:0;list-style:none;font-size:14px}
.seo-toc a{text-decoration:underline;text-underline-offset:4px}
body :focus-visible{outline:2px solid var(--seo-accent);outline-offset:4px}
.site-header button{cursor:pointer}.nav.open{overscroll-behavior:contain}
@media(max-width:760px){.seo-panel{padding:43px 0!important}.seo-inner,.seo-breadcrumb{width:calc(100% - 36px)}.seo-grid{grid-template-columns:1fr}.seo-credentials{display:block;margin:20px 0}.seo-credentials p{margin-bottom:6px!important}.seo-credentials a{display:inline-block;margin-top:4px}.seo-new .page-hero h1{font-size:clamp(33px,8.5vw,48px)}.seo-panel h2{font-size:30px}.seo-grid>article{padding:21px}.seo-new .seo-hero-image{aspect-ratio:16/10}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

@media(max-width:1400px){.site-header .header-inner{flex-wrap:wrap}.site-header .header-inner>.btn-nav{display:none}.site-header .nav.open{max-height:70vh;overflow-y:auto}}

main h1,main h2,main h3,main p,main li,main a{overflow-wrap:anywhere}
main section>div,.cab-hero-copy,.gai-inline-direct{min-width:0}
.gai-inline-direct>*{max-width:100%;min-width:0}
@media(max-width:400px){.site-header:has(.gai-header-phone)>.burger{flex-shrink:0}.site-header:has(.gai-header-phone){gap:6px!important;padding-inline:9px!important}.site-header .gai-header-phone{font-size:11px!important;padding-inline:7px!important}.site-header .brand img{max-width:105px}}

/* Pages de services nouvelles : alignement sur la grille et les polices de la marque. */
.seo-new .page-hero{width:min(1120px,calc(100% - 64px));margin:0 auto;padding:60px 0 55px}
.seo-new .page-hero h1{font-family:Georgia,'Times New Roman',serif}
.seo-new .page-hero p{max-width:1000px}
@media(max-width:760px){.seo-new .page-hero{width:calc(100% - 36px);padding:35px 0 43px}}
