/* Shared public-page hierarchy. Loaded last to supersede older page overrides.
   Reuses the demo's existing type tokens; workspace screens are unaffected. */
main[data-page] .hero h1 {
  font-family: var(--body) !important;
  font-size: var(--fs-2xl) !important;
  font-weight: 600 !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
}
main[data-page] :is(.section, .closing) h2 {
  font-family: var(--body) !important;
  font-size: calc(var(--fs-lg) * 1.4) !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: -.025em !important;
}
main[data-page] .section :is(h3, .pair h2),
main[data-page] .hero-aside h2 {
  font-family: var(--body) !important;
  font-size: var(--fs-lg) !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  letter-spacing: normal !important;
}
main[data-page] :is(.hero h1, .section h2, .closing h2) em {
  font-size: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
}
/* Compact invitations remain supporting lines rather than major sections. */
main[data-page] .closing-compact h2 {
  font-size: var(--fs-md) !important;
  line-height: 1.4 !important;
}
@media (max-width: 600px) {
  main[data-page=home] .home-headline-lead { white-space: normal; }
}
