
/* photos-2026: text-over-image contrast (WCAG AA, light and dark) */
.hero img, .hero picture, .masthead img, .masthead picture,
[data-hero] img, [data-hero] picture, .page-hero img, .page-hero picture,
.cover img, .cover picture, .hero-media img, .hero-media picture {
  display: block; max-width: 100%; height: auto;
}
.hero, .masthead, [data-hero], .page-hero, .cover, .hero-media, .hero-panel, .intro-hero {
  position: relative;
}
.hero::after, .masthead::after, [data-hero]::after, .page-hero::after,
.cover::after, .hero-media::after, .intro-hero::after {
  content: "";
  position: absolute; inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--pal-background, #0e1014) 15%, transparent) 0%,
      transparent 36%,
      color-mix(in srgb, var(--pal-background, #0e1014) 78%, transparent) 100%);
}
html[data-theme="light"] .hero::after, html[data-theme="light"] .masthead::after,
html[data-theme="light"] [data-hero]::after, html[data-theme="light"] .page-hero::after,
html[data-theme="light"] .cover::after, html[data-theme="light"] .hero-media::after,
html[data-theme="light"] .intro-hero::after {
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--pal-background, #f6f4ef) 20%, transparent) 0%,
      transparent 36%,
      color-mix(in srgb, var(--pal-background, #f6f4ef) 82%, transparent) 100%);
}
