/* Originalschrift für die feste Intro-Zeile, ohne nachträglichen Schriftwechsel. */
@font-face {
  font-family: "Geist Intro";
  src: url("data:font/woff2;base64,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") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: block;
}
html { scrollbar-gutter: stable; }
.intro {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  overflow: hidden;
  color: #fff;
  background: transparent;
  opacity: 1;
  transition: opacity 1.2s cubic-bezier(.4, 0, .2, 1);
}
.intro:not([open]) { display: none; }
.intro::backdrop { background: transparent; }
.intro--ende { opacity: 0; pointer-events: none; }
html.intro-aktiv { overflow: hidden; }
/* Das echte Hero-Bild bleibt sichtbar. Nur seine Bedienelemente warten. */
.intro-vorbereiten .kopfleiste,
.intro-aktiv .kopfleiste { transform: none; }
.intro-aktiv .kopfleiste > *,
.intro-aktiv .klapper,
.intro-aktiv .deck > .spur,
.intro-aktiv .deck__band > * { transition: opacity 1.2s cubic-bezier(.4, 0, .2, 1); }
.intro-vorbereiten .kopfleiste > *,
.intro-vorbereiten .klapper,
.intro-vorbereiten .deck > .spur,
.intro-vorbereiten .deck__band > *,
.intro-aktiv:not(.intro-uebergang) .kopfleiste > *,
.intro-aktiv:not(.intro-uebergang) .klapper,
.intro-aktiv:not(.intro-uebergang) .deck > .spur,
.intro-aktiv:not(.intro-uebergang) .deck__band > * { opacity: 0; }
.intro__auftritt {
  position: absolute;
  top: var(--intro-mitte, 45%);
  left: 50%;
  transform: translate(-50%, -50%);
  display: grid;
  justify-items: center;
  gap: 22px;
  width: clamp(260px, 34vw, 640px);
}
.intro__logo { display: block; width: 100%; height: auto; overflow: hidden; }
.intro__teil { transform: translateY(125px); }
.intro--laeuft .intro__teil { animation: intro-zeichen .95s var(--einsatz) cubic-bezier(.16, 1, .3, 1) both; }
.intro__linie { width: 32%; height: 1px; background: rgba(255, 255, 255, .45); transform: scaleX(0); }
.intro--laeuft .intro__linie { animation: intro-linie .85s 1.6s cubic-bezier(.16, 1, .3, 1) both; }
.intro__satz { margin: 0; color: #fff; font-family: "Geist Intro", Geist, sans-serif; font-size: clamp(16px, 1.52vw, 24px); line-height: 1.4; font-weight: 400; white-space: nowrap; opacity: 0; }
.intro--laeuft .intro__satz { animation: intro-satz .9s 1.84s cubic-bezier(.16, 1, .3, 1) both; }
@keyframes intro-zeichen { from { transform: translateY(125px); } to { transform: translateY(0); } }
@keyframes intro-linie { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes intro-satz { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 700px) {
  .intro__auftritt { width: min(82vw, 380px); gap: 20px; }
  .intro__satz { font-size: clamp(13px, 4.1vw, 18px); }
}
@media (prefers-reduced-motion: reduce) {
  .intro { transition: none; }
  .intro__teil, .intro__linie, .intro__satz { animation: none !important; transform: none; opacity: 1; }
}
@media print { .intro { display: none !important; } }

/* Das eingebettete Startbild steht vor der ersten externen Bildantwort bereit. */
.deck--bild::before { content: none; }
.deck__grund picture::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--startbild);
  background-size: cover;
  background-position: 50% 62%;
  transform: scale(1.06);
}
.js .deck__grund img { opacity: 0; transition: opacity .3s ease; }
.js .deck--bild.bild-da .deck__grund img { opacity: 1; }
@media (max-width: 640px) {
  .deck__grund picture::before { background-position: 50% 58%; }
}
@media (prefers-reduced-motion: reduce) {
  .deck__grund img { transition: none; }
}
