/* ═══════════════════════════════════════════════════════════════════════
   CYBERCULTURE brand layer — generated by tools/mkbrand.py, do not hand-edit.

   Two systems, one lineage, both read off real flyers rather than invented:
     XEROX 93   — black ink on one fluoro stock, hand-lettered, photocopied.
                  The identity: wordmark, stickers, wristbands, posters, the Drop.
     PAINTED 97 — indigo ground, gold radiant sun, cream-and-gold bevelled type.
                  The site: dark enough to read 4,000 words on, warm enough to
                  belong to the culture.

   Grammar taken from the artefacts: centred and stacked, dense to the edge,
   asterisk separators, an ornamental border of one repeated motif, a radiant
   sun with a face, lineups rather than cards.
   ═══════════════════════════════════════════════════════════════════════ */

:root{
  /* PAINTED 97 — the reading ground */
  --ground:#17093f;          /* indigo paper */
  --ground-deep:#0d0724;     /* the darker band */
  --ground-lift:#241355;     /* raised panels */
  --gold:#f3c04a;
  --gold-deep:#7a4f12;
  --cream:#f6e6bd;
  --violet:#c9a9ff;
  --violet-dim:#a992d8;
  --turq:#7ee0d0;
  /* XEROX 93 — the identity inks. One fluoro, one black. */
  --fluoro:#d8f549;
  --fluoro-alt:#ff2d87;
  --xerox-ink:#0d0f08;

  /* Token remap. The original design was paper + ink, and BOTH tokens are used
     for two jobs each: --ink is a text colour AND the fill of every dark panel,
     --paper is the page AND the fill of every light panel. Flipping --ink to a
     light value stranded 24 dark panels with cream text on cream. So --ink stays
     DARK, --paper becomes the indigo ground, and the ~18 places that used --ink
     as a TEXT colour are corrected by name in the contrast block below. */
  --ink:#0d0724;
  --paper:#17093f;
  --acid:#f3c04a;
  --pink:#c9a9ff;
  --cyan:#7ee0d0;
  --yellow:#f3c04a;
  --muted:#a992d8;
  --line:#f3c04a2e;
  --background:#17093f;
  --foreground:#f6e6bd;
  --card:#1d0f47;
  --card-foreground:#f6e6bd;
  --popover:#0d0724;
  --popover-foreground:#f6e6bd;
  --primary:#f3c04a;
  --primary-foreground:#17093f;
  --secondary:#241355;
  --secondary-foreground:#f6e6bd;
  --muted-foreground:#a992d8;
  --accent:#f3c04a;
  --accent-foreground:#17093f;
  --destructive:#ff6b6b;
  --border:#f3c04a33;
  --input:#f3c04a4d;
  --ring:#f3c04a;

  --display:"Anton","Archivo Black","Arial Narrow",Impact,sans-serif;
  --display-alt:"Archivo Black","Arial Black",Arial,sans-serif;
  --hand:"Bagel Fat One","Archivo Black",cursive;
  --ornate:"Ribeye","Georgia",serif;
  --orn-tile:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2052%2052%22%20width%3D%2252%22%20height%3D%2252%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%222.2%22%3E%3Ccircle%20cx%3D%2226%22%20cy%3D%2226%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%2226%22%20cy%3D%2226%22%20r%3D%223.4%22%2F%3E%3Cpath%20d%3D%22M2%2C26%20q6%2C-8%2011%2C0%20M39%2C26%20q6%2C8%2011%2C0%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  --sun:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20760%20760%22%20width%3D%22760%22%20height%3D%22760%22%3E%3Cpath%20d%3D%22M535.0%2C380.0%20Q613.0%2C367.2%20689.7%2C345.8%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%225.7%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.9%22%2F%3E%3Cpath%20d%3D%22M527.5%2C427.9%20Q597.6%2C464.2%20664.0%2C508.2%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%225.7%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.9%22%2F%3E%3Cpath%20d%3D%22M505.4%2C471.1%20Q576.0%2C506.6%20650.7%2C534.4%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%225.7%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.9%22%2F%3E%3Cpath%20d%3D%22M471.1%2C505.4%20Q506.6%2C576.0%20534.4%2C650.7%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%225.7%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.9%22%2F%3E%3Cpath%20d%3D%22M427.9%2C527.5%20Q464.2%2C597.6%20508.2%2C664.0%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%225.7%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.9%22%2F%3E%3Cpath%20d%3D%22M380.0%2C535.0%20Q367.2%2C613.0%20345.8%2C689.7%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%225.7%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.9%22%2F%3E%3Cpath%20d%3D%22M332.1%2C527.5%20Q320.2%2C605.5%20316.8%2C685.1%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%225.7%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.9%22%2F%3E%3Cpath%20d%3D%22M288.9%2C505.4%20Q232.7%2C560.9%20170.3%2C610.5%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%225.7%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.9%22%2F%3E%3Cpath%20d%3D%22M254.6%2C471.1%20Q199.1%2C527.3%20149.5%2C589.7%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%225.7%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.9%22%2F%3E%3Cpath%20d%3D%22M232.5%2C427.9%20Q154.5%2C439.8%2074.9%2C443.2%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%225.7%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.9%22%2F%3E%3Cpath%20d%3D%22M225.0%2C380.0%20Q147.0%2C392.8%2070.3%2C414.2%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%225.7%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.9%22%2F%3E%3Cpath%20d%3D%22M232.5%2C332.1%20Q162.4%2C295.8%2096.0%2C251.8%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%225.7%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.9%22%2F%3E%3Cpath%20d%3D%22M254.6%2C288.9%20Q184.0%2C253.4%20109.3%2C225.6%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%225.7%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.9%22%2F%3E%3Cpath%20d%3D%22M288.9%2C254.6%20Q253.4%2C184.0%20225.6%2C109.3%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%225.7%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.9%22%2F%3E%3Cpath%20d%3D%22M332.1%2C232.5%20Q295.8%2C162.4%20251.8%2C96.0%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%225.7%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.9%22%2F%3E%3Cpath%20d%3D%22M380.0%2C225.0%20Q392.8%2C147.0%20414.2%2C70.3%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%225.7%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.9%22%2F%3E%3Cpath%20d%3D%22M427.9%2C232.5%20Q439.8%2C154.5%20443.2%2C74.9%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%225.7%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.9%22%2F%3E%3Cpath%20d%3D%22M471.1%2C254.6%20Q527.3%2C199.1%20589.7%2C149.5%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%225.7%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.9%22%2F%3E%3Cpath%20d%3D%22M505.4%2C288.9%20Q560.9%2C232.7%20610.5%2C170.3%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%225.7%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.9%22%2F%3E%3Cpath%20d%3D%22M527.5%2C332.1%20Q605.5%2C320.2%20685.1%2C316.8%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%225.7%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.9%22%2F%3E%3Cpath%20d%3D%22M667.1%2C411.7%20Q710.1%2C398.2%20752.4%2C380.0%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%223.3%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.5%22%2F%3E%3Cpath%20d%3D%22M652.8%2C474.8%20Q685.9%2C505.5%20716.2%2C540.1%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%223.3%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.5%22%2F%3E%3Cpath%20d%3D%22M624.9%2C533.1%20Q669.5%2C539.6%20715.5%2C541.6%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%223.3%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.5%22%2F%3E%3Cpath%20d%3D%22M584.7%2C583.8%20Q601.1%2C625.8%20613.5%2C670.1%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%223.3%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.5%22%2F%3E%3Cpath%20d%3D%22M534.2%2C624.2%20Q571.6%2C649.4%20612.2%2C671.2%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%223.3%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.5%22%2F%3E%3Cpath%20d%3D%22M476.0%2C652.4%20Q472.6%2C697.4%20464.5%2C742.7%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%223.3%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.5%22%2F%3E%3Cpath%20d%3D%22M413.0%2C666.9%20Q435.7%2C705.9%20462.9%2C743.1%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%223.3%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.5%22%2F%3E%3Cpath%20d%3D%22M348.3%2C667.1%20Q325.7%2C706.1%20298.7%2C743.4%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%223.3%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.5%22%2F%3E%3Cpath%20d%3D%22M285.2%2C652.8%20Q288.8%2C697.8%20297.1%2C743.1%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%223.3%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.5%22%2F%3E%3Cpath%20d%3D%22M226.9%2C624.9%20Q189.6%2C650.3%20149.1%2C672.2%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%223.3%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.5%22%2F%3E%3Cpath%20d%3D%22M176.2%2C584.7%20Q160.0%2C626.8%20147.8%2C671.2%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%223.3%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.5%22%2F%3E%3Cpath%20d%3D%22M135.8%2C534.2%20Q91.2%2C540.9%2045.2%2C543.1%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%223.3%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.5%22%2F%3E%3Cpath%20d%3D%22M107.6%2C476.0%20Q74.7%2C506.9%2044.5%2C541.6%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%223.3%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.5%22%2F%3E%3Cpath%20d%3D%22M93.1%2C413.0%20Q50.0%2C399.6%207.6%2C381.6%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%223.3%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.5%22%2F%3E%3Cpath%20d%3D%22M92.9%2C348.3%20Q49.9%2C361.8%207.6%2C380.0%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%223.3%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.5%22%2F%3E%3Cpath%20d%3D%22M107.2%2C285.2%20Q74.1%2C254.5%2043.8%2C219.9%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%223.3%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.5%22%2F%3E%3Cpath%20d%3D%22M135.1%2C226.9%20Q90.5%2C220.4%2044.5%2C218.4%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%223.3%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.5%22%2F%3E%3Cpath%20d%3D%22M175.3%2C176.2%20Q158.9%2C134.2%20146.5%2C89.9%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%223.3%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.5%22%2F%3E%3Cpath%20d%3D%22M225.8%2C135.8%20Q188.4%2C110.6%20147.8%2C88.8%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%223.3%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.5%22%2F%3E%3Cpath%20d%3D%22M284.0%2C107.6%20Q287.4%2C62.6%20295.5%2C17.3%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%223.3%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.5%22%2F%3E%3Cpath%20d%3D%22M347.0%2C93.1%20Q324.3%2C54.1%20297.1%2C16.9%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%223.3%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.5%22%2F%3E%3Cpath%20d%3D%22M411.7%2C92.9%20Q434.3%2C53.9%20461.3%2C16.6%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%223.3%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.5%22%2F%3E%3Cpath%20d%3D%22M474.8%2C107.2%20Q471.2%2C62.2%20462.9%2C16.9%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%223.3%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.5%22%2F%3E%3Cpath%20d%3D%22M533.1%2C135.1%20Q570.4%2C109.7%20610.9%2C87.8%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%223.3%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.5%22%2F%3E%3Cpath%20d%3D%22M583.8%2C175.3%20Q600.0%2C133.2%20612.2%2C88.8%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%223.3%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.5%22%2F%3E%3Cpath%20d%3D%22M624.2%2C225.8%20Q668.8%2C219.1%20714.8%2C216.9%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%223.3%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.5%22%2F%3E%3Cpath%20d%3D%22M652.4%2C284.0%20Q685.3%2C253.1%20715.5%2C218.4%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%223.3%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.5%22%2F%3E%3Cpath%20d%3D%22M666.9%2C347.0%20Q710.0%2C360.4%20752.4%2C378.4%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%223.3%22%20stroke-linecap%3D%22round%22%20opacity%3D%220.5%22%2F%3E%3Ccircle%20cx%3D%22380.0%22%20cy%3D%22380.0%22%20r%3D%22152.0%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%225%22%2F%3E%3Ccircle%20cx%3D%22380.0%22%20cy%3D%22380.0%22%20r%3D%22136.8%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%221.5%22%20opacity%3D%22.6%22%2F%3E%3Cpath%20d%3D%22M296.4%2C355.7%20Q325.3%2C392.2%20354.2%2C355.7%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%225%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M288.8%2C331.4%20Q325.3%2C310.1%20361.8%2C331.4%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%222.5%22%20opacity%3D%22.8%22%2F%3E%3Cpath%20d%3D%22M405.8%2C355.7%20Q434.7%2C392.2%20463.6%2C355.7%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%225%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M398.2%2C331.4%20Q434.7%2C310.1%20471.2%2C331.4%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%222.5%22%20opacity%3D%22.8%22%2F%3E%3Cpath%20d%3D%22M328.3%2C425.6%20Q380.0%2C474.2%20431.7%2C425.6%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%225%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M380.0%2C377.0%20l0%2C33.4%22%20fill%3D%22none%22%20stroke%3D%22%23f3c04a%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.75%22%2F%3E%3C%2Fsvg%3E");
}

