/* Full-page teaching poster — /visuals/pickable/ only */

.poster-page .page {
  max-width: 64rem;
}

.poster-page .poster {
  margin: 0 auto var(--s8);
}

.poster-header {
  margin-bottom: var(--s6);
  max-width: 42rem;
}

.poster-title {
  font-family: var(--font-display);
  font-size: clamp(1.85rem, 4.2vw, 2.65rem);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.08;
  margin: var(--s3) 0 var(--s4);
  text-wrap: balance;
}

.poster-lede {
  font-family: var(--font-serif);
  font-size: 1.12rem;
  line-height: 1.55;
  color: var(--ink-soft);
  margin: 0 0 var(--s4);
  max-width: 38rem;
}

.poster-back {
  margin: 0;
  font-size: 0.92rem;
}

.poster-section-label {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 var(--s4);
}

.poster-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--s4);
  margin-bottom: var(--s6);
}

.poster-card {
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: var(--surface);
  padding: var(--s4) var(--s4) var(--s5);
}

.poster-card-title {
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0 0 var(--s4);
  padding-bottom: var(--s3);
  border-bottom: 2px solid var(--ink);
}

.poster-facts {
  margin: 0;
  padding: 0;
}

.poster-fact {
  margin: 0;
  padding: var(--s3) 0;
  border-top: 1px solid var(--line);
}

.poster-fact:first-child {
  border-top: none;
  padding-top: 0;
}

.poster-fact dt {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 var(--s2);
}

.poster-fact dd {
  margin: 0;
  font-family: var(--font-serif);
  font-size: 0.98rem;
  line-height: 1.55;
  color: var(--ink);
}

.poster-footer {
  margin: 0;
  padding: var(--s4) var(--s5);
  background: var(--ink);
  border-radius: var(--r);
}

.poster-footer p {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.05rem, 2.2vw, 1.25rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.35;
  color: var(--paper);
  text-wrap: balance;
}

.poster-footer-mark {
  background: var(--marker);
  color: var(--ink);
  padding: 0.06em 0.22em 0.1em;
}

@media (max-width: 48rem) {
  .poster-grid {
    grid-template-columns: 1fr;
  }
}
