/*
Theme Name: Vallejo Janitorial Waterfront
Version: 1.0.0
Text Domain: vallejo-janitorial-waterfront
*/
.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}}

.navigationRoot{min-width:0;justify-self:center}.desktopNav button{appearance:none;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:12px 0}.desktopNav button span,.mobileNavSection button span{display:inline-block;margin-left:4px;transition:transform .18s ease}.desktopNav button[aria-expanded="true"] span,.mobileNavSection button[aria-expanded="true"] span{transform:rotate(180deg)}.desktopNav a[aria-current="page"],.desktopNav button[aria-expanded="true"]{color:var(--site-primary);font-weight:700}.navDropdown{position:relative;display:flex;align-items:center}.navDropdownPanel{position:absolute;top:100%;left:50%;transform:translateX(-50%);width:235px;padding:10px;background:#fff;border:1px solid #e2e5e6;box-shadow:0 18px 45px rgba(12,23,31,.16);display:grid;z-index:30}.navDropdownPanel[hidden]{display:none}.navDropdownPanel a{padding:12px 14px;line-height:1.35;border-bottom:1px solid #eceeef}.navDropdownPanel a:last-child{border-bottom:0}.mobileNavigation{display:none}.heroGraphic{background-color:var(--site-primary);background-image:radial-gradient(circle at 80% 22%,color-mix(in srgb,var(--site-accent) 44%,transparent),transparent 23%),linear-gradient(118deg,color-mix(in srgb,var(--site-primary) 96%,black) 0 43%,color-mix(in srgb,var(--site-primary) 82%,transparent) 43% 68%,color-mix(in srgb,var(--site-pale) 22%,transparent) 68%),repeating-linear-gradient(90deg,transparent 0 92px,color-mix(in srgb,var(--site-pale) 12%,transparent) 92px 94px)}.roomGraphic{min-height:520px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;padding:2px;background:var(--site-primary);box-shadow:18px 18px 0 color-mix(in srgb,var(--site-accent) 30%,transparent)}.roomGraphic span{display:flex;align-items:flex-end;padding:25px;background:var(--site-pale);color:var(--site-primary);font-size:clamp(20px,2.1vw,31px);line-height:1.08}.roomGraphic span:nth-child(2),.roomGraphic span:nth-child(3){background:#fff}.roomGraphic span:before{content:"";display:block;width:28px;height:2px;background:var(--site-accent);margin:0 13px 7px 0;flex:0 0 auto}

@media(max-width:1050px){.navigationRoot{order:3;justify-self:end}.headerCta{order:2}.navigationRoot .desktopNav{display:none}.mobileNavigation{display:block;position:relative}.mobileMenuButton{appearance:none;width:44px;height:44px;border:1px solid #d8dddf;background:#fff;display:grid;place-content:center;gap:5px;padding:0;cursor:pointer;color:var(--site-primary);-webkit-tap-highlight-color:transparent}.mobileMenuButton:focus-visible,.mobileNavSection button:focus-visible{outline:3px solid color-mix(in srgb,var(--site-accent) 70%,white);outline-offset:2px}.mobileMenuButton span{display:block;width:20px;height:2px;background:currentColor;transition:transform .18s ease,opacity .18s ease}.mobileMenuButton[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}.mobileMenuButton[aria-expanded="true"] span:nth-child(2){opacity:0}.mobileMenuButton[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}.mobileMenuPanel{position:absolute;right:0;top:50px;width:min(360px,calc(100vw - 34px));max-height:calc(100vh - 110px);overflow:auto;background:#fff;box-shadow:0 18px 45px rgba(12,23,31,.2);padding:12px;display:flex;flex-direction:column;z-index:40}.mobileMenuPanel[hidden],.mobileSubmenu[hidden]{display:none}.mobileMenuPanel>a,.mobileNavSection>button{min-height:46px;width:100%;padding:12px 10px;border:0;border-bottom:1px solid #e4e7e8;background:#fff;color:#35434b;font:700 13px/1.35 "Avenir Next",Avenir,Arial,sans-serif;text-align:left;display:flex;align-items:center;justify-content:space-between;-webkit-tap-highlight-color:transparent}.mobileMenuPanel>a[aria-current="page"]{color:var(--site-primary)}.mobileNavSection>button{cursor:pointer}.mobileSubmenu{display:grid;background:var(--site-pale);padding:4px 0}.mobileSubmenu a{min-height:46px;padding:12px 20px;display:flex;align-items:center;color:#35434b;font-size:13px;border-bottom:1px solid color-mix(in srgb,var(--site-primary) 12%,transparent)}.mobileSubmenu a:last-child{border-bottom:0}.mobileSubmenu a[aria-current="page"]{color:var(--site-primary);font-weight:750}}

@media(max-width:760px){.roomGraphic{min-height:320px;box-shadow:10px 10px 0 color-mix(in srgb,var(--site-accent) 30%,transparent)}.roomGraphic span{padding:16px;font-size:19px;flex-direction:column;align-items:flex-start;justify-content:flex-end}.roomGraphic span:before{margin:0 0 9px}.heroGraphic{background-image:radial-gradient(circle at 80% 18%,color-mix(in srgb,var(--site-accent) 38%,transparent),transparent 26%),linear-gradient(160deg,color-mix(in srgb,var(--site-primary) 98%,black) 0 58%,color-mix(in srgb,var(--site-primary) 78%,transparent) 58%),repeating-linear-gradient(90deg,transparent 0 58px,color-mix(in srgb,var(--site-pale) 12%,transparent) 58px 60px)}}

/* Vallejo's harbor-schedule composition is intentionally site-specific. */
.vallejoMain{background:#f7f5f0}.vallejoHero{min-height:820px;position:relative;padding:42px var(--side) 96px;background:var(--site-pale)}.vallejoHeroMedia{height:625px;position:relative;overflow:hidden;background:var(--site-primary)}.vallejoHeroMedia>img{width:100%;height:100%;object-fit:cover;filter:saturate(.74) contrast(1.04)}.vallejoHeroMedia:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,47,76,.05),rgba(16,47,76,.22));pointer-events:none}.vallejoCoordinates{position:absolute;top:0;right:0;z-index:2;padding:13px 18px;background:var(--site-accent);color:var(--site-primary);font-size:10px;font-weight:800;letter-spacing:.16em}.vallejoHeroCard{width:min(760px,calc(100% - 2 * var(--side)));position:absolute;left:calc(var(--side) + clamp(20px,4vw,64px));bottom:28px;z-index:3;padding:46px clamp(34px,5vw,72px);background:#fff;border-top:7px solid var(--site-accent);box-shadow:0 25px 70px rgba(16,47,76,.16)}.vallejoHeroCard>span,.vallejoLocation>div>span,.vallejoClose>span{display:block;color:var(--site-accent);font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.vallejoHeroCard h1{margin:15px 0 20px;color:var(--site-primary);font-family:Didot,BodoniMT,"Times New Roman",serif;font-size:clamp(50px,5.8vw,84px);font-weight:500;line-height:.94;letter-spacing:-.045em}.vallejoHeroCard>p{max-width:620px;margin:0;color:#5b6b76;font-size:17px;line-height:1.7}.vallejoHeroLinks{display:flex;align-items:center;gap:24px;margin-top:28px}.vallejoHeroLinks a{font-size:13px;font-weight:800}.vallejoHeroLinks a:first-child{padding:14px 19px;background:var(--site-primary);color:#fff}.vallejoHeroLinks a:last-child{padding-bottom:7px;border-bottom:1px solid var(--site-accent);color:var(--site-primary)}.vallejoHeroGraphic .vallejoHeroMedia{background:linear-gradient(145deg,#0d2b47,#214e72)}.vallejoHarborGraphic{position:absolute;inset:10% 8%;display:grid;grid-template-columns:1.3fr .7fr;grid-template-rows:.7fr 1.3fr;gap:14px;transform:skewY(-4deg)}.vallejoHarborGraphic i{display:block;border:1px solid rgba(201,163,78,.62);background:rgba(255,255,255,.035)}.vallejoHarborGraphic i:nth-child(2),.vallejoHarborGraphic i:nth-child(3){background:rgba(201,163,78,.12)}.vallejoServiceIndex{padding:95px var(--side);display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(60px,8vw,120px);background:#fff}.vallejoServiceIndex h2,.vallejoInquiryCopy h2,.vallejoDeckHeading h2,.vallejoFaq h2{margin:15px 0 0;color:var(--site-primary);font-family:Didot,BodoniMT,"Times New Roman",serif;font-size:clamp(42px,4.9vw,68px);font-weight:500;line-height:1;letter-spacing:-.04em}.vallejoServiceIndex nav{border-top:1px solid #bdc8cf}.vallejoServiceIndex nav a{min-height:92px;display:grid;grid-template-columns:55px 1fr auto;align-items:center;border-bottom:1px solid #bdc8cf;color:var(--site-primary)}.vallejoServiceIndex nav b{color:var(--site-accent);font-size:11px;letter-spacing:.13em}.vallejoServiceIndex nav span{font-size:20px;font-weight:700}.vallejoServiceIndex nav i{font-style:normal;color:var(--site-accent);font-size:22px}.vallejoInquiry{padding:105px var(--side);display:grid;grid-template-columns:minmax(400px,1.08fr) minmax(340px,.92fr);gap:clamp(60px,8vw,125px);align-items:start;background:var(--site-primary)}.vallejoInquiryCopy{padding:35px 0;color:#fff}.vallejoInquiryCopy .kicker{color:var(--site-accent)}.vallejoInquiryCopy h2{color:#fff;font-size:clamp(48px,5.8vw,82px)}.vallejoInquiryCopy>p{max-width:620px;color:rgba(255,255,255,.72);font-size:17px;line-height:1.75}.vallejoInquiryCopy ul{list-style:none;padding:0;margin:40px 0 0;border-top:1px solid rgba(255,255,255,.25)}.vallejoInquiryCopy li{padding:17px 0;border-bottom:1px solid rgba(255,255,255,.25);font-size:13px;letter-spacing:.05em;text-transform:uppercase}.vallejoQuoteForm{width:100%;max-width:none;margin:0;align-self:start;background:#fff;border:0;border-top:8px solid var(--site-accent);border-radius:0;box-shadow:20px 20px 0 rgba(255,255,255,.08)}.vallejoRoomDeck{padding:110px var(--side);display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(60px,8vw,120px);background:#f7f5f0}.vallejoDeckHeading>p{color:#62727c;font-size:16px;line-height:1.75}.vallejoDeckCards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.vallejoDeckCards article{min-height:285px;padding:29px;background:#fff;border-top:5px solid var(--site-primary);display:flex;flex-direction:column;justify-content:space-between}.vallejoDeckCards article:nth-child(2),.vallejoDeckCards article:nth-child(3){transform:translateY(42px);border-top-color:var(--site-accent)}.vallejoDeckCards article>b{color:var(--site-accent);font-size:11px;letter-spacing:.16em}.vallejoDeckCards h3{margin:0 0 14px;color:var(--site-primary);font-family:Didot,BodoniMT,"Times New Roman",serif;font-size:29px;font-weight:500;line-height:1.05}.vallejoDeckCards p{margin:0;color:#65757f;font-size:14px;line-height:1.7}.vallejoLocation{padding:105px var(--side);display:grid;grid-template-columns:1.12fr .88fr;gap:90px;background:var(--site-accent);color:var(--site-primary)}.vallejoLocation>div>span{color:var(--site-primary)}.vallejoLocation h2{max-width:760px;margin:13px 0 0;color:#fff;font-family:Didot,BodoniMT,"Times New Roman",serif;font-size:clamp(48px,6vw,86px);font-weight:500;line-height:.94;letter-spacing:-.045em}.vallejoLocation p{margin:0;color:#243f55;font-size:17px;line-height:1.75}.vallejoLocation a{display:inline-flex;margin-top:30px;padding-bottom:7px;border-bottom:1px solid var(--site-primary);font-size:13px;font-weight:800}.vallejoLocation a b{margin-left:10px}.vallejoFaq{padding:100px var(--side);display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;background:#fff}.vallejoFaq .faqs{border-top:1px solid #bdc8cf}.vallejoFaq .faqs details{padding:24px 0}.vallejoClose{padding:120px var(--side);text-align:center;background:var(--site-pale)}.vallejoClose h2{max-width:900px;margin:15px auto 20px;color:var(--site-primary);font-family:Didot,BodoniMT,"Times New Roman",serif;font-size:clamp(52px,6.4vw,92px);font-weight:500;line-height:.94;letter-spacing:-.045em}.vallejoClose p{max-width:620px;margin:0 auto 30px;color:#61717b;font-size:17px}.vallejoClose>a{display:inline-flex;padding:15px 21px;background:var(--site-primary);color:#fff;font-size:13px;font-weight:800}

@media(max-width:1050px){.vallejoHero{min-height:770px}.vallejoHeroMedia{height:560px}.vallejoServiceIndex,.vallejoRoomDeck,.vallejoFaq{grid-template-columns:1fr;gap:50px}.vallejoInquiry{grid-template-columns:.95fr 1.05fr;gap:55px}.vallejoLocation{grid-template-columns:1fr;gap:45px}}

@media(max-width:760px){.vallejoHero{min-height:auto;padding:0 0 60px;display:flex;flex-direction:column}.vallejoHeroMedia{height:330px;order:1}.vallejoCoordinates{font-size:9px;padding:10px 13px}.vallejoHeroCard{position:relative;left:auto;bottom:auto;order:2;width:calc(100% - 32px);margin:-34px 16px 0;padding:32px 24px;box-shadow:0 18px 45px rgba(16,47,76,.13)}.vallejoHeroCard h1{font-size:clamp(43px,12vw,59px)}.vallejoHeroCard>p{font-size:16px}.vallejoHeroLinks{align-items:flex-start;flex-direction:column;gap:15px}.vallejoServiceIndex{padding:70px var(--side)}.vallejoServiceIndex h2,.vallejoInquiryCopy h2,.vallejoDeckHeading h2,.vallejoFaq h2{font-size:clamp(40px,11vw,54px)}.vallejoServiceIndex nav a{min-height:78px}.vallejoServiceIndex nav span{font-size:18px}.vallejoInquiry{padding:72px var(--side);grid-template-columns:1fr;gap:45px}.vallejoInquiryCopy{padding:0}.vallejoQuoteForm{align-self:stretch;max-width:none;padding:24px;border-radius:0;box-shadow:10px 10px 0 rgba(255,255,255,.08)}.vallejoRoomDeck{padding:72px var(--side)}.vallejoDeckCards{grid-template-columns:1fr}.vallejoDeckCards article,.vallejoDeckCards article:nth-child(2),.vallejoDeckCards article:nth-child(3){min-height:235px;transform:none}.vallejoLocation{padding:72px var(--side)}.vallejoLocation h2{font-size:clamp(43px,12vw,60px)}.vallejoFaq{padding:72px var(--side)}.vallejoClose{padding:80px var(--side)}.vallejoClose h2{font-size:clamp(45px,12vw,62px)}}

/* The harbor inquiry is a standalone grid, so it must not inherit the legacy waterfront hero's named form area. */
.waterfront .vallejoQuoteForm{grid-area:auto;width:100%;min-width:0;max-width:none;margin:0;align-self:start;background:#fff;border:0;border-top:8px solid var(--site-accent);border-radius:0;box-shadow:20px 20px 0 rgba(255,255,255,.08)}.vallejoQuoteForm .closeFormHost,.vallejoQuoteForm close-form{width:100%;max-width:100%;min-width:0}

@media(max-width:760px){.waterfront .vallejoQuoteForm{align-self:stretch;max-width:none;padding:24px;border-radius:0;box-shadow:10px 10px 0 rgba(255,255,255,.08)}}

/* Links and dropdown buttons share one control line to keep the primary menu optically centered. */
.desktopNav{align-items:center;min-height:44px}.desktopNav>a,.desktopNav button{min-height:44px;display:inline-flex;align-items:center;line-height:1;white-space:nowrap}.navigationRoot{align-self:center}.desktopNav button{padding:0}.desktopNav button span{margin-left:5px}


.vallejoHeaderFormHero{min-height:auto;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:clamp(36px,5vw,76px);align-items:center;padding:72px var(--side);background:var(--site-primary)}
.vallejoHeaderFormHero .vallejoHeroMedia{height:700px;grid-area:1/1}
.vallejoHeaderFormHero .vallejoHeroCard{position:relative;grid-area:1/1;left:auto;bottom:auto;width:calc(100% - 48px);margin:auto;z-index:3}
.vallejoHeaderFormHero .vallejoQuoteForm{grid-area:1/2;position:relative;z-index:3}
@media(max-width:760px){.vallejoHeaderFormHero{display:flex;padding:0 0 60px;gap:0}.vallejoHeaderFormHero .vallejoHeroMedia{height:330px;order:1}.vallejoHeaderFormHero .vallejoHeroCard{order:2}.vallejoHeaderFormHero .vallejoQuoteForm{order:3;width:calc(100% - 32px);margin:24px 16px 0}}

.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:fixed;right:17px;left:auto;top:70px;width:min(360px,calc(100vw - 34px));max-height:calc(100vh - 110px);overflow-x:hidden;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}
