@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Manrope:wght@400;500;600&display=swap');
:root{--bg:#111313;--panel:#191c1c;--ink:#f3f2ed;--muted:#a6aaa6;--blue:#1978db;--line:#353838}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input{font:inherit}a,button,input,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #61acff;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Manrope','DM Sans',Arial,sans-serif;font-weight:400}h1{font-size:clamp(45px,5.5vw,90px);letter-spacing:-.055em;line-height:1.07}h2{font-size:clamp(35px,3.65vw,60px);line-height:1.15;letter-spacing:-.045em}h3{font-size:25px;letter-spacing:-.025em}em{font-family:Georgia,serif;font-weight:400}p{color:var(--muted)}header{height:104px;padding:0 5%;display:flex;justify-content:space-between;align-items:center;background:#090b0b;position:relative;z-index:10;border-bottom:1px solid #ffffff14}.brand-crop{display:block;width:116px;height:101px;position:relative;overflow:hidden}.brand-crop img{position:absolute;width:400px;max-width:none;left:-142px;top:-24px}nav{display:flex;align-items:center;gap:42px;font-size:13px}nav a:hover{color:#74b6ff}.nav-cta{padding:12px 20px;border:1px solid #646966}.nav-cta span{margin-left:25px}.menu{display:none}.hero{position:relative;height:min(790px,calc(100svh - 104px));min-height:580px;isolation:isolate;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.28) 65%,rgba(0,0,0,.12)),linear-gradient(0deg,rgba(0,0,0,.7),transparent 45%)}.hero-content{position:absolute;left:6%;top:19%;max-width:860px}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:600;color:#b6bbb6;margin-bottom:30px}.hero .eyebrow{color:#e0e4df}.hero h1{margin-bottom:27px}.hero p:not(.eyebrow){color:#d0d1ca;line-height:1.8;font-size:17px}.button{display:inline-flex;align-items:center;gap:45px;background:var(--blue);padding:15px 23px;font-size:13px;margin-top:17px;color:white;transition:background .2s}.button:hover{background:#0b63ba}.button span{font-size:21px}.hero-bottom{position:absolute;bottom:30px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.15em}.section{padding:100px 6%}.intro{display:grid;grid-template-columns:1fr 2fr;gap:40px}.intro-copy{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:35px 0 20px;max-width:850px}.text-link{display:inline-block;font-size:13px;border-bottom:1px solid #6a716b;padding-bottom:8px}.services{padding-top:65px;background:var(--panel)}.section-heading{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:40px;align-items:start;margin-bottom:50px}.section-heading>p:last-child{font-size:14px;align-self:end}.service-row{display:grid;grid-template-columns:75px 1.4fr 1fr 30px;align-items:center;gap:15px;border-top:1px solid var(--line);min-height:102px;transition:padding .25s,background .25s}.service-row:last-child{border-bottom:1px solid var(--line)}.service-row h3{margin:0;font-size:29px}.number{font-size:11px;color:#8c9691}.row-description{font-size:13px;color:var(--muted)}.arrow{font-size:27px}.service-row:hover{padding-left:12px;background:#ffffff04}.service-row:hover .arrow{color:#4fa1f7}.feature{min-height:590px;display:grid;grid-template-columns:1.15fr 1fr;background:#222624}.feature>img{width:100%;height:100%;min-height:590px;object-fit:cover}.feature-copy{padding:80px 12%;align-self:center}.feature-copy p{max-width:390px}.possibilities{padding-bottom:70px}.comparison{height:560px;position:relative;overflow:hidden;background:#292c29}.compare-image{position:absolute;inset:0;background-image:url('/assets/bathroom.png');background-repeat:no-repeat;background-size:200% 100%}.before{background-position:left center}.after{background-position:right center;clip-path:inset(0 0 0 var(--position))}.comparison input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}.comparison:focus-within{outline:2px solid #61acff;outline-offset:5px}.divider{position:absolute;top:0;bottom:0;left:var(--position);width:2px;background:white;pointer-events:none}.divider span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:100%;background:white;color:#151515;display:grid;place-items:center;width:50px;height:50px;font-size:23px}.image-label{position:absolute;top:22px;padding:7px 12px;font-size:10px;letter-spacing:.13em;background:#111c;color:white;z-index:2;pointer-events:none}.before-label{left:22px}.after-label{right:22px}.caption{font-size:11px;margin:12px 0 0;color:#8e9690}.process{padding-top:45px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:60px}.steps article{border-top:1px solid var(--line);padding-top:25px}.steps span{color:#65abf4;font-size:12px}.steps h3{margin:25px 0 15px;font-size:23px}.steps p{font-size:14px}.contact{padding:90px 6%;background:#e4e5de;color:#1c2524}.contact .eyebrow{color:#59645f}.contact-row{display:flex;align-items:center;justify-content:space-between;gap:50px}.contact h2{font-size:clamp(48px,5.8vw,88px);margin:0}.contact p{color:#58635d;font-size:14px}.phone{font-size:clamp(25px,2.8vw,42px);letter-spacing:-.04em}.small{font-size:12px!important}.contact .small{margin-top:15px}footer{padding:45px 6% 25px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:30px}footer>a{letter-spacing:.18em;font-size:20px}footer>a span{display:block;font-size:9px;color:#468cce;letter-spacing:.4em}footer p{font-size:12px;margin:0}.disclosure{flex-basis:100%;border-top:1px solid var(--line);padding-top:20px;font-size:10px;max-width:none}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:white;color:black;padding:10px}.skip:focus{top:10px}.service-hero{padding-top:50px;padding-bottom:75px}.breadcrumb{display:inline-block;font-size:12px;color:var(--muted);margin-bottom:50px}.service-hero h1{max-width:1000px;font-size:clamp(47px,6.2vw,95px)}.service-summary{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:45px}.service-summary h2{font-size:22px}.service-summary p{max-width:620px}.detail-media{padding:0 6%}.detail-image{width:100%;height:570px;object-fit:cover}.scope{display:grid;grid-template-columns:1fr 1fr;gap:60px}.scope-row{display:flex;gap:30px;padding:23px 0;border-top:1px solid var(--line)}.scope-row span{font-size:11px;color:#719fc6}.scope-row h3{font-size:22px;margin:0}.scope .small{margin-top:25px}.planning{background:var(--panel);display:grid;grid-template-columns:1fr 1fr;column-gap:70px}.planning>.eyebrow{grid-column:1/-1}.planning>p:not(.eyebrow){align-self:center}.planning details{grid-column:2;border-top:1px solid var(--line);padding:23px 0}.planning summary{cursor:pointer;line-height:1.5;padding-right:15px}.planning details p{font-size:14px;margin:20px 0 0}.next-service{padding:55px 6%;display:flex;justify-content:space-between;gap:20px;align-items:center}.next-service span{font-size:10px;letter-spacing:.12em;color:var(--muted)}.next-service a{font-size:25px}
@media(min-width:1700px){.section,header,.contact,footer{padding-left:max(6%,calc((100vw - 1550px)/2));padding-right:max(6%,calc((100vw - 1550px)/2))}}@media(max-width:900px){nav{gap:22px}.section{padding:70px 6%}.hero-content{top:20%}.hero{min-height:610px}.intro{grid-template-columns:1fr}.section-heading{grid-template-columns:1fr 1fr}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:0}.service-row{grid-template-columns:40px 1fr 25px}.row-description{display:none}.feature-copy{padding:50px 10%}.feature>img{min-height:500px}.comparison{height:430px}.planning details{grid-column:1/-1}.contact-row{align-items:flex-start}.steps{gap:25px}}
@media(max-width:620px){header{height:88px;padding:0 6%}.brand-crop{transform:scale(.8);transform-origin:left center}.menu{display:block;background:none;border:1px solid #53605a;color:white;font-size:12px;padding:9px 14px}nav{display:none;position:absolute;top:88px;left:0;right:0;background:#101414;padding:25px 6%;flex-direction:column;align-items:stretch;gap:22px;border-bottom:1px solid #555}nav.open{display:flex}.hero{height:680px;min-height:0;max-height:calc(100svh - 88px)}.hero-image{object-position:60%}.hero-content{top:18%;left:6%;right:6%}.hero h1{font-size:46px;line-height:1.13}.hero .eyebrow{font-size:9px}.hero p:not(.eyebrow){font-size:14px}.hero-bottom{font-size:8px;gap:20px}.eyebrow{font-size:9px}.intro-copy{grid-template-columns:1fr;gap:0;margin-top:25px}.section{padding:60px 6%}.section-heading{grid-template-columns:1fr;gap:10px;margin-bottom:30px}.section-heading .eyebrow{margin-bottom:15px}.section-heading h2{margin-bottom:10px}.service-row{min-height:83px;gap:9px;grid-template-columns:28px 1fr 25px}.service-row h3{font-size:24px}.feature{grid-template-columns:1fr}.feature>img{height:330px;min-height:0}.feature-copy{padding:50px 6%}.comparison{height:330px}.image-label{font-size:8px;top:12px}.before-label{left:12px}.after-label{right:12px}.steps{grid-template-columns:1fr;gap:25px;margin-top:35px}.steps h3{margin-top:14px}.contact{padding:60px 6%}.contact-row{flex-direction:column;gap:35px}.contact h2{font-size:54px}footer{gap:20px}footer p{font-size:10px}.service-summary,.scope,.planning{grid-template-columns:1fr;gap:20px}.service-hero h1{font-size:47px}.service-summary{margin-top:25px}.service-summary h2{margin-bottom:0}.breadcrumb{margin-bottom:30px}.service-hero .eyebrow{margin-bottom:25px}.detail-image{height:350px}.planning details{grid-column:1}.next-service{align-items:flex-start;flex-direction:column}.caption{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Preserve the photographic proportions of each comparison panel. */
.compare-image{background-size:200% auto}

/* Blend the original black-backed artwork into the header. */
.brand{mix-blend-mode:screen}
/* Accessible hamburger navigation at every screen size. */
.menu{display:flex;flex-direction:column;justify-content:center;gap:6px;width:48px;height:48px;padding:11px;background:transparent;border:1px solid #53605a;color:white;cursor:pointer}
.menu span{display:block;width:24px;height:1px;background:currentColor;transition:transform .2s,opacity .2s}
.menu[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
header nav{display:none;position:absolute;top:100%;left:auto;right:5%;width:min(370px,90%);padding:28px;background:#101414;border:1px solid #353838;flex-direction:column;align-items:stretch;gap:24px;box-shadow:0 18px 30px #0005;font-size:16px}
header nav.open{display:flex}
@media(max-width:620px){header nav{right:0;width:100%;padding:28px 6%;border-left:0;border-right:0}}

header nav{max-height:calc(100svh - 110px);overflow-y:auto}.service-nav summary{cursor:pointer}.service-nav>div{display:flex;flex-direction:column;gap:12px;padding:18px 0 0 16px;font-size:14px;color:#bfc7c2}
/* Compact logo with balanced clear space above and below. */
.brand{display:flex;align-items:center;padding:15px 0}
.brand-crop{width:84px;height:74px;transform:none}
.brand-crop img{width:290px;left:-103px;top:-17.4px}
@media(max-width:620px){.brand{padding:12px 0}.brand-crop{width:72px;height:63px;transform:none}.brand-crop img{width:248px;left:-88px;top:-14.9px}}

/* Flat vector arrows avoid platform-specific glyph and emoji rendering. */
.icon-arrow{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0}.button .icon-arrow,.arrow .icon-arrow{width:22px;height:22px}.divider .icon-arrow{width:24px;height:24px}.phone .icon-arrow{width:.8em;height:.8em}

/* About page */
.about-hero{padding-top:115px;padding-bottom:105px;background:linear-gradient(135deg,#111313 0%,#171b1b 70%,#122842 145%)}
.about-hero h1{max-width:1150px;margin-bottom:42px;font-size:clamp(48px,6.5vw,102px)}
.about-lead{max-width:760px;font-size:clamp(18px,2vw,25px);line-height:1.55;color:#d2d5d0}
.about-founder{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);gap:8%;align-items:center;background:var(--panel)}
.about-artwork{height:680px;overflow:hidden;background:#050606;border:1px solid #2c3130}
.about-artwork img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 52%}
.about-founder-copy{max-width:650px}
.about-founder-copy p{font-size:17px}
.about-founder-copy strong{color:var(--ink);font-weight:600}
.about-values{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}
.about-values-copy{padding-top:25px}
.about-values-copy p{font-size:17px;max-width:680px}
.about-legacy{padding:120px 6%;text-align:center;background:#0a0c0c;border-top:1px solid var(--line)}
.about-legacy h2{max-width:1100px;margin:0 auto 30px;font-size:clamp(38px,5vw,75px)}
.about-legacy .button{margin-top:18px}
header nav a[aria-current="page"]{color:#74b6ff}
@media(max-width:900px){.about-founder{gap:6%;}.about-artwork{height:570px}.about-founder-copy p,.about-values-copy p{font-size:16px}}
@media(max-width:620px){.about-hero{padding-top:75px;padding-bottom:70px}.about-hero h1{font-size:46px}.about-lead{font-size:17px}.about-founder,.about-values{grid-template-columns:1fr}.about-artwork{height:470px}.about-founder-copy{padding-top:25px}.about-values{gap:25px}.about-values-copy{padding-top:0}.about-legacy{padding:75px 6%;text-align:left}.about-legacy h2{font-size:40px}}
