.ppd-hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); align-items: center; gap: clamp(2rem, 5vw, 5rem); padding-block: var(--ppd-gap); }
.ppd-hero__copy h1 { margin-top: 1.5rem; max-width: 20ch; }
.ppd-hero--home h1 { font-size: clamp(2.5rem, 5vw, 4rem); line-height: .9; }
.ppd-hero--home h1 span { display: block; }
.ppd-hero__deck { margin-top: 1.5rem; font-size: 1.25rem; font-weight: 500; line-height: 1.4; letter-spacing: -.01em; }
.ppd-hero__intro { margin-top: 1rem; max-width: 52ch; }
.ppd-hero .ppd-stamp { margin-top: 1.5rem; }
.ppd-atmosphere { overflow: hidden; border: 1px solid var(--ppd-line); border-radius: 8px; background: var(--ppd-panel); box-shadow: 0 12px 28px #00292533; }
.ppd-atmosphere__image { display: block; width: 100%; height: auto; font-size: 0; color: transparent; object-fit: cover; }
.ppd-atmosphere__caption { font-size: 1rem; line-height: 1.6; padding: 1rem 1.5rem; color: var(--ppd-muted); }
.ppd-hero--home .ppd-atmosphere { max-width: 440px; justify-self: end; width: 100%; }
.ppd-hero--home .ppd-atmosphere__image { max-height: 480px; }
.ppd-hero__cue { padding: 2rem; border: 1px solid var(--ppd-line); border-radius: 8px; background: var(--ppd-panel); box-shadow: 0 12px 28px #00292533; }
.ppd-hero__cue > p { margin-top: 1.5rem; font-size: 1.5rem; line-height: 1.3; font-weight: 500; letter-spacing: -.02em; }
.ppd-hero--missing { grid-template-columns: minmax(0, 1fr); min-height: 65vh; }
@keyframes ppd-rise { from { opacity: .94; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: no-preference) {
  .ppd-hero__copy { animation: ppd-rise 420ms ease-out; }
  .ppd-hero__cue, .ppd-atmosphere { animation: ppd-rise 420ms 80ms ease-out backwards; }
}
@media (max-width: 780px) {
  .ppd-hero { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .ppd-hero__copy h1 { max-width: 19ch; }
  .ppd-hero--home .ppd-atmosphere { max-width: none; justify-self: stretch; }
  .ppd-hero--home .ppd-atmosphere__image { aspect-ratio: 1.4; object-position: center 55%; }
  .ppd-hero__cue { padding: 1.5rem; }
}
@media print { .ppd-hero { display: block; padding-block: 1rem 2rem; } }
