/* Service-area city pages + city links. Uses the site's own tokens from the main stylesheet. */
.coverage-city-list a{padding:.35rem .55rem;color:var(--black);background:var(--paper);border:1px solid var(--line);font-size:.78rem;text-decoration:none;transition:border-color .15s,color .15s}
.coverage-city-list a:hover,.coverage-city-list a:focus-visible{color:var(--red-dark);border-color:var(--red)}
.coverage-city-list a[aria-current]{color:#fff;background:var(--black);border-color:var(--black)}
.area-list a{color:var(--black);text-decoration:none;border-bottom:1px solid transparent}
.area-list a:hover,.area-list a:focus-visible{color:var(--red-dark);border-bottom-color:currentColor}

.breadcrumbs{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 1.4rem;font-size:.85rem;color:#ffffffb3}
.breadcrumbs a{color:#fff;text-decoration:none;border-bottom:1px solid #ffffff59}
.breadcrumbs a:hover{border-bottom-color:#fff}

.city-glance{display:block;padding:1.7rem;background:#fff;border:1px solid var(--line)}
.city-glance h2{font-size:clamp(1.8rem,3vw,2.6rem)}
.city-glance ul{padding-left:1.1rem}
.city-glance p{color:var(--muted)}

.city-settling{background:#fff}
.city-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 3rem;max-width:1200px}
.city-columns p{margin:0 0 1rem;line-height:1.75}
.city-signs{margin-top:2rem;padding:1.6rem 1.8rem;background:var(--paper);border-left:6px solid var(--red);max-width:1200px}
.city-signs ul{columns:2;column-gap:2.5rem;margin:0;padding-left:1.1rem;line-height:1.9}

.city-service-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.8rem}
.city-service-links a{display:grid;gap:.35rem;padding:1.15rem 1.25rem;color:var(--black);background:#fff;border:1px solid var(--line);text-decoration:none;transition:border-color .15s,transform .15s}
.city-service-links a:hover,.city-service-links a:focus-visible{border-color:var(--red);transform:translateY(-2px)}
.city-service-links strong{font-family:Barlow Condensed,Impact,sans-serif;font-size:1.3rem;text-transform:uppercase;letter-spacing:.01em}
.city-service-links span{color:var(--muted);font-size:.92rem;line-height:1.5}
.city-why{margin-top:2.5rem;max-width:1000px}
.city-why ul{line-height:1.8;padding-left:1.1rem}
.city-why a,.faq-list details a{color:var(--red-dark);font-weight:700}

.city-area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.city-area-grid h2{font-size:clamp(1.9rem,3.2vw,2.8rem)}
.city-areas-section{padding-top:0}
.city-zips{margin-top:1rem;color:var(--muted);font-size:.92rem}

/* Photos */
.photo-card{display:flex;flex-direction:column;padding:0;background:#fff;border:1px solid var(--line);overflow:hidden}
.photo-card>img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.photo-card>div{padding:1.3rem 1.4rem 1.5rem}
.photo-card h3{font-size:clamp(1.35rem,1.8vw,1.7rem)}
.photo-card p{margin:0}
.city-glance-photo{margin:-1.7rem -1.7rem 1.5rem}
.city-glance-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.city-signs{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:2rem;align-items:center}
.city-signs figure{margin:0;align-self:stretch}
.city-signs figure img{display:block;width:100%;height:100%;min-height:220px;object-fit:cover}
.city-signs ul{columns:1}
.city-service-links{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.city-service-links a{padding:0 0 1.15rem;overflow:hidden;align-content:start}
.city-service-links a img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;margin-bottom:.6rem}
.city-service-links strong,.city-service-links span{padding:0 1.25rem}

/* /service-areas: full-width state cards with a photo header */
.sa-area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.sa-area-grid .area-card{padding:0 0 1.6rem;overflow:hidden}
.sa-area-grid .area-card>:not(figure){margin-left:1.8rem;margin-right:1.8rem}
.sa-area-grid h2{font-size:clamp(1.7rem,2.6vw,2.4rem)}
.sa-area-grid .area-list{columns:3}
.area-card-photo{margin:0 0 1.5rem}
.area-card-photo img{display:block;width:100%;height:auto;aspect-ratio:21/9;object-fit:cover}

@media(max-width:1180px){
  .sa-area-grid .area-list{columns:2}
}

@media(max-width:800px){
  .city-columns,.city-area-grid,.area-grid{grid-template-columns:1fr}
  .area-card{min-width:0}
  .area-card h2{overflow-wrap:anywhere}
  .city-signs,.sa-area-grid{grid-template-columns:1fr}
  .sa-area-grid .area-card>:not(figure){margin-left:1.2rem;margin-right:1.2rem}
}
