:root{--bg:#f5f1ea;--surface:#fff;--tint:#ede6da;--ink:#17252b;--muted:#4a5559;--line:#ddd4c5;--line-strong:#b9ae9c;--accent:#b4552a;--accent-hover:#9c4621;--accent-ink:#8e3f1c;--on-accent:#fff;--band:#17252b;--band-ink:#f5f1ea;--band-muted:#c9c2b6;--band-accent:#e7a07a;--ph:#e3dacb;--ph-stripe:#17252b12;--ph-ink:#3f4a4e;--stage:#e9e1d3;--ground:#dcd2c1;--shadow:0 18px 40px #17252b24;--display:"Bricolage Grotesque", "Avenir Next Condensed", "Arial Narrow", sans-serif;--body:"Public Sans", -apple-system, "Segoe UI", "Helvetica Neue", sans-serif;--script:"Caveat", "Bradley Hand", "Segoe Script", cursive;--wrap:1200px;--gutter:clamp(16px, 4vw, 40px);--header:76px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#10191d;--surface:#172329;--tint:#1c2a31;--ink:#efe9df;--muted:#a9b2b4;--line:#2a3a41;--line-strong:#40525a;--accent-ink:#e7a07a;--band:#0b1215;--band-ink:#efe9df;--band-muted:#a9b2b4;--ph:#223239;--ph-stripe:#efe9df0f;--ph-ink:#c9c2b6;--stage:#1c2a31;--ground:#16222a;--shadow:0 18px 40px #0006}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#10191d;--surface:#172329;--tint:#1c2a31;--ink:#efe9df;--muted:#a9b2b4;--line:#2a3a41;--line-strong:#40525a;--accent-ink:#e7a07a;--band:#0b1215;--band-ink:#efe9df;--band-muted:#a9b2b4;--ph:#223239;--ph-stripe:#efe9df0f;--ph-ink:#c9c2b6;--stage:#1c2a31;--ground:#16222a;--shadow:0 18px 40px #0006}*{box-sizing:border-box}.skip-link{z-index:100;background:var(--surface);padding:12px 20px;position:fixed;top:8px;left:8px;transform:translateY(-180%)}.skip-link:focus{transform:none}.theme-control{align-items:center;gap:8px;display:flex}.theme-control select{background:var(--band);color:var(--band-ink);border:1px solid var(--band-muted);border-radius:6px;padding:5px}.draft-label{font-size:12px}.summary dd{overflow-wrap:anywhere;min-width:0}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--body);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{font-family:var(--display);text-wrap:balance;letter-spacing:-.02em;margin:0;line-height:1.02}p{text-wrap:pretty;margin:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}h1:focus,h2:focus{outline:none}.wrap{width:100%;max-width:calc(var(--wrap) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);align-items:center;gap:10px;font-size:13px;font-weight:700;display:flex}.eyebrow:before{content:"";background:var(--accent);width:26px;height:2px}.muted{color:var(--muted)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{cursor:pointer;white-space:nowrap;border:1.5px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:10px;min-height:52px;padding:0 24px;font-size:16px;font-weight:700;text-decoration:none;transition:background .15s,transform .15s,border-color .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-outline{border-color:var(--ink);color:var(--ink);background:0 0}.btn-outline:hover{background:var(--tint)}.btn-light{color:#17252b;background:#fff}.btn-ghost-light{color:#fff;border-color:#fff}.btn-ghost-light:hover{background:#ffffff1f}.btn svg{flex-shrink:0}.link-arrow{color:var(--accent-ink);align-items:center;gap:6px;font-weight:700;text-decoration:none;display:inline-flex}.link-arrow:hover{text-decoration:underline}.logo{color:var(--ink);flex-direction:column;gap:4px;text-decoration:none;display:inline-flex}.logo .mark{font-family:var(--display);letter-spacing:-.04em;font-size:38px;font-weight:800;line-height:.85}.logo .mark span{color:var(--accent)}.logo .words{letter-spacing:.24em;border-top:2px solid var(--accent);padding-top:5px;font-size:9.5px;font-weight:700;line-height:1}.logo.on-dark{color:var(--band-ink)}.logo.on-dark .mark span{color:var(--band-accent)}.logo.on-dark .words{border-color:var(--band-accent)}.site-header{top:env(safe-area-inset-top,0px);z-index:40;background:var(--bg);border-bottom:1px solid var(--line);position:sticky}.site-header .wrap{height:var(--header);justify-content:space-between;align-items:center;gap:24px;display:flex}.main-nav{align-items:center;gap:6px;display:flex}.main-nav>a,.main-nav>.nav-drop>button{cursor:pointer;height:44px;color:var(--ink);white-space:nowrap;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:15.5px;font-weight:600;text-decoration:none;display:inline-flex}.main-nav>a:hover,.main-nav>.nav-drop>button:hover{background:var(--tint)}.main-nav a[aria-current=page],.main-nav .nav-drop.is-current>button{color:var(--accent-ink)}.header-actions{align-items:center;gap:10px;display:flex}.nav-drop{position:static}.nav-drop>button svg{transition:transform .2s}.nav-drop>button[aria-expanded=true] svg{transform:rotate(180deg)}.drop-panel{background:var(--surface);border:1px solid var(--line);width:640px;box-shadow:var(--shadow);border-radius:20px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:12px;animation:.18s ease-out drop;display:grid;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%)}.drop-panel a{border-radius:12px;flex-direction:column;gap:2px;padding:14px 16px;text-decoration:none;display:flex}.drop-panel a:hover{background:var(--tint)}.drop-panel a b{font-size:16px}.drop-panel a span{color:var(--muted);font-size:14px;line-height:1.4}.drop-panel .all{border-top:1px solid var(--line);color:var(--accent-ink);border-radius:0 0 10px 10px;flex-direction:row;grid-column:1/-1;justify-content:space-between;align-items:center;margin-top:4px;font-weight:700}.menu-btn{border:1.5px solid var(--ink);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.call-icon{background:var(--accent);width:48px;height:48px;color:var(--on-accent);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.drawer{bottom:0;left:0;right:0;top:calc(var(--header) + env(safe-area-inset-top,0px));z-index:39;background:var(--bg);overscroll-behavior:contain;padding:20px var(--gutter) calc(110px + env(safe-area-inset-bottom,0px));animation:.2s ease-out drop;position:fixed;overflow-y:auto}.drawer h2{font-size:13px;font-family:var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);margin:8px 0 10px;font-weight:700}.drawer-list{flex-direction:column;gap:8px;display:flex}.drawer-list a{background:var(--surface);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:12px 16px;text-decoration:none;display:flex}.drawer-list a span{flex-direction:column;line-height:1.3;display:flex}.drawer-list a b{font-size:17px}.drawer-list a small{color:var(--muted);font-size:14px}.drawer-pages{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px;display:grid}.drawer-pages a{border:1.5px solid var(--line-strong);border-radius:14px;align-items:center;min-height:56px;padding:0 16px;font-weight:700;text-decoration:none;display:flex}.drawer-phone{background:var(--tint);border-radius:16px;flex-direction:column;gap:4px;margin-top:24px;padding:18px;display:flex}.drawer-phone b{font-family:var(--display);-webkit-user-select:all;user-select:all;font-size:28px}.contact-options{gap:16px;margin-top:4px;display:flex}.contact-options a{font-weight:700}.action-bar{z-index:45;background:var(--surface);border-top:1px solid var(--line);padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom,0px));grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.4fr);gap:10px;display:none;position:fixed;bottom:0;left:0;right:0}.action-bar .btn{min-height:50px;padding:0 12px}.view{display:none}.view.is-active{animation:.35s cubic-bezier(.2,.7,.2,1) rise;display:block}@keyframes rise{0%{opacity:.001;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes drop{0%{opacity:0;transform:translate(var(--dx,0), -6px)}to{opacity:1;transform:translate(var(--dx,0), 0)}}.drop-panel{--dx:-50%}@media (prefers-reduced-motion:reduce){.view.is-active,.drawer,.drop-panel{animation:none}.btn{transition:none}}section{scroll-margin-top:calc(var(--header) + 16px)}.block{padding-block:clamp(64px,9vw,112px)}.block-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px 48px;margin-bottom:clamp(28px,4vw,48px);display:flex}.block-head>div{flex-direction:column;gap:14px;max-width:720px;display:flex}.h2{font-size:clamp(34px,5vw,54px);font-weight:800}.lead{color:var(--muted);font-size:clamp(17px,1.6vw,20px);line-height:1.6}.ph{background-color:var(--ph);background-image:repeating-linear-gradient(135deg, var(--ph-stripe) 0 2px, transparent 2px 14px);color:var(--ph-ink);text-align:center;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:100%;max-width:100%;padding:16px;display:flex}.ph b{font-size:15px;line-height:1.3}.ph small{font-size:13px;line-height:1.35}.ph svg{opacity:.8}.ph.dark{color:#d9d2c5;background-color:#243840;background-image:repeating-linear-gradient(135deg,#f5f1ea12 0 2px,#0000 2px 14px)}.project-photo{background:var(--band);aspect-ratio:4/3;border-radius:20px;width:100%;min-width:0;min-height:0;position:relative;overflow:hidden}.project-photo--portrait{aspect-ratio:4/5}.project-photo img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.hero{padding-block:clamp(40px,6vw,72px) 32px}.hero-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:24px 32px;display:grid}.hero-grid .h-text{flex-direction:column;grid-column:span 7;gap:22px;display:flex}.hero-grid .h-side{flex-direction:column;grid-column:9/span 4;gap:22px;display:flex}.hero h1{letter-spacing:-.03em;font-size:clamp(42px,6.6vw,82px);font-weight:800;line-height:.97}.creds{flex-wrap:wrap;gap:8px;display:flex}.creds span{background:var(--surface);border-radius:6px;align-items:center;min-height:40px;padding:0 16px;font-size:15px;font-weight:600;display:inline-flex}.creds .yrs{background:var(--tint);color:var(--accent-ink)}.hero-contact .cta-row{flex-direction:column}.hero-contact .btn{justify-content:center;width:100%}.hero-service-nav{display:none}.contact-hint{min-height:44px;color:var(--muted);text-align:center;margin-top:8px;padding:10px 0;font-size:14px;text-decoration:none;display:block}.contact-hint span{text-underline-offset:3px;text-decoration:underline}.contact-hint:hover{color:var(--ink)}.cta-row{flex-wrap:wrap;gap:12px;display:flex}.stage{background:var(--stage);border-radius:28px;justify-content:center;align-items:flex-end;margin-top:36px;padding:56px 24px 18px;display:flex;position:relative;overflow:hidden}.stage:after{content:"";background:var(--ground);height:22%;position:absolute;bottom:0;left:0;right:0}.stage svg{z-index:1;width:100%;max-width:980px;height:auto;position:relative}.stage .rate-card{z-index:2;background:var(--surface);max-width:290px;box-shadow:var(--shadow);border-radius:16px;gap:12px;padding:16px 18px;display:flex;position:absolute;top:24px;left:24px}.rate-card .ic{background:var(--tint);width:38px;height:38px;color:var(--accent-ink);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.rate-card b{font-size:16px;display:block}.rate-card span{color:var(--muted);font-size:14.5px;line-height:1.45}.trust{border-block:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 24px;margin-top:40px;padding-block:24px;display:grid}.trust div{align-items:center;gap:12px;font-size:16px;font-weight:600;line-height:1.3;display:flex}.trust svg{color:var(--accent-ink);flex-shrink:0}.tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.tile{background:var(--surface);border:1px solid var(--line);border-radius:20px;flex-direction:column;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.tile:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.tile .ph{aspect-ratio:16/9;border-radius:0}.tile .t-body{flex-direction:column;flex-grow:1;gap:8px;padding:22px 22px 24px;display:flex}.tile h3{font-size:24px;font-weight:700}.tile p{color:var(--muted);flex-grow:1;font-size:15.5px;line-height:1.55}.tile .link-arrow{margin-top:6px;font-size:15px}.owner{grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:40px 32px;display:grid}.owner .photos{grid-column:span 6;padding:0 56px 48px 0;position:relative}.owner .photos .main{aspect-ratio:1}.owner .photos .inset{aspect-ratio:1;border:6px solid var(--bg);width:44%;position:absolute;bottom:0;right:0}.owner .copy{flex-direction:column;grid-column:8/span 5;gap:20px;display:flex}.signature{flex-direction:column;line-height:1.1;display:flex}.signature .sig{font-family:var(--script);color:var(--ink);font-size:46px}.signature small{color:var(--muted);font-size:14.5px}.band{background:var(--band);color:var(--band-ink)}.band .lead{color:var(--band-muted)}.band .eyebrow{color:var(--band-accent)}.van-band{grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:40px 32px;display:grid}.van-band .shots{grid-column:span 7;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.van-band .shots .big{aspect-ratio:16/9;grid-column:1/-1}.van-band .shots .ph:not(.big){aspect-ratio:4/3}.van-band .copy{flex-direction:column;grid-column:9/span 4;gap:20px;display:flex}.gallery{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:32px 24px;display:grid}.gallery-job{min-width:0;color:var(--ink);flex-direction:column;gap:12px;text-decoration:none;display:flex}.gallery-job>.project-photo{aspect-ratio:4/3}.gallery .label{line-height:1.35}.gallery-job:hover .label b,.gallery-job:focus-visible .label b{text-underline-offset:4px;text-decoration:underline}.gallery .label b{font-size:18px;display:block}.gallery .label span{color:var(--muted);align-items:center;gap:8px;margin-top:4px;font-size:13.5px;display:flex}.why{background:var(--tint);border-radius:28px;padding:clamp(28px,5vw,64px)}.why-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-top:36px;display:grid}.why-grid div{border-top:2px solid var(--ink);flex-direction:column;gap:10px;padding-top:20px;display:flex}.why-grid h3{font-size:22px;font-weight:700}.why-grid p{color:var(--muted);font-size:15.5px;line-height:1.55}.reviews{grid-template-columns:repeat(12,minmax(0,1fr));gap:32px;display:grid}.reviews figure{flex-direction:column;grid-column:span 7;gap:24px;margin:0;display:flex}.reviews blockquote{font-family:var(--display);letter-spacing:-.01em;margin:0;font-size:clamp(26px,3.2vw,38px);font-weight:500;line-height:1.2}.reviews figcaption{align-items:center;gap:14px;display:flex}.avatar{background:var(--ink);width:48px;height:48px;color:var(--bg);border-radius:999px;justify-content:center;align-items:center;font-weight:700;display:flex}.reviews .slots{flex-direction:column;grid-column:span 5;gap:16px;display:flex}.stars{color:var(--accent-ink);letter-spacing:.1em;font-size:15px}.rev-card{border:1px solid var(--line);background:var(--surface);border-radius:20px;flex-direction:column;flex-grow:1;justify-content:center;gap:12px;padding:24px;display:flex}.rev-card blockquote{font-size:22px;line-height:1.3}.rev-rating{background:var(--tint);border-radius:20px;flex-direction:column;flex-grow:1;justify-content:center;gap:8px;padding:24px;display:flex}.rev-rating b{font-family:var(--display);font-size:44px;font-weight:800;line-height:1}.area{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:48px;display:grid}.cities{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 20px;margin:8px 0 0;padding:0;font-size:15.5px;font-weight:500;list-style:none;display:grid}.cities li{align-items:center;gap:8px;display:flex}.cities li:before{content:"";background:var(--accent);border-radius:99px;flex-shrink:0;width:6px;height:6px}.map-card{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.map-card iframe{aspect-ratio:1;background:var(--ph);border:0;border-radius:20px;width:100%;max-height:520px}.brands{padding-block:0 clamp(48px,6vw,80px)}.brands-title{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;font-size:13px;font-weight:700}.brand-row{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}@media (width<=760px){.brand-row{grid-template-columns:repeat(3,minmax(0,1fr))}}.cta{background:var(--accent);color:#fff;border-radius:28px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px 48px;padding:clamp(32px,5vw,64px);display:flex}.cta h2{max-width:640px;font-size:clamp(32px,4.4vw,52px);font-weight:800}.cta p{color:#fff1e8;margin-top:12px;font-size:18px}.cta .phone-text{font-family:var(--display);-webkit-user-select:all;user-select:all;font-size:22px;font-weight:800}.site-footer{background:var(--band);color:var(--band-muted);margin-top:clamp(64px,8vw,96px);padding-block:56px 32px;font-size:15px}.foot-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;display:grid}.foot-grid h3{font-family:var(--body);color:var(--band-ink);letter-spacing:0;margin-bottom:12px;font-size:15px}.foot-grid ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.foot-grid li.foot-sub{color:var(--band-ink);letter-spacing:.1em;text-transform:uppercase;margin-top:8px;font-size:12.5px;font-weight:700}.foot-grid li.foot-sub:first-child{margin-top:0}.foot-grid a{text-decoration:none}.foot-grid a:hover{color:var(--band-ink);text-decoration:underline}.foot-base{border-top:1px solid #34474f;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:40px;padding-top:20px;font-size:13.5px;display:flex}.crumbs{color:var(--muted);flex-wrap:wrap;gap:8px;font-size:14px;font-weight:600;display:flex}.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}.svc-hero{grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:32px;padding-block:clamp(32px,5vw,64px);display:grid}.svc-hero .copy{flex-direction:column;grid-column:span 6;gap:20px;display:flex}.svc-hero--text-only .copy{grid-column:1/-1;max-width:75ch}.svc-hero h1{font-size:clamp(40px,5.6vw,68px);font-weight:800}.svc-hero .ph,.svc-hero .project-photo{aspect-ratio:5/4;grid-column:8/span 5}.svc-hero .project-photo--portrait{aspect-ratio:4/5;max-height:540px}.svc-hero--plumbing .project-photo{grid-column:7/span 6}.svc-tabs{scrollbar-width:none;margin-inline:calc(-1 * var(--gutter));padding-block:4px;padding-inline:var(--gutter);gap:8px;display:flex;overflow-x:auto}.svc-tabs::-webkit-scrollbar{display:none}.chip{border:1.5px solid var(--line-strong);white-space:nowrap;cursor:pointer;min-height:44px;color:var(--ink);background:0 0;border-radius:999px;align-items:center;padding:0 18px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.chip:hover{border-color:var(--ink)}.chip[aria-current=page],.chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.svc-sec{border-top:1px solid var(--line-strong);grid-template-columns:repeat(12,minmax(0,1fr));gap:20px 32px;padding-block:56px;scroll-margin-top:112px;display:grid}.svc-sec .s-head{flex-direction:column;grid-column:span 4;gap:14px;display:flex}.svc-sec .s-head h2{font-size:clamp(28px,3vw,36px);font-weight:800}.svc-sec .s-head p{color:var(--muted)}.svc-sec .s-body{flex-direction:column;grid-column:6/span 7;gap:18px;display:flex}.svc-sec .s-body>p{font-size:clamp(17px,1.5vw,19px);line-height:1.65}.items .link-arrow{margin-top:10px;font-size:15px}.service-item-copy{width:100%;min-width:0}.service-item-photo{border-radius:20px;max-width:360px;margin-top:18px;display:block}.service-project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px;display:grid}.service-project-gallery figure{min-width:0;margin:0}.service-project-gallery a{border-radius:20px;display:block}.service-project-gallery figcaption{color:var(--muted);margin-top:12px;line-height:1.6}.items{gap:0 32px;margin:0;padding:0;list-style:none;display:grid}.items li{border-top:1px solid var(--line);gap:14px;padding-block:20px;scroll-margin-top:112px;display:flex}.items .num{font-family:var(--display);color:var(--accent-ink);min-width:26px;font-size:18px;font-weight:800;line-height:1.3}.items .chk{color:var(--accent-ink);flex-shrink:0;margin-top:2px}.items h3{letter-spacing:-.005em;font-size:19px;font-weight:700;line-height:1.3}.items p{color:var(--muted);margin-top:4px;font-size:15.5px;line-height:1.55}.other{border-top:1px solid var(--line-strong);padding-block:40px 8px}.other h2{margin-bottom:14px;font-size:22px}.other .svc-tabs{flex-wrap:wrap;margin:0;padding:0;overflow:visible}.svc-index{padding-block:clamp(40px,6vw,72px) 0}.svc-index h1{margin:16px 0 14px;font-size:clamp(40px,6vw,72px);font-weight:800}.about-hero{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:32px;padding-block:clamp(32px,5vw,64px);display:grid}.about-hero .copy{flex-direction:column;grid-column:span 5;gap:20px;padding-bottom:12px;display:flex}.about-hero h1{font-size:clamp(42px,6vw,76px);font-weight:800}.about-hero .project-photo{aspect-ratio:5/4;grid-column:7/span 6}.letter{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:40px 32px;display:grid}.letter .project-photo{aspect-ratio:4/5;top:calc(var(--header) + 24px);grid-column:span 4;position:sticky}.letter .copy{flex-direction:column;grid-column:6/span 7;gap:20px;max-width:640px;display:flex}.letter .copy p{font-size:clamp(18px,1.7vw,20px);line-height:1.7}.strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.strip .project-photo{aspect-ratio:4/3}.fill{background:var(--tint);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:4px;padding:0 4px}.work-grid{columns:3;column-gap:24px;margin-top:32px}.work-card{break-inside:avoid;flex-direction:column;gap:14px;margin-bottom:40px;display:flex}.work-card .pics{border-radius:18px;display:block;overflow:hidden}.work-card .pics .project-photo{border-radius:0}.work-card .cat{letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);font-size:12.5px;font-weight:700}.work-card h3{font-size:22px;font-weight:700}.work-card p{line-height:1.6}.work-service-link{color:var(--accent-ink);text-underline-offset:4px;align-self:flex-start;align-items:center;gap:8px;font-weight:600;display:inline-flex}.chips{flex-wrap:wrap;gap:8px;display:flex}.book{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:40px 32px;padding-block:clamp(32px,5vw,64px);display:grid}.book .intro{flex-direction:column;grid-column:span 5;gap:20px;display:flex}.book .intro h1{font-size:clamp(40px,5.6vw,64px);font-weight:800}.book .panel{background:var(--surface);border:1px solid var(--line);border-radius:24px;grid-column:7/span 6;padding:clamp(20px,3.5vw,36px)}.field{flex-direction:column;gap:6px;margin-bottom:18px;display:flex}.field label,.field legend{font-size:15px;font-weight:600}.field input,.field select,.field textarea{border:1.5px solid var(--line-strong);background:var(--bg);border-radius:12px;width:100%;min-height:52px;padding:12px 14px;font-size:16px}.field textarea{resize:vertical;min-height:120px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent);outline:none}.field .err{color:#b3261e;font-size:14px;font-weight:600}.field.bad input{border-color:#b3261e}.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;display:grid}fieldset.field{border:0;margin:0 0 18px;padding:0}.times{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.times label{border:1.5px solid var(--line-strong);cursor:pointer;border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-weight:600;display:inline-flex}.times input{accent-color:var(--accent);width:18px;height:18px;min-height:0}.times label:has(input:checked){border-color:var(--ink);background:var(--tint)}.demo-note{color:var(--muted);margin-top:12px;font-size:13.5px}.done{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.done .ok{background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.summary{border-top:1px solid var(--line);width:100%;margin-top:4px}.summary div{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding-block:10px;font-size:15.5px;display:flex}.summary dt{color:var(--muted)}.summary dd{text-align:right;margin:0;font-weight:600}@media (width<=1080px){.main-nav{display:none}.menu-btn{display:inline-flex}}@media (width<=900px){.hero-grid .h-text,.hero-grid .h-side,.owner .photos,.owner .copy,.van-band .shots,.van-band .copy,.reviews figure,.reviews .slots,.svc-hero .copy,.svc-hero .ph,.svc-hero .project-photo,.svc-sec .s-head,.svc-sec .s-body,.about-hero .copy,.about-hero .project-photo,.letter .project-photo,.letter .copy,.book .intro,.book .panel{grid-column:1/-1}.letter .project-photo{aspect-ratio:4/3;position:relative;top:auto}.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.work-grid{columns:2}.trust,.why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.area{grid-template-columns:1fr}.gallery,.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.svc-hero .ph,.svc-hero .project-photo{aspect-ratio:16/10}.svc-hero .project-photo--portrait{aspect-ratio:4/5;max-height:460px}.owner .photos{padding:0 40px 40px 0}}@media (width<=760px){:root{--header:68px}.action-bar{display:grid}body{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.logo .mark{font-size:32px}.logo .words{font-size:8.5px}.call-icon{display:none}.hero{padding-top:24px}.hero-grid,.owner,.van-band,.reviews{grid-template-columns:minmax(0,1fr)}.hero-grid{row-gap:20px}.hero-grid .h-text,.hero-grid .h-side{gap:16px}.hero h1{font-size:clamp(34px,7.5vw,48px);line-height:1.04}.hero .creds span{min-height:32px;padding:4px 10px;font-size:12px}.hero-contact .cta-row,.hero-contact .contact-hint,.view[data-view=service] .cta-row,.view[data-view=services] .cta-row,.view[data-view=home] .cta .cta-row{display:none}.hero-service-nav{display:block}.hero-service-nav h2{margin-bottom:8px;font-size:24px;line-height:1.2}.hero-service-nav ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin:0;padding:0;list-style:none;display:grid}.hero-service-nav a{border-bottom:1px solid var(--line-strong);height:100%;min-height:52px;color:var(--ink);justify-content:space-between;align-items:center;gap:8px;padding:10px 0;font-size:15px;font-weight:600;line-height:1.35;text-decoration:none;display:flex}.hero-service-nav a:hover{color:var(--accent-ink)}.hero-service-nav svg{color:var(--accent-ink);flex-shrink:0}.stage{border-radius:20px;flex-direction:column;align-items:stretch;margin-top:28px;padding:14px 8px 10px}.stage .rate-card{display:none}.stage-wrap{flex-direction:column;display:flex}.items{grid-template-columns:1fr!important}.cities{grid-template-columns:repeat(2,minmax(0,1fr))}.cta .btn{flex-grow:1}.two{grid-template-columns:1fr}}@media (width<=560px){.tiles{grid-template-columns:1fr}.tile{flex-direction:row;align-items:stretch}.tile .ph{aspect-ratio:auto;flex-shrink:0;width:96px;padding:6px}.tile .ph b{font-size:11px}.tile .ph svg,.tile .ph small{display:none}.tile .t-body{gap:4px;padding:14px 16px}.tile h3{font-size:19px}.tile p{font-size:14px}.tile .link-arrow{display:none}.strip,.service-project-gallery,.gallery{grid-template-columns:1fr}.work-grid{columns:1}.trust{grid-template-columns:1fr 1fr;font-size:14px}.trust div{font-size:14.5px}.why-grid,.foot-grid{grid-template-columns:1fr}.cta-row .btn{flex-grow:1}}.brand-lockup{align-items:center;gap:10px;display:inline-flex}.brand-lockup img{background:#f7f5f1;border-radius:4px;width:180px;height:46px;padding:3px;display:block}.drop-panel{scrollbar-width:thin;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;width:min(720px,100vw - 32px);max-height:min(680px,100vh - 130px);padding:12px;left:50%;overflow:auto}.drop-panel.cols-4{grid-template-columns:repeat(4,minmax(0,1fr));width:min(920px,100vw - 32px)}.drop-panel .mm-col{min-width:0;padding:12px}.drop-panel .mm-head{border-bottom:1px solid var(--line);padding:0 0 10px;display:flex}.drop-panel .mm-head:hover{background:0 0}.drop-panel .mm-col ul{gap:2px;margin:8px 0 0;padding:0;list-style:none;display:grid}.drop-panel .mm-col li a{color:var(--muted);padding:6px 0;font-size:13px;line-height:1.3;display:block}.drop-panel .mm-col li a:hover{color:var(--accent-ink);background:0 0}.drop-panel .mm-foot{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;padding:12px;font-size:13px;display:flex}.drop-panel .mm-foot .link-arrow{flex-direction:row;gap:6px;padding:0}.finder{gap:42px;display:grid}.fgroup{grid-template-columns:minmax(180px,.65fr) minmax(0,2fr);gap:clamp(24px,5vw,64px);display:grid}.fg-label h3{font-size:clamp(24px,3vw,34px)}.fg-label p{color:var(--muted);margin-top:10px}.fg-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.scard{border:1px solid var(--line);background:var(--surface);border-radius:18px;flex-direction:column;padding:22px;display:flex}.scard-head{color:inherit;text-decoration:none}.scard-head h3{font-size:23px}.scard-head p{color:var(--muted);margin-top:5px;font-size:14px}.opts{border-block:1px solid var(--line);gap:1px;margin:16px 0;padding:14px 0;list-style:none;display:grid}.opt{color:var(--muted);padding:5px 0;font-size:14px;text-decoration:none;display:block}.opt:hover{color:var(--accent-ink)}.scard .link-arrow{margin-top:auto;font-size:14px}.tab-group{display:contents}.tab-label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;align-self:center;font-size:11px;font-weight:800}.drawer-service-group{gap:8px;display:grid}.drawer-group{color:var(--accent-ink);letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:800}.stage.photo{background:var(--surface);min-height:470px;padding:0;overflow:hidden}.stage.photo>svg{display:none}.stage-img{object-fit:cover;width:100%;height:100%;min-height:470px;display:block}.stage.photo:after{display:none}.van-band .shots img{object-fit:cover;width:100%;height:100%;min-height:240px;display:block}.faq{grid-template-columns:repeat(12,minmax(0,1fr));gap:24px 32px;display:grid}.faq .f-head{flex-direction:column;grid-column:span 4;gap:14px;display:flex}.faq .f-list{border-top:1px solid var(--line-strong);grid-column:6/span 7}.faq-phone{white-space:nowrap;text-decoration:none;display:block}.faq-phone:hover{text-decoration:underline}.faq-item{border-bottom:1px solid var(--line-strong)}.faq-item summary{min-height:64px;font-family:var(--display);letter-spacing:-.005em;cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;font-size:clamp(18px,1.8vw,21px);font-weight:700;line-height:1.3;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";color:var(--accent-ink);flex-shrink:0;font-size:28px;font-weight:500;line-height:1;transition:transform .2s}.faq-item[open] summary:after{transform:rotate(45deg)}.faq-item p{max-width:640px;color:var(--muted);padding:0 0 20px;font-size:16.5px;line-height:1.65}@media (width<=900px){.faq{grid-template-columns:minmax(0,1fr)}.faq .f-head,.faq .f-list{grid-column:1/-1}}.contact-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.btn:disabled{cursor:wait;opacity:.65}.form-status{min-height:1.6em;color:var(--muted);margin-top:8px;font-size:14px}.form-status.is-error{color:#a23e2b;font-weight:650}.areas-page h1{margin:16px 0 14px;font-size:clamp(40px,6vw,76px);font-weight:800}.areas-page{padding-top:clamp(32px,5vw,64px)}.areas-page>.wrap>.lead{max-width:680px}.areas-page .h2{font-size:clamp(28px,3vw,36px)}.why-intro{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 48px;margin-top:28px;display:grid}.why-intro h3{margin-bottom:10px;font-size:22px;font-weight:700}.why-intro p{color:var(--muted);font-size:17px;line-height:1.65}.area-review{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(24px,5vw,64px);margin-top:48px;display:grid}.area-map-placeholder{min-height:360px}.area-services{border-top:1px solid var(--line-strong);flex-direction:column;gap:16px;margin-top:56px;padding-top:32px;display:flex}.area-services .svc-tabs{gap:0;margin:0;padding:0;display:grid;overflow:visible}.area-service-group{border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(140px,180px) minmax(0,1fr);align-items:start;gap:16px 24px;padding:20px 0;display:grid}.area-service-group .tab-label{margin:0;padding-top:14px;line-height:1.4}.area-service-links{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.area-service-links .chip{white-space:normal;max-width:100%}@media (width<=900px){.why-intro,.fgroup,.area-review{grid-template-columns:1fr}.stage.photo,.stage-img{min-height:340px}}@media (width<=620px){.fg-cards{grid-template-columns:1fr}.area-service-group{grid-template-columns:1fr;gap:10px}.area-service-group .tab-label{padding-top:0}.stage.photo{min-height:0}.stage-img{height:auto;min-height:0}.drop-panel .mm-foot{flex-direction:column}}@font-face{font-family:Lexend Deca;src:url(/fonts/lexend-deca-regular.ttf)format("truetype");font-style:normal;font-weight:400 500;font-display:swap}@font-face{font-family:Lexend Deca;src:url(/fonts/lexend-deca-semibold.ttf)format("truetype");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Lexend Deca;src:url(/fonts/lexend-deca-bold.ttf)format("truetype");font-style:normal;font-weight:700 900;font-display:swap}:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fafbf9;--surface:#fff;--tint:#eef0eb;--ink:#222921;--muted:#596158;--line:#daddd5;--line-strong:#b0b8ad;--accent:#ad4725;--accent-hover:#8c3418;--accent-ink:#943c1f;--on-accent:#fff;--band:#242d27;--band-ink:#f6f7f2;--band-muted:#c5cfc4;--band-accent:#e9ab8f;--display:"Lexend Deca", sans-serif;--body:"Lexend Deca", sans-serif;--script:"Lexend Deca", sans-serif;--wrap:1328px;--header:88px;--gutter:clamp(20px, 4vw, 64px);--ease:cubic-bezier(.16, 1, .3, 1);--duration:.24s;--shadow:0 12px 32px #18201816}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1c241f;--surface:#242d27;--tint:#303b32;--ink:#f3f5ee;--muted:#bac5b9;--line:#455045;--line-strong:#6c786b;--accent-ink:#f3b296;--band:#121a15;--band-ink:#f3f5ee;--band-muted:#bac5b9}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1c241f;--surface:#242d27;--tint:#303b32;--ink:#f3f5ee;--muted:#bac5b9;--line:#455045;--line-strong:#6c786b;--accent-ink:#f3b296}}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 24px);scrollbar-color:var(--line-strong) var(--bg)}body{font-size:17px;line-height:1.55}::selection{color:#fff;background:#ad4725}input,textarea{caret-color:var(--accent)}h1,h2,h3{letter-spacing:-.035em;font-weight:600;line-height:1.06}a{text-underline-offset:.2em}a,button,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--accent-ink);outline-offset:5px;border-radius:3px}.service-index :focus-visible,.home-heating :focus-visible,.site-footer :focus-visible{outline-color:var(--band-accent)}.btn{min-height:52px;transition:background var(--duration) var(--ease), color var(--duration) var(--ease), box-shadow var(--duration) var(--ease), transform .1s ease-out;border-radius:5px;padding:0 24px;font-weight:600}.btn:hover{box-shadow:0 5px 14px #18201818}.btn:active{transform:translateY(2px);box-shadow:inset 0 2px 4px #0002}.btn svg,.text-link svg,.service-index-links svg,.round-arrow{transition:transform var(--duration) var(--ease), background var(--duration) var(--ease), color var(--duration) var(--ease)}.btn:hover svg,.text-link:hover svg{transform:translate(4px)}.btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.text-link{min-height:44px;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);align-items:center;gap:16px;font-weight:600;display:inline-flex}.text-link:hover{text-decoration-color:currentColor}.site-header{background:var(--surface);border-color:var(--line)}.site-header .wrap{max-width:none}.brand-lockup{background:#fff!important;border-radius:0!important;padding:0!important}.brand-lockup img{width:206px;height:auto}.main-nav{gap:0}.main-nav>a,.main-nav>.nav-drop>button{transition:background var(--duration) var(--ease);border-radius:3px;padding-inline:12px;font-size:15px}.main-nav>.nav-drop>button svg{transition:transform var(--duration) var(--ease)}.main-nav>.nav-drop>button[aria-expanded=true] svg{transform:rotate(180deg)}.drop-panel{animation:menu-reveal .18s var(--ease);border-radius:0 0 8px 8px;box-shadow:0 16px 32px #1112}.header-actions{flex-shrink:0;gap:16px}.header-contact{white-space:nowrap;flex-direction:column;align-items:center;display:flex}.header-phone{font-size:18px;font-weight:600;line-height:1.2}.header-contact-links{align-items:center;gap:4px;font-size:14px;display:flex}.header-contact-links a{min-width:44px;min-height:44px;color:var(--accent-ink);transition:background var(--duration) var(--ease), transform .1s ease-out;border-radius:3px;justify-content:center;align-items:center;padding-inline:8px;font-weight:600;text-decoration:underline;display:inline-flex}.header-contact-links a:hover{background:var(--tint)}.header-contact-links a:active{transform:translateY(2px)}.header-contact-links>span{color:var(--muted)}.menu-btn{border-radius:4px;gap:10px;width:auto;padding-inline:12px;font-size:15px;display:none}.drawer{background:var(--surface);animation:menu-reveal .22s var(--ease)}.drawer a{border-radius:3px}.site-footer{background:var(--band);padding-block:64px 32px}.foot-grid{gap:40px}.site-footer .brand-lockup{border-radius:3px!important;padding:8px!important}.foot-base{padding-top:24px}.action-bar{border-color:var(--line);background:var(--surface);box-shadow:0 -4px 20px #1111}.action-bar .btn{border-radius:4px;min-height:48px}.project-photo{border-radius:5px}.eyebrow{display:none}.h2{font-size:clamp(32px,4vw,52px)}.svc-index h1,.about-hero h1,.work-hero h1,.book-hero h1,.svc-hero h1{font-size:clamp(38px,4.8vw,66px)}.svc-hero{align-items:center;gap:64px;padding-block:64px}.svc-hero .copy{gap:24px}.svc-hero .lead{max-width:48ch;font-size:20px}.svc-tabs .chip{border-radius:4px;min-height:42px;font-size:14px}.svc-tabs .chip[aria-current=page]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.svc-sec{padding-block:56px}.svc-sec .items{gap:36px}.svc-sec .items h3{margin-bottom:12px;font-size:23px}.scard,.why,.cta,.map-card,.form-box,.book-form,.summary{border-radius:6px}.scard{box-shadow:none;border:1px solid var(--line)}.scard .opt{border-radius:3px}.cta{padding:44px}.about-hero,.letter{gap:64px}.about-hero .project-photo{aspect-ratio:4/3}.work-card{border-radius:5px}.field input,.field select,.field textarea{min-height:50px;transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);border-radius:4px}.field input:focus,.field select:focus,.field textarea:focus{box-shadow:0 0 0 3px #ad472520}.home-opening{margin:20px 20px 0}.opening-photo{color:#fff;background:#1d241f;border-radius:6px 6px 0 0;height:clamp(420px,100svh - 300px,620px);position:relative;overflow:hidden}.opening-photo>.project-photo{aspect-ratio:auto;border-radius:0;width:100%;height:100%;position:absolute;inset:0}.opening-photo>.project-photo img{object-position:50% 85%!important}.opening-shade{background:linear-gradient(90deg,#12191000 25%,#101a129e 54%,#101a12f0 100%);position:absolute;inset:0}.opening-copy{max-width:540px;position:absolute;inset:8% 5% auto 55%}.opening-copy h1{letter-spacing:-.04em;text-wrap:nowrap;font-size:clamp(52px,min(5.8vw,8.8svh),88px);line-height:1.01}.opening-copy h1 span{color:#edb290}.opening-copy p{color:#f0f3eb;margin-top:28px;font-size:18px;line-height:1.6}.opening-copy .btn{background:#b64a27;margin-top:28px}.opening-copy .btn:hover{background:#923718}.opening-caption{color:#fff;background:#172017d9;border-radius:2px;max-width:45%;padding:8px 12px;font-size:12px;position:absolute;bottom:24px;left:32px}.service-index{background:var(--band);color:var(--band-ink);border-radius:0 0 6px 6px;padding:28px 36px 32px}.service-index-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:22px;display:flex}.service-index-heading h2{font-size:24px}.service-index-links a{font-size:20px}.service-index-heading h2{letter-spacing:-.025em}.service-index-heading>a{align-items:center;gap:12px;min-height:32px;font-size:14px;display:inline-flex}.service-index-links{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;display:grid}.service-index-links a{min-height:62px;transition:border-color var(--duration) var(--ease), color var(--duration) var(--ease);border-top:1px solid #687469;justify-content:space-between;align-items:center;gap:12px;padding:18px 0;line-height:1.2;text-decoration:none;display:flex}.service-index-links a svg{flex-shrink:0}.service-index-links a:hover{color:#f2b999;border-color:#f2b999}.service-index-links a:hover svg{transform:translate(4px)}.service-index-links a:active{transform:translateY(1px)}.home-promise{grid-template-columns:1.15fr 1fr 1fr;gap:72px;padding-block:64px 72px;display:grid}.home-promise>p{letter-spacing:-.025em;font-size:28px;line-height:1.2}.home-promise>p strong{font-weight:600}.home-promise h2{letter-spacing:-.025em;margin-bottom:12px;font-size:21px}.home-promise div p{color:var(--muted);font-size:16px}.home-work{border-top:1px solid var(--line);padding-block:64px 112px}.home-section-heading{justify-content:space-between;align-items:end;gap:64px;margin-bottom:48px;display:flex}.home-section-heading h2{font-size:clamp(44px,5vw,72px)}.home-section-heading h2 span{color:var(--muted)}.home-section-heading>div{max-width:360px}.home-section-heading p{color:var(--muted);margin-bottom:12px}.featured-projects{grid-template-columns:1.25fr 1fr;align-items:start;gap:40px;display:grid}.featured-project{text-decoration:none}.hot-water-project{margin-top:112px}.featured-project .project-photo{border-radius:4px}.project-caption{justify-content:space-between;align-items:center;gap:20px;margin-top:20px;display:flex}.project-caption h3{letter-spacing:-.025em;font-size:23px;line-height:1.2}.project-caption p{color:var(--muted);margin-top:6px;font-size:15px}.round-arrow{border:1px solid var(--line-strong);border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.featured-project:hover .round-arrow{background:var(--ink);color:var(--bg);transform:rotate(-35deg)}.project-secondary{grid-template-columns:repeat(3,1fr);gap:32px;margin-top:64px;display:grid}.project-secondary>a{text-decoration:none}.project-secondary .project-photo{aspect-ratio:4/3!important}.project-secondary>a>div:last-child{justify-content:space-between;align-items:center;gap:16px;padding-top:18px;display:flex}.project-secondary h3{font-size:21px;line-height:1.2}.project-secondary a:hover h3{text-underline-offset:5px;text-decoration:underline}.home-heating{background:var(--band);color:var(--band-ink);overflow:hidden}.heating-layout{grid-template-columns:1fr 1fr;align-items:center;gap:100px;padding-block:88px;display:grid}.heating-copy h2{margin-bottom:32px;font-size:clamp(42px,5vw,72px)}.heating-copy p{max-width:40ch;color:var(--band-muted);margin-bottom:18px;font-size:19px}.heating-copy .btn{white-space:normal;margin-top:18px;padding-block:14px}.heating-other{align-items:center;gap:16px;min-height:44px;margin-top:22px;font-size:15px;display:flex}.heating-photo{justify-self:end;width:100%;max-width:460px;margin:0}.heating-photo figcaption{color:var(--band-muted);margin-top:14px;font-size:13px}.home-owner{grid-template-columns:1fr 1fr;align-items:center;gap:80px;padding-block:112px;display:grid}.owner-statement h2{font-size:clamp(32px,3vw,46px)}.owner-statement blockquote{letter-spacing:-.025em;margin:32px 0 24px;font-size:27px;line-height:1.4}.owner-statement p{color:var(--muted);margin-bottom:16px;font-size:14px}.owner-van{margin:0}.owner-van img{border-radius:4px;width:100%;height:auto;display:block}.owner-van figcaption{color:var(--muted);margin-top:16px;font-size:14px}.home-review{background:var(--tint);padding-block:64px}.review-layout{grid-template-columns:1fr 1.4fr;gap:100px;display:grid}.review-layout h2{margin-bottom:24px;font-size:36px}.review-layout figure{margin:0}.review-layout blockquote{letter-spacing:-.025em;margin:0 0 24px;font-size:clamp(28px,3vw,40px);line-height:1.3}.review-layout figcaption{color:var(--muted);font-size:14px}.home-questions{grid-template-columns:1fr 1.5fr;gap:100px;padding-block:112px;display:grid}.home-questions h2{margin-bottom:24px;font-size:42px}.home-questions>div>p{color:var(--muted)}.home-question-list details{border-top:1px solid var(--line)}.home-question-list details:last-child{border-bottom:1px solid var(--line)}.home-question-list summary{cursor:pointer;transition:color var(--duration) var(--ease);justify-content:space-between;align-items:center;gap:24px;padding-block:24px;font-size:18px;font-weight:600;list-style:none;display:flex}.home-question-list summary::-webkit-details-marker{display:none}.home-question-list summary:hover{color:var(--accent-ink)}.home-question-list .answer{color:var(--muted);padding:0 40px 24px 0}.disclosure-mark{flex-shrink:0;width:16px;height:16px;position:relative}.disclosure-mark:before,.disclosure-mark:after{content:"";width:14px;height:1px;transition:transform var(--duration) var(--ease);background:currentColor;position:absolute;top:7px;left:1px}.disclosure-mark:after{transform:rotate(90deg)}details[open] .disclosure-mark:after{transform:rotate(0)}@supports (interpolate-size:allow-keywords){.home-question-list details{interpolate-size:allow-keywords}.home-question-list details::details-content{height:0;transition:height .22s var(--ease), content-visibility .22s allow-discrete;overflow:clip}.home-question-list details[open]::details-content{height:auto}}.home-area{background:var(--tint);padding-block:64px}.area-layout{grid-template-columns:1fr 1.3fr;align-items:center;gap:100px;display:grid}.area-layout h2{margin-bottom:24px;font-size:42px}.area-layout p{color:var(--muted);max-width:34ch;margin-bottom:16px}.area-layout ul{columns:3;column-gap:24px;margin:0;padding:0;font-size:16px;list-style:none}.area-layout li{break-inside:avoid;padding-block:6px}.home-close{justify-content:space-between;align-items:center;gap:32px;padding-block:80px;display:flex}.home-close h2{margin-bottom:16px;font-size:52px}.home-close p{color:var(--muted)}.home-close-contact{display:none}@keyframes menu-reveal{0%{opacity:.5;translate:0 -6px}to{opacity:1;translate:0}}@media (width<=1200px){.main-nav>a,.main-nav>.nav-drop>button{padding-inline:8px;font-size:14px}.brand-lockup img{width:180px}.site-header .wrap{gap:16px}.opening-copy{left:52%;right:4%}.opening-copy h1{font-size:clamp(48px,5.4vw,64px)}.service-index-links{grid-template-columns:repeat(3,1fr);gap:20px}.service-index-links a{min-height:48px;padding-block:14px}.home-promise,.heating-layout,.home-owner,.home-questions,.review-layout,.area-layout{gap:48px}}@media (width<=1080px){.menu-btn{display:inline-flex}.main-nav{display:none}}@media (width<=760px){:root{--header:72px}body{font-size:16px}.site-header .wrap{padding-inline:20px}.brand-lockup img{width:166px}.header-book,.header-contact{display:none}.home-opening{flex-direction:column;margin:0;display:flex}.opening-photo{display:contents}.opening-photo>.project-photo{aspect-ratio:4/3;order:3;height:auto;position:relative}.opening-photo>.project-photo img{object-position:50% 100%!important}.opening-shade{display:none}.opening-copy{background:var(--band);max-width:none;color:var(--band-ink);order:1;padding:32px 24px;position:static}.opening-copy h1{text-wrap:balance;font-size:clamp(38px,10vw,64px);line-height:1.04}.opening-copy h1 br:first-of-type{display:none}.opening-copy p{margin-top:20px;font-size:16px}.opening-book{display:none}.opening-caption{border-radius:0;order:4;max-width:none;padding:10px 24px;font-size:11px;position:static}.service-index{border-radius:0;order:2;padding:0 24px 24px}.service-index-heading{margin-bottom:16px}.service-index-heading h2{font-size:22px}.service-index-links a{font-size:18px}.service-index-links{grid-template-columns:repeat(2,1fr);gap:0 24px}.service-index-links a{min-height:58px;padding-block:18px}.home-promise{grid-template-columns:1fr 1fr;gap:24px;padding-block:40px}.home-promise>p{grid-column:1/-1;margin-bottom:8px;font-size:27px}.home-promise h2{font-size:19px;line-height:1.2}.home-promise div p{font-size:15px}.home-work{padding-block:48px 56px}.home-section-heading{margin-bottom:28px;display:block}.home-section-heading h2{margin-bottom:24px;font-size:44px}.home-section-heading>div{max-width:none}.featured-projects{display:block}.hot-water-project{margin-top:36px;display:block}.project-caption{margin-top:16px}.project-caption h3{font-size:22px}.project-secondary{grid-template-columns:1fr;gap:32px;margin-top:36px}.project-secondary .project-photo{aspect-ratio:4/3!important}.heating-layout{grid-template-columns:1fr;gap:36px;padding-block:48px}.heating-copy h2{margin-bottom:24px;font-size:44px}.heating-copy p{font-size:17px}.heating-copy .btn{justify-content:space-between;padding-inline:16px;font-size:15px}.heating-photo{width:100%;max-width:none}.home-owner{grid-template-columns:1fr;gap:32px;padding-block:56px}.owner-statement blockquote{font-size:25px}.home-review{padding-block:40px}.review-layout{grid-template-columns:1fr;gap:28px}.review-layout h2{margin-bottom:12px;font-size:32px}.review-layout blockquote{font-size:28px}.home-questions{grid-template-columns:1fr;gap:24px;padding-block:56px}.home-questions h2,.area-layout h2{margin-bottom:16px;font-size:36px}.home-question-list summary{padding-block:22px;font-size:17px}.home-area{padding-block:40px}.area-layout{grid-template-columns:1fr;gap:28px}.area-layout ul{columns:2}.home-close{padding-block:48px}.home-close h2{font-size:36px}.home-close>.btn{display:none}.home-close .home-close-contact{color:var(--ink);margin-top:16px;font-size:18px;display:block}.home-close-contact a{min-width:44px;min-height:44px;color:var(--accent-ink);transition:background var(--duration) var(--ease), transform .1s ease-out;border-radius:3px;justify-content:center;align-items:center;font-weight:600;text-decoration:underline;display:inline-flex}.home-close-contact a:hover{background:var(--tint)}.home-close-contact a:active{transform:translateY(2px)}.home-close-contact span{white-space:nowrap}.svc-hero{gap:28px;padding-block:36px}.svc-hero .lead{font-size:18px}.svc-hero h1{font-size:42px}.svc-sec{padding-block:36px}.about-hero,.letter{gap:32px}.cta{padding:28px}.view .cta .cta-row{display:none}.action-bar{padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:8px}.action-bar .btn{padding-inline:12px;font-size:15px}.site-footer{padding-block:48px 32px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}details::details-content{transition:none!important;animation:none!important}}html[data-logo-palette]:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--on-accent:var(--logo-on-accent);--ph:var(--tint);--ph-ink:var(--muted);--stage:var(--tint);--ground:var(--line);--shadow:0 12px 32px color-mix(in srgb, var(--band) 10%, transparent)}html[data-logo-palette] ::selection{background:var(--accent);color:var(--logo-on-accent)}html[data-logo-palette] :is(input,textarea){caret-color:var(--accent-ink)}html[data-logo-palette] .site-header{background:var(--logo-header)}html[data-logo-palette] .btn:hover{box-shadow:0 5px 14px color-mix(in srgb, var(--band) 10%, transparent)}html[data-logo-palette] :is(.btn-primary,.opening-copy .btn){background:var(--accent);color:var(--logo-on-accent)}html[data-logo-palette] :is(.btn-primary,.opening-copy .btn):hover{background:var(--accent-hover)}html[data-logo-palette] .btn-light{background:var(--surface);color:var(--ink)}html[data-logo-palette] .btn-light:hover{background:var(--tint)}html[data-logo-palette] .btn-ghost-light{color:inherit;border-color:currentColor}html[data-logo-palette] .btn-ghost-light:hover{background:color-mix(in srgb, currentColor 10%, transparent)}html[data-logo-palette] :is(.cta,.cta p,.done .ok){color:var(--logo-on-accent)}html[data-logo-palette] .cta :focus-visible{outline-color:var(--logo-on-accent)}html[data-logo-palette] .field :is(input,select,textarea):focus{border-color:var(--accent-ink);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-ink) 14%, transparent)}html[data-logo-palette] .opening-photo{background:var(--band);color:var(--band-ink)}html[data-logo-palette] .opening-shade{background:linear-gradient(90deg, transparent 20%, color-mix(in srgb, var(--band) 88%, transparent) 53%, var(--band) 100%)}html[data-logo-palette] .opening-copy h1 span{color:var(--logo-highlight)}html[data-logo-palette] .opening-copy p{color:var(--band-ink)}html[data-logo-palette] .opening-copy :focus-visible{outline-color:var(--band-accent)}html[data-logo-palette] .opening-caption{background:var(--band);color:var(--band-ink)}html[data-logo-palette] :is(.service-index-links a,.foot-base){border-color:var(--logo-band-line)}html[data-logo-palette] .service-index-links a:hover{color:var(--band-accent);border-color:var(--band-accent)}html:is([data-logo-preview="16"],[data-logo-preview="17"],[data-logo-preview="18"])[data-logo-palette] .opening-shade{background:linear-gradient(90deg,#181b1d00 25%,#181b1d9e 54%,#181b1df0 100%)}
