
/* 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%);
}


/* photos-2026 stock heroes: typographic plate stays; photo sits in its own band */
.hero-photo-band { margin: 0 auto; padding: 0 var(--space-lg, 1.25rem) var(--space-xl, 2rem); max-width: 72rem; }
.hero-photo-stock, .hero-photo-band .hero-photo { margin: 0; max-width: 100%; }
.hero-photo-stock img, .hero-photo-stock picture,
.hero-photo-band img, .hero-photo-band picture {
  display: block; width: 100%; height: auto; border-radius: 6px;
}
.stock-credit { font-size: 0.82rem; color: var(--pal-muted, #5c5144); margin: 0.45rem 0 0; }
.hero-loop .hero-still { display: block; width: 100%; height: auto; object-fit: cover; }
