
.city-hero-link { display:inline-block; margin-top:22px; color:#fff; font-weight:700; text-decoration:underline; text-underline-offset:5px; }
.city-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.city-card { min-width:0; border:1px solid var(--line); border-left:3px solid var(--teal); background:var(--bg-alt); padding:20px 22px; border-radius:var(--radius); }
.city-card h3,.city-card h4 { font-family:var(--serif); font-size:19px; line-height:1.4; margin-bottom:10px; color:var(--navy); }
.city-card p { font-size:15.5px; line-height:1.7; }
.city-card a { color:var(--navy); }
.city-cluster { margin-top:32px; }
.city-region-title { padding-top:36px; margin-top:24px; border-top:3px solid var(--teal); }
.city-cluster>h3 { font-size:23px; padding-bottom:12px; border-bottom:2px solid var(--line); margin-bottom:18px; scroll-margin-top:90px; }
.cluster-jumps { display:flex; flex-wrap:wrap; gap:10px 20px; padding:20px 0; border-block:1px solid var(--line); }
.cluster-jumps a { font-weight:600; }
.city-question { border-block-start:1px solid var(--line); }
.city-question:last-child { border-block-end:1px solid var(--line); }
.city-question summary { cursor:pointer; padding:22px 28px 22px 0; font:700 18px/1.6 var(--serif); color:var(--navy); }
.city-question[open] summary { color:var(--blue); }
.city-question>div { padding-bottom:22px; }
.city-question summary:focus-visible { outline:3px solid var(--orange); outline-offset:4px; }
@media(max-width:600px){.city-card-grid{grid-template-columns:1fr}.city-card{padding:18px}.city-question summary{font-size:17px}.cluster-jumps{gap:12px 18px}}
