@font-face{font-family:'DM Sans';src:url('/assets/fonts/dm-sans-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:block}@font-face{font-family:'DM Sans';src:url('/assets/fonts/dm-sans-600.ttf') format('truetype');font-style:normal;font-weight:600;font-display:block}@font-face{font-family:'DM Sans';src:url('/assets/fonts/dm-sans-700.ttf') format('truetype');font-style:normal;font-weight:700;font-display:block}@font-face{font-family:'Lilita One';src:url('/assets/fonts/lilita-one-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:block}
:root{--navy:#0b2447;--blue:#1269b0;--sky:#55c7ed;--foam:#eafaff;--lime:#b9e33f;--orange:#ff7a45;--ink:#102136;--white:#fff;--radius:24px;--shadow:0 18px 50px rgba(11,36,71,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fbfdff;font-family:'DM Sans',sans-serif;line-height:1.6}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.05}h1,h2{font-family:'Fugaz One',sans-serif;font-weight:400}h1{font-size:clamp(3rem,6.8vw,7.2rem);letter-spacing:-.045em}h2{font-size:clamp(2rem,4vw,4.2rem);letter-spacing:-.035em}h3{font-size:1.55rem}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:1rem;top:1rem;z-index:99;background:#fff;padding:.8rem}.trust-strip{display:flex;justify-content:center;gap:clamp(.8rem,3vw,3rem);flex-wrap:wrap;background:var(--navy);color:#fff;padding:.55rem 4%;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.site-header{display:flex;align-items:center;gap:2rem;padding:1rem 4%;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #dcecf4}.brand img{width:180px;height:62px}.site-header nav{display:flex;gap:1.5rem;margin-left:auto}.site-header nav a{text-decoration:none;font-weight:700;padding:.5rem 0}.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--blue)}.header-actions{display:flex;align-items:center;gap:1rem}.phone{font-weight:800;text-decoration:none}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:var(--orange);color:#111;text-decoration:none;padding:.85rem 1.35rem;font-weight:800;box-shadow:0 8px 0 #d94a19;transition:.2s transform,.2s box-shadow;cursor:pointer}.button:hover{transform:translateY(-3px);box-shadow:0 11px 0 #d94a19}.button-finance{background:var(--lime);box-shadow:0 8px 0 #7ba51e}.button-finance:hover{box-shadow:0 11px 0 #7ba51e}.button-ghost{background:#fff;border:2px solid var(--navy);box-shadow:none}.button-ghost:hover{box-shadow:none}.button-light{background:#fff;box-shadow:0 8px 0 rgba(0,0,0,.25)}.hero{min-height:730px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:4vw;padding:5rem 4% 7rem;background:radial-gradient(circle at 10% 15%,#fff 0 20%,transparent 45%),linear-gradient(135deg,var(--foam),#cceffc);overflow:hidden}.hero-copy{max-width:850px}.hero h1 em,.page-hero h1 em{color:var(--blue);font-style:normal}.hero p{font-size:1.24rem;max-width:720px}.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap;margin:2rem 0}.micro{font-size:.85rem!important;font-weight:700}.eyebrow{display:block;color:var(--blue);font-size:.8rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin-bottom:1rem}.hero-visual{position:relative}.hero-visual>img{height:560px;width:100%;object-fit:cover;border-radius:46% 54% 45% 55%/55% 45% 55% 45%;box-shadow:var(--shadow);animation:morph 9s ease-in-out infinite}.hero-sticker{position:absolute;right:-1rem;top:1rem;width:145px;height:145px;border-radius:50%;display:grid;place-content:center;text-align:center;background:var(--lime);transform:rotate(9deg);font-family:'Fugaz One';font-size:1.1rem;box-shadow:8px 8px 0 var(--navy)}.hero-sticker strong{font-size:1.6rem}.pipe-run{position:absolute;left:-12%;bottom:5%;width:112%;height:72px;background:var(--navy);border:12px solid #fff;border-radius:36px;box-shadow:var(--shadow);overflow:hidden}.ion-ball{position:absolute;top:7px;left:10px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--sky);color:#fff;font-size:.58rem;font-weight:900;animation:pipeBuster 4.2s cubic-bezier(.6,0,.2,1) infinite}.clog{position:absolute;left:67%;top:-4px;font-size:2.7rem;color:var(--orange);animation:clogShake 4.2s infinite}.burst{position:absolute;left:75%;top:3px;font-size:2rem;opacity:0;animation:burst 4.2s infinite}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);margin:-3.5rem 4% 4rem;position:relative;z-index:3;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.proof-grid article{padding:2rem;background:#fff;border-right:1px solid #d9e9f0}.proof-grid article:last-child{border:0}.proof-grid b{font-size:.8rem;color:var(--orange)}.proof-grid h2{font-family:'DM Sans';font-size:1.15rem;letter-spacing:0}.proof-grid p{font-size:.9rem;margin:0}.marquee{overflow:hidden;background:var(--sky);border-block:4px solid var(--navy);transform:rotate(-1deg);margin:4rem -1rem}.marquee div{font-family:'Fugaz One';font-size:2rem;white-space:nowrap;padding:.8rem;animation:marquee 18s linear infinite}.section{padding:6rem 6%;max-width:1600px;margin:auto}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.intro-grid p{font-size:1.18rem}.text-link{font-weight:800;color:var(--blue)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.service-card{background:#fff;border-radius:var(--radius);overflow:hidden;text-decoration:none;box-shadow:var(--shadow);padding-bottom:1.6rem;transition:.3s transform}.service-card:hover{transform:translateY(-10px) rotate(-.5deg)}.service-card img{width:100%;height:250px;object-fit:cover}.service-card span,.service-card h2,.service-card h3,.service-card p,.service-card b{display:block;margin-left:1.5rem;margin-right:1.5rem}.service-card span{color:var(--blue);font-weight:800;text-transform:uppercase;font-size:.75rem;letter-spacing:.1em;margin-top:1.4rem}.service-card h2{font-family:'DM Sans';font-size:1.65rem;letter-spacing:0}.split-feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6vw}.split-feature>img{width:100%;height:600px;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.check-list{list-style:none;padding:0}.check-list li{padding:.55rem 0 .55rem 2rem;position:relative}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--blue);font-weight:900}.reviews{background:var(--foam);max-width:none}.review-source{display:inline-block;padding:.6rem 1rem;border-radius:99px;color:#fff;text-decoration:none;font-weight:800;margin:.3rem}.google{background:#4285f4}.facebook{background:#1877f2}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.review-grid blockquote{margin:0;background:#fff;border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow)}.review-grid blockquote div{color:#f5a400}.review-note{font-size:.75rem;margin-top:1rem;color:#5d6e7f}.finance-band{display:flex;align-items:center;justify-content:space-between;gap:3rem;background:var(--blue);color:#fff;padding:4rem 6%}.finance-band h2{margin-bottom:.5rem}.site-footer{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:3rem;background:var(--navy);color:#fff;padding:5rem 6% 2rem}.site-footer h2{font-family:'DM Sans';font-size:1rem;letter-spacing:0}.site-footer p{font-size:.88rem;margin-bottom:.4rem}.footer-logo{width:190px;margin-bottom:1rem}.site-footer small{grid-column:1/-1;border-top:1px solid #315277;padding-top:1.5rem}.mobile-call{display:none}.page-hero{padding:7rem 6%;background:linear-gradient(145deg,var(--foam),#fff);text-align:center}.page-hero h1{max-width:1200px;margin:0 auto 1.5rem}.page-hero p{font-size:1.3rem;max-width:780px;margin:auto}.page-hero.compact{padding-bottom:4rem}.service-list{grid-template-columns:repeat(3,1fr)}.cta-panel{display:flex;align-items:center;justify-content:space-between;gap:2rem;background:var(--lime);border-radius:var(--radius);margin-bottom:6rem}.service-hero{display:grid;grid-template-columns:1fr .8fr;min-height:650px;align-items:center;gap:5vw;padding:5rem 6%;background:var(--foam)}.service-hero h1{font-size:clamp(3rem,5vw,6rem)}.service-hero p{font-size:1.2rem}.service-hero img{height:530px;width:100%;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.detail-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:7vw}.detail-grid article p{font-size:1.12rem}.detail-grid aside{background:var(--navy);color:#fff;padding:2.5rem;border-radius:var(--radius);align-self:start}.contact-layout{display:grid;grid-template-columns:1.4fr .6fr;gap:4vw}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;background:#fff;padding:2.5rem;border-radius:var(--radius);box-shadow:var(--shadow)}.contact-form label{display:grid;gap:.45rem;font-weight:800}.contact-form label span{color:var(--orange)}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:2px solid #c9dce8;border-radius:12px;padding:.9rem;font:inherit}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:3px solid #8edff7;border-color:var(--blue)}.contact-form .full{grid-column:1/-1}.honeypot{position:absolute!important;left:-9999px!important}.contact-layout aside{background:var(--foam);border-radius:var(--radius);padding:2.5rem}.mini-finance{background:var(--lime);padding:1.2rem;border-radius:16px;font-weight:800}.mini-finance a{display:block}.location-layout{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}.location-layout>img{border-radius:var(--radius);box-shadow:var(--shadow)}.town-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin:2rem 0}.town-grid span{background:var(--foam);border-radius:99px;padding:.6rem 1rem;text-align:center;font-weight:700}.reveal{opacity:0;transform:translateY(30px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}.success-box{max-width:800px;margin:6rem auto;text-align:center;padding:4rem;background:var(--foam);border-radius:var(--radius)}
@keyframes morph{0%,100%{border-radius:46% 54% 45% 55%/55% 45% 55% 45%}50%{border-radius:55% 45% 54% 46%/45% 58% 42% 55%}}@keyframes pipeBuster{0%{left:10px}55%{left:61%}62%{left:62%;transform:scale(.8)}72%,100%{left:105%;transform:scale(1.25)}}@keyframes clogShake{0%,50%,70%,100%{transform:rotate(0)}55%{transform:rotate(-16deg)}60%{transform:rotate(18deg)}72%,100%{opacity:0}}@keyframes burst{0%,60%{opacity:0;transform:scale(.2)}68%{opacity:1;transform:scale(1.5)}85%,100%{opacity:0;transform:scale(2)}}@keyframes marquee{to{transform:translateX(-50%)}}
@media(max-width:1050px){.site-header nav{position:absolute;display:none;top:100%;left:0;right:0;background:#fff;padding:1.5rem;flex-direction:column}.site-header nav.open{display:flex}.menu-toggle{display:block;margin-left:auto}.header-actions .phone{display:none}.hero,.service-hero{grid-template-columns:1fr}.hero{padding-top:3rem}.hero-visual{max-width:700px}.proof-grid{grid-template-columns:1fr 1fr}.card-grid,.service-list{grid-template-columns:1fr 1fr}.site-footer{grid-template-columns:1fr 1fr}}
@media(max-width:700px){body{padding-bottom:56px}.trust-strip span:nth-child(n+4){display:none}.site-header{padding:.7rem 4%}.brand img{width:138px;height:48px}.header-actions{display:none}.hero{min-height:auto;padding:3rem 5% 5rem}.hero h1{font-size:3.5rem}.hero-visual>img{height:390px}.hero-sticker{width:110px;height:110px}.proof-grid{grid-template-columns:1fr;margin-top:-2rem}.intro-grid,.split-feature,.detail-grid,.contact-layout,.location-layout{grid-template-columns:1fr}.section{padding:4rem 5%}.section-heading,.finance-band,.cta-panel{align-items:flex-start;flex-direction:column}.card-grid,.service-list,.review-grid{grid-template-columns:1fr}.split-feature>img{height:420px}.service-hero{padding:4rem 5%}.service-hero img{height:400px}.contact-form{grid-template-columns:1fr;padding:1.4rem}.contact-form .full{grid-column:auto}.town-grid{grid-template-columns:1fr 1fr}.site-footer{grid-template-columns:1fr}.mobile-call{display:block;position:fixed;z-index:40;bottom:0;left:0;right:0;background:var(--orange);color:#111;text-align:center;padding:.8rem;font-weight:900;text-decoration:none}.marquee div{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

/* Motion and review experience — intentionally visible after the page has loaded. */
.brand img{width:215px;height:72px;object-fit:contain}
.hero-visual>img{animation:morph 9s ease-in-out infinite,heroFloat 4.8s ease-in-out infinite}
.hero-sticker{animation:stickerBob 3.2s ease-in-out infinite}
.hero-copy h1 em{display:inline-block;background:linear-gradient(100deg,var(--blue) 20%,var(--sky) 45%,var(--blue) 70%);background-size:220% auto;color:transparent;background-clip:text;-webkit-background-clip:text;animation:waterShine 3.5s linear infinite}
.hero-bubbles{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:46% 54% 45% 55%/55% 45% 55% 45%}
.hero-bubbles i{position:absolute;bottom:-35px;width:16px;height:16px;border:3px solid rgba(255,255,255,.9);background:rgba(85,199,237,.28);border-radius:50%;animation:bubbleUp 4.6s ease-in infinite}
.hero-bubbles i:nth-child(1){left:12%;animation-delay:.2s}.hero-bubbles i:nth-child(2){left:31%;width:25px;height:25px;animation-delay:1.4s}.hero-bubbles i:nth-child(3){left:54%;width:12px;height:12px;animation-delay:2.5s}.hero-bubbles i:nth-child(4){left:72%;width:21px;height:21px;animation-delay:3.2s}.hero-bubbles i:nth-child(5){left:87%;animation-delay:1.9s}
.service-card img{transition:transform .55s cubic-bezier(.2,.8,.2,1)}.service-card:hover img{transform:scale(1.07) rotate(.7deg)}
.proof-grid article{transition:transform .25s ease,background .25s ease}.proof-grid article:hover{background:var(--foam);transform:translateY(-7px);z-index:2}
.split-feature>img{animation:photoBreath 6s ease-in-out infinite}
.pipe-run{display:none!important}

.reviews{background:var(--orange);padding-block:6rem;position:relative;overflow:hidden}
.reviews:before,.reviews:after{content:'';position:absolute;background:var(--navy);opacity:.95;transform:skew(-13deg);width:28px;height:130%;top:-15%;z-index:0}
.reviews:before{left:3%}.reviews:after{right:3%}
.review-frame{position:relative;z-index:1;max-width:1280px;margin:auto;background:#fff;border:10px solid #141414;outline:4px solid #fff;box-shadow:0 0 0 15px #141414,0 22px 55px rgba(11,36,71,.28);padding:clamp(2rem,5vw,5rem);text-align:center}
.review-kicker{font-size:.78rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:var(--orange);margin-bottom:.7rem}
.review-frame h2{color:#141414;margin-bottom:2.4rem}
.review-carousel{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:1rem;text-align:left}
.review-window{overflow:hidden;padding:1rem .3rem 1.8rem}
.review-track{display:flex;gap:1.5rem;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.review-card{position:relative;flex:0 0 calc(50% - .75rem);min-height:255px;margin:0;background:#fff;padding:2rem 2rem 1.7rem 3.5rem;border:1px solid #eef0f2;box-shadow:0 14px 28px rgba(11,36,71,.13);display:flex;flex-direction:column}
.review-card p{font-size:1.04rem;line-height:1.55;flex:1}.review-card footer{display:flex;align-items:center;gap:1rem}.review-card footer span:last-child{display:grid}.review-card footer small{color:#73808b}.avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:1.25rem;font-weight:900}
.source-tab{position:absolute;left:-1px;top:1.5rem;color:#fff;padding:.7rem .45rem;writing-mode:vertical-rl;transform:rotate(180deg);font-weight:800;letter-spacing:.05em;text-decoration:none}.google-tab{background:#18b94d}.facebook-tab{background:#1877f2}.nextdoor-tab{background:#258f55}.yelp-tab{background:#d32323}.yahoo-tab{background:#6001d2}.bbb-tab{background:#1269b0}.stars{color:#ffb400;font-size:1.35rem;letter-spacing:.08em}
.review-arrow{width:46px;height:46px;border-radius:50%;border:3px solid #141414;background:#fff;font-size:2rem;line-height:1;cursor:pointer;transition:.2s}.review-arrow:hover{background:var(--lime);transform:scale(1.08)}
.review-actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:1rem}.review-note{margin:1.5rem 0 0;color:#6c747b}.review-source-links{margin-top:1.5rem}.review-source.nextdoor{background:#8cc63f}.review-source.yelp{background:#d32323}.review-source.yahoo{background:#6001d2}.review-source.bbb-source{background:#1269b0}

@keyframes heroFloat{0%,100%{transform:translateY(0) rotate(-.3deg)}50%{transform:translateY(-13px) rotate(.4deg)}}
@keyframes stickerBob{0%,100%{transform:rotate(9deg) translateY(0)}50%{transform:rotate(5deg) translateY(-11px)}}
@keyframes waterShine{to{background-position:-220% center}}
@keyframes bubbleUp{0%{transform:translateY(0) scale(.55);opacity:0}15%{opacity:1}80%{opacity:.8}100%{transform:translateY(-520px) scale(1.25);opacity:0}}
@keyframes photoBreath{0%,100%{border-radius:24px 24px 24px 24px}50%{border-radius:42px 20px 38px 18px}}

@media(max-width:700px){.brand img{width:155px;height:54px}.review-frame{border-width:6px;box-shadow:0 0 0 8px #141414;padding:2rem 1rem}.review-carousel{grid-template-columns:36px 1fr 36px;gap:.35rem}.review-arrow{width:34px;height:34px;font-size:1.5rem}.review-card{flex-basis:100%;padding:1.6rem 1.2rem 1.4rem 2.8rem}.reviews:before,.reviews:after{display:none}}

/* Three-tier header inspired by the requested reference layout. */
.utility-strip{display:grid;grid-template-columns:1.25fr 1fr 1fr .8fr;align-items:stretch;background:var(--blue);color:#fff;padding:0 5%;border-radius:0 0 24px 24px;overflow:hidden;font-size:.76rem;font-weight:900;letter-spacing:.025em;text-transform:uppercase}
.utility-strip>*{display:flex;align-items:center;justify-content:center;min-height:42px;padding:.55rem 1rem;text-align:center;text-decoration:none;border-right:1px solid rgba(255,255,255,.22)}.utility-strip>*:first-child{background:var(--navy)}.utility-strip>*:last-child{border-right:0;background:#3188c4}.utility-strip a:hover{background:var(--orange);color:#111}
.site-header{position:relative;top:auto;display:grid;grid-template-columns:minmax(220px,1fr) minmax(560px,2.4fr) minmax(210px,.9fr);align-items:center;gap:2rem;padding:1.2rem 4%;border:0;box-shadow:none;background:#fff}
.site-header .brand{justify-self:start}.site-header .brand img{width:245px;height:92px}
.trust-badges{display:flex;align-items:center;justify-content:center;gap:.75rem;min-width:0}.trust-badge{display:flex;align-items:center;gap:.5rem;min-height:58px;padding:.45rem .65rem;border:3px solid var(--navy);border-radius:12px;background:#fff;box-shadow:3px 3px 0 rgba(11,36,71,.18);color:inherit;text-decoration:none;font-size:.7rem;font-weight:900;line-height:1.05;text-transform:uppercase;white-space:nowrap}.trust-badge b{display:grid;place-items:center;flex:0 0 35px;height:35px;border-radius:50%;background:var(--sky);font-size:1rem}.trust-badge small{font-size:.65rem}.trust-badge.human{background:#101820;color:#fff}.trust-badge.human b{background:#fff;color:#111}.trust-badge.texas{border-color:var(--orange)}.trust-badge.texas b{background:var(--orange)}.trust-badge.bbb{border-color:var(--blue)}.trust-badge.bbb b{background:var(--blue);color:#fff}
.header-call{display:grid;justify-items:center;justify-self:end;gap:.35rem}.phone-button{display:block;border-radius:22px 6px 22px 6px;background:var(--orange);color:#111;padding:.9rem 1.2rem;text-decoration:none;font-size:1.05rem;font-weight:950;box-shadow:0 7px 0 #cb4e1c;white-space:nowrap;transition:.2s}.phone-button:hover{transform:translateY(-3px);box-shadow:0 10px 0 #cb4e1c}.header-call small{font-weight:800;color:var(--navy)}
.nav-bar{position:sticky;top:0;z-index:21;display:flex;justify-content:center;gap:clamp(1.5rem,4vw,4.5rem);padding:.85rem 4%;background:var(--navy);border-radius:16px 16px 0 0;color:#fff}.nav-bar a{padding:.35rem .2rem;text-decoration:none;font-size:1.02rem;font-weight:900}.nav-bar a span{color:var(--sky);margin-left:.3rem}.nav-bar a:hover,.nav-bar a[aria-current]{color:var(--lime)}
.menu-toggle{border:2px solid var(--navy);border-radius:99px;background:#fff;padding:.55rem 1rem;font-weight:900}

@media(max-width:1350px){.site-header{grid-template-columns:210px 1fr 210px;gap:1rem}.site-header .brand img{width:205px}.trust-badges{gap:.4rem}.trust-badge{padding:.35rem .45rem}.trust-badge small{font-size:.57rem}.trust-badge.bbb{display:none}}
@media(max-width:980px){.utility-strip{grid-template-columns:1fr 1fr}.utility-strip>*:nth-child(2),.utility-strip>*:nth-child(4){display:none}.site-header{grid-template-columns:1fr auto auto;padding:.8rem 4%}.site-header .brand img{width:180px;height:68px}.trust-badges{display:none}.header-call small{display:none}.phone-button{padding:.7rem .9rem;font-size:.86rem}.menu-toggle{display:block}.nav-bar{display:none;position:absolute;top:auto;left:0;right:0;border-radius:0;flex-direction:column;gap:.4rem;padding:1rem 5%;z-index:30}.nav-bar.open{display:flex}}
@media(max-width:560px){.utility-strip{display:block;padding:0}.utility-strip>*{display:none!important}.utility-strip>*:first-child{display:flex!important;min-height:34px}.site-header{grid-template-columns:1fr auto}.header-call{display:none}.site-header .brand img{width:160px}.nav-bar{font-size:.95rem}}

.service-depth,.area-story{display:grid;grid-template-columns:.75fr 1.25fr;gap:7vw;align-items:start;background:var(--foam);border-radius:var(--radius)}
.process-list{counter-reset:steps;display:grid;grid-template-columns:1fr 1fr;gap:1rem;list-style:none;margin:0;padding:0}.process-list li{position:relative;display:grid;gap:.35rem;min-height:150px;padding:1.5rem 1.5rem 1.5rem 4.2rem;background:#fff;border-radius:18px;box-shadow:var(--shadow)}.process-list li:before{counter-increment:steps;content:'0' counter(steps);position:absolute;left:1.2rem;top:1.3rem;color:var(--orange);font-family:'Fugaz One';font-size:1.3rem}.process-list b{font-size:1.15rem}.process-list span{font-size:.92rem}
.rich-copy{max-width:1100px}.rich-copy p{font-size:1.12rem}.faq-section{max-width:1150px}.faq-list{display:grid;gap:.8rem}.faq-list details{background:#fff;border:2px solid #d5e6ef;border-radius:16px;overflow:hidden}.faq-list summary{cursor:pointer;padding:1.2rem 3.5rem 1.2rem 1.3rem;font-weight:900;position:relative}.faq-list summary:after{content:'+';position:absolute;right:1.3rem;top:.8rem;color:var(--blue);font-size:1.8rem}.faq-list details[open] summary:after{content:'−'}.faq-list details p{padding:0 1.3rem 1.3rem;margin:0}.area-story p,.area-detail article p{font-size:1.08rem}.local-services{text-align:center}.service-town-grid{grid-template-columns:repeat(4,1fr)}.service-town-grid span{border:2px solid #cfe4ef;background:#fff}
@media(max-width:800px){.service-depth,.area-story{grid-template-columns:1fr}.process-list{grid-template-columns:1fr}.service-town-grid{grid-template-columns:1fr 1fr}}

/* ION palette refinement: blue-forward, with lime reserved for financing. */
:root{--orange:#55c7ed}
.button{background:var(--sky);box-shadow:0 8px 0 #168ebd}.button:hover{box-shadow:0 11px 0 #168ebd}.button-finance{background:var(--lime);box-shadow:0 8px 0 #7ba51e}.button-finance:hover{box-shadow:0 11px 0 #7ba51e}.phone-button{background:var(--sky);box-shadow:0 7px 0 #168ebd}.phone-button:hover{box-shadow:0 10px 0 #168ebd}.utility-strip a:hover{background:var(--lime)}.trust-badge.texas{border-color:var(--blue)}.trust-badge.texas b{background:var(--sky)}

/* Larger, flatter trust marks like the reference header's certification row. */
.trust-badges{gap:1rem}.trust-badge{min-height:68px;padding:.5rem .8rem;border-width:2px;border-radius:5px;box-shadow:none;background:#f7fcff}.trust-badge b{flex-basis:42px;height:42px;font-size:1.12rem}.trust-badge small{font-size:.78rem;line-height:1.12;letter-spacing:.015em}.trust-badge.human{background:#101820}.trust-badge.preferred{background:#dff6ff;border-color:#69c9e7}.trust-badge.safety{border-color:#6d84d8}.trust-badge.safety b{background:#dbe5ff}.trust-badge.texas{background:#eaf8ff}.trust-badge.texas b{color:var(--navy)}

/* Full-width cutaway hydro-jetting animation. */
.hydro-demo{position:relative;width:100%;height:260px;overflow:hidden;background:var(--navy);border-block:8px solid #b8d6e4;isolation:isolate}.hydro-copy{position:absolute;z-index:8;left:5%;top:50%;display:grid;transform:translateY(-50%);color:#fff;text-shadow:0 2px 8px var(--navy);pointer-events:none}.hydro-copy span{color:var(--lime);font-size:.75rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.hydro-copy strong{font-family:'Fugaz One';font-size:clamp(1.35rem,2.7vw,2.8rem);line-height:1.05}.pipe-cutaway{position:absolute;inset:0;background:radial-gradient(ellipse at center,#153d65 0 35%,#09213b 70%);overflow:hidden}.pipe-wall{position:absolute;z-index:5;left:0;width:100%;height:58px;background:linear-gradient(#dcecf2,#8eb0bf 48%,#547687 52%,#b9d1dc);box-shadow:0 5px 18px rgba(0,0,0,.55)}.pipe-wall:after{content:'';position:absolute;inset:10px 0;background:repeating-linear-gradient(90deg,transparent 0 95px,rgba(255,255,255,.24) 97px 99px,rgba(11,36,71,.18) 101px 104px)}.pipe-wall-top{top:0}.pipe-wall-bottom{bottom:0;transform:scaleY(-1)}
.water-surge{position:absolute;z-index:2;left:-48%;top:63px;width:66%;height:134px;background:linear-gradient(90deg,#087eca 0%,#24b7ef 68%,#dff9ff 100%);border-radius:0 70% 70% 0;filter:drop-shadow(18px 0 14px rgba(85,199,237,.65));animation:waterCharge 5.8s cubic-bezier(.45,0,.2,1) infinite}.water-surge:after{content:'';position:absolute;right:-40px;top:20px;width:80px;height:94px;background:radial-gradient(ellipse at left,#eafcff 0 18%,#55c7ed 20% 45%,transparent 48%);filter:blur(2px)}.water-surge i{position:absolute;width:18px;height:18px;border-radius:50%;background:#dffaff;right:-55px}.water-surge i:nth-child(1){top:8px}.water-surge i:nth-child(2){top:55px;right:-76px;width:12px;height:12px}.water-surge i:nth-child(3){bottom:8px;right:-48px;width:25px;height:25px}
.clog-pack{position:absolute;z-index:3;left:72%;top:67px;width:150px;height:125px;animation:clogLaunch 5.8s cubic-bezier(.65,0,.2,1) infinite}.clog-pack i{position:absolute;border-radius:45% 55% 50% 40%;background:linear-gradient(135deg,#79543b,#382719);box-shadow:inset 5px 5px 0 rgba(255,255,255,.08),0 4px 8px rgba(0,0,0,.45)}.clog-pack i:nth-child(1){width:72px;height:69px;left:4px;top:13px}.clog-pack i:nth-child(2){width:82px;height:78px;right:4px;top:2px}.clog-pack i:nth-child(3){width:75px;height:67px;left:20px;bottom:0}.clog-pack i:nth-child(4){width:54px;height:54px;right:10px;bottom:5px}.clog-pack i:nth-child(5){width:48px;height:48px;left:57px;top:32px;background:#60402c}
.jet-burst{position:absolute;z-index:4;left:75%;top:70px;width:130px;height:120px;opacity:0;animation:burstShow 5.8s ease infinite}.jet-burst i{position:absolute;width:18px;height:9px;border-radius:50%;background:#dffaff;animation:debrisFly 5.8s ease-out infinite}.jet-burst i:nth-child(1){top:5px}.jet-burst i:nth-child(2){top:28px;left:45px}.jet-burst i:nth-child(3){top:65px;left:70px}.jet-burst i:nth-child(4){top:100px;left:20px}.jet-burst i:nth-child(5){top:82px;left:100px}
.finance-band>.button,.finance-band .button-light{flex:0 0 auto;width:auto!important;min-width:0;height:auto;min-height:0;padding:.7rem 1.15rem;white-space:nowrap;font-size:1.05rem;line-height:1.15;align-self:center}
@keyframes waterCharge{0%,15%{transform:translateX(0)}55%,72%{transform:translateX(152%)}84%,100%{transform:translateX(235%);opacity:0}}
@keyframes clogLaunch{0%,52%{transform:translateX(0) rotate(0);opacity:1}66%{transform:translateX(15vw) rotate(18deg);opacity:1}78%,100%{transform:translateX(45vw) rotate(65deg);opacity:0}}
@keyframes burstShow{0%,51%{opacity:0;transform:scale(.4)}58%{opacity:1;transform:scale(1.1)}76%,100%{opacity:0;transform:translateX(28vw) scale(1.6)}}
@keyframes debrisFly{0%,52%{transform:translate(0,0)}76%,100%{transform:translate(20vw,var(--fly,20px)) rotate(90deg)}}
@media(max-width:1350px){.trust-badges{gap:.55rem}.trust-badge{padding:.45rem .55rem}.trust-badge small{font-size:.68rem}.trust-badge b{flex-basis:37px;height:37px}}
@media(max-width:800px){.hydro-demo{height:220px}.hydro-copy{left:4%;top:25%;max-width:55%}.pipe-wall{height:46px}.water-surge{top:51px;height:118px}.clog-pack{top:52px;transform:scale(.85);transform-origin:center}.finance-band>.button,.finance-band .button-light{font-size:1rem}}

/* Self-contained GIF version: remains animated even when CSS motion is reduced. */
.hydro-demo{height:auto;min-height:260px;border:0;background:#071a2e}.hydro-demo>img{display:block;width:100%;height:auto;min-height:260px;object-fit:cover}.hydro-demo .hydro-copy{left:5%;top:50%;max-width:39%;padding:1rem 1.2rem;border-left:0;background:linear-gradient(90deg,rgba(7,26,46,.82),rgba(7,26,46,.3),transparent);pointer-events:auto}.hydro-demo .hydro-copy a{color:#fff;font-size:.9rem;font-weight:900;margin-top:.65rem;text-underline-offset:4px}.inline-actions{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}.finance-text-link{white-space:nowrap}.hero-buttons .button-finance{background:var(--lime)}
@media(max-width:800px){.hydro-demo,.hydro-demo>img{min-height:210px}.hydro-demo .hydro-copy{top:50%;max-width:58%;padding:.65rem .8rem}.hydro-demo .hydro-copy strong{font-size:1.2rem}.hydro-demo .hydro-copy a{font-size:.75rem}}

/* Responsive hardening across phones, tablets, laptops, and wide displays. */
html,body{width:100%;max-width:100%;overflow-x:clip}img,video,iframe{max-width:100%;height:auto}.site-header,.hero,.section,.finance-band,.site-footer{min-width:0}.hero-copy,.hero-visual,.split-feature>div,.location-layout>div,.contact-layout>*{min-width:0}.contact-form input,.contact-form select,.contact-form textarea{min-width:0}.nav-bar a,.button,.phone-button,.mobile-call{min-height:44px;align-items:center}
@media(max-width:1100px){.hero{min-height:auto}.hero h1{font-size:clamp(3.3rem,7.5vw,5.4rem)}.hero-visual>img{height:480px}.section{padding-left:5%;padding-right:5%}.service-card img{height:225px}}
@media(max-width:900px){.split-feature,.detail-grid,.contact-layout,.location-layout{grid-template-columns:1fr}.contact-layout{gap:2rem}.contact-form{max-width:100%}.split-feature>img,.location-layout>img{max-height:520px}.detail-grid aside{width:100%}}
@media(max-width:800px){.hero{gap:3rem}.hero h1{font-size:clamp(3rem,10vw,4.4rem)}.hero-visual{width:100%}.hero-visual>img{height:440px}.proof-grid{margin-left:4%;margin-right:4%}.section-heading{align-items:flex-start}.finance-band{padding:3rem 5%}.site-footer{padding:4rem 5% 6rem}.hydro-demo .hydro-copy{max-width:64%}.review-window{min-width:0}.review-card{min-width:0}.town-grid span{overflow-wrap:anywhere}}
@media(max-width:560px){.hero{padding:2.7rem 5% 4rem}.hero h1{font-size:clamp(2.8rem,14.5vw,3.45rem);line-height:1.03}.hero p{font-size:1.06rem}.hero-buttons{display:grid;grid-template-columns:1fr;margin:1.4rem 0}.hero-buttons .button{width:100%;white-space:normal;text-align:center}.hero-visual>img{height:340px}.hero-sticker{right:.2rem;top:-1.2rem;width:96px;height:96px;font-size:.88rem}.hero-sticker strong{font-size:1.2rem}.proof-grid article{padding:1.45rem}.marquee{margin-block:2.8rem}.marquee div{font-size:1.15rem}.section{padding:3.5rem 5%}.section h2{font-size:clamp(1.9rem,10vw,2.8rem)}.service-card img{height:220px}.split-feature>img{height:340px}.finance-band{gap:1.5rem}.finance-band>.button,.finance-band .button-light{width:100%!important;white-space:normal}.site-footer{grid-template-columns:1fr;gap:2rem}.contact-layout aside,.contact-form{padding:1.25rem}.town-grid,.service-town-grid{grid-template-columns:1fr}.hydro-demo,.hydro-demo>img{min-height:190px}.hydro-demo .hydro-copy{left:4%;max-width:68%;padding:.55rem .65rem}.hydro-demo .hydro-copy strong{font-size:1.05rem}.hydro-demo .hydro-copy a{font-size:.7rem}.review-card p{font-size:.92rem}.review-actions .button{width:100%}.inline-actions{align-items:flex-start;flex-direction:column}.service-hero img{height:310px}.page-hero{padding:4rem 5%}.page-hero p{font-size:1.08rem}}
@media(max-width:380px){.site-header .brand img{width:140px}.menu-toggle{padding:.5rem .8rem}.hero h1{font-size:2.75rem}.hydro-demo .hydro-copy{max-width:72%}.review-carousel{grid-template-columns:30px 1fr 30px}.review-arrow{width:30px;height:30px}.contact-form{padding:1rem}}

/* Keep compact navigation available while scrolling on phones and tablets. */
@media(max-width:1050px){.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.97);box-shadow:0 8px 24px rgba(11,36,71,.12);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.nav-bar{position:fixed;top:var(--sticky-header-height,94px);left:0;right:0;z-index:39;max-height:calc(100dvh - var(--sticky-header-height,94px));overflow-y:auto;border-radius:0;box-shadow:0 18px 35px rgba(11,36,71,.25)}.nav-bar.open{display:flex}}

/* The browser owns page scrolling; conceal the compact menu's internal track. */
html{overflow-y:auto}body{overflow-y:visible}.nav-bar{scrollbar-width:none;-ms-overflow-style:none}.nav-bar::-webkit-scrollbar{display:none;width:0;height:0}

/* Homepage trust blocks: meaningful labels instead of decorative numbers. */
.proof-grid article{position:relative;padding-top:2.3rem}.proof-grid b{display:inline-flex;align-items:center;min-height:30px;margin-bottom:.85rem;padding:.25rem .75rem;border-radius:999px;background:var(--navy);color:#fff;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.proof-grid article:nth-child(2) b{background:var(--blue)}.proof-grid article:nth-child(3) b{background:#167f9e}.proof-grid article:nth-child(4) b{background:#4164a5}.proof-grid h2{font-family:'Fugaz One';font-size:clamp(1.15rem,1.6vw,1.6rem);color:var(--navy);line-height:1.1;margin-bottom:.8rem}

/* Dedicated financing page. */
.finance-hero{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:6vw;min-height:680px;padding:6rem 6%;background:radial-gradient(circle at 80% 30%,rgba(185,227,63,.24),transparent 28%),linear-gradient(135deg,var(--foam),#fff)}.finance-hero h1{font-size:clamp(3.6rem,6.5vw,7rem)}.finance-hero h1 em{display:block;color:var(--blue);font-style:normal}.finance-hero p{max-width:740px;font-size:1.2rem}.finance-hero small{display:block;max-width:760px;color:#576a78}.finance-visual{position:relative;display:grid;place-items:center;min-height:480px}.finance-drop{position:absolute;z-index:2;top:0;right:10%;display:grid;place-items:center;width:150px;height:180px;border-radius:60% 60% 65% 65%/70% 70% 40% 40%;background:var(--sky);color:var(--navy);font-family:'Fugaz One';font-size:4rem;transform:rotate(8deg);box-shadow:10px 12px 0 var(--navy);animation:stickerBob 3.2s ease-in-out infinite}.finance-card{position:relative;width:min(100%,520px);padding:3.3rem;border-radius:30px;background:var(--navy);color:#fff;box-shadow:var(--shadow);transform:rotate(-3deg)}.finance-card span{display:block;color:var(--lime);font-weight:900;text-transform:uppercase;letter-spacing:.13em}.finance-card strong{display:block;font-family:'Fugaz One';font-size:clamp(2rem,4vw,3.7rem);line-height:1;margin:.7rem 0 1rem}.finance-card p{font-size:1rem;margin:0}.finance-benefits{text-align:center}.finance-benefits>div:first-child{max-width:900px;margin:auto}.finance-benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin:3rem 0}.finance-benefit-grid article{padding:2rem;text-align:left;border:2px solid #d8eaf2;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.finance-benefit-grid article>b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--lime);color:var(--navy);margin-bottom:1rem}.finance-benefit-grid h3{color:var(--navy)}.finance-steps{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;background:var(--foam);border-radius:var(--radius)}.finance-steps ol{display:grid;gap:1rem;margin:0;padding:0;list-style:none}.finance-steps li{display:flex;gap:1.2rem;align-items:flex-start;padding:1.4rem;background:#fff;border-radius:18px}.finance-steps li>span{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:50%;background:var(--blue);color:#fff;font-family:'Fugaz One';font-size:1.2rem}.finance-steps li b{font-size:1.15rem}.finance-steps li p{margin:.35rem 0 0}.finance-final{max-width:1200px;margin:2rem auto 7rem;padding:5rem;text-align:center;border-radius:var(--radius);background:var(--navy);color:#fff}.finance-final .eyebrow{color:var(--lime)}.finance-final p{font-size:1.15rem}.finance-final .button{margin-top:1rem}
@media(max-width:1000px){.finance-hero{grid-template-columns:1fr;min-height:auto}.finance-visual{min-height:390px}.finance-steps{grid-template-columns:1fr}.finance-benefit-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.finance-hero{padding:4rem 5%}.finance-hero h1{font-size:clamp(3rem,14vw,4.5rem)}.finance-visual{min-height:330px}.finance-drop{width:100px;height:120px;font-size:2.8rem}.finance-card{padding:2rem;transform:rotate(-1deg)}.finance-benefit-grid{grid-template-columns:1fr}.finance-final{margin:1rem 5% 5rem;padding:3rem 1.5rem}.proof-grid h2{font-size:1.4rem}}

/* Stable, seamless ticker with no clipped starting text or layout shift. */
.marquee{width:100%;height:76px;margin:4rem 0;display:flex;align-items:center;overflow:hidden;transform:none;border-block:4px solid var(--navy);contain:layout paint;background:var(--sky)}.marquee .marquee-track{display:flex;align-items:center;width:max-content;min-width:max-content;padding:0;white-space:nowrap;animation:ionTicker 24s linear infinite;will-change:transform}.marquee .marquee-track span{display:block;flex:0 0 auto;padding:0 2rem;font-family:'Fugaz One',Impact,sans-serif;font-size:2rem;line-height:1;color:var(--navy)}@keyframes ionTicker{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:700px){.marquee{height:60px;margin:3rem 0}.marquee .marquee-track span{padding:0 1.2rem;font-size:1.25rem}}

/* Slanted, seamless service ticker moving continuously from left to right. */
.marquee{position:relative;width:calc(100% + 48px);height:80px;margin:4rem -24px;padding:0;display:flex;align-items:center;overflow:hidden;transform:rotate(-1deg);transform-origin:center;contain:layout paint;background:var(--sky);border-block:4px solid var(--navy)}.marquee:before,.marquee:after{content:'';position:absolute;z-index:2;top:0;bottom:0;width:54px;pointer-events:none}.marquee:before{left:0;background:linear-gradient(90deg,var(--sky),rgba(85,199,237,0))}.marquee:after{right:0;background:linear-gradient(270deg,var(--sky),rgba(85,199,237,0))}.marquee .marquee-track{display:flex;align-items:center;justify-content:flex-start;width:max-content;min-width:max-content;padding:0;white-space:nowrap;animation:ionTickerRight 25s linear infinite!important;animation-play-state:running!important;will-change:transform}.marquee .marquee-track span{display:block;flex:0 0 auto;width:auto;padding:0 1.2rem;text-align:left;white-space:nowrap;font-family:'Fugaz One',Impact,sans-serif;font-size:clamp(1.05rem,1.8vw,1.8rem);line-height:1;letter-spacing:.018em;word-spacing:.14em;color:var(--navy)}@keyframes ionTickerRight{from{transform:translate3d(-50%,0,0)}to{transform:translate3d(0,0,0)}}
.team-spotlight{display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:1.25rem;max-width:680px;margin-top:1.8rem;padding:0 1.3rem 0 0;overflow:hidden;border:3px solid var(--navy);border-radius:18px;background:var(--sky);color:var(--navy);text-decoration:none;box-shadow:7px 7px 0 var(--navy);transition:transform .2s ease,box-shadow .2s ease}.team-spotlight:hover{transform:translate(-2px,-3px);box-shadow:10px 10px 0 var(--navy)}.plumber-character{width:180px;height:150px;object-fit:cover;object-position:38% center;border-right:3px solid var(--navy)}.team-spotlight small,.team-spotlight strong{display:block}.team-spotlight small{font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.team-spotlight strong{font-family:'Fugaz One',sans-serif;font-size:clamp(1.2rem,2vw,1.75rem);line-height:1.08}.team-spotlight>b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--navy);color:#fff;font-size:1.45rem}
/* Preserve the playful display face on all prominent page titles. */
.hero h1,.page-hero h1,.service-hero h1,.section>h2,.section-heading h2,.intro-grid h2,.split-feature h2,.reviews h2,.finance-band h2,.cta-panel h2,.finance-hero h1,.finance-final h2{font-family:'Fugaz One',Impact,sans-serif!important;font-weight:400;font-style:normal}
.hero h1{font-size:clamp(3.2rem,4.7vw,5.7rem);line-height:1.2;padding-bottom:.16em}.hero h1>span,.hero h1>em,.hero h1 em>span{display:block;white-space:nowrap}.hero h1 em>span{padding-bottom:.06em}
@media(max-width:700px){.marquee{width:calc(100% + 24px);height:72px;margin:3rem -12px;transform:rotate(-.8deg)}.marquee .marquee-track span{padding:0 .8rem;font-size:1.15rem}.team-spotlight{grid-template-columns:110px 1fr auto;gap:.7rem;padding-right:.8rem}.plumber-character{width:110px;height:132px}.team-spotlight strong{font-size:1.12rem}.team-spotlight>b{width:34px;height:34px}}

/* Compact site-wide rhythm and refreshed playful display type. */
h1,h2,.hero-sticker,.marquee div,.marquee .marquee-track span,.process-list li:before,.hydro-copy strong,.proof-grid h2,.finance-drop,.finance-card strong,.finance-steps li>span,.team-spotlight strong,.hero h1,.page-hero h1,.service-hero h1,.section>h2,.section-heading h2,.intro-grid h2,.split-feature h2,.reviews h2,.finance-band h2,.cta-panel h2,.finance-hero h1,.finance-final h2{font-family:'Lilita One','Arial Black',sans-serif!important;font-weight:400;font-style:normal}
.section{padding-top:3rem;padding-bottom:3rem}
.hero{padding-top:2.5rem;padding-bottom:3.5rem;min-height:620px}
.page-hero{padding-top:3.5rem;padding-bottom:3.5rem}
.page-hero.compact{padding-bottom:2rem}
.service-hero{padding-top:2.5rem;padding-bottom:2.5rem;min-height:560px}
.finance-hero{padding-top:3rem;padding-bottom:3rem;min-height:520px}
.finance-band{padding-top:2rem;padding-bottom:2rem}
.finance-final{margin-top:1rem;margin-bottom:3.5rem;padding-top:2.5rem;padding-bottom:2.5rem}
.site-footer{padding-top:2.5rem;padding-bottom:1rem}
.proof-grid{margin-bottom:2rem}
.marquee{margin-top:2rem;margin-bottom:2rem}
.cta-panel{margin-bottom:3rem}
.section-heading{margin-bottom:1.25rem}
.finance-benefit-grid{margin-top:1.5rem;margin-bottom:1.5rem}
@media(max-width:700px){.section{padding-top:2rem;padding-bottom:2rem}.hero{padding-top:1.5rem;padding-bottom:2.5rem;min-height:auto}.page-hero,.service-hero,.finance-hero{padding-top:2rem;padding-bottom:2rem;min-height:auto}.marquee{margin-top:1.5rem;margin-bottom:1.5rem}.finance-band{padding-top:1.5rem;padding-bottom:1.5rem}.finance-final{margin-top:.5rem;margin-bottom:2.5rem;padding-top:2rem;padding-bottom:2rem}.site-footer{padding-top:2.5rem;padding-bottom:5rem}.cta-panel{margin-bottom:2rem}}

/* Contact-page line control and anchored-section clearance. */
.contact-hero-intro span{display:block}.contact-hero-intro a{white-space:nowrap}#hiring-local-texans{scroll-margin-top:190px}
@media(max-width:700px){.contact-hero-intro span{display:inline}.contact-hero-intro span+span:before{content:' '}#hiring-local-texans{scroll-margin-top:150px}}
@media(max-width:700px){.hero h1{font-size:clamp(2.65rem,12vw,3.35rem);line-height:1.16}.hero h1>span,.hero h1>em,.hero h1 em>span{white-space:normal}}
/* Financing headline control for desktop layouts. */
@media(min-width:1001px){.finance-hero h1{font-size:clamp(3.4rem,4vw,5.3rem);line-height:1.08}.finance-hero h1>span,.finance-hero h1>em{display:block;white-space:nowrap}.finance-final h2{white-space:nowrap}}
.intro-grid h2>span,.hydro-copy strong>span{display:block;white-space:nowrap}.intro-grid h2{line-height:1.14}.hydro-copy strong{line-height:1.12}.hydro-copy strong>span{color:#fff;font:inherit;letter-spacing:inherit;text-transform:none}
@media(max-width:700px){.intro-grid h2{font-size:clamp(1.45rem,6.8vw,2.4rem)!important}}
/* Team photographs retain their full composition, including faces and uniforms. */
.team-gallery .section-heading{display:block;text-align:left;margin-bottom:2rem}
.team-gallery .section-heading h2{margin-bottom:1rem}
.team-gallery .section-heading p{max-width:none;margin:0;text-align:left}
.team-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;align-items:start}
.team-photo-grid figure,.community-photo-grid figure{margin:0;overflow:hidden;border-radius:var(--radius);background:var(--foam);box-shadow:var(--shadow)}
.team-photo-grid img{width:100%;height:auto}
.team-photo-grid .team-photo-group{width:100%}
.community-photo-grid{display:grid;grid-template-columns:1.333333fr .75fr 1.359862fr;gap:1.5rem;align-items:stretch}
.community-photo-grid img{width:100%;height:auto}
.community-photo-grid figcaption{padding:1rem 1.25rem;font-weight:600}
.installation-feature>img{object-fit:contain;background:var(--foam)}
@media(max-width:800px){.team-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.community-photo-grid{grid-template-columns:1fr}}
@media(max-width:560px){.team-photo-grid,.community-photo-grid{grid-template-columns:1fr}.team-photo-grid{gap:1.2rem}}
/* Keep the complete pipe visible and put copy below it on narrow screens. */
.snake-demo .snake-video{display:block;width:100%;height:auto;aspect-ratio:50/11}
@media(max-width:800px){.hydro-demo.snake-demo{min-height:0}.snake-demo .hydro-copy{position:relative;left:auto;top:auto;transform:none;max-width:none;margin:1rem 5%;padding:.6rem 1rem}.snake-demo .hydro-copy strong{font-size:1.45rem}.snake-demo .hydro-copy a{font-size:.9rem}}
/* A taller, proportional map crop centered on the North Dallas service markers. */
.location-layout>img{width:100%;height:clamp(420px,42vw,620px);object-fit:cover;object-position:63% center}
@media(max-width:700px){.location-layout>img{height:clamp(280px,85vw,420px)}}
.service-map-panel{min-width:0;position:relative}
.service-area-map{height:clamp(480px,45vw,650px);width:100%;border-radius:var(--radius);box-shadow:var(--shadow);background:var(--foam);isolation:isolate;z-index:0}
.map-fallback{padding:2rem}.map-help{font-size:.85rem;margin:1rem 0 .5rem}
.map-reset{border:2px solid var(--navy);border-radius:99px;background:#fff;color:var(--navy);padding:.5rem 1rem;font:inherit;font-weight:700;cursor:pointer}
.service-map-pin{background:var(--orange);border:2px solid #fff;border-radius:50%;color:#102136;box-shadow:0 2px 5px #10213680;text-align:center;font:700 12px/22px 'DM Sans',sans-serif}
.town-grid .service-town{display:flex;align-items:center;gap:.45rem;background:var(--foam);border-radius:99px;padding:.6rem .7rem;text-decoration:none;font-weight:700;font-size:.9rem}
.service-town b{flex-shrink:0;width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-size:.7rem}
.town-grid .service-town:hover,.town-grid .service-town.is-selected{background:var(--lime)}
.service-town:focus-visible,.map-reset:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(max-width:1050px) and (min-width:701px){.location-layout .town-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.service-area-map{height:460px}.location-layout .town-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
