:root{--black:#090909;--ink:#f6f4ef;--muted:#b7b6b0;--orange:#ff7200;--orange2:#ff9b45;--line:rgba(255,255,255,.18);--pad:clamp(1.15rem,4vw,4.8rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--black)}body{margin:0;background:var(--black);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;overflow-x:hidden}button,a{font:inherit}button{cursor:pointer}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;padding:.8rem 1rem;background:var(--orange);color:#000}.skip-link:focus{top:1rem}.grain{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.site-header{position:fixed;z-index:50;left:0;right:0;top:0;height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(7,7,7,.88),rgba(7,7,7,.5));backdrop-filter:blur(14px);transition:height .35s ease,background .35s ease}.site-header.is-compact{height:70px;background:rgba(8,8,8,.93)}.brand{position:relative;z-index:2;width:clamp(210px,22vw,340px)}.brand img{display:block;width:100%;height:auto}.desktop-nav{display:flex;align-items:center;gap:clamp(1.15rem,2vw,2.5rem)}.desktop-nav a{position:relative;color:#ddd;text-decoration:none;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;padding:.8rem 0}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:.3rem;height:2px;background:var(--orange);transition:right .25s ease}.desktop-nav a:hover:after,.desktop-nav a.is-current:after{right:0}.header-actions{display:flex;align-items:center;gap:1rem}.header-phone{display:flex;flex-direction:column;color:white;text-decoration:none}.header-phone span{color:#969690;font-size:.65rem;text-transform:uppercase;letter-spacing:.14em}.header-phone strong{font-size:.85rem}.estimate-button{border:0;padding:.95rem 1.15rem;background:var(--orange);color:#090909;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.estimate-button span{margin-left:.55rem}.menu-toggle{display:none;position:relative;width:52px;height:52px;border:1px solid var(--line);background:rgba(255,255,255,.05);color:white}.menu-toggle span{position:absolute;left:15px;width:21px;height:2px;background:white;transition:.4s cubic-bezier(.2,.8,.2,1)}.menu-toggle span:first-child{top:19px}.menu-toggle span:nth-child(2){top:29px}.menu-toggle i{display:none}.menu-toggle[aria-expanded="true"] span:first-child{top:25px;transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){top:25px;transform:rotate(-45deg)}
.mobile-menu{position:fixed;z-index:40;inset:0;background:#0b0b0a;visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .65s cubic-bezier(.76,0,.24,1),visibility .65s}.mobile-menu.is-open{visibility:visible;clip-path:inset(0)}.menu-blueprint{position:absolute;inset:0;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:32px 32px}.menu-blueprint:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 42%,rgba(255,114,0,.2) 42.2%,transparent 42.5%)}.mobile-menu-inner{position:relative;height:100%;display:flex;flex-direction:column;padding:120px var(--pad) calc(2rem + env(safe-area-inset-bottom))}.menu-kicker{margin:0 0 1.5rem;color:var(--orange);font-size:.75rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu nav a{display:flex;align-items:center;gap:1rem;padding:.62rem 0;border-bottom:1px solid rgba(255,255,255,.1);color:white;text-decoration:none;font-size:clamp(2.1rem,8vw,4rem);font-weight:850;letter-spacing:-.05em;transform:translateY(30px);opacity:0;transition:.45s ease}.mobile-menu.is-open nav a{transform:none;opacity:1}.mobile-menu.is-open nav a:nth-child(2){transition-delay:.07s}.mobile-menu.is-open nav a:nth-child(3){transition-delay:.14s}.mobile-menu.is-open nav a:nth-child(4){transition-delay:.21s}.mobile-menu.is-open nav a:nth-child(5){transition-delay:.28s}.mobile-menu nav a span{width:2rem;color:#777;font:700 .7rem/1 ui-monospace,monospace;letter-spacing:.1em}.menu-contact{margin-top:auto;display:grid;grid-template-columns:1fr auto;gap:.6rem 1rem;align-items:center}.menu-contact p{grid-column:1/-1;margin:0;color:#aaa}.menu-contact button{border:0;padding:1rem;background:var(--orange);color:#090909;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.menu-contact a{color:white;text-decoration:none;font-weight:800}
.hero{position:relative;min-height:100svh;isolation:isolate;display:flex;align-items:center;padding:clamp(8rem,15vh,11rem) var(--pad) 7.5rem;overflow:hidden}.hero-photo{position:absolute;z-index:-4;inset:0;background:url('assets/hero-home.webp') center/cover no-repeat;transform:scale(1.04);animation:heroIn 1.4s cubic-bezier(.2,.8,.2,1) both}.hero-shade{position:absolute;z-index:-3;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.93) 0%,rgba(5,5,5,.77) 40%,rgba(5,5,5,.18) 72%,rgba(5,5,5,.08)),linear-gradient(0deg,rgba(6,6,6,.72),transparent 40%),radial-gradient(circle at var(--mx,75%) var(--my,45%),rgba(255,132,40,.18),transparent 30%)}.hero-canvas{position:absolute;z-index:-2;inset:0;width:100%;height:100%;pointer-events:none}.hero-content{position:relative;z-index:2;width:min(760px,58vw);animation:copyIn 1s .15s cubic-bezier(.2,.8,.2,1) both}.eyebrow{display:flex;align-items:center;gap:.8rem;margin:0 0 1.25rem;color:#ddd;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.18em}.eyebrow span{width:42px;height:2px;background:var(--orange);box-shadow:0 0 14px rgba(255,114,0,.5)}h1{margin:0;font-size:clamp(4rem,7.2vw,8.4rem);line-height:.86;letter-spacing:-.065em;font-weight:900;text-wrap:balance}h1 em{display:inline-block;font-style:normal;color:var(--orange);text-shadow:0 0 50px rgba(255,114,0,.2)}.hero-lede{max-width:650px;margin:1.7rem 0 2rem;color:#c8c7c1;font-size:clamp(1rem,1.15vw,1.25rem);line-height:1.65}.hero-cta-row{display:flex;align-items:stretch;gap:1rem}.primary-cta{position:relative;display:flex;align-items:center;justify-content:space-between;min-width:260px;padding:1.15rem 1.2rem;border:0;background:var(--orange);color:#080808;text-transform:uppercase;font-size:.76rem;font-weight:900;letter-spacing:.1em;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}.primary-cta:before{content:"";position:absolute;inset:0;background:#ff963f;transform:translateX(-102%);transition:transform .4s ease}.primary-cta:hover:before{transform:none}.primary-cta span,.primary-cta i{position:relative}.primary-cta i{font-style:normal;font-size:1.25rem}.primary-cta:hover{transform:translateY(-3px);box-shadow:0 16px 45px rgba(255,114,0,.25)}.secondary-cta{display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;border:1px solid var(--line);background:rgba(8,8,8,.45);color:white;text-decoration:none;backdrop-filter:blur(8px)}.secondary-cta>i{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);font-style:normal}.secondary-cta span{font-size:.85rem;font-weight:800}.secondary-cta small{display:block;margin-bottom:.2rem;color:#989893;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em}.trust-row{display:flex;gap:1.4rem;margin-top:1.4rem;color:#aaa;font-size:.78rem}.trust-row span{display:flex;align-items:center;gap:.4rem}.trust-row i{color:var(--orange);font-style:normal}
.project-card{position:absolute;z-index:3;right:var(--pad);bottom:7.3rem;width:min(300px,21vw);padding:.6rem;border:1px solid rgba(255,255,255,.27);background:rgba(8,8,8,.5);backdrop-filter:blur(10px);box-shadow:0 25px 60px rgba(0,0,0,.35);animation:cardFloat 6s ease-in-out infinite}.project-card-image{aspect-ratio:1.55;background:url('assets/render-bedroom.webp') center/cover}.project-card-copy{padding:.85rem .4rem .4rem}.project-card-copy span{display:block;color:var(--orange);font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em}.project-card-copy strong{display:block;margin-top:.3rem;font-size:.9rem}.project-index{position:absolute;right:1rem;top:1rem;padding:.45rem;background:rgba(0,0,0,.62);font-size:.6rem;letter-spacing:.12em}.measurement{position:absolute;z-index:-1;color:rgba(255,255,255,.28);font:700 .62rem/1 ui-monospace,monospace;letter-spacing:.12em}.measurement:before,.measurement:after{content:"";position:absolute;background:rgba(255,255,255,.2)}.measurement-a{left:45%;top:21%;width:28%;border-top:1px solid rgba(255,255,255,.18)}.measurement-a span{position:absolute;top:-1.3rem;left:50%}.measurement-a:before,.measurement-a:after{top:-6px;width:1px;height:12px}.measurement-a:before{left:0}.measurement-a:after{right:0}.measurement-b{right:4%;top:45%;writing-mode:vertical-rl;border-right:1px solid rgba(255,255,255,.16);padding-right:.7rem}.hero-foot{position:absolute;left:var(--pad);right:var(--pad);bottom:1.45rem;display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--line);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#aaa}.hero-foot p{margin:0}.hero-foot p span{color:white;font-weight:800}.scroll-cue{display:flex;align-items:center;gap:.6rem}.scroll-cue i{display:block;width:28px;height:1px;background:var(--orange);animation:scrollLine 1.8s ease-in-out infinite}
.mobile-action-bar{display:none}.estimate-panel{position:fixed;z-index:100;inset:0;visibility:hidden;pointer-events:none}.estimate-panel.is-open{visibility:visible;pointer-events:auto}.panel-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.74);opacity:0;transition:opacity .4s ease}.estimate-panel.is-open .panel-backdrop{opacity:1}.panel-card{position:absolute;right:0;top:0;bottom:0;width:min(520px,100%);padding:clamp(5rem,10vh,8rem) clamp(1.4rem,5vw,4rem);overflow:auto;background:#11110f;border-left:1px solid rgba(255,114,0,.35);transform:translateX(101%);transition:transform .55s cubic-bezier(.76,0,.24,1)}.estimate-panel.is-open .panel-card{transform:none}.panel-card:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:30px 30px}.panel-close{position:absolute;z-index:2;right:1.2rem;top:1.2rem;width:48px;height:48px;border:1px solid var(--line);background:transparent;color:white;font-size:1.7rem}.panel-card h2{position:relative;margin:0;font-size:clamp(2.8rem,6vw,5rem);line-height:.9;letter-spacing:-.055em}.panel-card>p:not(.eyebrow,.panel-note){position:relative;color:#aaa;line-height:1.6}.contact-options{position:relative;display:grid;gap:.6rem;margin-top:2rem}.contact-options a{display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:.8rem;padding:1rem;border:1px solid var(--line);background:rgba(255,255,255,.025);color:white;text-decoration:none;transition:.25s ease}.contact-options a:hover{border-color:var(--orange);transform:translateX(-5px)}.contact-options i{color:var(--orange);font:700 .7rem/1 ui-monospace,monospace}.contact-options span{font-weight:800}.contact-options small{display:block;color:#888;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}.contact-options b{font-size:1.2rem}.panel-note{position:relative;margin-top:1.5rem;color:#777;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}
@keyframes heroIn{from{opacity:0;transform:scale(1.12)}to{opacity:1;transform:scale(1.04)}}@keyframes copyIn{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes cardFloat{0%,100%{transform:translateY(0) rotate(.3deg)}50%{transform:translateY(-10px) rotate(-.3deg)}}@keyframes scrollLine{0%,100%{transform:scaleX(.4);transform-origin:left}50%{transform:scaleX(1);transform-origin:left}}
@media(max-width:1120px){.desktop-nav,.header-phone{display:none}.menu-toggle{display:block}.hero-content{width:min(720px,72vw)}.project-card{width:250px}}
@media(max-width:760px){body{padding-bottom:68px}.site-header{height:72px;padding:0 1rem}.site-header.is-compact{height:64px}.brand{width:225px}.estimate-button{display:none}.menu-toggle{width:46px;height:46px}.hero{min-height:calc(100svh - 68px);align-items:flex-end;padding:7.5rem 1.2rem 7.8rem}.hero-photo{background-position:61% center}.hero-shade{background:linear-gradient(0deg,rgba(5,5,5,.98) 0%,rgba(5,5,5,.82) 42%,rgba(5,5,5,.18) 82%),linear-gradient(90deg,rgba(5,5,5,.28),transparent)}.hero-content{width:100%}.eyebrow{font-size:.67rem;margin-bottom:1rem}h1{font-size:clamp(3.45rem,15.7vw,5.7rem);line-height:.88}.hero-lede{margin:1.1rem 0 1.3rem;font-size:1rem;line-height:1.5}.hero-cta-row{display:block}.primary-cta{width:100%;min-width:0;padding:1.05rem}.secondary-cta{display:none}.trust-row{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-top:1rem;font-size:.68rem}.trust-row span:last-child{grid-column:1/-1}.project-card{display:none}.measurement{display:none}.hero-foot{left:1.2rem;right:1.2rem;bottom:4.75rem}.hero-foot p{display:none}.mobile-action-bar{position:fixed;z-index:45;left:0;right:0;bottom:0;height:68px;display:grid;grid-template-columns:.88fr 1.12fr;padding-bottom:env(safe-area-inset-bottom);background:#0b0b0a;border-top:1px solid var(--line)}.mobile-action-bar a,.mobile-action-bar button{display:flex;align-items:center;justify-content:center;gap:.5rem;border:0;color:white;text-decoration:none;text-transform:uppercase;font-size:.74rem;font-weight:900;letter-spacing:.08em}.mobile-action-bar a{background:#151513}.mobile-action-bar button{background:var(--orange);color:#080808}.mobile-menu-inner{padding-top:100px}.menu-contact{grid-template-columns:1fr}.menu-contact button,.menu-contact a{width:100%}.panel-card{padding-top:5.5rem}}
@media(max-width:390px){.brand{width:195px}h1{font-size:3.25rem}.hero-lede{font-size:.94rem}.trust-row{display:none}.hero{padding-bottom:7.2rem}.mobile-menu nav a{font-size:2rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}

/* Construction sequence: hamburger beams assemble into a house */
.menu-toggle{overflow:visible;isolation:isolate;transition:border-color .3s ease,background .3s ease,transform .3s ease}
.menu-toggle:hover{border-color:rgba(255,114,0,.65);background:rgba(255,114,0,.08)}
.menu-toggle .menu-beam{position:absolute;height:2px;background:#fff;border-radius:1px;transform-origin:center;will-change:transform,width,left,top;transition:top .52s cubic-bezier(.7,0,.2,1),left .52s cubic-bezier(.7,0,.2,1),width .52s cubic-bezier(.7,0,.2,1),transform .52s cubic-bezier(.7,0,.2,1),background .25s ease}
.menu-toggle .beam-a{left:13px;top:16px;width:24px}.menu-toggle .beam-b{left:13px;top:24px;width:24px}.menu-toggle .beam-c{left:13px;top:32px;width:24px}
.menu-toggle .menu-hook{position:absolute;left:25px;top:10px;width:1px;height:0;background:var(--orange);opacity:0;transition:height .35s .32s ease,opacity .2s .28s ease}
.menu-toggle .menu-hook:after{content:"";position:absolute;left:-2px;bottom:-5px;width:5px;height:5px;border:1px solid var(--orange);border-top:0;border-left:0;border-radius:0 0 4px 0;transform:rotate(28deg)}
.menu-toggle .build-spark{position:absolute;z-index:3;left:24px;top:23px;width:4px;height:4px;border-radius:50%;background:var(--orange);opacity:0;box-shadow:0 0 0 0 rgba(255,114,0,.7)}
.menu-toggle[aria-expanded="true"]{border-color:var(--orange);background:rgba(255,114,0,.1);transform:rotateY(180deg)}
.menu-toggle[aria-expanded="true"] .beam-a{left:10px;top:18px;width:19px;background:var(--orange);transform:rotate(-38deg)}
.menu-toggle[aria-expanded="true"] .beam-b{left:23px;top:18px;width:19px;background:var(--orange);transform:rotate(38deg)}
.menu-toggle[aria-expanded="true"] .beam-c{left:13px;top:34px;width:24px;transform:none}
.menu-toggle[aria-expanded="true"] .menu-hook{height:14px;opacity:1}
.menu-toggle.is-constructing .build-spark{animation:buildSpark .82s ease-out}
.menu-build-beam{position:absolute;z-index:1;top:72px;right:0;width:3px;height:calc(100% - 72px);background:rgba(255,114,0,.12);transform:scaleY(0);transform-origin:top;transition:transform .65s .12s cubic-bezier(.76,0,.24,1)}
.menu-build-beam:before{content:"";position:absolute;right:0;top:0;width:44vw;height:1px;background:linear-gradient(90deg,transparent,var(--orange))}
.menu-build-beam span{position:absolute;right:0;top:0;width:18px;height:18px;border-right:2px solid var(--orange);border-bottom:2px solid var(--orange);transform:translate(7px,-2px) rotate(45deg);animation:hookSway 2.8s ease-in-out infinite}
.mobile-menu.is-open .menu-build-beam{transform:scaleY(1)}
.mobile-menu.is-open .menu-blueprint:before{content:"";position:absolute;left:0;right:0;top:0;height:90px;background:linear-gradient(180deg,transparent,rgba(255,114,0,.07),rgba(255,114,0,.22));animation:siteScan 2.2s .2s cubic-bezier(.4,0,.2,1) both}
@keyframes buildSpark{0%{opacity:0;transform:scale(.4);box-shadow:0 0 0 0 rgba(255,114,0,.7)}35%{opacity:1;transform:scale(1.8);box-shadow:-8px 7px 0 -1px #ff7200,9px -6px 0 -1px #fff,8px 9px 0 -1px #ff9b45}100%{opacity:0;transform:scale(.5);box-shadow:-16px 14px 0 -2px transparent,18px -12px 0 -2px transparent,16px 18px 0 -2px transparent}}
@keyframes siteScan{from{transform:translateY(-100px);opacity:0}20%{opacity:1}to{transform:translateY(100vh);opacity:0}}
@keyframes hookSway{0%,100%{transform:translate(7px,-2px) rotate(40deg)}50%{transform:translate(4px,5px) rotate(50deg)}}
@media(max-width:760px){.menu-toggle .beam-a{left:11px}.menu-toggle .beam-b{left:11px}.menu-toggle .beam-c{left:11px}.menu-toggle[aria-expanded="true"] .beam-a{left:8px}.menu-toggle[aria-expanded="true"] .beam-b{left:21px}.menu-toggle[aria-expanded="true"] .beam-c{left:11px}.menu-toggle .menu-hook{left:23px}}

/* Keep the construction animation fully inside the mobile viewport */
.menu-toggle[aria-expanded="true"]{transform:scale(.98)}
.menu-toggle[aria-expanded="true"] .beam-a{left:9px;top:19px;width:19px;transform:rotate(-38deg)}
.menu-toggle[aria-expanded="true"] .beam-b{left:22px;top:19px;width:19px;transform:rotate(38deg)}
.menu-toggle[aria-expanded="true"] .beam-c{left:13px;top:34px;width:24px}
.menu-build-beam{top:72px;right:39px;width:2px;height:132px;transform:scaleY(0);overflow:visible;background:linear-gradient(var(--orange),rgba(255,114,0,.28))}
.menu-build-beam:before{right:-23px;top:0;width:116px;background:linear-gradient(90deg,transparent 0%,rgba(255,114,0,.38) 55%,var(--orange) 100%)}
.menu-build-beam span{top:auto;right:-8px;bottom:-9px;width:18px;height:18px;transform:rotate(45deg);animation:visibleHookSway 2.5s ease-in-out infinite}
.mobile-menu.is-open .menu-build-beam{transform:scaleY(1)}
@keyframes visibleHookSway{0%,100%{transform:translateX(-2px) rotate(40deg)}50%{transform:translateX(2px) rotate(50deg)}}
@media(max-width:760px){.menu-toggle[aria-expanded="true"] .beam-a{left:7px}.menu-toggle[aria-expanded="true"] .beam-b{left:20px}.menu-toggle[aria-expanded="true"] .beam-c{left:11px}.menu-build-beam{top:72px;right:39px}}
.mobile-action-bar{transition:transform .42s cubic-bezier(.76,0,.24,1),opacity .3s ease,visibility .42s}
.mobile-action-bar.is-hidden{transform:translateY(110%);opacity:0;visibility:hidden;pointer-events:none}

/* Anchor every beam to the button center at both responsive sizes. */
#menuToggle{padding:0;flex-shrink:0}
#menuToggle .menu-beam{left:calc(50% - 12px);width:24px;transform:none}
#menuToggle .beam-a{top:calc(50% - 9px)}
#menuToggle .beam-b{top:calc(50% - 1px)}
#menuToggle .beam-c{top:calc(50% + 7px)}
#menuToggle[aria-expanded="true"] .beam-a{left:calc(50% - 16px);top:calc(50% - 6px);width:19px;transform:rotate(-38deg)}
#menuToggle[aria-expanded="true"] .beam-b{left:calc(50% - 3px);top:calc(50% - 6px);width:19px;transform:rotate(38deg)}
#menuToggle[aria-expanded="true"] .beam-c{left:calc(50% - 12px);top:calc(50% + 9px);width:24px;transform:none}
#menuToggle .menu-hook{left:calc(50% - .5px);top:calc(50% - 15px)}
#menuToggle .build-spark{left:calc(50% - 2px);top:calc(50% - 2px)}

/* The supplied brand symbol assembles from the hamburger beams. */
#menuToggle .menu-beam{transition:transform .4s ease,opacity .25s ease,top .45s ease,left .45s ease,width .45s ease}
#menuToggle[aria-expanded="true"] .beam-a{opacity:0;transform:translateY(-5px) rotate(-38deg) scaleX(.4)}
#menuToggle[aria-expanded="true"] .beam-b{opacity:0;transform:translateY(3px) rotate(38deg) scaleX(.4)}
#menuToggle[aria-expanded="true"] .beam-c{opacity:0;transform:translateY(5px) scaleX(.3)}
#menuToggle .menu-logo{position:absolute;width:34px;height:32px;left:calc(50% - 17px);top:calc(50% - 16px);pointer-events:none;overflow:visible}
#menuToggle .menu-logo polygon{opacity:0;transform-box:fill-box;transform-origin:center;transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .2s ease}
#menuToggle .logo-roof{transform:translateY(-12px) scaleX(.35)}
#menuToggle .logo-left{transform:translateX(-12px) rotate(-22deg) scaleY(.2)}
#menuToggle .logo-right{transform:translateX(12px) rotate(22deg) scaleY(.2)}
#menuToggle .logo-base{transform:translateY(14px) scaleX(.2)}
#menuToggle[aria-expanded="true"] .menu-logo polygon{opacity:1;transform:none}
#menuToggle[aria-expanded="true"] .logo-roof{transition-delay:.12s}
#menuToggle[aria-expanded="true"] .logo-left{transition-delay:.22s}
#menuToggle[aria-expanded="true"] .logo-right{transition-delay:.3s}
#menuToggle[aria-expanded="true"] .logo-base{transition-delay:.38s}
#menuToggle[aria-expanded="true"]{box-shadow:0 0 20px rgba(255,114,0,.15)}
@media(prefers-reduced-motion:reduce){#menuToggle .menu-logo polygon{transition-delay:0s}}

/* Spacious navigation with architectural rules and restrained orange accents. */
.mobile-menu{background:radial-gradient(ellipse at 100% 12%,rgba(255,114,0,.09),transparent 48%),#101110;overflow-y:auto;overscroll-behavior:contain}
.mobile-menu .menu-blueprint{opacity:.12;background-size:64px 64px;pointer-events:none}
.mobile-menu .menu-build-beam{display:none}
.mobile-menu-inner{height:auto;min-height:100%;max-width:1000px;margin:auto;padding:112px clamp(1.25rem,6vw,5rem) calc(2rem + env(safe-area-inset-bottom));gap:1.4rem}
.menu-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.16)}
.menu-heading .menu-kicker{margin:0;font-size:.75rem;line-height:1.5;letter-spacing:.14em}
.menu-heading>span{color:#a5a59e;font-size:.75rem;white-space:nowrap}
.mobile-menu nav a{position:relative;display:grid;grid-template-columns:26px 1fr 38px;gap:1rem;padding:1.1rem .3rem;letter-spacing:-.045em;font-size:clamp(2rem,5vw,3.4rem);line-height:1.05;border-bottom:1px solid rgba(255,255,255,.12);transition:transform .5s ease,opacity .5s ease,background .25s ease,color .25s ease}
.mobile-menu nav a>span{width:auto;align-self:start;padding-top:.55rem;font-size:.75rem;color:#b48b69}
.menu-link-copy small{display:block;margin-top:.5rem;font-size:.875rem;line-height:1.4;font-weight:400;letter-spacing:0;color:#a7a9a2}
.mobile-menu nav a>b{display:grid;place-items:center;align-self:center;width:36px;height:36px;border:1px solid #45473e;border-radius:50%;color:#a7a9a2;font-size:1.1rem;font-weight:400;letter-spacing:0;transition:background .25s ease,color .25s ease,transform .25s ease}
.mobile-menu nav a:hover,.mobile-menu nav a:focus-visible{color:var(--orange);background:linear-gradient(90deg,rgba(255,114,0,.07),transparent)}
.mobile-menu nav a:hover>b,.mobile-menu nav a:focus-visible>b{background:var(--orange);border-color:var(--orange);color:#101110;transform:rotate(45deg)}
.mobile-menu nav a:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.menu-contact{margin-top:auto;padding-top:1rem;grid-template-columns:1fr auto;gap:1rem}
.menu-contact p{font-size:1rem;color:#c7c8c0}
.menu-contact button{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:54px;text-align:left;font-size:.875rem;letter-spacing:.045em;transition:background .25s ease}
.menu-contact button:hover{background:#ff9740}
.menu-contact button b{font-size:1.4rem}
.menu-contact a{font-size:.875rem;font-weight:600;letter-spacing:.025em}
@media(max-width:760px){.mobile-menu-inner{padding-top:94px;gap:1rem}.menu-heading{gap:.7rem}.menu-heading .menu-kicker{font-size:.75rem;letter-spacing:.08em}.mobile-menu nav a{padding:.95rem .15rem;font-size:clamp(2rem,8vw,2.8rem);gap:.7rem}.menu-contact{grid-template-columns:1fr;padding-top:.5rem}.menu-contact a{width:auto;justify-self:center;padding:.4rem}.menu-contact p{margin:0}.menu-link-copy small{margin-top:.4rem}}
@media(max-height:650px){.mobile-menu-inner{gap:.7rem}.mobile-menu nav a{padding:.65rem .15rem}.menu-heading{padding-bottom:.6rem}}

.mobile-menu nav a{grid-template-columns:32px minmax(0,1fr) 38px}
.mobile-menu .nav-icon{display:block;width:28px;height:28px;align-self:start;margin-top:.3em;fill:none;stroke:var(--orange);stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s ease}
.mobile-menu nav a:hover .nav-icon,.mobile-menu nav a:focus-visible .nav-icon{transform:translateY(-2px)}

/* Right-hand drawer: the remaining quarter is a dismissible backdrop. */
.mobile-menu{z-index:60;overflow:hidden;background:transparent;clip-path:none;pointer-events:none;transition:visibility .45s}
.mobile-menu.is-open{clip-path:none;pointer-events:auto}
.menu-dismiss{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .4s ease;cursor:pointer}
.mobile-menu.is-open .menu-dismiss{opacity:1}
.mobile-menu .menu-blueprint{display:none}
.mobile-menu-inner{position:absolute;top:0;right:0;bottom:0;width:75%;max-width:none;min-height:0;margin:0;padding:100px clamp(1rem,3vw,2.5rem) calc(1.5rem + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;background:radial-gradient(ellipse at 100% 0,rgba(255,114,0,.1),transparent 55%),#101110;border-left:1px solid rgba(255,114,0,.24);box-shadow:-15px 0 60px rgba(0,0,0,.3);transform:translateX(102%);transition:transform .45s cubic-bezier(.22,1,.36,1)}
.mobile-menu.is-open .mobile-menu-inner{transform:translateX(0)}
.site-header.menu-is-open{z-index:70;background:transparent;backdrop-filter:none;border-color:transparent;pointer-events:none}
.site-header.menu-is-open .brand,.site-header.menu-is-open .desktop-nav,.site-header.menu-is-open .header-phone,.site-header.menu-is-open .estimate-button{visibility:hidden}
.site-header.menu-is-open #menuToggle{pointer-events:auto}
.mobile-menu .menu-heading{align-items:flex-start;flex-direction:column;gap:.3rem}
.mobile-menu nav a{flex-shrink:0}
.mobile-menu .menu-contact{flex-shrink:0}
@media(max-width:760px){.mobile-menu-inner{padding-top:88px;gap:.8rem}.mobile-menu nav a{grid-template-columns:24px minmax(0,1fr) 24px;gap:.55rem;font-size:clamp(1.4rem,6.2vw,2.5rem);padding:1rem 0}.mobile-menu .nav-icon{width:22px;height:22px;margin-top:.15em}.mobile-menu nav a>b{width:24px;height:24px;font-size:.9rem}.menu-link-copy small{font-size:.875rem;line-height:1.4}.menu-contact button{font-size:.8rem;padding:.8rem;letter-spacing:0}.menu-contact p{font-size:.95rem}}

/* Compact desktop navigation also fits laptop viewports. */
@media(min-width:900px){.desktop-nav{display:flex;white-space:nowrap}.menu-toggle{display:none}.header-actions{flex-shrink:0}.brand{flex-shrink:0}}
@media(min-width:900px) and (max-width:1280px){.site-header{padding-left:24px;padding-right:24px;gap:20px}.brand{width:clamp(210px,23vw,280px)}.desktop-nav{gap:clamp(14px,1.6vw,21px)}.desktop-nav a{font-size:.875rem;letter-spacing:.035em}.header-phone{display:none}.estimate-button{padding:.95rem 1rem;font-size:.75rem;letter-spacing:.035em;white-space:nowrap}}

/* Contact drawer shares the navigation's 75/25 split. */
.panel-backdrop{width:100%;height:100%;padding:0;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.panel-card{width:75%;padding:clamp(5.5rem,10vh,8rem) clamp(1rem,3vw,4rem) calc(2rem + env(safe-area-inset-bottom));overscroll-behavior:contain;box-shadow:-15px 0 60px rgba(0,0,0,.3);background:radial-gradient(ellipse at 100% 0,rgba(255,114,0,.1),transparent 55%),#101110}
.panel-card .eyebrow{line-height:1.5}
.panel-card .eyebrow span{flex-shrink:0}
.contact-options span{min-width:0;overflow-wrap:anywhere}
@media(max-width:760px){.panel-card h2{font-size:clamp(2rem,7.2vw,3.4rem);line-height:1}.panel-card .eyebrow{font-size:.75rem;letter-spacing:.07em;gap:.5rem}.panel-card .eyebrow span{width:20px}.contact-options{margin-top:1.3rem}.contact-options a{grid-template-columns:20px minmax(0,1fr) 16px;gap:.5rem;padding:.85rem .6rem;min-height:64px}.contact-options span{font-size:.875rem}.contact-options small{font-size:.75rem;letter-spacing:.035em;line-height:1.5}.panel-note{font-size:.75rem;line-height:1.6}.panel-close{right:1rem;top:1rem}}

/* Desktop contact dialog: a centered, landscape composition. */
@media(min-width:900px){
  .panel-card{left:50%;right:auto;top:50%;bottom:auto;width:min(1000px,calc(100% - 96px));max-height:calc(100dvh - 64px);padding:clamp(2rem,4vh,3rem) clamp(2rem,4vw,3.5rem);border:1px solid rgba(255,114,0,.28);transform:translate(-50%,-46%) scale(.97);opacity:0;transition:transform .35s ease,opacity .3s ease;box-shadow:0 30px 100px rgba(0,0,0,.5)}
  .estimate-panel.is-open .panel-card{transform:translate(-50%,-50%) scale(1);opacity:1}
  .panel-card .eyebrow{margin:0 64px 1.25rem 0;font-size:.75rem}
  .panel-card h2{font-size:clamp(2.5rem,4.5vw,4rem);line-height:1;letter-spacing:-.045em;padding-right:48px}
  .panel-card h2 br{display:none}
  .panel-card>p:not(.eyebrow,.panel-note){max-width:640px;margin:1rem 0 0;font-size:1rem;line-height:1.5}
  .contact-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.75rem}
  .contact-options a{grid-template-columns:1fr auto;gap:1.4rem .5rem;padding:1.25rem;min-height:142px;align-items:end}
  .contact-options i{grid-column:1/-1;font-size:.75rem}
  .contact-options span{font-size:1.05rem;line-height:1.3}
  .contact-options small{font-size:.75rem;letter-spacing:.06em;margin-bottom:.35rem}
  .contact-options a:hover{transform:translateY(-4px);background:rgba(255,114,0,.06)}
  .contact-options a:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
  .panel-note{border-top:1px solid var(--line);padding-top:1rem;margin:1.5rem 0 0;font-size:.75rem;line-height:1.5}
}

.contact-icon{width:28px;height:28px;fill:none;stroke:var(--orange);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.contact-options .whatsapp-contact .contact-icon{stroke:#4cdb87}
.contact-options .whatsapp-contact{position:relative;transform-origin:center}
.show-whatsapp-hint .whatsapp-contact{animation:whatsappPress 5s 1s 3}
@keyframes whatsappPress{0%,20%,100%{transform:scale(1);box-shadow:0 0 0 0 transparent}5%{transform:scale(.975);background:rgba(37,211,102,.16);border-color:#4cdb87;box-shadow:inset 0 2px 12px rgba(0,0,0,.25),0 0 0 0 rgba(37,211,102,.35)}11%{transform:scale(1);background:rgba(37,211,102,.08);border-color:#4cdb87;box-shadow:0 0 0 7px rgba(37,211,102,.12)}20%{box-shadow:0 0 0 12px transparent}}
@media(min-width:900px){.contact-icon{grid-column:1/-1;width:30px;height:30px}}
@media(max-width:760px){.contact-options a{grid-template-columns:26px minmax(0,1fr) 16px}.contact-icon{width:24px;height:24px}}
@media(prefers-reduced-motion:reduce){.show-whatsapp-hint .whatsapp-contact{animation:none}}

/* Apartment service: one image-led comparison, no service catalog. */
.apartment-service{padding:clamp(3rem,7vw,7rem) var(--pad);background:#10110f;scroll-margin-top:85px;border-top:1px solid var(--line)}
.apartment-heading,.apartment-compare,.apartment-caption{max-width:1500px;margin-left:auto;margin-right:auto}
.apartment-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}
.apartment-heading h2{font-size:clamp(2.5rem,5vw,5.5rem);line-height:1.03;letter-spacing:-.05em;margin:0}
.apartment-heading em{font-style:normal;color:var(--orange)}
.apartment-heading .eyebrow{font-size:.875rem;line-height:1.4}
.apartment-heading>p{font-size:.875rem;color:#b6baad;line-height:1.5}
.apartment-compare{position:relative;aspect-ratio:3/2;overflow:hidden;isolation:isolate;border:1px solid #45483d;background:#34372f;touch-action:pan-y}
.apartment-compare>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.apartment-before{clip-path:inset(0 calc(100% - var(--split)) 0 0);will-change:clip-path}
.apartment-label{position:absolute;top:1.2rem;z-index:2;padding:.6rem .8rem;background:rgba(12,13,11,.73);border:1px solid #ffffff45;color:white;text-transform:uppercase;font-size:.75rem;font-weight:700;letter-spacing:.12em;pointer-events:none}
.apartment-label-before{left:1.2rem}.apartment-label-after{right:1.2rem}
.apartment-divider{position:absolute;top:0;bottom:0;left:var(--split);width:2px;background:white;transform:translateX(-1px);pointer-events:none;will-change:left}
.apartment-divider>span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;white-space:nowrap;width:64px;height:64px;border-radius:50%;border:1px solid white;background:#10110fe6;font-size:1.7rem;box-shadow:0 4px 24px #0006}
.apartment-compare input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y}
.apartment-compare:focus-within{outline:2px solid var(--orange);outline-offset:4px}
.apartment-caption{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}
.apartment-caption p{font-size:.75rem;color:#9da391;line-height:1.5}
.apartment-caption button{border:1px solid var(--orange);background:transparent;color:#fff;font-size:.875rem;padding:.85rem 1rem;font-weight:700}
.apartment-caption button span{color:var(--orange);margin-left:1rem}
.apartment-caption button:hover{background:#ff720018}
@media(max-width:760px){.apartment-service{padding:3rem 1rem}.apartment-heading{display:block;margin-bottom:1.25rem}.apartment-heading h2{font-size:clamp(2.3rem,9vw,4rem)}.apartment-heading .eyebrow{font-size:.75rem}.apartment-heading>p{margin:1rem 0 0}.apartment-compare{aspect-ratio:3/2}.apartment-compare>img{object-fit:cover;object-position:center}.apartment-label{top:.7rem;padding:.5rem .6rem}.apartment-label-before{left:.7rem}.apartment-label-after{right:.7rem}.apartment-divider>span{width:52px;height:52px}.apartment-caption{align-items:start;flex-direction:column;gap:.5rem}.apartment-caption p{margin:.25rem 0}.apartment-caption button{width:100%;display:flex;justify-content:space-between}}

/* Interactive home transformation */
.transformation{position:relative;padding:clamp(4.8rem,9vw,9rem) var(--pad);background:#0c0c0b;overflow:hidden}.transformation:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.2;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:42px 42px}.transformation-intro{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);align-items:end;gap:4rem;max-width:1500px;margin:0 auto 2.5rem}.transformation-intro h2{margin:0;font-size:clamp(3.2rem,6.7vw,7.6rem);line-height:.87;letter-spacing:-.065em}.transformation-intro h2 em{color:var(--orange);font-style:normal}.transformation-intro>p{max-width:520px;margin:0 0 .45rem;color:#aaa;font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.65}.transformation-stage{--mood-color:255,160,72;position:relative;max-width:1500px;min-height:clamp(560px,67vw,920px);margin:auto;overflow:hidden;isolation:isolate;background:#24221e;border:1px solid rgba(255,255,255,.2);box-shadow:0 40px 100px rgba(0,0,0,.4);touch-action:pan-y}.transformation-layer{position:absolute;inset:0;background-position:center;background-size:cover}.transformation-before{z-index:1;background-image:linear-gradient(rgba(7,8,9,.19),rgba(7,8,9,.25)),url('assets/transformation-before.webp');filter:saturate(.62) contrast(.96) brightness(.72)}.transformation-after{z-index:2;background-image:url('assets/transformation-after.webp');clip-path:inset(0 0 0 var(--reveal));filter:saturate(1.08) contrast(1.03)}.transformation-atmosphere{position:absolute;z-index:3;inset:0;pointer-events:none;clip-path:inset(0 0 0 var(--reveal));background:radial-gradient(circle at 74% 70%,rgba(var(--mood-color),.25),transparent 38%);mix-blend-mode:screen;transition:background .5s ease}.transformation-stage[data-mood="natural"]{--mood-color:169,204,137}.transformation-stage[data-mood="natural"] .transformation-after{filter:saturate(.88) brightness(1.06)}.transformation-stage[data-mood="evening"]{--mood-color:104,123,255}.transformation-stage[data-mood="evening"] .transformation-after{filter:saturate(1.08) brightness(.8) hue-rotate(7deg)}.comparison-label,.transformation-score{position:absolute;z-index:6;top:2rem;padding:.75rem 1rem;background:rgba(10,10,9,.69);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(10px);text-transform:uppercase;font-size:.66rem;font-weight:900;letter-spacing:.17em}.comparison-label{display:flex;align-items:center;gap:.55rem}.comparison-label i{width:7px;height:7px;border-radius:50%;background:#8d8d88}.label-before{left:2rem}.label-after{right:2rem;border-color:rgba(255,114,0,.52)}.label-after i{background:var(--orange);box-shadow:0 0 14px var(--orange)}.transformation-score{top:auto;left:2rem;bottom:2rem;display:flex;align-items:baseline;gap:.65rem}.transformation-score strong{color:var(--orange);font-size:1.4rem}.transformation-score span{color:#ddd}.reveal-line{position:absolute;z-index:5;left:var(--reveal);top:0;bottom:0;width:2px;background:rgba(255,255,255,.92);transform:translateX(-1px);pointer-events:none;box-shadow:0 0 22px rgba(0,0,0,.7)}.reveal-line>span{position:absolute;top:50%;left:50%;display:flex;align-items:center;justify-content:center;gap:.9rem;width:82px;height:82px;border:1px solid rgba(255,255,255,.8);border-radius:50%;background:rgba(9,9,8,.83);transform:translate(-50%,-50%);box-shadow:0 12px 32px rgba(0,0,0,.35)}.reveal-line b{font-size:1.7rem;line-height:1}.reveal-control{position:absolute;z-index:8;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}.mood-picker{position:absolute;z-index:10;right:1.5rem;bottom:1.5rem;display:flex;align-items:center;gap:.3rem;padding:.45rem;background:rgba(9,9,8,.83);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(12px)}.mood-picker>span{padding:0 .8rem;color:#999;text-transform:uppercase;font-size:.62rem;font-weight:900;letter-spacing:.14em}.mood-picker button{display:flex;align-items:center;gap:.45rem;padding:.75rem;border:1px solid transparent;background:transparent;color:#aaa;text-transform:uppercase;font-size:.62rem;font-weight:900;letter-spacing:.1em}.mood-picker button i{width:10px;height:10px;border-radius:50%;background:#ffa548}.mood-picker button[data-mood="natural"] i{background:#9fc486}.mood-picker button[data-mood="evening"] i{background:#7588df}.mood-picker button.is-active{color:white;border-color:rgba(255,255,255,.33);background:rgba(255,255,255,.07)}.explore-next{position:relative;max-width:1500px;margin:1.3rem auto 0;padding:1.4rem 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.explore-next p{margin:0;color:#999}.explore-next p span{color:white;font-weight:800}.explore-next a{display:flex;align-items:center;gap:1rem;color:white;text-decoration:none;text-transform:uppercase;font-size:.72rem;font-weight:900;letter-spacing:.13em}.explore-next a i{display:grid;place-items:center;width:42px;height:42px;background:var(--orange);color:#090909;font-style:normal;transition:transform .25s ease}.explore-next a:hover i{transform:translateY(5px)}#services-preview{scroll-margin-top:80px}
@media(max-width:760px){.transformation{padding:4.5rem 1rem 5rem}.transformation-intro{display:block;margin-bottom:1.5rem}.transformation-intro h2{font-size:clamp(3rem,14vw,4.8rem)}.transformation-intro>p{margin-top:1.3rem;font-size:.94rem}.transformation-stage{min-height:62svh;max-height:720px}.transformation-layer{background-position:center}.comparison-label{top:1rem;padding:.6rem .7rem}.label-before{left:1rem}.label-after{right:1rem}.transformation-score{left:1rem;bottom:5.7rem;padding:.55rem .7rem}.transformation-score strong{font-size:1rem}.reveal-line>span{width:62px;height:62px;gap:.55rem}.reveal-line b{font-size:1.3rem}.mood-picker{left:.7rem;right:.7rem;bottom:.7rem;justify-content:space-between;overflow:hidden}.mood-picker>span{display:none}.mood-picker button{justify-content:center;flex:1;padding:.7rem .3rem;font-size:.56rem}.explore-next{display:block;padding:1.3rem .2rem}.explore-next p{line-height:1.5}.explore-next a{justify-content:space-between;margin-top:1rem}}
@media(prefers-reduced-motion:reduce){.transformation-after,.transformation-atmosphere{transition:none}}


/* Contact panel close fix v2
   Hide all real child content immediately on close, while the panel shell
   itself completes its slide-out animation. This avoids compositor-layer
   ghosting of the phone / WhatsApp / email cards on mobile browsers. */
.estimate-panel{
  overflow:hidden;
}
.estimate-panel.is-closing{
  visibility:visible;
  pointer-events:none;
}
.panel-card{
  clip-path:inset(0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  transform-style:flat;
}
.estimate-panel.is-closing .panel-card > *{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  animation:none !important;
  transition:none !important;
}
.estimate-panel.is-closing .panel-backdrop{
  opacity:0;
}

@media(max-width:899px){
  .panel-card{
    transform:translate3d(101%,0,0);
    will-change:transform;
  }
  .estimate-panel.is-open .panel-card{
    transform:translate3d(0,0,0);
  }
  .estimate-panel.is-closing .panel-card{
    transform:translate3d(101%,0,0);
  }
}

@media(prefers-reduced-motion:reduce){
  .estimate-panel.is-closing .panel-card{
    transition:none;
  }
}

/* Construction reveal: a warmer frame gives the finished build visual weight. */
.construction-service{border-top-color:rgba(255,126,0,.34);background:linear-gradient(135deg,rgba(255,126,0,.035),transparent 42%),#0d0e0d}
.construction-service .apartment-compare{border-color:rgba(255,126,0,.42);box-shadow:0 28px 90px rgba(0,0,0,.42)}

.why-lp{padding:clamp(3.5rem,7vw,7rem) var(--pad);background:#0d0f0d;border-top:1px solid var(--line);scroll-margin-top:100px}
.why-inner{max-width:1500px;margin:auto}.why-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.5rem}
.why-heading h2{font-size:clamp(2.4rem,5vw,5.5rem);letter-spacing:-.045em;line-height:1.05;margin:0}.why-heading em{color:var(--orange);font-style:normal}.why-heading>p{color:#b8bbb3;font-size:1.1rem;line-height:1.6}
.why-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.why-card{border:1px solid #ffffff24;background:#191b17;overflow:hidden;transition:border-color .3s,box-shadow .3s}
.why-card[open]{border-color:#ff720099;box-shadow:0 16px 40px #0003}.why-card summary{list-style:none;cursor:pointer}.why-card summary::-webkit-details-marker{display:none}.why-card summary:focus-visible{outline:2px solid var(--orange);outline-offset:-4px}
.why-art{display:block;overflow:hidden;background:#171916;aspect-ratio:3/2}.why-art img{display:block;width:100%;height:100%;object-fit:cover;transform:translate(var(--art-x,0px),var(--art-y,0px)) scale(1.025);transition:transform .3s ease}
.why-card:hover{border-color:#ff720088}.why-card-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.4rem 1.5rem}.why-card-heading small{display:block;color:#e9a35e;font-size:.875rem;margin-bottom:.65rem}.why-card-heading strong{font-size:clamp(1.2rem,2vw,1.8rem);letter-spacing:-.025em;line-height:1.2;display:block}
.why-plus{flex:0 0 40px;height:40px;display:grid;place-items:center;border:1px solid #ffffff40;font-size:1.6rem;color:#eee;transition:transform .3s,background .3s}.why-card[open] .why-plus{transform:rotate(45deg);background:var(--orange);color:#121310;border-color:var(--orange)}
.why-detail{padding:0 1.5rem 1.5rem}.why-detail p{border-top:1px solid #ffffff20;padding-top:1rem;margin:0;color:#bec1b7;font-size:1rem;line-height:1.6;max-width:48ch}
.why-closing{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:2rem;padding-top:2rem;border-top:1px solid #ffffff25}.why-closing p{color:#b7bbb0;font-size:1.25rem;margin:0}.why-closing strong{color:#fff}.why-closing button{display:flex;justify-content:space-between;gap:2rem;padding:1.2rem 1.5rem;background:var(--orange);color:#10110f;border:0;font:inherit;font-weight:800;cursor:pointer;transition:transform .2s}.why-closing button:hover{transform:translateY(-3px)}
@media(max-width:760px){.why-lp{padding:3.5rem 1rem}.why-heading{display:block}.why-heading>p{margin:1.25rem 0 0}.why-grid{grid-template-columns:1fr;gap:1.2rem}.why-card-heading{padding:1.2rem}.why-detail{padding:0 1.2rem 1.2rem}.why-closing{align-items:stretch;flex-direction:column}.why-closing button{width:100%}}
@media(prefers-reduced-motion:reduce){.why-art img,.why-card,.why-plus,.why-closing button{transition:none;transform:none}}

.space-explorer{padding:clamp(3.5rem,7vw,7rem) var(--pad);background:linear-gradient(145deg,#1d211c,#10120f 65%);border-top:1px solid var(--line);scroll-margin-top:100px}
.explorer-inner{max-width:1500px;margin:auto}.explorer-heading{margin-bottom:2rem}.explorer-heading h2{font-size:clamp(2.3rem,5vw,5.4rem);line-height:1.05;letter-spacing:-.045em;margin:0}.explorer-heading em{font-style:normal;color:var(--orange)}.explorer-heading>p:last-child{color:#b9bdb3;line-height:1.6;margin:1.2rem 0 0;font-size:1rem}
.explorer-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:clamp(1rem,3vw,3rem);align-items:start}.explorer-visual{min-width:0}.explorer-photo{position:relative;aspect-ratio:3/2;overflow:hidden;border:1px solid #ffffff30;background:#22251f}.explorer-photo>img{width:100%;height:100%;object-fit:cover;display:block}.explorer-photo-label{position:absolute;top:.75rem;left:.75rem;padding:.5rem .75rem;background:#10120fe8;border:1px solid #ffffff40;font-size:.875rem;line-height:1.3;color:#fff}.explorer-loading{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);background:#10120fe8;padding:.7rem 1rem;color:#fff;border:1px solid #ff7200;font-size:.875rem;white-space:nowrap}.explorer-loading[hidden]{display:none}.explorer-disclosure{color:#a5ab9d;font-size:.8rem;line-height:1.5;margin:.65rem 0 0}
.explorer-instruction{margin:0 0 .9rem;color:#fff;font-size:1rem;font-weight:700}.explorer-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.explorer-steps button{min-width:0;min-height:64px;text-align:left;border:1px solid #ffffff30;padding:.65rem;background:#ffffff05;color:#e7e9e2;font:inherit;font-size:.875rem;line-height:1.3;cursor:pointer;transition:background .2s,border-color .2s}.explorer-steps button span{display:block;font-size:.75rem;color:#eaa967;margin-bottom:.2rem}.explorer-steps button[aria-pressed="true"]{background:var(--orange);border-color:var(--orange);color:#10120f;font-weight:800}.explorer-steps button[aria-pressed="true"] span{color:#292311}.explorer-steps button:hover{border-color:var(--orange)}.explorer-console button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.explorer-caption{padding:1.35rem 0;min-height:175px}.explorer-caption>span{font-size:.8rem;color:#eaa967;letter-spacing:.12em}.explorer-caption h3{font-size:1.45rem;line-height:1.15;margin:.6rem 0}.explorer-caption p{color:#bec3b7;line-height:1.5;font-size:1rem;margin:0}.explorer-navigation{display:flex;gap:8px}.explorer-navigation button{border:1px solid #ff7200;background:var(--orange);color:#11140f;padding:.9rem;font:inherit;font-weight:800;min-height:48px;cursor:pointer}.explorer-navigation button:first-child{flex:0 0 48px;background:transparent;color:#fff;border-color:#ffffff40}.explorer-navigation button:disabled{opacity:.3;cursor:default}.explorer-navigation button:last-child{flex:1;text-align:center}.explorer-play{display:block;width:100%;padding:.85rem .5rem;background:transparent;border:1px solid #ffffff30;margin-top:.6rem;color:#cbd0c2;font:inherit;font-size:.875rem;cursor:pointer;min-height:44px}.explorer-play[aria-pressed="true"]{border-color:var(--orange);color:#fff}#explorerError{font-size:.875rem;color:#ffcf9b;line-height:1.5}
.explorer-finish{border-top:1px solid #ffffff25;margin-top:2.5rem;padding-top:2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.explorer-finish h3{font-size:clamp(1.5rem,2.6vw,2.5rem);line-height:1.15;margin:0}.explorer-finish p{color:#b9bdb3;line-height:1.6;font-size:1rem;margin:1rem 0 0}.explorer-finish button{display:flex;justify-content:space-between;gap:2rem;flex-shrink:0;padding:1.2rem 1.5rem;background:var(--orange);border:0;color:#11140f;font:inherit;font-weight:800;cursor:pointer}
@media(max-width:900px){.explorer-layout{grid-template-columns:1fr}.explorer-caption{min-height:145px}.explorer-finish{align-items:stretch;flex-direction:column}.explorer-finish button{width:100%}}
@media(max-width:760px){.space-explorer{padding:3.5rem 1rem}.explorer-heading{margin-bottom:1.5rem}.explorer-layout{gap:1.25rem}.explorer-steps button{min-height:62px}.explorer-photo-label{font-size:.8rem;top:.5rem;left:.5rem}.explorer-caption h3{font-size:1.3rem}}
@media(prefers-reduced-motion:reduce){.explorer-steps button{transition:none}}

.explorer-included-hint{margin:-.4rem 0 1rem;color:#bbc0b3;font-size:.875rem;line-height:1.4}
.explorer-steps button.is-included{background:var(--orange);border-color:var(--orange);color:#10120f;font-weight:800}
.explorer-steps button.is-included span{color:#292311}
.explorer-steps button[aria-current="step"]{box-shadow:inset 0 0 0 2px #151a13,inset 0 -5px 0 #151a13}

/* Commercial experience. */
.brand-experience{padding:clamp(3.5rem,7vw,7rem) var(--pad);background:#131411;border-top:1px solid var(--line);scroll-margin-top:100px}
.brand-experience-inner{max-width:1500px;margin:auto;position:relative}
.brand-experience{position:relative;overflow:hidden;background:radial-gradient(ellipse at 95% 0, #59331555,transparent 60%),#11120f}
.brand-experience:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.3;background-image:linear-gradient(#ffffff09 1px,transparent 1px),linear-gradient(90deg,#ffffff09 1px,transparent 1px);background-size:64px 64px}
.brand-gallery{margin-top:3rem;overflow-x:auto;scrollbar-width:none;border-block:1px solid #ff720030;padding:1.4rem 0;overscroll-behavior-x:contain}
.brand-gallery::-webkit-scrollbar{display:none}
.brand-gallery:focus-visible{outline:2px solid var(--orange);outline-offset:5px}
.brand-track{display:flex;width:max-content}
.brand-group{display:flex;gap:18px;list-style:none;margin:0;padding:0 18px 0 0}
.brand-group li{position:relative;display:grid;place-items:center;flex:0 0 clamp(240px,25vw,350px);width:clamp(240px,25vw,350px);height:230px;background:radial-gradient(ellipse at 50% 110%,#ff720012,transparent 70%),linear-gradient(135deg,#1b1b19,#101110);border:1px solid #ffffff16;box-shadow:inset 0 1px #ffffff06;transition:transform .35s,box-shadow .35s,border-color .35s}
.brand-group li:after{content:"";position:absolute;width:22px;height:22px;right:12px;bottom:12px;border-right:1px solid #ff720075;border-bottom:1px solid #ff720075}
.brand-group li:before{content:"";position:absolute;inset:0 20% auto;height:1px;background:linear-gradient(90deg,transparent,#ff720090,transparent)}
.brand-group img{display:block;width:68%;height:78px;object-fit:contain;transition:transform .35s,filter .35s}
.brand-group img.target-brand{width:72px;height:96px}
.brand-plate-index{position:absolute;top:18px;left:20px;color:#b8997d;font:500 .7rem/1.2 ui-monospace,monospace;letter-spacing:.12em}
.brand-plate-caption{position:absolute;bottom:22px;left:20px;display:flex;align-items:center;gap:9px;color:#aaa79f;font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em}
.brand-plate-caption:before{content:"";width:18px;height:1px;background:var(--orange)}
.brand-group li:hover{transform:translateY(-3px);border-color:#ff720065;box-shadow:inset 0 1px #ff720025,0 10px 25px #0004}
.brand-group li:hover img{transform:scale(1.045)}
.brand-gallery-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.3rem;color:#b7b9b0;font-size:.875rem}
.brand-controls{display:flex;gap:8px}.brand-controls[hidden]{display:none}
.brand-controls button{min-height:44px;min-width:44px;border:1px solid #ffffff35;color:#eee;background:#ffffff08;padding:.65rem 1rem;font:inherit;cursor:pointer;transition:background .2s,border-color .2s}
.brand-controls button:hover,.brand-controls button:focus-visible{border-color:var(--orange);background:#ff72001c}
@media(max-width:760px){.brand-gallery{margin-top:2rem}.brand-group li{height:210px;flex-basis:240px;width:240px}.brand-group img{width:72%;height:68px}.brand-group img.target-brand{width:64px;height:86px}.brand-gallery-footer{align-items:flex-start;flex-direction:column}.brand-controls{align-self:flex-end}}
@media(prefers-reduced-motion:reduce){.brand-group li,.brand-group img{transition:none}}
.brand-experience-heading{max-width:850px}
.brand-experience-heading h2{margin:0;font-size:clamp(2.25rem,4.6vw,4.7rem);line-height:1.06;letter-spacing:-.045em}
.brand-experience-heading h2 em{color:var(--orange);font-style:normal}
.brand-experience-heading>p:last-child{color:#b7b9b0;max-width:560px;font-size:1rem;line-height:1.6;margin:1.4rem 0 0}
.experience-brands{list-style:none;padding:0;margin:clamp(2rem,4vw,4rem) 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #45463f;border-bottom:1px solid #45463f}
.experience-brands li{min-width:0;position:relative;padding:clamp(1.7rem,3vw,3rem) 1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}
.experience-brands li+li{border-left:1px solid #363830}
.experience-brand-name{font-size:clamp(2rem,3.2vw,3.5rem);font-weight:800;letter-spacing:-.045em;line-height:1.15;color:#f3f1e9}
.experience-brand-sector{font-size:.875rem;color:#b7b9b0;line-height:1.4}
@media(max-width:760px){.brand-experience{padding:3.5rem 1rem}.experience-brands{grid-template-columns:repeat(2,minmax(0,1fr))}.experience-brands li:nth-child(3){border-left:0}.experience-brands li:nth-child(n+3){border-top:1px solid #363830}.experience-brand-name{font-size:clamp(1.7rem,7vw,2.8rem)}}
.mobile-menu#mobileMenu nav a{grid-template-columns:28px minmax(0,1fr) 24px;gap:.8rem;align-items:center;min-height:56px;padding:.85rem .35rem;font-size:clamp(1rem,2.4vw,1.35rem);line-height:1.25;letter-spacing:-.015em}
.mobile-menu#mobileMenu .nav-icon{width:25px;height:25px;margin:0;transform-origin:center;overflow:visible}
.mobile-menu#mobileMenu nav a>b{width:24px;height:24px;font-size:1rem}
.mobile-menu#mobileMenu nav a[aria-current="location"]{color:var(--orange);background:rgba(255,120,0,.07)}
.mobile-menu#mobileMenu.is-open nav a .nav-icon{animation:menu-icon-life 3.6s ease-in-out 2;animation-delay:.4s}
.mobile-menu#mobileMenu.is-open nav a:nth-child(2n) .nav-icon{animation-delay:.8s}
.mobile-menu#mobileMenu.is-open nav a:nth-child(3n) .nav-icon{animation-delay:1.2s}
.mobile-menu#mobileMenu nav a:hover .nav-icon,.mobile-menu#mobileMenu nav a:focus-visible .nav-icon{stroke:#fff}
@keyframes menu-icon-life{0%,70%,100%{transform:translateY(0) rotate(0)}78%{transform:translateY(-2px) rotate(-5deg)}88%{transform:translateY(0) rotate(4deg)}}
@media(prefers-reduced-motion:reduce){.mobile-menu#mobileMenu.is-open nav a .nav-icon{animation:none}}
/* Footer and official social profiles. */
.site-footer{position:relative;padding:clamp(2.5rem,5vw,4.5rem) var(--pad) 1.5rem;background:radial-gradient(ellipse at 0 0,#ff72000a,transparent 60%),#0b0c0b;border-top:1px solid #ff720035}
.site-footer:before{content:"";position:absolute;top:-1px;left:var(--pad);width:70px;height:2px;background:var(--orange)}
.footer-inner{max-width:1500px;margin:auto}
.footer-top{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,1.5fr) auto;align-items:center;gap:clamp(1.5rem,3vw,3rem);padding-bottom:2.5rem}
.footer-brand{display:block;width:min(100%,280px)}
.footer-brand img{display:block;width:100%;height:auto}
.footer-label{display:block;margin-bottom:.75rem;color:#a4a59e;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}
.footer-email a{color:var(--ink);font-size:clamp(.875rem,1.3vw,1.1rem);line-height:1.6;text-decoration:none;overflow-wrap:anywhere}
.footer-email a>span{color:var(--orange);display:inline-block;margin-left:.3rem}
.footer-socials{display:flex;gap:12px}
.footer-social{display:grid;place-items:center;width:46px;height:46px;border:1px solid #ff720040;background:#ff720008;color:var(--orange)}
.footer-social svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7}
.footer-social:hover{background:#ff720020;border-color:var(--orange)}
.footer-social .social-fill,.footer-social .social-dot{fill:currentColor;stroke:none}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid #ffffff14;padding-top:1.4rem;color:#93958e;font-size:.78rem;line-height:1.6}
.footer-bottom p{margin:0}.footer-bottom p>span{margin:0 .4rem;color:var(--orange)}
.footer-credit a{display:inline-block;padding:.3rem 0;color:var(--ink);text-decoration:underline;text-decoration-color:#ff720080;text-underline-offset:5px}
.footer-credit a span{color:var(--orange);margin-left:.3rem}
.site-footer a:hover{color:var(--orange)}.site-footer a:focus-visible{outline:2px solid var(--orange);outline-offset:5px}
@media(max-width:900px){.footer-top{grid-template-columns:1fr auto}.footer-brand{grid-column:1/-1;width:245px}}
@media(max-width:480px){.footer-top{grid-template-columns:minmax(0,1fr);gap:1.6rem;padding-bottom:1.8rem}.footer-brand{grid-column:auto;width:225px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:.6rem}.footer-email a{font-size:.875rem}.site-footer{padding-bottom:calc(1.5rem + env(safe-area-inset-bottom))}}
