
.kicker { font-family: var(--sans); font-weight: 600; font-variant-numeric: tabular-nums; font-size: 14px; letter-spacing: .1em; color: var(--red); }

.smap-opener {
  position: relative; overflow: hidden;
  background: var(--zinc-950); color: var(--white); padding: 156px 0 56px;
}
.smap-opener .zone-glow {
  background: radial-gradient(ellipse 70% 66% at 22% 60%,
    rgba(237, 29, 36, .26), rgba(237, 29, 36, .09) 52%, transparent 78%);
}
.smap-opener .container { position: relative; z-index: 10; }
.smap-opener h1 {
  margin-top: 18px;
  font-size: clamp(44px, 6vw, 88px); font-weight: 900; text-transform: uppercase;
  line-height: .9; letter-spacing: -.04em;
}

.smap { background: var(--white); padding: 26px 0 var(--sect); }

.smap-groups { list-style: none; }
.smap-group {
  display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 40px 64px;
  padding-block: 34px; border-top: 1px solid var(--zinc-300);
}
.smap-group:last-child { border-bottom: 1px solid var(--zinc-300); }
.smap-rail { display: flex; align-items: baseline; gap: 18px; }
.smap-idx {
  font-family: var(--sans); font-weight: 700; font-variant-numeric: tabular-nums;
  font-size: 13px; color: var(--red);
}
.smap-name {
  font-size: clamp(24px, 2.6vw, 38px); font-weight: 900; text-transform: uppercase;
  line-height: .95; letter-spacing: -.03em; color: var(--slate-900);
}
.smap-name a { transition: color .3s; }
.smap-name a:hover { color: var(--red); }

.smap-links {
  list-style: none; align-self: center;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px 28px;
}
.smap-links li { min-width: 0; }
.smap-links a {
  display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
  font-size: 14.5px; font-weight: 500; line-height: 1.5; color: var(--zinc-600);
  transition: color .3s;
}
.smap-links a:hover { color: var(--red); }

@media (max-width: 1023px) {
  .smap-group { grid-template-columns: 1fr; gap: 20px; }
  .smap-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .smap-opener { padding: 120px 0 44px; }
  .smap-links { grid-template-columns: 1fr; }
}
