.casting-popup {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 1rem;
  animation: popup-fade-in .35s ease both;
}

.casting-popup.is-hidden { display: none; }
.casting-popup__backdrop { position: absolute; inset: 0; background: rgba(9, 10, 10, .72); backdrop-filter: blur(9px); }
.casting-popup__panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, .82fr);
  width: min(100%, 980px);
  max-height: calc(100vh - 2rem);
  overflow: auto;
  color: #131414;
  background: #fff;
  box-shadow: 0 30px 110px rgba(0, 0, 0, .42);
}

.casting-popup__copy { padding: clamp(2rem, 5vw, 5rem); align-self: center; }
.casting-popup__eyebrow, .casting-popup__note { margin: 0; color: #59605a; font: 500 .68rem/1.3 'DM Mono', monospace; letter-spacing: .14em; }
.casting-popup__dates { margin: 1.8rem 0 .35rem; font: 700 clamp(1rem, 2vw, 1.42rem)/1 'DM Mono', monospace; letter-spacing: .08em; }
.casting-popup__dates span { color: #adff00; text-shadow: 0 0 0 #111; }
.casting-popup h2 { max-width: 480px; margin: 0 0 1.2rem; font: 600 clamp(2.7rem, 6vw, 5.25rem)/.93 'Playfair Display', Georgia, serif; letter-spacing: -.055em; }
.casting-popup__lead { max-width: 430px; margin: 0; font: 600 clamp(1rem, 1.6vw, 1.25rem)/1.45 'Manrope', sans-serif; }
.casting-popup__question { max-width: 405px; margin: 1rem 0 2rem; color: #505650; font: 400 .96rem/1.55 'Manrope', sans-serif; }
.casting-popup__cta { display: inline-flex; align-items: center; gap: 2rem; padding: 1rem 1.25rem; color: #111; background: #bfff00; font: 800 .75rem/1 'Manrope', sans-serif; letter-spacing: .08em; text-decoration: none; box-shadow: 6px 6px 0 #161716; transition: transform .2s ease, box-shadow .2s ease; }
.casting-popup__cta:hover { transform: translate(3px, 3px); box-shadow: 3px 3px 0 #161716; }
.casting-popup__cta span { font-size: 1.25rem; }
.casting-popup__note { margin-top: 2.2rem; }
.casting-popup__image-wrap { min-height: 530px; background: #1a1c18; overflow: hidden; }
.casting-popup__image { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; }
.casting-popup__close { position: absolute; z-index: 2; top: .8rem; right: .8rem; display: grid; place-items: center; width: 2.5rem; height: 2.5rem; padding: 0; border: 1px solid rgba(255,255,255,.44); border-radius: 50%; color: #fff; background: rgba(0,0,0,.24); font: 300 1.8rem/1 Arial, sans-serif; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.casting-popup__close:hover { background: #bfff00; color: #111; transform: rotate(90deg); }
body.popup-open { overflow: hidden; }
@keyframes popup-fade-in { from { opacity: 0; } to { opacity: 1; } }

@media (max-width: 680px) {
  .casting-popup { padding: .6rem; align-items: end; }
  .casting-popup__panel { grid-template-columns: 1fr; max-height: calc(100vh - 1.2rem); }
  .casting-popup__image-wrap { grid-row: 1; min-height: 220px; max-height: 32vh; }
  .casting-popup__image { object-position: 50% 21%; }
  .casting-popup__copy { grid-row: 2; padding: 1.45rem 1.5rem 1.7rem; }
  .casting-popup__dates { margin: .8rem 0 .25rem; }
  .casting-popup h2 { margin-bottom: .7rem; font-size: clamp(2.35rem, 13vw, 4rem); }
  .casting-popup__lead { font-size: .95rem; }
  .casting-popup__question { margin: .7rem 0 1.25rem; font-size: .86rem; }
  .casting-popup__cta { width: 100%; justify-content: space-between; padding: .95rem 1rem; }
  .casting-popup__note { margin-top: 1.15rem; font-size: .58rem; }
}
