:root{--ink:#13231e;--muted:#56635e;--cream:#f7f4ec;--paper:#fffdf8;--green:#0d6b4f;--lime:#b9e34b;--blue:#2469d8;--line:#d8ded8;--shadow:0 18px 50px rgba(19,35,30,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}a{color:inherit}.container{width:min(1160px,calc(100% - 40px));margin:auto}.topbar{position:sticky;top:0;z-index:9;background:rgba(255,253,248,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{min-height:74px;display:flex;align-items:center;gap:26px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:900;letter-spacing:-.02em}.mark{width:39px;height:39px;border-radius:13px;background:conic-gradient(from 220deg,var(--green),var(--blue),var(--lime),var(--green));display:grid;place-items:center;color:white;font-size:13px;box-shadow:0 5px 15px rgba(36,105,216,.25)}.navlinks{margin-left:auto;display:flex;align-items:center;gap:22px}.navlinks a{text-decoration:none;font-weight:750;font-size:14px}.btn{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:999px;padding:13px 20px;background:var(--green);color:white;text-decoration:none;font-weight:850;cursor:pointer}.btn.accent{background:var(--lime);color:var(--ink)}.btn.secondary{background:white;color:var(--ink);border:1px solid var(--line)}.hero{background:linear-gradient(135deg,#0d6b4f 0%,#09503f 72%);color:white;padding:68px 0 54px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}.eyebrow{font-size:13px;letter-spacing:.13em;text-transform:uppercase;font-weight:900;color:var(--lime)}h1,h2,h3{line-height:1.08;letter-spacing:-.035em;margin-top:0}h1{font-size:clamp(42px,6vw,74px);max-width:760px;margin-bottom:20px}h2{font-size:clamp(31px,4vw,48px)}h3{font-size:22px}.lede{font-size:19px;color:inherit;opacity:.9;max-width:690px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.choice-panel{background:var(--paper);color:var(--ink);padding:26px;border-radius:25px;box-shadow:var(--shadow)}.choice-panel p{color:var(--muted)}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{display:block;padding:15px;border:1px solid var(--line);border-radius:15px;text-decoration:none;font-weight:850;background:white}.choice small{display:block;color:var(--muted);font-weight:600;margin-top:4px}.section{padding:78px 0}.section.tint{background:var(--cream)}.section-head{max-width:740px;margin-bottom:32px}.section-head p{color:var(--muted);font-size:18px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:white;border:1px solid var(--line);border-radius:21px;padding:25px;box-shadow:0 8px 28px rgba(19,35,30,.04)}.card .icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#e8f1ff;color:var(--blue);font-weight:950;margin-bottom:22px}.card p{color:var(--muted)}.card a{color:var(--green);font-weight:850}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:item}.step{padding:26px;border-left:4px solid var(--lime);background:white;border-radius:0 18px 18px 0}.step:before{counter-increment:item;content:"0" counter(item);display:block;font-weight:950;color:var(--green);margin-bottom:13px}.trust{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:start}.checklist{display:grid;gap:13px}.check{background:white;border:1px solid var(--line);border-radius:15px;padding:16px 18px;font-weight:750}.lead-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;align-items:start}.form{background:white;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form label{display:block;font-weight:800;font-size:14px;margin:0 0 7px}.form input,.form select,.form textarea{width:100%;border:1px solid #bcc8c0;border-radius:12px;padding:13px 14px;font:inherit;background:white;margin-bottom:16px}.consent{display:flex;gap:11px;padding:15px;border-radius:14px;background:var(--cream);font-size:13px;margin:4px 0 18px}.consent input{width:20px;height:20px;flex:none;margin:2px 0}.status{padding:14px;background:#e9f7ed;border-radius:12px;margin-top:14px}.micro{font-size:13px;color:var(--muted)}footer{background:var(--ink);color:white;padding:48px 0 24px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:35px}.footer-grid p,.footer-grid a{color:#cbd6d0}.footer-links{display:grid;gap:9px;align-content:start}.footer-links a{text-decoration:none}.legal{padding:64px 0}.legal article{max-width:820px}.legal h2{font-size:28px;margin-top:36px}.menu{display:none}@media(max-width:900px){.hero-grid,.lead-wrap,.trust{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.navlinks{display:none}.menu{display:block;margin-left:auto}.footer-grid{grid-template-columns:1fr 1fr}.hero{padding-top:48px}}@media(max-width:600px){.container{width:min(100% - 28px,1160px)}.cards,.steps,.field-grid,.choice-grid,.footer-grid{grid-template-columns:1fr}h1{font-size:42px}.section{padding:58px 0}.choice-panel,.form{padding:20px}.navlinks.open{display:flex;position:absolute;left:14px;right:14px;top:66px;background:white;padding:18px;border:1px solid var(--line);border-radius:16px;flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}}
.brand{display:inline-flex;align-items:center;gap:8px;text-decoration:none}.network-mark{display:block;width:40px;height:40px;flex:0 0 40px}.network-stl{color:#2864f0;font-weight:950;letter-spacing:-.055em;line-height:1}.brand-name{margin-left:8px;font-weight:750;letter-spacing:-.025em;line-height:1;opacity:.82}@media(max-width:520px){.topbar .network-mark{width:36px;height:36px;flex-basis:36px}.topbar .brand-name{font-size:15px}}
@media(max-width:520px){.topbar .nav{gap:10px}.topbar .brand{min-width:0;gap:6px;font-size:16px}.topbar .network-mark{width:32px;height:32px;flex-basis:32px}.topbar .network-stl{font-size:16px;flex:none}.topbar .brand-name{margin-left:2px;font-size:14px;white-space:nowrap}.topbar .menu{flex:none;padding:9px 12px}h1{font-size:clamp(34px,11vw,42px)}.actions>a{width:100%}}@media(max-width:360px){.topbar .brand-name{margin-left:0;font-size:13px}}

/* Expanded homeowner project routing */
.choice{transition:border-color .15s ease,transform .15s ease}
.choice:hover{border-color:var(--blue);transform:translateY(-1px)}
.section-head.compact{margin-bottom:24px}
.featured-guides{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.featured-card{padding:30px;border:1px solid var(--line);border-radius:24px;background:white;box-shadow:0 10px 34px rgba(19,35,30,.06)}
.featured-card.concrete{border-top:5px solid #c65b2b}
.featured-card.drainage{border-top:5px solid var(--green)}
.featured-card p{color:var(--muted);max-width:560px}
.guide-label{display:inline-flex;padding:6px 10px;border-radius:999px;background:#e8f1ff;color:var(--blue);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px}
.more-projects{margin-top:64px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.service-grid a{display:block;padding:18px;border:1px solid var(--line);border-radius:16px;background:white;text-decoration:none;transition:border-color .15s ease,transform .15s ease}
.service-grid a:hover{border-color:var(--green);transform:translateY(-1px)}
.service-grid strong,.service-grid span{display:block}
.service-grid span{margin-top:4px;color:var(--muted);font-size:14px}
@media(max-width:900px){.featured-guides{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.hero{padding:38px 0 42px}.hero-grid{gap:30px}.choice-grid{grid-template-columns:1fr 1fr}.featured-card{padding:20px}.service-grid{grid-template-columns:1fr}.more-projects{margin-top:48px}}
@media(max-width:350px){.choice-grid{grid-template-columns:1fr}}

/* Light network footer: aligned with the approved cobalt, navy, and coral mark */
footer{background:#eef3fa;color:#17233d;border-top:4px solid #2864f0;padding:44px 0 24px}
.footer-grid{gap:30px}
.footer-grid .brand{color:#17233d}
.footer-grid p,.footer-grid a{color:#46566d}
.footer-grid strong{color:#17233d}
.footer-links a:hover{color:#2864f0}
footer .micro{color:#65738a}
@media(max-width:600px){footer{padding:34px 0 20px}.footer-grid{gap:26px}.footer-links{gap:7px}}
.after-submit{margin-top:24px;padding:22px;border:1px solid var(--line);border-radius:18px;background:white}.after-submit h3{margin-bottom:12px}.after-submit ol{margin:0;padding-left:22px}.after-submit li+li{margin-top:7px}.compensation-disclosure{margin-top:24px;padding:18px;border-left:4px solid #2864f0;border-radius:0 14px 14px 0;background:#eef3fa;color:#31445f}.emergency-notice{margin-bottom:20px;padding:15px 16px;border:1px solid #efb6ae;border-radius:13px;background:#fff1ef;color:#7b2922}.sensitive-note{margin:-6px 0 16px}

/* Two-state Greater St. Louis coverage */
.coverage-section{background:#f1f6fc;border-top:1px solid #dbe5f1;border-bottom:1px solid #dbe5f1}
.coverage-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.coverage-card{background:white;border:1px solid #d8e2ef;border-radius:20px;padding:26px;box-shadow:0 8px 26px rgba(23,35,61,.05)}
.coverage-card h3{margin-bottom:10px;color:#17233d}
.coverage-card p{margin:0;color:var(--muted)}
.coverage-state{display:inline-flex;margin-bottom:16px;padding:6px 10px;border-radius:999px;background:#e8f1ff;color:#2864f0;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.coverage-note{margin:18px 0 0}
@media(max-width:600px){.coverage-grid{grid-template-columns:1fr}.coverage-card{padding:21px}.hero .eyebrow{font-size:11px;letter-spacing:.09em}}
/* Shared STL Guide Network shell alignment */
.topbar .nav{min-height:74px}.topbar .brand,footer .brand{display:inline-flex;align-items:center;gap:8px;text-decoration:none}.network-mark{display:block;width:40px;height:40px;flex:0 0 40px}.network-stl{color:#2864f0;font-weight:950;letter-spacing:-.055em;line-height:1}.brand-name{margin-left:6px;font-weight:750;letter-spacing:-.025em;line-height:1}.footer-grid{grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(150px,1fr));gap:32px;align-items:start}.footer-links{display:grid;gap:9px;align-content:start}.footer-links a{text-decoration:none}.footer-links a:hover{text-decoration:underline}@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.footer-grid{grid-template-columns:1fr}.topbar .nav{gap:10px}.topbar .brand{min-width:0;gap:6px}.topbar .network-mark{width:32px;height:32px;flex-basis:32px}.topbar .network-stl{font-size:16px;flex:none}.topbar .brand-name{margin-left:2px;font-size:14px;white-space:nowrap}}

/* STL Guide Network shared usability system */
:where(a,button,input,select,textarea):focus-visible{outline:3px solid #2864f0;outline-offset:3px}
.consent,.consent-box,.sensitive-note,.emergency-notice,.compensation-disclosure,.form-next-step{font-size:14px;line-height:1.55}
footer .footer-grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(160px,1fr));gap:32px;align-items:start}
footer .footer-links{display:grid;gap:9px;align-content:start}
footer .footer-links strong{font-size:14px}
footer .footer-links a{text-decoration:none}
footer .footer-links a:hover{text-decoration:underline}
.network-copyright{margin-top:28px;padding-top:18px;border-top:1px solid currentColor;font-size:13px;opacity:.72}
.updated-line{margin:16px 0 24px;padding-bottom:16px;border-bottom:1px solid var(--line,#dce2e8);font-size:14px;color:var(--muted,#596579);font-weight:700}
.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0}
.resource-card{padding:22px;border:1px solid var(--line,#dce2e8);border-radius:17px;background:white}
.resource-card h3{margin-bottom:9px}.resource-card p{color:var(--muted,#596579)}
.source-box{padding:18px;margin:24px 0;background:#eef4ff;border-left:4px solid #2864f0;border-radius:0 14px 14px 0}
.source-box p{margin:6px 0 0}
@media(max-width:900px){footer .footer-grid{grid-template-columns:1fr 1fr}.resource-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){footer .footer-grid,.resource-grid{grid-template-columns:1fr}.consent,.consent-box,.sensitive-note,.emergency-notice,.compensation-disclosure,.form-next-step{font-size:14px}}

/* Network accessibility, navigation, breadcrumbs, and form resilience */
.skip-link{position:fixed;left:12px;top:-80px;z-index:1000;background:#17233d;color:#fff;padding:12px 16px;border-radius:0 0 10px 10px;font-weight:800;text-decoration:none}
.skip-link:focus{top:0}
.breadcrumb-bar{padding-top:20px;padding-bottom:4px}
.breadcrumbs{font-size:14px;line-height:1.5;color:var(--muted,#596579)}
.breadcrumbs a{font-weight:750;text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-help-link{font-size:14px;margin-top:12px;color:var(--muted,#596579)}
@media(max-width:600px){.breadcrumb-bar{padding-top:14px}.breadcrumbs{font-size:13px}}

/* Conversion-first homepage and guide prompts */
.quick-request{padding:24px 0}.quick-request-card,.guide-quick-help{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;border:1px solid var(--line);border-radius:20px;background:linear-gradient(135deg,#e8f5ef,#fff);box-shadow:var(--shadow)}.quick-request-card{padding:24px 26px}.quick-request h2{font-size:clamp(24px,3vw,32px);margin:0 0 6px}.quick-request p{margin:0;color:var(--muted)}.quick-request-note{display:block;margin-top:6px;font-size:12px}.guide-quick-help{padding:18px 20px;margin:24px 0}.guide-quick-help strong,.guide-quick-help span{display:block}.guide-quick-help strong{font-size:19px}.guide-quick-help span{margin-top:4px;color:var(--muted);font-size:14px}.guide-hub{padding-top:24px}.sticky-mobile-cta{display:none;position:fixed;left:12px;right:12px;bottom:12px;z-index:50;box-shadow:0 12px 30px rgba(19,35,30,.22)}
@media(max-width:900px){.quick-request-card,.guide-quick-help{grid-template-columns:1fr}.quick-request-card .btn,.guide-quick-help .btn{width:100%}.sticky-mobile-cta{display:flex}body{padding-bottom:76px}}
[hidden]{display:none!important}
/* Three-part conversion homepage */
.homepage-more{padding:64px 0;background:#fff}
.homepage-link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:26px 0}
.homepage-link-grid a{display:block;padding:22px;border:1px solid var(--line);border-radius:17px;background:#fff;text-decoration:none;box-shadow:0 7px 22px rgba(20,40,30,.05)}
.homepage-link-grid strong,.homepage-link-grid span{display:block}
.homepage-link-grid strong{font-size:18px}
.homepage-link-grid span{margin-top:7px;color:var(--muted);font-size:14px;line-height:1.5}
.homepage-three .compensation-disclosure{max-width:900px}
@media(max-width:860px){.homepage-link-grid{grid-template-columns:1fr}.homepage-more{padding:52px 0}}

.homepage-three .hero-grid{grid-template-columns:minmax(0,820px);justify-content:center;text-align:center}.homepage-three .hero-grid .actions{justify-content:center}.homepage-three .hero-grid .lede{margin-left:auto;margin-right:auto}

/* Two-step homeowner request */
.form-progress{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:0 0 22px;padding:14px 16px;border-radius:13px;background:#eef4ff;color:#31445f;font-size:14px}
.form-progress strong{color:#17233d}.form-step{display:grid;gap:16px}.step-actions{display:flex;gap:12px;align-items:center;justify-content:flex-end;margin-top:4px}.form-compensation-disclosure{margin:2px 0;padding:14px 15px;border-left:4px solid #2864f0;border-radius:0 12px 12px 0;background:#eef3fa;color:#31445f}.urgent-selection-warning{margin:0}
@media(max-width:620px){.form-progress{align-items:flex-start;flex-direction:column;gap:3px}.step-actions{align-items:stretch;flex-direction:column-reverse}.step-actions .btn{width:100%}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Privacy-first, optional analytics consent */
.analytics-consent{position:fixed;z-index:1000;inset:auto 1rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;max-width:980px;margin-inline:auto;padding:1rem 1.1rem;background:#fff;color:#17243a;border:1px solid #ccd7e8;border-radius:14px;box-shadow:0 14px 48px rgba(19,39,70,.22)}
.analytics-consent[hidden]{display:none}
.analytics-consent-copy{max-width:620px}
.analytics-consent-copy strong{display:block;font-size:1rem;margin-bottom:.25rem}
.analytics-consent-copy p{margin:0;font-size:.92rem;line-height:1.45}
.analytics-consent-copy a{font-weight:700}
.analytics-consent-actions{display:flex;flex-wrap:wrap;gap:.55rem}
.analytics-consent-actions button{font:inherit;font-weight:700;min-height:44px;padding:.65rem .9rem;border:1px solid #9aabc4;border-radius:8px;background:#fff;color:#163465;cursor:pointer}
.analytics-consent-actions .analytics-accept{background:#2864f0;border-color:#2864f0;color:#fff}
.analytics-consent-actions button:focus-visible{outline:3px solid #f2b544;outline-offset:2px}
.form-progress{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin:1rem 0;padding:.75rem 1rem;border:1px solid rgba(40,100,240,.25);border-radius:10px;background:rgba(40,100,240,.06)}
.form-step[hidden]{display:none!important}
.form-step>h3{margin:.25rem 0 .9rem}
.step-actions{display:flex;justify-content:space-between;gap:.75rem;margin-top:1rem}
.step-actions button{min-height:46px}
.quick-finder{max-width:850px}
.quick-finder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.quick-finder label{display:block;font-weight:700;margin-bottom:.4rem}
.quick-finder select{width:100%;min-height:48px}
.quick-finder-result{margin-top:1rem;padding:1rem;border-radius:12px;background:rgba(40,100,240,.08)}
.quick-finder-result a{display:inline-block;margin-top:.6rem}
@media(max-width:700px){.analytics-consent{inset:auto .5rem .5rem;display:block;padding:1rem}.analytics-consent-actions{margin-top:.8rem}.analytics-consent-actions button{flex:1}.form-progress{align-items:flex-start;flex-direction:column}.step-actions button{flex:1}.quick-finder-grid{grid-template-columns:1fr}.sticky-mobile-cta{bottom:5rem!important}}
