:root{--ink:#202223;--muted:#72767a;--line:#d8dadd;--soft:#f3f4f4;--white:#fff;--dark:#252729;--shell:min(1180px,calc(100% - 40px));font-family:Inter,Arial,sans-serif;color:var(--ink)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;line-height:1.6}a{color:inherit;text-decoration:none}.shell{width:var(--shell);margin:auto}.section-pad{padding:105px 0}.soft{background:var(--soft)}.dark{background:var(--dark);color:white}.eyebrow{margin:0 0 18px;text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:700;color:#6d7174}.eyebrow.light{color:#c8cbcd}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.05;margin:0}h1{font-size:clamp(54px,8vw,110px);letter-spacing:-.045em}h2{font-size:clamp(40px,5.5vw,70px);letter-spacing:-.035em}h3{font-size:28px}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1180px)/2));background:rgba(255,255,255,.96);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(0,0,0,.07)}.brand{display:flex;align-items:center;gap:12px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.brand-logo{display:block;height:52px;width:auto}.footer-brand{display:flex;flex-direction:column;align-items:flex-start}.footer-logo{display:block;height:76px;width:auto;margin-bottom:10px}.brand-mark{width:42px;height:42px;border:1px solid #3c3f41;display:grid;place-items:center;font-family:Georgia,serif;font-size:17px}.brand-copy{display:flex;flex-direction:column;line-height:1.05}.brand-copy strong{font-family:Georgia,serif;font-size:19px;font-weight:500}.brand-copy small{font-size:10px;letter-spacing:.2em;text-transform:uppercase;margin-top:5px}.nav{display:flex;align-items:center;gap:30px;font-size:13px}.nav a{transition:.2s}.nav a:hover{opacity:.55}.nav-cta{border:1px solid #2f3233;padding:12px 18px}.menu-toggle{display:none;background:none;border:0}.hero{height:calc(100vh - 84px);min-height:690px;position:relative;color:white;display:flex;align-items:end}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,27,28,.72),rgba(25,27,28,.08) 70%),linear-gradient(0deg,rgba(0,0,0,.45),transparent 48%)}.hero-content{position:relative;padding-bottom:155px;z-index:2}.hero-lead{font-size:18px;max-width:650px;color:#e8e9ea;margin:28px 0 34px}.hero-actions{display:flex;gap:12px}.btn{display:inline-flex;justify-content:center;align-items:center;padding:15px 23px;text-transform:uppercase;letter-spacing:.11em;font-size:11px;font-weight:700;border:1px solid transparent;cursor:pointer}.btn-light{background:#fff;color:#202223}.btn-ghost{border-color:rgba(255,255,255,.65);color:white}.trust-strip{position:absolute;bottom:0;left:0;right:0;z-index:3;background:rgba(33,35,36,.82);backdrop-filter:blur(10px);display:grid;grid-template-columns:repeat(3,1fr);padding-left:max(20px,calc((100vw - 1180px)/2));padding-right:max(20px,calc((100vw - 1180px)/2))}.trust-strip div{padding:23px 28px;border-left:1px solid rgba(255,255,255,.16)}.trust-strip div:last-child{border-right:1px solid rgba(255,255,255,.16)}.trust-strip strong,.trust-strip span{display:block}.trust-strip strong{font-family:Georgia,serif;font-size:17px;font-weight:400}.trust-strip span{font-size:11px;color:#c9cbcc;margin-top:4px}.intro{display:grid;grid-template-columns:1.15fr .85fr;gap:90px}.intro-copy{font-size:17px;color:#555b5e}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:52px}.section-heading>p{max-width:390px;color:#666b6e;margin:0}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.service-card{background:white;display:grid;grid-template-columns:44% 56%;min-height:330px}.service-card.feature{grid-column:1/-1;grid-template-columns:52% 48%;min-height:520px}.service-photo{background-size:cover;background-position:center;min-height:100%}.service-photo.bath{background-image:url('assets/classic-shower-wide.jpg')}.service-photo.plumbing{background-image:url('assets/warm-cloakroom-detail.jpg')}.service-photo.tiling{background-image:url('assets/walk-in-shower-2.jpg')}.service-photo.flooring{background-image:url('assets/classic-bathroom-wide.jpg')}.service-card>div:last-child{padding:42px}.service-card span{font-size:11px;letter-spacing:.15em;color:#8b8e90}.service-card h3{margin:24px 0 14px}.service-card p{color:#666b6e}.service-card a{display:inline-block;margin-top:22px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid #555}.project-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:420px 420px;gap:18px}.project{margin:0;background-size:cover;background-position:center;position:relative;overflow:hidden}.project:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.56),transparent 55%)}.project figcaption{position:absolute;z-index:2;left:28px;bottom:24px;color:white}.project figcaption span,.project figcaption strong{display:block}.project figcaption span{font-size:10px;text-transform:uppercase;letter-spacing:.16em}.project figcaption strong{font-family:Georgia,serif;font-size:28px;font-weight:400}.p1{grid-row:span 2;background-image:url('https://static.wixstatic.com/media/7fcd10_4508d7e51cc14b30a13a990bfb6dae7f~mv2.jpg/v1/fill/w_1100,h_1400,al_c,q_90/IMG_0364_JPG.jpg')}.p2{background-image:url('https://static.wixstatic.com/media/7fcd10_bc574903438540d8baf8f7eeaaaf96c0~mv2.jpg/v1/fill/w_900,h_700,al_c,q_90/IMG_2256_JPG.jpg')}.p3{background-image:url('https://static.wixstatic.com/media/7fcd10_8d0a2e174be9457d8f4f36b09a40b2a3~mv2.jpg/v1/fill/w_900,h_700,al_c,q_90/IMG_0801%20%282%29_JPG.jpg')}.p4{display:none}.photo-note{font-size:12px;color:#85898c;margin-top:16px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.about-copy{font-size:17px;color:#d1d3d4}.about-points{display:grid;grid-template-columns:1fr 1fr;margin-top:42px;border-top:1px solid #555}.about-points span{padding:18px 0;border-bottom:1px solid #555;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:52px}.review-grid blockquote{margin:0;background:white;padding:38px;min-height:300px;display:flex;flex-direction:column;justify-content:space-between;border-top:2px solid #333}.review-grid p{font-family:Georgia,serif;font-size:19px;line-height:1.5;margin:0}.review-grid footer{margin-top:26px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#777}.areas{display:grid;grid-template-columns:1fr 1fr;gap:80px}.area-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.area-tags span{padding:10px 14px;border:1px solid #d5d7d8;font-size:12px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.contact p{color:#c7c9ca}.direct{display:flex;flex-direction:column;gap:10px;margin-top:35px}.direct a{font-family:Georgia,serif;font-size:20px}.contact form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#c6c8c9}.contact input,.contact textarea{width:100%;margin-top:8px;background:transparent;border:1px solid #616467;color:white;padding:14px;font:inherit;outline:none}.contact input:focus,.contact textarea:focus{border-color:#fff}.full{grid-column:1/-1}.footer{padding:32px 0;background:#191b1c;color:#c5c7c8}.footer .shell{display:flex;justify-content:space-between;gap:40px}.footer div div{display:flex;flex-direction:column;font-size:11px}.footer strong{font-family:Georgia,serif;font-size:16px;color:white;font-weight:400}.footer span{margin-top:5px}@media(max-width:800px){.section-pad{padding:72px 0}.site-header{height:72px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:72px;left:0;right:0;background:white;padding:25px;flex-direction:column;align-items:flex-start;border-bottom:1px solid #ddd}.nav.open{display:flex}.hero{height:auto;min-height:720px}.hero-content{padding-bottom:190px}.trust-strip{grid-template-columns:1fr}.trust-strip div{padding:12px 20px;border-left:0;border-bottom:1px solid rgba(255,255,255,.14)}.trust-strip span{display:none}.intro,.about-grid,.areas,.contact-grid{grid-template-columns:1fr;gap:38px}.section-heading{display:block}.section-heading>p{margin-top:20px}.service-grid{grid-template-columns:1fr}.service-card,.service-card.feature{grid-column:auto;grid-template-columns:1fr;min-height:auto}.service-photo{height:280px}.project-grid{grid-template-columns:1fr;grid-template-rows:420px 300px 300px}.p1{grid-row:auto}.review-grid{grid-template-columns:1fr}.contact form{grid-template-columns:1fr}.full{grid-column:auto}.footer .shell{flex-direction:column}.hero-actions{flex-wrap:wrap}.brand-logo{height:42px}.footer-logo{height:64px}}

.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:330px;gap:14px}.portfolio-item{margin:0;position:relative;overflow:hidden;background:#e8e9ea}.portfolio-item.wide{grid-column:span 2}.portfolio-item.hero-project{grid-column:span 2;grid-row:span 2}.portfolio-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease}.portfolio-item:hover img{transform:scale(1.025)}.portfolio-item:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,22,23,.68),transparent 46%);pointer-events:none}.portfolio-item figcaption{position:absolute;z-index:2;left:22px;right:22px;bottom:18px;color:#fff}.portfolio-item figcaption strong,.portfolio-item figcaption span{display:block}.portfolio-item figcaption strong{font-family:Georgia,'Times New Roman',serif;font-size:21px;font-weight:400}.portfolio-item figcaption span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#d9dbdc;margin-top:3px}
@media(max-width:1000px){.portfolio-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:320px}.portfolio-item.wide{grid-column:span 2}.portfolio-item.hero-project{grid-column:span 2;grid-row:span 1}}
@media(max-width:600px){.portfolio-grid{grid-template-columns:1fr;grid-auto-rows:360px}.portfolio-item,.portfolio-item.wide,.portfolio-item.hero-project{grid-column:auto;grid-row:auto}}

