@font-face{font-family:Italiana;src:url('/assets/Italiana.ttf')}@font-face{font-family:Hanken;src:url('/assets/Hanken-Regular.ttf')}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#171918;color:#ece9df;font:17px/1.6 Hanken,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;background:none;border:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #a8c0b0;outline-offset:6px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Italiana,serif;font-weight:400;line-height:1.05;letter-spacing:-.035em}h1{font-size:clamp(52px,6.5vw,100px)}h2{font-size:clamp(42px,5.2vw,78px)}h3{font-size:34px}em{font-style:normal;color:#c2cec0}p{color:#bfc4bd}section{padding:90px 5.3%;max-width:1600px;margin:auto}header{height:110px;padding:22px 5.3%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #3b403b;background:#171918;position:relative;z-index:20}.logo{width:143px;object-fit:contain}nav{display:flex;align-items:center;gap:38px;font-size:15px}.nav-contact{border-bottom:1px solid #8c9b8b;padding-bottom:8px}.menu-toggle{display:none}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:11px;color:#b4c7b7;margin-bottom:26px;display:block}.action{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #6b7c6b;padding:15px 0;color:#bfd1c0;gap:30px;width:fit-content;min-width:250px}.action span{font-size:24px}.text-link{display:flex;gap:35px;font-size:14px;margin-top:24px}.skip{position:fixed;left:15px;top:-100px;background:#ece9df;color:#171918;padding:10px;z-index:100}.skip:focus{top:10px}.hero{position:relative;min-height:750px;height:calc(100svh - 110px);max-height:1000px;padding-top:65px;padding-bottom:60px;overflow:hidden}.hero-images{position:absolute;left:29%;right:3%;top:35px;bottom:70px}.hero-images:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#171918 0%,rgba(23,25,24,.86) 12%,rgba(23,25,24,.1) 55%,transparent 100%)}.hero-slide{position:absolute;height:100%;opacity:0;transition:opacity 1.2s}.hero-slide.active{opacity:1}.hero-copy{position:relative;z-index:2;width:640px;max-width:67%}.hero h1{font-size:clamp(75px,7.5vw,118px);margin-bottom:25px}.hero h1 em{margin-left:40px}.hero-copy p:not(.eyebrow){font-size:18px;color:#e0e1d7}.hero-controls{position:absolute;bottom:20px;right:5%;display:flex;align-items:center;gap:20px;font-size:13px}.hero-controls button{padding:12px;color:#c2d0bd}.hero-caption{position:absolute;bottom:85px;right:5%;padding:6px 15px;font-size:11px;letter-spacing:.13em;background:#171918dc}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.needs h2 em{margin-left:24%}.needs h2{margin-bottom:60px}.photo-card img{aspect-ratio:1.28;transition:filter .3s}.photo-card:hover img{filter:brightness(1.1)}.photo-card h3{margin:25px 0 12px;display:flex;justify-content:space-between}.photo-card p{font-size:16px;max-width:360px}.company{background:#20241f;display:grid;grid-template-columns:2fr 1fr;gap:30px}.company .lead{max-width:650px}.lead{font-size:21px;line-height:1.6}.year{font-family:Italiana;font-size:120px;color:#b6c7b0;text-align:right}.year span{display:block;font:11px Hanken;text-transform:uppercase;letter-spacing:.17em}.departments{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:45px}.departments div{border-top:1px solid #51594e;padding-top:20px}.departments strong{font:60px Italiana;color:#b6c7b0;display:block}.departments span{display:block;margin-top:10px}.craft-section{display:grid;grid-template-columns:1fr 1.3fr;gap:9%;align-items:start}.craft-section h2{font-size:55px}.craft-section img{max-width:380px;aspect-ratio:1;object-position:center}.craft{display:grid;grid-template-columns:36px 1fr 20px;gap:15px;padding:27px 0;border-top:1px solid #4c534d;align-items:center;transition:color .2s,padding .2s}.craft:hover{color:#bdd4bf;padding-left:8px}.craft span:first-child{font-size:12px;color:#a8c0b0}.craft span:nth-child(2){font-size:22px}.process{display:grid;grid-template-columns:1fr 1.15fr;gap:7%;align-items:start}.process-intro{position:sticky;top:50px}.phase-nav{display:grid;margin-top:55px}.phase-nav a{padding:13px 0;color:#8e978c}.phase-nav a.active{color:#ece9df}.phase-nav span{font-size:11px;margin-right:20px}.phase{min-height:75vh;padding-bottom:80px;scroll-margin-top:40px}.phase img{aspect-ratio:1.4}.phase>div{padding-top:30px}.phase .eyebrow{margin-bottom:10px}.phase h3{font-size:38px}.phase p{max-width:480px}.why h2 em{margin-left:15%}.why-grid{display:grid;grid-template-columns:1fr 2fr;gap:7%;margin-top:65px}.why-grid>img{height:100%;max-height:490px}.reasons{display:grid;grid-template-columns:1fr 1fr;gap:40px}.reasons article{border-top:1px solid #4c534d;padding-top:20px}.reasons h3{font-size:30px;line-height:1.15}.reasons p{font-size:16px}.partners{padding-top:30px;padding-bottom:70px;overflow:hidden}.section-line{display:flex;justify-content:space-between;align-items:center;gap:30px}.section-line h2{margin-bottom:35px}.section-line button{font-size:12px;text-decoration:underline}.marquee{overflow:hidden;border-top:1px solid #4c534d;border-bottom:1px solid #4c534d;margin-top:25px}.track{display:flex;width:max-content;animation:marquee 40s linear infinite}.track>div{display:flex;align-items:center}.partner{display:block;width:150px;height:90px;margin:25px 30px;background:#d9dbd1;mask:var(--logo) center/contain no-repeat;-webkit-mask:var(--logo) center/contain no-repeat}.marquee:hover .track,.marquee:focus-within .track,.marquee.paused .track{animation-play-state:paused}@keyframes marquee{to{transform:translateX(-50%)}}.end-cta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #4c534d}.end-cta h2{margin:0}footer{padding:80px 5.3% 25px;display:grid;grid-template-columns:1fr 1fr;gap:80px;background:#111410}footer .logo{width:190px;margin-bottom:30px}footer p{font:30px/1.3 Italiana;color:#ece9df}footer small{color:#9da899}footer>div:nth-child(2)>a{display:block}.phone{font:clamp(26px,3.2vw,46px) Italiana;display:block;margin-bottom:18px}footer .action{margin-top:30px}.foot-bottom{grid-column:1/-1;border-top:1px solid #3c4539;padding-top:24px;display:flex;gap:30px;font-size:12px;color:#a6afa1}.page-intro{padding-top:80px;padding-bottom:45px}.page-intro h1{max-width:1000px}.page-intro p{max-width:620px}.service-detail{display:grid;grid-template-columns:1fr 1.1fr;gap:7%;align-items:center;min-height:720px}.service-detail>img,.service-image img{max-height:690px;object-fit:contain}.service-detail h1{font-size:clamp(45px,4.5vw,68px)}.service-steps{list-style:decimal-leading-zero;padding-left:32px;margin:30px 0;color:#bac7b5}.service-steps li{padding:13px 0;border-top:1px solid #424b3d}.other-services{padding-top:30px}.other-services h2{font-size:45px}.project-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:90px 7%;padding-top:0}.project:nth-child(even){margin-top:100px}.project img{aspect-ratio:.85}.project:nth-child(even) img{aspect-ratio:1.2}.project h2{font-size:32px;margin-top:20px}.project h2 small{display:block;font:12px Hanken;color:#a8c0b0;margin-bottom:14px}.image-gallery{display:grid;grid-template-columns:1fr 1fr;gap:70px 6%;padding-top:0;align-items:start}.gallery-item{padding:0;text-align:left;position:relative}.gallery-item:nth-child(even){margin-top:100px}.gallery-item img{max-height:750px;object-fit:contain}.gallery-item span{display:block;padding-top:10px;color:#b8c8b1;font-size:13px}.collaboration{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;align-items:center}.collaboration p{max-width:600px}.collaboration img{max-height:700px;object-fit:contain}.contact-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:10%;padding-top:10px}.contact-layout aside p{max-width:340px}.contact-layout aside a:not(.phone){font-size:15px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}label{display:block;font-size:14px;margin-bottom:22px;color:#c4ccbe}input,select,textarea{display:block;width:100%;border:0;border-bottom:1px solid #66735f;border-radius:0;background:#20241f;padding:14px 10px;margin-top:10px}textarea{resize:vertical}select option{background:#20241f}.form-note,#form-status{font-size:13px}.form-note{max-width:550px}dialog{background:#121511;color:#ece9df;border:1px solid #505b49;width:min(96vw,1400px);height:94svh;padding:25px}dialog::backdrop{background:#000d}dialog figure{height:75%;margin:20px 0}dialog figure img{height:100%;object-fit:contain}dialog figcaption{text-align:center;font-size:13px;padding-top:10px}.close{display:block;margin-left:auto}.gallery-controls{display:flex;justify-content:space-between;margin-top:45px;font-size:14px}.gallery-controls button{padding:10px}.menu-toggle span{margin-left:10px}
@media(min-width:1500px){.hero-copy{max-width:700px}.hero{min-height:850px}}
@media(max-width:1000px){nav{gap:20px}.hero{min-height:720px}.hero h1{font-size:88px}.hero-copy{max-width:78%}.craft-section{gap:5%;grid-template-columns:1fr 1.2fr}.craft-section h2{font-size:42px}.craft span:nth-child(2){font-size:18px}.why-grid{gap:5%}.reasons{gap:25px}.contact-layout{gap:5%}.year{font-size:100px}}
@media(max-width:700px){body{font-size:16px}header{height:90px;padding:16px 6%}.logo{width:115px}.menu-toggle{display:block;font-size:14px;padding:12px}nav{display:none;position:absolute;top:90px;left:0;right:0;padding:25px 6%;background:#171918;border-bottom:1px solid #66735f}nav.open{display:grid;gap:25px}section{padding:65px 6%}h1{font-size:52px}h2{font-size:44px}h3{font-size:30px}.hero{height:auto;max-height:none;min-height:0;padding-top:28px;padding-bottom:80px;display:flex;flex-direction:column}.hero-images{position:relative;inset:auto;height:250px;order:0;width:100%;margin-bottom:28px}.hero-images:after{display:none}.hero-copy{width:100%;max-width:none;order:1}.hero h1{font-size:65px;line-height:1.02}.hero h1 em{margin-left:25px}.hero-copy .eyebrow{font-size:10px;margin-bottom:20px}.hero-copy p:not(.eyebrow){font-size:16px}.hero-caption{top:240px;bottom:auto;right:8%;font-size:9px}.hero-controls{bottom:10px;right:6%;gap:14px}.needs h2 em,.why h2 em{margin-left:0}.three{grid-template-columns:1fr;gap:40px}.photo-card img{aspect-ratio:1.25}.photo-card h3{margin-top:18px}.photo-card p{max-width:none}.company{grid-template-columns:1fr;gap:25px}.year{text-align:left;font-size:90px}.departments{grid-template-columns:1fr 1fr;gap:30px;margin-top:10px}.departments strong{font-size:48px}.departments span{font-size:14px}.craft-section{grid-template-columns:1fr;gap:35px}.craft-section>div>img{max-width:none;max-height:330px}.craft{padding:22px 0}.craft span:nth-child(2){font-size:19px}.process{grid-template-columns:1fr;gap:40px}.process-intro{position:static}.phase-nav{margin-top:30px}.phase{min-height:0;padding-bottom:50px;scroll-margin-top:20px}.phase img{aspect-ratio:1.3}.phase h3{font-size:34px}.why-grid{grid-template-columns:1fr;gap:35px;margin-top:35px}.why-grid>img{height:280px;object-position:center 55%}.reasons{grid-template-columns:1fr;gap:20px}.reasons h3{font-size:29px}.section-line{align-items:start;flex-direction:column;gap:0}.partners .section-line{flex-direction:row;align-items:center;gap:10px}.partners .eyebrow{font-size:9px;margin:0}.partners .section-line button{font-size:11px}.partner{width:110px;height:60px;margin:20px}.end-cta{display:block}.end-cta .action{margin-top:30px}footer{grid-template-columns:1fr;gap:45px;padding:55px 6% 25px}.foot-bottom{grid-column:auto;flex-wrap:wrap;gap:20px}.page-intro{padding-bottom:25px}.service-detail{grid-template-columns:1fr;gap:35px;padding-top:35px}.service-detail .service-image,.service-detail>img{order:1}.service-detail>div:last-child{order:0}.service-detail h1{font-size:48px}.service-image img{max-height:520px}.lead{font-size:19px}.other-services h2{font-size:38px}.project-grid{grid-template-columns:1fr;gap:50px}.project:nth-child(even){margin-top:0}.project img{aspect-ratio:1}.image-gallery{gap:30px 15px}.gallery-item:nth-child(even){margin-top:40px}.gallery-item span{font-size:11px}.collaboration,.contact-layout{grid-template-columns:1fr;gap:40px}.collaboration img{max-height:550px}.form-grid{grid-template-columns:1fr;gap:0}.contact-layout .phone{font-size:36px}dialog{padding:15px}.gallery-controls{font-size:12px}.gallery-controls button{padding:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.track{animation:none}.hero-slide{transition:none}*{transition:none!important}}
/* Photographic compositions — immersive images, soft transitions into the page. */
.needs{padding-left:3%;padding-right:3%}.needs>.eyebrow,.needs>h2{margin-left:2.5%}.needs .three{gap:12px}.photo-card{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;min-height:540px;padding:36px 28px;overflow:hidden}.photo-card img{position:absolute;inset:0;height:100%;width:100%;aspect-ratio:auto;z-index:-2;transition:transform 1.2s ease;mask-image:linear-gradient(to bottom,#000 0%,#000 45%,#000b 66%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 45%,#000b 66%,transparent 100%)}.photo-card:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,#171918 0%,#171918db 12%,#17191888 30%,transparent 65%);pointer-events:none}.photo-card:hover img{filter:none;transform:scale(1.035)}.photo-card h3{font-size:40px;margin:0 0 12px;color:#f4f1e8}.photo-card p{color:#d2d7ce;margin:0;line-height:1.5;min-height:72px}.photo-card h3 span{font:24px Hanken}.needs .photo-card:nth-child(2){margin-top:65px}.needs .photo-card:nth-child(3){margin-top:130px}.craft-section{position:relative;min-height:820px;isolation:isolate;overflow:hidden;grid-template-columns:1fr 1.05fr;gap:5%}.craft-section>div:first-child>img{position:absolute;left:0;top:180px;width:62%;height:650px;max-width:none;max-height:none;object-fit:cover;z-index:-1;mask-image:linear-gradient(90deg,#000 0%,#000 30%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 30%,transparent 100%)}.craft-section>div:first-child h2{position:relative;z-index:1;text-shadow:0 2px 24px #171918}.craft-list,.craft-section>div:nth-child(2){padding-top:90px}.craft{background:linear-gradient(90deg,transparent,#17191866)}.phase{padding-bottom:50px;min-height:690px}.phase img{height:500px;aspect-ratio:auto;max-width:none;mask-image:linear-gradient(to bottom,#000 45%,#0009 72%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 45%,#0009 72%,transparent 100%)}.phase>div{position:relative;margin-top:-130px;padding:0 25px;isolation:isolate}.phase h3{font-size:42px;text-shadow:0 2px 20px #171918}.phase p{color:#d0d5cc}.why{position:relative;isolation:isolate;overflow:hidden}.why-grid{grid-template-columns:1fr 1.6fr}.why-grid>img{position:absolute;left:0;bottom:0;height:650px;width:55%;max-height:none;z-index:-1;mask-image:linear-gradient(90deg,#000c,#0009 38%,transparent 95%);-webkit-mask-image:linear-gradient(90deg,#000c,#0009 38%,transparent 95%)}.reasons{grid-column:2}.why h2{position:relative}.reasons article{background:linear-gradient(90deg,transparent,#17191899)}.service-detail{position:relative;isolation:isolate;min-height:850px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;padding-top:100px;padding-bottom:100px;gap:5%}.service-image{position:absolute;inset:0 30% 0 0;z-index:-1}.service-image img{height:100%;max-height:none;width:100%;object-fit:cover;mask-image:linear-gradient(90deg,#000 20%,#000d 45%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 20%,#000d 45%,transparent 100%)}.service-detail>div:last-child{grid-column:2;position:relative}.service-detail>div:last-child:before{content:'';position:absolute;inset:-50px -20px;z-index:-1;background:radial-gradient(ellipse,#171918c9,transparent 75%)}.service-detail .lead{color:#d6dbd1}.service-detail h1{font-size:clamp(48px,4.8vw,74px)}.service-steps{color:#d0dbca}.service-detail>img{position:absolute;inset:0 auto 0 0;width:72%;height:100%;max-height:none;object-fit:cover;object-position:40% center;z-index:-1;mask-image:linear-gradient(90deg,#000 25%,#000c 45%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 25%,#000c 45%,transparent 100%)}.collaboration{position:relative;isolation:isolate;min-height:850px;overflow:hidden;grid-template-columns:1.1fr 1fr;padding-top:100px;padding-bottom:100px}.collaboration>img{position:absolute;right:0;top:0;width:65%;height:100%;max-height:none;object-fit:cover;object-position:center 35%;z-index:-1;mask-image:linear-gradient(90deg,transparent,#000b 45%,#000 75%);-webkit-mask-image:linear-gradient(90deg,transparent,#000b 45%,#000 75%)}.collaboration>div p{color:#d0d5ca}.project-grid{gap:35px;padding-left:3%;padding-right:3%}.project{position:relative;min-height:580px;display:flex;align-items:flex-end;isolation:isolate;padding:38px;overflow:hidden}.project:first-child{grid-column:1/-1;min-height:680px}.project:nth-child(even){margin-top:80px}.project img,.project:nth-child(even) img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;z-index:-1;mask-image:linear-gradient(to bottom,#000 45%,#000a 72%,transparent);-webkit-mask-image:linear-gradient(to bottom,#000 45%,#000a 72%,transparent);transition:transform 1s}.project:hover img{transform:scale(1.025)}.project h2{font-size:46px;text-shadow:0 2px 25px #000;margin:0;max-width:80%}.project h2 small{font-size:13px}.image-gallery{gap:50px 3%;padding-left:3%;padding-right:3%}.gallery-item:first-child{grid-column:1/-1}.gallery-item:first-child img{max-height:800px;width:100%;object-fit:cover}.gallery-item img{mask-image:linear-gradient(to bottom,#000 80%,transparent);-webkit-mask-image:linear-gradient(to bottom,#000 80%,transparent)}.gallery-item span{position:relative;margin-top:-45px;padding:15px 25px;color:#e8ede3;text-shadow:0 2px 10px #000}.gallery-item:nth-child(even){margin-top:35px}
@media(max-width:1000px) and (min-width:701px){.photo-card{padding:25px 18px;min-height:500px}.photo-card h3{font-size:34px}.photo-card p{font-size:14px}.service-detail{grid-template-columns:.7fr 1fr}.service-detail h1{font-size:52px}.craft-section{min-height:850px}.project h2{font-size:36px}}
@media(max-width:700px){.needs{padding-left:0;padding-right:0}.needs>.eyebrow,.needs>h2{margin-left:6%;margin-right:6%}.needs .three{gap:12px}.photo-card{min-height:550px;padding:35px 7%}.needs .photo-card:nth-child(2),.needs .photo-card:nth-child(3){margin-top:0}.photo-card img{mask-image:linear-gradient(to bottom,#000 45%,transparent);-webkit-mask-image:linear-gradient(to bottom,#000 45%,transparent)}.photo-card p{min-height:0;max-width:380px}.photo-card h3{font-size:42px}.craft-section{min-height:0;display:block;padding-top:55px}.craft-section>div:first-child>img{position:relative;left:auto;top:auto;width:calc(100% + 14%);margin-left:-7%;height:350px;max-height:none;mask-image:linear-gradient(to bottom,#000 30%,transparent);-webkit-mask-image:linear-gradient(to bottom,#000 30%,transparent);margin-bottom:-80px}.craft-list,.craft-section>div:nth-child(2){padding-top:0;position:relative}.craft{background:transparent}.phase{min-height:0;padding-bottom:65px}.phase img{height:400px;width:calc(100% + 14%);margin-left:-7%}.phase>div{margin-top:-100px;padding:0}.phase h3{font-size:36px}.why-grid{display:block;margin-top:280px}.why-grid>img{top:180px;bottom:auto;height:420px;width:100%;mask-image:linear-gradient(to bottom,#000a,transparent);-webkit-mask-image:linear-gradient(to bottom,#000a,transparent)}.reasons{display:grid}.reasons article{background:transparent}.service-detail{display:flex;flex-direction:column;padding:0 6% 65px;min-height:0;gap:0;overflow:hidden}.service-image{position:relative;inset:auto;width:calc(100% + 14%);height:470px;flex:none;order:0!important;margin-left:-7%;margin-right:-7%}.service-image img{mask-image:linear-gradient(to bottom,#000 45%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 45%,transparent 100%);object-position:center}.service-detail>div:last-child{order:1!important;margin-top:-100px;width:100%}.service-detail>div:last-child:before{display:none}.service-detail h1{font-size:48px}.service-detail>img{position:relative;inset:auto;height:440px;width:calc(100% + 14%);max-height:none;order:0!important;mask-image:linear-gradient(to bottom,#000 45%,transparent);-webkit-mask-image:linear-gradient(to bottom,#000 45%,transparent)}.collaboration{display:flex;flex-direction:column;min-height:0;padding:0 6% 65px;gap:0}.collaboration>img{position:relative;inset:auto;order:0;width:calc(100% + 14%);height:520px;max-height:none;mask-image:linear-gradient(to bottom,#000 40%,transparent);-webkit-mask-image:linear-gradient(to bottom,#000 40%,transparent)}.collaboration>div{order:1;margin-top:-90px}.project-grid{padding-left:0;padding-right:0;gap:15px}.project,.project:first-child{min-height:560px;padding:35px 6%;grid-column:auto}.project:nth-child(even){margin-top:0}.project h2{font-size:40px;max-width:95%}.image-gallery{display:block;padding-left:0;padding-right:0}.gallery-item{display:block;width:100%;margin-bottom:30px}.gallery-item:nth-child(even){margin-top:0}.gallery-item img,.gallery-item:first-child img{max-height:650px;object-fit:contain}.gallery-item span{margin-top:-35px;padding:12px 6%}}
/* Cadrages guidés par les équipements et les usages. */
.region-note{grid-column:1/-1;max-width:800px;margin:15px 0 0;font-size:20px;color:#d1d9cc}.departments{grid-template-columns:repeat(4,1fr)}
.service-electric .service-image{right:35%}.service-electric .service-image img{object-fit:contain;object-position:left top;mask-image:linear-gradient(90deg,#000 55%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 55%,transparent)}
.service-air .service-image img{object-position:left top}.service-maintenance .service-image img{object-position:30% center}.service-bath .service-image img{object-position:35% center}
.studio-story{padding-top:0}.studio-text{display:grid;grid-template-columns:1fr 1fr;gap:8%;max-width:1000px}.studio-text article{border-top:1px solid #4c534d;padding-top:24px}
.process{display:block}.process-intro{position:static}.process-intro h2{margin-bottom:20px}.phase-nav{grid-template-columns:repeat(4,1fr);gap:20px;margin:35px 0 40px}.phase-nav a{border-top:1px solid #4c534d;font-size:15px}.phase-nav span{display:block;margin-bottom:6px}.phase{position:relative;isolation:isolate;min-height:600px;margin:0 -6% 35px;padding:65px 6%;display:flex;align-items:flex-end;overflow:hidden}.phase img{position:absolute;inset:0;width:100%;height:100%;margin:0;object-fit:cover;z-index:-2;mask-image:linear-gradient(90deg,transparent 0%,#0009 25%,#000 65%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#0009 25%,#000 65%)}.phase:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#171918 0%,#17191899 22%,transparent 60%),linear-gradient(90deg,#171918b3,transparent 75%);pointer-events:none}.phase>div{margin:0;padding:0;max-width:530px}.phase h3{font-size:52px}.phase p{color:#e0e5dc;font-size:19px}.phase:nth-child(2) img{object-position:center 40%}.phase:nth-child(3) img{object-position:center 35%}
@media(max-width:700px){.departments{grid-template-columns:1fr 1fr}.region-note{font-size:18px}.service-electric .service-image{inset:auto;height:510px}.service-electric .service-image img{object-fit:cover;object-position:center top;mask-image:linear-gradient(to bottom,#000 55%,transparent);-webkit-mask-image:linear-gradient(to bottom,#000 55%,transparent)}.service-air .service-image img{object-fit:contain;object-position:left top;mask-image:linear-gradient(to bottom,#000 60%,transparent);-webkit-mask-image:linear-gradient(to bottom,#000 60%,transparent)}.service-air .service-image{height:350px}.service-maintenance .service-image img{object-fit:contain;object-position:left top}.service-maintenance .service-image{height:350px}.service-bath .service-image img{object-position:50% center}.studio-text{grid-template-columns:1fr;gap:25px}.phase-nav{grid-template-columns:1fr 1fr;gap:15px}.phase{min-height:590px;padding:35px 6%;margin-bottom:20px}.phase img{mask-image:linear-gradient(to bottom,#000 35%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 35%,transparent 100%);object-position:center top}.phase:after{background:linear-gradient(0deg,#171918 0%,#171918b3 35%,transparent 75%)}.phase h3{font-size:39px}.phase>div{margin:0}.phase p{font-size:17px}}
@media(min-width:701px){.service-electric .service-image{right:45%}.service-electric .service-image img{object-fit:cover;object-position:center top;mask-image:linear-gradient(90deg,#000 45%,#000b 65%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 45%,#000b 65%,transparent 100%)}}
@media(max-width:700px){.service-air .service-image img,.service-maintenance .service-image img{object-fit:cover;object-position:left top}.service-bath .service-image{height:310px}.service-bath .service-image img{object-position:center top}.service-bath>div:last-child{margin-top:-65px}}
.process{overflow:hidden}
/* La plomberie et l’entretien utilisent des installations distinctes. */
.service-maintenance .service-image{right:40%}.service-maintenance .service-image img{object-position:center top;mask-image:linear-gradient(90deg,#000 35%,#000c 58%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 35%,#000c 58%,transparent)}
.needs .photo-card:nth-child(3) img{object-position:center top}.phase:nth-child(2) img{object-position:center center}
@media(max-width:700px){.service-maintenance .service-image{inset:auto;height:460px}.service-maintenance .service-image img{object-fit:cover;object-position:center top;mask-image:linear-gradient(to bottom,#000 40%,transparent);-webkit-mask-image:linear-gradient(to bottom,#000 40%,transparent)}}
/* Notre ancrage — composition photographique, sans aplat ni grands pavés. */
.company{position:relative;isolation:isolate;overflow:hidden;background:#171918;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(230px,.7fr);column-gap:9%;row-gap:0;padding-top:120px;padding-bottom:85px;min-height:900px}.company-photo{position:absolute;right:-3%;top:0;width:76%;height:710px;object-fit:cover;object-position:center 35%;z-index:-2;mask-image:linear-gradient(90deg,transparent 0%,#000 60%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 60%)}.company:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(0deg,#171918 24%,#171918c9 42%,transparent 78%),linear-gradient(90deg,#171918 0%,#171918a8 33%,transparent 80%)}.company-copy{position:relative;max-width:760px}.company h2{font-size:clamp(52px,5.6vw,84px);line-height:1.08;max-width:760px;letter-spacing:-.045em;margin-bottom:32px}.company .lead{max-width:520px;color:#d1d7cc;font-size:20px}.company .year{align-self:end;text-align:left;font:96px/1.15 Italiana;color:#e7e9df;padding:0 0 12px 25px;margin:165px 0 0;border-left:1px solid #89978088}.company .year span{font:11px/1.6 Hanken;letter-spacing:.12em;text-transform:uppercase;color:#c0cbbb;margin:0 0 8px;max-width:210px}.company .year span:last-child{font-size:12px;letter-spacing:0;text-transform:none;margin:8px 0 0}.territory-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #68736280;margin-top:100px;padding-top:27px;gap:25px}.territory-heading .eyebrow{margin:0;font-size:10px}.territory-heading p{font:34px/1.2 Italiana;color:#ece9df;margin:0}.company .departments{margin-top:32px;gap:20px 28px;grid-template-columns:repeat(4,1fr)}.company .departments div{border:0;display:flex;align-items:baseline;gap:13px;padding:10px 0}.company .departments strong{font:24px/1 Hanken;color:#9fb59d;font-weight:400;min-width:32px}.company .departments span{font-size:15px;margin:0;color:#dae0d4}.company .region-note{font-size:14px;color:#aebaa6;max-width:790px;margin-top:30px;padding-top:20px;border-top:1px solid #48534270}
@media(max-width:1000px) and (min-width:701px){.company{column-gap:5%;grid-template-columns:1.5fr .7fr}.company h2{font-size:59px}.company .year{font-size:78px;padding-left:18px}.company .departments{gap:16px}.company .departments div{gap:9px}.company .departments span{font-size:13px}}
@media(max-width:700px){.company{display:block;min-height:0;padding:320px 6% 60px}.company-photo{width:100%;height:540px;right:0;top:0;object-position:65% 30%;mask-image:linear-gradient(to bottom,#000 25%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 25%,transparent 100%)}.company:after{background:linear-gradient(to bottom,transparent 15%,#171918b3 36%,#171918 54%)}.company h2{font-size:53px;line-height:1.05;margin-bottom:26px}.company .lead{font-size:18px}.company .year{margin:40px 0 0;padding:0 0 0 20px;font-size:72px}.company .year span{max-width:none}.territory-heading{display:block;margin-top:45px;padding-top:24px}.territory-heading p{font-size:33px;margin-top:14px}.company .departments{display:grid;grid-template-columns:1fr 1fr;gap:13px 10px;margin-top:22px}.company .departments div{gap:10px;padding:8px 0}.company .departments strong{font-size:22px;min-width:28px}.company .departments span{font-size:13px;line-height:1.4}.company .region-note{font-size:13px;line-height:1.65;margin-top:25px}}
.company .year{position:relative;isolation:isolate}.company .year:before{content:'';position:absolute;inset:-55px -35px;z-index:-1;background:radial-gradient(ellipse,#171918bd 0%,#17191888 42%,transparent 72%)}.company .year span{color:#e0e7d9}
@media(max-width:700px){.company .year:before{display:none}}
/* Trois besoins — un triptyque aligné, fondu dans le fond de page. */
.needs{padding-left:3%;padding-right:3%;padding-bottom:80px}.needs h2{margin-bottom:45px}.needs h2 em{margin-left:0}.needs .three{gap:0;align-items:stretch}.needs .photo-card,.needs .photo-card:nth-child(2),.needs .photo-card:nth-child(3){margin:0;min-height:590px;padding:38px 34px;justify-content:flex-end}.needs .photo-card img{object-position:center center;mask-image:linear-gradient(to bottom,transparent 0%,#000 13%,#000 51%,#000a 76%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 13%,#000 51%,#000a 76%,transparent 100%)}.needs .photo-card:nth-child(3) img{object-position:center top}.needs .photo-card:after{background:linear-gradient(to top,#171918 0%,#171918ed 12%,#1719188c 34%,transparent 67%),linear-gradient(90deg,#171918 0%,transparent 9%,transparent 91%,#171918 100%)}.needs .photo-card h3{font-size:43px;margin-bottom:16px}.needs .photo-card h3 span{color:#a8c0b0;font-size:24px}.needs .photo-card p{min-height:78px;font-size:16px;color:#c7d0c2;max-width:330px}.needs .photo-card:hover img{transform:scale(1.025)}.company .departments{grid-template-columns:repeat(3,1fr)}
@media(max-width:1000px) and (min-width:701px){.needs .photo-card,.needs .photo-card:nth-child(2),.needs .photo-card:nth-child(3){padding:30px 20px;min-height:540px}.needs .photo-card h3{font-size:35px}.needs .photo-card p{font-size:15px;min-height:100px}}
@media(max-width:700px){.needs{padding-left:0;padding-right:0;padding-bottom:45px}.needs h2{margin-bottom:20px}.needs .three{gap:0}.needs .photo-card,.needs .photo-card:nth-child(2),.needs .photo-card:nth-child(3){min-height:490px;padding:35px 7% 25px}.needs .photo-card p{min-height:0;max-width:360px;font-size:16px}.needs .photo-card h3{font-size:42px}.needs .photo-card:after{background:linear-gradient(to top,#171918 0%,#171918e6 15%,#17191866 40%,transparent 75%),linear-gradient(90deg,#17191855,transparent 15%,transparent 85%,#17191855)}.company .departments{grid-template-columns:1fr 1fr}}
/* Fondu localisé sous les écritures : aucun masque sur la photographie. */
.needs .photo-card img{mask-image:none;-webkit-mask-image:none}.needs .photo-card:after{inset:0;background:radial-gradient(ellipse 115% 44% at 8% 87%,rgba(16,20,16,.96) 0%,rgba(16,20,16,.91) 30%,rgba(16,20,16,.72) 47%,rgba(16,20,16,.3) 64%,transparent 83%)}.needs .photo-card h3,.needs .photo-card p{text-shadow:0 1px 8px #000b}.needs .photo-card h3 span{text-shadow:0 1px 6px #000;color:#e2ebdc}.needs .photo-card p{color:#e3e8df}
@media(max-width:700px){.needs .photo-card img{mask-image:none;-webkit-mask-image:none}.needs .photo-card:after{background:radial-gradient(ellipse 115% 46% at 8% 88%,rgba(16,20,16,.96) 0%,rgba(16,20,16,.91) 30%,rgba(16,20,16,.72) 47%,rgba(16,20,16,.3) 64%,transparent 83%)}}
/* Une scène immersive et trois entrées éditoriales. */
.need-experience{position:relative;isolation:isolate;overflow:hidden;min-height:820px;padding:90px 5.3% 100px;display:grid;grid-template-columns:43% 57%;align-content:start;background:#171918}
.need-heading,.need-choices{position:relative;z-index:2;grid-column:1}.need-heading h2{font-size:clamp(48px,5.1vw,76px);margin-bottom:45px}.need-heading h2 em{margin-left:36px}.need-scenes{position:absolute;inset:45px 0 45px 36%;z-index:0}.need-scene{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .65s ease;object-position:center;object-fit:cover}.need-scene.active{opacity:1}.need-scenes:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#171918 0%,#171918cf 14%,#17191830 36%,transparent 60%)}
.need-choices{max-width:480px}.need-choice{border-top:1px solid #64705d66}.need-choice:last-child{border-bottom:1px solid #64705d66}.need-choice h3{margin:0}.need-trigger{display:flex;align-items:center;width:100%;padding:22px 0;text-align:left;font:46px Italiana,serif;color:#9da69a;gap:22px;transition:color .25s}.need-number{font:11px Hanken,sans-serif;letter-spacing:.13em;color:#a8c0b0}.need-symbol{font:23px Hanken,sans-serif;margin-left:auto;margin-right:14px}.need-choice.active .need-trigger,.need-trigger:hover{color:#ece9df}.need-panel{padding:0 38px 25px 36px}.need-panel p{max-width:325px;font-size:16px;margin:0 0 20px;color:#d3d8cd}.need-link{display:flex;align-items:center;gap:25px;font-size:12px;letter-spacing:.04em;color:#c2cec0;width:fit-content;border-bottom:1px solid #8b9c7b;padding-bottom:7px}.need-link span{font-size:19px}.need-panel[hidden]{display:none}
@media(max-width:900px){.need-experience{grid-template-columns:52% 48%}.need-scenes{left:38%}.need-trigger{font-size:39px}}
@media(max-width:700px){.need-experience{display:block;padding:55px 6% 45px;min-height:0}.need-heading h2{font-size:54px;margin-bottom:25px}.need-scenes{position:relative;inset:auto;margin:0 -6.8% -60px;height:400px}.need-scenes:after{background:linear-gradient(0deg,#171918,transparent 40%)}.need-scene{object-position:center 40%}.need-choices{max-width:none}.need-trigger{font-size:40px;padding:20px 0}.need-choice:first-child{border-top:0}.need-panel{padding-left:34px}.need-panel p{max-width:100%}}
@media(prefers-reduced-motion:reduce){.need-scene{transition:none}}
/* Variante : photographie à gauche, lecture décentrée à droite. */
.need-experience{min-height:920px;display:block;padding:70px 5.3% 85px}.need-heading{position:relative;width:100%;z-index:2}.need-heading h2{font-size:clamp(48px,5.4vw,78px);margin-bottom:0}.need-heading h2 em{margin-left:12%}.need-scenes{inset:300px 30% 75px 0}.need-scenes:after{background:linear-gradient(90deg,transparent 50%,#17191855 75%,#171918 100%)}.need-scenes .need-scene{object-position:center}.need-choices{position:relative;margin:40px 0 0 auto;width:35%;max-width:440px;padding:0 0 0 10px}.need-choice{border-top:0;border-bottom:1px solid #64705d66}.need-choice:last-child{border-bottom:0}.need-trigger{padding:25px 0;font-size:47px;gap:18px}.need-panel{padding:0 8px 22px 32px}.need-panel p{max-width:300px}.need-symbol{margin-right:0}.need-heading .eyebrow{margin-bottom:20px}
@media(max-width:1000px) and (min-width:701px){.need-experience{min-height:900px}.need-choices{width:40%}.need-scenes{right:34%;top:280px}.need-trigger{font-size:38px}.need-heading h2{font-size:60px}}
@media(max-width:700px){.need-experience{padding:55px 6% 35px;min-height:0}.need-heading h2{font-size:45px;line-height:1.1}.need-heading h2 em{margin-left:0}.need-scenes{position:relative;inset:auto;height:330px;margin:30px -6.8% -35px}.need-scenes:after{background:linear-gradient(0deg,#171918,transparent 35%)}.need-choices{margin:0 0 0 auto;width:94%;max-width:none;padding:0}.need-trigger{font-size:37px;padding:20px 0}.need-panel p{max-width:none}.need-scenes .need-scene{object-position:center}}
.need-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:30px;padding-left:32px;color:#a8b7a3;font-size:12px}.need-controls button{font-size:12px;padding:8px 0;border-bottom:1px solid #64705d66}.need-controls button:hover{color:#ece9df}
.music-player{grid-column:1/-1;max-width:560px;width:100%;padding-top:20px}.music-player .eyebrow{margin-bottom:10px}.music-player .music-credit{font:16px Hanken,sans-serif;margin-bottom:16px}.music-player iframe{display:block;border:0}.music-source{font-size:12px;color:#a8c0b0;display:inline-block;margin-top:12px}.music-toggle{position:fixed;bottom:20px;right:22px;z-index:40;background:#171918ee;color:#d9e1d2;border:1px solid #78857080;border-radius:2px;padding:11px 17px;font-size:12px;box-shadow:0 3px 20px #0004}.music-toggle:hover{background:#292f27}.foot-bottom{padding-bottom:55px}@media(max-width:700px){.music-toggle{bottom:12px;right:12px;padding:10px 13px;font-size:11px}}
.music-welcome{text-align:center;padding:25px 20px 23px;border-bottom:1px solid #4b554440;background:linear-gradient(90deg,transparent,#a8c0b008,transparent)}.music-welcome p{font:18px/1.4 Hanken,sans-serif;color:#e4e6dd;margin:0 0 12px}.music-start{display:inline-flex;align-items:center;justify-content:center;background:#b8c7ad;color:#171918;border:1px solid #c4d1ba;border-radius:2px;padding:11px 22px;font:14px Hanken,sans-serif;min-width:210px;transition:background .2s}.music-start:hover{background:#d4dfcb}.music-start:disabled{cursor:wait;opacity:.65}.music-welcome>span{display:block;font-size:11px;letter-spacing:.04em;color:#a7b29f;margin-top:9px}@media(max-width:700px){.music-welcome{padding:22px 6%}.music-welcome p{font-size:16px}.music-start{padding:12px 20px}}
/* Invitation musicale discrète, dans la typographie de la maison. */
.music-welcome{display:flex;justify-content:center;align-items:center;gap:30px;padding:25px 5.3% 8px;border:0;background:none}.music-welcome p{font:27px/1.25 Italiana,serif;color:#d7dccf;margin:0;letter-spacing:-.015em}.music-start{background:transparent;color:#b9cbb2;border:0;border-bottom:1px solid #84967a80;border-radius:0;padding:10px 0;min-width:0;font:12px/1.4 Hanken,sans-serif;letter-spacing:.035em;transition:color .2s,border-color .2s}.music-start:hover{background:transparent;color:#f0f0e3;border-color:#c6d4bd}.music-welcome>span{display:none}.music-toggle{background:#171918e8;border-color:#78857045;box-shadow:none}
@media(max-width:700px){.music-welcome{flex-direction:column;gap:9px;padding:23px 6% 4px}.music-welcome p{font-size:25px;text-align:center;max-width:310px}.music-start{font-size:12px;padding:9px 0}}

/* Hommage aux origines de la société. */
.memorial{grid-column:1/-1;margin:0;padding:28px 0 38px;border-top:1px solid #3b403b;text-align:center;font:clamp(18px,2vw,23px)/1.5 Italiana,serif;color:#bfc4bd;letter-spacing:.01em;text-wrap:balance}

/* Ajustements exclusivement tablette et téléphone. */
@media(max-width:1100px){
 .touch-symbol{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 auto;width:18px;height:18px;vertical-align:-.12em;font-size:0!important;line-height:0;margin:0;padding:0!important}
 .touch-symbol svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
 .action{max-width:100%;gap:22px}
 .action>span[aria-hidden]{display:flex;align-items:center;justify-content:center}
 .craft{grid-template-columns:30px minmax(0,1fr);gap:16px}
 .craft>span:last-child{display:none}
 .craft span:nth-child(2){line-height:1.45}
 .photo-card h3 .touch-symbol{width:18px;height:18px;margin-left:8px;vertical-align:.06em;opacity:.8}
 .text-link{align-items:center;gap:18px}
 .hero-controls button{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
 .hero-controls .touch-symbol{width:16px;height:16px}
 .music-start{gap:10px;min-height:44px;font-size:13px}
 .music-start .touch-symbol{width:13px;height:13px}
 .music-toggle{display:flex;align-items:center;gap:9px;font-size:11px;padding:11px 14px;bottom:calc(12px + env(safe-area-inset-bottom,0px));right:12px;max-width:calc(100vw - 24px);background:#171918f5}
 .music-toggle .touch-symbol{width:14px;height:14px}
 body:has(.music-welcome) .music-toggle:not([aria-pressed="true"]){display:none}
 .music-source{display:inline-flex;align-items:center;gap:8px}
 .music-source .touch-symbol{width:13px;height:13px}
 .need-link{min-height:38px;gap:18px}
 .need-link .touch-symbol{width:15px;height:15px}
 .gallery-controls button{min-height:44px;display:flex;align-items:center;gap:10px}
 .gallery-controls .touch-symbol{width:16px;height:16px}
 .nav-contact .touch-symbol,.foot-bottom .touch-symbol{width:13px;height:13px;margin-left:5px}
}
@media(min-width:701px) and (max-width:1100px){
 .music-welcome{gap:22px;padding-top:23px}
 .music-welcome p{font-size:25px;max-width:440px}
 .craft-section{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
 .project h2{max-width:100%}
 .photo-card h3{line-height:1.12}
}
@media(max-width:700px){
 .music-welcome{gap:4px;padding-top:20px;padding-bottom:0}
 .music-welcome p{font-size:24px;line-height:1.2;max-width:300px;text-wrap:balance}
 .hero{padding-top:25px;padding-bottom:78px}
 .hero-images{height:260px;margin-bottom:25px}
 .hero-caption{top:239px;font-size:8px;letter-spacing:.1em;padding:5px 10px}
 .hero h1{font-size:clamp(51px,15.6vw,65px);line-height:1.04;margin-bottom:24px}
 .hero h1 em{margin-left:20px}
 .hero-copy p:not(.eyebrow){font-size:15px;line-height:1.7}
 .hero-copy .text-link{font-size:13px;margin-top:20px}
 .hero-controls{right:6%;left:6%;bottom:9px;justify-content:flex-end;gap:10px;font-size:11px}
 .hero-controls #slide-count{margin-right:auto}
 .craft-section{padding-bottom:45px}
 .craft{padding:20px 0;gap:14px;grid-template-columns:28px minmax(0,1fr)}
 .craft span:nth-child(2){font-size:17px}
 .photo-card{min-height:440px;padding:30px 7%}
 .photo-card h3{font-size:36px;line-height:1.12;max-width:100%}
 .photo-card h3 .touch-symbol{width:17px;height:17px}
 .end-cta .action{min-width:0;width:100%;font-size:15px}
 .end-cta{padding-top:50px;padding-bottom:50px}
 .project h2{max-width:100%;line-height:1.12}
 footer p{font-size:27px;overflow-wrap:anywhere}
 .foot-bottom{gap:18px 24px;padding-bottom:12px}
 .memorial{padding-bottom:65px;font-size:19px;line-height:1.55}
}

.memorial{font:400 clamp(20px,1.8vw,24px)/1.7 Hanken,sans-serif;letter-spacing:0;color:#e2e5dd;text-wrap:balance}
