body { background: var(--bg-light);
      font-family: "Open Sans", sans-serif;
      line-height: 1.7;
      color: var(--text-dark);
      overflow-x: hidden; }
.btn:hover { opacity: 0.9; transform: translateY(-1px); }
.page-hero .lead { font-size: 1.15rem;
      opacity: 0.85;
      max-width: 680px;
      margin-bottom: 2.5rem; }
.badge { background: rgba(255,255,255,0.1);
      border: 1px solid rgba(255,255,255,0.2);
      color: var(--white);
      padding: 0.4rem 1rem;
      border-radius: 2rem;
      font-size: 0.85rem;
      font-weight: 600; }
.section-title p { color: var(--text-muted); max-width: 640px; margin: 0 auto; }
.city-grid { display: grid;
      grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
      gap: 1.5rem; }
.city-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1000px) {
  .city-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .city-grid { grid-template-columns: 1fr; }
}
.faq-answer { max-height: 0;
      overflow: hidden;
      transition: max-height 0.4s ease-out;
      padding-bottom: 0; }
.faq-item.active .faq-answer { max-height: 300px; }
.cta-strip { background: var(--primary-color);
      color: var(--white);
      padding: 4rem 0;
      text-align: center; }
footer { background: var(--primary-color); color: var(--white); padding: 4rem 0 2rem; }