*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:#191b1d;background:#eceff1;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;isolation:isolate}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #497f97;outline-offset:5px}a,button,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}[hidden]{display:none!important}.skip{position:absolute;top:-100px;left:20px;background:#fff;padding:16px;z-index:20}.skip:focus{top:16px}
.photo-backdrop{position:fixed;inset:0;z-index:-1;height:100lvh;background:#e6eaeb;overflow:hidden;pointer-events:none}.background-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center;opacity:0;transform:scale(1.05);will-change:transform,opacity}.background-photo.active{opacity:1}header{min-height:100px;padding:10px 5.5%;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid #e5e5e5;position:relative;z-index:2}.brand{position:relative;width:170px;height:80px;overflow:hidden;flex-shrink:0}.brand img{position:absolute;width:340px;height:227px;max-width:none;left:-101px;top:-50px;mix-blend-mode:multiply}nav{display:flex;gap:23px;flex-wrap:wrap}nav a{font-size:14px;padding:12px 0;color:#45484b}nav a:hover{text-decoration:underline;text-underline-offset:7px}.header-call{font-size:16px;white-space:nowrap;padding:12px 0;border-bottom:1px solid #bbb}.header-call span{margin-left:14px}
.experience{position:relative}.experience-stage{position:relative;min-height:820px;min-height:max(780px,90svh);background:linear-gradient(90deg,#fff 0%,#fffffffa 27%,#ffffffe6 38%,#ffffff69 52%,#ffffff00 67%);overflow:hidden}.experience-content{padding:62px 5.5% 155px;max-width:720px}.eyebrow{font-size:13px;letter-spacing:1.5px;line-height:1.7;font-weight:600;margin:0 0 28px;color:#646a70}h1{font-size:clamp(68px,6.8vw,106px);line-height:.99;letter-spacing:-5px;font-weight:500;margin:0 0 26px}h1 span{color:#66757b}.experience-intro{font-size:18px;line-height:1.7;margin:0 0 31px;color:#494f53}.scene-chapters{min-height:116px;max-width:380px;margin-bottom:26px}.scene-chapter .chapter-number{font-size:12px;letter-spacing:1.6px;margin:0 0 12px;color:#677078}.scene-chapter h2{font-size:27px;letter-spacing:-.8px}.scene-chapter>p:last-child{font-size:16px;line-height:1.6;color:#555c60;margin:12px 0 0}.actions{display:flex;align-items:flex-start;flex-direction:column;gap:20px}.button{display:inline-flex;gap:25px;align-items:center;justify-content:space-between;min-height:54px;font-size:14px;font-weight:600;padding:18px 23px;transition:background .2s}.button span{font-size:20px}.light{background:#fff;color:#17191b}.experience .light,.dark{background:#17191b;color:#fff}.light:hover{background:#e9ebed}.experience .light:hover,.dark:hover{background:#374046}.text-link{font-size:14px;text-decoration:underline;text-underline-offset:5px;color:#3c454a}.scene-bottom{position:absolute;bottom:30px;left:5.5%;right:5.5%;display:flex;justify-content:space-between;align-items:center;gap:25px}.scene-steps{display:flex;gap:24px;background:#ffffffed;padding:8px 18px;border:1px solid #ffffff80;backdrop-filter:blur(8px)}.scene-steps button{background:none;border:0;padding:13px 0;color:#737b80;font-size:14px}.scene-steps span{margin-left:7px}.scene-steps button[aria-pressed=true]{color:#14191c}.scene-steps button[aria-pressed=true] span{padding-bottom:7px;border-bottom:2px solid #242d32}.scene-options a{font-size:14px;background:#ffffffed;padding:15px 19px;display:block}.scene-caption,.photo-credit{position:absolute;bottom:110px;right:5.5%;font-size:11px;letter-spacing:1px;color:#343d43;background:#ffffffe8;padding:9px 11px;margin:0}.scene-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:#ffffff70}.scene-progress span{display:block;width:100%;height:100%;background:#687c87;transform:scaleX(var(--photo-progress,0));transform-origin:left}#motion-toggle{position:fixed;bottom:20px;right:20px;z-index:10;background:#fffffff5;border:1px solid #d5d9dc;box-shadow:0 3px 15px #0001;padding:11px 15px;font-size:13px;color:#333;border-radius:3px}
.service-strip{display:flex;justify-content:space-between;background:#fff;padding:27px 12%;border-bottom:1px solid #e1e4e6;font-size:18px}.service-strip i{font-style:normal;color:#b4b9bc}.section{padding:86px 5.5%;background:#fff;position:relative}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;margin-bottom:48px}.section-heading .eyebrow{width:32%;padding-top:7px}.section-heading h2{width:66%}h2{font-size:clamp(35px,3.5vw,53px);line-height:1.12;letter-spacing:-2px;font-weight:500;margin:0}h3{font-size:27px;line-height:1.2;letter-spacing:-.8px;font-weight:500;margin:0 0 18px}.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.services article{border-top:1px solid #333;padding:23px 0 0}.service-top{display:flex;justify-content:space-between;font-size:13px;color:#81888d;margin-bottom:28px}.service-top span:last-child{font-size:24px;color:#333}.services p,.services li{font-size:16px;line-height:1.75;color:#5a6267}.services p{min-height:112px}.services ul{list-style:none;padding:17px 0 0;margin:0;border-top:1px solid #e3e6e8}.services li{font-size:14px;padding:5px 0}
.photo-chapter{height:72svh;min-height:460px;max-height:820px;position:relative;display:flex;align-items:flex-end;padding:55px 5.5%;background:linear-gradient(90deg,#ffffff35,#ffffff00 60%);overflow:hidden}.photo-chapter-copy{background:#fffffff2;max-width:520px;padding:35px 38px;box-shadow:0 10px 50px #1621270b}.photo-chapter-copy .eyebrow{font-size:12px;margin-bottom:18px}.photo-chapter h2{font-size:clamp(32px,3.3vw,48px)}.photo-chapter p:not(.eyebrow){font-size:16px;line-height:1.7;color:#5b6266;max-width:330px;margin:21px 0}.photo-link{font-size:14px;display:flex;gap:25px;align-items:center;border-top:1px solid #d7dde0;padding-top:19px}.photo-link span{margin-left:auto}.photo-credit{bottom:28px;right:5.5%}
.artisan{display:grid;grid-template-columns:.7fr 1.5fr 1fr;gap:40px;background:#f4f6f7}.artisan>div>p{font-size:16px;line-height:1.8;color:#596166;max-width:510px}.artisan .artisan-intro{font-size:19px;color:#191b1d;margin-top:28px}.signature{border-top:1px solid #ccd2d5;margin-top:32px;padding-top:23px;font-size:21px}.signature span{display:block;margin-top:10px;font-size:12px;letter-spacing:1px;color:#687077}.artisan aside{border-left:1px solid #d1d7da;padding-left:35px}.area-number{display:block;font-size:100px;line-height:1;letter-spacing:-7px;color:#bcc5ca;margin-bottom:26px}.artisan aside h3{font-size:23px}.artisan aside p{font-size:15px;line-height:1.8;color:#5d686e}.artisan aside .area-note{font-size:14px;margin-top:35px}.guarantee-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:55px}.insurance-card{padding:37px;background:#222a30;color:#fff}.insurance-label{display:block;color:#c5cdd2;font-size:13px;letter-spacing:1px;margin-bottom:28px}.insurance-card h3{font-size:31px;line-height:1.2}.insurance-card p{font-size:16px;line-height:1.8;color:#d4d9dc}.insurance-card .button{margin-top:14px}.reassurance article{display:flex;gap:23px;border-top:1px solid #d8dfe3;padding:23px 0}.reassurance article>span{font-size:14px;color:#838c92}.reassurance h3{font-size:23px;letter-spacing:-.5px;margin-bottom:12px}.reassurance p{font-size:16px;line-height:1.75;color:#5b6368}.source-link{font-size:14px;line-height:1.8;text-decoration:underline;text-underline-offset:4px}
.maintenance{background:#f4f6f7}.section-intro{font-size:16px;line-height:1.75;color:#606a70;max-width:780px;margin:-17px 0 44px}.tips-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.tips-grid article{padding:27px;background:#fff;border-top:2px solid #bec8ce}.tip-label{font-size:12px;font-weight:600;letter-spacing:1px;color:#737d84;margin:0 0 24px}.tips-grid h3{font-size:25px}.tips-grid ul{padding-left:18px}.tips-grid li{font-size:16px;line-height:1.75;color:#586268;margin-bottom:12px}.tip-note{font-size:14px;line-height:1.75;color:#69747b;border-top:1px solid #e0e5e8;padding-top:17px}.emergency-note{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-top:35px;border:1px solid #c7d1d7;padding:30px;background:#e9eef1}.emergency-note>div{max-width:790px}.emergency-note .eyebrow{font-size:12px;margin-bottom:12px}.emergency-note h3{font-size:26px}.emergency-note p:last-child{font-size:16px;line-height:1.75;color:#59656d;margin-bottom:0}.emergency-note .button{flex-shrink:0}.faq-layout{display:grid;grid-template-columns:1fr 2fr;gap:60px}.faq-layout aside h3{font-size:25px}.faq-layout p{font-size:16px;line-height:1.75;color:#5b666d}.faq-list details{border-top:1px solid #d8e0e4}.faq-list details:last-child{border-bottom:1px solid #d8e0e4}.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;list-style:none;cursor:pointer;font-size:18px;line-height:1.5;padding:23px 0}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';font-size:24px;flex-shrink:0;font-weight:400}.faq-list details[open] summary::after{content:'−'}.faq-list details[open] summary{padding-bottom:8px}.faq-list details p{margin:10px 0 23px}.faq-list details>a{display:inline-block;font-size:14px;line-height:1.7;text-decoration:underline;text-underline-offset:4px;margin-bottom:24px}.faq-list summary:hover{color:#526c7a}
.contact{margin:0;padding:80px 5.5%;background:linear-gradient(90deg,#fffffff7,#fffffff2 53%,#ffffffa8);border-top:1px solid #dce3e7}.contact-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:50px}.contact h2{font-size:clamp(42px,4.8vw,70px);letter-spacing:-3px}.contact h2 span{color:#667a85}.contact-layout>div>p{font-size:16px;line-height:1.7;color:#5b676e;margin:27px 0 0}.contact-details{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding-top:20px}.phone{font-size:clamp(25px,3.1vw,46px);letter-spacing:-1.5px;display:flex;justify-content:space-between;gap:10px;width:100%;padding-bottom:20px;border-bottom:1px solid #9caeb8}.contact-layout .contact-details>p{font-size:12px;letter-spacing:.6px;margin:17px 0 35px}.email{font-size:18px;overflow-wrap:anywhere;border-bottom:1px solid #aeb9c0;padding-bottom:5px}.contact-details .button{margin-top:30px;background:#20282d;color:#fff}.contact-details .button:hover{background:#3e505b}footer{background:#fff;padding:38px 5.5% 65px}.footer-line{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.footer-line strong{font-size:22px;letter-spacing:-.8px}.footer-line span,.footer-line a{font-size:14px;color:#687278}footer details{border-top:1px solid #dce2e6;padding-top:22px}footer summary{font-size:14px;cursor:pointer;width:fit-content}.business-info{font-size:14px;line-height:1.8;color:#647078;max-width:850px}.business-info a{text-decoration:underline}.copyright{font-size:12px;color:#7c858b;margin-top:30px}.mobile-call{display:none}
@media(min-width:1800px){.experience-content{padding-top:85px;max-width:850px}.experience-stage{min-height:940px}.section{padding-left:max(5.5%,calc((100vw - 1550px)/2));padding-right:max(5.5%,calc((100vw - 1550px)/2))}}
@media(max-width:1100px){nav{gap:15px}header{gap:20px}.services{gap:25px}.services p{min-height:145px}.tips-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.artisan{grid-template-columns:1.5fr 1fr}.artisan>.eyebrow{grid-column:1/-1;margin-bottom:0}.guarantee-layout{gap:30px}.emergency-note{flex-direction:column;align-items:flex-start}.scene-bottom{gap:15px}.scene-steps{gap:15px}}
@media(max-width:850px){header{flex-wrap:wrap}nav{order:3;width:100%;justify-content:center}.experience-stage{background:linear-gradient(90deg,#fffffff7 0%,#ffffffdf 37%,#ffffff65 66%,#ffffff00)}.experience-content{max-width:650px}.guarantee-layout{grid-template-columns:1fr}.faq-layout{grid-template-columns:1fr;gap:30px}.faq-layout aside{border-left:2px solid #859ba7;padding-left:20px}.faq-layout aside p{margin:10px 0}.scene-options a{font-size:12px}.scene-steps{gap:15px;padding:7px 12px}.scene-steps button{font-size:13px}.contact-layout{gap:30px}.email{font-size:16px}}
@media(max-width:680px){header{padding:8px 6% 10px;min-height:90px;gap:8px 20px}.brand{width:122px;height:68px}.brand img{width:270px;height:180px;left:-80px;top:-40px}.header-call{font-size:14px}.header-call span{margin-left:8px}nav{justify-content:flex-start;gap:0 20px;border-top:1px solid #eee;padding-top:4px}nav a{font-size:14px;padding:8px 0}.background-photo{object-position:67% center}.experience-stage{min-height:995px;background:linear-gradient(180deg,#fff 0%,#fffffffa 41%,#ffffff85 56%,#ffffff00 66%,#ffffff00 87%,#ffffffca 100%)}.experience-content{padding:35px 6% 380px;max-width:none}.experience-content .eyebrow{font-size:11px;letter-spacing:1px;max-width:300px;margin-bottom:23px}h1{font-size:clamp(61px,15vw,87px);letter-spacing:-3px;line-height:1;margin-bottom:22px}.experience-intro{font-size:16px;line-height:1.65;margin-bottom:25px}.scene-chapters{min-height:118px;margin-bottom:24px}.scene-chapter h2{font-size:25px}.scene-chapter>p:last-child{font-size:15px}.experience .button{padding:16px 20px}.experience .actions{gap:18px}.scene-bottom{bottom:18px;left:6%;right:6%;display:block}.scene-steps{width:100%;justify-content:space-between;gap:6px;padding:8px 10px}.scene-steps button{font-size:12px}.scene-steps span{margin-left:4px}.scene-options a{width:fit-content;margin-top:10px;padding:10px 12px}.scene-caption{bottom:130px;right:6%;font-size:10px}.service-strip{padding:23px 6%;font-size:14px}.section{padding:58px 6%}.section-heading{display:block;margin-bottom:34px}.section-heading .eyebrow,.section-heading h2{width:auto}.section-heading .eyebrow{padding:0;margin-bottom:24px}h2{font-size:35px;letter-spacing:-1.5px}h3{font-size:26px}.services{grid-template-columns:1fr;gap:32px}.services p{min-height:0}.service-top{margin-bottom:16px}.services ul{padding-top:14px}.photo-chapter{height:80svh;min-height:510px;padding:30px 6% 64px;align-items:flex-end;background:transparent}.photo-chapter-copy{padding:25px;max-width:100%;background:#fffffff5}.photo-chapter h2{font-size:33px}.photo-chapter-copy .eyebrow{font-size:11px}.photo-chapter p:not(.eyebrow){font-size:15px;margin:16px 0}.photo-credit{bottom:23px;right:6%;font-size:10px}.artisan{display:block}.artisan>div{margin-top:25px}.artisan aside{border-left:0;border-top:1px solid #d1d7da;padding:26px 0 0;margin-top:35px}.area-number{font-size:77px;letter-spacing:-4px}.artisan aside .area-note{margin-top:20px}.insurance-card{padding:28px 23px}.insurance-card h3{font-size:28px}.reassurance article{gap:17px}.reassurance h3{font-size:22px}.section-intro{margin:-8px 0 30px}.tips-grid{grid-template-columns:1fr;gap:20px}.tips-grid article{padding:24px}.emergency-note{padding:25px}.faq-list summary{font-size:17px}.contact-layout{grid-template-columns:1fr;gap:24px}.contact h2{font-size:46px;letter-spacing:-2px}.phone{font-size:33px;letter-spacing:-1px}.contact-details{padding-top:8px}.email{font-size:17px}.footer-line{flex-wrap:wrap}.footer-line span{width:100%;order:3}.footer-line a{font-size:12px}footer{padding:35px 6% 135px}.mobile-call{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:12px;z-index:12;background:#fff;color:#161a1d;padding:19px 6% max(19px,env(safe-area-inset-bottom));font-size:13px;font-weight:600;box-shadow:0 -1px 8px #0002}#motion-toggle{bottom:79px;right:12px;padding:10px 12px;font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.background-photo{will-change:auto}}
/* LM Thermic — dark architectural construction */
:root{color-scheme:dark}body{background:#08090a;color:#f2f2f2}.construction-backdrop{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 76% 42%,#292d33 0%,#111316 36%,#08090a 76%);overflow:hidden}.construction-backdrop canvas{display:block;width:100%;height:100%;opacity:0}.scene-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.22);opacity:.6}.webgl-ready canvas{opacity:1}.webgl-ready .scene-fallback{display:none}header{background:#08090aeb;border-color:#ffffff20;backdrop-filter:blur(20px)}.brand{width:180px;height:105px;overflow:visible}.brand img{position:static;width:100%;height:100%;object-fit:contain;filter:invert(1);mix-blend-mode:screen}nav a{color:#bbb}.header-call{border-color:#ffffff50;color:#eee}.experience-stage{min-height:calc(100svh - 125px);background:linear-gradient(90deg,#08090af5 0%,#08090ade 29%,#08090a40 54%,transparent 75%);overflow:visible}.experience-content{padding-top:65px;padding-bottom:140px;width:56%;max-width:780px}h1{font-size:clamp(64px,7.1vw,108px);font-weight:500;color:#fff;letter-spacing:-5px}h1 span{color:#95999d}.eyebrow{color:#999;letter-spacing:2px;font-size:12px}.experience-intro{color:#c0c1c3;font-size:18px}.construction-intro{margin:30px 0 32px;border-left:1px solid #7e8286;padding:2px 0 2px 20px}.construction-intro p{font-size:12px;letter-spacing:1.2px;color:#969ba0;margin:0 0 10px}.construction-intro span{font-size:20px;color:#e6e6e6}.experience .light,.light,.dark,.contact-details .button{color:#0b0b0b;background:#e7e8e9}.experience .light:hover,.light:hover,.dark:hover,.contact-details .button:hover{background:#fff}.text-link{color:#bbb}.scene-bottom{bottom:30px}.scroll-invite{display:flex;gap:24px;align-items:center;font-size:13px;line-height:1.6;color:#a7aaae;max-width:350px}.scroll-invite span{font-size:26px;color:#eee}.scene-caption{position:static;background:none;color:#95999d;font-size:11px;letter-spacing:1px}.service-strip{background:#0d0e10e8;border-top:1px solid #ffffff19;border-bottom:1px solid #ffffff19;color:#d6d6d6}.service-strip i{color:#5c6065}.section{background:linear-gradient(90deg,#0b0c0eef 0%,#0b0c0eeb 53%,#0b0c0e14 77%);padding-top:100px;padding-bottom:100px;border-bottom:1px solid #ffffff12}.section-heading{display:block;max-width:650px;margin-bottom:40px}.section-heading .eyebrow,.section-heading h2{width:auto}.section-heading .eyebrow{padding:0;margin-bottom:22px}.section-heading h2{font-size:clamp(32px,3.5vw,49px)}.services{grid-template-columns:1fr;width:51%;max-width:650px;gap:32px}.services article{border-color:#ffffff38}.services p{min-height:0;color:#aeb0b4}.services li{color:#aeb0b4;font-size:15px}.services ul{border-color:#ffffff1f}.service-top{color:#888;margin-bottom:16px}.service-top span:last-child{color:#ccc}.photo-chapter{background:linear-gradient(90deg,#08090add,transparent 75%);min-height:550px;height:85svh;max-height:none;align-items:center}.photo-chapter-copy{background:transparent;box-shadow:none;padding:0;max-width:43%}.photo-chapter h2{color:#eee}.photo-chapter p:not(.eyebrow){color:#aaa}.photo-link{border-color:#ffffff38;color:#ddd}.photo-credit{background:none;color:#777;bottom:28px;left:5.5%;right:auto}.artisan{display:block;background:linear-gradient(90deg,#0b0c0ef0 0%,#0b0c0eea 50%,transparent 80%)}.artisan>div,.artisan>aside{width:50%;max-width:630px}.artisan>div>p,.artisan .artisan-intro{color:#b9babc}.artisan .artisan-intro{color:#e2e2e2}.artisan aside{margin-top:40px;padding:25px 0 0;border-left:0;border-top:1px solid #ffffff28}.area-number{font-size:62px;letter-spacing:-3px;float:left;margin:0 25px 12px 0;color:#999}.artisan aside p,.artisan aside .area-note{color:#a3a5a8}.signature{border-color:#ffffff30}.signature span{color:#999}.guarantee-layout{display:block;width:53%;max-width:670px}.insurance-card{background:#15171ac9;padding:30px;border:1px solid #ffffff24}.insurance-label{color:#aaa}.insurance-card p{color:#b9bbbf}.reassurance{margin-top:32px}.reassurance article{border-color:#ffffff24}.reassurance p{color:#a7aaae}.section-intro{color:#a9acb0;width:51%;margin:0 0 35px}.tips-grid{width:53%;max-width:670px;grid-template-columns:1fr;gap:25px}.tips-grid article{background:#121416c9;border-color:#5d6268}.tips-grid li,.tip-note{color:#aeb1b5}.tip-note{border-color:#ffffff24}.tip-label{color:#93999f}.emergency-note{width:53%;max-width:670px;display:block;background:#1b1d20d9;border-color:#ffffff2e;padding:28px}.emergency-note p:last-child{color:#b9bdc1}.emergency-note .button{margin-top:23px}.faq-layout{display:block;width:53%;max-width:670px}.faq-layout aside{margin-bottom:30px;padding:0;border:0}.faq-layout p{color:#b2b5b9}.faq-list details,.faq-list details:last-child{border-color:#ffffff28}.faq-list summary{font-size:17px}.faq-list summary:hover{color:#fff}.reveal-finished{position:relative;min-height:100svh;padding:140px 5.5%;display:flex;align-items:center;background:linear-gradient(90deg,#08090ade,transparent 70%)}.reveal-finished>div{width:43%}.reveal-finished h2{font-size:clamp(54px,6vw,88px);line-height:1.03;letter-spacing:-4px}.reveal-finished p:not(.eyebrow){color:#aaa;line-height:1.8;font-size:18px;margin:30px 0}.finish-caption{position:absolute;bottom:35px;left:5.5%;font-size:11px;letter-spacing:1px;color:#8c9298}.contact{border-color:#ffffff24;background:linear-gradient(90deg,#0b0c0af7 0%,#0b0c0af0 53%,#0b0c0a33 85%)}.contact-layout{grid-template-columns:1fr;width:51%;max-width:650px;gap:15px}.contact h2 span{color:#999}.contact-layout>div>p,.contact-layout .contact-details>p{color:#aaa}.phone,.email{border-color:#ffffff50}.contact-details{padding-top:30px}footer{background:#08090aee;color:#ccc;padding-bottom:115px}.footer-line span,.footer-line a,.business-info{color:#aaa}footer details{border-color:#ffffff25}.mobile-call{background:#111316;color:#eee;border-top:1px solid #ffffff2e}.build-status{position:fixed;bottom:28px;right:5.5%;width:255px;z-index:8;background:#0b0d10dc;border:1px solid #ffffff22;padding:14px 16px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:13px;backdrop-filter:blur(14px);font-size:12px;color:#b6bdc3;pointer-events:none}.build-status>div{width:100%;height:1px;background:#ffffff26}.build-status i{display:block;height:1px;background:#e6e9ec;transform-origin:left}#motion-toggle{background:#111418e8;border:1px solid #ffffff32;color:#c4c9cf;right:auto;left:5.5%;bottom:25px;box-shadow:none;border-radius:0;font-size:12px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #fff;outline-offset:5px}
@media(max-width:1050px){nav{gap:12px}.brand{width:145px;height:90px}.experience-content{width:62%}.experience-stage{min-height:850px}.scene-caption{display:none}.phone{font-size:30px}}
@media(max-width:759px){header{padding:8px 6% 12px}.brand{width:130px;height:87px}.brand img{width:100%;height:100%;left:auto;top:auto}nav{border-color:#ffffff25;gap:0 16px}nav a{font-size:13px}.experience-stage{min-height:1070px;background:linear-gradient(180deg,#08090aed 0%,#08090ae0 39%,transparent 72%)}.experience-content{width:100%;padding:38px 6% 450px;max-width:none}h1{font-size:clamp(60px,15vw,88px);letter-spacing:-3px}.experience-intro{font-size:16px}.construction-intro{margin:26px 0}.construction-intro span{font-size:18px}.scene-bottom{bottom:85px}.scroll-invite{max-width:310px;background:#08090ac9;padding:12px;font-size:12px}.section{padding:55px 6%;background:#090b0df0}.section-heading h2{font-size:35px}.services,.artisan>div,.artisan>aside,.guarantee-layout,.section-intro,.tips-grid,.emergency-note,.faq-layout,.contact-layout{width:100%;max-width:none}.services{gap:24px}.photo-chapter{min-height:720px;height:95svh;background:linear-gradient(180deg,#08090add,transparent 50%,#08090a88);align-items:flex-start;padding:45px 6%}.photo-chapter-copy{max-width:100%;background:#090b0dbb;padding:22px}.photo-chapter h2{font-size:32px}.photo-credit{bottom:95px}.area-number{float:none;font-size:60px}.reveal-finished{min-height:1000px;align-items:flex-start;padding:70px 6%;background:linear-gradient(180deg,#08090ae6,transparent 65%)}.reveal-finished>div{width:100%}.reveal-finished h2{font-size:60px;letter-spacing:-3px}.reveal-finished p:not(.eyebrow){font-size:16px;margin:23px 0}.finish-caption{bottom:125px;max-width:250px;line-height:1.7}.build-status{right:12px;bottom:78px;width:190px;font-size:11px;padding:11px;gap:9px}#motion-toggle{left:12px;right:auto;bottom:79px;font-size:11px;padding:10px;max-width:135px}.contact h2{font-size:46px}.phone{font-size:32px}.mobile-call{font-size:12px}footer{padding-bottom:170px}.footer-line span,.footer-line a{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Four-room architectural cutaway */
.construction-backdrop canvas{position:absolute;right:0;top:0;width:61%;height:100%}.room-legend{font-size:13px;line-height:1.7;color:#a4abb2;margin-top:12px}.build-status{width:275px}@media(max-width:759px){.construction-backdrop canvas{width:100%}.room-legend{font-size:12px}.build-status{width:190px}.construction-intro{max-width:350px}}
/* Detailed architectural model controls */
.scene-explorer{position:fixed;right:22px;top:152px;z-index:9;width:234px;background:#0c1014eb;border:1px solid #ffffff24;box-shadow:0 15px 55px #0005;backdrop-filter:blur(20px);color:#d8dce1}.scene-explorer summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:13px;cursor:pointer;padding:16px}.scene-explorer summary::-webkit-details-marker{display:none}.scene-explorer summary>span{font-size:19px;font-weight:300;color:#aab3bc}.scene-explorer[open] summary>span{transform:rotate(45deg)}.explorer-body{padding:0 16px 18px;border-top:1px solid #ffffff15}.view-name{font-size:18px;letter-spacing:-.4px;margin:17px 0}.display-switch{display:flex;padding:3px;background:#ffffff06;border:1px solid #ffffff20;gap:4px;margin-bottom:18px}.display-switch button{flex:1;min-height:36px;background:transparent;color:#959ea8;border:0;font-size:13px;padding:8px}.display-switch button[aria-pressed=true]{background:#d3d9df;color:#14181c}.explorer-body label{display:block;font-size:12px;color:#929ca7;margin-bottom:9px}.explorer-body select{width:100%;padding:10px 8px;color:#d8dde2;background:#141b22;border:1px solid #ffffff25;font:inherit;font-size:13px;min-height:42px}.explorer-body select:focus-visible{outline:2px solid #fff;outline-offset:3px}#network-key{border-top:1px solid #ffffff20;margin-top:17px;padding-top:8px}#network-key p{display:flex;align-items:center;gap:7px;font-size:11px;color:#b8c0c8;margin:12px 0}#network-key i{display:inline-block;width:14px;height:3px;flex-shrink:0}#network-key .cold{background:#688ca8}#network-key .hot{background:#af8271;margin-left:7px}#network-key .waste{background:#8b929b}#network-key small{font-size:11px;color:#89939d;line-height:1.5}.construction-backdrop{background:radial-gradient(ellipse at 74% 44%,#303741 0%,#15191e 35%,#08090a 75%)}
@media(max-width:999px){.scene-explorer{top:auto;bottom:153px;right:12px;width:215px}.scene-explorer summary{padding:12px 14px;font-size:12px}.explorer-body{padding:0 13px 14px}.explorer-body select{font-size:16px}.view-name{font-size:17px;margin:13px 0}.display-switch{margin-bottom:13px}.display-switch button{font-size:13px}}
/* Larger original logo: remove only empty margins from its display box. */
header .brand{width:225px;height:181px;overflow:hidden;position:relative}header .brand img{position:absolute;width:560px;height:374px;max-width:none;left:-168px;top:-85px;object-fit:contain;filter:invert(1);mix-blend-mode:screen}header{min-height:205px}.scene-explorer{top:230px}.problem-intro{width:53%;max-width:670px;color:#b4bdc6;line-height:1.7;font-size:16px;border-left:2px solid #8c969f;padding-left:18px;margin:0 0 35px}.problem-buttons{display:flex;flex-direction:column;gap:9px;padding-top:8px}.problem-trigger{display:flex;justify-content:space-between;gap:15px;padding:13px 15px;background:#202831;color:#e0e5e9;border:1px solid #ffffff26;text-align:left;font-size:14px;line-height:1.5}.problem-trigger:hover{background:#303b47}.problem-trigger:disabled{opacity:.45;cursor:default}.problem-trigger span{color:#d7b68e}body.problem-open{overflow:hidden}#problem-dialog{padding:0;border:1px solid #5b646e;background:#0d1218;color:#eef1f4;width:min(1240px,96vw);max-width:96vw;height:min(830px,94svh);max-height:94svh;overflow:hidden}#problem-dialog[open]{display:grid;grid-template-columns:1.6fr 1fr}#problem-dialog::backdrop{background:#030609e8;backdrop-filter:blur(8px)}#problem-close{position:absolute;right:18px;top:14px;z-index:3;border:1px solid #ffffff35;background:#131b24;color:#d9dfe5;padding:10px 13px;font-size:13px;display:flex;align-items:center;gap:15px}#problem-close span{font-size:22px;line-height:1}.problem-stage{position:relative;min-width:0;min-height:0;background:radial-gradient(ellipse at 50% 40%,#343f4c,#141c25 60%,#0b1119)}.problem-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.problem-scene-note{position:absolute;bottom:24px;left:22px;right:22px;font-size:10px;letter-spacing:1px;color:#9ba8b5;line-height:1.7;pointer-events:none}.problem-marker{position:absolute;z-index:2;color:#e8cba8;background:#191812e8;border:1px solid #b39064;padding:7px 9px;font-size:12px;transform:translate(-50%,15px);white-space:nowrap;pointer-events:none}.problem-information{padding:85px 30px 30px;overflow:auto;border-left:1px solid #ffffff15}.problem-information .eyebrow{font-size:12px;letter-spacing:1px;margin-bottom:20px}.problem-information h2{font-size:31px;line-height:1.15;letter-spacing:-1px;margin-bottom:23px}#problem-note{color:#bdc7d1;font-size:16px;line-height:1.75;margin-bottom:25px}.problem-information label{display:block;font-size:13px;color:#a7b4c1;margin-bottom:10px}.problem-information select{width:100%;min-height:45px;font-size:14px;border:1px solid #ffffff35;background:#18212c;color:#e3e9ee;padding:10px}.problem-navigation{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:17px 0 25px}.problem-navigation button{border:1px solid #ffffff30;background:#18212c;color:#d9e2eb;font-size:12px;padding:9px}.problem-navigation button:disabled{opacity:.35;cursor:default}#problem-count{font-size:12px;color:#a4b1bd;white-space:nowrap}.problem-help{font-size:13px;line-height:1.7;color:#919faa;border-top:1px solid #ffffff25;padding-top:20px}.problem-information .button{margin-top:12px}.problem-information select:focus-visible{outline:2px solid white;outline-offset:3px}
@media(max-width:1099px){header{flex-wrap:wrap}header nav{order:3;width:100%;justify-content:center}.scene-explorer{top:auto;bottom:153px}}
@media(max-width:759px){header{min-height:unset}header .brand{width:170px;height:139px}header .brand img{width:430px;height:287px;left:-128px;top:-65px}.header-call{font-size:13px}header nav{justify-content:flex-start}.problem-intro{width:100%}.problem-trigger{font-size:14px}#problem-dialog{width:100vw;max-width:100vw;height:100svh;max-height:100svh;border:0}#problem-dialog[open]{grid-template-columns:1fr;grid-template-rows:43svh 57svh}.problem-information{padding:22px 6% 35px;border-left:0;border-top:1px solid #ffffff20}.problem-information h2{font-size:27px;margin-bottom:16px}.problem-information .eyebrow{margin-bottom:12px}#problem-note{font-size:15px;margin-bottom:18px}.problem-information select{font-size:16px}.problem-marker{font-size:11px}.problem-scene-note{bottom:12px;font-size:9px;left:15px;right:15px}.problem-help{margin-top:15px}.problem-navigation{margin-bottom:15px}#problem-close{right:12px;top:12px}.problem-information .button{margin-bottom:env(safe-area-inset-bottom)}}

#problem-pause{position:absolute;left:18px;top:14px;z-index:3;border:1px solid #ffffff35;background:#131b24;color:#d9dfe5;padding:12px;font-size:12px}@media(max-width:759px){#problem-pause{left:12px;top:12px;font-size:11px;padding:12px 10px}}

.construction-intro .systems-intro{font-size:12px;letter-spacing:0;line-height:1.8;margin:12px 0 0;max-width:380px;color:#9aabb9}#network-key .heating-key{font-size:11px;line-height:1.7;display:block;color:#aebecb}@media(max-width:759px){.construction-intro .systems-intro{max-width:310px;font-size:11px}.experience-stage{min-height:1130px}}

.display-switch{gap:2px}.display-switch button{padding:8px 5px;font-size:12px}.scene-explorer{width:254px}@media(max-width:999px){.scene-explorer{width:225px}.display-switch button{font-size:12px}}
/* Dedicated mobile viewport; the house no longer sits underneath paragraphs. */
.mobile-scene-dock{display:none}
.problem-guide[hidden]{display:none!important}
#conseils .tips-grid{width:100%;max-width:1120px;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
#conseils .tips-grid article{min-width:0;background:#111820f5;padding:25px;border:1px solid #ffffff20}
.problem-trigger{min-height:48px;font-size:16px;align-items:center;border-radius:5px}
.problem-trigger[aria-expanded=true]{background:#dbe2e7;color:#14212b;border-color:#dbe2e7}
.problem-trigger[aria-expanded=true] span{color:inherit}
#problem-dialog.problem-guide{grid-column:1/-1;position:relative;inset:auto;display:grid;grid-template-columns:1.2fr 1fr;width:100%;max-width:none;height:auto;max-height:none;margin:0;padding:0;overflow:hidden;border:1px solid #596674;border-radius:10px;scroll-margin-top:24px;background:#101820;box-shadow:0 24px 60px #0005}
.problem-guide-heading{grid-column:1/-1;padding:24px 28px;border-bottom:1px solid #ffffff20;position:relative}
.problem-guide-heading .eyebrow{margin:0 110px 12px 0;color:#a7b9c9;font-size:13px}
.problem-guide-heading h3{font-size:clamp(24px,3vw,34px);line-height:1.18;margin:0;max-width:90%;letter-spacing:-.6px}
#problem-dialog .problem-stage{min-height:360px;background:radial-gradient(ellipse at 50% 40%,#46525f,#1b2632 70%)}
#problem-dialog .problem-information{padding:28px;overflow:visible;border:0}
.problem-information h4{margin:0 0 12px;font-size:18px}
#problem-note{font-size:16px;line-height:1.75}
#problem-dialog #problem-close{right:18px;top:15px;min-height:44px;border-radius:5px;font-size:14px}
#problem-dialog #problem-pause{position:absolute;top:12px;left:12px;min-height:44px;font-size:13px}
#problem-dialog .problem-information label{font-size:14px;margin-top:24px}
#problem-dialog .problem-information select{font-size:16px;min-height:48px;border-radius:5px;max-width:100%}
#problem-dialog .problem-information .button{margin-top:22px;min-height:48px}
.problem-scene-note{font-size:12px;line-height:1.5;bottom:15px}
.problem-marker{font-size:13px;border-radius:4px}
.scene-unavailable .problem-stage{display:none}
.scene-unavailable #problem-dialog{grid-template-columns:1fr}
@media(max-width:759px){
 html{scroll-padding-top:calc(clamp(270px,42svh,420px) + 16px)}
 body.problem-active{overflow:visible}
 body.problem-active,.problem-active html{scroll-padding-top:16px}
 header{padding:10px 20px;gap:8px 14px;background:#080b0f}
 header nav{flex-wrap:nowrap;overflow-x:auto;gap:22px;padding:4px 0 8px;justify-content:flex-start}
 header nav a{white-space:nowrap;min-height:44px;display:flex;align-items:center;font-size:14px}
 .mobile-scene-dock{display:block;position:sticky;top:0;height:clamp(270px,42svh,420px);z-index:12;background:#151e28;border-bottom:1px solid #637487;box-shadow:0 10px 25px #0003;isolation:isolate}
 .mobile-scene-dock .construction-backdrop{position:absolute;inset:0;height:100%;width:100%;z-index:0;background:radial-gradient(ellipse at 50% 40%,#3d4a58,#17212c 70%,#0c1219)}
 .mobile-scene-dock .construction-backdrop canvas{inset:0;width:100%;height:100%}
 .mobile-scene-dock .scene-explorer{position:absolute;top:auto;bottom:10px;left:12px;right:12px;width:auto;max-height:calc(100% - 22px);overflow:auto;border-radius:8px;background:#111b26f5;z-index:3}
 .mobile-scene-dock .scene-explorer summary{font-size:14px;min-height:46px;padding:12px 16px}
 .mobile-scene-dock .scene-explorer[open]{bottom:10px}
 .mobile-scene-dock #motion-toggle{position:absolute;top:10px;right:12px;left:auto;bottom:auto;min-height:42px;font-size:13px;border-radius:5px;z-index:2;padding:10px}
 .mobile-scene-dock .build-status{display:none}
 .problem-active .mobile-scene-dock,.scene-unavailable .mobile-scene-dock{display:none}
 .experience-stage{min-height:0;background:#0b1016}
 .experience-content{padding:34px 22px 30px;max-width:none}
 .experience h1{font-size:clamp(46px,12vw,68px);line-height:1.02;letter-spacing:-2px}
 .experience-intro{font-size:17px;line-height:1.6}
 .construction-intro{margin-top:24px}
 .construction-intro .systems-intro{font-size:14px;max-width:none}
 .room-legend{font-size:14px}
 .actions{margin-top:24px;gap:18px;display:flex;flex-wrap:wrap}
 .scene-bottom{position:relative;padding:15px 22px 24px;left:auto;right:auto;bottom:auto;background:#0b1016}
 .scene-caption{display:none}
 .section,.artisan,.contact{padding:44px 22px;background:#0c1219}
 .section-heading h2{font-size:32px;letter-spacing:-1px}
 .photo-chapter{height:auto;min-height:260px;padding:40px 22px;background:#111923}
 .photo-chapter-copy,.photo-chapter-copy p{max-width:none;width:100%}
 .photo-credit{display:none}
 .reveal-finished{min-height:360px;padding:48px 22px;background:#101820}
 .reveal-finished>div{width:100%}
 .reveal-finished h2{font-size:42px;letter-spacing:-1.5px}
 #conseils .tips-grid{grid-template-columns:1fr;gap:16px}
 #conseils .tips-grid article{padding:20px}
 #problem-dialog.problem-guide{grid-template-columns:1fr;scroll-margin-top:12px;border-radius:8px}
 .problem-guide-heading{padding:20px}
 .problem-guide-heading h3{font-size:25px;max-width:100%}
 #problem-dialog .problem-stage{height:300px;min-height:0}
 #problem-dialog .problem-information{padding:22px}
 .problem-guide-heading .eyebrow{margin-right:110px;min-height:26px}
 .problem-scene-note{font-size:12px;left:16px;right:16px}
 .problem-help{font-size:14px}
 .mobile-call{min-height:54px;padding-bottom:max(12px,env(safe-area-inset-bottom));font-size:14px}
 footer{padding-bottom:100px}
}
@media(max-width:370px){header .header-call{font-size:12px}.problem-guide-heading{padding:16px}.problem-guide-heading h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
#problem-checks{padding-left:20px;color:#c0cbd5;font-size:16px;line-height:1.7;margin:0 0 22px}#problem-checks li+li{margin-top:8px}
@media(max-width:759px){.mobile-scene-dock .construction-backdrop canvas{height:calc(100% - 62px)}html:has(body.problem-active){scroll-padding-top:12px}.problem-active .scene-explorer,.problem-active #motion-toggle,.problem-active .build-status{display:none}.scene-unavailable .mobile-scene-dock{display:none}}
/* Reading uses the full mobile viewport; the house builds behind the page. */
@media(max-width:759px){
 html{scroll-padding-top:20px}
 .construction-backdrop{position:fixed;inset:0;height:100lvh;z-index:-1;background:radial-gradient(ellipse at 50% 60%,#3b4856,#141d27 65%,#080c11)}
 .construction-backdrop canvas{position:absolute;top:auto;bottom:54px;right:0;width:100%;height:60vh}
 .experience-stage{min-height:0;padding-bottom:55svh;background:transparent}
 .experience-content{padding:28px 22px 24px;max-width:none;background:linear-gradient(#0b1016 92%,#0b1016ed)}
 .experience-content h1{font-size:clamp(43px,11.5vw,60px);line-height:1.02}
 .experience-content .eyebrow{font-size:12px;line-height:1.6;margin-bottom:20px}
 .experience-content .actions{margin-top:20px}
 .experience-content .scene-explorer{position:relative;top:auto;bottom:auto;left:auto;right:auto;width:100%;margin-top:24px;border-radius:5px;box-shadow:none;z-index:2;max-height:none}
 .experience-content .scene-explorer summary{font-size:14px;min-height:46px;padding:13px 16px}
 .experience-content .scene-explorer .explorer-body{padding:0 16px 18px}
 .experience-content .scene-explorer select{font-size:16px;min-height:48px}
 .experience-content #motion-toggle{position:relative;inset:auto;margin:12px 0 0;min-height:42px;padding:10px 14px;font-size:14px;border-radius:4px;z-index:2}
 .build-status{display:none}
 .scene-bottom{position:absolute;left:22px;right:22px;bottom:20px;padding:12px 0;background:none}
 .scroll-invite{font-size:13px;line-height:1.6;max-width:270px}
 .section,.artisan,.contact{background:#0c1219f7;padding:42px 22px}
 .photo-chapter{height:78svh;min-height:430px;padding:30px 22px;display:block;background:linear-gradient(#0c1219 0%,#0c1219dd 30%,transparent 55%)}
 .photo-chapter-copy{max-width:100%;width:100%}
 .photo-chapter-copy h2{font-size:31px;line-height:1.15}
 .photo-chapter-copy p{font-size:16px}
 .reveal-finished{min-height:95svh;padding:35px 22px;display:block;background:linear-gradient(#0c1219f5,transparent 48%)}
 .reveal-finished>div{width:100%}
 .reveal-finished h2{font-size:39px;line-height:1.08}
 .reveal-finished p:not(.eyebrow){font-size:16px;margin:20px 0}
 .finish-caption{font-size:10px;bottom:22px}
}
