/* CompanyCam-inspired visual system, adapted for ValueDrainage. */
:root{--ink:#111;--navy:#111;--green:#075b3b;--cream:#f7f6f2;--paper:#fff;--steel:#dceadf;--muted:#565b64;--line:#dedfe2;--blue:#075b3b;--yellow:#ffd000}
body{background:#fff;font-size:17px;line-height:1.65}.wrap{width:min(1240px,calc(100% - 80px))}h1,h2,h3{letter-spacing:-.025em}h1{font-size:clamp(70px,7.4vw,110px);line-height:.94}h2{font-size:clamp(48px,5vw,74px);line-height:.98}h3{font-size:36px;line-height:1.05}.top{background:#111;color:#fff;padding:9px 40px;font-size:12px}.site-header{top:0;width:100%;max-width:none;margin:0;border:0;border-bottom:1px solid #e7e8ea;border-radius:0;box-shadow:none;background:#fff}.site-header nav{max-width:1360px;margin:auto;padding:0 40px;height:94px}.brand img{width:128px;height:80px}.navlinks a,.nav-trigger{font-size:15px}.btn,.btn.green{border-radius:999px;background:var(--blue);border-color:var(--blue);color:white;padding:20px 30px;min-height:62px;font-size:16px;gap:22px}.btn:hover,.btn.green:hover{background:#043e29;border-color:#043e29;color:#fff}.btn:after{content:'↗';font:400 23px/1 Arial,sans-serif}.navlinks .btn:after{font-size:18px}.site-header .navlinks .nav-cta{padding:14px 22px}.hero{min-height:760px;background:#111;isolation:isolate}.hero>img{object-position:center 58%}.hero:after{background:linear-gradient(180deg,#0006 0%,#0008 50%,#0009 100%)}.hero .wrap{max-width:1040px;padding:88px 0 92px}.hero h1{max-width:950px;margin-bottom:26px}.hero h1 span{color:var(--yellow)}.hero .eyebrow{display:inline-flex;align-items:center;gap:10px;color:#fff;margin-bottom:24px;letter-spacing:.13em;font-size:12px}.hero .eyebrow:before{content:'';width:8px;height:8px;border-radius:50%;background:var(--yellow)}.hero .desc{font-size:20px;line-height:1.6;max-width:660px;color:#fff;margin-bottom:32px}.hero .btn{background:#fff;border-color:#fff;color:#111}.hero .btn:hover{background:var(--yellow);border-color:var(--yellow)}.hero .textlink{background:var(--blue);border-color:var(--blue);color:#fff;border-radius:999px;padding:20px 30px;min-height:62px;font-size:16px}.hero .textlink:hover{background:#043e29;color:#fff}.hero .small{color:#fff;font-size:13px;margin-top:30px}.actions{gap:12px}.eyebrow{letter-spacing:.12em;font-size:12px}.eyebrow.dark{color:var(--blue)}.strip{background:var(--blue);color:white}.strip .wrap{padding:30px 0;gap:25px}.strip span{font-size:16px}.tick{background:#fff;color:var(--blue);border-radius:50%;width:30px;height:30px;display:inline-flex;justify-content:center;align-items:center;font-size:17px;flex-shrink:0}.section{padding:105px 0}.sectionhead{gap:60px;margin-bottom:50px}.sectionhead>p{font-size:18px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.card{position:relative;padding:38px;border:0;border-radius:18px;background:#f4f4f5;overflow:hidden}.card:nth-child(2){background:#edf4ef}.card:nth-child(3){background:#f7f6f2}.card:nth-child(4){background:#edf4ef}.card .num{color:var(--blue);font-size:12px}.card h3{font-size:42px;max-width:420px;margin:28px 0 20px}.card p{max-width:470px;font-size:16px}.card ul{font-size:14px;margin-bottom:8px}.card a{margin-top:16px;font-size:15px;text-decoration:none}.card a:after{content:' →'}.card a:hover{text-decoration:underline}.problem{width:100%;max-width:none;border-radius:0;background:#111;padding:100px 0}.problem .wrap{width:min(1240px,calc(100% - 80px))}.problemgrid{gap:90px}.problem .eyebrow{color:var(--yellow)}.problem p{color:#d6d6d8;font-size:18px}.problem .btn{background:var(--yellow);border-color:var(--yellow);color:#111}.problem .btn:hover{background:#fff;border-color:#fff}.symptoms{gap:15px}.symptoms div{background:#242424;border:1px solid #414141;border-radius:14px;padding:28px}.symptoms div:before{content:'↘';display:block;color:var(--yellow);font:30px/1 Arial;margin-bottom:20px}.symptoms strong{font-size:17px}.symptoms span{color:#c8c8cc}.process{gap:45px}.step{padding-top:26px;border-top:2px solid #111}.step b{color:var(--blue);font-size:12px}.step h3{font-size:34px;margin:24px 0 20px}.step p{font-size:16px}.coverage{background:var(--blue);color:#fff;border-radius:20px;padding:55px;gap:55px;margin-top:85px}.coverage .eyebrow{color:var(--yellow)}.coverage h2{font-size:clamp(44px,4vw,60px)}.coverage p{color:#e1ede5;font-size:16px}.states{gap:12px}.states div{border:1px solid #ffffff55;background:#ffffff10;color:#fff;border-radius:10px;padding:24px;font-size:15px}.faq{gap:90px}.faq details{padding:25px 0}.faq summary{font-size:18px}.faq details p{font-size:16px}.planner{background:var(--cream);border-top:1px solid #eee}.planlayout{gap:80px}.planner h2{font-size:clamp(48px,4.8vw,68px)}form{border:0;border-radius:18px;box-shadow:0 8px 35px #11111108;padding:36px}input,select,textarea{border-color:#b8bcc1;border-radius:7px;padding:14px;font-size:16px}.note{font-size:13px}#result{background:#edf4ef}.foot{align-items:flex-start}footer{background:#111;padding:65px 0 30px}.foot p{color:#b8bcc1}.footer-directory{border-color:#454545;color:#b8bcc1}.foot .textlink{font-size:15px}.foot .textlink:hover,.footer-directory a:hover{color:var(--yellow)}
/* Shared local and service pages retain their content and search metadata. */
.local-hero{background:var(--blue);padding:65px 0 70px}.local-hero h1{font-size:clamp(58px,6vw,86px);max-width:1050px}.local-hero h1 span{color:var(--yellow)}.local-hero .eyebrow{color:#fff}.breadcrumbs{color:#dceadf;margin-bottom:35px}.breadcrumbs a{color:#fff}.local-lead{color:#fff;max-width:790px;font-size:20px}.availability{color:#e1ede5}.local-hero .btn{background:#fff;color:#111;border-color:#fff}.local-hero .btn:hover{background:var(--yellow);border-color:var(--yellow)}.local-callout{border-radius:16px;background:#f4f4f5}.regional{background:#f4f4f5}.cost-section{background:var(--cream)}.related-card,.city-service-card{border-radius:14px}.related-card:hover{background:#edf4ef}.city-links a{background:#f4f4f5;border:1px solid transparent;border-radius:8px}.city-links a:hover{background:#edf4ef;border-color:var(--blue)}.directory-note{border-radius:16px}.mega{border-radius:0 0 16px 16px;top:100%;border-color:#e7e8ea;padding:30px;box-shadow:0 22px 35px #11111115}.menu-feature{background:var(--blue);color:#fff;border-radius:12px;padding:30px}.menu-feature:hover{background:#043e29}.menu-feature .menu-heading{font-size:42px}.menu-feature>span:nth-child(3){color:#e1ede5}.menu-feature b{color:var(--yellow)}.menu-links>a:hover{background:#edf4ef;border-color:transparent}.menu-links strong{font-size:16px}.menu-links span{font-size:14px}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#507b30}
@media(max-width:1100px){.site-header nav{height:86px}.site-header .navlinks{top:100%;border-radius:0 0 14px 14px;max-height:calc(100dvh - 125px)}.mega{padding:0 0 12px;border-radius:0;box-shadow:none}.hero{min-height:700px}.hero .wrap{padding:80px 0}.hero h1{font-size:88px}.problemgrid{gap:40px}.section{padding:80px 0}.planlayout{gap:40px}.problem.section{padding:80px 0;border-radius:0}}
@media(max-width:760px){.wrap,.problem .wrap{width:calc(100% - 40px)}.site-header{width:100%;margin:0;top:0}.site-header nav{padding:0 20px;height:80px}.brand img{width:108px;height:68px}.top{padding:8px 16px;font-size:11px}.hero{min-height:710px}.hero .wrap{padding:70px 0}.hero h1{font-size:68px;line-height:.97}.hero .desc{font-size:18px;max-width:500px}.hero .eyebrow{font-size:10px}.hero .actions{max-width:360px}.hero .actions>a{width:100%}.hero .small{max-width:310px;font-size:12px}.strip .wrap{padding:25px 0;gap:18px}.strip span{justify-content:flex-start;font-size:14px}.section{padding:65px 0}h2{font-size:50px}.sectionhead{margin-bottom:32px}.sectionhead>p{font-size:16px}.cards{grid-template-columns:1fr}.card{padding:30px}.card h3{font-size:38px}.problem.section{width:100%;padding:65px 0;border-radius:0}.problemgrid{gap:40px}.symptoms{grid-template-columns:1fr 1fr}.symptoms div{padding:22px}.symptoms strong{font-size:16px}.coverage{padding:30px;gap:35px;margin-top:50px}.coverage h2{font-size:48px}.states{grid-template-columns:1fr 1fr}.states div{padding:18px;font-size:14px}.faq{gap:35px}.planlayout{gap:35px}.planner h2{font-size:52px}.local-hero{padding:40px 0 50px}.local-hero h1{font-size:56px}.local-lead{font-size:18px}.breadcrumbs{margin-bottom:26px}form{padding:28px}.menu-feature .menu-heading{font-size:34px}}
@media(max-width:480px){.hero h1{font-size:60px}.hero{min-height:715px}.hero .wrap{padding:60px 0}.hero .desc{font-size:17px}.hero .eyebrow{letter-spacing:.09em}.symptoms{grid-template-columns:1fr}.symptoms div:before{float:right;margin:0 0 0 12px}.symptoms div{padding:22px}.states{grid-template-columns:1fr}.local-hero h1{font-size:48px}.local-hero{padding-top:35px}.card h3{font-size:36px}.card{padding:28px}.planner h2{font-size:48px}.site-header .navlinks{max-height:calc(100dvh - 115px)}form{padding:24px}.btn,.btn.green{padding:18px 24px;font-size:15px;min-height:58px}}

/* Full-width background video uses the same cover crop on phones and desktops. */
.hero>.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;pointer-events:none}.hero>.hero-video.is-playing{opacity:1}.hero-video-toggle{position:absolute;z-index:2;right:24px;bottom:20px;border:1px solid #ffffff88;border-radius:999px;background:#111b;color:#fff;padding:9px 15px;font-size:12px;line-height:1.4}.hero-video-toggle:hover{background:#111}.hero .wrap{padding-bottom:100px}
@media(max-width:760px){.hero>.hero-video{display:block;object-fit:cover;object-position:center}.hero-video-toggle{right:20px;bottom:16px}.hero .wrap{padding-bottom:85px}}
@media(prefers-reduced-motion:reduce){.hero>.hero-video,.hero-video-toggle{display:none!important}}

/* Evergreen and sage complement the green logo; the overlay protects moving text contrast. */
.hero:after{background:linear-gradient(180deg,rgba(3,20,13,.68),rgba(3,20,13,.72) 55%,rgba(3,20,13,.76))}.hero h1,.hero .desc,.hero .eyebrow,.hero .small{text-shadow:0 2px 15px #0005}.hero-video-toggle{min-height:44px;background:#062c20e6}.hero .wrap{padding-bottom:110px}
@media(max-width:480px){.hero h1{font-size:clamp(46px,14vw,58px);line-height:1}.hero .desc{font-size:17px;line-height:1.65}.hero .eyebrow{line-height:1.7}.hero .wrap{padding-top:54px;padding-bottom:95px}.hero .small{line-height:1.8}.hero .actions>a{min-height:58px}.hero-video-toggle{bottom:14px;font-size:12px}}

/* Bright yellow headlines stand out on dark surfaces. */
.hero h1,.hero h1 span,.problem h2,.coverage h2,.local-hero h1,.local-hero h1 span,.menu-feature .menu-heading{color:var(--yellow)}
