@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#102b42;--ink:#182e3d;--muted:#5e6a73;--blue:#cee3ef;--line:#dce1e4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #3686b8;outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}figure{margin:0;position:relative}figcaption{position:absolute;bottom:12px;right:14px;color:white;background:#102b42b8;padding:4px 9px;font-size:12px}header{max-width:1600px;margin:auto;min-height:108px;padding:24px 5%;display:flex;justify-content:space-between;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:13px}.monogram{font-size:40px;font-weight:800;border-right:1px solid #cbd2d7;line-height:1;padding-right:15px;letter-spacing:-5px}.monogram span{font-size:15px;vertical-align:top;letter-spacing:0}.brand-name{font-family:Manrope,Arial,sans-serif;font-size:27px;font-weight:800;letter-spacing:2px;line-height:1.2}.brand-name small{display:block;font-size:10px;letter-spacing:1.4px;margin-top:5px}nav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:600}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--navy);color:#fff;padding:15px 23px;font-size:14px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#28516e;transform:translateY(-2px)}.button span{font-size:21px}.button.light{background:#fff;color:var(--navy)}.button.light:hover{background:var(--blue)}.hero{display:grid;grid-template-columns:49% 51%;min-height:650px}.hero-copy{padding:64px 10% 27px;background:var(--navy);color:white;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:600;margin:0 0 28px;line-height:1.7}.hero .eyebrow{color:#d1e0eb;display:flex;align-items:center;gap:12px;font-size:11px}.rule{width:25px;height:1px;background:#adcadd;flex-shrink:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif}h1{font-size:clamp(44px,4.6vw,76px);font-weight:500;letter-spacing:-3px;line-height:1.12;margin-bottom:26px}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--blue)}.intro{font-size:17px;color:#d6dfe6;max-width:430px;line-height:1.8;margin-bottom:30px}.hero-foot{border-top:1px solid #ffffff33;width:100%;display:flex;justify-content:space-between;gap:20px;margin-top:48px;padding-top:20px;font-size:10px;letter-spacing:1.8px;color:#c0d1dd}.hero-image{min-height:650px}.service-strip{display:flex;align-items:center;justify-content:center;gap:4.2%;padding:26px 5%;background:#f2f5f7;border-bottom:1px solid var(--line);font-size:11px;font-weight:700;letter-spacing:1.5px}.service-strip i{width:4px;height:4px;background:#8399a8}.section{padding:94px 7%;max-width:1600px;margin:auto}.section-heading{display:grid;grid-template-columns:31% 69%;margin-bottom:48px}.section-heading>.eyebrow{padding-top:10px}.section-heading>div{display:flex;align-items:flex-end;justify-content:space-between;gap:45px}h2{font-size:clamp(32px,3.2vw,48px);font-weight:500;letter-spacing:-1.5px;line-height:1.2;margin-bottom:0}.section-heading>div>p{max-width:305px;font-size:15px;color:var(--muted);margin:0}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.number{display:block;font-size:14px;color:#718897;margin-bottom:32px}.kitchen-service{background:var(--navy);color:white;padding:38px;display:flex;flex-direction:column;justify-content:space-between;min-height:450px}.kitchen-service .number{color:#abc4d6}.kitchen-service .eyebrow{color:#b6cddb;font-size:11px;margin-bottom:17px}h3{font-size:28px;line-height:1.25;font-weight:500;letter-spacing:-.7px;margin-bottom:17px}.kitchen-service p:not(.eyebrow){color:#d5dfe6;max-width:450px}.tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:30px 0 0}.tags li{padding:6px 10px;border:1px solid #ffffff3b;font-size:12px}.bath-service{background:#f2f5f7}.bath-service figure{height:265px}.bath-copy{padding:27px 30px;position:relative}.bath-copy .number{position:absolute;right:28px;top:30px}.bath-copy p{margin-bottom:0;color:var(--muted)}.other-services{display:grid;grid-template-columns:repeat(3,1fr);margin-top:48px;gap:40px}.other-services article{border-top:1px solid var(--line);padding-top:22px}.other-services .number{margin-bottom:24px}.other-services p{color:var(--muted);font-size:15px;margin-bottom:24px}.service-note{font-size:10px;letter-spacing:1.1px;font-weight:700}.about{display:grid;grid-template-columns:1fr 1fr;gap:8%;border-top:1px solid var(--line);padding-top:80px;padding-bottom:85px}.about-copy .large{font-size:21px;line-height:1.6}.about-copy>p:not(.large){color:var(--muted)}.signature{border-top:1px solid var(--line);margin-top:30px;padding-top:22px;display:flex;flex-direction:column;gap:4px}.signature strong{font-size:18px;font-weight:500}.signature span{font-size:10px;letter-spacing:1.3px}.contact{background:var(--navy);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:8%;max-width:none}.contact .eyebrow{color:#bfd5e2}.contact h2{font-size:clamp(40px,4vw,60px)}.contact>div>p:not(.eyebrow){color:#d6dfe6;max-width:440px}.contact .contact-note{font-size:12px;margin:16px 0 0}footer{padding:35px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:12px;color:var(--muted)}footer p{margin:0}.footer-brand .brand-name{font-size:22px;color:var(--navy)}.footer-brand small{font-size:8px}footer>a:last-child{font-size:13px}.skip{position:fixed;top:-100px;left:20px;background:white;z-index:10;padding:12px}.skip:focus{top:15px}@media(min-width:1600px){.hero{max-width:1600px;margin:auto}}@media(max-width:1050px){nav{gap:20px}.nav-cta{display:none}.hero-copy{padding:46px 8% 25px}.hero,.hero-image{min-height:610px}.hero .eyebrow{font-size:10px}.section-heading>div{display:block}.section-heading>div>p{margin-top:20px;max-width:450px}.other-services{gap:25px}.service-strip{gap:3%}.section{padding:70px 6%}footer{flex-wrap:wrap}.hero-foot{font-size:9px}}@media(max-width:680px){header{min-height:90px;padding:20px 6%;gap:15px}.brand-name{font-size:21px}.brand-name small{font-size:8px}.monogram{font-size:32px}.monogram span{font-size:12px}nav{gap:0}nav a{font-size:12px}nav a:nth-child(2){display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:39px 7% 25px}.hero .eyebrow{font-size:10px;margin-bottom:24px}h1{font-size:49px;letter-spacing:-2px}.intro{font-size:16px}.hero-foot{margin-top:38px}.hero-image{height:340px;min-height:0}.service-strip{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;text-align:center;font-size:9px;padding:23px 5%}.service-strip i{display:none}.section{padding:58px 7%}.section-heading{display:block;margin-bottom:32px}.section-heading>.eyebrow{margin-bottom:19px}h2{font-size:35px}.feature-grid,.other-services,.about,.contact{grid-template-columns:1fr}.kitchen-service{min-height:390px;padding:30px}.bath-service figure{height:250px}.other-services{gap:30px;margin-top:32px}.other-services .number{margin-bottom:15px}.other-services p{margin-bottom:17px}.about{gap:28px}.about .eyebrow{margin-bottom:18px}.about-copy .large{font-size:19px}.contact{gap:30px}.contact .eyebrow{font-size:10px}.contact h2{font-size:43px}footer{padding:30px 7%;display:grid;grid-template-columns:1fr 1fr;font-size:11px}.footer-brand{grid-column:1/-1}footer p:nth-child(3){grid-column:1/-1;grid-row:3}.button{min-height:52px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

