@font-face{font-family:"PFDinTextUniversal";src:url("../fonts/PFDinTextUniversal.woff2") format("woff2");font-weight:normal;font-style:normal;font-display:swap;}@font-face{font-family:"PFDinTextUniversal-Medium";src:url("../fonts/PFDinTextUniversal-Medium.woff2") format("woff2");font-weight:normal;font-style:normal;font-display:swap;}@font-face{font-family:'Poppins';src:url('../fonts/Poppins/Poppins-ExtraLight.woff2') format('woff2');font-weight:200;font-display:swap;} @font-face{font-family:'Poppins';src:url('../fonts/Poppins/Poppins-Light.woff2') format('woff2');font-weight:300;font-display:swap;} @font-face{font-family:'Poppins';src:url('../fonts/Poppins/Poppins-Regular.woff2') format('woff2');font-weight:400;font-display:swap;} @font-face{font-family:'Poppins';src:url('../fonts/Poppins/Poppins-Medium.woff2') format('woff2');font-weight:500;font-display:swap;} @font-face{font-family:'Poppins';src:url('../fonts/Poppins/Poppins-SemiBold.woff2') format('woff2');font-weight:600;font-display:swap;} @font-face{font-family:'Poppins';src:url('../fonts/Poppins/Poppins-Bold.woff2') format('woff2');font-weight:700;font-display:swap;} @font-face{font-family:'Poppins';src:url('../fonts/Poppins/Poppins-ExtraBold.woff2') format('woff2');font-weight:800;font-display:swap;}:root{--bg-light:#ffffff;--bg-soft:#f4f7fa;--bg-dark:#0b1a31;--brand-primary:#1e3a8a;--brand-secondary:#008eb4;--brand-accent:#fdd210;--brand-action:#e64500;--text-main:#0f172a;--text-muted:#43546b;--text-on-dark:#ffffff;--status-success:#15b097;--border-light:#e5e9f0;--font-main:'Poppins',sans-serif;--shadow-md:0 4px 16px rgba(15,23,42,0.06);--shadow-accent:0 4px 14px rgba(253,210,16,0.25);--radius:6px;--section-gap:clamp(32px,6vw,64px);--gutter:5%;}html{background-color:var(--bg-light);}body{margin:0;font-family:var(--font-main);color:var(--text-main);line-height:1.6;text-align:left;}h1{font-size:1.7rem;font-weight:700;letter-spacing:-0.02em;line-height:1.15;color:var(--brand-primary);max-width:720px;margin:0 auto 1rem;}h2{margin:0 0 1.5rem 0;color:var(--brand-primary);font-size:1.2rem;font-weight:600;letter-spacing:-0.01em;text-align:center;}h3{margin:0 0 1rem 0;font-size:1.15rem;color:var(--brand-primary);font-weight:600;}p{font-size:1rem;margin-bottom:1rem;color:var(--text-muted);font-weight:400;}strong{font-weight:500;color:var(--text-main);}.main-text-container h2 strong{font-weight:600;color:var(--brand-primary);}a:link,a:visited{color:var(--brand-primary);text-decoration:none;font-size:1rem;transition:color 0.3s ease;}a:hover{color:var(--brand-secondary);text-decoration:none;}main{padding:0;text-align:center;margin:0 auto;}.section-light{padding-block:30px;background-color:var(--bg-light);}.section-dark{background-color:var(--bg-dark);position:relative;clip-path:polygon( 0 var(--diagonal-cut),100% 0,100% calc(100% - var(--diagonal-cut)),0 100% );padding-top:calc(40px + var(--diagonal-cut));padding-bottom:calc(40px + var(--diagonal-cut));}.container{max-width:1000px;margin-inline:auto;padding-inline:var(--gutter);}.main-text-container{padding:20px var(--gutter);text-align:justify;max-width:1000px;margin:0 auto;}hr{border:none;height:1px;background-color:var(--border-light);margin:20px auto;width:80%;}[id]{scroll-margin-top:100px;}.hide-mobile{display:none !important;}.card{background:var(--bg-light);border:1px solid var(--border-light);border-radius:var(--radius);box-shadow:var(--shadow-md);}.icon-svg{display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;}.icon-phone{-webkit-mask-image:url('../icons/phone-solid.svg');mask-image:url('../icons/phone-solid.svg');}.icon-mail{-webkit-mask-image:url('../icons/envelope-solid.svg');mask-image:url('../icons/envelope-solid.svg');}.icon-loc{-webkit-mask-image:url('../icons/location-dot-solid-full.svg');mask-image:url('../icons/location-dot-solid-full.svg');}.icon-panel{-webkit-mask-image:url('../icons/solar-panel-solid.svg');mask-image:url('../icons/solar-panel-solid.svg');}.icon-google{-webkit-mask-image:url('../icons/google-brands-solid-full.svg');mask-image:url('../icons/google-brands-solid-full.svg');}.icon-star{-webkit-mask-image:url('../icons/star-solid-full.svg');mask-image:url('../icons/star-solid-full.svg');}.icon-star-empty{-webkit-mask-image:url('../icons/star-regular-full.svg');mask-image:url('../icons/star-regular-full.svg');}.icon-chevron-left{-webkit-mask-image:url('../icons/chevron-left-solid-full.svg');mask-image:url('../icons/chevron-left-solid-full.svg');}.icon-chevron-right{-webkit-mask-image:url('../icons/chevron-right-solid-full.svg');mask-image:url('../icons/chevron-right-solid-full.svg');}.icon-external{-webkit-mask-image:url('../icons/arrow-up-right-from-square-solid-full.svg');mask-image:url('../icons/arrow-up-right-from-square-solid-full.svg');}.icon-map-pin{-webkit-mask-image:url('../icons/location-dot-solid-full.svg');mask-image:url('../icons/location-dot-solid-full.svg');}.section-title{max-width:720px;margin:0 auto 8px;}.section-subtitle{max-width:640px;margin:0 auto 32px;color:var(--text-muted);font-size:1.02rem;}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;max-width:1100px;margin:0 auto 24px;padding:0 0 12px;position:relative;border-bottom:1px solid rgba(0,0,0,0.08);}.section-head::after{content:"";position:absolute;left:0;bottom:-1px;width:40px;height:2px;background:var(--brand-accent);}.section-head h2{font-size:clamp(1.125rem,1.5vw + 0.8rem,1.35rem);font-weight:600;margin:0;text-align:left;}h2.section-head{display:block;max-width:none;margin:0 0 24px;padding:0 0 12px;border-bottom:1px solid rgba(0,0,0,0.08);position:relative;font-size:clamp(1.125rem,1.5vw + 0.8rem,1.35rem);font-weight:600;text-align:left;}h2.section-head::after{content:"";position:absolute;left:0;bottom:-1px;width:40px;height:2px;background:var(--brand-accent);}@media screen and (min-width:768px){h1{font-size:2.2rem;} .hide-mobile{display:block !important;} .main-text-container h2,li{text-align:justify;} .section-dark{padding-top:calc(64px + var(--diagonal-cut));padding-bottom:calc(64px + var(--diagonal-cut));}}:root{--navbar-color:var(--text-main);--navbar-bg-color:var(--bg-light);--navbar-link-hover-color:var(--brand-accent);}.navbar{background-color:var(--navbar-bg-color);z-index:1000;}.navbar-button-container{display:flex;flex-direction:column;gap:0;padding:24px var(--gutter);text-align:right;position:relative;}.navbar-button-container a{display:flex;justify-content:flex-end;align-items:center;gap:10px;text-decoration:none;padding:16px 4px;position:relative;-webkit-tap-highlight-color:transparent;transition:color 0.25s ease,gap 0.25s ease;border-bottom:1px solid var(--border-light);}.navbar-button-container a:last-child{border-bottom:none;}.navbar-button-container a:visited,.navbar-button-container a:link{text-decoration:none;color:var(--navbar-color);font-size:1.05rem;font-weight:500;letter-spacing:-0.01em;font-family:var(--font-main);}.navbar-button-container a .nav-chevron{width:0.7em;height:0.7em;color:var(--brand-accent);opacity:0;transform:translateX(-4px);transition:opacity 0.25s ease,transform 0.25s ease;flex-shrink:0;}.navbar-button-container a:hover .nav-chevron,.navbar-button-container a:active .nav-chevron,.navbar-button-container a.is-active .nav-chevron{opacity:1;transform:translateX(0);}.navbar-button-container a:hover,.navbar-button-container a:active{color:var(--navbar-link-hover-color);gap:8px;}.navbar-button-container a.is-active{color:var(--brand-primary);font-weight:600;}@media screen and (min-width:1025px){.navbar{display:flex;height:100%;} .navbar-button-container{flex-direction:row;gap:40px;padding:0;height:auto;align-items:center;} .navbar-button-container a{position:relative;justify-content:center;height:100%;align-items:center;padding:6px 0 3px;border-bottom:none;gap:0;} .navbar-button-container a:hover,.navbar-button-container a:active{gap:0;} .navbar-button-container a .nav-chevron{display:none;} .navbar-button-container a::after{content:"";position:absolute;left:50%;bottom:-2px;width:0;height:2px;background-color:var(--brand-accent);border-radius:1px;transform:translateX(-50%);transition:width 0.3s cubic-bezier(0.4,0,0.2,1);} .navbar-button-container a:link,.navbar-button-container a:visited{font-size:1rem;font-weight:400;letter-spacing:normal;color:var(--text-main);} .navbar-button-container a:hover{color:var(--brand-accent);} .navbar-button-container a:hover::after{width:20px;} .navbar-button-container a.is-active{font-weight:400;color:var(--text-main);} .navbar-button-container a.is-active::after{width:20px;background-color:var(--brand-accent);}}@media screen and (min-width:768px) and (max-width:1024px){.navbar-button-container{padding:20px var(--gutter);} .navbar-button-container a{padding:14px 4px;} .navbar-button-container a:link{font-size:1.1rem;}}:root{--header-contact-container-color:var(--brand-accent);--header-contact-container-bg-color:var(--bg-dark);--diagonal-cut:4vw;}header{position:fixed;top:0px;width:100%;z-index:1000;background-color:var(--bg-light);display:flex;flex-direction:column;box-shadow:0 8px 24px -8px rgba(0,0,0,0.12);}.header-banner{position:relative;height:90svh;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient( to bottom,color-mix(in srgb,var(--header-contact-container-bg-color),transparent 100%) 0%,color-mix(in srgb,var(--header-contact-container-bg-color),transparent 75%) 50%,color-mix(in srgb,var(--header-contact-container-bg-color),transparent 5%) 100% ) !important;clip-path:polygon(0 0,100% 0,100% calc(100% - var(--diagonal-cut)),0 100%);}.global-bg-image{position:fixed;top:0;left:0;width:100vw;height:100vh;object-fit:cover;object-position:center;z-index:-2;will-change:transform;transform:translateZ(0);-webkit-transform:translateZ(0);}.header-banner::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;}.page-title{position:relative;z-index:2;color:var(--bg-light);font-size:clamp(2rem,5vw,3rem);letter-spacing:0.005em;text-shadow:0 2px 10px var(--bg-dark);margin:0;text-align:center;}.header-contact-container{display:none;margin:0;padding:10px 3%;justify-content:center;gap:32px;font-size:13px;font-weight:200;color:var(--header-contact-container-color);background-color:var(--header-contact-container-bg-color);}.header-contact-container span{display:flex;align-items:center;gap:8px;position:relative;}.header-contact-container span + span::before{content:"";position:absolute;left:-16px;top:50%;transform:translateY(-50%);width:1px;height:12px;background-color:color-mix(in srgb,var(--header-contact-container-color),transparent 60%);}.header-contact-container .icon-svg{flex-shrink:0;}.header-top{display:flex;align-items:center;justify-content:space-between;padding:10px 5%;z-index:1000;box-shadow:0 4px 12px -4px rgba(0,0,0,0.1);}header .logo{display:flex;flex-direction:row;align-items:center;color:black;text-decoration:none;}header .logo img{height:46px;width:46px;display:flex;max-width:100%;}header .logo-text-rse{font-family:"PFDinTextUniversal-Medium";transform:scale(1,1);font-size:32px;font-weight:400;}header .logo-text-nom{display:none;font-family:PFDinTextUniversal;font-weight:400;font-size:30px;}.burger{display:flex;flex-direction:column;justify-content:space-between;width:26px;height:18px;background:none;border:none;cursor:pointer;padding:0;}.burger span{height:2px;width:100%;background:black;border-radius:2px;transition:transform 0.3s ease,opacity 0.3s ease;}.burger.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}.burger.active span:nth-child(2){opacity:0;}.burger.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}body::after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,0.4);z-index:500;opacity:0;visibility:hidden;transition:opacity 0.4s ease,visibility 0.4s;pointer-events:none;}body.menu-open::after{opacity:1;visibility:visible;pointer-events:auto;}.header-desktop{display:none;}.header-mobile{position:fixed;top:0;right:0;width:80%;max-width:320px;height:100vh;background:var(--bg-light);transform:translateX(100%);transition:transform 0.4s cubic-bezier(0.16,1,0.3,1);z-index:900;overflow-y:auto;}.header-mobile.open{transform:translateX(0);}.header-desktop a,.header-mobile a{text-decoration:none;color:var(--text-main);transition:color 0.3s ease;}.header-desktop a:hover,.header-mobile a:hover{text-decoration:none;color:var(--brand-accent);}@media screen and (min-width:1025px){.burger{display:none;} header{top:-46px;position:sticky;} .header-mobile{display:none;} .header-desktop{display:flex;flex-direction:row;align-items:center;gap:30px;} .header-top{flex-direction:row;align-items:stretch;padding:0 5%;} .header-contact-container{display:flex;padding:10px 5%;font-size:16px;font-weight:300;} header .logo-text-nom{display:flex;font-size:18px;margin-top:-15px;} header .logo-text-rse{font-size:38px;font-weight:700;} header .logo img{width:56px;height:56px;} .header-banner{height:80vh }}:root{--footer-small-text-color:var(--bg-light);--footer-title-color:var(--brand-accent);--footer-link-hover-color:var(--brand-accent);--footer-bg-color:var(--bg-dark);}footer{position:relative;width:100%;background-color:var(--footer-bg-color);z-index:10;box-sizing:border-box;}footer p{margin:0;font-size:15px;font-weight:300;color:var(--footer-small-text-color);}footer h2{font-size:1.5rem;font-weight:400;color:var(--footer-title-color);margin-bottom:20px;}footer a:link,footer a:visited{text-decoration:none;font-size:15px;font-weight:300;color:var(--footer-small-text-color);transition:color 0.3s ease;}footer a:hover{color:var(--footer-link-hover-color);text-decoration:underline;}footer a:focus-visible{outline:2px solid var(--footer-link-hover-color);outline-offset:3px;border-radius:2px;}.footer-collapse a:link,.footer-collapse a:visited{display:block;}footer .logo-link{display:none;text-decoration:none !important;}footer .logo{display:flex;flex-direction:column;align-items:center;margin:0;color:var(--footer-small-text-color);}footer .logo img{display:block;width:clamp(60px,15vw,90px);height:auto;}footer .logo-text{display:flex;flex-direction:column;align-items:center;text-align:center;}footer .logo-text-rse{font-family:"PFDinTextUniversal-Medium",var(--font-main),sans-serif;font-weight:700;font-size:clamp(30px,12vw,55px);line-height:0.85;white-space:nowrap;}footer .logo-text-nom{font-family:"PFDinTextUniversal",var(--font-main),sans-serif;font-weight:400;font-size:clamp(14px,4vw,20px);}.footer-container{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;margin:0;padding:60px 10px;gap:40px;box-sizing:border-box;}.footer-collapse{display:flex;flex-direction:column;gap:8px;padding:0 10px;align-items:flex-start;list-style-type:none;}.footer-container iframe{width:100%;max-width:300px;height:200px;border:none;border-radius:4px;}.footer-copyright{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;padding:20px;margin-top:20px;border-top:1px solid rgba(255,255,255,0.1);color:var(--footer-small-text-color);font-size:12px;font-weight:300;opacity:0.7;}@media screen and (min-width:768px){.footer-container{flex-direction:row;justify-content:space-between;align-items:flex-start;padding:60px 5%;}}@media screen and (min-width:1025px){footer .logo-link{display:flex;}}.cta-container{text-align:center;padding:40px 20px;margin:20px 0;}.cta-container p{font-size:1.2rem;color:var(--text-main);margin-bottom:25px;font-weight:600;text-align:center;}.btn-redirection{display:inline-block;padding:12px 30px;font-family:var(--font-main);font-weight:600;font-size:1rem;color:var(--brand-primary);background:transparent;border:1.5px solid var(--brand-primary);border-radius:6px;cursor:pointer;transition:background-color 0.25s ease,color 0.25s ease;text-decoration:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}.btn-redirection:hover,.btn-redirection:focus{background-color:var(--brand-primary);color:var(--bg-light);text-decoration:none;}.trust-badges{display:flex;justify-content:center;align-items:flex-start;gap:24px;margin:var(--section-gap) 0;flex-wrap:wrap;}.badge-item{display:flex;flex-direction:column;align-items:center;width:140px;text-align:center;}.badge-item img{width:100%;height:70px;object-fit:contain;margin-bottom:12px;filter:grayscale(15%);opacity:0.85;transition:filter .3s ease,opacity .3s ease;}.badge-item:hover img{filter:grayscale(0%);opacity:1;}.badge-item span{font-size:0.8rem;font-weight:600;color:var(--text-main);line-height:1.3;}.liste-avantages{list-style:none;padding:0;margin:24px 0;display:flex;flex-direction:column;gap:16px;text-align:left;}.liste-avantages li{display:flex;align-items:flex-start;gap:16px;line-height:1.5;color:var(--text-main);}.liste-avantages .icon-svg{flex-shrink:0;width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,var(--brand-primary),transparent 92%);display:flex;align-items:center;justify-content:center;padding:8px;box-sizing:border-box;color:var(--brand-primary);margin-top:2px;}.section-realisations-cta{padding:48px 5%;}.section-realisations-cta h3{font-size:1.3rem;font-weight:600;margin-bottom:20px;color:#ffffff;}.section-realisations-cta p{color:rgba(255,255,255,0.9);}.section-realisations-cta .cta-content{text-align:center;max-width:640px;margin:32px auto 0;}.section-realisations-cta .btn-redirection{color:#ffffff;border-color:#ffffff;background-color:transparent;}.section-realisations-cta .btn-redirection:hover{background-color:#ffffff;color:var(--brand-primary);}.index-image-row{display:flex;flex-direction:column;gap:20px;padding:20px 0;}.index-image-row img{width:100%;height:250px;object-fit:cover;border-radius:var(--radius);display:block;box-shadow:var(--shadow-md);}@supports (aspect-ratio:1.61){.index-image-row img{aspect-ratio:1.61;height:auto;}}.index-image-row img.desktop-only{display:none;}.intervention-map-bg{position:absolute;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;pointer-events:none;}.intervention-map-bg #intervention-map{width:100%;max-width:900px;height:auto;overflow:visible;opacity:0.07;}.dept-shape{fill:var(--brand-primary);fill-opacity:1;stroke:var(--brand-primary);stroke-width:0;}.zone-intervention{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--bg-soft) 0%,var(--bg-light) 55%);clip-path:polygon( 0 var(--diagonal-cut),100% 0,100% 100%,0 100% );padding:calc(50px + var(--diagonal-cut)) 0 60px;}.zone-intervention .main-text-container{position:relative;z-index:1;}@media screen and (min-width:768px){.badge-item{width:170px;} .badge-item img{height:90px;} .index-image-row{flex-direction:row;margin:0 auto;padding:32px 24px;max-width:1200px;} .index-image-row img{width:calc(50% - 10px);} .index-image-row img.desktop-only{display:block;}}@media (min-width:1024px){.zone-intervention{padding:calc(90px + var(--diagonal-cut)) 0 100px;} .intervention-map-bg #intervention-map{max-width:620px;}}.realisations-list{max-width:1000px;margin:0 auto;display:flex;flex-direction:column;}.project-section{margin-top:var(--section-gap);opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease;}.project-section.is-visible{opacity:1;transform:translateY(0);}.project-location{display:inline-flex;align-items:center;gap:6px;font-size:clamp(0.8rem,0.5vw + 0.7rem,0.875rem);letter-spacing:.02em;color:var(--text-muted);}.project-location .icon-svg{width:.9em;height:.9em;color:var(--brand-secondary);}.project-body{padding:0 5%;}.card-text{position:relative;padding:16px 18px;}.card-text::before,.card-text::after{content:"";position:absolute;width:18px;height:18px;pointer-events:none;}.card-text::before{top:0;left:0;border-top:1.5px solid var(--brand-accent);border-left:1.5px solid var(--brand-accent);}.card-text::after{bottom:0;right:0;border-bottom:1.5px solid var(--brand-accent);border-right:1.5px solid var(--brand-accent);}.card-text p{font-size:.96rem;line-height:1.65;margin-bottom:8px;text-align:left;color:var(--text-muted);}.card-text p:last-child{margin-bottom:0;}.plate{margin:18px 0 0;padding:14px 0;border-top:1px dashed var(--border-light);border-bottom:1px dashed var(--border-light);display:flex;flex-wrap:wrap;gap:14px 32px;}.plate-item{display:flex;flex-direction:column;gap:2px;min-width:62px;}.plate-item .val{font-weight:600;font-size:0.95rem;color:var(--brand-primary);font-variant-numeric:tabular-nums;}.plate-item .lbl{font-size:.66rem;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);}.gallery-wrap{margin-top:20px;}.gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:10px;padding-bottom:4px;scrollbar-width:none;}.gallery::-webkit-scrollbar{display:none;}.photo{position:relative;flex:0 0 100%;min-width:0;aspect-ratio:5/4;border-radius:6px;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always;background:var(--bg-soft);margin:0;}.photo img{width:100%;height:100%;object-fit:cover;cursor:zoom-in;transition:filter .4s ease;}.photo .fallback{display:none;position:absolute;inset:0;align-items:center;justify-content:center;flex-direction:column;gap:8px;background:linear-gradient(135deg,var(--bg-soft),#E4EAF1);color:var(--brand-secondary);text-align:center;padding:10px;}.photo .fallback .icon-svg{width:26px;height:26px;opacity:.55;}.photo .fallback span{font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);}figcaption{position:absolute;left:10px;bottom:10px;background:rgba(11,26,49,.75);color:var(--text-on-dark);font-size:.68rem;font-weight:500;letter-spacing:.02em;padding:4px 10px;border-radius:4px;}.dots{display:flex;gap:6px;justify-content:center;padding:12px 0 0;}.dots span{width:6px;height:6px;border-radius:50%;background:var(--border-light);transition:background .25s,transform .25s;}.dots span.active{background:var(--brand-accent);transform:scale(1.2);}.compare{display:flex;gap:10px;padding-bottom:12px;}.compare .photo{flex:1 1 0;aspect-ratio:1;}body.lightbox-lock{width:100%;overflow:hidden;}.lightbox{position:fixed;inset:0;z-index:2000;background:radial-gradient(circle at 50% 45%,rgba(8,16,28,.8) 0%,rgba(6,12,22,.96) 100%);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;transition:opacity .4s cubic-bezier(0.16,1,0.3,1),visibility .4s cubic-bezier(0.16,1,0.3,1);}.lightbox.is-open{opacity:1;visibility:visible;}.lightbox-stage{position:relative;display:flex;flex-direction:column;align-items:center;max-width:90vw;max-height:90vh;}.lightbox img{width:82vmin;height:82vmin;max-width:100%;max-height:76vh;aspect-ratio:1;object-fit:cover;border-radius:6px;box-shadow:0 40px 90px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.07),0 0 0 1px color-mix(in srgb,var(--brand-accent),transparent 65%);transform:scale(.94);opacity:0;transition:opacity .45s cubic-bezier(0.16,1,0.3,1),transform .45s cubic-bezier(0.16,1,0.3,1);}.lightbox.is-open img.is-loaded{opacity:1;transform:scale(1);}.lightbox-caption{position:relative;margin-top:20px;padding-top:14px;color:rgba(255,255,255,.85);font-size:.82rem;letter-spacing:.03em;text-align:center;min-height:1.2em;}.lightbox-caption::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:28px;height:1px;background:color-mix(in srgb,var(--brand-accent),transparent 25%);}.lightbox-counter{margin-top:6px;color:rgba(255,255,255,.4);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-variant-numeric:tabular-nums;}.lightbox-close{position:absolute;top:20px;right:24px;width:42px;height:42px;border:none;border-radius:0;background:transparent;color:rgba(255,255,255,.9);font-size:2.1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.85;transition:opacity .25s ease,transform .2s ease,color .25s ease;}.lightbox-close:active{transform:scale(.9);}.lightbox-controls{display:flex;gap:16px;margin-top:18px;}.lightbox-nav{position:static;transform:none;width:44px;height:44px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.85;transition:opacity .25s ease,transform .2s ease;}.lightbox-nav:active{transform:scale(.94);}.lightbox-nav .icon{display:inline-block;width:24px;height:24px;background-color:rgba(255,255,255,.92);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;transition:background-color .25s ease;}.icon-chevron-left{-webkit-mask-image:url('../icons/chevron-left-solid-full.svg');mask-image:url('../icons/chevron-left-solid-full.svg');}.icon-chevron-right{-webkit-mask-image:url('../icons/chevron-right-solid-full.svg');mask-image:url('../icons/chevron-right-solid-full.svg');}@media screen and (min-width:768px){.card-text{max-width:75ch;} .gallery-wrap{margin-top:24px;} .gallery{overflow:visible;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;} .photo{aspect-ratio:1;filter:saturate(94%) contrast(98%) brightness(102%);transition:filter .4s ease,transform .3s ease;} .dots{display:none;} .compare{max-width:640px;}}@media screen and (min-width:768px) and (hover:hover){.photo:hover{filter:saturate(106%) contrast(100%) brightness(100%);transform:translateY(-2px);}}@media screen and (min-width:901px){.lightbox img{width:78vmin;height:78vmin;} .lightbox-controls{display:contents;} .lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;opacity:.7;} .lightbox-nav:active{transform:translateY(-50%) scale(.92);} .lightbox-nav .icon{width:26px;height:26px;} .lightbox-prev{left:-60px;} .lightbox-next{right:-60px;}}@media screen and (min-width:901px) and (hover:hover){.lightbox-nav:hover{opacity:1;transform:translateY(-50%) scale(1.12);} .lightbox-nav:hover .icon{background-color:color-mix(in srgb,var(--brand-accent),white 20%);} .lightbox-close:hover{opacity:1;transform:scale(1.08);color:color-mix(in srgb,var(--brand-accent),white 20%);}}@media (prefers-reduced-motion:reduce){.project-section{transition:none;transform:none !important;}}.partners-logo-container{display:grid;width:100%;grid-template-columns:1fr;gap:40px 10px;height:fit-content;justify-items:center;align-items:center;margin:0 auto;padding:20px 0 60px 0;text-align:center;}.partners-logo-container > div{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%;}.partners-logo-container img{display:block;margin:0 auto;max-width:80%;max-height:100px;height:auto;object-fit:contain;filter:grayscale(20%);opacity:0.8;transition:all 0.4s ease;}.partners-logo-container img:hover{filter:grayscale(0%);opacity:1;transform:scale(1.05);}.made-in-france{display:flex;align-items:center;gap:8px;justify-content:center;padding:15px 0;color:var(--text-muted);font-size:0.9rem;font-weight:500;}.made-in-france img{width:auto;height:18px;border-radius:2px;filter:none !important;opacity:1 !important;margin:0;}@media screen and (min-width:768px){.partners-logo-container{grid-template-columns:repeat(3,1fr);gap:40px 20px;padding:40px 5% 80px 5%;} .partners-logo-container img{max-height:120px;}}@media screen and (min-width:1025px){.partners-logo-container{max-width:1100px;gap:60px;margin-inline:auto;} .partners-logo-container img{max-height:140px;}}.contact-coordinates-items{margin:50px auto;display:flex;flex-direction:column;align-items:center;gap:25px;max-width:1100px;}.contact-coordinates-items-cell{display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform 0.3s ease;text-decoration:none;color:var(--text-main);width:300px;}.contact-coordinates-items-cell .icon-wrapper{width:55px;height:55px;margin-bottom:15px;display:flex;align-items:center;justify-content:center;background-color:var(--bg-dark);border-radius:50%;transition:all 0.3s ease;}.contact-coordinates-items-cell .icon-svg{flex-shrink:0;width:1.6em;height:1.6em;}.contact-coordinates-items-cell .icon-wrapper{color:var(--text-on-dark);}.contact-coordinates-items-cell:hover .icon-wrapper{transform:translateY(-5px) scale(1.05);background-color:var(--brand-primary);box-shadow:0 8px 20px rgba(15,23,42,0.16);}.contact-coordinates-items-cell p{margin:0;font-size:1rem;line-height:1.2;}.text-stack{display:flex;flex-direction:column;gap:2px;}.text-stack strong{color:var(--brand-primary);font-size:0.85rem;text-transform:uppercase;line-height:1;}.text-stack span{color:var(--text-main);font-size:1rem;line-height:1.2;}.contact-form-section{width:100%;box-sizing:border-box;max-width:560px;margin:50px auto;padding:44px 8px 44px;position:relative;}.contact-form-section::before,.contact-form-section::after{content:"";position:absolute;width:28px;height:28px;pointer-events:none;}.contact-form-section::before{top:0;left:0;border-top:1.5px solid var(--brand-accent);border-left:1.5px solid var(--brand-accent);}.contact-form-section::after{bottom:0;right:0;border-bottom:1.5px solid var(--brand-accent);border-right:1.5px solid var(--brand-accent);}.form-group{margin-bottom:26px;text-align:left;}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:10px 2px;border:none;border-bottom:1px solid var(--border-light);background-color:transparent;color:var(--text-main);border-radius:0;font-size:16px;font-family:var(--font-main);box-sizing:border-box;appearance:none;transition:border-color 0.25s ease;}.contact-form textarea{border:1px solid var(--border-light);border-radius:4px;padding:12px;resize:vertical;}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--text-muted);letter-spacing:0.01em;}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--brand-primary);}.contact-form input:focus{border-bottom-width:2px;padding-bottom:9px;}.btn-submit{width:100%;padding:15px;margin-top:8px;background-color:var(--brand-primary);color:var(--bg-light);border:none;border-radius:4px;font-size:0.85rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;cursor:pointer;transition:background-color 0.25s ease,transform 0.2s ease;}.btn-submit:hover{background-color:var(--brand-secondary);transform:translateY(-1px);}.btn-submit:active{transform:translateY(0);}iframe{width:100%;height:550px;border:none;margin-bottom:-10px;filter:grayscale(10%);}@media (min-width:768px){.contact-form-section{max-width:620px;margin:70px auto;padding:56px 24px 52px;} .contact-coordinates-items{flex-direction:row;justify-content:space-around;align-items:flex-start;margin:60px auto;} .contact-coordinates-items-cell:hover{transform:translateY(-5px);} iframe{height:650px;}}