:root{--bg:#0c2637;--bg2:#113247;--card:#173e54;--card2:#1c4a62;--text:#f5f8fa;--muted:#b8cbd4;--orange:#f28c28;--blue:#5fb2df;--green:#63b497;--line:#315c71;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,"Segoe UI",sans-serif;line-height:1.6}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}.wrap{width:min(var(--max),calc(100% - 42px));margin:auto}.progress{height:3px;background:linear-gradient(90deg,var(--orange),var(--blue));position:fixed;top:0;left:0;width:0;z-index:99}header{position:fixed;inset:0 0 auto;z-index:50;background:rgba(8,30,44,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.nav{height:80px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px}.brand img{width:52px;height:52px;object-fit:contain}.brand span{display:flex;flex-direction:column;line-height:1.15}.brand b{font-size:13px;color:#fff;letter-spacing:.04em}.brand small{font-size:8px;color:#f6a257;margin-top:4px}.nav nav{display:flex;align-items:center;gap:21px}.nav nav a{font-size:12px;font-weight:800;color:#ecf3f6}.nav nav a:hover{color:#f6a257}.nav-cta{background:var(--orange);color:#132b39!important;padding:10px 14px;border-radius:5px}#menu{display:none;background:none;border:0}#menu i{display:block;width:25px;height:2px;background:#fff;margin:5px}.hero{padding:150px 0 86px;min-height:780px;display:flex;align-items:center;position:relative;background:radial-gradient(circle at 85% 25%,rgba(50,131,177,.24),transparent 28%),linear-gradient(135deg,#0b2434,#11364a)}.hero-glow{position:absolute;width:350px;height:350px;border-radius:50%;background:radial-gradient(circle,rgba(242,140,40,.14),transparent 67%);left:-150px;bottom:-90px}.hero-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:center;position:relative}.eyebrow,.kicker{display:inline-block;color:#f6a257;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.18em}.hero h1{font-size:clamp(46px,5vw,68px);line-height:1.05;letter-spacing:-2.5px;margin:18px 0;color:#fff}.hero h1 em{font-style:normal;color:#76c0e7}.hero-copy>p{font-size:18px;color:#c8d7de}.actions{display:flex;gap:12px;margin:31px 0;flex-wrap:wrap}.btn{min-height:50px;padding:0 21px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;border:2px solid transparent}.primary{background:var(--orange);color:#112936}.primary span{margin-left:15px}.secondary{border-color:#a2bbc8;color:#fff;background:transparent}.secondary:hover{border-color:#fff;background:rgba(255,255,255,.06)}.hero-tags{display:flex;border-top:1px solid var(--line);padding-top:18px;gap:0}.hero-tags b{font-size:10px;color:#f4f8fa;padding-right:20px;margin-right:20px;border-right:1px solid #7893a0}.hero-tags b:last-child{border:0}.hero-photo{position:relative;padding-left:22px}.hero-photo img{width:100%;height:535px;object-fit:cover;border-radius:6px;box-shadow:0 28px 70px rgba(0,0,0,.28)}.photo-line{position:absolute;left:0;top:50px;bottom:50px;width:6px;background:linear-gradient(var(--orange),var(--blue));border-radius:6px}.section{padding:100px 0;background:var(--bg)}.section.alt{background:var(--bg2)}.section-heading{max-width:780px;margin-bottom:43px}.section-heading h2,.method-intro h2,.contact h2{font-size:clamp(34px,4vw,50px);line-height:1.12;letter-spacing:-1.5px;margin:12px 0;color:#fff}.section-heading p,.method-intro>p,.contact-copy>p{color:var(--muted)}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.profile-card{background:var(--card);border:1px solid var(--line);padding:28px;min-height:250px;position:relative}.profile-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px}.profile-card.orange:before{background:var(--orange)}.profile-card.blue:before{background:var(--blue)}.profile-card.green:before{background:var(--green)}.profile-card>span{font-size:31px;font-weight:900;color:#7692a0}.profile-card h3{font-size:23px;color:#fff}.profile-card p{font-size:13px;color:var(--muted)}.expert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.expert{background:var(--card);border:1px solid var(--line);padding:28px;transition:.3s}.expert:hover{transform:translateY(-5px);background:var(--card2);box-shadow:0 20px 45px rgba(0,0,0,.18)}.expert>div{display:flex;justify-content:space-between}.expert div span{font-size:28px;font-weight:900;color:#7896a5}.expert div i{font-style:normal;color:#8fc7e5;font-size:20px}.expert h3{color:#fff;font-size:23px}.expert li{color:#c0d0d8;font-size:13px;margin:7px 0}.method-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:68px}.method-intro img{margin-top:26px;width:100%;height:310px;object-fit:cover;border-radius:5px}.steps{border-top:1px solid var(--line)}.steps article{display:grid;grid-template-columns:72px 1fr;padding:26px 7px;border-bottom:1px solid var(--line)}.steps article>b{color:#f6a257;font-size:12px}.steps h3{color:#fff;font-size:21px;margin:0}.steps p{color:var(--muted);font-size:13px;margin:5px 0 0}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.team-card{padding:23px;min-height:230px;position:relative;border:1px solid transparent}.team-card:nth-child(4n+1){background:#173e54;border-color:#3b6a81}.team-card:nth-child(4n+2){background:#1c4a62;border-color:#55839a}.team-card:nth-child(4n+3){background:#14384d;border-color:#346178}.team-card:nth-child(4n+4){background:#214f63;border-color:#5b8799}.team-card .years{position:absolute;right:15px;top:14px;background:var(--orange);color:#142c39;padding:6px 9px;border-radius:20px;font-size:10px;font-weight:900}.initials{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:#0b2b3e;color:#fff;font-size:12px;font-weight:900}.team-card h3{margin:22px 0 5px;color:#fff;font-size:18px}.team-card b{display:block;color:#f6b06e;font-size:11px;min-height:35px}.team-card p{font-size:12px;color:#c2d2da}.equipment{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.equipment figure{margin:0;background:var(--card);border:1px solid var(--line);overflow:hidden}.equipment img{height:190px;width:100%;object-fit:cover;background:#0a2232}.equipment figcaption{padding:14px}.equipment figcaption b,.equipment figcaption span{display:block}.equipment figcaption b{color:#fff;font-size:12px}.equipment figcaption span{color:var(--muted);font-size:10px}.software{margin-top:25px;display:grid;grid-template-columns:1.2fr 1fr .8fr;border:1px solid var(--line);background:var(--card)}.software div{padding:20px}.software div+div{border-left:1px solid var(--line)}.software small{display:block;color:#f6a257;font-size:9px;font-weight:900;margin-bottom:7px}.software b{color:#f4f8fa;font-size:11px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:27px}.filters button{border:1px solid #7fa1b2;background:#173e54;color:#eff6f8;padding:9px 15px;border-radius:30px;font-size:11px;font-weight:900;cursor:pointer}.filters button.active,.filters button:hover{background:var(--orange);border-color:var(--orange);color:#102837}.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.mission-card{background:var(--card);border:1px solid var(--line);overflow:hidden;transition:.3s}.mission-card.hide{display:none}.mission-card:hover{transform:translateY(-4px);box-shadow:0 20px 45px rgba(0,0,0,.2)}.mission-image{height:310px;background:#081e2c;display:flex;align-items:center;justify-content:center;padding:9px}.mission-image img{width:100%;height:100%;object-fit:contain;object-position:center}.mission-body{padding:22px}.mission-body small{color:#f6a257;font-size:9px;font-weight:900}.mission-body h3{color:#fff;font-size:21px;margin:8px 0}.mission-body p{color:var(--muted);font-size:12px}.metric{display:inline-block;margin-top:8px;background:#24556c;color:#fff;padding:8px 10px;font-size:10px;font-weight:900}.credibility{margin-top:30px;background:#f0f5f7;color:#123247;padding:32px;display:grid;grid-template-columns:1.2fr 1fr;gap:35px;align-items:center}.credibility h3{font-size:27px;line-height:1.2;margin:10px 0;color:#123247}.credibility .kicker{color:#c96710}.clients{display:flex;flex-wrap:wrap;gap:8px}.clients span{border:1px solid #8aa4b1;color:#123247;background:#fff;padding:10px 12px;font-size:10px;font-weight:800}.contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px}.contact-card{display:grid;grid-template-columns:95px 1fr;padding:14px 0;border-bottom:1px solid var(--line)}.contact-card small{color:#91aab6}.contact-card b,.contact-card a{color:#fff;font-size:12px}form{background:var(--card);border:1px solid var(--line);padding:30px}form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}form label{display:flex;flex-direction:column;gap:6px;color:#fff;font-size:11px;font-weight:900;margin-bottom:14px}form input,form textarea{background:#0a283a;border:1px solid #52788a;color:#fff;padding:12px;border-radius:4px;font:inherit}form input:focus,form textarea:focus{outline:3px solid rgba(95,178,223,.2);border-color:#75c0e8}.submit{width:100%;min-height:50px;background:var(--orange);color:#102837;border:0;border-radius:5px;font-weight:900;font-size:13px;cursor:pointer}.submit span{margin-left:12px}.submit:hover{background:#f7a24e}#formMsg{display:block;color:#8fd7bc;margin-top:10px}footer{background:#061b28;border-top:1px solid var(--line);padding:42px 0 18px}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.footer-grid>div{display:flex;flex-direction:column;gap:6px}.footer-grid b{color:#fff}.footer-grid span,.footer-grid a{color:#a9bdc7;font-size:11px}.footer-bottom{border-top:1px solid #25485a;margin-top:28px;padding-top:15px;display:flex;justify-content:space-between;color:#8fa5b0;font-size:9px}.reveal{opacity:0;transform:translateY(22px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:960px){#menu{display:block}.nav nav{display:none;position:absolute;top:80px;left:0;right:0;background:#0b2a3c;padding:22px;flex-direction:column;align-items:stretch}.nav nav.open{display:flex}.hero-grid,.method-grid,.contact-grid{grid-template-columns:1fr}.profile-grid,.expert-grid{grid-template-columns:1fr}.team-grid{grid-template-columns:repeat(2,1fr)}.equipment{grid-template-columns:repeat(3,1fr)}.software{grid-template-columns:1fr}.software div+div{border-left:0;border-top:1px solid var(--line)}.mission-grid{grid-template-columns:1fr}.credibility{grid-template-columns:1fr}}@media(max-width:580px){.wrap{width:calc(100% - 28px)}.brand small{display:none}.hero{padding-top:115px}.hero h1{font-size:42px}.hero-photo img{height:390px}.actions{flex-direction:column}.btn{width:100%}.hero-tags{flex-wrap:wrap}.hero-tags b{border:0;padding-bottom:8px}.section{padding:72px 0}.team-grid,.equipment,form .row{grid-template-columns:1fr}.mission-image{height:260px}.credibility{padding:24px}.footer-grid,.footer-bottom{grid-template-columns:1fr;display:grid;gap:20px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Titres de sections et navigation corrigés */
:root{--header-height:80px}
html{scroll-padding-top:var(--header-height)}
.page-section{position:relative;scroll-margin-top:var(--header-height);padding-top:118px!important}
.page-section:before{content:attr(data-section);position:absolute;top:94px;right:max(24px,calc((100% - 1180px)/2));font-size:72px;line-height:1;font-weight:900;color:rgba(255,255,255,.045);pointer-events:none}
.section-heading,.method-intro,.contact-copy{position:relative;z-index:2}
.section-heading .kicker,.method-intro .kicker,.contact-copy .kicker{display:inline-flex;align-items:center;gap:10px;margin-bottom:8px;color:#f6a257!important;font-size:11px!important;letter-spacing:.19em!important}
.section-heading .kicker:before,.method-intro .kicker:before,.contact-copy .kicker:before{content:"";width:34px;height:2px;background:#f28c28}
.section-heading h2,.method-intro h2,.contact h2{display:block!important;visibility:visible!important;opacity:1!important;max-width:900px;font-size:clamp(36px,4.2vw,54px)!important;line-height:1.08!important;margin:10px 0 14px!important;color:#fff!important;overflow:visible!important}
.section-heading p{font-size:16px!important;max-width:760px;margin-top:0!important}
#missions .section-heading,#equipe .section-heading,#moyens .section-heading,#expertises .section-heading,#profil .section-heading{min-height:150px}
#missions .filters{position:relative;z-index:2}
/* Prevent the fixed header from hiding anchored titles */
#profil,#expertises,#methode,#equipe,#moyens,#missions,#contact{scroll-margin-top:80px}
/* Header always fits and never clips navigation */
.nav{gap:24px}.nav nav{flex-wrap:nowrap;white-space:nowrap}.nav nav a{font-size:11px!important}.brand{min-width:300px}.brand b{white-space:nowrap}
@media(max-width:1100px){.nav nav{gap:14px}.brand{min-width:260px}.brand small{display:none}}
@media(max-width:960px){.page-section{padding-top:92px!important}.page-section:before{top:74px;font-size:58px}.nav nav{white-space:normal}.brand{min-width:0}}

/* Ajustements éditoriaux finaux */
.hero .eyebrow{max-width:720px;line-height:1.4}
.expert{min-height:430px}.expert li{margin:8px 0}
.form-zone .form-intro{margin-bottom:25px}.form-zone .form-intro h2{font-size:34px!important;margin:8px 0!important}.form-zone .form-intro p{color:var(--muted);margin:0 0 5px}
.contact-grid{align-items:start}.contact-copy{padding-top:4px}

/* Galerie ajoutée sans modifier les sections validées */
.gallery-section{background:#0d293b!important}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:12px}.gallery-item{border:0;padding:0;background:#092335;overflow:hidden;cursor:pointer;border-radius:4px;position:relative}.gallery-item:nth-child(1),.gallery-item:nth-child(7){grid-row:span 2}.gallery-item:nth-child(4),.gallery-item:nth-child(10){grid-column:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .35s ease}.gallery-item:hover img{transform:scale(1.035);filter:brightness(1.06)}.gallery-item:after{content:"↗";position:absolute;right:10px;bottom:8px;width:30px;height:30px;display:grid;place-items:center;background:rgba(8,33,48,.82);color:#fff;border-radius:50%;opacity:0;transform:translateY(5px);transition:.25s}.gallery-item:hover:after{opacity:1;transform:none}#lightbox{width:min(1100px,92vw);height:min(820px,90vh);border:1px solid #315d72;background:#071d2b;padding:18px;border-radius:6px}#lightbox::backdrop{background:rgba(0,12,20,.86)}#lightbox img{width:100%;height:100%;object-fit:contain}.lightbox-close{position:absolute;right:17px;top:14px;z-index:2;width:38px;height:38px;border-radius:50%;border:1px solid #7898a8;background:#0c2a3c;color:#fff;font-size:24px;cursor:pointer}@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:230px}.gallery-item:nth-child(4),.gallery-item:nth-child(10){grid-column:span 1}}@media(max-width:560px){.gallery-grid{grid-template-columns:1fr;grid-auto-rows:300px}.gallery-item:nth-child(n){grid-column:span 1;grid-row:span 1}}

/* Photo terrain ajoutée à la demande du client */
.gallery-important{grid-column:span 2;grid-row:span 2}.gallery-important img{object-position:center center}@media(max-width:900px){.gallery-important{grid-column:span 2;grid-row:span 2}}@media(max-width:560px){.gallery-important{grid-column:span 1;grid-row:span 1}}

.gallery-important{grid-column:span 2;grid-row:span 2}.gallery-important img{object-position:center center}@media(max-width:900px){.gallery-important{grid-column:span 2;grid-row:span 2}}@media(max-width:560px){.gallery-important{grid-column:span 1;grid-row:span 1}}

/* CORRECTIONS MINEURES - VERSION DE REFERENCE */
.nav nav a{background:transparent!important;color:#ecf3f6!important;border-radius:0!important;padding:9px 2px!important;position:relative}.nav nav a:after{content:"";position:absolute;left:0;right:100%;bottom:1px;height:2px;background:var(--orange);transition:right .22s ease}.nav nav a:hover:after,.nav nav a.active:after{right:0}.nav nav a.active{color:#fff!important}.footer-grid{grid-template-columns:1.15fr .9fr .95fr!important}.footer-expertise a:hover{color:#f6a257}@media(max-width:580px){.footer-grid{grid-template-columns:1fr!important}}
