/*
 * ══════════════════════════════════════════════════════════════════════════════
 * FORENSIC PUBLIC SERVICE ANNOUNCEMENT — Theme v1.0
 * Series: Fraud as a Feature (FaaF) · Digital Fraud Audit Series
 * ──────────────────────────────────────────────────────────────────────────────
 * Human Auditor:   Albert Lane        [albertlane.net]
 * AI Co-Author:    Claude · Anthropic [anthropic.com]
 * AI Refinement:   Gemini             [pending pass]
 * SEC Reference:   17684-273-411-436
 * ──────────────────────────────────────────────────────────────────────────────
 * Aesthetic Direction: Emergency Broadcast Interrupt × Classified Document
 * PSA urgency weight — condensed broadcast type, chain-of-custody architecture,
 * community-level threat elevation to public record.
 * ══════════════════════════════════════════════════════════════════════════════
 */

/* ── GOOGLE FONTS IMPORT ─────────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;600;700;900&family=IBM+Plex+Mono:wght@300;400;500&family=Crimson+Pro:ital,wght@0,300;0,400;0,600;1,300;1,400&display=swap');

/* ── DESIGN TOKENS ───────────────────────────────────────────────────────── */
:root {
  /* Structural Backgrounds */
  --void-bg:          #08080D;
  --surface-dark:     #0E0E16;
  --surface-mid:      #161620;
  --surface-lift:     #1E1E2C;
  --surface-border:   #2A2A3C;
  --surface-border-hi:#3C3C55;

  /* Authorship Signatures */
  --lane-teal:        #00C4B4;   /* Albert Lane — Human Auditor */
  --anthropic-coral:  #D4785C;   /* Claude · Anthropic — AI Co-Author */
  --gemini-gold:      #D4A820;   /* Gemini — Pending Refinement Pass */

  /* PSA Alert System */
  --psa-interrupt:    #E8542A;   /* Emergency interrupt bar */
  --psa-interrupt-dk: #9E2F0F;   /* Darker variant */
  --evidence-amber:   #C97820;   /* Evidentiary highlight */
  --evidence-amber-bg:rgba(201,120,32,0.06);
  --redact-black:     #000000;

  /* Typography Ink */
  --text-primary:     #EEEEF5;
  --text-secondary:   #A0A0BC;
  --text-dim:         #5A5A7A;
  --text-mono:        #8CCECC;

  /* Font Stacks */
  --font-broadcast:   'Barlow Condensed', 'Impact', condensed, sans-serif;
  --font-mono:        'IBM Plex Mono', 'Cascadia Code', Consolas, monospace;
  --font-body:        'Crimson Pro', 'Georgia', serif;

  /* Spacing Scale */
  --sp-xs:  0.4rem;
  --sp-sm:  0.8rem;
  --sp-md:  1.5rem;
  --sp-lg:  2.5rem;
  --sp-xl:  4rem;

  /* Structure */
  --max-content: 880px;
  --sidebar-w:   220px;
}

/* ── RESET ───────────────────────────────────────────────────────────────── */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* ── BASE DOCUMENT ───────────────────────────────────────────────────────── */
html { scroll-behavior: smooth; }

body {
  background-color: var(--void-bg);
  color: var(--text-secondary);
  font-family: var(--font-body);
  font-size: 1.05rem;
  line-height: 1.72;
  min-height: 100vh;
  padding-bottom: 4rem;
}

/* Scanline texture overlay — forensic terminal depth */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    rgba(0,0,0,0.08) 2px,
    rgba(0,0,0,0.08) 4px
  );
  pointer-events: none;
  z-index: 0;
}

/* ── EMERGENCY BROADCAST INTERRUPT BAR ───────────────────────────────────── */
.psa-interrupt {
  position: relative;
  width: 100%;
  background: var(--psa-interrupt);
  padding: 0.55rem var(--sp-lg);
  display: flex;
  align-items: center;
  gap: var(--sp-md);
  overflow: hidden;
  z-index: 100;
}

