.service-page{background:#000;color:#f5f5f3}.service-opening{display:grid;grid-template-columns:1fr 1.15fr;gap:6vw;padding:145px 4vw 55px;align-items:center}.service-opening>div{padding-left:3vw}.service-opening h1{font-size:clamp(34px,3.8vw,56px);font-weight:400;line-height:1.1;letter-spacing:-.04em;margin:22px 0}.service-opening>div>p:last-of-type{font-size:17px;line-height:1.8;color:#bbb}.service-opening figure{height:70vh;min-height:450px;margin:0;overflow:hidden}.service-page figure img{height:100%;width:100%;object-fit:cover}.service-scope{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:40px 7vw 65px;scroll-margin-top:40px}.service-page h2{font-size:clamp(28px,3vw,42px);font-weight:400;line-height:1.15;letter-spacing:-.035em;margin:20px 0}.service-scope p:not(.eyebrow),.service-context p:not(.eyebrow){font-size:17px;line-height:1.8;color:#bbb}.service-scope ul{list-style:none;padding:0;align-self:center}.service-scope li{border-top:1px solid #444;padding:22px 0;font-size:22px;line-height:1.5}.service-context{display:grid;grid-template-columns:1.25fr 1fr;gap:6vw;padding:0 4vw;align-items:center}.service-context figure{height:570px;margin:0}.service-context>div{padding-right:3vw}.service-planning{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:65px 7vw}.service-planning details{border-top:1px solid #333;padding:20px 0}.service-planning summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:44px;font-size:18px;line-height:1.5;list-style:none}.service-planning summary::-webkit-details-marker{display:none}.service-planning details p{font-size:16px;line-height:1.8;color:#bbb;margin-top:18px}.service-phone{display:block;font-size:18px;margin-top:25px}.service-page a:focus-visible,.service-page summary:focus-visible{outline:2px solid white;outline-offset:4px}@media(max-width:700px){.service-opening{display:flex;flex-direction:column;align-items:stretch;padding:115px 0 35px;gap:25px}.service-opening>div{padding:0 6vw}.service-opening h1{font-size:35px}.service-opening>div>p:last-of-type{font-size:16px}.service-opening figure{height:47vh;min-height:320px}.service-scope{display:block;padding:25px 6vw 40px}.service-scope ul{margin-top:30px}.service-scope li{font-size:20px}.service-context{display:flex;flex-direction:column;padding:0;gap:25px}.service-context figure{width:100%;height:48vh}.service-context>div{padding:0 6vw}.service-planning{display:block;padding:40px 6vw}.service-planning>div:last-child{margin-top:25px}}

/* Flooring needs room-scale context, not an isolated material texture. */
.service-flooring-installation .service-opening{display:block;padding:140px 4vw 45px}.service-flooring-installation .service-opening>div{display:grid;grid-template-columns:1fr 1fr;column-gap:8vw;padding:0 3vw 35px;align-items:center}.service-flooring-installation .service-opening .eyebrow{grid-column:1/-1}.service-flooring-installation .service-opening h1{max-width:650px}.service-flooring-installation .service-opening .text-link{grid-column:2}.service-flooring-installation .service-opening figure{height:auto;min-height:0;aspect-ratio:16/9}.service-flooring-installation .service-opening img{display:block;object-position:center 70%}@media(max-width:700px){.service-flooring-installation .service-opening{padding:115px 0 30px}.service-flooring-installation .service-opening>div{display:block;padding:0 6vw 25px}.service-flooring-installation .service-opening figure{aspect-ratio:4/5}.service-flooring-installation .service-opening img{object-position:72% center}}

.service-planning details[open] summary span{transform:rotate(45deg)}

/* Kitchen: establish the whole room before introducing the renovation scope. */
.service-kitchen-renovations .service-opening{display:flex;flex-direction:column;padding:120px 0 45px;gap:35px;align-items:stretch}
.service-kitchen-renovations .service-opening figure{order:-1;height:65vh;min-height:420px;margin:0 4vw}
.service-kitchen-renovations .service-opening>div{display:grid;grid-template-columns:1fr 1fr;column-gap:8vw;padding:0 7vw;align-items:center}
.service-kitchen-renovations .service-opening .eyebrow{grid-column:1/-1}
.service-kitchen-renovations .service-opening .text-link{grid-column:2}
.service-additions .service-context{grid-template-columns:1fr 1.25fr}
.service-additions .service-context figure{order:2}
.service-additions .service-context>div{padding:0 0 0 3vw}
@media(max-width:700px){.service-kitchen-renovations .service-opening{padding:100px 0 30px;gap:25px}.service-kitchen-renovations .service-opening figure{height:49vh;min-height:320px;margin:0}.service-kitchen-renovations .service-opening>div{display:block;padding:0 6vw}.service-additions .service-context figure{order:0}.service-additions .service-context>div{padding:0 6vw}}
@media(max-width:700px){.service-kitchen-renovations .service-opening img{object-position:24% center}}
.moisture-page{background:#000;color:#f5f5f3}.moisture-opening{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:145px 6vw 55px;align-items:center}.moisture-opening h1{font-size:clamp(34px,4vw,54px);font-weight:400;line-height:1.12;letter-spacing:-.04em;margin:22px 0}.moisture-page p:not(.eyebrow){font-size:17px;line-height:1.8;color:#bbb}.moisture-opening .moisture-note{font-size:14px;margin-top:22px}.moisture-opening figure{margin:0;height:60vh;min-height:400px}.moisture-opening img{width:100%;height:100%;object-fit:cover}.moisture-brief{padding:30px 6vw 65px}.moisture-brief header{max-width:650px}.moisture-page h2{font-size:clamp(28px,3vw,38px);line-height:1.2;font-weight:400;letter-spacing:-.03em;margin:20px 0}.moisture-prompts{display:grid;grid-template-columns:repeat(3,1fr);gap:4vw;margin-top:35px}.moisture-prompts article{border-top:1px solid #444;padding-top:22px}.moisture-page h3{font-size:21px;font-weight:400;margin:0 0 16px}.moisture-next{display:grid;grid-template-columns:1.2fr 1fr;gap:9vw;padding:45px 6vw 70px;border-top:1px solid #333}.moisture-next aside{background:#151515;padding:30px}.moisture-page a:focus-visible{outline:2px solid white;outline-offset:5px}@media(max-width:700px){.moisture-opening{display:block;padding:115px 6vw 25px}.moisture-opening figure{height:42vh;min-height:300px;margin:30px -6vw 0}.moisture-prompts,.moisture-next{display:block}.moisture-prompts article{margin-top:22px}.moisture-next aside{margin-top:30px;padding:24px}.moisture-brief{padding-bottom:35px}}
/* Keep the inquiry actions as readable as their supporting copy. */
.moisture-next .text-link{font-size:16px;line-height:1.5;min-height:48px}
.moisture-page summary:focus-visible{outline:2px solid #fff;outline-offset:4px}

/* Bathroom: a room-scale opening, with a compact readable project brief. */
.service-bathroom-renovations .service-opening{position:relative;min-height:92svh;display:flex;align-items:end;padding:160px 5vw 5vw;isolation:isolate}.service-bathroom-renovations .service-opening>figure{position:absolute;inset:0;height:100%;margin:0;z-index:-2}.service-bathroom-renovations .service-opening>figure img{object-position:50% 55%;width:100%;height:100%;object-fit:cover}.service-bathroom-renovations .service-opening:after{content:'';position:absolute;inset:0;background:linear-gradient(#0007,transparent 30%,#0002 65%,#0006);z-index:-1}.service-bathroom-renovations .service-opening>div{background:#080808ed;padding:30px;max-width:490px;border-top:1px solid #ffffff75}.service-bathroom-renovations .service-opening h1{font-size:clamp(30px,3.1vw,46px);line-height:1.1;margin:16px 0}.service-bathroom-renovations .service-opening p:not(.eyebrow){font-size:15px;line-height:1.65}.service-bathroom-renovations .service-opening .text-link{margin-top:12px}.service-bathroom-renovations .service-context figure img{object-position:65% center}@media(max-width:700px){.service-bathroom-renovations .service-opening{min-height:88svh;padding:130px 6% 7%}.service-bathroom-renovations .service-opening>div{padding:24px}.service-bathroom-renovations .service-opening h1{font-size:32px}.service-bathroom-renovations .service-opening>figure img{object-position:45% center}.service-bathroom-renovations .service-context figure{height:55vh}}
.service-bathroom-renovations .service-opening{justify-content:flex-end}.service-bathroom-renovations .service-opening>div{max-width:420px;padding:26px}.service-bathroom-renovations .service-opening h1{font-size:clamp(28px,2.6vw,38px)}@media(max-width:700px){.service-bathroom-renovations .service-opening{padding-top:52svh;min-height:0;display:block;background:#000}.service-bathroom-renovations .service-opening>figure{height:55svh;min-height:340px}.service-bathroom-renovations .service-opening>div{position:relative;max-width:none;padding:24px;margin-top:0}.service-bathroom-renovations .service-opening:after{height:55svh;background:linear-gradient(#0008,transparent 35%,transparent)}.service-bathroom-renovations .service-opening h1{font-size:30px}}

.service-bathroom-renovations .service-context figure img{object-position:100% center}.service-bathroom-renovations .service-context figure{overflow:hidden}.service-bathroom-renovations .service-context figure img{width:100%;height:100%;object-fit:cover}@media(min-width:701px){.service-bathroom-renovations .service-context{grid-template-columns:.85fr 1fr;gap:7vw;padding:0 7vw}.service-bathroom-renovations .service-context figure{height:600px}}

/* Shower opening frames the enclosure; supporting image returns to room context. */
.service-shower-conversions .service-opening{position:relative;min-height:92svh;display:flex;align-items:end;padding:150px 5vw 5vw;isolation:isolate}.service-shower-conversions .service-opening>figure{position:absolute;inset:0;height:100%;margin:0;z-index:-2}.service-shower-conversions .service-opening>figure img{object-position:right center}.service-shower-conversions .service-opening:after{content:'';position:absolute;inset:0;background:linear-gradient(#0008,transparent 30%,#0002 70%,#0005);z-index:-1}.service-shower-conversions .service-opening>div{background:#080808ed;padding:26px;max-width:420px;border-top:1px solid #ffffff75}.service-shower-conversions .service-opening h1{font-size:clamp(28px,2.6vw,38px);line-height:1.1;margin:16px 0}.service-shower-conversions .service-opening p:not(.eyebrow){font-size:15px;line-height:1.65}.service-shower-conversions .service-context figure{height:520px}.service-shower-conversions .service-context figure img{object-position:35% center}@media(max-width:700px){.service-shower-conversions .service-opening{padding:52svh 6% 7%;min-height:0;display:block}.service-shower-conversions .service-opening>figure{height:55svh;min-height:340px}.service-shower-conversions .service-opening>div{position:relative;max-width:none;padding:24px}.service-shower-conversions .service-opening:after{height:55svh}.service-shower-conversions .service-opening h1{font-size:30px}.service-shower-conversions .service-context figure{height:52vh}}
:is(.service-bathroom-renovations,.service-shower-conversions) .text-link{font-size:16px;min-height:52px}:is(.service-bathroom-renovations,.service-shower-conversions) .service-phone{min-height:48px;display:flex;align-items:center}

/* Commercial property: panoramic arrival, compact operational brief. */
.commercial-opening{padding:140px 5vw 0}.commercial-opening>div{display:grid;grid-template-columns:1.2fr 1fr;gap:18px 8vw;align-items:start;padding-bottom:45px}.commercial-opening .eyebrow{grid-column:1/-1}.commercial-opening h1{font-size:clamp(34px,4.2vw,64px);line-height:1.08;letter-spacing:-.045em;margin:0;max-width:650px}.commercial-opening p:not(.eyebrow){font-size:18px;line-height:1.7;margin:0;color:#c0c4c6;max-width:520px}.commercial-opening .text-link{grid-column:2;font-size:16px;min-height:52px}.commercial-opening figure{margin:0;overflow:hidden;height:65svh;min-height:360px}.commercial-opening img{width:100%;height:100%;object-fit:cover;object-position:50% 55%}.commercial-scope{padding:90px 5vw;display:grid;grid-template-columns:1fr 1.3fr;gap:10vw}.commercial-scope h2{font-size:clamp(28px,3vw,44px);line-height:1.15;letter-spacing:-.035em;max-width:420px}.commercial-scope p,.commercial-page .service-planning>div>p{color:#bec1c4;line-height:1.75;font-size:17px;max-width:530px}.commercial-scope article{border-top:1px solid #393939;padding:22px 0}.commercial-scope h3{font-size:22px;font-weight:500;margin:0}.commercial-page .service-planning h2{font-size:36px;line-height:1.15}.commercial-page .service-planning .text-link{font-size:16px;min-height:52px}.commercial-page .service-phone{display:inline-flex;align-items:center;min-height:48px}.commercial-page summary:focus-visible{outline:2px solid white;outline-offset:6px}
@media(max-width:700px){.commercial-opening{padding:110px 6vw 0}.commercial-opening>div{display:block;padding-bottom:30px}.commercial-opening h1{margin:20px 0;font-size:38px}.commercial-opening .text-link{margin-top:22px}.commercial-opening figure{height:48svh;min-height:300px}.commercial-scope{padding:55px 6vw;display:block}.commercial-scope header{margin-bottom:35px}.commercial-page .service-planning h2{font-size:30px}}

/* Commercial arrival: full-width image, stable overlay, shared scroll preference. */
.commercial-opening{position:relative;isolation:isolate;display:flex;align-items:flex-end;box-sizing:border-box;min-height:94svh;padding:170px 7vw 60px;overflow:hidden}.commercial-opening>div{display:block;max-width:600px;padding:0}.commercial-opening figure{position:absolute;inset:0;z-index:-2;width:100%;height:100%;min-height:0;margin:0}.commercial-opening:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#0008,transparent 35%,#000a),linear-gradient(90deg,#000b,transparent 85%)}.commercial-opening h1{font-weight:400;font-size:clamp(36px,4.3vw,58px);margin:20px 0;max-width:600px}.commercial-opening p:not(.eyebrow){font-size:17px;color:#e3e5e6;line-height:1.7;max-width:500px}.commercial-opening .eyebrow{color:#e1e4e5}.commercial-opening .text-link{color:white;border-color:#ffffff75;max-width:400px;margin-top:25px}.commercial-scope h2,.commercial-page .service-planning h2{font-weight:400}.commercial-scope{scroll-margin-top:100px}
@media(max-width:700px){.commercial-opening{min-height:92svh;padding:150px 6vw 44px}.commercial-opening h1{font-size:36px;line-height:1.12}.commercial-opening p:not(.eyebrow){font-size:16px}.commercial-opening img{object-position:60% center}.commercial-opening:after{background:linear-gradient(180deg,#0009,transparent 25%,#000d 100%)}.commercial-opening .text-link{font-size:16px}}
@media(max-width:700px){.commercial-opening:after{background:linear-gradient(180deg,#0009,#0003 25%,#0009 48%,#000d 100%)}}

/* Service chapters: full-bleed photography with fixed, readable overlays. */
.service-page.service-page .service-opening,.service-page.service-page .service-context,.moisture-page .moisture-opening{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:row;align-items:flex-end;justify-content:flex-start;box-sizing:border-box;min-height:94svh;padding:160px 7vw 60px;gap:0;background:#000}
.service-page.service-page .service-context{min-height:88svh;padding-top:90px;justify-content:flex-end}
.service-page.service-page .service-opening>figure,.service-page.service-page .service-context>figure,.moisture-page .moisture-opening>figure{position:absolute;inset:0;z-index:-2;width:100%;height:100%;min-height:0;aspect-ratio:auto;margin:0;order:0;overflow:hidden}
.service-page.service-page .service-opening>div,.service-page.service-page .service-context>div,.moisture-page .moisture-opening>div{display:block;position:relative;max-width:590px;padding:0;margin:0;border:0;background:none}
.service-page.service-page .service-opening:after,.service-page.service-page .service-context:after,.moisture-page .moisture-opening:after{content:'';position:absolute;inset:0;height:100%;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#0008,transparent 25%,#000b),linear-gradient(90deg,#0009,transparent 90%)}
.service-page.service-page .service-context:after{background:linear-gradient(180deg,#0003,#0008),linear-gradient(270deg,#000b,transparent 90%)}
.service-page.service-page .service-opening h1,.moisture-page .moisture-opening h1{font-size:clamp(36px,4.4vw,58px);line-height:1.1;font-weight:400;max-width:18ch;margin:20px 0}
.service-page.service-page .service-opening p:not(.eyebrow),.service-page.service-page .service-context p:not(.eyebrow),.moisture-page .moisture-opening p:not(.eyebrow){font-size:17px;line-height:1.75;color:#eee;max-width:53ch}
.service-page.service-page .eyebrow,.moisture-page .moisture-opening .eyebrow{color:#ddd}
.service-page.service-page .service-opening .text-link,.service-page.service-page .service-context .text-link,.moisture-page .moisture-opening .text-link{font-size:16px;min-height:52px;margin-top:24px;max-width:430px;color:#fff;border-color:#ffffff80}
.service-page.service-page .service-scope{padding-top:65px}
@media(max-width:700px){
.service-page.service-page .service-opening,.service-page.service-page .service-context,.moisture-page .moisture-opening{min-height:94svh;padding:160px 6vw 44px;display:flex;align-items:flex-end}
.service-page.service-page .service-context{padding-top:90px;min-height:86svh}
.service-page.service-page .service-opening>div,.service-page.service-page .service-context>div,.moisture-page .moisture-opening>div{max-width:none;padding:0}
.service-page.service-page .service-opening h1,.moisture-page .moisture-opening h1{font-size:36px}
.service-page.service-page .service-opening p:not(.eyebrow),.service-page.service-page .service-context p:not(.eyebrow),.moisture-page .moisture-opening p:not(.eyebrow){font-size:16px;line-height:1.7}
.service-page.service-page .service-opening:after,.service-page.service-page .service-context:after,.moisture-page .moisture-opening:after{background:linear-gradient(180deg,#0009,#0003 20%,#000a 48%,#000e)}
.service-page.service-page .service-scope{padding-top:40px}
}
