/* Production history: extends the existing Defying Gravity design. */
.productions-heading { padding-bottom: 3rem; }
.production-intro { max-width: 70ch; font-weight: 300; line-height: 1.85; color: rgba(255,255,255,.78); margin: 0 0 1.25rem; }
.production-collection { padding-top: 1rem; }
.production-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2.5rem; }
.production-card { border: 1px solid rgba(253,226,140,.22); background: rgba(13,6,24,.55); overflow: hidden; }
.production-card-art { display: flex; align-items: center; justify-content: center; aspect-ratio: 16/9; overflow: hidden; background: var(--purple-dark); }
.production-card-art img { width: 100%; height: 100%; object-fit: cover; }
.production-card-art--logo { background: radial-gradient(ellipse at center,rgba(18,115,97,.18),transparent 75%),linear-gradient(130deg,var(--purple),var(--purple-dark)); padding: 2.5rem; }
.production-card-art--logo img { height: auto; max-height: 100%; object-fit: contain; }
.production-card-copy { padding: 2rem; }
.production-card h2 { margin-bottom: .6rem; }
.production-card h2 a { color: inherit; text-decoration: none; }
.production-card-copy p { line-height: 1.75; color: rgba(255,255,255,.74); margin-bottom: 1.2rem; font-weight: 300; }
.production-card-copy .section-label { color: var(--gold); }
.production-card-copy .production-venue { color: var(--gold-dim); font-size: .88rem; }
.production-card-links { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; }
.archive-text-link { color: var(--gold); font-family: 'Jost',sans-serif; text-underline-offset: .25em; }
.production-card-copy .archive-photo-credit { margin: 1.5rem 0 0; font-size: .75rem; color: rgba(255,255,255,.55); }
.production-review { padding: 4rem 2rem 2rem; text-align: center; }
.archive-quote { max-width: 900px; margin: auto; }
.archive-quote p { font-family: 'Jost',sans-serif; font-size: clamp(1.5rem,3.2vw,2.5rem); line-height: 1.35; color: var(--gold); margin-bottom: 1.3rem; }
.archive-quote cite { font-style: normal; font-size: .85rem; }
.archive-quote cite a { color: rgba(255,255,255,.85); text-underline-offset: .3em; }
.review-translation { display: block; font-size: .75rem; color: rgba(255,255,255,.55); margin-top: .8rem; }
.production-watch { padding-top: 2rem; padding-bottom: 3rem; }
.watch-panel { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 2rem; padding: 2.5rem; border: 1px solid rgba(253,226,140,.3); background: linear-gradient(120deg,rgba(18,115,97,.12),rgba(45,18,64,.5)); }
.watch-panel h2 { font-size: clamp(1.5rem,2.3vw,2.1rem); margin-bottom: .7rem; }
.watch-panel p:not(.section-label) { max-width: 48ch; color: rgba(255,255,255,.7); font-weight: 300; line-height: 1.8; }
.watch-panel .section-label { margin-bottom: .7rem; }
.watch-symbol { font-size: 2rem; color: var(--gold); }
.archive-event-strip .hero-event { justify-content: space-between; }
.archive-event-strip .hero-event-details .section-label { margin-bottom: .8rem; }
.archive-event-strip .btn-group { animation: none; opacity: 1; margin-top: 0; flex-wrap: wrap; }
.production-photo { padding-top: 0; padding-bottom: 2rem; }
.production-history,.production-cast,.production-credits { padding-top: 3rem; padding-bottom: 3rem; }
.archive-cast-list { list-style: none; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem 2rem; margin: 2rem 0; padding: 0; }
.archive-cast-list li { font-family: 'Jost',sans-serif; font-size: 1.25rem; color: var(--gold); }
.credits-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.8rem 2.5rem; margin: 2rem 0; }
.credits-grid dt { font-family: 'Jost',sans-serif; text-transform: uppercase; letter-spacing: .14em; font-size: .7rem; color: var(--teal-bright); margin-bottom: .6rem; }
.credits-grid dd { font-weight: 300; line-height: 1.6; color: rgba(255,255,255,.85); }
.archive-context { position: relative; padding: 7rem 2rem 0; text-align: center; background: var(--purple-dark); }
.archive-context a { font-family: 'Jost',sans-serif; text-transform: uppercase; letter-spacing: .12em; font-size: .75rem; color: var(--gold); text-underline-offset: .3em; }
.archive-context + .person-hero { padding-top: 3rem; }
.production-archive section[id] { scroll-margin-top: 6rem; }
.sydney-premiere-title[href] { color: var(--gold); text-underline-offset: .25em; }
@media(max-width:768px) {
  .ticker-wrap { min-height: 9rem; display: grid; align-items: center; }
  .ticker-item { flex-direction: column; gap: .35rem; }
  .ticker-quote { font-size: 1rem; line-height: 1.35; letter-spacing: .08em; }
  .ticker-source { font-size: .55rem; line-height: 1.4; }
  .ticker-sep { display: none; }
}
@media(max-width:900px) {
  .production-grid { gap: 1.5rem; }
  .watch-panel { grid-template-columns: auto 1fr; padding: 2rem; }
  .watch-panel .btn { grid-column: 2; justify-self: start; }
  .credits-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .production-grid { grid-template-columns: 1fr; }
  .production-card-copy { padding: 1.5rem; }
  .productions-heading { padding-top: 8rem; }
  .watch-panel { grid-template-columns: 1fr; gap: 1.2rem; padding: 1.5rem; }
  .watch-symbol { display: none; }
  .watch-panel .btn { grid-column: 1; max-width: 100%; white-space: normal; text-align: center; }
  .archive-cast-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .credits-grid { grid-template-columns: 1fr; }
  .archive-context { padding-top: 6rem; }
}


