/* Native gradients from the owner's reference. No scaled bitmap or tiles.
   Generated as a content-hashed asset and loaded after all legacy styles. */
:root {
  --plum-surface: #4f285f;
  --plum-muted: #e4d7e7;
  --plum-gradient:
    radial-gradient(ellipse 90% 135% at -10% -25%,
      rgba(101, 64, 96, .98) 0%, rgba(101, 64, 96, .58) 38%, rgba(101, 64, 96, 0) 74%),
    radial-gradient(ellipse 85% 120% at 105% -20%,
      rgba(97, 47, 100, .96) 0%, rgba(97, 47, 100, .54) 40%, rgba(97, 47, 100, 0) 82%),
    linear-gradient(95deg, #2b1448 0%, #3b1c51 25%, #4f285b 50%, #653360 75%, #7a4063 100%);
}

/* The home header's old :not(.is-fixed) selector is more specific than a
   plain .site-header. Match both states explicitly, including at mobile sizes. */
.site-header,
.home-page .site-header:not(.is-fixed),
.site-header.is-fixed,
.detail-page .site-header,
.mobile-nav,
.author-hero,
.mission-manifesto,
.approach-section,
.reviews-section,
.video-section,
.video-dialog,
.site-footer {
  background-color: var(--plum-surface);
  background-image: var(--plum-gradient);
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.home-page .site-header:not(.is-fixed),
.home-page .site-header.is-fixed {
  background-size: 100% max(720px, 100svh);
  background-position: center top;
}
.author-hero::after { background: none; }
.author-context,
.author-footnote .author-signature,
.site-footer .footer-identity > p:not(.footer-author-name),
.site-footer .footer-bottom,
.site-footer .copyright {
  color: var(--plum-muted);
  opacity: 1;
}
:is(.approach-section, .reviews-section, .video-section) .section-number {
  color: var(--plum-muted);
  opacity: 1;
}
.review-card:hover { background-color: rgba(255, 255, 255, .035); }
.review-original { color: #c6e7f5; }
.site-header .desktop-nav a:hover,
.home-page .site-header:not(.is-fixed) .desktop-nav a:hover {
  background-color: rgba(255, 255, 255, .035);
}
:is(.site-header, .mobile-nav, .author-hero, .mission-manifesto,
    .approach-section, .reviews-section, .video-section, .video-dialog, .site-footer) :focus-visible {
  outline-color: #c1f0e4;
}
@media (forced-colors: active) {
  .site-header, .home-page .site-header:not(.is-fixed), .site-header.is-fixed,
  .detail-page .site-header, .mobile-nav, .author-hero, .mission-manifesto,
  .approach-section, .reviews-section, .video-section, .video-dialog, .site-footer {
    background-image: none;
    background-color: Canvas;
    color: CanvasText;
  }
}
