/* =============================================================================
 * prowess.hiphop — the three site styles (2026-09-26)
 *
 * <html data-theme="testament|firestarter|priestess"> is printed by the layout from the
 * visitor's choice (includes/theme.php). This file is UNLAYERED and loads after
 * prowess.css, whose rules all sit in @layer — so any rule here wins without
 * !important.
 *
 * HOW A THEME WORKS
 *   1. It re-declares prowess.css's own tokens (--pr-void, --pr-text-strong,
 *      --pr-font-display, --pr-radius-*, …) with LITERALS. Every page on the
 *      site is built from those tokens, so every page takes the new palette and
 *      type with no per-page rules.
 *   2. It declares private --pr-th-* tokens for this file's own rules. They
 *      exist only inside [data-theme] blocks — never :root — and each var()
 *      here carries that theme's own value as its fallback.
 *   3. It restyles the shell (switcher, header, footer) and the home page.
 *
 * RULES THIS FILE KEEPS (tests/test-prowess-content.php enforces them):
 *   · Tokens are --pr-* only. Nothing in a Tailwind-owned namespace.
 *   · Every var() carries a literal fallback.
 *   · No var() on a :root token with a fallback other than its :root value —
 *     which is why the rules below name --pr-th-* and not --pr-text-strong.
 *
 * CONTRAST — measured (WCAG 2.x relative luminance), not guessed:
 *   testament  ink #17131D / bone #F1ECE3 15.56 · muted #5A5361 / bone 6.27
 *              muted / #E6DFD3 5.58 · rose #9C3350 / bone 5.94 (both ways)
 *              teal #1D6B66 / bone 5.33 · ember #8A4A2C 5.76
 *              hairline #C9C0B2 is 1.53:1 — decorative only, never a sole boundary
 *   firestarter paper #EDE6D6 / #0F0D0D 15.59 · muted #A89F92 7.42
 *              pink #FF5A8A 6.53 (both ways) · teal #5FE0D3 12.08
 *   priestess  text #E9E6F2 / #07060C 16.40 · muted #9A96AD 7.05
 *              muted / #1A1530 6.15 · spectral #60CFC7 10.81 (both ways)
 *              rose #C77489 / #07060C 6.04
 * ============================================================================= */


/* -----------------------------------------------------------------------------
 * A. TESTAMENT — liner notes (design direction "Editorial"). Light bone ground, ink rules, one rose accent.
 * -------------------------------------------------------------------------- */
[data-theme="testament"] {
  --pr-th-bg:      #F1ECE3;
  --pr-th-ink:     #17131D;
  --pr-th-muted:   #5A5361;
  --pr-th-hair:    #C9C0B2;
  --pr-th-accent:  #9C3350;
  --pr-th-on-fill: #F1ECE3;
  --pr-th-display: "Instrument Serif", Georgia, "Times New Roman", serif;
  --pr-th-ui:      "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

  /* prowess.css's own tokens, re-pointed */
  --pr-void: #F1ECE3;  --pr-ink: #E8E1D5;  --pr-storm: #DED6C8;  --pr-arcane: #C9C0B2;
  --pr-bloodstone: #9C3350;  --pr-dragon-rose: #9C3350;  --pr-ember: #8A4A2C;
  --pr-spectral-flame: #1D6B66;  --pr-ash: #5A5361;  --pr-lightning: #17131D;
  --pr-ember-aa: #8A4A2C;  --pr-ember-aa-ink: #8A4A2C;
  --pr-dragon-rose-aa: #86283F;  --pr-dragon-rose-aa-ink: #9C3350;
  --pr-lightning-aa: #F1ECE3;
  --pr-bloodstone-aa: #9C3350;  --pr-bloodstone-aa-ink: #9C3350;
  --pr-arcane-aa: #5A5361;  --pr-arcane-aa-ink: #5A5361;

  --pr-surface-base: #F1ECE3;  --pr-surface-elevated: #E8E1D5;  --pr-surface-raised: #DED6C8;
  --pr-surface-arcane: #E6DFD3;  --pr-surface-sunken: #E6DFD3;
  --pr-ground-0: #F1ECE3;  --pr-ground-1: #F1ECE3;  --pr-ground-2: #F1ECE3;
  --pr-ground-3: #F1ECE3;  --pr-ground-4: #F1ECE3;

  --pr-text-strong: #17131D;  --pr-text: #5A5361;  --pr-text-on-rose: #F1ECE3;
  --pr-text-unlocked: #1D6B66;  --pr-text-warning: #8A4A2C;  --pr-text-warning-ink: #8A4A2C;
  --pr-text-selected: #9C3350;  --pr-text-selected-ink: #9C3350;  --pr-text-locked: #5A5361;

  --pr-border: #17131D;  --pr-border-on-elevated: #17131D;  --pr-border-arcane: #17131D;
  --pr-border-unlocked: #1D6B66;  --pr-border-selected: #9C3350;  --pr-border-warning: #8A4A2C;
  --pr-border-hairline: #C9C0B2;
  --pr-focus-ring: #17131D;
  --pr-rule: #17131D;

  --pr-font-display: "Instrument Serif", Georgia, "Times New Roman", serif;
  --pr-font-sans: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

  --pr-radius-sm: 0px;  --pr-radius-md: 0px;  --pr-radius-lg: 0px;
  --pr-shadow-soft: none;  --pr-shadow-lift: none;  --pr-glow-spectral: none;  --pr-glow-rose: none;
  --pr-texture-strength: 0;
  --pr-texture-bloom: none;
  --pr-texture-strata: none;
  --pr-fill-selected: #9C3350;
  --pr-fill-locked: rgba(23, 19, 29, 0.05);
  --pr-fill-available: rgba(23, 19, 29, 0.08);
  --pr-fill-unlocked: rgba(29, 107, 102, 0.10);
  --pr-fill-disabled: rgba(23, 19, 29, 0.06);
  color-scheme: light;
}

