:root{--navy:#072b52;--navy-deep:#041b34;--blue:#174f82;--silver:#cbd4de;--paper:#f4f6f8;--white:#fff;--ink:#13202c;--muted:#5b6875;--line:#d7dde3;--shadow:0 22px 60px rgba(3,22,41,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.65 Manrope,Arial,sans-serif;background:var(--white)}img{display:block;max-width:100%}a{color:inherit}.wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}.skip{position:fixed;left:16px;top:-80px;z-index:1000;background:white;padding:10px 14px}.skip:focus{top: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}
.site-header{position:sticky;top:0;z-index:50;background:rgba(4,27,52,.97);border-bottom:1px solid rgba(255,255,255,.13);color:white;backdrop-filter:blur(14px)}.header-inner{height:86px;display:flex;align-items:center;gap:30px}.brand{width:176px;align-self:stretch;display:flex;align-items:center;overflow:hidden}.brand img{width:100%;height:68px;object-fit:cover}.site-header nav{display:flex;gap:25px;margin-left:auto}.site-header nav a{text-decoration:none;font-weight:700;font-size:.89rem}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:#a9d0f2}.menu-button{display:none}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:3px;background:white;color:var(--navy);border:2px solid white;font-weight:800;text-decoration:none;transition:.2s ease}.button:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.2)}.button-small{min-height:41px;padding:0 17px;font-size:.86rem}.button-outline{background:transparent;color:white}.button-navy{background:var(--navy);border-color:var(--navy);color:white}.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--navy);font-weight:800;text-decoration:none}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;font-weight:800;color:#91bde2;margin:0 0 17px}.eyebrow.dark{color:#376b9b}.section{padding:105px 0}.section h2,.home-hero h1,.page-hero h1,.contact-band h2{font-family:Oswald,Arial,sans-serif;text-transform:uppercase;letter-spacing:.005em;line-height:1;margin:0}.section h2{font-size:clamp(2.7rem,5vw,4.8rem);color:var(--navy)}.section-heading{max-width:780px;margin-bottom:48px}.section-heading>p:last-child{max-width:650px;color:var(--muted);font-size:1.05rem}.section-heading.light h2{color:white}.section-heading.light>p:last-child{color:#bdcbd8}
.home-hero{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(420px,.97fr);min-height:680px;background:var(--navy-deep);color:white}.hero-copy-panel{display:flex;align-items:center}.hero-inner{width:min(640px,calc(100% - 55px));margin-left:max(28px,calc((100vw - 1180px)/2));padding:65px 0}.home-hero h1{font-size:clamp(4.2rem,7.5vw,7.2rem)}.home-hero h1 span{color:var(--silver)}.hero-inner>p:not(.eyebrow){font-size:1.13rem;color:#dbe6f0;max-width:590px;margin:26px 0 32px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-image{background:linear-gradient(90deg,rgba(4,27,52,.2),transparent 28%),url('/assets/gallery/bathroom/10-complete.webp') center/cover no-repeat}.capability-strip{background:#0b3a68;color:white}.capability-strip .wrap{display:grid;grid-template-columns:repeat(4,1fr)}.capability-strip span{text-align:center;padding:18px 10px;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;border-right:1px solid rgba(255,255,255,.18)}.capability-strip span:last-child{border-right:0}
.intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:90px;align-items:start}.intro-copy{padding-top:28px;font-size:1.08rem;color:var(--muted)}.intro-copy p{margin-top:0}.service-preview{display:grid;grid-template-columns:repeat(3,1fr);margin-top:68px;border-block:1px solid var(--line)}.service-preview article{padding:36px 30px;border-right:1px solid var(--line)}.service-preview article:last-child{border-right:0}.service-preview article>span{font:600 .9rem Oswald;color:#7a8997}.service-preview h3{color:var(--navy);font-size:1.3rem;margin:18px 0 9px}.service-preview p{color:var(--muted);font-size:.94rem;margin:0}
.dark-section{background:var(--navy-deep);color:white}.project-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.project-card{background:#0b365e;text-decoration:none;box-shadow:var(--shadow);overflow:hidden}.project-card-large{grid-column:1/-1}.split-image{display:grid;grid-template-columns:1fr 1fr;height:370px;position:relative}.project-card-large .split-image{height:520px}.split-image:after{content:"BEFORE   /   AFTER";position:absolute;left:50%;bottom:15px;transform:translateX(-50%);background:rgba(4,27,52,.9);padding:7px 13px;white-space:pre;color:white;font-size:.68rem;font-weight:800;letter-spacing:.11em}.split-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.project-card:hover img{transform:scale(1.02)}.project-card-copy{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px}.project-card-copy span{color:#9db6cc;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:800}.project-card-copy h3{font-size:1.25rem;margin:5px 0 0}.project-card-copy b{font-size:.82rem;color:#bcd1e3}.centered-link{text-align:center;margin-top:38px}.quick-work{background:var(--paper)}.mosaic{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:repeat(2,300px);gap:18px}.mosaic figure{margin:0;position:relative;overflow:hidden;background:var(--navy)}.mosaic-wide{grid-row:1/3}.mosaic img{width:100%;height:100%;object-fit:cover}.mosaic figcaption{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,rgba(3,20,38,.92));padding:55px 22px 20px;color:white;display:flex;flex-direction:column}.mosaic figcaption span{font-size:.78rem;color:#c8d5e0}.reels-teaser{background:linear-gradient(120deg,#0a3968,#062747);color:white}.reels-teaser-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}.reels-teaser h2{color:white}.reels-teaser p:not(.eyebrow){color:#cbd8e4;max-width:500px;margin-bottom:28px}.reel-poster{position:relative;display:block;min-height:480px;overflow:hidden;background:#03162a;color:white;text-decoration:none}.reel-poster img{width:100%;height:480px;object-fit:cover;filter:brightness(.75)}.reel-poster .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:76px;height:76px;border:2px solid white;border-radius:50%;display:grid;place-items:center;padding-left:5px;font-size:1.5rem;background:rgba(5,29,53,.55)}.reel-poster b{position:absolute;left:24px;bottom:20px;right:24px;font-size:1.05rem}.area-grid{display:grid;grid-template-columns:1fr .72fr;gap:85px;align-items:center}.area-grid>div>p:not(.eyebrow){font-size:1.07rem;color:var(--muted);max-width:650px}.area-map{width:100%;max-height:520px;object-fit:contain;border:1px solid var(--line);box-shadow:var(--shadow)}.inline-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:30px}
.contact-band{padding:92px 0;background:var(--navy);color:white}.contact-band-grid{display:grid;grid-template-columns:1fr .8fr;gap:80px;align-items:center}.contact-band h2{font-size:clamp(3.3rem,6vw,5.7rem)}.contact-band p:not(.eyebrow){color:#d5e1eb}.contact-buttons{display:grid;gap:12px}.contact-buttons a{background:white;color:var(--navy);padding:17px 21px;text-decoration:none}.contact-buttons span{display:block;color:#6b8094;text-transform:uppercase;letter-spacing:.12em;font-size:.67rem;font-weight:800}.contact-buttons strong{font-size:1.12rem}.site-footer{background:#031525;color:#b8c7d3;padding:58px 0 20px}.footer-grid{display:grid;grid-template-columns:1.5fr .6fr 1fr;gap:70px}.footer-brand{width:210px;align-self:start}.footer-brand img{width:100%;max-height:115px;object-fit:cover}.footer-grid>div{display:grid;align-content:start;gap:7px}.footer-grid strong{color:white;margin-bottom:8px}.footer-grid a{text-decoration:none;font-size:.87rem;overflow-wrap:anywhere}.footer-grid a:hover{color:white}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.12);margin-top:38px;padding-top:20px;font-size:.76rem}.mobile-call{display:none}
.page-hero{background:var(--navy-deep);color:white;padding:90px 0}.page-hero-grid{display:grid;grid-template-columns:1fr .8fr;gap:80px;align-items:end}.page-hero h1{font-size:clamp(4rem,8vw,7.2rem)}.page-hero p:not(.eyebrow){color:#c9d7e3;font-size:1.08rem;max-width:610px}.crumbs{font-size:.77rem;color:#aebdcc;margin-bottom:24px}.crumbs a{color:white}.page-hero-media{height:430px;overflow:hidden;box-shadow:var(--shadow)}.page-hero-media img{width:100%;height:100%;object-fit:cover}.content-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:95px}.sticky-title{position:sticky;top:120px;align-self:start}.content-grid h2{font-size:clamp(2.7rem,4.7vw,4.5rem)}.content-copy{font-size:1.06rem;color:var(--muted)}.content-copy h3{color:var(--navy);font-size:1.28rem;margin-top:34px}.scope-list{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;margin:28px 0;padding:0;list-style:none}.scope-list li{border-left:3px solid var(--blue);padding:10px 14px;background:var(--paper);color:var(--ink);font-weight:600;font-size:.93rem}.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.service-detail{border:1px solid var(--line);padding:30px;background:white}.service-detail .number{font:600 .9rem Oswald;color:#718291}.service-detail h2{font-size:2rem;margin:17px 0 12px}.service-detail p{color:var(--muted)}.service-detail ul{padding-left:18px;color:#44515e}.service-detail li{margin:6px 0}
.projects-index{background:var(--paper)}.projects-index-grid{display:grid;gap:26px}.project-index-card{display:grid;grid-template-columns:1.1fr .9fr;background:white;text-decoration:none;box-shadow:0 10px 35px rgba(3,22,41,.08)}.project-index-card:nth-child(even){grid-template-columns:.9fr 1.1fr}.project-index-card:nth-child(even) .project-index-images{order:2}.project-index-images{display:grid;grid-template-columns:1fr 1fr;height:410px}.project-index-images img{width:100%;height:100%;object-fit:cover}.project-index-copy{padding:50px;display:flex;flex-direction:column;justify-content:center}.project-index-copy h2{font-size:2.8rem;margin:8px 0 15px}.project-index-copy p{color:var(--muted)}.project-index-copy b{color:var(--navy);margin-top:10px}.extras-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.extra-card{background:white;border:1px solid var(--line)}.extra-card-images{display:grid;grid-template-columns:repeat(3,1fr);height:230px}.extra-card-images.two{grid-template-columns:repeat(2,1fr)}.extra-card-images.portrait-pair{height:420px;background:#e5e8eb}.extra-card-images img{width:100%;height:100%;object-fit:cover}.extra-card-images.portrait-pair img{object-fit:contain}.extra-card div:last-child{padding:22px}.extra-card h3{color:var(--navy);margin:0 0 5px}.extra-card p{color:var(--muted);margin:0}
.project-story{padding-bottom:50px}.before-after-hero{display:grid;grid-template-columns:1fr 1fr;height:560px}.before-after-hero figure{margin:0;position:relative;overflow:hidden}.before-after-hero img{width:100%;height:100%;object-fit:cover}.before-after-hero figcaption{position:absolute;left:18px;bottom:18px;background:var(--navy-deep);color:white;padding:7px 12px;text-transform:uppercase;letter-spacing:.13em;font-size:.68rem;font-weight:800}.gallery-section{background:var(--paper)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.gallery figure{margin:0;background:white;overflow:hidden}.gallery button{padding:0;border:0;background:none;display:block;width:100%;cursor:zoom-in}.gallery img{width:100%;height:350px;object-fit:cover}.gallery figcaption{padding:12px 14px;font-size:.8rem;color:var(--muted)}.gallery figure:nth-child(4n+1){grid-column:span 2}.gallery figure:nth-child(4n+1) img{height:440px}.lightbox{border:0;padding:0;background:transparent;max-width:min(94vw,1200px);max-height:94vh}.lightbox::backdrop{background:rgba(0,10,20,.92)}.lightbox img{max-width:94vw;max-height:88vh;object-fit:contain}.lightbox button{position:fixed;right:20px;top:20px;border:1px solid white;background:#041b34;color:white;width:44px;height:44px;border-radius:50%;font-size:1.5rem;cursor:pointer}
.reels-page{background:var(--paper)}.reel-list{display:grid;gap:32px}.reel-item{display:grid;grid-template-columns:minmax(300px,.78fr) 1.22fr;background:white;border:1px solid var(--line);box-shadow:0 12px 40px rgba(3,22,41,.08)}.reel-video-wrap{background:#020b13;display:flex;align-items:center;justify-content:center;padding:16px;min-height:540px}.reel-item video{width:100%;height:520px;object-fit:contain;background:#000}.reel-copy{padding:45px;display:flex;flex-direction:column;justify-content:center}.reel-copy .duration{font:600 .76rem Oswald;color:#64798d;text-transform:uppercase;letter-spacing:.14em}.reel-copy h2{font-size:2.55rem;margin:9px 0 18px}.reel-copy p{color:var(--muted)}.reel-copy .note{font-size:.8rem;border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.contact-page-grid{display:grid;grid-template-columns:1fr .9fr;gap:80px}.contact-stack{display:grid;gap:14px}.contact-tile{display:block;text-decoration:none;background:var(--navy);color:white;padding:24px}.contact-tile span{display:block;color:#9ebbd3;text-transform:uppercase;letter-spacing:.12em;font-size:.69rem;font-weight:800}.contact-tile strong{font-size:1.25rem;overflow-wrap:anywhere}.contact-details h2{margin-bottom:20px}.contact-details>p{color:var(--muted);font-size:1.06rem}.social-link{display:inline-block;margin-top:18px;color:var(--navy);font-weight:800}.map-panel{background:var(--paper)}.map-panel-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:center}.map-panel img{width:100%;max-height:560px;object-fit:contain;border:1px solid var(--line)}
@media(max-width:980px){.site-header nav{display:none;position:absolute;top:86px;left:0;right:0;background:var(--navy-deep);padding:22px max(20px,calc((100vw - 1180px)/2));flex-direction:column;border-top:1px solid rgba(255,255,255,.12)}.site-header nav.open{display:flex}.menu-button{display:grid;margin-left:auto;width:44px;height:44px;place-content:center;gap:5px;background:transparent;border:0}.menu-button span:not(.sr-only){width:24px;height:2px;background:white}.header-call{display:none}.home-hero{grid-template-columns:1fr;min-height:auto}.hero-copy-panel{min-height:590px}.hero-inner{margin-inline:auto;width:min(100% - 40px,1180px)}.hero-image{height:500px}.intro-grid,.reels-teaser-grid,.area-grid,.contact-band-grid,.page-hero-grid,.content-grid,.contact-page-grid,.map-panel-grid{grid-template-columns:1fr;gap:45px}.sticky-title{position:static}.service-preview{grid-template-columns:1fr}.service-preview article{border-right:0;border-bottom:1px solid var(--line)}.service-preview article:last-child{border-bottom:0}.project-card-large{grid-column:auto}.project-card-large .split-image,.split-image{height:390px}.project-card-grid{grid-template-columns:1fr}.project-index-card,.project-index-card:nth-child(even){grid-template-columns:1fr}.project-index-card:nth-child(even) .project-index-images{order:0}.page-hero-media{height:390px}.gallery{grid-template-columns:repeat(2,1fr)}.gallery figure:nth-child(4n+1){grid-column:auto}.gallery figure:nth-child(4n+1) img,.gallery img{height:340px}.reel-item{grid-template-columns:1fr}.reel-video-wrap{min-height:auto}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:650px){.wrap{width:min(100% - 28px,1180px)}.header-inner{height:76px}.site-header nav{top:76px}.brand{width:150px}.brand img{height:60px}.section{padding:74px 0}.home-hero h1{font-size:4rem}.hero-copy-panel{min-height:550px}.hero-inner{width:min(100% - 28px,1180px)}.hero-image{height:420px}.hero-actions{display:grid}.button{width:100%}.capability-strip .wrap{grid-template-columns:1fr 1fr}.capability-strip span:nth-child(2){border-right:0}.capability-strip span:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.18)}.intro-grid{gap:20px}.service-preview{margin-top:42px}.project-card-large .split-image,.split-image{height:300px}.project-card-copy{align-items:flex-start;flex-direction:column;gap:8px}.mosaic{grid-template-columns:1fr;grid-template-rows:360px 280px 280px}.mosaic-wide{grid-row:auto}.reel-poster,.reel-poster img{height:420px;min-height:0}.inline-actions{align-items:stretch;flex-direction:column}.contact-band h2{font-size:3.7rem}.footer-grid{grid-template-columns:1fr;gap:34px}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column;gap:4px}.mobile-call{display:block;position:fixed;left:10px;right:10px;bottom:10px;z-index:60;background:var(--navy);border:2px solid white;color:white;text-decoration:none;text-align:center;font-weight:800;padding:13px;box-shadow:0 8px 28px rgba(0,0,0,.35)}.page-hero{padding:62px 0}.page-hero h1{font-size:3.9rem}.page-hero-media{height:320px}.scope-list,.service-list,.extras-grid{grid-template-columns:1fr}.project-index-images{height:300px}.project-index-copy{padding:30px 24px}.project-index-copy h2{font-size:2.35rem}.before-after-hero{height:430px}.gallery{grid-template-columns:1fr}.gallery img,.gallery figure:nth-child(4n+1) img{height:auto;max-height:520px}.reel-video-wrap{padding:0}.reel-item video{height:auto;max-height:75vh}.reel-copy{padding:28px 22px}.reel-copy h2{font-size:2.2rem}.map-panel-grid{gap:30px}}
.extra-card-images{overflow:hidden}.extra-card-images img{min-width:0;min-height:0}
.projects-index .project-index-images,.extras-grid .extra-card-images,.before-after-hero figure,.gallery-section .gallery figure{background:#e5e8eb}.projects-index .project-index-images img,.extras-grid .extra-card-images img,.before-after-hero img,.gallery-section .gallery img{object-fit:contain}
.home-hero .hero-image{background:linear-gradient(90deg,rgba(4,27,52,.2),transparent 28%),url('/assets/gallery/bathroom/10-complete.webp') center/cover no-repeat}.project-card-grid .split-image,.mosaic figure{background:#e5e8eb}.project-card-grid .split-image{overflow:hidden}.project-card-grid .split-image img{min-width:0;min-height:0;align-self:center}.project-card-grid .split-image img,.mosaic img{object-fit:contain}.mosaic figure:nth-child(2) img{object-fit:cover}.project-card:hover img{transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.split-image img{transition:none}}
.gallery-group-heading{margin-bottom:42px}.gallery-group-heading>p:last-child{max-width:650px;color:var(--muted)}.gallery-highlights{grid-template-columns:repeat(3,1fr)}.gallery-highlights figure,.gallery-highlights figure:nth-child(4n+1){grid-column:auto}.gallery-highlights img,.gallery-highlights figure:nth-child(4n+1) img{height:420px;object-fit:contain;background:#071a2c}.completed-gallery{background:white}
@media(max-width:980px){.gallery-highlights{grid-template-columns:1fr 1fr}.gallery-highlights img,.gallery-highlights figure:nth-child(4n+1) img{height:360px}}
@media(max-width:650px){.gallery-highlights{grid-template-columns:1fr}.gallery-highlights img,.gallery-highlights figure:nth-child(4n+1) img{height:auto;max-height:560px}}