/* Shared production archive layout, using the established colours and typography. */
.production-card { display: flex; flex-direction: column; }
.production-card-copy { display: flex; flex: 1; flex-direction: column; }
.production-card h2 { font-size: clamp(1.7rem, 3vw, 2.65rem); }
.production-card-links { margin-top: auto; }
.production-card-art img { object-position: center 48%; }
.archive-hero { padding-top: 8rem; padding-bottom: 3rem; }
.archive-back-link { display: inline-block; margin-bottom: 2rem; color: var(--gold); font-family: 'Jost', sans-serif; font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; }
.archive-back-link:hover { text-decoration: underline; text-underline-offset: .3em; }
.archive-lead-grid { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: 3rem; align-items: center; }
.archive-lead-copy h1 { font-size: clamp(2.5rem, 4.5vw, 4rem); line-height: 1.05; margin-bottom: 1.2rem; }
.archive-production-type { font-family: 'Jost', sans-serif; font-size: 1.1rem; color: var(--gold); margin-bottom: 1.5rem; }
.archive-venue { font-weight: 300; font-size: 1rem; color: rgba(255,255,255,.85); line-height: 1.8; }
.archive-venue span { color: rgba(255,255,255,.64); }
.archive-jump-links { display: flex; flex-wrap: wrap; gap: .6rem 1.5rem; margin-top: 1.7rem; }
.archive-jump-links a { font-family: 'Jost', sans-serif; font-size: .8rem; color: var(--teal-bright); text-underline-offset: .3em; }
.archive-lead-photo, .archive-gallery-photo { margin: 0; min-width: 0; }
.archive-lead-photo img, .archive-gallery-photo img { display: block; width: 100%; height: auto; border: 1px solid rgba(253,226,140,.22); }
.archive-lead-photo figcaption, .archive-gallery-photo figcaption { padding-top: .8rem; color: rgba(255,255,255,.72); font-size: .78rem; line-height: 1.65; }
.archive-lead-photo figcaption span, .archive-gallery-photo figcaption span { display: block; }
.archive-photo-credit { color: rgba(255,255,255,.5); font-size: .72rem; margin-top: .25rem; }
.archive-story-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 4rem; align-items: start; }
.archive-orchestra { border-left: 1px solid rgba(253,226,140,.35); padding-left: 2rem; margin-top: .5rem; }
.archive-orchestra h3 { font-family: 'Jost', sans-serif; font-weight: 400; font-size: 1.5rem; color: var(--gold); line-height: 1.25; margin-bottom: 1rem; }
.archive-orchestra p:not(.section-label) { font-weight: 300; line-height: 1.8; color: rgba(255,255,255,.7); margin-bottom: 1rem; }
.production-archive .production-history h2, .production-archive .production-cast h2, .production-archive .production-credits h2, .production-gallery h2, .production-press h2 { font-size: clamp(1.6rem, 3vw, 2.5rem); }
.archive-cast-list a, .credits-grid a { color: inherit; text-decoration-color: rgba(253,226,140,.4); text-underline-offset: .25em; }
.archive-cast-list a:hover, .credits-grid a:hover { color: var(--gold); }
.production-archive .production-cast { border-top: 1px solid rgba(253,226,140,.12); }
.production-archive .production-credits { padding-top: 1rem; }
.production-gallery { padding-top: 3rem; padding-bottom: 3rem; background: linear-gradient(160deg, #070611 0%, #10091b 100%); }
.archive-gallery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; align-items: start; margin-top: 2rem; }
.archive-gallery-photo--portrait { grid-row: span 2; }
.production-press { padding-top: 3rem; padding-bottom: 3rem; }
.archive-review-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; margin-top: 2rem; }
.archive-review-grid blockquote { margin: 0; padding-left: 1.2rem; border-left: 1px solid rgba(253,226,140,.5); }
.archive-review-grid p { font-family: 'Jost', sans-serif; font-size: 1.4rem; color: var(--gold); line-height: 1.4; margin-bottom: .8rem; }
.archive-review-grid cite { font-style: normal; font-size: .8rem; color: rgba(255,255,255,.65); }
.archive-onward { padding-top: 3rem; padding-bottom: 3rem; background: linear-gradient(160deg, var(--purple-dark), var(--purple)); }
.archive-next-production { display: block; width: fit-content; font-family: 'Jost', sans-serif; font-size: clamp(1.8rem, 3vw, 2.8rem); text-transform: uppercase; text-decoration: none; color: white; margin-bottom: 1.2rem; }
.archive-next-production:hover { color: var(--gold); }
.archive-back-link:focus-visible, .archive-jump-links a:focus-visible, .archive-next-production:focus-visible, .archive-cast-list a:focus-visible, .credits-grid a:focus-visible { outline: 2px solid var(--gold); outline-offset: 5px; }
@media (max-width: 800px) {
  .archive-lead-grid { grid-template-columns: 1fr; gap: 2rem; }
  .archive-lead-copy h1 { font-size: clamp(2.5rem, 7vw, 4rem); }
  .archive-story-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .archive-orchestra { max-width: 65ch; }
  .archive-review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .archive-hero { padding-top: 7rem; }
  .archive-back-link { margin-bottom: 1.5rem; }
  .archive-gallery-grid { grid-template-columns: 1fr; }
  .archive-gallery-photo--portrait { grid-row: auto; }
  .archive-review-grid { grid-template-columns: 1fr; }
  .archive-orchestra { padding-left: 1.25rem; }
  .archive-cast-list { gap: 1rem; }
  .archive-cast-list li { font-size: 1.1rem; }
}

.productions-heading h1 { font-size: clamp(2.25rem, 5vw, 4rem); }
.archive-review-stars { display: block; color: var(--gold); font-size: .9rem; letter-spacing: .15em; margin-bottom: .8rem; }
