section.ic-city-link {
  padding: 0 0 48px;
  border-top: 0;
  background: #fff;
  background-attachment: scroll;
}
.ic-city-link .container { box-sizing: border-box; }
.ic-city-link__panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 32px;
  align-items: center;
  padding: 32px 36px;
  border: 1px solid #dfd9cf;
  border-radius: 16px;
  background: linear-gradient(120deg, #faf6ee, #f0ebe1);
  color: #202d38;
  box-shadow: 0 8px 24px rgb(32 45 56 / 4%);
}
.ic-city-link__copy { min-width: 0; }
.ic-city-link__copy h2 {
  margin: 0 0 12px;
  color: #202d38;
  font-size: clamp(24px, 2.2vw, 32px);
  line-height: 1.2;
  font-weight: 600;
  text-align: left;
}
.ic-city-link__copy p {
  max-width: 740px;
  margin: 0;
  color: #52606b;
  font-size: 16px;
  line-height: 1.65;
  text-align: left;
}
a.ic-city-link__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-height: 48px;
  padding: 12px 20px;
  box-sizing: border-box;
  border: 1px solid #202d38;
  border-radius: 8px;
  background: #202d38;
  color: #fff;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 600;
  text-decoration: none;
}
a.ic-city-link__action:hover { background: #344958; color: #fff; }
a.ic-city-link__action:focus-visible { outline: 3px solid #bf581b; outline-offset: 4px; }
a.ic-city-link__action:active { background: #14202a; }
@media (max-width: 900px) {
  .ic-city-link__panel { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 24px; }
  a.ic-city-link__action { justify-self: start; }
}
@media (max-width: 480px) {
  section.ic-city-link { padding-bottom: 32px; }
  .ic-city-link__panel { padding: 24px 20px; }
  a.ic-city-link__action { width: 100%; gap: 10px; padding-inline: 12px; }
}
