/* Anton's Å/Ä/Ö rise above the capitals. Keep the poster setting tight,
   but separate touching contours with the colour of the paper beneath. */
.hero,
.transition,
.dismissal-scene,
.poster-strike {
  --type-paper: var(--yellow);
}
.permission,
.roadmap,
.validation {
  --type-paper: var(--white);
}
.receipt-scene {
  --type-paper: var(--red);
}
.poster-scene {
  --type-paper: var(--pink);
}
.demolish-scene,
.break-scene,
.claim-scene,
.neighbor-scene,
.manifesto-break {
  --type-paper: var(--black);
}
.commons,
.finale,
.incoming-call {
  --type-paper: var(--blue);
}

/* Stroke first, fill last: a 2px centred stroke leaves a 1px outer cutout
   without thinning the letterforms. Body copy, controls and small headings
   stay untouched. The extra leading keeps the accents recognisable. */
.hero h1,
.section h2,
.manifesto-break h2,
.incoming-call .display,
.neighbor-punch,
.dismissal-a,
.poster-strike {
  -webkit-text-stroke: 2px var(--type-paper);
  paint-order: stroke fill;
  line-height: 1.08;
}

/* Printed sections switch to white paper in the main stylesheet. */
@media print {
  .hero h1,
  .section h2,
  .manifesto-break h2,
  .incoming-call .display,
  .neighbor-punch,
  .dismissal-a,
  .poster-strike {
    -webkit-text-stroke: 0;
  }
}

@media (forced-colors: active) {
  .hero h1,
  .section h2,
  .manifesto-break h2,
  .incoming-call .display,
  .neighbor-punch,
  .dismissal-a,
  .poster-strike {
    -webkit-text-stroke: 0;
  }
}
