:root{--ink:#161714;--orange:#006AD6;--blue-light:#22aaf2;--yellow:#ffc20a;--cream:#eeeae1;--paper:#f8f6f1;--muted:#aaa79f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}header{color:#fff;z-index:10;background:#171815;border-bottom:1px solid #ffffff20;align-items:center;gap:4vw;width:100%;height:90px;padding:0 5vw;display:flex;position:absolute;top:0}header img,footer img{object-fit:contain;width:190px;height:78px}nav{gap:30px;margin-left:auto;font-size:14px;display:flex}nav a:hover{color:var(--orange)}.headerCtas{align-items:center;gap:10px;display:flex}.quote,.phone{text-transform:uppercase;letter-spacing:.04em;padding:15px 18px;font-size:12px;font-weight:800}.quote{background:var(--yellow);color:#171815}.phone{background:var(--orange);color:#fff}.burger{color:#fff;background:0 0;border:0;font-size:26px;display:none}.hero{color:#fff;background:url(images/excavation-mathieu-gg-hero.webp) 50%/cover;align-items:center;height:100vh;min-height:720px;padding:122px 6vw 110px;display:flex;position:relative}.heroShade{background:linear-gradient(90deg,#11130ff2 0%,#11130fc7 47%,#11130f25 78%);position:absolute;inset:0}.heroContent{max-width:850px;position:relative}.eyebrow{letter-spacing:.22em;color:var(--orange);margin:0 0 18px;font:700 12px Inter,Arial,sans-serif}.process .eyebrow.dark,.projects .eyebrow.dark{color:#fff}.eyebrow.dark{color:#075f92}.hero h1,.sectionHead h2,.why h2,.reviews h2,.contact h2{text-transform:uppercase;letter-spacing:-.025em;margin:0;font:800 clamp(50px,6vw,94px)/.88 "Barlow Condensed","Arial Narrow",Arial,sans-serif}.hero h1 em{color:var(--orange);font-style:normal}.heroContent>p:not(.eyebrow){color:#deded8;max-width:590px;font-size:18px;line-height:1.65}.actions{align-items:center;gap:30px;margin-top:32px;display:flex}.btn{background:var(--yellow);color:#111;text-transform:uppercase;letter-spacing:.07em;cursor:pointer;border:0;padding:18px 25px;font:800 13px Inter,Arial,sans-serif}.btnPhone{background:var(--orange);color:#fff}.link{border-bottom:1px solid #fff;padding-bottom:6px;font-size:13px;font-weight:700}.stats{background:#161714e8;grid-template-columns:repeat(3,1fr);width:64%;padding:25px 4vw;display:grid;position:absolute;bottom:0;right:0}.stats div{border-left:2px solid var(--orange);flex-direction:column;padding-left:18px;display:flex}.stats b{text-transform:uppercase;font:700 22px "Barlow Condensed","Arial Narrow",Arial,sans-serif}.stats span{color:#C8CAC3;margin-top:5px;font-size:11px}.soil-divider{z-index:2;clip-path:polygon(0 35%,8% 46%,17% 23%,28% 48%,40% 29%,52% 51%,64% 26%,77% 43%,89% 21%,100% 42%,100% 100%,0 100%);height:70px;margin-top:-2px;position:relative}.soil-divider.orange{background:var(--orange);margin-top:-42px}.soil-divider.light{background:var(--cream);margin-top:-35px}.soil-divider.reverse{margin-top:-35px;transform:scaleX(-1)}.process{color:#fff;background:var(--orange);padding:70px 6vw 120px}.sectionHead{max-width:760px}.sectionHead h2,.why h2,.reviews h2,.contact h2{font-size:clamp(45px,5vw,72px);line-height:.95}.steps{background:#12120f33;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:55px;display:grid}.steps article{background:var(--orange);padding:38px}.steps span{color:var(--yellow);font:800 40px "Barlow Condensed","Arial Narrow",Arial,sans-serif}.steps h3,.service h3{text-transform:uppercase;margin:16px 0 10px;font:800 30px "Barlow Condensed","Arial Narrow",Arial,sans-serif}.steps p,.service p,.split>p,.whyText>p{font-size:14px;line-height:1.7}.services{color:#fff;background:#171815;padding:90px 6vw 130px}.split{justify-content:space-between;align-items:end;max-width:none;display:flex}.split>p{color:#aeadab;max-width:410px}.serviceGrid{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:55px;display:grid}.service{background:#232420;overflow:hidden}.service img{object-fit:cover;filter:saturate(.75);width:100%;height:260px}.service>div{padding:25px}.service span{color:var(--orange);font:700 12px Inter,Arial,sans-serif}.service h3{font-size:34px}.service p{color:#D0D2CC;min-height:72px}.service a{color:var(--orange);text-transform:uppercase;font-size:12px;font-weight:800}.projects{color:#fff;background:var(--orange);padding:80px 6vw 130px}.darklink{color:#fff;border-bottom:2px solid #fff;padding-bottom:6px;font-weight:800}.gallery{grid-template-columns:1.25fr .75fr;grid-auto-rows:320px;gap:16px;margin-top:55px;display:grid}.gallery figure{background:#111;margin:0;position:relative;overflow:hidden}.gallery figure:first-child{grid-row:span 2}.gallery img{object-fit:cover;width:100%;height:100%;transition:all .5s}.gallery figure:hover img{transform:scale(1.035)}figcaption{color:#fff;background:#171815;padding:14px 18px;font:700 14px Inter,Arial,sans-serif;position:absolute;bottom:0;left:0}figcaption span{color:var(--orange);margin-left:15px;font-size:10px}.why{color:#fff;background:#171815;grid-template-columns:1fr 1fr;min-height:720px;display:grid}.whyPhoto{background:url(images/chantier-excavation-mathieu-gg.webp) 50%/cover}.whyText{padding:100px 8vw 80px 7vw}.whyText>p{color:#b8b8b3;margin:28px 0}.why ul{padding:0;list-style:none}.why li{border-top:1px solid #ffffff25;padding:18px 0;font:700 16px Inter,Arial,sans-serif}.why li:before{content:"✓";color:var(--orange);margin-right:15px}.reviews{background:var(--cream);padding:90px 6vw 130px}.reviewGrid{grid-template-columns:1fr 1fr;gap:25px;margin-top:45px;display:grid}.reviewGrid blockquote{background:var(--paper);margin:0;padding:40px}.reviewGrid b{color:var(--orange);letter-spacing:.2em}.reviewGrid p{font:600 23px/1.5 "Barlow Condensed","Arial Narrow",Arial,sans-serif}.reviewGrid cite{font-size:12px;font-style:normal;font-weight:700}.contact{color:#fff;background:#171815;grid-template-columns:.8fr 1.2fr;gap:9vw;padding:110px 6vw;display:grid}.contact>div>p:not(.eyebrow){color:#C8CAC3;max-width:470px;line-height:1.7}.contactPhone{color:var(--orange);margin-top:18px;font:800 34px "Barlow Condensed","Arial Narrow",Arial,sans-serif;display:inline-block}form{background:#232420;flex-direction:column;gap:20px;padding:38px;display:flex}.fields{grid-template-columns:1fr 1fr;gap:18px;display:grid}label{text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:700}input,textarea{color:#fff;background:#171815;border:1px solid #ffffff20;width:100%;margin-top:8px;padding:15px;font:14px Inter,Arial,sans-serif;display:block}textarea{resize:vertical;height:100px}.consent{text-transform:none;letter-spacing:0;color:#C8CAC3;gap:8px;font-weight:400;display:flex}.consent input{width:auto;margin:0}form .btn{align-self:flex-start}footer{color:#C8CAC3;background:#0e0f0d;grid-template-columns:1fr 1fr 1fr;align-items:start;gap:40px;padding:55px 6vw 30px;display:grid}footer p{font-size:13px}footer div{flex-direction:column;gap:8px;font-size:13px;display:flex}footer b{color:#fff}footer small{border-top:1px solid #ffffff18;grid-column:1/-1;padding-top:22px}.mobileCall{display:none}@media (width<=900px){header{height:76px;padding:0 20px}header img{width:145px}.burger{display:block}.headerCtas{display:none}nav{background:#171815;flex-direction:column;margin:0;padding:25px;display:none;position:absolute;top:76px;left:0;right:0}nav.open{display:flex}.hero{background-position:62%;min-height:700px;padding:120px 22px 125px}.hero h1{font-size:55px}.heroContent>p:not(.eyebrow){font-size:15px}.actions{flex-direction:column;align-items:flex-start;gap:18px}.stats{grid-template-columns:repeat(3,1fr);width:100%;padding:20px}.stats span{display:none}.stats b{font-size:17px}.soil-divider{height:45px}.process,.services,.projects,.reviews,.contact{padding-left:22px;padding-right:22px}.steps,.serviceGrid,.reviewGrid{grid-template-columns:1fr}.steps article{padding:25px}.split{display:block}.split>p{margin-top:24px}.service p{min-height:auto}.gallery{grid-template-columns:1fr;grid-auto-rows:270px}.gallery figure:first-child{grid-row:span 1}.why{grid-template-columns:1fr}.whyPhoto{min-height:420px}.whyText{padding:70px 22px}.contact,.fields{grid-template-columns:1fr}form{padding:25px}footer{grid-template-columns:1fr;padding-bottom:85px}.mobileCall{background:var(--yellow);color:#111;text-align:center;text-transform:uppercase;z-index:50;padding:17px;font-weight:800;display:block;position:fixed;bottom:0;left:0;right:0}}.trustbar{background:#fff;border-bottom:1px solid #ddd;grid-template-columns:repeat(4,1fr);padding:28px 6vw;display:grid}.trustbar div{border-left:3px solid var(--yellow);flex-direction:column;gap:6px;padding-left:18px;display:flex}.trustbar b{text-transform:uppercase;font:700 18px "Barlow Condensed","Arial Narrow",Arial,sans-serif}.trustbar span{color:#51544D;font-size:11px}.problems,.faq{background:var(--paper);padding:110px 6vw}.problemGrid{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:50px;display:grid}.problemGrid article{border-top:4px solid var(--orange);background:#fff;padding:32px}.problemGrid b{color:var(--orange);font:800 34px "Barlow Condensed","Arial Narrow",Arial,sans-serif}.problemGrid h3,.faqGrid h3{text-transform:uppercase;font:700 24px "Barlow Condensed","Arial Narrow",Arial,sans-serif}.problemGrid p,.faqGrid p{color:#51544D;font-size:14px;line-height:1.7}.offer{background:var(--paper);padding:40px 6vw 120px}.offerCard{background:var(--yellow);color:#111;grid-template-columns:1.2fr .8fr;gap:30px 70px;padding:55px;display:grid}.offerCard span{letter-spacing:.2em;font-size:11px;font-weight:800}.offerCard h2,.credentials h2,.areas h2,.hiring h2,.faq h2,.finalCta h2{text-transform:uppercase;margin:12px 0 20px;font:800 clamp(44px,5vw,70px)/.95 "Barlow Condensed","Arial Narrow",Arial,sans-serif}.offerCard p{line-height:1.7}.offerCard ul{margin:0;padding:0;list-style:none}.offerCard li{border-bottom:1px solid #1113;padding:13px 0;font-weight:700}.offerCard li:before{content:"✓";margin-right:10px}.offerActions{grid-column:1/-1;gap:14px;display:flex}.offerActions .btn:first-child{color:#fff;background:#111}.credentials{color:#fff;background:#0f1010;grid-template-columns:.8fr 1.2fr;gap:8vw;padding:100px 6vw;display:grid}.credentialGrid{background:#ffffff20;grid-template-columns:1fr 1fr;gap:1px;display:grid}.credentialGrid article{background:#171815;padding:28px}.credentialGrid b{color:var(--yellow);text-transform:uppercase;font:700 23px "Barlow Condensed","Arial Narrow",Arial,sans-serif}.credentialGrid p{color:#D0D2CC;font-size:13px;line-height:1.6}.areas{background:var(--orange);color:#fff;grid-template-columns:1fr 1fr;gap:8vw;padding:100px 6vw;display:grid}.areas>div>p{max-width:520px;line-height:1.7}.areaList{grid-template-columns:1fr 1fr;align-content:center;display:grid}.areaList span{border-bottom:1px solid #ffffff40;padding:17px;font-weight:700}.hiring{background:var(--yellow);color:#111;grid-template-columns:1fr 1fr;gap:8vw;padding:100px 6vw;display:grid}.hiring>div>p{line-height:1.7}.hiring h3{text-transform:uppercase;font:700 28px "Barlow Condensed","Arial Narrow",Arial,sans-serif}.hiring li{padding:8px}.hiring .btn{margin-top:20px;display:inline-block}.faqGrid{grid-template-columns:1fr 1fr;gap:15px;margin-top:45px;display:grid}.faqGrid article{border-left:3px solid var(--orange);background:#fff;padding:28px}.faqGrid h3{margin:0}.finalCta{color:#fff;text-align:center;background:#10110f;padding:110px 6vw}.finalCta p{color:#D0D2CC;max-width:560px;margin:20px auto;line-height:1.7}.finalCta .actions{justify-content:center}.finalCta .eyebrow{color:var(--yellow)}@media (width<=900px){.trustbar{grid-template-columns:1fr 1fr;gap:22px;padding:24px 22px}.problems,.faq,.offer,.credentials,.areas,.hiring,.finalCta{padding-left:22px;padding-right:22px}.problemGrid,.offerCard,.credentials,.areas,.hiring,.faqGrid{grid-template-columns:1fr}.offerCard{gap:25px;padding:30px}.offerActions{flex-direction:column;align-items:flex-start}.credentialGrid,.areaList{grid-template-columns:1fr}.gallery{grid-auto-rows:250px}.serviceGrid{grid-template-columns:1fr}}.soil-divider.dark{background:#171815;margin-top:-35px}.contactInfo{flex-direction:column;align-items:flex-start;display:flex}.contactLogo{object-fit:contain;width:240px;height:140px;margin:-25px 0 25px}.contactDetails{grid-template-columns:1fr 1fr;gap:0 25px;width:100%;margin-top:25px;display:grid}.contactDetails>div{border-top:1px solid #ffffff25;padding:16px 0}.contactDetails span{color:var(--yellow);text-transform:uppercase;letter-spacing:.12em;margin-bottom:7px;font-size:10px;font-weight:800;display:block}.contactDetails a,.contactDetails p{color:#fff;margin:0;font-size:13px;line-height:1.55}.contactDetails a{font-weight:700}select{color:#fff;background:#171815;border:1px solid #ffffff20;width:100%;margin-top:8px;padding:15px;font:14px Inter,Arial,sans-serif;display:block}@media (width<=900px){.contactLogo{width:210px;height:120px}.contactDetails{grid-template-columns:1fr}}

/* Phase Page d'accueil — Core 30 */
img{max-width:100%}.skipLink{position:fixed;z-index:1000;top:12px;left:12px;background:var(--yellow);color:#111;padding:12px 16px;font-weight:800;transform:translateY(-160%);transition:transform .2s}.skipLink:focus{transform:translateY(0)}:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}section[id]{scroll-margin-top:24px}.brand{display:flex;align-items:center}.burger{cursor:pointer}.menu-open{overflow:hidden}
.hero{height:calc(100svh - 32px);min-height:680px}.heroContent{max-width:900px}.heroContent>p:not(.eyebrow){max-width:680px}.hero h1{max-width:930px}.trustbar b{line-height:1.1}.problemGrid article{height:100%}.whyText ul{margin-top:24px}.why li{line-height:1.45}
.reviewHeader{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}.googleSummary{display:flex;align-items:center;gap:12px;background:var(--paper);border:1px solid #d8d4cb;padding:14px 18px;min-width:230px}.googleMark{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff;color:#4285f4;font-weight:800;font-size:22px}.googleSummary>span:last-child{display:flex;flex-direction:column;gap:3px}.googleSummary strong{font-size:15px}.googleSummary small{color:#6d6a64;font-size:10px}.reviewsLink{display:inline-block;margin-top:28px;border-bottom:2px solid var(--orange);padding-bottom:6px;color:#075f92;font-size:13px;font-weight:800}
.leadCapture{background:var(--paper);padding:110px 6vw}.leadGrid{display:grid;grid-template-columns:.92fr 1.08fr;gap:24px;align-items:stretch}.leadCapture .offerCard{display:flex;flex-direction:column;gap:0;padding:55px}.leadCapture .offerCard h2{margin-bottom:22px}.leadCapture .offerCard ul{margin:22px 0 30px}.offerContact{margin-top:auto;border-top:1px solid #1113;padding-top:25px;display:grid;grid-template-columns:auto 1fr;gap:8px 18px;align-items:baseline}.offerContact span{letter-spacing:.13em;font-size:10px}.offerContact a{font-weight:800;overflow-wrap:anywhere}.leadFormPanel{background:#171815;color:#fff;padding:48px}.leadFormPanel h3{text-transform:uppercase;margin:0 0 12px;font:800 clamp(38px,4vw,58px)/.95 "Barlow Condensed","Arial Narrow",Arial,sans-serif}.leadFormPanel>p:not(.eyebrow){color:#C8CAC3;line-height:1.65;margin:0 0 28px}.leadFormPanel form{background:transparent;padding:0}.leadFormPanel form .fields label{display:block}.leadFormPanel form .fields input{display:block}.leadFormPanel select{color:#fff}.leadFormPanel input:focus,.leadFormPanel textarea:focus,.leadFormPanel select:focus{border-color:var(--yellow);outline:2px solid #ffc20a55;outline-offset:1px}.consent span{line-height:1.5}.consent a{color:#fff;text-decoration:underline;text-underline-offset:3px}.form-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.form-hp input{pointer-events:none}
.gbpCategories{color:#fff;background:#171815;padding:100px 6vw 130px}.gbpCategories .split>p{color:#b8b8b3}.categoryGrid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:55px}.categoryCard{display:grid;grid-template-columns:.9fr 1.1fr;background:#232420;overflow:hidden}.categoryCard img{width:100%;height:100%;min-height:360px;object-fit:cover;filter:saturate(.78)}.categoryCard>div{padding:36px}.categoryCard span{color:var(--orange);letter-spacing:.14em;font-size:10px;font-weight:800}.categoryCard h3{text-transform:uppercase;margin:16px 0 12px;font:800 38px/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif}.categoryCard p{color:#D0D2CC;line-height:1.7;font-size:14px}.categoryCard a{color:var(--orange);text-transform:uppercase;font-size:12px;font-weight:800}.service{display:flex;flex-direction:column}.service>div{display:flex;flex:1;flex-direction:column}.service p{min-height:98px}.service a{margin-top:auto}.services .sectionHead h2,.gbpCategories .sectionHead h2,.projects .sectionHead h2,.process .sectionHead h2{font-size:clamp(45px,5vw,72px);line-height:.95}.process .steps{grid-template-columns:repeat(5,1fr)}
.areas .areaList a,.areas .areaList span{border-bottom:1px solid #ffffff40;padding:17px;font-weight:700;transition:background .2s}.areas .areaList a:hover{background:#ffffff14}.aboutIntro>p:not(.eyebrow){color:#D0D2CC;max-width:650px;line-height:1.75}.aboutLogo{object-fit:contain;width:220px;height:130px;margin:-30px 0 18px}.aboutLinks{display:flex;gap:22px;margin-top:26px}.aboutLinks a{color:var(--yellow);border-bottom:1px solid var(--yellow);padding-bottom:4px;font-size:13px;font-weight:800}.credentials{align-items:center}.credentialGrid article{min-height:170px}.credentialGrid b{line-height:1.05;display:block}.faqGrid article{height:100%}
footer .footerBrand{display:block}footer .footerBrand img{display:block}footer span{font-size:13px;line-height:1.55}footer small{display:flex;justify-content:space-between;gap:20px}footer small a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.thankYouPage{min-height:100svh;background:#171815;color:#fff}.thankYouShell{min-height:100svh;display:grid;place-items:center;padding:40px 20px;position:relative;background:linear-gradient(90deg,#11130fee,#11130fbb),url(images/excavation-mathieu-gg-hero.webp) 50%/cover}.thankYouBrand{position:absolute;top:28px;left:5vw}.thankYouBrand img{width:190px;height:95px;object-fit:contain}.thankYouCard{width:min(760px,100%);background:#171815e8;border:1px solid #ffffff1f;padding:clamp(38px,7vw,75px);box-shadow:0 24px 80px #0008}.thankYouCard h1{text-transform:uppercase;margin:0;font:800 clamp(48px,7vw,82px)/.92 "Barlow Condensed","Arial Narrow",Arial,sans-serif}.thankYouCard>p:not(.eyebrow){color:#ccc;font-size:17px;line-height:1.7;max-width:600px}
@media (width<=1200px){.process .steps{grid-template-columns:repeat(3,1fr)}.categoryCard{grid-template-columns:1fr}.categoryCard img{height:280px;min-height:0}.leadGrid{grid-template-columns:1fr}.leadCapture .offerCard{min-height:0}}
@media (width<=1180px){header{gap:20px}header .burger{display:block;margin-left:auto}.headerCtas{display:none}header nav{background:#171815;border-top:1px solid #ffffff20;box-shadow:0 16px 36px #0008;flex-direction:column;gap:0;margin:0;padding:18px 5vw 28px;display:none;position:absolute;top:90px;left:0;right:0}header nav.open{display:flex}header nav a{border-bottom:1px solid #ffffff18;padding:16px 0;font-size:16px}.menu-open header nav{max-height:calc(100svh - 122px);overflow-y:auto}}
@media (width<=900px){header nav{top:76px}.hero{height:auto;min-height:calc(100svh - 32px);padding-top:120px}.hero h1{font-size:clamp(48px,14vw,58px)}.heroContent>p:not(.eyebrow){max-width:520px}.reviewHeader{align-items:flex-start;flex-direction:column}.leadCapture,.gbpCategories{padding-left:22px;padding-right:22px}.leadCapture .offerCard,.leadFormPanel{padding:30px}.categoryGrid{grid-template-columns:1fr}.categoryCard{grid-template-columns:1fr}.categoryCard img{height:260px}.process .steps{grid-template-columns:1fr}.service p{min-height:auto}.aboutLogo{width:190px;height:112px}.offerContact{grid-template-columns:1fr}.offerContact span{margin-top:8px}footer small{flex-direction:column}.thankYouBrand{top:16px;left:20px}.thankYouBrand img{width:150px;height:74px}.thankYouShell{padding-top:120px}.thankYouCard .actions{align-items:stretch}.thankYouCard .btn{text-align:center}}
@media (width<=560px){.topbar span:last-child{display:none}.trustbar{grid-template-columns:1fr}.stats{gap:10px}.stats div{padding-left:10px}.stats b{font-size:15px}.hero{background-position:66%}.actions .btn{width:100%;text-align:center}.problemGrid{grid-template-columns:1fr}.leadFormPanel form .fields{grid-template-columns:1fr}.leadFormPanel input,.leadFormPanel textarea,.leadFormPanel select{font-size:16px}.categoryCard h3{font-size:34px}.gallery{grid-auto-rows:230px}.areaList{grid-template-columns:1fr}.finalCta .actions{width:100%}.finalCta .actions .btn{width:100%}footer{gap:28px}.googleSummary{width:100%;min-width:0}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}


/* Audit de la phase Accueil — corrections ciblées */
html,body{max-width:100%;overflow-x:clip}
.hero{height:100svh;min-height:720px}
.heroContent,.leadGrid,.leadGrid>*,.offerCard,.leadFormPanel,.categoryGrid,.categoryCard,.categoryCard>div,.serviceGrid,.service,.service>div,.process .steps,.process .steps article{min-width:0}
.hero h1 .heroPrimary,.hero h1 em{display:block;max-width:100%}
.hero h1 em{color:var(--blue-light)}
.stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.leadGrid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}
.categoryGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
.serviceGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
.process .steps{grid-template-columns:repeat(5,minmax(0,1fr))}
.process .steps article{overflow-wrap:anywhere}
.offerContact a,footer a,.aboutLinks a{overflow-wrap:anywhere}
.eyebrow,.service span,.service a,.categoryCard span,.categoryCard a,.why li:before,figcaption span,.contactPhone,nav a:hover{color:var(--blue-light)}
.eyebrow.dark,.reviewsLink{color:#075f92}
.phone,.btnPhone{background:var(--orange);color:#fff}

@media (width<=1200px){
  .leadGrid{grid-template-columns:minmax(0,1fr)}
  .process .steps{grid-template-columns:repeat(3,minmax(0,1fr))}
  .categoryGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (width<=900px){
  .hero{height:auto;min-height:100svh}
  .process .steps,.categoryGrid,.serviceGrid{grid-template-columns:minmax(0,1fr)}
  .leadCapture .offerCard,.leadFormPanel{width:100%;max-width:100%}
}
@media (width<=560px){
  .hero{padding:108px 22px 145px}
  .heroContent{width:100%;max-width:100%}
  .hero h1{font-size:clamp(40px,12vw,48px);line-height:.92;overflow-wrap:normal}
  .hero h1 em{font-size:.92em}
  .heroContent>p:not(.eyebrow){max-width:100%}
  .stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .stats div{min-width:0;padding-left:8px}
  .stats b{font-size:14px;overflow-wrap:anywhere}
  .offerContact a{font-size:12px}
}

/* Ajustements issus du test visuel mobile */
main:focus{outline:none}
@media (width<=900px){.stats{bottom:54px}}
@media (width<=560px){.hero h1{font-size:clamp(36px,11vw,44px)}.stats{padding:14px 12px}.stats b{font-size:12px}}


/* Phase À propos, Contact et Mentions légales */
footer{grid-template-columns:1.15fr repeat(3,minmax(0,1fr))}
.internalHero{min-height:650px;color:#fff;display:flex;align-items:flex-end;padding:150px 6vw 90px;position:relative;background-position:center;background-size:cover}
.internalHeroAbout{background-image:url(images/chantier-excavation-mathieu-gg.webp)}
.internalHeroContact{background-image:url(images/excavation-mathieu-gg-hero.webp)}
.internalHeroShade{position:absolute;inset:0;background:linear-gradient(90deg,#11130ff5 0%,#11130fd6 48%,#11130f4d 100%)}
.internalHeroContent{position:relative;width:min(900px,100%)}
.internalHero h1,.legalHero h1{text-transform:uppercase;letter-spacing:-.025em;margin:0;font:800 clamp(52px,7vw,94px)/.9 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.internalHeroContent>p:last-child{max-width:700px;color:#d6d6d0;font-size:18px;line-height:1.7}
.breadcrumb{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:35px;color:#d0d0cb;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.pageIntro{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8vw;padding:110px 6vw;background:var(--paper)}
.pageIntro h2,.ownerContent h2,.experienceSection h2,.licenceSection h2,.valuesSection h2,.realPhotos h2,.contactDetailsSection h2,.contactOperations h2,.contactFormSection h2,.contactSocial h2{text-transform:uppercase;margin:0;font:800 clamp(44px,5vw,70px)/.95 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.prose{max-width:760px}.prose p{margin:0 0 22px;color:#565750;font-size:16px;line-height:1.85}.prose strong{color:#171815}
.ownerSection{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:#171815;color:#fff}.ownerImage{min-height:690px}.ownerImage img{width:100%;height:100%;object-fit:cover}.ownerContent{padding:100px 8vw 90px 7vw;display:flex;flex-direction:column;justify-content:center}.ownerContent>p:not(.eyebrow){color:#D0D2CC;line-height:1.8}.checkList{list-style:none;padding:0;margin:24px 0 32px}.checkList li{border-top:1px solid #ffffff25;padding:16px 0;font-weight:700}.checkList li:before{content:"✓";color:var(--blue-light);margin-right:13px}
.experienceSection{padding:110px 6vw;background:var(--cream)}.experienceSection .split>p{color:#5f605a}.experienceGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:50px}.experienceGrid article{background:#fff;border-top:4px solid var(--orange);padding:34px}.experienceGrid strong{display:block;text-transform:uppercase;font:800 30px "Barlow Condensed","Arial Narrow",Arial,sans-serif}.experienceGrid p{color:#51544D;line-height:1.7;font-size:14px}
.licenceSection{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:8vw;align-items:center;padding:100px 6vw;background:#006AD6;color:#fff}.licenceSection>div:first-child>p:not(.eyebrow){max-width:720px;color:#e5f4ff;line-height:1.75}.licenceCard{background:#171815;padding:45px}.licenceCard span{display:block;color:var(--yellow);text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:800}.licenceCard strong{display:block;margin:14px 0 8px;font:800 clamp(42px,5vw,62px)/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif}.licenceCard p{color:#D0D2CC}
.valuesSection{padding:110px 6vw;background:var(--paper)}.valuesGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:48px}.valuesGrid article{background:#fff;border-top:4px solid var(--orange);padding:28px}.valuesGrid b{color:var(--orange);font:800 34px "Barlow Condensed","Arial Narrow",Arial,sans-serif}.valuesGrid h3{text-transform:uppercase;font:700 25px/1.1 "Barlow Condensed","Arial Narrow",Arial,sans-serif}.valuesGrid p{color:#51544D;font-size:14px;line-height:1.7}
.realPhotos{background:#171815;color:#fff;padding:100px 6vw 120px}.realPhotoGrid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:16px;margin-top:50px}.realPhotoGrid img{width:100%;height:430px;object-fit:cover}.realPhotoGrid img:first-child{height:520px}
.contactDetailsSection{padding:110px 6vw;background:var(--paper)}.contactInfoGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:50px}.contactInfoGrid article{display:flex;flex-direction:column;align-items:flex-start;min-width:0;background:#fff;border-top:4px solid var(--orange);padding:34px}.contactInfoGrid span{color:#075f92;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800}.contactInfoGrid a:not(.inlineLink),.contactInfoGrid strong{margin:15px 0;font:800 clamp(24px,3vw,34px)/1.05 "Barlow Condensed","Arial Narrow",Arial,sans-serif;overflow-wrap:anywhere}.contactInfoGrid p{color:#51544D;line-height:1.65}.inlineLink{margin-top:auto;color:#075f92;font-size:12px;font-weight:800;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:5px}
.contactOperations{display:grid;grid-template-columns:1fr 1fr;background:#171815;color:#fff}.hoursCard,.zonesCard{padding:95px 7vw}.zonesCard{background:#006AD6}.hoursCard h2,.zonesCard h2{margin-bottom:28px}.hoursCard dl{margin:30px 0}.hoursCard dl div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff25;padding:18px 0}.hoursCard dt{font-weight:700}.hoursCard dd{margin:0}.smallNote{color:#C8CAC3;font-size:13px;line-height:1.65}.zonesCard ul{columns:2;column-gap:40px;padding-left:20px}.zonesCard li{break-inside:avoid;padding:8px 0}
.contactFormSection{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:7vw;padding:110px 6vw;background:var(--cream);align-items:start}.contactFormIntro{position:sticky;top:30px}.contactFormIntro>p:not(.eyebrow){color:#51544D;line-height:1.75}.contactReassurance{display:flex;flex-direction:column;gap:8px;margin-top:28px;border-left:4px solid var(--orange);background:#fff;padding:22px}.contactReassurance span{color:#51544D;font-size:14px;line-height:1.6}.contactFormPanel form{background:#171815;color:#fff}.contactFormPanel select{color:#fff;background:#171815;border:1px solid #ffffff20;width:100%;margin-top:8px;padding:15px;font:14px Inter,Arial,sans-serif}.contactSocial{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:80px 6vw;background:#006AD6;color:#fff}.socialActions{display:flex;gap:15px}.socialActions .btnPhone{background:#171815}
.legalHero{padding:155px 6vw 80px;background:#171815;color:#fff}.legalHeroInner{width:min(1120px,100%)}.legalHero h1{max-width:1050px;font-size:clamp(48px,6vw,82px)}.legalHeroInner>p:not(.eyebrow):not(.legalUpdated){max-width:820px;color:#c8c8c2;line-height:1.75}.legalUpdated{color:var(--yellow);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.legalWarning{display:flex;gap:18px;align-items:flex-start;margin-top:35px;border-left:4px solid var(--yellow);background:#ffffff0c;padding:20px}.legalWarning strong{white-space:nowrap}.legalWarning span{color:#ccc;line-height:1.55}
.legalLayout{display:grid;grid-template-columns:minmax(230px,.32fr) minmax(0,1fr);gap:6vw;align-items:start;padding:90px 6vw 120px;background:var(--paper)}.legalAnchorNav{position:sticky;top:25px;display:flex;flex-direction:column;gap:0;margin:0;background:#171815;padding:18px}.legalAnchorNav a{color:#fff;border-bottom:1px solid #ffffff1b;padding:13px 12px;font-size:12px;font-weight:700;line-height:1.35}.legalAnchorNav a:hover,.legalAnchorNav a:focus{color:var(--yellow)}.legalContent{min-width:0}.legalSection{scroll-margin-top:30px;padding:0 0 70px;margin:0 0 70px;border-bottom:1px solid #d6d2ca}.legalSection:last-child{border-bottom:0;margin-bottom:0}.legalKicker{margin:0 0 10px;color:#075f92;font-weight:800;letter-spacing:.14em}.legalSection h2{text-transform:uppercase;margin:0 0 30px;font:800 clamp(38px,4vw,58px)/.95 "Barlow Condensed","Arial Narrow",Arial,sans-serif}.legalSection h3{margin:30px 0 10px;font:700 25px "Barlow Condensed","Arial Narrow",Arial,sans-serif;text-transform:uppercase}.legalSection p,.legalSection li{color:#555750;line-height:1.8}.legalSection ul{padding-left:22px}.legalFacts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#d8d4cb}.legalFacts>div{display:flex;flex-direction:column;gap:8px;background:#fff;padding:22px;min-width:0}.legalFacts span{color:#51544D;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.legalFacts strong,.legalFacts a{overflow-wrap:anywhere}.legalFacts .pending{background:#fff7d6}.legalFacts .pending strong{color:#7c5a00}.responsibleCard{display:flex;flex-direction:column;align-items:flex-start;gap:10px;background:#171815;color:#fff;border-left:5px solid var(--yellow);padding:32px}.responsibleCard strong{color:var(--yellow);font-size:18px}.responsibleCard a{text-decoration:underline;text-underline-offset:4px}.thankYouLegal{margin-top:28px}.thankYouLegal a{color:#fff;text-decoration:underline;text-underline-offset:4px;font-size:13px}
@media (width<=1100px){footer{grid-template-columns:1fr 1fr}.experienceGrid{grid-template-columns:1fr}.valuesGrid{grid-template-columns:1fr 1fr}.realPhotoGrid{grid-template-columns:1fr 1fr}.realPhotoGrid img,.realPhotoGrid img:first-child{height:360px}.realPhotoGrid img:first-child{grid-column:1/-1}.contactInfoGrid{grid-template-columns:1fr}.contactFormSection{grid-template-columns:1fr}.contactFormIntro{position:static}.legalLayout{grid-template-columns:1fr}.legalAnchorNav{position:static;display:grid;grid-template-columns:1fr 1fr}}
@media (width<=900px){.internalHero{min-height:590px;padding:125px 22px 70px}.internalHeroContent>p:last-child{font-size:15px}.pageIntro,.ownerSection,.licenceSection,.contactOperations{grid-template-columns:1fr}.pageIntro,.experienceSection,.licenceSection,.valuesSection,.realPhotos,.contactDetailsSection,.contactFormSection,.contactSocial,.legalHero,.legalLayout{padding-left:22px;padding-right:22px}.ownerImage{min-height:430px}.ownerContent{padding:70px 22px}.valuesGrid{grid-template-columns:1fr}.realPhotoGrid{grid-template-columns:1fr}.realPhotoGrid img,.realPhotoGrid img:first-child{height:300px;grid-column:auto}.zonesCard ul{columns:1}.contactSocial{align-items:flex-start;flex-direction:column}.legalAnchorNav{grid-template-columns:1fr}.legalWarning{flex-direction:column}.legalWarning strong{white-space:normal}.legalFacts{grid-template-columns:1fr}}
@media (width<=560px){footer{grid-template-columns:1fr}.internalHero h1,.legalHero h1{font-size:clamp(42px,12vw,54px)}.contactOperations .hoursCard,.contactOperations .zonesCard{padding:70px 22px}.socialActions{width:100%;flex-direction:column}.socialActions .btn{text-align:center}.legalHero{padding-top:125px}.legalLayout{padding-top:45px}.legalAnchorNav{padding:12px}}
/* Navigation interne : neutraliser les styles du menu mobile global */
.breadcrumb{margin-left:0;position:static;inset:auto;background:transparent;padding:0;box-shadow:none}
.legalAnchorNav{margin-left:0}
@media (width<=900px){
  .breadcrumb{display:flex;position:static;inset:auto;background:transparent;padding:0;margin-left:0;box-shadow:none}
  .breadcrumb a{border:0;padding:0;font-size:12px}
  .legalAnchorNav{position:static;inset:auto;margin-left:0}
}

/* Services Hub */
header nav a[aria-current="page"]{color:var(--blue-light)}
.servicesHero{position:relative;display:flex;align-items:center;min-height:650px;padding:145px 6vw 70px;color:#fff;background:url(images/excavation-mathieu-gg-hero.webp) 50% 52%/cover no-repeat}
.servicesHeroShade{position:absolute;inset:0;background:linear-gradient(90deg,#11130ff5 0%,#11130fdb 54%,#11130f45 100%)}
.servicesHeroInner{position:relative;width:min(1120px,100%)}
.servicesHero h1{text-transform:uppercase;max-width:920px;margin:0;font:800 clamp(54px,6.5vw,88px)/.9 "Barlow Condensed","Arial Narrow",Arial,sans-serif;letter-spacing:-.025em}
.servicesHeroInner>p:not(.eyebrow){max-width:760px;margin:24px 0 0;color:#deded8;font-size:17px;line-height:1.7}
.servicesHero .actions{margin-top:30px}
.servicesHeroTrust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;max-width:1000px;margin-top:46px;background:#ffffff22;border:1px solid #ffffff25}
.servicesHeroTrust span{display:flex;flex-direction:column;gap:5px;min-width:0;background:#171815dc;padding:18px 20px;color:#D0D2CC;font-size:11px;line-height:1.45}
.servicesHeroTrust strong{color:#fff;text-transform:uppercase;font:700 17px "Barlow Condensed","Arial Narrow",Arial,sans-serif;letter-spacing:.03em}
.servicesIntro{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8vw;padding:100px 6vw;background:var(--paper)}
.servicesIntro h2{text-transform:uppercase;margin:0;font:800 clamp(44px,5vw,70px)/.95 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.serviceCategoryBlock{overflow:hidden}
.categoryFeature{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:520px;background:#171815;color:#fff}
.categoryFeatureReverse .categoryImage{order:2}
.categoryFeatureReverse .categoryContent{order:1}
.categoryImage{min-width:0;overflow:hidden}
.categoryImage img{width:100%;height:100%;min-height:520px;object-fit:cover;display:block}
.categoryContent{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:80px 7vw}
.categoryNumber{margin:0 0 18px;color:var(--yellow);font-size:11px;font-weight:800;letter-spacing:.16em}
.categoryContent h2{margin:0;text-transform:uppercase;font:800 clamp(48px,5.5vw,78px)/.9 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.categoryContent h2 a{display:inline-flex;align-items:center;gap:14px}
.categoryContent h2 a span{color:var(--blue-light);font-size:.7em}
.categoryContent>p:not(.categoryNumber){max-width:610px;margin:25px 0;color:#c4c4be;line-height:1.8}
.categoryLink{display:inline-block;border-bottom:2px solid var(--blue-light);padding-bottom:7px;color:var(--blue-light);text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.05em}
.categoryServices{padding:95px 6vw 115px;background:var(--paper)}
.categorySubhead,.childServiceHeading{max-width:820px}
.categorySubhead h3,.childServiceHeading h3{margin:0;text-transform:uppercase;font:800 clamp(38px,4.5vw,58px)/.95 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.coreServiceGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:45px}
.coreServiceGridFour{grid-template-columns:repeat(2,minmax(0,1fr))}
.coreServiceCard{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr);min-width:0;background:#fff;border-top:4px solid var(--orange);overflow:hidden}
.coreServiceCard img{width:100%;height:100%;min-height:310px;object-fit:cover;display:block}
.coreServiceCard>div{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:30px}
.coreServiceCard span{color:#075f92;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.13em}
.coreServiceCard h4{margin:13px 0 12px;text-transform:uppercase;font:800 clamp(28px,3vw,38px)/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.coreServiceCard p{margin:0 0 24px;color:#51544D;font-size:14px;line-height:1.7}
.coreServiceCard a{margin-top:auto;border-bottom:1px solid currentColor;padding-bottom:5px;color:#075f92;text-transform:uppercase;font-size:11px;font-weight:800;line-height:1.45}
.childServiceArea{margin-top:72px;padding-top:58px;border-top:1px solid #d6d2ca}
.childServiceGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:35px}
.childServiceGrid article{display:flex;flex-direction:column;align-items:flex-start;min-width:0;background:#fff;border-left:3px solid var(--orange);padding:26px}
.childServiceGrid h4{margin:0 0 12px;text-transform:uppercase;font:700 24px/1.05 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.childServiceGrid p{margin:0 0 22px;color:#51544D;font-size:13px;line-height:1.65}
.childServiceGrid a{margin-top:auto;color:#075f92;border-bottom:1px solid currentColor;padding-bottom:4px;font-size:11px;font-weight:800;line-height:1.45}
.serviceCategoryTerrassement .categoryFeature{background:#006AD6}
.serviceCategoryTerrassement .categoryContent>p:not(.categoryNumber){color:#e8f6ff}
.serviceCategoryTerrassement .categoryLink{color:#fff;border-color:#fff}
.serviceCategoryTerrassement .categoryServices{background:#171815;color:#fff}
.serviceCategoryTerrassement .categoryServices .eyebrow{color:var(--blue-light)}
.serviceCategoryTerrassement .coreServiceCard{background:#232420;border-top-color:var(--yellow)}
.serviceCategoryTerrassement .coreServiceCard h4{color:#fff}
.serviceCategoryTerrassement .coreServiceCard p{color:#D0D2CC}
.serviceCategoryTerrassement .coreServiceCard a,.serviceCategoryTerrassement .coreServiceCard span{color:var(--blue-light)}
.serviceCategoryTerrassement .childServiceArea{border-top-color:#ffffff25}
.serviceCategoryTerrassement .childServiceGrid article{background:#232420;border-left-color:var(--yellow)}
.serviceCategoryTerrassement .childServiceGrid h4{color:#fff}
.serviceCategoryTerrassement .childServiceGrid p{color:#D0D2CC}
.serviceCategoryTerrassement .childServiceGrid a{color:var(--blue-light)}
.serviceCategoryDemolition .categoryFeature{background:#171815}
.serviceCategoryDemolition .categoryServices{padding-top:70px;background:var(--cream)}
.childServiceAreaSolo{margin-top:0;padding-top:0;border-top:0}
.servicesAssistance{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:7vw;align-items:center;padding:95px 6vw;background:#006AD6;color:#fff}
.servicesAssistance h2{max-width:820px;margin:0;text-transform:uppercase;font:800 clamp(46px,5.5vw,72px)/.92 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.servicesAssistance p:not(.eyebrow){max-width:760px;margin:22px 0 0;color:#e5f4ff;line-height:1.75}
.assistanceActions{display:flex;flex-direction:column;align-items:stretch;gap:14px}
.assistanceActions .btn{text-align:center}
.assistanceActions .btnPhone{background:#171815}
.servicesHubPage footer{grid-template-columns:1.15fr .7fr 1fr 1fr}

@media (width<=1180px){
  header{gap:2vw;padding-left:3vw;padding-right:3vw}
  nav{gap:20px}
  .headerCtas .quote,.headerCtas .phone{padding:13px 14px}
  .servicesHeroTrust{grid-template-columns:repeat(2,minmax(0,1fr))}
  .coreServiceCard{grid-template-columns:1fr}
  .coreServiceCard img{height:260px;min-height:0}
  .childServiceGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .servicesHubPage footer{grid-template-columns:1fr 1fr}
}
@media (width<=900px){
  .servicesHero{min-height:650px;padding:120px 22px 60px;background-position:62% 50%}
  .servicesHero h1{font-size:clamp(48px,12vw,68px)}
  .servicesHeroInner>p:not(.eyebrow){font-size:15px}
  .servicesHeroTrust{margin-top:36px}
  .servicesIntro{grid-template-columns:1fr;gap:35px;padding:80px 22px}
  .categoryFeature,.categoryFeatureReverse{grid-template-columns:1fr}
  .categoryFeatureReverse .categoryImage,.categoryFeatureReverse .categoryContent{order:initial}
  .categoryImage img{height:390px;min-height:0}
  .categoryContent{padding:65px 22px}
  .categoryServices{padding:75px 22px 90px}
  .coreServiceGrid,.coreServiceGridFour{grid-template-columns:repeat(2,minmax(0,1fr))}
  .childServiceGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .servicesAssistance{grid-template-columns:1fr;padding:80px 22px}
  .assistanceActions{width:min(420px,100%)}
}
@media (width<=640px){
  .servicesHero{min-height:730px;padding-bottom:45px}
  .servicesHero .actions{width:100%;align-items:stretch}
  .servicesHero .actions .btn{width:100%;text-align:center}
  .servicesHeroTrust{grid-template-columns:1fr}
  .servicesHeroTrust span{padding:14px 16px}
  .categoryImage img{height:285px}
  .categoryContent h2{font-size:clamp(44px,13vw,58px)}
  .coreServiceGrid,.coreServiceGridFour,.childServiceGrid{grid-template-columns:1fr}
  .coreServiceCard img{height:245px}
  .coreServiceCard>div,.childServiceGrid article{padding:24px}
  .servicesHubPage footer{grid-template-columns:1fr}
}


/* Service Areas Hub */
.serviceAreasPage header nav a[aria-current="page"]{color:var(--blue-light)}
.serviceAreasHero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(380px,.8fr);min-height:590px;padding-top:90px;background:#171815;color:#fff}
.serviceAreasHeroContent{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;padding:55px 4.5vw 55px 6vw}
.serviceAreasHero h1{max-width:880px;margin:0;text-transform:uppercase;font:800 clamp(48px,5vw,72px)/.92 "Barlow Condensed","Arial Narrow",Arial,sans-serif;letter-spacing:-.025em}
.serviceAreasHeroContent>p:not(.eyebrow){max-width:720px;margin:24px 0 0;color:#d6d6d0;font-size:17px;line-height:1.72}
.serviceAreasHero .actions{margin-top:30px;gap:16px}
.serviceAreasHeroMedia{min-width:0;overflow:hidden}
.serviceAreasHeroMedia img{width:100%;height:100%;min-height:520px;object-fit:cover;display:block}
.areaHeroFacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;width:min(850px,100%);margin-top:38px;background:#ffffff20;border:1px solid #ffffff22}
.areaHeroFacts span{display:flex;flex-direction:column;gap:5px;min-width:0;background:#20211ee8;padding:16px 18px;color:#D0D2CC;font-size:11px;line-height:1.45}
.areaHeroFacts strong{color:#fff;text-transform:uppercase;font:700 16px "Barlow Condensed","Arial Narrow",Arial,sans-serif;letter-spacing:.03em}
.generalAreas{padding:105px 6vw 120px;background:var(--paper)}
.generalAreasIntro{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(0,1.1fr);gap:7vw;align-items:center}
.generalAreasImage{overflow:hidden;min-width:0}
.generalAreasImage img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.generalAreasCopy h2,.coreServiceAreas h2,.localProvider h2,.areasAssistance h2{margin:0;text-transform:uppercase;font:800 clamp(44px,5vw,70px)/.95 "Barlow Condensed","Arial Narrow",Arial,sans-serif;letter-spacing:-.02em}
.generalAreasCopy>p:not(.eyebrow){margin:22px 0 0;color:#5e5f58;font-size:15px;line-height:1.82}
.locationCardGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:62px}
.locationCard,.serviceAreaCardGrid article{display:flex;flex-direction:column;align-items:flex-start;min-width:0;background:#fff;border-top:4px solid var(--orange);padding:28px}
.locationIcon{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e9f5fb;color:#075f92;font:800 20px/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.locationCard h3,.serviceAreaCardGrid h3{margin:18px 0 11px;text-transform:uppercase;font:800 28px/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.locationCard p,.serviceAreaCardGrid p{margin:0 0 22px;color:#51544D;font-size:13px;line-height:1.7}
.locationCard a,.serviceAreaCardGrid a,.localProviderLink{margin-top:auto;color:#075f92;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:11px;font-weight:800;line-height:1.45;text-transform:uppercase}
.additionalAreas{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(220px,.55fr) minmax(0,.85fr);gap:45px;align-items:center;margin-top:32px;background:var(--cream);border-left:5px solid var(--yellow);padding:30px 34px}
.additionalAreas h3{margin:0;text-transform:uppercase;font:800 30px/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.additionalAreas ul{margin:0;padding-left:20px;color:#343530;font-weight:700;line-height:1.8}
.additionalAreas>p{margin:0;color:#51544D;font-size:13px;line-height:1.7}
.coreServiceAreas{display:grid;grid-template-columns:minmax(360px,.8fr) minmax(0,1.2fr);background:#171815;color:#fff}
.coreServiceAreasImage{min-width:0;overflow:hidden}
.coreServiceAreasImage img{width:100%;height:100%;min-height:720px;object-fit:cover;display:block}
.coreServiceAreasContent{padding:95px 6vw 100px}
.coreServiceAreasContent>p:not(.eyebrow){max-width:780px;margin:24px 0 0;color:#c5c5bf;line-height:1.78}
.coreServiceAreas h2 a{display:inline-block}
.coreServiceAreas h2 a:hover{color:var(--blue-light)}
.serviceAreaCardGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:45px}
.serviceAreaCardGrid article{background:#232420;border-top-color:var(--yellow)}
.serviceAreaCardGrid .locationIcon{background:#ffffff12;color:var(--yellow)}
.serviceAreaCardGrid h3{color:#fff}
.serviceAreaCardGrid p{color:#D0D2CC}
.serviceAreaCardGrid a{color:var(--blue-light)}
.localProvider{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);background:var(--cream)}
.localProviderContent{min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:100px 7vw 100px 6vw}
.localProviderContent>p:not(.eyebrow){max-width:780px;margin:22px 0 0;color:#565750;line-height:1.82}
.localProviderLink{margin-top:30px}
.localProviderImage{min-width:0;max-width:100%;overflow:hidden}
.localProviderImage img{width:100%;height:100%;min-height:650px;object-fit:cover;display:block}
.areasAssistance{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:7vw;align-items:center;padding:95px 6vw;background:#006AD6;color:#fff}
.areasAssistance p:not(.eyebrow){max-width:760px;margin:22px 0 0;color:#e5f4ff;line-height:1.75}
.areasAssistance .assistanceActions{display:flex;flex-direction:column;gap:14px;align-items:stretch}
.areasAssistance .assistanceActions .btn{text-align:center}
.areasAssistance .assistanceActions .btnPhone{background:#171815}
.serviceAreasPage footer{grid-template-columns:1.15fr .7fr .9fr 1fr 1fr}
.serviceAreasPage footer small{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}

@media (width<=1280px){
  .serviceAreasPage header{gap:2vw;padding-left:3vw;padding-right:3vw}
  .serviceAreasPage header nav{gap:16px;font-size:13px}
  .serviceAreasPage .headerCtas .quote,.serviceAreasPage .headerCtas .phone{padding:13px 14px}
  .serviceAreasPage footer{grid-template-columns:1fr 1fr 1fr}
}
@media (width<=1100px){
  .serviceAreasHero{grid-template-columns:1fr;padding-top:90px}
  .serviceAreasHeroContent{padding:62px 5vw}
  .serviceAreasHeroMedia img{height:360px;min-height:0}
  .generalAreasIntro,.coreServiceAreas,.localProvider{grid-template-columns:1fr}
  .coreServiceAreasImage img,.localProviderImage img{height:430px;min-height:0}
  .coreServiceAreasImage{order:2}
  .coreServiceAreasContent{order:1}
  .additionalAreas{grid-template-columns:1fr 1fr}
  .additionalAreas>p{grid-column:1/-1}
  .areasAssistance{grid-template-columns:1fr}
  .areasAssistance .assistanceActions{width:min(430px,100%)}
}
@media (width<=900px){
  .serviceAreasHero{padding-top:76px}
  .serviceAreasHeroContent{padding:44px 22px}
  .serviceAreasHero h1{font-size:clamp(42px,10.5vw,58px)}
  .serviceAreasHeroContent>p:not(.eyebrow){font-size:15px}
  .areaHeroFacts{grid-template-columns:1fr}
  .generalAreas{padding:80px 22px 90px}
  .locationCardGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .coreServiceAreasContent,.localProviderContent,.areasAssistance{padding-left:22px;padding-right:22px}
  .serviceAreaCardGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .serviceAreasPage footer{grid-template-columns:1fr 1fr}
}
@media (width<=620px){
  .serviceAreasHero .actions{width:100%;align-items:stretch}
  .serviceAreasHero .actions .btn{width:100%;text-align:center}
  .serviceAreasHeroMedia img{height:240px}
  .locationCardGrid,.serviceAreaCardGrid{grid-template-columns:1fr}
  .locationCard,.serviceAreaCardGrid article{padding:24px}
  .additionalAreas{grid-template-columns:1fr;gap:20px;padding:26px 24px}
  .additionalAreas>p{grid-column:auto}
  .coreServiceAreasImage img,.localProviderImage img{height:310px}
  .serviceAreasPage footer{grid-template-columns:1fr}
  .serviceAreasPage footer small{display:flex;flex-direction:column}
}

@media (width<=620px){.localProvider,.localProviderContent,.localProviderImage{min-width:0;max-width:100%}.localProviderContent{overflow-wrap:anywhere}}

@media (width<=360px){.serviceAreasHero h1{font-size:38px;overflow-wrap:anywhere;hyphens:auto}.serviceAreasHeroContent{min-width:0}}


/* =========================================================
   GLOBAL FOOTER — reusable web component
   ========================================================= */
global-footer{display:block}
.globalFooter nav{
  position:static!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}
.globalFooter{
  display:block!important;
  width:100%;
  padding:0!important;
  color:#d7d8d3;
  background:#0b0c0a;
  border-top:1px solid rgba(255,255,255,.12);
}
.globalFooter .globalFooterInner{
  display:block;
  width:min(1320px,calc(100% - 12vw));
  margin-inline:auto;
}
.globalFooter .footerMain{
  display:grid;
  grid-template-columns:minmax(280px,1.45fr) repeat(3,minmax(150px,.75fr));
  gap:clamp(34px,4vw,68px);
  padding:72px 0 54px;
}
.globalFooter .footerIdentity,
.globalFooter .footerColumn{
  display:block;
  min-width:0;
}
.globalFooter .footerBusinessLogo{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:190px;
  min-height:104px;
  margin-bottom:22px;
}
.globalFooter .footerBusinessLogo img{
  display:block;
  width:190px!important;
  height:auto!important;
  max-height:114px;
  object-fit:contain;
}
.globalFooter .footerDescription{
  max-width:390px;
  margin:0 0 26px;
  color:#b4b6b0;
  font-size:14px;
  line-height:1.7;
}
.globalFooter .footerContact{
  display:grid;
  gap:13px;
  margin:0;
  font-style:normal;
}
.globalFooter .footerContact>a,
.globalFooter .footerContactItem{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  align-items:start;
  gap:11px;
  min-width:0;
  color:#f5f5f1;
  font-size:13px;
  line-height:1.55;
}
.globalFooter .footerContact>a{
  width:fit-content;
  max-width:100%;
}
.globalFooter .footerContactIcon{
  display:grid!important;
  place-items:center;
  width:28px;
  height:28px;
  border:1px solid rgba(255,255,255,.16);
  background:#171815;
  color:var(--yellow);
}
.globalFooter .footerContactIcon svg,
.globalFooter .footerSocials svg,
.globalFooter .footerListFinal svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.globalFooter .footerSocials{
  display:flex;
  flex-flow:row wrap;
  gap:10px;
  margin-top:24px;
}
.globalFooter .footerSocials a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:9px 13px;
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  background:#151614;
  font-size:12px;
  font-weight:800;
}
.globalFooter .footerSocials a:hover{
  border-color:var(--blue-light);
  color:var(--blue-light);
}
.globalFooter .footerColumn h2{
  margin:0 0 22px;
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.08em;
  font:800 20px/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif;
}
.globalFooter .footerColumn a{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  min-height:38px;
  padding:7px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
  color:#b8bab4;
  font-size:13px;
  line-height:1.4;
}
.globalFooter .footerColumn a:hover,
.globalFooter .footerColumn a[aria-current="page"]{
  color:#fff;
}
.globalFooter .footerColumn a[aria-current="page"]::before{
  content:"";
  width:6px;
  height:6px;
  flex:0 0 auto;
  margin-right:2px;
  border-radius:50%;
  background:var(--yellow);
}
.globalFooter .footerColumn a[aria-current="page"]{
  justify-content:flex-start;
}
.globalFooter .footerColumn .footerListFinal{
  margin-top:9px;
  border-bottom:0;
  color:var(--yellow);
  font-weight:800;
}
.globalFooter .footerListFinal svg{
  flex:0 0 auto;
}
.globalFooter .footerBottom{
  display:grid;
  grid-template-columns:max-content minmax(0,1fr) max-content;
  align-items:center;
  gap:24px 40px;
  padding:25px 0 30px;
  border-top:1px solid rgba(255,255,255,.12);
}
.globalFooter .footerCopyright{
  margin:0;
  color:#9fa19b;
  font-size:12px;
  line-height:1.5;
}
.globalFooter .footerLegal{
  display:flex;
  flex-flow:row wrap;
  justify-content:flex-end;
  gap:8px 22px;
}
.globalFooter .footerLegal a{
  color:#c3c5bf;
  font-size:12px;
  line-height:1.45;
  text-decoration:underline;
  text-decoration-color:rgba(255,255,255,.35);
  text-underline-offset:4px;
}

.globalFooter .footerCredit{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  color:#9fa19b;
  font-size:12px;
  line-height:1.4;
  white-space:nowrap;
}
.globalFooter .footerCredit a{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:4px 0;
}
.globalFooter .footerCredit img{
  display:block;
  width:100px!important;
  height:30px!important;
  object-fit:contain;
}
.globalFooter a:hover{color:#fff}
.globalFooter a:focus-visible{
  outline:3px solid var(--yellow);
  outline-offset:4px;
}
.globalFooter .srOnly{
  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;
}
@media (width<=1100px){
  .globalFooter .globalFooterInner{
    width:min(100% - 44px,1000px);
  }
  .globalFooter .footerMain{
    grid-template-columns:minmax(260px,1.2fr) repeat(2,minmax(170px,.8fr));
  }
  .globalFooter .footerIdentity{
    grid-row:span 2;
  }
}
@media (width<=780px){
  .globalFooter .footerMain{
    grid-template-columns:1fr 1fr;
    gap:44px 28px;
    padding-top:58px;
  }
  .globalFooter .footerIdentity{
    grid-column:1/-1;
    grid-row:auto;
  }
  .globalFooter .footerDescription{max-width:560px}
  .globalFooter .footerBottom{
    grid-template-columns:1fr;
    gap:17px;
  }
  .globalFooter .footerLegal{
    justify-content:flex-start;
  }
  .globalFooter .footerCredit{
    justify-content:flex-start;
  }
}
@media (width<=520px){
  .globalFooter .globalFooterInner{
    width:calc(100% - 40px);
  }
  .globalFooter .footerMain{
    grid-template-columns:1fr;
    gap:38px;
    padding:50px 0 42px;
  }
  .globalFooter .footerIdentity{
    grid-column:auto;
  }
  .globalFooter .footerBusinessLogo{
    width:170px;
    min-height:96px;
  }
  .globalFooter .footerBusinessLogo img{
    width:170px!important;
    max-height:102px;
  }
  .globalFooter .footerColumn h2{margin-bottom:14px}
  .globalFooter .footerLegal{
    display:grid;
    grid-template-columns:1fr;
    gap:11px;
  }
  .globalFooter .footerBottom{
    padding-bottom:94px;
  }
  .globalFooter .footerCredit{
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
  }
}
/* Global Final CTA — one reusable design across commercial pages */
global-final-cta{display:block}
.globalFinalCta{background:#006AD6;color:#fff;padding:104px 6vw;text-align:center}
.globalFinalCtaInner{width:min(920px,100%);margin:0 auto}
.globalFinalCtaEyebrow{margin:0 0 16px;color:#ffc20a;text-transform:uppercase;letter-spacing:.2em;font:800 12px Inter,Arial,sans-serif}
.globalFinalCta h2{margin:0;text-transform:uppercase;letter-spacing:-.025em;font:800 clamp(46px,5.4vw,74px)/.94 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.globalFinalCtaDescription{max-width:680px;margin:24px auto 0;color:#eef8ff;font-size:16px;line-height:1.75}
.globalFinalCtaActions{display:flex;justify-content:center;align-items:stretch;gap:14px;margin-top:34px;flex-wrap:wrap}
.globalFinalCtaButton{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:16px 24px;border:2px solid transparent;text-transform:uppercase;letter-spacing:.055em;font:800 13px Inter,Arial,sans-serif;transition:transform .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease}
.globalFinalCtaButtonPrimary{background:#171815;color:#fff}
.globalFinalCtaButtonSecondary{background:#ffc20a;color:#111}
.globalFinalCtaButton:hover{transform:translateY(-2px)}
.globalFinalCtaButton:focus-visible{outline:3px solid #fff;outline-offset:4px}
@media (prefers-reduced-motion:reduce){.globalFinalCtaButton{transition:none}.globalFinalCtaButton:hover{transform:none}}
@media (width<=700px){.globalFinalCta{padding:78px 22px}.globalFinalCta h2{font-size:clamp(42px,13vw,58px)}.globalFinalCtaDescription{font-size:15px}.globalFinalCtaActions{width:100%;flex-direction:column}.globalFinalCtaButton{width:100%;min-height:56px;padding-left:16px;padding-right:16px}}


/* Architecture commerciale corrigée — catégories GBP et Core Services au même niveau */
.sectionHeadAside{max-width:620px}
.sectionHeadLink{display:inline-block;margin-top:14px;border-bottom:1px solid currentColor;padding-bottom:4px;color:#075f92;font-size:12px;font-weight:800;line-height:1.45}
.areasHubLink{grid-column:1/-1;justify-self:start;margin-top:8px;border-bottom:1px solid currentColor;padding-bottom:4px;color:var(--yellow)!important;font-size:12px!important;font-weight:800}
.servicesArchitectureHeading{padding:88px 6vw 54px;background:var(--cream)}
.servicesArchitectureHeading h2{max-width:900px;margin:0;text-transform:uppercase;font:800 clamp(44px,5vw,70px)/.95 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.servicesArchitectureHeading>p:not(.eyebrow){max-width:760px;margin:22px 0 0;color:#51544D;line-height:1.75}
.coreServicesStandalone{background:var(--paper)}
.coreServicesStandalone .categorySubhead h2{margin:0;text-transform:uppercase;font:800 clamp(38px,4.5vw,58px)/.95 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.coreServicesStandalone .categorySubhead>p:not(.eyebrow){max-width:760px;margin:22px 0 0;color:#51544D;line-height:1.75}
.coreServiceCard h3{margin:13px 0 12px;text-transform:uppercase;font:800 clamp(28px,3vw,38px)/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.coreServiceGridArchitecture{grid-template-columns:repeat(2,minmax(0,1fr))}
.childServiceGridSingle{grid-template-columns:minmax(0,560px)}
@media (width<=900px){.servicesArchitectureHeading{padding:70px 22px 42px}.coreServiceGridArchitecture{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (width<=640px){.coreServiceGridArchitecture,.childServiceGridSingle{grid-template-columns:1fr}.sectionHeadAside{max-width:none}}

/* Correctif responsive lié à la nouvelle hiérarchie de la page Services */
.categoryFeature>*{min-width:0}
.servicesHero h1,.servicesArchitectureHeading h2,.categoryContent h2,.categoryContent h2 a{min-width:0;max-width:100%;overflow-wrap:anywhere;hyphens:auto}
.categoryContent h2 a{flex-wrap:wrap}
@media (width<=640px){.categoryContent h2{font-size:clamp(40px,11.5vw,52px)}.servicesHero h1{font-size:clamp(42px,11vw,58px)}}

/* Secondary GBP Category template */
.gbpCategoryPage{background:var(--paper)}
.categoryPageHero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(380px,.98fr);min-height:690px;padding-top:92px;background:#171815;color:#fff}
.categoryPageHeroContent{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:72px 6vw 70px}
.categoryPageHero .breadcrumb{margin-bottom:34px}
.categoryPageHero h1{max-width:820px;margin:0;text-transform:uppercase;letter-spacing:-.026em;font:800 clamp(58px,6.3vw,88px)/.9 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.categoryPageHeroLead{max-width:720px;margin:25px 0 0;color:#d8d9d3;font-size:17px;line-height:1.72}
.categoryPageHero .actions{margin-top:30px}
.categoryPageHeroImage{min-width:0;overflow:hidden}
.categoryPageHeroImage img{width:100%;height:100%;min-height:598px;object-fit:cover;display:block}
.categoryTrust{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:42px;background:#ffffff24;border:1px solid #ffffff22}
.categoryTrust span{display:flex;flex-direction:column;gap:4px;min-width:0;padding:16px 18px;background:#20211de8;color:#c8c9c2;font-size:11px;line-height:1.45}
.categoryTrust strong{color:#fff;text-transform:uppercase;font:700 16px "Barlow Condensed","Arial Narrow",Arial,sans-serif;letter-spacing:.035em}

.categoryOverview{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:8vw;padding:105px 6vw;background:var(--paper)}
.categoryOverview h2,.categoryProblems h2,.categoryChildServices h2,.categoryBenefitContent h2,.categoryWhy h2,.categoryProcess h2,.categoryProof h2,.categoryRelated h2,.categoryFaq h2{margin:0;text-transform:uppercase;letter-spacing:-.02em;font:800 clamp(44px,5vw,70px)/.94 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.categoryOverviewBody p{margin-top:0}
.categoryOverviewBody p+p{margin-top:20px}

.categoryProblems{padding:100px 6vw;background:#171815;color:#fff}
.categoryProblems .sectionHead>p{color:#c2c3bd}
.categoryProblemGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:48px;background:#ffffff20;border:1px solid #ffffff20}
.categoryProblemGrid article{min-width:0;background:#20211d;padding:34px 28px}
.categoryProblemGrid span{display:inline-flex;margin-bottom:34px;color:var(--yellow);font:800 13px Inter,Arial,sans-serif;letter-spacing:.15em}
.categoryProblemGrid h3{margin:0;text-transform:uppercase;font:800 28px/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.categoryProblemGrid p{margin:18px 0 0;color:#D0D2CC;font-size:14px;line-height:1.7}

.categoryChildServices{padding:105px 6vw 115px;background:var(--cream)}
.categoryChildGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:48px}
.categoryChildGrid article{display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:245px;padding:30px;background:#fff;border-top:4px solid #006AD6}
.categoryChildGrid h3{margin:0;text-transform:uppercase;font:800 28px/1.02 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.categoryChildGrid p{margin:17px 0 24px;color:#62635e;font-size:14px;line-height:1.68}
.categoryChildGrid a{margin-top:auto;border-bottom:1px solid currentColor;padding-bottom:5px;color:#075f92;font-size:11px;font-weight:800;line-height:1.45;text-transform:uppercase;letter-spacing:.03em}

.categoryBenefits{display:grid;grid-template-columns:minmax(360px,.85fr) minmax(0,1.15fr);background:#006AD6;color:#fff}
.categoryBenefitImage{min-width:0;overflow:hidden}
.categoryBenefitImage img{width:100%;height:100%;min-height:760px;object-fit:cover;display:block}
.categoryBenefitContent{padding:95px 6vw}
.categoryBenefitContent>h2{max-width:760px}
.categoryBenefitList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:44px}
.categoryBenefitList article{min-width:0;background:#005bb8;padding:28px;border-left:3px solid var(--yellow)}
.categoryBenefitList h3{margin:0;text-transform:uppercase;font:800 26px/1.05 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.categoryBenefitList p{margin:15px 0 0;color:#e8f5ff;font-size:14px;line-height:1.68}

.categoryWhy{padding:105px 6vw;background:var(--paper)}
.categoryWhyGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:48px}
.categoryWhyGrid article{min-width:0;padding:30px;background:#fff;border-left:4px solid var(--yellow)}
.categoryWhyGrid h3{margin:0;text-transform:uppercase;font:800 27px/1.02 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.categoryWhyGrid p{margin:17px 0 0;color:#62635e;font-size:14px;line-height:1.7}

.categoryProcess{padding:105px 6vw;background:#171815;color:#fff}
.categoryProcess .sectionHead>p{color:#c2c3bd}
.categoryProcessGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;margin:50px 0 0;padding:0;list-style:none;background:#ffffff1c;border:1px solid #ffffff1c}
.categoryProcessGrid li{min-width:0;background:#20211d;padding:30px 24px}
.categoryProcessGrid span{display:block;margin-bottom:30px;color:var(--yellow);font:800 13px Inter,Arial,sans-serif;letter-spacing:.15em}
.categoryProcessGrid h3{margin:0;text-transform:uppercase;font:800 26px/1.05 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.categoryProcessGrid p{margin:16px 0 0;color:#D0D2CC;font-size:13px;line-height:1.68}

.categoryProof{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:7vw;align-items:center;padding:105px 6vw;background:var(--cream)}
.categoryProofContent p:not(.eyebrow){max-width:650px;margin:24px 0;color:#62635e;line-height:1.76}
.categoryProofGallery{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;min-width:0}
.categoryProofGallery img{width:100%;height:420px;object-fit:cover;display:block}
.categoryProofGallery img+img{height:330px;align-self:end}

.categoryRelated{padding:105px 6vw;background:#006AD6;color:#fff}
.categoryRelated .sectionHead>p{color:#e4f4ff}
.categoryRelatedGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:48px}
.categoryRelatedGrid article{display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:260px;padding:30px;background:#005bb8;border-top:4px solid var(--yellow)}
.categoryRelatedGrid span{color:#e8f5ff;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.12em}
.categoryRelatedGrid h3{margin:13px 0 0;text-transform:uppercase;font:800 30px/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.categoryRelatedGrid p{margin:18px 0 24px;color:#e4f4ff;font-size:14px;line-height:1.68}
.categoryRelatedGrid a{margin-top:auto;border-bottom:1px solid currentColor;padding-bottom:5px;color:#fff;text-transform:uppercase;font-size:11px;font-weight:800;line-height:1.45}
.categoryHubBackLink{display:inline-block;margin-top:34px;border-bottom:2px solid #fff;padding-bottom:7px;color:#fff;text-transform:uppercase;font-size:12px;font-weight:800}

.categoryFaq{padding:105px 6vw 120px;background:var(--paper)}
.categoryFaqGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:48px}
.categoryFaqGrid article{min-width:0;padding:30px;background:#fff;border-top:3px solid #006AD6}
.categoryFaqGrid h3{margin:0;text-transform:uppercase;font:800 27px/1.03 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.categoryFaqGrid p{margin:17px 0 0;color:#62635e;font-size:14px;line-height:1.75}

@media (width<=1180px){
  .categoryPageHero{grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr)}
  .categoryProblemGrid,.categoryWhyGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .categoryProcessGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (width<=900px){
  .categoryPageHero{grid-template-columns:1fr;padding-top:86px}
  .categoryPageHeroContent{padding:65px 22px 58px}
  .categoryPageHeroImage img{height:430px;min-height:0}
  .categoryOverview,.categoryBenefits,.categoryProof{grid-template-columns:1fr}
  .categoryOverview,.categoryProblems,.categoryChildServices,.categoryWhy,.categoryProcess,.categoryProof,.categoryRelated,.categoryFaq{padding-left:22px;padding-right:22px}
  .categoryBenefitImage img{height:440px;min-height:0}
  .categoryBenefitContent{padding:75px 22px 85px}
  .categoryChildGrid,.categoryBenefitList,.categoryRelatedGrid,.categoryFaqGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .categoryProofGallery img,.categoryProofGallery img+img{height:330px}
}
@media (width<=640px){
  .categoryPageHero h1{font-size:clamp(46px,13vw,60px);overflow-wrap:anywhere;hyphens:auto}
  .categoryPageHeroLead{font-size:15px}
  .categoryTrust,.categoryProblemGrid,.categoryChildGrid,.categoryBenefitList,.categoryWhyGrid,.categoryProcessGrid,.categoryRelatedGrid,.categoryFaqGrid{grid-template-columns:1fr}
  .categoryPageHeroImage img{height:310px}
  .categoryProblemGrid article,.categoryChildGrid article,.categoryWhyGrid article,.categoryProcessGrid li,.categoryRelatedGrid article,.categoryFaqGrid article{padding:25px 22px}
  .categoryChildGrid article,.categoryRelatedGrid article{min-height:0}
  .categoryBenefitImage img{height:310px}
  .categoryProofGallery{grid-template-columns:1fr}
  .categoryProofGallery img,.categoryProofGallery img+img{height:280px}
}


/* =========================================================
   GLOBAL INNER-PAGE HERO
   Same visual language as the approved homepage hero.
   Only image, content and compact height vary by page.
   ========================================================= */
.pageHero{
  height:auto;
  min-height:650px;
  padding:148px 6vw 132px;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.pageHero .heroShade{
  background:linear-gradient(90deg,#11130ff5 0%,#11130fd4 48%,#11130f4d 76%,#11130f1f 100%);
}
.pageHero .heroContent{
  max-width:900px;
}
.pageHero .breadcrumbOnHero{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:9px;
  width:max-content;
  max-width:100%;
  margin:0 0 30px;
  color:#d6d7d1;
  font-size:12px;
}
.pageHero .breadcrumbOnHero a{
  color:#fff;
  border-bottom:1px solid #ffffff70;
  padding-bottom:2px;
}
.pageHero .breadcrumbOnHero a:hover{
  color:var(--yellow);
}
.pageHero .breadcrumbOnHero span[aria-current="page"]{
  color:#D0D2CC;
}
.pageHero h1{
  max-width:930px;
}
.pageHero h1 .heroPrimary,
.pageHero h1 em{
  display:block;
}
.pageHeroStats{
  width:min(68%,980px);
}

@media (width<=900px){
  .pageHero{
    min-height:680px;
    padding:132px 22px 170px;
    background-position:center;
  }
  .pageHero .heroContent{
    max-width:720px;
  }
  .pageHero .breadcrumbOnHero{
    margin-bottom:24px;
  }
  .pageHeroStats{
    width:100%;
    padding:22px;
  }
}

@media (width<=640px){
  .pageHero{
    min-height:720px;
    padding:122px 22px 230px;
    background-position:58% center;
  }
  .pageHero h1{
    font-size:clamp(48px,15vw,68px);
    overflow-wrap:normal;
    hyphens:none;
  }
  .pageHero .heroContent>p:not(.eyebrow){
    font-size:15px;
    line-height:1.62;
  }
  .pageHero .actions{
    align-items:stretch;
    gap:10px;
  }
  .pageHero .actions .btn{
    width:100%;
    text-align:center;
  }
  .pageHeroStats{
    grid-template-columns:1fr;
    gap:1px;
    padding:0;
    background:#161714f2;
  }
  .pageHeroStats div{
    min-height:70px;
    padding:14px 18px;
  }
  .pageHeroStats b{
    font-size:18px;
  }
}


/* =========================================================
   CORE SERVICE PAGE TEMPLATE
   Shared by all first-level Core Service pages.
   The homepage hero language and global components are reused.
   ========================================================= */
.coreServicePage{background:var(--paper);color:#171815}
.coreServicePage main>section:not(.hero):not(.globalFinalCta){position:relative}
.coreServicePage .coreIntro h2,
.coreServicePage .coreSituations h2,
.coreServicePage .coreScope h2,
.coreServicePage .coreOptions h2,
.coreServicePage .coreBenefits h2,
.coreServicePage .coreProcess h2,
.coreServicePage .coreConsiderations h2,
.coreServicePage .coreWhy h2,
.coreServicePage .coreProof h2,
.coreServicePage .coreRelated h2,
.coreServicePage .coreAreas h2,
.coreServicePage .coreFaq h2{
  margin:0;
  text-transform:uppercase;
  letter-spacing:-.02em;
  font:800 clamp(44px,5vw,70px)/.94 "Barlow Condensed","Arial Narrow",Arial,sans-serif;
}
.coreIntro{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);min-height:720px;background:var(--paper)}
.coreIntroContent{display:flex;flex-direction:column;justify-content:center;padding:105px 7vw 105px 6vw}
.coreIntroContent .prose{max-width:780px;margin-top:30px}
.coreIntroContent .prose p{margin:0;color:#5f605a;line-height:1.8}
.coreIntroContent .prose p+p{margin-top:20px}
.coreIntroContent .darklink{align-self:flex-start;margin-top:30px}
.coreIntroImage{margin:0;min-width:0;overflow:hidden}
.coreIntroImage img{width:100%;height:100%;min-height:720px;object-fit:cover;display:block}
.coreSituations{padding:105px 6vw;background:#171815;color:#fff}
.coreSituations .sectionHead>p{color:#D0D2CC}
.coreCardGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:48px}
.coreCardGridFour{grid-template-columns:repeat(4,minmax(0,1fr))}
.coreCardGrid article{min-width:0;border-top:4px solid var(--yellow);background:#242520;padding:30px}
.coreCardGrid article>span{display:block;color:var(--blue-light);font-size:11px;font-weight:800;letter-spacing:.14em}
.coreCardGrid h3{margin:20px 0 12px;text-transform:uppercase;font:800 28px/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.coreCardGrid p{margin:0;color:#c5c5bf;font-size:14px;line-height:1.72}
.coreScope{padding:105px 6vw;background:#e9e7e0}
.coreScopeGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:48px}
.coreScopeGrid article{background:#fff;border-left:4px solid var(--blue);padding:34px}
.coreScopeGrid h3{margin:0 0 14px;text-transform:uppercase;font:800 30px/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.coreScopeGrid p{margin:0;color:#51544D;line-height:1.75}
.coreOptions{display:grid;grid-template-columns:minmax(360px,.92fr) minmax(0,1.08fr);background:#0d0e0c;color:#fff}
.coreOptionsMedia{min-width:0;overflow:hidden}
.coreOptionsMedia img{width:100%;height:100%;min-height:740px;object-fit:cover;display:block}
.coreOptionsContent{display:flex;flex-direction:column;justify-content:center;padding:95px 7vw}
.coreOptionsContent>h2{max-width:760px}
.coreOptionList{display:grid;gap:1px;margin-top:42px;background:#393a35}
.coreOptionList article{display:grid;grid-template-columns:58px 1fr;gap:22px;background:#1b1c18;padding:26px 28px}
.coreOptionList article>span{color:var(--yellow);font:800 22px/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.coreOptionList h3{margin:0 0 8px;text-transform:uppercase;font:800 26px/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.coreOptionList p{margin:0;color:#D0D2CC;font-size:14px;line-height:1.68}
.coreBenefits{padding:105px 6vw;background:var(--paper)}
.coreBenefitGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:48px}
.coreBenefitGrid article{background:#fff;border-top:4px solid var(--blue);padding:30px}
.coreBenefitGrid h3{margin:0 0 14px;text-transform:uppercase;font:800 28px/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.coreBenefitGrid p{margin:0;color:#51544D;font-size:14px;line-height:1.72}
.coreProcess{padding:105px 6vw;background:#006ad6;color:#fff}
.coreProcess .sectionHead>p{color:#e5efff}
.coreProcessGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:48px 0 0;padding:0;background:#4e92db;list-style:none}
.coreProcessGrid li{min-width:0;background:#006ad6;padding:30px}
.coreProcessGrid li>span{display:block;color:var(--yellow);font:800 24px/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.coreProcessGrid h3{margin:18px 0 10px;text-transform:uppercase;font:800 28px/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.coreProcessGrid p{margin:0;color:#e5efff;font-size:14px;line-height:1.7}
.coreConsiderations{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:7vw;padding:105px 6vw;background:#e9e7e0}
.coreConsiderationsHeading>p:last-child{max-width:590px;margin:26px 0 0;color:#51544D;line-height:1.78}
.coreConsiderationList{display:grid;gap:1px;background:#c8c6be}
.coreConsiderationList article{display:grid;grid-template-columns:52px 1fr;gap:22px;background:#fff;padding:26px 28px}
.coreConsiderationList article>span{color:#006ad6;font:800 22px/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.coreConsiderationList h3{margin:0 0 8px;text-transform:uppercase;font:800 25px/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.coreConsiderationList p{margin:0;color:#51544D;font-size:14px;line-height:1.68}
.coreWhy{padding:105px 6vw;background:#171815;color:#fff}
.coreWhy .sectionHead>p{color:#D0D2CC}
.coreWhyGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:48px}
.coreWhyGrid article{background:#242520;border-left:4px solid var(--yellow);padding:34px}
.coreWhyGrid h3{margin:0 0 13px;text-transform:uppercase;font:800 30px/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.coreWhyGrid p{margin:0;color:#c3c4bd;line-height:1.75}
.coreProof{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);background:var(--paper)}
.coreProofContent{display:flex;flex-direction:column;justify-content:center;padding:105px 6vw}
.coreProofContent>p:not(.eyebrow){max-width:650px;margin:25px 0 0;color:#51544D;line-height:1.78}
.coreProofCredential{display:flex;flex-direction:column;align-items:flex-start;margin-top:28px;border-left:4px solid var(--blue);padding:12px 0 12px 18px}
.coreProofCredential strong{font:800 26px/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif;text-transform:uppercase}
.coreProofCredential span{margin-top:6px;color:#51544D;font-size:13px}
.coreProofContent .darklink{align-self:flex-start;margin-top:28px}
.coreProofGallery{display:grid;grid-template-columns:1fr 1fr;min-width:0}
.coreProofGallery img{width:100%;height:100%;min-height:690px;object-fit:cover;display:block}
.coreRelated{padding:105px 6vw;background:#0d0e0c;color:#fff}
.coreRelated .sectionHead>p{color:#D0D2CC}
.coreRelatedGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:48px}
.coreRelatedGrid article{display:flex;flex-direction:column;align-items:flex-start;min-width:0;background:#20211d;border-top:4px solid var(--yellow);padding:28px}
.coreRelatedGrid article>span{color:var(--blue-light);text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.14em}
.coreRelatedGrid h3{margin:16px 0 12px;text-transform:uppercase;font:800 28px/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.coreRelatedGrid p{margin:0 0 24px;color:#D0D2CC;font-size:14px;line-height:1.7}
.coreRelatedGrid a{margin-top:auto;color:var(--blue-light);border-bottom:1px solid currentColor;padding-bottom:5px;text-transform:uppercase;font-size:11px;font-weight:800;line-height:1.4}
.coreHubBackLink{display:inline-block;margin-top:30px;color:#fff;border-bottom:1px solid #ffffff80;padding-bottom:5px;font-size:12px;font-weight:800;text-transform:uppercase}
.coreAreas{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:7vw;padding:105px 6vw;background:#e9e7e0}
.coreAreasContent>p:not(.eyebrow){max-width:680px;margin:25px 0 0;color:#51544D;line-height:1.78}
.coreAreasContent .darklink{display:inline-block;margin-top:28px}
.coreAreaLinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.coreAreaLinks a{display:flex;flex-direction:column;justify-content:center;min-height:132px;background:#fff;border-left:4px solid var(--blue);padding:24px}
.coreAreaLinks span{font:800 26px/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif;text-transform:uppercase}
.coreAreaLinks small{margin-top:9px;color:#51544D;font-size:12px}
.coreFaq{padding:105px 6vw;background:var(--paper)}
.coreFaqGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:48px;background:#d0cec6}
.coreFaqGrid article{background:#fff;padding:32px}
.coreFaqGrid h3{margin:0 0 14px;text-transform:uppercase;font:800 27px/1.02 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.coreFaqGrid p{margin:0;color:#51544D;line-height:1.75}

@media (width<=1100px){
  .coreCardGridFour,.coreBenefitGrid,.coreRelatedGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .coreProcessGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .coreIntro{grid-template-columns:minmax(0,1fr) minmax(320px,.8fr)}
  .coreProofGallery img{min-height:560px}
}
@media (width<=900px){
  .coreIntro,.coreOptions,.coreConsiderations,.coreProof,.coreAreas{grid-template-columns:1fr}
  .coreIntroImage{order:-1}
  .coreIntroImage img,.coreOptionsMedia img{height:430px;min-height:0}
  .coreIntroContent,.coreOptionsContent,.coreProofContent{padding:78px 22px}
  .coreSituations,.coreScope,.coreBenefits,.coreProcess,.coreConsiderations,.coreWhy,.coreRelated,.coreAreas,.coreFaq{padding-left:22px;padding-right:22px}
  .coreProofGallery img{min-height:440px}
  .coreAreas{gap:45px}
}
@media (width<=640px){
  .coreServicePage .coreIntro h2,.coreServicePage .coreSituations h2,.coreServicePage .coreScope h2,.coreServicePage .coreOptions h2,.coreServicePage .coreBenefits h2,.coreServicePage .coreProcess h2,.coreServicePage .coreConsiderations h2,.coreServicePage .coreWhy h2,.coreServicePage .coreProof h2,.coreServicePage .coreRelated h2,.coreServicePage .coreAreas h2,.coreServicePage .coreFaq h2{font-size:clamp(40px,13vw,56px)}
  .coreCardGrid,.coreCardGridFour,.coreScopeGrid,.coreBenefitGrid,.coreProcessGrid,.coreWhyGrid,.coreRelatedGrid,.coreAreaLinks,.coreFaqGrid{grid-template-columns:1fr}
  .coreIntroImage img,.coreOptionsMedia img{height:310px}
  .coreProofGallery{grid-template-columns:1fr}
  .coreProofGallery img{height:340px;min-height:0}
  .coreOptionList article,.coreConsiderationList article{grid-template-columns:42px 1fr;gap:14px;padding:23px 20px}
  .coreCardGrid article,.coreScopeGrid article,.coreBenefitGrid article,.coreWhyGrid article,.coreRelatedGrid article,.coreFaqGrid article{padding:24px}
  .coreSituations,.coreScope,.coreBenefits,.coreProcess,.coreConsiderations,.coreWhy,.coreRelated,.coreAreas,.coreFaq{padding-top:78px;padding-bottom:78px}
  .coreIntroContent,.coreOptionsContent,.coreProofContent{padding-top:78px;padding-bottom:78px}
}

/* GLOBAL DESIGN SYSTEM CORRECTION — HEADER / HERO / CTA / FOOTER */
global-header,global-hero{display:block}
body.global-menu-open{overflow:hidden}
body .mobileCall{display:none!important}

/* Header shell */
.globalHeader{position:sticky!important;top:0!important;z-index:1000!important;width:100%!important;height:auto!important;display:block!important;padding:0!important;background:#11120f!important;color:#fff!important;border:0!important;box-shadow:0 1px 0 #ffffff1a!important}
.globalHeader *{box-sizing:border-box}
.globalHeader img{display:block;object-fit:contain}
.globalHeader a,.globalHeader button{font-family:Inter,Arial,sans-serif}
.globalHeaderMainRow{height:90px;display:flex;align-items:center;gap:28px;padding:0 4vw;background:#171815;border-bottom:1px solid #ffffff18}
.globalHeaderLogo{display:flex;align-items:center;flex:0 0 auto;min-width:0}
.globalHeaderLogo img{width:176px!important;height:76px!important;object-fit:contain!important}
.globalHeaderDesktopNav{display:flex!important;position:static!important;margin:0 0 0 auto!important;padding:0!important;background:transparent!important;box-shadow:none!important;border:0!important;overflow:visible!important}
.globalHeaderDesktopNav>ul{display:flex;align-items:center;gap:6px;margin:0;padding:0;list-style:none}
.globalHeaderDesktopNav li{position:relative;list-style:none}
.globalHeaderDesktopNav>ul>li>a,.globalHeaderParentLink{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:12px 10px;color:#fff;text-transform:uppercase;letter-spacing:.045em;font-size:12px;font-weight:800;white-space:nowrap}
.globalHeaderDesktopNav a:hover,.globalHeaderDesktopNav a:focus-visible{color:var(--blue-light)}
.globalHeaderDesktopNav a[aria-current="page"],.globalHeaderNavGroup.is-active>.globalHeaderParentRow>.globalHeaderParentLink{color:var(--blue-light)}
.globalHeaderDesktopNav a[aria-current="page"] svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2}
.globalHeaderParentRow{display:flex;align-items:center}
.globalHeaderSubmenuToggle{width:34px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:#fff;cursor:pointer;border-radius:4px}
.globalHeaderSubmenuToggle:hover,.globalHeaderSubmenuToggle:focus-visible{background:#ffffff12;color:var(--yellow)}
.globalHeaderChevron{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s ease}
.globalHeaderSubmenuToggle[aria-expanded="true"] .globalHeaderChevron,.globalHeaderMobileSubmenuToggle[aria-expanded="true"] .globalHeaderChevron{transform:rotate(225deg) translate(-1px,-1px)}
.globalHeaderActiveArrow{color:var(--yellow);font-size:14px}
.globalHeaderDropdown{position:absolute;top:calc(100% + 14px);left:0;width:300px;padding:12px;background:#171815;border:1px solid #ffffff1c;box-shadow:0 24px 60px #0009}
.globalHeaderNavGroup:last-child .globalHeaderDropdown{left:auto;right:0}
.globalHeaderDropdown[hidden]{display:none!important}
.globalHeaderDropdown ul{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}
.globalHeaderDropdown li a{display:flex;align-items:center;justify-content:space-between;min-height:46px;padding:12px 14px;color:#eee;border-bottom:1px solid #ffffff12;font-size:13px;font-weight:700}
.globalHeaderDropdown li:last-child a{border-bottom:0}
.globalHeaderDropdown li a svg{width:17px;height:17px;stroke:var(--yellow);fill:none;stroke-width:2}
.globalHeaderSubLabel{padding:12px 14px 7px!important;color:#7fc9ff!important;text-transform:uppercase;letter-spacing:.12em;font-size:10px!important;font-weight:900!important;border:0!important}
.globalHeaderDesktopCtas{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.globalHeaderQuote,.globalHeaderPhone{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:13px 15px;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:900;white-space:nowrap}
.globalHeaderQuote{background:var(--yellow);color:#111}
.globalHeaderPhone{background:var(--orange);color:#fff}
.globalHeaderQuote:hover,.globalHeaderPhone:hover{filter:brightness(1.08)}
.globalHeaderMobileCtaRow,.globalHeaderMenuButton,.globalHeaderMobilePanel{display:none}

/* Global Hero */
.globalHero{position:relative;display:flex;align-items:center;color:#fff;background-position:center;background-size:cover;background-repeat:no-repeat;overflow:hidden}
.globalHero--homepage{min-height:calc(100svh - 90px);padding:118px 6vw 128px}
.globalHero--interior{min-height:650px;padding:108px 6vw 126px}
.globalHeroShade{position:absolute;inset:0;background:linear-gradient(90deg,#11130ff6 0%,#11130fdb 48%,#11130f56 76%,#11130f24 100%)}
.globalHeroInner{position:relative;z-index:1;width:min(960px,100%)}
.globalHeroBreadcrumb{display:flex!important;flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 26px!important;padding:0!important;background:transparent!important;position:static!important;color:#d2d3cd;font-size:12px}
.globalHeroBreadcrumb a{color:#fff;border-bottom:1px solid #ffffff66;padding-bottom:2px}
.globalHeroBreadcrumb a:hover{color:var(--yellow)}
.globalHeroBreadcrumbSeparator{color:#B8BBB3}
.globalHeroEyebrow{margin:0 0 17px;color:var(--blue-light);text-transform:uppercase;letter-spacing:.22em;font:800 12px Inter,Arial,sans-serif}
.globalHero h1{max-width:980px;margin:0;text-transform:uppercase;letter-spacing:-.025em;font:800 clamp(54px,6.4vw,94px)/.89 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.globalHero--interior h1{font-size:clamp(52px,5.9vw,84px)}
.globalHero h1 span,.globalHero h1 em{display:block;max-width:100%}
.globalHero h1 em{color:var(--blue-light);font-style:normal}
.globalHeroDescription{max-width:700px;margin:24px 0 0;color:#deded8;font-size:17px;line-height:1.7}
.globalHeroMeta{margin:18px 0 0;color:var(--yellow);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:900}
.globalHeroActions{display:flex;align-items:stretch;gap:14px;margin-top:30px}
.globalHeroButton{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:16px 24px;text-transform:uppercase;letter-spacing:.065em;font:900 13px Inter,Arial,sans-serif}
.globalHeroButtonSecondary{background:var(--yellow);color:#111}
.globalHeroButtonPrimary{background:var(--orange);color:#fff}
.globalHeroButton:hover{filter:brightness(1.08);transform:translateY(-1px)}
.globalHeroNotice{display:flex;gap:18px;align-items:flex-start;max-width:850px;margin-top:30px;padding:18px 20px;border-left:4px solid var(--yellow);background:#ffffff0d}
.globalHeroNotice strong{white-space:nowrap;color:#fff}
.globalHeroNotice span{color:#d0d0ca;line-height:1.55}
.globalHeroTrust{position:absolute;z-index:2;right:0;bottom:0;display:grid;width:min(72%,1080px);background:#171815ed;border-top:1px solid #ffffff1b}
.globalHeroTrust--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.globalHeroTrust--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.globalHeroTrust>div{display:flex;flex-direction:column;gap:5px;min-width:0;padding:22px 24px;border-left:2px solid var(--orange)}
.globalHeroTrust b{text-transform:uppercase;font:800 20px/1.05 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.globalHeroTrust span{color:#C8CAC3;font-size:11px;line-height:1.4}

/* Footer corrections and agency credit visibility */
.globalFooter .footerBusinessLogo img{object-fit:contain!important}
.globalFooter .footerCredit img{width:100px!important;height:30px!important;object-fit:contain!important}
.globalFooter .footerCredit a{display:inline-flex;align-items:center;min-height:44px}

/* Sticky anchor compensation */
section[id],main [id]{scroll-margin-top:112px}

@media (width<=1180px){
  .globalHeaderMobileCtaRow{display:grid;grid-template-columns:1fr 1fr;height:48px;background:#11120f}
  .globalHeaderMobileCtaRow a{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;padding:8px 12px;text-transform:uppercase;letter-spacing:.035em;font-size:11px;font-weight:900}
  .globalHeaderMobileCtaRow svg{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2}
  .globalHeaderMobileQuote{background:var(--yellow);color:#111}
  .globalHeaderMobilePhone{background:var(--orange);color:#fff}
  .globalHeaderMainRow{height:76px;padding:0 20px;gap:16px}
  .globalHeaderLogo img{width:150px!important;height:68px!important}
  .globalHeaderDesktopNav,.globalHeaderDesktopCtas{display:none!important}
  .globalHeaderMenuButton{display:flex;width:48px;height:48px;margin-left:auto;padding:0;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:1px solid #ffffff24;border-radius:6px;background:#232420;color:#fff;cursor:pointer}
  .globalHeaderMenuButton span{display:block;width:22px;height:2px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
  .globalHeaderMenuButton.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .globalHeaderMenuButton.is-open span:nth-child(2){opacity:0}
  .globalHeaderMenuButton.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .globalHeaderMobilePanel{position:absolute;top:124px;left:0;right:0;z-index:1001;min-height:calc(100svh - 124px);max-height:calc(100svh - 124px);overflow-y:auto;background:#171815;border-top:1px solid #ffffff1b;box-shadow:0 24px 60px #000c}
  .globalHeaderMobilePanel:not([hidden]){display:block}
  .globalHeaderMobilePanel nav{display:block!important;position:static!important;margin:0!important;padding:0 20px 24px!important;background:transparent!important}
  .globalHeaderMobileList{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}
  .globalHeaderMobileList>li{border-bottom:1px solid #ffffff18;list-style:none}
  .globalHeaderMobileList>li>a,.globalHeaderMobileParentRow>a{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:14px 2px;color:#fff;text-transform:uppercase;letter-spacing:.035em;font-size:16px;font-weight:900}
  .globalHeaderMobileList a[aria-current="page"],.globalHeaderMobileGroup.is-active>.globalHeaderMobileParentRow>a{color:var(--blue-light)}
  .globalHeaderMobileParentRow{display:grid;grid-template-columns:minmax(0,1fr) 52px;align-items:center}
  .globalHeaderMobileSubmenuToggle{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:0;border-left:1px solid #ffffff18;background:transparent;color:#fff;cursor:pointer}
  .globalHeaderMobileSubmenu{display:flex;flex-direction:column;gap:0;margin:0 0 10px;padding:0 0 0 16px;list-style:none;border-left:2px solid var(--orange)}
  .globalHeaderMobileSubmenu[hidden]{display:none!important}
  .globalHeaderMobileSubmenu li{list-style:none}
  .globalHeaderMobileSubmenu li a{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:10px 12px;color:#d8d8d2;border-bottom:1px solid #ffffff10;font-size:14px;font-weight:700}
  .globalHeaderMobileSubmenu li a svg{width:16px;height:16px;stroke:var(--yellow);fill:none;stroke-width:2}
  .globalHeaderMobileSubmenu .globalHeaderSubLabel{min-height:0;padding:16px 12px 6px!important;color:#7fc9ff!important}
  .globalHeaderPanelCall{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;margin-top:22px;background:var(--orange);color:#fff;text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:900}
  .globalHeaderPanelCall svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2}

  .globalHero--homepage{min-height:calc(100svh - 124px);padding:94px 22px 132px}
  .globalHero--interior{min-height:640px;padding:84px 22px 132px}
  .globalHero h1,.globalHero--interior h1{font-size:clamp(48px,10vw,70px)}
  .globalHeroDescription{font-size:15px}
  .globalHeroTrust{width:100%}
  section[id],main [id]{scroll-margin-top:144px}
}

@media (width<=640px){
  .globalHeaderMobileCtaRow a{font-size:10px;padding-left:8px;padding-right:8px}
  .globalHeaderMobileCtaRow svg{width:15px;height:15px}
  .globalHeaderLogo img{width:138px!important;height:64px!important}
  .globalHero--homepage{padding:72px 22px 122px}
  .globalHero--interior{min-height:610px;padding:68px 22px 120px}
  .globalHero h1,.globalHero--interior h1{font-size:clamp(42px,12vw,56px);overflow-wrap:normal;hyphens:none}
  .globalHeroActions{width:100%;flex-direction:column;gap:10px}
  .globalHeroButton{width:100%;min-height:54px;text-align:center}
  .globalHeroTrust>div{padding:14px 10px}
  .globalHeroTrust b{font-size:15px}
  .globalHeroTrust span{display:none}
  .globalHeroTrust--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .globalHeroNotice{flex-direction:column;gap:8px}
  .globalHeroNotice strong{white-space:normal}
}

@media (width<=390px){
  .globalHeaderMobileCtaRow a span{white-space:nowrap}
  .globalHeaderMobileQuote,.globalHeaderMobilePhone{font-size:9px!important}
  .globalHeaderMainRow{padding-left:14px;padding-right:14px}
  .globalHero--interior{padding-left:18px;padding-right:18px}
}

@media (prefers-reduced-motion:reduce){
  .globalHeaderChevron,.globalHeaderMenuButton span,.globalHeroButton{transition:none!important}
  .globalHeroButton:hover{transform:none}
}


/* CHILD GBP SERVICE PAGE TEMPLATE */
.childServicePage{background:var(--paper);color:#171815}
.childServicePage main>section:not(.globalHero):not(.globalFinalCta){position:relative}
.childServicePage .childIntro h2,.childServicePage .childSituations h2,.childServicePage .childScope h2,.childServicePage .childProcess h2,.childServicePage .childConsiderations h2,.childServicePage .childWhy h2,.childServicePage .childRelated h2,.childServicePage .childAreas h2,.childServicePage .childFaq h2{margin:0;text-transform:uppercase;letter-spacing:-.025em;font:800 clamp(44px,4.9vw,70px)/.94 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.childIntro{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);min-height:680px;background:var(--paper)}
.childIntroContent{display:flex;flex-direction:column;justify-content:center;padding:105px 6vw}
.childIntroContent .prose{max-width:760px;margin-top:28px}
.childIntroContent .prose p{color:#51544D;font-size:16px;line-height:1.82}
.childIntroContent .prose a{color:#075f92;border-bottom:1px solid currentColor;font-weight:800}
.childIntroImage{min-width:0;margin:0;overflow:hidden}
.childIntroImage img{display:block;width:100%;height:100%;min-height:680px;object-fit:cover}
.childSituations,.childScope,.childConsiderations,.childWhy,.childFaq{padding:105px 6vw}
.childSituations{background:#e9e7e0}
.childCardGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:48px}
.childCardGrid article{background:#fff;border-top:4px solid var(--blue);padding:30px}
.childCardGrid span{color:var(--blue);font:800 32px/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.childCardGrid h3,.childScopeGrid h3,.childWhyGrid h3,.childRelatedLinks h3,.childFaqGrid h3{margin:18px 0 12px;text-transform:uppercase;font:800 28px/1.02 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.childCardGrid p,.childScopeGrid p,.childWhyGrid p,.childRelatedLinks p,.childFaqGrid p{margin:0;color:#51544D;font-size:14px;line-height:1.72}
.childScope{background:var(--paper)}
.childScope .split{align-items:flex-start}
.childScopeGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:48px;background:#d2d0c8}
.childScopeGrid article{background:#fff;padding:32px}
.childScopeGrid article:before{content:"";display:block;width:36px;height:4px;margin-bottom:22px;background:var(--yellow)}
.childProcess{padding:105px 6vw;background:var(--orange);color:#fff}
.childProcess .eyebrow{color:var(--yellow)}
.childProcessGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:48px 0 0;padding:0;background:#ffffff20;list-style:none}
.childProcessGrid li{background:var(--orange);padding:32px}
.childProcessGrid span{color:var(--yellow);font:800 36px/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.childProcessGrid h3{margin:17px 0 11px;text-transform:uppercase;font:800 28px/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.childProcessGrid p{margin:0;color:#e6eef7;font-size:14px;line-height:1.7}
.childConsiderations{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:7vw;background:#f1efe9}
.childConsiderationsHeading>p:not(.eyebrow){max-width:590px;margin-top:24px;color:#51544D;line-height:1.78}
.childConsiderationList{border-top:1px solid #c8c6be}
.childConsiderationList article{display:grid;grid-template-columns:150px 1fr;gap:26px;padding:23px 0;border-bottom:1px solid #c8c6be}
.childConsiderationList strong{text-transform:uppercase;font:800 22px/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif}
.childConsiderationList p{margin:0;color:#51544D;line-height:1.68}
.childWhy{background:#171815;color:#fff}
.childWhyGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:48px}
.childWhyGrid article{background:#242520;border-left:4px solid var(--yellow);padding:34px}
.childWhyGrid p{color:#c3c4bd}
.childRelated{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);background:#0d0e0c;color:#fff}
.childParentCard{display:flex;flex-direction:column;justify-content:center;padding:105px 6vw;background:var(--orange)}
.childParentCard .eyebrow{color:var(--yellow)}
.childParentCard p:not(.eyebrow){max-width:610px;margin:24px 0;color:#eaf3fa;line-height:1.78}
.childParentCard>a{align-self:flex-start;margin-top:10px;border-bottom:2px solid #fff;padding-bottom:7px;text-transform:uppercase;font-size:12px;font-weight:900}
.childRelatedLinks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;padding:55px;background:#ffffff16}
.childRelatedLinks article{display:flex;flex-direction:column;align-items:flex-start;background:#20211d;padding:28px}
.childRelatedLinks article>span{color:var(--blue-light);text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:900}
.childRelatedLinks p{color:#D0D2CC;margin-bottom:24px}
.childRelatedLinks a{margin-top:auto;color:var(--blue-light);border-bottom:1px solid currentColor;padding-bottom:5px;text-transform:uppercase;font-size:11px;font-weight:800;line-height:1.4}
.childAreas{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:7vw;padding:95px 6vw;background:#e9e7e0}
.childAreasContent p{max-width:720px;margin:0;color:#51544D;line-height:1.8}
.childAreasContent .darklink{display:inline-block;margin-top:27px;color:#075f92;border-bottom-color:#075f92}
.childFaq{background:var(--paper)}
.childFaqGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:48px;background:#d0cec6}
.childFaqGrid article{background:#fff;padding:32px}
.childFaqGrid h3{margin-top:0}
@media (width<=1100px){.childCardGrid,.childScopeGrid,.childProcessGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.childIntro{grid-template-columns:minmax(0,1fr) minmax(320px,.8fr)}.childRelated{grid-template-columns:1fr}.childRelatedLinks{padding:28px}}
@media (width<=900px){.childIntro,.childConsiderations,.childAreas{grid-template-columns:1fr}.childIntroImage{order:-1}.childIntroImage img{height:430px;min-height:0}.childIntroContent{padding:78px 22px}.childSituations,.childScope,.childProcess,.childConsiderations,.childWhy,.childAreas,.childFaq{padding-left:22px;padding-right:22px}.childRelatedLinks{grid-template-columns:1fr}.childParentCard{padding:78px 22px}}
@media (width<=640px){.childServicePage .childIntro h2,.childServicePage .childSituations h2,.childServicePage .childScope h2,.childServicePage .childProcess h2,.childServicePage .childConsiderations h2,.childServicePage .childWhy h2,.childServicePage .childRelated h2,.childServicePage .childAreas h2,.childServicePage .childFaq h2{font-size:clamp(40px,13vw,56px)}.childCardGrid,.childScopeGrid,.childProcessGrid,.childWhyGrid,.childFaqGrid{grid-template-columns:1fr}.childIntroImage img{height:310px}.childCardGrid article,.childScopeGrid article,.childWhyGrid article,.childFaqGrid article{padding:24px}.childSituations,.childScope,.childProcess,.childConsiderations,.childWhy,.childAreas,.childFaq{padding-top:78px;padding-bottom:78px}.childConsiderationList article{grid-template-columns:1fr;gap:8px}.childRelatedLinks{padding:18px}.childRelatedLinks article{padding:24px}}


/* Logo visibility and proportion corrections */
.globalHeaderLogo{
  min-width:150px!important;
}
.globalHeaderLogo img{
  display:block!important;
  width:190px!important;
  height:88px!important;
  max-width:190px!important;
  max-height:88px!important;
  object-fit:contain!important;
  object-position:center!important;
}
.globalFooter .footerBusinessLogo{
  width:230px!important;
  min-height:0!important;
  margin-bottom:24px!important;
}
.globalFooter .footerBusinessLogo img{
  display:block!important;
  width:230px!important;
  height:auto!important;
  max-width:100%!important;
  max-height:none!important;
  object-fit:contain!important;
}
.globalFooter .footerCredit img{
  display:block!important;
  width:118px!important;
  height:auto!important;
  max-height:36px!important;
  object-fit:contain!important;
}

@media (width<=1180px){
  .globalHeaderLogo{
    min-width:122px!important;
  }
  .globalHeaderLogo img{
    width:145px!important;
    height:68px!important;
    max-width:145px!important;
    max-height:68px!important;
  }
}

@media (width<=520px){
  .globalHeaderMainRow{
    padding-inline:14px!important;
  }
  .globalHeaderLogo img{
    width:132px!important;
    height:64px!important;
    max-width:132px!important;
    max-height:64px!important;
  }
  .globalFooter .footerBusinessLogo{
    width:210px!important;
  }
  .globalFooter .footerBusinessLogo img{
    width:210px!important;
  }
  .globalFooter .footerCredit img{
    width:112px!important;
  }
}


/* =========================================================
   LOCATION PAGE TEMPLATE
   Reusable for verified municipality pages.
   ========================================================= */
.locationPage{background:#f2f3ef;color:#171815}
.locationPage main{overflow:hidden}
.locationIntro,.locationServices,.localConditions,.locationResearchSection,.soilDrainageSection,.locationMapSection,.localApproach,.nearbyAreas,.locationWhy,.locationFaq{padding:clamp(78px,8vw,132px) 6vw}
.locationIntroGrid,.locationResearchSection,.soilDrainageGrid,.localApproachGrid{width:min(1180px,100%);margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);gap:clamp(44px,6vw,90px);align-items:center}
.locationIntroCopy h2,.locationResearchContent h2,.soilDrainageGrid h2,.localApproachGrid h2,.locationMapHead h2,.nearbyAreas h2,.locationWhy h2,.locationFaq h2{font-family:var(--display);font-size:clamp(44px,5.2vw,76px);line-height:.94;letter-spacing:-.035em;margin:12px 0 26px}
.locationIntroCopy .prose,.locationResearchContent,.soilDrainageGrid>div,.localApproachGrid .prose{font-size:16px;line-height:1.75;color:#4c4f48}
.locationIntroImage,.soilDrainageGrid figure,.locationResearchMedia{margin:0;position:relative;border-radius:20px;overflow:hidden;background:#1c1d19;box-shadow:0 24px 60px rgba(18,19,16,.13)}
.locationIntroImage img,.soilDrainageGrid figure img,.locationResearchMedia img{display:block;width:100%;height:100%;min-height:470px;object-fit:cover}
.locationIntroImage figcaption,.soilDrainageGrid figcaption{position:absolute;left:18px;right:18px;bottom:18px;padding:11px 13px;border-radius:9px;background:rgba(16,17,14,.86);color:#e8e9e4;font-size:12px;line-height:1.45}
.locationServices{background:#171815;color:#fff}
.locationServices .sectionHead,.localConditionsLead,.locationMapHead,.nearbyAreas .sectionHead,.locationWhy .sectionHead,.locationFaq .sectionHead{width:min(1180px,100%);margin-inline:auto}
.locationServices .sectionHead>p,.locationFaq .sectionHead>p,.nearbyAreas .sectionHead>p,.locationMapHead>p{color:#b8bbb2;max-width:520px;line-height:1.7}
.locationServiceGrid{width:min(1180px,100%);margin:50px auto 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.locationServiceGrid article{display:flex;flex-direction:column;min-height:330px;padding:30px;border:1px solid #ffffff18;border-radius:16px;background:#20211d}
.locationServiceNumber{font-family:var(--display);font-size:18px;color:var(--yellow);margin-bottom:54px}
.locationServiceGrid h3{font-family:var(--display);font-size:30px;line-height:1;margin:0 0 17px}
.locationServiceGrid p{color:#b9bcb3;line-height:1.65;margin:0 0 28px}
.locationServiceGrid a{margin-top:auto;color:#fff;font-weight:700;border-bottom:1px solid #ffffff50;width:max-content;max-width:100%;padding-bottom:4px}
.localConditions{background:#fff}
.localConditionsLead{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:60px;align-items:end}
.localConditionsLead h2{font-family:var(--display);font-size:clamp(44px,5.4vw,78px);line-height:.94;margin:12px 0 0}
.localConditionsLead>p:last-child{font-size:17px;line-height:1.75;color:#454841}
.localConditionCards{width:min(1180px,100%);margin:52px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.localConditionCards article,.locationWhyGrid article{padding:30px;border:1px solid #dfe1da;border-radius:14px;background:#f7f8f4}
.localConditionCards h3,.locationWhyGrid h3{font-family:var(--display);font-size:29px;line-height:1.05;margin:0 0 14px}
.localConditionCards p,.locationWhyGrid p{color:#565950;line-height:1.68;margin:0}
.locationResearchSection{background:#f2f3ef}
.locationResearchSection:nth-of-type(even){background:#fff}
.locationResearchSection.propertySection{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr)}
.locationStatPanel{display:grid;grid-template-columns:1fr;gap:1px;border-radius:18px;overflow:hidden;background:#dadcd5}
.locationStatPanel div{padding:30px;background:#171815;color:#fff;display:flex;align-items:baseline;gap:18px}
.locationStatPanel strong{font-family:var(--display);font-size:54px;line-height:1;color:var(--blue)}
.locationStatPanel span{color:#d1d3cc;line-height:1.4}
.soilDrainageSection{background:#171815;color:#fff}
.soilDrainageGrid{align-items:start}
.soilDrainageGrid>div{color:#c2c4bc}
.soilDrainageGrid h2{color:#fff}
.locationCaution{padding:20px 22px;border-left:4px solid var(--blue);background:#23241f;color:#e7e8e2!important;border-radius:0 10px 10px 0}
.locationMapSection{background:#fff}
.locationMapHead{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:60px;align-items:end}
.locationMap{width:min(1180px,100%);aspect-ratio:16/9;margin:44px auto 22px;border-radius:20px;overflow:hidden;border:1px solid #d9dbd4;background:#e9ebe5;box-shadow:0 24px 60px rgba(18,19,16,.1)}
.locationMap iframe{width:100%;height:100%;border:0;display:block}
.mapExternalLink{display:block;width:max-content;max-width:min(1180px,100%);margin:0 auto;color:#11130f;font-weight:800;border-bottom:2px solid var(--blue);padding-bottom:4px}
.localApproach{background:#f2f3ef}
.localApproachGrid{align-items:start}
.localApproachGrid>div:first-child{position:sticky;top:160px}
.nearbyAreas{background:#fff}
.sectorPills{width:min(1180px,100%);margin:42px auto 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:12px}
.sectorPills li{padding:13px 18px;border:1px solid #d6d8d1;border-radius:999px;background:#f5f6f2;font-weight:700}
.nearbyLinks{width:min(1180px,100%);margin:28px auto 0;display:flex;gap:20px;flex-wrap:wrap}
.nearbyLinks a{font-weight:800;color:#11130f;border-bottom:2px solid var(--blue);padding-bottom:3px}
.locationWhy{background:#171815;color:#fff}
.locationWhyGrid{width:min(1180px,100%);margin:48px auto 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.locationWhyGrid article{background:#20211d;border-color:#ffffff16}
.locationWhyGrid h3{color:#fff}
.locationWhyGrid p{color:#D0D2CC}
.locationFaq{background:#f2f3ef}
.locationFaq .faqGrid{width:min(1180px,100%);margin:48px auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.locationFaq .faqGrid article{padding:30px;border-radius:14px;background:#fff;border:1px solid #dfe1da}
.locationFaq .faqGrid h3{font-family:var(--display);font-size:28px;line-height:1.06;margin:0 0 14px}
.locationFaq .faqGrid p{color:#55584f;line-height:1.7;margin:0}
@media (width<=1000px){
  .locationIntroGrid,.locationResearchSection,.soilDrainageGrid,.localApproachGrid{grid-template-columns:1fr;gap:42px}
  .locationResearchMedia{order:-1}.locationResearchMedia img,.locationIntroImage img,.soilDrainageGrid figure img{min-height:400px}
  .locationServiceGrid,.locationWhyGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .localConditionsLead,.locationMapHead{grid-template-columns:1fr;gap:24px}
  .localApproachGrid>div:first-child{position:static}
}
@media (width<=680px){
  .locationIntro,.locationServices,.localConditions,.locationResearchSection,.soilDrainageSection,.locationMapSection,.localApproach,.nearbyAreas,.locationWhy,.locationFaq{padding:72px 22px}
  .locationIntroCopy h2,.locationResearchContent h2,.soilDrainageGrid h2,.localApproachGrid h2,.locationMapHead h2,.nearbyAreas h2,.locationWhy h2,.locationFaq h2,.localConditionsLead h2{font-size:clamp(42px,13vw,59px)}
  .locationServiceGrid,.localConditionCards,.locationWhyGrid,.locationFaq .faqGrid{grid-template-columns:1fr}
  .locationServiceGrid article{min-height:0}.locationServiceNumber{margin-bottom:30px}
  .locationIntroImage img,.soilDrainageGrid figure img,.locationResearchMedia img{min-height:300px}
  .locationStatPanel div{align-items:center}.locationStatPanel strong{font-size:44px}
  .locationMap{aspect-ratio:4/3;border-radius:14px}
  .mapExternalLink{margin-inline:0}
}


/* =========================================================
   EMPLOYMENT / CAREERS PAGE TEMPLATE
   Reusable for one factual recruitment page.
   ========================================================= */
.employmentPage{background:#f2f3ef;color:#171815}
.employmentPage main{overflow:hidden}
.employmentIntro,.employmentWhy,.employmentStatus,.employmentProfiles,.employmentProcess,.employmentFormSection,.employmentSpontaneous,.employmentFaq{padding:clamp(78px,8vw,132px) 6vw}
.employmentIntroGrid,.employmentSpontaneous{width:min(1180px,100%);margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);gap:clamp(44px,6vw,90px);align-items:center}
.employmentIntroCopy h2,.employmentStatus h2,.employmentSpontaneous h2,.employmentFaq h2,.employmentFormIntro h2{font-family:var(--display);font-size:clamp(44px,5.3vw,76px);line-height:.94;letter-spacing:-.035em;margin:12px 0 26px}
.employmentIntroCopy .prose,.employmentSpontaneous .prose{color:#4e514a;font-size:16px;line-height:1.75}
.employmentIntroImage{margin:0;position:relative;border-radius:20px;overflow:hidden;background:#171815;box-shadow:0 24px 60px rgba(18,19,16,.13)}
.employmentIntroImage img{display:block;width:100%;height:100%;min-height:480px;object-fit:cover}
.employmentIntroImage figcaption{position:absolute;left:18px;right:18px;bottom:18px;padding:11px 13px;border-radius:9px;background:rgba(16,17,14,.88);color:#e8e9e4;font-size:12px;line-height:1.45}
.employmentWhy{background:#171815;color:#fff}
.employmentWhy .sectionHead,.employmentProfiles .sectionHead,.employmentProcess .sectionHead,.employmentFaq .sectionHead{width:min(1180px,100%);margin-inline:auto}
.employmentWhy .sectionHead>p,.employmentProfiles .sectionHead>p{color:#b8bbb2;max-width:520px;line-height:1.7}
.employmentWhyGrid{width:min(1180px,100%);margin:50px auto 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.employmentWhyGrid article{padding:30px;border:1px solid #ffffff18;border-radius:16px;background:#20211d}
.employmentWhyGrid span,.employmentProcessGrid>li>span{font-family:var(--display);font-size:19px;color:var(--blue-light);font-weight:800}
.employmentWhyGrid h3,.employmentProfileGrid h3,.employmentProcessGrid h3,.employmentFaqGrid h3{font-family:var(--display);font-size:30px;line-height:1.02;margin:32px 0 15px}
.employmentWhyGrid p,.employmentProfileGrid p,.employmentProcessGrid p,.employmentFaqGrid p{line-height:1.68;margin:0}
.employmentWhyGrid p{color:#D0D2CC}
.employmentStatus{background:#fff}
.employmentStatusCard{width:min(960px,100%);margin-inline:auto;padding:clamp(34px,6vw,64px);border:1px solid #dfe1da;border-radius:20px;background:#f6f7f3;box-shadow:0 20px 52px rgba(18,19,16,.08)}
.employmentStatusCard p:not(.eyebrow){max-width:720px;color:#454841;font-size:17px;line-height:1.75;margin:0 0 28px}
.employmentProfiles{background:#f2f3ef}
.employmentProfileGrid{width:min(1180px,100%);margin:50px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.employmentProfileGrid article{display:flex;flex-direction:column;min-height:360px;padding:32px;border-radius:16px;background:#fff;border:1px solid #dfe1da}
.employmentProfileStatus{width:max-content;max-width:100%;padding:8px 11px;border-radius:999px;background:#e8eef5;color:#075f92;text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:800}
.employmentProfileGrid h3{margin-top:34px}
.employmentProfileGrid p{color:#565950}
.employmentProfileGrid a{margin-top:auto;padding-top:28px;color:#075f92;font-weight:800;border-bottom:2px solid var(--blue-light);width:max-content;max-width:100%}
.employmentQualities{width:min(1180px,100%);margin:28px auto 0;padding:30px;border-radius:16px;background:#171815;color:#fff}
.employmentQualities ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:24px 0 0;padding:0;list-style:none;background:#ffffff18}
.employmentQualities li{background:#20211d;padding:18px 20px;font-weight:700}
.employmentQualities li::before{content:"✓";color:var(--blue-light);margin-right:10px}
.employmentProcess{background:#006AD6;color:#fff}
.employmentProcess .sectionHead h2{color:#fff}
.employmentProcessGrid{width:min(1180px,100%);margin:50px auto 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#ffffff2a}
.employmentProcessGrid li{padding:34px;background:#006AD6}
.employmentProcessGrid>li>span{color:#fff}
.employmentProcessGrid h3{margin-top:28px}
.employmentProcessGrid p{color:#e4f1ff}
.employmentFormSection{background:#171815;color:#fff;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(40px,7vw,100px);align-items:start}
.employmentFormIntro{max-width:560px}
.employmentFormIntro h2{color:#fff}
.employmentFormIntro>p:not(.eyebrow){color:#D0D2CC;line-height:1.75}
.employmentEmailFallback{margin-top:32px;padding:24px;border-left:4px solid var(--blue-light);background:#22231f;display:flex;flex-direction:column;gap:9px}
.employmentEmailFallback a{color:#fff;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.employmentEmailFallback span{color:#C8CAC3;font-size:13px}
.employmentFormPanel{padding:clamp(26px,4vw,44px);border-radius:18px;background:#232420;border:1px solid #ffffff18}
.employmentForm{background:transparent;padding:0}
.employmentForm select{color:#fff;background:#171815;border:1px solid #ffffff20;width:100%;margin-top:8px;padding:15px;font:14px Inter,Arial,sans-serif;display:block}
.employmentForm textarea{height:auto;min-height:120px}
.employmentForm input:focus,.employmentForm textarea:focus,.employmentForm select:focus{border-color:var(--yellow);outline:2px solid #ffc20a55;outline-offset:1px}
.employmentFormErrors,.employmentFormSuccess{display:flex;flex-direction:column;gap:7px;margin-bottom:22px;padding:16px 18px;border-radius:10px}
.employmentFormErrors{background:#4b1f1f;border:1px solid #ff8d8d;color:#fff}
.employmentFormSuccess{background:#183c2e;border:1px solid #5dd39e;color:#fff}
.employmentFormErrors[hidden],.employmentFormSuccess[hidden]{display:none}
.employmentSubmit:disabled{opacity:.65;cursor:wait}
.employmentConsent span{line-height:1.55}
.employmentConsent a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.employmentSpontaneous{background:#fff;align-items:start}
.employmentSpontaneous .prose{padding-top:18px}
.employmentFaq{background:#f2f3ef}
.employmentFaqGrid{width:min(1180px,100%);margin:48px auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.employmentFaqGrid article{padding:30px;border-radius:14px;background:#fff;border:1px solid #dfe1da}
.employmentFaqGrid h3{margin-top:0}
.employmentFaqGrid p{color:#55584f}
.employmentPage section[id]{scroll-margin-top:150px}

@media (width<=1000px){
  .employmentIntroGrid,.employmentSpontaneous,.employmentFormSection{grid-template-columns:1fr;gap:42px}
  .employmentIntroImage{order:-1}
  .employmentIntroImage img{min-height:400px}
  .employmentWhyGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .employmentProfileGrid{grid-template-columns:1fr}
  .employmentProfileGrid article{min-height:0}
  .employmentQualities ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (width<=680px){
  .employmentIntro,.employmentWhy,.employmentStatus,.employmentProfiles,.employmentProcess,.employmentFormSection,.employmentSpontaneous,.employmentFaq{padding:72px 22px}
  .employmentIntroCopy h2,.employmentStatus h2,.employmentSpontaneous h2,.employmentFaq h2,.employmentFormIntro h2{font-size:clamp(42px,13vw,59px)}
  .employmentWhyGrid,.employmentProcessGrid,.employmentFaqGrid,.employmentQualities ul{grid-template-columns:1fr}
  .employmentIntroImage img{min-height:300px}
  .employmentWhyGrid article,.employmentProfileGrid article,.employmentFaqGrid article{padding:25px}
  .employmentFormPanel{padding:24px}
  .employmentForm .fields{grid-template-columns:1fr}
  .employmentForm input,.employmentForm textarea,.employmentForm select{font-size:16px}
  .employmentSubmit{width:100%}
}


/* =========================================================
   NICHE-THEMED 404 PAGE
   Utility recovery page; no commercial Final CTA.
   ========================================================= */
.error404Page{background:#f2f3ef;color:#171815}
.error404Page main{overflow:hidden}
.error404Hero{position:relative;isolation:isolate;min-height:760px;padding:clamp(150px,15vw,205px) 6vw 90px;background-position:center;background-size:cover;background-repeat:no-repeat;color:#fff}
.error404Overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(13,14,12,.97) 0%,rgba(13,14,12,.88) 50%,rgba(13,14,12,.55) 100%)}
.error404Inner{width:min(1180px,100%);margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(360px,.78fr);gap:clamp(46px,7vw,100px);align-items:center}
.error404Copy{max-width:730px}
.error404Eyebrow{margin:0 0 16px;color:#9fd4ff;font-size:12px;font-weight:800;letter-spacing:.18em}
.error404Code{margin:0;color:rgba(255,255,255,.16);font-family:var(--display);font-size:clamp(96px,15vw,196px);font-weight:800;letter-spacing:-.07em;line-height:.72}
.error404Copy h1{margin:14px 0 18px;color:#fff;font-family:var(--display);font-size:clamp(60px,7.6vw,112px);font-weight:800;letter-spacing:-.045em;line-height:.88}
.error404Niche{margin:0 0 17px;color:#22aaf2;font-family:var(--display);font-size:clamp(28px,3vw,42px);font-weight:700;line-height:1}
.error404Explanation{max-width:660px;margin:0;color:#d8dad3;font-size:17px;line-height:1.7}
.error404Actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.error404Secondary{background:#fff!important;color:#11130f!important;border-color:#fff!important}
.error404Visual{position:relative;margin:0;border:1px solid rgba(255,255,255,.18);border-radius:20px;overflow:hidden;background:#171815;box-shadow:0 30px 80px rgba(0,0,0,.32)}
.error404Visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.62));pointer-events:none}
.error404Visual img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center}
.error404Visual figcaption{position:absolute;z-index:1;left:18px;right:18px;bottom:17px;color:#fff;font-size:12px;line-height:1.45}
.error404Recovery{padding:clamp(78px,8vw,126px) 6vw;background:#f2f3ef}
.error404RecoveryInner{width:min(1180px,100%);margin-inline:auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(44px,7vw,95px);align-items:start}
.error404Recovery h2{max-width:620px;margin:12px 0 0;font-family:var(--display);font-size:clamp(45px,5.4vw,76px);line-height:.95;letter-spacing:-.035em}
.error404Links{display:grid;border-top:1px solid #cfd2c9}
.error404Links a{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:68px;padding:18px 0;border-bottom:1px solid #cfd2c9;color:#171815;font-family:var(--display);font-size:clamp(24px,2.4vw,32px);font-weight:700;line-height:1;text-decoration:none}
.error404Links a span:last-child{color:#006ad6;transition:transform .2s ease}
.error404Links a:hover span:last-child,.error404Links a:focus-visible span:last-child{transform:translateX(5px)}
.error404Contact{padding:28px 6vw;background:#006ad6;color:#fff;text-align:center}
.error404Contact p{margin:0;font-size:15px;line-height:1.6}
.error404Contact a{color:#fff;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.error404Page section[id]{scroll-margin-top:150px}

@media (width<=980px){
  .error404Hero{min-height:auto;padding-top:175px}
  .error404Inner,.error404RecoveryInner{grid-template-columns:1fr}
  .error404Visual{max-width:680px}
  .error404Visual img{aspect-ratio:16/10}
}
@media (width<=640px){
  .error404Hero{padding:155px 22px 66px;background-position:58% center}
  .error404Overlay{background:linear-gradient(180deg,rgba(13,14,12,.94),rgba(13,14,12,.86))}
  .error404Code{font-size:94px}
  .error404Copy h1{font-size:clamp(52px,16vw,72px)}
  .error404Niche{font-size:29px}
  .error404Explanation{font-size:15px}
  .error404Actions{display:grid}
  .error404Actions .btn{width:100%;text-align:center}
  .error404Visual img{aspect-ratio:4/3}
  .error404Recovery{padding:72px 22px}
  .error404Recovery h2{font-size:clamp(42px,13vw,58px)}
  .error404Links a{min-height:62px;font-size:25px}
  .error404Contact{padding-inline:22px}
}
@media (prefers-reduced-motion:reduce){
  .error404Links a span:last-child{transition:none}
}


/* =========================================================
   GLOBAL FAQ PAGE TEMPLATE — visible answers, no accordion
   ========================================================= */
.globalFaqPage{background:#f2f3ef;color:#171815}
.globalFaqIntro{padding:clamp(78px,8vw,130px) 6vw;background:#fff}
.globalFaqIntroInner{width:min(1180px,100%);margin-inline:auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(45px,7vw,100px);align-items:start}
.globalFaqIntro h2,.globalFaqUnanswered h2{font-family:var(--display);font-size:clamp(44px,5.5vw,76px);line-height:.94;letter-spacing:-.035em;margin:12px 0 0}
.globalFaqIntro .prose{color:#51544c;font-size:16px;line-height:1.75}
.globalFaqCategoryNav{position:sticky;top:var(--header-height,0);z-index:30;padding:0 6vw;background:#171815;border-top:1px solid #ffffff15;border-bottom:1px solid #ffffff15}
.globalFaqCategoryNavInner{width:min(1180px,100%);margin-inline:auto;display:flex;gap:24px;align-items:center;padding:17px 0}
.globalFaqCategoryNavInner>span{flex:0 0 auto;color:#fff;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.11em}
.globalFaqCategoryNavInner>div{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;padding-bottom:2px}
.globalFaqCategoryNav a{flex:0 0 auto;padding:10px 13px;border:1px solid #ffffff20;border-radius:999px;color:#dfe1da;font-size:12px;font-weight:700;white-space:nowrap}
.globalFaqCategoryNav a:hover,.globalFaqCategoryNav a:focus-visible{background:#006AD6;color:#fff;border-color:#006AD6}
.globalFaqContent{padding:clamp(72px,8vw,120px) 6vw}
.globalFaqSection{width:min(1180px,100%);margin-inline:auto;display:grid;grid-template-columns:minmax(260px,.34fr) minmax(0,.66fr);gap:clamp(40px,7vw,90px);padding:clamp(62px,7vw,96px) 0;border-top:1px solid #cfd2ca;scroll-margin-top:190px}
.globalFaqSection:first-child{border-top:0;padding-top:0}
.globalFaqSectionHead{position:sticky;top:190px;align-self:start}
.globalFaqSectionHead h2{font-family:var(--display);font-size:clamp(42px,4.6vw,68px);line-height:.95;letter-spacing:-.035em;margin:12px 0 18px}
.globalFaqSectionHead>span{display:inline-flex;padding:8px 11px;border-radius:999px;background:#e4e7df;color:#4e514a;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.globalFaqItems{border-top:1px solid #cfd2ca}
.globalFaqItem{padding:34px 0;border-bottom:1px solid #cfd2ca}
.globalFaqItem h3{font-family:var(--display);font-size:clamp(28px,3vw,39px);line-height:1.02;margin:0 0 15px;max-width:850px}
.globalFaqItem>p{max-width:800px;margin:0;color:#454841;font-size:16px;line-height:1.72}
.globalFaqItem .faqContextLink{margin-top:16px}
.globalFaqItem .faqContextLink a{display:inline-block;color:#075f92;font-weight:800;border-bottom:2px solid #006AD6;padding-bottom:3px}
.globalFaqUnanswered{padding:clamp(78px,8vw,125px) 6vw;background:#fff;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(42px,7vw,90px);align-items:center}
.globalFaqUnanswered>div{width:min(100%,590px)}
.globalFaqUnanswered>div:first-child{justify-self:end}
.globalFaqUnanswered>div:last-child{justify-self:start}
.globalFaqUnanswered p:not(.eyebrow){color:#454841;line-height:1.75;font-size:17px}
.globalFaqUnanswered .textLink{display:inline-block;margin-top:12px;color:#075f92;font-weight:800;border-bottom:2px solid #006AD6;padding-bottom:4px}
.globalFaqPage section[id],.globalFaqPage nav[id]{scroll-margin-top:190px}

@media (width<=1000px){
  .globalFaqIntroInner,.globalFaqUnanswered{grid-template-columns:1fr;gap:34px}
  .globalFaqUnanswered>div:first-child,.globalFaqUnanswered>div:last-child{justify-self:stretch;width:100%}
  .globalFaqSection{grid-template-columns:1fr;gap:30px}
  .globalFaqSectionHead{position:static}
  .globalFaqCategoryNavInner{align-items:flex-start;flex-direction:column;gap:10px}
  .globalFaqCategoryNavInner>div{width:100%}
}
@media (width<=680px){
  .globalFaqIntro,.globalFaqContent,.globalFaqUnanswered{padding-left:22px;padding-right:22px}
  .globalFaqCategoryNav{padding-inline:22px;position:relative;top:auto}
  .globalFaqIntro h2,.globalFaqUnanswered h2{font-size:clamp(42px,13vw,59px)}
  .globalFaqSection{padding:58px 0;scroll-margin-top:145px}
  .globalFaqSectionHead h2{font-size:48px}
  .globalFaqItem{padding:27px 0}
  .globalFaqItem h3{font-size:31px}
  .globalFaqItem>p{font-size:15px}
}

/* =========================================================
   REALIZATIONS GALLERY PAGE
   ========================================================= */
.realizationsPage{background:#f2f3ef;color:#171815}
.realizationsPage main{overflow:hidden}
.realizationsIntro{padding:clamp(78px,8vw,130px) 6vw;background:#fff}
.realizationsIntroInner{width:min(1180px,100%);margin-inline:auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(45px,7vw,100px);align-items:start}
.realizationsIntro h2,.realizationsGalleryHead h2,.realizationsContext h2{font-family:var(--display);font-size:clamp(44px,5.4vw,76px);line-height:.94;letter-spacing:-.035em;margin:12px 0 0}
.realizationsIntro .prose{color:#51544c;font-size:16px;line-height:1.75}
.realizationsGallerySection{padding:clamp(76px,8vw,124px) 6vw;background:#171815;color:#fff;scroll-margin-top:150px}
.realizationsGalleryHead{width:min(1180px,100%);margin-inline:auto;display:flex;justify-content:space-between;gap:32px;align-items:end}
.realizationsGalleryHead h2{color:#fff}
.realizationsCount{margin:0;color:#D0D2CC;font-size:13px;font-weight:700;white-space:nowrap}
.realizationsFilters{width:min(1180px,100%);margin:38px auto 30px;display:flex;flex-wrap:wrap;gap:9px}
.realizationsFilter{min-height:44px;padding:10px 15px;border:1px solid #ffffff24;border-radius:999px;background:transparent;color:#dfe1da;font:700 12px/1 Inter,Arial,sans-serif;cursor:pointer}
.realizationsFilter:hover,.realizationsFilter:focus-visible,.realizationsFilter.is-active{background:#006AD6;border-color:#006AD6;color:#fff}
.realizationsGrid{width:min(1180px,100%);margin-inline:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.realizationsCard{margin:0;min-width:0}
.realizationsCard[hidden]{display:none}
.realizationsOpen{display:block;width:100%;padding:0;border:0;border-radius:15px;overflow:hidden;background:#22231f;color:#fff;text-align:left;cursor:zoom-in}
.realizationsOpen:focus-visible{outline:3px solid #ffc20a;outline-offset:4px}
.realizationsImageWrap{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;background:#0d0e0c}
.realizationsImageWrap img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.realizationsZoom{position:absolute;right:14px;bottom:14px;padding:8px 10px;border-radius:999px;background:rgba(13,14,12,.86);color:#fff;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;opacity:0;transform:translateY(5px);transition:opacity .25s ease,transform .25s ease}
.realizationsOpen:hover .realizationsImageWrap img,.realizationsOpen:focus-visible .realizationsImageWrap img{transform:scale(1.035)}
.realizationsOpen:hover .realizationsZoom,.realizationsOpen:focus-visible .realizationsZoom{opacity:1;transform:none}
.realizationsCaption{display:flex;flex-direction:column;gap:9px;padding:20px 21px 22px}
.realizationsCaption strong{font-family:var(--display);font-size:27px;line-height:1.02}
.realizationsCaption>span{color:#8ecbff;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.realizationsContext{padding:clamp(78px,8vw,126px) 6vw;background:#fff;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(45px,7vw,95px);align-items:start}
.realizationsContextCopy{justify-self:end;width:min(100%,570px)}
.realizationsContextCopy>p:not(.eyebrow){color:#454841;font-size:17px;line-height:1.75}
.realizationsServiceLinks{width:min(100%,590px);border-top:1px solid #cfd2c9}
.realizationsServiceLinks a{display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:70px;padding:18px 0;border-bottom:1px solid #cfd2c9;color:#171815;font-family:var(--display);font-size:clamp(25px,2.5vw,34px);font-weight:700;line-height:1}
.realizationsServiceLinks a span:last-child{color:#006AD6;transition:transform .2s ease}
.realizationsServiceLinks a:hover span:last-child,.realizationsServiceLinks a:focus-visible span:last-child{transform:translateX(5px)}
.realizationsLightbox[hidden]{display:none}
.realizationsLightbox{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;padding:24px;opacity:0;transition:opacity .2s ease}
.realizationsLightbox.is-open{opacity:1}
.realizationsLightboxBackdrop{position:absolute;inset:0;background:rgba(4,5,4,.94);cursor:zoom-out}
.realizationsLightboxPanel{position:relative;z-index:1;width:min(1180px,100%);height:min(88vh,860px);display:grid;grid-template-columns:60px minmax(0,1fr) 60px;align-items:center}
.realizationsLightboxPanel figure{margin:0;min-width:0;height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;background:#171815;border:1px solid #ffffff1e;border-radius:16px;overflow:hidden}
.realizationsLightboxPanel figure img{display:block;width:100%;height:100%;min-height:0;object-fit:contain;background:#090a08}
.realizationsLightboxPanel figcaption{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 24px;padding:18px 22px;color:#fff}
.realizationsLightboxPanel figcaption strong{font-family:var(--display);font-size:26px;line-height:1}
.realizationsLightboxPanel figcaption>span{color:#C8CAC3;font-size:12px}
.realizationsLightboxPanel figcaption>span:last-child{grid-column:2;grid-row:1 / span 2;align-self:center;color:#fff;font-weight:800}
.realizationsLightboxClose,.realizationsLightboxNav{border:1px solid #ffffff28;background:rgba(18,19,16,.9);color:#fff;cursor:pointer}
.realizationsLightboxClose{position:absolute;z-index:2;top:-13px;right:-13px;width:48px;height:48px;border-radius:50%;font-size:30px;line-height:1}
.realizationsLightboxNav{width:48px;height:64px;border-radius:9px;font-size:40px;justify-self:center}
.realizationsLightboxNav[hidden]{display:none}
.realizationsLightboxClose:hover,.realizationsLightboxClose:focus-visible,.realizationsLightboxNav:hover,.realizationsLightboxNav:focus-visible{background:#006AD6;border-color:#006AD6;outline:2px solid #fff;outline-offset:2px}
@media (width<=1000px){
  .realizationsIntroInner,.realizationsContext{grid-template-columns:1fr;gap:36px}
  .realizationsContextCopy{justify-self:stretch;width:100%}
  .realizationsServiceLinks{width:100%}
  .realizationsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .realizationsLightboxPanel{grid-template-columns:50px minmax(0,1fr) 50px}
}
@media (width<=680px){
  .realizationsIntro,.realizationsGallerySection,.realizationsContext{padding-left:22px;padding-right:22px}
  .realizationsIntro h2,.realizationsGalleryHead h2,.realizationsContext h2{font-size:clamp(42px,13vw,59px)}
  .realizationsGalleryHead{display:block}
  .realizationsCount{margin-top:16px}
  .realizationsFilters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}
  .realizationsGrid{grid-template-columns:1fr}
  .realizationsZoom{opacity:1;transform:none}
  .realizationsLightbox{padding:12px}
  .realizationsLightboxPanel{height:min(86vh,760px);display:block}
  .realizationsLightboxPanel figure{height:100%}
  .realizationsLightboxPanel figcaption{grid-template-columns:1fr;padding:15px 17px}
  .realizationsLightboxPanel figcaption>span:last-child{grid-column:1;grid-row:auto}
  .realizationsLightboxClose{top:8px;right:8px}
  .realizationsLightboxNav{position:absolute;z-index:2;top:50%;width:44px;height:58px;transform:translateY(-50%)}
  .realizationsLightboxPrev{left:8px}
  .realizationsLightboxNext{right:8px}
}
@media (prefers-reduced-motion:reduce){
  .realizationsImageWrap img,.realizationsZoom,.realizationsServiceLinks a span:last-child,.realizationsLightbox{transition:none}
}

/* Complete service and market architecture */
.globalHeaderDropdown{max-height:min(72vh,720px);overflow:auto}.globalHeaderMobileSubmenu{max-height:58vh;overflow:auto}.marketGroup{padding-top:clamp(56px,7vw,96px)}.marketGroup+.marketGroup{padding-top:0}.marketGroup .locationCardGrid{margin-top:32px}.coreProofGrid img,.childIntroImage img,.coreIntroImage img{width:100%;height:100%;object-fit:cover}


/* =========================================================
   GLOBAL MOBILE CONTENT GUTTERS
   Keeps customer-facing content away from the viewport edges.
   Full-bleed media sections keep their imagery edge-to-edge;
   their text panels receive the same protected gutter.
   ========================================================= */
:root{
  --mobile-content-gutter:22px;
}

@media (width<=700px){
  html,
  body{
    max-width:100%;
    overflow-x:hidden;
  }

  .hero,
  .globalHero--interior,
  .globalFinalCta,
  .error404Hero,
  .error404Recovery,
  .error404Contact{
    padding-left:max(var(--mobile-content-gutter),env(safe-area-inset-left,0px))!important;
    padding-right:max(var(--mobile-content-gutter),env(safe-area-inset-right,0px))!important;
  }

  .globalFooter .globalFooterInner{
    width:auto!important;
    margin-left:max(var(--mobile-content-gutter),env(safe-area-inset-left,0px))!important;
    margin-right:max(var(--mobile-content-gutter),env(safe-area-inset-right,0px))!important;
  }

  /*
   * Standard content sections receive one consistent gutter.
   * Split sections with full-bleed images are handled below.
   */
  main>section:not(.why):not(.ownerSection):not(.categoryBenefits):not(.coreIntro):not(.coreOptions):not(.coreProof):not(.childIntro):not(.childRelated):not(.localProvider):not(.coreServiceAreas){
    padding-left:max(var(--mobile-content-gutter),env(safe-area-inset-left,0px))!important;
    padding-right:max(var(--mobile-content-gutter),env(safe-area-inset-right,0px))!important;
  }

  /*
   * Text panels inside full-bleed split sections.
   */
  .whyText,
  .ownerContent,
  .categoryBenefitContent,
  .coreIntroContent,
  .coreIntroCopy,
  .coreOptionsContent,
  .coreProofContent,
  .childIntroContent,
  .childParentCard,
  .localProviderContent,
  .coreServiceAreasContent{
    padding-left:max(var(--mobile-content-gutter),env(safe-area-inset-left,0px))!important;
    padding-right:max(var(--mobile-content-gutter),env(safe-area-inset-right,0px))!important;
  }

  /*
   * New service templates use contained proof and related-service sections.
   * Their headings and grids must not touch the viewport edge.
   */
  .coreProof>.sectionHead,
  .coreProof>.coreProofGrid,
  .childRelated>.sectionHead,
  .childRelated>.childRelatedGrid{
    width:auto!important;
    margin-left:max(var(--mobile-content-gutter),env(safe-area-inset-left,0px))!important;
    margin-right:max(var(--mobile-content-gutter),env(safe-area-inset-right,0px))!important;
  }

  .coreProof:has(>.sectionHead),
  .childRelated:has(>.sectionHead){
    padding-top:78px;
    padding-bottom:78px;
  }

  /*
   * The generated first-level service pages use coreIntroCopy.
   * Give that text block the same vertical breathing room as coreIntroContent.
   */
  .coreIntroCopy{
    padding-top:78px!important;
    padding-bottom:78px!important;
  }

  /*
   * Some newer grids were added after the original templates.
   * Keep their cards contained and readable on phones.
   */
  .coreSituationGrid,
  .coreProofGrid,
  .childRelatedGrid,
  .localConditionGrid{
    min-width:0;
  }

  .coreSituationGrid,
  .coreProofGrid,
  .childRelatedGrid,
  .localConditionGrid{
    grid-template-columns:1fr!important;
  }

  .coreSituationGrid article,
  .coreProofGrid figure,
  .childRelatedGrid article,
  .localConditionGrid article{
    min-width:0;
  }

  .globalFaqCategoryNavInner,
  .realizationsFilters{
    padding-left:0;
    padding-right:0;
  }

  form,
  .contactFormPanel,
  .employmentFormPanel{
    max-width:100%;
  }
}

@media (width<=360px){
  :root{
    --mobile-content-gutter:20px;
  }
}


/* =========================================================
   G06 — SHARED FORMS AND THANK-YOU FLOW
   ========================================================= */
global-form{display:block;min-width:0}
global-form form{width:100%}
.srOnly{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}
.formRequiredNote{margin:0;color:#c7c9c1;font-size:12px;line-height:1.5;text-transform:none;letter-spacing:0}
.formHelp{display:block;margin-top:7px;color:#C8CAC3;font-size:11px;line-height:1.4;text-transform:none;letter-spacing:0;font-weight:400}
.globalFormErrors,.globalFormStatus{margin:0 0 20px;padding:16px 18px;border-radius:10px;line-height:1.55}
.globalFormErrors{background:#4b1f1f;border:1px solid #ff8d8d;color:#fff}
.globalFormStatus{background:#183c2e;border:1px solid #5dd39e;color:#fff}
.globalFormErrors[hidden],.globalFormStatus[hidden]{display:none}
.globalFormErrors strong{display:block;margin-bottom:7px}
.globalFormErrors p{margin:7px 0 0}
.globalFormErrors ul{margin:8px 0 0;padding-left:22px}
.globalFormErrors a{color:#fff;text-decoration:underline;text-underline-offset:3px}
global-form input:invalid:not(:placeholder-shown),
global-form textarea:invalid:not(:placeholder-shown),
global-form select:invalid:focus{border-color:#ff8d8d}
global-form button[disabled]{cursor:wait;opacity:.72}
global-form .consent input{min-width:18px;width:18px;height:18px;flex:0 0 auto}
global-form .consent span{display:block}
.thankYouSecondary{margin-top:22px!important}
.thankYouSecondary a,.thankYouLegal a{color:#fff;text-decoration:underline;text-underline-offset:4px}
.thankYouPage .globalHeader{position:absolute}
.thankYouCard{position:relative;z-index:1}
@media (width<=700px){
  global-form .fields{grid-template-columns:1fr}
  global-form input,global-form textarea,global-form select{font-size:16px}
  .globalFormErrors,.globalFormStatus{padding:15px}
}


/* Yellow CTA policy: yellow is reserved for Soumission gratuite. */
.btnDark{
  background:#171815!important;
  color:#fff!important;
}
.btnDark:hover,
.btnDark:focus-visible{
  background:#2b2d28!important;
  color:#fff!important;
}


/* =========================================================
   PAGE11 — DEDICATED QUOTE REQUEST PAGE
   ========================================================= */
.quotePage .globalHero--interior{
  min-height:clamp(330px,42vw,520px);
  padding-bottom:clamp(42px,5vw,70px);
}
.quotePage .globalHeroInner{
  padding-top:clamp(126px,13vw,176px);
  padding-bottom:clamp(30px,4vw,54px);
}
.quotePage .globalHeroDescription{
  max-width:720px;
}
.quoteFormSection{
  padding:clamp(58px,7vw,104px) clamp(22px,5vw,72px);
  background:#f3f1eb;
}
.quoteFormLayout{
  width:min(1180px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);
  gap:clamp(28px,5vw,68px);
  align-items:start;
}
.quoteFormPanel{
  min-width:0;
  padding:clamp(26px,4vw,48px);
  background:#fff;
  border:1px solid #dedbd2;
  box-shadow:0 20px 60px rgba(0,0,0,.08);
}
.quoteFormPanel>h2,
.quoteFormHelp>h2{
  margin:8px 0 14px;
}
.quoteFormPanel>p:not(.eyebrow){
  max-width:720px;
  margin:0 0 26px;
  color:#565851;
}
.quoteForm{
  display:grid;
  gap:16px;
}
.quoteForm .fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.quoteForm label{
  min-width:0;
}
.quoteForm input,
.quoteForm select,
.quoteForm textarea{
  width:100%;
}
.quoteForm select{
  min-height:48px;
}
.quoteForm textarea{
  resize:vertical;
  min-height:150px;
}
.quoteForm .quoteSubmit{
  min-height:48px;
  width:fit-content;
  min-width:220px;
}
.quoteFormHelp{
  position:sticky;
  top:118px;
  padding:clamp(26px,4vw,40px);
  background:#171815;
  color:#fff;
}
.quoteFormHelp .eyebrow{
  color:#f4c800;
}
.quoteFormHelp>h2{
  color:#fff;
}
.quoteHelpList{
  display:grid;
  gap:0;
  margin-top:26px;
  border-top:1px solid rgba(255,255,255,.16);
}
.quoteHelpList article{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:14px;
  padding:22px 0;
  border-bottom:1px solid rgba(255,255,255,.16);
}
.quoteHelpList article>span{
  color:#f4c800;
  font-family:"Barlow Condensed",sans-serif;
  font-size:24px;
  font-weight:800;
}
.quoteHelpList h3{
  margin:0 0 6px;
  color:#fff;
  font-size:clamp(20px,2vw,24px);
}
.quoteHelpList p,
.quoteGeneralQuestion,
.quoteServicesLink{
  margin:0;
  color:#d4d6ce;
  line-height:1.65;
}
.quoteGeneralQuestion{
  margin-top:26px;
}
.quoteServicesLink{
  margin-top:12px;
}
.quoteFormHelp a{
  color:#fff;
  text-decoration:underline;
  text-underline-offset:4px;
}
.contactQuotePath{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  padding:clamp(54px,7vw,96px) clamp(22px,5vw,72px);
  background:#f3f1eb;
}
.contactQuotePathCopy{
  max-width:760px;
}
.contactQuotePathCopy h2{
  margin:8px 0 12px;
}
.contactQuotePathCopy p:not(.eyebrow){
  margin:0;
  max-width:680px;
}
.contactQuotePath>.btn{
  flex:0 0 auto;
}
.leadQuotePanel{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.leadQuoteActions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
@media (width<=900px){
  .quoteFormLayout{
    grid-template-columns:1fr;
  }
  .quoteFormHelp{
    position:static;
  }
  .contactQuotePath{
    align-items:flex-start;
    flex-direction:column;
  }
}
@media (width<=700px){
  .quotePage .globalHero--interior{
    min-height:310px;
  }
  .quotePage .globalHeroInner{
    padding-top:122px;
    padding-bottom:34px;
  }
  .quoteFormSection{
    padding-left:max(var(--mobile-content-gutter),env(safe-area-inset-left,0px))!important;
    padding-right:max(var(--mobile-content-gutter),env(safe-area-inset-right,0px))!important;
  }
  .quoteFormPanel,
  .quoteFormHelp{
    padding:24px 20px;
  }
  .quoteForm .fields{
    grid-template-columns:1fr;
  }
  .quoteForm .quoteSubmit{
    width:100%;
    min-height:48px;
  }
  .contactQuotePath{
    padding-left:max(var(--mobile-content-gutter),env(safe-area-inset-left,0px))!important;
    padding-right:max(var(--mobile-content-gutter),env(safe-area-inset-right,0px))!important;
  }
  .contactQuotePath>.btn{
    width:100%;
    min-height:48px;
  }
  .leadQuoteActions{
    flex-direction:column;
  }
  .leadQuoteActions .btn{
    width:100%;
  }
}


/* =========================================================
   SOUMISSION V7 — FORM-ONLY PAGE
   ========================================================= */
.quoteOnlyPage{
  background:#f3f1eb;
}
.quoteOnlySection{
  min-height:calc(100vh - 90px);
  padding:
    clamp(126px,13vw,172px)
    clamp(22px,5vw,72px)
    clamp(70px,8vw,112px);
  display:flex;
  align-items:flex-start;
  justify-content:center;
  background:#f3f1eb;
}
.quoteOnlyPanel{
  width:min(780px,100%);
  margin:0 auto;
  box-shadow:0 24px 70px rgba(0,0,0,.16);
}
.quoteOnlyPanel h1{
  margin:0 0 12px;
  text-transform:uppercase;
  color:#fff;
  font:800 clamp(42px,6vw,68px)/.95 "Barlow Condensed","Arial Narrow",Arial,sans-serif;
}
.quoteOnlyPanel>p:not(.eyebrow){
  max-width:650px;
}
.quoteOnlyPanel .quoteForm{
  display:grid;
  gap:16px;
}
.quoteOnlyPanel .quoteForm .fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.quoteOnlyPanel .quoteForm input,
.quoteOnlyPanel .quoteForm select,
.quoteOnlyPanel .quoteForm textarea{
  width:100%;
}
.quoteOnlyPanel .quoteForm select{
  min-height:48px;
  color:#fff;
  background:#171815;
  border:1px solid #ffffff20;
  margin-top:8px;
  padding:15px;
  font:14px Inter,Arial,sans-serif;
}
.quoteOnlyPanel .quoteForm textarea{
  min-height:145px;
  resize:vertical;
}
.quoteOnlyPanel .quoteForm .btn{
  min-height:48px;
  width:100%;
}
@media (width<=700px){
  .quoteOnlySection{
    min-height:auto;
    padding-top:118px!important;
    padding-left:max(var(--mobile-content-gutter),env(safe-area-inset-left,0px))!important;
    padding-right:max(var(--mobile-content-gutter),env(safe-area-inset-right,0px))!important;
    padding-bottom:72px!important;
  }
  .quoteOnlyPanel{
    padding:28px 22px;
  }
  .quoteOnlyPanel .quoteForm .fields{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   404 — GLOBAL INTERIOR HERO
   ========================================================= */
.error404Page .globalHero--interior{
  min-height:clamp(520px,68vh,760px);
}
.error404Recovery{
  padding-top:clamp(64px,8vw,110px);
}
.error404Contact{
  margin-top:0;
}
@media (width<=700px){
  .error404Page .globalHero--interior{
    min-height:clamp(500px,78vh,680px);
  }
}


/* =========================================================
   GLOBAL TEXT CONTRAST PASS
   Target: stronger readability on light, dark and image surfaces.
   ========================================================= */

/* Hero and photo-overlay text */
.heroContent>p:not(.eyebrow),
.servicesHeroInner>p:not(.eyebrow),
.globalHeroDescription{
  color:#F0F1EC;
}

.globalHeroBreadcrumb{
  color:#E2E4DE;
}

.globalHeroBreadcrumbSeparator{
  color:#B8BBB3;
}

.globalHeroTrust span,
.servicesHeroTrust span,
.areaHeroFacts span{
  color:#D0D2CC;
}

/* Dark cards / dark sections */
.service p,
.categoryCard p,
.aboutIntro>p:not(.eyebrow),
.ownerContent>p:not(.eyebrow),
.credentialGrid p,
.finalCta p,
.licenceCard p,
.serviceCategoryTerrassement .coreServiceCard p,
.serviceCategoryTerrassement .childServiceGrid p,
.serviceAreaCardGrid p,
.coreSituations .sectionHead>p,
.coreWhy .sectionHead>p,
.coreRelated .sectionHead>p,
.coreCardGrid p,
.coreWhyGrid p,
.coreRelatedGrid p,
.childWhyGrid p,
.childRelatedLinks p,
.locationWhyGrid p,
.employmentWhyGrid p,
.employmentFormIntro>p:not(.eyebrow),
.realizationsCount,
.contact>div>p:not(.eyebrow),
.leadFormPanel>p:not(.eyebrow),
.smallNote,
footer,
.globalFooter{
  color:#D0D2CC;
}

/* Small blue text on light surfaces must use the darker brand blue. */
.categoryLink{
  color:#075F92;
  border-bottom-color:#075F92;
}

/* Form readability */
input::placeholder,
textarea::placeholder{
  color:#C8CAC3;
  opacity:1;
}

.leadFormPanel input::placeholder,
.leadFormPanel textarea::placeholder,
.employmentForm input::placeholder,
.employmentForm textarea::placeholder,
.quoteForm input::placeholder,
.quoteForm textarea::placeholder{
  color:#C8CAC3;
  opacity:1;
}

.leadFormPanel select option,
.employmentForm select option,
.quoteForm select option{
  background:#171815;
  color:#FFF;
}

.formHelp,
.employmentEmailFallback span{
  color:#C8CAC3;
}

/* Footer secondary copy and links */
.globalFooter .footerMeta,
.globalFooter .footerContact,
.globalFooter .footerColumn p,
.globalFooter .footerColumn span{
  color:#C8CAC3;
}

/* Keep normal body copy on pale surfaces comfortably above AA. */
.problemGrid p,
.faqGrid p,
.experienceGrid p,
.valuesGrid p,
.contactInfoGrid p,
.contactFormIntro>p:not(.eyebrow),
.contactReassurance span,
.legalFacts span,
.childServiceGrid p,
.locationCard p,
.additionalAreas>p,
.coreConsiderationsHeading>p:last-child,
.coreAreasContent>p:not(.eyebrow),
.coreFaqGrid p,
.childIntroContent .prose p,
.childCardGrid p,
.childScopeGrid p,
.childFaqGrid p,
.childConsiderationsHeading>p:not(.eyebrow),
.childConsiderationList p,
.childAreasContent p,
.coreScopeGrid p,
.coreBenefitGrid p,
.coreConsiderationList p,
.coreProofContent>p:not(.eyebrow),
.coreProofCredential span,
.coreServiceCard p,
.servicesArchitectureHeading>p:not(.eyebrow),
.coreServicesStandalone .categorySubhead>p:not(.eyebrow),
.coreAreaLinks small,
.localConditionsLead>p:last-child,
.employmentStatusCard p:not(.eyebrow),
.globalFaqItem>p,
.globalFaqUnanswered p:not(.eyebrow),
.realizationsContextCopy>p:not(.eyebrow){
  color:#51544D;
}

/* Dark form consent copy */
global-form .consent,
global-form .consent span,
.consent{
  color:#D0D2CC;
}

/* Small labels in dark navigation */
.globalHeaderSubLabel,
.globalHeaderMobileSubmenu .globalHeaderSubLabel{
  color:#9ED7FF!important;
}

/* Focus remains very visible without relying on color alone. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
  outline-width:3px;
  outline-offset:3px;
}


/* =========================================================
   SOUMISSION — CONSENT / FORM LAYOUT FIX V2
   Keep checkbox and consent copy together inside the panel.
   ========================================================= */
.quoteOnlyPanel global-form{
  display:block;
  width:100%;
  min-width:0;
}

.quoteOnlyPanel .quoteForm{
  width:100%;
  min-width:0;
}

.quoteOnlyPanel .quoteForm .consent{
  display:grid!important;
  grid-template-columns:20px minmax(0,1fr)!important;
  align-items:start!important;
  justify-content:start!important;
  column-gap:12px!important;
  row-gap:0!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:8px 0 4px!important;
  padding:0!important;
  text-align:left!important;
}

.quoteOnlyPanel .quoteForm .consent input[type="checkbox"]{
  appearance:auto!important;
  -webkit-appearance:checkbox!important;
  box-sizing:border-box!important;
  display:block!important;
  width:20px!important;
  min-width:20px!important;
  max-width:20px!important;
  height:20px!important;
  min-height:20px!important;
  margin:2px 0 0!important;
  padding:0!important;
  justify-self:start!important;
  align-self:start!important;
}

.quoteOnlyPanel .quoteForm .consent span{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  max-width:680px!important;
  margin:0!important;
  padding:0!important;
  color:#D0D2CC!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.6!important;
  letter-spacing:0!important;
  text-transform:none!important;
  text-align:left!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
}

.quoteOnlyPanel .quoteForm .consent a{
  display:inline!important;
  color:#fff!important;
  white-space:normal!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}

.quoteOnlyPanel .quoteForm .formHelp{
  display:block;
  margin-top:-5px;
  color:#C8CAC3;
  font-size:12px;
  line-height:1.5;
}

.quoteOnlyPanel .quoteForm textarea + .formHelp{
  margin-top:-8px;
}

.quoteOnlyPanel .quoteForm .btn{
  margin-top:6px;
}

@media (width<=700px){
  .quoteOnlyPanel .quoteForm .consent{
    grid-template-columns:22px minmax(0,1fr)!important;
    column-gap:12px!important;
  }

  .quoteOnlyPanel .quoteForm .consent input[type="checkbox"]{
    width:22px!important;
    min-width:22px!important;
    max-width:22px!important;
    height:22px!important;
    min-height:22px!important;
  }

  .quoteOnlyPanel .quoteForm .consent span{
    max-width:none!important;
    font-size:13px!important;
  }
}


/* =========================================================
   HOMEPAGE V4 — 3 RÉALISATIONS + CARTE ZONES
   ========================================================= */
#projets .gallery{
  grid-template-columns:1.25fr .75fr;
  grid-template-rows:repeat(2,minmax(260px,320px));
  grid-auto-rows:unset;
}
#projets .gallery figure:first-child{
  grid-row:1 / span 2;
}
#projets .gallery figure:nth-child(2){
  grid-column:2;
  grid-row:1;
}
#projets .gallery figure:nth-child(3){
  grid-column:2;
  grid-row:2;
}

.homeAreasMap{
  grid-column:1 / -1;
  width:100%;
  aspect-ratio:16 / 6;
  margin-top:8px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.28);
  background:#e8e8e2;
  box-shadow:0 22px 55px rgba(0,0,0,.16);
}
.homeAreasMap iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
}

@media (width<=900px){
  #projets .gallery{
    grid-template-columns:1fr;
    grid-template-rows:none;
    grid-auto-rows:270px;
  }
  #projets .gallery figure:first-child,
  #projets .gallery figure:nth-child(2),
  #projets .gallery figure:nth-child(3){
    grid-column:auto;
    grid-row:auto;
  }
  .homeAreasMap{
    aspect-ratio:4 / 3;
    margin-top:14px;
  }
}


/* =========================================================
   HOMEPAGE V5 — ZONES DESSERVIES EN 2 COLONNES
   Colonne 1: texte + liens
   Colonne 2: carte
   ========================================================= */
#zones.areas{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);
  gap:clamp(42px,6vw,92px);
  align-items:center;
}

#zones .homeAreasContent{
  min-width:0;
}

#zones .homeAreasContent>div:first-child{
  margin-bottom:30px;
}

#zones .homeAreasContent>div:first-child>p{
  max-width:560px;
}

#zones .areaList{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-content:start;
  gap:0 24px;
}

#zones .areaList a{
  display:block;
  min-width:0;
}

#zones .homeAreasMap{
  grid-column:auto;
  width:100%;
  aspect-ratio:4 / 3;
  margin:0;
  align-self:stretch;
  min-height:430px;
}

@media (width<=980px){
  #zones.areas{
    grid-template-columns:1fr;
    gap:36px;
  }

  #zones .homeAreasMap{
    min-height:0;
    aspect-ratio:16 / 9;
  }
}

@media (width<=640px){
  #zones .areaList{
    grid-template-columns:1fr;
  }

  #zones .homeAreasMap{
    aspect-ratio:4 / 3;
  }
}


/* =========================================================
   PUBLIC COPY CLEANUP V6
   Decorative eyebrow/badge labels removed site-wide.
   ========================================================= */
.eyebrow,
.globalHeroEyebrow,
.globalFinalCtaEyebrow{
  display:none!important;
}

.categoryCard h3{
  margin-top:0;
}

#projets figcaption{
  gap:0;
}

.childRelatedLinks article h3{
  margin-top:0;
}


/* =========================================================
   V7 — STICKY HEADER
   ========================================================= */
global-header{
  display:block!important;
  position:sticky!important;
  top:0!important;
  z-index:12000!important;
  width:100%!important;
}
global-header .globalHeader{
  position:relative!important;
  top:auto!important;
  z-index:auto!important;
  width:100%!important;
}
body{
  overflow-x:clip;
}

/* =========================================================
   V7 — INDIVIDUAL SERVICE PAGES
   Visual system based on the approved Terrassement page.
   ========================================================= */
.terrassementStyleServicePage main{
  background:var(--paper);
}
.terrassementStyleServicePage main>section{
  scroll-margin-top:120px;
}

/* Intro — same light two-column feeling as Terrassement overview */
.terrassementStyleServicePage .coreIntro,
.terrassementStyleServicePage .childIntro{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(360px,1.18fr);
  gap:clamp(48px,7vw,110px);
  align-items:center;
  padding:105px 6vw;
  background:var(--paper);
}
.terrassementStyleServicePage .coreIntroCopy,
.terrassementStyleServicePage .childIntroContent{
  min-width:0;
}
.terrassementStyleServicePage .coreIntro h2,
.terrassementStyleServicePage .childIntro h2,
.terrassementStyleServicePage .coreSituations h2,
.terrassementStyleServicePage .childSituations h2,
.terrassementStyleServicePage .coreScope h2,
.terrassementStyleServicePage .childScope h2,
.terrassementStyleServicePage .coreOptions h2,
.terrassementStyleServicePage .coreBenefits h2,
.terrassementStyleServicePage .coreWhy h2,
.terrassementStyleServicePage .childWhy h2,
.terrassementStyleServicePage .coreConsiderations h2,
.terrassementStyleServicePage .childConsiderations h2,
.terrassementStyleServicePage .coreProcess h2,
.terrassementStyleServicePage .childProcess h2,
.terrassementStyleServicePage .coreProof h2,
.terrassementStyleServicePage .coreRelated h2,
.terrassementStyleServicePage .childRelated h2,
.terrassementStyleServicePage .coreAreas h2,
.terrassementStyleServicePage .childAreas h2,
.terrassementStyleServicePage .coreFaq h2,
.terrassementStyleServicePage .childFaq h2{
  margin:0;
  text-transform:uppercase;
  letter-spacing:-.02em;
  font:800 clamp(44px,5vw,70px)/.94 "Barlow Condensed","Arial Narrow",Arial,sans-serif;
}
.terrassementStyleServicePage .coreIntro .prose,
.terrassementStyleServicePage .childIntro .prose{
  color:#51544D;
  font-size:16px;
  line-height:1.78;
}
.terrassementStyleServicePage .coreIntroImage,
.terrassementStyleServicePage .childIntroImage{
  margin:0;
  min-width:0;
  overflow:hidden;
}
.terrassementStyleServicePage .coreIntroImage img,
.terrassementStyleServicePage .childIntroImage img{
  display:block;
  width:100%;
  height:520px;
  object-fit:cover;
}

/* Situations — same dark numbered-card section as Terrassement */
.terrassementStyleServicePage .coreSituations,
.terrassementStyleServicePage .childSituations{
  padding:100px 6vw;
  background:#171815;
  color:#fff;
}
.terrassementStyleServicePage .coreSituations .sectionHead>p,
.terrassementStyleServicePage .childSituations .sectionHead>p{
  color:#D0D2CC;
}
.terrassementStyleServicePage .coreSituationGrid,
.terrassementStyleServicePage .childCardGrid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  margin-top:48px;
  background:#ffffff20;
  border:1px solid #ffffff20;
}
.terrassementStyleServicePage .coreSituationGrid article,
.terrassementStyleServicePage .childCardGrid article{
  min-width:0;
  padding:34px 28px;
  background:#20211d;
}
.terrassementStyleServicePage .coreSituationGrid span,
.terrassementStyleServicePage .childCardGrid span{
  display:block;
  margin-bottom:32px;
  color:var(--yellow);
  font:800 13px Inter,Arial,sans-serif;
  letter-spacing:.15em;
}
.terrassementStyleServicePage .coreSituationGrid h3,
.terrassementStyleServicePage .childCardGrid h3{
  margin:0;
  text-transform:uppercase;
  font:800 28px/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif;
}
.terrassementStyleServicePage .coreSituationGrid p,
.terrassementStyleServicePage .childCardGrid p{
  margin:18px 0 0;
  color:#D0D2CC;
  font-size:14px;
  line-height:1.7;
}

/* Scope / options — white service cards on cream */
.terrassementStyleServicePage .coreScope,
.terrassementStyleServicePage .childScope,
.terrassementStyleServicePage .coreOptions{
  padding:105px 6vw 115px;
  background:var(--cream);
}
.terrassementStyleServicePage .coreScopeGrid,
.terrassementStyleServicePage .childScopeGrid,
.terrassementStyleServicePage .coreOptionGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:48px;
}
.terrassementStyleServicePage .coreScopeGrid article,
.terrassementStyleServicePage .childScopeGrid article,
.terrassementStyleServicePage .coreOptionGrid article{
  min-width:0;
  padding:30px;
  background:#fff;
  border-top:4px solid #006AD6;
}
.terrassementStyleServicePage .coreScopeGrid h3,
.terrassementStyleServicePage .childScopeGrid h3,
.terrassementStyleServicePage .coreOptionGrid h3{
  margin:0;
  text-transform:uppercase;
  font:800 28px/1.02 "Barlow Condensed","Arial Narrow",Arial,sans-serif;
}
.terrassementStyleServicePage .coreScopeGrid p,
.terrassementStyleServicePage .childScopeGrid p,
.terrassementStyleServicePage .coreOptionGrid p{
  margin:17px 0 0;
  color:#51544D;
  font-size:14px;
  line-height:1.68;
}

/* Benefits / why / considerations — blue feature band */
.terrassementStyleServicePage .coreBenefits,
.terrassementStyleServicePage .coreWhy,
.terrassementStyleServicePage .childWhy,
.terrassementStyleServicePage .coreConsiderations,
.terrassementStyleServicePage .childConsiderations{
  padding:100px 6vw;
  background:#006AD6;
  color:#fff;
}
.terrassementStyleServicePage .coreBenefitGrid,
.terrassementStyleServicePage .coreWhyGrid,
.terrassementStyleServicePage .childWhyGrid,
.terrassementStyleServicePage .coreConsiderationList,
.terrassementStyleServicePage .childConsiderationList{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:44px;
}
.terrassementStyleServicePage .coreBenefitGrid article,
.terrassementStyleServicePage .coreWhyGrid article,
.terrassementStyleServicePage .childWhyGrid article,
.terrassementStyleServicePage .coreConsiderationList article,
.terrassementStyleServicePage .childConsiderationList article{
  min-width:0;
  padding:28px;
  background:#005bb8;
  border-left:3px solid var(--yellow);
}
.terrassementStyleServicePage .coreBenefitGrid h3,
.terrassementStyleServicePage .coreWhyGrid h3,
.terrassementStyleServicePage .childWhyGrid h3,
.terrassementStyleServicePage .coreConsiderationList strong,
.terrassementStyleServicePage .childConsiderationList strong{
  display:block;
  margin:0;
  color:#fff;
  text-transform:uppercase;
  font:800 26px/1.05 "Barlow Condensed","Arial Narrow",Arial,sans-serif;
}
.terrassementStyleServicePage .coreBenefitGrid p,
.terrassementStyleServicePage .coreWhyGrid p,
.terrassementStyleServicePage .childWhyGrid p,
.terrassementStyleServicePage .coreConsiderationList p,
.terrassementStyleServicePage .childConsiderationList p{
  margin:15px 0 0;
  color:#E8F5FF;
  font-size:14px;
  line-height:1.68;
}

/* Process — dark numbered sequence, same family as Terrassement */
.terrassementStyleServicePage .coreProcess,
.terrassementStyleServicePage .childProcess{
  padding:105px 6vw;
  background:#171815;
  color:#fff;
}
.terrassementStyleServicePage .coreProcessGrid,
.terrassementStyleServicePage .childProcessGrid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  margin:50px 0 0;
  padding:0;
  list-style:none;
  background:#ffffff1c;
  border:1px solid #ffffff1c;
}
.terrassementStyleServicePage .coreProcessGrid li,
.terrassementStyleServicePage .childProcessGrid li{
  min-width:0;
  padding:30px 24px;
  background:#20211d;
}
.terrassementStyleServicePage .coreProcessGrid span,
.terrassementStyleServicePage .childProcessGrid span{
  display:block;
  margin-bottom:28px;
  color:var(--yellow);
  font:800 13px Inter,Arial,sans-serif;
  letter-spacing:.15em;
}
.terrassementStyleServicePage .coreProcessGrid h3,
.terrassementStyleServicePage .childProcessGrid h3{
  margin:0;
  color:#fff;
  text-transform:uppercase;
  font:800 26px/1.05 "Barlow Condensed","Arial Narrow",Arial,sans-serif;
}
.terrassementStyleServicePage .coreProcessGrid p,
.terrassementStyleServicePage .childProcessGrid p{
  margin:16px 0 0;
  color:#D0D2CC;
  font-size:13px;
  line-height:1.68;
}

/* Proof — light gallery block */
.terrassementStyleServicePage .coreProof{
  padding:105px 6vw;
  background:var(--cream);
}
.terrassementStyleServicePage .coreProofGrid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:14px;
  margin-top:46px;
}
.terrassementStyleServicePage .coreProofGrid figure{
  margin:0;
  min-width:0;
}
.terrassementStyleServicePage .coreProofGrid img{
  display:block;
  width:100%;
  height:420px;
  object-fit:cover;
}
.terrassementStyleServicePage .coreProofGrid figure+figure img{
  height:330px;
  margin-top:90px;
}
.terrassementStyleServicePage .coreProofGrid figcaption{
  margin-top:10px;
  color:#51544D;
  font-size:13px;
}

/* Related services — blue cards like Terrassement */
.terrassementStyleServicePage .coreRelated,
.terrassementStyleServicePage .childRelated{
  padding:105px 6vw;
  background:#006AD6;
  color:#fff;
}
.terrassementStyleServicePage .coreRelatedGrid,
.terrassementStyleServicePage .childRelatedLinks{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:48px;
}
.terrassementStyleServicePage .coreRelatedGrid article,
.terrassementStyleServicePage .childRelatedLinks article,
.terrassementStyleServicePage .childParentCard{
  min-width:0;
  padding:30px;
  background:#005bb8;
  border-top:4px solid var(--yellow);
}
.terrassementStyleServicePage .coreRelatedGrid h3,
.terrassementStyleServicePage .childRelated h3{
  margin:0;
  color:#fff;
  text-transform:uppercase;
  font:800 28px/1.05 "Barlow Condensed","Arial Narrow",Arial,sans-serif;
}
.terrassementStyleServicePage .coreRelatedGrid a,
.terrassementStyleServicePage .childRelated a{
  color:#fff;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:4px;
}

/* Areas + FAQ — clean light ending */
.terrassementStyleServicePage .coreAreas,
.terrassementStyleServicePage .childAreas{
  display:grid;
  grid-template-columns:minmax(0,1fr) max-content;
  gap:40px;
  align-items:end;
  padding:85px 6vw;
  background:var(--paper);
}
.terrassementStyleServicePage .coreAreas p,
.terrassementStyleServicePage .childAreas p{
  color:#51544D;
  line-height:1.75;
}
.terrassementStyleServicePage .coreFaq,
.terrassementStyleServicePage .childFaq{
  padding:105px 6vw 120px;
  background:var(--paper);
}
.terrassementStyleServicePage .coreFaq .faqGrid,
.terrassementStyleServicePage .childFaqGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:48px;
}
.terrassementStyleServicePage .coreFaq .faqGrid article,
.terrassementStyleServicePage .childFaqGrid article{
  min-width:0;
  padding:30px;
  background:#fff;
  border-top:3px solid #006AD6;
}
.terrassementStyleServicePage .coreFaq h3,
.terrassementStyleServicePage .childFaq h3{
  margin:0;
  text-transform:uppercase;
  font:800 27px/1.03 "Barlow Condensed","Arial Narrow",Arial,sans-serif;
}
.terrassementStyleServicePage .coreFaq p,
.terrassementStyleServicePage .childFaq p{
  color:#51544D;
  font-size:14px;
  line-height:1.75;
}

@media (width<=980px){
  .terrassementStyleServicePage .coreIntro,
  .terrassementStyleServicePage .childIntro{
    grid-template-columns:1fr;
  }
  .terrassementStyleServicePage .coreSituationGrid,
  .terrassementStyleServicePage .childCardGrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .terrassementStyleServicePage .coreProcessGrid,
  .terrassementStyleServicePage .childProcessGrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .terrassementStyleServicePage .coreRelatedGrid,
  .terrassementStyleServicePage .childRelatedLinks{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (width<=700px){
  .terrassementStyleServicePage .coreIntro,
  .terrassementStyleServicePage .childIntro,
  .terrassementStyleServicePage .coreSituations,
  .terrassementStyleServicePage .childSituations,
  .terrassementStyleServicePage .coreScope,
  .terrassementStyleServicePage .childScope,
  .terrassementStyleServicePage .coreOptions,
  .terrassementStyleServicePage .coreBenefits,
  .terrassementStyleServicePage .coreWhy,
  .terrassementStyleServicePage .childWhy,
  .terrassementStyleServicePage .coreConsiderations,
  .terrassementStyleServicePage .childConsiderations,
  .terrassementStyleServicePage .coreProcess,
  .terrassementStyleServicePage .childProcess,
  .terrassementStyleServicePage .coreProof,
  .terrassementStyleServicePage .coreRelated,
  .terrassementStyleServicePage .childRelated,
  .terrassementStyleServicePage .coreAreas,
  .terrassementStyleServicePage .childAreas,
  .terrassementStyleServicePage .coreFaq,
  .terrassementStyleServicePage .childFaq{
    padding-left:22px;
    padding-right:22px;
  }
  .terrassementStyleServicePage .coreSituationGrid,
  .terrassementStyleServicePage .childCardGrid,
  .terrassementStyleServicePage .coreScopeGrid,
  .terrassementStyleServicePage .childScopeGrid,
  .terrassementStyleServicePage .coreOptionGrid,
  .terrassementStyleServicePage .coreBenefitGrid,
  .terrassementStyleServicePage .coreWhyGrid,
  .terrassementStyleServicePage .childWhyGrid,
  .terrassementStyleServicePage .coreConsiderationList,
  .terrassementStyleServicePage .childConsiderationList,
  .terrassementStyleServicePage .coreProcessGrid,
  .terrassementStyleServicePage .childProcessGrid,
  .terrassementStyleServicePage .coreProofGrid,
  .terrassementStyleServicePage .coreRelatedGrid,
  .terrassementStyleServicePage .childRelatedLinks,
  .terrassementStyleServicePage .coreFaq .faqGrid,
  .terrassementStyleServicePage .childFaqGrid{
    grid-template-columns:1fr;
  }
  .terrassementStyleServicePage .coreIntroImage img,
  .terrassementStyleServicePage .childIntroImage img{
    height:320px;
  }
  .terrassementStyleServicePage .coreProofGrid img,
  .terrassementStyleServicePage .coreProofGrid figure+figure img{
    height:280px;
    margin-top:0;
  }
  .terrassementStyleServicePage .coreAreas,
  .terrassementStyleServicePage .childAreas{
    grid-template-columns:1fr;
    align-items:start;
  }
}

/* =========================================================
   V7 — COMPLETE THANK-YOU PAGES
   ========================================================= */
.thankYouCompletePage{
  background:#F3F1EB;
  color:#171815;
}
.thankYouComplete{
  min-height:calc(100vh - 90px);
}
.thankYouCompleteHero{
  min-height:560px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:clamp(110px,12vw,170px) 6vw clamp(80px,9vw,125px);
  background:
    linear-gradient(90deg,rgba(17,19,15,.96),rgba(17,19,15,.82)),
    url(images/excavation-mathieu-gg-hero.webp) center/cover no-repeat;
  color:#fff;
}
.thankYouCheck{
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  margin-bottom:28px;
  border:2px solid var(--yellow);
  border-radius:50%;
  color:var(--yellow);
  font-size:34px;
  font-weight:900;
}
.thankYouCompleteHero h1{
  max-width:980px;
  margin:0;
  text-transform:uppercase;
  font:800 clamp(54px,7vw,92px)/.92 "Barlow Condensed","Arial Narrow",Arial,sans-serif;
}
.thankYouCompleteHero>p{
  max-width:760px;
  margin:26px 0 0;
  color:#D0D2CC;
  font-size:17px;
  line-height:1.75;
}
.thankYouActions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:34px;
}
.thankYouNext{
  padding:95px 6vw 110px;
  background:var(--paper);
}
.thankYouNextInner,
.thankYouLinksInner{
  width:min(1180px,100%);
  margin-inline:auto;
}
.thankYouNext h2,
.thankYouLinks h2{
  margin:0;
  text-transform:uppercase;
  font:800 clamp(44px,5vw,70px)/.94 "Barlow Condensed","Arial Narrow",Arial,sans-serif;
}
.thankYouNextGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin-top:46px;
  background:#D7D8D2;
  border:1px solid #D7D8D2;
}
.thankYouNextGrid article{
  min-width:0;
  padding:32px;
  background:#fff;
}
.thankYouNextGrid span{
  display:block;
  margin-bottom:30px;
  color:#006AD6;
  font-weight:900;
  letter-spacing:.14em;
}
.thankYouNextGrid h3{
  margin:0;
  text-transform:uppercase;
  font:800 29px/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif;
}
.thankYouNextGrid p{
  margin:16px 0 0;
  color:#51544D;
  font-size:14px;
  line-height:1.7;
}
.thankYouLinks{
  padding:90px 6vw 105px;
  background:#006AD6;
  color:#fff;
}
.thankYouLinkGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:38px;
}
.thankYouLinkGrid a{
  display:flex;
  align-items:center;
  min-height:78px;
  padding:22px 24px;
  background:#005BB8;
  border-left:4px solid var(--yellow);
  color:#fff;
  text-transform:uppercase;
  font:800 24px/1 "Barlow Condensed","Arial Narrow",Arial,sans-serif;
}
@media (width<=700px){
  .thankYouCompleteHero,
  .thankYouNext,
  .thankYouLinks{
    padding-left:22px;
    padding-right:22px;
  }
  .thankYouNextGrid,
  .thankYouLinkGrid{
    grid-template-columns:1fr;
  }
  .thankYouActions{
    width:100%;
  }
  .thankYouActions .btn{
    width:100%;
    text-align:center;
  }
}


/* =========================================================
   V9 — CONTRASTE + RÉALISATIONS PROPRES À CHAQUE SERVICE
   ========================================================= */

/* Les sections Réalisations sont sur fond clair : aucun lien blanc ici. */
.categoryProof .darklink,
.categoryProof .sectionHeadLink,
.terrassementStyleServicePage .coreProof .darklink,
.terrassementStyleServicePage .coreProof .sectionHeadLink{
  color:#075F92!important;
  border-color:#075F92!important;
  text-decoration-color:#075F92!important;
}
.categoryProof .darklink:hover,
.categoryProof .sectionHeadLink:hover,
.terrassementStyleServicePage .coreProof .darklink:hover,
.terrassementStyleServicePage .coreProof .sectionHeadLink:hover{
  color:#064D76!important;
  border-color:#064D76!important;
}

/* Une seule photo approuvée : mise en page volontaire, pas de faux remplissage. */
.terrassementStyleServicePage .coreProofGrid.coreProofGridSingle,
.terrassementStyleServicePage .coreProofGallery.coreProofGallerySingle,
.categoryProofGallery.categoryProofGallerySingle{
  grid-template-columns:minmax(0,1fr)!important;
}
.terrassementStyleServicePage .coreProofGrid.coreProofGridSingle{
  width:min(900px,100%);
  margin:46px auto 0;
}
.terrassementStyleServicePage .coreProofGrid.coreProofGridSingle img{
  height:clamp(360px,48vw,620px)!important;
  min-height:0!important;
  margin-top:0!important;
}
.terrassementStyleServicePage .coreProofGallery.coreProofGallerySingle img{
  min-height:0!important;
  height:clamp(380px,52vw,690px)!important;
}
.categoryProofGallery.categoryProofGallerySingle img{
  width:100%;
  min-height:0;
  height:clamp(380px,52vw,690px);
  object-fit:cover;
}

/* Contraste explicite du texte secondaire sur les fonds papier/crème. */
.categoryProofContent>p,
.terrassementStyleServicePage .coreProof figcaption{
  color:#51544D!important;
}


/* =========================================================
   V16 — SERVICE-SPECIFIC PROJECT GALLERIES
   ========================================================= */
.servicePhotoProof{
  padding:105px 6vw;
  background:var(--cream);
}
.servicePhotoProof .sectionHead{
  margin:0;
}
.servicePhotoProof .sectionHead h2{
  margin:0;
  color:#0A0E10;
  text-transform:uppercase;
  letter-spacing:-.02em;
  font:800 clamp(44px,5vw,70px)/.94 "Barlow Condensed","Arial Narrow",Arial,sans-serif;
}
.servicePhotoProof .sectionHeadLink{
  color:#075F92;
  border-bottom:1px solid #075F92;
}
.servicePhotoGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:46px;
}
.servicePhotoGrid figure{
  margin:0;
  min-width:0;
  background:#fff;
}
.servicePhotoGrid img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  background:#d9d9d4;
}
.servicePhotoGrid figcaption{
  min-height:58px;
  padding:14px 16px 16px;
  color:#30332F;
  font-size:13px;
  line-height:1.45;
}
@media(max-width:1000px){
  .servicePhotoGrid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:700px){
  .servicePhotoProof{
    padding:78px max(var(--mobile-content-gutter,22px),env(safe-area-inset-right,0px));
  }
  .servicePhotoProof .sectionHead{
    display:block;
  }
  .servicePhotoProof .sectionHeadLink{
    display:inline-block;
    margin-top:20px;
  }
  .servicePhotoGrid{grid-template-columns:1fr;gap:16px;margin-top:34px;}
  .servicePhotoGrid figcaption{min-height:0;}
}


/* =========================================================
   V18 — CANONICAL SERVICE PAGE LAYOUT
   All 14 service pages use the Terrassement section system.
   ========================================================= */
.serviceTemplatePage{background:var(--paper);color:#171815;}
.serviceTemplatePage main{background:var(--paper);}
.serviceTemplatePage main>section{scroll-margin-top:120px;}
.serviceTemplatePage .sectionHead>p,
.serviceTemplatePage .sectionHeadAside,
.serviceTemplatePage .sectionHeadNote,
.serviceTemplatePage .sectionIntroNote,
.serviceTemplatePage .serviceBadge,
.serviceTemplatePage .categoryBadge,
.serviceTemplatePage .eyebrow{display:none!important;}

.serviceTemplatePage .categoryOverview{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:8vw;padding:105px 6vw;background:var(--paper);}
.serviceTemplatePage .categoryOverviewBody p{margin-top:0;}
.serviceTemplatePage .categoryOverviewBody p+p{margin-top:20px;}

.serviceTemplatePage .categoryProblems{padding:100px 6vw;background:#171815;color:#fff;}
.serviceTemplatePage .categoryProblemGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:48px;background:#ffffff20;border:1px solid #ffffff20;}
.serviceTemplatePage .categoryProblemGrid article{min-width:0;background:#20211d;padding:34px 28px;}

.serviceTemplatePage .categoryChildServices{padding:105px 6vw 115px;background:var(--cream);}
.serviceTemplatePage .categoryChildGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:48px;}
.serviceTemplatePage .categoryChildGrid article{display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:245px;padding:30px;background:#fff;border-top:4px solid #006AD6;}
.serviceTemplatePage .categoryChildGrid p{margin-bottom:24px;}
.serviceTemplatePage .categoryChildGrid a{margin-top:auto;}

.serviceTemplatePage .categoryBenefits{display:grid;grid-template-columns:minmax(360px,.85fr) minmax(0,1.15fr);background:#006AD6;color:#fff;}
.serviceTemplatePage .categoryBenefitImage{min-width:0;overflow:hidden;}
.serviceTemplatePage .categoryBenefitImage img{display:block;width:100%;height:100%;min-height:760px;object-fit:cover;}
.serviceTemplatePage .categoryBenefitContent{padding:95px 6vw;}
.serviceTemplatePage .categoryBenefitList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:44px;}

.serviceTemplatePage .categoryWhy{padding:105px 6vw;background:var(--paper);}
.serviceTemplatePage .categoryWhyGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:48px;}

.serviceTemplatePage .categoryProcess{padding:105px 6vw;background:#171815;color:#fff;}
.serviceTemplatePage .categoryProcessGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;margin:50px 0 0;padding:0;list-style:none;background:#ffffff1c;border:1px solid #ffffff1c;}

.serviceTemplatePage .servicePhotoProof{padding:105px 6vw;background:var(--cream);}
.serviceTemplatePage .servicePhotoProof .sectionHead{margin:0;}
.serviceTemplatePage .servicePhotoGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:46px;}
.serviceTemplatePage .servicePhotoGrid figure{margin:0;min-width:0;background:#fff;}
.serviceTemplatePage .servicePhotoGrid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#d9d9d4;}
.serviceTemplatePage .servicePhotoGrid figcaption{display:none!important;}

.serviceTemplatePage .categoryRelated{padding:105px 6vw;background:#006AD6;color:#fff;}
.serviceTemplatePage .categoryRelatedGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:48px;}
.serviceTemplatePage .categoryRelatedGrid article{display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:260px;padding:30px;background:#005bb8;border-top:4px solid var(--yellow);}
.serviceTemplatePage .categoryRelatedGrid a{margin-top:auto;}

.serviceTemplatePage .categoryFaq{padding:105px 6vw 120px;background:var(--paper);}
.serviceTemplatePage .categoryFaqGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:48px;}

@media (max-width:1180px){
  .serviceTemplatePage .categoryProblemGrid,.serviceTemplatePage .categoryWhyGrid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .serviceTemplatePage .categoryProcessGrid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:900px){
  .serviceTemplatePage .categoryOverview,.serviceTemplatePage .categoryBenefits{grid-template-columns:1fr;}
  .serviceTemplatePage .categoryBenefitImage img{min-height:420px;max-height:620px;}
  .serviceTemplatePage .categoryChildGrid,.serviceTemplatePage .categoryBenefitList,.serviceTemplatePage .categoryRelatedGrid,.serviceTemplatePage .categoryFaqGrid,.serviceTemplatePage .servicePhotoGrid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:700px){
  .serviceTemplatePage .categoryOverview,.serviceTemplatePage .categoryProblems,.serviceTemplatePage .categoryChildServices,.serviceTemplatePage .categoryWhy,.serviceTemplatePage .categoryProcess,.serviceTemplatePage .servicePhotoProof,.serviceTemplatePage .categoryRelated,.serviceTemplatePage .categoryFaq{padding-left:22px;padding-right:22px;}
  .serviceTemplatePage .categoryOverview,.serviceTemplatePage .categoryProblemGrid,.serviceTemplatePage .categoryChildGrid,.serviceTemplatePage .categoryBenefitList,.serviceTemplatePage .categoryWhyGrid,.serviceTemplatePage .categoryProcessGrid,.serviceTemplatePage .categoryRelatedGrid,.serviceTemplatePage .categoryFaqGrid,.serviceTemplatePage .servicePhotoGrid{grid-template-columns:1fr;}
  .serviceTemplatePage .categoryBenefitContent{padding:78px 22px;}
  .serviceTemplatePage .categoryBenefitImage img{min-height:320px;max-height:430px;}
  .serviceTemplatePage .categoryChildGrid article,.serviceTemplatePage .categoryRelatedGrid article{min-height:0;}
}


/* =========================================================
   CONTACT V19 — SAME FORM MODEL AS /SOUmission/
   ========================================================= */
.contactQuoteSection{
  padding:110px 6vw;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  background:#f3f1eb;
}
.contactQuotePanel{
  width:min(780px,100%);
  margin:0 auto;
}
.quoteOnlyPanel h2{
  margin:0 0 12px;
  text-transform:uppercase;
  color:#fff;
  font:800 clamp(42px,6vw,68px)/.95 "Barlow Condensed","Arial Narrow",Arial,sans-serif;
}
@media (width<=700px){
  .contactQuoteSection{
    padding-top:72px!important;
    padding-left:max(var(--mobile-content-gutter),env(safe-area-inset-left,0px))!important;
    padding-right:max(var(--mobile-content-gutter),env(safe-area-inset-right,0px))!important;
    padding-bottom:72px!important;
  }
}
