:root{--red:#b5121b;--ink:#182028;--muted:#65707a;--paper:#f5f5f2;--line:#d9dcdd;--white:#fff;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line)}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;flex:0 0 auto}.brand img{width:176px;height:auto;display:block}nav{display:flex;gap:25px;align-items:center;font-size:14px;font-weight:700}nav a:hover,nav a.active{color:var(--red)}.cta{background:var(--red);color:white!important;padding:10px 15px}.hero{min-height:650px;display:grid;align-items:center;background:linear-gradient(90deg,rgba(12,19,25,.94),rgba(12,19,25,.64)),url('images/ac75_3.jpg') center/cover;color:white}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:700;color:#d7dadd}.hero h1{font-size:clamp(42px,6vw,76px);line-height:1.04;margin:16px 0 20px;max-width:900px}.hero p{font-size:20px;max-width:800px;color:#e6e8e9}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.button{display:inline-block;padding:12px 18px;border:1px solid currentColor;font-weight:700}.button.primary{background:var(--red);border-color:var(--red);color:#fff}.section{padding:78px 0}.section.alt{background:var(--paper)}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:34px}.section h2,.page-hero h1{font-size:clamp(32px,4vw,52px);line-height:1.1;margin:8px 0}.lead{font-size:19px;color:var(--muted);max-width:820px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{border:1px solid var(--line);background:white;padding:28px}.card .num{color:var(--red);font-weight:800}.card h3{font-size:22px;margin:12px 0}.card p{color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.project{background:#fff;border:1px solid var(--line);overflow:hidden}.project img{width:100%;height:150px;object-fit:cover;background:#f1f1ef}.project .body{min-height:185px}.project .body{padding:22px}.tag{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);font-weight:800}.project h3{margin:6px 0 8px}.project p{color:var(--muted);font-size:14px}.band{background:var(--ink);color:white;padding:38px 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:center}.stats strong{display:block;font-size:30px}.page-hero{padding:95px 0 65px;background:var(--paper);border-bottom:1px solid var(--line)}.split{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:start}.split img{width:100%;max-height:520px;object-fit:cover}.list{padding-left:18px}.list li{margin:8px 0}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 30px}.filters button{border:1px solid var(--line);background:white;padding:9px 12px;cursor:pointer}.filters button.active{background:var(--ink);color:white}.tech-flow{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:30px}.tech-flow div{padding:18px 10px;background:white;border:1px solid var(--line);text-align:center;font-size:13px;font-weight:700}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.contact-box{padding:28px;border:1px solid var(--line)}footer{padding:38px 0;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.footer-row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.notice{padding:16px 18px;background:#fff4f4;border-left:4px solid var(--red);color:#5d2a2d}.project-detail{max-width:850px}.project-detail img{margin:28px 0}.admin-note{font-size:13px;color:var(--muted);border:1px dashed #aeb4b7;padding:16px;margin-top:28px}@media(max-width:1050px){.project-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:850px){nav{display:none}.grid3,.stats,.contact-grid,.split{grid-template-columns:1fr}.project-grid{grid-template-columns:repeat(2,1fr)}.tech-flow{grid-template-columns:repeat(2,1fr)}.hero{min-height:560px}.section{padding:55px 0}.project img{height:150px}}@media(max-width:560px){.project-grid{grid-template-columns:1fr}.brand img{width:145px}}

.tech-detail{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:30px}.tech-step{border:1px solid var(--line);background:#fff;padding:22px}.tech-step strong{display:block;color:var(--red);font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}.defense-band{background:#20272d;color:#fff}.defense-band .lead{color:#d7dadd}.signature-mark{width:46px;height:46px}@media(max-width:850px){.tech-detail{grid-template-columns:1fr}}

.zoomable{position:relative;display:block;cursor:zoom-in}.zoomable img{width:100%}.zoom-hint{position:absolute;right:10px;bottom:10px;background:rgba(24,32,40,.82);color:#fff;padding:6px 9px;font-size:12px}.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.88);display:none;align-items:center;justify-content:center;padding:30px;cursor:zoom-out}.lightbox.open{display:flex}.lightbox img{max-width:95vw;max-height:92vh;width:auto;height:auto;object-fit:contain;box-shadow:0 10px 50px rgba(0,0,0,.35)}.lightbox-close{position:fixed;top:18px;right:24px;color:#fff;font-size:36px;line-height:1;border:0;background:transparent;cursor:pointer}@media(max-width:850px){.zoom-hint{font-size:11px}}

/* Maquette 4 — ajustements éditoriaux et visuels */
.expert-photo{width:min(100%,300px)!important;justify-self:center;max-height:390px!important;object-fit:cover}.expert-intro{margin-top:0}.model-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.model-gallery .zoomable img{height:180px;object-fit:cover}.model-gallery .zoom-hint{font-size:11px}footer{padding:20px 0}.footer-row{gap:10px;align-items:center}@media(max-width:850px){.expert-photo{width:min(100%,260px)!important}.model-gallery{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.model-gallery{grid-template-columns:1fr}.model-gallery .zoomable img{height:auto}}

.model-gallery-two .zoomable img{height:auto;aspect-ratio:800/534;object-fit:contain;background:#f5f5f2}.technical-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:900px}.technical-gallery .zoomable{background:#f5f5f2;border:1px solid var(--line);padding:12px}.technical-gallery img{width:100%;height:230px;object-fit:contain}.technical-gallery .zoom-hint{font-size:11px}@media(max-width:700px){.technical-gallery{grid-template-columns:1fr}.technical-gallery img{height:auto}}

/* Version portefeuille — responsive mobile et galeries projets */
.menu-toggle{display:none;border:0;background:transparent;padding:8px;cursor:pointer}.menu-toggle span{display:block;width:26px;height:2px;background:var(--ink);margin:5px 0}.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:28px 0}.project-gallery .zoomable{margin:0;background:var(--paper);border:1px solid var(--line)}.project-gallery img{width:100%;height:300px;object-fit:contain;margin:0}.project-method{padding:18px 20px;background:var(--paper);border-left:3px solid var(--red)}
@media(max-width:850px){.nav{min-height:68px;position:relative}.menu-toggle{display:block;margin-left:auto}.site-header nav{display:none;position:absolute;top:68px;left:-20px;right:-20px;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 20px 18px;box-shadow:0 10px 22px rgba(0,0,0,.08);flex-direction:column;align-items:stretch;gap:0}.site-header nav.open{display:flex}.site-header nav a{padding:12px 4px;border-bottom:1px solid #eee}.site-header nav .cta{margin-top:8px;text-align:center;border-bottom:0}.page-hero{padding:62px 0 42px}.page-hero h1{font-size:clamp(30px,9vw,44px)}.hero h1{font-size:clamp(38px,11vw,58px)}.hero p,.lead{font-size:17px}.wrap{width:min(var(--max),calc(100% - 30px))}.project-gallery{grid-template-columns:1fr}.project-gallery img{height:auto;max-height:70vh}.project-detail{max-width:100%}}
@media(max-width:560px){.section-head{display:block}.filters{gap:6px}.filters button{font-size:12px;padding:8px 9px}.card{padding:22px}.footer-row{display:block}.footer-row>div+div{margin-top:6px}.hero{min-height:500px}.actions .button{width:100%;text-align:center}}

/* Hydrolien — application transversale de la modélisation */
.hydro-tech{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:34px;align-items:center}.hydro-tech .zoomable{background:#fff;border:1px solid var(--line);padding:12px}.hydro-tech img{width:100%;height:auto;object-fit:contain}.hydro-tech h3{font-size:24px;margin:0 0 10px}@media(max-width:760px){.hydro-tech{grid-template-columns:1fr}}

.footer-legal{margin-left:14px;text-decoration:underline;text-underline-offset:3px}.legal-content{max-width:850px}.legal-content h2{font-size:26px;margin-top:34px}.legal-content a{color:var(--red);text-decoration:underline;text-underline-offset:3px}@media(max-width:560px){.footer-legal{display:inline-block;margin-left:0;margin-top:4px}}
