
:root{
  --bg:#F7F8FA; --surface:#FFFFFF; --soft:#EEF1F5; --ink:#17233D; --ink-2:#56627A; --line:#DDE2EA;
  --gold:#B8963A; --gold-soft:#E9DDBB; --navy:#1B2A47; --on-navy:#F3F5F9; --on-navy-2:#B9C3D6;
  --sky1:#E8EDF4; --sky2:#F6F2E8; --ok:#2E7A52; --warn:#B4502F;
  --display:"Cormorant Garamond",Georgia,"Times New Roman",serif; --d-weight:600; --d-case:none; --d-track:-.01em;
  --body:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"DM Mono",ui-monospace,Menlo,monospace;
  --r:18px; --r-sm:10px; --wrap:1200px; --shadow:0 18px 50px rgba(23,35,61,.08);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0F1726; --surface:#162036; --soft:#1B2740; --ink:#EDF0F6; --ink-2:#A9B3C6; --line:#27344F;
  --gold:#D3B25E; --gold-soft:#3A3524; --navy:#0B1220; --on-navy:#EEF1F6; --on-navy-2:#A9B3C6;
  --sky1:#1A2640; --sky2:#232B3A; --ok:#62B98A; --warn:#E08465; --shadow:0 18px 50px rgba(0,0,0,.35); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0F1726; --surface:#162036; --soft:#1B2740; --ink:#EDF0F6; --ink-2:#A9B3C6; --line:#27344F;
  --gold:#D3B25E; --gold-soft:#3A3524; --navy:#0B1220; --on-navy:#EEF1F6; --on-navy-2:#A9B3C6;
  --sky1:#1A2640; --sky2:#232B3A; --ok:#62B98A; --warn:#E08465; --shadow:0 18px 50px rgba(0,0,0,.35); color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{background:var(--bg);color:var(--ink);font:16px/1.65 var(--body);-webkit-font-smoothing:antialiased;transition:background .3s,color .3s}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
h1,h2,h3{font-family:var(--display);font-weight:var(--d-weight);text-transform:var(--d-case);letter-spacing:var(--d-track);line-height:1.04;margin:0;text-wrap:balance}
h1{font-size:clamp(2.8rem,6.4vw,5.4rem)}
h2{font-size:clamp(2.1rem,4.2vw,3.4rem)}
h3{font-size:clamp(1.45rem,2.2vw,1.85rem)}
p{margin:0}
em.g{font-style:italic;color:var(--gold)}
.kicker{display:inline-flex;align-items:center;gap:12px;font:500 .72rem/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.kicker::before{content:"";width:28px;height:1px;background:var(--gold)}
.lede{color:var(--ink-2);font-size:1.075rem;max-width:60ch}
.muted{color:var(--ink-2)}
section{padding-block:clamp(56px,8vw,104px)}
.head{display:grid;gap:16px;margin-bottom:clamp(32px,4vw,52px);max-width:760px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:600 .92rem/1 var(--body);padding:15px 26px;border-radius:999px;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .2s,color .2s,transform .2s,border-color .2s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--navy);color:var(--on-navy)}.on-dark .btn-primary{background:var(--gold);color:#121A2B}
.btn-ghost{border-color:var(--line);color:var(--ink);background:transparent}
.btn-ghost:hover{border-color:var(--gold)}
.arrow{font-weight:600;color:var(--gold);text-decoration:none;display:inline-flex;gap:8px;align-items:center;font-size:.92rem}
.arrow::after{content:"→";transition:transform .2s}
.arrow:hover::after{transform:translateX(4px)}
.util{background:var(--navy);color:var(--on-navy-2);font-size:.8rem}
.util .wrap{display:flex;flex-wrap:wrap;gap:6px 22px;align-items:center;justify-content:space-between;padding-block:8px}
.util b{color:var(--on-navy);font-weight:600}
.util .es{font-family:var(--mono);letter-spacing:.06em;color:var(--gold)}
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 6px 24px rgba(10,20,40,.06)}
.top-row{display:flex;align-items:center;gap:20px;height:72px}
.brand{display:flex;align-items:center;text-decoration:none;flex-shrink:0}
.h-cta{display:flex;gap:18px;align-items:center;margin-left:auto}
.h-phone{display:grid;line-height:1.15;text-align:right}
.h-phone small{font:500 .62rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin-bottom:4px}
.h-phone b{font-weight:700;font-size:1.02rem;user-select:all}
@media (max-width:640px){.h-phone{display:none}.top-row{height:64px}}
.tabbar{background:var(--navy);border-top:1px solid color-mix(in srgb,var(--gold) 35%,transparent)}
nav.tabs{display:flex;justify-content:space-between;gap:4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin-inline:-6px}
nav.tabs::-webkit-scrollbar{display:none}
nav.tabs a{flex:0 0 auto;font:600 .95rem/1 var(--body);letter-spacing:.01em;text-decoration:none;color:var(--on-navy-2);padding:17px 12px 14px;border-bottom:3px solid transparent;transition:color .2s,border-color .2s;white-space:nowrap}
nav.tabs a:hover{color:var(--on-navy);border-bottom-color:color-mix(in srgb,var(--gold) 45%,transparent)}
nav.tabs a[aria-current="page"]{color:var(--on-navy);border-bottom-color:var(--gold)}
@media (max-width:1000px){nav.tabs{justify-content:flex-start}nav.tabs a{font-size:.9rem;padding:15px 11px 12px}}
@media (max-width:700px){header.site{position:relative}nav.tabs{flex-wrap:wrap;justify-content:center;overflow:visible;margin-inline:0;padding-block:4px;gap:0 2px}nav.tabs a{font-size:.86rem;padding:11px 9px 9px}}
.page{display:none}
.page.active{display:block;animation:fade .45s ease}
@keyframes fade{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}
.hero{padding-block:clamp(40px,6vw,80px) clamp(48px,7vw,96px)}
.hero .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
@media (max-width:920px){.hero .wrap{grid-template-columns:1fr}}
.hero .lede{margin-top:24px}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.proof{display:flex;flex-wrap:wrap;gap:14px 36px;margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}
.proof div{display:grid;gap:2px}
.proof b{font:var(--d-weight) 2rem/1 var(--display);letter-spacing:var(--d-track)}
.proof span{font-size:.82rem;color:var(--ink-2)}
.art{position:relative;border-radius:var(--r);overflow:hidden;background:linear-gradient(160deg,var(--sky1),var(--sky2));aspect-ratio:5/4;max-width:100%;box-shadow:var(--shadow)}
.art.tall{aspect-ratio:4/5}
.art.wide{aspect-ratio:16/9}
.art svg{position:absolute;inset:0;width:100%;height:100%}
.stroke{fill:none;stroke:var(--ink);stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round;opacity:.82}
.fine{fill:none;stroke:var(--ink);stroke-width:.7;opacity:.4}
.goldl{fill:none;stroke:var(--gold);stroke-width:1.6}
.fillg{fill:var(--gold);opacity:.16}
.art .cap{position:absolute;left:16px;bottom:14px;font:500 .66rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);background:color-mix(in srgb,var(--surface) 82%,transparent);padding:7px 10px;border-radius:999px}
.art .badge{position:absolute;right:16px;top:16px;background:var(--surface);color:var(--ink);border-radius:var(--r-sm);padding:12px 14px;font-size:.78rem;box-shadow:var(--shadow);display:grid;gap:2px}
.art .badge b{font:var(--d-weight) 1.35rem/1 var(--display)}
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media (max-width:1000px){.svc-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.svc-grid{grid-template-columns:1fr}}
.svc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:0;text-decoration:none;display:grid;grid-template-rows:auto 1fr;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s;min-width:0}
.svc:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--gold-soft)}
.svc .art{border-radius:0;box-shadow:none;aspect-ratio:4/3}
.svc-b{padding:22px 22px 24px;display:grid;gap:10px;align-content:start}
.svc-b .n{font:500 .68rem/1 var(--mono);letter-spacing:.16em;color:var(--gold)}
.svc-b p{color:var(--ink-2);font-size:.93rem}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:center}
@media (max-width:900px){.split{grid-template-columns:1fr}}
.split.rev>:first-child{order:2}
@media (max-width:900px){.split.rev>:first-child{order:0}}
.ticks{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:12px}
.ticks li{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;color:var(--ink-2)}
.ticks li::before{content:"";width:16px;height:16px;margin-top:5px;border:1px solid var(--gold);border-radius:50%;background:radial-gradient(circle,var(--gold) 0 3px,transparent 4px)}
.ticks b{color:var(--ink);font-weight:600}
.band{background:var(--navy);color:var(--on-navy)}
.band .lede,.band .muted{color:var(--on-navy-2)}
.on-dark .btn-ghost{color:var(--on-navy);border-color:color-mix(in srgb,var(--on-navy) 30%,transparent)}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px) clamp(20px,3vw,48px);counter-reset:s}
@media (max-width:860px){.steps{grid-template-columns:1fr}}
.steps li{counter-increment:s;display:grid;gap:10px;padding-top:22px;border-top:1px solid var(--line)}
.band .steps li{border-top-color:color-mix(in srgb,var(--on-navy) 18%,transparent)}
.steps li::before{content:counter(s,decimal-leading-zero);font:var(--d-weight) 2.4rem/1 var(--display);color:var(--gold)}
.steps b{font-size:1.06rem;font-weight:600}
.steps p{color:var(--ink-2);font-size:.95rem}
.band .steps p{color:var(--on-navy-2)}
.revs{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media (max-width:820px){.revs{grid-template-columns:1fr}}
.rev{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(24px,3vw,40px);display:grid;gap:22px;align-content:space-between}
.rev blockquote{margin:0;font:500 clamp(1.15rem,1.7vw,1.4rem)/1.45 var(--display);letter-spacing:0}
.rev figcaption{display:flex;align-items:center;gap:14px;font-size:.88rem;color:var(--ink-2)}
.av{width:42px;height:42px;border-radius:50%;background:var(--gold-soft);color:var(--ink);display:grid;place-items:center;font:600 1rem var(--display)}
.rev figcaption b{color:var(--ink);display:block}
.stars{color:var(--gold);letter-spacing:4px;font-size:.9rem}
.subtabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px;border-bottom:1px solid var(--line)}
.subtabs button{font:600 .92rem var(--body);padding:14px 4px;margin-right:22px;background:none;border:0;border-bottom:2px solid transparent;color:var(--ink-2);cursor:pointer;margin-bottom:-1px}
.subtabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--gold)}
.panel[hidden]{display:none}
.firststeps{background:var(--soft);border-radius:var(--r);padding:24px 26px;margin-top:28px}
.firststeps ol{margin:12px 0 0;padding-left:20px;display:grid;gap:6px;color:var(--ink-2)}
.firststeps h4{margin:0;font:500 .72rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.chip{font-size:.84rem;padding:7px 14px;border-radius:999px;border:1px solid var(--line);color:var(--ink);background:var(--surface)}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:900px){.cards3{grid-template-columns:1fr}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:28px;display:grid;gap:10px;align-content:start}
.card .big{font:var(--d-weight) 2.6rem/1 var(--display);color:var(--gold)}
.card p{color:var(--ink-2);font-size:.95rem}
.notice{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;padding:22px 24px;border:1px solid var(--gold-soft);background:color-mix(in srgb,var(--gold) 7%,var(--surface));border-radius:var(--r);margin-top:36px}
.notice svg{width:26px;height:26px;color:var(--gold)}
.notice p{color:var(--ink-2);font-size:.95rem}
.notice b{color:var(--ink)}
.spec{display:grid;border-top:1px solid var(--line)}
.spec div{display:grid;grid-template-columns:170px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}
@media (max-width:520px){.spec div{grid-template-columns:1fr;gap:4px}}
.spec dt{font:500 .72rem/1.6 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.spec dd{margin:0;color:var(--ink-2)}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.filters button{font:600 .85rem var(--body);padding:10px 18px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.work{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:900px){.work{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.work{grid-template-columns:1fr}}
.proj{display:grid;gap:14px;min-width:0}
.proj .art{aspect-ratio:4/3}
.proj b{font:var(--d-weight) 1.35rem/1.15 var(--display);letter-spacing:var(--d-track);text-transform:var(--d-case)}
.proj span{font-size:.88rem;color:var(--ink-2)}
.proj .t{font:500 .66rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding:20px 0}
.faq summary{cursor:pointer;font-weight:600;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:300 1.5rem/1 var(--body);color:var(--gold);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin-top:12px;color:var(--ink-2);max-width:70ch}
.cities{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,72px)}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
.direct{display:grid;gap:22px;margin-top:32px}
.direct div{display:grid;gap:4px}
.direct small{font:500 .68rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.direct b{font-size:1.15rem;font-weight:600;user-select:all}
form{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,3vw,36px);display:grid;grid-template-columns:1fr 1fr;gap:16px;box-shadow:var(--shadow)}
form .full{grid-column:1/-1}
@media (max-width:560px){form{grid-template-columns:1fr}}
label{display:grid;gap:7px;font-size:.84rem;font-weight:600}
input,select,textarea{font:inherit;font-size:1rem;font-weight:400;padding:13px 15px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);color:var(--ink);width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold)}
textarea{min-height:120px;resize:vertical}
fieldset{border:0;padding:0;margin:0}
legend{font-size:.84rem;font-weight:600;margin-bottom:8px}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg label{display:flex;align-items:center;gap:8px;font-weight:500;padding:10px 16px;border:1px solid var(--line);border-radius:999px;cursor:pointer}
.seg input{width:auto;accent-color:var(--gold)}
.note{font-size:.8rem;color:var(--ink-2)}
.sent{grid-column:1/-1;padding:16px 18px;border-radius:var(--r-sm);background:var(--soft);border-left:3px solid var(--ok);font-size:.95rem}
.closer{text-align:center}
.closer .wrap{display:grid;justify-items:center;gap:20px}
.closer .lede{margin-inline:auto}
footer{background:var(--navy);color:var(--on-navy-2);font-size:.88rem;padding-block:64px 100px}
footer .wrap{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px}
@media (max-width:860px){footer .wrap{grid-template-columns:1fr 1fr}}
footer .brand{color:var(--on-navy)}
footer .brand svg{color:var(--on-navy)}
footer h4{font:500 .7rem/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0 0 16px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
footer a{text-decoration:none}
footer a:hover{color:var(--on-navy)}
.fine-row{grid-column:1/-1;border-top:1px solid color-mix(in srgb,var(--on-navy) 14%,transparent);padding-top:22px;font-size:.78rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}
.callbar{display:none}
@media (max-width:700px){.callbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:45;background:var(--surface);border-top:1px solid var(--line);padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px))}
 .callbar .btn{padding:14px}}
