/* =====================================================
   RESPONSIVE — DD FILM COMING SOON
   ===================================================== */

/* ---------- Large desktop ---------- */
@media (min-width: 1600px) {
  .stage { max-width: 1320px; }
  .tv-wrap { width: min(680px, 82vw, 92vh); }
}

/* ---------- Laptop ---------- */
@media (max-width: 1280px) {
  .prop--reel   { width: clamp(160px, 22vw, 280px); }
  .prop--clapper{ width: clamp(150px, 20vw, 260px); }
}

/* ---------- Short desktop viewports : keep 100vh fit ---------- */
@media (min-width: 861px) and (max-height: 820px) {
  .tv-wrap { width: min(560px, 74vw, 78vh); }
  .headline { font-size: clamp(40px, 7.6vw, 84px); }
  .description { line-height: 1.8; }
}
@media (min-width: 861px) and (max-height: 680px) {
  .tv-wrap { width: min(460px, 66vw, 66vh); }
  .copy { margin-top: 14px; }
  .headline { font-size: clamp(36px, 6.6vw, 68px); }
}

/* ---------- Tablet ---------- */
@media (max-width: 860px) {
  .hero { padding: 40px 18px 28px; }

  .stage { max-width: 640px; }

  .tv-wrap { width: min(500px, 88vw); }

  .prop--reel {
    width: clamp(120px, 26vw, 190px);
    left: -4%;
    bottom: -10%;
  }
  .prop--clapper {
    width: clamp(110px, 24vw, 175px);
    right: -4%;
    top: -2%;
  }

  .filmstrip { width: 58%; top: -8%; }

  .headline { letter-spacing: 0.04em; }

  .description { letter-spacing: 0.18em; text-indent: 0.18em; }
}

/* ---------- Mobile ---------- */
@media (max-width: 560px) {
  .hero {
    padding: 34px 14px 24px;
    justify-content: flex-start;
  }

  .stage { margin-top: 4vh; }

  .tv-wrap { width: min(400px, 94vw); }

  .prop--reel {
    width: clamp(88px, 27vw, 130px);
    left: -6%;
    bottom: -14%;
  }
  .prop--clapper {
    width: clamp(82px, 25vw, 120px);
    right: -6%;
    top: -6%;
  }

  .filmstrip { display: none; }

  .kicker { letter-spacing: 0.34em; text-indent: 0.34em; }

  .headline { font-size: clamp(42px, 13.5vw, 64px); }

  .description {
    font-size: 12.5px;
    letter-spacing: 0.14em;
    text-indent: 0.14em;
    line-height: 1.9;
  }

  .contact__link {
    flex-direction: column;
    text-align: center;
    gap: 10px;
  }
  .contact__text { align-items: center; }

  .socials { gap: 16px; }

  /* lighter background effects on mobile */
  .bg-lightray, .bg-streak { display: none; }
  .bg-arcs { opacity: 0.25; }
  .light-sweep, .shimmer-band { display: none; }
  .glow-orb--warm { display: none; }
  .projector-beam { filter: blur(10px); opacity: .7; }

  .download-btn {
    padding: 9px 15px;
    font-size: 11px;
    letter-spacing: 0.16em;
  }
}

/* ---------- Very small ---------- */
@media (max-width: 360px) {
  .kicker { font-size: 11px; }
  .headline { font-size: 40px; }
}

/* ---------- Landscape phones ---------- */
@media (max-height: 480px) and (orientation: landscape) {
  .hero { padding: 24px 16px; }
  .tv-wrap { width: min(300px, 60vh); }
  .prop--reel { width: 110px; }
  .prop--clapper { width: 100px; }
  .copy { margin-top: 12px; }
  .headline { font-size: 38px; }
  .description br { display: none; }
}
