@font-face{font-family:'Source Sans 3';src:url('/assets/source-sans-3.woff2') format('woff2');font-weight:200 900;font-style:normal;font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;font:18px/1.55 'Source Sans 3','Segoe UI',Arial,sans-serif;background:#f5f4ee;color:#202c24}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-underline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600;letter-spacing:0;line-height:1.05;text-wrap:balance}h1{font-size:clamp(3.4rem,6.8vw,7.4rem)}h2{font-size:clamp(2.4rem,4.5vw,4.6rem)}h3{font-size:1.65rem;line-height:1.2}p{max-width:56ch}img{display:block;width:100%;object-fit:cover}button{border:0}button:active{transform:translateY(1px)}:focus-visible{outline:3px solid #a64a16;outline-offset:5px}.demo-skip{position:fixed;z-index:10;transform:translateY(-180%);padding:12px;background:white}.demo-skip:focus{transform:none}.demo-notice{display:flex;justify-content:space-between;gap:20px;padding:10px max(24px,calc((100vw - 1320px)/2));background:#161b18;color:#fff;font-size:13px}.demo-notice a{white-space:nowrap}.demo-nav{max-width:1392px;margin:auto;padding:28px 36px;display:flex;align-items:center;justify-content:space-between;gap:24px}.demo-brand{text-decoration:none;font-weight:700;font-size:25px;line-height:1.1}.brand-sub{display:block;font-size:11px;font-weight:600;letter-spacing:.14em;margin-top:7px}.demo-nav nav{display:flex;align-items:center;gap:28px;font-size:16px}.demo-nav nav a{text-decoration:none}.demo-nav button{padding:12px 0;color:inherit;background:transparent;font-weight:600}.brand-mark{display:inline-block;background:#eadc40;color:#161b18;padding:8px;margin-right:10px}.electrical .demo-brand{font-size:23px}.electrical .brand-sub{margin-left:58px;margin-top:-6px}.kicker{text-transform:uppercase;letter-spacing:.1em;font-weight:600;font-size:13px;line-height:1.5;margin-bottom:22px}.demo-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:15px 24px;background:#eadc40;color:#141a17;text-decoration:none;font-weight:600;line-height:1.25;transition:background .18s,transform .18s}.demo-btn:hover{background:#f1e96c}.underlink{display:inline-block;margin-top:24px;font-weight:600;font-size:16px}.electric-hero{display:grid;grid-template-columns:1fr 1fr;max-width:1392px;padding:0 36px 42px;margin:auto;gap:50px}.electric-copy{padding:48px 0 32px}.electric-copy h1{margin-bottom:28px;font-size:clamp(3.8rem,6.4vw,6.6rem)}.electric-copy h1 span{color:#526254}.electric-copy>p:not(.kicker){color:#4a574e;font-size:20px;max-width:37ch;margin-bottom:32px}.electric-copy .underlink{display:block;width:fit-content}.electric-image{position:relative;min-height:600px;overflow:hidden}.electric-image>img{height:100%;position:absolute;inset:0;object-position:48% center}.photo-label{position:absolute;bottom:24px;left:24px;right:24px;background:#f5f4ee;color:#202c24;padding:20px 22px;font-size:22px;font-weight:600}.photo-label small{display:block;font-size:12px;font-weight:400;margin-top:6px}.electric-ribbon{display:flex;justify-content:space-around;flex-wrap:wrap;gap:18px;padding:24px;background:#202c24;color:#fff;font-size:16px}.electric-ribbon span:before{content:'+';color:#eadc40;margin-right:16px}.demo-section{max-width:1320px;margin:auto;padding:100px 36px}.section-intro>p:not(.kicker){margin-top:24px;color:#526254}.service-section{display:grid;grid-template-columns:1fr 1fr;gap:70px}.service-list{border-top:1px solid #a7b0a8}.service-list details{border-bottom:1px solid #a7b0a8;padding:22px 0}.service-list summary{display:flex;align-items:center;gap:20px;list-style:none;cursor:pointer;font-size:24px;font-weight:600;min-height:44px}.service-list summary::-webkit-details-marker{display:none}.service-list summary span{font-size:13px;font-weight:400}.service-list summary b{margin-left:auto;font-weight:400}.service-list details[open] summary b{transform:rotate(45deg)}.service-list details p{padding:18px 0 4px 40px;color:#526254}.electric-projects{background:#e8ebe4;max-width:none;padding-inline:max(36px,calc((100vw - 1248px)/2))}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:40px}.project-photo{padding:0;background:transparent;color:inherit;text-align:left;display:block}.project-photo>img{height:390px;transition:filter .2s}.project-photo:hover>img{filter:brightness(.93)}.project-photo>span{display:grid;grid-template-columns:1fr auto;gap:6px;padding-block:20px}.project-photo strong{font-size:24px;font-weight:600;line-height:1.2}.project-photo>span>span{grid-column:1;font-size:15px}.project-photo b{grid-column:2;grid-row:1/3;font-size:26px;font-weight:400;align-self:center}.electric-process{display:grid;grid-template-columns:1fr 1.4fr;gap:20px 60px}.electric-process>.kicker{grid-column:1/-1}.electric-process ol{list-style:decimal-leading-zero;margin:0;padding-left:30px}.electric-process li{padding:0 0 24px 12px}.electric-process li::marker{font-size:14px}.electric-process strong{font-size:21px;font-weight:600}.electric-process p{color:#526254;margin-top:8px}.demo-contact{padding:72px max(36px,calc((100vw - 1248px)/2));background:#eadc40;display:flex;align-items:center;justify-content:space-between;gap:40px}.demo-contact p:not(.kicker){margin-top:24px}.demo-contact .demo-btn{background:#202c24;color:white;flex-shrink:0}.demo-footer{padding:48px max(36px,calc((100vw - 1248px)/2));display:grid;grid-template-columns:1fr 1fr;gap:24px 70px;font-size:15px}.demo-footer p{color:#526254}.demo-footer details{grid-column:1/-1;border-top:1px solid #bbc2ba;padding-top:20px}.demo-footer summary{cursor:pointer}.demo-footer details p{margin-top:16px}.landscaping{background:#faf9f5;color:#263d2f}.landscaping .demo-brand{font-size:32px;font-weight:500;letter-spacing:0}.landscape-hero{max-width:1392px;margin:auto;padding:30px 36px 0}.landscape-heading{display:grid;grid-template-columns:1.7fr 1fr;gap:16px 70px;align-items:end;margin:24px 0 46px}.landscape-heading>.kicker{grid-column:1/-1;margin:0}.landscape-heading h1{font-size:clamp(3.8rem,7.8vw,8.2rem)}.landscape-heading h1 span{color:#617351}.landscape-heading>div{padding-bottom:7px;max-width:31ch}.landscape-image{height:560px;position:relative;overflow:hidden}.landscape-image>img{height:100%;object-position:center 66%}.landscape-image .photo-label{background:#263d2f;color:white;left:auto;max-width:320px}.landscape-caption{display:flex;justify-content:space-between;gap:20px;padding:18px 0;font-size:14px;border-bottom:1px solid #bdc6b7}.landscape-intro{display:grid;grid-template-columns:1.4fr 1fr;gap:24px 80px}.landscape-intro .kicker{grid-column:1/-1}.landscape-intro>p:not(.kicker){padding-top:6px;color:#4a6151}.landscape-intro .text-link{grid-column:2}.text-link{background:none;color:inherit;padding:12px 0;text-align:left;text-decoration:underline;text-underline-offset:6px;font-weight:600;min-height:44px}.landscape-projects{padding-top:0}.landscape-projects .project-grid{grid-template-columns:1fr 1.2fr;gap:55px;align-items:start}.landscape-projects .project-photo:first-child>img{height:590px}.landscape-projects .project-photo:last-child{margin-top:120px}.landscape-projects .project-photo:last-child>img{height:410px}.landscape-services{background:#e8eddf;max-width:none;padding-inline:max(36px,calc((100vw - 1248px)/2))}.landscape-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:50px}.landscape-service-grid article{border-top:1px solid #a8b3a0;padding-top:24px}.landscape-service-grid span{font-size:13px}.landscape-service-grid h3{margin:28px 0 16px}.landscape-service-grid p{color:#4a6151}.landscaping .demo-contact{background:#263d2f;color:white}.landscaping .demo-contact .demo-btn,.landscaping .estimate-dialog .demo-btn{background:#e1e9cc;color:#263d2f}.landscaping .demo-contact .kicker{color:#e1e9cc}.landscaping .demo-footer{color:#263d2f}.landscaping .demo-footer p{color:#4a6151}.project-dialog,.estimate-dialog{width:calc(100% - 32px);max-width:1000px;max-height:calc(100dvh - 32px);overflow:auto;background:#faf9f5;color:#202c24;border:1px solid #7c887d;padding:28px;overscroll-behavior:contain}.project-dialog::backdrop,.estimate-dialog::backdrop{background:#101810e8}.dialog-close{display:block;margin-left:auto;padding:10px 14px;min-height:44px;color:inherit;background:transparent;border:1px solid #7c887d}.project-dialog h2{font-size:28px;margin:8px 0 20px}.project-dialog img{max-height:60dvh;object-fit:contain;margin-bottom:20px}.project-dialog .small{font-size:14px;color:#526254;margin-top:8px}.gallery-controls{display:flex;gap:20px;margin-top:20px}.gallery-controls button{background:#202c24;color:white;padding:12px 20px;min-height:48px}.estimate-dialog{max-width:590px;padding:32px}.estimate-dialog h2{font-size:38px;margin:20px 0}.estimate-dialog p{margin:0 0 24px}.estimate-dialog label{display:block;margin-bottom:8px;font-weight:600}.estimate-dialog select{width:100%;padding:12px;border:1px solid #7c887d;background:white;color:#202c24;min-height:48px;margin-bottom:24px}.estimate-dialog .kicker{margin-top:20px}.estimate-dialog .demo-btn{width:100%}#demoNext{margin-top:28px;border-top:1px solid #bbc2ba;padding-top:24px}#demoNext h3{margin-bottom:16px}[hidden]{display:none!important}body.demo-modal-open{overflow:hidden}
@media(max-width:760px){.demo-notice{padding:10px 20px;flex-direction:column;gap:5px;font-size:12px}.demo-nav{padding:24px 20px;align-items:start}.demo-nav nav{gap:0}.demo-nav nav>a{display:none}.demo-nav nav button{font-size:14px;max-width:110px;text-align:right;padding-top:0}.demo-brand,.electrical .demo-brand{font-size:20px}.brand-sub{font-size:9px}.brand-mark{padding:5px;margin-right:6px}.electrical .brand-sub{margin-left:43px}.landscaping .demo-brand{font-size:27px}.landscaping .brand-sub{font-size:8px}.electric-hero{padding:0 20px 24px;grid-template-columns:1fr;gap:28px}.electric-copy{padding:22px 0 0}.electric-copy h1{font-size:clamp(3.5rem,15vw,5rem)}.electric-copy>p:not(.kicker){font-size:18px}.kicker{font-size:11px}.electric-image{min-height:420px}.photo-label{left:16px;right:16px;bottom:16px;padding:16px;font-size:20px}.electric-ribbon{justify-content:flex-start;padding:24px 20px;flex-direction:column;font-size:15px;gap:10px}.demo-section{padding:60px 20px}.service-section{grid-template-columns:1fr;gap:32px}h2{font-size:36px}.service-list summary{font-size:20px;gap:12px}.service-list details p{padding-left:27px}.project-grid{grid-template-columns:1fr;gap:28px;margin-top:30px}.project-photo>img{height:300px}.project-photo strong{font-size:22px}.electric-process{grid-template-columns:1fr;gap:24px}.electric-process ol{margin-top:10px}.demo-contact{padding:50px 20px;flex-direction:column;align-items:flex-start;gap:28px}.demo-contact .demo-btn{width:100%}.demo-footer{padding:40px 20px;grid-template-columns:1fr;gap:24px}.landscape-hero{padding:20px 20px 0}.landscape-heading{grid-template-columns:1fr;gap:24px;margin:12px 0 30px}.landscape-heading h1{font-size:clamp(3.3rem,14vw,5rem)}.landscape-heading>div{max-width:32ch}.landscape-image{height:470px}.landscape-image>img{object-position:52% center}.landscape-caption{font-size:12px;flex-direction:column;gap:6px}.landscape-intro{grid-template-columns:1fr;gap:24px}.landscape-intro .text-link{grid-column:1}.landscape-projects{padding-top:0}.landscape-projects .project-grid{grid-template-columns:1fr;gap:36px}.landscape-projects .project-photo:first-child>img{height:430px}.landscape-projects .project-photo:last-child{margin-top:0}.landscape-projects .project-photo:last-child>img{height:300px}.landscape-service-grid{grid-template-columns:1fr;gap:28px;margin-top:32px}.landscape-service-grid h3{margin:16px 0 12px}.project-dialog,.estimate-dialog{padding:20px}.estimate-dialog h2{font-size:32px}.gallery-controls{gap:10px}.gallery-controls button{font-size:15px;padding:12px 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

@media(max-width:760px){.demo-nav{gap:14px}.demo-nav nav button{white-space:nowrap;max-width:none;font-size:12px}}
.personalized-concept .demo-brand{display:block;max-width:min(50vw,550px);overflow-wrap:anywhere;line-height:1.2;min-width:0}.personalized-concept .demo-brand bdi{font-size:clamp(20px,2.3vw,30px)}.personalized-concept .demo-brand .brand-sub{margin:8px 0 0;font-size:10px}.personalized-concept .demo-nav{align-items:center}.personalized-concept .demo-footer>.demo-brand{max-width:100%}@media(max-width:760px){.personalized-concept .demo-brand{max-width:54vw}.personalized-concept .demo-brand bdi{font-size:21px}.personalized-concept .demo-brand .brand-sub{font-size:8px}}
/* Configured service-demo family: shared structure, specific content and licensed trade photography. */
.service-demo{background:var(--trade-surface);color:var(--trade-ink)}.service-demo .demo-brand{max-width:48%;font-size:27px}.service-demo .brand-sub{font-size:10px}.service-hero{display:grid;grid-template-columns:1fr 1fr;gap:64px;max-width:1392px;padding:42px 36px 60px;margin:auto;align-items:center}.service-hero h1{font-size:clamp(3.7rem,5.6vw,6rem);margin:20px 0 28px;line-height:1.07}.service-intro{font-size:21px;line-height:1.55;margin-bottom:30px;color:#4a5550;max-width:38ch}.service-hero .underlink{display:block;width:fit-content}.service-image{position:relative;min-height:590px;align-self:stretch;overflow:hidden;background:var(--trade-accent)}.service-image>img{height:100%;width:100%;position:absolute;inset:0;object-fit:cover;object-position:var(--trade-image-position,center)}.service-image>.photo-label{position:absolute;left:20px;right:20px;bottom:20px;background:var(--trade-surface);color:var(--trade-ink);padding:18px 20px;display:block}.service-image .photo-label strong{font-size:22px;line-height:1.2;font-weight:600}.service-image .photo-label small{font-size:12px;font-weight:400;margin-top:8px}.service-demo .demo-btn{background:var(--trade-accent);color:var(--trade-ink)}.service-demo .demo-btn:hover{filter:brightness(.96)}.service-demo .service-section{border-top:1px solid #a8b4a9}.service-plan{background:#e6eae3;max-width:none;padding-inline:max(36px,calc((100vw - 1248px)/2))}.service-plan>h2{max-width:850px}.service-plan ol{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;list-style:decimal-leading-zero;padding-left:22px;margin:45px 0 0}.service-plan li{padding-left:10px}.service-plan li::marker{font-size:14px}.service-plan strong{font-size:22px;font-weight:600}.service-plan p{font-size:17px;color:#4a5550;margin-top:15px}.service-demo .demo-contact{background:var(--trade-ink);color:white}.service-demo .demo-contact .demo-btn{background:var(--trade-accent);color:var(--trade-ink)}.service-demo .demo-footer{color:var(--trade-ink)}.service-demo .project-dialog,.service-demo .estimate-dialog{background:var(--trade-surface);color:var(--trade-ink)}.service-demo .service-list summary b{color:var(--trade-ink)}.service-demo .demo-contact p{color:white}.service-demo .demo-contact .demo-btn{flex-shrink:1;max-width:420px}.service-demo .estimate-dialog .demo-btn{width:100%}.service-demo .demo-nav nav button{max-width:200px}.service-demo.personalized-concept .demo-brand{max-width:50%}
@media(max-width:760px){.service-demo .demo-brand{font-size:23px;max-width:55%;overflow-wrap:anywhere}.service-demo .demo-nav nav button{font-size:12px;max-width:115px;white-space:normal;text-align:right;line-height:1.4}.service-hero{grid-template-columns:1fr;gap:32px;padding:26px 20px 40px}.service-hero h1{font-size:clamp(3.1rem,12vw,4.4rem);line-height:1.08}.service-intro{font-size:18px}.service-hero .demo-btn{max-width:100%;font-size:16px;text-align:left}.service-image{min-height:430px}.service-image>.photo-label{left:16px;right:16px;bottom:16px;padding:16px}.service-image .photo-label strong{font-size:20px}.service-plan ol{grid-template-columns:1fr;gap:24px}.service-plan{padding-inline:20px}.service-demo .demo-contact .demo-btn{width:100%;max-width:none}.service-demo .demo-footer .demo-brand{max-width:100%}.service-demo.personalized-concept .demo-brand{max-width:55%}}
/* Trade identities share components, but retain their own proportions and visual rhythm. */
.electrical .demo-brand{font-size:22px}.electrical .electric-copy h1{font-size:clamp(3.6rem,6.1vw,6.25rem);line-height:1.1}.electrical .electric-ribbon{letter-spacing:.02em}.landscaping .landscape-heading h1{font-size:clamp(3.4rem,6.6vw,6.8rem);line-height:1.14}.landscaping .landscape-intro h2,.landscaping .landscape-projects h2{line-height:1.17}.landscaping .demo-brand{font-size:30px}.landscaping .project-photo strong{font-family:var(--demo-display),'Source Sans 3',serif;font-weight:500}.plumbing .demo-btn{border-radius:7px}.plumbing .service-hero h1{font-size:clamp(3.2rem,5.3vw,5.6rem);line-height:1.1}.plumbing .service-list summary{font-size:23px}.hvac .service-hero{grid-template-columns:1fr 1.1fr;gap:74px}.hvac .service-hero>div{order:2}.hvac .service-image{order:1}.hvac .service-hero h1{font-size:clamp(3.8rem,6.4vw,6.7rem);line-height:1.03}.hvac .kicker{letter-spacing:.14em}.hvac .demo-nav{border-bottom:1px solid #9cabb7}.roofing .demo-nav{border-bottom:3px solid var(--trade-ink)}.roofing .service-hero{grid-template-columns:1.1fr 1fr;gap:44px}.roofing .service-hero h1{text-transform:uppercase;font-size:clamp(3.3rem,5vw,5.1rem);line-height:1.12}.roofing .service-image{min-height:650px}.roofing .demo-contact h2{font-size:clamp(2.1rem,3.5vw,3.6rem);line-height:1.18}.painting .service-hero h1{font-size:clamp(3.8rem,6.5vw,6.9rem);line-height:1.05}.painting .service-image{border-radius:140px 140px 0 0}.painting .service-hero{gap:76px}.painting .service-plan{background:#ead9c9}.remodeling .service-hero{grid-template-columns:1fr;gap:42px}.remodeling .service-hero>div{display:grid;grid-template-columns:1.3fr 1fr;gap:18px 80px;align-items:start}.remodeling .service-hero .kicker{grid-column:1/-1;margin:0}.remodeling .service-hero h1{grid-column:1;grid-row:2/5;font-size:clamp(3.2rem,5vw,5.2rem);line-height:1.15;margin:0}.remodeling .service-hero .service-intro,.remodeling .service-hero .demo-btn,.remodeling .service-hero .underlink{grid-column:2;margin:0;max-width:100%}.remodeling .service-hero .demo-btn{width:fit-content}.remodeling .service-image{min-height:500px}.remodeling .demo-brand{font-size:24px}.remodeling .service-plan h2{line-height:1.2}.handyman .demo-btn{border-radius:8px}.handyman .service-hero h1{font-size:clamp(3.7rem,6.3vw,6.6rem);line-height:1.08}.handyman .service-image{min-height:560px;border-radius:12px}.handyman .service-image .photo-label{border-radius:7px}.handyman .service-plan{background:#e9dfc4}
@media(max-width:760px){.electrical .electric-copy h1{font-size:clamp(3.3rem,14vw,4.8rem)}.landscaping .landscape-heading h1{font-size:clamp(2.9rem,11.8vw,4.2rem);line-height:1.15}.landscaping .demo-brand{font-size:25px}.plumbing .service-hero h1{font-size:clamp(2.8rem,11.3vw,4rem)}.hvac .service-hero,.roofing .service-hero{grid-template-columns:1fr;gap:32px}.hvac .service-hero>div{order:0}.hvac .service-image{order:1}.hvac .service-hero h1{font-size:clamp(3.4rem,13vw,4.8rem)}.roofing .service-hero h1{font-size:clamp(2.8rem,10.8vw,4rem);line-height:1.16}.roofing .service-image{min-height:430px}.painting .service-hero{gap:32px}.painting .service-hero h1{font-size:clamp(3.4rem,13vw,4.8rem)}.painting .service-image{border-radius:90px 90px 0 0}.remodeling .service-hero>div{display:block}.remodeling .service-hero h1{font-size:clamp(2.7rem,10.5vw,4rem);line-height:1.18;margin:22px 0}.remodeling .service-hero .service-intro{margin-bottom:28px}.remodeling .service-hero .underlink{margin-top:24px}.remodeling .service-image{min-height:390px}.handyman .service-hero h1{font-size:clamp(3.3rem,12.7vw,4.7rem)}.handyman .service-image{min-height:410px}}
@media(max-width:760px){.roofing .service-hero h1{font-size:clamp(1.8rem,8.4vw,3rem);line-height:1.2}}