.lg-mark{display:block;width:48px;height:45px;background:url(/img/lg-mark.webp) center/contain no-repeat}
.lg-word{display:block;width:96px;height:38px;background:url(/img/lg-word.webp) center/contain no-repeat}
.brand{gap:10px}
.brand-stack{flex-direction:column;align-items:flex-start;gap:6px}
.brand-stack .lg-mark{width:88px;height:82px}
.brand-stack .lg-word{width:150px;height:59px}
.logo-panel{background:var(--navy);display:grid;place-items:center;align-content:center;gap:18px}
.logo-panel .lg-mark{width:52%;height:auto;aspect-ratio:193/180}
.logo-panel .lg-word{width:62%;height:auto;aspect-ratio:244/96}
@media (max-width:420px){.lg-word{width:80px;height:32px}.lg-mark{width:40px;height:37px}}
.rating-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:clamp(24px,3vw,40px);display:grid;gap:10px;justify-items:start;max-width:420px;width:100%;justify-self:end}
@media (max-width:920px){.rating-card{justify-self:start}}
.g-logo{font:700 1.3rem/1 var(--body);letter-spacing:-.01em}
.rating-num{font:var(--d-weight) 4.6rem/1 var(--display);letter-spacing:var(--d-track)}
.stars.big{font-size:1.4rem;letter-spacing:6px}
.rating-bars{display:grid;gap:6px;width:100%;margin-top:8px}
.rating-bars div{display:grid;grid-template-columns:14px 1fr;gap:10px;align-items:center;font:500 .75rem var(--mono);color:var(--ink-2)}
.rating-bars i{display:block;height:6px;border-radius:99px;background:var(--soft);position:relative;overflow:hidden}
.rating-bars i::after{content:"";position:absolute;inset:0;width:var(--w);background:var(--gold);border-radius:99px}
.rev-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
@media (max-width:820px){.rev-grid{grid-template-columns:1fr}}
.rev .src{display:inline-flex;align-items:center;gap:6px;font:500 .68rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.rev-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.rev-empty{margin-top:12px}
.feat-rev{max-width:860px}
.gmark{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--surface);border:1px solid var(--line);font:700 .7rem/1 var(--body);color:#4285F4}
.photo{position:relative;background-color:var(--soft);background-size:cover;background-position:center;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:5/4;max-width:100%}
.photo.tall{aspect-ratio:4/5}
.photo.contain{background-size:contain;background-repeat:no-repeat;background-color:#fff}
.photo .cap{position:absolute;left:16px;bottom:14px;font:500 .66rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#17233D;background:rgba(255,255,255,.88);padding:7px 10px;border-radius:999px}
.photo .badge{position:absolute;right:16px;top:16px;background:var(--surface);color:var(--ink);border-radius:var(--r-sm);padding:12px 14px;font-size:.78rem;box-shadow:var(--shadow);display:grid;gap:2px}
.photo .badge b{font:var(--d-weight) 1.35rem/1 var(--display)}
.svc .photo{border-radius:0;box-shadow:none;aspect-ratio:4/3}
.proj .photo{aspect-ratio:4/3;cursor:zoom-in;transition:transform .25s}
.proj .photo:hover{transform:scale(1.015)}
.ph-kitchen-steve{background-image:url(/img/kitchen-steve.webp)}
.ph-bath-christina{background-image:url(/img/bath-christina.webp)}
.ph-bath-bryan{background-image:url(/img/bath-bryan.webp)}
.ph-shower-alex{background-image:url(/img/shower-alex.webp)}
.ph-kitchen-counters{background-image:url(/img/kitchen-counters.webp)}
.ph-roof-after{background-image:url(/img/roof-after.webp)}
.ph-roof-tearoff{background-image:url(/img/roof-tearoff.webp)}
.ph-kitchen-steve-after{background-image:url(/img/kitchen-steve-after.webp)}
.ph-roof-pair{background-image:url(/img/roof-pair.webp)}
.ph-water-0{background-image:url(/img/water-0.webp)}
.ph-water-1{background-image:url(/img/water-1.webp)}
.ph-water-2{background-image:url(/img/water-2.webp)}
.ph-water-3{background-image:url(/img/water-3.webp)}
.ph-water-4{background-image:url(/img/water-4.webp)}
.ph-water-5{background-image:url(/img/water-5.webp)}
.ph-water-6{background-image:url(/img/water-6.webp)}
.ph-water-7{background-image:url(/img/water-7.webp)}
.ph-water-8{background-image:url(/img/water-8.webp)}
.ph-water-9{background-image:url(/img/water-9.webp)}
.ph-water-pair{background-image:url(/img/water-pair.webp)}
.ph-shower2-pair{background-image:url(/img/shower2-pair.webp)}
.ph-shower2-after{background-image:url(/img/shower2-after.webp)}
.ph-shower2-during{background-image:url(/img/shower2-during.webp)}
.ph-mbath-tub{background-image:url(/img/mbath-tub.webp)}
.ph-mbath-shower{background-image:url(/img/mbath-shower.webp)}
.ph-mbath-vanity{background-image:url(/img/mbath-vanity.webp)}
.ph-suite-wide{background-image:url(/img/suite-wide.webp)}
.ph-suite-closet{background-image:url(/img/suite-closet.webp)}
.ph-suite-barndoor{background-image:url(/img/suite-barndoor.webp)}
.ph-suite-tub{background-image:url(/img/suite-tub.webp)}
.ph-suite-vanity{background-image:url(/img/suite-vanity.webp)}
.lightbox .lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:#fff;color:#17233D;border:0;border-radius:999px;width:46px;height:46px;font:600 1.3rem/1 var(--body);cursor:pointer;display:grid;place-items:center}
.lightbox .lb-prev{left:12px}.lightbox .lb-next{right:12px}
.lightbox .lb-nav[hidden]{display:none}
.proj .count{position:absolute;right:10px;bottom:10px;background:rgba(23,35,61,.85);color:#fff;font:600 .72rem/1 var(--body);padding:6px 9px;border-radius:999px}
.ph-tree-pair-garage{background-image:url(/img/tree-pair-garage.webp)}
.ph-tree-pair-interior{background-image:url(/img/tree-pair-interior.webp)}
.ph-tree-pair-rear{background-image:url(/img/tree-pair-rear.webp)}
.ph-tree-pair-side{background-image:url(/img/tree-pair-side.webp)}
.ph-tree-wide{background-image:url(/img/tree-wide.webp)}
.ph-tree-garage2{background-image:url(/img/tree-garage2.webp)}
.ph-tree-tiein{background-image:url(/img/tree-tiein.webp)}
.ph-tree-roof{background-image:url(/img/tree-roof.webp)}
.ph-tree-interior{background-image:url(/img/tree-interior.webp)}
.ph-tree-room{background-image:url(/img/tree-room.webp)}
.ph-tree-garage-after2{background-image:url(/img/tree-garage-after2.webp)}
.ph-tree-garage-after3{background-image:url(/img/tree-garage-after3.webp)}
.ph-tree-stairs-after{background-image:url(/img/tree-stairs-after.webp)}
.ph-tree-kitchen-after{background-image:url(/img/tree-kitchen-after.webp)}
.ph-tree-sink-after{background-image:url(/img/tree-sink-after.webp)}
.ph-tree-dining-after{background-image:url(/img/tree-dining-after.webp)}
.ph-tree-living-after{background-image:url(/img/tree-living-after.webp)}
.ph-tree-entry-after{background-image:url(/img/tree-entry-after.webp)}
.ph-tree-hall-after{background-image:url(/img/tree-hall-after.webp)}
.ph-tree-halfbath-after{background-image:url(/img/tree-halfbath-after.webp)}
.ph-tree-vanity-after{background-image:url(/img/tree-vanity-after.webp)}
.ph-tree-bedroom-after{background-image:url(/img/tree-bedroom-after.webp)}
.ph-tree-upstairs-hall-after{background-image:url(/img/tree-upstairs-hall-after.webp)}
.ph-tree-rear-after{background-image:url(/img/tree-rear-after.webp)}
.ph-tree-side-after{background-image:url(/img/tree-side-after.webp)}
.featured{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,4vw,56px);align-items:center}
@media (max-width:900px){.featured{grid-template-columns:1fr}}
.featured .rev{box-shadow:var(--shadow)}
.feat-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:22px}
@media (max-width:640px){.feat-strip{grid-template-columns:1fr}}
.feat-strip .photo{aspect-ratio:auto;cursor:zoom-in}
.feat-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.ph-uw-pair-garage{background-image:url(/img/uw-pair-garage.webp)}
.ph-uw-pair-roof{background-image:url(/img/uw-pair-roof.webp)}
.ph-uw-tarp{background-image:url(/img/uw-tarp.webp)}
.ph-uw-hole1{background-image:url(/img/uw-hole1.webp)}
.ph-uw-hole2{background-image:url(/img/uw-hole2.webp)}
.ph-uw-hole3{background-image:url(/img/uw-hole3.webp)}
.ph-uw-garage-before{background-image:url(/img/uw-garage-before.webp)}
.ph-uw-garage-before2{background-image:url(/img/uw-garage-before2.webp)}
.ph-uw-garage-before3{background-image:url(/img/uw-garage-before3.webp)}
.ph-uw-garage-open{background-image:url(/img/uw-garage-open.webp)}
.ph-uw-garage-contain{background-image:url(/img/uw-garage-contain.webp)}
.ph-uw-crew{background-image:url(/img/uw-crew.webp)}
.ph-uw-redeck{background-image:url(/img/uw-redeck.webp)}
.ph-uw-redeck2{background-image:url(/img/uw-redeck2.webp)}
.ph-uw-redeck3{background-image:url(/img/uw-redeck3.webp)}
.ph-uw-shingles{background-image:url(/img/uw-shingles.webp)}
.ph-uw-roof-after{background-image:url(/img/uw-roof-after.webp)}
.ph-uw-roof-after2{background-image:url(/img/uw-roof-after2.webp)}
.ph-uw-roof-after3{background-image:url(/img/uw-roof-after3.webp)}
.ph-uw-garage-after{background-image:url(/img/uw-garage-after.webp)}.ph-kisch-pair-patio{background-image:url(/img/kisch-pair-patio.webp)}.ph-kisch-pair-living{background-image:url(/img/kisch-pair-living.webp)}.ph-kisch-impact{background-image:url(/img/kisch-impact.webp)}.ph-kisch-frame{background-image:url(/img/kisch-frame.webp)}.ph-kisch-fireplace{background-image:url(/img/kisch-fireplace.webp)}.ph-kisch-opening{background-image:url(/img/kisch-opening.webp)}.ph-kisch-drywall{background-image:url(/img/kisch-drywall.webp)}.ph-kisch-stairs{background-image:url(/img/kisch-stairs.webp)}.ph-kisch-patio-after{background-image:url(/img/kisch-patio-after.webp)}.ph-kisch-window-after{background-image:url(/img/kisch-window-after.webp)}.ph-kisch-dining-after{background-image:url(/img/kisch-dining-after.webp)}.ph-kisch-hall-after{background-image:url(/img/kisch-hall-after.webp)}.ph-kisch-ext-after{background-image:url(/img/kisch-ext-after.webp)}.ph-kisch-window2-after{background-image:url(/img/kisch-window2-after.webp)}.ph-yenier-pair-front-wide{background-image:url(/img/yenier-pair-front-wide.webp)}.ph-yenier-pair-rear-wide{background-image:url(/img/yenier-pair-rear-wide.webp)}.ph-yenier-pair-front{background-image:url(/img/yenier-pair-front.webp)}.ph-yenier-pair-rear{background-image:url(/img/yenier-pair-rear.webp)}.ph-yr-front-tearoff{background-image:url(/img/yr-front-tearoff.webp)}.ph-yr-side-progress{background-image:url(/img/yr-side-progress.webp)}.ph-yr-rear-progress{background-image:url(/img/yr-rear-progress.webp)}.ph-yr-gable-tearoff{background-image:url(/img/yr-gable-tearoff.webp)}.ph-yr-rear-after{background-image:url(/img/yr-rear-after.webp)}.ph-yr-front-after{background-image:url(/img/yr-front-after.webp)}.ph-va-5{background-image:url(/img/va-5.webp)}.ph-va-87{background-image:url(/img/va-87.webp)}.ph-va-56{background-image:url(/img/va-56.webp)}.ph-va-pair-room{background-image:url(/img/va-pair-room.webp)}.ph-va-98{background-image:url(/img/va-98.webp)}.ph-va-72{background-image:url(/img/va-72.webp)}.ph-va-pair-kitchen{background-image:url(/img/va-pair-kitchen.webp)}.ph-va-pair-roof{background-image:url(/img/va-pair-roof.webp)}.ph-va-54{background-image:url(/img/va-54.webp)}.ph-va-0{background-image:url(/img/va-0.webp)}.ph-va-114{background-image:url(/img/va-114.webp)}.ph-va-71{background-image:url(/img/va-71.webp)}.ph-va-111{background-image:url(/img/va-111.webp)}.ph-va-77{background-image:url(/img/va-77.webp)}.ph-va-70{background-image:url(/img/va-70.webp)}.ph-va-76{background-image:url(/img/va-76.webp)}.ph-va-65{background-image:url(/img/va-65.webp)}.ph-va-pair-roof-wide{background-image:url(/img/va-pair-roof-wide.webp)}.ph-va-102{background-image:url(/img/va-102.webp)}.ph-va-pair-unit{background-image:url(/img/va-pair-unit.webp)}.ph-byrd-pair-shower{background-image:url(/img/byrd-pair-shower.webp)}.ph-byrd-b16{background-image:url(/img/byrd-b16.webp)}.ph-byrd-b10{background-image:url(/img/byrd-b10.webp)}.ph-byrd-b29{background-image:url(/img/byrd-b29.webp)}.ph-byrd-b21{background-image:url(/img/byrd-b21.webp)}.ph-byrd-b13{background-image:url(/img/byrd-b13.webp)}.ph-byrd-b60{background-image:url(/img/byrd-b60.webp)}.ph-byrd-b45{background-image:url(/img/byrd-b45.webp)}.ph-tsamo-pair-living{background-image:url(/img/tsamo-pair-living.webp)}.ph-tsamo-pair-room{background-image:url(/img/tsamo-pair-room.webp)}.ph-tsamo-t25{background-image:url(/img/tsamo-t25.webp)}.ph-tsamo-t69{background-image:url(/img/tsamo-t69.webp)}.ph-tsamo-t79{background-image:url(/img/tsamo-t79.webp)}.ph-tsamo-t22{background-image:url(/img/tsamo-t22.webp)}.ph-tsamo-t16{background-image:url(/img/tsamo-t16.webp)}.ph-tsamo-t82{background-image:url(/img/tsamo-t82.webp)}.ph-tsamo-t51{background-image:url(/img/tsamo-t51.webp)}.ph-tsamo-t70{background-image:url(/img/tsamo-t70.webp)}
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(6,10,20,.92);display:grid;place-items:center;padding:clamp(16px,4vw,48px);cursor:zoom-out}
.lightbox[hidden]{display:none}
.lightbox .lb-img{width:min(1100px,100%);aspect-ratio:var(--ar,1.6);max-height:80vh;background-size:contain;background-repeat:no-repeat;background-position:center}
.lightbox p{color:#EEF1F6;text-align:center;margin-top:14px;font-size:.95rem}
.lightbox .lb-close{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));right:16px;background:#fff;color:#17233D;border:0;border-radius:999px;padding:10px 16px;font:600 .85rem var(--body);cursor:pointer}
h1,h2,h3,.proof b,.card .big,.steps li::before,.rating-num,.photo .badge b,.art .badge b,.proj b,.rev blockquote{font-feature-settings:"lnum" 1,"pnum" 1;font-variant-numeric:lining-nums}
footer .wrap>*{min-width:0}
footer li{overflow-wrap:anywhere}
@media (max-width:520px){footer .wrap{grid-template-columns:1fr}}
.art{background-color:#1B2A47;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:22px 22px}
.stroke{stroke:#E9EDF4;opacity:.85}
.fine{stroke:#E9EDF4;opacity:.32}
.goldl{stroke:#C9A84C}
.fillg{fill:#C9A84C;opacity:.18}
.art .cap{background:rgba(201,168,76,.95);color:#121A2B}
.legal-doc{max-width:760px}
.legal-doc .updated{font:500 .72rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-top:18px}
.legal-doc h2{font-size:clamp(1.5rem,2.4vw,1.9rem);margin-top:44px;margin-bottom:12px}
.legal-doc p,.legal-doc li{color:var(--ink-2);font-size:1rem;line-height:1.75}
.legal-doc p+p,.legal-doc ul+p{margin-top:12px}
.legal-doc ul{padding-left:20px;margin:10px 0 0;display:grid;gap:6px}
.legal-doc b{color:var(--ink)}
.legal-doc .lead{font-size:1.08rem;margin-top:22px}
.legal-doc a{color:var(--gold)}
.legal-contact{margin-top:14px;padding:20px 22px;background:var(--soft);border-radius:var(--r);display:grid;gap:4px}
.legal-contact span{color:var(--ink)}
.note a{color:var(--gold)}
.slide-layer{position:absolute;inset:0;background-size:inherit;background-position:center;background-repeat:no-repeat;background-color:inherit;opacity:0;transition:opacity .8s ease;pointer-events:none;border-radius:inherit}
.slide-layer.on{opacity:1}
.photo>.cap,.photo>.badge,.photo>.count,.photo>.dots,.photo>.sl-btn{z-index:2}
.dots{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);display:flex;gap:5px;padding:5px 7px;border-radius:999px;background:rgba(23,35,61,.6)}
.dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.45);transition:background .3s,width .3s}
.dots i.on{background:#fff;width:16px;border-radius:3px}
.photo.contain>.dots{bottom:auto;top:10px}
.photo .cap~.dots{bottom:auto;top:12px;left:auto;right:12px;transform:none}
.sl-btn{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#17233D;font:600 1.25rem/1 var(--body);display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.18);opacity:0;transition:opacity .2s}
.sl-prev{left:10px}.sl-next{right:10px}
.photo:hover .sl-btn,.photo:focus-within .sl-btn{opacity:1}
@media (hover:none){.sl-btn{opacity:.85;width:34px;height:34px}}
@media (prefers-reduced-motion:reduce){.slide-layer{transition:none}}

.h-phone{text-decoration:none;color:inherit}
.sent.ok{border-left-color:var(--ok)}
.hp{position:absolute;left:-9999px}