/* ── ground ───────────────────────────────────────────────────────────── */
html{background:var(--ground-deep)}
body{
  color:var(--cream);
  background-color:var(--ground);
  background-image:
    radial-gradient(1200px 760px at 50% -8%,#3b1d7a80,#0000 68%),
    radial-gradient(900px 620px at 88% 96%,#5c2a8f4d,#0000 66%),
    repeating-linear-gradient(0deg,#ffffff05 0 1px,#0000 1px 4px);
  color:var(--cream);
}
/* the paper-grain overlay from theme.css was made for a light sheet */
body::after{opacity:.05;mix-blend-mode:screen}
::selection{background:var(--gold);color:var(--ground)}

/* ── kill the hard offset shadows: that stack is the modern-rave tell ─── */
.brand-mark,.language-switch,.mobile-menu>div,.button-primary,.button-primary:hover,
.button-primary:focus-visible,.button-primary.dark,.hero-terminal,.play-main,.era-detail,
.machine-ui,.contribute-link,.page-hero:after,.page-stamp,.product-card,.contribution-form,
.form-success,.play-key,.drop-number,.global-home-callout>div:last-child,.psy-deck,
.site-header nav a.nav-drop,.drop-cta .lead-form,.sealed-stamp,.sealed-panel,.drop-form-block,
.drop-form-block .lead-form,.fact-scroll,.crew-channels a,.era-index>a:hover,
.era-index>a:focus-visible,.scene-index>a:hover,.scene-index>a:focus-visible,
.lead-form input:focus,.contribution-form input:focus,.contribution-form textarea:focus,
.form-select:focus{box-shadow:none}

/* ── type ─────────────────────────────────────────────────────────────── */
h1,h2,h3{font-family:var(--display);letter-spacing:.005em}
/* Anton is a tall condensed face: the old tracking and .82–.88 line-heights
   were set for Archivo Black and make it collide with itself. */
h1,h2{line-height:1.02}
h3{line-height:1.1}
.drop-cta h2,.drop-form-block h2,.archive-commerce h2,.machine-copy h2,
.global-home-callout h2,.poster-archives h2,.hero h1,.page-hero h1{line-height:1.02}
.hero h1,.page-hero h1{letter-spacing:.004em;text-transform:uppercase}
.eyebrow,.section-kicker{color:var(--gold);letter-spacing:.2em}
/* asterisk separators — how flyers punctuate */
.eyebrow::before,.section-kicker::before{content:"* ";opacity:.75}
.eyebrow::after,.section-kicker::after{content:" *";opacity:.75}

/* ── header: the dripping wordmark and the sun ────────────────────────── */
.site-header{
  background:#0d0724e6;backdrop-filter:blur(8px);
  border-bottom:1px solid #f3c04a3d;box-shadow:0 1px 0 #f3c04a1f
}
.brand-lockup{gap:11px;font-family:var(--hand);font-weight:400;font-size:19px;
  letter-spacing:0;color:var(--cream);text-shadow:0 2px 0 var(--gold-deep),0 3px 0 #4a2f08}
.brand-lockup span{filter:url(#cc-wobble)}
.brand-lockup em{background:var(--gold);color:var(--ground);font:700 10px/1 var(--mono);
  letter-spacing:.2em;padding:3px 5px}
.brand-mark{border:0;background:var(--sun) center/contain no-repeat;width:30px;height:30px;
  filter:drop-shadow(0 0 8px #f3c04a88);animation:cc-sun 260s linear infinite}
.brand-mark svg{display:none}
@keyframes cc-sun{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.brand-mark{animation:none}}
.site-header nav a{color:var(--violet)}
.site-header nav a:hover,.site-header nav a:focus-visible{border-color:var(--gold);color:var(--cream)}
.site-header nav a[aria-current]{color:var(--cream);border-color:var(--gold)}
/* the one place the fluoro ink shows on-site, tying the print system in */
.site-header nav a.nav-drop{background:var(--fluoro);color:var(--xerox-ink);
  font-family:var(--mono);font-weight:700;letter-spacing:.12em}
.site-header nav a.nav-drop[aria-current]{background:var(--gold)}
.language-switch{background:0 0;border:1px solid #f3c04a80;color:var(--gold)}
.mobile-menu summary{background:0 0;border:1px solid #f3c04a80;color:var(--gold)}
.mobile-menu>div{background:var(--ground-deep);border:1px solid #f3c04a66}
.mobile-menu a{border-bottom:1px solid #f3c04a26;color:var(--cream)}

/* ── hero: one sheet, centred and stacked ─────────────────────────────── */
.hero{
  grid-template-columns:1fr;justify-items:center;text-align:center;
  background:
    var(--sun) 92% 6%/min(34vw,340px) no-repeat,
    radial-gradient(760px 520px at 50% 46%,#17093fd9,#17093f00 70%),
    radial-gradient(1000px 680px at 50% 16%,#3b1d7a8c,#0000 72%),
    linear-gradient(#1d0f47,#0d0724 70%,#080418);
  border-bottom:1px solid #f3c04a3d;
  gap:clamp(18px,3vw,34px);padding:clamp(48px,7vw,90px) 5vw clamp(40px,6vw,72px);
  min-height:auto;position:relative
}
.hero::before{content:"";position:absolute;inset:12px;pointer-events:none;
  background-image:var(--orn-tile),var(--orn-tile),var(--orn-tile),var(--orn-tile);
  background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;
  background-position:top left,bottom left,top left,top right;
  background-size:52px 52px;opacity:.42}
.hero-scan{display:none}
.hero>*{position:relative;z-index:2}
.hero-copy{max-width:920px;text-align:center}
.hero .eyebrow{color:var(--gold);margin-bottom:18px}
.hero h1{max-width:none;font:400 clamp(2.1rem,5.4vw,5.2rem)/1.02 var(--display);
  color:var(--cream);text-shadow:0 2px 0 #3a1f6e,0 0 26px #8f5bff4d}
.hero h1 span{width:auto;max-width:none;display:block;transform:none;
  color:var(--gold);text-shadow:0 3px 0 var(--gold-deep),0 0 30px #f3c04a66}
.hero-intro{color:var(--violet);margin-left:auto;margin-right:auto;max-width:660px}
.hero-actions{justify-content:center}
.hero-terminal{border:1px solid #f3c04a4d;background:#0d072499;max-width:820px;width:100%}
.terminal-head{background:#f3c04a1f;color:var(--gold);border-bottom:1px solid #f3c04a3d}
.terminal-body{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 26px}
.terminal-body p b{color:var(--gold);font-family:var(--display);font-weight:400}
.terminal-body p span{color:var(--violet-dim)}
.terminal-body p{border:0}
.terminal-body p::after{content:none}
.signal-line{display:none}
.hero-tape{background:var(--fluoro);color:var(--xerox-ink);box-shadow:none;
  font-weight:700;letter-spacing:.18em}

/* ── buttons ──────────────────────────────────────────────────────────── */
.button-primary{background:var(--gold);color:var(--ground);border:1px solid var(--gold)}
.button-primary:hover,.button-primary:focus-visible{background:var(--cream);border-color:var(--cream);color:var(--ground)}
.button-ghost{border:1px solid #f3c04a80;color:var(--gold)}
.button-ghost:hover,.button-ghost:focus-visible{border-color:var(--cream);color:var(--cream)}

/* ── page heroes: centred sheet, ornament, sun ────────────────────────── */
.page-hero{grid-template-columns:1fr;justify-items:center;text-align:center;gap:14px;
  padding-top:clamp(22px,3vw,38px);padding-bottom:clamp(24px,3vw,40px);
  border-bottom:1px solid #f3c04a3d;
  background:var(--sun) 96% -10%/min(24vw,210px) no-repeat}
.page-hero>*{position:relative;z-index:2}
.page-hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(#17093f80,#17093fe6 62%)}
.page-hero:after{background:var(--fluoro);color:var(--xerox-ink)}
.page-hero h1{font:400 clamp(1.9rem,4.4vw,3.9rem)/1.04 var(--display);color:var(--cream)}
.page-hero p.lede,.page-hero p:not(.section-kicker){color:var(--violet);margin-left:auto;margin-right:auto;max-width:640px}
.page-stamp{border:1px solid #f3c04a66;color:var(--cream);background:#0d072499}
.page-stamp span,.page-stamp b{color:var(--cream)}
.page-stamp .blink{color:var(--gold)}

/* default spec lists sit on the indigo; the fluoro blocks override below */
.drop-spec dt{color:var(--gold)}
.drop-spec dd{color:var(--cream)}
.hero-stamp span{color:var(--cream)}

/* ── long-form stays left-aligned and comfortable: this is an archive ─── */
.prose,.prose p,.prose li,.evidence,.dossier,article:not(.sheet) p{text-align:left}
.prose>p,.prose li{color:#e6dbf7;line-height:1.78}
.prose h2,.prose h3{color:var(--cream);letter-spacing:.004em;text-transform:uppercase}
.prose h2::before{color:var(--gold)}
/* Anton is a condensed face — the old -.055em tracking closed it up */
.prose h2{font:400 clamp(1.7rem,3.4vw,3.1rem)/1.02 var(--display)}
.prose a,.evidence a{color:var(--gold);border-bottom:1px solid #f3c04a66}
.prose a:hover,.evidence a:hover{color:var(--cream);border-color:var(--cream)}
blockquote,.pull{border-left:3px solid var(--gold);color:var(--cream)}

/* ── panels, cards and lineups ────────────────────────────────────────── */
.product-card,.contribution-form,.form-success,.era-detail,.global-home-callout>div:last-child,
.fact-scroll,.crew-channels a,.contribute-link,.page-stamp{
  background:#1d0f4780;border:1px solid #f3c04a3d}
.era-index>a,.scene-index>a{border-color:#f3c04a33}
.era-index>a:hover,.era-index>a:focus-visible,.scene-index>a:hover,.scene-index>a:focus-visible{
  background:#241355;border-color:var(--gold)}
.timeline-shell{background:var(--ground-deep);border-bottom:1px solid #f3c04a3d}
.archive-commerce,.machine-preview,.global-home-callout{border-color:#f3c04a3d}
table th{color:var(--gold);border-bottom:1px solid #f3c04a4d}
table td{border-bottom:1px solid #f3c04a1f;color:#e6dbf7}
hr{border:0;border-top:1px solid #f3c04a33}

/* ── forms ────────────────────────────────────────────────────────────── */
.lead-form input,.contribution-form input,.contribution-form textarea,.form-select{
  background:#0d0724;border:1px solid #f3c04a4d;color:var(--cream)}
.lead-form input:focus,.contribution-form input:focus,.contribution-form textarea:focus,.form-select:focus{
  border-color:var(--gold);outline:2px solid #f3c04a4d;outline-offset:1px}
.lead-form button,.contribution-form button{background:var(--gold);color:var(--ground);border:1px solid var(--gold)}
.lead-form button:hover,.contribution-form button:hover{background:var(--cream);border-color:var(--cream)}
.form-note{color:var(--violet-dim)}

/* ── drop: this is where XEROX 93 takes over ──────────────────────────── */
.drop-cta,.drop-form-block{background:var(--fluoro);color:var(--xerox-ink);
  border-top:3px solid var(--xerox-ink);border-bottom:3px solid var(--xerox-ink)}
.drop-cta::before{background:repeating-linear-gradient(0deg,#0000 0 3px,#0d0f0812 3px 4px)}
.drop-cta::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.14;
  background-image:radial-gradient(#0d0f08 1.1px,#0000 1.5px);background-size:4px 4px}
.drop-cta .section-kicker,.drop-form-block .section-kicker{color:var(--xerox-ink)}
.drop-cta h2,.drop-form-block h2{color:var(--xerox-ink);font-family:var(--display)}
.drop-form-block h2::before,.drop-cta h2::before{color:#4d5637}
.drop-cta p,.drop-form-block p{color:#1e2113}
.drop-cta .lead-form,.drop-form-block .lead-form{background:var(--xerox-ink);color:var(--fluoro);border:0}
.drop-cta .lead-form label span,.drop-form-block .lead-form label span{color:#a8b585}
.drop-cta .lead-form input,.drop-form-block .lead-form input{background:#171a10;border-color:#4a5233;color:var(--fluoro)}
.drop-cta .lead-form input:focus,.drop-form-block .lead-form input:focus{border-color:var(--fluoro);outline-color:#d8f5494d}
.drop-cta .lead-form button,.drop-form-block .lead-form button{background:var(--fluoro);color:var(--xerox-ink);border-color:var(--fluoro)}
.drop-cta .lead-form button:hover,.drop-form-block .lead-form button:hover{background:#fff;border-color:#fff}
.drop-cta .form-note,.drop-form-block .form-note{color:#8e9a70}
.drop-cta .signal-done{color:var(--xerox-ink)}
.drop-cta .signal-done .section-kicker{color:var(--xerox-ink)}
.drop-number em{color:var(--xerox-ink)}
.drop-cta .drop-spec dt,.drop-form-block .drop-spec dt,.drop-cta .drop-spec dd,.drop-form-block .drop-spec dd,.sealed-panel .drop-spec dd{color:var(--xerox-ink)}
.sealed-stamp{border:3px solid var(--xerox-ink);color:var(--xerox-ink);background:var(--fluoro)}
.sealed-stamp::after{border-color:#0d0f0866}
.sealed-stamp small{color:#3d4429}
.sealed-panel{background:var(--fluoro);color:var(--xerox-ink);border:3px solid var(--xerox-ink)}
.archive-commerce.drop-teaser{background:var(--xerox-ink);color:var(--fluoro)}
.archive-commerce.drop-teaser::before{color:#d8f54912;font-family:var(--hand)}
.archive-commerce.drop-teaser .section-kicker{color:var(--fluoro)}
.archive-commerce.drop-teaser p:not(.section-kicker){color:#b4c090}
.drop-teaser .commerce-link{background:var(--fluoro);color:var(--xerox-ink)}
.page-drop .page-hero .section-kicker{color:var(--gold)}
.page-drop .faq dd{color:#d9ccf0;border-color:#f3c04a2e}
.page-drop .prose>p{color:#e6dbf7}

/* ── deck: leave the hardware panel alone, just seat it ───────────────── */
.machine-preview{background:var(--ground-deep)}
.machine-copy h2{font-family:var(--display);color:var(--cream)}
.machine-facts li{border-color:#f3c04a4d;color:var(--violet)}
.machine-link{border-bottom-color:var(--gold);color:var(--gold)}

/* ── footer: the tiny print at the bottom of a flyer ──────────────────── */
.site-footer{background:var(--ground-deep);border-top:1px solid #f3c04a3d;color:var(--violet-dim)}
.footer-brand{font-family:var(--hand);font-weight:400;font-size:21px;color:var(--cream);
  text-shadow:0 2px 0 var(--gold-deep),0 3px 0 #4a2f08;filter:url(#cc-wobble)}
.footer-links a{color:var(--violet)}
.footer-links a:hover{color:var(--gold)}
.footer-secret{color:var(--gold);letter-spacing:.16em}
.footer-legal{color:#8f7ab8;letter-spacing:.14em}

/* ── evidence and corrections keep their own quiet ────────────────────── */
.evidence{background:#0d072466;border:1px solid #f3c04a2e}
.evidence h2,.evidence h3{color:var(--gold)}
.evidence li{border-bottom:1px solid #f3c04a1f;color:#dcd0f2}
.source-kind{color:var(--turq);border-color:#7ee0d066}


/* ═══ contrast repair ══════════════════════════════════════════════════
   The original stylesheet was a LIGHT design: muted greys for small print,
   pale panels for alternating rows. Flipping the ground to indigo left both
   stranded — grey on indigo, and cream text on cream panels. Every pairing
   below was found by tools/contrast.py measuring the actual painted pixels,
   and every one now clears WCAG AA. Run that checker after any colour change.
   ═══════════════════════════════════════════════════════════════════════ */

/* small print: was mid-grey for a paper ground, now light violet for indigo */
.faq dd,.timeline-heading p,.source-item p,.label-list p,.catalogue-row>em,
.release-row small,.d4-cap,.d4-lower .d4-pads button span,
.lead-form label span,.contribution-form label>span,.contribution-form .form-note,
.ev-kind,.ev-checked,.ev-secondary,.cc-video-privacy,.drop-free,
.deck-mixer button[aria-pressed=true]{color:#c4b3e8}
.event-date,.crew-kind{color:var(--gold)}
.event-place,.crew-place{color:#cbbcec}
.footer-secret{color:var(--gold)}

/* pale alternating panels: those are backgrounds, so they need dark text */
.now-section,.catalogue-row.label-row,.prose blockquote,.ev-press,
.era-index>a:nth-child(4n+2),.scene-index>a:nth-child(4n+3),
.sample-credits a:nth-child(even),.page-vault .video-filters{
  background:#241355;color:var(--cream)}
.now-section .section-kicker,.now-section h2,.now-section h3{color:var(--cream)}
.now-section .section-kicker{color:var(--gold)}
.prose blockquote{border-left:3px solid var(--gold);color:var(--cream)}
.ev-press{border:1px solid #f3c04a3d}
.catalogue-row.label-row b,.catalogue-row.label-row span,.catalogue-row.label-row a{color:var(--cream)}

/* anything that used --ink as a FILL is now cream, which is a background here */
.hero-tape,.page-hero:after{background:var(--fluoro);color:var(--xerox-ink)}
.contribute-link{background:#241355;color:var(--cream);border:1px solid #f3c04a66}
.contribute-link:hover{background:#2f1a6b;border-color:var(--gold)}

/* era colours were picked to sit on paper; on indigo they need dark text */
.era-node .era-label,.era-node .era-year,.era-index>a b,.scene-index>a b{color:var(--cream)}
.era-dot{border-color:var(--ground)}
[style*="--era"] .era-label,[style*="--era"] .era-year{color:var(--cream)}

/* gold panels always take ink, never cream */
.button-primary,.lead-form button,.contribution-form button,.drop-teaser .commerce-link,
.commerce-link,.play-main,.deck-action.primary{color:var(--ground)}
.page-hero h1 + .lede,.page-contribuir .page-hero h1{color:inherit}

/* skip link sat gold-on-gold */
.skip-link{background:var(--xerox-ink);color:var(--fluoro)}

/* kickers must never land on a light or accent field */
.now-section .section-kicker,.archive-commerce .section-kicker{color:var(--gold)}
.text-link,.button-ghost.light{color:var(--gold);border-color:#f3c04a80}
.button-ghost.light:hover{color:var(--cream);border-color:var(--cream)}


/* ── the 18 places that used --ink as a TEXT colour ───────────────────
   Most sit on a bright fill (buttons, the fluoro drop panels) and are right
   as they are. These are the ones that land on a dark ground. */
.era-node,.archive-commerce,.event-artists,.crew-past b,.sample-credits a,
.page-vault .video-filters button,.era-index>a,.scene-index>a{color:var(--cream)}
.button-ghost.light{color:var(--gold)}

/* ── dark panels keep their edge: an ink border is invisible on indigo ── */
.fact-grid,.catalogue-search,.release-head,.evidence,.correction-log,.event-meta,
.start-here,.video-filters,.crew-meta,.label-list,.era-detail,.product-card,
.contribution-form,.form-success,.fact-scroll,.now-section,.map-section,
.timeline-shell,.archive-commerce,.machine-preview,.global-home-callout,
.catalogue-row,.release-row,.event-card,.crew-card,.source-item,.gallery-grid img,
.cc-fig img,.era-index>a,.scene-index>a,.scene-cloud a,.sample-credits a,
.dossier-sources a,.vw-card,.cc-video-card{border-color:#f3c04a3d}

/* ── sections that were a flat bright fill become panels with gold rules ─
   A page-sized field of gold with cream on it was the worst thing the checker
   found; gold is an accent here, not a ground. */
.archive-commerce,.contribute-band,.contribute-page,.map-section{
  background:linear-gradient(#241355,#1a0d4a);color:var(--cream)}
.archive-commerce .section-kicker,.contribute-band .section-kicker,
.contribute-page .section-kicker{color:var(--gold)}
.archive-commerce h2,.contribute-band h2,.contribute-page h1,.contribute-page h2{color:var(--cream)}
.contribute-page .lede,.contribute-band p,.archive-commerce p{color:#d6c9f2}
.contribute-page li,.contribute-band li{color:#e2d6f5}
.commerce-link{background:var(--gold);color:var(--ground)}
.commerce-link:hover,.commerce-link:focus-visible{background:var(--cream);color:var(--ground)}

/* ── accent chips: bright fill always takes ink ───────────────────────── */
.ev-primary,.ev-peer-reviewed,.ev-database,.ev-press,.ev-secondary,
.cc-video-badge,.vw-badge,.source-ref a,.cor-serious,.cor-material,
.map-point>span,.product-card.acid,.product-card.pink,.product-card.cyan,
.product-card.yellow,.archive-card.neon-pink,.archive-card.neon-yellow{color:var(--ground)}
.ev-primary{background:var(--gold)}
.ev-peer-reviewed{background:var(--turq)}
.ev-database{background:#e8c9ff}
.ev-press{background:#c9a9ff;border:0}
.ev-secondary{background:#9d8dc9}
.ev-kind{color:var(--ground)}
.cor-serious{background:#ff9ecb}
.cor-material{background:var(--gold)}
.cor-was{color:#ffb3b3}
.cor-now{color:#b8f5d8}

/* ── era colours were chosen against paper; on indigo the label goes cream ─ */
.era-node .era-label,.era-node .era-year{color:var(--cream)}
.era-dot{border-color:var(--ground)}

/* ── event and crew states ────────────────────────────────────────────── */
.event-date{color:var(--gold)}
.event-card .event-date[data-state],.event-conflict{color:#ff9ecb}
.verification-note{color:#c4b3e8}
.event-card:hover,.catalogue-row:hover,.catalogue-row:focus-visible,
.release-row:hover,.scene-cloud a:hover,.scene-cloud a:focus-visible,
.dossier-sources a:hover,.dossier-sources a:focus-visible,
.sample-credits a:hover,.sample-credits a:focus-visible,
.catalogue-row.label-row:hover{background:#2f1a6b;color:var(--cream)}
.crew-next b,.crew-past b{background:#241355;color:var(--cream)}
.crew-links a:hover,.crew-channels a:hover,.crew-siblings a:hover{background:#2f1a6b;color:var(--cream)}
.fact-src a{background:#241355;color:var(--gold)}
.fact-src a:hover{background:var(--gold);color:var(--ground)}
.fact-table thead th{background:#241355;color:var(--gold)}

/* ── the deck's own small print ───────────────────────────────────────── */
.d4-cap,.d4-lower .d4-pads button span,.deck-mixer button[aria-pressed=true]{color:#c4b3e8}
.cc-video-privacy{color:#c4b3e8}


/* ── last pass: the specific pairings tools/contrast.py still flagged ─── */
/* the fluoro Drop band takes ink on everything, including links and kickers */
.drop-cta,.drop-cta *,.drop-form-block,.drop-form-block *{border-color:#0d0f0833}
.drop-cta h2,.drop-cta h3,.drop-cta p,.drop-cta li,.drop-cta dt,.drop-cta dd,
.drop-cta a,.drop-cta em,.drop-cta b,.drop-cta span,.drop-cta .section-kicker,
.drop-form-block h2,.drop-form-block p,.drop-form-block a,.drop-form-block .section-kicker{
  color:var(--xerox-ink)}
.drop-cta .lead-form,.drop-cta .lead-form *,.drop-form-block .lead-form,
.drop-form-block .lead-form *{color:var(--fluoro)}
.drop-cta .lead-form button,.drop-form-block .lead-form button{color:var(--xerox-ink)}
.drop-cta .lead-form input::placeholder,.drop-form-block .lead-form input::placeholder{color:#7f8a62}
.drop-cta a:hover,.drop-form-block a:hover{color:#3d4429}

/* a dark control cannot take the ink text meant for a bright one */
.play-main,.commerce-link:hover,.commerce-link:focus-visible,
.fact-scroll b,.fact-grid b,.env-no,.env-stamp{color:var(--cream)}
.play-main{background:#241355;border:1px solid #f3c04a66}
.play-main[aria-pressed=true]{background:var(--gold);color:var(--ground)}
.commerce-link:hover,.commerce-link:focus-visible{background:#2f1a6b}
.sealed-envelope,.sealed-envelope *{color:var(--xerox-ink)}

/* the timeline eras are LIGHT accent fills, so their labels take ink */
.era-node[style*="--era"] .era-label,.era-node[style*="--era"] .era-year{color:var(--cream)}
.era-node[aria-selected=true] .era-label,.era-node[aria-selected=true] .era-year,
.era-node[aria-pressed=true] .era-label,.era-node[aria-pressed=true] .era-year{color:var(--ground)}

/* conflict and secondary states were mid-tones picked for paper */
.event-conflict,.event-card [data-state=conflict],.cor-was{color:#ff9ecb}
.dossier-sources em,.source-item em,.evidence em,.ev-note{color:#c4b3e8}

/* the deck's LCD and step numbers */
.d4-screen span,.d4-screen b,.d4-grid .d4-cell span,.d4-step-num{color:#a8c98f}


/* ── named leftovers ──────────────────────────────────────────────────── */
.play-main b,.play-main span{color:var(--cream)}
.d4-play,.d4-play b,.d4-play span{color:var(--cream)}
.d4-play[aria-pressed=true],.d4-play[aria-pressed=true] b,.d4-play[aria-pressed=true] span{color:var(--ground)}
.start-card,.start-card b,.start-card span,.start-kicker{color:var(--cream)}
.start-kicker{color:var(--gold)}
.start-card{background:#241355;border:1px solid #f3c04a3d}
.start-card:hover,.start-card:focus-visible{background:#2f1a6b;border-color:var(--gold)}
/* the flagged-label card was olive-on-fluoro in the old design */
.label-card.label-flag{background:#241355;border:1px solid var(--gold)}
.label-card.label-flag h3,.label-card.label-flag p{color:var(--cream)}
.label-card.label-flag .section-kicker,.label-card.label-flag em{color:var(--gold)}
.d4-open.is-open span{color:var(--ground)}
.play-main[aria-pressed=true] b,.play-main[aria-pressed=true] span{color:var(--ground)}
.global-home-callout h2,.global-home-callout p,.start-here h2,.start-here h3{color:var(--cream)}
.global-home-callout .section-kicker,.start-here .section-kicker{color:var(--gold)}
table th,.fact-table th,.era-table th{color:var(--gold)}
.portugal-word{color:#ffffff14}
.event-card p[class*=conflict],[class*=conflict]{color:#ff9ecb}
.d4-screen,.d4-screen *{color:#bde09a}



/* ═══ the flyer grammar, carried past the hero ═════════════════════════
   A "sheet" is any block that should read as a printed page rather than a UI
   card: ornamental border of one repeated motif, centred kicker, dense type.
   Used by the poster archive and by the section fronts. */
.sheet{position:relative;padding:clamp(30px,3.8vw,50px) clamp(24px,3.4vw,48px);
  background:linear-gradient(#241355,#170c42);border:1px solid #f3c04a4d;
  box-shadow:0 0 60px #00000059 inset}
.sheet .section-kicker{display:block;width:auto;text-align:center;margin:0 0 4px}
.sheet>*{position:relative;z-index:2}
/* the ornament must come AFTER .sheet>* or that rule resets its position */
.sheet .sheet-orn{position:absolute;inset:9px;z-index:1;pointer-events:none;display:block;
  background-image:var(--orn-tile),var(--orn-tile),var(--orn-tile),var(--orn-tile);
  background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;
  background-position:top left,bottom left,top left,top right;
  background-size:30px 30px;opacity:.55}

/* the same border, applied to the interior blocks that behave like sheets */
.start-here,.global-home-callout,.evidence,.crew-meta,.poster-note,.poster-call,
.contribute-band,.machine-copy{position:relative}
.start-here::before,.global-home-callout::before,.evidence::before,
.poster-note::before,.poster-call::before{content:"";position:absolute;inset:10px;
  pointer-events:none;z-index:0;opacity:.3;
  background-image:var(--orn-tile),var(--orn-tile);
  background-repeat:repeat-x,repeat-x;
  background-position:top left,bottom left;background-size:28px 28px}
.start-here>*,.global-home-callout>*,.evidence>*,.poster-note>*,.poster-call>*{position:relative;z-index:2}
.start-here,.evidence{padding-top:clamp(30px,3.4vw,46px);padding-bottom:clamp(30px,3.4vw,46px)}

/* ── posters, flyers and tickets ──────────────────────────────────────── */
.page-posters .page-hero{background-position:96% -12%}
.poster-eras{display:grid;gap:clamp(18px,2.4vw,30px);
  padding:clamp(34px,5vw,64px) 5vw clamp(20px,3vw,34px);max-width:1180px;margin:0 auto}
.poster-era{text-align:center}
.poster-era h2{margin:6px 0 12px;font:400 clamp(1.5rem,3.2vw,2.6rem)/1.04 var(--display);
  color:var(--cream);text-transform:uppercase;letter-spacing:.006em}
.poster-lede{margin:0 auto 22px;max-width:620px;color:#ded2f6;line-height:1.72}
.poster-rules{list-style:none;margin:0 auto;padding:0;max-width:760px;display:grid;gap:0;text-align:left}
.poster-rules li{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:baseline;
  padding:13px 0;border-top:1px solid #f3c04a26;color:#e6dbf7;line-height:1.7;text-align:left}
.rule-n{font:700 10px/1.4 var(--mono);letter-spacing:.16em;color:var(--gold)}
.poster-seen{margin:20px 0 0;font:700 9.5px/1.7 var(--mono);letter-spacing:.16em;color:#c4b3e8}
.poster-note,.poster-call{max-width:780px;margin:0 auto;padding:clamp(22px,3vw,34px) 5vw;text-align:center}
.poster-note p:not(.mixer-label),.poster-call p:not(.mixer-label){color:#ded2f6;line-height:1.75}
.poster-note .mixer-label,.poster-call .mixer-label{color:var(--gold);letter-spacing:.2em}
.poster-archives{padding:clamp(30px,4.6vw,60px) 5vw;max-width:1180px;margin:0 auto;text-align:center}
.poster-archives h2{margin:6px 0 26px;font:400 clamp(1.5rem,3.2vw,2.4rem)/1.05 var(--display);
  color:var(--cream);text-transform:uppercase}
.archive-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:1px;background:#f3c04a26;border:1px solid #f3c04a3d;text-align:left}
.archive-item{background:#17093f;padding:22px 20px}
.archive-where{margin:0 0 6px;font:700 9.5px/1.4 var(--mono);letter-spacing:.18em;color:var(--gold)}
.archive-item h3{margin:0 0 10px;font:400 clamp(1.05rem,1.9vw,1.4rem)/1.1 var(--display);color:var(--cream)}
.archive-item h3 a{color:var(--cream)}
.archive-item h3 a:hover{color:var(--gold)}
.archive-item p{margin:0;color:#d6c9f2;font-size:13.5px;line-height:1.7}
.poster-call .deck-action{margin-top:8px}
@media(max-width:700px){.poster-rules li{grid-template-columns:1fr;gap:4px}}

/* ── mobile ───────────────────────────────────────────────────────────── */
@media(max-width:760px){
  .hero{background-size:min(64vw,300px),auto,auto;background-position:50% 6%,50% 20%,0 0}
  .hero::before{inset:6px;background-size:34px 34px}
  .brand-lockup{font-size:16px}
}

/* ── generated: 84 selectors whose text colour was a light-design grey ── */
.terminal-body span,
.timeline-heading p,
.event-date,
.event-place,
.verification-note,
.map-point small,
.labels-intro p:last-child,
.label-list p,
.machine-screen small,
.pads i,
.signal-signup>div:first-child p:last-child,
.lead-form label span,.contribution-form label>span,
.form-note,
.site-footer,
.page-hero .lede,
.dark .page-hero .lede,
.page-stamp span,
.fact-grid span,
.source-item p,
.catalogue-search input::placeholder,
.catalogue-row>em,
.release-row small,
.principle-grid p,
.deck-topline em,
.deck-left>p,
.deck-screen small,
.deck-screen p,
.step-lights i,
.era-index p,.scene-index p,
.scene-index>a>b,
.scene-cloud em,
.dossier-sources em,
.footer-secret,
.drop-cta .lead-form label span,
.drop-cta .form-note,
.sealed-panel .drop-spec dt,
.drop-form-block .lead-form label span,
.drop-form-block .form-note,
.deck-hint,
.mixer-label,
.deck-mixer button[aria-pressed=true],
.contribution-form .form-note,
/* ---------- Cyberdeck MK·III: samples + MIDI ---------- */
.screen-source,
.midi-copy>p:not(.mixer-label),
.midi-note.is-bad,
.midi-fine,
.sample-credits span,
.page-shell.dark .sample-credits span,
.evidence-stamp,
.evidence-list>li::before,
.evidence-list em,
.ev-checked,
.evidence-foot,
.fact-table tr.fact-gap th,.fact-table tr.fact-gap td,
.cor-was,
.event-card.event-conflict .event-date,
.d4-pat small,
.d4-cell:not(.on) i,
.d4-out-block p:not(.mixer-label),
.d4-signal label span,
.d4-ruler i,
.cc-video-meta,
.cc-video-privacy,
.drop-free,
.start-desc,
.d4-pads button small,
.vw-meta,
.video-foot,
.crew-kind,
.crew-place,
.nz-line-foot,
.crew-past i,
.d4-open span,
.d4-open-note,
.d4-cap,
.d4-side .d4-pat span,
.d4-mini,
.d4-ruler span,
.d4-ruler span.q,
.d4-grid .d4-cell b,
.d4-lower .d4-mutes button,
.d4-lower .d4-pads button span,
.d4-knob span,
.d4-tuned p:not(.mixer-label){color:#c4b3e8}
