@charset "UTF-8";html{overflow-x:hidden}a{text-decoration:none;color:#000}*{box-sizing:border-box;margin:0;padding:0}h1{font-family:Montserrat,sans-serif;font-weight:600}h2,h3{font-family:Montserrat,sans-serif}body{font-family:Montserrat,sans-serif;font-weight:300;padding-left:1rem;padding-right:1rem}.project-item{position:relative;display:flex;flex-direction:column;overflow:hidden;background:#fff;cursor:pointer;will-change:transform;transform:translateZ(0);opacity:0;transition:opacity .3s ease}.project-item.loaded{opacity:1}.project-item .image-container{position:relative;width:100%}.project-item .image-wrapper{position:relative;width:100%;display:block;line-height:0}.project-item .project-image{display:block;width:100%;height:auto;object-fit:cover;object-position:center;background-color:transparent;z-index:0;opacity:0;transition:opacity .3s ease}.project-item .project-image.loaded{opacity:1}.project-item .overlay{position:absolute;inset:0;background:#00000059;transform:translateZ(0) scale(0);transition:transform .25s cubic-bezier(.4,0,.2,1);z-index:1}.project-item .overlay.visible{transform:translateZ(0) scale(1)}.project-item .project-body-container{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:1rem;color:#fff;text-align:center;z-index:2;transform:translateZ(0) translateY(20px);opacity:0;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .25s cubic-bezier(.4,0,.2,1);pointer-events:none;column-gap:15px}.project-item .project-body-container.visible{transform:translateZ(0) translateY(0);opacity:1}.project-item .project-body-container .project-body-container-logo{max-width:50px;max-height:50px;display:flex;align-items:center;justify-content:center}.project-item .project-body-container .project-body-container-logo svg{width:100%;height:100%;display:block}.project-item .project-body-container .project-body-container-detail{display:flex;flex-direction:column;align-items:flex-start;gap:18px}.project-item .project-body-container p{font-weight:500;margin:0;text-rendering:optimizeSpeed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.project-item:focus-within .overlay{transform:translateZ(0) scale(1)}.project-item:focus-within .project-body-container{transform:translateZ(0) translateY(0);opacity:1}@media (max-width: 768px){.project-item .project-body-container{padding:.75rem;column-gap:10px}.project-item .project-body-container .project-body-container-logo{max-width:40px;max-height:40px}.project-item .project-body-container p{font-size:.9rem}}@media (max-width: 480px){.project-item .project-body-container{padding:.5rem;column-gap:8px}.project-item .project-body-container .project-body-container-logo{max-width:35px;max-height:35px}.project-item .project-body-container .project-body-container-detail p{font-size:.85rem}}.projects-container{contain:layout style paint;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;max-width:1200px;margin:0 auto;padding:1rem;opacity:0;transition:opacity .4s ease}.projects-container.is-loaded{opacity:1}.projects-loader{display:flex;align-items:center;justify-content:center;gap:6px;height:200px}.projects-loader__dot{width:8px;height:8px;border-radius:50%;background:#999;animation:projects-bounce 1s infinite ease-in-out}.projects-loader__dot:nth-child(2){animation-delay:.15s}.projects-loader__dot:nth-child(3){animation-delay:.3s}@keyframes projects-bounce{0%,80%,to{transform:scale(.6);opacity:.6}40%{transform:scale(1);opacity:1}}@media (max-width: 1024px){.projects-container{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;padding:.75rem}}@media (max-width: 768px){.projects-container{grid-template-columns:repeat(2,1fr);gap:.5rem;padding:.5rem}}@media (max-width: 480px){.projects-container{grid-template-columns:1fr;gap:.5rem;padding:.5rem}}.splash{width:100vw;height:100vh;overflow:hidden;position:relative;isolation:isolate}.splash__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:1;transition:all .3s ease}@media (min-width: 768px) and (max-width: 1024px) and (orientation: portrait){.splash__image{object-fit:contain;background-color:#fff}}@media (orientation: landscape) and (min-width: 768px){.splash__image{object-fit:contain}}.splash__mask{position:absolute;background:#fff;opacity:1;z-index:5;pointer-events:none}.splash__mask--center{width:100%;height:100%;position:relative;pointer-events:none}.splash__mask--center:after{content:"";position:absolute;inset:0;background:#ffffff59;-webkit-backdrop-filter:grayscale(100%);backdrop-filter:grayscale(100%);opacity:0;transition:opacity .3s ease}.splash__link-center{position:absolute;inset:0;width:100%;height:100%;z-index:4;display:block;cursor:pointer}.splash__link-center:hover~.splash__text p:nth-child(1){opacity:1;transform:translate(0);transition-delay:.1s}.splash__link-center:hover~.splash__text p:nth-child(2){opacity:1;transform:translate(0);transition-delay:.3s}.splash__link-center:hover~.splash__text p:nth-child(3){opacity:1;transform:translate(0);transition-delay:.5s}.splash__text{position:absolute;left:31.9%;top:82.6%;transform:translateY(-50%);z-index:6}@media (min-width: 1440px){.splash__text{left:31.9%;top:82.6%}}@media (min-width: 768px) and (max-width: 1024px) and (orientation: portrait){.splash__text{left:33%;top:62.6%}}@media (min-width: 1024px) and (max-width: 1366px) and (orientation: portrait){.splash__text{left:33%;top:62%}}@media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape){.splash__text{left:31%;top:83%}}@media (min-width: 820px) and (max-width: 1180px) and (orientation: landscape){.splash__text{left:30%;top:82%}}@media (min-width: 834px) and (max-width: 1194px) and (orientation: landscape){.splash__text{left:31%;top:83%}}@media (min-width: 912px) and (max-width: 1368px) and (orientation: landscape){.splash__text{left:31.5%;top:80.5%}}@media (max-width: 768px) and (orientation: portrait){.splash__text{left:31%;top:63.9%}}@media (min-width: 637px) and (max-width: 768px) and (orientation: portrait){.splash__text{left:31.8%;top:64.5%}}@media (min-width: 583px) and (max-width: 637px) and (orientation: portrait){.splash__text{left:31.8%;top:62.5%}}@media (max-width: 582px) and (orientation: portrait){.splash__text{left:31%;top:61%}}@media (max-width: 480px) and (orientation: portrait){.splash__text{left:30.5%;top:59%}}@media (max-width: 380px) and (orientation: portrait){.splash__text{left:31.7%;top:59.4%}}@media (max-width: 926px) and (orientation: landscape) and (max-height: 500px){.splash__text{left:35%;top:90%}}@media (max-width: 768px) and (orientation: landscape) and (max-height: 450px){.splash__text{left:28%;top:85%}}@media (max-width: 640px) and (orientation: landscape) and (max-height: 400px){.splash__text{left:26%;top:82%}}.splash__text p{opacity:0;transform:translate(-20px);transition:opacity .4s ease,transform .4s ease;font-size:clamp(8px,2vw + .5px,35px);color:#fff;line-height:1.3;margin:0;padding:0;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;box-sizing:border-box}@media (min-width: 768px) and (max-width: 1024px){.splash__text p{font-size:clamp(12px,1.8vw + 1px,28px)}}@media (orientation: landscape) and (max-height: 600px){.splash__text p{font-size:clamp(13px,2vh + 1px,22px)}}.splash__text p:nth-child(1){margin-left:0;animation-delay:.2s}.splash__text p:nth-child(2){margin-left:8vw;animation-delay:.6s}@media (min-width: 768px) and (max-width: 1024px) and (orientation: portrait){.splash__text p:nth-child(2){margin-left:6vw}}@media (orientation: landscape){.splash__text p:nth-child(2){margin-left:5vw}}.splash__text p:nth-child(3){margin-left:16vw;animation-delay:1s}@media (min-width: 768px) and (max-width: 1024px) and (orientation: portrait){.splash__text p:nth-child(3){margin-left:12vw}}@media (orientation: landscape){.splash__text p:nth-child(3){margin-left:10vw}}.splash__text.is-active p{opacity:1;transform:translate(0)}.splash__text.is-active p:nth-child(1){transition-delay:.1s}.splash__text.is-active p:nth-child(2){transition-delay:.3s}.splash__text.is-active p:nth-child(3){transition-delay:.5s}.contact-form{max-width:1200px;margin:2rem auto;padding:2rem;background:#fefefe;border-radius:8px;box-shadow:0 4px 12px #0000001a}.contact-form h1{font-weight:500;font-size:22px}.contact-form h2{text-align:center;margin-bottom:1.5rem;font-weight:500;font-size:20px}.contact-form .row{display:flex;gap:1rem;margin-bottom:1rem}.contact-form .row label{flex:1}.contact-form label{display:block;font-weight:500;font-size:.95rem}.contact-form label input,.contact-form label select,.contact-form label textarea{width:100%;padding:.6rem .8rem;margin-top:.3rem;border:1px solid #ccc;border-radius:4px;font-size:.95rem;font-family:inherit;transition:border-color .2s}.contact-form label input:focus,.contact-form label select:focus,.contact-form label textarea:focus{border-color:#000;outline:none}.contact-form label textarea{resize:vertical}.contact-form button{display:block;width:100%;padding:.8rem;background:#000;color:#fff;font-weight:600;border:none;border-radius:4px;cursor:pointer;margin-top:1rem;transition:background .2s}.contact-form button:hover{background:#333}@media (max-width: 768px){.row{flex-direction:column}}@media (max-width: 480px){.contact-form{padding:1rem}}.contact-page{margin:0 auto;max-width:1200px;padding-left:1rem;padding-right:1rem}.contact-page .contact-header{max-width:800px;margin-bottom:2rem;text-align:left}.contact-page .contact-header .contact-title{font-size:24px;font-weight:600;margin-bottom:.75rem;color:#000}.contact-page .contact-header .contact-subtitle{font-size:1rem;line-height:1.6;color:#000;margin:0}.navigation{display:flex;height:100px;max-width:1200px;justify-content:space-between;margin:0 auto;align-items:center}.navigation .logo-container{height:auto;width:300px;padding:5px}.navigation .logo-container .logo{width:100%;height:100%}.navigation .nav-links-container{width:100%;height:100%;display:flex;align-items:center;justify-content:flex-end}.navigation .nav-links-container .nav-link{padding:10px 15px;cursor:pointer;font-size:20px;color:#999;text-decoration:none;transition:color .3s ease}.navigation .nav-links-container .nav-link:hover,.navigation .nav-links-container .nav-link.active{color:#000;font-weight:400}.navigation .hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer}.navigation .hamburger span{width:25px;height:3px;background-color:#000;transition:all .3s ease}.navigation .hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.navigation .hamburger.active span:nth-child(2){opacity:0}.navigation .hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}@media (max-width: 768px){.navigation .hamburger{display:flex}.navigation .logo-container{width:220px;padding:3px}.navigation .nav-links-container{position:fixed;top:90px;right:0;display:flex;flex-direction:column;width:200px;padding:1rem;background-color:#fff;box-shadow:0 4px 6px #0000001a;z-index:1000;transform:translate(100%);opacity:0;visibility:hidden;pointer-events:none;transition:transform .3s ease-in-out,opacity .2s ease;will-change:transform,opacity}.navigation .nav-links-container.open{transform:translate(0);opacity:1;visibility:visible;pointer-events:auto;height:110px}}@media (max-width: 480px){.navigation .logo-container{width:180px;padding:2px}.navigation .hamburger{margin-left:10px}}.projet-detail_info{display:flex;padding:30px 0;line-height:3;flex-wrap:wrap;column-gap:50px;justify-content:center;border-block:1px solid black;margin-block:40px}.projet-detail_info .projet-detail_info-item{display:flex;column-gap:15px}.projet-detail_info .projet-detail_info-item dt{font-weight:600}.projet-detail_photos{display:flex;flex-direction:column;gap:30px;width:100%;max-width:100%;overflow:hidden;position:relative;box-sizing:border-box}@media (max-width: 768px){.projet-detail_photos{gap:20px;overflow-x:hidden}}.projet-detail_photos img{width:100%;max-width:100%;height:auto;object-fit:cover;display:block;transform:translateZ(0)}.projet-detail_photos .project-detail_duo{display:flex;gap:30px;width:100%;box-sizing:border-box;overflow:hidden}@media (max-width: 768px){.projet-detail_photos .project-detail_duo{flex-direction:column;gap:20px}}.projet-detail_photos .project-detail_duo img{width:50%;height:auto;object-fit:cover}@media (max-width: 768px){.projet-detail_photos .project-detail_duo img{width:100%}}.project-detail_header{display:flex;gap:20px;justify-content:space-between;align-items:center;padding-block:35px;width:100%;max-width:1400px;margin:0 auto}.project-detail_header .project-detail_header-info{display:flex;column-gap:20px;align-items:baseline;flex-shrink:0}.project-detail_header .project-detail_header-info .project-detail_nom{font-size:20px;font-weight:600;white-space:nowrap}.project-detail_header .project-detail_header-info .project-detail_ville{color:gray;font-size:20px;font-weight:400;white-space:nowrap}.project-detail_header .project-detail_header-description{display:flex;align-items:baseline;flex:1;justify-content:flex-end}.project-detail_header .project-detail_header-description .project-detail_description{font-size:20px;font-weight:400;text-align:right}@media screen and (max-width: 1024px){.project-detail_header-info .project-detail_nom,.project-detail_header-info .project-detail_ville,.project-detail_header-description .project-detail_description{font-size:18px}}@media screen and (max-width: 768px){.project-detail_header{flex-direction:column;align-items:flex-start;gap:15px;padding-block:25px}.project-detail_header .project-detail_header-info{flex-direction:column;align-items:flex-start;gap:4px}.project-detail_header .project-detail_header-info .project-detail_nom{font-size:1.4rem;white-space:normal}.project-detail_header .project-detail_header-info .project-detail_ville{font-size:.95rem}.project-detail_header .project-detail_header-description{width:100%;justify-content:flex-start}.project-detail_header .project-detail_header-description .project-detail_description{font-size:.95rem;font-style:italic;text-align:left}}@media screen and (max-width: 480px){.project-detail_header{padding-block:20px;gap:12px}.project-detail_header .project-detail_header-info .project-detail_nom{font-size:1.2rem}.project-detail_header .project-detail_header-info .project-detail_ville,.project-detail_header .project-detail_header-description .project-detail_description{font-size:.9rem}}.project-detail_hero{width:100%;height:auto;overflow:hidden;display:flex;align-items:center;justify-content:center}.project-detail_hero .project-detail_image{width:100%;height:auto;object-fit:cover;object-position:center}@media (max-width: 1024px){.project-detail_hero{height:auto}}@media (max-width: 768px){.project-detail_hero{height:auto}}@media (max-width: 480px){.project-detail_hero{height:auto}}.internal-links{margin-bottom:3rem;padding:0 1rem}.internal-links h2{margin-bottom:1rem;font-weight:600;font-size:20px}.internal-links__list{display:flex;flex-wrap:wrap;gap:1.5rem;max-width:1200px;margin:0 auto;justify-content:flex-start}.internal-project-item{position:relative;display:flex;flex-direction:column;border:1px solid #ddd;overflow:hidden;background:#fff;cursor:pointer;will-change:transform;transform:translateZ(0);flex:1 1 280px;max-width:360px;width:100%}.internal-project-item .image-container{position:relative;width:100%;height:200px;overflow:hidden}.internal-project-item .project-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}.internal-project-item .overlay{position:absolute;inset:0;background:#00000059;transform:translateZ(0) scale(0);transition:transform .25s cubic-bezier(.4,0,.2,1);z-index:1}.internal-project-item .overlay.visible{transform:translateZ(0) scale(1)}.internal-project-item .project-body-container{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:1rem;color:#fff;text-align:center;z-index:2;transform:translateZ(0) translateY(20px);opacity:0;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .25s cubic-bezier(.4,0,.2,1);pointer-events:none;column-gap:15px}.internal-project-item .project-body-container.visible{transform:translateZ(0) translateY(0);opacity:1}.internal-project-item .project-body-container .project-body-container-logo{max-width:50px;max-height:50px;display:flex;align-items:center;justify-content:center}.internal-project-item .project-body-container .project-body-container-logo svg{width:100%;height:100%;display:block}.internal-project-item .project-body-container .project-body-container-detail{display:flex;flex-direction:column;align-items:flex-start}.internal-project-item .project-body-container p{font-weight:500;margin:0;text-rendering:optimizeSpeed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.internal-project-item:focus-within .overlay{transform:translateZ(0) scale(1)}.internal-project-item:focus-within .project-body-container{transform:translateZ(0) translateY(0);opacity:1}@media (max-width: 1024px){.internal-links__list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.internal-links h2{font-size:1.8rem}}@media (max-width: 768px){.internal-links{margin:3rem 0;padding:0 .75rem}.internal-links__list{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.internal-links h2{font-size:1.6rem;margin-bottom:1.5rem}.internal-project-item .image-container{height:150px}}@media (max-width: 480px){.internal-links{margin:2rem 0;padding:0 .5rem}.internal-links__list{grid-template-columns:1fr;gap:1rem}.internal-links h2{font-size:1.4rem;margin-bottom:1rem}.internal-project-item .image-container{height:160px}}.project-footer{cursor:pointer;padding:20px 0}.project-footer .project-footer-link{display:inline-flex;align-items:center;gap:2px;text-decoration:none;font-weight:500;color:inherit}.project-footer .footer-icon{flex-shrink:0;top:1px;margin-bottom:1px}.project-detail_wrapper{display:block;max-width:1200px;height:100%;margin:0 auto;padding:30px 20px}.project-detail_wrapper .project-detail_body p{white-space:pre-line;padding-bottom:30px;text-align:justify}.about-content{width:100%}.about-content .about-section{display:grid;gap:30px;padding-bottom:50px}.about-content .about-section img{width:100%;height:auto;object-fit:cover}@media (max-width: 768px){.about-content .about-section{grid-template-columns:1fr!important;gap:20px;padding-bottom:30px}}.about-content .about-intro{grid-template-columns:13% 1fr}.about-content .about-intro .about-intro-image{max-width:100%}@media (max-width: 1024px){.about-content .about-intro{grid-template-columns:20% 1fr}}@media (max-width: 768px){.about-content .about-intro .about-intro-image{max-width:200px;margin:0 auto}}.about-content .about-concept{grid-template-columns:1fr 26%}.about-content .about-concept .about-concept-image{max-width:100%}@media (max-width: 1024px){.about-content .about-concept{grid-template-columns:1fr 30%}}@media (max-width: 768px){.about-content .about-concept .about-concept-text{order:1}.about-content .about-concept .about-concept-image{order:2}}.about-content .about-construction{grid-template-columns:25% 1fr}.about-content .about-construction .about-construction-text{display:flex;flex-direction:column;justify-content:space-between;height:100%}.about-content .about-construction .about-construction-text .bottom-text{margin-top:auto}@media (max-width: 1024px){.about-content .about-construction .about-construction-text .bottom-text{margin-top:20px}}.about-content .about-construction .about-construction-image{max-width:100%}@media (max-width: 768px){.about-content .about-construction{grid-template-columns:37% 1fr}}.about-content h2{padding-block:40px;font-weight:600}.about-content h2:first-of-type{padding-top:0}@media (max-width: 768px){.about-content h2{padding-block:25px;font-size:1.5rem}}.about-content p{white-space:pre-line;text-align:justify;font-size:18px}.about-content p b{font-weight:600}@media (max-width: 768px){.about-content p{font-size:16px;text-align:left;line-height:1.6}}@media (max-width: 768px){.about-content{padding:0 15px}}@media (max-width: 480px){.about-content{padding:0 10px}}.container .partners{display:flex;flex-direction:row;flex-wrap:wrap;padding-top:15px}.container .partners img{max-width:194px;height:auto;object-fit:contain;flex-shrink:1;min-width:0}.container .divider{margin-top:40px;border-top:1px solid #606060;width:100%}@media screen and (max-width: 768px){.container .partners{justify-content:center;gap:10px}}.about-container{margin:0 auto;max-width:1200px;padding-left:1rem;padding-right:1rem}
