:root{--navy:#102f4d;--blue:#2f628b;--steel:#6e899e;--silver:#dce4e9;--mist:#f3f6f8;--green:#9fbd79;--ink:#172531;--white:#fff;--line:#d3dde4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;background:#fff;line-height:1.6}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.skip{position:fixed;left:1rem;top:-5rem;z-index:99;background:#fff;padding:.7rem 1rem}.skip:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.site-header{height:88px;display:flex;align-items:center;padding:0 clamp(1rem,4vw,4rem);gap:2rem;background:rgba(255,255,255,.96);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(16,47,77,.12);backdrop-filter:blur(12px)}.brand{display:flex;flex-direction:column;line-height:1;color:var(--navy);min-width:190px}.brand-main{font-weight:900;font-size:1.55rem;letter-spacing:-.08em;font-style:italic}.brand-main span{color:var(--steel);margin:0 .08em}.brand-sub{font-size:.52rem;font-weight:800;letter-spacing:.13em;margin-top:.35rem}nav{display:flex;justify-content:center;gap:clamp(1rem,2.5vw,2.5rem);margin-left:auto}nav a{font-weight:700;font-size:.88rem;position:relative}nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-.5rem;height:2px;background:var(--green);transition:.25s}nav a:hover:after{right:0}.header-cta,.button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:2px;font-weight:800;cursor:pointer}.header-cta{background:var(--navy);color:#fff;padding:.72rem 1.15rem}.menu-toggle{display:none;background:none;border:0}.hero{min-height:calc(100vh - 88px);position:relative;display:flex;align-items:center;overflow:hidden;color:#fff}.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,33,52,.92) 0%,rgba(15,53,81,.67) 48%,rgba(15,53,81,.12) 100%)}.hero-lines{position:absolute;inset:0;background:linear-gradient(115deg,transparent 0 69%,rgba(255,255,255,.13) 69% 69.2%,transparent 69.2%),linear-gradient(115deg,transparent 0 76%,rgba(255,255,255,.09) 76% 76.15%,transparent 76.15%)}.hero-content{position:relative;z-index:2;width:min(760px,90%);margin-left:clamp(1.2rem,8vw,9rem);padding:5rem 0}.eyebrow,.kicker{letter-spacing:.18em;text-transform:uppercase;font-weight:800;font-size:.8rem}.eyebrow{color:#d9e9c6}.hero h1{font-size:clamp(2.6rem,6.2vw,6.4rem);line-height:.9;letter-spacing:-.055em;margin:.7rem 0 1.4rem;text-transform:uppercase}.hero h1 span{font-size:.46em;font-weight:500;letter-spacing:.02em}.lead{font-size:clamp(1.05rem,1.7vw,1.35rem);max-width:610px}.hero-actions{display:flex;gap:1rem;margin-top:2rem}.button{padding:.92rem 1.25rem;min-height:50px}.primary{background:var(--navy);color:#fff}.hero .primary{background:#fff;color:var(--navy)}.light{border:1px solid rgba(255,255,255,.7);color:#fff}.hero-proof{position:absolute;right:clamp(1rem,4vw,4rem);bottom:2rem;z-index:2;background:rgba(255,255,255,.92);color:var(--navy);padding:1rem 1.2rem;border-left:4px solid var(--green);display:flex;flex-direction:column;max-width:340px}.hero-proof span{font-size:.82rem}.section{padding:clamp(4rem,8vw,8rem) clamp(1.2rem,8vw,9rem);position:relative}.section-number{position:absolute;left:2.5vw;top:5rem;color:#dbe4e9;font-size:4rem;font-weight:900}.intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,7rem);align-items:center}.kicker{color:var(--blue);margin:0 0 .5rem}.section h2{font-size:clamp(2rem,4vw,4rem);line-height:1.05;letter-spacing:-.04em;color:var(--navy);margin:.5rem 0 1.5rem}.intro-copy p:not(.kicker){color:#53636f;max-width:660px}.intro-visual{position:relative}.intro-visual img{width:100%;height:570px;object-fit:cover}.steel-card{position:absolute;left:-2rem;bottom:2rem;background:var(--navy);color:#fff;padding:1.2rem 1.5rem;max-width:300px;display:flex;flex-direction:column}.steel-card span{color:#cde4b4;text-transform:uppercase;font-size:.7rem;letter-spacing:.12em}.services{background:var(--mist)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.5rem}.section-heading>p{max-width:430px;color:#647582}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{background:#fff;min-height:290px;padding:1.8rem;position:relative;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.3s}.service-card:hover{transform:translateY(-6px);box-shadow:0 18px 45px rgba(16,47,77,.1);z-index:2}.service-card>span{position:absolute;right:1.3rem;top:1rem;color:#9aaab5;font-size:.75rem}.service-card .icon{font-size:2rem;color:var(--blue);margin:1.5rem 0 2.3rem}.service-card h3{color:var(--navy);font-size:1.2rem}.service-card p{color:#63727c}.service-card.wide{grid-column:span 2;background:var(--navy);color:#fff}.service-card.wide h3,.service-card.wide .icon{color:#fff}.service-card.wide p{color:#dce7ee}.projects{background:#fff}.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.filters button{border:1px solid var(--line);background:#fff;padding:.65rem .9rem;color:#455764;cursor:pointer}.filters button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:280px;gap:1rem}.gallery-item{padding:0;border:0;background:#ddd;position:relative;overflow:hidden;cursor:zoom-in;text-align:left}.gallery-item.tall{grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.5s}.gallery-item:hover img{transform:scale(1.04)}.gallery-item span{position:absolute;left:1rem;bottom:1rem;background:rgba(255,255,255,.93);color:var(--navy);padding:.5rem .7rem;font-weight:800;font-size:.78rem}.gallery-item[hidden]{display:none}.contact{background:var(--navy);color:#fff;display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,7vw,7rem)}.contact h2,.contact .kicker{color:#fff}.contact-copy>p:not(.kicker){color:#d9e3e9;max-width:520px}.people{display:grid;gap:1rem;margin-top:2.5rem}.people article{border-top:1px solid rgba(255,255,255,.2);padding-top:1rem}.people small{color:#b9d69a}.people h3{margin:.2rem 0}.people a{display:block;color:#dce8ef}.contact-form{background:#fff;color:var(--ink);padding:clamp(1.3rem,3vw,2.5rem)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-form label{display:block;font-weight:700;font-size:.9rem;margin-bottom:1rem}.contact-form label span{font-weight:400;color:#6b7780}.contact-form input,.contact-form textarea{width:100%;border:1px solid #c9d4db;padding:.8rem;margin-top:.35rem;border-radius:2px;background:#fafdff}.contact-form input:focus,.contact-form textarea:focus{outline:3px solid rgba(47,98,139,.18);border-color:var(--blue)}.consent{display:flex!important;gap:.7rem;font-weight:400!important;align-items:flex-start}.consent input{width:auto;margin-top:.3rem}.honeypot{position:absolute;left:-9999px}.form-status{font-weight:700;color:var(--blue)}footer{padding:3rem clamp(1.2rem,8vw,9rem);display:flex;gap:2rem;align-items:center;justify-content:space-between;background:#eef3f6;color:#53636f;font-size:.82rem}.footer-brand{min-width:220px}dialog{border:0;padding:0;background:#0c1820;color:#fff;max-width:min(1100px,92vw);box-shadow:0 30px 80px #0008}dialog::backdrop{background:rgba(6,14,21,.88)}dialog img{max-height:82vh;max-width:90vw;object-fit:contain}dialog p{padding:0 1rem 1rem}.close{position:absolute;right:.5rem;top:.5rem;width:42px;height:42px;border:0;background:#fff;color:#111;font-size:1.8rem;cursor:pointer}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}@media(max-width:1000px){nav{position:fixed;top:88px;left:0;right:0;background:#fff;display:none;flex-direction:column;padding:1.5rem;border-bottom:1px solid var(--line)}nav.open{display:flex}.menu-toggle{display:flex;margin-left:auto;flex-direction:column;gap:5px}.menu-toggle span:not(.sr-only){width:25px;height:2px;background:var(--navy)}.header-cta{display:none}.intro,.contact{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(2,1fr)}.section-number{display:none}footer{flex-direction:column;text-align:center}.intro-visual img{height:470px}}@media(max-width:640px){.site-header{height:72px}.brand-main{font-size:1.25rem}.brand-sub{font-size:.45rem}nav{top:72px}.hero{min-height:calc(100svh - 72px)}.hero-content{margin-left:1.2rem}.hero-shade{background:linear-gradient(90deg,rgba(10,33,52,.94),rgba(15,53,81,.42))}.hero-actions{flex-direction:column;align-items:stretch;width:min(100%,330px)}.hero-proof{display:none}.section{padding:4rem 1.2rem}.intro{gap:2rem}.intro-visual img{height:420px}.steel-card{left:.8rem;right:.8rem;bottom:1rem}.section-heading{display:block}.service-grid{grid-template-columns:1fr}.service-card.wide{grid-column:auto}.gallery{grid-template-columns:1fr;grid-auto-rows:280px}.gallery-item.tall{grid-row:span 1}.form-row{grid-template-columns:1fr}.contact-form{padding:1.2rem}.filters{overflow:auto;flex-wrap:nowrap;padding-bottom:.5rem}.filters button{white-space:nowrap}footer{padding:2.5rem 1.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.gallery-item img,.service-card{transition:none}}
:root{--navy:#1b1d18;--blue:#69734d;--steel:#8b907a;--silver:#dfe1d5;--mist:#f4f4ed;--green:#aeb983;--ink:#272922;--white:#fff;--line:#d8dacd}body{background:#fdfdf9}.site-header{background:rgba(253,253,249,.97)}.hero-shade{background:linear-gradient(90deg,rgba(20,22,17,.92) 0%,rgba(72,79,51,.68) 48%,rgba(72,79,51,.12) 100%)}.projects,.intro,.method{background:#fdfdf9}.services{background:#f1f1e8}.contact{background:#1b1d18}.contact-form{background:#fff}.gallery-item span{border-left:4px solid var(--green)}footer{background:#eceee4}.light{border-color:rgba(255,255,255,.82)}

/* Direction industrielle : priorité aux ouvrages, compositions compactes. */
.hero{min-height:min(820px,calc(100vh - 88px))}.hero-media{object-position:center 42%}.hero-shade{background:linear-gradient(90deg,rgba(18,21,17,.94) 0%,rgba(34,39,27,.72) 44%,rgba(34,39,27,.16) 78%,rgba(34,39,27,.05) 100%)}
.intro{padding-top:7rem;padding-bottom:7rem}.intro-visual img{height:520px}.steel-card{bottom:1.5rem}
.service-grid{grid-template-columns:repeat(6,1fr)}.service-card{grid-column:span 2;min-height:235px}.service-card:nth-child(4),.service-card:nth-child(5){grid-column:span 3}.service-card .icon{margin:1.2rem 0 1.6rem}
.work-gallery{grid-template-columns:repeat(4,1fr);grid-auto-rows:auto;gap:.8rem}.work-gallery .gallery-item{aspect-ratio:4/3}.work-gallery .gallery-item img{position:absolute;inset:0}.work-gallery .gallery-item span{z-index:1;right:1rem;width:max-content;max-width:calc(100% - 2rem)}
.team{background:#f1f1e8;overflow:hidden}.team-carousel{position:relative}.team-viewport{overflow:hidden}.team-track{display:flex;transition:transform .55s cubic-bezier(.2,.7,.2,1)}.team-slide{position:relative;min-width:100%;margin:0;background:#1b1d18;height:min(66vw,650px);overflow:hidden}.team-slide img{width:100%;height:100%;object-fit:cover}.team-slide:first-child img{object-position:center}.team-slide:nth-child(2) img{object-position:center 38%}.team-slide:nth-child(3) img{object-position:center 42%}.team-slide:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(15,17,14,.88))}.team-slide>div{position:absolute;z-index:1;left:clamp(1.2rem,4vw,3.2rem);bottom:clamp(1.2rem,4vw,3rem);color:#fff;display:flex;flex-direction:column}.team-slide strong{font-size:clamp(1.35rem,3vw,2.6rem);line-height:1.1}.team-slide span{color:#e4ebd4;margin-top:.45rem}.carousel-controls{display:flex;align-items:center;justify-content:flex-end;gap:.8rem;margin-top:1rem}.carousel-controls button{width:48px;height:48px;border:1px solid #b8bcae;background:#fff;color:#1b1d18;font-size:1.35rem;cursor:pointer}.carousel-controls button:hover{background:var(--green)}.carousel-status{min-width:4rem;text-align:center;font-weight:800;color:var(--navy)}
@media(max-width:1000px){.service-grid{grid-template-columns:repeat(2,1fr)}.service-card,.service-card:nth-child(4),.service-card:nth-child(5){grid-column:auto}.work-gallery{grid-template-columns:repeat(2,1fr)}.team-slide{height:min(76vw,580px)}}
@media(max-width:640px){.hero{min-height:760px}.hero-media{object-position:58% center}.intro{padding-top:4rem;padding-bottom:4rem}.intro-visual img{height:360px}.service-grid{grid-template-columns:1fr}.work-gallery{grid-template-columns:1fr;gap:.7rem}.work-gallery .gallery-item{aspect-ratio:4/3}.team-slide{height:68vh;min-height:470px}.team-slide:first-child img{object-position:58% center}.carousel-controls{justify-content:center}}

.service-grid{grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card,.service-card:nth-child(4),.service-card:nth-child(5){grid-column:auto;min-height:150px;padding:1.45rem;display:grid;grid-template-columns:48px 1fr;gap:1rem;align-items:start}.service-card:nth-child(5){grid-column:1/-1}.service-card>span{position:static;color:var(--green);font-size:.8rem;font-weight:900;padding-top:.3rem}.service-card h3{margin:0 0 .45rem;font-size:1.15rem}.service-card p{margin:0;color:#63727c;line-height:1.5}.service-card:hover{transform:none;box-shadow:inset 4px 0 0 var(--green)}
@media(max-width:640px){.service-grid{grid-template-columns:1fr}.service-card,.service-card:nth-child(4),.service-card:nth-child(5){grid-column:auto;min-height:0;padding:1.2rem;grid-template-columns:38px 1fr}.service-card h3{font-size:1.05rem}.service-card p{font-size:.94rem}}
.method{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,7rem);align-items:center;background:#fff}.method-photo{position:relative}.method-photo img{width:100%;height:620px;object-fit:cover}.method-photo span{position:absolute;left:0;bottom:0;background:var(--green);color:var(--navy);padding:1rem 1.3rem;font-weight:900}.method-copy h2{margin-bottom:2.5rem}.steps{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.steps article{padding:1.25rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.steps b{color:var(--green)}.steps h3{margin:.7rem 0 .2rem;color:var(--navy)}.steps p{margin:0;color:#63727c}@media(max-width:1000px){.method{grid-template-columns:1fr}.method-photo img{height:500px}}@media(max-width:640px){.method-photo img{height:430px}.steps{grid-template-columns:1fr 1fr}.steps article{padding:1rem}.method-photo span{right:0}}

/* Version épurée : uniquement les vraies réalisations. */
.work-gallery{grid-template-columns:repeat(3,1fr)}
.team-slide{height:min(40vw,480px)}
@media(max-width:640px){.hero{min-height:700px}.intro-visual img{height:320px}.work-gallery{grid-template-columns:repeat(2,1fr);gap:.55rem}.work-gallery .gallery-item{aspect-ratio:1}.work-gallery .gallery-item span{left:.55rem;right:.55rem;bottom:.55rem;max-width:calc(100% - 1.1rem);font-size:.68rem}.team-slide{height:340px;min-height:0}}

.before-after{background:#fff}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;position:relative}.comparison figure{margin:0}.comparison-image{height:440px;position:relative;overflow:hidden;background:#e7e9e2}.comparison-image img{width:100%;height:100%;object-fit:cover}.comparison-image span{position:absolute;left:1rem;bottom:1rem;background:rgba(255,255,255,.94);color:var(--navy);border-left:4px solid var(--green);padding:.55rem .8rem;font-weight:900;font-size:.8rem;text-transform:uppercase;letter-spacing:.07em}.comparison:after{content:"→";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:var(--navy);font-size:1.35rem;font-weight:900;box-shadow:0 6px 20px #0003}
@media(max-width:640px){.comparison{gap:.45rem}.comparison-image{height:265px}.comparison-image span{left:.45rem;bottom:.45rem;padding:.4rem .5rem;font-size:.62rem}.comparison:after{width:36px;height:36px;font-size:1rem}}

/* Identité kaki renforcée et reportage avant/après réel. */
:root{--navy:#303628;--blue:#69734d;--steel:#858d70;--silver:#e4e6d9;--mist:#f0f2e8;--green:#b4bf86;--khaki:#7c865e;--khaki-dark:#454d36;--khaki-pale:#e5e9d7;--ink:#272b22;--line:#ccd2bd}
body{background:#fafbf6}.site-header{background:rgba(241,243,232,.97);border-bottom-color:#c3cab1}.brand-main span,.kicker{color:var(--khaki)}nav a:after{background:var(--khaki)}.header-cta,.primary{background:var(--khaki-dark)}.hero-shade{background:linear-gradient(90deg,rgba(35,42,27,.96) 0%,rgba(78,89,57,.78) 48%,rgba(78,89,57,.18) 100%)}.hero .primary{background:var(--green);color:#27301f}.hero-proof{border-left-color:var(--khaki);background:rgba(239,242,226,.95)}.intro,.projects,.before-after{background:#fafbf6}.services,.team{background:var(--khaki-pale)}.steel-card{background:var(--khaki-dark)}.service-card:hover{box-shadow:inset 4px 0 0 var(--khaki)}.gallery-item span,.comparison-image span{border-left-color:var(--khaki)}.contact{background:var(--khaki-dark)}footer{background:#dfe4d2}.carousel-controls button:hover{background:var(--green)}
.comparison{grid-template-columns:repeat(2,1fr);gap:1rem}.comparison:after{display:none}.comparison figure{background:#fff;border:1px solid var(--line);padding:.55rem}.comparison-image{height:390px}.comparison-image img{object-position:center}.comparison figure:first-child .comparison-image img{object-position:center 35%}.comparison figure:last-child .comparison-image img{object-position:center 48%}
.form-heading{display:flex;flex-direction:column;margin-bottom:1.5rem;padding:0 0 1.2rem;border-bottom:1px solid var(--line)}.form-heading span{color:var(--khaki);font-size:.76rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.form-heading strong{color:var(--navy);font-size:1.3rem;margin:.2rem 0}.form-heading a{color:var(--blue);font-weight:800;text-decoration:underline;text-underline-offset:3px}.contact-form .primary{width:100%;background:var(--khaki-dark)}.contact-form .primary:hover{background:var(--khaki)}
@media(max-width:640px){.comparison{grid-template-columns:1fr}.comparison-image{height:310px}.comparison-image span{font-size:.68rem}.contact{background:var(--khaki-dark)}}

/* Détails kaki : présents, sobres et cohérents avec l'univers industriel. */
.section-heading{border-bottom:1px solid var(--line);padding-bottom:1.15rem}.section-heading:after{content:"";position:absolute;width:72px;height:4px;background:var(--khaki);bottom:-2px;left:0}.section-heading{position:relative}.intro-copy{border-left:4px solid var(--khaki);padding-left:clamp(1rem,2vw,1.7rem)}.service-card>span{display:grid;place-items:center;width:34px;height:34px;background:var(--khaki-pale);border:1px solid var(--khaki);color:var(--khaki-dark);padding:0}.gallery-item{outline:1px solid transparent;outline-offset:-1px}.gallery-item:hover{outline-color:var(--green)}.gallery-item:focus-visible{outline:3px solid var(--khaki);outline-offset:3px}.contact-form{border-top:6px solid var(--green)}footer{border-top:4px solid var(--khaki)}
.comparison{grid-template-columns:repeat(3,1fr)}.comparison figure{border-top:5px solid var(--khaki)}
@media(max-width:900px){.comparison{grid-template-columns:1fr 1fr}.comparison figure:last-child{grid-column:1/-1}.comparison figure:last-child .comparison-image{height:420px}}
@media(max-width:640px){.comparison{grid-template-columns:1fr}.comparison figure:last-child{grid-column:auto}.comparison figure:last-child .comparison-image{height:310px}.section-heading:after{width:54px}.intro-copy{padding-left:1rem}}
.final-finish img{transform:scale(1.34);transform-origin:center;object-position:center}

/* Identité visuelle officielle CJM & FILS. */
.brand{min-width:210px}.brand img{width:210px;height:66px;object-fit:contain;object-position:left center}.footer-brand img{width:245px;height:auto}.latest-project{outline:3px solid var(--khaki);outline-offset:-3px}.latest-project span{background:var(--khaki-dark);color:#fff;border-left-color:var(--green)}
@media(max-width:640px){.brand{min-width:175px}.brand img{width:175px;height:54px}.footer-brand img{width:230px;height:auto}}
.brand-logo-panel{display:flex;align-items:center;background:#424b39;border:1px solid #59644a;padding:.36rem .55rem;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.brand-logo-panel img{width:100%;height:auto;object-fit:contain}
.site-header .brand{min-width:220px}.site-header .brand-logo-panel{width:220px}
.footer-brand .brand-logo-panel{width:260px;padding:.55rem .7rem}
.work-gallery .latest-project img{object-position:center}
@media(max-width:640px){.site-header .brand{min-width:170px}.site-header .brand-logo-panel{width:170px;padding:.3rem .4rem}.footer-brand .brand-logo-panel{width:230px}}

/* Présentation chantier — uniquement les images publiées officiellement par CJM & FILS. */
.construction-hero{min-height:760px;background:linear-gradient(125deg,#30382a 0 54%,#667052 54%);display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:clamp(2rem,5vw,6rem);padding:clamp(3rem,6vw,6rem) clamp(1.2rem,8vw,9rem)}
.construction-hero .hero-content{width:auto;margin:0;padding:0;align-self:center}.construction-hero .hero-content:before{content:"OUVRAGES MÉTALLIQUES";display:block;width:max-content;background:var(--green);color:#283020;padding:.42rem .7rem;font-size:.7rem;font-weight:900;letter-spacing:.14em;margin-bottom:1.4rem}.construction-hero h1{font-size:clamp(2.8rem,5.4vw,5.8rem)}.construction-hero .light{background:transparent}.hero-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.18);margin-top:2.5rem}.hero-trust span{background:rgba(28,33,24,.78);padding:1rem;font-size:.76rem;line-height:1.35}.hero-trust strong{display:block;color:#d9e7ba;font-size:1rem}.hero-showcase{position:relative;height:610px;align-self:center}.hero-showcase img{position:absolute;object-fit:cover;box-shadow:0 28px 70px rgba(0,0,0,.32)}.hero-main{right:0;top:0;width:72%;height:78%}.hero-detail{left:0;bottom:0;width:48%;height:44%;border:8px solid #667052}.hero-showcase>span{position:absolute;right:0;bottom:6%;background:#fff;color:var(--navy);padding:.8rem 1rem;font-size:.74rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.company-panel{background:var(--khaki-dark);color:#fff;padding:clamp(1.8rem,4vw,3.2rem);border-top:7px solid var(--green)}.company-panel .panel-label{margin:0 0 1rem;color:#dbe9bd;text-transform:uppercase;font-size:.74rem;font-weight:900;letter-spacing:.13em}.company-panel ul{margin:0 0 1.5rem;padding:0;list-style:none}.company-panel li{padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.16)}.company-panel li:before{content:"✓";color:var(--green);font-weight:900;margin-right:.75rem}.company-panel strong{font-size:1.2rem}
.projects{background:#eef1e5}.project-case{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(2rem,5vw,5rem);align-items:start;padding:clamp(2rem,4vw,4rem);background:#fff;margin-top:2rem;border-top:6px solid var(--khaki)}.project-case-reverse{grid-template-columns:minmax(0,1.28fr) minmax(280px,.72fr)}.project-case-reverse .project-copy{order:2}.project-case-reverse .project-media{order:1}.project-index{color:var(--khaki);font-weight:900;letter-spacing:.15em;font-size:.75rem}.project-copy h3{font-size:clamp(1.8rem,3vw,3rem);line-height:1.08;color:var(--navy);margin:.5rem 0 1.2rem}.project-copy>p:not(.project-index){color:#5b6755}.project-copy dl{margin:2rem 0 0;border-top:1px solid var(--line)}.project-copy dl div{display:grid;grid-template-columns:95px 1fr;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line)}.project-copy dt{font-size:.72rem;font-weight:900;text-transform:uppercase;color:var(--khaki)}.project-copy dd{margin:0;color:#394132;font-weight:700}.project-media{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:210px;gap:.65rem}.project-media .gallery-item{min-height:0}.project-media .project-main{grid-row:span 2}.project-media-stair .project-main{grid-column:1}.project-media-inox{grid-template-columns:1.35fr .65fr;grid-template-rows:220px 220px}.project-media-inox .project-main{grid-row:1/3}.project-media .gallery-item span{left:.6rem;bottom:.6rem;font-size:.68rem}.project-media img{width:100%;height:100%;object-fit:cover}
@media(max-width:1000px){.construction-hero{grid-template-columns:1fr;padding-top:4rem}.hero-showcase{height:560px}.project-case,.project-case-reverse{grid-template-columns:1fr}.project-case-reverse .project-copy,.project-case-reverse .project-media{order:initial}}
@media(max-width:640px){.construction-hero{min-height:0;padding:3rem 1.2rem 4rem}.hero-trust{grid-template-columns:1fr}.hero-showcase{height:420px}.hero-main{width:78%;height:76%}.hero-detail{width:52%;height:42%;border-width:5px}.project-case{padding:1.2rem;margin-top:1rem}.project-media,.project-media-inox{grid-template-columns:1fr 1fr;grid-template-rows:none;grid-auto-rows:170px}.project-media .project-main,.project-media-inox .project-main{grid-column:1/-1;grid-row:auto;height:270px}.project-copy dl div{grid-template-columns:80px 1fr}.projects{padding-left:.8rem;padding-right:.8rem}}

/* En-tête kaki continu et sélection des chantiers. */
.site-header{background:#30382a;border-bottom:1px solid rgba(220,230,195,.2)}.site-header nav a{color:#fff}.site-header .header-cta{background:var(--green);color:#283020}.menu-toggle span:not(.sr-only){background:#eef2e4}@media(max-width:1000px){.site-header nav{background:#30382a}.site-header nav a{color:#fff}}
.project-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:2rem 0}.project-tab{border:1px solid #bbc3a9;background:#fff;color:var(--navy);padding:1rem 1.2rem;text-align:left;font-weight:900;font-size:1rem;cursor:pointer}.project-tab span{display:inline-grid;place-items:center;width:32px;height:32px;margin-right:.7rem;background:var(--khaki-pale);color:var(--khaki-dark)}.project-tab.active{background:var(--khaki-dark);color:#fff;border-color:var(--khaki-dark)}.project-tab.active span{background:var(--green)}.project-case[hidden]{display:none}.project-case.active-project{display:grid}
.project-carousel{position:relative;display:block;height:540px;background:#222}.project-slide{display:none;width:100%;height:100%}.project-slide.active{display:block}.project-carousel .project-slide img{width:100%;height:100%;object-fit:contain;background:#20251d}.project-carousel .project-slide span{left:1rem;bottom:1rem;font-size:.78rem}.project-carousel-controls{position:absolute;right:1rem;bottom:1rem;z-index:3;display:flex;align-items:center;background:#fff;color:var(--navy);box-shadow:0 8px 30px #0003}.project-carousel-controls button{width:46px;height:46px;border:0;background:var(--khaki-dark);color:#fff;font-size:1.2rem;cursor:pointer}.project-carousel-controls span{position:static!important;background:#fff!important;border:0!important;padding:.65rem .9rem!important;min-width:68px;text-align:center}.project-copy blockquote{margin:1.3rem 0;padding:1rem 1.2rem;border-left:4px solid var(--khaki);background:var(--khaki-pale);color:#394132;font-weight:800}.project-copy cite{display:block;margin-top:.55rem;font-size:.72rem;font-style:normal;font-weight:700;color:#6b745b}
@media(max-width:640px){.site-header{background:#30382a}.project-tabs{grid-template-columns:1fr}.project-carousel{height:390px}.project-carousel-controls{right:.6rem;bottom:.6rem}}
.structure-groups{display:grid;grid-template-columns:1fr;gap:1.4rem;grid-auto-rows:auto}.structure-group{min-width:0;border:1px solid var(--line);background:#f7f8f2;padding:.75rem}.structure-group-title{display:flex;align-items:center;gap:.8rem;padding:.25rem .2rem .8rem}.structure-group-title>span{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;background:var(--khaki-dark);color:#fff;font-weight:900}.structure-group-title small{display:block;color:var(--khaki-dark);font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.structure-group-title h4{margin:.15rem 0 0;color:var(--navy);font-size:1.15rem}.structure-groups .project-carousel{height:460px}@media(max-width:640px){.structure-groups .project-carousel{height:350px}.structure-group{padding:.55rem}.structure-group-title h4{font-size:1rem}}

/* En-tête final : logo nu sur fond kaki, sans cadre ni séparation. */
.site-header{border-bottom:0;box-shadow:none}
.site-header .brand-logo-panel,.footer-brand .brand-logo-panel{background:transparent;border:0;box-shadow:none;padding:0}
.site-header .brand-logo-panel{width:220px}
.site-header .brand-logo-panel img{height:auto}
@media(max-width:640px){
  .site-header{height:76px;padding:.25rem 1.2rem}
  .site-header .brand{min-width:180px}
  .site-header .brand-logo-panel{width:180px}
  .site-header .brand-logo-panel img{width:180px;height:auto}
  .site-header nav{top:76px}
  .construction-hero{padding-top:1.2rem}
  .construction-hero .hero-content:before{margin-bottom:1rem}
}

/* Les réalisations ouvrent la page ; les véhicules de l'entreprise concluent la présentation. */
.hero-detail{object-position:center 48%}
.fleet{display:grid;grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);gap:clamp(2rem,6vw,6rem);align-items:center;background:var(--khaki-pale);border-top:1px solid var(--line)}
.fleet-copy h2{font-size:clamp(2rem,3.8vw,3.8rem);margin-bottom:1.2rem}
.fleet-copy>p:last-child{color:#59644e;max-width:560px}
.fleet-photo{margin:0;overflow:hidden;border:10px solid #fff;box-shadow:0 24px 60px rgba(38,45,30,.18)}
.fleet-photo img{width:100%;height:460px;object-fit:cover;object-position:36% 57%;transform:scale(1.08)}
@media(max-width:900px){.fleet{grid-template-columns:1fr}.fleet-photo img{height:420px;object-position:32% 55%}}
@media(max-width:640px){.fleet-photo{border-width:6px}.fleet-photo img{height:300px;object-position:30% 55%;transform:scale(1.14)}}

/* Composition mobile : grande réalisation en fond, détail lisible à gauche. */
@media(max-width:640px){
  .hero-showcase{height:420px}
  .hero-main{left:auto;right:0;width:78%;height:76%;transform:none}
  .hero-detail{left:0;width:52%;height:42%;transform:none;bottom:0;object-fit:contain;background:#343c2d}
  .hero-showcase>span{left:auto;right:0;bottom:6%;width:auto;max-width:70%;text-align:left;transform:none}
}

/* En-tête ordinateur : logo plus présent et aligné au centre. */
@media(min-width:1001px){
  .site-header{height:92px;padding-left:.75rem;padding-right:clamp(2rem,4vw,4.5rem)}
  .site-header .brand{min-width:235px;justify-content:center}
  .site-header .brand-logo-panel{width:235px}
  .site-header .brand-logo-panel img{width:235px;height:auto}
  .site-header nav{align-items:center}
  .construction-hero h1{font-size:clamp(3.1rem,4vw,4.55rem);line-height:.98;max-width:720px}
  .construction-hero h1 span{display:inline-block;white-space:nowrap;font-size:.34em;line-height:1.15;letter-spacing:.035em;margin-top:.75rem}
}
