.reel-section {
  background: var(--rose-50);
}
.reel-layout {
  display: grid;
  grid-template-columns: 1fr minmax(0, 460px);
  align-items: center;
  gap: clamp(2rem, 7vw, 6rem);
}
.reel-intro h2 {
  font-size: clamp(2.5rem, 5vw, 4rem);
}
.reel-intro p {
  max-width: 36ch;
  margin-block: 1.4rem;
  color: var(--ink-soft);
}
.reel-card {
  min-width: 0;
}
.reel-cover {
  min-height: 470px;
  padding: clamp(1.5rem, 4vw, 3rem);
  background: var(--plum-900);
  color: var(--canvas);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 3rem;
  border-radius: 120px 120px 10px 10px;
}
.reel-label {
  align-self: center;
  font-size: .75rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  padding-top: 1.5rem;
  color: var(--rose-200);
}
.reel-cover p {
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(2.2rem, 4vw, 3.1rem);
  line-height: 1.15;
}
.reel-cover em {
  color: var(--rose-200);
}
.reel-load {
  white-space: normal;
  min-height: 48px;
}
.reel-load:disabled {
  opacity: .65;
  cursor: wait;
}
.reel-player {
  width: 100%;
  overflow-x: auto;
}
.reel-player .instagram-media {
  margin: 0 !important;
  width: 100% !important;
  max-width: 540px;
}
.reel-status {
  margin-top: 1rem;
  font-size: .82rem;
  color: var(--ink-soft);
}
.reel-fallback {
  font-size: .88rem;
}
@media (max-width: 760px) {
  .reel-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .reel-card {
    width: 100%;
    max-width: 460px;
    justify-self: center;
  }
  .reel-cover {
    min-height: 420px;
  }
}
@media print {
  .reel-section {
    display: none;
  }
}
.reel-stage { position: relative; }
.reel-stage .reel-cover { min-height: 320px; border-radius: 72px 72px 12px 12px; gap: 1.5rem; }
.reel-player { visibility: hidden; }
.reel-player.is-ready { visibility: visible; }
.reel-player iframe, .reel-player .instagram-media { min-width: 0 !important; max-width: 100% !important; width: 100% !important; }
.reel-privacy { font-size: .85rem; color: var(--ink-soft); margin-top: .5rem; }
.reel-privacy .text-link { min-height: 44px; }
@media (max-width: 480px) {
  .reel-stage .reel-cover { min-height: 280px; padding: 1.5rem; border-radius: 52px 52px 12px 12px; }
  .reel-label { padding-top: .5rem; }
}