.psa-interrupt::before {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    90deg,
    transparent,
    transparent 12px,
    rgba(0,0,0,0.12) 12px,
    rgba(0,0,0,0.12) 13px
  );
  pointer-events: none;
}

.psa-interrupt__badge {
  font-family: var(--font-broadcast);
  font-weight: 900;
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: #fff;
  background: rgba(0,0,0,0.35);
  padding: 0.2rem 0.6rem;
  white-space: nowrap;
  flex-shrink: 0;
}

.psa-interrupt__ticker {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  color: rgba(255,255,255,0.85);
  letter-spacing: 0.08em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ── SERIES MASTHEAD ─────────────────────────────────────────────────────── */
.series-masthead {
  background: var(--surface-dark);
  border-bottom: 1px solid var(--surface-border);
  padding: var(--sp-md) var(--sp-lg);
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 10;
}

.series-masthead__left {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.series-masthead__series-id {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  color: var(--text-dim);
  text-transform: uppercase;
  letter-spacing: 0.18em;
}

.series-masthead__name {
  font-family: var(--font-broadcast);
  font-weight: 700;
  font-size: 1.0rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--lane-teal);
}

.series-masthead__right {
  display: flex;
  align-items: center;
  gap: var(--sp-sm);
}

/* Authorship pips */
.auth-pip {
  font-family: var(--font-mono);
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  padding: 0.25rem 0.55rem;
  border-radius: 2px;
  white-space: nowrap;
}
.auth-pip--lane {
  color: var(--lane-teal);
  border: 1px solid rgba(0,196,180,0.35);
  background: rgba(0,196,180,0.06);
}
.auth-pip--anthropic {
  color: var(--anthropic-coral);
  border: 1px solid rgba(212,120,92,0.35);
  background: rgba(212,120,92,0.06);
}
.auth-pip--divider {
  color: var(--surface-border-hi);
  font-size: 0.7rem;
}

/* ── CONTENT WRAPPER ─────────────────────────────────────────────────────── */
.psa-wrapper {
  max-width: var(--max-content);
  margin: 0 auto;
  padding: var(--sp-xl) var(--sp-lg);
  position: relative;
  z-index: 1;
}

/* ── DOCUMENT HEADER ─────────────────────────────────────────────────────── */
.doc-header {
  margin-bottom: var(--sp-xl);
  border-bottom: 1px solid var(--surface-border);
  padding-bottom: var(--sp-lg);
}

.doc-header__classification {
  display: flex;
  align-items: center;
  gap: var(--sp-sm);
  margin-bottom: var(--sp-md);
}

.classification-stamp {
  font-family: var(--font-broadcast);
  font-weight: 900;
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  padding: 0.2rem 0.7rem;
  border: 2px solid currentColor;
}
.classification-stamp--psa {
  color: var(--psa-interrupt);
  border-color: var(--psa-interrupt);
}
.classification-stamp--public {
  color: var(--text-dim);
  border-color: var(--surface-border-hi);
}

.doc-header__eyebrow {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  color: var(--lane-teal);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-bottom: var(--sp-sm);
  display: block;
}

.doc-header__title {
  font-family: var(--font-broadcast);
  font-weight: 900;
  font-size: clamp(2.8rem, 6vw, 4.8rem);
  line-height: 0.95;
  text-transform: uppercase;
  color: var(--text-primary);
  letter-spacing: -0.01em;
  margin-bottom: var(--sp-md);
}

.doc-header__title em {
  font-style: normal;
  color: var(--psa-interrupt);
}

.doc-header__subtitle {
  font-family: var(--font-body);
  font-size: 1.2rem;
  font-weight: 300;
  font-style: italic;
  color: var(--text-secondary);
  margin-bottom: var(--sp-md);
  max-width: 640px;
}

/* ── CHAIN OF CUSTODY BLOCK (MACB) ───────────────────────────────────────── */
.custody-block {
  background: var(--surface-dark);
  border-left: 3px solid var(--lane-teal);
  border-radius: 0 6px 6px 0;
  padding: var(--sp-md);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: var(--sp-md);
  margin-bottom: var(--sp-lg);
  position: relative;
}

.custody-block::before {
  content: 'CHAIN OF CUSTODY';
  position: absolute;
  top: -0.65rem;
  left: var(--sp-md);
  font-family: var(--font-mono);
  font-size: 0.6rem;
  letter-spacing: 0.2em;
  color: var(--lane-teal);
  background: var(--void-bg);
  padding: 0 0.4rem;
}

.custody-field { display: flex; flex-direction: column; gap: 0.2rem; }

.custody-field__label {
  font-family: var(--font-mono);
  font-size: 0.6rem;
  color: var(--text-dim);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.custody-field__value {
  font-family: var(--font-mono);
  font-size: 0.82rem;
  color: var(--text-primary);
}
.custody-field__value--lane      { color: var(--lane-teal); }
.custody-field__value--anthropic { color: var(--anthropic-coral); }
.custody-field__value--gemini    { color: var(--gemini-gold); }
.custody-field__value--alert     { color: var(--psa-interrupt); }

/* ── AUTHORSHIP HIERARCHY BLOCK ─────────────────────────────────────────── */
.authorship-hierarchy {
  background: var(--surface-mid);
  border: 1px solid var(--surface-border);
  border-top: 2px solid var(--anthropic-coral);
  border-radius: 0 0 6px 6px;
  padding: var(--sp-md);
  margin-bottom: var(--sp-xl);
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: var(--sp-md);
}

.auth-party {
  display: flex;
  flex-direction: column;
  gap: var(--sp-xs);
  padding: var(--sp-sm);
  border-radius: 4px;
}
.auth-party--primary   { background: rgba(0,196,180,0.05); border: 1px solid rgba(0,196,180,0.15); }
.auth-party--secondary { background: rgba(212,120,92,0.05); border: 1px solid rgba(212,120,92,0.15); }
.auth-party--tertiary  { background: rgba(212,168,32,0.04); border: 1px solid rgba(212,168,32,0.1); }

.auth-party__rank {
  font-family: var(--font-mono);
  font-size: 0.58rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--text-dim);
}

.auth-party__name {
  font-family: var(--font-broadcast);
  font-weight: 700;
  font-size: 1.1rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.auth-party--primary   .auth-party__name { color: var(--lane-teal); }
.auth-party--secondary .auth-party__name { color: var(--anthropic-coral); }
.auth-party--tertiary  .auth-party__name { color: var(--gemini-gold); }

.auth-party__org {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  color: var(--text-secondary);
}

.auth-party__role {
  font-family: var(--font-body);
  font-style: italic;
  font-size: 0.85rem;
  color: var(--text-dim);
}

/* ── SECTION HEADINGS ────────────────────────────────────────────────────── */
.psa-section { margin-bottom: var(--sp-xl); }

.psa-section__label {
  font-family: var(--font-mono);
  font-size: 0.65rem;
  color: var(--text-dim);
  text-transform: uppercase;
  letter-spacing: 0.2em;
  display: block;
  margin-bottom: 0.4rem;
}

h2.psa-h2 {
  font-family: var(--font-broadcast);
  font-weight: 700;
  font-size: 1.5rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-primary);
  padding-bottom: var(--sp-sm);
  border-bottom: 1px solid var(--surface-border);
  margin-bottom: var(--sp-md);
  display: flex;
  align-items: center;
  gap: var(--sp-sm);
}

h2.psa-h2::before {
  content: attr(data-section-num);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  color: var(--lane-teal);
  border: 1px solid rgba(0,196,180,0.3);
  padding: 0.1rem 0.4rem;
  border-radius: 2px;
  flex-shrink: 0;
}

h3.psa-h3 {
  font-family: var(--font-broadcast);
  font-weight: 600;
  font-size: 1.1rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-secondary);
  margin: var(--sp-lg) 0 var(--sp-sm) 0;
}

