.trailers { padding: clamp(3.5rem, 6vw, 5.5rem) 0; background: var(--ink); color: var(--paper); border-block: 1px solid var(--ink); scroll-margin-top: 100px; }
.trailer-feature { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.trailer-copy h2, .trailers-heading h2 { margin: 0 0 1.2rem; font-family: var(--serif); font-size: clamp(2.7rem, 4.5vw, 4.6rem); font-weight: 500; line-height: 1; letter-spacing: -.03em; }
.trailer-copy p:not(.eyebrow), .trailers-heading > p { color: #d0cbc2; max-width: 650px; }
.trailer-copy .eyebrow, .trailers-heading .eyebrow { color: var(--yellow); font-size: .875rem; }
.trailer-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.4rem; margin-top: 1.7rem; }
.trailer-actions a:not(.button) { font-size: .9375rem; font-weight: 700; text-underline-offset: .3em; }
.trailers-heading { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 2.5rem; margin-bottom: 2.5rem; }
.trailers-heading h2 { margin-bottom: 0; }
.trailer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
.trailer-card { min-width: 0; margin: 0; }
.trailer-card--lead { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, .65fr); align-items: center; gap: 2rem; padding-bottom: 2rem; border-bottom: 1px solid #514e49; }
.video-shell { position: relative; background: #08090d; border: 1px solid #514e49; }
.video-shell video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; }
.video-play { position: absolute; inset: 0; margin: auto; display: inline-flex; align-items: center; justify-content: center; gap: .65rem; width: max-content; max-width: calc(100% - 2rem); height: 54px; padding: .7rem 1.15rem; border: 2px solid #fff; background: var(--blue); color: #fff; box-shadow: 0 3px 18px #0008; font: 700 .9375rem var(--sans); cursor: pointer; }
.video-play:hover { background: #19267b; }
.video-play:focus-visible, .video-shell video:focus-visible { outline: 4px solid var(--yellow); outline-offset: 4px; }
.video-play svg { width: 18px; height: 18px; flex-shrink: 0; }
.video-play[hidden], .video-error[hidden], .trailer-fields[hidden], .field[hidden] { display: none; }
.video-error { margin: 0; padding: .8rem 1rem; background: #342927; color: #fff; font-size: .9375rem; }
.video-error a { font-weight: 700; }
.trailer-caption { padding-top: 1rem; }
.trailer-caption h3 { margin: .3rem 0 .5rem; font-family: var(--serif); font-size: 1.9rem; font-weight: 500; line-height: 1.12; }
.trailer-caption p { color: #d0cbc2; margin: 0; }
.trailer-meta { display: block; color: var(--yellow); font-size: .875rem; }
.trailer-credit { margin: 1.8rem 0 0; color: #bcb6ad; font-size: .875rem; line-height: 1.6; }
.trailer-fields { grid-column: 1 / -1; min-width: 0; margin: .25rem 0; padding: 1.2rem; border: 1px solid var(--line); background: #f6f1e7; }
.trailer-fields legend { padding: 0 .4rem; font-size: 1rem; font-weight: 700; }
.trailer-fields > p { margin: 0 0 1rem; color: var(--muted); font-size: .9375rem; }
.trailer-fields label { font-size: .875rem; letter-spacing: .01em; text-transform: none; }
.trailer-fields .field { min-width: 0; }
.trailer-fields input, .trailer-fields select { min-width: 0; }
@media (max-width: 1000px) {
  .trailer-feature, .trailers-heading, .trailer-card--lead { grid-template-columns: 1fr; }
  .trailers-heading { gap: 1rem; }
  .trailer-card--lead { gap: 0; }
}
@media (max-width: 700px) {
  .trailer-grid { grid-template-columns: 1fr; }
  .trailer-caption h3 { font-size: 1.7rem; }
  .trailer-fields { padding: 1rem; }
  .trailer-actions { align-items: flex-start; flex-direction: column; }
}
