/* Productions — credit-block typography.
   The credit blocks are transcriptions of printed programme credits, so they
   are set tighter and quieter than body copy: the page is a record, not a pitch. */

.production-card {
  border-top: 1px solid var(--rule, rgba(0, 0, 0, 0.14));
  padding: var(--sp-6, 2.5rem) 0;
  max-width: 68ch;
}

.production-card:last-child {
  border-bottom: 1px solid var(--rule, rgba(0, 0, 0, 0.14));
}

.production-head h3 {
  font-family: var(--serif);
  font-size: var(--fs-xl);
  line-height: 1.15;
  margin: 0;
}

.production-alt {
  margin: var(--sp-1, 0.35rem) 0 var(--sp-3, 1rem);
  color: var(--text-secondary, #5c5c5c);
  font-size: var(--fs-sm);
}

.credit-block {
  display: grid;
  grid-template-columns: minmax(9rem, 14rem) 1fr;
  gap: 0.55rem var(--sp-4, 1.5rem);
  margin: var(--sp-4, 1.5rem) 0;
  font-size: var(--fs-sm);
}

.credit-block dt {
  color: var(--text-secondary, #5c5c5c);
  font-size: 0.82em;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding-top: 0.15em;
}

:lang(zh-Hant) .credit-block dt,
:lang(ja) .credit-block dt {
  text-transform: none;
  letter-spacing: 0;
}

.credit-block dd {
  margin: 0;
  font-family: var(--serif);
}

.production-note {
  font-size: var(--fs-sm);
  color: var(--text-secondary, #5c5c5c);
  max-width: 60ch;
}

@media (max-width: 640px) {
  .credit-block {
    grid-template-columns: 1fr;
    gap: 0.2rem;
  }
  .credit-block dd {
    margin-bottom: 0.75rem;
  }
}
