@font-face{font-family:ImpactFallback;src:local('Impact')}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#151517;background:#f6f3ed;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}a:focus-visible{outline:3px solid #dd1717;outline-offset:4px}.shell{width:min(1220px,calc(100% - 48px));margin:auto}.topbar{background:#dd1717;color:white;font-weight:800;font-size:.69rem;letter-spacing:.12em}.topbar .shell{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar a{white-space:nowrap}.header{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;flex:none}.brand-mark{background:#dd1717;color:white;width:48px;height:48px;display:grid;place-items:center;font:900 1.75rem Arial;letter-spacing:-.15em;padding-right:5px}.brand-mark span{font-size:1.3rem;align-self:start;letter-spacing:0}.brand-name{font-weight:950;font-size:1.35rem;line-height:.9;letter-spacing:-.055em}.brand-name small{display:block;font-size:.56rem;letter-spacing:.19em;line-height:1.8}.header nav{display:flex;gap:28px;font-size:.87rem;font-weight:700}.header nav a:hover,.quiet-link:hover{color:#dd1717}.header-cta{font-size:.74rem;letter-spacing:.07em;font-weight:900;border-bottom:2px solid #dd1717;padding-bottom:8px}.hero{min-height:660px;background:linear-gradient(90deg,rgba(8,9,12,.98) 0%,rgba(8,9,12,.9) 31%,rgba(8,9,12,.12) 74%),url('/assets/technician.webp') center/cover;color:#fff;display:flex;align-items:center}.hero-inner{padding:72px 0 50px}.hero-copy{max-width:730px}.eyebrow{display:flex;align-items:center;gap:11px;font-size:.78rem;font-weight:900;letter-spacing:.14em}.red-line{width:27px;height:3px;background:#dd1717;display:inline-block;flex:none}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Impact,ImpactFallback,'Arial Narrow',Arial,sans-serif;letter-spacing:-.025em;font-stretch:condensed;line-height:.98}h1{font-size:clamp(4rem,7.7vw,7.7rem);margin:25px 0}h1 em,h2 em{color:#dd1717;font-style:normal}.lead{font-size:1.24rem;line-height:1.55;max-width:560px;color:#e4e4e5}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;background:#dd1717;color:#fff;padding:19px 23px;font-weight:900;letter-spacing:.07em;font-size:.83rem;min-height:56px}.button:hover{background:#b80f0f}.quiet-link{font-size:.76rem;font-weight:900;letter-spacing:.09em}.hero-foot{display:flex;gap:38px;margin-top:75px;font-size:.65rem;letter-spacing:.1em;font-weight:800;color:#d4d4d4}.hero-foot span{display:flex;align-items:center;gap:12px}.hero-foot strong{font-size:1.65rem;color:white;letter-spacing:-.04em}.ribbon{background:#dd1717;color:white;padding:18px 0;font-size:.87rem;letter-spacing:.13em;font-weight:800}.ribbon strong{color:#fff;white-space:normal}.section{padding:105px 0 100px}.section-head{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:20px 60px}.section-head .eyebrow{grid-column:1/-1}.section-head h2,.commercial h2,.areas h2,.contact h2,.residential h2{font-size:clamp(3.7rem,6vw,6.4rem);margin:0}.section-head>p:last-child{max-width:430px;font-size:1.17rem;line-height:1.5;color:#56565a}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:48px}.service{background:#fff;padding:29px 28px 38px;min-height:340px;border-top:5px solid #151517;display:flex;flex-direction:column}.num{font-size:.69rem;font-weight:900;letter-spacing:.15em;color:#dd1717}.service-icon{font-size:3.4rem;color:#dd1717;line-height:1;margin:35px 0 18px}.service h3{font-size:1.6rem;letter-spacing:-.03em;margin-bottom:12px}.service p{font-size:1rem;line-height:1.55;color:#59595d;margin:0}.service-note{margin:28px 0 0;color:#666;font-size:.93rem}.commercial{background:#161719;color:#fff;padding:104px 0}.commercial-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:90px}.commercial h2{margin-top:25px}.commercial-copy{padding-top:46px}.commercial-copy>p{font-size:1.2rem;line-height:1.6;color:#d3d3d3}.commercial ul{list-style:none;margin:24px 0 34px;padding:0}.commercial li{border-top:1px solid #434346;padding:14px 0;font-size:1rem}.commercial li::before{content:'+';color:#dd1717;font-weight:bold;margin-right:14px}.light-button{background:#fff;color:#171719}.light-button:hover{background:#e9e9e9}.residential{padding:90px 0;display:grid;grid-template-columns:210px 1fr 60px;align-items:center;gap:35px}.residential-index{align-self:start;padding-top:15px;font-size:.69rem;color:#dd1717;font-weight:900;letter-spacing:.1em}.residential h2{font-size:clamp(2.6rem,4.5vw,4.8rem)}.residential p{max-width:700px;line-height:1.65;font-size:1.1rem;color:#525255;margin:20px 0 0}.residential>a{font-size:2.5rem;color:#dd1717}.areas{padding:95px 0 110px;background:#242426;color:white}.areas-head{display:flex;justify-content:space-between;align-items:end;gap:40px}.areas-head>p{max-width:380px;line-height:1.6;color:#d2d2d2;font-size:1.05rem}.area-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:55px}.area-groups>div{border-top:3px solid #dd1717;padding-top:22px}.area-groups h3{font-size:.77rem;letter-spacing:.13em}.area-groups p{font-size:1.02rem;line-height:2;color:#dedede}.contact{background:#f6f3ed;padding:100px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.contact-grid>div>p:last-child{font-size:1.15rem;line-height:1.6;max-width:490px;margin-top:25px}.contact-panel{background:white;padding:48px;box-shadow:13px 13px 0 #dd1717}.contact-panel>span{color:#dd1717;font-size:.7rem;font-weight:900;letter-spacing:.13em}.contact-panel h3{font-size:2rem;line-height:1.2;letter-spacing:-.04em;margin:18px 0 30px}.contact-panel p{font-size:.82rem;color:#666;margin:19px 0 0}footer{background:#101113;color:#fff;padding:36px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer-inner p{font-size:.8rem;color:#ccc;margin:0}.footer-inner>a:last-child{font-size:.75rem;font-weight:900;letter-spacing:.08em}@media(max-width:850px){.header nav{display:none}.commercial-grid{gap:40px}.residential{grid-template-columns:1fr 50px}.residential-index{grid-column:1/-1}.area-groups{gap:20px}}@media(max-width:650px){.shell{width:min(100% - 36px,1220px)}.topbar{font-size:.57rem;letter-spacing:.04em}.topbar .shell{min-height:34px}.header{height:72px}.brand-mark{width:40px;height:40px;font-size:1.45rem}.brand-name{font-size:1.06rem}.brand-name small{font-size:.43rem}.header-cta{display:none}.hero{min-height:650px;background:linear-gradient(90deg,rgba(8,9,12,.88),rgba(8,9,12,.58)),url('/assets/technician.webp') 58% center/cover}.hero-inner{padding:45px 0}.hero h1{font-size:clamp(3.5rem,12vw,5rem)}.lead{font-size:1.08rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:24px}.hero-foot{margin-top:55px;gap:20px;flex-wrap:wrap}.hero-foot strong{font-size:1.4rem}.ribbon{font-size:.68rem;line-height:1.6}.section,.commercial,.areas,.contact{padding:72px 0}.section-head,.commercial-grid,.contact-grid{display:block}.section-head h2,.commercial h2,.areas h2,.contact h2{font-size:clamp(3.4rem,11vw,5rem)}.section-head>p:last-child{margin-top:22px}.services,.area-groups{grid-template-columns:1fr}.services{margin-top:34px}.service{min-height:0;padding:26px 25px 30px}.service-icon{margin:22px 0 14px}.commercial-copy{padding-top:25px}.residential{padding:70px 0;gap:15px}.residential h2{font-size:clamp(2.9rem,9vw,4rem)}.areas-head{display:block}.areas-head>p{margin-top:22px}.area-groups{margin-top:38px;gap:24px}.area-groups p{line-height:1.8}.contact-panel{margin-top:35px;padding:30px;box-shadow:8px 8px 0 #dd1717}.contact-panel h3{font-size:1.7rem}.footer-inner{align-items:flex-start;flex-direction:column}.footer-inner p{order:3}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Stronger family identity and legible responsive service story */
.header{height:104px}.brand-mark{width:64px;height:64px;font-size:2.25rem}.brand-mark span{font-size:1.55rem}.brand-name{font-size:1.75rem;line-height:.94}.brand-name small{font-size:.69rem;letter-spacing:.12em;line-height:1.5}.header nav{font-size:.95rem}.header-cta{font-size:.85rem}.hero-company{font-weight:950;font-size:clamp(2.4rem,4.4vw,4.75rem);line-height:.88;letter-spacing:-.055em;margin:0 0 24px;text-shadow:0 2px 12px #0009}.hero-company span{font-size:.48em;letter-spacing:.065em;display:block;margin-top:9px}.hero{min-height:750px}.hero h1{font-size:clamp(3.4rem,6.5vw,6.6rem);margin:22px 0}.hero-foot{margin-top:52px}.trade-showcase{background:#eeeae3;padding:75px 0 82px}.trade-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:15px 55px;align-items:end}.trade-intro .eyebrow{grid-column:1/-1}.trade-intro h2{font-size:clamp(3rem,5.4vw,6rem);margin:0}.trade-intro>p:last-child{font-size:1.2rem;line-height:1.5;color:#38383b;max-width:460px}.trade-showcase img{display:block;width:100%;height:auto;margin-top:34px;object-fit:cover}.trade-labels{display:grid;grid-template-columns:repeat(3,1fr);background:#151517;color:white}.trade-labels span{padding:19px 22px;font-weight:900;font-size:.91rem;letter-spacing:.075em;border-right:1px solid #4b4b4b}.trade-labels span:last-child{border:0}.topbar,.num,.residential-index,.contact-panel>span{font-size:.85rem}.eyebrow,.area-groups h3{font-size:.9rem}.header-cta,.quiet-link,footer .footer-inner>a:last-child{font-size:.88rem}.hero-foot{font-size:.84rem}.service-note{font-size:1.05rem;line-height:1.55}.contact-panel p,footer .footer-inner p{font-size:1rem}
@media(max-width:1050px){.header nav{gap:14px}.brand-name{font-size:1.42rem}.brand-name small{font-size:.57rem}.brand-mark{width:54px;height:54px}}
@media(max-width:850px){.trade-intro{display:block}.trade-intro h2{margin:24px 0}.trade-intro>p:last-child{max-width:680px}}
@media(max-width:650px){.topbar{font-size:.72rem;letter-spacing:.02em}.topbar .shell{min-height:43px}.topbar .shell>span{max-width:54%;line-height:1.35}.header{height:88px}.brand-mark{width:49px;height:49px;font-size:1.75rem}.brand-name{font-size:1.3rem}.brand-name small{font-size:.51rem;letter-spacing:.08em}.hero{min-height:0;background:linear-gradient(90deg,rgba(8,9,12,.91),rgba(8,9,12,.67)),url('/assets/technician.webp') 58% center/cover}.hero-inner{padding:56px 0 48px}.hero-company{font-size:clamp(2.45rem,11vw,4.5rem);margin-bottom:28px}.hero-company span{font-size:.44em;letter-spacing:.035em;line-height:1.1}.hero .eyebrow{font-size:.79rem;letter-spacing:.07em;line-height:1.5}.hero h1{font-size:clamp(3.2rem,12vw,5rem);line-height:1}.lead{font-size:1.08rem}.hero-foot{font-size:.8rem;line-height:1.3;margin-top:45px}.hero-foot span{max-width:180px}.trade-showcase{padding:58px 0 65px}.trade-intro h2{font-size:clamp(3rem,10vw,4.7rem)}.trade-intro>p:last-child{font-size:1.08rem}.trade-showcase img{margin-top:26px;aspect-ratio:1.25;object-fit:cover}.trade-labels span{padding:13px 7px;font-size:.68rem;line-height:1.3;text-align:center;letter-spacing:0}.eyebrow,.area-groups h3{font-size:.83rem}.num,.residential-index,.contact-panel>span{font-size:.81rem}.service-note,.contact-panel p,footer .footer-inner p{font-size:1rem}.ribbon{font-size:.82rem;letter-spacing:.06em}}
/* Photo-led service cards */
.service{padding:0 0 32px;overflow:hidden}
.service .num,.service h3,.service p{margin-left:28px;margin-right:28px}
.service .num{display:block;padding-top:25px}
.service-photo{height:205px;margin:22px 0 24px;background-image:url('/assets/trades.webp');background-repeat:no-repeat;background-size:300% auto;background-position-y:center}
.plumbing-photo{background-position-x:50%}.electrical-photo{background-position-x:0}.handyman-photo{background-position:100% top}
.service h3{margin-bottom:12px}.service p{margin-bottom:0}

/* Selected Family Commercial Services wordmark */
.brand-logo{position:relative;display:block;width:355px;height:96px;overflow:hidden;flex:none}
.brand-logo img{position:absolute;display:block;width:355px;height:auto;max-width:none;left:0;top:-44px}
.brand-logo::after{content:'™';position:absolute;right:1px;bottom:14%;font:700 12px/1 Arial,Helvetica,sans-serif;color:#19191b}
footer .brand-logo{background:#fff}
@media(max-width:1050px){.brand-logo{width:290px;height:80px}.brand-logo img{width:290px;top:-36px}}
@media(max-width:650px){.header{height:85px}.brand-logo{width:260px;height:73px}.brand-logo img{width:260px;top:-32px}.brand-logo::after{font-size:10px}footer .brand-logo{width:260px;height:73px}}
@media(max-width:360px){.brand-logo{width:230px;height:66px}.brand-logo img{width:230px;top:-28px}}
/* Show the electrician and the electrical panel in the service card. */
.electrical-photo{background-image:url('/assets/electrician.webp');background-size:cover;background-position:50% 36%}
/* Repair guide pages and homepage entry point */
.guide-preview{background:#e9e5de;padding:90px 0 96px}.guide-preview-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:33px}.guide-preview h2{font-size:clamp(3rem,5vw,5.6rem);margin:20px 0 0}.guide-preview h2 em,.guide-hub h1 em{color:#dd1717;font-style:normal}.guide-preview-head>a{font-size:.88rem;font-weight:900;letter-spacing:.05em;border-bottom:2px solid #dd1717;padding-bottom:8px;white-space:nowrap}.guide-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.guide-cards>a{background:#fff;color:#171719;padding:30px;display:flex;flex-direction:column;min-height:240px;border-top:5px solid #dd1717;transition:transform .15s ease,box-shadow .15s ease}.guide-cards>a:hover{transform:translateY(-3px);box-shadow:0 12px 26px #0002}.guide-cards small{font-size:.8rem;letter-spacing:.11em;color:#b70e0e;font-weight:900}.guide-cards strong{font-size:1.55rem;line-height:1.15;margin-top:20px}.guide-cards span{font-size:1rem;line-height:1.5;margin-top:15px;color:#555}.guide-cards>a>span:last-child,.guide-cards b{font-size:.8rem;font-weight:900;letter-spacing:.07em;margin-top:auto;padding-top:25px;color:#ad1010}.guide{background:#f6f3ed;padding:75px 0 105px}.guide .eyebrow{color:#bb1515}.guide h1{font-family:Impact,ImpactFallback,'Arial Narrow',Arial,sans-serif;font-size:clamp(3.2rem,6vw,6.3rem);line-height:1.02;max-width:900px;margin:23px 0}.guide-crumb{font-size:.88rem;font-weight:800;margin:28px 0 0}.guide-crumb a{border-bottom:1px solid #dd1717}.guide-intro{font-size:1.35rem;line-height:1.55;color:#454548;max-width:830px;margin:25px 0 52px}.guide-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:70px;align-items:start}.guide-article{max-width:750px}.guide-article section{border-top:1px solid #d0cdc7;padding:28px 0 12px}.guide-article h2{font-size:clamp(1.8rem,2.5vw,2.65rem);margin:0 0 14px}.guide-article p{font-size:1.12rem;line-height:1.75;color:#353538;margin:0 0 20px}.guide-takeaway{background:#171719;color:white;padding:28px;margin:25px 0}.guide-takeaway strong{color:#fa5656;font-size:.77rem;letter-spacing:.14em}.guide-takeaway p{color:#fff;margin:12px 0 0}.guide-source{font-size:.9rem!important;color:#666!important}.guide-source a{text-decoration:underline;text-decoration-color:#dd1717;text-underline-offset:3px}.guide-aside{background:#fff;border-top:5px solid #dd1717;padding:30px;position:sticky;top:20px}.guide-aside>span{font-size:.75rem;font-weight:900;color:#b10e0e;letter-spacing:.11em}.guide-aside h2{font-size:2.2rem;margin:16px 0}.guide-aside p{font-size:1rem;line-height:1.6;color:#4a4a4d}.guide-aside .button{font-size:.78rem;gap:6px;width:100%;padding:15px}.guide-aside-link{display:block;margin-top:19px;text-decoration:underline;font-weight:700;font-size:.9rem}.guide-next{margin-top:70px}.guide-next h2{font-size:2.7rem}.guide-hub h1{max-width:1000px}.guide-hub .guide-intro{max-width:830px}.guide-hub .guide-cards>a{min-height:310px}.hub-cta{margin-top:60px;padding:38px;background:#171719;color:#fff;display:flex;align-items:center;gap:28px}.hub-cta h2{font-size:2.4rem;margin:0}.hub-cta p{flex:1;line-height:1.55;margin:0}.hub-cta .button{white-space:nowrap}.header nav{gap:20px}
@media(max-width:1050px){.header nav{display:none}.guide-layout{gap:34px;grid-template-columns:minmax(0,1fr) 270px}}
@media(max-width:750px){.guide-preview,.guide{padding:62px 0 72px}.guide-preview-head{display:block}.guide-preview-head>a{display:inline-block;margin-top:23px}.guide-cards{grid-template-columns:1fr}.guide-cards>a,.guide-hub .guide-cards>a{min-height:190px}.guide-layout{display:block}.guide-intro{font-size:1.18rem}.guide-article p{font-size:1.05rem}.guide-aside{position:static;margin-top:35px}.guide-next{margin-top:55px}.hub-cta{display:block;padding:30px}.hub-cta p{margin:15px 0 22px}}
/* Focused service pages */
.all-services{margin:28px 0 4px;font-size:.9rem;font-weight:900;letter-spacing:.05em}.all-services a,.guides-service-link a{text-decoration:underline;text-decoration-color:#dd1717;text-underline-offset:5px}.service h3 a:hover{color:#dd1717}.guides-service-link{font-weight:800;margin:35px 0}.service-page{background:#f6f3ed;padding:75px 0 100px}.service-page>.shell>.eyebrow{color:#b91010}.service-page h1{font-family:Impact,ImpactFallback,'Arial Narrow',Arial,sans-serif;font-size:clamp(3.3rem,6vw,6.3rem);line-height:1.02;max-width:910px;margin:22px 0}.service-intro{font-size:1.35rem;line-height:1.55;max-width:820px;color:#454548;margin:22px 0 50px}.service-detail{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:70px;align-items:start}.service-detail>div:first-child{max-width:750px}.service-detail h2{font-size:2.4rem;margin:24px 0 18px}.service-detail ul{list-style:none;padding:0;margin:0 0 45px}.service-detail li{border-top:1px solid #ccc7c0;padding:17px 0;font-size:1.1rem}.service-detail li::before{content:'+';font-weight:900;color:#dd1717;margin-right:16px}.service-detail p{font-size:1.1rem;line-height:1.75;color:#353538}.service-related{border-left:4px solid #dd1717;padding:15px 20px;background:#fff;margin-top:35px;display:flex;flex-direction:column;gap:10px}.service-related span{font-size:.75rem;color:#ae0e0e;font-weight:900;letter-spacing:.1em}.service-related a{font-size:1.1rem;font-weight:800}.service-other{margin-top:70px}.service-other h2{font-size:2.7rem}.service-links{display:flex;flex-wrap:wrap;gap:12px}.service-links a{background:#fff;padding:18px 20px;font-weight:800;display:flex;gap:25px;justify-content:space-between;min-width:200px;border-bottom:3px solid #dd1717}.service-links a span{color:#dd1717}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.service-grid>a{background:#fff;padding:30px;min-height:290px;border-top:5px solid #dd1717;display:flex;flex-direction:column}.service-grid small{font-size:.75rem;font-weight:900;color:#b91010;letter-spacing:.1em}.service-grid strong{font-size:1.5rem;line-height:1.17;margin-top:18px}.service-grid span{font-size:1rem;line-height:1.5;margin-top:13px;color:#555}.service-grid b{font-size:.8rem;color:#a90f0f;letter-spacing:.07em;margin-top:auto;padding-top:20px}.service-grid>a:hover{box-shadow:0 12px 26px #0002}
@media(max-width:850px){.service-detail{grid-template-columns:1fr;gap:25px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-detail .guide-aside{position:static}}
@media(max-width:650px){.service-page{padding:62px 0 75px}.service-intro{font-size:1.17rem}.service-grid{grid-template-columns:1fr}.service-grid>a{min-height:220px}.service-detail h2{font-size:2rem}.service-other{margin-top:50px}}

/* Show a distinct plumbing repair photo in the service card. */
.plumbing-photo{background-image:url('/assets/plumber-vanity.webp');background-size:cover;background-position:50% 48%}

/* Always-visible emergency availability beside the brand. */
.availability-badge{flex:none;display:grid;place-items:center;min-width:92px;min-height:53px;padding:5px 10px;background:#dd1717;color:#fff;font:900 1.85rem/1 Arial,Helvetica,sans-serif;letter-spacing:-.045em;transform:skew(-8deg);box-shadow:4px 4px 0 #151517}
@media(max-width:1050px){.header{gap:12px}.header nav{gap:14px}.availability-badge{min-width:75px;min-height:48px;font-size:1.55rem}}
@media(max-width:850px){.header{justify-content:space-between}.availability-badge{margin-left:auto}}
@media(max-width:650px){.header .brand-logo{width:235px;height:68px}.header .brand-logo img{width:235px;top:-29px}.availability-badge{min-width:74px;min-height:44px;font-size:1.5rem;box-shadow:3px 3px 0 #151517}}
@media(max-width:400px){.header .brand-logo{width:205px;height:59px}.header .brand-logo img{width:205px;top:-25px}.availability-badge{min-width:67px;min-height:41px;font-size:1.35rem}}
.availability-badge:hover{background:#b91010;color:#fff}
@media(max-width:400px){.topbar .shell>span{display:none}.topbar .shell{justify-content:center}}
