:root{--font-body:system-ui, sans-serif;--font-display:var(--font-body);--font-mono:ui-monospace, "SF Mono", Menlo, monospace;--radius:0px;--w-max:1200px;--gutter:clamp(20px, 4vw, 48px);--sec:clamp(64px, 8vw, 112px);--step--1:.9rem;--step-0:1.0625rem;--step-1:1.25rem;--step-2:clamp(1.35rem, 1.15rem + .9vw, 1.75rem);--step-3:clamp(1.8rem, 1.4rem + 1.6vw, 2.6rem);--step-4:clamp(2.2rem, 1.5rem + 2.4vw, 3.6rem);--display-weight:700;--display-tracking:-.03em;--display-lh:1.06}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}body{font-family:var(--font-body);font-size:var(--step-0);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}img,svg,video{max-width:100%;height:auto;display:block}a{color:inherit}button{font:inherit}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:-.02em;text-wrap:balance;margin:0;line-height:1.1}h1{font-size:var(--step-4);letter-spacing:var(--display-tracking);line-height:var(--display-lh)}h2{font-size:var(--step-3);letter-spacing:-.025em;max-width:24ch}h3{font-size:var(--step-2);line-height:1.2}h4{font-size:var(--step-1);line-height:1.25}p{margin:0 0 1.1em}.lead{color:var(--steel);max-width:58ch;font-size:1.15rem;line-height:1.55}.measure{max-width:66ch}.caption{font-size:var(--step--1);color:var(--mist)}.mono{font-family:var(--font-mono);font-size:.92em}strong{font-weight:700}.wrap{width:min(var(--w-max), 100% - 2 * var(--gutter));margin-inline:auto}.sec{padding-block:var(--sec)}.sec--tight{padding-block:calc(var(--sec) * .6)}.band{background:var(--slab)}.band--ink{background:var(--ink);color:var(--paper)}.band--ink .lead,.band--ink .caption,.band--ink p{color:var(--on-ink-muted)}.band--ink h1,.band--ink h2,.band--ink h3{color:var(--paper)}.grid{align-items:start;gap:clamp(24px,3vw,48px);display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.split{grid-template-columns:5fr 7fr;align-items:start;gap:clamp(32px,6vw,96px);display:grid}.split--rev{grid-template-columns:7fr 5fr}@media (width>=901px){.split>:nth-child(2){padding-top:34px}.split.split--flush>:nth-child(2){padding-top:0}}@media (width<=900px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.split,.split--rev{grid-template-columns:1fr}}@media (width<=600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.btn{border:2px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;border-radius:var(--radius);align-items:center;gap:10px;padding:16px 26px;font-size:1rem;font-weight:700;line-height:1;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn:hover{background:var(--paper);color:var(--ink)}.btn--accent{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn--accent:hover{background:var(--accent-deep);border-color:var(--accent-deep);color:var(--on-accent)}.btn--ghost{color:var(--ink);background:0 0}.btn--ghost:hover{background:var(--ink);color:var(--paper)}.band--ink .btn--ghost{color:var(--paper);border-color:var(--paper)}.band--ink .btn--ghost:hover{background:var(--paper);color:var(--ink)}.btn--sm{padding:12px 18px;font-size:.95rem}.btn-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.textlink{border-bottom:2px solid var(--accent);padding-bottom:2px;font-weight:700;text-decoration:none}.textlink:hover{border-color:var(--ink)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.hdr{z-index:50;background:color-mix(in srgb, var(--paper) 92%, transparent);backdrop-filter:saturate(140%)blur(8px);border-bottom:1px solid var(--plate);position:sticky;top:0}.hdr__in{justify-content:space-between;align-items:center;gap:24px;height:72px;display:flex}.logo{font-family:var(--font-display);letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.15rem;font-weight:800;text-decoration:none;display:inline-flex}.logo i{background:var(--accent);width:14px;height:14px;display:inline-block}.logo small{color:var(--mist);letter-spacing:0;font-size:.9rem;font-weight:500;font-family:var(--font-body)}.nav{align-items:center;gap:22px;display:flex}.nav a{color:var(--steel);font-size:.98rem;font-weight:600;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--ink)}.nav .btn{margin-left:8px}.burger{cursor:pointer;background:0 0;border:0;width:44px;height:44px;display:none}.burger span{background:var(--ink);width:24px;height:2px;margin:6px auto;display:block}@media (width<=960px){.nav{background:var(--paper);border-bottom:1px solid var(--plate);padding:12px var(--gutter) 24px;flex-direction:column;align-items:stretch;gap:0;display:none;position:absolute;top:72px;left:0;right:0}.nav a{border-bottom:1px solid var(--plate);padding:14px 0;font-size:1.1rem}.nav .btn{justify-content:center;margin:18px 0 0}.nav.open{display:flex}.burger{display:block}}.hdr__phone{white-space:nowrap;font-weight:700;text-decoration:none}.kick{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep);align-items:center;gap:12px;font-size:.78rem;font-weight:700;display:flex}.kick:before{content:"";background:var(--accent);width:22px;height:2px}.kick.kick--plain:before{display:none}.band--ink .kick{color:var(--accent-on-ink)}.shead{gap:18px;margin-bottom:clamp(32px,4vw,48px);display:grid}.shead .lead{margin:0}.sec-link{border-bottom:2px solid var(--accent);margin-top:clamp(24px,3vw,36px);padding-bottom:2px;font-weight:700;text-decoration:none;display:inline-block}.sec-link:hover{border-color:var(--ink)}.phero{padding-block:clamp(48px,7vw,96px) clamp(40px,6vw,72px)}.phero__grid{grid-template-columns:7fr 5fr;align-items:center;gap:clamp(32px,6vw,96px);display:grid}@media (width<=900px){.phero__grid{grid-template-columns:1fr}}.phero h1{margin-top:18px}.phero .lead{margin-top:20px}.phero .btn-row{margin-top:28px}.phero .meta{color:var(--mist);margin-top:18px;font-size:.9rem}.phero__media{position:relative}.phero__media img{object-fit:cover;aspect-ratio:4/5;border-radius:var(--radius);width:100%}.phero__media .cap{background:var(--ink);color:var(--paper);max-width:85%;padding:10px 14px;font-size:.85rem;font-weight:600;position:absolute;bottom:0;left:0}.wide{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);width:100%}.wide--short{aspect-ratio:2.4}.card{border:1px solid var(--plate);border-top:3px solid var(--ink);background:var(--paper);border-radius:var(--radius);flex-direction:column;padding:22px 22px 24px;display:flex}.card h3,.card h4{margin-bottom:8px}.card p{color:var(--steel);margin:0;font-size:.98rem}.card--link{text-decoration:none;transition:border-color .15s}.card--link:hover{border-top-color:var(--accent)}.card .more{border-bottom:2px solid var(--accent);align-self:flex-start;margin-top:14px;padding-bottom:1px;font-weight:700;display:inline-block}.card img{aspect-ratio:4/3;object-fit:cover;width:calc(100% + 44px);max-width:none;margin:-22px -22px 18px}.band--ink .card{background:var(--ink-2);border-color:var(--ink-3);border-top-color:var(--accent)}.band--ink .card p{color:var(--on-ink-muted)}.tile{border-top:2px solid var(--ink);flex-direction:column;padding-top:22px;display:flex}.tile h3{margin-bottom:12px}.tile p{color:var(--steel)}.tile>p:last-of-type{flex:auto}.tile .more{border-bottom:2px solid var(--accent);align-self:flex-start;margin-top:18px;padding-bottom:1px;font-weight:700;text-decoration:none}.stat{border-top:3px solid var(--accent);align-content:start;gap:6px;padding-top:16px;display:grid}.stat .num{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(2rem,3vw,2.8rem);font-weight:700;line-height:1}.stat .lbl{color:var(--steel);max-width:30ch;font-size:.98rem}.band--ink .stat .lbl{color:var(--on-ink-muted)}.tbl{border-collapse:collapse;width:100%;font-size:.98rem}.tbl th,.tbl td{text-align:left;border-bottom:1px solid var(--plate);vertical-align:top;padding:14px 12px 14px 0}.tbl th{border-bottom:2px solid var(--ink);font-weight:700}.tbl td:first-child{width:34%;font-weight:600}.kv{grid-template-columns:minmax(140px,34%) 1fr;gap:10px 20px;font-size:.98rem;display:grid}.kv b{color:var(--steel);font-weight:600}.steps{counter-reset:s;gap:0;display:grid}.step{border-top:1px solid var(--plate);grid-template-columns:72px 1fr;gap:24px;padding:32px 0;display:grid}.step:last-child{border-bottom:1px solid var(--plate)}.step:before{counter-increment:s;content:counter(s, decimal-leading-zero);font-family:var(--font-display);letter-spacing:-.04em;color:var(--accent);font-size:2rem;font-weight:800;line-height:1}.step h3{margin-bottom:8px}.step p{color:var(--steel);margin:0}.prose{max-width:68ch}.prose p,.prose li{color:var(--steel-2);font-size:1.1rem;line-height:1.65}.prose h2{font-size:var(--step-2);margin:2.2em 0 .6em}.prose h3{font-size:var(--step-1);margin:1.8em 0 .5em}.prose ul,.prose ol{margin:0 0 1.2em;padding-left:1.2em}.prose li{margin-bottom:.4em}.prose blockquote{border-left:4px solid var(--accent);letter-spacing:-.01em;margin:2em 0;padding:0 0 0 24px;font-size:1.3rem;font-weight:600;line-height:1.35}.prose a{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}.article-hd{padding-block:clamp(48px,7vw,96px) 0}.article-hd .meta{color:var(--mist);margin-top:18px;font-size:.95rem}.index-list{gap:0;display:grid}.index-list a{border-top:1px solid var(--plate);grid-template-columns:1fr auto;align-items:baseline;gap:24px;padding:22px 0;text-decoration:none;display:grid}.index-list a:last-child{border-bottom:1px solid var(--plate)}.index-list a:hover h3{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px}.index-list h3{font-size:var(--step-1);letter-spacing:-.01em}.index-list p{color:var(--steel);max-width:60ch;margin:6px 0 0}.index-list span{color:var(--mist);white-space:nowrap;font-size:.9rem}.form{gap:18px;display:grid}.form .row{grid-template-columns:1fr 1fr;gap:18px;display:grid}@media (width<=600px){.form .row{grid-template-columns:1fr}}.field{gap:6px;display:grid}.field label{font-size:.95rem;font-weight:600}.field input,.field select,.field textarea{font:inherit;border:2px solid var(--plate);background:var(--paper);color:var(--ink);border-radius:var(--radius);width:100%;padding:14px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink);outline:none}.field textarea{resize:vertical;min-height:140px}.form .note{color:var(--mist);font-size:.9rem}.form .ok{border:2px solid var(--ink);padding:24px}.form .err{color:var(--accent-deep);font-weight:600}.ftr{border-top:1px solid var(--plate);color:var(--steel);padding-block:56px 32px;font-size:.95rem}.ftr__grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;display:grid}@media (width<=800px){.ftr__grid{grid-template-columns:1fr 1fr}}@media (width<=500px){.ftr__grid{grid-template-columns:1fr}}.ftr h4{color:var(--ink);margin-bottom:12px;font-size:.95rem}.ftr ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.ftr a{text-decoration:none}.ftr a:hover{color:var(--ink);text-decoration:underline}.ftr__bottom{border-top:1px solid var(--plate);color:var(--mist);gap:10px;margin-top:48px;padding-top:20px;font-size:.85rem;display:grid}.demo-note{background:var(--ink);color:var(--paper);padding:10px 0;font-size:.85rem}.demo-note a{color:var(--paper);font-weight:700}.list-plain{gap:12px;margin:0;padding:0;list-style:none;display:grid}.list-plain li{color:var(--steel);padding-left:22px;position:relative}.list-plain li:before{content:"";background:var(--accent);width:12px;height:2px;position:absolute;top:.7em;left:0}.crumbs{color:var(--mist);margin-bottom:24px;font-size:.9rem}.crumbs a{text-decoration:none}.tag{color:var(--steel);border:1px solid var(--plate);border-radius:var(--radius);padding:4px 10px;font-size:.85rem;font-weight:600;display:inline-block}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.quote{border-left:4px solid var(--accent);padding-left:20px}.quote p{letter-spacing:-.01em;margin-bottom:10px;font-size:1.15rem;font-weight:600;line-height:1.4}.quote small{color:var(--mist)}.faq{gap:0;display:grid}.faq details{border-top:1px solid var(--plate);padding:18px 0}.faq details:last-child{border-bottom:1px solid var(--plate)}.faq summary{cursor:pointer;justify-content:space-between;gap:16px;font-size:1.08rem;font-weight:700;list-style:none;display:flex}.faq summary:after{content:"+";color:var(--accent);font-weight:700}.faq details[open] summary:after{content:"–"}.faq p{color:var(--steel);max-width:66ch;margin:12px 0 0}.proj{border-top:1px solid var(--plate);grid-template-columns:5fr 7fr;align-items:start;gap:clamp(24px,4vw,48px);padding:clamp(28px,4vw,44px) 0;display:grid}.proj:last-child{border-bottom:1px solid var(--plate)}.proj img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);width:100%}.proj h3{margin-bottom:10px}.proj .kv{margin:14px 0}@media (width<=760px){.proj{grid-template-columns:1fr}}.emergency{align-items:center;gap:10px;font-weight:700;text-decoration:none;display:inline-flex}.emergency i{background:var(--accent);border-radius:50%;width:10px;height:10px;display:inline-block}.t-electrical .logo i{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.t-electrical .phero{background-image:linear-gradient(var(--plate) 1px, transparent 1px), linear-gradient(90deg, var(--plate) 1px, transparent 1px);background-position:top;background-size:48px 48px}.t-electrical .phero .wrap{background:linear-gradient(90deg, var(--paper) 0 60%, transparent)}.t-electrical .kick,.t-electrical .stat .num,.t-electrical .step:before{font-family:var(--font-mono);letter-spacing:0}.t-electrical .kick{text-transform:none;font-size:.85rem}.t-electrical .tbl,.t-electrical .kv{font-family:var(--font-mono);font-size:.9rem}.t-electrical .card{border-top-width:1px;border-left:3px solid var(--ink)}.t-electrical .card--link:hover{border-left-color:var(--accent);border-top-color:var(--plate)}.t-plumbing .logo i{border-radius:50%}.t-plumbing h1,.t-plumbing h2{letter-spacing:-.015em;font-weight:600}.t-plumbing .card{border-top:1px solid var(--plate);border-bottom:3px solid var(--accent)}.t-plumbing .card--link:hover{border-bottom-color:var(--ink)}.t-plumbing .kick{color:var(--accent-deep);letter-spacing:.12em}.t-plumbing .phero__media img{aspect-ratio:1}.t-plumbing .stat{border-top:1px solid var(--plate);border-left:3px solid var(--accent);padding-left:16px}.t-plumbing .quote{border-left-color:var(--ink)}.t-hvac{--radius:6px}.t-hvac .logo i{border-radius:4px}.t-hvac .stat{background:var(--slab);border-radius:var(--radius);border-top:0;padding:20px}.t-hvac .band .stat{background:var(--paper)}.t-hvac .card{border-top-width:1px}.t-hvac .card--link:hover{border-color:var(--accent)}.t-hvac .phero__media .cap{border-radius:0 var(--radius) 0 var(--radius)}.t-hvac .steps .step{background:var(--slab);border-radius:var(--radius);border-top:0;margin-bottom:10px;padding:24px}.t-hvac .steps .step:last-child{border-bottom:0}.t-remediation .logo i{clip-path:polygon(0 0,100% 0,100% 65%,50% 100%,0 65%)}.t-remediation .respond{background:var(--ink);color:var(--paper);font-size:.92rem}.t-remediation .respond .wrap{flex-wrap:wrap;justify-content:space-between;gap:16px;padding-block:9px;display:flex}.t-remediation .respond a{color:var(--paper);font-weight:700;text-decoration:none}.t-remediation .card{background:var(--slab);border:0;border-top:3px solid var(--ink)}.t-remediation .band .card{background:var(--paper)}.t-remediation .step:before{color:var(--ink)}.t-remediation h1{letter-spacing:-.02em;font-weight:600}.t-gc .logo i{align-self:center;width:22px;height:3px}.t-gc h1{letter-spacing:-.02em;font-size:clamp(2.6rem,1.6rem + 3vw,4.4rem);font-weight:400;line-height:1.02}.t-gc h2{letter-spacing:-.015em;font-weight:400}.t-gc .card{border:0;border-top:1px solid var(--ink);padding-left:0;padding-right:0}.t-gc .card img{width:100%;margin-left:0;margin-right:0}.t-gc .stat .num{font-weight:400}.t-gc .phero__grid{grid-template-columns:1fr;gap:32px}.t-gc .phero__media img{aspect-ratio:21/9}.t-gc .kick{color:var(--steel)}.t-gc .kick:before{background:var(--ink)}.t-gc .btn--accent{background:var(--ink);border-color:var(--ink);color:var(--paper)}.t-gc .btn--accent:hover{background:var(--accent);border-color:var(--accent)}.t-roofing .logo i{clip-path:polygon(50% 0,100% 100%,0 100%)}.t-roofing h1{text-transform:uppercase;letter-spacing:-.01em;font-size:clamp(2.6rem,1.6rem + 3.4vw,4.6rem);font-weight:700;line-height:.98}.t-roofing h2{text-transform:uppercase;letter-spacing:0}.t-roofing .band{clip-path:polygon(0 0,100% 24px,100% 100%,0 100%);padding-top:calc(var(--sec) + 24px)}.t-roofing .band--ink{clip-path:polygon(0 24px,100% 0,100% 100%,0 100%)}.t-roofing .card{border-top-width:4px}.t-roofing .stat .num{font-size:clamp(2.4rem,3.6vw,3.4rem)}.t-roofing .phero__media .cap{text-transform:uppercase;letter-spacing:.04em}
