.music-section {
  display: grid;
  grid-template-columns: minmax(240px, .85fr) minmax(0, 1.55fr);
  align-items: center;
  gap: 40px 52px;
  padding: 80px 0 58px;
  scroll-margin-top: 28px;
}
.music-intro { min-width: 0; max-width: 430px; }
.music-intro h2 { font-size: clamp(40px, 4vw, 60px); }
.music-intro > p:not(.eyebrow) { font-size: 18px; }
.music-intro .music-invitation {
  color: var(--gold-light);
  font: 25px/1.5 var(--serif);
  margin: 28px 0 20px;
}
.music-intro .text-link { line-height: 1.6; }
.song-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 18px 24px;
  min-width: 0;
  max-width: 760px;
  width: 100%;
  justify-self: end;
}
.song-card {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  background: #0d1730;
  box-shadow: 0 20px 50px #0003;
}
.song-heading { min-height: 112px; padding: 8px 6px 20px; }
.song-number { font-size: 12px; letter-spacing: 1.1px; line-height: 1.6; margin: 0 0 10px; color: var(--gold); }
.song-heading h3 { font-size: clamp(24px, 2.2vw, 30px); line-height: 1.18; letter-spacing: -.025em; }
.song-card video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 9 / 16;
  object-fit: contain;
  background: var(--navy);
}
.song-card video:focus-visible,
.song-retry:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 4px; }
.song-status { font-size: 15px; line-height: 1.6; margin: 12px 4px 0; }
.song-status:empty { display: none; }
.song-retry {
  color: var(--gold-light);
  background: transparent;
  border: 1px solid var(--gold);
  min-height: 44px;
  padding: 10px 14px;
  margin: 12px 4px 2px;
  font: 15px/1.5 Arial, Helvetica, sans-serif;
  cursor: pointer;
}
.song-retry[hidden] { display: none; }
.song-retry[aria-disabled="true"] { opacity: .7; cursor: progress; }
.music-visual-description { grid-column: 1 / -1; font-size: 15px; line-height: 1.7; margin: 0 4px; }
.music-share {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 24px;
  padding-top: 30px;
  border-top: 1px solid var(--line);
}
.music-qr-link { display: block; flex: 0 0 123px; background: #fff; }
.music-qr-link img { width: 123px; height: 123px; }
.music-share h3 { font-size: 27px; line-height: 1.2; }
.music-share p { font-size: 16px; line-height: 1.6; margin: 8px 0 2px; }
.music-share .text-link { font-size: 15px; line-height: 1.6; }
@media (max-width: 1000px) {
  .music-section { grid-template-columns: minmax(0, 1fr); gap: 30px; padding-top: 58px; }
  .music-intro { max-width: 610px; }
  .song-grid { justify-self: start; max-width: 740px; }
  .song-heading h3 { font-size: 28px; }
}
@media (max-width: 600px) {
  .music-section { padding: 46px 0; }
  .music-intro h2 { font-size: 42px; }
  .music-intro > p:not(.eyebrow) { font-size: 17px; }
  .music-intro .music-invitation { font-size: 24px; }
  .song-grid { grid-template-columns: minmax(0, 1fr); max-width: 380px; justify-self: center; gap: 28px; }
  .song-heading { min-height: 0; padding-bottom: 18px; }
  .song-heading h3 { font-size: 28px; }
  .music-share { align-items: flex-start; gap: 18px; }
  .music-share h3 { font-size: 24px; }
  .music-qr-link { flex-basis: 123px; }
}
@media (max-width: 380px) {
  .music-share { flex-direction: column; }
  .music-qr-link { flex-basis: auto; }
}
