/* Pink Plumbing & Sewer — responsive, accessible, dependency-free theme */
:root{--ink:#142638;--navy:#0b2539;--navy2:#14354a;--pink:#dc1677;--pink2:#b60d62;--blush:#fff1f7;--sky:#eaf6fc;--blue:#268abf;--paper:#ffffff;--bg:#f7f9fb;--line:#dde5eb;--muted:#597083;--radius:19px;--shadow:0 20px 55px rgba(16,43,61,.10);--container:1200px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #3c99d0;outline-offset:4px}.wrap{width:min(calc(100% - 44px),var(--container));margin-inline:auto}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;z-index:999;left:12px;top:-120px;background:#fff;padding:12px 18px;border:2px solid var(--pink);border-radius:6px}.skip-link:focus{top:12px}.eyebrow{font-size:.73rem;letter-spacing:.19em;text-transform:uppercase;font-weight:850;color:var(--pink);line-height:1.4}.section-title{font-size:clamp(2rem,3.7vw,3.5rem);font-weight:850;line-height:1.12;letter-spacing:-.052em;margin:10px 0 18px}.section-lead{color:var(--muted);font-size:1.05rem;max-width:620px;margin:0}.button{display:inline-flex;justify-content:center;align-items:center;gap:11px;min-height:54px;padding:13px 23px;border-radius:11px;font-size:.89rem;line-height:1.25;font-weight:850;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease;border:1px solid transparent;white-space:normal;text-align:center}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--pink);color:white;box-shadow:0 10px 22px rgba(220,22,119,.2)}.button-primary:hover{background:var(--pink2);box-shadow:0 15px 28px rgba(220,22,119,.22)}.button-outline{background:white;border-color:#ccd7e0;color:var(--ink)}.button-outline:hover{border-color:var(--pink);background:var(--blush)}.button-light{background:#fff;color:var(--navy)}.icon{width:19px;height:19px;flex:none;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
/* Top + header */
.topbar{background:var(--navy);color:#dbe8ee;font-size:.78rem;line-height:1.5}.topbar-inner{min-height:38px;display:flex;justify-content:space-between;align-items:center;gap:15px}.topbar-left,.topbar-right{display:flex;align-items:center;gap:10px}.topbar-right{gap:20px}.topbar a:hover{text-decoration:underline}.status-dot{background:#5ee1a0;width:7px;height:7px;border-radius:100%;flex:none}.main-header{z-index:100;position:sticky;top:0;background:rgba(255,255,255,.97);border-bottom:1px solid #e9eff2;box-shadow:0 8px 24px rgba(15,44,60,.045);backdrop-filter:blur(12px)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:89px;gap:30px}.brand{display:inline-flex;align-items:center;gap:11px;flex:none;min-width:0}.brand-mark{width:55px;height:55px;border-radius:16px}.brand-text{display:flex;flex-direction:column;line-height:1.04;letter-spacing:-.055em;font-size:1.35rem;font-weight:900;color:var(--navy)}.brand-text .pink{color:var(--pink)}.brand-text small{font-size:.59rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--muted);margin-top:6px}.nav-links{display:flex;align-items:center;gap:clamp(13px,2vw,31px);margin-left:auto}.nav-links a{font-size:.82rem;font-weight:800;color:#354a59;white-space:nowrap;transition:color .2s}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--pink)}.header-actions{display:flex;gap:12px;align-items:center}.header-phone{display:flex;gap:9px;align-items:center;border-left:1px solid var(--line);padding-left:20px}.phone-icon{color:var(--pink)}.header-phone span{font-size:.69rem;display:block;line-height:1.1;color:var(--muted);font-weight:750}.header-phone b{font-size:.94rem;line-height:1.4;color:var(--navy);white-space:nowrap}.menu-toggle{display:none;background:#f6f8fa;border:1px solid var(--line);border-radius:10px;min-width:46px;height:46px;align-items:center;justify-content:center;color:var(--navy)}.menu-toggle .icon{width:23px;height:23px}.mobile-nav{display:none;border-top:1px solid var(--line);background:white}.mobile-nav a{padding:13px 0;border-bottom:1px solid #eef1f5;font-size:.96rem;font-weight:800;display:block}.mobile-nav a:last-child{border-bottom:0}.mobile-nav[hidden]{display:none!important}
/* Hero */
.hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(114deg,#fff 25%,#fff9fc 62%,#eff8fc);padding:80px 0 86px}.hero:before{content:"";position:absolute;width:660px;height:660px;border-radius:50%;right:-300px;top:-310px;background:radial-gradient(circle,#fad7e8,transparent 68%);opacity:.75;z-index:-1}.hero-grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,1fr);align-items:center;gap:clamp(45px,6vw,90px)}.hero-copy{padding:12px 0}.hero-chip{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid #f1d2e2;border-radius:50px;color:var(--pink2);font-size:.75rem;font-weight:850;letter-spacing:.05em;padding:9px 14px;box-shadow:0 8px 24px rgba(220,22,119,.045)}.hero-chip .status-dot{background:var(--pink)}.hero h1{font-size:clamp(2.85rem,5.2vw,5.35rem);font-weight:900;letter-spacing:-.07em;line-height:1.02;max-width:690px;margin:23px 0 22px;color:var(--navy)}.hero h1 .pink{color:var(--pink)}.hero p{color:#536a7d;font-size:clamp(1.02rem,1.55vw,1.15rem);line-height:1.75;max-width:580px;margin:0 0 30px}.hero-cta{display:flex;flex-wrap:wrap;gap:12px}.hero-small{margin-top:27px;display:flex;gap:20px;flex-wrap:wrap;color:#3f5664;font-weight:750;font-size:.79rem}.hero-small span{display:flex;align-items:center;gap:7px}.hero-small .icon{color:var(--pink);width:16px;height:16px}.hero-image-wrap{position:relative;padding:14px 0 26px 18px}.hero-image-wrap:before{content:"";position:absolute;inset:0 22px 22px 0;border-radius:29px;background:#f4d4e3;transform:rotate(-3deg)}.hero-image{position:relative;overflow:hidden;border:7px solid white;border-radius:24px;box-shadow:0 26px 55px rgba(16,43,61,.21);background:#eef2f3;aspect-ratio:1.3}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-float{position:absolute;right:-12px;bottom:-2px;background:var(--navy);color:#fff;border-radius:15px;padding:17px 21px;box-shadow:0 17px 35px rgba(7,29,43,.25);min-width:202px}.hero-float strong{display:block;font-size:1.55rem;letter-spacing:-.055em;line-height:1.2;color:#fff}.hero-float span{display:block;font-size:.68rem;text-transform:uppercase;font-weight:800;letter-spacing:.09em;color:#d8e7ed;margin-top:4px}
/* Benefit strip */
.value-band{background:var(--navy);color:#fff}.value-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.value-item{display:flex;align-items:center;gap:17px;padding:26px 25px}.value-item:not(:last-child){border-right:1px solid rgba(255,255,255,.17)}.value-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;color:#ff7cb8;background:rgba(255,255,255,.09);flex:none}.value-icon .icon{width:23px;height:23px}.value-item strong{font-size:.89rem;line-height:1.3;display:block}.value-item span{display:block;font-size:.74rem;line-height:1.5;color:#bbcfda;margin-top:3px}
/* Sections */
.section{padding:100px 0}.section-tinted{background:var(--bg)}.section-header{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-header>div{max-width:680px}.section-header .button{flex:none}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-card{min-width:0;display:flex;flex-direction:column;background:#fff;border:1px solid #e4eaf0;border-radius:var(--radius);padding:29px;position:relative;transition:border-color .2s,transform .2s,box-shadow .2s}.service-card:hover{border-color:#f2a6ce;transform:translateY(-4px);box-shadow:var(--shadow)}.service-number{position:absolute;right:25px;top:24px;color:#ced8df;font-weight:900;font-size:.85rem}.service-icon{width:57px;height:57px;display:flex;align-items:center;justify-content:center;color:var(--pink);background:var(--blush);border-radius:16px;margin-bottom:25px}.service-icon .icon{width:29px;height:29px}.service-card h3{font-size:1.12rem;line-height:1.3;letter-spacing:-.025em;margin:0 0 10px;color:var(--navy)}.service-card p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.75;flex:1}.service-link{margin-top:22px;display:flex;align-items:center;gap:7px;font-size:.79rem;font-weight:900;color:var(--pink)}.service-link .icon{width:17px;height:17px;transition:transform .2s}.service-card:hover .service-link .icon{transform:translateX(4px)}
/* About */
.about{background:#fff}.about-grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1fr);gap:clamp(42px,7vw,95px);align-items:center}.about-visual{position:relative;background:#edf6fa;border-radius:28px;min-height:460px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding:45px}.about-visual:after{content:"";position:absolute;inset:auto -20% -70% -20%;height:120%;border-radius:50%;background:#dfeef8}.about-visual .original-logo{position:relative;z-index:1;max-width:290px;width:80%;border-radius:9px;box-shadow:0 18px 25px rgba(29,63,80,.14);transform:rotate(-3deg)}.about-visual .about-number{position:absolute;z-index:2;right:24px;bottom:27px;background:var(--navy);color:#fff;border-radius:16px;padding:18px 24px;box-shadow:0 14px 30px rgba(0,0,0,.14)}.about-visual .about-number strong{display:block;line-height:1;font-size:1.8rem;letter-spacing:-.04em}.about-visual .about-number span{font-size:.68rem;font-weight:700;color:#c9d9e1}.about-copy .section-title{max-width:570px}.about-copy>p{max-width:570px;color:var(--muted);line-height:1.85}.tick-list{padding:0;margin:25px 0 30px;list-style:none;display:grid;gap:13px}.tick-list li{display:flex;align-items:flex-start;gap:12px;font-size:.92rem;font-weight:700}.tick-list .icon{width:18px;height:18px;color:var(--pink);margin-top:4px}
/* Wide CTA */
.action-banner{position:relative;background:var(--navy);color:#fff;overflow:hidden}.action-banner:after{content:"";position:absolute;right:-130px;top:-180px;width:500px;height:500px;border:2px solid rgba(255,255,255,.07);border-radius:50%;box-shadow:0 0 0 60px rgba(255,255,255,.025),0 0 0 130px rgba(255,255,255,.018);pointer-events:none}.action-inner{display:flex;align-items:center;justify-content:space-between;gap:45px;padding-block:62px;position:relative;z-index:1}.action-inner h2{font-size:clamp(2rem,3.6vw,3.5rem);letter-spacing:-.05em;line-height:1.1;margin:12px 0}.action-inner p{max-width:520px;color:#bdd0dd;margin:0}.action-inner .eyebrow{color:#ff80b8}.action-inner .button{min-width:210px}
/* Locations + faq */
.areas-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:55px;align-items:center}.areas-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:27px}.area-pill{border:1px solid #dbe5eb;border-radius:50px;background:white;color:#385065;font-size:.84rem;font-weight:700;padding:9px 15px}.area-panel{background:#f1f8fc;border:1px solid #dfedf6;border-radius:25px;padding:35px 35px 37px;position:relative;overflow:hidden}.area-panel svg{width:55px;height:55px;color:var(--blue);margin-bottom:19px}.area-panel h3{font-size:1.65rem;line-height:1.22;letter-spacing:-.05em;margin:0 0 15px}.area-panel p{color:var(--muted);margin:0 0 23px}.area-panel .button{background:#fff}.faq{background:var(--bg)}.faq-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:65px;align-items:start}.faq-intro p{color:var(--muted)}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:20px 3px}.faq-list summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--navy);font-weight:800;font-size:1rem}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";color:var(--pink);font-size:1.5rem;font-weight:400;line-height:1}.faq-list details[open] summary:after{content:"−"}.faq-list details p{margin:12px 37px 0 0;color:var(--muted);font-size:.91rem}
/* Contact */
.contact{background:#fff}.contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:45px;align-items:start}.contact-info p{color:var(--muted);margin-bottom:28px}.contact-method{display:flex;gap:17px;align-items:flex-start;margin:25px 0}.contact-method .value-icon{color:var(--pink);background:var(--blush);width:49px;height:49px}.contact-method small{display:block;font-size:.72rem;color:var(--muted);font-weight:850;letter-spacing:.08em;text-transform:uppercase}.contact-method a{font-size:clamp(.9rem,1.2vw,1.16rem);font-weight:850;color:var(--navy);overflow-wrap:anywhere}.contact-method a:hover{color:var(--pink)}.contact-form-panel{border:1px solid #e1e9ef;background:#fff;border-radius:24px;padding:36px;box-shadow:0 17px 45px rgba(21,50,67,.07)}.contact-form-panel h3{font-size:1.55rem;letter-spacing:-.04em;line-height:1.2;margin:0 0 6px}.contact-form-panel>p{color:var(--muted);font-size:.87rem;margin:0 0 23px}.form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field{min-width:0;display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:.8rem;font-weight:800;color:var(--navy)}.field input,.field select,.field textarea,.wpcf7 input:not([type=submit]):not([type=checkbox]),.wpcf7 select,.wpcf7 textarea{border:1px solid #ccd8df;border-radius:10px;background:#fbfcfd;color:var(--ink);padding:13px 14px;min-height:49px;width:100%;max-width:100%;font-size:.92rem;outline-offset:2px}.field textarea{min-height:118px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid rgba(220,22,119,.26);border-color:var(--pink)}.form-disclaimer{margin:13px 0 0!important;font-size:.77rem!important;color:var(--muted)!important}.form-submit{margin-top:20px;width:100%}.wpcf7 label{font-size:.83rem;font-weight:750;display:block;margin:0 0 12px}.wpcf7 form p{margin:0 0 14px}.wpcf7 input[type=submit]{background:var(--pink);color:white;border:0;border-radius:10px;padding:15px 28px;font-weight:850;cursor:pointer}.wpcf7-not-valid-tip{color:#a00;font-size:.78rem}.wpcf7-response-output{border-radius:10px;font-size:.88rem}.request-status{font-size:.85rem;margin-top:12px;color:var(--muted)}
/* Footer */
.footer{background:#0a2334;color:#d3e1ea;padding:68px 0 24px}.footer-grid{display:grid;grid-template-columns:1.35fr .72fr .95fr 1.05fr;gap:42px;padding-bottom:55px}.footer .brand-text{color:white}.footer .brand-text small{color:#abc0ce}.footer .brand-mark{background:white}.footer-about{color:#a9becb;font-size:.85rem;max-width:330px;margin:22px 0}.footer h3{font-size:.84rem;letter-spacing:.025em;color:white;margin:6px 0 19px}.footer-links{padding:0;list-style:none;display:grid;gap:10px;margin:0}.footer-links a{font-size:.83rem;color:#b4c7d2}.footer-links a:hover{color:#ff93c5}.footer-bottom{border-top:1px solid #284458;display:flex;justify-content:space-between;gap:15px;padding-top:22px;font-size:.75rem;color:#a7bdc9}.footer-bottom a{text-decoration:underline}.footer-contact-link{font-size:1.15rem;color:white!important;font-weight:850}.floating-call{display:none}
/* Contact page */
.page-hero{background:linear-gradient(105deg,#fef7fa,#edf7fb);padding:72px 0 77px;border-bottom:1px solid #e8eff4}.page-hero h1{font-size:clamp(2.8rem,5vw,4.6rem);line-height:1.08;letter-spacing:-.065em;margin:13px 0}.page-hero p{max-width:590px;color:var(--muted);font-size:1.04rem;margin:0}.contact-page-photo{border-radius:22px;overflow:hidden;border:6px solid white;box-shadow:var(--shadow);margin-top:25px}.contact-page-photo img{width:100%;height:auto}.entry-content{max-width:840px;margin:70px auto;padding:0 20px;min-height:200px}.entry-content a{color:var(--pink);text-decoration:underline}
/* Responsive */
@media(max-width:1100px){.nav-links{gap:15px}.header-inner{gap:20px}.header-phone{padding-left:13px}.header-phone span{display:none}.hero-grid{gap:35px}.hero h1{font-size:clamp(2.9rem,5vw,4rem)}}
@media(max-width:940px){.topbar-right{display:none}.header-inner{min-height:76px}.brand-mark{width:48px;height:48px}.nav-links{display:none}.menu-toggle{display:flex}.mobile-nav:not([hidden]){display:block}.mobile-nav .wrap{padding:9px 0 15px}.header-phone{border:0;padding-left:0}.hero{padding:60px 0}.hero-grid{grid-template-columns:1fr}.hero-copy{max-width:720px}.hero h1{max-width:740px;font-size:clamp(3.2rem,6.3vw,5rem)}.hero-image-wrap{max-width:720px;margin-inline:auto;width:100%}.hero-image{aspect-ratio:1.75}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.value-item{padding:24px 13px}.about-grid{gap:38px}.about-visual{min-height:390px}}
@media(max-width:700px){.wrap{width:min(calc(100% - 34px),var(--container))}.topbar-inner{justify-content:center;min-height:33px;text-align:center}.topbar-left{font-size:.69rem}.header-phone{display:none}.header-inner{min-height:71px}.brand-text{font-size:1.13rem}.brand-text small{font-size:.49rem}.brand-mark{width:44px;height:44px}.header-actions>.button{min-height:43px;padding:10px 12px;font-size:.78rem}.hero{padding:46px 0 60px}.hero-chip{font-size:.65rem}.hero h1{font-size:clamp(2.55rem,10.5vw,4.1rem);margin-top:20px}.hero p{font-size:.98rem}.hero-cta{flex-direction:column}.hero-cta .button{width:100%}.hero-small{gap:12px 20px}.hero-image-wrap{padding-left:9px;margin-top:18px}.hero-image{aspect-ratio:1.28;border-width:4px;border-radius:17px}.hero-image-wrap:before{border-radius:18px}.hero-float{bottom:3px;right:0;padding:12px 17px;min-width:0}.hero-float strong{font-size:1.2rem}.hero-float span{font-size:.57rem}.value-inner{grid-template-columns:1fr}.value-item{padding:17px 0}.value-item:not(:last-child){border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.section{padding:70px 0}.section-header{align-items:start;flex-direction:column;gap:20px}.section-title{font-size:clamp(2rem,8vw,3rem)}.services-grid{grid-template-columns:1fr}.service-card{padding:24px}.about-grid,.areas-layout,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:32px}.about-visual{min-height:325px;order:2}.about-copy{order:1}.about-visual .original-logo{max-width:250px}.action-inner{flex-direction:column;align-items:flex-start;padding-block:53px;gap:25px}.action-inner .button{width:100%}.area-panel{padding:27px}.contact-form-panel{padding:23px}.footer-grid{grid-template-columns:1fr 1fr;gap:34px 20px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:8px;padding-bottom:70px}.floating-call{display:flex;position:fixed;z-index:110;bottom:12px;right:14px;left:14px;align-items:center;justify-content:center;gap:11px;border-radius:12px;color:white;background:var(--pink);box-shadow:0 7px 30px rgba(84,8,50,.3);height:51px;font-weight:850;font-size:.91rem}.floating-call .icon{width:19px;height:19px}}
@media(max-width:420px){.header-actions>.button{display:none}.form-fields{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:nth-child(4){grid-column:1/-1}.hero-small{font-size:.73rem}.brand-text{font-size:1.01rem}.hero-float{right:-2px}}
@media(min-width:1800px){:root{--container:1360px}.hero{padding:105px 0 110px}.hero h1{font-size:5.8rem}.section{padding:120px 0}.hero-grid{gap:110px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
