:root{--ink:#063154;--deep:#03428e;--blue:#0668e8;--sky:#14a8f1;--green:#70ef7a;--green-dark:#126c35;--paper:#f2faff;--white:#fff;--muted:#526b7c;--line:#d7e7ef}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:white;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{color:inherit}img{max-width:100%}.wrap{width:min(1220px,calc(100% - 64px));margin:auto}.skip{position:absolute;left:-9999px;z-index:10;background:white;padding:12px}.skip:focus{left:16px;top:16px}a:focus-visible{outline:3px solid #136acb;outline-offset:5px}
.topbar{background:var(--green);color:#083e2b;font-size:12px;font-weight:600}.topbar .wrap{min-height:36px;display:flex;justify-content:space-between;align-items:center;gap:20px}.topbar strong{font-weight:900}header{position:sticky;top:0;z-index:5;background:#fffffff5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}header .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:96px}.brand{display:flex;text-decoration:none}.brand img{width:144px;height:90px;object-fit:contain}nav{display:flex;gap:23px;font-size:13px;font-weight:800}nav a{text-decoration:none;transition:color .2s}nav a:hover{color:var(--blue)}.call,.ghost{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:100px;text-decoration:none;font-size:14px;font-weight:900;padding:16px 25px;min-height:54px;transition:transform .2s,box-shadow .2s,background .2s}.call{background:var(--green);color:#073f2c;box-shadow:0 5px 0 #38b75c}.call:hover{background:#91ff99;transform:translateY(-3px);box-shadow:0 8px 0 #38b75c}.ghost{border:1px solid #ffffff70;color:white;background:#ffffff0d}.ghost:hover{background:#ffffff22;transform:translateY(-3px)}header .call{font-size:13px;padding:12px 20px;min-height:46px}
.hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(120deg,#074ac0 0%,#0679ef 62%,#04a8ef 100%);color:white}.hero:before{content:"";position:absolute;z-index:-1;width:780px;height:780px;right:-220px;top:-220px;border:90px solid #ffffff0b;border-radius:50%}.hero:after{content:"";position:absolute;z-index:-1;width:680px;height:680px;right:-130px;top:-170px;border:1px solid #ffffff30;border-radius:50%}.hero .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;min-height:675px;padding:70px 0 90px}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;margin:0 0 18px;color:var(--blue)}.hero .eyebrow{display:inline-flex;align-items:center;gap:9px;color:white;border:1px solid #ffffff55;border-radius:50px;padding:8px 14px;letter-spacing:.08em;font-size:10px}.hero .eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px #70ef7a25}h1,h2,h3{margin:0;line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(64px,7.5vw,102px);font-weight:900;line-height:.99}h1 span{color:var(--green)}.lead{color:#e4f5ff;font-size:17px;line-height:1.75;max-width:510px;margin:26px 0 30px}.actions{display:flex;flex-wrap:wrap;gap:16px}.hero-note{font-size:12px;color:#d9f4ff;margin:22px 0 0;display:flex;gap:20px;flex-wrap:wrap}.hero-note span:before{content:"✓";color:var(--green);font-weight:900;margin-right:7px}.hero-card{position:relative;background:white;border:8px solid white;border-radius:40px 100px 40px 100px;box-shadow:15px 16px 0 #70ef7a,0 28px 70px #00388a40;transform:rotate(3deg);padding:10px 12px 0}.mascot{display:block;width:100%;aspect-ratio:1;object-fit:contain;border-radius:28px 80px 28px 80px}.mascot-caption{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:17px 6px 19px;border-top:1px solid var(--line);color:var(--ink)}.mascot-caption span{font-size:9px;letter-spacing:.1em;font-weight:900}.mascot-caption b{font-size:13px;color:var(--blue)}
section{padding:100px 0}.trust{position:relative;padding:27px 0;background:#e9fff0;border-bottom:1px solid #c9eed5}.trust .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.trust .wrap>div{padding-left:40px;position:relative}.trust .wrap>div:before{content:"✓";position:absolute;left:0;top:5px;background:var(--green);color:#08452a;border-radius:50%;width:27px;height:27px;display:grid;place-items:center;font-weight:900}.trust b{display:block;font-size:15px}.trust span{font-size:12px;color:#466c5a}.section-head{max-width:770px;margin-bottom:42px}.section-head h2{font-size:clamp(32px,4vw,50px)}.section-head p:not(.eyebrow){font-size:16px;color:var(--muted);margin:20px 0 0}.services{background:white}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card{position:relative;background:#f5fbff;border:1px solid #d9ecfa;border-radius:24px;padding:30px;transition:transform .2s,box-shadow .2s,border-color .2s}.card:hover{transform:translateY(-7px);border-color:#67d895;box-shadow:0 14px 32px #065fa515}.card:nth-child(2n){background:#f2fff6;border-color:#d6efdf}.card .icon{display:grid;place-items:center;width:49px;height:49px;border-radius:15px;background:var(--blue);color:white;font-size:17px;font-weight:900;margin-bottom:25px}.card:nth-child(2n) .icon{background:var(--green);color:#07452b}.card h3{font-size:21px;letter-spacing:-.025em}.card p{font-size:14px;color:var(--muted);margin:12px 0 0}
.work{background:var(--paper)}.gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.gallery figure{position:relative;overflow:hidden;margin:0;border-radius:22px;background:#dae7ed;aspect-ratio:.66}.gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}.gallery figure:hover img{transform:scale(1.07)}.gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:60px 17px 20px;background:linear-gradient(transparent,#052d55e8);color:white;font-size:13px;font-weight:800}.gallery figure:nth-child(even){transform:translateY(22px)}
.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}.about-panel{position:relative;overflow:hidden;background:var(--blue);border-radius:32px;min-height:380px;padding:42px;display:flex;align-items:flex-end;color:white;box-shadow:-12px 12px 0 var(--green)}.about-panel:before{content:"";position:absolute;right:-80px;top:-100px;width:290px;height:290px;border:50px solid #ffffff15;border-radius:50%}.about-panel p{position:relative;font-size:44px;font-weight:900;line-height:1.1;letter-spacing:-.04em;margin:0}.about h2{font-size:39px}.about>div>p:not(.eyebrow){color:var(--muted)}.about .about-panel p{color:white}.checks{display:grid;gap:15px;margin-top:25px}.checks div{display:flex;gap:13px;font-size:14px}.checks b{color:var(--green-dark);font-weight:900}.checks strong{color:var(--ink)}
.service-area{position:relative;overflow:hidden;background:linear-gradient(115deg,#0867df,#0344a6);color:white}.service-area:after{content:"";position:absolute;right:-130px;bottom:-220px;width:500px;height:500px;border:65px solid #ffffff09;border-radius:50%;pointer-events:none}.service-area .wrap{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.service-area .eyebrow{color:var(--green)}.service-area h2{font-size:42px}.service-area p{color:#e0efff}.place-list{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:12px}.place-list span{padding:10px 17px;border:1px solid #ffffff65;background:#ffffff0c;border-radius:100px;font-size:13px;font-weight:700}.place-list span:first-child{color:#08482d;background:var(--green);border-color:var(--green)}
.contact{background:#f0fff4;text-align:center;position:relative}.contact h2{font-size:clamp(38px,5vw,60px);max-width:800px;margin:auto}.contact p{max-width:600px;margin:23px auto 28px;color:var(--muted)}.contact .call{font-size:18px;padding:19px 34px}.hours{display:grid;grid-template-columns:1fr auto;gap:13px 22px;background:white;border:1px solid #d8ebde;border-radius:20px;text-align:left;max-width:530px;margin:36px auto 0;padding:24px;font-size:13px}.hours span{color:var(--muted)}footer{background:#04376e;color:#daecff;padding:35px 0;font-size:12px}footer .wrap{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}footer strong{color:white;font-size:16px}.mobile-call{display:none}
@media(max-width:1050px){nav{gap:14px;font-size:12px}header .call{padding:12px 14px;font-size:12px}.hero .wrap{gap:40px}h1{font-size:80px}.about{gap:40px}.about-panel{padding:30px}.about-panel p{font-size:39px}}
@media(max-width:820px){nav{display:none}.hero .wrap{grid-template-columns:1fr;gap:50px;padding:55px 0 70px}.hero-card{width:min(460px,calc(100% - 22px));margin:auto}.hero h1{font-size:clamp(65px,12vw,90px)}.lead{max-width:600px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery figure{aspect-ratio:1}.gallery figure:nth-child(even){transform:none}.gallery figure:last-child{grid-column:1/-1;aspect-ratio:2}.about,.service-area .wrap{grid-template-columns:1fr;gap:40px}.about-panel{min-height:300px}.trust .wrap{gap:18px}.trust b{font-size:13px}.trust span{font-size:11px}}
@media(max-width:540px){.wrap{width:calc(100% - 36px)}.topbar .wrap{justify-content:center;text-align:center;min-height:34px}.topbar .wrap>span:last-child{display:none}.topbar{font-size:11px}header .wrap{min-height:78px}.brand img{height:76px;width:121px}header .call{min-height:39px;font-size:10px;padding:10px 12px;box-shadow:0 3px 0 #38b75c}section{padding:65px 0}.hero .wrap{padding:40px 0 58px;gap:43px}.hero .eyebrow{font-size:8px;letter-spacing:.07em}h1,.hero h1{font-size:70px}.lead{font-size:15px;margin:22px 0 25px}.actions{gap:12px}.actions a{font-size:12px;padding:14px 18px;min-height:49px}.hero-note{font-size:10px;gap:14px}.hero-card{border-radius:28px 70px 28px 70px;box-shadow:9px 10px 0 var(--green);padding:3px 5px 0;transform:rotate(2deg)}.mascot{border-radius:25px 60px 25px 60px}.mascot-caption{padding:13px 4px;gap:8px}.mascot-caption span{font-size:7px}.mascot-caption b{font-size:11px}.trust{padding:25px 0}.trust .wrap{grid-template-columns:1fr;gap:18px}.trust b{font-size:14px}.trust span{font-size:12px}.grid{grid-template-columns:1fr;gap:15px}.card{padding:26px}.card .icon{margin-bottom:18px}.section-head{margin-bottom:28px}.section-head h2{font-size:34px}.gallery{gap:12px}.gallery figure{border-radius:14px}.gallery figcaption{font-size:11px;padding:30px 10px 13px}.about-panel{margin-left:8px;min-height:290px}.about-panel p{font-size:38px}.about h2{font-size:32px}.service-area h2{font-size:34px}.place-list{gap:9px}.place-list span{font-size:11px;padding:8px 12px}.contact h2{font-size:38px}.hours{font-size:11px;gap:12px 10px;padding:19px}.contact .call{font-size:16px}.mobile-call{display:flex;position:fixed;z-index:7;left:18px;right:18px;bottom:17px;font-size:13px;box-shadow:0 5px 0 #38b75c,0 8px 30px #002a5a40}footer{padding-bottom:115px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Service-organized project photography */
.work-links{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:42px}.work-links a{background:white;color:var(--deep);border-radius:30px;padding:12px 20px;text-decoration:none;font-size:13px;font-weight:800}.work-links a:hover{background:var(--green)}.work-group{scroll-margin-top:120px;margin-top:48px}.work-group h3{font-size:28px;margin-bottom:22px}.work-detail{color:var(--muted);margin:-8px 0 24px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.project-grid figure{margin:0}.project-grid a{display:block;overflow:hidden;border-radius:22px;background:#dae7ed}.project-grid img{width:100%;height:360px;object-fit:cover;display:block;transition:transform .3s}.project-grid a:hover img{transform:scale(1.035)}.project-grid figcaption{padding:12px 0;color:var(--ink);font-size:14px;font-weight:800}header,.ghost,.hero .eyebrow,.hero-card,.mascot-caption,.trust,.card,.card:nth-child(2n),.place-list span,.hours{border:0}.hero:before,.hero:after,.about-panel:before,.service-area:after{border:0;background:#ffffff0b}
@media(max-width:820px){.work-links{display:flex}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid img{height:330px}}
@media(max-width:540px){.work-links{gap:8px}.work-links a{padding:10px 14px;font-size:11px}.project-grid{grid-template-columns:1fr;gap:16px}.project-grid img{height:auto;max-height:530px;object-fit:contain;background:#e6edf1}.work-group h3{font-size:25px}}

/* Local service detail and attributed customer feedback */
.service-link{display:inline-block;margin-top:18px;font-size:14px;font-weight:800;color:var(--deep)}
.drain-intro{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:55px;align-items:start}.drain-feature h3{font-size:clamp(30px,3.4vw,44px);max-width:700px}.drain-intro p{color:var(--muted)}.drain-intro .eyebrow{color:var(--blue)}.drain-intro .drain-lead{font-size:23px;line-height:1.4;font-weight:700;color:var(--ink)}.drain-intro .call{margin-top:12px}.call-note{font-size:13px;max-width:600px}.service-review{margin:0;background:#e2f6eb;border-radius:24px;padding:28px}.service-review blockquote{margin:0;font-size:22px;font-weight:700;line-height:1.5;letter-spacing:-.02em;color:var(--ink)}.service-review p{font-size:12px;color:var(--muted)}.service-review a{font-size:12px;font-weight:700;color:var(--deep)}.compact-review{max-width:680px;margin-bottom:28px}.compact-review blockquote{font-size:21px}.photo-note{margin:30px 0 20px;color:var(--muted);font-size:14px}.drain-photos img{height:420px;object-position:center}.work-group+.work-group{margin-top:75px}
@media(max-width:820px){.drain-intro{grid-template-columns:1fr;gap:24px}.drain-photos{grid-template-columns:repeat(3,minmax(0,1fr))}.drain-photos img{height:310px}}
@media(max-width:540px){.drain-photos{grid-template-columns:1fr}.drain-photos img{height:auto;max-height:none;object-fit:contain}.drain-intro .call{font-size:12px;padding:15px}.service-review{padding:24px}.drain-intro .drain-lead{font-size:21px}}

/* Flush It brand direction: flowing water, electric blue, yellow, open layouts. */
:root{--ink:#08284b;--deep:#03428e;--blue:#0077ed;--green:#ffdc23;--green-dark:#876800;--paper:#edf7ff;--muted:#49627a}
body{background:#f5fbff}header{background:#061d38f2;color:#fff;backdrop-filter:blur(18px)}header .wrap{min-height:100px}.brand{background:#fff;border-radius:0 0 25px 25px;align-self:flex-start;padding:5px 15px 10px}.brand img{width:136px;height:90px;object-fit:contain}header nav a:hover{color:#ffdc23}.topbar{background:#ffdc23;color:#142d43}.call{background:#ffdc23;color:#102d4c;box-shadow:0 5px 0 #d4a800}.call:hover{background:#ffe76a;box-shadow:0 8px 0 #d4a800}header .call{box-shadow:none}
.hero{background:#056bc8 url('assets/flow-background.svg') center/cover no-repeat;overflow:hidden;isolation:isolate}.hero:before{inset:0;width:auto;height:auto;background:linear-gradient(90deg,#021b40ef 0%,#033979cf 38%,transparent 72%);border-radius:0}.hero:after{width:78%;height:110%;right:-20%;top:-20%;background:radial-gradient(ellipse,#eafcff 0%,#d4f9ffde 38%,#77ceff30 65%,transparent 72%);border-radius:50%;z-index:-1}.hero .wrap{grid-template-columns:1.05fr 1fr;min-height:720px;gap:20px;padding:70px 0 100px}.hero h1{font-size:clamp(58px,5.8vw,85px);line-height:1.02;letter-spacing:-.055em}.hero h1 span{color:#ffdc23}.hero .eyebrow{padding:0;font-size:11px;letter-spacing:.12em;background:none}.hero .eyebrow:before{background:#ffdc23;box-shadow:0 0 0 4px #ffdc2320}.lead{font-size:17px;max-width:490px}.hero-art{position:relative;isolation:isolate;align-self:center;margin-right:-70px;padding:38px 0 10px;min-width:0}.approved-mascot{display:block;position:relative;z-index:1;width:100%;height:auto;mix-blend-mode:multiply;transform:rotate(-4deg) scale(1.05)}.hero-art:before{content:"";position:absolute;inset:-55px -45px -10px -35px;background:radial-gradient(ellipse,#f5fdff 20%,#e8fcff 48%,#c7f5ff99 60%,transparent 72%);z-index:0}.mascot-signoff{position:relative;z-index:2;text-align:center;color:#053c70;font-size:10px;letter-spacing:.12em;font-weight:800;margin-top:24px}.mascot-signoff strong{display:block;font-size:12px;letter-spacing:.08em}.hero-note span:before{color:#ffdc23}.trust{background:#061d38;color:#fff;padding:27px 0}.trust span{color:#abc9e3}.trust .wrap>div:before{background:#ffdc23;color:#163451}.trust b{color:#fff}
.services{background:radial-gradient(ellipse at 95% 5%,#c7edff90,transparent 55%),#f5fbff}.section-head h2{letter-spacing:-.055em}.card,.card:nth-child(2n){border-radius:0;background:transparent;padding:24px 25px 32px 0}.card:hover{background:transparent;box-shadow:none;transform:translateY(-4px)}.card .icon,.card:nth-child(2n) .icon{background:transparent;color:#0077ed;font-size:44px;width:auto;justify-content:start;margin-bottom:18px}.card h3{font-size:24px}.card p{font-size:15px}.grid{gap:25px 45px}
.work{background:radial-gradient(ellipse at 0% 35%,#def4ff,transparent 60%),#fff}.work-links a{background:#e6f3ff}.work-links a:first-child{background:#ffdc23}.drain-intro .drain-lead{color:#005ab4}.service-review{background:#e5f3ff;border-radius:0 35px 35px 35px}.project-grid a{border-radius:6px 30px 6px 30px}.project-grid figcaption{font-size:13px}.about-panel{background:#005dc4 url('assets/flow-background.svg') center/cover;box-shadow:none;border-radius:0 60px 0 60px}.service-area{background:#0055b8 url('assets/flow-background.svg') center/cover}.place-list span{background:#003c7c80}.place-list span:first-child{background:#ffdc23;color:#173251}.contact{background:#061d38 url('assets/flow-background.svg') center/cover;color:#fff}.contact p{color:#d4edff}.contact .eyebrow{color:#ffdc23}.hours{background:#031e47b0;color:#fff}.hours span{color:#d4edff}footer{background:#04182d}.mobile-call{box-shadow:0 5px 0 #cda800,0 8px 30px #002a5a40}
@media(max-width:1050px){.hero-art{margin-right:-25px}.hero h1{font-size:65px}}
@media(max-width:820px){.hero .wrap{grid-template-columns:1fr;gap:15px;padding:55px 0 65px}.hero h1{font-size:clamp(55px,10vw,80px)}.hero-art{width:min(600px,100%);margin:0 auto;padding-top:10px}.hero:after{width:130%;height:70%;right:-15%;top:43%}.hero:before{background:linear-gradient(#021b40d9,transparent 80%)}.hero-art:before{inset:-15px}.mascot-signoff{margin-top:10px}.approved-mascot{transform:rotate(-3deg)}.hero .lead{max-width:600px}.hero .eyebrow{font-size:10px}.hero-art{margin-top:20px}.brand img{height:76px;width:115px}header .wrap{min-height:85px}}
@media(max-width:540px){.hero h1{font-size:53px}.hero .wrap{padding-top:35px}.hero-art{padding:10px 0;margin-top:20px}.hero-art:before{inset:-10px -20px}.hero .eyebrow{font-size:8px}.brand{padding:3px 8px 6px;border-radius:0 0 15px 15px}.brand img{width:105px;height:70px}header .wrap{min-height:76px}.hero .lead{font-size:15px}.mascot-signoff{font-size:8px}.mascot-signoff strong{font-size:10px}.grid{gap:8px}.card{padding-bottom:20px}.contact .call{font-size:15px}.mobile-call{box-shadow:0 5px 0 #cda800,0 8px 30px #002a5a40}}

/* Approved neighborhood and water image, carried through the full page. */
body{background:#eaf6ff url('assets/neighborhood-water-background.webp') center center/cover fixed no-repeat;color:#06294c}
.hero{background:linear-gradient(90deg,#ffffffd9 0%,#ffffffa8 42%,#ffffff08 80%);color:#05345d}.hero:before,.hero:after{display:none}.hero .wrap{min-height:710px}.hero h1{color:#063967}.hero h1 span{color:#0077d8}.hero .eyebrow{color:#05569c}.hero .lead{color:#214f71}.hero-note{color:#124b73}.hero-note span:before{color:#0479ce}.ghost{background:#ffffff8c;color:#063967}.ghost:hover{background:#fff}.hero-art:before{background:radial-gradient(ellipse,#ffffffc7 12%,#ffffff80 45%,transparent 72%)}.mascot-signoff{color:#063967}.approved-mascot{mix-blend-mode:multiply}
.services{background:#f6fbffde}.work{background:#ffffffd9}.service-area{background:#043e78dc}.contact{background:#032e5acc}.trust{background:#06294ce8}.about-panel{background:linear-gradient(135deg,#006bcbeb,#003f80d9);color:#fff}#about{background:#eff8ffde}.work-group{background:transparent}.service-review{background:#deefffea}.work-links a{background:#e1f0ffef}.work-links a:first-child{background:#ffdc23}.card,.card:nth-child(2n){background:transparent}.hours{background:#04294fc9}footer{background:#04182df2}
@media(max-width:820px){.hero:before,.hero:after{display:none}.hero{background:linear-gradient(180deg,#ffffffe0,#ffffff70)}.hero .wrap{min-height:0}.hero-art:before{background:radial-gradient(ellipse,#ffffffd9 10%,#ffffff99 45%,transparent 73%)}}
@media(max-width:540px){body{background-attachment:scroll;background-size:auto 100vh;background-repeat:repeat-y;background-position:60% top}.services{background:#f6fbffe3}.work{background:#ffffffdf}}
.hero-art{isolation:auto}.hero-art:before{display:none}.approved-mascot{mix-blend-mode:multiply;transform:none}.hero-art{margin-right:0}.mascot-signoff{letter-spacing:.06em}

/* Transparent header branding, without a white badge. */
header .brand{background:transparent;border-radius:0;padding:0;align-self:center}header .brand img{object-fit:contain;filter:drop-shadow(0 2px 3px #0003)}

/* Standalone 3D mascot over the approved neighborhood background. */
.hero-art .approved-mascot{mix-blend-mode:normal;max-height:570px;object-fit:contain;width:100%;filter:drop-shadow(0 12px 18px #003e6d26)}.hero-art{padding-top:0}.mascot-signoff{margin-top:6px}
@media(max-width:540px){.hero-art .approved-mascot{max-height:400px}}

/* Customer testimonials, with the approved neighborhood setting. */
.reviews-hero{background:linear-gradient(90deg,#ffffffed,#ffffff88);padding:60px 0 80px}.reviews-hero h1{font-size:clamp(44px,6vw,78px);color:#063967;max-width:850px}.reviews-hero h1 span{color:#0077d8}.reviews-hero .lead{color:#214f71;max-width:660px}.back-link{display:inline-block;margin-bottom:30px;font-weight:700;font-size:14px}.reviews-content{background:#f5fbffe3;padding:75px 0}.review-stories{display:grid;grid-template-columns:1fr 1fr;gap:45px 55px}.review-story{padding:30px 0;background:transparent}.review-story blockquote{margin:0 0 25px;color:#063967;font-size:clamp(22px,2.4vw,30px);font-weight:700;line-height:1.4;letter-spacing:-.02em}.review-name{font-weight:800;margin-bottom:2px}.review-source{font-size:12px;color:#49627a;margin-top:0}.review-context{color:#49627a;font-size:14px;max-width:500px}.review-story>a{font-size:13px;font-weight:800;color:#005fae}.reviews-note{font-size:12px;color:#49627a;margin:35px 0 0}.reviews-next{margin-top:65px;max-width:770px}.reviews-next h2{font-size:36px}.reviews-next p{color:#49627a}.reviews-next .actions{align-items:center}header a[aria-current="page"]{color:#ffdc23}@media(max-width:820px){.review-stories{grid-template-columns:1fr;gap:20px}.reviews-hero{padding:35px 0 60px}.reviews-hero h1{font-size:50px}.reviews-next h2{font-size:30px}}

.water-heater-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.water-heater-photos img{height:460px;object-fit:contain;background:#e9f2f7}.heater-actions{margin-top:25px;align-items:center}@media(max-width:540px){.water-heater-photos{grid-template-columns:1fr}.water-heater-photos img{height:auto;max-height:none}.heater-actions .call{font-size:12px;padding:15px}}

/* Brighter, high-contrast brand promise panel. */
#about .about-panel{background:linear-gradient(135deg,#f4fbff 0%,#d9f1ff 65%,#bde7ff 100%);color:#073967;box-shadow:none}
#about .about-panel p{color:#073967;text-shadow:none}
#about .about-panel:before{background:#ffdc2340;border:0;width:230px;height:230px;top:-95px;right:-65px}

.contact .contact-email{margin:26px auto 0;color:#e4f3ff;font-size:16px}.contact-email a{font-weight:800;color:#fff;overflow-wrap:anywhere}.contact-email span{font-size:12px;color:#d4edff}

/* Sourced review rating, visible in the header on both pages. */
header .wrap{gap:18px}.header-rating{flex-shrink:0;display:flex;flex-direction:column;justify-content:center;text-decoration:none;line-height:1.25;min-width:104px;min-height:44px}.rating-score{font-size:24px;font-weight:900;color:#fff}.rating-score>span:first-child{color:#ffdc23}.rating-max{font-size:13px;font-weight:500;color:#d4eaff}.rating-label{font-size:10px;color:#d4eaff;margin-top:3px;font-weight:700}.header-rating:hover .rating-label{text-decoration:underline;color:#ffdc23}header nav{gap:16px;font-size:12px}@media(min-width:821px) and (max-width:1150px){header .wrap{flex-wrap:wrap;padding-bottom:12px}header nav{order:4;flex:1 0 100%;justify-content:center}header .header-rating{margin-right:auto}}@media(max-width:820px){header .header-rating{margin-right:auto}}@media(max-width:540px){header .wrap{flex-wrap:wrap;gap:0 14px;padding-bottom:8px}header .brand{order:1}header .call{order:2;margin-left:auto}header .header-rating{order:3;flex:1 0 100%;flex-direction:row;align-items:center;gap:8px;min-height:28px;text-align:center;margin:0}.rating-score{font-size:18px}.rating-label{font-size:10px;margin-top:0}.rating-max{font-size:11px}}
/* Emergency and planned-service paths, shared by every page. */
.header-actions{display:flex;align-items:center;gap:9px;flex-shrink:0}.schedule-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 21px;background:#0878d9;color:#fff;text-decoration:none;font-size:14px;font-weight:800;border-radius:100px;text-align:center;line-height:1.3}.schedule-button:hover{background:#0058aa}.emergency-call{background:#ffdc23;color:#102d4c}.header-actions .call,.header-actions .schedule-button{font-size:11px;padding:12px 14px;min-height:44px;box-shadow:none}.service-actions{margin:26px 0 18px}.service-small{font-size:13px;color:#315879}.hero .schedule-button{background:#0068bc}.hero .schedule-button:hover{background:#004e92}.service-hero{background:linear-gradient(90deg,#ffffffed,#ffffffa8);padding:55px 0 65px}.service-hero h1{font-size:clamp(40px,5vw,68px);color:#063967;max-width:950px}.service-hero h1 span{color:#0071c8}.service-hero .lead{color:#214f71;font-size:22px;max-width:790px}.service-hero .back-link{margin-bottom:25px}.service-content{background:#f5fbffe6;padding:65px 0 80px}.service-content h2{font-size:30px;line-height:1.2;letter-spacing:-.035em;margin:0 0 20px}.service-content p,.service-content li{color:#385b76}.service-copy>div{max-width:850px}.service-copy>div>h2:not(:first-child){margin-top:35px}.service-copy:has(.page-review){display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:55px;align-items:start}.service-copy ul{padding-left:22px;line-height:1.9}.page-review blockquote{font-size:22px}.service-projects{margin-top:55px}.service-gallery img{height:400px;object-fit:contain;background:#e9f2f7}.service-gallery:has(figure:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}.service-gallery a{border-radius:8px 28px 8px 28px}.service-faq{margin:55px 0;max-width:850px}.service-faq details{padding:19px 0}.service-faq summary{cursor:pointer;font-size:18px;font-weight:800;color:#063967}.service-faq p{margin-bottom:0}.service-local{max-width:900px;padding-top:25px}.service-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 55px}.service-directory-card h2{font-size:27px}.service-directory-card h2 a,.card h3 a,.work-group h3 a{text-decoration:none}.service-directory-card h2 a:hover,.card h3 a:hover,.work-group h3 a:hover{text-decoration:underline}.service-directory-card p{margin-bottom:0}.service-directory-card .service-link{margin-top:12px}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) .75fr;gap:70px}.request-form{max-width:720px}.request-form label{display:block;font-weight:800;color:#063967;font-size:14px;margin:20px 0 7px}.request-form input,.request-form select,.request-form textarea{display:block;width:100%;min-height:48px;background:#fff;border:1px solid #95b5cb;border-radius:8px;padding:12px;color:#063967;font:inherit}.request-form textarea{resize:vertical}.request-form input:focus,.request-form select:focus,.request-form textarea:focus{outline:3px solid #0077ed;outline-offset:2px}.request-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.request-form button{border:0;cursor:pointer;font-family:inherit}.form-note,#request-status{font-size:13px}.booking-help{overflow-wrap:anywhere}.booking-help a{font-weight:800}.mobile-actions{display:none}.contact .service-actions{justify-content:center}.contact .schedule-button{background:#fff;color:#06477e}
@media(min-width:821px) and (max-width:1150px){header .wrap{gap:12px 18px}.header-actions{margin-left:auto}}
@media(max-width:820px){header .wrap{flex-wrap:wrap;padding:8px 0 12px;gap:8px 14px}header .brand{order:1}header .header-rating{order:2;margin:0 0 0 auto;flex:0 0 auto;flex-direction:column;align-items:flex-start}header .header-actions{order:3;flex:1 0 100%;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.header-actions .call{margin:0}.header-actions .schedule-button{padding:12px}.service-copy:has(.page-review){grid-template-columns:1fr;gap:25px}.service-directory,.booking-layout{grid-template-columns:1fr;gap:35px}.mobile-actions{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:10;box-shadow:0 -3px 20px #04294f2b;padding-bottom:env(safe-area-inset-bottom);background:#fff}.mobile-actions a{display:flex;align-items:center;justify-content:center;min-height:58px;padding:10px 12px;text-decoration:none;font-size:12px;font-weight:900;text-align:center;line-height:1.3}.mobile-actions a:last-child{background:#0674cd;color:white}footer{padding-bottom:110px}.service-hero{padding:35px 0 45px}.service-hero h1{font-size:44px}.service-content{padding:45px 0 65px}.service-content h2{font-size:27px}.service-gallery img{height:350px}.hero .actions{gap:12px}.hero .actions .ghost{min-height:44px;padding:10px 16px}}
@media(max-width:540px){header .brand img{height:66px}header .header-rating{min-height:44px}.header-actions .call,.header-actions .schedule-button{font-size:11px;min-height:43px;padding:11px 9px}.service-hero h1{font-size:39px}.service-hero .lead{font-size:19px}.service-actions{display:grid;grid-template-columns:1fr;gap:14px}.service-actions .call,.service-actions .schedule-button{min-height:50px;font-size:13px}.service-gallery,.service-gallery:has(figure:nth-child(4)){grid-template-columns:1fr}.service-gallery img{height:auto;max-height:560px}.request-pair{grid-template-columns:1fr;gap:0}.service-directory{gap:35px}.hero .schedule-button{font-size:12px;padding:14px 18px}}
.schedule-button{background:#0068bc}.schedule-button:hover{background:#004e92}

/* Refined review badge, with a proportional 4.9-of-5 star fill. */
header .header-rating{display:block;min-width:144px;min-height:0;padding:10px 13px;background:#ffffff0d;border-radius:16px;text-align:center;transition:background .2s,transform .2s}header .header-rating:hover{background:#ffffff1c;transform:translateY(-1px)}.rating-top{display:flex;align-items:center;justify-content:center;gap:10px}.rating-score{font-size:24px;font-weight:900;letter-spacing:-.04em;line-height:1.1;color:#fff}.rating-max{font-size:11px;font-weight:600;letter-spacing:0;margin-left:2px;color:#d4eaff}.rating-stars{display:block;position:relative;white-space:nowrap;font-size:15px;line-height:1;letter-spacing:1px;width:max-content}.stars-track{color:#ffffff38}.stars-fill{position:absolute;left:0;top:0;width:98%;overflow:hidden;color:#ffdc23}.rating-label{display:block;margin-top:6px;font-size:10px;font-weight:600;letter-spacing:.025em;color:#dceeff}.rating-label>span{color:#8bd4ff;margin-left:2px}header .header-rating:hover .rating-label{text-decoration:none;color:#fff}@media(max-width:820px){header .header-rating{padding:9px 13px;min-width:144px}}@media(max-width:540px){header .header-rating{padding:8px 11px;min-width:140px;flex:0 0 auto;text-align:center}.rating-score{font-size:23px}.rating-label{margin-top:5px}.rating-stars{font-size:14px}}

/* Selected Clean & Open review rating, without a badge surface. */
header .header-rating{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:12px;padding:0;min-width:150px;min-height:48px;background:transparent;border-radius:0;text-align:left;transform:none}header .header-rating:hover{background:transparent;transform:none}.header-rating .rating-score{font-size:34px;line-height:1;color:#fff;letter-spacing:-.05em}.rating-details{display:block}.header-rating .rating-stars{font-size:16px;letter-spacing:1px}.header-rating .rating-label{font-size:10px;margin-top:6px;letter-spacing:.01em;color:#dceeff}.header-rating:hover .rating-label{color:#fff;text-decoration:underline}@media(max-width:820px){header .header-rating{display:flex;flex-direction:row;align-items:center;gap:12px;padding:0;min-width:150px;text-align:left}}@media(max-width:540px){header .header-rating{min-width:145px;padding:0}.header-rating .rating-score{font-size:33px}.header-rating .rating-stars{font-size:15px}.header-rating .rating-label{font-size:10px;margin-top:5px}}

/* Accessible Services and Testimonials dropdowns. */
.nav-dropdown{position:relative}.nav-dropdown summary{display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer;color:#fff;font-weight:800;white-space:nowrap;min-height:44px}.nav-dropdown summary::-webkit-details-marker{display:none}.nav-dropdown summary:after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:-4px 2px 0}.nav-dropdown[open] summary{color:#ffdc23}.nav-dropdown[open] summary:after{transform:rotate(225deg);margin-top:4px}.nav-dropdown summary:focus-visible{outline:3px solid #ffdc23;outline-offset:4px}.nav-menu{position:absolute;top:100%;left:-18px;z-index:20;background:#f5fbff;color:#063967;padding:14px;border-radius:0 18px 18px 18px;box-shadow:0 15px 40px #031d3c38;min-width:270px;max-height:min(65vh,560px);overflow:auto}.nav-menu a{display:block;padding:12px;border-radius:8px;text-decoration:none;font-size:13px;font-weight:700;line-height:1.4}.nav-menu a:hover,.nav-menu a:focus-visible{background:#dff0ff;color:#034d8a}.nav-menu .menu-overview{color:#005eac;background:#e4f3ff;margin-bottom:6px}.services-menu{width:510px;display:grid;grid-template-columns:1fr 1fr;gap:2px 8px}.services-menu .menu-overview{grid-column:1/-1}.reviews-menu{left:auto;right:-15px}.review-story[id]{scroll-margin-top:200px}@media(max-width:820px){header nav[aria-label="Main navigation"]{display:flex;order:4;flex:1 0 100%;justify-content:center;gap:35px;padding:0}header nav[aria-label="Main navigation"]>a{display:none}header nav .nav-dropdown summary{font-size:12px;min-height:38px}.nav-menu{left:0;min-width:0;width:min(340px,calc(100vw - 36px));border-radius:0 14px 14px 14px}.services-menu{grid-template-columns:1fr;gap:0}.reviews-menu{left:auto;right:0}header nav .nav-dropdown:first-child{position:static}header nav{position:relative}.review-story[id]{scroll-margin-top:220px}}@media(max-width:540px){header nav[aria-label="Main navigation"]{justify-content:space-around;gap:12px}.nav-menu a{min-height:44px;padding:12px;font-size:13px}}
header nav[aria-label="Main navigation"]{align-items:center}

/* Mobile audit fixes: leaner header, bounded menus, and reliable anchor offsets. */
html{scroll-padding-top:130px}.home-projects figure[id]{scroll-margin-top:130px}.home-projects figcaption a{text-decoration:none}.home-projects img{height:300px;object-fit:cover}.hero h1{font-size:clamp(44px,4.9vw,69px)}
@media(max-width:820px){header nav .nav-dropdown{position:static}header nav{position:relative}header .nav-menu{left:0;right:0;width:100%;max-width:100%;min-width:0;box-sizing:border-box}header .reviews-menu{left:0;right:0}header .wrap{padding:5px 0;gap:3px 14px}header .brand img{width:100px;height:58px}header .header-rating{min-height:40px}header .header-actions{display:none}header nav[aria-label="Main navigation"]{padding:0;gap:20px}header nav .nav-dropdown summary{min-height:44px}.rating-score{font-size:29px}.header-rating .rating-score{font-size:29px}html{scroll-padding-top:150px}.home-projects figure[id],.review-story[id]{scroll-margin-top:150px}.hero h1{font-size:clamp(39px,6.4vw,57px)}}
@media(max-width:540px){header .brand img{width:96px;height:56px}.home-projects{grid-template-columns:1fr 1fr;gap:20px 12px}.home-projects img{height:185px}.home-projects figcaption{font-size:12px}.hero h1{font-size:39px}.hero .wrap{padding-top:25px}.hero .lead{margin:18px 0 22px}.hero-art .approved-mascot{max-height:330px}}