.contact-actions{display:flex;align-items:flex-start;flex-direction:column;gap:18px}.contact-email{font-size:18px;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}.footer-contact{display:flex;flex-direction:column;gap:3px}.contact-note a{text-decoration:underline;text-underline-offset:3px}

.work{border-top:1px solid var(--line);padding-top:78px;padding-bottom:88px}.work-grid{display:grid;grid-template-columns:1.42fr 1fr 1fr;grid-template-rows:235px 235px;gap:18px}.work-grid figure{overflow:hidden;background:#eef2f4}.work-grid .work-feature{grid-row:1 / span 2}.work-grid figure:last-child{grid-column:2 / span 2}.work-grid img{transition:transform .45s ease}.work-grid figure:hover img{transform:scale(1.035)}.work-grid figcaption{bottom:0;left:0;right:auto;background:linear-gradient(90deg,#102b42e8,#102b42aa);padding:8px 12px;font-size:11px;letter-spacing:.8px}@media(max-width:1050px){.work-grid{grid-template-columns:1fr 1fr;grid-template-rows:260px 220px 220px}.work-grid .work-feature{grid-row:1 / span 2}.work-grid figure:last-child{grid-column:auto}}@media(max-width:680px){.work{padding-top:56px;padding-bottom:58px}.work-grid{display:grid;grid-template-columns:1fr;grid-template-rows:280px 220px 260px 220px;gap:14px}.work-grid .work-feature,.work-grid figure:last-child{grid-row:auto;grid-column:auto}}@media(prefers-reduced-motion:reduce){.work-grid img{transition:none}}
.finish-gallery{display:grid;grid-template-columns:1fr 1.55fr;gap:18px;margin-top:18px}.finish-gallery figure{height:270px;overflow:hidden;background:#eef2f4}.finish-gallery figcaption{bottom:0;left:0;right:auto;background:linear-gradient(90deg,#102b42e8,#102b42aa);padding:8px 12px;font-size:11px;letter-spacing:.8px}.finish-gallery img{transition:transform .45s ease}.finish-gallery figure:hover img{transform:scale(1.035)}@media(max-width:680px){.finish-gallery{grid-template-columns:1fr;gap:14px;margin-top:14px}.finish-gallery figure{height:230px}}@media(prefers-reduced-motion:reduce){.finish-gallery img{transition:none}}
.transform{border-top:1px solid var(--line);padding-top:78px;padding-bottom:88px}.before-after-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.before-after-pair figure{height:390px;overflow:hidden;background:#eef2f4}.photo-label{position:absolute;z-index:1;top:14px;left:14px;background:#102b42;color:#fff;padding:5px 9px;font-size:11px;font-weight:700;letter-spacing:1.1px}.text-button{background:transparent;color:#fff;border:1px solid #ffffff80}.text-button:hover{background:#ffffff18}.contact-actions .button{min-width:260px}.contact-actions strong{color:#fff}@media(max-width:680px){nav a:nth-child(2){display:inline}nav a:nth-child(3){display:none}.transform{padding-top:56px;padding-bottom:58px}.before-after-pair{grid-template-columns:1fr;gap:14px}.before-after-pair figure{height:280px}.contact-actions .button{width:100%;min-width:0}}@media(prefers-reduced-motion:reduce){.before-after-pair img{transition:none}}
.gallery-link-row{margin-top:25px;display:flex;justify-content:flex-end}.gallery-page .brand{color:var(--navy)}.gallery-hero{background:var(--navy);color:#fff;padding:75px 10% 68px}.gallery-hero .eyebrow{color:#d1e0eb;display:flex;align-items:center;gap:12px;font-size:11px}.gallery-hero h1{max-width:720px;margin-bottom:22px}.gallery-hero>p:not(.eyebrow){max-width:530px;color:#d6dfe6;font-size:18px;line-height:1.75;margin-bottom:30px}.gallery-contact{display:flex;gap:20px;align-items:center}.gallery-contact>a:not(.button),.text-link-light{color:#fff;text-decoration:underline;text-underline-offset:5px;font-size:15px}.gallery-section{padding-top:82px}.project-gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:250px;gap:18px}.project-gallery figure{overflow:hidden;background:#eef2f4}.project-gallery figure.wide{grid-column:span 2}.project-gallery figure.tall{grid-row:span 2}.project-gallery figcaption{bottom:0;left:0;right:auto;background:linear-gradient(90deg,#102b42e8,#102b42aa);padding:8px 12px;font-size:11px;letter-spacing:.8px}.project-gallery img{transition:transform .45s ease}.project-gallery figure:hover img{transform:scale(1.035)}.gallery-cta{background:#102b42;color:#fff;padding:76px 7%;display:grid;grid-template-columns:1fr 1fr;gap:8%}.gallery-cta .eyebrow{color:#bfd5e2}.gallery-cta h2{font-size:clamp(40px,4vw,60px);margin:0}.gallery-cta>div>p{max-width:420px;color:#d6dfe6}.gallery-cta .button{margin-top:5px}.gallery-cta .text-link-light{display:inline-block;margin-left:22px}@media(max-width:1050px){.project-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:240px}.project-gallery figure.wide{grid-column:span 2}}@media(max-width:680px){.gallery-link-row{justify-content:stretch}.gallery-link-row .button{width:100%}.gallery-hero{padding:55px 7%}.gallery-hero h1{font-size:50px}.gallery-contact{align-items:flex-start;flex-direction:column;gap:16px}.gallery-section{padding-top:58px}.project-gallery{grid-template-columns:1fr;grid-auto-rows:250px;gap:14px}.project-gallery figure.wide{grid-column:auto}.project-gallery figure.tall{grid-row:auto}.gallery-cta{grid-template-columns:1fr;gap:27px;padding:58px 7%}.gallery-cta .text-link-light{display:block;margin:18px 0 0}}@media(prefers-reduced-motion:reduce){.project-gallery img{transition:none}}

header{padding-top:19px;padding-bottom:19px;min-height:106px}.brand{gap:13px;flex-shrink:0}.brand-logo,.footer-brand .brand-logo{display:block;width:65px;height:65px;object-fit:contain;flex-shrink:0}.brand-wordmark{font-family:Manrope,Arial,sans-serif;font-size:29px;font-weight:800;letter-spacing:1.4px;line-height:1.15;color:var(--navy)}.brand-wordmark small{display:block;font-family:'DM Sans',Arial,sans-serif;font-size:10px;font-weight:600;letter-spacing:1.2px;line-height:1.4;margin-top:6px}.footer-brand .brand-logo{width:54px;height:54px}.footer-brand .brand-wordmark{font-size:24px}.footer-brand .brand-wordmark small{font-size:9px;letter-spacing:.8px}@media(max-width:680px){header{padding:16px 6%;min-height:90px}.brand{gap:9px}.brand-logo{width:52px;height:52px}.brand-wordmark{font-size:23px;letter-spacing:.8px}.brand-wordmark small{font-size:8px;letter-spacing:.55px;margin-top:4px}.footer-brand .brand-logo{width:50px;height:50px}}@media(max-width:360px){header{padding-left:5%;padding-right:5%}.brand-logo{width:44px;height:44px}.brand-wordmark{font-size:21px}.brand-wordmark small{font-size:7px;letter-spacing:.35px}}
