/* Titelband und Motivleiste aus Richtung 3, ohne Entwurfsbedienung. */
.titelband { position: relative; isolation: isolate; overflow: hidden; min-height: clamp(19rem,44svh,30rem); display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 1.5rem; padding: 2rem max(var(--rand),calc((100% - var(--inhalt-max))/2)) var(--rand); background: var(--ink); color: rgba(255, 255, 255, 1); --fg: rgba(255, 255, 255, 1); --v0: rgba(10,11,13,.78); --v1: rgba(10,11,13,0); }
/* Unterseiten: Bild beginnt an der Unterkante der fixierten Navigation. */
.seite-innen .titelband { margin-top: var(--kopf-h); }
.titelband[data-ton="hell"] { color: rgba(14, 15, 14, 1); --fg: rgba(14, 15, 14, 1); --v0: rgba(244,241,233,.9); --v1: rgba(244,241,233,0); }
.titelband .bg { position: absolute; z-index: -2; }
.titelband .schleier { position: absolute; z-index: -1; }
.titelband[data-titelbewegung] .bg__medium {
  animation-iteration-count: infinite;
  animation-direction: alternate;
  /* An beiden Wendepunkten abbremsen statt die Geschwindigkeit abrupt umzukehren. */
  animation-timing-function: ease-in-out;
  will-change: transform;
}
.titelband[data-bewegung-pausiert] .bg__medium { animation-play-state: paused; will-change: auto; }
.werkzeug--band { position: relative; z-index: 2; justify-self: end; max-width: min(40vw, 38rem); min-width: 0; }
.werkzeug--band .werkzeug__text { flex: 1; }
.werkzeug--band .werkzeug__knopf { min-height: 44px; font: inherit; font-size: .8rem; }
.werkzeug--band [aria-busy="true"] { opacity: .65; }
@media (max-width: 68.75rem) {
  .titelband { grid-template-columns: minmax(0, 1fr); }
  .werkzeug--band { max-width: 100%; }
}
.titelband__inhalt { position: relative; display: grid; gap: .9rem; max-width: 80rem; min-width: 0; }
.titelband h1 { font-size: clamp(2.3rem,min(6.6vw,11svh),7.4rem); line-height: .95; }
.titelband__lead { max-width: 46rem; font-stretch: 85%; font-weight: 700; font-size: clamp(1rem,1.35vw,1.3rem); line-height: 1.35; }
.brotkrumen { width: fit-content; max-width: 100%; padding: .4rem .8rem; background: var(--ink); color: rgba(255, 255, 255, 1); font-stretch: 80%; font-size: .85rem; font-weight: 600; text-transform: uppercase; }
.brotkrumen ol { display: flex; flex-wrap: wrap; gap: .5rem; }
.brotkrumen a { text-decoration: none; }
.brotkrumen a:hover { text-decoration: underline; }
.brotkrumen li + li::before { content: "›"; margin-right: .5rem; color: var(--lime); }
.galerie-einleitung { max-width: var(--inhalt-max); display: grid; gap: 1rem var(--s4); margin-bottom: var(--s4); }
@media (min-width: 64rem) { .galerie-einleitung { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.filter__knopf { display: inline-flex; gap: .35em; align-items: center; justify-content: center; text-decoration: none; text-align: center; }
.filter__knopf[aria-current="true"] { background: var(--ink); color: var(--lime); }
.filter__anzahl { font-size: .85em; font-variant-numeric: tabular-nums; }
.galerie-leer { padding: var(--s3) 0; }
.galerie-leer a { display: inline-block; margin-top: .5rem; text-underline-offset: .2em; }
.menue__link[aria-current] { box-shadow: inset 0 -4px 0 var(--lime); }
.menue__sub-link[aria-current="page"] { text-decoration: underline; text-underline-offset: .2em; }
/* Sichtbare Reihenfolge statt ursprünglichem DOM-Index: auch gefiltert ein geschlossenes Raster. */
.galerie--vollstaendig .galerie__item:nth-child(n) { grid-column: span 2; grid-row: auto; }
.galerie--vollstaendig { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.galerie--vollstaendig .galerie__item[data-raster="gross"] { grid-column: span 4; grid-row: span 2; }
.galerie--vollstaendig .galerie__item[data-raster="hoch"] { grid-row: span 2; }
.galerie--vollstaendig .galerie__item[data-raster="breit"] { grid-column: span 4; }
.galerie--vollstaendig .galerie__item[data-raster="halb"] { grid-column: span 3; }
.galerie--vollstaendig .galerie__text { flex-wrap: wrap; row-gap: .25rem; }
.galerie--vollstaendig .galerie__titel { min-width: 0; overflow-wrap: anywhere; }
.galerie--vollstaendig .galerie__meta { white-space: normal; }
@media (max-width: 68.75rem) {
  .galerie--vollstaendig { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .galerie--vollstaendig .galerie__item:nth-child(n) { grid-column: span 2; grid-row: auto; }
  .galerie--vollstaendig .galerie__item[data-raster="gross"],
  .galerie--vollstaendig .galerie__item[data-raster="hoch"],
  .galerie--vollstaendig .galerie__item[data-raster="halb"] { grid-column: 1 / -1; }
}
@media (max-width: 40rem) {
  .galerie--vollstaendig { grid-template-columns: minmax(0, 1fr); }
  .titelband { padding-top: 1.2rem; }
  .titelband h1 { font-size: 2.4rem; }
  .werkzeug--band { width: 100%; justify-self: stretch; display: flex; flex-wrap: wrap; }
  .werkzeug--band .werkzeug__text { flex-basis: 100%; }
  .werkzeug--band .werkzeug__knopf { flex: 1; }
  .werkzeug--band .werkzeug__knopf:first-of-type { border-left: 0; }
  .galerie--vollstaendig .galerie__item:nth-child(n) { grid-column: 1 / -1; grid-row: auto; }
  .filter { width: 100%; }
  .filter__knopf { flex: 1 1 45%; padding-inline: .6rem; min-width: 0; }
  .filter__knopf[data-filter="luft"] { flex-basis: 100%; }
}

/* Explizite Positionen aus galerie-raster.js; das feste Muster dient als Fallback. */
.galerie--vollstaendig.hat-zufallsraster { grid-auto-flow: row; }
.galerie--vollstaendig.hat-zufallsraster .galerie__item:nth-child(n) {
  grid-column: var(--raster-spalte);
  grid-row: var(--raster-zeile);
}
@media (max-width: 68.75rem) {
  .galerie--vollstaendig.hat-zufallsraster .galerie__item:nth-child(n) {
    grid-column: var(--raster-tablet-spalte);
    grid-row: var(--raster-tablet-zeile);
  }
}
@media (max-width: 40rem) {
  .galerie--vollstaendig.hat-zufallsraster .galerie__item:nth-child(n) {
    grid-column: 1 / -1;
    grid-row: auto;
  }
}

@media (max-width: 24rem) {
  .galerie-abschnitt .abschnitt__kopf h2 { font-size: 10vw; }
}

/* Begrenzter Firefox-Vergleich: konstante Mini-Drehung nur im bewegten Titelband.
   Beide Endpunkte behalten denselben Winkel; die Startseiten-Keyframes bleiben unverändert. */
@media (prefers-reduced-motion: no-preference) {
  .titelband[data-titelbewegung] .bg__medium--zrein { animation-name: band-zrein-rotationstest; }
  .titelband[data-titelbewegung] .bg__medium--zraus { animation-name: band-zraus-rotationstest; }
  .titelband[data-titelbewegung] .bg__medium--pl { animation-name: band-pl-rotationstest; }
  .titelband[data-titelbewegung] .bg__medium--pr { animation-name: band-pr-rotationstest; }
  .titelband[data-titelbewegung] .bg__medium--po { animation-name: band-po-rotationstest; }
  .titelband[data-titelbewegung] .bg__medium--pu { animation-name: band-pu-rotationstest; }
}
@keyframes band-zrein-rotationstest {
  from { transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotate(0.01deg); }
  to { transform: translate3d(0, 0, 0) scale3d(1.09, 1.09, 1) rotate(0.01deg); }
}
@keyframes band-zraus-rotationstest {
  from { transform: translate3d(0, 0, 0) scale3d(1.09, 1.09, 1) rotate(0.01deg); }
  to { transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotate(0.01deg); }
}
@keyframes band-pl-rotationstest {
  from { transform: scale3d(1.1, 1.1, 1) translate3d(2.8%, 0, 0) rotate(0.01deg); }
  to { transform: scale3d(1.1, 1.1, 1) translate3d(-2.8%, 0, 0) rotate(0.01deg); }
}
@keyframes band-pr-rotationstest {
  from { transform: scale3d(1.1, 1.1, 1) translate3d(-2.8%, 0, 0) rotate(0.01deg); }
  to { transform: scale3d(1.1, 1.1, 1) translate3d(2.8%, 0, 0) rotate(0.01deg); }
}
@keyframes band-po-rotationstest {
  from { transform: scale3d(1.1, 1.1, 1) translate3d(0, 2.8%, 0) rotate(0.01deg); }
  to { transform: scale3d(1.1, 1.1, 1) translate3d(0, -2.8%, 0) rotate(0.01deg); }
}
@keyframes band-pu-rotationstest {
  from { transform: scale3d(1.1, 1.1, 1) translate3d(0, -2.8%, 0) rotate(0.01deg); }
  to { transform: scale3d(1.1, 1.1, 1) translate3d(0, 2.8%, 0) rotate(0.01deg); }
}
