.page-hero { position: relative; overflow: hidden; }

.page-hero--full {
  background: var(--color-teal);
  color: var(--color-cream);
  padding: var(--space-xl) var(--container-pad);
}
.page-hero__backdrop {
  position: absolute;
  top: -20%;
  right: 8%;
  width: 18rem;
  height: 18rem;
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--color-terracotta) 22%, transparent) 0%, transparent 70%);
  animation: fze-drift 14s ease-in-out infinite;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) { .page-hero__backdrop { animation: none; } }

.page-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-lg);
  max-width: var(--container-max);
  margin: 0 auto;
  align-items: center;
}
.page-hero--has-photo .page-hero__inner { grid-template-columns: 1.15fr 1fr; }

.page-hero__content { max-width: 40rem; }
.page-hero--has-photo .page-hero__content { max-width: none; }

.page-hero__eyebrow {
  font-size: var(--text-sm);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: color-mix(in srgb, var(--color-cream) 75%, transparent);
  margin: 0 0 var(--space-xs);
}
.page-hero h1 { font-size: var(--text-3xl); margin: 0 0 var(--space-sm); }
.page-hero__lede { font-size: var(--text-lg); color: color-mix(in srgb, var(--color-cream) 92%, transparent); margin: 0; }

.page-hero__media {
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-organic);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
}
.page-hero__media img { width: 100%; height: 100%; object-fit: cover; display: block; }

@media (max-width: 900px) {
  .page-hero--has-photo .page-hero__inner { grid-template-columns: 1fr; }
}

/* ---------- Compact weight (Impressum/Datenschutz — utility pages) ---------- */
.page-hero--compact {
  background: var(--color-cream-card);
  padding: var(--space-md) var(--container-pad);
  border-bottom: 1px solid var(--color-border);
}
.page-hero--compact .page-hero__breadcrumb {
  font-size: var(--text-xs);
  color: var(--color-stone);
  margin: 0 0 var(--space-2xs);
}
.page-hero--compact .page-hero__breadcrumb a { color: var(--color-teal); text-decoration: underline; }
.page-hero--compact h1 { font-size: var(--text-2xl); margin: 0; color: var(--color-ink); }

/* ---------- Word-reveal (shared by page-hero and single-post headings) ---------- */
.word-reveal { display: inline; }
.word-reveal__word {
  display: inline-block;
  animation: fze-hero-fade-up 0.6s var(--ease-out-soft) both;
}
.word-reveal__word:nth-child(1) { animation-delay: 0ms; }
.word-reveal__word:nth-child(2) { animation-delay: 40ms; }
.word-reveal__word:nth-child(3) { animation-delay: 80ms; }
.word-reveal__word:nth-child(4) { animation-delay: 120ms; }
.word-reveal__word:nth-child(5) { animation-delay: 160ms; }
.word-reveal__word:nth-child(6) { animation-delay: 200ms; }
.word-reveal__word:nth-child(7) { animation-delay: 240ms; }
.word-reveal__word:nth-child(8) { animation-delay: 280ms; }
.word-reveal__word:nth-child(9) { animation-delay: 320ms; }
.word-reveal__word:nth-child(10) { animation-delay: 360ms; }
.word-reveal__word:nth-child(n+11) { animation-delay: 400ms; }

@media (prefers-reduced-motion: reduce) {
  .word-reveal__word { animation: none; }
}
