:root{--ink:#1c3535;--gold:#e9c977;--paper:#fff;--muted:#576463;--line:#d8dfdc;--soft:#f1f4f2;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;scroll-behavior:smooth;scroll-padding-top:100px}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}a,button,input,select{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bb8714;outline-offset:5px}.skip{position:absolute;left:16px;top:-80px;z-index:10;background:white;padding:16px}.skip:focus{top:16px}.header{height:100px;max-width:1440px;margin:auto;padding:0 5%;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:12px;align-items:center;font-family:Manrope,Arial,sans-serif;font-weight:800;letter-spacing:.16em;line-height:1.1;font-size:1.2rem}.brand small{display:block;font-size:.66rem;letter-spacing:.29em;margin-top:6px}.brand-mark{font-size:2.3rem;font-weight:500;letter-spacing:0;border-left:2px solid var(--gold);padding:3px 10px 3px 8px}nav{display:flex;align-items:center;gap:36px;font-size:.9rem}nav a:hover{color:#8a6517}.nav-cta{border:1px solid var(--line);padding:14px 20px}.nav-cta span{margin-left:20px}.hero{background:var(--ink);color:white;display:grid;grid-template-columns:1.05fr 1fr;position:relative}.hero-copy{padding:70px max(6vw,30px) 60px}.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.19em;margin:0 0 26px}.hero .eyebrow{color:var(--gold)}h1,h2,h3{font-family:Manrope,Arial,sans-serif;font-weight:500;margin:0;letter-spacing:0}h1{font-size:4.6rem;line-height:1.08}h1 em{font-family:Georgia,serif;color:var(--gold);font-weight:400}p{line-height:1.7}.intro{max-width:440px;color:#d5dfdc;margin:28px 0 30px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:36px;padding:18px 24px;border:0;font-weight:700;cursor:pointer;min-height:56px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.gold{background:var(--gold);color:var(--ink)}.gold:hover{background:#f4d88c}.dark{background:var(--ink);color:white}.dark:hover{background:#2f5351}.under-cta{display:block;font-size:.8rem;color:#c3d0cd;margin-top:16px}.hero-visual{position:relative;min-height:570px;background:#71827a;overflow:hidden}.hero-visual img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.image-caption{position:absolute;bottom:24px;left:28px;right:28px;z-index:1;font-size:.72rem;letter-spacing:.17em;background:rgba(20,40,37,.7);padding:12px 16px;color:#fff}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;padding:22px 6%;border-top:1px solid #48605b;font-size:.85rem;color:#d5dfdc}.hero-bottom a span{margin-left:20px}.section{padding:100px 6%;max-width:1440px;margin:auto}.section-head{display:grid;grid-template-columns:1.2fr 1fr;column-gap:100px;align-items:end;margin-bottom:48px}.section-head .eyebrow{grid-column:1/-1;color:#697a76}.section-head h2,h2{font-size:3rem;line-height:1.17}.section-head>p:last-child{color:var(--muted);margin:0;max-width:450px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.service-grid article{padding:34px 30px 0 0}.service-grid article+article{padding-left:30px;border-left:1px solid var(--line)}.service-number{font-size:.8rem;color:#6c7c75;display:block;margin-bottom:40px}.service-grid h3{font-size:1.45rem;letter-spacing:0}.service-grid p{color:var(--muted);margin:16px 0 32px}.service-tag{font-size:.7rem;letter-spacing:.12em;font-weight:700}.project{background:var(--soft);max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:9vw}.project .eyebrow{color:#697a76}.project-steps article{display:flex;gap:25px;padding:26px 0;border-top:1px solid #ccd6d0}.project-steps article:first-child{padding-top:0;border:0}.project-steps article>span{font-size:.8rem;color:#748680;padding-top:7px}.project-steps h3{font-size:1.4rem}.project-steps p{margin:10px 0 0;color:var(--muted)}.calculator{display:grid;grid-template-columns:1.15fr 1fr;border:1px solid var(--line)}form{padding:38px}.form-row{display:grid;grid-template-columns:1fr 1.3fr;gap:20px;margin-bottom:24px}label{font-size:.88rem;font-weight:600;display:block}label>span:not(.checkbox span){color:var(--muted);font-weight:400}input[type=number],select{display:block;width:100%;min-width:0;margin-top:10px;border:1px solid #c5ceca;background:white;border-radius:0;padding:13px 10px;color:var(--ink);height:50px}input:invalid:not(:focus){box-shadow:none}.checkbox{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:400;margin-top:30px}.checkbox input{width:19px;height:19px;accent-color:var(--ink)}.field-note{font-size:.78rem;line-height:1.5;color:var(--muted);margin:12px 0 22px}form .button{width:100%;margin-top:3px}.result{background:var(--ink);color:#fff;padding:40px;display:flex;flex-direction:column}.result>.eyebrow{color:var(--gold);font-size:.7rem}.result-start{font-family:Georgia,serif;font-size:2.4rem;line-height:1.15;margin:30px 0}.result p{color:#d5dfdc}.result-footer{border-top:1px solid #58706a;font-size:.78rem;line-height:1.7;margin-top:auto;padding-top:22px;color:#c3d0cd}.price{font-family:Manrope,sans-serif;font-size:3.2rem;font-weight:500;color:var(--gold);letter-spacing:0;margin:35px 0 20px;line-height:1.2}.result-summary{font-size:.9rem;line-height:1.7;padding-bottom:20px}footer{padding:44px 6%;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}footer p,footer>a:last-child{font-size:.85rem}footer p{color:var(--muted)}
@media(min-width:1600px){.hero-copy{padding-left:max(6vw,calc((100vw - 1268px)/2))}.project{padding-left:max(6vw,calc((100vw - 1268px)/2));padding-right:max(6vw,calc((100vw - 1268px)/2))}}
@media(max-width:900px){.header{height:86px;padding:0 5%}nav{gap:20px}nav>a:first-child,nav>a:nth-child(2){display:none}.hero-copy{padding:50px 7%}.hero{grid-template-columns:1fr 1fr}h1{font-size:3.1rem}.section-head h2,h2{font-size:2.5rem}.hero-visual{min-height:520px}.section{padding:70px 6%}.section-head{gap:30px}.project{gap:40px}.calculator{grid-template-columns:1fr}.result{min-height:340px}.result-start{margin:15px 0}.service-grid h3{font-size:1.2rem}footer{flex-wrap:wrap}}
@media(max-width:620px){.brand{font-size:1rem}.brand-mark{font-size:2rem}.nav-cta{font-size:.78rem;padding:12px}.nav-cta span{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 6% 40px}h1{font-size:2.7rem}.section-head h2,h2{font-size:2rem}.intro{max-width:380px}.hero-visual{min-height:310px;max-height:400px}.hero-bottom{padding:20px 6%;gap:20px;align-items:center}.hero-bottom>span{display:none}.section-head{display:block}.section-head h2{margin-bottom:24px}.section{padding:60px 6%}.service-grid{grid-template-columns:1fr}.service-grid article,.service-grid article+article{border-left:0;padding:26px 0;border-bottom:1px solid var(--line)}.service-number{margin-bottom:18px}.service-grid h3{font-size:1.5rem}.service-grid p{margin-bottom:18px}.project{grid-template-columns:1fr}.project h2{margin-bottom:0}.form-row{grid-template-columns:1fr;gap:18px}form{padding:24px}.result{padding:28px}.result-start{font-size:2rem}.price{font-size:2.7rem}.eyebrow{font-size:.72rem}footer{align-items:flex-start;flex-direction:column}footer p{margin:0}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}
.platform{grid-template-columns:.8fr 1.2fr;align-items:start;padding:42px 5%;gap:40px}.platform .hero-copy{padding:35px 0;position:sticky;top:30px}.platform h1{font-size:3.8rem}.platform .intro{max-width:440px}.location{border-top:1px solid #58706a;padding-top:24px;font-size:.9rem;color:var(--gold)}.platform .calculator{display:flex;flex-direction:column;background:white;color:var(--ink);border:0}.platform form{padding:30px}.platform .result{min-height:220px;padding:28px 30px;background:#284a47}.platform .result-start{font-size:1.8rem;margin:10px 0}.platform .result p{margin:12px 0}.platform .result-footer{margin-top:12px;padding-top:14px}.platform .price{font-size:2.8rem;margin:12px 0}.platform .result-summary{padding-bottom:0}.platform .form-row{margin-bottom:18px}.platform .checkbox{margin-top:18px}.platform .field-note{margin:10px 0 16px}.inspiration{max-width:1440px;margin:0 auto;padding:0 6% 65px}.inspiration .hero-visual{min-height:250px;max-height:250px}.inspiration img{object-position:50% 55%}.project{margin-bottom:60px}
@media(max-width:900px){.platform{gap:25px;padding:30px 4%;grid-template-columns:.75fr 1.25fr}.platform h1{font-size:2.7rem}.platform form{padding:24px}.platform .form-row{gap:12px}.platform .result{padding:24px}}
@media(max-width:620px){.platform{display:block;padding:0}.platform .hero-copy{position:static;padding:30px 6%}.platform h1{font-size:2.7rem}.platform .intro{margin:18px 0}.platform .eyebrow{margin-bottom:18px}.platform .location{padding-top:14px;margin:16px 0}.platform .under-cta{margin-top:0}.platform .calculator{margin:0 4% 25px}.platform .form-row{grid-template-columns:1fr 1.2fr;gap:12px}.platform label{font-size:.875rem}.platform select{font-size:.875rem}.platform .price{font-size:2.2rem}.inspiration{padding-bottom:40px}.project{margin-bottom:40px}}

[hidden]{display:none!important}.request-section{max-width:1000px}.request-section form{padding:28px 0}.request-section input:not([type=checkbox]){display:block;width:100%;height:50px;margin-top:10px;padding:12px;border:1px solid #c5ceca;font:inherit}.request-section .form-row{grid-template-columns:1fr 1fr}.request-section button:disabled{opacity:.55;cursor:not-allowed;transform:none}#request-feedback{font-weight:600}.request-section h2{margin-bottom:20px}@media(max-width:620px){.request-section .form-row{grid-template-columns:1fr}}
.request-section textarea{display:block;width:100%;margin-top:10px;padding:12px;border:1px solid #c5ceca;font:inherit;resize:vertical;min-height:100px}textarea:focus-visible{outline:3px solid #bb8714;outline-offset:5px}#new-request{margin-top:18px}
footer nav{gap:18px;flex-wrap:wrap;font-size:.8rem}footer nav a{display:inline!important}.request-section .field-note a{text-decoration:underline}
.nav-call{font-weight:700}.nav-call span{display:block;font-size:.72rem;color:var(--muted);margin-top:3px}@media(max-width:900px){.header nav>a:not(.nav-cta):not(.nav-call){display:none}}@media(max-width:620px){.nav-call{font-size:.78rem}.nav-call span{display:none}}
.trust-proof{max-width:440px;margin:0 0 28px;padding:16px 18px;border-left:3px solid var(--gold);background:rgba(255,255,255,.07);color:#edf4f1;font-size:.92rem}.photo-field{display:none;border:1px solid var(--line);padding:20px;margin:22px 0}.photos-enabled .photo-field{display:block}.photo-field legend{font-weight:700;padding:0 8px}.photo-field input[type=file]{display:block;width:100%;margin-top:10px}.photo-preview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.photo-preview figure{margin:0}.photo-preview img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.photo-preview figcaption{font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;color:var(--muted)}
.article-page{background:var(--soft);padding:72px 5%}.article-content{max-width:820px;margin:auto;background:#fff;padding:clamp(32px,6vw,76px)}.article-content h1{font-size:clamp(2.4rem,5vw,4.5rem);margin-bottom:30px}.article-content h2{font-size:clamp(1.7rem,3vw,2.5rem);margin-top:60px}.article-content p,.article-content li{color:var(--muted);line-height:1.8}.article-content .article-lead{font-size:1.2rem;color:var(--ink);max-width:700px}.article-content ul{padding-left:24px}.article-cta{margin-top:32px}.article-note{font-size:.85rem}.article-content .button{color:var(--ink)}
.bathroom-prototype{margin-top:72px;padding-top:42px;border-top:1px solid var(--line)}.bathroom-prototype form{padding:0;display:grid;gap:24px}.bathroom-prototype fieldset{margin:0;padding:24px;border:1px solid var(--line)}.bathroom-prototype legend{padding:0 8px;font-weight:700}.bathroom-prototype label+label{margin-top:18px}.bathroom-prototype .checkbox{margin-top:18px}.bathroom-prototype .button{width:100%;color:white}.prototype-result{margin-top:24px;padding:28px;background:var(--ink);color:white}.prototype-result h3{font-size:1.5rem}.prototype-result h4{margin:28px 0 8px;font-family:Manrope,Arial,sans-serif;font-size:1rem}.prototype-result p,.prototype-result li{color:#d5dfdc}.prototype-result .eyebrow{color:var(--gold)}.prototype-result ul{padding-left:20px}.prototype-result table{width:100%;border-collapse:collapse;margin:24px 0;font-size:.9rem}.prototype-result caption{text-align:left;color:#d5dfdc;margin-bottom:12px;line-height:1.5}.prototype-result th,.prototype-result td{padding:12px 0;border-top:1px solid #58706a;text-align:left;vertical-align:top}.prototype-result td{text-align:right;white-space:nowrap;padding-left:18px;color:var(--gold);font-weight:700}.prototype-result th{font-weight:600}.prototype-result th small{display:block;color:#d5dfdc;font-weight:400;line-height:1.5;margin-top:4px}.prototype-result tfoot th,.prototype-result tfoot td{font-size:1.05rem;color:#fff}
.bathroom-prototype .show-validation .field-error{color:#9b1c1c}.bathroom-prototype .show-validation .field-error input:not([type=checkbox]),.bathroom-prototype .show-validation .field-error select{border-color:#b42318!important;box-shadow:0 0 0 1px #b42318}.bathroom-prototype .show-validation .field-error input[type=checkbox]{outline:2px solid #b42318;outline-offset:2px;accent-color:#b42318}.prototype-result .validation-message{color:#fff;margin:0;font-weight:700}

.brand{letter-spacing:0}.brand-logo{display:block;width:250px;height:64px;object-fit:contain;object-position:left center}.brand:focus-visible{outline:3px solid #bb8714;outline-offset:5px}@media(max-width:620px){.brand-logo{width:150px;height:44px}}

.hub-hero{background:var(--ink);color:#fff;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:10vw;padding:clamp(64px,10vw,140px) 7%;align-items:end}.hub-hero h1{font-size:clamp(3.1rem,6vw,6rem);max-width:880px}.hub-hero>div>p:not(.eyebrow){max-width:640px;color:#d5dfdc;font-size:1.15rem;margin:28px 0 34px}.hub-hero aside{border-left:1px solid #58706a;padding:10px 0 10px 32px}.hub-hero aside .eyebrow{color:var(--gold);margin-bottom:20px}.hub-hero aside strong{display:block;font-family:Manrope,Arial,sans-serif;font-size:1.45rem;line-height:1.35}.hub-hero aside p{color:#d5dfdc}.hub-hero aside span{font-size:.82rem;color:var(--gold);letter-spacing:.08em}.hub-services{max-width:none}.hub-service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.hub-service{min-height:310px;padding:34px 30px;display:flex;flex-direction:column;border-right:1px solid var(--line);background:#fff}.hub-service:last-child{border-right:0;background:var(--soft)}.hub-service.active{transition:background .2s,color .2s}.hub-service.active:hover{background:var(--ink);color:#fff}.hub-service>span{font-size:.78rem;color:#70817b;margin-bottom:auto}.hub-service h3{font-size:1.6rem}.hub-service p{color:var(--muted);max-width:310px}.hub-service.active:hover p{color:#d5dfdc}.hub-service b{font-size:.78rem;letter-spacing:.09em;margin-top:14px}.hub-service i{font-style:normal;float:right;font-size:1.2rem}@media(max-width:800px){.hub-hero{grid-template-columns:1fr;gap:40px}.hub-hero aside{border-left:0;border-top:1px solid #58706a;padding:28px 0 0}.hub-service-grid{grid-template-columns:1fr}.hub-service{min-height:230px;border-right:0;border-bottom:1px solid var(--line)}.hub-service:last-child{border-bottom:0}}
