* { box-sizing: border-box; }
body { margin: 0; font-family: Sora, Arial, sans-serif; color: #1a2740; background: #f5f7fa; }
a { color: inherit; }
.city-nav { display: flex; align-items: center; justify-content: space-between; padding: 1rem 5%; background: #fff; border-bottom: 1px solid #e8edf5; }
.city-logo { color: #0b2a52; font-size: 1.25rem; font-weight: 800; text-decoration: none; }
.city-logo span { color: #c99a3b; }
.city-nav-link { color: #0b2a52; font-size: .78rem; font-weight: 700; text-decoration: none; }
.city-hero { padding: 5rem 5%; color: #fff; background: linear-gradient(135deg, #0b2a52, #17487f); }
.city-wrap { width: min(100%, 1080px); margin: auto; }
.city-tag { color: #e4b84d; font-size: .72rem; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; }
h1 { max-width: 820px; margin: .8rem 0 1rem; font-size: clamp(2.2rem, 6vw, 4rem); line-height: 1.08; }
.city-hero p { max-width: 700px; color: rgba(255,255,255,.72); line-height: 1.75; }
.city-content { display: grid; gap: 2.5rem; padding: 3.5rem 5%; }
.city-content section { width: min(100%, 1080px); margin: auto; }
h2 { margin: 0 0 1rem; color: #0b2a52; font-size: clamp(1.5rem, 4vw, 2rem); }
.city-content p { color: #5a6a82; line-height: 1.8; }
.city-services { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.city-service { padding: 1.25rem; border: 1px solid #e8edf5; border-radius: 14px; background: #fff; }
.city-service strong { color: #0b2a52; }
.city-service p { margin-bottom: 0; font-size: .82rem; }
.city-cta { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 2rem !important; border-radius: 18px; color: #fff; background: #0b2a52; }
.city-cta h2 { color: #fff; }
.city-cta p { margin-bottom: 0; color: rgba(255,255,255,.68); }
.city-button { flex: 0 0 auto; padding: 1rem 1.5rem; border-radius: 50px; color: #0b2a52; background: #e4b84d; font-size: .82rem; font-weight: 800; text-decoration: none; }
.nearby { display: flex; flex-wrap: wrap; gap: .6rem; }
.nearby a { padding: .6rem .8rem; border: 1px solid #e8edf5; border-radius: 50px; color: #5a6a82; background: #fff; font-size: .7rem; text-decoration: none; }
.city-footer { padding: 2rem 5%; color: rgba(255,255,255,.6); background: #081b36; font-size: .7rem; text-align: center; }
@media (max-width: 760px) {
  .city-services { grid-template-columns: 1fr; }
  .city-cta { align-items: stretch; flex-direction: column; }
  .city-button { text-align: center; }
}
