.page-staff-update {
  --hero-pad-top: 44px;
  --hero-pad-bottom: 48px;
  /* Theme-aware article tokens: light values here, dark values below. The
     paper band and article card follow --theme-bg/--theme-surface so the
     article goes dark instead of sitting as a stranded white block. */
  --update-paper: var(--theme-bg);
  --update-card: var(--theme-surface);
  --update-heading: var(--theme-text);
  --update-copy: #3f4e66;
  --update-meta: #67748a;
  --update-accent: #6b3fa0;
  --update-accent-wash: rgba(107, 63, 160, 0.08);
  --update-link: var(--red);
  --update-inset: #f7f5fb;
  --update-inset-text: var(--ink);
  --update-inset-hover: #efe9fa;
  --update-track: #e3ddf3;
  --update-shadow: rgba(28, 16, 64, 0.08);
  --update-shadow-strong: rgba(28, 16, 64, 0.16);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .page-staff-update {
    --update-copy: #d9d2ea;
    --update-meta: #b7aed0;
    --update-accent: #b18ce0;
    --update-accent-wash: rgba(177, 140, 224, 0.12);
    --update-link: #f0a58c;
    --update-inset: #2e2250;
    --update-inset-text: var(--theme-text);
    --update-inset-hover: #372a5e;
    --update-track: #3a2d63;
    --update-shadow: rgba(0, 0, 0, 0.35);
    --update-shadow-strong: rgba(0, 0, 0, 0.45);
  }
}

:root[data-theme="dark"] .page-staff-update {
  --update-copy: #d9d2ea;
  --update-meta: #b7aed0;
  --update-accent: #b18ce0;
  --update-accent-wash: rgba(177, 140, 224, 0.12);
  --update-link: #f0a58c;
  --update-inset: #2e2250;
  --update-inset-text: var(--theme-text);
  --update-inset-hover: #372a5e;
  --update-track: #3a2d63;
  --update-shadow: rgba(0, 0, 0, 0.35);
  --update-shadow-strong: rgba(0, 0, 0, 0.45);
}

.staff-update-subhero {
  isolation: isolate;
  text-align: center;
}

.page-staff-update .section-pad {
  padding-top: 56px;
  padding-bottom: 64px;
  background: var(--update-paper);
}

.staff-update-card {
  padding: 44px;
  max-width: 860px;
  margin: 0 auto;
  border-radius: 24px;
  background: var(--update-card);
  box-shadow: 0 24px 48px var(--update-shadow);
}

.staff-update-meta {
  margin: 0 0 22px;
  color: var(--update-meta);
  font-size: clamp(13px, 0.3vw + 11px, 15px);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.staff-update-photo {
  width: 100%;
  max-height: 360px;
  object-fit: cover;
  border-radius: 16px;
  margin-bottom: 26px;
  box-shadow: 0 16px 32px var(--update-shadow-strong);
}

.staff-update-body h2 {
  margin: 30px 0 14px;
  color: var(--update-heading);
  font-size: clamp(24px, 0.8vw + 19px, 32px);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.18;
}

.staff-update-body p {
  margin: 0 0 18px;
  color: var(--update-copy);
  font-size: clamp(16px, 0.3vw + 14px, 19px);
  line-height: 1.75;
}

.staff-update-body p:last-child {
  margin-bottom: 0;
}

.staff-update-body ul:not(.staff-update-sources):not(.staff-update-timeline) {
  margin: 0 0 18px;
  padding-left: 22px;
  display: grid;
  gap: 8px;
}

.staff-update-body ul:not(.staff-update-sources):not(.staff-update-timeline) li {
  color: var(--update-copy);
  font-size: clamp(16px, 0.3vw + 14px, 19px);
  line-height: 1.65;
}

.staff-update-sources {
  margin: 0;
  padding-left: 22px;
  display: grid;
  gap: 12px;
}

.staff-update-sources li {
  color: var(--update-copy);
  font-size: clamp(15px, 0.25vw + 13px, 17px);
  line-height: 1.6;
}

.staff-update-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.staff-update-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 22px;
  border-radius: 13px;
  background: #6b3fa0;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  box-shadow: none;
  text-decoration: none;
  transition:
    transform 180ms ease,
    opacity 180ms ease;
}

.staff-update-actions .btn:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

.staff-update-actions .btn.blue {
  background: transparent;
  border: 2px solid var(--update-accent);
  color: var(--update-accent);
}

.staff-update-actions .btn.blue:hover {
  background: var(--update-accent-wash);
  opacity: 1;
}

.staff-update-body .link-red {
  color: var(--update-link);
}

.staff-update-highlight {
  background: var(--update-inset);
  /* Sits outside .staff-update-body, so its text would otherwise inherit
     the fixed --ink color. */
  color: var(--update-inset-text);
  border-left: 6px solid #5a9a6f;
  border-radius: 16px;
  padding: 30px 32px;
  margin-bottom: 26px;
}

.fundraiser-progress-track {
  background: var(--update-track);
  border-radius: 999px;
  height: 16px;
  overflow: hidden;
  margin: 14px 0 18px;
}

.fundraiser-progress-fill {
  background: linear-gradient(90deg, #5a9a6f, #7ab648);
  height: 100%;
  border-radius: 999px;
}

.fundraiser-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 32px;
  margin: 4px 0 18px;
}

.fundraiser-stat-num {
  display: block;
  color: var(--update-accent);
  font-size: clamp(26px, 1vw + 20px, 36px);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.1;
}

.fundraiser-stat-label {
  display: block;
  color: var(--update-meta);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-top: 2px;
}

.staff-update-timeline {
  list-style: none;
  margin: 0 0 18px;
  padding: 0;
  display: grid;
  gap: 18px;
}

.staff-update-timeline li {
  border-left: 3px solid #ff5a3c;
  padding-left: 18px;
  color: var(--update-copy);
  font-size: clamp(15px, 0.3vw + 13px, 18px);
  line-height: 1.65;
}

.staff-update-timeline time {
  display: block;
  color: var(--update-meta);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 4px;
}

.help-links-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  margin: 16px 0 4px;
}

.help-link-card {
  display: block;
  background: var(--update-inset);
  border-radius: 14px;
  padding: 18px 20px;
  text-decoration: none;
  transition:
    background-color 160ms ease,
    transform 160ms ease;
}

.help-link-card:hover,
.help-link-card:focus-visible {
  background: var(--update-inset-hover);
  transform: translateY(-2px);
}

.help-link-card strong {
  display: block;
  color: var(--update-accent);
  font-size: 16px;
  font-weight: 800;
  margin-bottom: 4px;
}

.help-link-card span {
  display: block;
  color: var(--update-copy);
  font-size: 14px;
  line-height: 1.5;
}

.staff-update-faq dt {
  color: var(--update-accent);
  font-weight: 800;
  font-size: clamp(17px, 0.3vw + 15px, 20px);
  margin-top: 18px;
}

.staff-update-faq dd {
  margin: 6px 0 0;
  color: var(--update-copy);
  font-size: clamp(15px, 0.3vw + 13px, 18px);
  line-height: 1.65;
}

@media (max-width: 860px) {
  .staff-update-card {
    padding: 30px 24px;
  }

  .staff-update-photo {
    max-height: 260px;
  }

  .staff-update-highlight {
    padding: 22px 22px;
  }

  .staff-update-actions {
    flex-direction: column;
  }
}
