/* ===== City landing pages (service-areas/*): additive, loaded only on those pages ===== */
/* Tokens match this site: orange #E8721C, ink #111, cream #f9f6f2, Playfair Display headings (inherited), Inter body */
:root{--loc-brand:#E8721C;--loc-brand-dark:#B85410;--loc-ink:#111111;--loc-cream:#f9f6f2;--loc-tint:rgba(232,114,28,.08)}
.loc-section{padding:56px 0}
@media(min-width:768px){.loc-section{padding:80px 0}}
.loc-bg-white{background:#fff}
.loc-bg-cream{background:var(--loc-cream)}
.loc-section[id],.loc-svc[id],.loc-anchor{scroll-margin-top:120px}
.loc-center{max-width:48rem;margin-left:auto;margin-right:auto;text-align:center}
.loc-narrow{max-width:48rem}
.loc-tc{text-align:center}
.loc-eyebrow{display:block;font-family:Inter,Arial,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--loc-brand-dark)}
.loc-title{margin:.75rem 0 0;font-size:clamp(1.6rem,3.2vw,2.4rem);font-weight:700;line-height:1.15;color:var(--loc-ink)}
.loc-lead{margin:1rem 0 0;font-size:1rem;line-height:1.75;color:#4b5563}
.loc-copy p{margin:1rem 0 0;font-size:1rem;line-height:1.75;color:#4b5563}
.loc-copy a,.loc-lead a{color:var(--loc-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(--loc-ink)}
.loc-wrap{margin-left:auto;margin-right:auto;width:100%;max-width:80rem;padding-left:1rem;padding-right:1rem}
@media(min-width:640px){.loc-wrap{padding-left:1.5rem;padding-right:1.5rem}}
@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-family:Inter,Arial,sans-serif;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,.4);background:rgba(255,255,255,.08);padding:.85rem 1.5rem;font-family:Inter,Arial,sans-serif;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}
.loc-btn:hover{background:rgba(255,255,255,.2);transform:translateY(-2px)}
.loc-btn:focus-visible{outline:3px solid var(--loc-brand);outline-offset:3px}
.loc-btn-primary{background:var(--loc-brand);border-color:var(--loc-brand);color:#fff}
.loc-btn-primary:hover{background:#d4650f;border-color:#d4650f}
.loc-btn-light{background:#fff;border-color:#fff;color:var(--loc-ink)}
.loc-btn-light:hover{background:#f3f4f6;color:var(--loc-ink)}
.loc-btn-line{background:#fff;border-color:#d1d5db;color:var(--loc-ink)}
.loc-btn-line:hover{background:var(--loc-cream);border-color:var(--loc-brand);color:var(--loc-brand-dark)}
/* CTA band after hero */
.loc-band{background:var(--loc-ink);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-family:Inter,Arial,sans-serif;font-size:.9rem;line-height:1.6;color:rgba(255,255,255,.85)}
.loc-band .loc-eyebrow{color:var(--loc-brand)}
.loc-band-btns{display:flex;flex-wrap:wrap;gap:.75rem}
.loc-band .loc-btn:not(.loc-btn-light){background:var(--loc-brand);border-color:var(--loc-brand)}
@media(min-width:1024px){.loc-band-inner{flex-direction:row;align-items:center;justify-content:space-between}}
/* form card */
.loc-aside{border-radius:1rem;border:1px solid #e5e7eb;background:#fff;padding:1.5rem;box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}
@media(min-width:640px){.loc-aside{padding:2rem}}
.loc-aside h3,.loc-aside h2{margin:.5rem 0 0;font-size:1.5rem;font-weight:700;line-height:1.2;color:var(--loc-ink)}
.loc-aside p.loc-note{margin:.5rem 0 1rem;font-family:Inter,Arial,sans-serif;font-size:.9rem;line-height:1.6;color:#4b5563}
@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:1rem;background:#fff;border:1px solid #e5e7eb;padding:1.25rem;box-shadow:0 10px 30px rgba(17,17,17,.06)}
.loc-svc-media img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:.75rem}
.loc-svc-price{margin-top:1rem;border-radius:.75rem;background:var(--loc-tint);border:1px solid rgba(232,114,28,.4);padding:1rem 1.1rem}
.loc-svc-price h4{margin:0;font-family:Inter,Arial,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--loc-brand-dark)}
.loc-svc-line{margin:.45rem 0 0;font-family:Inter,Arial,sans-serif;font-size:1.3rem;line-height:1.25;color:var(--loc-ink)}
.loc-svc-line strong{font-weight:800}
.loc-svc-line span{font-size:.85rem;font-weight:600;color:#4b5563}
.loc-svc-note{margin:.55rem 0 0;font-family:Inter,Arial,sans-serif;font-size:.78rem;line-height:1.5;color:#6b7280}
.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(--loc-ink)}
.loc-svc-body p{margin:.85rem 0 0;font-size:.95rem;line-height:1.75;color:#4b5563}
.loc-svc-body h4{margin:1.6rem 0 0;font-size:1.05rem;font-weight:700;color:var(--loc-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:#374151}
.loc-check li:before{content:"";position:absolute;left:0;top:.5em;width:.6rem;height:.6rem;border-radius:50%;background:var(--loc-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:1rem;background:var(--loc-cream);border:1px solid #e5e7eb;padding:1.5rem}
.loc-scn h3{margin:.5rem 0 0;font-size:1.2rem;font-weight:700;line-height:1.3;color:var(--loc-ink)}
.loc-scn p{margin:.75rem 0 0;font-size:.92rem;line-height:1.7;color:#4b5563}
.loc-scn p strong{color:var(--loc-ink)}
.loc-steps-card{border-radius:1rem;background:var(--loc-cream);border:1px solid #e5e7eb;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:#4b5563;padding-left:.35rem}
.loc-steps li::marker{color:var(--loc-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:.75rem;background:#fff;border:1px solid #e5e7eb;padding:.9rem 1.1rem;font-family:Inter,Arial,sans-serif;font-size:.95rem;font-weight:600;color:var(--loc-ink);text-decoration:none}
a.loc-near{transition:border-color .2s,color .2s,transform .2s}
a.loc-near:hover{border-color:var(--loc-brand);color:var(--loc-brand-dark);transform:translateY(-2px)}
a.loc-near:focus-visible{outline:3px solid var(--loc-brand);outline-offset:3px}
.loc-more{display:inline-block;margin-top:1.5rem;font-family:Inter,Arial,sans-serif;font-size:.9rem;font-weight:600;color:var(--loc-brand-dark);text-decoration:underline;text-underline-offset:3px}
.loc-more:hover,.loc-more:focus-visible{color:var(--loc-ink)}
/* estimate section (same orange tint as the site's CTA sections) */
.loc-estimate{background:var(--loc-tint)}
.loc-estimate-img{position:relative;overflow:hidden;border-radius:1rem;min-height:320px}
.loc-estimate-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* FAQ */
.loc-faq-wrap{max-width:48rem;margin-left:auto;margin-right:auto}
.loc-faq-list{display:flex;flex-direction:column;gap:.75rem;margin-top:2.5rem}
.loc-faq{border-radius:1rem;border:1px solid #e5e7eb;background:var(--loc-cream);padding:1rem 1.25rem}
.loc-faq[open]{border-color:rgba(232,114,28,.5)}
.loc-faq summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;list-style:none;font-family:Inter,Arial,sans-serif;font-size:1rem;font-weight:600;color:var(--loc-ink)}
.loc-faq summary::-webkit-details-marker{display:none}
.loc-faq summary:focus-visible{outline:3px solid var(--loc-brand);outline-offset:4px;border-radius:.5rem}
.loc-faq-chev{flex-shrink:0;color:var(--loc-brand);transition:transform .2s}
.loc-faq[open] .loc-faq-chev{transform:rotate(180deg)}
.loc-faq p{margin:.75rem 0 0;font-family:Inter,Arial,sans-serif;font-size:.95rem;line-height:1.7;color:#4b5563}
/* ===== end city landing pages ===== */
