/*
Theme Name: Elk Grove Janitorial Civic Grove
Version: 1.0.0
Text Domain: elk-grove-janitorial-civic-grove
*/
.site{--side:clamp(24px,6vw,92px);--max:1240px;background:#fff;color:#24313a;font-family:"Avenir Next",Avenir,Arial,sans-serif;min-height:100vh;overflow:hidden}.site *{box-sizing:border-box}.site a{text-decoration:none;color:inherit}.site img{display:block;max-width:100%}.buildNotice{background:#17212a;color:#fff;text-align:center;padding:8px 20px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.header{min-height:100px;display:grid;grid-template-columns:minmax(250px,380px) 1fr auto;align-items:center;gap:32px;padding:16px var(--side);background:#fff;border-bottom:1px solid #e1e5e7;position:relative;z-index:20}.logo{display:block;min-width:0}.logo img{width:min(360px,100%);height:66px;object-fit:contain;object-position:left center}.desktopNav{display:flex;justify-content:center;gap:clamp(18px,2.6vw,38px);font-size:13px;color:#4a5861}.desktopNav a,.footer a{transition:color .18s}.desktopNav a:hover,.footer a:hover{color:var(--site-accent)}.headerCta,.heroLinks a:first-child,.imageCopy>a,.finalCta>a{display:inline-flex;align-items:center;justify-content:center;background:var(--site-accent);color:#fff;font-weight:750;padding:14px 21px}.mobileMenu{display:none}.hero{position:relative;isolation:isolate;min-height:690px;padding:72px var(--side);display:grid;grid-template-columns:minmax(0,1fr) minmax(370px,440px);align-items:center;gap:clamp(44px,7vw,105px);background:var(--site-primary);overflow:hidden}.heroImage,.heroScrim{position:absolute;inset:0;width:100%;height:100%}.heroImage{object-fit:cover;z-index:-3}.heroScrim{z-index:-2;background:linear-gradient(90deg,color-mix(in srgb,var(--site-primary) 94%,black) 0%,color-mix(in srgb,var(--site-primary) 76%,transparent) 52%,rgba(8,14,18,.28) 100%)}.heroCopy{max-width:690px;color:#fff}.heroCopy>span,.kicker,.quoteGate>span,.finalCta>span{display:block;color:var(--site-accent);font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.heroCopy h1{font-size:clamp(46px,5.3vw,78px);line-height:.98;letter-spacing:-.04em;margin:18px 0 25px;color:#fff;text-shadow:0 3px 24px rgba(0,0,0,.22)}.heroCopy>p{max-width:630px;font-size:18px;line-height:1.72;color:rgba(255,255,255,.9)}.heroLinks{display:flex;align-items:center;gap:22px;margin-top:32px}.heroLinks a{font-size:13px;font-weight:750}.heroLinks a:last-child{padding:9px 2px;border-bottom:1px solid rgba(255,255,255,.8)}.quoteGate{background:rgba(255,255,255,.97);padding:31px;color:#23313a;border-top:5px solid var(--site-accent);box-shadow:0 28px 70px rgba(5,12,18,.32)}.quoteGate h2{font-size:30px;line-height:1.1;color:var(--site-primary);margin:10px 0}.quoteGate p{font-size:13px;line-height:1.55;color:#65717a;margin:0 0 18px}.gateRows{display:grid;gap:10px;margin:16px 0}.gateRows i{display:block;height:42px;border:1px solid #d6dcdf;background:#f8f9f9}.quoteGate button{width:100%;height:49px;border:0;background:#aeb6bb;color:#fff;font-weight:750;text-transform:uppercase;letter-spacing:.08em;cursor:not-allowed}.introSection,.imageSection,.serviceDirectory,.faqSection{max-width:1600px;margin:auto;padding:100px var(--side)}.introSection{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:end}.introSection h2,.imageCopy h2,.serviceDirectory h2,.faqSection h2,.finalCta h2{font-size:clamp(36px,4.3vw,58px);line-height:1.08;letter-spacing:-.03em;color:var(--site-primary);margin:14px 0 0}.introSection>p,.imageCopy>p,.finalCta p{font-size:17px;line-height:1.75;color:#61707a;margin:0}.cardSection{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:0 var(--side) 100px;max-width:1600px;margin:auto}.cardSection article{min-height:285px;padding:29px;display:flex;flex-direction:column;border:1px solid #dbe1e4;background:#fff}.cardSection b{font-size:11px;color:var(--site-accent);letter-spacing:.14em}.cardSection h3{font-size:23px;line-height:1.2;color:var(--site-primary);margin:45px 0 14px}.cardSection p{font-size:14px;line-height:1.7;color:#68747c}.imageSection{display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center;background:var(--site-pale)}.imageFrame{height:560px;overflow:hidden}.imageFrame img{width:100%;height:100%;object-fit:cover}.imageCopy ul{list-style:none;padding:0;margin:28px 0}.imageCopy li{padding:14px 0;border-bottom:1px solid color-mix(in srgb,var(--site-primary) 18%,transparent);font-size:14px}.imageCopy>a{padding:14px 19px;font-size:13px}.serviceDirectory{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;background:#fff}.serviceLinks{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #dce1e4}.serviceLinks a{min-height:110px;padding:24px 6px;border-bottom:1px solid #dce1e4;display:flex;align-items:center;justify-content:space-between;font-weight:750;color:var(--site-primary)}.serviceLinks a:nth-child(odd){padding-right:28px;border-right:1px solid #dce1e4}.serviceLinks a:nth-child(even){padding-left:28px}.serviceLinks b{color:var(--site-accent)}.faqSection{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;background:var(--site-pale)}.faqs{border-top:1px solid color-mix(in srgb,var(--site-primary) 20%,transparent)}.faqs details{border-bottom:1px solid color-mix(in srgb,var(--site-primary) 20%,transparent);padding:19px 0}.faqs summary{cursor:pointer;font-weight:750;color:var(--site-primary);font-size:16px}.faqs p{font-size:14px;line-height:1.7;color:#60707a;max-width:680px}.finalCta{text-align:center;padding:105px var(--side);background:#fff}.finalCta h2{max-width:850px;margin:14px auto 18px}.finalCta p{max-width:650px;margin:0 auto 30px}.footer{display:grid;grid-template-columns:1.5fr .75fr .75fr;gap:55px;padding:62px var(--side);background:#101820;color:#fff}.footerBrand>span{display:block;background:#fff;padding:21px;width:min(410px,100%)}.footerBrand img{height:58px;width:100%;object-fit:contain;object-position:left center}.footerBrand p{font-size:13px;line-height:1.6;color:rgba(255,255,255,.7);max-width:440px}.footer>div:not(.footerBrand){display:flex;flex-direction:column;gap:12px;font-size:13px}.footer>div>b{margin-bottom:8px;color:var(--site-accent)}.footer small{grid-column:1/-1;padding-top:24px;border-top:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.52)}

.coastal{font-family:"Avenir Next",Avenir,Arial,sans-serif}.coastal h1,.coastal h2,.coastal h3{font-family:Georgia,"Times New Roman",serif}.coastal .hero{margin:28px var(--side) 0;border-radius:30px;min-height:665px}.coastal .heroImage,.coastal .heroScrim{border-radius:30px}.coastal .heroScrim{background:linear-gradient(90deg,color-mix(in srgb,var(--site-primary) 70%,transparent),color-mix(in srgb,var(--site-primary) 34%,transparent) 58%,rgba(0,0,0,.05))}.coastal .quoteGate,.coastal .cardSection article{border-radius:18px}.coastal .quoteGate{border-top:0}.coastal .cardSection{gap:24px}.field{font-family:"Helvetica Neue",Arial,sans-serif}.field h1,.field h2,.field h3{font-family:Palatino,"Palatino Linotype",Georgia,serif}.field .heroScrim{background:linear-gradient(90deg,rgba(27,27,25,.84),rgba(30,28,24,.5) 52%,rgba(20,20,18,.08))}.field .heroCopy{border-left:4px solid var(--site-primary);padding-left:30px}.field .cardSection article{border:0;border-top:2px solid var(--site-primary);padding-left:0}.field .quoteGate{border-top-color:var(--site-primary)}.grove{font-family:Futura,"Avenir Next",Arial,sans-serif}.grove .hero{margin:28px var(--side) 0;border-radius:34px;min-height:670px}.grove .heroImage,.grove .heroScrim{border-radius:34px}.grove .heroScrim{background:linear-gradient(90deg,color-mix(in srgb,var(--site-primary) 76%,transparent),color-mix(in srgb,var(--site-primary) 44%,transparent) 55%,rgba(8,18,14,.1))}.grove .quoteGate,.grove .cardSection article{border-radius:20px}.grove .quoteGate{border-top:0}.grove .cardSection article:nth-child(even){background:var(--site-pale)}.cellar{font-family:"Helvetica Neue",Arial,sans-serif}.cellar h1,.cellar h2,.cellar h3{font-family:Baskerville,"Times New Roman",serif}.cellar .heroScrim{background:linear-gradient(90deg,color-mix(in srgb,var(--site-primary) 88%,transparent),color-mix(in srgb,var(--site-primary) 62%,transparent) 40%,color-mix(in srgb,var(--site-primary) 12%,transparent) 70%,transparent)}.cellar .heroCopy{padding:32px;background:color-mix(in srgb,var(--site-primary) 66%,transparent);backdrop-filter:blur(2px)}.cellar .quoteGate{border-left:7px solid var(--site-primary);border-top:0}.cellar .cardSection{grid-template-columns:1fr 1fr}.cellar .cardSection article{min-height:220px;border:0;border-top:1px solid var(--site-primary);padding-left:0}.waterfront h1,.waterfront h2,.waterfront h3{font-family:Didot,BodoniMT,"Times New Roman",serif}.waterfront .hero{margin:28px var(--side) 0;border-radius:34px;grid-template-rows:auto 300px;grid-template-areas:"copy form" "photo photo";min-height:auto;background:var(--site-pale);padding:58px}.waterfront .heroImage{position:relative;grid-area:photo;z-index:auto;border-radius:20px;object-position:center;height:300px}.waterfront .heroScrim{display:none}.waterfront .heroCopy{grid-area:copy;color:var(--site-primary)}.waterfront .heroCopy h1{color:var(--site-primary);text-shadow:none}.waterfront .heroCopy>p{color:#51606b}.waterfront .heroLinks a:last-child{border-color:var(--site-primary);color:var(--site-primary)}.waterfront .quoteGate{grid-area:form;border:0;border-radius:18px;box-shadow:0 22px 55px rgba(16,47,76,.15)}.waterfront .cardSection article{border-top:4px solid var(--site-accent)}

@media(max-width:1050px){.header{grid-template-columns:minmax(240px,340px) auto}.desktopNav{display:none}.mobileMenu{display:block;position:relative;order:4}.mobileMenu summary{list-style:none;width:44px;height:44px;display:grid;place-content:center;gap:5px;border:1px solid #d8dddf;cursor:pointer}.mobileMenu summary::-webkit-details-marker{display:none}.mobileMenu summary span{display:block;width:20px;height:2px;background:var(--site-primary)}.mobileMenu nav{position:absolute;right:0;top:50px;width:min(340px,calc(100vw - 34px));background:#fff;box-shadow:0 18px 45px rgba(12,23,31,.2);padding:16px;display:flex;flex-direction:column}.mobileMenu nav a{padding:13px 9px;border-bottom:1px solid #e4e7e8;font-size:13px}.hero{grid-template-columns:minmax(0,1fr) minmax(340px,400px);gap:40px}.cardSection{grid-template-columns:1fr 1fr}.waterfront .hero{grid-template-columns:minmax(0,1fr) minmax(350px,410px)}}

@media(max-width:760px){.site{--side:22px}.buildNotice{font-size:9px}.header{min-height:86px;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;padding-block:10px}.logo img{height:52px}.headerCta{font-size:0;padding:12px}.headerCta:after{content:"Quote";font-size:12px}.hero,.coastal .hero,.grove .hero,.waterfront .hero{display:flex;flex-direction:column;min-height:auto;margin:0;padding:46px var(--side);border-radius:0;gap:28px;background:var(--site-primary)}.heroImage,.coastal .heroImage,.grove .heroImage,.waterfront .heroImage{display:block;position:absolute;inset:0;width:100%;height:100%;z-index:-3;border-radius:0;object-fit:cover}.heroScrim,.coastal .heroScrim,.grove .heroScrim{display:block;border-radius:0;background:linear-gradient(180deg,color-mix(in srgb,var(--site-primary) 92%,transparent),color-mix(in srgb,var(--site-primary) 72%,transparent) 48%,rgba(8,15,22,.54))}.waterfront .heroScrim{display:block}.heroCopy,.waterfront .heroCopy,.cellar .heroCopy{order:1;padding:0;background:transparent;backdrop-filter:none;color:#fff}.heroCopy h1,.waterfront .heroCopy h1{font-size:clamp(39px,11vw,51px);color:#fff;text-shadow:0 3px 20px rgba(0,0,0,.25);overflow-wrap:anywhere}.heroCopy>p,.waterfront .heroCopy>p{font-size:16px;color:rgba(255,255,255,.9)}.heroLinks{align-items:flex-start;flex-direction:column;gap:12px}.heroLinks a:last-child,.waterfront .heroLinks a:last-child{color:#fff;border-color:#fff}.quoteGate,.coastal .quoteGate,.grove .quoteGate,.waterfront .quoteGate{order:2;width:100%;padding:26px;border-radius:0;box-shadow:none}.introSection,.imageSection,.serviceDirectory,.faqSection{padding:68px var(--side);grid-template-columns:1fr;gap:36px}.introSection{align-items:start}.cardSection,.cellar .cardSection{grid-template-columns:1fr;padding:0 var(--side) 68px}.cardSection article,.cellar .cardSection article{min-height:auto;padding:25px}.cardSection h3{margin:27px 0 10px}.imageFrame{height:330px}.serviceLinks{grid-template-columns:1fr}.serviceLinks a:nth-child(odd),.serviceLinks a:nth-child(even){border-right:0;padding:20px 4px}.finalCta{padding:72px var(--side)}.footer{grid-template-columns:1fr;padding:52px var(--side);gap:34px}.footer small{grid-column:1}}

.gateStatus{margin:18px 0;padding:17px;background:var(--site-pale);border-left:3px solid var(--site-accent)}.gateStatus b,.gateStatus small{display:block}.gateStatus b{font-size:13px;color:var(--site-primary)}.gateStatus small{margin-top:6px;line-height:1.45;color:#67737b}

.site .headerCta,.site .heroLinks a:first-child,.site .imageCopy>a,.site .finalCta>a{color:var(--site-primary)}.field .headerCta,.field .heroLinks a:first-child,.field .imageCopy>a,.field .finalCta>a,.cellar .headerCta,.cellar .heroLinks a:first-child,.cellar .imageCopy>a,.cellar .finalCta>a{color:#fff}

@media(max-width:1050px){.header{grid-template-columns:minmax(0,1fr) auto auto}.mobileMenu{order:initial}.logo img{max-width:310px}}

@media(max-width:900px){.hero,.coastal .hero,.grove .hero,.waterfront .hero{display:flex;flex-direction:column;align-items:flex-start;min-height:auto;margin:22px var(--side) 0;padding:56px var(--side);gap:32px;border-radius:24px;background:var(--site-primary)}.heroImage,.coastal .heroImage,.grove .heroImage,.waterfront .heroImage{display:block;position:absolute;inset:0;width:100%;height:100%;z-index:-3;border-radius:24px;object-fit:cover}.heroScrim,.coastal .heroScrim,.grove .heroScrim,.waterfront .heroScrim{display:block;border-radius:24px;background:linear-gradient(90deg,color-mix(in srgb,var(--site-primary) 91%,transparent),color-mix(in srgb,var(--site-primary) 62%,transparent) 58%,rgba(8,15,22,.38))}.heroCopy,.waterfront .heroCopy,.cellar .heroCopy{order:1;max-width:620px;padding:0;background:transparent;backdrop-filter:none;color:#fff}.heroCopy h1,.waterfront .heroCopy h1{font-size:clamp(44px,7.4vw,60px);color:#fff;text-shadow:0 3px 20px rgba(0,0,0,.25)}.heroCopy>p,.waterfront .heroCopy>p{color:rgba(255,255,255,.9)}.heroLinks a:last-child,.waterfront .heroLinks a:last-child{color:#fff;border-color:#fff}.quoteGate,.coastal .quoteGate,.grove .quoteGate,.waterfront .quoteGate{order:2;align-self:flex-end;width:100%;max-width:520px;margin:0;padding:29px;border-radius:0;box-shadow:0 20px 50px rgba(5,12,18,.28)}}

@media(max-width:760px){.hero,.coastal .hero,.grove .hero,.waterfront .hero{margin:0;padding:46px var(--side);gap:28px;border-radius:0}.heroImage,.coastal .heroImage,.grove .heroImage,.waterfront .heroImage{border-radius:0}.heroScrim,.coastal .heroScrim,.grove .heroScrim,.waterfront .heroScrim{border-radius:0;background:linear-gradient(180deg,color-mix(in srgb,var(--site-primary) 92%,transparent),color-mix(in srgb,var(--site-primary) 72%,transparent) 48%,rgba(8,15,22,.54))}.heroCopy h1,.waterfront .heroCopy h1{font-size:clamp(39px,11vw,51px)}.quoteGate,.coastal .quoteGate,.grove .quoteGate,.waterfront .quoteGate{align-self:stretch;max-width:none;padding:26px;box-shadow:none}}

.field .footer>div>b,.cellar .footer>div>b{color:var(--site-pale)}.footerBrand p{margin-top:10px}
.field .heroCopy>span,.cellar .heroCopy>span{color:#fff;font-size:13px}

.quoteForm{background:rgba(255,255,255,.97);padding:31px;color:#23313a;border-top:5px solid var(--site-accent);box-shadow:0 28px 70px rgba(5,12,18,.32);scroll-margin-top:24px}.quoteForm h2{font-size:30px;line-height:1.1;color:var(--site-primary);margin:0 0 18px}.closeFormHost{display:block;width:100%;min-height:565px}.closeFormHost close-form{display:block;width:100%;min-width:0}.coastal .quoteForm,.coastal .cardSection article{border-radius:18px}.coastal .quoteForm{border-top:0}.field .quoteForm{border-top-color:var(--site-primary)}.grove .quoteForm,.grove .cardSection article{border-radius:20px}.grove .quoteForm{border-top:0}.cellar .quoteForm{border-left:7px solid var(--site-primary);border-top:0}.waterfront .quoteForm{grid-area:form;border:0;border-radius:18px;box-shadow:0 22px 55px rgba(16,47,76,.15)}

@media(max-width:900px){.quoteForm,.coastal .quoteForm,.grove .quoteForm,.waterfront .quoteForm{order:2;align-self:flex-end;width:100%;max-width:520px;margin:0;padding:29px;border-radius:0;box-shadow:0 20px 50px rgba(5,12,18,.28)}}

@media(max-width:760px){.quoteForm,.coastal .quoteForm,.grove .quoteForm,.waterfront .quoteForm{align-self:stretch;max-width:none;padding:26px;box-shadow:none}.closeFormHost{min-height:585px}}

.privacyDisclosure a{text-decoration:underline}.locationBand{max-width:1600px;margin:auto;padding:88px var(--side);display:grid;grid-template-columns:.8fr 1.2fr;gap:30px 80px;align-items:start;background:#fff}.locationBand h2{font-size:clamp(34px,4vw,54px);line-height:1.08;letter-spacing:-.03em;color:var(--site-primary);margin:14px 0 0}.locationBand p{font-size:17px;line-height:1.75;color:#61707a;margin:0}.locationBand>a{grid-column:2;justify-self:start;color:var(--site-primary);font-size:14px;font-weight:750;border-bottom:1px solid var(--site-accent);padding-bottom:6px}.footerUtility{grid-column:1/-1!important;display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:12px 24px!important;padding-top:24px;border-top:1px solid rgba(255,255,255,.14)}.footerUtility a{color:rgba(255,255,255,.75)}.footer small{padding-top:0;border-top:0}.legalPage{max-width:980px;margin:0 auto;padding:96px var(--side) 112px}.legalPage>h1{font-size:clamp(48px,6vw,76px);line-height:1;letter-spacing:-.04em;color:var(--site-primary);margin:16px 0 26px}.legalLead{max-width:800px;font-size:20px;line-height:1.7;color:#5d6a72}.legalBody{margin-top:62px;display:grid;gap:0;border-top:1px solid #dce1e4}.legalBody section{display:grid;grid-template-columns:.7fr 1.3fr;gap:50px;padding:34px 0;border-bottom:1px solid #dce1e4}.legalBody h2{font-size:23px;line-height:1.25;color:var(--site-primary);margin:0}.legalBody p{font-size:16px;line-height:1.75;color:#5f6d75;margin:0}.legalBody a{text-decoration:underline}.legalCta{display:inline-flex;margin-top:42px;background:var(--site-accent);color:var(--site-primary)!important;font-weight:750;padding:15px 22px}

@media(max-width:760px){.locationBand{padding:66px var(--side);grid-template-columns:1fr;gap:24px}.locationBand>a{grid-column:1}.legalPage{padding:68px var(--side) 78px}.legalLead{font-size:17px}.legalBody{margin-top:42px}.legalBody section{grid-template-columns:1fr;gap:12px;padding:26px 0}.footerUtility{flex-direction:column!important}}

@media(max-width:1050px){.mobileMenu nav{max-height:calc(100vh - 120px);overflow-y:auto;overscroll-behavior:contain;z-index:20}.mobileMenu nav ul{display:grid;gap:6px;list-style:none;margin:0;padding:0}.mobileMenu nav li{margin:0}.mobileMenu nav li ul{margin:4px 0 0 12px;padding-left:12px;border-left:1px solid #d8dddf}.mobileMenu nav li ul a{font-size:12px;font-weight:600}.mobileMenu nav a{min-height:44px}}.desktopNavList{display:flex;align-items:center;gap:clamp(18px,2.6vw,38px);list-style:none;margin:0;padding:0}.desktopNavGroup{position:relative}.desktopSubnav{display:none;list-style:none;margin:0}.desktopNavGroup:hover .desktopSubnav,.desktopNavGroup:focus-within .desktopSubnav{position:absolute;top:calc(100% + 12px);left:50%;display:grid;gap:8px;min-width:220px;padding:14px;background:#fff;border:1px solid #d8dddf;box-shadow:0 18px 45px rgba(12,23,31,.2);transform:translateX(-50%)}.desktopSubnav a{white-space:nowrap}
@media(max-width:760px){.headerCta{min-width:44px;min-height:44px}.heroLinks a,.locationBand>a,.footer a,.faqs summary{min-height:44px}.heroLinks a,.locationBand>a,.footer a,.faqs summary{display:flex;align-items:center}}

/* Elk Grove's civic-grove composition deliberately breaks the shared portfolio page rhythm. */
.grove .hero{margin:28px var(--side) 0;min-height:610px;padding:0;grid-template-columns:minmax(350px,.82fr) minmax(0,1.18fr);gap:0;background:var(--site-pale);border:1px solid color-mix(in srgb,var(--site-primary) 16%,white);border-radius:0}.grove .heroImage{position:relative;inset:auto;grid-column:2;grid-row:1;width:100%;height:100%;min-height:610px;z-index:auto;object-fit:cover;border-radius:0}.grove .heroScrim{display:none}.grove .heroCopy{grid-column:1;grid-row:1;max-width:none;padding:70px clamp(38px,5vw,74px);color:var(--site-primary)}.grove .heroCopy h1{color:var(--site-primary);text-shadow:none}.grove .heroCopy>p{color:#51645d}.grove .heroLinks a:last-child{color:var(--site-primary);border-color:var(--site-primary)}.grove .groveQuoteSection{grid-template-columns:minmax(0,.72fr) minmax(440px,1.28fr);align-items:start;background:var(--site-primary);color:#fff}.grove .groveQuoteSection h2{color:#fff}.grove .groveQuoteSection>div>p{max-width:560px;font-size:17px;line-height:1.75;color:rgba(255,255,255,.72);margin-top:24px}.grove .groveQuoteSection .quoteForm{border:0;border-left:8px solid var(--site-accent);border-radius:0;box-shadow:none}.grove .cardSection{grid-template-columns:repeat(12,1fr);gap:16px;padding-top:100px}.grove .cardSection article{min-height:245px;border:0;border-top:6px solid var(--site-accent);border-radius:0;background:var(--site-pale)}.grove .cardSection article:nth-child(1),.grove .cardSection article:nth-child(4){grid-column:span 7}.grove .cardSection article:nth-child(2),.grove .cardSection article:nth-child(3){grid-column:span 5;background:#fff;border:1px solid color-mix(in srgb,var(--site-primary) 18%,white);border-top:6px solid var(--site-primary)}.grove .cardSection h3{max-width:440px;font-size:28px}.grove .locationBand{grid-template-columns:1fr 1fr;background:var(--site-accent);color:var(--site-primary);padding-block:72px;border-left:var(--side) solid var(--site-primary)}.grove .locationBand h2,.grove .locationBand p,.grove .locationBand>a{color:var(--site-primary)}.grove .locationBand>a{border-color:var(--site-primary)}.grove .imageSection{grid-template-columns:.78fr 1.22fr;background:#fff}.grove .imageFrame{order:2;height:620px}.grove .imageCopy{order:1;padding-left:clamp(0px,3vw,38px)}.grove .serviceDirectory{background:var(--site-pale);grid-template-columns:1fr}.grove .serviceLinks{grid-template-columns:repeat(4,1fr)}.grove .serviceLinks a{border-right:1px solid color-mix(in srgb,var(--site-primary) 18%,white);padding:24px;min-height:126px}.grove .serviceLinks a:nth-child(odd),.grove .serviceLinks a:nth-child(even){padding:24px}.grove .finalCta{background:var(--site-primary)}.grove .finalCta h2,.grove .finalCta p{color:#fff}
@media(max-width:1050px){.grove .hero{grid-template-columns:minmax(310px,.9fr) minmax(0,1.1fr)}.grove .heroCopy{padding:58px 40px}.grove .groveQuoteSection{grid-template-columns:1fr}.grove .groveQuoteSection .quoteForm{justify-self:end;max-width:620px}.grove .serviceLinks{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.grove .hero{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(320px,46vh) auto;margin:0;background:var(--site-pale)}.grove .heroImage{display:block;position:relative;grid-column:1;grid-row:1;min-height:320px;height:46vh;z-index:auto}.grove .heroCopy{grid-column:1;grid-row:2;padding:40px var(--side);color:var(--site-primary)}.grove .heroCopy h1{color:var(--site-primary);text-shadow:none}.grove .heroCopy>p{color:#51645d}.grove .heroLinks{flex-direction:row;align-items:center;flex-wrap:wrap}.grove .heroLinks a:last-child{color:var(--site-primary);border-color:var(--site-primary)}.grove .groveQuoteSection{padding-top:58px}.grove .groveQuoteSection .quoteForm{padding:24px;border-left:0;border-top:8px solid var(--site-accent)}.grove .cardSection{display:grid;grid-template-columns:1fr;padding-top:68px}.grove .cardSection article:nth-child(n){grid-column:1;min-height:auto}.grove .locationBand{grid-template-columns:1fr;border-left:0;border-top:12px solid var(--site-primary)}.grove .locationBand>a{grid-column:1}.grove .imageSection{grid-template-columns:1fr}.grove .imageFrame{order:1;height:340px}.grove .imageCopy{order:2;padding-left:0}.grove .serviceLinks{grid-template-columns:1fr}.grove .serviceLinks a{border-right:0}}
.grove .groveQuoteSection .quoteForm h2{color:var(--site-primary)}

.heroPhone{display:inline-flex;min-height:44px;align-items:center;margin:18px 0 0;padding:10px 18px;border-radius:999px;background:var(--site-accent);color:#fff;font-weight:800;text-decoration:none}.mobileNavigation{display:none;position:relative}.mobileMenuButton,.mobileMenuPanel a,.headerCta{min-height:44px;min-width:44px}.mobileMenuButton{border:1px solid #d8dddf;background:#fff}.mobileMenuButton span{display:block;width:20px;height:2px;margin:4px auto;background:var(--site-primary)}.mobileMenuPanel{position:absolute;right:0;top:50px;width:min(340px,calc(100vw - 34px));max-height:calc(100vh - 120px);overflow-y:auto;padding:16px;background:#fff;box-shadow:0 18px 45px rgba(12,23,31,.2)}.mobileMenuPanel a{display:flex;align-items:center;padding:10px;border-bottom:1px solid #e4e7e8;font-size:13px}.mobileSubnav{margin-left:12px;padding-left:12px;border-left:1px solid #d8dddf}.mobileSubnav a{font-size:12px;font-weight:600}@media(max-width:1050px){.mobileNavigation{display:block}.desktopNav{display:none}}.portfolio-clarity-consent{position:fixed;z-index:2147483000;left:16px;right:16px;bottom:16px;max-width:720px;margin:auto;padding:16px;background:#fff}.portfolio-clarity-consent button,.portfolio-clarity-choices{min-height:44px}.portfolio-clarity-choices{position:fixed;right:12px;bottom:12px}

/* portfolio-elkgrovejanitorial-header-form-v1: the bound Civic Grove form is a hero sibling only when config selects it. */
.grove .hero:has(.groveHeaderFormHero){grid-template-columns:minmax(0,.72fr) minmax(20rem,.72fr) minmax(0,1fr)}
.grove .hero:has(.groveHeaderFormHero) .heroCopy{grid-column:1;grid-row:1}
.grove .hero:has(.groveHeaderFormHero) .groveHeaderFormHero{grid-column:2;grid-row:1;min-width:0;width:100%}
.grove .hero:has(.groveHeaderFormHero) .heroImage{grid-column:3;grid-row:1}
@media(max-width:760px){.grove .hero:has(.groveHeaderFormHero){grid-template-columns:1fr;grid-template-rows:auto auto minmax(320px,46vh)}.grove .hero:has(.groveHeaderFormHero) .heroCopy{grid-column:1;grid-row:1}.grove .hero:has(.groveHeaderFormHero) .groveHeaderFormHero{grid-column:1;grid-row:2}.grove .hero:has(.groveHeaderFormHero) .heroImage{grid-column:1;grid-row:3}}
