/* Construction Manent — direction artistique V3 */
:root{
  --black:#0a0a0a;--ink:#151515;--yellow:#f2d300;--yellow2:#ffe500;
  --paper:#ffffff;--off:#f4f4ef;--muted:#666860;--line:#d9d9d3;
  --max:1240px;--text:820px;--radius:0px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}img{max-width:100%;height:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:14px;top:14px;background:var(--yellow);padding:10px 14px;z-index:999}
/* header */
.site-header{height:86px;display:flex;align-items:center;gap:30px;padding:0 max(28px,calc((100vw - var(--max))/2));border-bottom:1px solid #e5e5df;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);position:sticky;top:0;z-index:80}.brand{text-decoration:none;display:flex;flex-direction:column;line-height:.88;letter-spacing:.03em}.brand span{font-size:12px;font-weight:900;letter-spacing:.17em}.brand b{font-size:32px;letter-spacing:-.025em}.brand b:after{content:"";display:inline-block;width:11px;height:11px;background:var(--yellow);margin-left:7px}.main-nav{display:flex;align-self:stretch;gap:28px;margin-left:auto}.main-nav a{display:flex;align-items:center;text-decoration:none;font-size:13px;font-weight:800;border-bottom:4px solid transparent;padding-top:4px}.main-nav a:hover,.main-nav a:focus,.main-nav a[aria-current="page"]{border-bottom-color:var(--yellow)}.header-phone{font-size:14px;font-weight:900;text-decoration:none;border-left:1px solid var(--line);padding-left:28px;white-space:nowrap}.menu-toggle{display:none;border:0;background:transparent;font-weight:900;font-size:14px}
/* breadcrumb */
.breadcrumb{max-width:var(--max);margin:22px auto 0;padding:0 28px;display:flex;gap:9px;flex-wrap:wrap;color:#7a7a72;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.breadcrumb a{text-decoration:none}.breadcrumb a:hover{text-decoration:underline}
/* hero generic */
.page-hero{max-width:var(--max);margin:0 auto;padding:66px 28px 54px;display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:70px;align-items:end;border-bottom:1px solid var(--line)}.eyebrow{margin:0 0 15px;text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:900}.page-hero h1{margin:0;max-width:980px;font-size:clamp(42px,6.4vw,82px);line-height:.98;letter-spacing:-.055em;font-weight:900}.hero-meta{margin:22px 0 0;color:var(--muted);font-size:14px}.hero-mark{width:138px;height:138px;background:var(--yellow);display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end;padding:16px;font-weight:900;line-height:.9;text-align:right}.hero-mark:before{content:"DEPUIS";font-size:9px;letter-spacing:.16em;margin-bottom:5px}.hero-mark span{font-size:25px;letter-spacing:-.04em}
/* main editorial */
.content{max-width:var(--text);margin:0 auto;padding:62px 28px 96px}.content>p:first-child{font-size:21px;line-height:1.55;color:#222}.content h2{position:relative;margin:66px 0 20px;padding-top:17px;font-size:33px;line-height:1.12;letter-spacing:-.035em}.content h2:before{content:"";position:absolute;top:0;left:0;width:48px;height:5px;background:var(--yellow)}.content h3{margin:36px 0 12px;font-size:22px;line-height:1.2;letter-spacing:-.015em}.content p,.content li{font-size:17px}.content ul{padding-left:22px}.content li{margin:.48em 0}.content hr{border:0;border-top:1px solid var(--line);margin:52px 0}.content blockquote{border-left:5px solid var(--yellow);margin:34px 0;padding:6px 0 6px 22px;color:#3b3b37}.content code{background:#f1f1ec;padding:2px 5px;font-size:.9em}.inline-cta{margin:18px 0 28px}.inline-cta a,.text-link{font-weight:900;text-decoration:none;border-bottom:2px solid var(--yellow)}.inline-cta a:hover,.text-link:hover{background:var(--yellow)}
.qualification-strip{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin:26px 0}.qualification-strip span{font-weight:900;border:2px solid var(--ink);padding:9px 13px;letter-spacing:.04em}.qualification-strip small{color:var(--muted)}
/* home */
.home-hero{background:var(--black);color:#fff}.home-hero-inner{max-width:var(--max);min-height:620px;margin:0 auto;padding:84px 28px 72px;display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:70px;align-items:end}.home-hero .eyebrow{color:var(--yellow)}.home-hero h1{margin:0;max-width:930px;font-size:clamp(52px,7.4vw,104px);line-height:.89;letter-spacing:-.065em;font-weight:900}.home-lead{font-size:20px;max-width:790px;color:#d2d2cd;margin:28px 0 0}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:36px}.hero-phone{color:white;text-decoration:none;font-weight:900}.hero-phone:hover{text-decoration:underline}.since-block{background:var(--yellow);color:#111;min-height:210px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}.since-block small{font-size:11px;font-weight:900;letter-spacing:.18em}.since-block strong{font-size:54px;line-height:.85;letter-spacing:-.055em}.home-section{max-width:var(--max);margin:0 auto;padding:92px 28px}.home-section.soft{max-width:none;background:var(--off)}.home-section.soft>.section-inner,.home-section.dark>.section-inner{max-width:var(--max);margin:0 auto}.home-section.dark{max-width:none;background:var(--black);color:white}.section-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:900;margin:0 0 14px}.home-section.dark .section-kicker{color:var(--yellow)}.section-title{font-size:clamp(38px,5vw,66px);line-height:.98;letter-spacing:-.05em;margin:0 0 28px}.intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:90px;align-items:start}.intro-copy{font-size:20px;line-height:1.55;margin:0}.proof-list{border-top:1px solid var(--line)}.proof-item{display:flex;justify-content:space-between;gap:25px;padding:17px 0;border-bottom:1px solid var(--line);font-size:14px}.proof-item b{font-size:18px}.trade-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}.trade-card{min-height:290px;border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;text-decoration:none;position:relative;background:#fff;transition:transform .2s ease,background .2s ease}.trade-card:hover{transform:translateY(-4px);background:var(--yellow)}.trade-card .num{font-size:11px;font-weight:900;letter-spacing:.14em;color:var(--muted)}.trade-card h3{font-size:31px;line-height:1.04;letter-spacing:-.04em;margin:auto 0 18px}.trade-card p{font-size:14px;color:#4d4d49;margin:0}.trade-card .arrow{position:absolute;right:24px;top:24px;font-size:24px}.secondary-trades{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.secondary-trades a{border:1px solid var(--line);padding:10px 13px;text-decoration:none;font-weight:800;font-size:13px;background:#fff}.secondary-trades a:hover{background:var(--yellow);border-color:var(--yellow)}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}.project-card{text-decoration:none;background:#fff;border:1px solid var(--line);display:block}.project-media{aspect-ratio:4/3;background:linear-gradient(135deg,#d7d7d0,#efefe9);display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;color:#777770;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.project-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.project-card:hover .project-media img{transform:scale(1.025)}.project-info{padding:22px}.project-info small{font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:900}.project-info h3{font-size:23px;line-height:1.12;margin:10px 0 7px}.project-info p{font-size:14px;color:var(--muted);margin:0}.project-card:hover .project-info{background:var(--yellow)}.heritage-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.heritage-number{font-size:clamp(82px,10vw,132px);font-weight:900;letter-spacing:-.065em;line-height:.82;color:var(--yellow)}.heritage-copy p{font-size:18px;color:#d4d4cf}.area-list{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0}.area-list a{padding:10px 14px;border:1px solid #c9c9c3;text-decoration:none;font-weight:800;font-size:13px}.area-list a:hover{border-color:var(--yellow);background:var(--yellow)}
/* listings */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:34px -160px 45px}.service-card{border:1px solid var(--line);padding:26px;min-height:240px;display:flex;flex-direction:column;text-decoration:none;background:#fff}.service-card:hover{background:var(--yellow)}.service-card small{font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:var(--muted)}.service-card h3{font-size:26px;line-height:1.05;margin:auto 0 12px}.service-card p{font-size:14px;color:var(--muted);margin:0}.realisation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:38px -180px}.realisation-card{border:1px solid var(--line);text-decoration:none;background:#fff}.realisation-card:hover .realisation-info{background:var(--yellow)}.realisation-media{aspect-ratio:4/3;background:linear-gradient(135deg,#d5d5cf,#f0f0eb);display:flex;align-items:center;justify-content:center;text-align:center;color:#777;font-size:10px;text-transform:uppercase;letter-spacing:.12em;padding:20px}.realisation-info{padding:22px}.realisation-info small{font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:900}.realisation-info h3{font-size:22px;line-height:1.12;margin:9px 0 6px}.filter-bar{margin:28px -180px 15px;padding:20px;background:var(--off);display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.filter-bar label{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.filter-bar select{width:100%;margin-top:7px;border:1px solid var(--line);padding:11px;background:#fff;font:inherit}
/* CTA */
.page-cta{max-width:var(--max);margin:0 auto 86px;padding:0 28px}.page-cta-inner{background:var(--yellow);padding:38px 42px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}.page-cta h2{font-size:32px;line-height:1.05;margin:0 0 8px;letter-spacing:-.035em}.page-cta p{margin:0;max-width:700px}.page-cta-actions{display:flex;gap:10px;align-items:center}.btn{display:inline-block;border:2px solid var(--ink);padding:13px 19px;font-size:13px;font-weight:900;text-decoration:none;cursor:pointer;background:#fff;color:#111;border-radius:0}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--yellow);border-color:var(--yellow)}.home-hero .btn-primary{color:#111}.btn-dark{background:var(--black);color:#fff;border-color:var(--black)}.btn-outline{background:transparent;color:inherit;border-color:currentColor}
/* forms */
.project-form-wrap{max-width:var(--max);margin:70px -190px 10px;background:var(--black);color:#fff;padding:58px 62px}.project-form-wrap h2{font-size:38px;line-height:1.05;margin:0 0 12px;letter-spacing:-.04em}.project-form-wrap h2:before{display:none}.project-form-wrap .eyebrow{color:var(--yellow)}.project-form-wrap .form-heading>p:last-child{color:#bbb}.project-form{margin-top:34px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:800}.form-grid label>span{color:var(--yellow)}.form-grid .wide{grid-column:1/-1}.form-grid small{font-weight:400;color:#aaa}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #444;background:#151515;color:#fff;padding:13px 14px;font:inherit;border-radius:0}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:2px solid var(--yellow);outline-offset:1px}.complementary{border:1px solid #3e3e3e;padding:16px 18px}.complementary legend{font-weight:800;padding:0 8px}.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 15px}.check-grid label{display:flex;flex-direction:row;align-items:center;font-size:12px;font-weight:500}.check-grid input{width:auto!important}.check{display:flex;gap:10px;align-items:flex-start;margin:23px 0;font-size:12px}.check input{margin-top:4px}.privacy-check span{color:#fff!important}.form-actions{display:flex;align-items:center;gap:20px}.preview-note{font-size:11px;color:#999;max-width:470px;margin:0}.file-field input{padding:11px}
/* contact */
.contact-quick{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:30px 0 10px}.contact-box{border:1px solid var(--line);padding:25px}.contact-box small{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:900;color:var(--muted)}.contact-box a{display:block;font-size:22px;font-weight:900;text-decoration:none;margin-top:8px}.contact-box a:hover{text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:5px}
/* footer */
.site-footer{background:#0d0d0d;color:#fff;padding:68px max(28px,calc((100vw - var(--max))/2)) 24px}.footer-grid{display:grid;grid-template-columns:1.4fr .9fr 1.2fr .9fr;gap:54px}.footer-grid h2{font-size:10px;color:var(--yellow);text-transform:uppercase;letter-spacing:.16em;margin:0 0 17px}.footer-grid p{font-size:13px;color:#bbb}.footer-grid a,.link-button{display:block;color:#ccc;text-decoration:none;font-size:13px;margin:8px 0}.footer-grid a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--yellow)}.footer-brand{font-size:21px!important;font-weight:700;color:#fff!important;margin-bottom:20px!important}.footer-brand b:after{content:"";display:inline-block;width:9px;height:9px;background:var(--yellow);margin-left:5px}.link-button{border:0;background:none;padding:0;cursor:pointer}.footer-bottom{border-top:1px solid #303030;margin-top:46px;padding-top:18px;display:flex;justify-content:space-between;color:#787878;font-size:11px}
/* cookie */
.cookie-banner{position:fixed;left:20px;right:20px;bottom:20px;background:#fff;color:#111;border:2px solid #111;box-shadow:0 18px 60px #0003;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:30px;z-index:100}.cookie-banner[hidden]{display:none}.cookie-banner p{font-size:12px;max-width:650px;margin:4px 0 0}.cookie-actions{display:flex;gap:9px;align-items:center}.cookie-actions a{font-size:12px}
/* legal */
.legal-warning{background:#fff5b8;border-left:5px solid var(--yellow);padding:18px 20px;margin:0 0 30px}.status-chip,.draft-banner,.editorial-note{display:none!important}
/* responsive */
@media(max-width:1100px){.header-phone{display:none}.page-hero{grid-template-columns:1fr 110px}.hero-mark{width:110px;height:110px}.card-grid,.realisation-grid,.filter-bar{margin-left:-70px;margin-right:-70px}.project-form-wrap{margin-left:-80px;margin-right:-80px}.trade-grid,.project-grid{grid-template-columns:repeat(2,1fr)}.home-hero-inner{grid-template-columns:1fr 190px}.since-block{min-height:185px}.since-block strong{font-size:48px}}
@media(max-width:760px){.site-header{height:68px;padding:0 18px}.brand span{font-size:9px}.brand b{font-size:24px}.menu-toggle{display:block;margin-left:auto}.main-nav{position:absolute;left:0;right:0;top:67px;display:none;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--line);padding:12px 18px;margin:0}.main-nav.open{display:flex}.main-nav a{padding:12px 0;border:0}.breadcrumb{padding:0 20px;margin-top:17px}.page-hero{display:block;padding:44px 20px 36px}.page-hero h1{font-size:clamp(38px,12vw,58px)}.hero-mark{display:none}.content{padding:42px 20px 68px}.content>p:first-child{font-size:18px}.content h2{font-size:28px;margin-top:54px}.content p,.content li{font-size:16px}.home-hero-inner{min-height:auto;display:block;padding:58px 20px 60px}.home-hero h1{font-size:clamp(50px,15vw,76px)}.home-lead{font-size:18px}.since-block{margin-top:44px;min-height:150px;max-width:220px}.since-block strong{font-size:46px}.hero-actions{flex-direction:column;align-items:flex-start;gap:14px}.home-section{padding:66px 20px}.intro-grid,.heritage-grid{grid-template-columns:1fr;gap:45px}.trade-grid,.project-grid{grid-template-columns:1fr}.trade-card{min-height:220px}.card-grid,.realisation-grid,.filter-bar{grid-template-columns:1fr;margin:28px 0}.filter-bar{padding:16px}.project-form-wrap{margin:55px -20px 0;padding:42px 20px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.check-grid{grid-template-columns:1fr}.form-actions{flex-direction:column;align-items:flex-start}.contact-quick{grid-template-columns:1fr}.page-cta{padding:0 20px;margin-bottom:60px}.page-cta-inner{grid-template-columns:1fr;padding:30px 24px}.page-cta-actions{flex-wrap:wrap}.footer-grid{grid-template-columns:1fr;gap:28px}.footer-bottom{flex-direction:column;gap:8px}.cookie-banner{left:10px;right:10px;bottom:10px;align-items:flex-start;flex-direction:column}.cookie-actions{flex-wrap:wrap}}


/* ===== V4 — métier, local, réalisations, contact ===== */
/* The homepage is intentionally not altered in V4: its final logo / 1982 balance is kept for the final polish pass. */
.page-listing .page-hero,.page-trade .page-hero,.page-local .page-hero,.page-contact .page-hero{padding-top:54px;padding-bottom:46px}
.page-trade .content,.page-local .content{padding-top:52px}

/* métier index */
.page-listing .card-grid{align-items:stretch}
.page-listing .service-card{position:relative;overflow:hidden;transition:transform .18s ease,background .18s ease,border-color .18s ease}
.page-listing .service-card:after{content:"→";position:absolute;right:22px;top:17px;font-size:22px;font-weight:900}
.page-listing .service-card.primary-service{border-top:7px solid var(--yellow);min-height:275px}
.page-listing .service-card.primary-service h3{font-size:31px}
.page-listing .service-card:hover{transform:translateY(-3px);border-color:#111}

/* métier detail */
.trade-intro-panel{margin:0 -130px 60px;padding:38px 42px;border:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:42px;background:var(--off)}
.trade-intro-panel p{margin:0;font-size:18px!important;line-height:1.62}.trade-intro-panel p:first-child{font-size:23px!important;font-weight:700;line-height:1.42}
.scope-list{list-style:none;padding:0!important;margin:26px -100px 0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.scope-list li{position:relative;margin:0!important;padding:18px 18px 18px 50px;border:1px solid var(--line);background:#fff}.scope-list li:before{content:"";position:absolute;width:13px;height:13px;left:20px;top:24px;background:var(--yellow)}
.method-steps{counter-reset:steps;list-style:none;padding:0!important;margin:30px -100px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.method-steps li{counter-increment:steps;margin:0!important;border-top:5px solid var(--yellow);padding:20px;background:var(--off);font-size:14px!important}.method-steps li:before{content:"0" counter(steps);display:block;font-size:11px;letter-spacing:.14em;font-weight:900;color:var(--muted);margin-bottom:28px}.method-steps strong{display:block;font-size:17px;margin-bottom:8px}.trade-realisation-band{margin:28px -130px 10px;background:var(--black);color:#fff;padding:34px 40px;display:flex;gap:30px;align-items:center;justify-content:space-between}.trade-realisation-band p{margin:0!important;max-width:650px;color:#d0d0cb}.trade-realisation-band .btn{flex:0 0 auto}

/* local */
.local-intro-panel{margin:0 -120px 54px;display:grid;grid-template-columns:190px 1fr;border:1px solid var(--line);background:#fff}.local-intro-label{background:var(--yellow);padding:30px 24px;display:flex;flex-direction:column;justify-content:space-between;min-height:190px}.local-intro-label small{text-transform:uppercase;font-size:10px;letter-spacing:.15em;font-weight:900}.local-intro-label strong{font-size:25px;line-height:1.05;letter-spacing:-.035em;overflow-wrap:anywhere}.local-intro-copy{padding:32px 36px}.local-intro-copy p{margin:0 0 15px;font-size:18px!important}.local-intro-copy p:last-child{margin-bottom:0;color:var(--muted);font-size:16px!important}.why-grid{list-style:none;padding:0!important;margin:24px -100px 0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.why-grid li{margin:0!important;padding:20px;border-left:5px solid var(--yellow);background:var(--off)}.local-realisation-band{margin:28px -120px 12px;border:1px solid var(--line);padding:30px 34px;display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center}.local-realisation-band p{margin:0!important}.local-nearby{margin-top:22px;padding:18px 20px;background:var(--off);border-left:4px solid var(--yellow);font-size:14px!important}

/* réalisations listing */
.page-realisations .filter-bar{position:sticky;top:96px;z-index:30;box-shadow:0 10px 28px rgba(0,0,0,.05)}
.realisation-card{transition:transform .18s ease,border-color .18s ease}.realisation-card:hover{transform:translateY(-3px);border-color:#111}.realisation-card[hidden]{display:none!important}.filter-count{margin:0 -180px 26px;color:var(--muted);font-size:12px!important;text-transform:uppercase;letter-spacing:.1em;font-weight:900}

/* realization detail */
.page-realisation .page-hero{grid-template-columns:minmax(0,1fr) 205px}.page-realisation .hero-mark{width:185px;height:138px;background:var(--black);color:#fff;align-items:flex-start;text-align:left}.page-realisation .hero-mark:before{content:"RÉALISATION";color:var(--yellow)}.page-realisation .hero-mark span{font-size:18px;line-height:1.1}.realisation-sheet{margin:6px -120px 54px;padding:0;border-top:1px solid var(--ink);display:grid;grid-template-columns:repeat(3,1fr)}.sheet-item{padding:18px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.sheet-item:nth-child(3n){border-right:0}.sheet-item small{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:9px;font-weight:900;color:var(--muted);margin-bottom:4px}.sheet-item strong,.sheet-item a{font-size:15px;font-weight:900;text-decoration:none}.sheet-item a{border-bottom:2px solid var(--yellow)}
.realisation-lead{font-size:22px!important;line-height:1.5!important}.work-list{list-style:none!important;padding:0!important;margin:26px -80px 0!important;display:grid;grid-template-columns:1fr 1fr;gap:10px}.work-list li{margin:0!important;padding:16px 18px 16px 42px;border:1px solid var(--line);position:relative}.work-list li:before{content:"";position:absolute;left:17px;top:22px;width:10px;height:10px;background:var(--yellow)}
.gallery-stage{margin:34px -160px 10px}.gallery-stage h3{font-size:13px;text-transform:uppercase;letter-spacing:.14em;margin:35px 0 12px}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.gallery-placeholder{aspect-ratio:4/3;background:linear-gradient(135deg,#d8d8d2,#f0f0eb);display:flex;align-items:center;justify-content:center;text-align:center;padding:25px;color:#777;font-size:10px;text-transform:uppercase;letter-spacing:.12em;border:1px solid var(--line)}.realisation-nav{margin:70px -120px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr}.realisation-nav a{padding:24px 0;text-decoration:none;font-weight:900}.realisation-nav a:last-child{text-align:right}.realisation-nav a:hover{text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:4px}

/* contact */
.page-contact .content{max-width:1000px}.page-contact .contact-quick{margin:34px 0 22px}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0 54px}.contact-address,.contact-hours{padding:26px;border:1px solid var(--line);background:var(--off)}.contact-details small{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:900;color:var(--muted);margin-bottom:12px}.contact-details p{margin:0;font-size:16px!important}.page-contact .project-form-wrap{margin-left:0;margin-right:0}.page-contact .form-heading{max-width:760px}.contact-prep{margin:48px 0 0;padding:28px 30px;border-left:6px solid var(--yellow);background:var(--off)}.contact-prep h2{margin-top:0;padding-top:0}.contact-prep h2:before{display:none}.contact-prep p{margin-bottom:0}

@media(max-width:950px){
 .trade-intro-panel,.local-intro-panel,.trade-realisation-band,.local-realisation-band,.realisation-sheet,.gallery-stage,.realisation-nav{margin-left:0;margin-right:0}
 .scope-list,.method-steps,.why-grid,.work-list{margin-left:0!important;margin-right:0!important}
 .trade-intro-panel{grid-template-columns:1fr}.method-steps{grid-template-columns:1fr 1fr}.local-intro-panel{grid-template-columns:150px 1fr}.realisation-sheet{grid-template-columns:1fr 1fr}.sheet-item:nth-child(3n){border-right:1px solid var(--line)}.sheet-item:nth-child(2n){border-right:0}
}
@media(max-width:680px){
 .trade-intro-panel{padding:26px 22px}.scope-list,.why-grid,.work-list{grid-template-columns:1fr}.method-steps{grid-template-columns:1fr 1fr}.trade-realisation-band,.local-realisation-band{grid-template-columns:1fr}.local-intro-panel{grid-template-columns:1fr}.local-intro-label{min-height:110px}.realisation-sheet{grid-template-columns:1fr}.sheet-item{border-right:0!important}.gallery-grid{grid-template-columns:1fr}.contact-details{grid-template-columns:1fr}.page-realisation .page-hero{grid-template-columns:1fr}.page-realisation .hero-mark{display:none}
}
@media(max-width:480px){.method-steps{grid-template-columns:1fr}}


/* ===== V5 — zones, conseils, juridique, cookies ===== */
.zone-intro-band{margin:30px -145px 62px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:var(--off)}
.zone-intro-band>div{padding:24px;border-right:1px solid var(--line)}.zone-intro-band>div:last-child{border-right:0}.zone-intro-band small,.department-intro-panel small,.city-context small{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:9px;font-weight:900;color:var(--muted);margin-bottom:8px}.zone-intro-band strong{display:block;font-size:20px;line-height:1.1}.zone-intro-band span{display:block;margin-top:7px;font-size:13px;color:var(--muted)}
.department-grid{margin:26px -165px 54px;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.department-card{min-height:300px;border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;text-decoration:none;transition:transform .18s ease,border-color .18s ease}.department-card:hover{transform:translateY(-3px);border-color:#111;background:var(--yellow)}.department-card small{font-size:11px;font-weight:900;letter-spacing:.16em}.department-card h3{font-size:32px;letter-spacing:-.04em;margin:34px 0 12px}.department-card p{font-size:15px!important;color:var(--muted);margin:0 0 18px}.department-card span{font-size:12px;color:var(--muted);margin:auto 0 20px}.department-card b{font-size:13px}
.zone-principles{margin:24px -130px 50px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.zone-principles>div{background:var(--black);color:white;padding:26px}.zone-principles strong{color:var(--yellow);font-size:11px;letter-spacing:.16em}.zone-principles h3{font-size:21px;margin:45px 0 10px}.zone-principles p{font-size:14px!important;color:#ccc;margin:0}.zone-trades{display:flex;flex-wrap:wrap;gap:9px}.zone-trades a{padding:11px 14px;border:1px solid var(--line);text-decoration:none;font-size:13px;font-weight:900}.zone-trades a:hover{background:var(--yellow);border-color:var(--yellow)}
.department-intro-panel{margin:0 -120px 42px;background:var(--yellow);padding:28px 32px;display:grid;grid-template-columns:160px 1fr;gap:5px 24px;align-items:end}.department-intro-panel small{grid-column:1}.department-intro-panel strong{grid-column:1/3;font-size:32px;letter-spacing:-.04em}.department-intro-panel span{grid-column:1/3;font-size:13px}.city-cloud{display:flex;flex-wrap:wrap;gap:8px!important;margin:18px -100px 28px!important}.city-cloud a{border:1px solid var(--line);padding:9px 12px;text-decoration:none;font-weight:800;font-size:13px}.city-cloud a:hover{background:var(--yellow);border-color:var(--yellow)}
.city-context{margin:0 -100px 42px;padding:24px 28px;border-left:8px solid var(--yellow);background:var(--off)}.city-context strong{display:block;font-size:28px;letter-spacing:-.04em}.city-context span{display:block;color:var(--muted);font-size:13px;margin-top:5px}

.advice-grid{margin:34px -170px 46px;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.advice-card{border:1px solid var(--line);padding:26px;text-decoration:none;min-height:250px;display:flex;flex-direction:column;transition:.18s ease}.advice-card:hover{background:var(--yellow);transform:translateY(-3px);border-color:#111}.advice-card small{font-size:9px;text-transform:uppercase;letter-spacing:.16em;font-weight:900;color:var(--muted)}.advice-card h3{font-size:27px;line-height:1.07;letter-spacing:-.035em;margin:38px 0 12px}.advice-card p{font-size:14px!important;color:var(--muted);margin:0 0 22px}.advice-card b{margin-top:auto;font-size:12px}.advice-note{margin:40px 0 0;padding:24px 28px;background:var(--off);border-left:6px solid var(--yellow)}.advice-note strong{font-size:13px;text-transform:uppercase;letter-spacing:.1em}.advice-note p{font-size:15px!important;margin:8px 0 0}
.page-guide .content{max-width:900px}.guide-toc{margin:42px -115px;padding:24px 28px;background:var(--off);border-top:5px solid var(--yellow)}.guide-toc>small{display:block;text-transform:uppercase;font-size:9px;letter-spacing:.16em;font-weight:900;margin-bottom:12px}.guide-toc nav{display:grid;grid-template-columns:repeat(2,1fr);gap:7px 24px}.guide-toc a{font-size:13px;text-decoration:none;font-weight:800}.guide-toc a:hover{text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:3px}.guide-related{margin:70px -115px 0;border-top:1px solid var(--line);padding-top:24px}.guide-related>small{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:9px;font-weight:900;color:var(--muted);margin-bottom:13px}.guide-related>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.guide-related a{padding:16px;border:1px solid var(--line);text-decoration:none;font-weight:900;font-size:13px;display:flex;justify-content:space-between}.guide-related a:hover{background:var(--yellow)}.source-note{margin:48px 0 0;padding:22px 24px;border-left:5px solid var(--yellow);background:var(--off)}.source-note p{font-size:14px!important;margin:6px 0 0}

.page-legal .content{max-width:950px}.legal-status{margin:0 0 48px;padding:23px 27px;background:var(--yellow);display:flex;gap:24px;align-items:center}.legal-status strong{font-size:17px}.legal-status span{font-size:13px;line-height:1.45}.legal-facts{margin:25px -80px 32px;display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.legal-facts>div{padding:18px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.legal-facts small{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:8px;font-weight:900;color:var(--muted);margin-bottom:5px}.legal-facts strong{display:block;font-size:16px}.legal-facts span{font-size:12px;color:var(--muted)}.legal-check{padding:14px 18px;background:var(--off);border-left:4px solid var(--yellow);font-size:14px!important}.legal-purpose-grid,.cookie-policy-grid{margin:24px -70px 36px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.legal-purpose-grid>div,.cookie-policy-grid>div{padding:22px;border:1px solid var(--line)}.legal-purpose-grid strong,.cookie-policy-grid strong{font-size:17px}.legal-purpose-grid p,.cookie-policy-grid p{font-size:14px!important;color:var(--muted);margin:8px 0 0}.cookie-policy-grid span{display:inline-block;margin-top:16px;background:var(--off);padding:7px 9px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}

.cookie-banner{position:fixed;z-index:160;left:20px;right:20px;bottom:20px;max-width:1180px;margin:auto;background:#111;color:#fff;padding:22px 24px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;box-shadow:0 15px 50px rgba(0,0,0,.26)}.cookie-banner[hidden]{display:none}.cookie-banner strong{font-size:16px}.cookie-banner p{font-size:13px;color:#ccc;margin:5px 0 0;max-width:650px}.cookie-actions{display:flex;gap:8px;flex-wrap:wrap}.cookie-choice{background:white;color:#111;border-color:white;min-width:128px}.cookie-choice:hover{background:var(--yellow);border-color:var(--yellow)}
.cookie-modal[hidden]{display:none}.cookie-modal{position:fixed;inset:0;z-index:170;display:grid;place-items:center;padding:20px}.cookie-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.65)}.cookie-modal-panel{position:relative;width:min(620px,100%);max-height:90vh;overflow:auto;background:#fff;padding:34px}.cookie-modal-panel>small{text-transform:uppercase;letter-spacing:.14em;font-size:9px;font-weight:900}.cookie-modal-panel h2{font-size:35px;line-height:1;margin:8px 0 25px;letter-spacing:-.04em}.cookie-close{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:30px;cursor:pointer}.cookie-setting{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:18px 0;border-top:1px solid var(--line)}.cookie-setting strong{font-size:15px}.cookie-setting p{font-size:12px;color:var(--muted);margin:4px 0 0}.cookie-setting span{font-size:10px;text-transform:uppercase;font-weight:900}.cookie-setting input{width:22px;height:22px;accent-color:#111}.cookie-modal-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}.cookie-more{font-size:12px;margin:20px 0 0}

@media(max-width:950px){.zone-intro-band,.department-grid,.zone-principles,.department-intro-panel,.city-cloud,.city-context,.advice-grid,.guide-toc,.guide-related,.legal-facts,.legal-purpose-grid,.cookie-policy-grid{margin-left:0!important;margin-right:0!important}.department-grid{grid-template-columns:1fr 1fr}.zone-principles{grid-template-columns:1fr}.advice-grid{grid-template-columns:1fr 1fr}.guide-related>div{grid-template-columns:1fr}.cookie-banner{grid-template-columns:1fr}.cookie-actions{justify-content:flex-start}}
@media(max-width:680px){.zone-intro-band{grid-template-columns:1fr}.zone-intro-band>div{border-right:0;border-bottom:1px solid var(--line)}.zone-intro-band>div:last-child{border-bottom:0}.department-grid,.advice-grid,.legal-facts,.legal-purpose-grid,.cookie-policy-grid{grid-template-columns:1fr}.guide-toc nav{grid-template-columns:1fr}.legal-status{display:block}.legal-status span{display:block;margin-top:7px}.cookie-banner{left:10px;right:10px;bottom:10px;padding:18px}.cookie-actions{display:grid;grid-template-columns:1fr 1fr}.cookie-actions .cookie-choice:last-child{grid-column:1/3}.cookie-modal-panel{padding:28px 20px}.cookie-modal-actions{display:grid;grid-template-columns:1fr}.department-intro-panel{grid-template-columns:1fr}.department-intro-panel strong,.department-intro-panel span{grid-column:1}}

/* V6 form production */
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.project-form.is-submitting{opacity:.72;pointer-events:none}.form-system-message{grid-column:1/-1;padding:14px 16px;border:1px solid #111;background:#fff8d8;font-weight:700}.form-system-message.error{background:#fff0f0;border-color:#a00}.form-system-message.success{background:#eef8ee;border-color:#285b2a}

.realisation-media{overflow:hidden;background:#e7e7e1}.realisation-media img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4/3}.gallery-grid img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#eee}.gallery-figure{margin:0;background:#fff}.gallery-figure figcaption{display:block!important;visibility:visible!important;opacity:1!important;font-size:14px;color:#111;background:#f4f4ef;border-left:5px solid var(--yellow);padding:10px 12px 11px;line-height:1.45;font-weight:700;min-height:42px}

/* V9.2 — formulaire : astérisque obligatoire sur la même ligne que l’intitulé */
.form-grid label>.field-label{display:inline-block;color:#fff;line-height:1.25}
.form-grid label>.field-label .required-marker{display:inline;color:var(--yellow);margin-left:3px;font-weight:900}

/* V10 — vraies réalisations et galeries */
.realisation-context-links{margin:44px 0 0;padding:22px 24px;background:var(--off);border-left:5px solid var(--yellow)}
.realisation-context-links>strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:10px}
.realisation-context-links div{display:flex;flex-wrap:wrap;gap:10px 18px}.realisation-context-links a{font-weight:900;text-decoration-thickness:2px;text-decoration-color:var(--yellow)}
.local-realisation-band.has-photo{grid-template-columns:210px 1fr auto;padding:0;overflow:hidden}.local-realisation-band.has-photo .local-realisation-photo{height:100%;min-height:155px;background:#e8e8e2}.local-realisation-band.has-photo img{width:100%;height:100%;min-height:155px;object-fit:cover;display:block}.local-realisation-band.has-photo .local-realisation-copy{padding:25px 4px}.local-realisation-band.has-photo .local-realisation-copy strong{display:block;font-size:20px;margin-bottom:7px}.local-realisation-band.has-photo .btn{margin-right:28px}
.gallery-grid img{cursor:zoom-in}.lightbox{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.94);display:grid;grid-template-columns:70px 1fr 70px;grid-template-rows:70px 1fr auto;align-items:center}.lightbox[hidden]{display:none}.lightbox-close{grid-column:3;grid-row:1;background:none;border:0;color:white;font-size:38px;cursor:pointer}.lightbox-main{grid-column:2;grid-row:2;display:flex;align-items:center;justify-content:center;min-height:0}.lightbox-main img{max-width:100%;max-height:calc(100vh - 150px);object-fit:contain}.lightbox-prev,.lightbox-next{background:none;border:0;color:#fff;font-size:42px;cursor:pointer;height:100%;padding:0}.lightbox-prev{grid-column:1;grid-row:2}.lightbox-next{grid-column:3;grid-row:2}.lightbox-caption{grid-column:1/4;grid-row:3;color:#fff;background:rgba(0,0,0,.96);text-align:center;padding:14px 20px 18px;font-size:15px;line-height:1.45;font-weight:700;border-top:3px solid var(--yellow);min-height:54px}.lightbox-count{color:var(--yellow);font-weight:900;margin-right:12px}
@media(max-width:760px){.local-realisation-band.has-photo{grid-template-columns:1fr}.local-realisation-band.has-photo .local-realisation-photo{min-height:200px}.local-realisation-band.has-photo .local-realisation-copy{padding:20px}.local-realisation-band.has-photo .btn{margin:0 20px 20px}.lightbox{grid-template-columns:44px 1fr 44px;grid-template-rows:55px 1fr auto}.lightbox-close{font-size:32px}.lightbox-prev,.lightbox-next{font-size:32px}.lightbox-main img{max-height:calc(100vh - 125px)}}

/* V11 — réalisations secondaires & preuves chantier */
.field-realisation{margin-top:3rem;margin-bottom:3rem}.compact-gallery{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.compact-gallery .gallery-figure img{aspect-ratio:4/3;object-fit:cover}.realisation-inline{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:2rem;align-items:center}.realisation-inline img{width:100%;height:auto;max-height:360px;object-fit:cover}.text-link{font-weight:800;text-decoration:underline;text-decoration-color:#f2d300;text-decoration-thickness:3px;text-underline-offset:4px}@media(max-width:760px){.realisation-inline{grid-template-columns:1fr}.compact-gallery{grid-template-columns:1fr 1fr}}@media(max-width:480px){.compact-gallery{grid-template-columns:1fr}}

/* V11.1 — légendes photos renforcées */
.gallery-figure{overflow:visible!important}
.gallery-grid{align-items:start}
.gallery-figure figcaption:empty{display:none!important}
@media(max-width:760px){.gallery-figure figcaption{font-size:13px;padding:9px 10px 10px;min-height:0}.lightbox-caption{font-size:13px;padding:10px 12px 13px}}


/* V12 — passe de cohérence globale */
:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
.realisation-card{display:flex;flex-direction:column;height:100%}.realisation-card .realisation-info{display:flex;flex-direction:column;flex:1}.realisation-card .realisation-info p{margin-top:auto}
.realisation-grid{align-items:stretch}.realisation-media img{transition:transform .25s ease}.realisation-card:hover .realisation-media img{transform:scale(1.025)}
.gallery-grid{grid-auto-rows:auto}.gallery-figure{display:flex;flex-direction:column;height:100%;border:1px solid var(--line);background:#fff}.gallery-figure img{flex:0 0 auto}.gallery-figure figcaption{flex:1;margin:0}
.gallery-stage>h3{border-bottom:1px solid var(--line);padding-bottom:9px}
.lightbox button:focus-visible{outline-color:var(--yellow);outline-offset:-4px}
.form-grid label,.project-form fieldset{min-width:0}.field-label{display:inline-flex;align-items:baseline;gap:.22em;flex-wrap:nowrap}.required-marker{display:inline!important;position:static!important;white-space:nowrap}
@media(max-width:760px){.page-realisations .filter-bar{position:static;top:auto}.filter-count{margin-left:0;margin-right:0}.page-realisations .realisation-grid{margin-top:20px}.gallery-stage>h3{margin-top:30px}.gallery-figure figcaption{font-size:13px;line-height:1.4}.field-label{white-space:normal}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* V13 — identité graphique finale validée */
.site-header{height:98px;gap:34px}
.brand{display:flex;flex-direction:row;align-items:center;gap:13px;line-height:1;text-decoration:none;min-width:390px;letter-spacing:0}
.brand-mark{display:block;width:31px;height:31px;background:var(--yellow);flex:0 0 31px}
.brand-lockup{display:flex;flex-direction:column;gap:7px;min-width:0}
.brand-lockup b{font-size:31px;line-height:1;font-weight:900;letter-spacing:-.035em;white-space:nowrap}
.brand-lockup b:after{content:none!important}
.brand-lockup small{font-size:11px;line-height:1.1;text-transform:uppercase;letter-spacing:.19em;color:#444;white-space:nowrap}
.main-nav{gap:31px}.main-nav a{font-size:13px}.header-phone{font-size:15px}

.home-hero-inner{min-height:650px;grid-template-columns:minmax(0,1fr) 310px;gap:86px;align-items:center;padding-top:78px;padding-bottom:78px}
.home-hero h1{font-size:clamp(58px,7.1vw,102px);line-height:.90;max-width:900px}
.home-lead{max-width:760px}
.since-block{position:relative;aspect-ratio:1/1;min-height:0;padding:0;overflow:hidden;background:var(--yellow);display:block;border:1px solid rgba(0,0,0,.15);box-shadow:0 16px 40px rgba(0,0,0,.18)}
.since-block:before{content:"";position:absolute;inset:13px;border:1px solid rgba(0,0,0,.19);z-index:2;pointer-events:none}
.since-copy{position:absolute;z-index:3;left:34px;top:34px;right:34px;display:flex;flex-direction:column;align-items:flex-start;gap:15px}
.since-copy small{font-size:11px;font-weight:900;letter-spacing:.17em;line-height:1.55;max-width:210px}
.since-copy small:after{content:"";display:block;width:34px;height:2px;background:#151515;margin-top:16px;opacity:.65}
.since-copy strong{font-size:31px!important;line-height:1!important;letter-spacing:-.02em!important;font-weight:800!important}
.since-art{position:absolute;z-index:1;width:112%;height:112%;max-width:none;right:-14%;bottom:-19%;object-fit:contain;opacity:.9;mix-blend-mode:multiply}

/* Pages intérieures : rappel discret du motif architectural */
.hero-mark{background:var(--yellow)!important;color:#111!important;position:relative;overflow:hidden;border:1px solid rgba(0,0,0,.12)}
.hero-mark:before{content:"";position:absolute;inset:0;background:url('/assets/architecture-card.svg') center/170% auto no-repeat;opacity:.42;mix-blend-mode:multiply}
.hero-mark span{position:relative;z-index:2;font-size:21px!important;letter-spacing:.02em!important;font-weight:800!important;align-self:flex-start;margin:16px}

/* Pied de page cohérent avec le nouveau verrouillage de marque */
.footer-brand{font-size:24px!important;font-weight:900!important;letter-spacing:-.025em}.footer-brand b:after{width:10px;height:10px}

@media(max-width:1180px){
 .brand{min-width:330px}.brand-lockup b{font-size:27px}.brand-lockup small{font-size:9px}.main-nav{gap:20px}
 .home-hero-inner{grid-template-columns:minmax(0,1fr) 260px;gap:52px}.since-copy{left:28px;top:28px;right:28px}
}
@media(max-width:900px){
 .site-header{height:82px}.brand{min-width:0}.brand-mark{width:25px;height:25px;flex-basis:25px}.brand-lockup b{font-size:23px}.brand-lockup small{font-size:8px;letter-spacing:.13em}.header-phone{display:none}
 .home-hero-inner{grid-template-columns:1fr 220px;gap:36px}.since-copy{left:24px;top:24px;right:24px}.since-copy small{font-size:9px}.since-copy strong{font-size:27px!important}
}
@media(max-width:760px){
 .site-header{height:72px}.brand{gap:10px}.brand-mark{width:22px;height:22px;flex-basis:22px}.brand-lockup b{font-size:20px}.brand-lockup small{display:none}.menu-toggle{margin-left:auto}.main-nav{top:71px}
 .home-hero-inner{display:block;padding-top:54px}.since-block{width:min(78vw,290px);margin-top:46px}.since-copy{left:28px;top:28px}.since-copy small{font-size:10px}.since-copy strong{font-size:29px!important}
}

/* V14 — correction globale du flux galeries / légendes */
.gallery-stage{display:flow-root}
.gallery-stage>.gallery-grid{margin-bottom:38px}
.gallery-stage>h3{clear:both;margin-top:44px;margin-bottom:14px;position:relative;z-index:1}
.gallery-stage>h3:first-child{margin-top:0}
.gallery-grid{align-items:start!important;grid-auto-rows:auto!important;row-gap:24px}
.gallery-figure{height:auto!important;min-height:0!important;align-self:start!important;display:block!important;overflow:hidden!important}
.gallery-figure img{display:block!important;width:100%!important;height:auto!important;max-height:620px;aspect-ratio:auto!important;object-fit:contain!important;background:#eee}
.gallery-figure figcaption{display:block!important;flex:none!important;height:auto!important;min-height:0!important;margin:0!important;position:static!important;clear:both}
.gallery-grid+h3{margin-top:44px!important}
@media(max-width:760px){
 .gallery-stage>.gallery-grid{margin-bottom:30px}
 .gallery-stage>h3,.gallery-grid+h3{margin-top:34px!important}
 .gallery-figure img{max-height:none}
}
/* ===== V23 — composants finaux ===== */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Pages principales : Réalisations est la référence visuelle. Accueil exclu. */
.primary-main-page{
  grid-template-columns:minmax(0,1fr) 310px!important;
  gap:86px!important;align-items:center!important;
  padding-top:54px!important;padding-bottom:46px!important
}
.primary-main-page .page-since-block{
  width:310px!important;height:310px!important;min-width:310px!important;min-height:310px!important;
  max-width:310px!important;max-height:310px!important;aspect-ratio:1/1!important;
  margin:0!important;padding:0!important;align-self:center!important;justify-self:end!important;
  position:relative!important;overflow:hidden!important;background:var(--yellow)!important;color:#111!important;
  border:1px solid rgba(0,0,0,.15)!important;box-shadow:0 16px 40px rgba(0,0,0,.18)!important
}

/* Pages secondaires : même identité, présence plus discrète. */
.secondary-page-hero{
  grid-template-columns:minmax(0,1fr) 204px!important;
  gap:54px!important;align-items:center!important
}
.secondary-page-hero .page-since-block{
  width:204px!important;height:204px!important;min-width:204px!important;min-height:204px!important;
  max-width:204px!important;max-height:204px!important;aspect-ratio:1/1!important;
  margin:0!important;padding:0!important;align-self:center!important;justify-self:end!important;
  position:relative!important;overflow:hidden!important;background:var(--yellow)!important;color:#111!important;
  border:1px solid rgba(0,0,0,.15)!important;box-shadow:0 12px 30px rgba(0,0,0,.14)!important
}

/* Cartouche patrimonial partagé. */
.primary-main-page .page-since-block:before,.secondary-page-hero .page-since-block:before{
  content:""!important;position:absolute!important;inset:13px!important;border:1px solid rgba(0,0,0,.19)!important;
  z-index:2!important;pointer-events:none!important;background:none!important
}
.primary-main-page .since-copy,.secondary-page-hero .since-copy{
  position:absolute!important;z-index:3!important;margin:0!important
}
.primary-main-page .since-copy{left:34px!important;top:34px!important;right:34px!important}
.secondary-page-hero .since-copy{left:24px!important;top:24px!important;right:24px!important}
.primary-main-page .since-copy small,.secondary-page-hero .since-copy small{
  display:block!important;margin:0!important;color:#111!important;font-weight:900!important;
  letter-spacing:.17em!important;line-height:1.5!important
}
.primary-main-page .since-copy small{font-size:11px!important;max-width:210px!important}
.secondary-page-hero .since-copy small{font-size:8px!important;max-width:145px!important}
.primary-main-page .since-copy strong,.secondary-page-hero .since-copy strong{
  display:block!important;color:#111!important;font-weight:900!important;line-height:1!important;letter-spacing:-.035em!important
}
.primary-main-page .since-copy strong{font-size:31px!important;margin:8px 0 0!important}
.secondary-page-hero .since-copy strong{font-size:24px!important;margin:7px 0 0!important}
.primary-main-page .since-art,.secondary-page-hero .since-art{
  position:absolute!important;z-index:1!important;width:112%!important;height:112%!important;max-width:none!important;
  right:-14%!important;bottom:-19%!important;object-fit:contain!important;opacity:.9!important;
  mix-blend-mode:multiply!important;margin:0!important
}

/* Formulaire : l'astérisque obligatoire reste lié à son libellé. */
.form-grid label>.field-label,.field-label{
  display:inline-flex!important;align-items:baseline!important;gap:.22em!important;flex-wrap:nowrap!important;
  white-space:nowrap!important;width:max-content;max-width:100%
}
.required-marker{display:inline!important;position:static!important;white-space:nowrap!important;flex:0 0 auto!important;margin-left:0!important}
.optional-field-label small{display:inline!important;margin-left:.15em;white-space:nowrap}

/* Carte Contact : Google Maps est chargé uniquement après action de l'utilisateur. */
.contact-map-section{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:0;margin:44px 0 58px;border:1px solid var(--line);background:#fff;min-height:390px}
.contact-map-copy{padding:34px 34px 30px;background:var(--off);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.contact-map-copy h2{margin:0 0 14px!important;padding:0!important;font-size:32px!important;line-height:1.05!important}
.contact-map-copy h2:before{display:none!important}
.contact-map-copy>p:not(.eyebrow){font-size:15px!important;margin:0 0 12px!important}
.contact-map-note{color:var(--muted);font-size:12px!important;line-height:1.5!important}
.contact-map-actions{display:flex;flex-direction:column;align-items:flex-start;gap:13px;margin-top:12px}
.map-link{font-size:13px;font-weight:900;text-decoration:none;border-bottom:2px solid var(--yellow)}
.contact-map-frame{position:relative;min-height:390px;background:#171717;overflow:hidden}
.contact-map-frame iframe{display:block;width:100%;height:100%;min-height:390px;border:0}
.contact-map-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,#1b1b1b,#2d2d2d);color:#fff;padding:30px}
.contact-map-placeholder:before{content:"";width:52px;height:52px;border:3px solid var(--yellow);border-radius:50% 50% 50% 0;transform:rotate(-45deg);margin-bottom:30px}
.contact-map-placeholder span,.contact-map-placeholder strong{position:relative;z-index:2}
.contact-map-placeholder span{font-size:14px;color:#bbb}.contact-map-placeholder strong{font-size:25px;margin-top:6px}
.archive-note{font-size:13px!important;color:var(--muted);border-left:3px solid var(--yellow);padding-left:14px;margin:24px 0!important}

@media(max-width:1180px){
 .primary-main-page{grid-template-columns:minmax(0,1fr) 260px!important;gap:52px!important}
 .primary-main-page .page-since-block{width:260px!important;height:260px!important;min-width:260px!important;min-height:260px!important;max-width:260px!important;max-height:260px!important}
 .primary-main-page .since-copy{left:28px!important;top:28px!important;right:28px!important}
 .secondary-page-hero{grid-template-columns:minmax(0,1fr) 190px!important;gap:42px!important}
 .secondary-page-hero .page-since-block{width:190px!important;height:190px!important;min-width:190px!important;min-height:190px!important;max-width:190px!important;max-height:190px!important}
}
@media(max-width:900px){
 .primary-main-page{grid-template-columns:minmax(0,1fr) 220px!important;gap:36px!important}
 .primary-main-page .page-since-block{width:220px!important;height:220px!important;min-width:220px!important;min-height:220px!important;max-width:220px!important;max-height:220px!important}
 .primary-main-page .since-copy{left:24px!important;top:24px!important;right:24px!important}
 .primary-main-page .since-copy small{font-size:9px!important}.primary-main-page .since-copy strong{font-size:27px!important}
 .secondary-page-hero{grid-template-columns:minmax(0,1fr) 170px!important;gap:30px!important}
 .secondary-page-hero .page-since-block{width:170px!important;height:170px!important;min-width:170px!important;min-height:170px!important;max-width:170px!important;max-height:170px!important}
 .secondary-page-hero .since-copy{left:20px!important;top:20px!important;right:20px!important}
 .secondary-page-hero .since-copy small{font-size:7px!important}.secondary-page-hero .since-copy strong{font-size:21px!important}
 .contact-map-section{grid-template-columns:1fr}.contact-map-frame,.contact-map-frame iframe{min-height:340px}
}
@media(max-width:760px){
 .primary-main-page,.secondary-page-hero{display:block!important}
 .primary-main-page{padding-top:44px!important;padding-bottom:36px!important}
 .primary-main-page .page-since-block{width:min(78vw,290px)!important;height:auto!important;min-width:0!important;min-height:0!important;max-width:290px!important;max-height:none!important;aspect-ratio:1/1!important;margin-top:38px!important;justify-self:start!important}
 .primary-main-page .since-copy{left:28px!important;top:28px!important;right:28px!important}
 .primary-main-page .since-copy small{font-size:10px!important}.primary-main-page .since-copy strong{font-size:29px!important}
 .secondary-page-hero .page-since-block{width:190px!important;height:190px!important;min-width:190px!important;min-height:190px!important;max-width:190px!important;max-height:190px!important;margin-top:30px!important;justify-self:start!important}
 .secondary-page-hero .since-copy{left:22px!important;top:22px!important;right:22px!important}
 .secondary-page-hero .since-copy small{font-size:8px!important}.secondary-page-hero .since-copy strong{font-size:23px!important}
 .field-label{white-space:nowrap!important}
 .contact-map-section{margin:38px 0 48px}.contact-map-copy{padding:28px 22px}.contact-map-copy h2{font-size:28px!important}.contact-map-frame,.contact-map-frame iframe{min-height:300px}
}

/* V23.1 — micro-finitions SEO / conformité */
.phone-privacy-note{display:block!important;margin-top:1px;color:#9f9f9a!important;font-size:10px!important;line-height:1.45;font-weight:500!important;max-width:48ch}
.footer-social{margin-top:18px!important}
.footer-social a{display:inline-flex;align-items:center;gap:12px;max-width:310px;margin:0!important;padding:12px 14px;border:1px solid #3a3a3a;color:#fff!important;text-decoration:none!important;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}
.footer-social a:hover,.footer-social a:focus-visible{background:#181818;border-color:var(--yellow);transform:translateY(-1px)}
.footer-social img{width:30px;height:30px;flex:0 0 30px}
.footer-social span{display:flex;min-width:0;flex-direction:column;gap:2px}
.footer-social strong{color:#fff;font-size:12px;line-height:1.25;font-weight:900}
.footer-social small{color:#a9a9a9;font-size:11px;line-height:1.25;font-weight:600}
.seo-local-proof{margin:58px 0 12px}.seo-local-proof>p{max-width:760px}.seo-local-proof .local-realisation-band{margin-left:0;margin-right:0}.seo-local-proof .local-realisation-band h3{font-size:22px;line-height:1.12;margin:6px 0 8px;letter-spacing:-.025em}.seo-local-proof .local-realisation-band small{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:9px;font-weight:900;color:var(--muted);margin-bottom:4px}
@media(max-width:760px){.seo-local-proof{margin-top:42px}.seo-local-proof .local-realisation-band{grid-template-columns:1fr;gap:18px;padding:24px}.seo-local-proof .local-realisation-band .btn{justify-self:start}.phone-privacy-note{font-size:9px!important}.footer-social a{max-width:none}}

.form-required-note{margin:2px 0 14px;font-size:12px;line-height:1.55;color:#666}

/* ===== V232 — Fournisseurs & références ===== */
.partners-page{max-width:1120px}
.partners-page>p:first-child{max-width:820px}
.supplier-logo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:30px 0 18px}
.reference-logo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:22px 0 44px}
.supplier-logo-card,.reference-logo-card{min-width:0;border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;display:flex;flex-direction:column;align-items:flex-start;padding:22px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;position:relative;overflow:hidden}
.supplier-logo-card{min-height:270px}
.reference-logo-card{min-height:245px}
.supplier-logo-card:before,.reference-logo-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--yellow)}
.supplier-logo-card:hover,.reference-logo-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.09);border-color:#bcbcb5}
.partner-logo-box{width:100%;aspect-ratio:2/1;height:auto;display:flex;align-items:center;justify-content:center;background:#fff;margin:7px 0 24px;padding:8px;overflow:hidden}
.reference-logo-card .partner-logo-box{aspect-ratio:2/1;height:auto}
.partner-logo-box img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
.partner-name{font-size:18px;line-height:1.15;margin-top:auto}
.partner-subtitle{font-size:12px;line-height:1.45;color:var(--muted);margin-top:8px}
.partner-link-label{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-top:17px;border-bottom:2px solid var(--yellow);padding-bottom:2px}
.reference-group-title{font-size:20px!important;margin:34px 0 8px!important;letter-spacing:-.015em!important}
.brand-rights-note{font-size:12px!important;line-height:1.55!important;color:var(--muted);border-top:1px solid var(--line);padding-top:18px;margin-top:48px}
.reference-promo{max-width:var(--text);margin:46px auto 0;padding:28px;border:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;background:var(--off)}
.reference-promo h2{font-size:25px;margin:0 0 7px;padding:0}
.reference-promo h2:before{display:none}
.reference-promo p{margin:0;color:var(--muted)}
.reference-promo .btn{white-space:nowrap}
@media(max-width:1000px){.supplier-logo-grid,.reference-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.partners-page{max-width:none}.supplier-logo-grid,.reference-logo-grid{grid-template-columns:1fr}.supplier-logo-card,.reference-logo-card{min-height:220px}.partner-logo-box,.reference-logo-card .partner-logo-box{aspect-ratio:2/1;height:auto}.reference-promo{grid-template-columns:1fr;margin:32px 0 0}}

/* V233 — références classées alphabétiquement */
.reference-order-note{margin:34px 0 18px;color:#666;font-size:.95rem}
.reference-logo-card-static{cursor:default}

/* V23.4 - SEO/local proof and stable partner media */
.plain-location{color:inherit}
.local-project-proof{margin-top:42px;padding:34px;border:1px solid var(--line);background:var(--off)}
.local-project-proof h2{margin-top:0}
.local-project-proof-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:30px;align-items:center}
.local-project-proof figure{margin:0}
.local-project-proof img{display:block;width:100%;height:auto;border:1px solid var(--line)}
.local-project-proof figcaption{font-size:12px;color:var(--muted);margin-top:8px}
.local-project-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:20px 0}
.local-project-facts div{border-top:1px solid var(--line);padding-top:10px}
.local-project-facts strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}
@media(max-width:820px){.local-project-proof-grid{grid-template-columns:1fr}.local-project-facts{grid-template-columns:1fr}}

/* V23.4.2 — chantier en cours */
.realisation-media{position:relative}.realisation-status{position:absolute;z-index:2;top:12px;left:12px;background:var(--yellow);color:#111;padding:7px 9px;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 2px 8px rgba(0,0,0,.12)}


/* ===== V2344 — contact compact et carte Google Maps explicite ===== */
.page-contact .contact-content{max-width:1180px}
.page-contact .contact-quick-modern{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 0}
.page-contact .contact-box{min-height:118px;padding:20px 22px;display:flex;flex-direction:column;justify-content:center;background:#fff;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.page-contact .contact-box-link{color:inherit;text-decoration:none}
.page-contact .contact-box-link:hover{transform:translateY(-2px);border-color:#c7c7c2;box-shadow:0 10px 24px rgba(0,0,0,.06)}
.page-contact .contact-box small{margin:0 0 8px}
.page-contact .contact-box strong{font-size:18px;line-height:1.25;overflow-wrap:anywhere}
.page-contact .contact-box span{margin-top:8px;color:var(--muted);font-size:13px;font-weight:700}
.page-contact .contact-map-section-modern{grid-template-columns:minmax(250px,.62fr) minmax(0,1.38fr);min-height:310px;margin:24px 0 30px}
.page-contact .contact-map-section-modern .contact-map-copy{padding:28px 30px;background:var(--off)}
.page-contact .contact-map-section-modern .contact-map-copy h2{font-size:34px!important;margin-bottom:16px!important}
.page-contact .contact-map-address{font-size:15px!important;line-height:1.55!important;margin-bottom:18px!important}
.page-contact .contact-map-section-modern .map-link{margin-top:3px}
.page-contact .contact-map-section-modern .contact-map-frame,.page-contact .contact-map-section-modern .contact-map-frame iframe{min-height:310px}
.page-contact .contact-map-load{appearance:none;-webkit-appearance:none;border:0;width:100%;height:100%;cursor:pointer;font:inherit}
.page-contact .contact-map-placeholder{color:#171717;background-color:#e9e9e3;background-image:linear-gradient(28deg,transparent 45%,rgba(255,255,255,.86) 46%,rgba(255,255,255,.86) 51%,transparent 52%),linear-gradient(105deg,transparent 44%,rgba(255,255,255,.72) 45%,rgba(255,255,255,.72) 49%,transparent 50%),linear-gradient(155deg,transparent 47%,rgba(207,207,200,.55) 48%,rgba(207,207,200,.55) 50%,transparent 51%)}
.page-contact .contact-map-placeholder:before{display:none!important}
.page-contact .map-pin{width:48px;height:48px;border:4px solid #161616;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--yellow);margin:0 0 24px;box-shadow:0 4px 0 rgba(0,0,0,.08)}
.page-contact .contact-map-placeholder strong{font-size:17px;background:#171717;color:#fff;padding:11px 16px;border-bottom:4px solid var(--yellow);letter-spacing:.01em}
.page-contact .contact-map-placeholder small{font-size:12px;color:#565656;margin-top:12px;font-weight:700}
.page-contact .contact-prep-compact{margin:0 0 34px;padding:20px 24px;display:grid;grid-template-columns:minmax(190px,.42fr) minmax(0,1fr);gap:24px;align-items:center;border-left:5px solid var(--yellow)}
.page-contact .contact-prep-compact h2{font-size:23px!important;margin:0!important}
.page-contact .contact-prep-compact p{font-size:15px!important;margin:0!important}
@media(max-width:900px){.page-contact .contact-quick-modern{grid-template-columns:1fr 1fr}.page-contact .contact-quick-modern .contact-box:last-child{grid-column:1/-1}.page-contact .contact-map-section-modern{grid-template-columns:1fr}.page-contact .contact-map-section-modern .contact-map-frame,.page-contact .contact-map-section-modern .contact-map-frame iframe{min-height:300px}}
@media(max-width:620px){.page-contact .contact-quick-modern{grid-template-columns:1fr}.page-contact .contact-quick-modern .contact-box:last-child{grid-column:auto}.page-contact .contact-map-section-modern .contact-map-copy{padding:24px 22px}.page-contact .contact-map-section-modern .contact-map-frame,.page-contact .contact-map-section-modern .contact-map-frame iframe{min-height:250px}.page-contact .contact-prep-compact{grid-template-columns:1fr;gap:8px;padding:18px 20px}}


/* V2345 — repères de confiance */
.page-contact .contact-trustline{
  margin:-10px 0 34px;
  padding:14px 0;
  display:flex;
  gap:10px 24px;
  flex-wrap:wrap;
  align-items:center;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.page-contact .contact-trustline span{
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.page-contact .contact-trustline span:nth-child(3),
.page-contact .contact-trustline span:nth-child(4){
  border-bottom:3px solid var(--yellow);
}
@media(max-width:620px){
  .page-contact .contact-trustline{gap:9px 16px;margin-bottom:26px}
  .page-contact .contact-trustline span{font-size:11px}
}


/* V24 — V2 validée : menu, confiance, compteurs, formulaires progressifs, FAQ & recrutement */
/* Nouveau menu, dans la charte actuelle */
.site-header{gap:24px}.brand{min-width:315px}.main-nav{gap:18px}.main-nav>a,.nav-dropdown-toggle{font-size:12px;font-weight:800}.nav-dropdown{position:relative;display:flex;align-self:stretch}.nav-dropdown-toggle{border:0;border-bottom:4px solid transparent;background:transparent;padding:4px 0 0;display:flex;align-items:center;gap:5px;cursor:pointer;color:inherit;font-family:inherit}.nav-dropdown-toggle:hover,.nav-dropdown-toggle:focus,.nav-dropdown.is-active>.nav-dropdown-toggle{border-bottom-color:var(--yellow)}.nav-dropdown-menu{position:absolute;top:100%;left:-18px;min-width:260px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 36px rgba(0,0,0,.12);padding:10px;display:none;z-index:110}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu,.nav-dropdown.open .nav-dropdown-menu{display:block}.nav-dropdown-menu a{display:block!important;padding:10px 12px!important;border:0!important;font-size:12px!important}.nav-dropdown-menu a:hover,.nav-dropdown-menu a:focus,.nav-dropdown-menu a[aria-current="page"]{background:var(--yellow)}
/* Bandeau de confiance : logos réunis, sans effet tableau */
.trust-strip-v2{border-bottom:1px solid var(--line);background:#fff}.trust-inner-v2{max-width:var(--max);margin:0 auto;padding:20px 28px;display:grid;grid-template-columns:minmax(280px,1.35fr) 1fr 1fr;align-items:center;gap:38px}.trust-logos-v2{display:flex;align-items:center;gap:32px}.trust-logos-v2 a{display:flex;align-items:center;transition:opacity .2s ease,transform .2s ease}.trust-logos-v2 a:hover{opacity:.76;transform:translateY(-1px)}.ffb-logo-v2{height:50px;width:auto;max-width:145px;object-fit:contain}.qualibat-logo-v2{height:60px;width:auto;max-width:84px;object-fit:contain}.trust-fact-v2{position:relative;padding-left:24px}.trust-fact-v2:before{content:"";position:absolute;left:0;top:50%;width:4px;height:38px;transform:translateY(-50%);background:var(--yellow)}.trust-fact-v2 strong{display:block;font-size:18px;line-height:1.1}.trust-fact-v2 span{display:block;margin-top:6px;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
/* Compteurs */
.numbers-v2{background:var(--black);color:#fff}.numbers-grid-v2{max-width:var(--max);margin:0 auto;padding:42px 28px;display:grid;grid-template-columns:repeat(4,1fr)}.number-v2{padding:5px 28px;border-left:1px solid #353535}.number-v2:first-child{border-left:0;padding-left:0}.number-v2 strong{display:block;color:var(--yellow);font-size:44px;line-height:1;font-weight:900;letter-spacing:-.045em}.number-v2 span{display:block;margin-top:9px;color:#c8c8c3;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
/* Liens FAQ / recrutement accueil */
.home-useful-v2{max-width:none!important;background:var(--off)}.home-useful-v2>.section-inner{max-width:var(--max);margin:auto}.useful-grid-v2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.useful-card-v2{border:1px solid var(--line);background:#fff;padding:28px;text-decoration:none;display:flex;flex-direction:column;min-height:155px}.useful-card-v2 small{font-size:9px;text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:var(--muted)}.useful-card-v2 strong{font-size:25px;margin-top:auto}.useful-card-v2 span{font-size:13px;color:var(--muted);margin-top:7px}.useful-card-v2:hover{background:var(--yellow)}.useful-card-v2:hover span{color:#333}
/* Formulaire projet progressif, tout en conservant les vrais champs et le handler existant */
.project-form.is-wizard-v2{position:relative}.wizard-head-v2{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:22px}.wizard-head-v2 strong{font-size:18px}.wizard-head-v2 span{font-size:11px;color:#aaa;text-transform:uppercase;letter-spacing:.12em}.wizard-progress-v2{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:0 0 26px}.wizard-progress-v2 i{height:4px;background:#3a3a3a}.wizard-progress-v2 i.is-active{background:var(--yellow)}.wizard-step-v2{display:none}.wizard-step-v2.is-active{display:grid;grid-template-columns:1fr 1fr;gap:18px}.wizard-step-v2>.wide,.wizard-step-v2>fieldset.wide{grid-column:1/-1}.wizard-nav-v2{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:24px}.wizard-nav-v2 button{min-width:145px}.wizard-back-v2{background:transparent;border:1px solid #555;color:#fff;padding:12px 18px;font-weight:900;cursor:pointer}.wizard-back-v2:hover{border-color:var(--yellow)}.wizard-step-v2 .form-system-message{grid-column:1/-1}
/* FAQ */
.page-faq .content{max-width:1000px}.faq-tool-v2{margin:38px 0 28px;padding:26px;background:var(--off);border-left:5px solid var(--yellow)}.faq-search-v2{display:block;font-weight:900;font-size:13px}.faq-search-v2 span{display:block;margin-bottom:8px}.faq-search-v2 input{width:100%;padding:14px;border:1px solid var(--line);background:#fff;font:inherit}.faq-filters-v2{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.faq-filters-v2 button{border:1px solid #bcbcb5;background:#fff;padding:9px 12px;font-weight:800;cursor:pointer}.faq-filters-v2 button.is-active,.faq-filters-v2 button:hover{background:var(--yellow);border-color:var(--yellow)}.faq-count-v2{font-size:12px!important;color:var(--muted);margin:14px 0 0!important}.faq-list-v2{border-top:1px solid var(--line)}.faq-item-v2{border-bottom:1px solid var(--line)}.faq-item-v2[hidden]{display:none}.faq-item-v2 summary{list-style:none;cursor:pointer;font-size:19px;font-weight:900;padding:20px 50px 20px 0;position:relative}.faq-item-v2 summary::-webkit-details-marker{display:none}.faq-item-v2 summary:after{content:"+";position:absolute;right:8px;top:17px;font-size:27px}.faq-item-v2[open] summary:after{content:"−"}.faq-item-v2>div{padding:0 40px 20px 0}.faq-item-v2 p{margin:0;font-size:16px!important;color:#444}.faq-trades-v2{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.faq-trades-v2 a{border:1px solid var(--line);padding:14px;text-decoration:none;font-weight:900}.faq-trades-v2 a:hover{background:var(--yellow)}.faq-contact-v2{margin-top:50px;padding:28px;background:var(--black);color:#fff;display:flex;justify-content:space-between;gap:20px;align-items:center}.faq-contact-v2 small{display:block;color:var(--yellow);text-transform:uppercase;font-weight:900;letter-spacing:.1em}.faq-contact-v2 strong{display:block;margin-top:6px;font-size:25px}
/* Recrutement */
.page-recrutement .content{max-width:1000px}.recruit-grid-v2{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:35px -80px 50px}.recruit-grid-v2 article{border:1px solid var(--line);padding:25px;display:flex;flex-direction:column}.recruit-grid-v2 small{font-size:9px;letter-spacing:.14em;font-weight:900;color:var(--muted)}.recruit-grid-v2 h2{font-size:27px;margin:20px 0 10px;padding:0}.recruit-grid-v2 h2:before{display:none}.recruit-grid-v2 p,.recruit-grid-v2 li{font-size:14px!important}.recruit-grid-v2 article>a{margin-top:auto;font-weight:900;text-decoration:none;border-bottom:3px solid var(--yellow);align-self:flex-start}.recruit-values-v2{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 -80px 60px}.recruit-values-v2 div{padding:22px;border-left:1px solid var(--line)}.recruit-values-v2 div:first-child{border-left:0}.recruit-values-v2 strong{display:block;font-size:23px}.recruit-values-v2 span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-top:4px}.recruit-form-v2{margin:0 -140px;background:var(--black);color:#fff;padding:48px 54px}.recruit-form-head-v2 small{color:var(--yellow);font-size:10px;letter-spacing:.14em;font-weight:900}.recruit-form-head-v2 h2{font-size:38px;margin:8px 0 8px;padding:0}.recruit-form-head-v2 h2:before{display:none}.recruit-form-head-v2 p{color:#bbb;font-size:14px!important}.recruitment-form{margin-top:28px}.recruitment-form .form-grid label>span{color:var(--yellow)}.recruitment-form .form-grid input,.recruitment-form .form-grid select,.recruitment-form .form-grid textarea{width:100%;border:1px solid #444;background:#151515;color:#fff;padding:13px 14px;font:inherit;border-radius:0}.recruitment-form .form-grid input:focus,.recruitment-form .form-grid select:focus,.recruitment-form .form-grid textarea:focus{outline:2px solid var(--yellow);outline-offset:1px}
@media(max-width:1180px){.brand{min-width:280px}.main-nav{gap:13px}.main-nav>a,.nav-dropdown-toggle{font-size:11px}.header-phone{padding-left:18px;font-size:13px}}
@media(max-width:1080px){.site-header{height:82px}.header-phone{display:none}.menu-toggle{display:block;margin-left:auto}.main-nav{position:absolute;left:0;right:0;top:81px;display:none;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--line);padding:12px 22px;margin:0;max-height:calc(100vh - 82px);overflow:auto}.main-nav.open{display:flex}.main-nav>a{padding:11px 0;border:0;font-size:13px}.nav-dropdown{display:block}.nav-dropdown-toggle{width:100%;padding:11px 0;border:0;justify-content:space-between;font-size:13px}.nav-dropdown-menu{position:static;box-shadow:none;border:0;border-left:3px solid var(--yellow);padding:0 0 0 14px;margin:0 0 8px;display:none}.nav-dropdown.open .nav-dropdown-menu{display:block}.nav-dropdown:hover .nav-dropdown-menu:not(:focus-within){display:none}.nav-dropdown.open:hover .nav-dropdown-menu{display:block}.nav-dropdown-menu a{padding:8px 0!important}.brand{min-width:0}}
@media(max-width:760px){.main-nav{top:71px}.trust-inner-v2{grid-template-columns:1fr;gap:16px;padding:18px 20px}.trust-logos-v2{gap:26px}.ffb-logo-v2{height:43px}.qualibat-logo-v2{height:52px}.trust-fact-v2{padding:10px 0 10px 20px}.numbers-grid-v2{grid-template-columns:1fr 1fr;padding:30px 20px}.number-v2{padding:18px;border-left:0;border-top:1px solid #333}.number-v2:nth-child(-n+2){border-top:0}.number-v2 strong{font-size:36px}.useful-grid-v2{grid-template-columns:1fr}.wizard-step-v2.is-active{grid-template-columns:1fr}.wizard-step-v2>.wide,.wizard-step-v2>fieldset.wide{grid-column:auto}.wizard-head-v2{align-items:start}.faq-filters-v2{display:grid;grid-template-columns:1fr 1fr}.faq-trades-v2{grid-template-columns:1fr}.faq-contact-v2{display:block}.faq-contact-v2 .btn{margin-top:18px}.recruit-grid-v2{grid-template-columns:1fr;margin:30px 0}.recruit-values-v2{grid-template-columns:1fr;margin:0 0 45px}.recruit-values-v2 div{border-left:0;border-top:1px solid var(--line)}.recruit-values-v2 div:first-child{border-top:0}.recruit-form-v2{margin:0 -20px;padding:38px 20px}.wizard-nav-v2{align-items:stretch}.wizard-nav-v2 button{min-width:0}}

/* Footer réseaux + qualifications — V2 24/08/2026 */
.footer-social.footer-social-icons{display:flex;align-items:center;gap:10px;margin-top:18px!important}
.footer-social.footer-social-icons .footer-social-icon{display:grid;place-items:center;width:46px;height:46px;margin:0!important;padding:6px;border:1px solid #3a3a3a;color:#fff!important;text-decoration:none!important;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}
.footer-social.footer-social-icons .footer-social-icon:hover,.footer-social.footer-social-icons .footer-social-icon:focus-visible{background:#181818;border-color:var(--yellow);transform:translateY(-1px)}
.footer-social.footer-social-icons .footer-social-icon img{display:block;width:32px;height:32px}
.footer-trust{display:flex;align-items:center;gap:14px;border-top:1px solid #303030;margin-top:42px;padding-top:22px}
.footer-trust-logo{display:flex!important;align-items:center;justify-content:center;margin:0!important;background:#fff;border:1px solid #2f2f2f;min-height:64px;padding:8px 12px;text-decoration:none!important;transition:border-color .2s ease,transform .2s ease}
.footer-trust-logo:hover,.footer-trust-logo:focus-visible{border-color:var(--yellow);transform:translateY(-1px)}
.footer-trust-logo img{display:block;max-height:46px;width:auto;max-width:150px;object-fit:contain}
.footer-trust-qualibat{width:76px;padding:7px}
.footer-trust-qualibat img{max-height:50px;max-width:58px}
.footer-bottom{margin-top:22px}
@media(max-width:760px){.footer-trust{margin-top:30px;gap:10px;flex-wrap:wrap}.footer-trust-logo{min-height:58px}.footer-trust-logo img{max-height:40px;max-width:135px}.footer-trust-qualibat img{max-height:44px}}


/* Contact — coordonnées + plan sur un même alignement */
.page-contact .contact-info-map-grid{display:grid;grid-template-columns:minmax(330px,.78fr) minmax(0,1.22fr);margin:28px 0 34px;border:1px solid var(--line);background:#fff;min-height:360px;overflow:hidden}
.page-contact .contact-info-panel{padding:30px 34px 28px;background:var(--off);display:flex;flex-direction:column;justify-content:center}
.page-contact .contact-info-panel h2{font-size:30px!important;line-height:1.08!important;margin:0 0 20px!important;padding:0!important}
.page-contact .contact-info-panel h2:before{display:none!important}
.page-contact .contact-info-panel>.eyebrow{margin:0 0 8px!important}
.page-contact .contact-info-list{border-top:1px solid #d7d6d0}
.page-contact .contact-info-row{padding:14px 0 13px;border-bottom:1px solid #d7d6d0}
.page-contact .contact-info-row:last-child{border-bottom:0}
.page-contact .contact-info-row small{display:block;margin:0 0 5px;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:900;color:var(--muted)}
.page-contact .contact-info-row p{font-size:15px!important;line-height:1.5!important;margin:0!important}
.page-contact .contact-info-main{display:inline-block;color:var(--ink);font-size:17px;font-weight:900;line-height:1.35;text-decoration:none;overflow-wrap:anywhere}
.page-contact .contact-info-main:hover,.page-contact .contact-info-main:focus-visible{text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:4px;text-underline-offset:4px}
.page-contact .contact-info-action{display:inline-block;margin-top:7px;color:var(--ink);font-size:13px;font-weight:900;text-decoration:none;border-bottom:2px solid var(--yellow)}
.page-contact .contact-info-action:hover,.page-contact .contact-info-action:focus-visible{border-bottom-color:var(--ink)}
.page-contact .contact-map-frame-aligned,.page-contact .contact-map-frame-aligned iframe{min-height:360px;height:100%}
@media(max-width:860px){.page-contact .contact-info-map-grid{grid-template-columns:1fr}.page-contact .contact-info-panel{padding:26px 26px 24px}.page-contact .contact-map-frame-aligned,.page-contact .contact-map-frame-aligned iframe{min-height:310px}}
@media(max-width:620px){.page-contact .contact-info-map-grid{margin:22px 0 30px}.page-contact .contact-info-panel{padding:24px 20px 20px}.page-contact .contact-info-panel h2{font-size:27px!important}.page-contact .contact-map-frame-aligned,.page-contact .contact-map-frame-aligned iframe{min-height:250px}}

/* Contact V2 - carte directe + typographie uniforme */
.page-contact .contact-info-panel{padding:30px 34px 28px}
.page-contact .contact-info-list{border-top:1px solid #d7d6d0}
.page-contact .contact-info-row{
  display:grid;
  grid-template-columns:96px minmax(0,1fr);
  column-gap:20px;
  row-gap:5px;
  align-items:start;
  padding:15px 0;
  border-bottom:1px solid #d7d6d0;
}
.page-contact .contact-info-row small{
  grid-column:1;
  margin:2px 0 0;
  font-size:11px;
  line-height:1.4;
  font-weight:900;
  letter-spacing:.10em;
  color:#6b6a65;
  text-transform:uppercase;
}
.page-contact .contact-info-row p,
.page-contact .contact-info-row .contact-info-main{
  grid-column:2;
  margin:0!important;
  font-family:inherit;
  font-size:16px!important;
  line-height:1.5!important;
  font-weight:700;
  color:var(--ink);
}
.page-contact .contact-info-row p strong{font-weight:700}
.page-contact .contact-info-main{display:block;text-decoration:none;overflow-wrap:anywhere}
.page-contact .contact-info-action{
  grid-column:2;
  justify-self:start;
  margin-top:2px;
  font-size:13px;
  line-height:1.4;
  font-weight:800;
}
.page-contact .contact-map-frame-aligned{background:#ecebe5}
.page-contact .contact-map-frame-aligned iframe{
  width:100%;
  height:100%;
  min-height:360px;
  border:0;
  display:block;
}
@media(max-width:620px){
  .page-contact .contact-info-row{grid-template-columns:1fr;row-gap:4px}
  .page-contact .contact-info-row small,
  .page-contact .contact-info-row p,
  .page-contact .contact-info-row .contact-info-main,
  .page-contact .contact-info-action{grid-column:1}
}
