.radio-section {
  background: #fffdf8;
  padding-top: 54px;
  padding-bottom: 54px;
}

.vision {
  padding-bottom: 54px;
}

.radio-section + .impact {
  padding-top: 54px;
}

.radio-card {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  margin-top: 30px;
  background: var(--navy);
  color: #fff;
  overflow: hidden;
  box-shadow: 0 28px 70px rgba(7, 27, 46, .16);
}

.radio-artwork {
  min-height: 500px;
  position: relative;
  background: #32191d;
}

.radio-artwork img {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  display: block;
  object-fit: contain;
}

.radio-content {
  padding: clamp(36px, 6vw, 78px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.radio-live {
  margin: 0 0 20px;
  color: var(--gold);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.radio-content h2 {
  font-size: clamp(2.8rem, 4.6vw, 4.8rem);
}

.radio-description {
  margin: 22px 0 10px;
  color: #c5d0d9;
}

.radio-schedule {
  margin: 0 0 30px;
  color: #fff;
  font-weight: 700;
}

.radio-player {
  width: 100%;
  height: 54px;
  margin-bottom: 26px;
  accent-color: var(--gold);
}

.radio-note {
  margin: 15px 0 0;
  color: #91a1ad;
  font-size: .78rem;
}

@media (max-width: 900px) {
  .radio-card { grid-template-columns: 1fr; }
  .radio-artwork { min-height: 420px; }
  .vision { padding-bottom: 48px; }
  .radio-section { padding-top: 48px; padding-bottom: 48px; }
  .radio-section + .impact { padding-top: 48px; }
}

@media (max-width: 560px) {
  .radio-artwork { min-height: 260px; }
  .radio-content { padding: 34px 24px 40px; }
}