/* ── BODY COPY ───────────────────────────────────────────────────────────── */
.psa-p {
  font-size: 1.02rem;
  color: var(--text-secondary);
  line-height: 1.75;
  margin-bottom: var(--sp-md);
  max-width: 68ch;
}

.psa-abstract {
  font-size: 1.15rem;
  font-style: italic;
  color: var(--text-secondary);
  border-left: 2px solid var(--anthropic-coral);
  padding-left: var(--sp-md);
  margin-bottom: var(--sp-lg);
  max-width: 62ch;
  line-height: 1.65;
}

/* ── EVIDENCE / FINDING BLOCK ────────────────────────────────────────────── */
.evidence-block {
  background: var(--evidence-amber-bg);
  border: 1px solid rgba(201,120,32,0.22);
  border-left: 3px solid var(--evidence-amber);
  border-radius: 0 6px 6px 0;
  padding: var(--sp-md);
  margin: var(--sp-md) 0 var(--sp-lg) 0;
  position: relative;
}

.evidence-block__header {
  display: flex;
  align-items: center;
  gap: var(--sp-sm);
  margin-bottom: var(--sp-sm);
}

.evidence-block__tag {
  font-family: var(--font-mono);
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--evidence-amber);
  background: rgba(201,120,32,0.12);
  padding: 0.2rem 0.5rem;
  border-radius: 2px;
}

