@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800;900&display=swap');
:root{--navy:#092b43;--deep:#061e30;--green:#258a32;--lime:#b5ed39;--sky:#eaf6fc;--text:#16344a;--muted:#536878;--line:#dce6ea;--white:#fff;--radius:20px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--text);line-height:1.6;background:#fff}h1,h2,h3,h4{font-family:Outfit,sans-serif;line-height:1.13;letter-spacing:-.025em;color:var(--navy);margin:0 0 .65em}h1{font-size:clamp(2.8rem,5.4vw,5.5rem);font-weight:900}h2{font-size:clamp(2rem,3.7vw,3.25rem);font-weight:800}h3{font-size:1.35rem}p{margin:.3rem 0 1.1rem}a{color:inherit}img{max-width:100%;display:block}.container{width:min(1160px,calc(100% - 40px));margin:auto}.section{padding:78px 0}.section-tight{padding:48px 0}.center{text-align:center}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:.78rem;font-weight:800;color:var(--green);margin-bottom:12px}.muted{color:var(--muted)}.small{font-size:.85rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:2px solid transparent;border-radius:999px;padding:13px 23px;font-weight:800;font-size:.97rem;text-decoration:none;cursor:pointer;font-family:inherit;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--green);color:#fff}.btn-primary:hover{background:#b5ed39;color:#123b24}.btn-light{background:#fff;color:var(--navy)}.btn-outline{border-color:var(--navy);background:transparent;color:var(--navy)}.site-header{position:sticky;top:0;z-index:30;background:#fff;box-shadow:0 3px 22px #082b4312}.nav-inner{min-height:80px;display:flex;align-items:center;gap:22px;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--navy);line-height:.95}.brand-mark{display:grid;place-items:center;background:linear-gradient(135deg,#d8f2c4,#eef8f1);border:2px solid var(--green);border-radius:50%;width:57px;height:57px;font-size:30px}.brand-name{font:900 1.45rem/1 Outfit,sans-serif;letter-spacing:-.03em}.brand-name span{display:block;color:var(--green);font-size:.83rem;letter-spacing:.025em;margin-top:4px}.nav-links{display:flex;align-items:center;gap:25px}.nav-links a{text-decoration:none;font-size:.92rem;font-weight:700}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--green)}.nav-toggle{display:none;background:transparent;border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:1.4rem}.hero{position:relative;isolation:isolate;min-height:555px;display:flex;align-items:center;color:white;background:linear-gradient(90deg,#061b28ed 0%,#061b28d1 34%,#061b2870 60%,#061b2826 100%),url('https://images.unsplash.com/photo-1552053831-71594a27632d?auto=format&fit=crop&w=1800&q=85') center 43%/cover}.hero h1,.hero h2{color:#fff}.hero p{font-size:1.27rem;max-width:580px}.hero .eyebrow{color:#dcf7cc}.hero-content{padding:72px 0}.hero h1{max-width:720px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:25px}.hero-checks{display:grid;grid-template-columns:repeat(2,max-content);gap:7px 25px;margin:22px 0;font-weight:700;font-size:.95rem}.hero-checks span:before,.tick:before{content:'✓';background:var(--green);color:#fff;border-radius:50%;font-size:.78rem;padding:2px 6px;margin-right:8px}.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.benefit{display:flex;align-items:flex-start;gap:14px}.icon-bubble{flex:none;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#edf7e8;border:1px solid var(--green);font-size:1.6rem}.benefit h3{font-size:1.12rem;margin:0 0 5px}.benefit p{font-size:.9rem;margin:0}.soft{background:var(--sky)}.pale{background:#f6f9f7}.section-head{max-width:760px;margin:0 auto 34px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 10px 35px #0b344508}.card h3{margin-top:8px}.card-icon{font-size:2.3rem}.price-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:25px;align-items:start}.price-table{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 12px 36px #0b344510}.price-table th{background:#258a32;color:#fff;padding:15px;text-align:left}.price-table td{padding:12px 15px;border-bottom:1px solid #e7ecee}.price-table tr:last-child td{border:0}.price-table td:nth-child(n+2),.price-table th:nth-child(n+2){text-align:center}.price-table td:first-child{font-weight:700}.price-table td strong{color:var(--green)}.included{background:linear-gradient(135deg,#e7f8dc,#f5fcf3);padding:28px;border-radius:22px}.included ul,.clean-list{list-style:none;padding:0;margin:12px 0}.included li,.clean-list li{margin:14px 0}.included li:before,.clean-list li:before{content:'✓';display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--green);color:#fff;margin-right:10px;font-weight:800}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.step-num{display:grid;place-items:center;background:var(--green);color:#fff;border-radius:50%;width:36px;height:36px;font-weight:800;margin-bottom:15px}.step h3{font-size:1.12rem}.step p{font-size:.9rem}.area-band{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 0}.footer{background:var(--navy);color:#d7e6ee;padding:48px 0 22px}.footer h3,.footer .brand-name{color:white}.footer a{text-decoration:none}.footer a:hover{text-decoration:underline}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}.footer-links{display:grid;gap:9px}.footer-bottom{border-top:1px solid #ffffff29;margin-top:32px;padding-top:16px;font-size:.8rem;color:#c1d3dd}.page-hero{background:linear-gradient(120deg,#eaf7ee,#e8f5fb);padding:78px 0 65px}.page-hero h1{font-size:clamp(2.4rem,4.5vw,4.5rem)}.page-hero p{max-width:750px;font-size:1.15rem}.service-photo{border-radius:22px;min-height:290px;object-fit:cover;width:100%}.faq details{padding:18px 0;border-bottom:1px solid var(--line)}.faq summary{font-weight:800;cursor:pointer}.faq p{padding-top:10px;color:var(--muted)}.form{display:grid;gap:16px}.form label{display:grid;gap:5px;font-weight:700}.form input,.form select,.form textarea{font:inherit;width:100%;border:1px solid #bfcdd3;border-radius:10px;padding:12px;background:#fff;color:var(--navy)}.form textarea{min-height:130px;resize:vertical}.form-note{background:#fff4d9;color:#5b4210;padding:13px 15px;border-radius:10px;font-size:.9rem}.form button:disabled{background:#81949c;cursor:not-allowed;transform:none}.calc-shell{display:grid;grid-template-columns:1fr 1fr;gap:24px}.calc-result{background:var(--navy);color:#fff;border-radius:22px;padding:28px}.calc-result h2,.calc-result h3{color:#fff}.result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.result-box{background:#ffffff15;border-radius:13px;padding:18px}.result-box strong{font:800 2rem Outfit;display:block;color:#bff2a7}.result-box span{font-size:.85rem}.calc-field{margin:15px 0}.calc-field label{display:flex;justify-content:space-between;font-weight:800;margin-bottom:8px}.calc-field input[type=range]{width:100%;accent-color:var(--green)}.calc-field select{width:100%;padding:12px;border:1px solid var(--line);border-radius:9px;font:inherit}.pill{display:inline-block;padding:5px 12px;background:#dff3df;border-radius:99px;color:#166b32;font-size:.8rem;font-weight:800}.notice{padding:15px;background:#eef7fb;border-left:4px solid var(--green);border-radius:6px}.service-links{display:flex;gap:10px;flex-wrap:wrap}.service-links a{padding:9px 15px;background:#eff7f1;border-radius:99px;text-decoration:none;font-weight:700;color:#11642c}.cta-banner{background:linear-gradient(110deg,#0c6830,#1b8c44);color:#fff;border-radius:24px;padding:38px;display:flex;justify-content:space-between;align-items:center;gap:22px}.cta-banner h2{color:#fff;margin:0}.skip-link{position:absolute;left:-999px;top:0;background:#fff;color:#000;padding:10px;z-index:100}.skip-link:focus{left:8px}@media(max-width:950px){.nav-toggle{display:block}.nav-links{display:none;position:absolute;top:80px;left:0;right:0;background:#fff;padding:20px;box-shadow:0 10px 20px #0002;flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-cta{display:none}.benefits,.steps{grid-template-columns:repeat(2,1fr)}.price-layout{grid-template-columns:1fr}}@media(max-width:650px){.container{width:min(100% - 28px,1160px)}.section{padding:52px 0}.hero{min-height:580px;background-position:62% center;background-image:linear-gradient(90deg,#061b28f0,#061b28a0),url('https://images.unsplash.com/photo-1552053831-71594a27632d?auto=format&fit=crop&w=1000&q=85')}.hero h1{font-size:3.2rem}.hero-checks{grid-template-columns:1fr}.benefits,.steps,.grid-2,.grid-3,.calc-shell,.footer-grid{grid-template-columns:1fr}.price-table{font-size:.83rem}.price-table th,.price-table td{padding:10px 8px}.area-band,.cta-banner{flex-direction:column;align-items:flex-start}.brand-name{font-size:1.18rem}.brand-mark{width:49px;height:49px}.result-box strong{font-size:1.6rem}}
/* Accessible breadcrumb navigation on internal pages */
.breadcrumbs{margin:0 0 24px;font-size:.88rem;color:#4d6472}.breadcrumbs ol{display:flex;align-items:center;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.breadcrumbs li{display:flex;align-items:center;gap:8px}.breadcrumbs li+li:before{content:"/";color:#7b919c}.breadcrumbs a{font-weight:700;color:#126b34;text-underline-offset:3px}.breadcrumbs [aria-current="page"]{color:#385265;font-weight:600}

/* Click-to-open service area menu; hidden until explicitly toggled */
.nav-dropdown{position:relative;display:flex;align-items:center;gap:2px;flex:none;white-space:nowrap}.nav-dropdown-main{display:inline-flex;align-items:center;padding:9px 0}.nav-dropdown-toggle{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--navy);padding:8px 7px;cursor:pointer;font:800 1.05rem/1 inherit;border-radius:7px}.nav-dropdown-toggle:hover,.nav-dropdown-toggle:focus-visible{background:#edf5ef}.nav-dropdown-menu{display:none;position:absolute;top:calc(100% + 10px);left:0;z-index:60;width:240px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 16px 40px #092b4329;white-space:normal}.nav-dropdown.open .nav-dropdown-menu{display:flex;flex-direction:column;gap:0}.nav-links .nav-dropdown-menu a{display:block;padding:12px 14px;border-radius:9px;font-weight:600;font-size:.95rem;white-space:nowrap}.nav-links .nav-dropdown-menu a:hover,.nav-links .nav-dropdown-menu a:focus-visible{background:#edf7ef;color:var(--green)}@media(max-width:950px){.nav-dropdown{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%;gap:0}.nav-dropdown-main{flex:1}.nav-dropdown-toggle{padding:10px 15px}.nav-dropdown-menu{position:static;flex-basis:100%;width:100%;box-shadow:none;margin-top:4px;border-radius:12px}.nav-dropdown.open .nav-dropdown-menu{display:flex}}

/* The full Service Areas label is the dropdown trigger, with no arrow */
.nav-links .nav-dropdown>.nav-dropdown-toggle.nav-dropdown-main{font:700 .92rem 'DM Sans',sans-serif;letter-spacing:normal;color:var(--text);background:transparent;border:0;padding:9px 0;white-space:nowrap;cursor:pointer;border-radius:0}.nav-links .nav-dropdown>.nav-dropdown-toggle.nav-dropdown-main:hover,.nav-links .nav-dropdown>.nav-dropdown-toggle.nav-dropdown-main[aria-expanded="true"]{color:var(--green);background:transparent}.nav-links .nav-dropdown>.nav-dropdown-toggle.nav-dropdown-main:focus-visible{outline:2px solid var(--green);outline-offset:5px}.nav-dropdown{gap:0}@media(max-width:950px){.nav-links .nav-dropdown>.nav-dropdown-toggle.nav-dropdown-main{width:100%;text-align:left;padding:10px 0}}

/* City ZIP code and neighborhood directory */
.region-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.region-heading>div{max-width:760px}.region-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(290px,1fr);background:#fff;border:1px solid #e4e5e1;box-shadow:0 12px 32px #092b4310;overflow:hidden}.region-list{padding:34px 30px}.region-list h3{font-size:2rem;margin-bottom:20px}.neighborhood-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.neighborhood-row{display:flex;align-items:center;gap:11px;min-width:0;padding:17px 0;border-top:1px solid #e6e4de;font-size:.94rem}.neighborhood-row>span:nth-child(2){min-width:0;flex:1}.pin-icon{color:#e65b25;font-size:1.4rem;font-weight:900}.neighborhood-zip{color:#647b7a;font-size:.83rem;font-variant-numeric:tabular-nums;white-space:nowrap}.region-zip-panel{background:#295b4c;color:#e1eee8;padding:34px 30px}.region-zip-panel .eyebrow{color:#f3db61}.region-zip-panel h3{color:#fff;font-size:2.3rem}.region-zip-panel p{color:#e1eee8}.zip-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#f7dc48;font-size:1.5rem;margin-bottom:22px}.zip-chips{display:flex;flex-wrap:wrap;gap:9px;margin:28px 0}.zip-chips span{border:1px solid #ffffff52;border-radius:99px;padding:8px 13px;font-size:.87rem;font-variant-numeric:tabular-nums;color:#fff}.service-region:nth-of-type(even){background:#f8faf8}@media(max-width:850px){.region-layout{grid-template-columns:1fr}.region-heading{align-items:flex-start;flex-direction:column}}@media(max-width:570px){.region-list,.region-zip-panel{padding:24px 18px}.neighborhood-grid{grid-template-columns:1fr}.region-list h3{font-size:1.6rem}.region-zip-panel h3{font-size:2rem}}

/* Accessible site-wide theme control */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:none;padding:9px 12px;border:1px solid #d3e0e5;border-radius:999px;background:#f4f8f9;color:#16344a;font:700 .81rem 'DM Sans',sans-serif;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s}.theme-toggle:hover{background:#e6f0ed}.theme-toggle:focus-visible{outline:3px solid #4fa66c;outline-offset:3px}.theme-icon{font-size:1.15rem;line-height:1}.nav-inner{gap:13px}.nav-links{gap:17px}
@media(max-width:1100px){.theme-label{display:none}.theme-toggle{width:39px;height:39px;padding:0}}
@media(max-width:950px){.theme-toggle{margin-left:auto}.nav-toggle{order:3}.theme-toggle{order:2}.nav-cta{display:none}}
/* Dark theme: intentionally opt-in; preserve strong contrast and readable form fields */
html[data-theme="dark"]{color-scheme:dark;--navy:#e6f3fa;--deep:#0d1723;--green:#45bc74;--lime:#a6e18c;--sky:#172b3a;--text:#e1edf4;--muted:#aec2ce;--line:#3c5361;--white:#142431;background:#0d1723}
html[data-theme="dark"] body{background:#0d1723;color:var(--text)}
html[data-theme="dark"] .site-header,html[data-theme="dark"] .nav-links,html[data-theme="dark"] .card,html[data-theme="dark"] .price-table,html[data-theme="dark"] .region-layout,html[data-theme="dark"] .region-list,html[data-theme="dark"] .nav-dropdown-menu{background:#142431;color:#e1edf4}
html[data-theme="dark"] .nav-links a,html[data-theme="dark"] .nav-dropdown-toggle,html[data-theme="dark"] .nav-links .nav-dropdown>.nav-dropdown-toggle.nav-dropdown-main{color:#e1edf4}
html[data-theme="dark"] .nav-links a:hover,html[data-theme="dark"] .nav-links a[aria-current="page"],html[data-theme="dark"] .nav-links .nav-dropdown>.nav-dropdown-toggle.nav-dropdown-main:hover{color:#8ee6aa}
html[data-theme="dark"] .nav-links .nav-dropdown-menu a:hover{background:#213b37;color:#b6f5c8}
html[data-theme="dark"] .soft,html[data-theme="dark"] .pale,html[data-theme="dark"] .service-region:nth-of-type(even){background:#122634}
html[data-theme="dark"] .page-hero{background:linear-gradient(120deg,#18352e,#152c3f)}
html[data-theme="dark"] .included{background:linear-gradient(135deg,#1b4232,#1b3540)}
html[data-theme="dark"] .benefit .icon-bubble,html[data-theme="dark"] .service-links a,html[data-theme="dark"] .pill{background:#214331;color:#b8f3c8}
html[data-theme="dark"] .price-table th{background:#236e43;color:#fff}
html[data-theme="dark"] .price-table td,html[data-theme="dark"] .faq details,html[data-theme="dark"] .neighborhood-row{border-color:#344e5c}
html[data-theme="dark"] .price-table td strong{color:#9af2af}
html[data-theme="dark"] .form input,html[data-theme="dark"] .form select,html[data-theme="dark"] .form textarea,html[data-theme="dark"] .calc-field select{background:#1c3140;color:#edf6fa;border-color:#526b7a}
html[data-theme="dark"] .form-note{background:#49381b;color:#ffebbd}
html[data-theme="dark"] .notice{background:#1b3540;color:#d5e8ef;border-left-color:#60ca89}
html[data-theme="dark"] .btn-outline{border-color:#b6d5df;color:#e7f6fa}
html[data-theme="dark"] .btn-light{background:#e6f3fa;color:#092b43}
html[data-theme="dark"] .btn-primary{background:#218d4a;color:#fff}
html[data-theme="dark"] .region-zip-panel{background:#1b473c}
html[data-theme="dark"] .region-zip-panel h3,html[data-theme="dark"] .region-zip-panel p{color:#edf8f2}
html[data-theme="dark"] .calc-result{background:#172f43}
html[data-theme="dark"] .footer{background:#091521}
html[data-theme="dark"] .footer h3,html[data-theme="dark"] .footer .brand-name{color:#fff}
html[data-theme="dark"] .brand-mark{background:#244b37}
html[data-theme="dark"] .theme-toggle{background:#213748;color:#f3f9ff;border-color:#536b79}
html[data-theme="dark"] .theme-toggle:hover{background:#2c4a5d}
html[data-theme="dark"] .breadcrumbs a{color:#8ee6aa}
html[data-theme="dark"] .breadcrumbs [aria-current="page"]{color:#d0e0ea}
html[data-theme="dark"] .cta-banner{background:linear-gradient(110deg,#115b35,#1c7042)}
html[data-theme="dark"] .cta-banner h2{color:#fff}
html[data-theme="dark"] .hero h1{color:#fff}
html[data-theme="dark"] .brand-name span{color:#77dc9b}
html[data-theme="dark"] .small.muted,html[data-theme="dark"] .muted{color:#aec2ce}
@media(prefers-reduced-motion:reduce){.theme-toggle{transition:none}}


/* Oak City transparent mascot logo in both color modes */
.brand-logo{display:block;width:clamp(145px,15vw,205px);height:auto;max-height:90px;object-fit:contain;object-position:left center}
.site-header .brand{display:inline-flex;align-items:center;flex-shrink:0}
.footer .brand-logo{width:205px;max-width:100%;max-height:none}
.brand-fallback:not([hidden]){display:inline-flex;align-items:center;gap:8px}
.brand-logo[hidden],.brand-fallback[hidden]{display:none!important}
@media(max-width:760px){.site-header .brand-logo{width:140px;max-height:72px}}

/* Slightly smaller header logo; footer retains original sizing. */
.site-header .brand-logo{width:125px;max-height:64px}

/* OCPS logo-inspired greens: lively grass green for actions, lime for accents. */
:root{--oak-grass:#258a32;--oak-lime:#b5ed39;--oak-deep:#103f27}
.btn-primary:focus-visible{outline:3px solid var(--oak-lime);outline-offset:3px}
.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--oak-grass)}
.icon-bubble{background:#f1f9e5;border-color:var(--oak-grass)}
.hero-checks span:before,.tick:before,.included li:before,.clean-list li:before,.step-num{background:var(--oak-grass)}
