/* Service Area editorial layout; shared navigation and controls retain their own styles. */
.sa-page{overflow:clip}.sa-wrap{width:min(100% - 3.5rem,80rem);margin-inline:auto}.sa-section{padding:clamp(4.5rem,8vw,8rem) 0;border-bottom:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground))}.sa-page h1,.sa-page h2,.sa-page h3{font-weight:400}.sa-page h1{font-size:clamp(4.2rem,9vw,8.8rem);line-height:.94;letter-spacing:-.045em;margin:0}.sa-page h2{font-size:clamp(3.3rem,6.8vw,6.6rem);line-height:.98;letter-spacing:-.04em;margin:0}.sa-page h3{font-size:clamp(1.8rem,2.6vw,2.7rem);line-height:1.08;margin:0}.sa-page p{line-height:1.8;color:hsl(var(--muted-foreground));margin:1.5rem 0 0}.sa-page .sa-kicker{font-size:.7rem;font-weight:650;text-transform:uppercase;letter-spacing:.19em;color:hsl(var(--accent));margin:0 0 2rem}.sa-page .sa-lead{font-size:clamp(1.15rem,1.65vw,1.4rem);line-height:1.7}.sa-page .sa-small{font-size:.78rem;line-height:1.65;max-width:48ch}.sa-hero{padding:clamp(5rem,9vw,8rem) 0 2rem}.sa-hero-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:4rem;align-items:end}.sa-hero-note{padding-bottom:.5rem;max-width:38ch}.sa-hero-note p{margin:0}.sa-text-link{display:inline-flex;gap:2rem;align-items:center;margin-top:2rem;border-bottom:1px solid hsl(var(--accent));padding-bottom:.6rem;color:inherit;font-size:.9rem}.sa-hero-rule{border-top:1px solid hsl(var(--border));margin-top:4.5rem;padding-top:1.4rem;display:flex;justify-content:space-between;gap:1rem;font-size:.62rem;letter-spacing:.18em;color:#bdbdbd}.sa-map-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(2rem,6vw,6rem);align-items:center}.sa-map-frame{margin:0;border:1px solid hsl(var(--border));background:#0c0c0e;color:#ddd}.sa-map{display:block;width:100%;height:auto}.sa-map a{outline:none}.sa-map a:hover circle,.sa-map a:focus-visible circle{stroke:#fff;stroke-width:4}.sa-map a:hover text,.sa-map a:focus-visible text{fill:#ff839b}.sa-map-frame figcaption{padding:1rem 1.3rem;border-top:1px solid #333;font-size:.72rem;color:#aaa}.sa-map-key{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:2rem;font-size:.75rem}.sa-map-key span{display:flex;align-items:center;gap:.55rem}.sa-map-key i{width:.7rem;height:.7rem;border-radius:50%;background:#c72b47}.sa-map-key .sa-key-base{background:hsl(var(--foreground))}.sa-cities{background:hsl(var(--secondary))}.sa-heading-row{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,6vw,6rem);align-items:end;margin-bottom:3rem}.sa-heading-row>p,.sa-heading-row>div>p:not(.sa-kicker){max-width:42ch}.sa-group-title{display:flex;justify-content:space-between;align-items:center;border-top:1px solid hsl(var(--border));padding:1.2rem 0;margin-top:3.5rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.15em}.sa-group-title span:last-child{color:hsl(var(--muted-foreground));font-size:.65rem}.sa-city-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.sa-city{position:relative;min-height:24rem;display:flex;align-items:end;isolation:isolate;overflow:hidden;background:#181719;color:#f6f4f3;text-decoration:none}.sa-city-photo{position:absolute;inset:0;background-size:cover;background-position:center;z-index:-2;transition:transform .5s ease}.sa-city:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.4) 30%,rgba(0,0,0,.93));z-index:-1}.sa-city-copy{width:100%;padding:1.8rem}.sa-city .sa-city-copy p{color:#d6d0d1;font-size:.85rem;margin-top:.9rem;max-width:29ch;min-height:3.2em}.sa-city h3{color:#fff;max-width:11ch}.sa-city-arrow{position:absolute;top:1.2rem;right:1.4rem;font-size:1.8rem;color:#fff}.sa-city-link{display:inline-flex;align-items:center;gap:1.1rem;font-size:.7rem;letter-spacing:.06em;margin-top:1.4rem;color:inherit}.sa-city:hover .sa-city-photo{transform:scale(1.045)}.sa-city:hover .sa-city-link{color:#ff879d}.sa-page a:focus-visible{outline:2px solid hsl(var(--accent));outline-offset:5px}.sa-access{background:#bd1935;color:#fff;--foreground:0 0% 100%;--muted-foreground:0 0% 100%;--accent:0 0% 100%;--border:0 0% 100%}.sa-access .sa-kicker{color:#fff}.sa-access-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem;margin-top:4rem}.sa-access-grid article{border-top:1px solid #ffffff70;padding-top:1.3rem}.sa-number{font-family:Georgia,serif;font-size:3.5rem;display:block;line-height:1;color:#ffffff90;margin-bottom:2.5rem}.sa-access-grid p{font-size:.94rem}.sa-job-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.sa-job{display:block;text-decoration:none}.sa-job-photo{aspect-ratio:4/5;overflow:hidden;background:hsl(var(--secondary))}.sa-job-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.sa-job:hover img{transform:scale(1.035)}.sa-job-caption{padding:1.4rem 0;border-bottom:1px solid hsl(var(--border))}.sa-job-caption>span:first-child{font-size:.67rem;text-transform:uppercase;letter-spacing:.15em;color:hsl(var(--accent));display:block;margin-bottom:.8rem}.sa-job-caption h3{font-size:2rem}.sa-outside{background:radial-gradient(ellipse at 10% 70%,#65122655,transparent 60%),#101012;color:#f6f5f3;--foreground:0 0% 96%;--muted-foreground:0 0% 73%}.sa-outside-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,7rem)}.sa-outside-grid .sa-lead{margin-top:0}.sa-button{display:inline-flex;align-items:center;justify-content:space-between;gap:3rem;padding:1rem 1.4rem;margin-top:2rem;border:1px solid hsl(var(--accent));color:hsl(var(--foreground));font-weight:600;font-size:.9rem;transition:background .2s}.sa-button:hover{background:hsl(var(--accent));color:#fff}.sa-outside-phone{display:block;width:fit-content;margin-top:1.4rem;font-size:.8rem;color:#bdbdbd;text-decoration:underline;text-underline-offset:4px}.sa-finish .sa-heading-row{margin-bottom:0}.sa-finish .sa-heading-row>div>p{margin-top:0}.sa-finish .sa-kicker{margin-bottom:2rem!important}.sa-page [id]{scroll-margin-top:7rem}
@media(min-width:1100px){.sa-city:first-child{min-height:27rem}}
@media(max-width:899px){.sa-hero-grid,.sa-map-grid,.sa-heading-row,.sa-outside-grid{grid-template-columns:1fr;gap:2.5rem}.sa-hero-note{max-width:55ch}.sa-heading-row{align-items:start}.sa-city-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sa-map-frame{max-width:45rem}.sa-access-grid{gap:1.5rem}.sa-job-grid{gap:1rem}.sa-job-caption h3{font-size:1.5rem}}
@media(max-width:599px){.sa-wrap{width:calc(100% - 2.5rem)}.sa-page h1{font-size:clamp(3.7rem,16vw,5.4rem)}.sa-page h2{font-size:clamp(3rem,13vw,4.2rem)}.sa-hero-rule{font-size:.5rem;letter-spacing:.09em;margin-top:3rem;flex-wrap:wrap}.sa-city-grid,.sa-access-grid,.sa-job-grid{grid-template-columns:1fr}.sa-city{min-height:23rem}.sa-city-copy{padding:1.5rem}.sa-city .sa-city-copy p{max-width:32ch;min-height:0}.sa-group-title{font-size:.65rem}.sa-access-grid{gap:2.5rem}.sa-number{margin-bottom:1.5rem}.sa-job-grid{gap:2.5rem}.sa-job-photo{aspect-ratio:5/4}.sa-job-caption h3{font-size:2rem}.sa-map-frame{margin-inline:-.5rem}.sa-button{width:100%}.sa-outside-phone{line-height:1.8}}
@media(prefers-reduced-motion:reduce){.sa-city-photo,.sa-job-photo img{transition:none}.sa-city:hover .sa-city-photo,.sa-job:hover img{transform:none}}
/* Shared homepage map; keep the Service Area home-base marker and copy. */
.sa-map-frame.home-map{min-width:0}
.sa-map-frame .home-map__attr,.sa-map-frame .home-map__fallback{margin:0}
.sa-map-frame .home-map__city[href$="/mobile-detailing-escondido/"] .home-map__city-dot{width:20px;height:20px;border-color:#fff}
.sa-map-frame .home-map__city[href$="/mobile-detailing-escondido/"] .home-map__city-dot:after{inset:5px;background:#fff}