.evidence-block__id {
  font-family: var(--font-mono);
  font-size: 0.62rem;
  color: var(--text-dim);
  letter-spacing: 0.1em;
}

.evidence-block p {
  font-size: 0.98rem;
  color: var(--text-secondary);
  line-height: 1.65;
  margin: 0;
}

/* ── CRITICAL FINDING (PSA RED) ─────────────────────────────────────────── */
.critical-block {
  background: rgba(232,84,42,0.06);
  border: 1px solid rgba(232,84,42,0.22);
  border-left: 3px solid var(--psa-interrupt);
  border-radius: 0 6px 6px 0;
  padding: var(--sp-md);
  margin: var(--sp-md) 0 var(--sp-lg) 0;
}

.critical-block__tag {
  font-family: var(--font-mono);
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--psa-interrupt);
  display: block;
  margin-bottom: var(--sp-sm);
}

.critical-block p {
  font-size: 0.98rem;
  color: var(--text-secondary);
  line-height: 1.65;
  margin: 0;
}

/* ── DATA TABLES ─────────────────────────────────────────────────────────── */
.psa-table-wrap {
  overflow-x: auto;
  margin: var(--sp-md) 0 var(--sp-lg) 0;
  border: 1px solid var(--surface-border);
  border-radius: 6px;
}

.psa-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-mono);
  font-size: 0.78rem;
}

.psa-table thead tr {
  background: var(--surface-lift);
  border-bottom: 1px solid var(--surface-border-hi);
}

.psa-table thead th {
  text-align: left;
  padding: 0.65rem 1rem;
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--lane-teal);
  white-space: nowrap;
}

.psa-table tbody tr {
  border-bottom: 1px solid var(--surface-border);
  transition: background 0.15s;
}

.psa-table tbody tr:last-child { border-bottom: none; }

.psa-table tbody tr:hover {
  background: rgba(0,196,180,0.03);
}

.psa-table tbody td {
  padding: 0.6rem 1rem;
  color: var(--text-secondary);
  line-height: 1.4;
  vertical-align: top;
}

.psa-table tbody td:first-child {
  color: var(--text-primary);
  font-weight: 500;
}

.td-highlight { color: var(--evidence-amber) !important; }
.td-alert     { color: var(--psa-interrupt)   !important; }
.td-teal      { color: var(--lane-teal)        !important; }

