/* ===== City landing pages (service-areas/*): additive, loaded only on those pages ===== */
/* Uses this site's design tokens from styles.css: --color-ink, --color-brand, --color-brand-dark, --color-mint, --color-cream */
.loc-section[id],.loc-svc[id],.loc-anchor{scroll-margin-top:120px}
.loc-eyebrow{display:block;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-brand)}
.loc-title{margin:.75rem 0 0;font-size:clamp(1.6rem,3.2vw,2.4rem);font-weight:700;line-height:1.15;color:var(--color-ink)}
.loc-lead{margin:1rem 0 0;font-size:1rem;line-height:1.75;color:#525252}
.loc-copy p{margin:1rem 0 0;font-size:1rem;line-height:1.75;color:#525252}
.loc-copy a,.loc-lead a{color:var(--color-brand-dark);text-decoration:underline;text-underline-offset:3px}
.loc-copy a:hover,.loc-copy a:focus-visible,.loc-lead a:hover,.loc-lead a:focus-visible{color:var(--color-ink)}
.loc-wrap{margin-left:auto;margin-right:auto;width:100%;max-width:80rem;padding-left:1.25rem;padding-right:1.25rem}
@media(min-width:1024px){.loc-wrap{padding-left:2rem;padding-right:2rem}}
.loc-grid2{display:grid;gap:2.5rem}
@media(min-width:1024px){.loc-grid2{grid-template-columns:1fr 1fr;gap:3.5rem;align-items:start}}
/* hero extras */
.loc-trust{margin:1.5rem 0 0;font-size:.8rem;line-height:1.5;color:rgba(255,255,255,.75)}
/* buttons */
.loc-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);padding:.8rem 1.5rem;font-size:.875rem;font-weight:600;line-height:1.2;color:#fff;text-decoration:none;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s,transform .2s,box-shadow .2s}
.loc-btn:hover{background:rgba(255,255,255,.2);transform:translateY(-2px)}
.loc-btn:focus-visible{outline:3px solid var(--color-mint);outline-offset:3px}
.loc-btn-primary{background:var(--color-brand);border-color:var(--color-brand);box-shadow:0 10px 24px rgba(13,19,12,.25)}
.loc-btn-primary:hover{background:var(--color-brand-dark);border-color:var(--color-brand-dark);box-shadow:0 14px 28px rgba(13,19,12,.3)}
.loc-btn-light{background:#fff;border-color:#fff;color:var(--color-brand-dark)}
.loc-btn-light:hover{background:var(--color-cream);color:var(--color-ink)}
.loc-btn-line{background:#fff;border-color:#cbd5e1;color:var(--color-ink)}
.loc-btn-line:hover{background:var(--color-cream);border-color:var(--color-brand);color:var(--color-brand-dark)}
.loc-btn-line:focus-visible{outline-color:var(--color-brand)}
/* CTA band after hero */
.loc-band{background:var(--color-brand-dark);color:#fff}
.loc-band-inner{display:flex;flex-direction:column;gap:1.25rem;padding-top:2rem;padding-bottom:2rem}
.loc-band h2{margin:.35rem 0 0;font-size:1.5rem;font-weight:700;line-height:1.2;color:#fff}
.loc-band p{margin:.4rem 0 0;font-size:.9rem;line-height:1.6;color:rgba(255,255,255,.85)}
.loc-band .loc-eyebrow{color:var(--color-mint)}
.loc-band-btns{display:flex;flex-wrap:wrap;gap:.75rem}
@media(min-width:1024px){.loc-band-inner{flex-direction:row;align-items:center;justify-content:space-between}}
/* form card */
.loc-aside{border-radius:1.5rem;border:1px solid #e2e8f0;background:var(--color-cream);padding:1.5rem;box-shadow:0 18px 40px rgba(13,19,12,.08)}
@media(min-width:640px){.loc-aside{padding:2.25rem}}
.loc-aside h3,.loc-aside h2{margin:.5rem 0 0;font-size:1.5rem;font-weight:700;line-height:1.2;color:var(--color-ink)}
.loc-aside p.loc-note{margin:.5rem 0 1rem;font-size:.9rem;line-height:1.6;color:#525252}
.loc-aside-dark{background:#fff}
@media(min-width:1024px){.loc-aside-top{align-self:start}}
/* service cards */
.loc-svc-list{display:grid;gap:2rem;margin-top:2.5rem}
.loc-svc{display:grid;gap:1.5rem;border-radius:1.5rem;background:#fff;border:1px solid #e2e8f0;padding:1.25rem;box-shadow:0 10px 30px rgba(13,19,12,.05)}
.loc-svc-media img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:1rem}
.loc-svc-price{margin-top:1rem;border-radius:1rem;background:#eef7f0;border:1px solid rgba(45,140,66,.35);padding:1rem 1.1rem}
.loc-svc-price h4{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-brand-dark)}
.loc-svc-line{margin:.45rem 0 0;font-size:1.3rem;line-height:1.25;color:var(--color-ink)}
.loc-svc-line strong{font-weight:800}
.loc-svc-line span{font-size:.85rem;font-weight:600;color:#525252}
.loc-svc-note{margin:.55rem 0 0;font-size:.78rem;line-height:1.5;color:#737373}
.loc-svc-body .loc-eyebrow{margin:0 0 .5rem}
.loc-svc-body h3{margin:0;font-size:clamp(1.4rem,2.6vw,2rem);font-weight:700;line-height:1.2;color:var(--color-ink)}
.loc-svc-body p{margin:.85rem 0 0;font-size:.95rem;line-height:1.75;color:#525252}
.loc-svc-body h4{margin:1.6rem 0 0;font-size:1.05rem;font-weight:700;color:var(--color-ink)}
.loc-check{list-style:none;margin:.8rem 0 0;padding:0;display:grid;gap:.5rem}
.loc-check li{position:relative;padding-left:1.5rem;font-size:.92rem;line-height:1.55;color:#404040}
.loc-check li:before{content:"";position:absolute;left:0;top:.5em;width:.6rem;height:.6rem;border-radius:50%;background:var(--color-brand)}
.loc-btns{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}
@media(min-width:1024px){
 .loc-svc{grid-template-columns:5fr 7fr;gap:2.5rem;padding:1.75rem;align-items:start}
 .loc-svc-media{position:sticky;top:6.5rem}
 .loc-svc:nth-child(even){grid-template-columns:7fr 5fr}
 .loc-svc:nth-child(even) .loc-svc-media{order:2}
 .loc-svc-media img{aspect-ratio:1/1}
}
/* scenarios, steps, nearby */
.loc-scn-grid{display:grid;gap:1.5rem;margin-top:2rem}
@media(min-width:1024px){.loc-scn-grid{grid-template-columns:repeat(3,1fr)}}
.loc-scn{border-radius:1.25rem;background:var(--color-cream);border:1px solid #e2e8f0;padding:1.5rem}
.loc-scn h3{margin:.5rem 0 0;font-size:1.2rem;font-weight:700;line-height:1.3;color:var(--color-ink)}
.loc-scn p{margin:.75rem 0 0;font-size:.92rem;line-height:1.7;color:#525252}
.loc-scn p strong{color:var(--color-ink)}
.loc-steps-card{border-radius:1.5rem;background:var(--color-cream);border:1px solid #e2e8f0;padding:1.75rem}
.loc-steps{margin:0;padding-left:1.25rem;display:grid;gap:.9rem;list-style:decimal}
.loc-steps li{font-size:.95rem;line-height:1.65;color:#525252;padding-left:.35rem}
.loc-steps li::marker{color:var(--color-brand);font-weight:700}
.loc-near-grid{display:grid;gap:.75rem;margin-top:2rem}
@media(min-width:640px){.loc-near-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.loc-near-grid{grid-template-columns:repeat(3,1fr)}}
.loc-near{display:block;border-radius:1rem;background:#fff;border:1px solid #e2e8f0;padding:.9rem 1.1rem;font-size:.95rem;font-weight:600;color:var(--color-ink);text-decoration:none}
a.loc-near{transition:border-color .2s,color .2s,transform .2s}
a.loc-near:hover{border-color:var(--color-brand);color:var(--color-brand-dark);transform:translateY(-2px)}
a.loc-near:focus-visible{outline:3px solid var(--color-brand);outline-offset:3px}
.loc-near small{display:block;margin-top:.15rem;font-size:.78rem;font-weight:500;color:#737373}
.loc-more{display:inline-block;margin-top:1.5rem;font-size:.9rem;font-weight:600;color:var(--color-brand-dark);text-decoration:underline;text-underline-offset:3px}
.loc-more:hover,.loc-more:focus-visible{color:var(--color-ink)}
/* estimate section (dark) */
.loc-estimate{background:var(--color-ink)}
.loc-estimate-img{position:relative;overflow:hidden;border-radius:1.5rem;min-height:320px}
.loc-estimate-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* ===== end city landing pages ===== */
