@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#393130;--teal:#6dcdb8;--red:#be3a34;--cream:#f7f5ee;--muted:#6c6763}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.04}h1,h2{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-weight:700;letter-spacing:-.025em}h1{font-size:clamp(52px,6.5vw,94px);margin-bottom:24px}h2{font-size:clamp(38px,4.4vw,60px);margin-bottom:24px}h3{font-size:23px;line-height:1.25}p{color:var(--muted)}.topbar{background:var(--ink);color:white;padding:9px 5%;font-size:10px;font-weight:600;letter-spacing:1.5px;display:flex;justify-content:space-between}.topbar span{color:var(--teal);margin:0 10px}.topbar a{font-size:12px;letter-spacing:0}header{height:112px;display:flex;align-items:center;gap:28px;padding:8px 5%;background:white;position:relative;z-index:10;border-bottom:1px solid #eee}.brand{align-self:flex-start;width:134px;flex-shrink:0;position:relative}.brand img{width:134px;height:131px;object-fit:contain;background:white;padding:3px;border-radius:0 0 12px 12px}nav{display:flex;gap:23px;align-items:center;margin-left:auto;font-size:13px;font-weight:700}nav a:hover{color:var(--red)}.navgroup{position:relative;padding:25px 0}.navgroup span{font-size:12px;margin-left:4px}.dropdown{display:none;position:absolute;top:65px;left:-20px;width:260px;background:white;padding:15px;box-shadow:0 12px 30px #0002;border-top:3px solid var(--red);max-height:75vh;overflow:auto}.dropdown a{display:block;padding:8px 10px;font-size:12px}.navgroup:hover .dropdown,.navgroup:focus-within .dropdown{display:block}.header-call{background:var(--red);color:white;font-size:13px;font-weight:700;padding:14px 19px;white-space:nowrap}.header-call span{margin-left:16px}.menu-toggle{display:none}.hero{min-height:615px;position:relative;background:var(--ink) url('/assets/home.jpg') center 56%/cover;color:white;padding:65px 7% 52px;isolation:isolate}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,34,31,.9),rgba(24,31,29,.7) 43%,rgba(20,30,29,.07));z-index:-1}.eyebrow{font-size:11px;letter-spacing:2.3px;font-weight:700;color:#55514b;margin-bottom:17px}.eyebrow.light{color:#b5e4d8}.hero h1{max-width:670px;line-height:.99}.hero em{color:#9ad9cc;font-style:normal}.hero p{color:#eee;line-height:1.65;font-size:16px;margin-bottom:28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 24px;background:var(--red);color:#fff;font-weight:700;font-size:13px;border:1px solid var(--red);transition:background .2s}.button:hover{background:#9c2e29}.button span{font-size:19px;line-height:1}.hero-phone{margin-left:25px;font-size:14px;font-weight:700}.hero-note{font-size:9px;letter-spacing:2px;margin-top:28px;color:#ddd}.hero-label{position:absolute;right:5%;bottom:36px;border-left:2px solid var(--teal);padding:4px 18px;text-shadow:0 2px 6px #000}.hero-label span{font-size:8px;letter-spacing:2px;display:block}.hero-label b{font-size:15px}.trustbar{background:var(--teal);display:flex;justify-content:space-around;padding:21px 5%;font-size:12px;font-weight:700}.section{padding:80px 7%;max-width:1600px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:35px;gap:35px}.section-heading h2{margin-bottom:0}.section-heading p{font-size:14px}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.category{padding:27px 30px;background:var(--cream);border:1px solid #e9e5dc;transition:transform .2s}.category:hover{transform:translateY(-5px)}.category-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.7px;font-weight:700}.category-top span{font-size:22px}.symbol{font-family:Georgia,serif;font-size:65px;color:var(--red);height:115px;display:flex;align-items:center}.category h3{font-family:'Barlow Condensed',Impact,sans-serif;font-size:34px;margin-bottom:13px}.category p{font-size:14px;min-height:48px}.text-link{font-size:12px;font-weight:700;display:block;margin-top:25px}.cat1{background:var(--ink);color:white;border-color:var(--ink)}.cat1 p{color:#e1dbd7}.cat1 .symbol{color:var(--teal)}.cat2{background:#e8f3ef}.about-split{display:grid;grid-template-columns:1fr 1fr;background:var(--cream)}.brand-panel{background:#e3efea;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:40px;min-height:480px}.brand-panel img{width:75%;max-width:340px;mix-blend-mode:multiply}.brand-panel>div{font-size:9px;letter-spacing:2px;margin-top:15px}.about-copy{padding:65px 12% 65px 10%}.about-copy p{font-size:14px}.about-copy .button{margin-top:10px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:40px}.steps article{border-top:1px solid #ddd5cb;padding-top:22px}.steps b{font-family:'Barlow Condensed',Impact,sans-serif;font-size:36px;color:var(--red)}.steps h3{font-size:19px;margin:15px 0}.steps p{font-size:14px}.area-section{background:var(--ink);color:white;padding:70px 7%;display:grid;grid-template-columns:1fr 1fr;gap:80px}.area-section .eyebrow{color:var(--teal)}.area-section p{color:#ddd7d2;font-size:14px}.county-list{display:flex;flex-direction:column;justify-content:center}.county-list a{padding:27px 0;border-bottom:1px solid #ffffff35;font-family:'Barlow Condensed',Impact,sans-serif;font-size:35px}.county-list span{font:12px 'DM Sans',Arial;color:var(--teal);margin-right:23px}.faq-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:75px}.faq-layout p{font-size:14px}.faq-layout a{border-bottom:1px solid var(--red)}details{border-bottom:1px solid #dcd8ce;padding:21px 0}summary{cursor:pointer;font-size:15px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:25px}summary span{color:var(--red);font-size:20px}details p{margin:15px 35px 0 0;font-size:14px}details[open] summary span{transform:rotate(45deg)}.closing{padding:44px 7%;background:var(--teal);display:flex;align-items:center;justify-content:space-between;gap:30px}.closing h2{font-size:48px;margin:0}.closing .eyebrow{margin-bottom:10px}footer{padding:55px 7% 20px;background:#f7f5ee}.footer-top{display:grid;grid-template-columns:1.6fr 1fr 1.2fr 1.3fr;gap:35px}.footer-top img{mix-blend-mode:multiply}.footer-top a{display:block;font-size:12px;padding:4px 0}.footer-top h3{font-size:13px;margin:15px 0}.footer-top p{font-size:12px}.footer-bottom{border-top:1px solid #d9d4c9;margin-top:35px;padding-top:20px;font-size:10px;color:#777;display:flex;justify-content:space-between}.pagehero{padding:70px 7%;background:#e8f2ed}.pagehero h1{max-width:1000px;font-size:72px}.pagehero p{max-width:720px;font-size:19px}.pagehero .outline{margin-left:10px;background:transparent;color:var(--ink);border-color:#8a9f95}.service-links{display:grid;grid-template-columns:1fr 1fr;gap:0 45px;margin-top:32px}.service-links a{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #ddd7cc;padding:24px 0;font-size:18px;font-weight:600}.service-links a:hover{color:var(--red)}.detail-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:80px;align-items:start}.detail-layout h2{font-size:48px}.detail-layout h3{margin-top:35px}.detail-layout p,.checks{font-size:15px}.checks{list-style:none;padding:0}.checks li{padding:8px 0 8px 27px;position:relative}.checks li:before{content:'✓';color:var(--red);position:absolute;left:0;font-weight:700}aside{padding:35px;background:var(--cream);border-top:4px solid var(--red)}aside h3{margin-top:0!important;font-size:28px}aside .button{gap:15px;padding:14px 18px;margin-bottom:20px}aside a:not(.button){font-size:13px;text-decoration:underline}.pale{background:var(--cream);max-width:none}.pale .faqs{max-width:900px}.area-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:35px}.area-cards article{background:var(--cream);padding:30px;scroll-margin-top:20px}.area-cards ul{list-style:none;padding:0;color:var(--muted)}.contact-layout{display:grid;grid-template-columns:1fr 1.35fr;gap:75px}.contact-layout h3{font-size:18px;margin-top:30px}.big-phone{font-size:27px;font-weight:700}.contact-layout form{background:var(--cream);padding:35px}.contact-layout form h2{font-size:38px}.contact-layout form p{font-size:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:12px;font-weight:600;margin:15px 0}input,select,textarea{display:block;width:100%;border:1px solid #cbc6bd;background:white;padding:12px;margin-top:7px;border-radius:0;color:var(--ink)}textarea{resize:vertical}.skip{position:absolute;left:0;top:-80px;background:white;padding:15px;z-index:100}.skip:focus{top:0}
@media(min-width:1500px){.hero{padding-left:10%;min-height:700px}header{padding-left:8%;padding-right:8%}}@media(max-width:1100px){nav{gap:14px;font-size:11px}header{gap:18px;padding:8px 4%}.header-call{font-size:11px;padding:12px}.brand,.brand img{width:110px}.brand img{height:115px}.detail-layout{gap:40px}}@media(max-width:850px){.topbar{font-size:8px;text-align:center;justify-content:center}.topbar a{display:none}header{height:90px;padding:5px 6%;justify-content:space-between}.brand,.brand img{width:100px}.brand img{height:100px}.menu-toggle{display:block;background:none;border:0;font-size:25px;order:3}.header-call{margin-left:auto}nav{display:none;position:absolute;left:0;right:0;top:90px;background:white;padding:20px 7%;box-shadow:0 15px 20px #0002;max-height:75vh;overflow:auto}nav.open{display:block}nav>a{display:block;padding:12px 0;font-size:15px}.navgroup{padding:12px 0;font-size:15px}.dropdown{display:block;position:static;box-shadow:none;border:0;width:auto;max-height:none;padding:5px 10px}.dropdown a{padding:5px 10px;font-size:12px}.hero{min-height:590px;padding:65px 7% 45px;background-position:60% center}.hero h1{font-size:70px}.hero-label{display:none}.trustbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;text-align:center;font-size:10px}.section{padding:55px 7%}.section-heading{display:block}.section-heading p{margin-top:20px}.category-grid{gap:12px}.category{padding:20px}.category h3{font-size:28px}.about-copy{padding:45px 10%}.brand-panel{padding:20px;min-height:380px}.steps{gap:20px}.area-section{gap:30px}.faq-layout{gap:35px}.footer-top{grid-template-columns:1fr 1fr}.detail-layout,.contact-layout{grid-template-columns:1fr;gap:35px}.pagehero h1{font-size:58px}.area-cards{gap:10px}.area-cards article{padding:20px}}
@media(max-width:580px){.hero h1{font-size:61px}.hero{min-height:590px}.hero-shade{background:linear-gradient(90deg,#19221fe8,#19221f80)}.hero-phone{display:block;margin:20px 0 0}.hero p{font-size:14px}.hero-note{margin-top:22px}.category-grid,.about-split,.steps,.area-section,.faq-layout,.area-cards{grid-template-columns:1fr}.category .symbol{height:75px}.category p{min-height:0}.category{padding:25px}.category h3{font-size:34px}.brand-panel{min-height:310px}.brand-panel img{width:240px}.steps{gap:25px}.area-section{padding:55px 7%;gap:20px}.county-list a{font-size:32px;padding:20px 0}.closing{display:block}.closing h2{font-size:43px}.closing .button{margin-top:25px}.footer-top{gap:20px}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:7px}.pagehero{padding:55px 7%}.pagehero h1{font-size:52px}.pagehero p{font-size:16px}.pagehero .button{display:flex;margin:12px 0 0;width:fit-content}.service-links{grid-template-columns:1fr}.service-links a{font-size:16px}.detail-layout h2{font-size:40px}.contact-layout form{padding:24px}.form-row{grid-template-columns:1fr;gap:0}.contact-layout h2{font-size:41px}.hero .eyebrow{font-size:9px}}
/* Plumbing service overview */
.plumbing-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px 55px;margin-top:40px}.plumbing-service-grid article{border-top:1px solid #dcd6cb;padding-top:25px}.plumbing-service-grid h3{font-family:'Barlow Condensed',Impact,sans-serif;font-size:32px;margin-bottom:15px}.plumbing-service-grid h3 a:hover{color:var(--red)}.plumbing-service-grid p{font-size:15px}.plumbing-towns{align-self:center}.plumbing-towns h3{font-size:23px;margin:20px 0 10px}.plumbing-towns p{margin-bottom:25px}@media(max-width:580px){.plumbing-service-grid{grid-template-columns:1fr;gap:25px}}
/* Drain-cleaning page */
.detail-layout .drain-aside-heading{font-family:'Barlow Condensed',Impact,sans-serif;font-size:32px;line-height:1.15}.drain-faq h3{font-family:'DM Sans',Arial,sans-serif;font-size:20px;line-height:1.4}main .plumbing-service-grid p a,main .area-section p a{ text-decoration:underline;text-underline-offset:3px }
/* Local service detail pages */
.detail-layout .service-aside-heading{font-family:'Barlow Condensed',Impact,sans-serif;font-size:32px;line-height:1.15}.service-faq h3{font-family:'DM Sans',Arial,sans-serif;font-size:20px;line-height:1.4}.pagehero>.button+.button{margin-left:10px}@media(max-width:580px){.pagehero>.button+.button{margin-left:0}}
/* Service photography: branding stays in the header and footer. */
.pagehero.photo-hero{padding:54px 7%;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:48px}.photo-hero h1{font-size:clamp(44px,4.7vw,67px);line-height:1.02}.photo-hero p{font-size:16px}.photo-hero .eyebrow{font-size:9px;letter-spacing:1.6px}.photo-hero .button{font-size:12px;padding:14px 17px;gap:16px;margin-top:10px}.photo-hero .button+.button{margin-left:6px}.service-hero-photo{margin:0;min-width:0;border-radius:3px;overflow:hidden;border-bottom:6px solid var(--teal);box-shadow:0 16px 36px #39313016}.service-hero-photo img{display:block;width:100%;height:420px;object-fit:cover}.about-photo{min-height:460px;overflow:hidden}.about-photo img{display:block;width:100%;height:100%;object-fit:cover;max-height:620px}.category-photo{height:190px;margin:22px -30px 24px;overflow:hidden}.category-photo img{height:100%;width:100%;object-fit:cover;display:block}@media(max-width:1000px){.pagehero.photo-hero{gap:28px;padding:45px 6%}.photo-hero h1{font-size:48px}.photo-hero .button+.button{margin-left:0}.service-hero-photo img{height:380px}.category-photo{margin-left:-20px;margin-right:-20px}}@media(max-width:700px){.pagehero.photo-hero{grid-template-columns:1fr;padding:45px 7%;gap:28px}.photo-hero h1{font-size:49px}.service-hero-photo img{height:290px;object-position:center}.photo-hero .button+.button{margin-left:8px}.photo-hero .button{display:inline-flex}.about-photo{min-height:300px}.about-photo img{height:330px}.category-photo{margin-left:-25px;margin-right:-25px}}@media(max-width:390px){.photo-hero .button+.button{margin-left:0}}
/* Housecall Pro booking links */
.header-call.hcp-booking{min-width:135px;display:inline-flex;align-items:center;justify-content:space-between;gap:18px}.footer-top a.footer-book{display:inline-flex;align-items:center;gap:18px;background:var(--red);color:white;padding:10px 17px;margin:0 0 12px;font-weight:700}.booking-text{font-weight:700}.hcp-booking:focus-visible{outline:3px solid var(--ink)}@media(max-width:580px){.header-call.hcp-booking{min-width:115px;font-size:12px}}
/* Straight Up brand refresh: welcoming navigation and bold local-service styling. */
:root{--cream:#fff8ef}html{scroll-padding-top:120px}.site-header{height:112px;padding:8px 3.5%;gap:25px;position:sticky;top:0;background:var(--cream);border-bottom:3px solid var(--teal);box-shadow:0 2px 14px #3931300b}.site-header .brand{align-self:center;width:100px}.site-header .brand img{width:100px;height:96px;padding:0;background:transparent;border-radius:0;mix-blend-mode:multiply}.site-header nav{gap:25px;font-size:14px;letter-spacing:.7px;text-transform:uppercase;white-space:nowrap;margin:auto}.site-header nav>a{padding:20px 0}.site-header nav a[aria-current=page]{color:var(--red)}.header-actions{display:flex;align-items:center;gap:12px}.site-header .header-call{border-radius:40px;padding:15px 22px;font-size:15px;text-transform:uppercase;gap:10px;justify-content:center;border:2px solid #d9655f;box-shadow:0 4px 0 #3931301c}.site-header .header-call:hover{background:#a32c27}.site-header svg,.hero-actions svg{width:23px;height:23px;flex-shrink:0}.header-phone{display:flex;align-items:center;gap:10px;border:2px solid #d9c9b4;padding:12px 17px;border-radius:18px;font-size:16px;font-weight:700;white-space:nowrap}.nav-menu{border:0;padding:0;position:static}.nav-menu summary{font:inherit;font-weight:700;gap:8px;padding:24px 0;list-style:none}.nav-menu summary::-webkit-details-marker{display:none}.nav-menu summary span{font-size:18px;color:var(--ink)}.nav-menu[open] summary span{transform:rotate(180deg)}.mega-menu{position:absolute;top:100%;right:3.5%;left:3.5%;display:grid;grid-template-columns:1.35fr 1fr 1fr;background:var(--cream);padding:30px 40px;gap:40px;border-top:3px solid var(--red);box-shadow:0 18px 28px #0002;text-transform:none;letter-spacing:0;white-space:normal;max-height:72vh;overflow:auto}.service-column a{display:block;padding:6px 0;font-size:14px;line-height:1.4}.service-column a:first-child{font-family:'Barlow Condensed',Impact,sans-serif;font-size:28px;text-transform:uppercase;border-bottom:2px solid var(--teal);padding-bottom:12px;margin-bottom:10px}.areas-menu{position:relative}.areas-dropdown{position:absolute;right:0;top:100%;width:240px;background:var(--cream);padding:15px 20px;border-top:3px solid var(--red);box-shadow:0 15px 24px #0002}.areas-dropdown a{display:block;padding:10px 0;font-size:13px}.hero{min-height:760px;padding:55px 9% 60px;background-position:center 60%}.hero-shade{background:linear-gradient(90deg,#241f1ef5 0%,#241f1ed9 35%,#241f1e55 75%,#241f1e25)}.hero-copy{max-width:830px}.hero h1{text-transform:uppercase;max-width:none;line-height:.95;font-size:clamp(52px,5.8vw,86px);letter-spacing:-.02em;margin-bottom:26px}.hero h1 span{display:block}.hero h1 strong{display:block;color:var(--teal);font-size:1.42em;font-weight:800;line-height:1.06}.hero-rule{height:4px;width:210px;background:var(--red);border-radius:5px;margin:25px 0}.hero .hero-intro{font-size:23px;font-weight:700;margin:28px 0 24px}.hero-checks{list-style:none;padding:0;margin:0 0 26px;color:#eee;font-size:18px;max-width:710px}.hero-checks li{position:relative;padding-left:42px;margin:15px 0;line-height:1.5}.hero-checks li:before{content:'✓';position:absolute;left:0;top:0;background:var(--teal);color:var(--ink);border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-weight:700}.hero-assurance{font-size:12px;letter-spacing:1.2px;font-weight:700}.hero-assurance span{color:var(--teal);margin:0 10px}.hero-actions{display:flex;align-items:stretch;gap:20px;margin-top:30px}.hero-call,.hero-actions .button{border-radius:55px;display:flex;align-items:center;justify-content:center;gap:15px;padding:15px 28px;min-height:83px;font-size:23px;font-weight:700;line-height:1.2}.hero-call{background:#436f63;color:white;border:2px solid #82a99d}.hero-actions small{display:block;font-size:12px;letter-spacing:1.4px;text-transform:uppercase;margin-bottom:4px}.hero-actions .button{border:2px solid #da746e;box-shadow:0 4px 0 #0002}.hero-actions .button>span{font-size:23px;line-height:1.2}.hero-actions .button small{font-size:12px;text-transform:none;letter-spacing:0;margin:5px 0 0;font-weight:500}.button,.footer-top a.footer-book{border-radius:35px}.category{border-radius:18px;overflow:hidden;box-shadow:0 6px 18px #39313008}.category h3,.section-heading h2,.about-copy h2,.process h2,.area-section h2,.closing h2{text-transform:uppercase}.trustbar{font-size:13px;padding:23px 5%}.service-hero-photo{border-radius:18px}.pagehero{background:#f6f3ec}.pagehero.photo-hero{background:var(--cream)}.photo-hero h1{text-transform:uppercase}.closing{border-top:4px solid #58b5a2}footer{background:var(--cream)}
@media(max-width:1280px){.site-header{gap:18px;padding:8px 3%}.site-header nav{gap:16px;font-size:12px}.header-phone{font-size:14px;padding:12px}.site-header .header-call{font-size:13px;padding:13px 17px}.site-header .brand,.site-header .brand img{width:90px}.hero{padding-left:7%}}
@media(max-width:1100px){.site-header{height:94px;justify-content:space-between}.site-header .brand img{height:82px}.site-header nav{display:none;position:absolute;top:91px;left:0;right:0;background:var(--cream);padding:20px 6%;max-height:calc(100dvh - 94px);overflow:auto}.site-header nav.open{display:block}.site-header nav>a{display:block;padding:13px 0;font-size:15px}.menu-toggle{display:block;order:3;background:transparent;border:0;font-size:28px}.header-actions{margin-left:auto}.nav-menu{position:static}.nav-menu summary{padding:14px 0;font-size:15px;justify-content:space-between}.mega-menu{position:static;display:grid;grid-template-columns:repeat(3,1fr);padding:15px 0;gap:20px;box-shadow:none;max-height:none;border-top:1px solid #d8cebf}.areas-dropdown{position:static;box-shadow:none;width:100%;border-top:1px solid #d8cebf}.hero{min-height:710px}.hero h1{font-size:65px}.hero .hero-intro{font-size:20px}}
@media(max-width:600px){html{scroll-padding-top:84px}.site-header{height:84px;gap:10px;padding:5px 4%}.site-header .brand,.site-header .brand img{width:70px;height:72px}.site-header nav{top:81px;max-height:calc(100dvh - 84px)}.header-actions{gap:7px}.site-header .header-call.hcp-booking{font-size:11px;min-width:0;padding:12px;gap:7px}.site-header svg{width:18px;height:18px}.header-phone{padding:11px;border-radius:50%}.header-phone span{display:none}.header-phone:after{content:''}.menu-toggle{padding:2px;font-size:26px}.mega-menu{grid-template-columns:1fr;gap:22px}.service-column a{padding:8px 0}.hero{min-height:0;padding:45px 6% 48px;background-position:65% center}.hero-shade{background:linear-gradient(90deg,#241f1ef2,#241f1eb3)}.hero h1{font-size:clamp(37px,8.8vw,53px)}.hero .hero-intro{font-size:18px;line-height:1.5}.hero-checks{font-size:15px}.hero-assurance{font-size:10px;line-height:1.8}.hero-assurance span{margin:0 5px}.hero-actions{gap:12px;flex-direction:column;align-items:flex-start}.hero-call,.hero-actions .button{min-height:72px;min-width:255px;font-size:22px;padding:14px 24px}.trustbar{font-size:10px}.pagehero.photo-hero{padding-top:36px}.photo-hero h1{font-size:44px}}
/* Branded driveway hero illustration generated from the supplied van wrap. */
.hero{background-image:url('/assets/straight-up-driveway.png');background-position:center center}.hero-shade{background:linear-gradient(90deg,#241f1ef2 0%,#241f1ed9 29%,#241f1e75 51%,#241f1e12 74%,transparent)}
@media(max-width:600px){.hero{background-position:61% center}.hero-shade{background:linear-gradient(90deg,#241f1ee8,#241f1e99)}}

/* Google review invitation; rating is displayed only when verified data is connected. */
.google-review-row{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:25px 0;color:white;font-size:20px;font-weight:700}.google-letter{font:bold 32px Arial,sans-serif;background:conic-gradient(#4285f4 0deg 105deg,#34a853 105deg 185deg,#fbbc05 185deg 235deg,#ea4335 235deg 300deg,#4285f4 300deg);background-clip:text;-webkit-background-clip:text;color:transparent}.google-review-row a{border-left:1px solid #ffffff70;padding-left:15px;font-size:15px;text-decoration:underline;text-underline-offset:5px}.google-review-row a:hover{color:var(--teal)}@media(max-width:600px){.google-review-row{font-size:18px;gap:10px}.google-review-row a{font-size:13px;padding-left:10px}}
.google-stars{font-size:25px;letter-spacing:3px;background:linear-gradient(90deg,#fbbc04 var(--rating-fill),#ffffff55 var(--rating-fill));background-clip:text;-webkit-background-clip:text;color:transparent;white-space:nowrap}.google-review-row .review-row-label{font-size:19px}@media(max-width:600px){.google-review-row .review-row-label{font-size:15px}.google-stars{font-size:20px}}
/* Uniform top-level menu alignment and spacing. */
@media(min-width:1101px){
 .site-header nav{gap:clamp(28px,2.4vw,46px);align-items:center}
 .site-header nav>a,.site-header .nav-menu>summary{display:flex;align-items:center;height:56px;margin:0;padding:0;line-height:1;font-size:inherit;font-weight:700;letter-spacing:inherit}
 .site-header .nav-menu{margin:0;padding:0;border:0;line-height:1}
 .site-header .nav-menu>summary{gap:10px}
 .site-header .nav-menu>summary span{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;font-size:0;margin:0;transform:none}
 .site-header .nav-menu>summary span:after{content:'';width:7px;height:7px;border-right:1.7px solid currentColor;border-bottom:1.7px solid currentColor;transform:translateY(-2px) rotate(45deg)}
 .site-header .nav-menu[open]>summary span:after{transform:translateY(2px) rotate(225deg)}
}
@media(min-width:1101px) and (max-width:1280px){.site-header nav{gap:24px}}
/* Homepage content expansion: retain the existing brand, header and section styles. */
.hero h1.home-seo-heading{font-size:clamp(36px,4.4vw,65px);line-height:1.04;max-width:850px}
.hero h1.home-seo-heading strong{font-size:1.12em;line-height:1.1}
.hero:has(.home-seo-heading) .hero-intro{font-size:19px;line-height:1.55;max-width:740px}
.home-intro>p{max-width:980px}.home-intro .category-grid{margin-top:35px}
.home-intro .category h3{margin-top:22px}.home-intro .category p{min-height:0}
.about-copy p a,.home-final p a,.section>p a{color:var(--red);text-decoration:underline;text-underline-offset:3px}
.home-review{margin:32px 0 0;padding:30px;border-left:5px solid var(--teal);background:var(--cream);max-width:900px}
.home-review>p:first-child{font-size:22px;color:var(--ink)}.home-review cite{font-style:normal;font-weight:700}.home-review a{text-decoration:underline}.home-review p:last-child{margin:18px 0 0}
.county-list small{display:block;font:14px/1.6 'DM Sans',Arial,sans-serif;color:#ddd7d2;margin-top:10px}
.home-final{padding-top:45px;padding-bottom:45px}.home-final p{max-width:900px;margin-bottom:0}
@media(max-width:600px){.hero h1.home-seo-heading{font-size:clamp(30px,7.2vw,43px)}.hero:has(.home-seo-heading) .hero-intro{font-size:16px}.home-water .about-photo{order:-1}.home-review{padding:22px}.home-review>p:first-child{font-size:19px}}
/* Comfortable content scale. Navigation sizing and spacing stay unchanged. */
main h2{font-size:clamp(30px,3vw,42px);margin-bottom:18px;line-height:1.1}
main h3{font-size:21px;line-height:1.25}
main .section{padding-top:48px;padding-bottom:48px}
main .section-heading{margin-bottom:24px;gap:24px}
main .eyebrow{margin-bottom:12px}
main .hero{min-height:0;padding-top:34px;padding-bottom:36px}
main .hero h1.home-seo-heading{font-size:clamp(32px,3.6vw,52px);margin-bottom:18px;max-width:740px}
main .hero-rule{margin:18px 0;width:170px;height:3px}
main .hero:has(.home-seo-heading) .hero-intro{font-size:17px;line-height:1.5;max-width:700px;margin:18px 0}
main .hero-checks{font-size:16px;margin-bottom:16px}
main .hero-checks li{margin:10px 0;padding-left:34px}
main .hero-checks li:before{width:24px;height:24px}
main .google-review-row{margin:16px 0;gap:11px}
main .google-letter{font-size:27px}
main .google-review-row .review-row-label{font-size:16px}
main .google-stars{font-size:21px}
main .hero-actions{margin-top:20px;gap:16px}
main .hero-call,main .hero-actions .button{min-height:62px;padding:11px 22px;font-size:19px}
main .hero-actions .button>span{font-size:19px}
main .hero-actions small,main .hero-actions .button small{font-size:11px}
main .trustbar{padding-top:15px;padding-bottom:15px}
main .category-grid{gap:18px}
main .home-intro .category-grid{margin-top:26px}
main .category{padding:20px 23px}
main .category h3{font-size:27px;margin-bottom:10px}
main .home-intro .category h3{margin-top:15px}
main .category p{margin-bottom:12px}
main .category .text-link{margin-top:16px}
main .category-photo{height:150px;margin:15px -23px 18px}
main .about-copy{padding:38px 10%}
main .about-photo{min-height:320px}
main .about-photo img{max-height:440px}
main .steps{gap:30px;margin-top:25px}
main .steps article{padding-top:16px}
main .steps b{font-size:28px}
main .steps h3{margin:12px 0}
main .area-section{padding-top:44px;padding-bottom:44px;gap:45px}
main .county-list a{padding:20px 0;font-size:28px}
main .faq-layout{gap:45px}
main details{padding:16px 0}
main .home-review{padding:23px;margin-top:24px}
main .home-review>p:first-child{font-size:19px}
main .pagehero,main .pagehero.photo-hero{padding-top:36px;padding-bottom:36px}
main .pagehero h1,main .photo-hero h1{font-size:clamp(34px,3.8vw,52px);line-height:1.07;margin-bottom:18px}
main .pagehero p{font-size:16px}
main .pagehero.photo-hero{gap:34px}
main .service-hero-photo img{height:300px}
main .detail-layout{gap:48px}
main .detail-layout h2{font-size:36px}
main .detail-layout h3{margin-top:25px}
main aside{padding:26px}
main .plumbing-service-grid{gap:24px 36px;margin-top:28px}
main .plumbing-service-grid article{padding-top:18px}
main .plumbing-service-grid h3{font-size:27px;margin-bottom:12px}
main .contact-layout{gap:45px}
main .contact-layout form{padding:26px}
main .contact-layout form h2{font-size:32px}
main .area-cards{gap:20px;margin-top:25px}
main .area-cards article{padding:23px}
.closing{padding-top:30px;padding-bottom:30px}
.closing h2{font-size:36px}
footer{padding-top:36px;padding-bottom:18px}
@media(max-width:700px){
 main .section{padding-top:34px;padding-bottom:34px}
 main h2,main .detail-layout h2{font-size:32px}
 main .about-copy{padding:30px 7%}
 main .about-photo{min-height:240px}
 main .about-photo img{height:260px}
 main .area-section{padding-top:32px;padding-bottom:32px;gap:24px}
 main .faq-layout,main .detail-layout,main .contact-layout{gap:28px}
 main .service-hero-photo img{height:240px}
 main .pagehero.photo-hero{gap:24px}
}
@media(max-width:600px){
 main .hero{padding-top:30px;padding-bottom:30px}
 main .hero h1.home-seo-heading{font-size:clamp(28px,6.8vw,38px)}
 main .hero:has(.home-seo-heading) .hero-intro{font-size:16px}
 main .hero-checks{font-size:15px}
 main .hero-call,main .hero-actions .button{min-height:58px;min-width:240px}
 main .hero-actions{gap:10px}
 main .category{padding:19px 22px}
 main .category-photo{margin-left:-22px;margin-right:-22px}
 main .category h3{font-size:26px}
 main .pagehero h1,main .photo-hero h1{font-size:36px}
 main .google-review-row .review-row-label{font-size:14px}
 .closing h2{font-size:32px}
}
/* Location links remain within the existing Areas menu. */
.areas-dropdown{max-height:72vh;overflow-y:auto}
.location-nav-links{border-top:1px solid #d8cebf;margin-top:8px;padding-top:10px}
.location-nav-links>span{display:block;font-size:10px;letter-spacing:.7px;color:var(--muted);margin-bottom:6px}
.location-nav-links>a{padding:6px 0;font-size:13px}
.area-cards li a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1100px){.areas-dropdown{max-height:none;overflow:visible}}
/* Nested county navigation: Areas > Ulster County > community. */
.site-header .county-menu{margin:0;padding:0;border:0;position:static}
.site-header .county-menu>summary{display:flex;align-items:center;justify-content:space-between;padding:10px 0;gap:14px;font-size:13px;font-weight:700;line-height:1.4;letter-spacing:inherit;cursor:pointer}
.site-header .county-menu>summary:after{content:'';width:7px;height:7px;border-right:1.7px solid currentColor;border-bottom:1.7px solid currentColor;transform:rotate(45deg);flex-shrink:0;margin-right:3px}
.site-header .county-menu[open]>summary:after{transform:rotate(225deg)}
.site-header .county-submenu{border-left:2px solid var(--teal);margin:3px 0 12px;padding:3px 0 3px 14px}
.site-header .county-submenu>a{display:block;padding:7px 0;font-size:12px;line-height:1.4;white-space:normal}
.site-header .county-submenu>a:first-child{font-size:11px;color:var(--muted);text-transform:none}
.site-header .county-menu>summary:hover{color:var(--red)}
@media(max-width:1100px){.site-header .county-menu>summary{padding:12px 0;font-size:14px}.site-header .county-submenu>a{padding:10px 0;font-size:14px}}

/* Larger header logo: retain the navigation footprint and header heights. */
.site-header .brand{height:96px;isolation:isolate;overflow:visible;--logo-size:144px}
.site-header .brand:before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:var(--logo-size);height:var(--logo-size);background:var(--cream);border-radius:0 0 14px 14px;box-shadow:0 5px 8px #39313012;z-index:-1}
.site-header .brand img{position:absolute;top:0;left:50%;transform:translateX(-50%);width:var(--logo-size);max-width:none;height:var(--logo-size);object-fit:contain}
@media(max-width:1280px){.site-header .brand{--logo-size:132px}}
@media(max-width:1100px){.site-header .brand{height:82px;--logo-size:116px}}
@media(max-width:600px){.site-header .brand{height:72px;--logo-size:100px}}
/* Transparent logo cutout, without a backing panel or darkening blend. */
.site-header .brand:before{display:none}
.site-header .brand img{mix-blend-mode:normal;background:transparent}
