@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap');
:root{--paper:#f2f6fa;--ink:#243d55;--primary:#39688d;--primary-hover:#243d55;--accent:#dce8f1;--wash:#dce8f1;--line:color-mix(in srgb,var(--ink) 17%,transparent);--body:'Manrope',sans-serif;--display:'IBM Plex Sans',serif;--white:#fff;--radius:12px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}button,a{ -webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--display);font-weight:500;line-height:1.07;letter-spacing:-.035em}h1{font-size:clamp(3.6rem,5.4vw,5.9rem)}h2{font-size:clamp(2.2rem,3.4vw,3.7rem)}h3{font-size:1.18rem;line-height:1.35;font-weight:600}p{max-width:65ch}p+p{margin-top:1rem}a:focus-visible,button:focus-visible{outline:3px solid var(--primary);outline-offset:5px}::selection{background:var(--wash)}.container{width:min(1240px,calc(100% - 88px));margin:auto}.section{padding:88px 0}.eyebrow{text-transform:uppercase;font-size:.71rem;letter-spacing:.18em;font-weight:700;margin-bottom:18px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:36px}.section-head>div{max-width:630px}.section-head>p{max-width:350px;opacity:.78}.alt{background:var(--wash)}.dark{background:var(--ink);color:var(--paper)}.btn,.btn-secondary,.btn-light{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:52px;padding:12px 22px;border-radius:3px;font-size:.85rem;font-weight:600;border:1px solid var(--primary);background:var(--primary);color:#fff;transition:background .2s,transform .2s}.btn:hover{background:var(--ink);transform:translateY(-2px)}.btn-secondary{background:transparent;border-color:var(--line);color:var(--ink)}.btn-light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.card-link{display:inline-block;margin-top:18px;font-size:.82rem;font-weight:700;border-bottom:1px solid var(--line);padding-bottom:5px}.card-link:after{content:' â†—';margin-left:8px}.skip-link{position:fixed;z-index:100;top:-100px;left:20px;padding:12px;background:var(--ink);color:white}.skip-link:focus{top:12px}
.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:20}.nav-wrap{display:flex;align-items:center;min-height:100px;gap:32px}.brand{display:flex;align-items:center;gap:12px;font-weight:600;font-size:.98rem;line-height:1.3;max-width:260px}.brand-logo{width:44px;height:44px;flex-shrink:0}.brand small{display:block;font-weight:400;font-size:.65rem;letter-spacing:.06em;margin-top:5px}.nav{display:flex;align-items:center;gap:24px;margin-left:auto;font-size:.8rem}.nav a{padding:8px 0;border-bottom:1px solid transparent}.nav a:hover,.nav a.active{border-color:var(--primary)}.header-actions .btn{min-height:44px;padding:10px 16px;font-size:.75rem}.menu-toggle{display:none}.header-kicker{border-bottom:1px solid var(--line);padding:8px 0;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase}.header-kicker .container{display:flex;justify-content:space-between}
.hero{position:relative;overflow:hidden;padding:50px 0 64px}.hero-layout{display:grid;grid-template-columns:1fr 1.08fr;align-items:center;gap:60px}.hero-copy{padding:30px 0}.hero-copy p{font-size:1.05rem;opacity:.8;margin-top:25px;max-width:43ch}.hero-media{position:relative}.hero-img{width:100%;height:580px;object-fit:cover;border-radius:var(--radius)}.photo-label{position:absolute;left:24px;bottom:24px;background:var(--paper);padding:12px 18px;font-size:.72rem;max-width:220px;border-left:3px solid var(--primary)}.hero-note{margin-top:25px;display:flex;gap:20px;font-size:.72rem;border-top:1px solid var(--line);padding-top:18px}.hero-note span{flex:1}.hero-note strong{display:block;font-weight:600}.layout-panorama .hero{padding:0}.layout-panorama .hero-layout{min-height:700px;padding:80px 0;position:relative}.layout-panorama .hero-media{position:absolute;inset:0;left:34%;z-index:0}.layout-panorama .hero-img{height:100%;border-radius:0}.layout-panorama .hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--paper),transparent 70%)}.layout-panorama .hero-copy{z-index:1;max-width:650px;padding:30px 38px 30px 0}.layout-panorama .hero-copy h1{max-width:12ch}.layout-panorama .photo-label{left:auto;right:24px;z-index:1}.layout-portrait .hero-media{padding:0 30px}.layout-portrait .hero-img{height:620px;border-radius:48% 48% 2px 2px}.layout-portrait .hero-media:before{content:'';position:absolute;inset:20px 0 -20px;border:1px solid var(--line);border-radius:48% 48% 2px 2px;z-index:-1}.layout-gallery .hero-layout{grid-template-columns:.95fr 1.3fr;gap:45px}.layout-gallery .hero-img{height:570px;border-radius:0}.layout-gallery .hero-media{border:12px solid white;box-shadow:0 18px 60px #0000000c}.layout-gallery .hero-copy h1{font-size:clamp(4rem,6vw,6.8rem)}.layout-workshop .hero-layout{grid-template-columns:1.15fr 1fr;gap:75px}.layout-workshop .hero-copy h1{font-size:clamp(4rem,6vw,6.8rem)}.layout-workshop .hero-media{transform:rotate(1deg);border:10px solid var(--wash)}.layout-workshop .hero-img{height:520px;border-radius:0}.layout-technical{--radius:0}.layout-technical .hero-layout{gap:0;grid-template-columns:1fr 1.2fr;border:1px solid var(--line)}.layout-technical .hero-copy{padding:45px}.layout-technical .hero-img{height:570px}.layout-technical h1,.layout-technical h2{letter-spacing:-.04em;font-weight:600}.layout-technical .hero-note{font-size:.68rem}.layout-airy .hero-media{border-radius:0 0 100px 0;overflow:hidden}.layout-airy .hero-img{height:570px;border-radius:0}.layout-airy .hero{padding-top:70px}.layout-airy .hero-copy h1{font-size:clamp(3.8rem,5.5vw,6rem)}
.process-strip{padding:32px 0;border-block:1px solid var(--line)}.process-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:30px;align-items:start}.process-step{font-size:.8rem;border-left:1px solid var(--line);padding-left:24px}.process-step span{font-size:.65rem;display:block;opacity:.65;margin-bottom:8px}.process-step strong{display:block;font-weight:600;margin-bottom:5px}.process-grid h2{font-family:var(--body);font-size:1.25rem;letter-spacing:-.02em}.trigger-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.trigger-card{padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.98rem;min-height:130px;display:flex;flex-direction:column;justify-content:space-between;gap:14px;transition:background .2s}.trigger-card:hover{background:var(--wash)}.trigger-card>span{font-size:.65rem;letter-spacing:.14em;opacity:.6}.trigger-card small{font-size:.72rem;display:flex;justify-content:space-between;opacity:.7}.grid.services-grid,.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service-card{background:var(--white);border:1px solid var(--line);overflow:hidden;border-radius:var(--radius)}.media{overflow:hidden}.media img{width:100%;height:240px;object-fit:cover;transition:transform .6s}.service-card:hover .media img{transform:scale(1.035)}.service-card .body{padding:26px}.service-card p{font-size:.85rem;opacity:.78;margin-top:12px}.service-number{font-size:.65rem;letter-spacing:.15em;opacity:.55;display:block;margin-bottom:13px}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.split>img{height:470px;width:100%;object-fit:cover;border-radius:var(--radius)}.split p{margin-top:24px;opacity:.8}.detail-list{margin:26px 0 0;padding:0;list-style:none}.detail-list li{padding:14px 0;border-bottom:1px solid var(--line);font-size:.88rem;display:flex;gap:15px}.detail-list li:before{content:'â†—';color:var(--primary)}.timeline-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.timeline-step{border-top:1px solid var(--line);padding-top:24px}.timeline-step span{font-family:var(--display);font-size:2.8rem;opacity:.35;line-height:1}.timeline-step h3{margin-top:25px}.timeline-step p{font-size:.82rem;margin-top:12px;opacity:.78}.trade-band{padding:80px 0;background:var(--primary);color:#fff;position:relative;overflow:hidden}.trade-band:before{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent,transparent 79px,#ffffff10 80px)}.trade-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;position:relative}.trade-grid p{margin-top:25px;opacity:.87}.material-rows{display:flex;flex-direction:column;justify-content:center}.material-row{display:flex;justify-content:space-between;align-items:center;padding:22px 0;border-bottom:1px solid #ffffff40;font-size:1.1rem}.material-row span{font-size:.7rem;opacity:.55}.day-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.day-card{border:1px solid var(--line);padding:30px;background:var(--paper)}.day-card .eyebrow{opacity:.55}.day-card p{font-size:.9rem;opacity:.85}.gallery-wrap{display:grid;grid-template-columns:1fr 170px;gap:18px}.gallery-stage{position:relative;height:580px;background:var(--wash);overflow:hidden}.gallery-stage img{height:100%;width:100%;object-fit:cover}.gallery-main-btn{position:absolute;inset:0;background:transparent;border:0}.gallery-main-btn:after{content:'Enlarge â†—';position:absolute;bottom:25px;left:25px;padding:12px 18px;background:var(--paper);font-size:.75rem}.gallery-counter{position:absolute;right:25px;bottom:25px;background:var(--paper);padding:12px 18px;font-size:.75rem}.gallery-rail{display:grid;grid-auto-rows:1fr;gap:14px}.gallery-thumb{padding:0;border:2px solid transparent;background:transparent;overflow:hidden}.gallery-thumb img{width:100%;height:100%;object-fit:cover}.gallery-thumb[aria-current=true]{border-color:var(--primary)}.gallery-controls{display:flex;justify-content:space-between;margin-top:14px}.icon-btn{border:1px solid var(--line);background:var(--paper);padding:10px 18px;font-size:.75rem}.gallery-caption{font-size:.7rem;opacity:.65;margin-top:18px}.viewer{display:none;position:fixed;inset:0;background:#101816f5;z-index:80;color:#fff;align-items:center;justify-content:center}.viewer.open{display:flex}.viewer-img{max-width:85vw;max-height:80vh;object-fit:contain}.viewer-close{position:absolute;right:20px;top:20px;background:transparent;border:1px solid #fff8;color:white;padding:12px}.viewer-count{position:absolute;bottom:25px}.viewer-nav{position:absolute;left:20px;right:20px;display:flex;justify-content:space-between;pointer-events:none}.viewer-nav button{pointer-events:all}.viewer-thumbs{display:none}
.grid.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.review-card{border:1px solid var(--line);padding:28px;background:#fff;color:#263039}.review-author{display:flex;gap:12px;align-items:center;font-size:.83rem}.review-avatar{width:34px;height:34px;display:grid;place-items:center;background:#4285f4;color:#fff;border-radius:50%}.review-rating{display:flex;align-items:center;gap:12px;margin:14px 0;font-size:.7rem;color:#667}.stars{color:#fbbc04;font-size:1.05rem}.stars b{color:#ddd}.review-card p{font-size:.85rem;line-height:1.6}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq-item{border-bottom:1px solid var(--line)}.faq-q{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;border:0;background:transparent;padding:24px 0;text-align:left;font-weight:600;font-size:.92rem}.faq-q:after{content:'+';font-size:1.3rem;font-weight:400}.faq-item.open .faq-q:after{content:'âˆ’'}.faq-a{font-size:.85rem;padding:0 45px 24px 0;opacity:.8}.js .faq-item:not(.open) .faq-a{display:none}.map-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.map-card{position:relative;height:330px;background:var(--wash);border:1px solid var(--line);overflow:hidden;display:grid;place-items:center}.map-card:before{content:'';position:absolute;inset:-40px;background:repeating-linear-gradient(35deg,transparent,transparent 80px,#ffffff80 81px,#ffffff80 88px,transparent 89px),repeating-linear-gradient(120deg,transparent,transparent 100px,#ffffff90 101px,#ffffff90 106px,transparent 107px)}.map-pin{position:relative;background:var(--paper);border:1px solid var(--line);padding:24px;text-align:center;font-size:.9rem}.map-pin:before{content:'';display:block;width:18px;height:18px;background:var(--primary);border:4px solid white;border-radius:50%;margin:0 auto 12px;box-shadow:0 0 0 20px #ffffff50}.map-card small{position:absolute;bottom:15px;right:15px;font-size:.65rem}.location-card{padding:20px 0;border-top:1px solid var(--line);margin-top:25px;font-size:.85rem}.location-card strong{display:block}.booking-section{padding:80px 0}.booking-box{border:1px solid var(--line);background:white;padding:50px}.booking-box>p{font-size:.9rem;opacity:.75;margin-top:18px}.template-booking-mock{margin-top:32px;display:grid;grid-template-columns:1fr 1.8fr;gap:35px;background:var(--paper);padding:28px;pointer-events:none}.template-booking-sidebar strong{font-size:.82rem}.template-booking-choice{padding:12px;border:1px solid var(--line);margin-top:12px;font-size:.72rem}.template-booking-choice.active{background:var(--wash)}.template-booking-top{display:flex;justify-content:space-between;font-size:.82rem;gap:20px}.template-booking-top span{font-size:.65rem;opacity:.65}.template-booking-days,.template-booking-times{display:flex;gap:12px;margin-top:18px}.template-booking-days button,.template-booking-times button{flex:1;padding:14px 6px;border:1px solid var(--line);background:#fff;font-size:.75rem}.template-booking-days button span{display:block;font-size:.65rem}.template-booking-times button.active{background:var(--primary);color:white}.template-booking-intake{display:flex;gap:10px;margin-top:18px}.template-booking-input{border:1px solid var(--line);padding:12px;font-size:.65rem;flex:1;background:#fff}.template-booking-submit{border:0;background:var(--primary);color:#fff;font-size:.68rem;padding:12px}.cta{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}.cta p{opacity:.75;margin-top:25px}.cta-media img{height:350px;width:100%;object-fit:cover;border-radius:var(--radius)}.site-footer{padding:65px 0 30px;background:var(--paper);border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:70px}.footer-grid p{font-size:.79rem;margin-top:20px;opacity:.7}.footer-grid h3{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:20px}.footer-grid ul{padding:0;list-style:none;margin:0}.footer-grid li{font-size:.76rem;margin-top:10px}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:24px;margin-top:40px;font-size:.67rem;opacity:.65}.mobile-cta{display:none}.template-chat-mock{position:fixed;right:28px;bottom:25px;z-index:40;width:340px;background:#fff;border:1px solid var(--line);box-shadow:0 20px 80px #0002;border-radius:12px;overflow:hidden}.template-chat-mock.is-collapsed{display:none}.template-chat-header{display:flex;justify-content:space-between;gap:15px;padding:20px;background:var(--ink);color:white;font-size:.8rem}.template-chat-header button{border:0;background:transparent;color:white;font-size:1.3rem}.template-chat-body{padding:25px;font-size:.82rem}.template-chat-bubble{background:var(--wash);padding:18px;border-radius:8px}.template-chat-footer{padding:15px 25px;background:var(--paper);font-size:.67rem}.template-chat-launcher{position:fixed;right:28px;bottom:25px;z-index:35;background:var(--ink);color:#fff;padding:16px 22px;border:0;border-radius:40px;font-size:.8rem;box-shadow:0 8px 35px #0002}.template-chat-launcher.is-hidden{display:none}.tcl-icon{margin-right:10px}.page-hero{padding:70px 0 60px;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(3.3rem,5.4vw,5.5rem);max-width:18ch}.page-hero p{margin-top:25px;font-size:1.03rem;opacity:.78;max-width:60ch}.breadcrumb{font-size:.72rem;margin-bottom:35px;opacity:.65}.related{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.related a{border:1px solid var(--line);padding:10px 14px;font-size:.73rem}.scope-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:30px}.scope-card{padding:28px;border:1px solid var(--line)}.scope-card p{margin-top:12px;font-size:.85rem;opacity:.8}
body[data-niche=pressure-washing] .trade-band:before{background:radial-gradient(circle at 85% 40%,#ffffff15,transparent 45%)}body[data-niche=fencing] .trade-band:before{background:repeating-linear-gradient(0deg,transparent,transparent 39px,#ffffff18 40px,#ffffff18 41px)}body[data-niche=flooring-tile] .trade-band:before{background:repeating-linear-gradient(45deg,transparent,transparent 69px,#ffffff15 70px),repeating-linear-gradient(-45deg,transparent,transparent 69px,#ffffff10 70px)}body[data-niche=masonry] .trade-band:before{background-size:100px 50px;background-image:linear-gradient(#ffffff20 1px,transparent 1px),linear-gradient(90deg,#ffffff20 1px,transparent 1px)}body[data-niche=concrete] .trade-band:before{background-image:linear-gradient(90deg,#ffffff15 1px,transparent 1px),linear-gradient(#ffffff15 1px,transparent 1px);background-size:180px 180px}body[data-niche=excavation] .trade-band:before{background:repeating-radial-gradient(ellipse at 110% 60%,transparent,transparent 35px,#ffffff15 36px,transparent 37px)}body[data-niche=glass-window-door] .trade-band:before{background:linear-gradient(120deg,transparent 55%,#ffffff18 55%,#ffffff18 60%,transparent 60%)}body[data-niche=screen-enclosures] .trade-band:before{background:linear-gradient(#ffffff12 1px,transparent 1px),linear-gradient(90deg,#ffffff12 1px,transparent 1px);background-size:15px 15px}body[data-niche=epoxy-flooring] .trade-band:before{background:radial-gradient(#ffffff25 1px,transparent 2px);background-size:25px 23px}body[data-niche=gutters] .trade-band:before{background:repeating-linear-gradient(120deg,transparent,transparent 39px,#ffffff18 40px,transparent 42px)}body[data-niche=siding] .trade-band:before{background:repeating-linear-gradient(0deg,transparent,transparent 55px,#ffffff25 56px,#ffffff25 58px)}body[data-niche=insulation] .trade-band:before{background:repeating-radial-gradient(ellipse at 90% 100%,transparent,transparent 22px,#ffffff15 23px,transparent 25px)}body[data-niche=drywall] .trade-band:before{background:linear-gradient(100deg,transparent 70%,#ffffff15 70%,#ffffff15 71%,transparent 71%)}body[data-niche=deck-patio] .trade-band:before{background:repeating-linear-gradient(90deg,transparent,transparent 99px,#ffffff18 100px,#ffffff18 103px)}
@media(min-width:1600px){.container{width:min(1360px,calc(100% - 120px))}}@media(max-width:1100px){.container{width:calc(100% - 56px)}.nav{gap:17px}.header-actions{display:none}.hero-layout,.layout-workshop .hero-layout{gap:35px}.hero-img,.layout-portrait .hero-img{height:510px}.layout-technical .hero-copy{padding:30px}.section{padding:70px 0}.split,.trade-grid,.faq-layout{gap:45px}.grid.services-grid,.service-grid{grid-template-columns:repeat(2,1fr)}.timeline-grid{gap:20px}.footer-grid{gap:35px}}
@media(max-width:720px){.container{width:calc(100% - 40px)}body{font-size:15px}.section{padding:48px 0}.section-head{display:block;margin-bottom:26px}.section-head>p{margin-top:18px;max-width:100%;font-size:.88rem}h1{font-size:3.2rem}h2{font-size:2.2rem}.eyebrow{font-size:.63rem;letter-spacing:.14em;margin-bottom:14px}.header-kicker{display:none}.nav-wrap{min-height:82px;justify-content:space-between;gap:15px}.brand{font-size:.81rem;max-width:245px;gap:10px}.brand-logo{width:38px;height:38px}.brand small{font-size:.58rem}.menu-toggle{display:block;border:1px solid var(--line);background:transparent;padding:8px 12px;font-size:.7rem}.js .nav{display:none;position:absolute;top:81px;left:0;right:0;background:var(--paper);padding:22px;box-shadow:0 12px 24px #0001;flex-direction:column;align-items:stretch;gap:8px}.js .nav.open{display:flex}.no-js .nav{display:flex;flex-wrap:wrap;font-size:.64rem;margin:0;gap:10px}.no-js .nav-wrap{flex-wrap:wrap;padding:16px 0}.no-js .menu-toggle{display:none}.hero,.layout-airy .hero{padding:28px 0 40px}.hero-layout,.layout-gallery .hero-layout,.layout-workshop .hero-layout,.layout-technical .hero-layout{display:flex;flex-direction:column;gap:25px;align-items:stretch;border:0}.hero-copy,.layout-technical .hero-copy{padding:12px 0}.hero-copy h1,.layout-gallery .hero-copy h1,.layout-workshop .hero-copy h1,.layout-airy .hero-copy h1{font-size:3.2rem;max-width:12ch}.hero-copy p{font-size:.94rem;margin-top:20px}.hero-actions{gap:10px;margin-top:24px}.btn,.btn-secondary,.btn-light{font-size:.75rem;padding:12px 16px;min-height:48px}.hero-note{font-size:.66rem;margin-top:22px;gap:10px}.hero-img,.layout-gallery .hero-img,.layout-workshop .hero-img,.layout-technical .hero-img,.layout-airy .hero-img{height:315px}.hero-media,.layout-workshop .hero-media{transform:none}.layout-portrait .hero-media{padding:0 15px}.layout-portrait .hero-img{height:370px}.layout-gallery .hero-media{border-width:7px}.photo-label{left:16px;bottom:16px;padding:10px 12px;font-size:.63rem;max-width:195px}.layout-panorama .hero{padding:0 0 25px}.layout-panorama .hero-layout{padding:28px 0 0;min-height:0;display:flex}.layout-panorama .hero-media{position:relative;inset:auto;order:2;left:auto}.layout-panorama .hero-copy{max-width:none;padding:12px 0;order:1}.layout-panorama .hero-img{height:330px}.layout-panorama .hero-media:after{display:none}.layout-panorama .photo-label{right:16px;left:auto}.process-strip{padding:28px 0}.process-grid{grid-template-columns:1fr;gap:18px}.process-grid h2{font-size:1.1rem}.process-step{padding-left:15px;font-size:.75rem}.process-step span{display:inline-block;margin:0 10px 0 0}.process-step strong{display:inline}.process-step p{margin-top:6px}.trigger-grid{grid-template-columns:repeat(2,1fr)}.trigger-card{padding:17px;min-height:140px;font-size:.84rem}.trigger-card small{font-size:.61rem}.grid.services-grid,.service-grid{grid-template-columns:1fr;gap:18px}.media img{height:220px}.service-card .body{padding:22px}.service-card h3{font-size:1.12rem}.service-card p{font-size:.83rem}.split,.trade-grid,.faq-layout,.map-layout,.cta{grid-template-columns:1fr;gap:30px}.split>img{height:310px}.split p{margin-top:20px;font-size:.89rem}.timeline-grid{grid-template-columns:1fr 1fr;gap:28px 20px}.timeline-step{padding-top:18px}.timeline-step span{font-size:2rem}.timeline-step h3{font-size:1rem;margin-top:18px}.timeline-step p{font-size:.75rem}.trade-band{padding:58px 0}.trade-grid p{font-size:.87rem}.material-row{padding:17px 0;font-size:.97rem}.day-grid{grid-template-columns:1fr;gap:14px}.day-card{padding:24px}.day-card p{font-size:.85rem}.gallery-wrap{grid-template-columns:1fr;gap:14px}.gallery-stage{height:280px}.gallery-rail{grid-template-columns:repeat(auto-fit,minmax(85px,1fr));grid-auto-rows:90px;gap:10px}.gallery-main-btn:after,.gallery-counter{font-size:.64rem;bottom:15px;padding:9px 13px}.gallery-main-btn:after{left:15px}.gallery-counter{right:15px}.gallery-caption{font-size:.65rem}.grid.reviews{grid-template-columns:1fr;gap:15px}.review-card{padding:23px}.review-card p{font-size:.82rem}.faq-q{font-size:.84rem;padding:22px 0}.faq-a{font-size:.82rem;padding-right:12px}.map-card{height:270px}.booking-section{padding:55px 0}.booking-box{padding:26px 20px}.booking-box>p{font-size:.84rem}.template-booking-mock{grid-template-columns:1fr;padding:17px;gap:24px}.template-booking-sidebar{display:none}.template-booking-top{font-size:.72rem;gap:12px}.template-booking-top span{font-size:.59rem}.template-booking-days,.template-booking-times{gap:7px}.template-booking-days button,.template-booking-times button{font-size:.66rem;padding:12px 2px}.template-booking-intake{flex-wrap:wrap;gap:8px}.template-booking-input{font-size:.6rem;min-width:90px}.template-booking-submit{width:100%;padding:12px}.cta-media img{height:280px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 20px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid p{font-size:.78rem}.footer-grid h3{font-size:.66rem}.footer-grid li{font-size:.7rem}.footer-bottom{font-size:.61rem;flex-direction:column;gap:8px;margin-top:30px}.site-footer{padding:50px 0 95px}.mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;padding:10px 15px calc(10px + env(safe-area-inset-bottom));gap:10px;background:var(--paper);border-top:1px solid var(--line);z-index:30}.mobile-cta a{flex:1;padding:11px;font-size:.74rem;text-align:center;border:1px solid var(--primary);font-weight:600}.mobile-cta a:last-child{background:var(--primary);color:white}.template-chat-launcher{display:none}.template-chat-mock{right:15px;left:15px;bottom:80px;width:auto;max-height:70vh;overflow:auto}.page-hero{padding:42px 0}.page-hero h1{font-size:3rem}.page-hero p{font-size:.9rem}.breadcrumb{font-size:.66rem;margin-bottom:28px}.scope-grid{grid-template-columns:1fr}.scope-card{padding:24px}.related a{font-size:.67rem}.viewer-img{max-width:100vw;max-height:70vh}.viewer-nav{left:10px;right:10px}.viewer-nav .icon-btn{padding:10px;font-size:.65rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.hero-media,.hero-copy,.split>*,.trade-grid>*,.faq-layout>*,.cta>*{min-width:0}
@media(min-width:721px){body[data-niche=pressure-washing] .hero-copy h1{font-size:6.3rem}body[data-niche=fencing] .trigger-grid{grid-template-columns:repeat(2,1fr)}body[data-niche=flooring-tile] .hero-img{height:620px}body[data-niche=masonry] .hero-media{transform:rotate(-1deg);border-width:14px}body[data-niche=concrete] .hero-copy .eyebrow{border-left:3px solid var(--primary);padding-left:15px}body[data-niche=excavation] .hero-copy h1{font-size:5.3rem;max-width:11ch}body[data-niche=glass-window-door] .hero-layout{grid-template-columns:.85fr 1.3fr}body[data-niche=screen-enclosures] .hero-layout{grid-template-columns:1fr 1.1fr}body[data-niche=screen-enclosures] .hero-media{border-radius:30px 0 30px 0;overflow:hidden}body[data-niche=epoxy-flooring] .hero-layout{grid-template-columns:1fr 1.45fr;border:0;gap:40px}body[data-niche=epoxy-flooring] .hero-copy{padding:0}body[data-niche=epoxy-flooring] .hero-img{clip-path:polygon(7% 0,100% 0,100% 100%,0 100%,0 7%)}body[data-niche=gutters] .hero-media{order:-1}body[data-niche=gutters] .hero-layout{grid-template-columns:1.2fr 1fr}body[data-niche=siding] .hero-media{left:38%}body[data-niche=insulation] .hero-img{border-radius:100px 100px 0 0}body[data-niche=drywall] .hero-media{transform:none;border:0;border-left:1px solid var(--line);padding-left:25px}body[data-niche=deck-patio] .hero-img{border-radius:2px 42% 2px 2px}body[data-niche=deck-patio] .hero-media:before{border-radius:2px 42% 2px 2px}}
/* Hero: Rainline (2026-10-08) */
/* The house photo fills the hero; a cool slate scrim rises from the copy side and carries fine rain streaks, so white copy holds over the bright overcast sky. The hero's slate background-color is the scrim's darkest tone: the contrast check reads it, and it shows while the photo loads. */
.hero-rain{position:relative;isolation:isolate;padding:0;background-color:#1b2a38;color:#fff;min-height:min(700px,calc(100vh - 100px))}
.hero-rain .hero-layout,.layout-technical .hero-rain .hero-layout{display:flex;align-items:center;min-height:inherit;position:relative;z-index:1;border:0;gap:0}
.hero-rain .hero-copy,.layout-technical .hero-rain .hero-copy{max-width:580px;padding:84px 0 76px}
.hero-rain .eyebrow{color:#cddfee}
.hero-rain h1{text-shadow:0 2px 28px #0d161f66}
.hero-rain .hero-copy p{opacity:1;color:#e3ecf3}
.hero-rain .btn-secondary{color:#fff;border-color:#ffffff80}
.hero-rain .btn-secondary:hover{background:#ffffff17}
.hero-rain .hero-note{border-top-color:#ffffff3d;color:#d3e1ec}
.hero-rain .hero-note strong{color:#fff}
.hero-rain .hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-rain .hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 26%;border-radius:0}
.hero-rain .hero-bg:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#1b2a38f2 0%,#1b2a38e6 26%,#1b2a38a6 44%,#1b2a3833 60%,#1b2a3800 72%),linear-gradient(0deg,#1b2a384d,#1b2a3800 30%)}
/* Rain streaks fall over the scrim only, so the roofline and downspout stay crisp. */
.hero-rain:after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.2;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='260'%3E%3Cg stroke='%23fff' stroke-width='1.1' stroke-linecap='round'%3E%3Cpath d='M14 6l-7.6 38' stroke-opacity='0.94'/%3E%3Cpath d='M44 16l-3.0 15' stroke-opacity='0.63'/%3E%3Cpath d='M97 28l-6.4 32' stroke-opacity='0.51'/%3E%3Cpath d='M156 18l-3.6 18' stroke-opacity='0.47'/%3E%3Cpath d='M170 44l-4.2 21' stroke-opacity='0.76'/%3E%3Cpath d='M38 91l-8.6 43' stroke-opacity='0.93'/%3E%3Cpath d='M76 80l-4.6 23' stroke-opacity='0.53'/%3E%3Cpath d='M119 86l-9.0 45' stroke-opacity='0.82'/%3E%3Cpath d='M140 60l-8.2 41' stroke-opacity='0.33'/%3E%3Cpath d='M174 95l-9.8 49' stroke-opacity='0.87'/%3E%3Cpath d='M3 124l-4.8 24' stroke-opacity='0.74'/%3E%3Cpath d='M203 124l-4.8 24' stroke-opacity='0.74'/%3E%3Cpath d='M42 153l-5.4 27' stroke-opacity='0.41'/%3E%3Cpath d='M104 139l-7.2 36' stroke-opacity='0.43'/%3E%3Cpath d='M153 131l-4.0 20' stroke-opacity='0.63'/%3E%3Cpath d='M200 117l-3.8 19' stroke-opacity='0.99'/%3E%3Cpath d='M34 207l-4.2 21' stroke-opacity='0.62'/%3E%3Cpath d='M45 187l-9.4 47' stroke-opacity='0.41'/%3E%3Cpath d='M88 167l-9.4 47' stroke-opacity='0.64'/%3E%3Cpath d='M153 160l-4.0 20' stroke-opacity='0.45'/%3E%3Cpath d='M176 162l-5.2 26' stroke-opacity='0.58'/%3E%3Cpath d='M19 226l-7.2 36' stroke-opacity='0.30'/%3E%3Cpath d='M19 -34l-7.2 36' stroke-opacity='0.30'/%3E%3Cpath d='M44 242l-8.4 42' stroke-opacity='0.92'/%3E%3Cpath d='M44 -18l-8.4 42' stroke-opacity='0.92'/%3E%3Cpath d='M99 221l-5.4 27' stroke-opacity='0.77'/%3E%3Cpath d='M144 255l-8.0 40' stroke-opacity='0.85'/%3E%3Cpath d='M144 -5l-8.0 40' stroke-opacity='0.85'/%3E%3Cpath d='M169 229l-4.6 23' stroke-opacity='0.88'/%3E%3C/g%3E%3C/svg%3E") 0 0/200px 260px;-webkit-mask-image:linear-gradient(90deg,#000 24%,transparent 62%);mask-image:linear-gradient(90deg,#000 24%,transparent 62%)}
/* Bottom-left of the photo side, clear of the copy, the downspout and the floating chat launcher. */
.hero-rain .photo-label{z-index:2;left:calc(50% - 40px);bottom:32px;background:#f2f6faed;color:var(--ink)}
@media(max-width:1100px){.hero-rain .photo-label{left:auto;right:28px}.hero-rain .hero-img{object-position:58% 26%}.hero-rain .hero-bg:before{background:linear-gradient(90deg,#1b2a38f2 0%,#1b2a38e6 34%,#1b2a38a6 54%,#1b2a3833 70%,#1b2a3800 82%),linear-gradient(0deg,#1b2a384d,#1b2a3800 30%)}}
@media(max-width:720px){
.hero-rain{display:flex;flex-direction:column;min-height:0}
.hero-rain .hero-layout{display:block;min-height:0}
.hero-rain .hero-copy,.layout-technical .hero-rain .hero-copy{max-width:none;padding:32px 0 28px}
.hero-rain .hero-copy p{font-size:1rem}
.hero-rain .hero-bg{position:relative;inset:auto;height:270px}
.hero-rain .hero-img{object-position:64% 30%}
.hero-rain .hero-bg:before{background:linear-gradient(180deg,#1b2a38 0,#1b2a3800 34%)}
.hero-rain:after{opacity:.15;-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 82%);mask-image:linear-gradient(180deg,#000 55%,transparent 82%)}
.hero-rain .photo-label{right:auto;left:16px;bottom:16px}
}