/* Multi-page additions */
.nav a.active{opacity:.5}
.btn-dark{background:#252729;color:#fff;border-color:#252729}
.text-link{display:inline-block;margin-top:18px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid currentColor;padding-bottom:3px}
.center-action{display:flex;justify-content:center;margin-top:38px}
.service-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-preview{display:block;background:#fff;overflow:hidden}
.service-preview img{width:100%;height:390px;object-fit:cover;display:block;transition:transform .45s ease}
.service-preview span{display:block;padding:22px 20px;font-family:Georgia,'Times New Roman',serif;font-size:24px}
.service-preview:hover img{transform:scale(1.025)}
.home-project-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
.home-project-grid figure{margin:0;position:relative;overflow:hidden;background:#eee;min-height:340px}
.home-project-grid figure:first-child{grid-row:span 2;min-height:700px}
.home-project-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.home-project-grid figcaption{position:absolute;left:22px;bottom:20px;background:rgba(255,255,255,.92);padding:10px 14px;font-family:Georgia,'Times New Roman',serif;font-size:18px}
.cta-band{padding:74px 0}
.cta-band .shell{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.cta-band p{color:#c7c9ca;max-width:540px}
.cta-band .btn{margin-top:18px}
.page-hero{height:580px;position:relative;display:flex;align-items:end;color:#fff;overflow:hidden}
.page-hero.compact{height:470px}
.page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,27,28,.74),rgba(25,27,28,.12) 70%),linear-gradient(0deg,rgba(0,0,0,.35),transparent 55%)}
.page-hero-copy{position:relative;z-index:2;padding-bottom:70px}
.page-hero-copy h1{font-size:clamp(52px,7vw,92px);max-width:900px}
.page-hero-copy>p:last-child{font-size:18px;color:#e5e6e7;max-width:670px;margin:24px 0 0}
.service-detail-list{display:flex;flex-direction:column;gap:34px}
.service-detail{display:grid;grid-template-columns:1.05fr .95fr;background:#f3f4f4;min-height:550px}
.service-detail.reverse{grid-template-columns:.95fr 1.05fr}
.service-detail.reverse img{order:2}
.service-detail img{width:100%;height:100%;min-height:550px;object-fit:cover;display:block}
.service-detail>div{padding:58px}
.service-detail>div>span{font-size:11px;letter-spacing:.16em;color:#8b8e90}
.service-detail h2{font-size:clamp(38px,4vw,58px);margin:22px 0}
.service-detail p,.service-detail li{color:#5f6467}
.service-detail ul{padding-left:20px;margin:24px 0}
.service-detail li{margin:7px 0}
.projects-page .portfolio-grid{margin-top:0}
.multipage-gallery .portfolio-item:nth-child(1),.multipage-gallery .portfolio-item:nth-child(13){grid-column:span 2}
.about-story{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.long-copy{font-size:17px;color:#555b5e}
.long-copy p{margin-top:0;margin-bottom:20px}
.contact-page{background:#f3f4f4}
.contact-page .contact-grid{align-items:start}
.contact-page h2{margin-bottom:24px}
.dark-text a{color:#202223}
.contact-note{margin-top:44px;border-top:1px solid #cfd2d3;padding-top:24px;max-width:470px}
.contact-note strong{font-family:Georgia,'Times New Roman',serif;font-size:20px;font-weight:400}
.light-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:#fff;padding:42px}
.light-form label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#666}
.light-form input,.light-form textarea{width:100%;margin-top:8px;background:#fff;border:1px solid #d0d3d4;color:#202223;padding:14px;font:inherit;outline:none}
.light-form input:focus,.light-form textarea:focus{border-color:#444}
.footer a{margin-top:5px}
.area-summary{margin-top:34px;padding:32px;border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:35px}.area-summary p{max-width:760px;margin:0;color:#5e6366}.coverage-intro{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.coverage-intro .lead{font-family:Georgia,'Times New Roman',serif;font-size:25px;line-height:1.45;margin:0}.coverage-note{color:#62676a}.place-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}.place-group{background:#fff;padding:34px;border-top:2px solid #2b2e30}.place-group h3{font-size:25px;margin-bottom:22px}.place-group ul{list-style:none;padding:0;margin:0;columns:2;column-gap:24px}.place-group li{padding:7px 0;color:#5f6467;break-inside:avoid}.radius-callout{margin-top:40px;padding:30px 34px;background:#252729;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:32px}.radius-callout p{margin:0;max-width:760px;color:#d2d4d5}.radius-callout a{flex:none}
@media(max-width:900px){.area-summary,.radius-callout{align-items:flex-start;flex-direction:column}.coverage-intro{grid-template-columns:1fr;gap:28px}.place-groups{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.place-groups{grid-template-columns:1fr}.place-group ul{columns:1}}
@media(max-width:800px){
  .service-preview-grid,.home-project-grid,.cta-band .shell,.service-detail,.service-detail.reverse,.about-story{grid-template-columns:1fr}
  .service-preview img{height:300px}
  .home-project-grid figure,.home-project-grid figure:first-child{min-height:380px;grid-row:auto}
  .page-hero,.page-hero.compact{height:520px}
  .page-hero-copy{padding-bottom:48px}
  .service-detail.reverse img{order:0}
  .service-detail img{min-height:360px;height:360px}
  .service-detail>div{padding:32px 24px}
  .multipage-gallery .portfolio-item:nth-child(1),.multipage-gallery .portfolio-item:nth-child(13){grid-column:auto}
  .light-form{grid-template-columns:1fr;padding:28px 20px}
}

/* Local SEO landing pages */
.local-intro{display:grid;grid-template-columns:1fr 1fr;gap:90px}.local-feature .section-heading{margin-bottom:42px}.local-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.local-service-grid article{background:#fff;padding:34px 28px;min-height:300px;border-top:2px solid #2b2e30}.local-service-grid article>span{font-size:10px;letter-spacing:.16em;color:#898d90}.local-service-grid h3{font-size:25px;margin:28px 0 14px}.local-service-grid p{color:#656a6d}.local-image-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.local-image-pair img{width:100%;height:620px;object-fit:cover;display:block}.faq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}.faq-grid article{background:#fff;padding:32px}.faq-grid h3{font-size:24px;line-height:1.2;margin-bottom:16px}.faq-grid p{color:#62676a}.faq-grid a{text-decoration:underline}.location-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.location-card-grid a{border:1px solid #d9dbdc;padding:28px 24px;min-height:140px;display:flex;flex-direction:column;justify-content:space-between;transition:.2s}.location-card-grid a:hover{background:#f3f4f4;border-color:#b9bdc0}.location-card-grid span{font-family:Georgia,'Times New Roman',serif;font-size:27px}.location-card-grid small{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#72777a}.local-hero>img{object-position:center 50%}@media(max-width:900px){.local-intro{grid-template-columns:1fr;gap:35px}.local-service-grid,.location-card-grid{grid-template-columns:repeat(2,1fr)}.faq-grid{grid-template-columns:1fr}.local-image-pair img{height:480px}}@media(max-width:600px){.local-service-grid,.location-card-grid,.local-image-pair{grid-template-columns:1fr}.local-image-pair img{height:420px}.local-service-grid article{min-height:auto}}