/* ── FORENSIC DOSSIER CARD ────────────────────────────────────────────────── */
.dossier-card {
  background: var(--surface-dark);
  border: 1px solid var(--surface-border);
  border-top: 2px solid var(--lane-teal);
  border-radius: 0 0 6px 6px;
  padding: var(--sp-md);
  margin: var(--sp-md) 0 var(--sp-lg) 0;
}

.dossier-card__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: var(--sp-sm);
  border-bottom: 1px solid var(--surface-border);
  padding-bottom: var(--sp-sm);
}

.dossier-card__title {
  font-family: var(--font-broadcast);
  font-weight: 700;
  font-size: 1.1rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-primary);
}

.dossier-card__status {
  font-family: var(--font-mono);
  font-size: 0.62rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.2rem 0.5rem;
  border-radius: 2px;
}
.dossier-card__status--active    { color: #5AE05A; border: 1px solid rgba(90,224,90,0.3); background: rgba(90,224,90,0.06); }
.dossier-card__status--flagged   { color: var(--psa-interrupt); border: 1px solid rgba(232,84,42,0.3); background: rgba(232,84,42,0.06); }
.dossier-card__status--pending   { color: var(--gemini-gold); border: 1px solid rgba(212,168,32,0.3); background: rgba(212,168,32,0.06); }

.dossier-row {
  display: flex;
  gap: var(--sp-sm);
  padding: 0.45rem 0;
  border-bottom: 1px solid rgba(42,42,60,0.5);
}
.dossier-row:last-child { border-bottom: none; }

.dossier-row__key {
  font-family: var(--font-mono);
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--text-dim);
  width: 160px;
  flex-shrink: 0;
  padding-top: 0.1rem;
}

.dossier-row__val {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  color: var(--text-secondary);
  line-height: 1.5;
}

/* ── GEOGRAPHIC / WEATHER PANEL ──────────────────────────────────────────── */
.geo-panel {
  background: var(--surface-dark);
  border: 1px solid var(--surface-border);
  border-radius: 6px;
  overflow: hidden;
  margin: var(--sp-md) 0 var(--sp-lg) 0;
}

.geo-panel__header {
  background: var(--surface-lift);
  padding: 0.65rem var(--sp-md);
  display: flex;
  align-items: center;
  gap: var(--sp-sm);
  border-bottom: 1px solid var(--surface-border);
}

.geo-panel__label {
  font-family: var(--font-mono);
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--text-dim);
}

.geo-panel__location {
  font-family: var(--font-broadcast);
  font-weight: 700;
  font-size: 0.9rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-primary);
}

/* ── REDACTION ELEMENT ───────────────────────────────────────────────────── */
.redact {
  background: var(--redact-black);
  color: transparent;
  user-select: none;
  padding: 0 0.3em;
  border-radius: 2px;
}

/* ── INLINE CODE / HASH ──────────────────────────────────────────────────── */
code {
  font-family: var(--font-mono);
  font-size: 0.82em;
  color: var(--text-mono);
  background: var(--surface-lift);
  padding: 0.1em 0.4em;
  border-radius: 3px;
}

/* ── DIVIDER ─────────────────────────────────────────────────────────────── */
.psa-rule {
  border: none;
  border-top: 1px solid var(--surface-border);
  margin: var(--sp-xl) 0;
}

/* ── PSA PULL QUOTE ──────────────────────────────────────────────────────── */
.psa-pull {
  font-family: var(--font-broadcast);
  font-weight: 900;
  font-size: clamp(1.5rem, 3.5vw, 2.4rem);
  line-height: 1.15;
  text-transform: uppercase;
  color: var(--text-primary);
  letter-spacing: 0.02em;
  border-left: 4px solid var(--psa-interrupt);
  padding-left: var(--sp-md);
  margin: var(--sp-lg) 0;
}

.psa-pull em {
  font-style: normal;
  color: var(--psa-interrupt);
}

