*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#0b0b0c;color:#f5f5f5;font-family:Arial,Helvetica,sans-serif}header{height:76px;position:fixed;z-index:20;top:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(8,8,9,.88);backdrop-filter:blur(12px);border-bottom:1px solid #292929}.brand{font-size:20px;font-weight:800;color:#fff;text-decoration:none;letter-spacing:.5px}.brand b{color:#e8292f}nav{display:flex;gap:28px;align-items:center}nav a{color:#ddd;text-decoration:none;font-weight:700;font-size:13px}.cta,.red{background:#e8292f!important;color:#fff!important}.cta{padding:13px 18px}#menu{display:none;background:none;border:0;color:#fff;font-size:25px}.hero{min-height:100vh;position:relative;display:flex;align-items:center;padding:110px 7vw 70px;overflow:hidden}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.6) 47%,rgba(0,0,0,.15)),url('assets/transport-conteneur.webp') center/cover;animation:heroZoom 12s ease-in-out infinite alternate}.hero-content{position:relative;max-width:850px}.tag{font-size:12px;font-weight:900;letter-spacing:2.2px;color:#e8292f}.hero h1{font-size:clamp(50px,8vw,105px);line-height:.9;margin:18px 0 28px;letter-spacing:-4px}.hero h1 span{color:#e8292f}.lead{font-size:20px;line-height:1.55;max-width:720px;color:#ddd}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.btn{display:inline-block;padding:17px 22px;border:1px solid #777;color:#fff;text-decoration:none;font-weight:900;font-size:13px;letter-spacing:.5px}.ghost{background:rgba(0,0,0,.25)}.scroll{position:absolute;bottom:25px;right:5vw;font-size:11px;letter-spacing:2px}.split{display:grid;grid-template-columns:1fr 1fr}.division{height:470px;position:relative;display:flex;align-items:flex-end;padding:45px;text-decoration:none;color:#fff;background-size:cover;background-position:center;overflow:hidden}.division:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,0,0,.9))}.division div{position:relative}.division h2{font-size:48px;margin:8px 0}.division p{color:#ddd}.division span{color:#fff;font-weight:800}.div-ex{background-image:url('assets/excavation-extension.webp')}.div-tr{background-image:url('assets/transport-nacelle.webp')}.section{padding:100px 7vw}.heading{max-width:850px;margin-bottom:50px}.heading h2{font-size:clamp(38px,6vw,72px);line-height:1;margin:10px 0 20px;letter-spacing:-2px}.heading>p:last-child{font-size:18px;color:#aaa;line-height:1.6}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#333}.card{background:#151516;padding:32px;min-height:260px}.card b{color:#e8292f}.card h3{font-size:24px}.card p{color:#aaa;line-height:1.6}.feature{margin-top:70px;display:grid;grid-template-columns:1.35fr 1fr;gap:55px;align-items:center}.feature img{width:100%;height:550px;object-fit:cover}.feature h3{font-size:42px;margin:12px 0}.feature p{color:#aaa;line-height:1.7}.photo-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:60px}.photo-strip img{width:100%;height:430px;object-fit:cover}.transport{background:#f1f1ef;color:#101010}.transport .heading>p:last-child{color:#555}.transport-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:20px}.big-photo{height:650px;position:relative}.big-photo img{width:100%;height:100%;object-fit:cover}.overlay{position:absolute;bottom:0;left:0;right:0;padding:28px;background:linear-gradient(transparent,rgba(0,0,0,.9));color:#fff;display:flex;flex-direction:column;gap:7px}.bulk{background:#151516;color:#fff;padding:40px;display:flex;flex-direction:column}.bulk h3{font-size:46px;margin:10px 0}.bulk p{color:#bbb}.bulk img{width:100%;height:250px;object-fit:cover;margin-top:auto}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.chips span{border:1px solid #555;padding:9px 12px;font-size:12px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px}.gallery img{width:100%;height:280px;object-fit:cover}.projects{background:#111}.masonry{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.masonry figure{margin:0;background:#191919}.masonry img{width:100%;height:390px;object-fit:cover}.masonry figcaption{padding:18px;font-weight:700}.contact{min-height:520px;padding:100px 7vw;display:flex;align-items:center;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.5)),url('assets/transport-nuit.webp') center/cover}.contact h2{font-size:clamp(45px,7vw,85px);margin:10px 0}.contact p{font-size:18px;max-width:700px;color:#ccc}footer{padding:35px 7vw;display:flex;justify-content:space-between;color:#888;border-top:1px solid #333;font-size:12px}.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}@keyframes heroZoom{from{transform:scale(1)}to{transform:scale(1.05)}}@media(max-width:800px){header{height:66px}#menu{display:block}nav{display:none;position:absolute;top:66px;left:0;right:0;background:#0b0b0c;padding:25px;flex-direction:column;align-items:flex-start}nav.open{display:flex}.hero{padding:100px 22px 60px;min-height:92vh}.hero h1{letter-spacing:-2px}.lead{font-size:17px}.split,.feature,.transport-grid{grid-template-columns:1fr}.division{height:360px;padding:28px}.division h2{font-size:38px}.section{padding:75px 22px}.services{grid-template-columns:1fr 1fr}.feature img{height:390px}.photo-strip{grid-template-columns:1fr}.photo-strip img{height:340px}.big-photo{height:440px}.gallery{grid-template-columns:1fr 1fr}.gallery img{height:220px}.masonry{grid-template-columns:1fr 1fr}.masonry img{height:270px}.contact{padding:80px 22px}footer{gap:15px;flex-direction:column}.bulk{padding:28px}}@media(max-width:480px){.services,.masonry{grid-template-columns:1fr}.gallery img{height:180px}}
.brand{display:flex;align-items:center;gap:10px}.brand img{width:42px;height:42px;object-fit:cover;border-radius:50%;border:2px solid #d71920}.service-stories{display:grid;gap:44px;margin-top:40px}.service-story{background:#151515;border:1px solid #2b2b2b;overflow:hidden}.service-copy{padding:28px 30px}.service-copy b{color:#e3262e;font-size:14px}.service-copy h3{font-size:clamp(25px,3vw,38px);margin:8px 0 10px}.service-copy p{color:#bbb;max-width:760px}.service-story>img,.story-pair img{width:100%;height:430px;object-fit:cover;display:block}.story-pair{display:grid;grid-template-columns:1fr 1fr;gap:3px}.project-feature{margin-top:42px;background:#111;border:1px solid #2b2b2b;padding:28px}.project-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:14px}.project-title h3{font-size:clamp(30px,5vw,58px);margin:4px 0}.project-title>span{color:#aaa;text-transform:uppercase;font-size:12px;letter-spacing:1px}.project-desc{color:#bbb;max-width:900px;margin-bottom:25px}.project-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:240px;gap:8px}.project-grid img{width:100%;height:100%;object-fit:cover}.project-grid img:first-child{grid-row:span 2}.contact-logo{width:130px;height:130px;object-fit:cover;border-radius:50%;margin-bottom:22px;border:3px solid #d71920}@media(max-width:760px){.service-story>img,.story-pair img{height:260px}.story-pair{grid-template-columns:1fr}.project-title{display:block}.project-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px}.project-grid img:first-child{grid-row:auto;grid-column:span 2}}

/* V4 — intégration du logo + transitions photo plus fluides */
.brand img{width:58px;height:48px;object-fit:contain;border:0;border-radius:0;background:transparent;mix-blend-mode:screen;filter:saturate(1.08) contrast(1.05)}
.service-story,.project-feature,.big-photo,.bulk,.gallery img,.project-grid img,.masonry figure{border-radius:18px}
.service-story{border:0;background:linear-gradient(145deg,#161719,#0e0f10);box-shadow:0 18px 60px rgba(0,0,0,.25)}
.service-story>img,.story-pair{position:relative;margin-top:-1px}
.service-story>img,.story-pair img{mask-image:linear-gradient(to bottom,transparent 0,#000 9%,#000 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 9%,#000 100%)}
.story-pair{gap:0}.story-pair img:first-child{mask-image:linear-gradient(to bottom,transparent 0,#000 9%,#000 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 9%,#000 100%)}
.transport-gallery{gap:0;border-radius:18px;overflow:hidden}.transport-gallery img{border-radius:0;transition:transform .45s ease}.transport-gallery img:hover,.project-grid img:hover{transform:scale(1.025)}
.project-feature{border:0;background:linear-gradient(145deg,#151618,#0d0e0f);box-shadow:0 22px 70px rgba(0,0,0,.28)}
.project-grid{gap:4px;border-radius:16px;overflow:hidden}.project-grid img{border-radius:0;transition:transform .45s ease}
.contact-logo{width:190px;height:150px;object-fit:contain;border:0;border-radius:0;background:rgba(8,10,12,.62);padding:8px 14px;mix-blend-mode:screen;filter:saturate(1.08) contrast(1.06)}
@media(max-width:800px){.brand img{width:48px;height:40px}.contact-logo{width:155px;height:125px}.service-story>img,.story-pair img{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 7%,#000 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 7%,#000 100%)}}


/* V6 — logo sans fond + galeries de projets fondues */
.brand img{width:66px;height:52px;object-fit:contain;mix-blend-mode:normal!important;filter:none!important;background:transparent!important}
.contact-logo{width:min(420px,72vw);height:auto;max-height:240px;object-fit:contain;mix-blend-mode:normal!important;filter:none!important;background:transparent!important;padding:0!important}
.project-feature{margin-bottom:54px;overflow:hidden}
.project-fade{gap:0!important;background:#111;isolation:isolate}
.project-fade img{position:relative;transform:scale(1.01);transition:transform .5s ease,filter .5s ease}
.project-fade img:hover{transform:scale(1.035);z-index:3}
.project-grid-res{grid-template-columns:1.5fr 1fr 1fr;grid-auto-rows:260px}
.project-grid-res img:first-child{grid-row:span 2}
/* Aucun trait net entre les images : chaque bord se fond dans l'image voisine. */
.project-fade img{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 5%,#000 95%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 5%,#000 95%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 5%,#000 95%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 5%,#000 95%,transparent 100%);mask-composite:intersect}
.project-fade img{margin:-4px;width:calc(100% + 8px);height:calc(100% + 8px)}
@media(max-width:760px){.brand img{width:54px;height:44px}.project-grid-res{grid-template-columns:1fr 1fr;grid-auto-rows:190px}.project-grid-res img:first-child{grid-row:auto;grid-column:span 2}.project-feature{margin-bottom:38px}.project-fade img{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 3%,#000 97%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 3%,#000 97%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 3%,#000 97%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 3%,#000 97%,transparent 100%)}}

/* V7 — nouvelles photos transport + projet terrassement résidentiel */
.transport-extra-title{margin:52px 0 18px;max-width:760px}.transport-extra-title h3{font-size:clamp(28px,4vw,46px);margin:8px 0 10px}.transport-extra-title p:last-child{color:#555;line-height:1.6}
.transport-gallery-v7{grid-template-columns:repeat(4,1fr);gap:0;border-radius:20px;overflow:hidden;background:#111}.transport-gallery-v7 img{height:300px;border-radius:0;margin:-2px;width:calc(100% + 4px);-webkit-mask-image:linear-gradient(to right,transparent 0,#000 4%,#000 96%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 4%,#000 96%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 4%,#000 96%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 4%,#000 96%,transparent 100%);mask-composite:intersect}
.project-grid-res{grid-template-columns:repeat(4,1fr);grid-auto-rows:245px}.project-grid-res img:first-child{grid-row:span 2;grid-column:span 2}
@media(max-width:800px){.transport-gallery-v7{grid-template-columns:1fr 1fr}.transport-gallery-v7 img{height:210px}.project-grid-res{grid-template-columns:1fr 1fr;grid-auto-rows:190px}.project-grid-res img:first-child{grid-row:auto;grid-column:span 2}}

/* V8 — contenu détaillé des services */
.details-block{margin-top:72px}.details-head{max-width:900px;margin-bottom:28px}.details-head h3{font-size:clamp(30px,4.5vw,54px);line-height:1.05;margin:8px 0 16px}.details-head>p:last-child{color:#aaa;font-size:17px;line-height:1.65}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.details-grid article{padding:28px;background:linear-gradient(145deg,#17181a,#101112);border:1px solid #292a2c;border-radius:16px;min-height:230px}.details-grid span{color:#e8292f;font-size:12px;font-weight:900;letter-spacing:1.5px}.details-grid h4{font-size:23px;margin:10px 0 12px}.details-grid p{color:#aaa;line-height:1.65;margin:0}.emergency{margin-top:16px;padding:34px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-radius:18px;background:linear-gradient(110deg,#2b0d0f,#151516 65%);border:1px solid #4a2022}.emergency h3{font-size:clamp(28px,4vw,46px);margin:6px 0 10px}.emergency p:last-child{color:#bbb;line-height:1.6;max-width:820px}.emergency .btn{white-space:nowrap}@media(max-width:900px){.details-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.details-grid{grid-template-columns:1fr}.emergency{align-items:flex-start;flex-direction:column}.details-grid article{min-height:auto}}
