:root{--page-pad:max(var(--gutter),(100vw - var(--content-max))/2);--dark-blue:#102430}
body{background:var(--dark-blue);color:#fff;hyphens:none}
body>nav{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:14px var(--page-pad);background:transparent;border-bottom:1px solid transparent;box-shadow:none;backdrop-filter:blur(8px);transition:background .3s,box-shadow .3s,border-color .3s}
body>nav.on-light{background:var(--dark-blue);border-bottom-color:rgba(255,255,255,.15);box-shadow:0 10px 30px rgba(0,0,0,.45)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{height:80px;max-width:340px;object-fit:contain}
.brand span{display:none}
.pill{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.3rem;border:2px solid var(--setec-green);border-radius:4px;background:var(--setec-green);color:#fff;text-decoration:none;font-weight:700;transition:background .2s,color .2s}
.pill:hover{background:#fff;color:var(--setec-green)}
body>nav .pill{background:var(--setec-blue-700);color:#fff;border-color:var(--setec-blue-700)}
body>nav .pill:hover{background:transparent;color:#fff}
.hero .pill{background:var(--setec-blue-700);border-color:var(--setec-blue-700)}
.hero .pill:hover{background:#fff;color:var(--setec-blue-700);border-color:#fff}
.hero{min-height:100vh;padding:145px var(--page-pad) 40px;display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:5vw;background:radial-gradient(circle at 85% 30%,var(--setec-blue-900) 0,var(--dark-blue) 45%)}
h1{font-weight:700;font-size:clamp(2.2rem,4.2vw,3.2rem);margin-right:10%}
h2{font-size:clamp(1.7rem,3vw,2.6rem)}
.eyebrow{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--setec-brown-500);font-size:.85rem}
.lead{font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.55;color:var(--setec-blue-100);max-width:62ch}
.darklead{color:var(--setec-blue-900)}
.hero .visual{width:125%;max-width:none;justify-self:end}
.visual img{width:100%;display:block;filter:drop-shadow(0 20px 40px rgba(0,0,0,.45))}
.visual img.shadow{filter:drop-shadow(0 18px 36px rgba(29,68,89,.35)) drop-shadow(0 4px 10px rgba(29,68,89,.2))}
.trust{display:grid;grid-template-columns:repeat(3,1fr);background:var(--setec-blue-100);color:var(--setec-ink);padding:45px var(--page-pad);gap:30px}
.trust>div{display:flex;align-items:flex-start;gap:18px}
.trust .icon{width:44px;height:44px;flex-shrink:0;color:var(--setec-blue-900);margin-top:4px}
.trust strong{display:block;font-family:var(--font-display);font-weight:600;font-size:1.7rem;color:var(--setec-blue-900);margin-bottom:6px}
.section{padding:clamp(56px,8vw,112px) var(--page-pad)}
.light{background:#fff;color:var(--setec-ink)}
.light .eyebrow{color:var(--setec-blue-900)}
.light .lead{color:var(--setec-blue-700)}
.grid2{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:center}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:55px}
.card{background:#fff;color:var(--setec-ink);border:1px solid var(--setec-blue-100);border-radius:10px;padding:34px;min-height:220px;box-shadow:0 12px 32px rgba(0,0,0,.25)}
.num{font-family:var(--font-display);font-size:54px;line-height:1;color:var(--setec-blue-900);font-weight:600}
.flow{border-radius:18px;overflow:hidden;background:transparent;padding:10px}
.impact-section{background:var(--setec-blue-100)}
.impact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}
.impact-card{background:#fff;color:var(--setec-ink);border:1px solid var(--setec-blue-100);border-radius:10px;padding:34px;min-height:250px;box-shadow:0 12px 32px rgba(29,68,89,.08)}
.impact-card strong{display:block;font-size:1.25rem;margin:18px 0 10px}
.impact-number{display:block;font-family:var(--font-display);font-size:58px;line-height:1;color:var(--setec-blue-700);font-weight:600}
.impact-figure{width: 86px;height: 86px;color:var(--setec-blue-700);display:block;margin-bottom:8px}
.impact-figure rect,.impact-figure path{stroke:var(--setec-white)}
.impact-figure rect{stroke-width:.9}
.impact-icon{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--setec-brown-900);font-family:var(--font-display);font-size:26px;font-weight:600}
.ges{background:linear-gradient(145deg,var(--setec-blue-900),var(--setec-blue-600));color:#fff;border:0}
.ges p{color:var(--setec-blue-100)}
.photo-band{min-height:40vh;background-size:cover;background-position:center;position:relative;display:flex;align-items:flex-end;padding:60px var(--page-pad);color:#fff}
.photo-band:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,36,48,.92) 0%,rgba(16,36,48,.55) 52%,rgba(16,36,48,.15) 100%)}
.photo-band>div{position:relative;z-index:1;max-width:760px}
.photo-band span{font-family:var(--font-display);color:var(--setec-brown-500);letter-spacing:.14em;font-weight:600;font-size:.85rem;text-transform:uppercase}
.photo-band h2{color:#fff;margin-bottom:0}
.roadworks{background-image:url('assets/images/travaux-routiers.jpg')}
.auscultation{background-image:url('assets/images/auscultation-routiere.jpg');background-position:center 35%}
.cta{text-align:center;padding:clamp(80px,10vw,130px) var(--page-pad);background:var(--setec-blue-700);color:#fff}
.cta .eyebrow{color:var(--setec-blue-100)}
.cta h2{max-width:950px;margin:0 auto 35px}
.cta p{max-width:700px;margin:0 auto 35px;font-size:1.15rem}
.cta .pill{background:#fff;color:var(--setec-blue-700);border-color:#fff}
.cta .pill:hover{background:transparent;color:#fff}
footer{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:24px;padding:36px var(--page-pad);color:var(--setec-blue-300);font-size:.9rem;border-top:1px solid var(--setec-blue-900)}
footer img{grid-column:1;grid-row:1;height:44px}
footer p{grid-column:1/-1;grid-row:1;justify-self:center;margin:0;text-align:center}
.legal-top{padding-top:160px}
.legal-doc{max-width:840px}
.legal-doc h3{margin:42px 0 8px;font-size:1.15rem;color:var(--setec-blue-900)}
.legal-doc p{max-width:72ch}
footer p a{color:var(--setec-blue-100)}
.legal{display:flex;grid-column:1/-1;grid-row:2;justify-content:center;gap:20px;width:100%;font-size:.8rem}
.legal a{color:inherit;text-decoration:none}
.legal a:hover{color:#fff;text-decoration:underline}
@media(max-width:850px){.hero,.grid2{grid-template-columns:1fr}.trust,.cards,.impact-grid{grid-template-columns:1fr}.hero{padding-top:120px;min-height:auto}.photo-band{min-height:32vh}.brand img{height:56px}.hero .visual{width:100%}}
@media(max-width:850px){footer{grid-template-columns:minmax(0,1fr)}footer img{grid-column:1;grid-row:1}footer p{grid-column:1;grid-row:2;width:100%;min-width:0;overflow-wrap:anywhere}footer .legal{grid-column:1;grid-row:3;min-width:0;flex-wrap:wrap}}
