:root{--bg:#f4f5f4;--text:#202b35;--muted:#69737b;--gold:#3d607b;--line:#253b4e25}body{background:var(--bg);color:var(--text)}.wrap{max-width:1440px;padding-left:70px;padding-right:70px}.header{height:110px;border-bottom:1px solid var(--line)}.logo>span{font-size:21px;letter-spacing:1px;font-weight:650}.logo small{font-size:6px;letter-spacing:2px}nav{gap:7px;font-size:11px}nav>a{border:1px solid #26384850;border-radius:30px;padding:7px 13px}nav>a:hover,nav>a[aria-current=page]{background:#243c50;color:#fff}nav .nav-cta{border:0;background:#fff;color:#20272c;padding:9px 9px 9px 20px;border-radius:40px;margin-left:22px;display:flex;align-items:center;gap:16px}.nav-cta span{display:grid;place-items:center;width:32px;height:32px;background:#20272c;color:white;border-radius:50%;margin:0;font-size:19px}h1,h2{font-weight:450;letter-spacing:-1.8px}h2{font-size:45px}.eyebrow,.section-label{font-size:9px;letter-spacing:1.5px;color:#637583;font-weight:500}.section-label{display:block;margin-bottom:23px}em{color:#8597a4}.button{background:#fff;color:#26333d;padding:9px 9px 9px 22px;border-radius:40px;gap:22px;font-size:12px;border:1px solid #1d33471c}.button span{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#25313a;color:white;font-size:23px;font-weight:400}.button:hover{color:#fff;background:#2b4254}.button:hover span{background:#fff;color:#25313a}.yellow{background:#fff;color:#26333d}.text-link{border-color:#43586570}.page-home{background:linear-gradient(135deg,#dce5eb 0,#e9ecf0 45%,#f5f2ed 100%) no-repeat;background-size:100% 980px;background-color:#f7f8f6;padding-top:22px}.page-home .header{position:absolute;top:47px;left:4.4%;right:4.4%;width:auto;max-width:none;height:65px;padding:0 27px;z-index:10;border:none;color:white}.page-home nav>a{border-color:#ffffffb5;color:#fff}.page-home nav>a:hover,.page-home nav>a[aria-current=page]{background:#fff;color:#202b35}.page-home nav .nav-cta{color:#222}.immersive{position:relative;isolation:isolate;margin:0 26px;border:10px solid white;border-radius:34px;overflow:hidden;aspect-ratio:1.75;max-height:930px;min-height:650px;background:#a6c0da}.scene-back,.scene-front{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.scene-back{z-index:-3}.scene-front{z-index:0;clip-path:polygon(0 66.8%,89.4% 34.6%,92.5% 42.5%,96% 47.6%,99.5% 55%,100% 100%,0 100%);pointer-events:none}.monument{position:absolute;top:16.5%;left:3.7%;width:92.6%;text-align:center;font-size:clamp(90px,14.3vw,250px);font-weight:550;line-height:1.05;letter-spacing:-.065em;color:#ffffffdf;z-index:-1}.hero-side{position:absolute;top:19%;z-index:2;font-size:10px;line-height:1.4;color:#fff;text-shadow:0 1px 6px #29486680;width:150px}.hero-side.left{left:27px;top:15%}.hero-side.right{right:27px;text-align:right;top:15%}.hero-shade{position:absolute;inset:65% 0 0;z-index:1;background:linear-gradient(transparent,#101d2b80);pointer-events:none}.hero-title{position:absolute;bottom:38px;left:30px;color:white;z-index:2;max-width:420px}.hero-title h1{font-size:21px;font-weight:450;line-height:1.3;letter-spacing:-.4px;margin-bottom:12px}.hero-title p{font-size:10px;margin-bottom:0;color:#eee}.hero-button{position:absolute;z-index:3;bottom:39px;left:50%;transform:translateX(-50%);border-radius:40px;padding:8px 8px 8px 21px;background:white;color:#20282d;display:flex;align-items:center;gap:20px;font-size:12px;white-space:nowrap}.hero-button span{display:grid;place-items:center;width:46px;height:46px;background:#252c31;color:white;border-radius:50%;font-size:27px}.hero-button:hover{color:#203f58;background:#f0e4b7}.glass-info{position:absolute;right:26px;bottom:42px;padding:23px;z-index:2;width:240px;border:1px solid #ffffff70;border-radius:22px;color:white;background:#e7eef01c;backdrop-filter:blur(16px);box-shadow:0 8px 32px #15233112}.glass-info>span{font-size:9px;display:block}.glass-info strong{font-size:29px;display:block;line-height:1.4;font-weight:450}.glass-info small{font-size:9px;line-height:1.4;display:block;margin-top:10px}.glass-info:hover{background:#e7eef036;color:white}.image-credit{position:absolute;bottom:10px;right:26px;z-index:3;color:#fff;font-size:7px}.opening{padding-top:105px;padding-bottom:105px;display:grid;grid-template-columns:1fr 2.1fr;gap:55px}.opening>.section-label{padding-top:10px}.opening h2{font-size:42px;line-height:1.25}.opening-bottom{display:flex;align-items:center;gap:50px;justify-content:space-between}.opening p{font-size:13px;line-height:1.9;max-width:630px;color:#6d7780;margin:0}.round-link{flex-shrink:0;display:grid;place-items:center;width:60px;height:60px;border:1px solid #6c80934d;border-radius:50%;font-size:25px}.round-link:hover{background:#243e53;color:white}.material-section{padding-bottom:100px}.section-head{align-items:center}.section-head .text-link{margin-bottom:20px}.material-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px}.material-photo{display:block;position:relative;overflow:hidden;min-height:500px;border-radius:24px}.material-photo img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:72% center;transition:transform .6s}.material-photo:hover img{transform:scale(1.035)}.material-photo small{position:absolute;bottom:13px;right:20px;color:white;font-size:7px}.material-tag{position:absolute;left:22px;right:22px;bottom:38px;padding:14px 18px;border-radius:35px;background:#ffffffe6;display:flex;justify-content:space-between;color:#243747;font-size:13px;backdrop-filter:blur(10px)}.material-tag b{font-weight:400}.material-links>p{font-size:16px;color:#74818c;margin:10px 0 40px}.service-list>a{gap:25px;padding:25px 0}.service-list h3{font-size:22px}.service-list .number{color:#97a8b3}.service-list .arr{font-size:23px;color:#456175}.service-list>a:hover{background:#e4ebef70;color:#213c52}.roof-story{position:relative;margin:0 26px;min-height:570px;border-radius:26px;overflow:hidden;background:#8296a6}.roof-story>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.roof-story:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#1024349e,transparent 90%)}.roof-story-content{position:relative;z-index:1;color:white;padding:80px 60px;max-width:650px}.roof-story .section-label{color:#e2ebf2}.roof-story h2{font-size:48px;line-height:1.15}.roof-story p{font-size:14px;max-width:400px;color:#eef1f4}.roof-story .button{margin-top:25px}.roof-story>small{position:absolute;z-index:2;bottom:14px;right:25px;color:white;font-size:8px}.process{padding-top:110px;padding-bottom:105px;display:grid;grid-template-columns:1fr 1fr;gap:100px}.process>div>p{font-size:13px;color:var(--muted);max-width:420px}.process-list article{display:flex;gap:30px;padding:25px 0;border-top:1px solid var(--line)}.process-list article>span{font-size:10px;color:#8c9eac;padding-top:5px}.process-list h3{font-size:22px;margin-bottom:10px}.process-list p{font-size:12px;color:var(--muted);margin:0}.territory-feature{background:#e6edf2;border-radius:24px;padding-top:65px;padding-bottom:65px;width:calc(100% - 52px);max-width:1388px}.territory-feature h2{font-size:60px;line-height:1.1}.territory-feature>div{display:flex;align-items:center;justify-content:space-between;gap:25px}.territory-feature p{font-size:12px;margin:0}.home-faq{padding-top:95px}.cta{background:none;border-top:1px solid var(--line);margin-top:95px;padding-top:80px;padding-bottom:80px}.cta h2{font-size:50px}.cta .button{background:#263f53;color:white}.cta .button span{background:white;color:#263f53}footer{background:#e3eaf0;border-radius:30px 30px 0 0}.footer-grid a,.footer-grid p{color:#506779}.foot-top p{color:#506779}.foot-bottom{color:#6e818e}.page-hero{padding-top:65px;padding-bottom:55px}.page-hero h1{font-size:59px;font-weight:450;max-width:1100px}.page-hero h1 em{font-size:.8em;color:#869ba9}.page-hero .lead{max-width:850px;color:#607381;font-size:15px}.breadcrumb{font-size:10px}.detail-grid{gap:70px;grid-template-columns:1.4fr 1fr}.prose p{color:#637582}.prose h2{font-size:32px}.aside-box{background:#e7edf1;border:0;border-radius:25px;padding:35px}.aside-box h2{font-size:35px}.aside-box li,.contact-grid li{color:#607381}.architecture{background-image:url('/assets/architecture-v2.webp');background-size:cover;background-position:70% center;border-radius:24px}.aside-photo{min-height:360px;background-size:cover}.roof-photo{background-image:url('/assets/toiture-v2.webp');background-position:60% center}.related{padding-bottom:15px}.related-link{background:white}.territory-grid article{border:0;border-radius:24px;background:#e7edf1;padding:35px}.territory-grid p{color:#627786}.project-visual{border-radius:24px;color:white}.projects h2{margin-top:23px}.contact-grid input,.contact-grid textarea,.contact-grid select{background:white;color:#243949;border-color:#c6d2db;border-radius:12px}.contact-grid label{color:#344e62}.contact-grid aside{padding:35px;background:#e7edf1;border:0;border-radius:25px;align-self:start}.contact-grid aside p{color:#637582}.contact-grid .button{background:#253f55;color:white}.menu-toggle{color:#263c50;border-color:#687f9250}.page-home .menu-toggle{color:white;border-color:#ffffffa0}.page-expertises .service-list{margin-bottom:40px}.page-expertises .service-list>a{padding:35px 15px}.page-expertises .service-list h3{font-size:32px}.page-etancheite-toiture .detail-grid{grid-template-columns:1fr 1.1fr}.page-etancheite-toiture .aside-photo{min-height:440px}.page-habillage-aluminium .aside-photo{background-size:auto 150%;background-position:80% 72%}.page-bardage-metallique .aside-photo{background-position:40% center}.page-panneaux-sandwich .aside-photo{background-position:75% center}.skip{background:white;color:#263f53}.button:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-color:#4d799f}
@media(min-width:1600px){.immersive{margin:0 auto;max-width:1640px}.page-home .header{left:calc(50% - 765px);right:calc(50% - 765px)}.monument{font-size:230px}}
@media(max-width:1150px){.wrap{padding-left:40px;padding-right:40px}.page-home .header{left:55px;right:55px;padding:0;top:42px}.logo>span{font-size:18px}nav{gap:4px}nav>a{padding:6px 10px;font-size:10px}nav .nav-cta{margin-left:10px}.immersive{min-height:650px}.monument{top:22%;font-size:14vw}.glass-info{width:190px;padding:19px}.glass-info strong{font-size:25px}.hero-title{max-width:300px}.hero-title h1{font-size:18px}.hero-button{font-size:10px;gap:12px}.hero-button span{width:36px;height:36px}.opening{gap:35px;grid-template-columns:.8fr 2fr}.opening h2{font-size:36px}.material-layout{gap:35px}.material-photo{min-height:470px}.process{gap:50px}.territory-feature h2{font-size:50px}.page-hero h1{font-size:49px}}
@media(max-width:850px){.header{height:90px}.header nav{display:none}.menu-toggle{display:block;border-radius:30px;background:transparent;font-size:11px;padding:9px 17px}.header nav.open{display:flex;position:absolute;left:20px;right:20px;top:80px;flex-direction:column;align-items:stretch;padding:20px;background:#edf3f8f5;border:1px solid white;border-radius:22px;box-shadow:0 15px 40px #0b27353a;backdrop-filter:blur(20px)}.header nav.open>a{color:#263f53;border-color:#62788850;padding:10px 15px}.header nav.open .nav-cta{margin-left:0;justify-content:space-between;background:#fff}.page-home nav.open>a[aria-current=page]{background:#283e50;color:#fff}.header nav.open .nav-cta span{color:white}.page-home .header{left:50px;right:50px;top:38px;height:50px}.page-home .header nav.open{top:65px;left:0;right:0}.hero-side{top:17%!important}.monument{top:25%}.hero-title{bottom:120px;max-width:360px}.hero-button{left:30px;transform:none;bottom:42px}.glass-info{bottom:43px}.opening{grid-template-columns:1fr;gap:5px;padding-top:70px;padding-bottom:70px}.opening-bottom{gap:25px}.material-layout{grid-template-columns:1fr 1fr;gap:25px}.service-list h3{font-size:18px}.service-list>a{gap:12px}.material-links>p{font-size:13px}.material-photo{min-height:430px}.process{gap:35px}.process h2{font-size:35px}.detail-grid,.page-etancheite-toiture .detail-grid{gap:35px}.page-hero h1{font-size:43px}}
@media(max-width:600px){.wrap{padding-left:24px;padding-right:24px}.page-home{padding-top:10px;background-size:100% 740px}.immersive{margin:0 9px;border:6px solid white;border-radius:26px;min-height:690px;aspect-ratio:auto}.page-home .header{top:31px;left:33px;right:33px}.logo>span{font-size:17px}.logo small{font-size:5px}.scene-back,.scene-front{object-fit:cover;object-position:65% center}.scene-front{display:none}.monument{font-size:16vw;letter-spacing:-.07em;left:2%;width:96%;top:23%;line-height:1.1;z-index:0;color:#fffffff0}.hero-side{font-size:9px;top:16%!important;max-width:130px}.hero-side.left{left:18px}.hero-side.right{right:18px}.hero-shade{inset:40% 0 0;background:linear-gradient(transparent,#152a3bd4)}.hero-title{left:22px;right:22px;bottom:166px;max-width:none}.hero-title h1{font-size:24px;letter-spacing:-.7px}.hero-title p{font-size:10px;max-width:240px}.hero-button{left:22px;bottom:98px;padding-left:17px;font-size:11px;gap:22px}.hero-button span{width:38px;height:38px}.glass-info{left:22px;right:22px;bottom:28px;width:auto;padding:10px 15px;border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:15px}.glass-info>span{font-size:9px}.glass-info strong{font-size:17px;line-height:1.2}.glass-info small{display:none}.image-credit{bottom:9px;right:23px;font-size:6px}.opening{padding-top:55px;padding-bottom:60px}.opening h2{font-size:30px;line-height:1.25;letter-spacing:-1.1px}.opening h2 br{display:none}.opening p{font-size:12px}.round-link{width:43px;height:43px}.section-label{font-size:8px;margin-bottom:18px}.material-section{padding-bottom:55px}.section-head{display:flex;align-items:end;gap:15px}.section-head h2{font-size:34px;margin-bottom:18px}.section-head .text-link{font-size:9px;max-width:120px}.material-layout{grid-template-columns:1fr;gap:25px}.material-photo{min-height:350px}.material-links>p{margin:0 0 22px;font-size:14px}.service-list h3{font-size:21px}.service-list>a{padding:22px 0;gap:20px}.roof-story{margin:0 10px;min-height:510px;border-radius:22px}.roof-story>img{object-position:65% center}.roof-story:after{background:linear-gradient(90deg,#102434a8,#10243422)}.roof-story-content{padding:50px 25px}.roof-story h2{font-size:36px;letter-spacing:-1px}.roof-story p{font-size:12px;max-width:265px}.roof-story .button{font-size:11px}.process{grid-template-columns:1fr;gap:30px;padding-top:60px;padding-bottom:60px}.process h2{font-size:34px}.process-list article{gap:22px;padding:21px 0}.process-list h3{font-size:21px}.territory-feature{width:calc(100% - 20px);padding:40px 25px}.territory-feature h2{font-size:39px;letter-spacing:-1.5px}.territory-feature>div{display:block}.territory-feature p{font-size:10px;margin-bottom:25px}.territory-feature .button{font-size:10px}.home-faq{padding-top:55px}.home-faq .section-head h2{font-size:29px}.cta{margin-top:55px;padding-top:50px;padding-bottom:55px}.cta h2{font-size:33px;letter-spacing:-1.2px}.cta .eyebrow{font-size:8px}.foot-top{gap:25px}.foot-top p{font-size:10px}footer{border-radius:22px 22px 0 0}.footer-grid{gap:25px}.footer-grid a{font-size:10px}.page-hero{padding-top:38px;padding-bottom:35px}.page-hero h1{font-size:37px;letter-spacing:-1.5px}.page-hero h1 em{font-size:.8em}.page-hero .lead{font-size:13px}.detail-grid,.page-etancheite-toiture .detail-grid{grid-template-columns:1fr;gap:15px}.prose h2{font-size:28px}.prose p{font-size:13px}.aside-box{padding:28px}.related h2{font-size:31px}.territory-grid{margin-bottom:40px}.page-expertises .service-list h3{font-size:22px}.page-expertises .service-list>a{padding:27px 0}.contact-grid{gap:25px}.contact-grid aside{padding:25px}.project-visual strong{font-size:32px}.breadcrumb{font-size:9px}.button{font-size:11px}}

.page-hero h1 em{color:#6b8190} .opening h2 em{color:#6b8190}
/* Motion system: short responses, calm entrances, no scroll interception. */
:root{--ease-out:cubic-bezier(.22,1,.36,1);--ease-ui:cubic-bezier(.2,.7,.2,1)}
a,button,summary,input,select,textarea{transition:color .18s,background-color .18s,border-color .18s,box-shadow .2s,transform .25s var(--ease-ui)}
.button:hover,.hero-button:hover{box-shadow:0 8px 24px #1b32451a}.button:active,.hero-button:active,.round-link:active{scale:.97}.button span,.hero-button span,.nav-cta span{transition:transform .3s var(--ease-out),background-color .2s,color .2s}.button:hover span,.hero-button:hover span,.nav-cta:hover span{transform:rotate(45deg)}
.text-link{position:relative;border-bottom:0;background:linear-gradient(currentColor,currentColor) left bottom/100% 1px no-repeat;transition:background-size .3s,color .2s}.text-link:hover{background-size:35% 1px}.round-link:hover{transform:rotate(45deg)}.service-list>a .arr{transition:transform .35s var(--ease-out)}.service-list>a:hover .arr{transform:translate(4px,-4px)}.service-list>a:hover h3{transform:translateX(5px)}.service-list h3{transition:transform .3s var(--ease-out)}
.reveal-ready{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease-out),transform .85s var(--ease-out);transition-delay:var(--reveal-delay,0ms)}.reveal-ready.is-visible{opacity:1;transform:translateY(0)}
.page-home .monument{animation:brand-enter 1.1s var(--ease-out) both}.page-home .hero-title,.page-home .hero-button,.page-home .glass-info{animation:copy-enter .85s .2s var(--ease-out) both}.page-home .hero-button{animation-name:button-enter}.page-home .header{animation:copy-enter .7s .05s var(--ease-out) both}
@keyframes brand-enter{from{opacity:0;translate:0 20px}to{opacity:1;translate:0 0}}@keyframes copy-enter{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}@keyframes button-enter{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
.header{position:sticky;top:0;background:#f4f5f4ed;backdrop-filter:blur(18px);z-index:20}.page-home .header{background:none;backdrop-filter:none}.page-home .header.pinned{position:fixed;left:24px;right:24px;top:12px;height:66px;padding:0 25px;background:#f4f7f9f2;color:#243b4d;border:1px solid #ffffffc9;border-radius:22px;backdrop-filter:blur(18px);box-shadow:0 8px 30px #1c354518;animation:copy-enter .3s var(--ease-out) both}.page-home .header.pinned nav>a{color:#243b4d;border-color:#243b4d40}.page-home .header.pinned nav>a[aria-current=page]{background:#243b4d;color:white}.page-home .header.pinned .menu-toggle{color:#243b4d;border-color:#243b4d40}
summary{padding-right:6px}summary span{transition:transform .25s var(--ease-out)}details[open] p{animation:copy-enter .28s var(--ease-out)}summary:hover{color:#496e8b}summary:focus-visible{border-radius:4px}.contact-grid input:focus,.contact-grid textarea:focus,.contact-grid select:focus{outline:2px solid #5c829c;outline-offset:2px;border-color:#5c829c;box-shadow:0 0 0 5px #5c829c12}.contact-grid input:not(:placeholder-shown):user-invalid{border-color:#ad5b4e}.form-progress{height:3px;background:#d7e1e7;border-radius:4px;margin:0 0 25px;overflow:hidden}.form-progress>span{display:block;height:100%;width:0;background:#517a94;transition:width .3s var(--ease-out)}.form-help{font-size:11px;color:#627786;margin-top:-10px;margin-bottom:17px}.back-top{position:fixed;right:24px;bottom:22px;z-index:30;width:45px;height:45px;border:1px solid #bccbd6;background:#fffffff2;color:#254257;border-radius:50%;box-shadow:0 3px 15px #21384c14;opacity:0;visibility:hidden;translate:0 10px;transition:opacity .2s,translate .25s,visibility .2s;cursor:pointer}.back-top.shown{opacity:1;visibility:visible;translate:0 0}.back-top:hover{background:#253f53;color:white}.breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px}.header a,.menu-toggle{min-height:40px}.header nav{align-items:center}.header nav.open{animation:menu-enter .24s var(--ease-out) both}@keyframes menu-enter{from{opacity:0;translate:0 -8px}to{opacity:1;translate:0 0}}
@media(max-width:850px){.header nav.open{align-items:stretch}.header nav.open>a{min-height:44px}.page-home .header.pinned{left:12px;right:12px;top:9px;height:62px;padding:0 18px}.back-top{width:42px;height:42px;right:16px;bottom:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-ready{opacity:1;transform:none}*,*::before,*::after{animation:none!important;transition:none!important}.material-photo:hover img{transform:none}}
/* Refinement: legibility and comfortable targets across shared surfaces. */
nav{font-size:12px}.hero-side{font-size:12px}.hero-title p{font-size:12px}.glass-info>span,.glass-info small{font-size:11px}.image-credit,.material-photo small,.roof-story>small{font-size:10px}.eyebrow,.section-label{font-size:11px}.breadcrumb{font-size:12px}.opening p,.process>div>p,.process-list p,.territory-feature p{font-size:14px}.form-help,.form-note{font-size:13px}.footer-grid a{display:inline-flex;align-items:center;min-height:36px;font-size:12px}.hero-side{text-shadow:0 1px 5px #163047}.hero-shade{background:linear-gradient(transparent,#101d2bc4)}
@media(max-width:600px){.hero-side{font-size:10px}.hero-title p{font-size:12px}.section-label,.eyebrow{font-size:10px}.opening p,.process-list p,.prose p,.roof-story p{font-size:14px}.territory-feature p,.foot-top p{font-size:12px}.section-head .text-link{font-size:11px;min-height:44px;display:flex;align-items:center}.button,.hero-button{font-size:12px}.glass-info>span{font-size:11px}.image-credit{font-size:9px}.hero-title{bottom:173px}.hero-shade{inset:38% 0 0;background:linear-gradient(transparent,#152a3bee)}.breadcrumb{font-size:11px}.footer-grid a{min-height:40px}}
nav>a{font-size:12px}.reveal-ready:focus-within{opacity:1;transform:none}
.territory-feature em{color:#607889}.contact-grid label{font-size:14px}
