:root{
  --navy:#031c3d;--blue:#0752a6;--blue-dark:#062d63;--yellow:#ffd21f;
  --text:#10233f;--muted:#4b5f78;--light:#f5f8fc;--border:#dfe7f0;
  --white:#fff;--shadow:0 12px 36px rgba(3,28,61,.10);--radius:20px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;color:var(--text);background:var(--white);line-height:1.65}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}
a:focus-visible,summary:focus-visible{outline:3px solid var(--yellow);outline-offset:4px;border-radius:4px}
.skip-link{position:absolute;left:-9999px;top:0}.skip-link:focus{left:16px;top:16px;z-index:9999;background:var(--yellow);padding:10px 14px;font-weight:800}
.site-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:24px;padding:10px max(24px,calc((100vw - 1200px)/2));background:rgba(255,255,255,.97);box-shadow:0 3px 18px rgba(3,28,61,.12);backdrop-filter:blur(8px)}
.brand-link{flex:0 0 auto}.logo{width:105px;height:76px;object-fit:contain}
.site-header nav{display:flex;align-items:center;justify-content:center;gap:24px;flex:1;font-size:14px;font-weight:800;text-transform:uppercase}
.site-header nav a{padding:8px 0;color:var(--navy)}
.call{flex:0 0 auto;background:var(--yellow);color:#111;padding:12px 18px;border-radius:12px;font-weight:900;white-space:nowrap}
.hero{min-height:540px;display:flex;align-items:center;color:#fff;padding:80px 28px;background:linear-gradient(90deg,rgba(3,28,61,.98) 0%,rgba(3,28,61,.88) 52%,rgba(3,28,61,.28) 100%),url('/assets/camion.webp') center/cover no-repeat}
.hero-inner{width:min(1180px,100%);margin:auto}.hero-badge{display:inline-block;padding:8px 13px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(255,255,255,.10);font-weight:800}
h1,h2,h3{line-height:1.18;color:var(--navy)}
.hero h1{max-width:900px;margin:18px 0;font-size:clamp(2.45rem,5.6vw,4.5rem);text-transform:uppercase;color:#fff}.hero h1 span{color:var(--yellow)}
.hero p{max-width:850px;font-size:clamp(1.08rem,2vw,1.35rem);font-weight:700}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-block;margin-top:14px;padding:14px 22px;border-radius:11px;font-weight:900;text-transform:uppercase;letter-spacing:.02em;transition:transform .18s ease;text-align:center}.btn:hover{text-decoration:none;transform:translateY(-2px)}
.btn-yellow{background:var(--yellow);color:#111}.btn-blue{background:var(--blue-dark);color:#fff}.btn-dark{background:#111827;color:#fff}.btn-light{background:#fff;color:var(--navy)}
.points{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:850px;margin-top:34px}.point{padding:14px;border-radius:14px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.09);font-weight:800}.point span{display:block;color:var(--yellow);font-size:1.15rem}
.section{padding:72px 28px}.title{max-width:900px;margin:0 auto 38px;text-align:center}.title-left{text-align:left;margin-left:0}.title small,.page-hero small,.zone small{font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--blue)}
.title h2{font-size:clamp(1.8rem,3.5vw,2.65rem);margin:8px 0 12px;text-transform:uppercase}.title p{color:var(--muted);font-size:1.08rem}
.grid{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:25px;box-shadow:var(--shadow)}.service-card{display:flex;flex-direction:column;min-height:360px;text-align:center}.service-img{width:128px;height:128px;object-fit:contain;margin:0 auto 8px}.card h3{font-size:1.13rem;text-transform:uppercase}.card p{color:var(--muted)}.card-link{margin-top:auto;color:var(--blue-dark);font-weight:900;text-decoration:underline}
.trust-section,.alt-section{background:var(--light)}.split-layout{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}.image-panel img{border-radius:var(--radius);box-shadow:var(--shadow)}
.check-list{padding:0;list-style:none}.check-list li{position:relative;margin:11px 0;padding-left:30px}.check-list li::before{content:'✓';position:absolute;left:0;color:var(--blue);font-weight:900}
.photos-section{background:#fff}.photo-grid{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.photo-card{margin:0;background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.photo-card img{width:100%;height:360px;object-fit:contain;background:#fff}.photo-card figcaption{display:flex;flex-direction:column;gap:5px;padding:16px 18px;color:var(--muted)}.photo-card figcaption strong{color:var(--navy)}
.center{text-align:center}
.zone{color:#fff;background:linear-gradient(90deg,rgba(3,28,61,.98),rgba(3,28,61,.86)),url('/assets/camion.webp') center/cover no-repeat}.zone h2,.zone p,.zone small{color:#fff}.zone-wrap{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:35px;align-items:center}
.sector-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sector-card{display:flex;flex-direction:column;padding:20px;border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.10);border-radius:16px}.sector-card strong{font-size:1.05rem}.sector-card span{color:#d7e4f2;font-size:.92rem}.sector-links .sector-card{background:#fff;color:var(--navy);border-color:var(--border);box-shadow:var(--shadow)}.sector-links .sector-card span{color:var(--muted)}
.avis{background:var(--light)}.avis-grid{width:min(1100px,100%);margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.stars{color:#8a6200;font-size:1.9rem;letter-spacing:.08em}
.faq-wrap{width:min(980px,100%);margin:auto}.faq-wrap details{margin:13px 0;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(3,28,61,.06)}.faq-wrap summary{cursor:pointer;padding:18px 22px;font-weight:900;color:var(--navy)}.faq-wrap details p{margin:0;padding:0 22px 20px;color:var(--muted)}
.cta{padding:52px 28px;text-align:center;background:var(--yellow)}.cta h2{font-size:clamp(1.8rem,3.5vw,2.6rem);margin:0;text-transform:uppercase}.cta p{font-size:1.08rem;font-weight:700}
.page-hero{padding:70px 28px;background:linear-gradient(120deg,var(--navy),var(--blue-dark));color:#fff}.page-hero-wrap{width:min(1180px,100%);margin:auto}.page-hero h1{max-width:980px;color:#fff;font-size:clamp(2rem,4.5vw,3.5rem);text-transform:uppercase;margin:10px 0 14px}.page-hero p{max-width:900px;font-size:1.18rem;font-weight:700}.page-hero small{color:var(--yellow)}.compact-hero{padding-block:50px}
.breadcrumb{width:min(1180px,100%);margin:auto;padding:15px 28px;display:flex;gap:8px;flex-wrap:wrap;font-size:.9rem}.breadcrumb a{color:var(--blue-dark);text-decoration:underline}
.service-layout{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(310px,.9fr);gap:40px;align-items:start}.service-layout article>h2:first-child{margin-top:0}.lead-text{font-size:1.09rem;color:var(--muted)}.text-block{margin:32px 0}.text-block h2,.highlight h2{font-size:1.55rem}.highlight{margin:32px 0;padding:24px;border-left:5px solid var(--yellow);border-radius:14px;background:#fff9da}.side-card{position:sticky;top:120px;padding:23px;border:1px solid var(--border);border-radius:var(--radius);background:var(--light);box-shadow:var(--shadow)}.side-card img{width:100%;max-height:500px;object-fit:contain;background:#fff;border-radius:14px}.side-card h2{font-size:1.35rem}
.related-services{background:var(--light)}.related-grid{width:min(1050px,100%);margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.related-card{text-align:center;background:#fff;border:1px solid var(--border);border-radius:16px;padding:22px;box-shadow:var(--shadow)}.related-icon{width:72px;height:72px;object-fit:contain;margin:0 auto 12px}.related-card strong,.related-card span{display:block}.related-card span{color:var(--muted);text-decoration:underline}
.realisations-grid{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.realisation-card{display:grid;grid-template-columns:210px 1fr;gap:22px;align-items:center;border:1px solid var(--border);border-radius:var(--radius);padding:18px;background:#fff;box-shadow:var(--shadow)}.realisation-card img{width:210px;height:235px;object-fit:contain;background:#fff;border-radius:13px}
.zone-cards{width:min(1100px,100%);margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.zone-card{padding:25px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.zone-card h2{font-size:1.4rem}.zone-card span{font-weight:900;color:var(--blue-dark)}
.city-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 22px;padding:0;list-style:none}.city-list li{padding:9px 12px;border-radius:9px;background:#fff;border:1px solid var(--border)}.city-list.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.notice{padding:28px;border-radius:var(--radius);background:#fff;border:1px solid var(--border);box-shadow:var(--shadow)}
.service-mini-grid{width:min(1100px,100%);margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.service-mini{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--border);border-radius:14px;background:#fff}.mini-icon{width:50px;height:50px;object-fit:contain}.service-mini span{font-weight:800;color:var(--navy)}
.legal-content{width:min(900px,100%);margin:auto}.legal-content h2{margin-top:34px}.legal-content a{text-decoration:underline;color:var(--blue-dark)}
.error-page{min-height:65vh;display:grid;place-items:center;text-align:center;padding:60px 25px;background:var(--light)}.error-code{margin:0;font-size:6rem;font-weight:900;color:var(--yellow);text-shadow:3px 3px 0 var(--navy)}
footer{padding:52px 28px 24px;background:var(--navy);color:#fff}footer a{color:#fff}.footer-wrap{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:1.2fr 1fr 1.2fr 1.1fr;gap:34px}.footer-brand{color:var(--yellow);font-size:1.9rem;font-weight:900}.footer-brand span{display:block;color:#fff;font-size:1rem;letter-spacing:.1em}.footer-wrap h2{color:var(--yellow);font-size:1rem;text-transform:uppercase}.footer-wrap p{color:#d7e4f2}.footer-google{color:var(--yellow)!important;text-decoration:underline}.legal{text-align:center;border-top:1px solid rgba(255,255,255,.18);margin-top:35px;padding-top:20px;color:#b9c7d8;font-size:.88rem}
.deferred{}
@media(max-width:1050px){.site-header{flex-wrap:wrap}.site-header nav{order:3;flex-basis:100%;overflow-x:auto;justify-content:flex-start;padding-bottom:5px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-layout{grid-template-columns:1fr}.side-card{position:static;max-width:720px;margin:auto}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-wrap{grid-template-columns:repeat(2,minmax(0,1fr))}.service-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.site-header{position:static;padding:9px 16px;gap:10px}.logo{width:82px;height:65px}.call{margin-left:auto;font-size:.95rem;padding:11px 13px}.site-header nav{gap:18px;font-size:.8rem}.hero{min-height:500px;padding:55px 20px;background-position:58% center}.points,.grid,.photo-grid,.avis-grid,.sector-grid,.related-grid,.zone-cards,.realisations-grid{grid-template-columns:1fr}.split-layout,.zone-wrap{grid-template-columns:1fr}.section{padding:54px 20px}.page-hero{padding:54px 20px}.breadcrumb{padding-inline:20px}.photo-card img{height:auto;max-height:500px}.realisation-card{grid-template-columns:1fr}.realisation-card img{width:100%;height:auto;max-height:420px}.city-list,.city-list.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-wrap{grid-template-columns:1fr}.service-card{min-height:auto}.service-mini-grid{grid-template-columns:1fr}.btn{width:100%}.hero-actions{display:block}}
@media(max-width:430px){.call{width:100%;text-align:center}.brand-link{margin:auto}.site-header nav{font-size:.75rem}.city-list,.city-list.compact{grid-template-columns:1fr}.hero h1{font-size:2.25rem}.footer-wrap{gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

/* Version professionnelle 2026-07-25 — finition accessibilité, maintenance et conversion */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:110px}
body{overflow-wrap:anywhere}
section[id]{scroll-margin-top:110px}
.site-header nav a,.call,.btn,.service-mini,.zone-card{min-height:44px}
.site-header nav a{display:inline-flex;align-items:center;white-space:nowrap;overflow-wrap:normal;word-break:normal;flex:0 0 auto}
.inline-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.bordered{border:2px solid var(--blue-dark)}
.compact-zone-cards .zone-card h3{font-size:1.25rem;margin:0 0 8px;color:var(--navy)}
.sector-service-links{background:var(--light)}
.realisation-card p{color:var(--muted)}
img[alt=""]{user-select:none}
@media(hover:hover){.card,.zone-card,.service-mini,.related-card,.realisation-card{transition:transform .18s ease,box-shadow .18s ease}.card:hover,.zone-card:hover,.service-mini:hover,.related-card:hover,.realisation-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(3,28,61,.14);text-decoration:none}}
@media(max-width:760px){html{scroll-padding-top:0}.inline-actions{display:block}.inline-actions .btn{display:block}.site-header nav{scrollbar-width:thin}.compact-zone-cards{grid-template-columns:1fr}}
@media print{.site-header,.cta,.btn,footer{display:none!important}body{color:#000;background:#fff}.section,.page-hero{padding:20px}.page-hero{background:#fff;color:#000}.page-hero h1,.page-hero p{color:#000}.card,.side-card,.notice,.realisation-card{box-shadow:none;border:1px solid #999}}
