.opener-pad { padding-block: 3.4rem 3rem; text-align: left; }
.wine-light { background: var(--white); }
.opener-width {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
  column-gap: 3rem;
}
.opener-width > .small-copy { grid-column: 1 / -1; font-weight: 700; }
.chapter-label {
  grid-column: 1 / -1;
  margin-top: 1.9rem;
  font-size: 1rem;
  color: var(--muted);
}
.title-scale { color: var(--leaf); font-size: clamp(2.2rem, 5.5vw, 4.25rem); line-height: 1.08; }
.title-space { margin-top: 0.75rem; }
.short-rule { grid-column: 1; width: 4rem; border-top: 7px solid var(--leaf); margin-top: 1.5rem; }
.opener-copy { grid-column: 2; grid-row: 3 / 5; align-self: end; font-size: 1.15rem; line-height: 1.65; padding-bottom: 0.15rem; }
.chapter-pad { padding-bottom: 4.5rem; }
.chapter-gap { padding-top: 3.5rem; scroll-margin-top: 1.5rem; }
.section-heading { color: var(--leaf); font-size: clamp(1.6rem, 3.1vw, 2.1rem); line-height: 1.25; margin-bottom: 1.2rem; }
.still-frame { position: relative; width: 100%; margin: 0; background: var(--wash); }
.still-image { width: 100%; aspect-ratio: 5 / 1; max-height: 17rem; object-fit: cover; object-position: center 56%; }
.reserved-still::before { content: ""; display: block; height: 6rem; }
.still-caption {
  position: absolute;
  right: 0;
  bottom: 0;
  max-width: calc(100% - 1.25rem);
  padding: 0.9rem 2.2rem;
  color: var(--leaf);
  background: var(--white);
  font-weight: 700;
  clip-path: polygon(18px 0, 100% 0, 100% 100%, 0 100%, 0 18px);
}
.question-list { margin-block: 1.5rem; padding-left: 1.5rem; }
.question-list li { padding-block: 0.15rem; padding-left: 0.3rem; }
.question-list li::marker { color: var(--leaf); }

@media (max-width: 50rem) {
  .opener-width { grid-template-columns: minmax(0, 1fr); }
  .opener-copy { grid-column: 1; grid-row: auto; margin-top: 1.6rem; max-width: 55ch; }
}
@media (max-width: 38rem) {
  .opener-pad { padding-block: 2.2rem 2.5rem; }
  .chapter-label { margin-top: 1.4rem; }
  .chapter-gap { padding-top: 2.5rem; }
  .opener-copy { font-size: 1.06rem; }
  .still-image { aspect-ratio: 16 / 9; object-position: 38% center; }
  .still-caption { padding: 0.65rem 1.1rem; }
}
@media print {
  .opener-pad { padding-block: 1rem; }
  .opener-width { display: block; }
  .title-scale { font-size: 2.3rem; }
  .chapter-gap { padding-top: 1.2rem; }
}