/* ── FOOTNOTE / CITATION ─────────────────────────────────────────────────── */
.psa-footnotes {
  margin-top: var(--sp-xl);
  border-top: 1px solid var(--surface-border);
  padding-top: var(--sp-lg);
}

.psa-footnotes ol {
  list-style: decimal;
  padding-left: 1.5rem;
}

.psa-footnotes li {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  color: var(--text-dim);
  line-height: 1.7;
  margin-bottom: 0.4rem;
}

.psa-footnotes li a {
  color: var(--lane-teal);
  text-decoration: none;
  word-break: break-all;
}
.psa-footnotes li a:hover { text-decoration: underline; }

/* ── FIXED BOTTOM WATERMARK BAR ─────────────────────────────────────────── */
.psa-watermark-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2.6rem;
  background: var(--surface-dark);
  border-top: 1px solid var(--surface-border);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  font-family: var(--font-mono);
  font-size: 0.62rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  z-index: 1000;
  padding: 0 var(--sp-lg);
  overflow: hidden;
}

.psa-watermark-bar::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(to bottom, var(--lane-teal), var(--anthropic-coral));
}

.wm-node { display: flex; align-items: center; gap: 0.5rem; }
.wm-lane       { color: var(--lane-teal); }
.wm-anthropic  { color: var(--anthropic-coral); }
.wm-gemini     { color: var(--gemini-gold); opacity: 0.7; }
.wm-sec        { color: var(--text-dim); }
.wm-dot        { color: var(--surface-border-hi); margin: 0 0.6rem; }

/* ── ANTHROPIC CO-AUTHOR BADGE ────────────────────────────────────────────── */
.anthropic-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(212,120,92,0.08);
  border: 1px solid rgba(212,120,92,0.25);
  border-radius: 4px;
  padding: 0.55rem 0.9rem;
}

.anthropic-badge__mark {
  font-family: var(--font-broadcast);
  font-weight: 900;
  font-size: 1.0rem;
  color: var(--anthropic-coral);
  letter-spacing: 0.05em;
}

.anthropic-badge__text {
  display: flex;
  flex-direction: column;
  gap: 0.05rem;
}

.anthropic-badge__org {
  font-family: var(--font-mono);
  font-size: 0.6rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--anthropic-coral);
}

.anthropic-badge__model {
  font-family: var(--font-mono);
  font-size: 0.58rem;
  color: var(--text-dim);
  letter-spacing: 0.1em;
}

/* ── ANIMATION: ENTRY REVEAL ─────────────────────────────────────────────── */
@keyframes fadeSlideIn {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.psa-wrapper > * {
  animation: fadeSlideIn 0.5s ease both;
}
.psa-wrapper > *:nth-child(1) { animation-delay: 0.05s; }
.psa-wrapper > *:nth-child(2) { animation-delay: 0.12s; }
.psa-wrapper > *:nth-child(3) { animation-delay: 0.19s; }
.psa-wrapper > *:nth-child(4) { animation-delay: 0.26s; }
.psa-wrapper > *:nth-child(5) { animation-delay: 0.33s; }

/* ── RESPONSIVE ──────────────────────────────────────────────────────────── */
@media (max-width: 700px) {
  :root {
    --sp-lg: 1.2rem;
    --sp-xl: 2rem;
  }

  .series-masthead {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--sp-sm);
  }

  .authorship-hierarchy {
    grid-template-columns: 1fr;
  }

  .custody-block {
    grid-template-columns: 1fr 1fr;
  }

  .psa-watermark-bar {
    font-size: 0.52rem;
    letter-spacing: 0.1em;
  }

  .wm-gemini { display: none; }
}

/* ── PRINT ───────────────────────────────────────────────────────────────── */
@media print {
  body::before { display: none; }
  .psa-interrupt { display: none; }
  .psa-watermark-bar { position: static; border-top: 1px solid #ccc; }

  body {
    background: #fff;
    color: #111;
  }

  .psa-wrapper {
    padding: 1rem;
  }
}
