@font-face{font-family:Roboto;font-style:italic;font-weight:400;font-stretch:100%;font-display:swap;src:url(/assets/roboto-be171dff-CSuqwwKr.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/assets/roboto-890de452-ccAYIvAh.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/roboto-slab-eb4a9038-NGSZfXMW.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #f4f2ec;--paper-2: #e9e5da;--sheet: #fffdf8;--ink: #141c2a;--ink-2: #485062;--rule: #d6d0c3;--field: #8a8475;--navy: #13213a;--navy-2: #1e3152;--on-navy: #eef1f6;--on-navy-2: #b9c3d6;--live: #f5c02e;--live-deep: #e2a912;--copper: #a1441b;--canary: #fbf0bf;--canary-rule: #ddca7c;--canary-label: #5c5226;--stamp: #b3261e;--error: #b42318;--error-tint: #fbe9e7;--ok: #1d6b3a;--font-display: "Roboto Slab", Georgia, serif;--font-body: "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;--radius: 6px;--gutter: clamp(1rem, 4vw, 2.5rem);--section: clamp(4rem, 8vw, 6.5rem);--header: 116px;--ease-out: cubic-bezier(.16, 1, .3, 1);color-scheme:light;scrollbar-color:var(--ink-2) var(--paper-2)}*,*:before,*:after{box-sizing:border-box}html{scroll-padding-top:calc(var(--header) + 1rem);-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.6 var(--font-body);-webkit-font-smoothing:antialiased}::selection{background:var(--live);color:var(--ink)}img,svg{display:block;max-width:100%}img{height:auto}h1,h2,h3{font-family:var(--font-display);line-height:1.1;letter-spacing:-.02em;text-wrap:balance;margin:0}h1{font-size:clamp(2.5rem,1.5rem + 3.8vw,4.75rem);font-weight:800;line-height:1.02}h2{font-size:clamp(1.75rem,1.25rem + 1.8vw,2.75rem);font-weight:750}h3{font-size:1.25rem;font-weight:700;letter-spacing:-.01em}p{margin:0 0 1rem;max-width:70ch;text-wrap:pretty}a{color:inherit;text-decoration-color:var(--copper);text-decoration-thickness:1.5px;text-underline-offset:.22em}a:hover{text-decoration-thickness:2.5px}:focus-visible{outline:3px solid var(--copper);outline-offset:3px}input,select,textarea,button{font:inherit;color:inherit}input,select,textarea{caret-color:var(--copper);accent-color:var(--ink)}table,.num{font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:1rem;top:-100px;z-index:100;padding:.75rem 1rem;background:var(--ink);color:var(--paper);border-radius:var(--radius)}.skip-link:focus{top:1rem}.wrap{width:min(100% - 2 * var(--gutter),1240px);margin-inline:auto}main{display:block;padding-bottom:var(--section)}main:focus{outline:none}main:has(>.band:last-child){padding-bottom:0}main>*+*{margin-top:var(--section)}main>.page-head+*,main>.crumbs+*{margin-top:0}.band{padding-block:var(--section)}.page-enter{animation:page-in .55s var(--ease-out) both}@keyframes page-in{0%{opacity:.2;transform:translateY(12px)}}.lede{font-size:clamp(1.125rem,1rem + .45vw,1.3rem);line-height:1.55;color:var(--ink-2);max-width:60ch}.fine{font-size:.875rem;color:var(--ink-2);margin:1rem 0}.actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem 2rem;margin-bottom:2rem}.section-head p{margin:0;color:var(--ink-2);max-width:46ch}.text-link{display:inline-flex;align-items:center;gap:.35rem;font-weight:600;min-height:40px}.text-link svg{width:1.05em;height:1.05em;transition:transform .25s var(--ease-out)}.text-link:hover svg{transform:translate(3px)}.link-button{background:none;border:0;padding:.4rem 0;font-weight:600;text-decoration:underline;text-decoration-color:var(--copper);text-underline-offset:.22em;text-decoration-thickness:1.5px;cursor:pointer;text-align:left}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:46px;padding:.65rem 1.2rem;border:2px solid transparent;border-radius:var(--radius);font:600 1rem/1.15 var(--font-body);text-decoration:none;cursor:pointer;transition:background-color .2s,color .2s,transform .2s var(--ease-out)}.btn:active{transform:translateY(1px)}.btn svg{width:1.15em;height:1.15em}.btn-lg{min-height:54px;padding:.85rem 1.5rem;font-size:1.0625rem}.btn-live{background:var(--live);border-color:var(--ink);color:var(--ink)}.btn-live:hover{background:var(--live-deep)}.btn-ink{background:var(--ink);color:var(--paper)}.btn-ink:hover{background:var(--navy-2)}.btn-ghost{border-color:var(--ink);color:var(--ink);background:transparent}.btn-ghost:hover{background:#141c2a0f}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn[aria-busy=true]{cursor:progress}.site-header{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:2px solid var(--ink)}.hotline{background:var(--navy);color:var(--on-navy);font-size:.875rem}.hotline-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:40px}.hotline p{margin:0}.hotline-tel{color:var(--live);font-weight:700;text-decoration:none;font-variant-numeric:tabular-nums;white-space:nowrap}.hotline-tel:hover{text-decoration:underline}.hotline-link{color:var(--on-navy-2);text-decoration-color:var(--on-navy-2);white-space:nowrap}.hotline :focus-visible,.sos :focus-visible,.site-footer :focus-visible,.aside-call :focus-visible,.callout-now :focus-visible{outline-color:var(--live)}.header-row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:74px}.logo{display:inline-flex;align-items:center;gap:.55rem;font:800 1.65rem/1 var(--font-display);letter-spacing:-.02em;color:var(--ink);text-decoration:none}.mark{width:30px;height:30px;flex:none}.site-nav{display:flex;align-items:center;gap:1.5rem}.site-nav ul{display:flex;gap:clamp(1rem,2vw,1.75rem);list-style:none;margin:0;padding:0}.site-nav ul a{display:inline-flex;align-items:center;min-height:44px;font-weight:500;font-size:.975rem;text-decoration:none;border-bottom:3px solid transparent;padding-top:3px}.site-nav ul a:hover{border-bottom-color:var(--rule)}.site-nav ul a[data-active]{border-bottom-color:var(--live);font-weight:700}.nav-phone{display:none}.header-actions{display:flex;align-items:center;gap:.5rem}.nav-toggle{display:none;place-items:center;width:46px;height:46px;border:2px solid var(--ink);border-radius:var(--radius);background:transparent;cursor:pointer}.trade-tag{display:inline-flex;align-items:center;gap:.45rem;padding:.3rem .7rem .3rem .55rem;border:1.5px solid var(--ink);border-radius:999px;background:var(--sheet);font:600 .8125rem/1.2 var(--font-body);color:var(--ink)}.trade-tag:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--copper)}.trade-tag[data-trade=electrical]:before{background:var(--live);box-shadow:inset 0 0 0 1.5px var(--ink)}.page-head{margin-top:clamp(2.5rem,5vw,4rem);margin-bottom:clamp(2rem,4vw,3rem)}.page-head h1{margin-bottom:1rem;max-width:20ch}.page-head .lede{margin:0}.wo{position:relative;filter:drop-shadow(0 18px 24px rgb(20 28 42 / .18)) drop-shadow(0 2px 3px rgb(20 28 42 / .12))}.work-order{position:relative;background:var(--canary);color:var(--ink);padding:1.6rem clamp(1rem,2.5vw,1.5rem) 1.5rem;border-radius:0 0 3px 3px;-webkit-mask:radial-gradient(circle 5px at 50% 0,#0000 96%,#000) top / 18px 100% repeat-x;mask:radial-gradient(circle 5px at 50% 0,#0000 96%,#000) top / 18px 100% repeat-x}.wo-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.6rem;border-bottom:2px solid var(--ink);margin-bottom:.9rem}.wo-title{font:800 1.3rem/1 var(--font-display);text-transform:uppercase;letter-spacing:.05em}.wo-no{font-size:.85rem;color:var(--canary-label)}.wo-no b{color:var(--stamp);font-variant-numeric:tabular-nums;font-size:1rem}.wo-fields{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--canary-rule);border-left:1px solid var(--canary-rule)}.wo-field{display:grid;gap:.1rem;padding:.4rem .6rem .5rem;border-right:1px solid var(--canary-rule);border-bottom:1px solid var(--canary-rule);min-width:0}.wo-field[data-wide]{grid-column:1 / -1}.wo-label,.wo-lines thead th{font:600 .6875rem/1.3 var(--font-body);text-transform:uppercase;letter-spacing:.08em;color:var(--canary-label)}.wo-value{font-weight:500;font-size:.975rem;overflow-wrap:anywhere}.wo-lines{width:100%;border-collapse:collapse;margin-top:1.1rem}.wo-lines thead th{text-align:left;padding-bottom:.35rem;border-bottom:1px solid var(--ink)}.wo-lines thead th:last-child,.wo-lines td:last-child{text-align:right;white-space:nowrap;padding-left:1rem}.wo-lines td{padding:.55rem 0;border-bottom:1px dashed var(--canary-rule);font-size:.95rem}.wo-lines tr[data-flash] td{animation:highlighter 1.4s var(--ease-out)}@keyframes highlighter{0%{background:var(--live)}}.wo-lines tfoot th{text-align:left;font:700 1rem/1.2 var(--font-display);padding-top:.9rem;border-top:3px double var(--ink)}.wo-lines tfoot td{padding-top:.9rem;border-top:3px double var(--ink);border-bottom:0}.wo-total{font:800 clamp(1.35rem,1.1rem + 1vw,1.85rem) / 1 var(--font-display);letter-spacing:-.01em}.wo-stamp{position:absolute;right:1.25rem;top:4.4rem;padding:.2rem .75rem;border:3px solid var(--stamp);border-radius:4px;color:var(--stamp);font:800 1.6rem/1.1 var(--font-display);text-transform:uppercase;letter-spacing:.08em;transform:rotate(-8deg);mix-blend-mode:multiply;opacity:.88;animation:stamp .45s var(--ease-out) .2s both}@keyframes stamp{0%{opacity:0;transform:rotate(-14deg) scale(1.7)}}.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(2rem,4vw,4rem);align-items:end;padding-top:clamp(2rem,4vw,3.5rem)}.hero h1{margin-bottom:1.25rem}.hero .actions{margin-top:2rem}.dispatch{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:2.5rem 0 0;padding-top:1rem;border-top:2px solid var(--ink)}.dispatch dt,.svc-facts dt,.service-row-facts dt,.roster dt,.area-card dt{font:600 .75rem/1.3 var(--font-body);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2)}.dispatch dd{margin:.3rem 0 0;font:600 1.125rem/1.35 var(--font-display);font-variant-numeric:tabular-nums}.hero-photos{display:grid;grid-template-columns:1.2fr .8fr;gap:.75rem;align-items:end}.hero-photos figure{position:relative;margin:0}.hero-photos img{width:100%;object-fit:cover;border-radius:var(--radius);aspect-ratio:4 / 5}.hero-photos figure:last-child img{aspect-ratio:3 / 4.6;object-position:40% 30%}.hero-photos figcaption{position:absolute;left:.75rem;top:.75rem}.trade-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem)}.trade-col h3{font-size:clamp(1.5rem,1.2rem + 1vw,2rem);padding-top:1rem;border-top:5px solid var(--copper);margin-bottom:.5rem}.trade-col[data-trade=electrical] h3{border-top-color:var(--live)}.trade-col>p{color:var(--ink-2)}.job-list{list-style:none;margin:1.25rem 0 0;padding:0;border-bottom:1px solid var(--rule)}.job-list li{border-top:1px solid var(--rule)}.job-row{display:grid;grid-template-columns:1fr auto 20px;gap:1rem;align-items:center;min-height:58px;padding:.75rem .35rem;text-decoration:none;transition:background-color .2s}.job-row:hover{background:var(--sheet)}.job-name{font-weight:600}.job-from{color:var(--ink-2);font-size:.95rem;font-variant-numeric:tabular-nums;white-space:nowrap}.job-row svg,.service-row-arrow,.related-row svg{width:20px;height:20px;color:var(--copper);transition:transform .25s var(--ease-out)}.job-row:hover svg,.service-row:hover .service-row-arrow,.related-row:hover svg{transform:translate(4px)}.teaser{background:var(--paper-2)}.teaser-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:center}.teaser-copy h2{margin-bottom:1rem}.teaser-copy p{color:var(--ink-2);margin-bottom:1.75rem}.teaser-sheet{margin:0;max-width:520px;justify-self:center;width:100%;transform:rotate(1.2deg)}.teaser-sheet figcaption{margin-top:1.25rem;font-size:.875rem;color:var(--ink-2);transform:rotate(-1.2deg)}.visit h2{margin-bottom:2.5rem}.timeline{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));list-style:none;margin:0;padding:0}.timeline li{position:relative;padding:1.75rem 1.25rem 0 0;border-top:3px solid var(--ink)}.timeline li:before{content:"";position:absolute;top:-10px;left:0;width:17px;height:17px;border-radius:50%;background:var(--live);border:3px solid var(--ink)}.tl-when{display:block;font:700 1.0625rem/1.2 var(--font-display);margin-bottom:.5rem}.timeline p{color:var(--ink-2);font-size:.975rem;margin:0}.sos{position:relative;background:var(--navy);color:var(--on-navy);border-top:12px solid transparent;border-image:repeating-linear-gradient(-45deg,var(--live) 0 14px,var(--ink) 14px 28px) 12}.sos-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:center}.sos h1,.sos h2{color:var(--on-navy);margin-bottom:1rem}.sos p{color:var(--on-navy-2)}.sos-call{display:grid;gap:1rem;justify-items:start}.sos-call p{margin:0}.sos-tel{display:inline-flex;align-items:center;gap:.7rem;font:800 clamp(2rem,1.3rem + 2.8vw,3.5rem) / 1 var(--font-display);letter-spacing:-.01em;color:var(--live);text-decoration:none;font-variant-numeric:tabular-nums;white-space:nowrap}.sos-tel svg{width:.8em;height:.8em;flex:none}.sos-tel:hover{text-decoration:underline;text-decoration-color:var(--live)}.sos .text-link{color:var(--on-navy);text-decoration-color:var(--live)}.rate-table{width:100%;border-collapse:collapse}.rate-table th,.rate-table td{text-align:left;padding:1rem 1.5rem 1rem 0;border-bottom:1px solid var(--rule);vertical-align:baseline}.rate-table thead th{font:600 .75rem/1.3 var(--font-body);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);border-bottom:2px solid var(--ink);padding-block:.6rem}.rate-table tbody th{font-weight:600}.rate-table td:nth-child(2){font:700 1.125rem/1.3 var(--font-display);white-space:nowrap}.rate-table td:last-child{color:var(--ink-2);padding-right:0}.reviews h2{margin-bottom:2rem}.review-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:2rem clamp(2rem,5vw,4.5rem)}.review{margin:0;padding-top:1rem;border-top:2px solid var(--ink)}.review-lead{grid-row:span 3}.review blockquote,.review blockquote p{margin:0}.review-lead blockquote p{font:600 clamp(1.4rem,1.05rem + 1.3vw,2.1rem) / 1.3 var(--font-display);letter-spacing:-.015em}.review figcaption{margin-top:.85rem;font-size:.9rem;color:var(--ink-2)}.areas-teaser-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}.areas-teaser h2{margin-bottom:1rem}.areas-teaser p{color:var(--ink-2)}.area-chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:1.25rem 0 1.75rem;padding:0}.area-chips li{padding:.3rem .75rem;border:1.5px solid var(--ink);border-radius:999px;font-size:.9rem;font-weight:500}.area-chips li[data-tier=core]{background:var(--live)}.promises h2{margin-bottom:2rem}.promise-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem clamp(1.5rem,3vw,3rem);list-style:none;margin:0;padding:0}.promise-list-2{grid-template-columns:repeat(2,minmax(0,1fr))}.promise-list li{padding-top:1rem;border-top:2px solid var(--ink)}.promise-list h3{margin-bottom:.5rem}.promise-list p{color:var(--ink-2);margin:0}.licence-row{display:flex;flex-wrap:wrap;gap:.75rem 2.5rem;list-style:none;margin:2.5rem 0 0;padding:1.25rem 0 0;border-top:1px solid var(--rule);color:var(--ink-2);font-size:.95rem}.licence-row b{color:var(--ink);font-variant-numeric:tabular-nums}.close{background:var(--live);color:var(--ink)}.close-grid{display:grid;gap:1.75rem}.close h2{font-size:clamp(2rem,1.3rem + 2.8vw,3.75rem);max-width:18ch}.close .btn-ghost:hover{background:#141c2a14}.close-hours{margin:0;font-size:.95rem}.area-map{width:100%;height:auto;background:var(--sheet);border-radius:var(--radius);font-family:var(--font-body)}.map-cell polygon{stroke:var(--sheet);stroke-width:5;stroke-linejoin:round;fill:#e3ddcf;transition:fill .2s}.map-cell[data-tier=core] polygon{fill:var(--live)}.map-cell[data-tier=none] polygon{fill:url(#map-hatch)}.map-hatch-line{stroke:var(--rule);stroke-width:3}.map-cell[role=button]{cursor:pointer}.map-cell[role=button]:hover polygon{fill:#d3cbb8}.map-cell[data-tier=core][role=button]:hover polygon{fill:var(--live-deep)}.map-cell[data-selected] polygon{stroke:var(--ink);stroke-width:4;fill:#cdc4ae}.map-cell[data-tier=core][data-selected] polygon{fill:var(--live-deep)}.map-cell:focus{outline:none}.map-cell:focus-visible polygon{stroke:var(--copper);stroke-width:6}.map-river{fill:none;stroke:#9fc3d9;stroke-width:16;stroke-linecap:round;pointer-events:none}.map-labels{pointer-events:none}.map-labels text{font-size:15px;font-weight:700;fill:var(--ink);paint-order:stroke;stroke:#fffdf8b3;stroke-width:3px}.map-labels text[data-tier=none]{fill:var(--ink-2);font-weight:500}.map-depot rect{fill:var(--ink)}.map-depot text{font-size:13px;font-weight:700;fill:var(--ink)}.toolbar{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center;padding-bottom:1.25rem;border-bottom:2px solid var(--ink)}.segmented{display:inline-flex;border:2px solid var(--ink);border-radius:var(--radius);overflow:hidden;flex:none}.segmented button{min-height:44px;padding:0 1.1rem;border:0;background:transparent;font-weight:600;font-size:.95rem;cursor:pointer}.segmented button+button{border-left:2px solid var(--ink)}.segmented button:hover{background:var(--paper-2)}.segmented button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.segmented button:focus-visible{outline-offset:-5px}input:not([type=radio],[type=checkbox]),select,textarea{width:100%;min-height:48px;padding:.6rem .8rem;background:var(--sheet);border:1.5px solid var(--field);border-radius:4px;transition:border-color .2s}textarea{resize:vertical;line-height:1.5}input:hover,select:hover,textarea:hover{border-color:var(--ink)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:1px;border-color:var(--ink)}::placeholder{color:#6f6a5e;opacity:1}[aria-invalid=true]{border-color:var(--error)!important;box-shadow:inset 0 0 0 1px var(--error)}.search{position:relative;flex:1 1 260px}.search svg{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--ink-2);pointer-events:none}.search input{padding-left:2.6rem}.sort{display:flex;align-items:center;gap:.6rem}.sort label{font-weight:600;font-size:.95rem}.sort select{width:auto}.count{margin:1rem 0 0;color:var(--ink-2);font-size:.95rem}.service-list{list-style:none;margin:.5rem 0 0;padding:0}.service-list li{border-bottom:1px solid var(--rule)}.service-row{display:grid;grid-template-columns:clamp(140px,16vw,210px) minmax(0,1fr) minmax(170px,auto) 24px;gap:clamp(1rem,2.5vw,2rem);align-items:center;padding:1.25rem 0;text-decoration:none}.service-row img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:4px}.service-row h2{font-size:clamp(1.25rem,1.05rem + .7vw,1.6rem);margin:.6rem 0 .35rem}.service-row:hover h2{text-decoration:underline;text-decoration-color:var(--copper);text-decoration-thickness:2px;text-underline-offset:.18em}.service-row-body p{margin:0;color:var(--ink-2)}.service-row-facts{display:grid;gap:.6rem;margin:0}.service-row-facts dd{margin:.15rem 0 0;font-weight:500}.service-row-facts div:first-child dd{font:700 1.3rem/1.2 var(--font-display);font-variant-numeric:tabular-nums}.empty{margin-top:1.5rem;padding:2rem;border:2px dashed var(--rule);border-radius:var(--radius)}.crumbs{margin-top:1.5rem;font-size:.9rem}.crumbs ol{display:flex;flex-wrap:wrap;gap:.25rem .5rem;list-style:none;margin:0;padding:0}.crumbs li+li:before{content:"/";margin-right:.5rem;color:var(--ink-2)}.crumbs a{display:inline-block;padding-block:.4rem}.crumbs [aria-current]{color:var(--ink-2);padding-block:.4rem}.svc-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center;margin-top:1.25rem}.svc-hero h1{margin:1rem 0;font-size:clamp(2.25rem,1.4rem + 3vw,4rem)}.svc-hero .actions{margin-top:1.75rem}.svc-hero-photo{margin:0}.svc-hero-photo img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius)}.svc-facts dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border-top:2px solid var(--ink);border-bottom:1px solid var(--rule)}.svc-facts dl>div{padding:1rem 1rem 1.1rem 0}.svc-facts dl>div+div{padding-left:1rem;border-left:1px solid var(--rule)}.svc-facts dd{margin:.3rem 0 0;font:700 1.125rem/1.3 var(--font-display);font-variant-numeric:tabular-nums}.svc-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem)}.svc-body h2,.svc-faq h2,.related h2,.before h2,.standards h2,.area-table-wrap h2{font-size:clamp(1.5rem,1.2rem + 1.1vw,2.1rem);margin-bottom:1.25rem}.sign-list,.check-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}.sign-list li{position:relative;padding:.75rem 0 .75rem 1.5rem;border-bottom:1px solid var(--rule)}.sign-list li:before{content:"";position:absolute;left:.2rem;top:1.35rem;width:8px;height:8px;background:var(--copper)}.check-list li{display:flex;gap:.7rem;padding:.75rem 0;border-bottom:1px solid var(--rule)}.check-list svg{width:20px;height:20px;flex:none;margin-top:.2rem;color:var(--copper)}.faq{border-top:1px solid var(--rule);max-width:820px}.faq details{border-bottom:1px solid var(--rule)}.faq summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:56px;padding:.85rem 0;font:600 1.125rem/1.35 var(--font-display);cursor:pointer;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary svg{width:22px;height:22px;flex:none;transition:transform .3s var(--ease-out)}.faq details[open] summary svg{transform:rotate(180deg)}.faq details p{margin:0 0 1.25rem;color:var(--ink-2)}.svc-faq-more{margin-top:1.25rem;color:var(--ink-2)}.related-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2.5rem;list-style:none;margin:0;padding:0}.related-row{display:grid;grid-template-columns:88px minmax(0,1fr) auto 20px;gap:1rem;align-items:center;padding:.85rem 0;border-bottom:1px solid var(--rule);text-decoration:none}.related-row img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:4px}.related-name{font-weight:600}.related-from{color:var(--ink-2);font-size:.95rem;font-variant-numeric:tabular-nums;white-space:nowrap}.field{display:grid;gap:.4rem;align-content:start;min-width:0}.field label,.group-label{font-weight:600;font-size:.95rem;margin:0}.field-hint{margin:0;font-size:.9rem;color:var(--ink-2)}.field-error{margin:0;font-size:.9rem;font-weight:500;color:var(--error)}.field-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.1rem}.field-row:has(.field-zip){grid-template-columns:minmax(0,1fr) minmax(8rem,11rem)}.choices{display:grid;gap:.5rem}.choices-jobs{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));margin-top:1rem}.choices-row{grid-template-columns:repeat(3,minmax(0,1fr))}.choice,.chip{position:relative;display:block;cursor:pointer}.choice input,.chip input{position:absolute;opacity:0;width:1px;height:1px}.choice-body{display:flex;flex-direction:column;gap:.2rem;height:100%;padding:.8rem 1rem;background:var(--sheet);border:1.5px solid var(--field);border-radius:var(--radius);transition:background-color .2s,border-color .2s}.choice-body b{font-weight:600}.choice-body em{font-style:normal;font-weight:600;color:var(--copper);margin-left:.35rem;white-space:nowrap}.choice-body span{font-size:.9rem;color:var(--ink-2)}.choice:hover .choice-body{border-color:var(--ink)}.choice input:checked+.choice-body{background:var(--canary);border-color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}.choice input:focus-visible+.choice-body,.chip input:focus-visible+span{outline:3px solid var(--copper);outline-offset:2px}.chip span{display:inline-flex;align-items:center;gap:.35rem;min-height:46px;padding:.5rem .9rem;background:var(--sheet);border:1.5px solid var(--field);border-radius:var(--radius);font-size:.95rem;font-variant-numeric:tabular-nums;transition:background-color .2s,border-color .2s}.chip:hover span{border-color:var(--ink)}.chip input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--paper)}.chip[data-full]{cursor:not-allowed}.chip[data-full] span{background:transparent;border-style:dashed;color:var(--ink-2);text-decoration:line-through}.chip small{font-size:.85rem}.check{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.4rem .75rem;align-items:start}.check input{width:22px;height:22px;margin:.1rem 0 0}.check .field-error{grid-column:2}.check label{font-size:.975rem}.estimate-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}.estimator fieldset,.book-form fieldset{border:0;margin:0 0 2rem;padding:0 0 2rem;border-bottom:1px solid var(--rule);min-width:0}.book-form fieldset{display:grid;gap:1.1rem}.estimator legend,.book-form legend{font:700 1.375rem/1.2 var(--font-display);letter-spacing:-.01em;padding:0;margin-bottom:1rem}.estimator .field-hint{margin-top:.75rem}.estimate-aside{position:sticky;top:calc(var(--header) + 1.5rem)}.estimate-aside .actions{margin-top:.5rem}.stepper{display:inline-flex;align-items:stretch;border:2px solid var(--ink);border-radius:var(--radius);background:var(--sheet)}.stepper button{display:grid;place-items:center;width:52px;min-height:52px;border:0;background:transparent;cursor:pointer}.stepper button:hover:not(:disabled){background:var(--paper-2)}.stepper button:disabled{opacity:.3;cursor:not-allowed}.stepper svg{width:20px;height:20px}.stepper output{display:grid;place-items:center;min-width:9.5rem;padding:0 1rem;border-inline:2px solid var(--ink);font:700 1.2rem/1 var(--font-display);font-variant-numeric:tabular-nums}.callout-now{display:flex;gap:.7rem;align-items:flex-start;margin:1rem 0 0;padding:.85rem 1rem;background:var(--navy);color:var(--on-navy);border-radius:var(--radius);max-width:none}.callout-now svg{width:20px;height:20px;flex:none;margin-top:.15rem;color:var(--live)}.callout-now a{color:var(--live);font-weight:700;white-space:nowrap}.field-zip input{max-width:11rem}.zip-verdict{margin:0;font-size:.9rem;color:var(--ink-2)}.zip-verdict[data-tier=core],.zip-verdict[data-tier=outer]{color:var(--ok);font-weight:500}.zip-verdict[data-tier=none]{color:var(--error)}.est-bar{display:none}.areas-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(2rem,4vw,3.5rem);align-items:start}.map-frame{display:grid;gap:1rem}.map-key{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;list-style:none;margin:0;padding:0;font-size:.9rem;color:var(--ink-2)}.map-key li{display:inline-flex;align-items:center;gap:.5rem}.map-key li:before{content:"";width:16px;height:16px;border-radius:3px;background:#e3ddcf;border:1px solid var(--field)}.map-key li[data-tier=core]:before{background:var(--live)}.map-key li[data-tier=none]:before{background:repeating-linear-gradient(45deg,var(--rule) 0 3px,var(--sheet) 3px 6px)}.area-panel{display:grid;gap:1.75rem}.inline-field{display:flex;gap:.5rem}.inline-field input{max-width:11rem}.zip-result{margin:.75rem 0 0;font-weight:500}.zip-result:empty{display:none}.area-card{padding:1.5rem;background:var(--sheet);border:2px solid var(--ink);border-radius:var(--radius);scroll-margin-top:calc(var(--header) + 1rem)}.area-card h2{font-size:1.75rem;margin-bottom:.35rem}.area-tier{display:inline-block;margin:0 0 1rem;font-weight:600;font-size:.95rem}.area-tier[data-tier=core]{background:var(--live);padding:.1rem .5rem;border-radius:3px}.area-card dl{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:0 0 1rem}.area-card dd{margin:.2rem 0 0;font-weight:600;font-variant-numeric:tabular-nums}.area-card>p{color:var(--ink-2)}.table-scroll{overflow-x:auto}.area-table{width:100%;border-collapse:collapse;min-width:560px}.area-table th,.area-table td{text-align:left;padding:.6rem 1rem .6rem 0;border-bottom:1px solid var(--rule)}.area-table thead th{font:600 .75rem/1.3 var(--font-body);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);border-bottom:2px solid var(--ink)}.area-table tr[data-selected]{background:var(--canary)}.area-table tbody th{padding-left:.4rem}.sos-hero{padding-block:clamp(3rem,6vw,5.5rem)}.sos-hero h1{max-width:15ch}.sos-status{display:flex;gap:.6rem;align-items:baseline;margin-top:1.5rem;font-size:.95rem}.sos-dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--live);animation:beacon 1.8s ease-in-out infinite}.sos-dot[data-open]{background:#63d08e}@keyframes beacon{50%{opacity:.35}}.triage{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:1.5rem clamp(2rem,4vw,3.5rem);align-items:start}.triage-copy{grid-column:1 / -1}.triage-copy h2{margin-bottom:.75rem}.triage-copy p{color:var(--ink-2);margin:0}.triage-options{display:grid;gap:.5rem;border:0;margin:0;padding:0;min-width:0}.triage-verdict{position:sticky;top:calc(var(--header) + 1.5rem);min-height:240px;padding:1.5rem;background:var(--sheet);border:2px solid var(--ink);border-radius:var(--radius)}.triage-verdict[data-verdict=now]{background:var(--navy);border-color:var(--navy);color:var(--on-navy)}.triage-verdict[data-verdict=now] .fine{color:var(--on-navy-2)}.triage-verdict[data-verdict=now] :focus-visible{outline-color:var(--live)}.triage-verdict[data-verdict=next]{background:var(--canary)}.verdict-label{font:800 1.5rem/1.2 var(--font-display);margin-bottom:.6rem}.verdict-empty{color:var(--ink-2);margin:0}.before-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem)}.before-cols h3{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;margin-bottom:1rem}.before-cols h3 svg{width:26px;height:26px;color:var(--copper)}.before-cols [data-trade=electrical] h3 svg{color:var(--ink);fill:var(--live)}.steps{list-style:none;counter-reset:step;margin:0;padding:0;border-top:2px solid var(--ink)}.steps li{position:relative;counter-increment:step;padding:.9rem 0 .9rem 3rem;border-bottom:1px solid var(--rule)}.steps li:before{content:counter(step);position:absolute;left:0;top:.8rem;display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--ink);color:var(--paper);font:700 .95rem/1 var(--font-display)}.book-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}.attached{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;margin-bottom:2rem;padding:.9rem 1.1rem;background:var(--canary);border:1px solid var(--canary-rule);border-radius:var(--radius)}.attached p{margin:0}.attached p b:first-child{display:block;font:600 .6875rem/1.3 var(--font-body);text-transform:uppercase;letter-spacing:.08em;color:var(--canary-label)}.attached .num{font-weight:700}.attached-actions{display:flex;gap:1.25rem;align-items:center}.attached-actions a{font-weight:600;padding-block:.4rem}.day-chips,.window-chips{display:flex;flex-wrap:wrap;gap:.5rem}.form-summary{margin:0 0 1.25rem;padding:.8rem 1rem;background:var(--error-tint);color:var(--error);border-radius:var(--radius);font-weight:500}.submit-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem}.submit-row .fine{margin:0}.book-aside{position:sticky;top:calc(var(--header) + 1.5rem);display:grid;gap:1.5rem}.book-aside h2{font-size:1.375rem}.aside-call{padding:1.5rem;background:var(--navy);color:var(--on-navy);border-radius:var(--radius)}.aside-call p{margin:0 0 .6rem}.aside-call .fine{color:var(--on-navy-2);margin:.8rem 0 0}.aside-call a:not(.sos-tel){color:var(--live)}.sos-tel-sm{font-size:1.85rem}.confirmation{display:grid;gap:1.75rem}.confirmation h2{font-size:clamp(1.75rem,1.3rem + 1.6vw,2.5rem)}.confirmation h2:focus{outline:none}.wo-confirm{max-width:560px}.confirmation>p{margin:0;color:var(--ink-2)}.story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}.story-photo{margin:0}.story-photo img{width:100%;aspect-ratio:8 / 5;object-fit:cover;border-radius:var(--radius)}.story-copy p{font-size:1.125rem}.roster{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}.roster li{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,2fr);gap:1rem 2rem;align-items:center;padding:1.2rem 0;border-bottom:1px solid var(--rule)}.roster h3{font-size:1.2rem}.roster-name p{margin:.2rem 0 0;color:var(--ink-2)}.roster dl{display:grid;grid-template-columns:7.5rem 8rem minmax(0,1fr);gap:1rem;margin:0}.roster dd{margin:.2rem 0 0;font-weight:600;font-variant-numeric:tabular-nums}.credentials{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem)}.credentials h2{font-size:clamp(1.5rem,1.2rem + 1.1vw,2.1rem);margin-bottom:1rem}.cred-list{margin:0 0 1.75rem;border-top:2px solid var(--ink)}.cred-list div{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--rule)}.cred-list dt{color:var(--ink-2)}.cred-list dd{margin:0;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.not-found{padding-block:clamp(4rem,10vw,8rem)}.not-found h1{margin-bottom:1rem}.not-found .actions{margin-top:2rem}.site-footer{background:var(--navy);color:var(--on-navy);font-size:.95rem}.footer-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.7fr) minmax(0,1fr);gap:clamp(2rem,4vw,3.5rem);padding-block:clamp(3rem,6vw,4.5rem) 2.5rem}.logo-footer{color:var(--on-navy);margin-bottom:1rem}.footer-brand p{color:var(--on-navy-2)}.footer-contact{list-style:none;margin:0 0 1.25rem;padding:0;display:grid;gap:.3rem;color:var(--on-navy-2)}.footer-contact a{color:var(--live);font-weight:600;text-decoration-color:#f5c02e80;font-variant-numeric:tabular-nums}.footer-hours{margin:0}.footer-hours div{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;border-top:1px solid var(--navy-2)}.footer-hours dt{color:var(--on-navy-2)}.footer-hours dd{margin:0;text-align:right}.footer-nav{display:grid;grid-template-columns:.8fr 1fr 1fr;gap:1.5rem}.footer-nav h2,.footer-form h2{font:700 .8rem/1.3 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--on-navy-2);margin-bottom:.9rem}.footer-nav ul{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}.footer-nav a{display:inline-block;padding-block:.3rem;color:var(--on-navy);text-decoration:none}.footer-nav a:hover{text-decoration:underline;text-decoration-color:var(--live)}.footer-form p{color:var(--on-navy-2)}.footer-form-row{display:flex;gap:.5rem}.footer-form-row input{flex:1;min-width:0;background:var(--navy-2);border-color:#6f80a3;color:var(--on-navy)}.footer-form-row .btn{flex:none;white-space:nowrap}.footer-form-row input::placeholder{color:#a5b0c6}.footer-form .field-error{color:#ffb4a8;margin-top:.5rem}.footer-form [aria-invalid=true]{border-color:#ffb4a8!important;box-shadow:inset 0 0 0 1px #ffb4a8}.footer-done{margin:.6rem 0 0;color:#9fe0b5}.footer-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;padding-block:1.25rem 2rem;border-top:1px solid var(--navy-2);font-size:.875rem;color:var(--on-navy-2)}.footer-base p{margin:0}.footer-base a{color:var(--on-navy);text-decoration-color:var(--live)}@media(max-width:1100px){.timeline{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:2.5rem}.footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.footer-nav{grid-column:1 / -1;grid-row:1}}@media(max-width:900px){:root{--header: 108px}.nav-toggle{display:grid}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:.5rem var(--gutter) 1.5rem;background:var(--paper);border-bottom:2px solid var(--ink);box-shadow:0 24px 32px -16px #141c2a40;max-height:calc(100dvh - var(--header));overflow-y:auto}.site-nav[data-open]{display:flex;animation:drop .35s var(--ease-out)}@keyframes drop{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}.site-nav ul{flex-direction:column;gap:0}.site-nav ul li{border-bottom:1px solid var(--rule)}.site-nav ul a{width:100%;min-height:56px;font:700 1.3rem/1.2 var(--font-display);border-bottom:0;padding:0}.site-nav ul a[data-active]{box-shadow:inset 4px 0 0 var(--live);padding-left:.85rem}.nav-phone{display:inline-flex;align-items:center;gap:.5rem;min-height:52px;margin-top:.75rem;font-weight:600;font-variant-numeric:tabular-nums}.nav-phone svg{width:18px;height:18px}.hero,.teaser-grid,.sos-grid,.areas-teaser-grid,.svc-hero,.svc-body,.estimate-grid,.areas-layout,.triage,.before-cols,.book-grid,.story,.credentials,.review-grid,.trade-cols{grid-template-columns:minmax(0,1fr)}.review-lead{grid-row:auto}.promise-list,.promise-list-2{grid-template-columns:minmax(0,1fr)}.estimate-aside,.book-aside,.triage-verdict{position:static}.triage-verdict{min-height:0}.est-bar{position:sticky;bottom:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;padding:.75rem var(--gutter);background:var(--navy);color:var(--on-navy);box-shadow:0 -10px 24px -12px #141c2a66}.est-bar p{margin:0;font-size:.9rem;color:var(--on-navy-2)}.est-bar b{display:block;color:var(--on-navy);font:800 1.25rem/1.2 var(--font-display);font-variant-numeric:tabular-nums}.est-bar :focus-visible{outline-color:var(--live)}.teaser-sheet{transform:none}.teaser-sheet figcaption{transform:none}.svc-facts dl{grid-template-columns:repeat(2,minmax(0,1fr))}.svc-facts dl>div:nth-child(3){border-left:0;padding-left:0;border-top:1px solid var(--rule)}.svc-facts dl>div:nth-child(4){border-top:1px solid var(--rule)}.related-list,.roster li{grid-template-columns:minmax(0,1fr)}}@media(max-width:680px){.hotline-long,.hotline-link{display:none}.header-cta{min-height:46px;padding-inline:.85rem;font-size:.95rem}.logo{font-size:1.45rem}.dispatch{grid-template-columns:minmax(0,1fr);gap:1rem}.hero-photos{grid-template-columns:1.15fr .85fr}.timeline{grid-template-columns:minmax(0,1fr);row-gap:0;margin-left:8px}.timeline li{border-top:0;border-left:3px solid var(--ink);padding:0 0 1.75rem 1.5rem}.timeline li:last-child{padding-bottom:0}.timeline li:before{top:0;left:-10px}.rate-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.rate-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.25rem 1rem;padding:.9rem 0;border-bottom:1px solid var(--rule)}.rate-table th,.rate-table td{padding:0;border:0}.rate-table td:last-child{grid-column:1 / -1;font-size:.95rem}.toolbar .search{flex-basis:100%;order:-1}.service-row{grid-template-columns:104px minmax(0,1fr);align-items:start}.service-row-facts{grid-column:1 / -1;display:flex;gap:2rem}.service-row-arrow{display:none}.choices-row{grid-template-columns:minmax(0,1fr)}.field-row,.field-row:has(.field-zip){grid-template-columns:minmax(0,1fr)}.roster dl{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.roster-knows{grid-column:1 / -1}.area-card dl,.footer-grid{grid-template-columns:minmax(0,1fr)}.footer-nav{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.footer-nav>div:first-child{grid-column:1 / -1}.wo-stamp{top:3.6rem;right:.75rem;font-size:1.3rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
