/* Bildschirmhohe Abschnitte auf den öffentlichen Unterseiten. */
.subpage-scroll {
  --subpage-header-height: 76px;
  scroll-padding-top: var(--subpage-header-height);
}

.subpage-scroll main > section,
.subpage-scroll .guide-intro,
.subpage-scroll .guide-section,
.subpage-scroll .guide-callout {
  min-height: calc(100svh - var(--subpage-header-height));
  scroll-snap-align: start;
}

.subpage-scroll main > section:not(.story-timeline):not(.story-intro):not(.story-quote):not(.story-cta):not(.updates):not(.legal-main) {
  display: flex;
  align-items: center;
}

.story-page main > section:not(.story-hero) {
  min-height: 0;
  scroll-snap-align: none;
}

.guide-scroll .guide-article { padding: 0; }
.guide-scroll .guide-intro { display: flex; align-items: center; padding-block: 48px; }
.guide-scroll .guide-lead { max-width: 940px; margin: 0 auto; font-size: clamp(24px, 3vw, 40px); line-height: 1.48; }
.guide-scroll .guide-section { align-items: center; }
.guide-scroll .guide-callout { margin: 0; }

.updates-page .updates { scroll-snap-align: none; }
.legal-page .legal-main { display: flex; align-items: center; }

@media (min-width: 901px) and (min-height: 700px) {
  .subpage-scroll { scroll-snap-type: y proximity; }
  .subpage-scroll.story-page { scroll-snap-type: none; }
  .subpage-scroll main > section:not(.story-timeline):not(.story-intro):not(.story-quote):not(.story-cta):not(.updates):not(.legal-main) {
    padding-block: clamp(36px, 5vh, 64px);
  }
  .subpage-scroll main > section:not(.story-timeline):not(.story-intro):not(.story-quote):not(.story-cta):not(.updates):not(.legal-main) > .wrap {
    width: min(1180px, calc(100% - 40px));
  }
  .story-page .story-hero__inner,
  .wachgebiet-scroll .wachgebiet-hero__grid,
  .guide-scroll .guide-hero__inner,
  .updates-page .hero > .wrap { min-height: 0; padding-block: 24px; }
  .wachgebiet-scroll .wachgebiet-section,
  .wachgebiet-scroll .wachgebiet-contact { padding-block: clamp(36px, 5vh, 64px); }
  .wachgebiet-scroll .wachgebiet-feature-grid,
  .wachgebiet-scroll .wachgebiet-placeholder-grid,
  .wachgebiet-scroll .region-grid { margin-top: 34px; }
  .guide-scroll .guide-section { padding-block: 48px; }
}

@media (max-width: 900px) {
  .subpage-scroll { --subpage-header-height: 68px; }
}

@media (max-width: 600px) {
  .story-page .story-timeline .timeline::before { left: 19px; }
  .story-page .story-timeline .timeline-entry { grid-template-columns: 40px minmax(0, 1fr); gap: 10px; }
  .story-page .story-timeline .timeline-marker { width: 40px; height: 40px; }
  .story-page .story-timeline .timeline-card { padding: 24px 18px; }
  .story-page .story-timeline .timeline-card h3 { font-size: clamp(23px, 6.4vw, 28px); overflow-wrap: normal; }
  .guide-scroll .guide-intro { padding-block: 48px; }
  .guide-scroll .guide-lead { font-size: clamp(23px, 6vw, 30px); line-height: 1.5; }
}

@media (prefers-reduced-motion: reduce) {
  .subpage-scroll { scroll-snap-type: none; }
}
