/* ===== SITEMAP PAGE ===== */
    .sm-hero {
      padding: 40px 0 60px;
    }
    .sm-h1 {
      font-size: 40px;
      font-weight: 900;
      color: var(--text);
      margin-bottom: 40px;
      line-height: 1.15;
    }
    .sm-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 32px;
    }
    .sm-section {
      break-inside: avoid;
    }
    .sm-section--wide {
      grid-column: 1 / -1;
    }
    .sm-section__title {
      font-size: 18px;
      font-weight: 800;
      color: var(--text);
      margin-bottom: 16px;
      padding-bottom: 10px;
      border-bottom: 2px solid var(--border);
      display: flex;
      align-items: center;
      gap: 10px;
    }
    .sm-section__title::before {
      content: '';
      display: block;
      width: 4px;
      height: 20px;
      background: var(--blue);
      border-radius: 2px;
    }
    .sm-list {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    .sm-list a {
      font-size: 14px;
      color: var(--text-muted);
      line-height: 1.5;
      padding: 4px 0;
      border-bottom: 1px solid transparent;
      transition: color .15s, border-color .15s;
      display: block;
    }
    .sm-list a:hover {
      color: var(--blue);
      border-bottom-color: var(--blue);
    }
    .sm-list a::before {
      content: '— ';
      color: var(--border);
    }

    /* Blog grid inside sitemap */
    .sm-blog-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 0 40px;
    }

    /* Cities grid */
    .sm-cities-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0 40px;
    }

    @media (max-width: 960px) {
      .sm-h1 { font-size: 28px; }
      .sm-grid { grid-template-columns: 1fr 1fr; }
      .sm-blog-grid { grid-template-columns: 1fr 1fr; }
      .sm-cities-grid { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 640px) {
      .sm-h1 { font-size: 24px; }
      .sm-grid { grid-template-columns: 1fr; }
      .sm-blog-grid { grid-template-columns: 1fr; }
      .sm-cities-grid { grid-template-columns: 1fr 1fr; }
    }