.gw-main { max-width: 960px; margin: 0 auto; padding: 32px 24px 48px; }
.gw-lede { color: #6b6b64; max-width: 560px; }

.gw-stat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin: 20px 0 32px; }
.gw-stat-card { background: #fff; border: 1px solid #e2e0d8; border-radius: 10px; padding: 14px 16px; }
.gw-stat-card .gw-label { font-size: 12px; color: #6b6b64; }
.gw-stat-card .gw-value { font-size: 22px; font-weight: 600; margin-top: 2px; }

.gw-card-list { display: flex; flex-direction: column; gap: 10px; margin-top: 12px; }
.gw-card { background: #fff; border: 1px solid #e2e0d8; border-radius: 10px; padding: 14px 16px; }
.gw-tags { display: flex; gap: 6px; flex-wrap: wrap; margin: 4px 0; }
.gw-tag { font-size: 11px; padding: 2px 8px; border-radius: 6px; background: #e6f1fb; color: #185fa5; }
.gw-tag.gw-outline { background: #fff; color: #6b6b64; border: 1px solid #e2e0d8; }
.gw-meta { font-size: 12px; color: #6b6b64; margin: 2px 0; }

.gw-map { height: 320px; border-radius: 10px; overflow: hidden; border: 1px solid #e2e0d8; margin-bottom: 12px; }
.gw-selected-builder { background: #fff; border: 1px solid #185fa5; border-radius: 10px; padding: 12px 16px; margin-bottom: 12px; }

.gw-city-index { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.gw-city-index .gw-city-link { display: block; background: #fff; border: 1px solid #e2e0d8; border-radius: 10px; padding: 14px 16px; color: inherit; text-decoration: none; }
.gw-city-index .gw-city-name { font-weight: 600; font-size: 15px; }
.gw-city-index .gw-city-stat { font-size: 12px; color: #6b6b64; margin-top: 4px; }

.gw-state-index { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.gw-state-index a { display: block; background: #fff; border: 1px solid #e2e0d8; border-radius: 10px; padding: 12px 14px; font-weight: 500; color: inherit; text-decoration: none; }

.gw-site-footer { border-top: 1px solid #e2e0d8; background: #fff; padding: 32px 24px; margin-top: 40px; }
.gw-footer-grid { max-width: 960px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 20px; }
.gw-site-footer h3 { font-size: 13px; margin: 0 0 8px; }
.gw-site-footer ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 4px; }
.gw-site-footer li a { font-size: 13px; }

.gw-range-toggle { display: flex; border: 1px solid #e2e0d8; border-radius: 10px; overflow: hidden; }
.gw-range-toggle span { padding: 8px 14px; font-size: 13px; color: #6b6b64; cursor: pointer; }
.gw-range-toggle span.gw-range-active { background: #e6f1fb; color: #185fa5; }
#gw-growth-map { height: 360px; }