[data-theme="testament"] body,
[data-theme="testament"] .pr-body { background: var(--pr-th-bg, #F1ECE3); color: var(--pr-th-muted, #5A5361); }
[data-theme="testament"] .pr-main { background-image: none; }

[data-theme="testament"] .pr-theme-switch {
  background: var(--pr-th-bg, #F1ECE3);
  border-block-end-color: var(--pr-th-hair, #C9C0B2);
  color: var(--pr-th-muted, #5A5361);
}
[data-theme="testament"] .pr-theme-switch-option[aria-pressed="true"] { color: var(--pr-th-ink, #17131D); border-color: var(--pr-th-ink, #17131D); }

[data-theme="testament"] .pr-header {
  background: var(--pr-th-bg, #F1ECE3);
  backdrop-filter: none;
  border-block-end: 1px solid var(--pr-th-ink, #17131D);
}
[data-theme="testament"] .pr-wordmark { font-size: 1.375rem; letter-spacing: 0; }
[data-theme="testament"] .pr-nav-link { letter-spacing: 0.14em; }

[data-theme="testament"] .pr-button {
  background: var(--pr-th-accent, #9C3350);
  border-color: var(--pr-th-accent, #9C3350);
  color: var(--pr-th-on-fill, #F1ECE3);
}
[data-theme="testament"] .pr-button:hover { background: var(--pr-th-ink, #17131D); border-color: var(--pr-th-ink, #17131D); }
[data-theme="testament"] .pr-button-ghost,
[data-theme="testament"] .pr-button.pr-button-ghost {
  background: transparent;
  border-color: var(--pr-th-ink, #17131D);
  color: var(--pr-th-ink, #17131D);
}
[data-theme="testament"] .pr-button.pr-button-ghost:hover { background: var(--pr-th-ink, #17131D); color: var(--pr-th-bg, #F1ECE3); }
[data-theme="testament"] .pr-card { background: transparent; border-color: var(--pr-th-hair, #C9C0B2); box-shadow: none; }
[data-theme="testament"] .pr-card:hover { background: rgba(23, 19, 29, 0.04); border-color: var(--pr-th-ink, #17131D); }
[data-theme="testament"] .pr-inline-link { color: var(--pr-th-accent, #9C3350); }

/* Home — the nameplate */
[data-theme="testament"] .pr-hero-copy { max-inline-size: 78rem; }
[data-theme="testament"] .pr-hero-wordmark {
  font-weight: 400;
  font-size: clamp(3.25rem, 12.5vw, 11rem);
  line-height: 0.88;
  letter-spacing: -0.02em;
  color: var(--pr-th-ink, #17131D);
}
[data-theme="testament"] .pr-hero-meta {
  margin-block: 1.5rem 2rem;
  padding-block: 0.875rem;
  border-block: 1px solid var(--pr-th-ink, #17131D);
  gap: 0.5rem 0;
  color: var(--pr-th-ink, #17131D);
}
[data-theme="testament"] .pr-hero-meta { gap: 0.5rem 1rem; }
[data-theme="testament"] .pr-hero-meta li + li::before { content: "·"; margin-inline-end: 1rem; color: var(--pr-th-muted, #5A5361); }
[data-theme="testament"] .pr-hero-tagline { font-family: var(--pr-th-display, Georgia, serif); font-style: italic; font-size: clamp(1.375rem, 1rem + 1.5vw, 2rem); color: var(--pr-th-ink, #17131D); max-inline-size: none; }
[data-theme="testament"] .pr-hero-lede { font-family: var(--pr-th-display, Georgia, serif); font-size: clamp(1.5rem, 1rem + 2vw, 2.75rem); line-height: 1.15; color: var(--pr-th-ink, #17131D); max-inline-size: 28ch; }


/* Home — sections read as a magazine: headings sit on a full-width rule */
[data-theme="testament"] .pr-section-heading {
  font-weight: 400;
  padding-block-end: 1rem;
  border-block-end: 1px solid var(--pr-th-ink, #17131D);
  color: var(--pr-th-ink, #17131D);
}
[data-theme="testament"] .pr-signal .pr-section-heading { border: 0; padding: 0; font-style: italic; }
[data-theme="testament"] .pr-eyebrow { color: var(--pr-th-accent, #9C3350); }
[data-theme="testament"] .pr-signal-cover { border-radius: 0; max-inline-size: 36rem; }
@media (min-width: 60rem) {
  [data-theme="testament"] .pr-signal-body { grid-template-columns: minmax(0, 32rem) minmax(0, 1fr); gap: 4rem; }
}
[data-theme="testament"] .pr-signal-blurb { font-family: var(--pr-th-display, Georgia, serif); font-size: 1.5rem; line-height: 1.4; color: var(--pr-th-ink, #17131D); }

/* Home — the catalogue as liner notes: one row per record */
[data-theme="testament"] .pr-music .pr-card-grid { grid-template-columns: minmax(0, 1fr); gap: 0; border-block-start: 1px solid var(--pr-th-ink, #17131D); }
[data-theme="testament"] .pr-music .pr-release-card { border: 0; border-block-end: 1px solid var(--pr-th-hair, #C9C0B2); border-radius: 0; background: transparent; }
[data-theme="testament"] .pr-music .pr-release-link { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); align-items: center; gap: 1.25rem; padding-block: 0.75rem; }
[data-theme="testament"] .pr-music .pr-release-play { display: none; }
[data-theme="testament"] .pr-music .pr-card-body { padding: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.25rem 1.5rem; }
[data-theme="testament"] .pr-music .pr-card-title { font-family: var(--pr-th-display, Georgia, serif); font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem); color: var(--pr-th-ink, #17131D); }
[data-theme="testament"] .pr-music .pr-card-out { display: none; }

/* Badges over artwork stay light: Testament re-points --pr-lightning to ink,
 * which would put a dark ▶ on the dark image gradient. */
[data-theme="testament"] .pr-video-play,
[data-theme="testament"] .pr-release-play { color: var(--pr-th-on-fill, #F1ECE3); }

[data-theme="testament"] .pr-footer { border-block-start: 1px solid var(--pr-th-ink, #17131D); }


/* -----------------------------------------------------------------------------
 * B. FIRESTARTER — DC underground (design direction "Zine"). Xerox black, paper white, riso pink + teal.
 * -------------------------------------------------------------------------- */
[data-theme="firestarter"] {
  --pr-th-bg:      #0F0D0D;
  --pr-th-paper:   #EDE6D6;
  --pr-th-muted:   #A89F92;
  --pr-th-text:    #CFC7B8;
  --pr-th-pink:    #FF5A8A;
  --pr-th-teal:    #5FE0D3;
  --pr-th-display: "Anton", Impact, "Arial Narrow", sans-serif;
  --pr-th-ui:      "Space Mono", ui-monospace, Menlo, monospace;

  --pr-void: #0F0D0D;  --pr-ink: #1A1717;  --pr-storm: #242020;  --pr-arcane: #4A4440;
  --pr-bloodstone: #FF5A8A;  --pr-dragon-rose: #FF5A8A;  --pr-ember: #F2A65A;
  --pr-spectral-flame: #5FE0D3;  --pr-ash: #A89F92;  --pr-lightning: #EDE6D6;
  --pr-ember-aa: #F2A65A;  --pr-ember-aa-ink: #F2A65A;
  --pr-dragon-rose-aa: #FF7AA1;  --pr-dragon-rose-aa-ink: #FF5A8A;
  --pr-lightning-aa: #0F0D0D;
  --pr-bloodstone-aa: #FF5A8A;  --pr-bloodstone-aa-ink: #FF5A8A;
  --pr-arcane-aa: #A89F92;  --pr-arcane-aa-ink: #A89F92;

  --pr-surface-base: #0F0D0D;  --pr-surface-elevated: #1A1717;  --pr-surface-raised: #242020;
  --pr-surface-arcane: #1A1717;  --pr-surface-sunken: #080707;
  --pr-ground-0: #0F0D0D;  --pr-ground-1: #0F0D0D;  --pr-ground-2: #0F0D0D;
  --pr-ground-3: #0F0D0D;  --pr-ground-4: #0F0D0D;

  --pr-text-strong: #EDE6D6;  --pr-text: #CFC7B8;  --pr-text-on-rose: #0F0D0D;
  --pr-text-unlocked: #5FE0D3;  --pr-text-warning: #F2A65A;  --pr-text-warning-ink: #F2A65A;
  --pr-text-selected: #FF5A8A;  --pr-text-selected-ink: #FF5A8A;  --pr-text-locked: #A89F92;

  --pr-border: #EDE6D6;  --pr-border-on-elevated: #EDE6D6;  --pr-border-arcane: #EDE6D6;
  --pr-border-unlocked: #5FE0D3;  --pr-border-selected: #FF5A8A;  --pr-border-warning: #F2A65A;
  --pr-border-hairline: #4A4440;
  --pr-focus-ring: #5FE0D3;
  --pr-rule: #EDE6D6;

  --pr-font-display: "Anton", Impact, "Arial Narrow", sans-serif;
  --pr-font-sans: "Space Mono", ui-monospace, Menlo, monospace;

  --pr-radius-sm: 0px;  --pr-radius-md: 0px;  --pr-radius-lg: 0px;
  --pr-shadow-soft: none;  --pr-shadow-lift: none;
  --pr-texture-strength: 0;
  --pr-texture-bloom: none;
  --pr-texture-strata: none;
  --pr-fill-selected: #FF5A8A;
  color-scheme: dark;
}

/* Halftone: a 6px dot screen at 7% — texture, never under-contrast text. */
[data-theme="firestarter"] body,
[data-theme="firestarter"] .pr-body {
  background-color: var(--pr-th-bg, #0F0D0D);
  background-image: radial-gradient(rgba(237, 230, 214, 0.07) 1px, transparent 1.2px);
  background-size: 6px 6px;
  color: var(--pr-th-text, #CFC7B8);
}
[data-theme="firestarter"] .pr-main { background-image: none; overflow-x: clip; }

[data-theme="firestarter"] .pr-theme-switch { background: var(--pr-th-paper, #EDE6D6); color: var(--pr-th-bg, #0F0D0D); border-block-end: 0; font-weight: 700; }
[data-theme="firestarter"] .pr-theme-switch-option { color: var(--pr-th-bg, #0F0D0D); }
[data-theme="firestarter"] .pr-theme-switch-option:hover { color: var(--pr-th-bg, #0F0D0D); border-color: var(--pr-th-bg, #0F0D0D); }
[data-theme="firestarter"] .pr-theme-switch-option[aria-pressed="true"] { background: var(--pr-th-bg, #0F0D0D); color: var(--pr-th-paper, #EDE6D6); border-color: var(--pr-th-bg, #0F0D0D); }
[data-theme="firestarter"] .pr-theme-switch-option:focus-visible { outline-color: var(--pr-th-bg, #0F0D0D); }

[data-theme="firestarter"] .pr-header {
  background: var(--pr-th-bg, #0F0D0D);
  backdrop-filter: none;
  border-block-end: 3px solid var(--pr-th-paper, #EDE6D6);
}
[data-theme="firestarter"] .pr-wordmark {
  padding: 0.25rem 0.625rem;
  border: 2px solid var(--pr-th-paper, #EDE6D6);
  transform: rotate(-2deg);
  font-size: 1.125rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
[data-theme="firestarter"] .pr-wordmark-line + .pr-wordmark-line { display: none; }
[data-theme="firestarter"] .pr-nav-link { font-weight: 700; }
[data-theme="firestarter"] .pr-nav-link[aria-current="page"] { background: var(--pr-th-pink, #FF5A8A); color: var(--pr-th-bg, #0F0D0D); }

[data-theme="firestarter"] .pr-button {
  background: var(--pr-th-pink, #FF5A8A);
  border: 3px solid var(--pr-th-pink, #FF5A8A);
  color: var(--pr-th-bg, #0F0D0D);
  font-weight: 700;
}
[data-theme="firestarter"] .pr-button:hover { background: var(--pr-th-paper, #EDE6D6); border-color: var(--pr-th-paper, #EDE6D6); }
[data-theme="firestarter"] .pr-button.pr-button-ghost { background: transparent; border-color: var(--pr-th-paper, #EDE6D6); color: var(--pr-th-paper, #EDE6D6); }
[data-theme="firestarter"] .pr-button.pr-button-ghost:hover { background: var(--pr-th-paper, #EDE6D6); color: var(--pr-th-bg, #0F0D0D); }
[data-theme="firestarter"] .pr-card { background: transparent; border: 2px dashed var(--pr-th-paper, #EDE6D6); box-shadow: none; }
[data-theme="firestarter"] .pr-card:hover { background: rgba(237, 230, 214, 0.05); border-style: solid; }
[data-theme="firestarter"] .pr-inline-link { color: var(--pr-th-teal, #5FE0D3); }

/* Section headings: condensed and loud, everywhere */
[data-theme="firestarter"] .pr-section-heading,
[data-theme="firestarter"] .pr-page-heading {
  font-weight: 400;
  text-transform: uppercase;
  line-height: 0.88;
  letter-spacing: 0;
  color: var(--pr-th-paper, #EDE6D6);
}
[data-theme="firestarter"] .pr-eyebrow { color: var(--pr-th-pink, #FF5A8A); font-weight: 700; }

/* Home — hero: stacked wordmark over a pile of sleeves */
[data-theme="firestarter"] .pr-hero { position: relative; overflow: hidden; }
[data-theme="firestarter"] .pr-hero-copy { position: relative; z-index: 2; }
[data-theme="firestarter"] .pr-hero-wordmark {
  font-weight: 400;
  font-size: clamp(4rem, 17vw, 13rem);
  line-height: 0.92;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--pr-th-paper, #EDE6D6);
  max-inline-size: 7ch;
}
[data-theme="firestarter"] .pr-hero-meta { gap: 0.5rem; }
[data-theme="firestarter"] .pr-hero-meta li { padding: 0.25rem 0.5rem; background: var(--pr-th-paper, #EDE6D6); color: var(--pr-th-bg, #0F0D0D); font-weight: 700; }
[data-theme="firestarter"] .pr-hero-meta li:first-child { background: var(--pr-th-pink, #FF5A8A); transform: rotate(-3deg); }
[data-theme="firestarter"] .pr-hero-tagline { font-family: var(--pr-th-display, Impact, sans-serif); text-transform: uppercase; font-size: clamp(1.5rem, 1rem + 2vw, 2.5rem); line-height: 1; color: var(--pr-th-teal, #5FE0D3); }


[data-theme="firestarter"] .pr-hero-collage {
  display: block;
  position: relative;
  block-size: 18rem;
  margin: 0 var(--pr-gutter, 1rem) 1rem;
}
[data-theme="firestarter"] .pr-hero-collage-img {
  position: absolute;
  inline-size: 11rem;
  block-size: 11rem;
  object-fit: cover;
  border: 6px solid var(--pr-th-paper, #EDE6D6);
}
[data-theme="firestarter"] .pr-hero-collage-img:nth-child(1) { left: 30%;  top: 4.5rem; inline-size: 13rem; block-size: 13rem; transform: rotate(-1.5deg); z-index: 3; }
[data-theme="firestarter"] .pr-hero-collage-img:nth-child(2) { left: 0;    top: 1rem;   transform: rotate(-7deg); z-index: 1; }
[data-theme="firestarter"] .pr-hero-collage-img:nth-child(3) { right: 0;   top: 0;      transform: rotate(5deg);  z-index: 2; }
@media (min-width: 60rem) {
  [data-theme="firestarter"] .pr-hero { grid-template-areas: "copy art"; grid-template-columns: minmax(0, 1fr) minmax(0, 36rem); }
  [data-theme="firestarter"] .pr-hero-copy { grid-area: copy; align-self: center; }
  [data-theme="firestarter"] .pr-hero-collage { grid-area: art; align-self: center; block-size: 36rem; margin: 2rem var(--pr-gutter, 1rem) 2rem 0; }
  [data-theme="firestarter"] .pr-hero-collage-img { inline-size: 17rem; block-size: 17rem; }
  [data-theme="firestarter"] .pr-hero-wordmark { font-size: clamp(5rem, 9.5vw, 9.5rem); }
  [data-theme="firestarter"] .pr-hero-collage-img:nth-child(1) { left: 22%; top: 13rem; inline-size: 21rem; block-size: 21rem; }
}

[data-theme="firestarter"] .pr-ticker {
  display: block;
  margin: 1rem -1.25rem 0;
  padding: 0.75rem 1.25rem;
  overflow: hidden;
  white-space: nowrap;
  background: var(--pr-th-paper, #EDE6D6);
  color: var(--pr-th-bg, #0F0D0D);
  font-family: var(--pr-th-display, Impact, sans-serif);
  font-size: clamp(1.25rem, 1rem + 1.2vw, 2rem);
  text-transform: uppercase;
  transform: rotate(-1deg);
}

/* Home — latest release gets a paper frame; the catalogue gets sleeve stickers */
[data-theme="firestarter"] .pr-signal-cover { border: 8px solid var(--pr-th-paper, #EDE6D6); border-radius: 0; }
[data-theme="firestarter"] .pr-signal-meta { font-weight: 700; color: var(--pr-th-paper, #EDE6D6); }
[data-theme="firestarter"] .pr-release-card { border: 0; }
[data-theme="firestarter"] .pr-release-card .pr-card-cover { border: 5px solid var(--pr-th-paper, #EDE6D6); box-sizing: border-box; }
[data-theme="firestarter"] .pr-card-title { font-weight: 700; color: var(--pr-th-paper, #EDE6D6); }
[data-theme="firestarter"] .pr-card-year { font-family: var(--pr-th-display, Impact, sans-serif); font-size: 1.25rem; color: var(--pr-th-teal, #5FE0D3); }
[data-theme="firestarter"] .pr-card-type { padding: 0.125rem 0.375rem; background: var(--pr-th-pink, #FF5A8A); color: var(--pr-th-bg, #0F0D0D); font-weight: 700; }

[data-theme="firestarter"] .pr-footer { background: var(--pr-th-paper, #EDE6D6); color: var(--pr-th-bg, #0F0D0D); }
[data-theme="firestarter"] .pr-footer * { color: var(--pr-th-bg, #0F0D0D); }
[data-theme="firestarter"] .pr-footer .pr-inline-link:focus-visible { outline-color: var(--pr-th-bg, #0F0D0D); }


/* -----------------------------------------------------------------------------
 * C. PRIESTESS — lunar, violet minimal (default; direction "Arcane"). Deep night, one spectral accent, a moon.
 * -------------------------------------------------------------------------- */
[data-theme="priestess"] {
  --pr-th-bg:      #07060C;
  --pr-th-text:    #E9E6F2;
  --pr-th-muted:   #9A96AD;
  --pr-th-accent:  #60CFC7;
  --pr-th-deep:    #2A1F4D;
  --pr-th-rim:     rgba(96, 207, 199, 0.28);
  --pr-th-display: "Cormorant Garamond", "Bodoni Moda", Georgia, serif;
  --pr-th-ui:      "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;

  --pr-void: #07060C;  --pr-ink: #110E1C;  --pr-storm: #2A1F4D;  --pr-arcane: #3B2E6B;
  --pr-ash: #9A96AD;  --pr-lightning: #E9E6F2;  --pr-lightning-aa: #07060C;
  --pr-dragon-rose: #60CFC7;  --pr-dragon-rose-aa: #86DDD7;  --pr-dragon-rose-aa-ink: #C77489;

  --pr-surface-base: #07060C;  --pr-surface-elevated: #110E1C;  --pr-surface-raised: #1A1530;
  --pr-surface-arcane: #1A1530;  --pr-surface-sunken: #040308;
  --pr-ground-0: #07060C;  --pr-ground-1: #07060C;  --pr-ground-2: #0A0812;
  --pr-ground-3: #0D0A18;  --pr-ground-4: #0A0812;

  --pr-text-strong: #E9E6F2;  --pr-text: #9A96AD;  --pr-text-on-rose: #07060C;
  --pr-text-selected: #C77489;  --pr-text-selected-ink: #C77489;  --pr-text-locked: #9A96AD;
  --pr-border-hairline: #2A2440;
  --pr-border-arcane: #7B5DC2;
  --pr-focus-ring: #60CFC7;
  --pr-rule: rgba(96, 207, 199, 0.28);

  --pr-font-display: "Cormorant Garamond", "Bodoni Moda", Georgia, serif;
  --pr-font-sans: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;

  /* radius-sm stays 2px: it also shapes focus rings, the select and the
   * Bandcamp preview facade — only buttons go pill, below. */
  --pr-radius-sm: 2px;  --pr-radius-md: 2px;  --pr-radius-lg: 2px;
  --pr-shadow-soft: none;
  --pr-fill-selected: #60CFC7;
  color-scheme: dark;
}

[data-theme="priestess"] body,
[data-theme="priestess"] .pr-body { background: var(--pr-th-bg, #07060C); color: var(--pr-th-muted, #9A96AD); }

[data-theme="priestess"] .pr-theme-switch { background: var(--pr-th-bg, #07060C); border-block-end-color: #1A1530; }
[data-theme="priestess"] .pr-theme-switch-option { border-radius: 999px; }
[data-theme="priestess"] .pr-theme-switch-option[aria-pressed="true"] { color: var(--pr-th-accent, #60CFC7); border-color: var(--pr-th-rim, rgba(96, 207, 199, 0.28)); }

[data-theme="priestess"] .pr-header { background: rgba(7, 6, 12, 0.88); }
[data-theme="priestess"] .pr-wordmark { letter-spacing: 0.28em; text-transform: uppercase; font-size: 1.125rem; }
[data-theme="priestess"] .pr-nav-link { letter-spacing: 0.06em; text-transform: none; }
[data-theme="priestess"] .pr-nav-link[aria-current="page"] { color: var(--pr-th-accent, #60CFC7); }

[data-theme="priestess"] .pr-button { border-radius: 999px; font-weight: 600; letter-spacing: 0.02em; text-transform: none; }
[data-theme="priestess"] .pr-button:hover { background: var(--pr-th-text, #E9E6F2); border-color: var(--pr-th-text, #E9E6F2); }
[data-theme="priestess"] .pr-button.pr-button-ghost { background: transparent; border-color: transparent; color: var(--pr-th-text, #E9E6F2); text-decoration: underline; text-underline-offset: 6px; }
[data-theme="priestess"] .pr-button.pr-button-ghost:hover { border-color: var(--pr-th-rim, rgba(96, 207, 199, 0.28)); }
[data-theme="priestess"] .pr-card { background: transparent; border-color: transparent; }
[data-theme="priestess"] .pr-card:hover { background: var(--pr-surface-elevated, #171223); border-color: var(--pr-th-deep, #2A1F4D); }
[data-theme="priestess"] .pr-inline-link { color: var(--pr-th-text, #E9E6F2); }

[data-theme="priestess"] .pr-section-heading,
[data-theme="priestess"] .pr-page-heading { font-weight: 300; letter-spacing: 0; }
[data-theme="priestess"] .pr-eyebrow { letter-spacing: 0.28em; color: var(--pr-th-muted, #9A96AD); }

/* Home — centred under a moon */
[data-theme="priestess"] .pr-hero { position: relative; overflow: hidden; }
[data-theme="priestess"] .pr-hero-copy {
  position: relative;
  z-index: 2;
  align-self: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding-block: clamp(3rem, 9vw, 6.5rem);
}
[data-theme="priestess"] .pr-hero-wordmark {
  font-weight: 300;
  font-size: clamp(3rem, 9vw, 7rem);
  line-height: 0.98;
  letter-spacing: 0.02em;
  max-inline-size: 12ch;
}
[data-theme="priestess"] .pr-hero-meta { justify-content: center; letter-spacing: 0.28em; order: -1; margin-block-end: 1.75rem; }
[data-theme="priestess"] .pr-hero-meta li + li::before { content: "·"; margin-inline-end: 1rem; }
[data-theme="priestess"] .pr-hero-tagline { font-family: var(--pr-th-display, Georgia, serif); font-style: italic; font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem); margin-inline: auto; }
[data-theme="priestess"] .pr-hero-lede { margin-inline: auto; max-inline-size: 44ch; }


[data-theme="priestess"] .pr-hero-copy .pr-hero-cta-row { justify-content: center; }

[data-theme="priestess"] .pr-hero-moon {
  display: block;
  position: absolute;
  z-index: 0;
  left: 50%;
  top: 50%;
  inline-size: min(88vw, 40rem);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 1px solid var(--pr-th-rim, rgba(96, 207, 199, 0.28));
  background: radial-gradient(circle at 38% 34%, var(--pr-th-deep, #2A1F4D) 0%, transparent 68%);
  pointer-events: none;
  animation: pr-moon-breathe 12s ease-in-out infinite;
}
@keyframes pr-moon-breathe { 0%, 100% { opacity: 0.7; } 50% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { [data-theme="priestess"] .pr-hero-moon { animation: none; } }

[data-theme="priestess"] .pr-signal-cover { border-radius: 2px; }
[data-theme="priestess"] .pr-music { text-align: center; }
[data-theme="priestess"] .pr-music .pr-card-grid { text-align: start; grid-template-columns: repeat(auto-fill, minmax(min(100%, 9.5rem), 1fr)); gap: 1.25rem; }
[data-theme="priestess"] .pr-card-title { font-family: var(--pr-th-display, Georgia, serif); font-size: 1.25rem; line-height: 1.15; color: var(--pr-th-text, #E9E6F2); }

[data-theme="priestess"] .pr-footer { text-align: center; }


/* -----------------------------------------------------------------------------
 * Every theme — the hero without a press photo
 * prowess.css splits the hero into copy + a 57% art column at >= 60rem
 * whatever data-art says. With no photo that column is empty and the copy is
 * squeezed into the other 43% — the wordmark clipped in Priestess and the facts
 * strip wrapped in Testament. Testament and Priestess take the full width;
 * Firestarter
 * fills the column with its collage (above).
 * -------------------------------------------------------------------------- */
@media (min-width: 60rem) {
  [data-theme="testament"] .pr-hero[data-art="none"],
  [data-theme="priestess"] .pr-hero[data-art="none"] {
    grid-template-areas: "copy";
    grid-template-columns: minmax(0, 1fr);
  }
}
[data-theme="testament"] .pr-hero-copy > *,
[data-theme="testament"] .pr-hero-meta li { max-inline-size: none; }
[data-theme="testament"] .pr-hero-lede { max-inline-size: 30ch; }

[data-theme="testament"] .pr-hero-cta-row { flex-direction: row; }


/* Narrow screens: the facts strip wraps, and a "·" separator would then open
 * each new line. Below 40rem the gap separates them instead. */
@media (max-width: 39.99rem) {
  [data-theme="testament"] .pr-hero-meta li + li::before,
  [data-theme="priestess"] .pr-hero-meta li + li::before { content: none; }
  [data-theme="testament"] .pr-hero-meta,
  [data-theme="priestess"] .pr-hero-meta { gap: 0.375rem 1.25rem; }
}


/* -----------------------------------------------------------------------------
 * Every theme — forced colours and print fall back to the system
 * -------------------------------------------------------------------------- */
@media (forced-colors: active) {
  .pr-theme-switch-option[aria-pressed="true"] { border-color: Highlight; }
  .pr-hero-moon, .pr-hero-collage, .pr-ticker { display: none; }
}
@media print {
  .pr-theme-switch, .pr-hero-moon, .pr-hero-collage, .pr-ticker { display: none; }
}
