/* Multi-city pages (Section 22): city page, hub, category and footer city links. */
.city-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:center}
.city-intro>div>p:not(.eyebrow){color:var(--muted);max-width:760px;line-height:1.8;margin-bottom:14px}
.city-image{width:min(420px,100%);height:auto;border-radius:8px;object-fit:cover}
.city-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:22px}
.city-actions .button .icon{width:18px;height:18px}
.city-products h2,.city-service h2,.city-faq h2,.city-links h2,.city-hub h2,.city-category-links h2{font-size:27px;margin-bottom:24px}
.city-products>p{margin-top:24px}
.city-body{max-width:900px;padding-bottom:20px}
.city-body ul{padding-left:20px;margin:15px 0 23px}
.city-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.city-service-grid article{padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}
.city-service-grid .icon{width:26px;height:26px;color:var(--green);margin-bottom:12px}
.city-service-grid h3{font-size:17px;margin-bottom:8px}
.city-service-grid p,.city-service-grid address{color:var(--muted);font-size:15px;font-style:normal;line-height:1.7}
.city-service-grid a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.city-areas{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.city-areas .pill{display:inline-block;padding:4px 12px;border:1px solid var(--line);border-radius:30px;background:var(--green-light);font-size:13px}
.city-faq{max-width:900px}
.city-faq details{border-bottom:1px solid var(--line);padding:16px 0}
.city-faq summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer;font-weight:500;list-style:none}
.city-faq summary::-webkit-details-marker{display:none}
.city-faq summary .icon{width:18px;height:18px;flex-shrink:0;transition:transform .2s}
.city-faq details[open] summary .icon{transform:rotate(45deg)}
.city-faq details p{color:var(--muted);margin-top:12px;line-height:1.8}
.city-link-list{list-style:none;padding:0;margin:0 0 22px;display:flex;flex-wrap:wrap;gap:10px}
.city-link-list a{display:inline-block;padding:8px 16px;border:1px solid var(--line);border-radius:4px;font-size:14px;background:var(--paper)}
.city-link-list a:hover{border-color:var(--green);color:var(--green)}
.city-links h3{font-size:20px;margin:26px 0 16px}
.city-hub-intro a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.city-hub{padding-top:20px}
.city-hub-state{margin-bottom:34px}
.city-hub-state h2{font-size:21px;margin-bottom:14px}
.city-category-links{padding-bottom:60px}
.city-category-links p{color:var(--muted);margin-bottom:16px}
.city-footer-links{display:flex;flex-wrap:wrap;gap:8px 18px;padding:18px 0;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.city-footer-links strong{color:var(--ink);font-weight:600}
.city-footer-links a:hover{color:var(--green)}
@media(max-width:900px){.city-intro{grid-template-columns:1fr}.city-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.city-service-grid{grid-template-columns:1fr}.city-products h2,.city-service h2,.city-faq h2,.city-links h2,.city-hub h2,.city-category-links h2{font-size:22px}.city-footer-links{justify-content:center;text-align:center}}
