.sitemap-hero {
  color: #ffffff;
  background: linear-gradient(140deg, #1e2630 0%, #2f1d1a 100%);
}

.sitemap-hero .container {
  padding: 74px 0;
}

.sitemap-hero h1 {
  margin: 0;
  font-size: clamp(2.2rem, 4.5vw, 4rem);
  line-height: 1.06;
}

.sitemap-hero p:not(.section-eyebrow) {
  max-width: 820px;
  margin: 16px 0 0;
  color: rgba(255, 255, 255, 0.82);
}

.sitemap-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.sitemap-hero .button--ghost {
  color: #ffffff;
  background: transparent;
  border-color: rgba(255, 255, 255, 0.4);
}

.sitemap-hero .button--ghost:hover,
.sitemap-hero .button--ghost:focus {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.6);
}

.sitemap-band {
  background: var(--color-surface-soft);
}

.sitemap-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.sitemap-grid--cards {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sitemap-card {
  display: flex;
  align-items: center;
  min-height: 72px;
  padding: 18px;
  color: var(--color-ink);
  font-weight: 700;
  background: #ffffff;
  border: 1px solid var(--color-line);
  border-radius: 8px;
}

.sitemap-card:hover,
.sitemap-card:focus {
  color: var(--color-accent);
  border-color: #efb3aa;
}

.sitemap-cluster {
  padding: 22px;
  background: #ffffff;
  border: 1px solid var(--color-line);
  border-radius: 8px;
}

.sitemap-cluster h3,
.sitemap-products h3 {
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.2;
}

.sitemap-cluster ul,
.sitemap-products ul {
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

.sitemap-cluster li,
.sitemap-products li {
  margin-top: 10px;
}

.sitemap-cluster a,
.sitemap-products a {
  color: var(--color-ink-soft);
  font-size: 0.95rem;
  font-weight: 600;
}

.sitemap-cluster a:hover,
.sitemap-cluster a:focus,
.sitemap-products a:hover,
.sitemap-products a:focus {
  color: var(--color-accent);
}

.sitemap-products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.sitemap-products article {
  padding: 22px;
  background: #ffffff;
  border: 1px solid var(--color-line);
  border-radius: 8px;
}

@media (max-width: 1040px) {
  .sitemap-grid--cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sitemap-products {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .sitemap-hero .container {
    padding: 52px 0;
  }

  .sitemap-grid,
  .sitemap-grid--cards {
    grid-template-columns: 1fr;
  }
}
