.city-information, .city-editorial, .locations-intro { padding: clamp(40px, 6vw, 80px) 0; }
.city-information { background: #f4f7f9; scroll-margin-top: 100px; }
.city-information h2, .city-editorial h2 { margin-bottom: 24px; }
.city-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin: 28px 0; }
.city-facts div { min-width: 0; }
.city-facts dt { color: #475569; font-size: .9rem; margin-bottom: 6px; }
.city-facts dd { margin: 0; font-weight: 650; overflow-wrap: anywhere; }
.city-source, .city-official-links { font-size: .9rem; color: #475569; }
.city-information a, .city-editorial a, .state-navigation a, .locations-list a { color: #166534; text-decoration: underline; text-underline-offset: 3px; }
.city-editorial p { max-width: 80ch; margin: 16px 0; }
.city-editorial article + article { margin-top: 36px; }
.city-editorial ul { padding-left: 24px; }
.state-navigation { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 32px; }
.locations-list { padding-bottom: 70px; }
.locations-list section { padding: 24px 0; scroll-margin-top: 100px; }
.locations-list ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 32px; padding-left: 20px; margin: 20px 0; }
.locations-list a, .state-navigation a { overflow-wrap: anywhere; }
.draft-notice { background: #fffbeb; border-bottom: 2px solid #d97706; padding: 28px 0; }
.draft-notice ul { padding-left: 20px; margin-top: 12px; }
@media (max-width: 800px) { .city-facts, .locations-list ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .city-information .container { padding-right: 84px; } }
@media (max-width: 480px) { .city-facts, .locations-list ul { grid-template-columns: minmax(0, 1fr); } .city-facts { gap: 18px; } }
