@font-face {
  font-family: "Atelier";
  src: url("/assets/fonts/atelier.woff2") format("woff2"),
       url("/assets/fonts/atelier.woff")  format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("/assets/fonts/manrope-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
                 U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F,
                 U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF,
                 U+FFFD;
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("/assets/fonts/manrope-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
                 U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF,
                 U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
                 U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Space Grotesk";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("/assets/fonts/space-grotesk-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
                 U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F,
                 U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Space Grotesk";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("/assets/fonts/space-grotesk-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
                 U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF,
                 U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
                 U+2113, U+2C60-2C7F, U+A720-A7FF;
}
:root {
  --ak:        #7a6320;   
  --ak-hell:   #c9a15a;   
  --ak-sanft:  #f3efe7;
  --gold-verlauf: linear-gradient(100deg,
    #946229  0%,
    #8f5725 11%,
    #ac7a3a 19%,
    #cfa452 27%,
    #f0d682 35%,
    #fde892 40%,
    #e2be64 53%,
    #fde892 64%,
    #d0a64c 74%,
    #bc913c 83%,
    #e5bf5a 93%,
    #c59b42 100%);
  --nacht:     #101114;
  --nacht-2:   #1a1c20;
  --tag:       #ffffff;
  --nebel:     #f5f4f1;
  --grau:      #686c73;
  --linie:     #dfdcd6;
  --glas-schliff:      blur(18px) saturate(180%);
  --glas-hell:         rgb(255 255 255 / .10);
  --glas-hell-kante:   rgb(255 255 255 / .22);
  --glas-hell-wach:    rgb(255 255 255 / .18);
  --glas-dunkel:       rgb(16 17 20 / .06);
  --glas-dunkel-kante: rgb(16 17 20 / .16);
  --glas-dunkel-wach:  rgb(16 17 20 / .12);
  --glas-tafel-kante:  rgb(255 255 255 / .14);
  --glas-ecke:         1.15rem;
  --breite: 100rem;
  --menue-grund: #14161a;
  --menue-grau:  #a8aab0;   
  --takt: clamp(1.25rem, 4vw, 3.5rem);
}
[data-ort="gold"]    { --ak: #7a6320; --ak-sanft: #f4efe5; --ak-hell: #c9a15a; } 
[data-ort="blau"]    { --ak: #2f73ad; --ak-sanft: #edf4fa; --ak-hell: #7ab0e0; } 
[data-ort="weinrot"] { --ak: #9e2f3e; --ak-sanft: #f8eeea; --ak-hell: #e28d75; }
[data-ort="gold"]    { --schimmer-hell: 255 248 214; --schimmer-tief: 197 155  66; }
[data-ort="blau"]    { --schimmer-hell: 226 242 255; --schimmer-tief:  90 150 205; }
[data-ort="weinrot"] { --schimmer-hell: 255 237 228; --schimmer-tief: 196 106  82; }
.neu {
  --schrift-text: "Manrope", -apple-system, BlinkMacSystemFont, "SF Pro Text",
                  "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --schrift-titel: "Atelier", "Space Grotesk", "Neue Haas Grotesk",
                   "Helvetica Neue", system-ui, -apple-system, sans-serif;
  --schrift-serif: "Iowan Old Style", "Palatino Linotype",
                   Palatino, "Book Antiqua", Georgia, serif;
  --schrift: var(--schrift-text);
  font-family: var(--schrift);
  color: var(--nacht);
  background: var(--tag);
}
.neu ::selection { background: var(--ak); color: #fff; }
.nur-screenreader {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; }
img { max-width: 100%; }
:root { --fokus: var(--ak); }
:focus-visible { outline: 3px solid var(--fokus); outline-offset: 3px; }
.mega__tafel,
.schublade__tafel,
.seitenkopf--bild,
.held,
.band--nacht,
.nachtband,
.textblock--dunkel,
.lightbox,
.werkzeug-dialog[open] { --fokus: var(--ak-hell); }
.leiste :focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 5px rgb(20 22 26 / .85);
}
.fuss { --fokus: var(--ak); }
.neu__band { padding-inline: var(--takt); }
.neu__innen { max-width: var(--breite); margin-inline: auto; }
.neu__marke {
  display: inline-flex; align-items: center; gap: .6rem;
  font-size: .72rem; font-weight: 500;
  letter-spacing: .16em; text-transform: uppercase;
  color: var(--grau);
}
.neu__marke::before {
  content: ""; width: 1.6rem; height: 1px; background: var(--ak);
}
.neu h1, .neu h2, .neu h3 {
  font-weight: 400;
  line-height: .95;
  letter-spacing: -.03em;
  text-wrap: balance;
  margin: 0;
}
.leicht {
  font-weight: 300;
  letter-spacing: .01em;
  opacity: .78;
}
.kraeftig {
  font-weight: 650;
  letter-spacing: .015em;
}
body:not(.neu--start) :is(h1, h2) .kraeftig {
  display: block;
  font-weight: 400;
  font-size: 62%;
  line-height: 1.25;
  font-family: var(--schrift-serif); font-style: italic; letter-spacing: 0;
  margin-top: 0;
  color: var(--titel-leise, var(--nacht));
  text-shadow: none;
  opacity: 1;
}
.held--neon,
.seitenkopf--bild,
.seitenkopf--karbon,
.band--nacht,
.nachtband,
.buehne__text,
.fb,
.mediathek,
.textblock--dunkel { --titel-leise: #fff; }
.band .leicht,
.seite .leicht,
.seitenkopf:not(.seitenkopf--bild) .leicht {
  opacity: 1;
  color: var(--ak);
}
.held .leicht,
.seitenkopf--bild .leicht,
.band--nacht .leicht,
.nachtband .leicht,
.buehne__text .leicht,
.reihe__kopf .leicht {
  opacity: 1;
  color: var(--ak-hell);
}
.neu em { font-style: normal; color: var(--ak); font-weight: 500; }
.neu h1 { font-size: clamp(2.6rem, 8.5vw, 7rem); }
.neu h1 > span { display: block; }
.neu h2 { font-size: clamp(2rem, 5.5vw, 4.25rem); }
.neu h2 > span { display: block; }
.neu h3 { font-size: clamp(1.15rem, 2vw, 1.6rem); line-height: 1.1; }
.neu p { margin: 0; line-height: 1.55; }
.neu__lead { font-size: clamp(1.05rem, 1.5vw, 1.3rem); color: var(--grau); max-width: 46ch; }
.neu {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
}
.held {
  position: relative;
  display: grid;
  min-height: 100svh;
  background: var(--nacht);
  overflow: hidden;
  isolation: isolate;
}
@supports (animation-timeline: scroll()) {
  @media (prefers-reduced-motion: no-preference) {
    .neu--start .held__inhalt,
    .neu--start .kennzahl {
      animation: held-verwischen linear both;
      animation-timeline: scroll(root);
      animation-range: 0 70svh;
      will-change: filter, opacity, transform;
    }
    @keyframes held-verwischen {
      0%   { filter: blur(0);    opacity: 1;   transform: none; }
      55%  { filter: blur(2px);  opacity: .82; transform: translateY(-.75rem); }
      100% { filter: blur(14px); opacity: .15; transform: translateY(-2.5rem); }
    }
  }
}
.held__bilder { position: absolute; inset: 0; z-index: -2; overflow: clip; }
.held__bild {
  position: absolute; top: 0; bottom: 0; right: 0; z-index: -2;
  display: block; width: min(62%, 90rem); height: 100%;
  object-fit: cover;
  object-position: 50% 18%;
  -webkit-mask-image: linear-gradient(to right,
    transparent 0%, rgb(0 0 0 / .25) 14%, rgb(0 0 0 / .75) 30%, #000 46%);
  mask-image: linear-gradient(to right,
    transparent 0%, rgb(0 0 0 / .25) 14%, rgb(0 0 0 / .75) 30%, #000 46%);
}
.held__bilder .held__bild + .held__bild { opacity: 0; }
@media (prefers-reduced-motion: no-preference) {
  .held__bilder .held__bild {
    --dauer: 6s;
    opacity: 0;
    animation: held-wechsel calc(var(--dauer) * var(--anzahl, 1)) infinite;
    animation-delay: calc(var(--dauer) * var(--platz, 0));
    will-change: opacity, transform, filter;
  }
  .held__bilder .held__bild:only-child { animation: none; opacity: 1; }
  @keyframes held-wechsel {
    0%   { opacity: 0; transform: scale(1.06); filter: blur(14px); }
    3%   { opacity: 1; transform: scale(1.04); filter: blur(0); }
    22%  { opacity: 1; transform: scale(1);    filter: blur(0); }
    26%  { opacity: 0; transform: scale(.99);  filter: blur(14px); }
    100% { opacity: 0; transform: scale(1.06); filter: blur(14px); }
  }
}
.held::after {
  content: ""; position: absolute; inset-inline: 0; top: 0; z-index: -1;
  height: clamp(7rem, 16svh, 11rem);
  pointer-events: none;
  background: linear-gradient(to bottom,
    rgb(16 17 20 / .78) 0%,
    rgb(16 17 20 / .54) 38%,
    rgb(16 17 20 / .22) 68%,
    rgb(16 17 20 / 0) 100%);
}
.held__glas {
  position: absolute;
  inset: -2.5rem 0 0; z-index: -1;
  pointer-events: none;
  --tint: 14 16 20;
  --deckung: .92;
  --voll: 34%;   
  background: linear-gradient(to top right,
    rgb(var(--tint) / var(--deckung)) 0%,
    rgb(var(--tint) / var(--deckung)) var(--voll),
    rgb(var(--tint) / calc(var(--deckung) * .8)) calc(var(--voll) + (100% - var(--voll)) * .22),
    rgb(var(--tint) / calc(var(--deckung) * .46)) calc(var(--voll) + (100% - var(--voll)) * .48),
    rgb(var(--tint) / calc(var(--deckung) * .16)) calc(var(--voll) + (100% - var(--voll)) * .74),
    rgb(var(--tint) / 0) 100%);
  -webkit-backdrop-filter: blur(14px) saturate(125%);
  backdrop-filter: blur(14px) saturate(125%);
  -webkit-mask-image: linear-gradient(to top right,
    #000 0%, #000 var(--voll),
    rgb(0 0 0 / .85) calc(var(--voll) + (100% - var(--voll)) * .24),
    rgb(0 0 0 / .5)  calc(var(--voll) + (100% - var(--voll)) * .5),
    rgb(0 0 0 / .18) calc(var(--voll) + (100% - var(--voll)) * .76),
    transparent 100%);
  mask-image: linear-gradient(to top right,
    #000 0%, #000 var(--voll),
    rgb(0 0 0 / .85) calc(var(--voll) + (100% - var(--voll)) * .24),
    rgb(0 0 0 / .5)  calc(var(--voll) + (100% - var(--voll)) * .5),
    rgb(0 0 0 / .18) calc(var(--voll) + (100% - var(--voll)) * .76),
    transparent 100%);
}
.held__fuss-verlauf { display: none; }
@media (prefers-reduced-transparency: reduce) {
  .held__glas {
    --deckung: .96;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}
.held__marke { color: rgb(255 255 255 / .72); }
.held__marke::before { background: #fff; }
.held__lead  { color: rgb(255 255 255 / .82); max-width: 42ch; }
.held h1     { color: #fff; max-width: 16ch; }
.held__fuss  { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
.fuss__marke, .fuss__spalte { min-width: 0; }
.fuss__zeichen { text-align: right; }
.zeiten__abweichungen { list-style: none; margin: .5rem 0 0; padding: 0; display: grid; gap: .35rem; }
.zeiten__abweichungen li {
  display: flex; flex-wrap: wrap; gap: .2rem .6rem; align-items: baseline;
  font-size: .95rem;
}
.zeiten__abweichungen time { font-variant-numeric: tabular-nums; min-width: 8.5rem; }
.zeiten__grund { color: var(--grau); font-size: .88rem; }
.held__inhalt::before { content: none; }
@media (min-width: 64rem) {
  .held__inhalt::before {
    content: ""; position: absolute;
    left: calc(var(--takt) - 30px - 3px);
    top: 15%; bottom: 15%;
    width: 3px; background: var(--ak);
  }
}
.held__inhalt {
  position: relative; z-index: 1;
  align-self: end;
  width: 100%; max-width: var(--breite);
  margin-inline: auto;
  padding: var(--takt);
  padding-block-end: clamp(2.5rem, 6vw, 4.5rem);
  color: #fff;
  display: grid; gap: clamp(1rem, 2.2vw, 1.75rem);
  justify-items: start;
}
.held__inhalt > * { max-width: 46rem; }
.kennzahl {
  position: absolute; z-index: 2;
  right: max(var(--takt), (100% - var(--breite)) / 2 + var(--takt));
  bottom: var(--takt);
  background: rgb(255 255 255 / .95);
  border-radius: var(--radius);
  padding: 1rem 1.25rem;
  min-width: 9rem;
  backdrop-filter: blur(6px);
}
.kennzahl__zahl {
  display: block; font-size: 2rem; font-weight: 600; line-height: 1;
  letter-spacing: -.03em; color: var(--ak);
}
.kennzahl__was  { display: block; font-size: .85rem; font-weight: 500; margin-top: .15rem; }
.kennzahl__dazu { display: block; font-size: .72rem; color: var(--grau); margin-top: .4rem; line-height: 1.3; }
.taste {
  display: inline-flex; align-items: center; gap: .75rem;
  padding: .7rem .75rem .7rem 1.4rem;
  border-radius: 999px;
  border: 1px solid var(--nacht);
  font: inherit; font-size: .95rem; font-weight: 500;
  text-decoration: none; cursor: pointer;
  background: var(--nacht);
  color: #fff;
  transition: background 180ms ease, color 180ms ease,
              border-color 180ms ease, box-shadow 180ms ease;
}
.seitenkopf--bild .taste,
.held .taste,
.kachel .taste {
  background: rgb(16 17 20 / .72);
  border-color: rgb(255 255 255 / .18);
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  backdrop-filter: blur(12px) saturate(140%);
}
.taste__kreis {
  display: grid; place-items: center;
  width: 2rem; height: 2rem; border-radius: 50%;
  background: #fff; color: var(--nacht);
  font-size: 1rem; line-height: 1;
  transition: transform 200ms ease;
}
.taste:hover { background: var(--ak); }
.taste:hover .taste__kreis { transform: translateX(2px); }
.taste--hell {
  background: rgb(255 255 255 / .82); color: var(--nacht);
  border-color: rgb(255 255 255 / .55);
}
.taste--hell .taste__kreis { background: var(--nacht); color: #fff; }
.taste--hell:hover { background: var(--ak); color: #fff; }
.taste--rand {
  background: rgb(255 255 255 / .1);
  color: inherit;
  border-color: rgb(255 255 255 / .34);
  padding-right: 1.4rem;
}
.taste--rand:hover { background: var(--ak); color: #fff; border-color: var(--ak); }
.schritte { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.schritte__zeile {
  display: grid;
  grid-template-columns: 4rem 1fr auto;
  gap: clamp(1rem, 3vw, 2.5rem);
  align-items: center;
  padding-block: clamp(1.25rem, 3vw, 2rem);
  border-top: 1px solid var(--linie);
}
.schritte__zeile:last-child { border-bottom: 1px solid var(--linie); }
.schritte__nr {
  font-size: .95rem; font-weight: 500; color: var(--ak);
  font-variant-numeric: tabular-nums;
}
.nachtband .schritte__nr { color: var(--ak-hell); }
.schritte__text { display: grid; gap: .35rem; }
.schritte__text p:not([class]) { color: var(--grau); font-size: .95rem; max-width: 54ch; }
.schritte__zeile a.taste { justify-self: end; }
.kacheln {
  display: grid; gap: clamp(.75rem, 1.5vw, 1.25rem);
  grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr));
  list-style: none; margin: 0; padding: 0;
}
.kachel {
  position: relative; display: block;
  min-height: clamp(16rem, 26vw, 22rem);
  border-radius: var(--radius); overflow: hidden;
  text-decoration: none; color: #fff;
  background: var(--nacht-2);
  isolation: isolate;
}
.kachel img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; z-index: -2;
  transition: transform 500ms ease;
}
.kachel::after {
  content: ""; position: absolute; inset: 0; z-index: -1;
  pointer-events: none;
  --tint: 14 16 20;
  --deckung: .86;
  --voll: 24%;
  background: linear-gradient(to top,
    rgb(var(--tint) / var(--deckung)) 0%,
    rgb(var(--tint) / var(--deckung)) var(--voll),
    rgb(var(--tint) / calc(var(--deckung) * .78)) calc(var(--voll) + (100% - var(--voll)) * .2),
    rgb(var(--tint) / calc(var(--deckung) * .42)) calc(var(--voll) + (100% - var(--voll)) * .45),
    rgb(var(--tint) / calc(var(--deckung) * .14)) calc(var(--voll) + (100% - var(--voll)) * .72),
    rgb(var(--tint) / 0) 100%);
  -webkit-backdrop-filter: blur(10px) saturate(120%);
  backdrop-filter: blur(10px) saturate(120%);
  -webkit-mask-image: linear-gradient(to top,
    #000 0%, #000 var(--voll),
    rgb(0 0 0 / .84) calc(var(--voll) + (100% - var(--voll)) * .22),
    rgb(0 0 0 / .48) calc(var(--voll) + (100% - var(--voll)) * .48),
    rgb(0 0 0 / .16) calc(var(--voll) + (100% - var(--voll)) * .74),
    transparent 100%);
  mask-image: linear-gradient(to top,
    #000 0%, #000 var(--voll),
    rgb(0 0 0 / .84) calc(var(--voll) + (100% - var(--voll)) * .22),
    rgb(0 0 0 / .48) calc(var(--voll) + (100% - var(--voll)) * .48),
    rgb(0 0 0 / .16) calc(var(--voll) + (100% - var(--voll)) * .74),
    transparent 100%);
}
@media (prefers-reduced-transparency: reduce) {
  .kachel::after {
    --deckung: .94;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}
.kachel:hover img, .kachel:focus-visible img { scale: 1.05; }
.kachel__text {
  position: absolute; inset-inline: 0; bottom: 0;
  padding: 1.25rem; display: grid; gap: .3rem;
}
.kachel__ueber { font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: rgb(255 255 255 / .75); }
.kachel__titel { font-size: 1.35rem; font-weight: 500; line-height: 1.05; letter-spacing: -.02em; }
.kachel__dazu  { font-size: .9rem; color: rgb(255 255 255 / .8); }
.nachtband {
  position: relative;
  background: var(--nacht); color: #fff;
  padding-block: clamp(4rem, 9vw, 7.5rem);
}
.nachtband .neu__lead { color: rgb(255 255 255 / .72); }
.nachtband .neu__marke { color: rgb(255 255 255 / .6); }
.nachtband .schritte__zeile { border-color: rgb(255 255 255 / .14); }
.nachtband .schritte__text p { color: rgb(255 255 255 / .66); }
.neu .grosswort,
.grosswort {
  font-size: clamp(3.5rem, 15vw, 13rem);
  font-weight: 600; line-height: .8; letter-spacing: -.045em;
  margin: 0;
  user-select: none;
  background: var(--gold-verlauf);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  opacity: .5;
}
@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
  .grosswort { background: none; color: rgb(255 255 255 / .12); opacity: 1; }
}
h1,
.seitenkopf__titel,
.grosswort {
  font-family: var(--schrift-titel);
}
.fliesstext--gegliedert .textblock > h2 {
  font-family: var(--schrift-text);
  font-weight: 700;
  font-size: clamp(1.45rem, 2.4vw, 2.1rem);
  line-height: 1.18;
  letter-spacing: -.015em;
  hyphens: manual;
  text-wrap: balance;
}
.fliesstext--gegliedert .textblock > h2 .trennbar { hyphens: auto; }
.abschnitt { padding-block: clamp(3rem, 8vw, 6.5rem); }
.band__innen > .faq.abschnitt { padding-block: 0; }
.abschnitt--sanft { background: var(--tag); }
.abschnitt__kopf {
  display: grid; gap: clamp(.75rem, 2vw, 1.25rem);
  margin-bottom: clamp(1.5rem, 4vw, 3rem);
  max-width: 60rem;
}
@media (min-width: 64rem) {
  .neu__innen:has(> .schritte) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(2.5rem, 5vw, 5rem);
    align-items: start;
  }
  .neu__innen:has(> .schritte) .abschnitt__kopf { margin-bottom: 0; max-width: none; }
  .neu__innen:has(> .schritte) .schritte__zeile:first-child { border-top: 0; padding-top: 0; }
  .neu__innen:has(> .schritte) .neu__leads { columns: auto; }
  .neu__innen:has(> .schritte) .neu__leads .neu__lead + .neu__lead { margin-top: 1em; }
  .abschnitt__kopf:has(.neu__lead + .neu__lead) {
    grid-template-columns: 1fr;
  }
  .abschnitt__kopf:has(.neu__lead + .neu__lead) .neu__marke,
  .abschnitt__kopf:has(.neu__lead + .neu__lead) h2 { grid-column: 1 / -1; }
  .abschnitt__kopf .neu__lead {
    max-width: none;
    break-inside: avoid;
    margin: 0;
  }
  .abschnitt__kopf .neu__leads {
    columns: 2;
    column-gap: clamp(2rem, 4vw, 3.5rem);
    column-fill: balance;
  }
  .abschnitt__kopf .neu__leads .neu__lead + .neu__lead { margin-top: 1em; }
}
.zweispalt > .abschnitt__kopf { margin-bottom: 0; }
.schritte__nr .wappen { display: block; }
.zweispalt {
  display: grid; gap: clamp(1.5rem, 4vw, 3.5rem);
  grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr));
  align-items: center;
}
.zweispalt img { width: 100%; height: auto; border-radius: var(--radius); display: block; }
.zitat {
  font-size: clamp(1.4rem, 3.2vw, 2.4rem);
  line-height: 1.2; letter-spacing: -.02em; font-weight: 500;
  max-width: 24ch; margin: 0;
}
.zitat em { font-style: normal; color: var(--ak); }
@media (max-width: 54rem) {
  .held {
    min-height: 100svh;
    grid-template-columns: 1fr;
    align-content: end;
  }
  .held__bild {
    width: 100%;
    object-position: 58% 16%;
    -webkit-mask-image: linear-gradient(to bottom,
      #000 0%, #000 34%, rgb(0 0 0 / .9) 58%, rgb(0 0 0 / .55) 78%, rgb(0 0 0 / .25) 100%);
    mask-image: linear-gradient(to bottom,
      #000 0%, #000 34%, rgb(0 0 0 / .9) 58%, rgb(0 0 0 / .55) 78%, rgb(0 0 0 / .25) 100%);
  }
  .held__inhalt { align-self: end; max-width: none; order: 1; }
  .held__glas {
    --voll: 42%;
    background: linear-gradient(to top,
      rgb(var(--tint) / var(--deckung)) 0%,
      rgb(var(--tint) / var(--deckung)) var(--voll),
      rgb(var(--tint) / calc(var(--deckung) * .72)) 64%,
      rgb(var(--tint) / calc(var(--deckung) * .3)) 84%,
      rgb(var(--tint) / 0) 100%);
    -webkit-mask-image: linear-gradient(to top,
      #000 0%, #000 var(--voll), rgb(0 0 0 / .55) 70%, transparent 100%);
    mask-image: linear-gradient(to top,
      #000 0%, #000 var(--voll), rgb(0 0 0 / .55) 70%, transparent 100%);
  }
  .kennzahl {
    position: static; order: 2;
    display: flex; align-items: baseline; flex-wrap: wrap; gap: .4rem .6rem;
    margin: 1.25rem var(--takt) 0; padding: .7rem 1rem;
    min-width: 0;
  }
  .kennzahl__zahl { font-size: 1.5rem; }
  .kennzahl__dazu { margin-top: 0; }
  .schritte__zeile { grid-template-columns: 3rem 1fr; }
  .schritte__zeile a.taste { grid-column: 2; justify-self: start; }
}
@media (prefers-reduced-transparency: reduce) {
  .taste { background: var(--nacht); -webkit-backdrop-filter: none; backdrop-filter: none; }
  .taste--hell { background: #fff; }
  .taste--rand { background: transparent; border-color: currentColor; }
}
@media (prefers-reduced-motion: reduce) {
  .kachel img, .taste, .taste__kreis,
  .person__mehr > summary::after { transition: none; }
}
.pille {
  display: inline-flex; align-items: center; gap: .4rem;
  padding: .32rem .75rem;
  border-radius: 999px;
  font-size: .72rem; font-weight: 500;
  letter-spacing: .11em; text-transform: uppercase;
  line-height: 1.35;
  white-space: nowrap;
  background: rgb(255 255 255 / .14);
  border: 1px solid rgb(255 255 255 / .24);
  color: rgb(255 255 255 / .95);
  -webkit-backdrop-filter: blur(8px) saturate(130%);
  backdrop-filter: blur(8px) saturate(130%);
}
.pille--hell {
  background: rgb(16 17 20 / .06);
  border-color: rgb(16 17 20 / .12);
  color: var(--grau);
}
.band .pille:not(.pille--auf-bild):not(.pille--beispiel),
.seite .pille:not(.pille--auf-bild):not(.pille--beispiel),
.person-fenster .pille,   
.mega__kopf .pille {
  background: rgb(16 17 20 / .05);
  border-color: rgb(16 17 20 / .14);
  color: var(--grau);
  -webkit-backdrop-filter: none; backdrop-filter: none;
}
.band--nacht .pille:not(.pille--auf-bild) {
  background: rgb(255 255 255 / .1);
  border-color: rgb(255 255 255 / .22);
  color: rgb(255 255 255 / .92);
}
.pille--ort {
  background: color-mix(in srgb, var(--ak) 18%, transparent);
  border-color: color-mix(in srgb, var(--ak) 38%, transparent);
  color: var(--ak);
}
.pille--ort.pille--auf-bild { color: #fff; border-color: rgb(255 255 255 / .4); }
.pille__punkt {
  width: .45rem; height: .45rem; border-radius: 50%;
  background: currentColor; flex: none;
}
@media (prefers-reduced-transparency: reduce) {
  .pille {
    background: rgb(16 17 20 / .78);
    -webkit-backdrop-filter: none; backdrop-filter: none;
  }
  .pille--hell { background: var(--nebel); }
}
.neu__marke--pille::before { display: none; }
.leiste {
  position: sticky; top: 0; z-index: 40;   
  isolation: isolate;
}
:root { --leisten-auslauf: 1.25rem; }
.leiste {
  position: fixed; inset-inline: 0; top: 0;
  color: #fff;
}
.navpunkt,
.leiste { color: #fff; }
.leiste__logo img { opacity: 1; filter: brightness(1.4); }
@media (scripting: enabled) {
  .leiste::before { opacity: 0; }
  [data-leiste-ton] .leiste::before { opacity: 1; }
  [data-leiste-oben] .leiste::before { opacity: 0; }
  [data-leiste-oben]:not([data-leiste-ton="geteilt"]):has(.seitenkopf--bild, .held, .kampagne__buehne) :is(.leiste, .navpunkt),
  [data-leiste-oben]:not([data-leiste-ton="geteilt"]):has(.seitenkopf--bild, .held, .kampagne__buehne) .leiste a:not(.filialzettel a) {
    color: #fff;
  }
  [data-leiste-oben]:not([data-leiste-ton="geteilt"]):has(.seitenkopf--bild, .held, .kampagne__buehne) .leiste__logo img {
    filter: brightness(1.4);
  }
}
.leiste__navpaar { position: relative; display: contents; }
.leiste__nav--hell { display: none; }
[data-leiste-ton="geteilt"] .leiste::before { opacity: 0; }
[data-leiste-ton="geteilt"] .leiste__navpaar { display: block; }
[data-leiste-ton="geteilt"] .leiste__nav--hell {
  display: block;
  position: absolute;
  inset: 0;
  clip-path: inset(0 calc(100% - var(--dunkel-bis-nav, 0px)) 0 var(--dunkel-von-nav, 0px));
  pointer-events: none;
  color: #fff;
}
[data-leiste-ton="geteilt"] .leiste__nav--hell :is(a, summary, .navpunkt) { color: #fff; }
[data-leiste-ton="geteilt"] .leiste__nav--hell [aria-current]::after { background: #fff; }
[data-leiste-ton="geteilt"] .leiste__nav--hell .mega__tafel,
[data-leiste-ton="geteilt"] .leiste__nav--hell .schublade__tafel { display: none; }
@media (max-width: 78rem) {
  [data-leiste-ton="geteilt"] .leiste__navpaar { display: contents; }
  [data-leiste-ton="geteilt"] .leiste__nav--hell { display: none; }
}
[data-leiste-ton="geteilt"] .leiste__innen { position: relative; }
[data-leiste-ton="dunkel"] .leiste::before,
[data-leiste-ton="gemischt"] .leiste::before {
  background: linear-gradient(to bottom,
    rgb(16 17 20 / .84) 0%, rgb(16 17 20 / .84) 62%,
    rgb(16 17 20 / .6) 78%, rgb(16 17 20 / .25) 90%, rgb(16 17 20 / 0) 100%);
}
@media (prefers-reduced-transparency: reduce) {
  .leiste::before {
    -webkit-backdrop-filter: none; backdrop-filter: none;
  }
  [data-leiste-ton="dunkel"] .leiste::before,
  [data-leiste-ton="gemischt"] .leiste::before { background: var(--menue-grund); }
  [data-leiste-ton="hell"] .leiste::before { background: var(--tag); }
}
[data-leiste-ton="hell"] .leiste::before {
  background: linear-gradient(to bottom,
    rgb(255 255 255 / .86) 0%, rgb(255 255 255 / .86) 62%,
    rgb(255 255 255 / .62) 78%, rgb(255 255 255 / .26) 90%, rgb(255 255 255 / 0) 100%);
}
[data-leiste-ton="hell"] .navpunkt,
[data-leiste-ton="geteilt"] .navpunkt,
[data-leiste-ton="hell"] .leiste,
[data-leiste-ton="geteilt"] .leiste { color: var(--nacht); }
[data-leiste-ton="hell"] .leiste__logo img,
[data-leiste-ton="geteilt"] .leiste__logo img { filter: brightness(1); }
body:has(.bereichsnav) .leiste::before {
  -webkit-mask-image: none; mask-image: none;
  bottom: 0;
}
html:not([data-leiste-oben]) .leiste::before {
  opacity: 1;
  background: rgb(255 255 255 / .72);
  -webkit-backdrop-filter: blur(14px) saturate(150%);
  backdrop-filter: blur(14px) saturate(150%);
  -webkit-mask-image: none; mask-image: none;
  bottom: 0;
}
html:not([data-leiste-oben]):not(:has(.mega[open], .schublade[open], .ortwahl[open], .suchwahl[open])) .leiste,
html:not([data-leiste-oben]):not(:has(.mega[open], .schublade[open], .ortwahl[open], .suchwahl[open])) .navpunkt { color: var(--nacht); }
html:not([data-leiste-oben]):not(:has(.mega[open], .schublade[open], .ortwahl[open], .suchwahl[open])) .leiste__logo img { filter: brightness(1); }
html:not([data-leiste-oben]):not(:has(.mega[open], .schublade[open], .ortwahl[open], .suchwahl[open])) .navpunkt::after { background: var(--ak); }
html:not([data-leiste-oben]) .leiste__nav--hell { display: none; }
html:not([data-leiste-oben]) .leiste__navpaar { display: contents; }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  html:not([data-leiste-oben]) .leiste::before { background: var(--tag); }
}
@media (prefers-reduced-transparency: reduce) {
  html:not([data-leiste-oben]) .leiste::before {
    background: var(--tag);
    -webkit-backdrop-filter: none; backdrop-filter: none;
  }
}
.leiste::before,
.navpunkt,
.leiste__nav a,
.leiste__logo img {
  transition: opacity 260ms ease, color 260ms ease, filter 260ms ease, background 260ms ease;
}
.leiste::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  bottom: calc(-1 * var(--leisten-auslauf));
  pointer-events: none;
  background: linear-gradient(to bottom,
    rgb(16 17 20 / .88) 0%,
    rgb(16 17 20 / .88) 62%,
    rgb(16 17 20 / .62) 78%,
    rgb(16 17 20 / .26) 90%,
    rgb(16 17 20 / 0) 100%);
  -webkit-backdrop-filter: blur(14px) saturate(150%);
  backdrop-filter: blur(14px) saturate(150%);
  -webkit-mask-image: linear-gradient(to bottom,
    #000 0%, #000 62%,
    rgb(0 0 0 / .72) 78%, rgb(0 0 0 / .3) 90%, transparent 100%);
  mask-image: linear-gradient(to bottom,
    #000 0%, #000 62%,
    rgb(0 0 0 / .72) 78%, rgb(0 0 0 / .3) 90%, transparent 100%);
}
@media (prefers-reduced-transparency: reduce) {
  .leiste { padding-bottom: 0; margin-bottom: 0; }
  .leiste::before {
    background: var(--nacht);
    -webkit-backdrop-filter: none; backdrop-filter: none;
    -webkit-mask-image: none; mask-image: none;
    bottom: 0;
  }
}
.leiste__innen {
  position: relative; z-index: 3;
  display: flex; align-items: center; gap: clamp(.75rem, 2vw, 1.75rem);
  max-width: var(--breite); margin-inline: auto;
  padding: 1rem var(--takt);
}
.leiste__logo { flex: none; display: block; line-height: 0; }
.leiste__logo img { width: clamp(8rem, 12vw, 11rem); height: auto; }
.leiste__nav { margin-inline: auto; }
.leiste__nav > ul {
  display: flex; flex-wrap: nowrap; gap: clamp(.5rem, 1.4vw, 1.35rem);
  list-style: none; margin: 0; padding: 0;
}
.reihe--neu {
  --reihe-grund: linear-gradient(135deg, rgb(10 22 42) 0%, rgb(22 46 84) 100%);
}
.reihe--filme {
  --reihe-grund: linear-gradient(135deg, rgb(28 20 6) 0%, rgb(64 46 14) 100%);
}
.reihe--neu::before,
.reihe--filme::before {
  content: '';
  position: absolute;
  inset: calc(-1 * clamp(.4rem, .9vw, .7rem)) 0;
  z-index: -2;
  background: var(--reihe-grund);
  pointer-events: none;
}
.mediathek .reihe--neu::after,
.mediathek .reihe--filme::after { display: none; }
.reihe--neu + .reihe--filme,
.reihe--filme + .reihe--neu {
  margin-top: calc(-1 * var(--reihen-abstand));
}
.navpunkt { position: relative; }
.navpunkt::after {
  content: ""; position: absolute;
  left: 0; right: 0; bottom: -.45rem; height: 2px;
  border-radius: var(--radius);
  background: var(--ak-hell);
  opacity: 0;
  transition: opacity 180ms ease;
}
.navpunkt[aria-current]::after,
.navpunkt:hover::after,
.navpunkt:focus-visible::after,
.mega[open] > .navpunkt::after { opacity: 1; }
.navpunkt[aria-current] { font-weight: 650; }
[data-leiste-ton="hell"] .navpunkt::after,
[data-leiste-ton="geteilt"] .navpunkt::after { background: var(--ak); }
.mega__liste a[aria-current] .mega__titel { font-weight: 700; }
.leiste__rechts { display: flex; align-items: center; gap: .75rem; flex: none; }
.leiste__ort {
  display: inline-flex; align-items: center; gap: .4rem;
  font-size: .85rem; font-weight: 500; text-decoration: none; color: var(--grau);
}
.leiste__punkt { width: .5rem; height: .5rem; border-radius: 50%; background: var(--ak); }
.taste--klein { padding: .45rem .5rem .45rem 1rem; font-size: .88rem; }
.taste--klein .taste__kreis { width: 1.6rem; height: 1.6rem; font-size: .85rem; }
.fuss {
  position: relative;
  padding-block: clamp(4rem, 8vw, 6rem) 0;
  margin-top: 0;
  --fuss-grund:  var(--tag);
  --fuss-text:   var(--grau);
  --fuss-stark:  var(--nacht);
  --fuss-leise:  var(--grau);   
  --fuss-linie:  var(--linie);
  background: var(--fuss-grund); color: var(--fuss-text);
}
body:has(main > * > *:last-child.band--nacht),
body:has(main > * > *:last-child.nachtband),
body:has(main > *:last-child.band--nacht),
body:has(main > *:last-child.nachtband) {
  --fuss-dunkel: 1;
}
body:has(main > * > *:last-child.band--nacht) .fuss,
body:has(main > * > *:last-child.nachtband) .fuss,
body:has(main > *:last-child.band--nacht) .fuss,
body:has(main > *:last-child.nachtband) .fuss {
  --fuss-grund:  var(--nacht);
  --fuss-text:   rgb(255 255 255 / .82);
  --fuss-stark:  #fff;
  --fuss-leise:  rgb(255 255 255 / .55);
  --fuss-linie:  rgb(255 255 255 / .12);
  --fokus:       var(--ak-hell);
}
.fuss__innen {
  display: grid; gap: clamp(1.75rem, 4vw, 3.5rem);
  grid-template-columns: 1fr;
  max-width: var(--breite); margin-inline: auto;
  padding-inline: var(--takt);
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
}
@media (max-width: 34rem) {
  .fuss__innen {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    text-align: center;
    justify-items: center;
  }
  .fuss__innen { --fuss-blockluft: 2.25rem; }
  .fuss__marke { grid-column: 1 / -1; display: grid; justify-items: center; }
  .fuss__logo,
  .fuss__satz { margin-inline: auto; }
  .fuss__sozial { justify-content: center; }
  .fuss__spalte { width: 100%; margin-top: var(--fuss-blockluft, 2.25rem); }
  .fuss__spalte:first-of-type,
  .fuss__spalte:last-of-type { grid-column: 1 / -1; }
  .fuss ul { justify-items: center; }
  .fuss__orte li { justify-items: center; }
  .fuss__ort { justify-content: center; }
  .fuss__unten { justify-content: center; text-align: center; }
  .fuss__zeichen { text-align: center; }
}
@media (min-width: 34.0625rem) {
  .fuss__innen { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fuss__marke { grid-column: 1 / -1; }
}
@media (min-width: 64rem) {
  .fuss__innen { grid-template-columns: minmax(0, 1.4fr) repeat(4, minmax(0, 1fr)); }
  .fuss__marke { grid-column: auto; }
}
.fuss__logo { width: min(16rem, 100%); height: auto; display: block; }
.fuss__satz { margin-top: 1rem; font-size: .95rem; color: var(--fuss-leise); max-width: 26ch; }
.fuss .fuss__sozial {
  display: flex; align-items: center;
  gap: 1.1rem;
  margin-top: var(--fuss-blockluft, 2.25rem);
}
.fuss .fuss__sozial a { display: inline-flex; color: var(--fuss-stark); }
.fuss__sozialzeichen { display: block; width: 40px; height: 40px; }
.fuss__sozial a:hover .fuss__sozialzeichen,
.fuss__sozial a:focus-visible .fuss__sozialzeichen { opacity: .7; }
.fuss h2 {
  font-size: .72rem; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--fuss-leise);
  margin: 0 0 .9rem;
}
.fuss ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.fuss a { color: var(--fuss-text); text-decoration: none; font-size: .95rem; }
.fuss a:hover, .fuss a:focus-visible { color: var(--fuss-stark); text-decoration: underline; }
.fuss a[aria-current="page"] {
  color: var(--fuss-stark); font-weight: 650;
  text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .3em;
}
.fuss__orte li { display: grid; gap: .15rem; }
.fuss__orte span { font-size: .85rem; color: var(--fuss-leise); }
.fuss__tel { font-variant-numeric: tabular-nums; }
.fuss__knopf {
  background: none; border: 0; padding: 0; font: inherit; font-size: .95rem;
  color: var(--fuss-text); text-decoration: underline; cursor: pointer;
}
.fuss__knopf:hover { color: var(--fuss-stark); }
.fuss__unten {
  display: flex; flex-wrap: wrap; gap: .75rem 2rem;
  justify-content: space-between;
  max-width: var(--breite); margin-inline: auto;
  padding: 1.25rem var(--takt);
  font-size: .85rem; color: var(--fuss-leise);
}
.fuss__unten p { margin: 0; }
.fuss__unten a { font-size: inherit; }
.fuss__pflege a {
  display: inline-flex; align-items: center; gap: .4rem;
  color: var(--fuss-leise);
}
.fuss__pflege a:hover,
.fuss__pflege a:focus-visible { color: var(--fuss-stark); }
.fuss__schloss { display: block; flex: none; }
.skip-link {
  position: absolute; left: -9999px;
  background: var(--nacht); color: #fff; padding: .6rem 1rem; z-index: 100;
}
.skip-link:focus { left: 1rem; top: 1rem; }
@media (max-width: 78rem) {
  .leiste__nav { display: none; }
}
.mega { position: static; }
.navpunkt {
  display: inline-flex; align-items: center; gap: .35rem;
  padding: .45rem 0; cursor: pointer;
  font-size: clamp(.8rem, .95vw, .92rem); font-weight: 500;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  list-style: none;
  text-decoration: none;
  transition: border-color 180ms ease, opacity 180ms ease;
}
.navpunkt::-webkit-details-marker { display: none; }
.mega__pfeil {
  display: inline-block;
  font-size: .85em; font-weight: 400; opacity: .55;
  line-height: 1;
  transition: transform 220ms cubic-bezier(.22,.61,.36,1), opacity 200ms ease;
}
.mega[open] .mega__pfeil,
.schublade__zweig[open] > .schublade__ober .mega__pfeil {
  transform: rotate(45deg);
  opacity: .9;
}
@supports ((background-clip: text) or (-webkit-background-clip: text)) {
  @media (hover: hover) {
    .navpunkt:hover,
    .navpunkt:focus-visible {
      background-image: linear-gradient(100deg,
        var(--ak-hell) 0%, #ffffff 55%, var(--ak-hell) 100%);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
    }
    [data-leiste-ton="hell"] .navpunkt:hover,
    [data-leiste-ton="geteilt"] .navpunkt:hover,
    [data-leiste-ton="hell"] .navpunkt:focus-visible,
    [data-leiste-ton="geteilt"] .navpunkt:focus-visible {
      background-image: linear-gradient(100deg,
        var(--ak) 0%, var(--nacht) 45%, var(--ak) 100%);
    }
    .navpunkt:hover .mega__pfeil,
    .navpunkt:focus-visible .mega__pfeil {
      color: var(--ak-hell);
      -webkit-text-fill-color: var(--ak-hell);
    }
    [data-leiste-ton="hell"] .navpunkt:hover .mega__pfeil,
    [data-leiste-ton="geteilt"] .navpunkt:hover .mega__pfeil,
    [data-leiste-ton="hell"] .navpunkt:focus-visible .mega__pfeil,
    [data-leiste-ton="geteilt"] .navpunkt:focus-visible .mega__pfeil {
      color: var(--ak);
      -webkit-text-fill-color: var(--ak);
    }
  }
  @media (forced-colors: active) {
    .navpunkt:hover, .navpunkt:focus-visible {
      background-image: none; color: LinkText;
    }
  }
}
@media (prefers-reduced-motion: reduce) {
  .mega__pfeil { transition: none; }
}
.schleier {
  position: fixed; inset: 0; z-index: 30;
  opacity: 0; visibility: hidden;
  background: color-mix(in srgb, var(--menue-grund) 90%, transparent);
  -webkit-backdrop-filter: blur(22px) saturate(110%) brightness(.3);
  backdrop-filter: blur(22px) saturate(110%) brightness(.3);
  transition: opacity 260ms ease, visibility 0s linear 260ms;
  pointer-events: none;
}
body:has(.mega[open]) .schleier,
body:has(.ortwahl[open]) .schleier,
body:has(.suchwahl[open]) .schleier {
  opacity: 1; visibility: visible;
  transition: opacity 260ms ease, visibility 0s;
}
.schleier { display: grid; place-items: center; }
.schleier::before {
  content: ""; position: absolute; inset: 0;
  opacity: 0;
  transition: opacity 260ms ease;
}
.schleier__ring { opacity: 0; transition: opacity 260ms ease; }
body:has(.ortwahl[open]) .schleier::before,
body:has(.ortwahl[open]) .schleier__ring { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .schleier__ring::before { animation: none; }
}
@media (prefers-reduced-motion: reduce) { .schleier { transition: none; } }
body:has(.mega[open], .schublade[open], .ortwahl[open], .suchwahl[open])
  :is(.mobilaktionen, .fortschritt) { z-index: 29; }
.mega__tafel {
  position: fixed;
  inset-inline: 0;
  top: var(--leisten-hoehe, 5.75rem);
  height: calc(100svh - var(--leisten-hoehe, 5.75rem));
  z-index: 2;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-top: calc(var(--mega-versatz, 50px) + clamp(1rem, 3vh, 2.5rem));
  padding-bottom: clamp(2rem, 5vh, 4rem);
  background: var(--menue-grund);
  color: #fff;
}
.mega:not([open]) .mega__tafel { display: none; }
@media (prefers-reduced-motion: no-preference) {
  .mega[open] .mega__tafel {
    animation: mega-wachsen 420ms cubic-bezier(.22,.61,.36,1) both;
  }
  @keyframes mega-wachsen {
    from { clip-path: inset(0 0 100% 0); }
    to   { clip-path: inset(0 0 0 0); }
  }
  .mega[open] .mega__innen > * {
    animation: mega-inhalt 380ms ease both;
    animation-delay: 160ms;
  }
  .mega[open] .mega__innen > *:nth-child(2) { animation-delay: 230ms; }
  @keyframes mega-inhalt {
    from { opacity: 0; transform: translateY(1.25rem); }
    to   { opacity: 1; transform: none; }
  }
}
.mega__schliessen { display: none; }
.mega__oben {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; flex-wrap: wrap;
}
@media (scripting: enabled) {
  .mega__schliessen {
    flex: none;
    display: grid; place-items: center;
    width: 3.5rem; height: 3.5rem;
    padding: 0; border-radius: 50%;
    border: 1px solid #5c6066;
    background: none; color: #fff;
    font-size: 1.45rem; line-height: 1; cursor: pointer;
    transition: background-color 180ms ease, border-color 180ms ease;
  }
  .mega__schliessen:hover,
  .mega__schliessen:focus-visible {
    background: rgb(255 255 255 / .1);
    border-color: #fff;
  }
}
@media (prefers-reduced-motion: reduce) {
  .mega__schliessen { transition: none; }
}
:root { --mega-versatz: 50px; }
body:has(.mega[open]) .leiste { z-index: 58; }
.glasschimmer { transition: opacity 220ms ease; }
body:has(.mega[open]) .glasschimmer,
body:has(.schublade[open]) .glasschimmer,
body:has(.ortwahl[open]) .glasschimmer,
body:has(.suchwahl[open]) .glasschimmer { opacity: 0; }
.mega__innen {
  position: relative;   
  display: grid; gap: clamp(2rem, 4vw, 4.5rem);
  grid-template-columns: minmax(0, 21rem) minmax(0, 1fr);
  align-content: center;
  height: 100%;
  max-width: var(--breite); margin-inline: auto;
  padding: 0 var(--takt) calc((100svh - var(--leisten-hoehe, 5.75rem)) / 2);
  color: #fff;
}
.mega__innen--ohnebild { grid-template-columns: minmax(0, 1fr); }
.mega__tafel a,
.mega__tafel .mega__titel { color: #fff; }
.mega__bild {
  position: relative; display: block;
  border-radius: var(--radius); overflow: hidden;
  aspect-ratio: 3 / 4; max-height: min(56svh, 32rem);
  background: var(--nacht-2);
  isolation: isolate; text-decoration: none;
}
.mega__bild img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; z-index: -2;
  transition: transform 600ms cubic-bezier(.2,.7,.3,1);
}
.mega[open] .mega__bild:hover img { transform: scale(1.04); }
.mega__bild::after {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(to top,
    rgb(14 16 20 / .9) 0%, rgb(14 16 20 / .55) 42%, rgb(14 16 20 / 0) 80%);
}
.mega__bildtext {
  position: absolute; inset-inline: 0; bottom: 0;
  display: grid; gap: .6rem; justify-items: start;
  padding: 1.25rem; color: #fff;
}
.neu--start .mega__tafel .mega__bildtext,
.neu--start .mega__tafel .mega__bild { color: #fff; }
.mega__teaser { font-size: .85rem; line-height: 1.45; color: rgb(255 255 255 / .88); }
.mega__teaser--dunkel { color: var(--menue-grau); margin: 0; max-width: 46ch; }
.mega__kopf { display: grid; gap: .6rem; justify-items: start; }
.mega__spalte { display: grid; gap: 2rem; align-content: center; }
.mega__liste {
  display: grid; gap: clamp(.4rem, 2.2vh, 1.5rem) 1.75rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none; margin: 0; padding: 0;
  align-content: start;
}
@media (min-width: 86rem) {
  .mega__liste { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.mega__liste a {
  display: grid; gap: .25rem;
  padding: .85rem 1rem; border-radius: var(--radius);
  text-decoration: none; color: #fff;
}
.mega__liste { grid-auto-rows: 1fr; }
.mega__liste > li { display: grid; }
.mega__liste a {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start; column-gap: .95rem;
  height: 100%;
}
.mega__text { display: grid; gap: .25rem; align-content: start; }
.mega__dazu {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
  overflow: hidden;
}
.mega__symbol {
  display: grid; place-items: center;
  width: 2.5rem; height: 2.5rem; border-radius: 50%;
  color: var(--ak-hell);
  background: color-mix(in srgb, var(--ak-hell) 13%, transparent);
  border: 1px solid color-mix(in srgb, var(--ak-hell) 34%, transparent);
  transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease;
}
.mega__symbol .wappen { width: 1.6rem; height: 1.6rem; }
.mega__liste a:hover .mega__symbol,
.mega__liste a:focus-visible .mega__symbol {
  background: color-mix(in srgb, var(--ak-hell) 24%, transparent);
  border-color: var(--ak-hell);
}
.mega__liste > li > a:hover,
.mega__liste > li > a:focus-visible { border-color: color-mix(in srgb, var(--ak-hell) 55%, transparent); }
.mega__liste a[aria-current] .mega__symbol { background: var(--ak-hell); color: var(--menue-grund); border-color: var(--ak-hell); }
.mega__liste > li > a[aria-current] { border-color: color-mix(in srgb, var(--ak-hell) 55%, transparent); }
.mega__liste a:hover,
.mega__liste a:focus-visible { transform: translateX(3px); }
.mega__titel { font-weight: 600; font-size: 1.05rem; line-height: 1.3; }
.mega__dazu  { font-size: .85rem; color: var(--menue-grau); line-height: 1.5; }
.mega__tafel .mega__alle {
  justify-self: start;
  display: inline-flex; align-items: center; gap: .6rem;
  padding: .6rem 1.1rem .6rem .6rem; border-radius: 999px;
  font-weight: 650; font-size: 1.05rem;
  color: var(--ak-hell); text-decoration: none;
  border: 1px solid rgb(255 255 255 / .14);
  transition: background-color 160ms ease, border-color 160ms ease;
}
.mega__tafel .mega__alle:hover,
.mega__tafel .mega__alle:focus-visible {
  background: rgb(255 255 255 / .09);
  border-color: rgb(255 255 255 / .3);
}
.mega__tafel .mega__alle[aria-current] { border-color: var(--ak-hell); }
.mega__kreis {
  display: grid; place-items: center;
  width: 1.4rem; height: 1.4rem; border-radius: 50%;
  background: var(--ak-hell); color: var(--menue-grund); font-size: .75rem;
}
@media (prefers-reduced-motion: reduce) {
  .mega__pfeil, .mega__bild img, .mega__liste a { transition: none; }
  .mega__liste a:hover { transform: none; }
  .mega[open] .mega__tafel { animation: none; }
}
@media (prefers-reduced-transparency: reduce) {
  .schleier {
    background: rgb(12 13 16 / .82);
    -webkit-backdrop-filter: none; backdrop-filter: none;
  }
  .mega__tafel::after { -webkit-mask-image: none; mask-image: none; height: 0; }
}
.ortwahl { position: relative; }
.ortwahl > summary {
  display: inline-flex; align-items: center; gap: .45rem;
  padding: .45rem .8rem; border-radius: 999px; cursor: pointer;
  font-size: .85rem; font-weight: 500;
  list-style: none;
  color: inherit;
  background: var(--glas-hell);
  border: 1px solid var(--glas-hell-kante);
  -webkit-backdrop-filter: var(--glas-schliff);
  backdrop-filter: var(--glas-schliff);
  transition: background-color 200ms ease, border-color 200ms ease;
}
.ortwahl > summary::-webkit-details-marker { display: none; }
.ortwahl[open] > summary,
.ortwahl > summary:hover { border-color: var(--ak); }
.ortwahl__liste {
  position: absolute; right: 0; top: calc(100% + .5rem); z-index: 50;
  min-width: 15rem; padding: .35rem;
  list-style: none; margin: 0;
  color: #fff;
  background: var(--menue-grund);
  border: 1px solid var(--glas-tafel-kante);
  border-radius: var(--glas-ecke);
  box-shadow: 0 18px 44px rgb(0 0 0 / .38);
}
.ortwahl__liste a {
  display: grid; gap: .1rem;
  padding: .55rem .7rem; border-radius: calc(var(--glas-ecke) - .35rem);
  text-decoration: none; color: inherit;
}
.ortwahl__liste a:hover,
.ortwahl__liste a:focus-visible {
  background: color-mix(in srgb, var(--ak-hell) 20%, transparent);
}
.ortwahl__name { font-weight: 500; display: flex; align-items: center; gap: .4rem; }
.ortwahl__zeit { font-size: .8rem; color: rgb(255 255 255 / .68); }
.ortwahl__punkt {
  position: relative;
  width: .5rem; height: .5rem; border-radius: 50%;
  background: var(--ak); flex: none;
}
.ortwahl__punkt::after {
  content: ""; position: absolute; inset: 0; border-radius: 50%;
  background: var(--ak);
}
@media (prefers-reduced-motion: no-preference) {
  .ortwahl__punkt::after {
    animation: punkt-pulsen 2.4s ease-out infinite;
  }
  @keyframes punkt-pulsen {
    0%   { transform: scale(1);   opacity: .7; }
    70%  { transform: scale(2.8); opacity: 0; }
    100% { transform: scale(2.8); opacity: 0; }
  }
}
.ortwahl__liste li[aria-current="true"] a {
  background:
    radial-gradient(9rem 6rem at 1.4rem 50%,
      color-mix(in srgb, var(--ak-hell) 26%, transparent), transparent 70%),
    color-mix(in srgb, var(--ak-hell) 10%, transparent);
}
.ortwahl__liste li[aria-current="true"] .ortwahl__name { font-weight: 600; }
.ortwahl__liste li[aria-current="true"] :is(.wappen, .ortwahl__punkt) {
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--ak-hell) 42%, transparent),
    0 0 .7rem color-mix(in srgb, var(--ak-hell) 45%, transparent);
}
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    @keyframes scharfstellen {
      from {
        opacity: 0;
        transform: translateY(1.5rem);
      }
      to {
        opacity: 1;
        transform: none;
      }
    }
    @keyframes unschaerfe {
      from { filter: blur(12px); }
      to   { filter: blur(0); }
    }
    .neu h2,
    .zitat,
    .abschnitt__kopf .neu__marke {
      animation: scharfstellen linear both, unschaerfe linear backwards;
      animation-timeline: view(), view();
      animation-range: entry 5% cover 32%, entry 5% cover 32%;
    }
    .neu h2 .kraeftig {
      animation: scharfstellen linear both, unschaerfe linear backwards;
      animation-timeline: view(), view();
      animation-range: entry 9% cover 36%, entry 9% cover 36%;
    }
    .mediathek .reihe__kopf h2,
    .mediathek .reihe__kopf h2 .kraeftig {
      animation: none;
      opacity: 1;
      filter: none;
      transform: none;
    }
    @keyframes mitziehen {
      from { transform: translateY(-3%) scale(1.06); }
      to   { transform: translateY(3%)  scale(1.06); }
    }
    .kachel img,
    .zweispalt img,
    .mega__bild img {
      animation: mitziehen linear both;
      animation-timeline: view();
      animation-range: cover 0% cover 100%;
    }
    .kachel:hover img,
    .kachel:focus-visible img { animation-play-state: paused; }
    @keyframes titel-ziehen {
      from { transform: none; }
      to   { transform: translateY(6%) scale(1.04); }
    }
    .held__bild {
      animation: titel-ziehen linear both;
      animation-timeline: view();
      animation-range: exit 0% exit 100%;
    }
    @keyframes aufsteigen {
      from { opacity: 0; transform: translateY(2.5rem); }
      to   { opacity: 1; transform: none; }
    }
    .kacheln > li {
      animation: aufsteigen linear both;
      animation-timeline: view();
      animation-range: entry 0% cover 28%;
    }
    .schritte__zeile {
      animation: scharfstellen linear both, unschaerfe linear backwards;
      animation-timeline: view(), view();
      animation-range: entry 10% cover 34%, entry 10% cover 34%;
    }
    @keyframes wort-schieben {
      from { transform: translateX(-2%); }
      to   { transform: translateX(2%); }
    }
    .grosswort {
      animation: wort-schieben linear both;
      animation-timeline: view();
      animation-range: cover 0% cover 100%;
    }
  }
}
.kachel img { transform: scale(1); }
.sterne {
  display: inline-flex; align-items: center; gap: .6rem;
  flex-wrap: wrap;
}
.sterne__reihe {
  position: relative; display: inline-block;
  font-size: 1.05rem; line-height: 1; letter-spacing: .12em;
  white-space: nowrap;
}
.sterne__grund { color: rgb(255 255 255 / .26); }
.sterne__gold {
  position: absolute; inset: 0;
  overflow: hidden; white-space: nowrap;
  background: var(--gold-verlauf);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
  .sterne__gold { color: #e2be64; background: none; }
}
.sterne__text { display: inline-flex; align-items: baseline; gap: .4rem; font-size: .9rem; }
.sterne__text strong { font-size: 1.05rem; font-weight: 600; }
.sterne__dazu { color: rgb(255 255 255 / .68); }
.sterne__dazu a { color: inherit; text-decoration: underline; text-underline-offset: .2em; }
.sterne__dazu a:hover { color: #fff; }
.sterne--hell .sterne__grund { color: rgb(16 17 20 / .18); }
.sterne--hell .sterne__dazu  { color: var(--grau); }
.pille--beispiel {
  background: rgb(255 255 255 / .16);
  border-color: rgb(255 255 255 / .3);
  color: #fff;
}
.neu--start .abschnitt,
.neu--start .nachtband {
  display: grid;
  align-content: center;
  min-height: 50svh;
  padding-block: clamp(4rem, 10vh, 8rem);
}
.neu--start .abschnitt > .neu__innen,
.neu--start .nachtband > .neu__innen { width: 100%; }
@media (max-height: 34rem) {
  .neu--start .abschnitt,
  .neu--start .nachtband {
    min-height: auto;
    padding-block: clamp(2.5rem, 8vh, 4rem);
  }
}
.neu--start .abschnitt .kacheln { --kachel-hoehe: clamp(16rem, 42svh, 28rem); }
.neu--start .abschnitt .kachel  { min-height: var(--kachel-hoehe); }
.neu--start .abschnitt--anschluss { padding-top: clamp(4rem, 10vh, 8rem) !important; }
.weiterhinweis {
  position: absolute; left: 50%; bottom: clamp(1rem, 3vh, 2rem);
  transform: translateX(-50%);
  display: grid; justify-items: center; gap: .4rem;
  font-size: .7rem; letter-spacing: .16em; text-transform: uppercase;
  color: rgb(255 255 255 / .6);
  pointer-events: none;
}
.weiterhinweis__pfeil { font-size: 1rem; }
@media (max-width: 54rem) { .held .weiterhinweis { display: none; } }
.seitenkopf:not(.seitenkopf--bild) .weiterhinweis { color: var(--grau); }
@media (prefers-reduced-motion: no-preference) {
  .weiterhinweis__pfeil { animation: weiterwippen 2.2s ease-in-out infinite; }
  @keyframes weiterwippen {
    0%, 100% { transform: translateY(0);     opacity: .55; }
    50%      { transform: translateY(.35rem); opacity: 1; }
  }
}
.neu--start .leiste::before { transition: opacity 240ms ease; }
body.neu--start:has(.mega[open]) .leiste::before,
body.neu--start:has(.ortwahl[open]) .leiste::before {
  animation: none !important;
  opacity: 1 !important;
}
.leiste { z-index: 40; }
.ortwahl__liste { z-index: 3; }
.ortwahl:not([open]) .ortwahl__liste { display: none; }
.schublade { display: none; position: static; margin-inline-start: auto; }
@media (max-width: 78rem) {
  .schublade { display: block; }
}
.schublade__griff {
  position: relative;
  display: grid; place-items: center;
  width: 2.9rem; height: 2.9rem; border-radius: 50%;
  cursor: pointer; list-style: none;
  background: var(--glas-hell);
  -webkit-backdrop-filter: var(--glas-schliff);
  backdrop-filter: var(--glas-schliff);
  border: 1px solid var(--glas-hell-kante);
  transition: background-color 240ms ease, border-color 240ms ease;
}
.schublade__griff::-webkit-details-marker { display: none; }
.schublade__griff:hover { background: var(--glas-hell-wach); }
.schublade[open] > .schublade__griff {
  background: rgb(255 255 255 / .14);
  border-color: var(--ak-hell);
}
.schublade__griff::before {
  content: ""; position: absolute; inset: -.35rem;
  border-radius: 50%;
  border: 1px solid var(--ak-hell);
  opacity: 0; transform: scale(.82);
  pointer-events: none;
}
.schublade__striche {
  position: relative;
  display: block; width: 1.15rem; height: 2px;
  border-radius: var(--radius); background: currentColor;
}
.schublade__striche::before,
.schublade__striche::after {
  content: ""; position: absolute; left: 0;
  display: block; width: 100%; height: 2px;
  border-radius: var(--radius); background: currentColor;
  transform-origin: center;
}
.schublade__striche::before { top: -.38rem; }
.schublade__striche::after  { top:  .38rem; }
.schublade__striche::before { width: 68%; }
@media (prefers-reduced-motion: no-preference) {
  .schublade__striche          { transition: background-color 140ms ease 160ms, transform 200ms ease 160ms; }
  .schublade__striche::before,
  .schublade__striche::after   { transition: transform 260ms cubic-bezier(.62,-.35,.28,1.4), width 260ms ease; }
  .schublade[open] .schublade__striche          { background-color: transparent; transition-delay: 0ms; }
  .schublade[open] .schublade__striche::before  { width: 100%; transform: translateY(.38rem) rotate(45deg);  transition-delay: 150ms; }
  .schublade[open] .schublade__striche::after   { width: 100%; transform: translateY(-.38rem) rotate(-45deg); transition-delay: 150ms; }
  .schublade[open] > .schublade__griff::before { animation: griff-ring 620ms ease-out; }
  @keyframes griff-ring {
    0%   { opacity: 0;   transform: scale(.82); }
    35%  { opacity: .85; }
    100% { opacity: 0;   transform: scale(1.32); }
  }
}
@media (prefers-reduced-motion: reduce) {
  .schublade[open] .schublade__striche         { background-color: transparent; }
  .schublade[open] .schublade__striche::before { width: 100%; transform: translateY(.38rem) rotate(45deg); }
  .schublade[open] .schublade__striche::after  { width: 100%; transform: translateY(-.38rem) rotate(-45deg); }
}
.schublade:not([open]) .schublade__tafel { display: none; }
.schublade__tafel {
  position: fixed; inset: 0; top: var(--leisten-hoehe, 5rem);
  z-index: 2;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: var(--menue-grund);
  color: #fff;
}
.schublade__innen {
  display: grid; gap: 2rem; align-content: start;
  padding: 1.5rem var(--takt) 4rem;
}
.schublade__liste,
.schublade__unter,
.schublade__orte { list-style: none; margin: 0; padding: 0; }
.schublade__liste > li { border-bottom: 1px solid rgb(255 255 255 / .1); }
.schublade__ober {
  display: flex; align-items: center; justify-content: space-between;
  gap: .75rem; padding: .95rem 0;
  font-size: 1.05rem; font-weight: 500;
  color: #fff; text-decoration: none; cursor: pointer;
  list-style: none;
}
.schublade__ober::-webkit-details-marker { display: none; }
.schublade__marke { display: flex; align-items: center; gap: .75rem; min-width: 0; }
.schublade__bild {
  flex: none; width: 2.6rem; height: 2.6rem;
  border-radius: 50%; object-fit: cover;
  border: 1px solid rgb(255 255 255 / .18);
}
.schublade__name { min-width: 0; }
.schublade__liste > li.schublade__hier {
  border-inline-start: 3px solid var(--ak-hell);
  margin-inline-start: -.85rem;
  padding-inline-start: .85rem;
  background: linear-gradient(to right, rgb(255 255 255 / .05), transparent 55%);
}
.schublade__gruppe { padding: .2rem 0 1rem; display: grid; gap: .75rem; }
.schublade__teaser {
  margin: 0; max-width: 42ch;
  font-size: .9rem; line-height: 1.5; color: var(--menue-grau);
}
.schublade__alle {
  justify-self: start;
  display: inline-flex; align-items: center; gap: .6rem;
  padding: .6rem 1.1rem .6rem .6rem; border-radius: 999px;
  font-weight: 650; font-size: 1rem;
  color: var(--ak-hell); text-decoration: none;
  border: 1px solid rgb(255 255 255 / .14);
}
.schublade__alle:hover,
.schublade__alle:focus-visible {
  background: rgb(255 255 255 / .09);
  border-color: rgb(255 255 255 / .3);
}
.schublade__alle[aria-current] { border-color: var(--ak-hell); }
.schublade__kreis {
  display: grid; place-items: center; flex: none;
  width: 1.4rem; height: 1.4rem; border-radius: 50%;
  background: var(--ak-hell); color: var(--menue-grund); font-size: .75rem;
}
.schublade__unter { display: grid; gap: .1rem; }
.schublade__unter a {
  display: grid; gap: .1rem;
  padding: .55rem .6rem; border-radius: var(--radius);
  color: #fff; text-decoration: none;
}
.schublade__unter a:hover,
.schublade__unter a:focus-visible { background: rgb(255 255 255 / .07); }
.schublade__titel { font-weight: 600; font-size: 1rem; line-height: 1.3; }
.schublade__dazu  { font-size: .85rem; color: var(--menue-grau); line-height: 1.5; }
.schublade__unter a[aria-current] {
  background: rgb(255 255 255 / .09);
  box-shadow: inset 3px 0 0 var(--ak-hell);
}
.schublade__unter a[aria-current] .schublade__titel { font-weight: 700; }
.schublade__orte { display: grid; gap: .4rem; }
.schublade__orte a[aria-current] { box-shadow: inset 3px 0 0 var(--ak-hell); }
.schublade__orte a[aria-current] > span:not(.schublade__zeit) { font-weight: 700; }
.schublade__orte a {
  display: flex; align-items: center; gap: .6rem;
  padding: .7rem .8rem; border-radius: var(--radius);
  color: #fff; text-decoration: none; font-size: .95rem;
}
.schublade__zeit { margin-inline-start: auto; font-size: .8rem; color: var(--menue-grau); }
@media (prefers-reduced-motion: reduce) {
  .schublade__striche,
  .schublade__striche::before,
  .schublade__striche::after { transition: none; }
}
body.neu--start:has(.schublade[open]) .leiste::before {
  animation: none !important;
  opacity: 1 !important;
}
@media (max-width: 78rem) {
  .leiste__rechts { order: 2; }
  .schublade      { order: 3; margin-inline-start: 0; }
}
@media (max-width: 30rem) {
  .leiste__innen { gap: .5rem; padding-inline: 1rem; }
  .leiste__logo img { width: 7rem; }
  .ortwahl > summary { padding-inline: .5rem; font-size: .78rem; gap: .3rem; }
  .leiste__rechts .taste--klein { display: none; }
  .schublade__griff { width: 2.5rem; height: 2.5rem; }
}
@media (max-width: 22rem) {
  .ortwahl > summary { font-size: 0; padding-inline: .45rem; }
  .ortwahl > summary .ortwahl__punkt { width: .55rem; height: .55rem; }
  .ortwahl > summary .mega__pfeil { font-size: .6rem; }
}
body:has(.mega[open]) .leiste::before,
body:has(.schublade[open]) .leiste::before,
body:has(.ortwahl[open]) .leiste::before {
  opacity: 1;
  background: var(--menue-grund);
  -webkit-mask-image: none; mask-image: none;
  bottom: 0;
  transition: background-color 200ms ease, opacity 200ms ease;
}
html { scrollbar-gutter: stable; }
main > :first-child:not(.held):not(.seitenkopf):not(.buehne--kopf):not(.werkbank):not(:has(.held)):not(:has(.seitenkopf)):not(:has(.buehne--kopf)):not(:has(.manifest--zweispaltig)) {
  padding-top: clamp(6rem, 12vh, 8rem);
}
.seitenkopf {
  position: relative;
  isolation: isolate;
  display: grid; align-content: end;
  min-height: 100svh;
  width: 100%;
  padding-block: clamp(3rem, 8vh, 6rem) clamp(4rem, 9vh, 6.5rem);
}
@media (max-height: 34rem) {
  .seitenkopf {
    min-height: auto;
    padding-block: clamp(2rem, 6vh, 3.5rem) clamp(2.5rem, 7vh, 4rem);
  }
  .seitenkopf .weiterhinweis { display: none; }
}
.seitenkopf:not(.seitenkopf--bild) {
  background:
    radial-gradient(120% 130% at 88% -20%,
      color-mix(in srgb, var(--ak) 16%, transparent) 0%,
      transparent 62%),
    linear-gradient(to bottom, var(--ak-sanft) 0%, var(--tag) 88%);
}
.seitenkopf:not(.seitenkopf--bild)::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
  background: linear-gradient(to right,
    transparent 0%, color-mix(in srgb, var(--ak) 45%, transparent) 22%,
    color-mix(in srgb, var(--ak) 60%, transparent) 50%,
    color-mix(in srgb, var(--ak) 45%, transparent) 78%, transparent 100%);
}
.seite--recht + * .seitenkopf,
.seitenkopf--schlicht { background: none; }
.seitenkopf .weiterhinweis {
  position: static;
  transform: none;
  justify-self: start;
  margin-top: clamp(1.25rem, 3.5vh, 2.5rem);
}
.seitenkopf__innen {
  position: relative; z-index: 2;
  width: 100%; max-width: var(--breite);
  margin-inline: auto; padding-inline: var(--takt);
  display: grid; gap: .9rem; justify-items: start;
}
.seitenkopf__titel {
  margin: 0;
  font-size: clamp(1.75rem, 8vw, 3.6rem);
  line-height: 1.06;
  letter-spacing: .01em;
  display: grid;
  hyphens: auto;
  overflow-wrap: break-word;
}
.seitenkopf__titel > * { min-width: 0; }
@media (min-width: 34rem) {
  .seitenkopf__titel { font-size: clamp(2rem, 4.5vw, 3.6rem); }
}
.seitenkopf__teaser {
  margin: 0; max-width: 48ch;
  font-size: clamp(1rem, .45vw + .95rem, 1.2rem);
  line-height: 1.55;
  color: var(--grau);
}
.seitenkopf__einleitung {
  max-width: 46em;
  font-size: clamp(.92rem, .3vw + .88rem, 1.02rem);
  line-height: 1.6;
  color: var(--grau);
}
.seitenkopf__einleitung > * + * { margin-top: .7rem; }
.seitenkopf__einleitung > :first-child { margin-top: 0; }
.seitenkopf--bild .seitenkopf__einleitung { color: rgb(255 255 255 / .86); }
.seitenkopf--bild .fliesstext a:not(.taste) { color: var(--ak-hell); }
.seitenkopf--bild .fliesstext .fliesstext__quelle { color: rgb(255 255 255 / .72); }
.seitenkopf__wege { display: flex; flex-wrap: wrap; gap: .75rem; margin: .4rem 0 0; }
.seitenkopf--bild {
  color: #fff;
  background: var(--menue-grund);
}
.seitenkopf--bild .seitenkopf__teaser { color: rgb(255 255 255 / .84); }
.seitenkopf__bild { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.seitenkopf__bild img { width: 100%; height: 100%; object-fit: cover; display: block; }
.seitenkopf__bild--hoch img { object-position: 50% 30%; }
.seitenkopf__glas {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(to top,
    rgb(16 17 20 / .92) 0%,
    rgb(16 17 20 / .80) 34%,
    rgb(16 17 20 / .62) 62%,
    rgb(16 17 20 / .46) 82%,
    rgb(16 17 20 / .50) 100%);
  -webkit-backdrop-filter: blur(2px) saturate(108%);
  backdrop-filter: blur(2px) saturate(108%);
  -webkit-mask-image: linear-gradient(to top, #000 0%, #000 34%, rgb(0 0 0 / .88) 62%, rgb(0 0 0 / .72) 100%);
  mask-image: linear-gradient(to top, #000 0%, #000 34%, rgb(0 0 0 / .88) 62%, rgb(0 0 0 / .72) 100%);
}
.seitenkopf--bild::after {
  content: ""; position: absolute; inset-inline: 0; top: 0; z-index: 2;
  height: clamp(7rem, 16svh, 11rem);
  pointer-events: none;
  background: linear-gradient(to bottom,
    rgb(16 17 20 / .78) 0%,
    rgb(16 17 20 / .54) 38%,
    rgb(16 17 20 / .22) 68%,
    rgb(16 17 20 / 0) 100%);
}
.seitenkopf.seitenkopf--knapp {
  min-height: auto;
  padding-block: clamp(7.5rem, 16vh, 9rem) clamp(2rem, 5vh, 3.25rem);
}
.seitenkopf.seitenkopf--knapp .weiterhinweis { display: none; }
.seitenkopf.seitenkopf--hell {
  min-height: auto;
  padding-block: clamp(7.5rem, 16vh, 9rem) clamp(2rem, 5vh, 3.25rem);
  background: var(--tag);
}
.seitenkopf.seitenkopf--hell .weiterhinweis { display: none; }
.seitenkopf__schleier {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(100deg,
    rgb(250 250 248 / .94) 0%,
    rgb(250 250 248 / .88) 38%,
    rgb(250 250 248 / .62) 70%,
    rgb(250 250 248 / .40) 100%);
}
.seitenkopf--verschmolzen .seitenkopf__bild,
.seitenkopf--verschmolzen .seitenkopf__schleier {
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 40%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 40%, transparent 100%);
}
.seitenkopf--verschmolzen::after { display: none; }
.seitenkopf--verschmolzen { padding-bottom: 0; }
.seitenkopf--verschmolzen + .seite > .band:first-of-type { padding-top: clamp(1.5rem, 4vh, 2.75rem); }
.seitenkopf.seitenkopf--flaeche {
  --zplus-zeiss:  #2f3192;
  --zplus-tief:   #4651ab;
  --zplus-mitte:  #7a82c9;
  --zplus-hell:   #ab9fd6;
  color: #fff;
  background: linear-gradient(105deg,
    var(--zplus-zeiss) 0%,
    var(--zplus-tief)  38%,
    var(--zplus-mitte) 70%,
    var(--zplus-hell)  100%);
  overflow: hidden;
}
.seitenkopf.seitenkopf--flaeche::after { content: none; }
.seitenkopf.seitenkopf--flaeche .seitenkopf__titel { color: #fff; }
.seitenkopf.seitenkopf--flaeche .seitenkopf__titel .leicht { color: rgb(255 255 255 / .78); }
.seitenkopf.seitenkopf--flaeche .seitenkopf__titel .kraeftig { color: #fff; }
.seitenkopf--flaeche .seitenkopf__teaser { color: rgb(255 255 255 / .88); }
.seitenkopf--flaeche .seitenkopf__einleitung { color: rgb(255 255 255 / .88); }
.seitenkopf--flaeche .breadcrumbs,
.seitenkopf--flaeche .breadcrumbs a { color: rgb(255 255 255 / .86); }
.seitenkopf.seitenkopf--flaeche .weiterhinweis { color: rgb(255 255 255 / .85); }
.seitenkopf.seitenkopf--karbon {
  background-color: #101216;
  background-image:
    radial-gradient(70% 60% at 16% 0%, rgb(var(--neon-hof) / .12) 0%, transparent 62%),
    repeating-linear-gradient(45deg,
      rgb(255 255 255 / .04) 0 1px, transparent 1px 6px),
    repeating-linear-gradient(-45deg,
      rgb(0 0 0 / .05) 0 1px, transparent 1px 6px);
}
.seitenkopf__zeichen {
  position: absolute;
  right: -5%;
  bottom: -12%;
  width: min(22rem, 34vw);
  aspect-ratio: 1;
  pointer-events: none;
  background:
    linear-gradient(to right, transparent 34%, #fff 34% 66%, transparent 66%),
    linear-gradient(to bottom, transparent 34%, #fff 34% 66%, transparent 66%);
  opacity: .9;
}
@media (max-width: 48rem) {
  .seitenkopf__zeichen { width: 11rem; right: -2.5rem; bottom: -2.5rem; opacity: .5; }
}
.seitenkopf .breadcrumbs { margin: 0; }
.seitenkopf .breadcrumbs ol {
  display: flex; flex-wrap: wrap; gap: .25rem .5rem;
  list-style: none; margin: 0; padding: 0;
  font-size: .78rem; letter-spacing: .1em; text-transform: uppercase;
  align-items: center;
}
.seitenkopf .breadcrumbs li + li::before { content: "/"; margin-inline-end: .5rem; opacity: .5; }
.seitenkopf .breadcrumbs a { color: inherit; text-decoration: none; opacity: .75; }
.seitenkopf .breadcrumbs a:hover { opacity: 1; text-decoration: underline; }
.seitenkopf--bild .breadcrumbs,
.seitenkopf--bild .breadcrumbs a { color: rgb(255 255 255 / .86); }
@media (prefers-reduced-transparency: reduce) {
  .seitenkopf__glas {
    -webkit-backdrop-filter: none; backdrop-filter: none;
    -webkit-mask-image: none; mask-image: none;
    background: rgb(16 17 20 / .72);
  }
}
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .seitenkopf__bild img {
      animation: kopf-ziehen linear both;
      animation-timeline: view();
      animation-range: entry 0% exit 100%;
    }
    @keyframes kopf-ziehen {
      from { transform: scale(1.06) translateY(-1.5%); }
      to   { transform: scale(1.06) translateY(1.5%); }
    }
  }
}
.band {
  padding-block: clamp(2.5rem, 6vw, 5rem);
}
.band--sanft  { background: var(--tag); }
.band--nacht  { background: var(--menue-grund); color: #fff; }
.band--nacht a:not(.taste) { color: var(--ak-hell); }
.band--nacht .neu__marke { color: rgb(255 255 255 / .6); }
.band--eng    { padding-block: clamp(1.75rem, 4vw, 3rem); }
.band__innen {
  max-width: var(--breite); margin-inline: auto; padding-inline: var(--takt);
}
.band__kopf { display: grid; gap: .6rem; justify-items: start; margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.band__kopf h2 {
  margin: 0; font-size: clamp(1.4rem, 5vw, 2.4rem);
  line-height: 1.1; letter-spacing: -.015em; display: grid;
  hyphens: auto; overflow-wrap: break-word;
}
@media (min-width: 34rem) {
  .band__kopf h2 { font-size: clamp(1.6rem, 2.6vw, 2.4rem); }
}
:root {
  --lesebreite: 43em;
}
.band .fliesstext,
.seite .fliesstext { max-width: var(--lesebreite); }
.band .fliesstext--gegliedert,
.seite .fliesstext--gegliedert { max-width: none; }
.band .fliesstext--gegliedert:not(:has(.textblock)),
.seite .fliesstext--gegliedert:not(:has(.textblock)) { max-width: var(--lesebreite); }
.textblock { display: grid; gap: .85rem; }
.textblock--auftakt > * { max-width: var(--lesebreite); }
.fliesstext--gegliedert { --abschnitt-luft: clamp(6.25rem, 9vw, 9rem); }
.fliesstext--gegliedert .textblock + .textblock { margin-top: var(--abschnitt-luft); }
.textblock__inhalt > * { max-width: var(--lesebreite); }
.textblock__inhalt > :first-child { margin-top: 0; }
.textblock--dunkel > * { }
@media (min-width: 62rem) {
  .textblock {
    grid-template-columns: minmax(0, 17rem) minmax(0, 1fr);
    gap: clamp(1.5rem, 4vw, 3.5rem);
    align-items: start;
    min-height: 50svh;
    align-content: center;
    padding-block: clamp(2rem, 5vh, 4rem);
  }
  .textblock--auftakt { grid-template-columns: minmax(0, 1fr); }
  .textblock--auftakt { min-height: 0; padding-bottom: 0; }
  .fliesstext--gegliedert .textblock--auftakt + .textblock {
    margin-top: 0;
    min-height: 0;
    align-content: start;
  }
  .textblock--dunkel { padding-block: clamp(4rem, 9vw, 7rem); }
  .fliesstext .textblock > :is(h2, h3),
  .textblock > :is(h2, h3) {
    position: sticky;
    top: calc(var(--leisten-gesamt, 7rem) + 1.5rem);
    margin-top: 0;
  }
  .fliesstext--gegliedert .textblock > h2 {
    text-align: right;
    text-wrap: balance;
  }
}
@media (max-width: 61.99rem) {
  .textblock > :is(h2, h3) { position: static; }
}
.textblock > h2 { margin-top: 0; }
.textblock__freisteller {
  margin: 0;
  width: min(100%, 18rem);
}
.textblock__freisteller img {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 1.4rem 1.6rem rgb(16 17 20 / .18));
}
.textblock--dunkel .textblock__freisteller img {
  filter:
    drop-shadow(0 0 1px rgb(255 255 255 / .55))
    drop-shadow(0 0 .9rem rgb(255 255 255 / .10))
    drop-shadow(0 1.6rem 2.2rem rgb(0 0 0 / .55));
}
@media (min-width: 62rem) {
  .textblock--freisteller > .textblock__freisteller { grid-column: 2; }
  .textblock--auftakt.textblock--freisteller > .textblock__freisteller { grid-column: 1; }
}
@media (min-width: 75rem) {
  .textblock--freisteller {
    grid-template-columns: minmax(0, 17rem) minmax(0, 1fr) minmax(0, 19rem);
  }
  .textblock--auftakt.textblock--freisteller {
    grid-template-columns: minmax(0, 1fr) minmax(0, 19rem);
  }
  .textblock--freisteller > .textblock__freisteller,
  .textblock--auftakt.textblock--freisteller > .textblock__freisteller {
    grid-column: auto;
    width: 100%;
    align-self: center;
  }
}
.textblock--dunkel :is(.fliesstext__etikett, .preisliste li, table) {
  border-radius: 0;
}
.textblock--dunkel {
  position: relative;
  isolation: isolate;
  margin-inline: calc(50% - 50vw);
  width: 100vw;
  max-width: 100vw;
  padding-block: clamp(4rem, 9vw, 7rem);
  padding-inline: max(var(--takt), calc(50vw - var(--breite) / 2 + var(--takt)));
  border-radius: 0;
  border-top: 0;
  background: var(--menue-grund);
  color: #fff;
}
.textblock--dunkel :is(h2, h3) { color: #fff; }
.textblock--dunkel .punkt::before { color: var(--ak-hell); }
.fliesstext .textblock--dunkel .punkt__text,
.fliesstext .textblock--dunkel p,
.textblock--dunkel .punkt__text,
.textblock--dunkel p { color: rgb(255 255 255 / .88); }
.fliesstext .textblock--dunkel a:not(.taste),
.textblock--dunkel a:not(.taste) { color: var(--ak-hell); }
.fliesstext .textblock--dunkel .fliesstext__quelle,
.textblock--dunkel .fliesstext__quelle { color: var(--menue-grau); }
.fliesstext .textblock--bild .fliesstext__quelle,
.fliesstext .textblock--bild .punkt__text,
.textblock--bild .fliesstext__quelle,
.textblock--bild .punkt__text { color: rgb(255 255 255 / .82); }
.textblock--bild::before {
  content: "";
  position: absolute; inset: 0; z-index: -2;
  background-image: var(--abschnittsbild);
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}
.textblock--bild::after {
  content: "";
  position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(150deg,
    rgb(16 17 20 / .84) 0%, rgb(16 17 20 / .74) 55%, rgb(16 17 20 / .82) 100%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  backdrop-filter: blur(18px) saturate(140%);
}
@media (prefers-reduced-transparency: reduce) {
  .textblock--bild::before { display: none; }
  .textblock--bild::after {
    background: var(--menue-grund);
    -webkit-backdrop-filter: none; backdrop-filter: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .textblock--bild::before { background-attachment: scroll; }
}
.textblock--motiv {
  position: relative;
  isolation: isolate;
  margin-inline: calc(50% - 50vw);
  width: 100vw;
  max-width: 100vw;
  padding-block: clamp(4rem, 9vw, 7rem);
  padding-inline: max(var(--takt), calc(50vw - var(--breite) / 2 + var(--takt)));
}
.textblock--motiv.textblock--dunkel { background: var(--menue-grund); }
.fliesstext--gegliedert :is(.textblock--dunkel, .textblock--motiv) + :is(.textblock--dunkel, .textblock--motiv) {
  margin-top: 0;
}
.textblock--motiv::before {
  content: "";
  position: absolute; inset: 0; z-index: -2;
  background-image: var(--abschnittsbild);
  background-size: cover;
  background-position: center 30%;
  background-attachment: scroll;
}
.textblock--motiv.textblock--bild::after {
  -webkit-backdrop-filter: none; backdrop-filter: none;
}
@media (min-width: 80rem) {
  .textblock--motiv { grid-template-columns: minmax(0, 17rem) minmax(0, 28rem); }
  .textblock--motiv::before { inset: 0 0 0 50%; }
  .textblock--motiv.textblock--bild::after {
    background: linear-gradient(90deg,
      rgb(16 17 20) 0%, rgb(16 17 20) 50%, rgb(16 17 20 / .9) 65%,
      rgb(16 17 20 / .35) 80%, rgb(16 17 20 / 0) 92%);
  }
  .textblock--motiv:not(.textblock--dunkel)::before {
    -webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 30%, #000 70%);
    mask-image: linear-gradient(to right, transparent 0%, transparent 30%, #000 70%);
  }
}
@media (min-width: 90rem) {
  .textblock--motiv { grid-template-columns: minmax(0, 17rem) minmax(0, 36rem); }
}
@media (max-width: 79.99rem) {
  .textblock--motiv.textblock--bild::after { background: rgb(16 17 20 / .86); }
  .textblock--motiv:not(.textblock--dunkel) { padding-bottom: calc(clamp(4rem, 9vw, 7rem) + 15rem); }
  .textblock--motiv:not(.textblock--dunkel)::before {
    inset: auto 0 0 0; height: 19rem;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 45%);
    mask-image: linear-gradient(to bottom, transparent 0%, #000 45%);
  }
}
@media (min-width: 62rem) {
  .textblock--dunkel > :is(h2, h3) {
    top: calc(var(--leisten-gesamt, 7rem) + 2.5rem);
  }
}
.neu .fliesstext > * + * { margin-top: 1.55rem; }
.neu .fliesstext .textblock__inhalt > * + * { margin-top: 1.55rem; }
.neu .fliesstext .textblock__inhalt > * + h3 { margin-top: 2.6rem; }
.neu .fliesstext .textblock__inhalt > h3 + * { margin-top: .55rem; }
.fliesstext p + :is(ul, ol) { margin-top: .9rem; }
.fliesstext :is(ul, ol) + p { margin-top: 1.55rem; }
.fliesstext h2 { margin-top: 2.25rem; font-size: clamp(1.35rem, 1.8vw, 1.75rem); line-height: 1.2;
                 hyphens: auto; overflow-wrap: break-word; }
.fliesstext h3 { margin-top: 1.75rem; font-size: 1.15rem; }
.fliesstext .textblock__inhalt > h3 { color: var(--ak); font-weight: 600; }
.fliesstext .textblock--dunkel .textblock__inhalt > h3,
:is(.band--nacht, .nachtband) .fliesstext .textblock__inhalt > h3 { color: var(--ak-hell); }
.fliesstext ul, .fliesstext ol { padding-inline-start: 1.25rem; }
.fliesstext__frage {
  margin-top: 2rem;
  font-family: var(--schrift-text);
  font-size: 1.12rem; font-weight: 650;
  line-height: 1.35;
  color: var(--nacht);
  max-width: 32em;
}
.textblock--dunkel .fliesstext__frage,
.band--nacht .fliesstext__frage { color: #fff; }
.fliesstext__frage + * { margin-top: .6rem; }
.fliesstext ul:has(> .punkt) {
  list-style: none;
  padding-inline-start: 0;
  display: grid;
  gap: 1.4rem 2.5rem;
}
@media (min-width: 78rem) {
  .textblock__inhalt ul:has(> .punkt:nth-child(4)) {
    grid-template-columns: repeat(auto-fit, minmax(min(22em, 100%), 1fr));
    max-width: 62em;
  }
  .textblock__inhalt ul:has(> .punkt:nth-child(4)) > .punkt { max-width: none; }
}
.fliesstext .punkt {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  gap: .4rem .6rem;
  margin: 0;
}
.fliesstext .punkt::before {
  content: "→";
  grid-row: 1 / span 2;
  color: var(--ak);
  font-size: 1.05rem; line-height: 1.5;
}
.fliesstext .punkt__titel {
  grid-column: 2;
  font-weight: 650; font-size: 1.02rem;
  line-height: 1.35;
}
.fliesstext .punkt__text {
  grid-column: 2;
  color: var(--grau);
}
.band--nacht .fliesstext .punkt::before { color: var(--ak-hell); }
.band--nacht .fliesstext .punkt__text  { color: var(--menue-grau); }
@supports not selector(ul:has(> li)) {
  .fliesstext .punkt__titel::after { content: ": "; font-weight: 400; }
  .fliesstext .punkt__text { color: inherit; }
}
.seite:not(.seite--recht) .fliesstext :is(ul, ol):not([class]):not(:has(> .punkt)):has(> li:nth-child(2)) {
  list-style: none;
  padding-inline-start: 0;
}
.seite:not(.seite--recht) .fliesstext ol:not([class]):not(:has(> .punkt)):has(> li:nth-child(2)) {
  counter-reset: aufzaehlung;
  display: grid;
  gap: 0;
  margin-block: var(--raum-3, 1.5rem);
}
.seite:not(.seite--recht) .fliesstext ol:not([class]):not(:has(> .punkt)):has(> li:nth-child(2)) > li {
  counter-increment: aufzaehlung;
  position: relative;
  margin: 0;
  padding: 1.5rem 0 1.5rem 6rem;
}
.seite:not(.seite--recht) .fliesstext ol:not([class]):not(:has(> .punkt)):has(> li:nth-child(2)) > li::before {
  content: counter(aufzaehlung, decimal-leading-zero);
  position: absolute; left: 0; top: 1.35rem;
  font-size: 2.6rem; line-height: .9; font-weight: 700;
  letter-spacing: .02em;
  color: var(--ak);
  opacity: .45;
}
@supports (-webkit-text-stroke: 1px currentColor) {
  .seite:not(.seite--recht) .fliesstext ol:not([class]):not(:has(> .punkt)):has(> li:nth-child(2)) > li::before {
    color: transparent;
    opacity: 1;
    -webkit-text-stroke: 1px var(--ak);
  }
}
.seite:not(.seite--recht) .fliesstext ol:not([class]):not(:has(> .punkt)):has(> li:nth-child(2)) > li::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: 0;
  height: 1px; background: currentColor; opacity: .18;
  transform-origin: left;
}
.seite:not(.seite--recht) .fliesstext ol:not([class]):not(:has(> .punkt)) > li:last-child::after { display: none; }
.seite:not(.seite--recht) .fliesstext ul:not([class]):not(:has(> .punkt)):has(> li:nth-child(2)) {
  position: relative;
  display: grid;
  gap: 1.5rem;
  padding-inline-start: 2.4rem;
  margin-block: var(--raum-3, 1.5rem);
}
.seite:not(.seite--recht) .fliesstext ul:not([class]):not(:has(> .punkt)):has(> li:nth-child(2))::before {
  content: "";
  position: absolute; left: .5rem; top: .55rem; bottom: .55rem;
  width: 1px; background: currentColor; opacity: .13;
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(to bottom, transparent, #000 8%, #000 92%, transparent);
}
.seite:not(.seite--recht) .fliesstext ul:not([class]):not(:has(> .punkt)):has(> li:nth-child(2))::after {
  content: "";
  position: absolute; left: .5rem; top: .55rem; bottom: .55rem;
  width: 1px;
  background: currentColor;
  opacity: .55;
  transform-origin: top;
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(to bottom, transparent, #000 8%, #000 92%, transparent);
}
.seite:not(.seite--recht) .fliesstext ul:not([class]):not(:has(> .punkt)):has(> li:nth-child(2)) > li {
  position: relative; margin: 0;
}
.seite:not(.seite--recht) .fliesstext ul:not([class]):not(:has(> .punkt)):has(> li:nth-child(2)) > li::before {
  content: "";
  position: absolute; left: -2.15rem; top: .5rem;
  width: .55rem; height: .55rem; border-radius: 50%;
  border: 1px solid currentColor;
  background: currentColor;
}
:is(.textblock--dunkel, .band--nacht, .nachtband) .fliesstext ol:not([class]) > li::before,
:is(.textblock--dunkel, .band--nacht, .nachtband) ol:not([class]) > li::before { -webkit-text-stroke-color: var(--ak-hell); color: var(--ak-hell); }
:is(.textblock--dunkel, .band--nacht, .nachtband) ul:not([class]):not(:has(> .punkt))::after { opacity: .38; }
:is(.textblock--dunkel, .band--nacht, .nachtband) ul:not([class]):not(:has(> .punkt)) > li::before {
  border-color: #fff;
  background: #fff;
}
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .seite:not(.seite--recht) .fliesstext ol:not([class]):not(:has(> .punkt)) > li::before {
      animation: aufzaehlung-ziffer linear both;
      animation-timeline: view(); animation-range: entry 10% cover 28%;
    }
    .seite:not(.seite--recht) .fliesstext ol:not([class]):not(:has(> .punkt)) > li::after {
      animation: aufzaehlung-linie linear both;
      animation-timeline: view(); animation-range: entry 10% cover 30%;
    }
    .seite:not(.seite--recht) .fliesstext ul:not([class]):not(:has(> .punkt))::after {
      animation: aufzaehlung-strahl linear both;
      animation-timeline: view(); animation-range: entry 20% cover 70%;
    }
    .seite:not(.seite--recht) .fliesstext ul:not([class]):not(:has(> .punkt)) > li::before {
      animation: aufzaehlung-ring linear both;
      animation-timeline: view(); animation-range: entry 25% cover 45%;
    }
  }
}
@keyframes aufzaehlung-ziffer {
  from { opacity: 0; filter: blur(6px); transform: translateY(.4rem); }
  to   { opacity: 1; filter: none;      transform: none; }   
}
@keyframes aufzaehlung-linie  { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes aufzaehlung-strahl { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes aufzaehlung-ring   { from { transform: scale(.7); } to { transform: scale(1); } }
@media (max-width: 34rem) {
  .seite:not(.seite--recht) .fliesstext ol:not([class]):not(:has(> .punkt)):has(> li:nth-child(2)) > li {
    padding: 2.6rem 0 1.2rem 0;
  }
  .seite:not(.seite--recht) .fliesstext ol:not([class]):not(:has(> .punkt)):has(> li:nth-child(2)) > li::before {
    font-size: 1.9rem; top: .5rem;
  }
}
.fliesstext__weg { margin-top: var(--raum-3, 1.5rem); }
.fliesstext__weg .taste { text-decoration: none; }
.fliesstext li + li { margin-top: .65rem; }
.fliesstext a:not(.taste) { color: var(--ak); text-underline-offset: .18em; }
.unterkacheln {
  display: grid; gap: clamp(.9rem, 2vw, 1.4rem);
  grid-template-columns: repeat(auto-fill, minmax(min(15rem, 100%), 1fr));
  list-style: none; margin: 0; padding: 0;
}
.ortkarten {
  display: grid; gap: clamp(.9rem, 2vw, 1.4rem);
  grid-template-columns: repeat(auto-fill, minmax(min(16rem, 100%), 1fr));
  list-style: none; margin: 0; padding: 0;
}
.ortkarte,
.wandmarke,
.mega__liste a,
.schublade__orte a {
  --glas-licht: .10;   
  --glas-kante: .14;   
  --glas-ton: 255 255 255;     
  --glas-ton-staerke: .085;    
  position: relative;
  background:
    radial-gradient(130% 90% at 10% -20%,
      rgb(255 255 255 / var(--glas-licht)) 0%, transparent 60%),
    linear-gradient(168deg,
      rgb(var(--glas-ton) / var(--glas-ton-staerke)) 0%,
      rgb(var(--glas-ton) / calc(var(--glas-ton-staerke) * .47))  46%,
      rgb(var(--glas-ton) / calc(var(--glas-ton-staerke) * .235)) 100%);
  border: 1px solid rgb(255 255 255 / .1);
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / var(--glas-kante)),
    inset 0 -1px 0 rgb(0 0 0 / .35),
    0 12px 28px -16px rgb(0 0 0 / .75);
  transition: border-color 200ms ease, box-shadow 200ms ease,
              transform 200ms ease, background 200ms ease;
}
.mega__liste a,
.schublade__orte a { --glas-licht: .06; }
.wandmarke { --glas-ton-staerke: .045; --glas-licht: .05; }
.wandmarke:hover, .wandmarke:focus-within {
  --glas-licht: .08;
  --glas-kante: .22;
  border-color: rgb(255 255 255 / .2);
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / var(--glas-kante)),
    inset 0 -1px 0 rgb(0 0 0 / .35),
    0 16px 34px -16px rgb(0 0 0 / .8);
}
.ortkarte:hover, .ortkarte:focus-within {
  --glas-licht: .12;
  --glas-kante: .22;
  border-color: rgb(255 255 255 / .2);
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / var(--glas-kante)),
    inset 0 -1px 0 rgb(0 0 0 / .35),
    0 16px 34px -16px rgb(0 0 0 / .8);
}
.mega__liste a:hover, .mega__liste a:focus-visible,
.schublade__orte a:hover, .schublade__orte a:focus-visible {
  --glas-licht: .08;
  --glas-kante: .22;
  border-color: rgb(255 255 255 / .2);
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / var(--glas-kante)),
    inset 0 -1px 0 rgb(0 0 0 / .35),
    0 16px 34px -16px rgb(0 0 0 / .8);
}
@media (prefers-reduced-transparency: reduce) {
  .ortkarte,
  .wandmarke,
  .mega__liste a,
  .schublade__orte a {
    background: #212429;
    box-shadow: none;
  }
}
.ortkarte {
  --glas-ton: var(--schimmer-tief, 197 155 66);
  display: grid; gap: .7rem; align-content: start;
  padding: clamp(1.2rem, 2vw, 1.6rem);
  border-radius: var(--radius);
  border-top: 2px solid var(--ak-hell);
}
.ortkarte:hover,
.ortkarte:focus-within {
  border-top-color: var(--ak-hell);
  transform: translateY(-2px);
}
.ortkarte__kopf { display: flex; align-items: center; gap: .6rem; }
.ortkarte__kopf .wappen { flex: none; }
.ortkarte h3 { margin: 0; font-size: 1.2rem; font-weight: 650; }
.ortkarte h3 a { color: #fff; text-decoration: none; }
.ortkarte h3 a:hover { text-decoration: underline; }
.ortkarte__adresse { margin: 0; font-size: .9rem; line-height: 1.5; color: var(--menue-grau); }
.ortkarte__wege { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; margin: .35rem 0 0; }
.ortkarte__tel { font-size: .9rem; color: var(--ak-hell); text-decoration: none; }
.ortkarte__tel:hover { text-decoration: underline; }
@media (prefers-reduced-motion: reduce) {
  .ortkarte, .wandmarke, .mega__liste a, .schublade__orte a { transition: none; }
  .ortkarte:hover { transform: none; }
}
.taste--still {
  background: transparent;
  color: var(--ak);
  border: 1px solid var(--linie);
}
.taste--still:hover { background: var(--ak-sanft); border-color: var(--ak); }
.band--nacht .taste--still,
.seitenkopf--bild .taste--still {
  color: #fff; border-color: rgb(255 255 255 / .32);
}
.band--nacht .taste--still:hover,
.seitenkopf--bild .taste--still:hover {
  background: rgb(255 255 255 / .12); border-color: rgb(255 255 255 / .6);
}
.unterkacheln .kachel { min-height: 13rem; }
.unterkacheln .kachel__dazu { display: block; }
.unterkacheln > li { display: grid; }
.unterkacheln > li > .kachel { height: 100%; }
.unterkacheln__held { grid-column: 1 / -1; }
.unterkacheln__held .kachel { min-height: clamp(18rem, 34vw, 26rem); }
.unterkacheln__held .kachel__text { padding: clamp(1.5rem, 3vw, 2.5rem); max-width: 46rem; }
.unterkacheln__held .kachel__titel { font-size: clamp(1.6rem, 3.2vw, 2.6rem); }
.unterkacheln__held .kachel__dazu  { font-size: clamp(.95rem, 1.4vw, 1.1rem); max-width: 42ch; }
.kachel__knopf {
  display: inline-flex; align-items: center; gap: .6rem;
  justify-self: start;
  margin-top: .85rem;
  padding: .55rem .6rem .55rem 1.1rem;
  border: 1px solid rgb(255 255 255 / .38);
  border-radius: 999px;
  font-size: .92rem; font-weight: 600;
  color: #fff;
  transition: background-color 200ms ease, border-color 200ms ease;
}
.kachel__knopfkreis {
  display: grid; place-items: center; flex: none;
  width: 1.6rem; height: 1.6rem; border-radius: 50%;
  background: #fff; color: var(--nacht);
  font-size: .8rem;
}
.kachel:hover .kachel__knopf,
.kachel:focus-visible .kachel__knopf {
  background: rgb(255 255 255 / .16);
  border-color: #fff;
}
@media (max-width: 44rem) {
  .unterkacheln__held .kachel { min-height: 15rem; }
  .unterkacheln__held .kachel__titel { font-size: 1.5rem; }
}
@media (prefers-reduced-motion: reduce) {
  .kachel__knopf { transition: none; }
}
.personen {
  display: grid; gap: clamp(1.2rem, 2.5vw, 2rem);
  grid-template-columns: repeat(auto-fill, minmax(min(15rem, 100%), 1fr));
  list-style: none; margin: 0; padding: 0;
}
.person { display: grid; gap: .85rem; align-content: start; }
.person__bild {
  position: relative;
  display: block; overflow: hidden;
  border-radius: var(--radius); aspect-ratio: 1 / 1;
  background: var(--tag);
}
.person__wappen {
  position: absolute; left: .55rem; bottom: .55rem;
  display: flex; align-items: center;
  pointer-events: none;
}
.person__wappen .wappen {
  box-shadow: 0 0 0 2px var(--tag), 0 1px 4px rgb(0 0 0 / .28);
}
.person__wappen .wappen + .wappen { margin-left: -.5rem; }
.person__bild-zeichen { display: block; }
.person__bild > img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  object-position: 50% 0;
  transition: transform 600ms cubic-bezier(.2,.7,.3,1);
}
.person:hover .person__bild > img { transform: scale(1.03); }
.person__bild--leer {
  display: grid; place-items: center;
  font-size: 3rem; font-weight: 300; color: var(--ak);
  background: var(--ak-sanft);
}
.person__text { display: grid; gap: .35rem; }
.person h2 { margin: 0; font-size: 1.1rem; font-weight: 650; line-height: 1.25; }
.person__funktion { margin: 0; font-size: .88rem; color: var(--grau); }
.person__satz { margin: .25rem 0 0; font-size: .9rem; line-height: 1.5; color: var(--grau); }
.person__pillen { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .5rem; }
.ansprechpartner { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--raum-3, 1rem); }
.ansprechpartner__titel {
  margin: 0; font-size: clamp(1.25rem, 2vw, 1.6rem); font-weight: 700; line-height: 1.2;
}
.personen--schmal {
  grid-template-columns: repeat(auto-fill, minmax(min(11rem, 100%), 1fr));
  max-width: 46rem; gap: clamp(1rem, 2vw, 1.5rem);
}
.personen--schmal .person h3 { margin: 0; font-size: 1.05rem; font-weight: 650; line-height: 1.25; }
.ansprechpartner__mehr { margin: 0; font-size: .9rem; }
.ansprechpartner__mehr a { color: var(--ak); }
.pille--link {
  text-decoration: none; cursor: pointer;
  transition: background-color 160ms ease, border-color 160ms ease;
}
.pille--link:hover { background: var(--ak-sanft); border-color: var(--ak); color: var(--ak); }
.ortliste { display: grid; gap: clamp(1.25rem, 3vw, 2rem); list-style: none; margin: 0; padding: 0; }
.ortzeile {
  display: grid; gap: clamp(1rem, 2.5vw, 2rem);
  grid-template-columns: minmax(min(12rem, 100%), 22rem) 1fr;
  align-items: center;
  padding: clamp(1rem, 2vw, 1.5rem);
  border-radius: var(--radius);
  background: var(--tag);
  border-left: 3px solid var(--ak);
}
.ortzeile__bild {
  display: block; border-radius: var(--radius); overflow: hidden; line-height: 0;
  border: 1px solid var(--linie);
  box-shadow: 0 2px 10px -6px rgb(20 18 14 / .35);
}
.ortzeile__bild img {
  width: 100%; height: 100%; display: block;
  aspect-ratio: 3 / 2; object-fit: cover;
}
.ortzeile:not(:has(.ortzeile__bild)) { grid-template-columns: 1fr; }
.ortzeile__text { display: grid; gap: .55rem; justify-items: start; }
.ortzeile h2 { margin: 0; font-size: clamp(1.25rem, 1.8vw, 1.6rem); font-weight: 650; }
.ortzeile h2 a { color: inherit; text-decoration: none; }
.ortzeile h2 a:hover { text-decoration: underline; }
.ortzeile address { font-style: normal; line-height: 1.5; color: var(--grau); }
.ortzeile__wege { display: flex; flex-wrap: wrap; gap: .6rem; margin: .35rem 0 0; }
@media (max-width: 48rem) {
  .ortzeile { grid-template-columns: 1fr; }
}
.beitraege { display: grid; list-style: none; margin: 0; padding: 0; }
.beitrag + .beitrag { border-top: 1px solid var(--linie); }
.beitrag a {
  display: grid; gap: .3rem;
  grid-template-columns: 1fr auto;
  grid-template-areas: "datum  pfeil" "titel pfeil" "dazu  pfeil";
  align-items: center;
  padding: clamp(1.1rem, 2.5vw, 1.75rem) .5rem;
  color: inherit; text-decoration: none;
  transition: background-color 180ms ease, padding-inline 240ms ease;
}
.beitrag a:hover,
.beitrag a:focus-visible { background: var(--ak-sanft); padding-inline: 1.1rem .5rem; }
.beitrag__datum {
  grid-area: datum;
  font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: var(--grau);
}
.beitrag__titel { grid-area: titel; font-size: clamp(1.15rem, 1.8vw, 1.5rem); font-weight: 650; line-height: 1.25; }
.beitrag__stand {
  margin: 0 0 1.5rem;
  font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: var(--grau);
}
.beitrag__dazu  { grid-area: dazu;  font-size: .92rem; line-height: 1.5; color: var(--grau); max-width: 60ch; }
.beitrag__pfeil {
  grid-area: pfeil; justify-self: end;
  display: grid; place-items: center;
  width: 2.2rem; height: 2.2rem; border-radius: 50%;
  background: var(--ak); color: #fff;
  opacity: 0; transform: translateX(-.4rem);
  transition: opacity 200ms ease, transform 200ms ease;
}
.beitrag a:hover .beitrag__pfeil,
.beitrag a:focus-visible .beitrag__pfeil { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .beitrag a, .beitrag__pfeil, .person__bild > img { transition: none; }
  .beitrag__pfeil { opacity: .55; transform: none; }
}
.kachel--text {
  min-height: 0;
  background: var(--tag);
  border-left: 3px solid var(--ak);
  color: var(--nacht);
}
.kachel--text .kachel__text { position: static; padding: 1.1rem 1.25rem; }
.kachel--text .kachel__titel { color: var(--nacht); }
.kachel--text .kachel__dazu  { color: var(--grau); }
.kachel--text .kachel__ueber { color: var(--ak); }
.kachel--text .kachel__knopf { color: var(--nacht); border-color: var(--farbe-rahmen); }
.kachel--text .kachel__knopfkreis { background: var(--nacht); color: #fff; }
.kachel--text:hover .kachel__knopf,
.kachel--text:focus-visible .kachel__knopf { background: rgb(16 17 20 / .06); border-color: var(--nacht); }
.kachel--text::after { display: none; }
.ratgeber__kacheln {
  --kachel-luecke: clamp(.75rem, 1.5vw, 1.25rem);
  gap: var(--kachel-luecke);
  grid-template-columns: repeat(auto-fill,
    minmax(max(min(15rem, 100%), calc((100% - 3 * var(--kachel-luecke)) / 4)), 1fr));
}
.ratgeber__kacheln .kachel__titel {
  font-size: clamp(.98rem, .35vw + .9rem, 1.1rem);
  line-height: 1.3;
  letter-spacing: -.005em;
}
.ratgeber__kacheln .kachel__knopf { margin-top: .6rem; font-size: .86rem; }
.seite .ratgeber__alle { margin-top: clamp(1.5rem, 3vw, 2.25rem); }
.seite--ratgeber .ratgeber__hinweis {
  margin-top: clamp(2rem, 4vw, 3rem);
  max-width: 44rem;
  color: var(--grau);
}
.kachel--text:hover { background: var(--ak-sanft); }
.unterkacheln--text { grid-template-columns: repeat(auto-fill, minmax(min(17rem, 100%), 1fr)); }
.standort__status { margin: 0 0 1.25rem; }
.seite--standort .standort__raster {
  display: grid; gap: clamp(1.5rem, 4vw, 3rem);
  grid-template-columns: repeat(auto-fit, minmax(min(18rem, 100%), 1fr));
}
.seite--standort .standort__kontakt address { font-style: normal; line-height: 1.6; margin-block: .75rem; }
.seite--standort h2 { font-size: clamp(1.25rem, 1.8vw, 1.6rem); margin-top: 0; }
.seite--standort h3 { font-size: 1.05rem; margin-top: 1.5rem; }
.seitenfuss__wege { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.suche__formular {
  display: flex; flex-wrap: wrap; gap: .6rem;
  max-width: 34rem; margin: 0 0 1.5rem;
}
.suche__formular input {
  flex: 1 1 12rem; min-width: 0;
  padding: .7rem 1rem; font: inherit;
  border: 1px solid var(--farbe-rahmen); border-radius: 999px;
  background: var(--tag); color: var(--nacht);
}
.suche__formular .taste,
.suche__formular button { flex: 0 0 auto; }
.suche__formular input:focus-visible { outline: 2px solid var(--fokus); outline-offset: 2px; }
.schublade__suchblock { display: grid; gap: .75rem; }
.schublade__suche { display: flex; flex-wrap: wrap; gap: .5rem; }
.schublade__suche input {
  flex: 1 1 10rem; min-width: 0; padding: .7rem 1rem; font: inherit; font-size: .95rem;
  border-radius: 999px; color: #fff;
  background: rgb(255 255 255 / .08);
  border: 1px solid rgb(255 255 255 / .22);
}
.schublade__suche input::placeholder { color: rgb(255 255 255 / .5); }
.schublade__suche button {
  padding: .7rem 1.1rem; border-radius: 999px; cursor: pointer;
  font: inherit; font-size: .95rem; font-weight: 600;
  background: var(--ak-hell); color: var(--menue-grund); border: 0;
}
.band--nacht .wandmarke__herkunft,
.band--nacht .europawand__einleitung { color: var(--menue-grau); }
.band--nacht .wandmarke__logo img { background: #fff; border-radius: var(--radius); padding: .5rem; }
.band--nacht .fliesstext { color: rgb(255 255 255 / .9); }
.band--nacht .fliesstext a { color: var(--ak-hell); }
.oeffnungszeiten { width: 100%; border-collapse: collapse; }
.oeffnungszeiten th,
.oeffnungszeiten td { text-align: left; padding: .5rem .25rem; border-bottom: 1px solid var(--linie); }
.oeffnungszeiten th { font-weight: 500; }
.oeffnungszeiten .ist-heute { font-weight: 650; }
.oeffnungszeiten .marker {
  display: inline-block; margin-inline-start: .4rem;
  padding: .1rem .45rem; border-radius: 999px;
  font-size: .7rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
  background: var(--ak); color: #fff;
}
.knopf {
  display: inline-flex; align-items: center; gap: .55rem;
  padding: .7rem 1.3rem; border-radius: 999px;
  font: inherit; font-size: .92rem; font-weight: 600;
  line-height: 1; text-decoration: none; cursor: pointer;
  border: 1px solid transparent;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}
.knopf--primaer {
  background: var(--ak); color: #fff; border-color: var(--ak);
}
.knopf--primaer:hover { background: var(--nacht); border-color: var(--nacht); }
.knopf--sekundaer {
  background: transparent; color: var(--ak); border-color: var(--linie);
}
.knopf--sekundaer:hover { background: var(--ak-sanft); border-color: var(--ak); }
.buehne .knopf--primaer {
  background: rgb(8 9 12 / .72);
  border-color: rgb(var(--neon, 255 186 74) / .85);
  color: rgb(var(--neon-kern, 255 246 230));
  text-shadow: 0 0 10px rgb(var(--neon, 255 186 74) / .75);
  box-shadow:
    0 0 0 1px rgb(var(--neon, 255 186 74) / .25),
    0 0 18px rgb(var(--neon, 255 186 74) / .45),
    0 0 44px rgb(var(--neon, 255 186 74) / .2);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.buehne .knopf--primaer:hover,
.buehne .knopf--primaer:focus-visible {
  background: rgb(8 9 12 / .82);
  border-color: rgb(var(--neon, 255 186 74));
  box-shadow:
    0 0 0 1px rgb(var(--neon, 255 186 74) / .4),
    0 0 26px rgb(var(--neon, 255 186 74) / .6),
    0 0 60px rgb(var(--neon, 255 186 74) / .3);
}
.buehne .knopf--still {
  border-color: rgb(var(--neon, 255 186 74) / .4);
}
.buehne .knopf--still:hover,
.buehne .knopf--still:focus-visible {
  border-color: rgb(var(--neon, 255 186 74) / .8);
  box-shadow: 0 0 16px rgb(var(--neon, 255 186 74) / .35);
}
.knopf--still {
  background: rgb(255 255 255 / .12);
  border-color: rgb(255 255 255 / .45);
  color: #fff;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.knopf--still:hover,
.knopf--still:focus-visible {
  background: rgb(255 255 255 / .2);
  border-color: #fff;
}
.band--nacht .knopf--sekundaer,
.seitenkopf--bild .knopf--sekundaer { color: #fff; border-color: rgb(255 255 255 / .32); }
.band--nacht .knopf--sekundaer:hover,
.seitenkopf--bild .knopf--sekundaer:hover { background: rgb(255 255 255 / .12); }
.marken__kopf h2,
.faq > h2,
.bewertungen > h2,
.werkzeug > h2,
.downloads__gruppe > h2,
.suche__gruppe > h2,
.anfrage > h2 {
  margin: 0 0 1rem;
  font-size: clamp(1.4rem, 5vw, 2.4rem);
  line-height: 1.1; letter-spacing: -.015em;
  display: grid;
  hyphens: auto; overflow-wrap: break-word;
}
@media (min-width: 34rem) {
  .marken__kopf h2, .faq > h2, .bewertungen > h2, .werkzeug > h2,
  .downloads__gruppe > h2, .suche__gruppe > h2, .anfrage > h2 {
    font-size: clamp(1.6rem, 2.6vw, 2.4rem);
  }
}
.markenraster { gap: clamp(.8rem, 1.6vw, 1.2rem); }
.markenraster__link {
  border-radius: var(--radius);
  border-color: var(--linie);
  background: var(--tag);
}
.markenraster__link:hover,
.markenraster__link:focus-visible {
  border-color: var(--ak);
  box-shadow: 0 12px 28px -18px rgb(20 18 14 / .45);
  transform: translateY(-2px);
}
.markenraster__link { transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease; }
.markenraster__bild { background: var(--tag); }
.markenraster__text { border-top-color: var(--linie); }
@media (prefers-reduced-motion: reduce) {
  .markenraster__link { transition: none; }
  .markenraster__link:hover { transform: none; }
}
.faq__eintrag {
  border: 1px solid var(--linie); border-radius: var(--radius);
  background: var(--tag);
  padding: .25rem 1.1rem;
}
.faq__eintrag + .faq__eintrag { margin-top: 1.25rem; }
.faq__eintrag > summary {
  cursor: pointer; list-style: none;
  padding: .95rem 0; font-weight: 600;
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
}
.faq__eintrag > summary::-webkit-details-marker { display: none; }
.faq__eintrag > summary::after {
  content: "+"; flex: none;
  display: grid; place-items: center;
  width: 1.6rem; height: 1.6rem; border-radius: 50%;
  background: var(--ak-sanft); color: var(--ak);
  font-weight: 400; font-size: 1.1rem; line-height: 1;
}
.faq__eintrag[open] > summary::after { content: "−"; }
.faq__antwort { padding-bottom: 1rem; max-width: 60ch; }
.faq__antwort > * + * { margin-top: .75rem; }
.kontaktblock {
  padding: clamp(1.25rem, 3vw, 2rem);
  border-radius: var(--radius);
  background: var(--tag);
  border-left: 3px solid var(--ak);
}
.kontaktblock + .kontaktblock { margin-top: clamp(1rem, 2.5vw, 1.75rem); }
.kontaktblock__kopf {
  display: flex; align-items: baseline; flex-wrap: wrap; gap: .5rem 1.25rem;
  margin-bottom: 1.25rem;
}
.kontaktblock__kopf h2 {
  margin: 0; font-size: clamp(1.3rem, 2.4vw, 1.9rem);
  line-height: 1.15; letter-spacing: -.015em;
}
.kontaktblock__raster {
  display: grid; gap: clamp(1.25rem, 3vw, 2.5rem);
  grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr));
  align-items: start;
}
.kontaktblock address,
.ortzeile address,
.seite--standort address { font-style: normal; line-height: 1.6; }
.kontaktblock__firma { display: block; font-weight: 600; margin-bottom: .25rem; }
.kontaktblock__wege { display: grid; gap: .2rem; margin-top: .75rem; }
.kontaktblock__wege a { color: var(--ak); text-decoration: none; font-weight: 500; }
.kontaktblock__wege a:hover { text-decoration: underline; }
.kontaktblock__aktionen { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.25rem 0 0; }
.kontakt__feedbackhinweis { margin-top: 1.5rem; color: var(--grau); }
.kontakt__feedbackhinweis a { color: var(--ak); }
.hinweis--ruhig {
  background: none; border: 0; padding: 0;
  margin-top: 1.25rem;
  font-size: .9rem; color: var(--grau);
}
.kontaktblock .oeffnungszeiten th,
.kontaktblock .oeffnungszeiten td { border-bottom-color: rgb(16 17 20 / .08); }
.kontaktblock .oeffnungszeiten .ist-heute td,
.kontaktblock .oeffnungszeiten .ist-heute th { color: var(--ak); }
.anfrage {
  margin-block: 0;
  padding-block: 0;
  border-top: 0;
}
.anfrage > h2 { margin-top: 0; }
.anfrage__einleitung { max-width: 52ch; color: var(--grau); margin-bottom: 1.75rem; }
.anfrage__formular {
  max-width: 46rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border-radius: var(--radius);
  background: var(--tag);
  border: 1px solid var(--linie);
  border-top: 3px solid var(--ak);
}
.band--sanft .anfrage__formular { background: var(--tag); }
.anfrage__felder { gap: 1rem; margin-block: 0 1.5rem; }
.anfrage__feld label { font-weight: 600; font-size: .92rem; }
.anfrage__feld input,
.anfrage__feld select,
.anfrage__feld textarea {
  padding: .8rem 1rem;
  border-radius: var(--radius);
  border-color: var(--farbe-rahmen);
  background: var(--tag);
  transition: border-color 160ms ease, box-shadow 160ms ease;
}
.anfrage__feld input:hover,
.anfrage__feld select:hover,
.anfrage__feld textarea:hover { border-color: var(--nacht); }
.anfrage__feld input:focus-visible,
.anfrage__feld select:focus-visible,
.anfrage__feld textarea:focus-visible {
  border-color: var(--ak);
  outline: 2px solid var(--fokus); outline-offset: 1px;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--ak) 14%, transparent);
}
.anfrage__feld textarea { min-height: 8rem; }
.anfrage__aktionen { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.anfrage__aktionen .knopf--primaer,
.anfrage__aktionen button[type="submit"] {
  padding: .85rem 1.6rem; font-size: .95rem;
}
.anfrage__datenschutz,
.anfrage__pflichthinweis,
.anfrage__recaptcha { font-size: .85rem; color: var(--grau); }
.anfrage__datenschutz a, .anfrage__recaptcha a { color: var(--ak); }
.anfrage__erfolg {
  padding: clamp(1.25rem, 3vw, 2rem);
  border-radius: var(--radius);
  background: var(--ak-sanft);
  border-left: 3px solid var(--ak);
  max-width: 46rem;
}
.anfrage__erfolg-titel { margin-top: 0; color: var(--ak); }
.anfrage__fehlerliste {
  padding: 1rem 1.25rem; border-radius: var(--radius);
  background: #fdf2f2; border-left: 3px solid #9b2c2c;
  margin-bottom: 1.5rem;
}
.werkzeug { overflow-x: clip; }
.markenfilter {
  display: flex; flex-wrap: wrap; align-items: flex-end;
  gap: .75rem 1.25rem;
  margin-bottom: 1.5rem;
}
.standorthinweis {
  background: var(--ak-sanft);
  border-bottom: 1px solid var(--linie);
}
.standorthinweis__innen {
  display: flex; align-items: center; flex-wrap: wrap;
  gap: .6rem 1.25rem;
  max-width: var(--breite); margin-inline: auto;
  padding: .9rem var(--takt);
}
.standorthinweis .wappen { flex: none; }
.standorthinweis__text { margin: 0; font-size: .95rem; }
.standorthinweis__text strong { font-weight: 650; }
.standorthinweis__wechsel {
  margin: 0; margin-inline-start: auto;
  display: flex; flex-wrap: wrap; gap: .35rem 1rem;
  font-size: .9rem;
}
.standorthinweis__wechsel a { color: var(--ak); font-weight: 500; }
@media (max-width: 44rem) {
  .standorthinweis__wechsel { margin-inline-start: 0; width: 100%; }
}
.bereichsnav {
  position: sticky; top: var(--leisten-hoehe, 5.75rem);
  z-index: 30;   
  background: rgb(255 255 255 / .72);
  -webkit-backdrop-filter: blur(14px) saturate(150%);
  backdrop-filter: blur(14px) saturate(150%);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .bereichsnav { background: var(--tag); }
}
@media (prefers-reduced-transparency: reduce) {
  .bereichsnav {
    background: var(--tag);
    -webkit-backdrop-filter: none; backdrop-filter: none;
  }
}
.bereichsnav__innen {
  --nav-innen: .85rem;
  display: flex; align-items: stretch; gap: .65rem;
  max-width: var(--breite); margin-inline: auto;
  padding-inline: var(--takt);
  overflow-x: auto;
  scrollbar-width: none;
  scroll-padding-inline: var(--takt);
}
.bereichsnav__innen::-webkit-scrollbar { display: none; }
.bereichsnav__innen > :first-child:not(.bereichsnav__etikett) {
  margin-inline-start: calc(var(--nav-innen) * -1);
}
.bereichsnav__innen a {
  position: relative;
  display: inline-flex; align-items: center;
  padding: .95rem var(--nav-innen);
  font-size: .9rem; font-weight: 500;
  color: #46494f; text-decoration: none;
  white-space: nowrap;
  transition: color 160ms ease;
}
.bereichsnav__innen a:hover { color: var(--nacht); }
.bereichsnav__innen a[aria-current] {
  color: var(--nacht); font-weight: 650;
}
.bereichsnav__innen a[aria-current]::after {
  content: ""; position: absolute;
  left: .85rem; right: .85rem; bottom: 0; height: 2px;
  background: var(--ak);
}
.bereichsnav__innen--tief a[aria-current]::after { display: none; }
.bereichsnav__zusatz { font-weight: 400; color: #46494f; margin-inline-start: .3rem; }
.bereichsnav__innen--tief {
  --nav-innen: .7rem;
  border-top: 1px solid rgb(16 17 20 / .08);
  padding-block: .1rem;
  gap: 0;
}
.bereichsnav__innen--tief a {
  padding: .55rem var(--nav-innen);
  font-size: .82rem;
}
.bereichsnav__etikett {
  flex: none;
  align-self: center;
  padding-inline-end: .6rem;
  font-size: .7rem; letter-spacing: .1em; text-transform: uppercase;
  color: #46494f; white-space: nowrap;
}
.bereichsnav__innen a.bereichsnav__sprung { font-weight: 600; }
.bereichsnav__innen a.bereichsnav__sprung[aria-current] {
  font-weight: 800;
  color: var(--nacht);
}
.bereichsnav__innen a.bereichsnav__sprung[aria-current] .bereichsnav__pfeil {
  transform: rotate(-90deg);
  display: inline-block;
}
.bereichsnav__pfeil { margin-inline-end: .35rem; font-size: .9em; }
@media (prefers-reduced-motion: reduce) {
  .bereichsnav__innen a { transition: none; }
}
.pillwahl { display: grid; gap: .3rem; }
.pillwahl__titel {
  font-size: .7rem; letter-spacing: .1em; text-transform: uppercase;
  color: var(--grau); padding-inline: .2rem;
}
.pillen {
  position: relative; isolation: isolate;
  display: grid; grid-auto-flow: column; grid-auto-columns: 1fr;
  padding: .2rem;
  border-radius: 999px;
  background: transparent;
  border: 1px solid var(--farbe-rahmen);
}
.pillen::before {
  content: ""; position: absolute; z-index: -1;
  top: .2rem; bottom: .2rem; left: .2rem;
  width: calc((100% - .4rem) / var(--anzahl, 1));
  border-radius: 999px;
  background: linear-gradient(160deg, #3c4046 0%, #24272c 55%, #15171a 100%);
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / .16),
    inset 0 -1px 0 rgb(0 0 0 / .45),
    0 1px 4px rgb(16 17 20 / .22);
  translate: calc(var(--pos, 0) * 100%) 0;
  transition: translate 320ms cubic-bezier(.22,.61,.36,1);
}
.pillen a {
  position: relative;
  min-width: 0;
  display: grid; place-items: center;
  padding: .42rem .85rem;
  border-radius: 999px;
  font-size: .85rem; font-weight: 500;
  color: var(--farbe-text); text-decoration: none;
  text-align: center;
  white-space: nowrap;
}
@media (max-width: 34rem) {
  .pillen { padding: .15rem; }
  .pillen a {
    white-space: normal;
    hyphens: auto;
    padding: .4rem .4rem;
    font-size: .78rem; line-height: 1.25;
  }
  .pillen::before { top: .15rem; bottom: .15rem; left: .15rem;
    width: calc((100% - .3rem) / var(--anzahl, 1)); }
}
.pillen a:hover { color: var(--nacht); }
.pillen a[aria-current="true"] { font-weight: 650; color: #fff; }
@media (prefers-reduced-motion: reduce) {
  .pillen::before { transition: none; }
}
.markenfilter__feld {
  display: grid; gap: .3rem;
  margin: 0;
}
.markenfilter__feld label {
  font-size: .7rem; letter-spacing: .1em; text-transform: uppercase;
  color: var(--grau); white-space: nowrap; padding-inline: .2rem;
}
.markenfilter__feld select {
  font: inherit; font-size: .85rem; font-weight: 500;
  padding: .45rem 2rem .45rem .85rem;
  border-radius: 999px;
  border: 1px solid var(--linie);
  background: var(--tag); color: var(--nacht);
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23686c73' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right .8rem center;
  background-size: .6rem;
  cursor: pointer;
  transition: border-color 160ms ease;
}
.markenfilter__feld select:hover { border-color: var(--ak); }
.markenfilter__feld select:focus-visible { outline: 2px solid var(--fokus); outline-offset: 2px; }
.markenfilter__feld select:not(:has(option[value=""]:checked)) {
  border-color: var(--ak); color: var(--ak); font-weight: 600;
}
.markenfilter__suche { flex: 1 1 13rem; max-width: 20rem; }
.markenfilter__suche input {
  font: inherit; font-size: .85rem; font-weight: 500;
  width: 100%;
  padding: .45rem .85rem .45rem 2.1rem;
  border-radius: 999px;
  border: 1px solid var(--linie);
  background-color: var(--tag); color: var(--nacht);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='7' cy='7' r='5' fill='none' stroke='%23686c73' stroke-width='1.6'/%3E%3Cpath d='M11 11l3.5 3.5' stroke='%23686c73' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left .8rem center;
  background-size: .85rem;
  transition: border-color 160ms ease;
}
.markenfilter__suche input::placeholder { color: var(--grau); opacity: 1; }
.markenfilter__suche input:hover { border-color: var(--ak); }
.markenfilter__suche input:focus-visible { outline: 2px solid var(--fokus); outline-offset: 2px; }
.markenfilter__suche input:not(:placeholder-shown) { border-color: var(--ak); }
.markenfilter__los { flex: none; }
.markenfilter__los[hidden] { display: none; }
.marken__anzahl {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: .75rem;
  font-size: .9rem; color: var(--grau);
  margin-block: 0 1.25rem;
}
.marken__zuruecksetzen { color: var(--ak); font-weight: 500; }
.marken__leer {
  padding: 1.5rem; border-radius: var(--radius);
  background: var(--ak-sanft); color: var(--nacht);
}
.marken__leer a { color: var(--ak); font-weight: 500; margin-inline-start: .35rem; }
.marke__raster {
  display: grid; gap: clamp(1.5rem, 4vw, 3.5rem);
  grid-template-columns: minmax(min(16rem, 100%), 20rem) minmax(0, 1fr);
  align-items: start;
}
@media (max-width: 52rem) {
  .marke__raster { grid-template-columns: 1fr; }
}
.marke__seite {
  display: grid; gap: 1.25rem; align-content: start;
  position: sticky; top: calc(var(--leisten-hoehe, 5rem) + 1.5rem);
}
@media (max-width: 52rem) { .marke__seite { position: static; } }
.marke__logo {
  display: grid; place-items: center;
  margin: 0; padding: 1.75rem;
  border-radius: var(--radius);
  background: var(--tag);
  border: 1px solid var(--linie);
}
.marke__logo img { max-width: 100%; height: auto; object-fit: contain; }
.marke__daten {
  display: grid; gap: .5rem 1rem;
  grid-template-columns: auto 1fr;
  margin: 0; font-size: .9rem;
}
.marke__daten dt {
  color: var(--grau);
  font-size: .72rem; letter-spacing: .1em; text-transform: uppercase;
  padding-top: .15rem;
}
.marke__daten dd { margin: 0; font-weight: 500; }
.marke__daten dd a { color: var(--ak); }
.marke__merkmale { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0; }
.marke__extern { margin: 0; }
.marke__extern .taste { width: 100%; justify-content: center; }
.marke__text { min-width: 0; }
.marke__kategorien {
  display: flex; flex-wrap: wrap; align-items: center; gap: .5rem;
  margin-top: 2rem; padding-top: 1.5rem;
  border-top: 1px solid var(--linie);
}
.marke__kategorien-was {
  font-size: .72rem; letter-spacing: .1em; text-transform: uppercase;
  color: var(--grau); margin-inline-end: .25rem;
}
.europawand__einleitung {
  max-width: 46em;
  margin-bottom: clamp(2rem, 4vw, 3rem);
  line-height: 1.6;
}
.wandmarke {
  display: grid; gap: clamp(1.25rem, 3vw, 2.5rem);
  grid-template-columns: minmax(min(9rem, 100%), 13rem) minmax(0, 1fr);
  align-items: start;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border-radius: var(--radius);
}
.wandmarke + .wandmarke { margin-top: clamp(1rem, 2.5vw, 1.75rem); }
@media (max-width: 46rem) { .wandmarke { grid-template-columns: 1fr; } }
.wandmarke__spalte {
  display: grid; gap: .6rem; justify-items: start;
  min-width: 0;
}
.wandmarke__weg { justify-self: stretch; max-width: 100%; }
.wandmarke__weg a { overflow-wrap: break-word; }
.wandmarke__logo { margin: 0; width: 100%; }
.wandmarke__logo img {
  width: 100%; height: auto; display: block;
  background: #fff; border-radius: var(--radius); padding: 1rem;
}
.wandmarke__herkunft { margin: 0; font-size: .85rem; }
.wandmarke__weg { margin: 0; }
.wandmarke__weg a { font-size: .9rem; font-weight: 500; }
.wandmarke__text h3 {
  margin: 0 0 .75rem;
  font-size: clamp(1.15rem, 1.6vw, 1.45rem); font-weight: 650;
}
.europawand__aktion { margin-top: clamp(2rem, 4vw, 3rem); }
.leistungen {
  display: grid; gap: .6rem;
  grid-template-columns: repeat(auto-fill, minmax(min(23rem, 100%), 1fr));
  grid-auto-rows: 1fr;
  list-style: none; margin: 0; padding: 0;
}
.leistungen > li { display: grid; }
.leistung {
  min-width: 0;
  height: 100%;
  display: grid; gap: .2rem 1rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-areas: "icon titel pfeil" "icon dazu pfeil";
  align-items: center;
  align-content: start;
  padding: 1.5rem 1.6rem;
  gap: .25rem 1.25rem;
  border-radius: var(--radius);
  border: 1px solid var(--linie);
  background: var(--tag);
  color: inherit; text-decoration: none;
  transition: border-color 180ms ease, background-color 180ms ease, transform 180ms ease;
}
.leistung:hover,
.leistung:focus-visible {
  border-color: var(--ak);
  background: var(--ak-sanft);
  transform: translateY(-2px);
}
.leistung__icon {
  grid-area: icon;
  width: 3.2rem; height: 3.2rem;
  background: var(--ak);
  -webkit-mask-image: var(--icon); mask-image: var(--icon);
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: center; mask-position: center;
  -webkit-mask-size: contain; mask-size: contain;
  transition: background-color 180ms ease;
}
.leistung:hover .leistung__icon { background: var(--nacht); }
.leistung:not(:has(.leistung__icon)) {
  grid-template-columns: 1fr auto;
  grid-template-areas: "titel pfeil" "dazu pfeil";
}
.leistung__titel { grid-area: titel; font-weight: 650; font-size: 1.2rem; }
.leistung__dazu  { grid-area: dazu; font-size: .96rem; line-height: 1.45; color: var(--grau); }
.leistung__pfeil {
  grid-area: pfeil; justify-self: end;
  display: grid; place-items: center;
  width: 2rem; height: 2rem; border-radius: 50%;
  background: var(--ak-sanft); color: var(--ak);
  font-size: .9rem;
  transition: background-color 180ms ease, color 180ms ease;
}
.leistung:hover .leistung__pfeil { background: var(--ak); color: #fff; }
@media (prefers-reduced-motion: reduce) {
  .leistung, .leistung__pfeil { transition: none; }
  .leistung:hover { transform: none; }
}
.neu__weiter {
  white-space: nowrap;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}
.neu__weiter::after { content: " →"; }
.nachtband .neu__weiter { color: var(--ak-hell); }
.glasschimmer { --schimmer-versatz: 140px; }
.glasschimmer {
  position: fixed;
  inset-inline: 0; top: 0;
  height: min(74svh, 40rem);
  z-index: 55;          
  pointer-events: none; 
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 52%, rgb(0 0 0 / .5) 78%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 52%, rgb(0 0 0 / .5) 78%, transparent 100%);
}
.glasschimmer::before {
  content: "";
  position: absolute;
  left: calc(-14% + var(--schimmer-versatz)); right: calc(-20% - var(--schimmer-versatz));
  top: -14%; height: 124%;
  border-radius: 48% 52% 62% 38% / 64% 58% 42% 36%;
  transform: rotate(-7deg);
  background:
    radial-gradient(60% 52% at 34% 62%,
      rgb(var(--schimmer-hell, 255 248 214) / .18) 0%,
      rgb(var(--schimmer-tief, 197 155 66) / .11) 38%,
      rgb(var(--schimmer-tief, 197 155 66) / .05) 62%,
      transparent 78%),
    linear-gradient(112deg,
      rgb(255 255 255 / .07) 0%,
      rgb(var(--schimmer-hell, 253 232 146) / .1) 26%,
      rgb(var(--schimmer-tief, 212 176 119) / .05) 52%,
      transparent 74%);
  mix-blend-mode: soft-light;
  transition: background 500ms ease, opacity 300ms ease;
}
.glasschimmer::after {
  content: "";
  position: absolute;
  left: calc(-14% + var(--schimmer-versatz)); right: calc(-20% - var(--schimmer-versatz));
  top: -14%; height: 124%;
  border-radius: 48% 52% 62% 38% / 64% 58% 42% 36%;
  transform: rotate(-7deg);
  border: 1px solid rgb(var(--schimmer-hell, 253 232 146) / .2);
  border-left-color: transparent;
  border-bottom-color: transparent;
  mix-blend-mode: screen;
}
[data-leiste-ton="dunkel"] .glasschimmer::before { opacity: 1; }
[data-leiste-ton="hell"]   .glasschimmer::before { opacity: .55; }
@media (prefers-reduced-transparency: reduce) {
  .glasschimmer { display: none; }
}
@media (max-width: 48rem) {
  .glasschimmer { height: min(46svh, 22rem); }
  .glasschimmer::before { opacity: .7; }
}
@media print { .glasschimmer { display: none; } }
.wappen {
  flex: none;
  display: inline-block; vertical-align: middle;
  border-radius: 50%;
  object-fit: cover;
  background: var(--tag);
}
.wappen--klein  { width: 1.25rem; height: 1.25rem; }
.wappen--normal { width: 1.75rem; height: 1.75rem; }
.wappen--gross  { width: 2.5rem;  height: 2.5rem; }
.leiste .wappen,
.band--nacht .wappen,
.schublade .wappen,
.fuss .wappen { box-shadow: 0 0 0 1px rgb(255 255 255 / .18); }
.ortwahl > summary .wappen { margin-inline-end: .1rem; }
.ortwahl__name { display: inline-flex; align-items: center; gap: .45rem; }
.fuss__ort { display: inline-flex; align-items: center; gap: .5rem; }
.schublade__orte a .wappen { margin-inline-end: .1rem; }
.standort__logo {
  margin: 0 0 1.5rem;
  max-width: min(22rem, 100%);
}
.standort__logo img { width: 100%; height: auto; display: block; }
:root {
  --farbe-text:        var(--nacht);
  --farbe-text-leise:  var(--grau);
  --farbe-grund:       var(--tag);
  --farbe-grund-sanft: var(--nebel);
  --farbe-linie:       var(--linie);
  --farbe-rahmen:      #8d887f;   
  --farbe-akzent:      var(--ak);
  --farbe-akzent-text: #ffffff;
  --farbe-offen:       #1f7a3d;
  --farbe-bald:        #9d6200;
  --farbe-zu:          #9b2c2c;
  --raum-1: .25rem;
  --raum-2: .5rem;
  --raum-3: 1rem;
  --raum-4: 1.5rem;
  --raum-5: 2.5rem;
  --raum-6: 4rem;
  --schrift: var(--schrift-text);
  --text-s:  .875rem;
  --text-m:  1rem;
  --text-l:  clamp(1.05rem, .4vw + 1rem, 1.25rem);
  --text-xl: clamp(1.5rem,  1.5vw + 1rem, 2.25rem);
  --text-2xl:clamp(2rem,    3vw   + 1rem, 3.5rem);
  --radius: 0;
  --breite-inhalt: 72rem;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--schrift);
  font-size: var(--text-m);
  line-height: 1.6;
  color: var(--farbe-text);
  background: var(--farbe-grund);
}
img { max-width: 100%; height: auto; }
a { color: inherit; }
:focus-visible {
  outline: 3px solid var(--fokus);
  outline-offset: 2px;
}
[hidden] { display: none !important; }
.nur-screenreader {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
.skip-link {
  position: absolute;
  left: var(--raum-3);
  top: -4rem;
  z-index: 100;
  padding: var(--raum-2) var(--raum-3);
  background: var(--farbe-text);
  color: var(--farbe-grund);
  transition: top 120ms ease;
}
.skip-link:focus { top: var(--raum-3); }
.oeffnungs-badge {
  display: inline-flex;
  align-items: baseline;
  gap: var(--raum-2);
  margin: 0;
  font-size: var(--text-s);
}
.oeffnungs-badge--gross { font-size: var(--text-m); }
.oeffnungs-badge__punkt {
  width: 0.6em; height: 0.6em;
  border-radius: 50%;
  background: var(--farbe-zu);
  flex: none;
  align-self: center;
}
.oeffnungs-badge[data-status="offen"]          .oeffnungs-badge__punkt { background: var(--farbe-offen); }
.oeffnungs-badge[data-status="schliesst_bald"] .oeffnungs-badge__punkt { background: var(--farbe-bald); }
.oeffnungs-badge__text   { font-weight: 700; }
.oeffnungs-badge__zusatz { color: var(--farbe-text-leise); }
.knopf--text { border: 0; padding: 0; background: none; text-decoration: underline; }
.kachelraster, .standortkarten, .personenraster, .markenleiste {
  list-style: none;
  margin: 0; padding: 0;
  display: grid;
  gap: var(--raum-4);
  grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr));
}
.kachelraster a {
  display: block;
  padding: var(--raum-4);
  border: 1px solid var(--farbe-linie);
  border-radius: var(--radius);
  text-decoration: none;
  height: 100%;
}
.kachelraster strong { display: block; margin-bottom: var(--raum-1); }
.kachelraster span   { color: var(--farbe-text-leise); font-size: var(--text-s); }
.standortkarte {
  padding: var(--raum-4);
  border: 1px solid var(--farbe-linie);
  border-radius: var(--radius);
}
.standortkarte h2, .standortkarte h3 { margin-top: 0; }
.standortkarte address { font-style: normal; margin-block: var(--raum-2); }
.standortkarte__aktionen { display: flex; gap: var(--raum-2); flex-wrap: wrap; margin: 0; }
.oeffnungszeiten { border-collapse: collapse; width: 100%; }
.oeffnungszeiten th, .oeffnungszeiten td {
  text-align: left;
  padding: var(--raum-1) var(--raum-2);
  border-bottom: 1px solid var(--farbe-linie);
  font-weight: 400;
}
.oeffnungszeiten td { font-variant-numeric: tabular-nums; }
.oeffnungszeiten .ist-heute { background: var(--farbe-grund-sanft); font-weight: 700; }
.standort__raster, .kontaktblock__raster {
  display: grid;
  gap: var(--raum-5);
  grid-template-columns: repeat(auto-fit, minmax(min(18rem, 100%), 1fr));
}
.kontaktblock {
  padding-block: var(--raum-5);
  border-bottom: 1px solid var(--farbe-linie);
}
.hinweis {
  padding: var(--raum-3);
  background: var(--farbe-grund-sanft);
  border-left: 3px solid var(--farbe-linie);
}
.hinweis--todo    { border-left-color: var(--farbe-bald); }
.hinweis--warnung { border-left-color: var(--farbe-zu); }
.breadcrumbs {
  max-width: var(--breite-inhalt);
  margin-inline: auto;
  padding: var(--raum-3) var(--raum-3) 0;
  font-size: var(--text-s);
}
.breadcrumbs ol { list-style: none; display: flex; gap: var(--raum-2); flex-wrap: wrap; margin: 0; padding: 0; }
.breadcrumbs li + li::before { content: "›"; margin-right: var(--raum-2); color: var(--farbe-text-leise); }
.termin-einbettung__rahmen { margin-top: var(--raum-4); }
.termin-einbettung iframe { width: 100%; border: 0; display: block; }
.termin-einbettung__filiale {
  display: grid; gap: 1.875rem; justify-items: start;
  margin-bottom: var(--raum-4);
}
.termin-einbettung__gilt {
  margin: 0;
  font-size: clamp(1rem, 1.35vw, 1.12rem);
  font-weight: 500;
  line-height: 1.45;
  color: var(--grau);
}
.termin-einbettung__gilt strong { color: var(--nacht); font-weight: 650; }
.termin-einbettung__orte {
  display: flex; flex-wrap: wrap; gap: var(--raum-3);
  list-style: none; margin: 0; padding: 0;
}
.termin-einbettung__orte a {
  display: inline-flex; align-items: center; gap: .6rem;
  padding: .5rem 1.1rem .5rem .6rem;
  border: 1px solid var(--linie);
  border-radius: 999px;
  text-decoration: none;
  color: var(--grau);
  font-weight: 500;
  opacity: .75;
  transition: opacity 160ms ease, border-color 160ms ease, color 160ms ease;
}
.termin-einbettung__orte a:hover,
.termin-einbettung__orte a:focus-visible {
  opacity: 1;
  border-color: var(--ak);
  color: var(--nacht);
}
.termin-einbettung__orte a[aria-current] {
  opacity: 1;
  border-color: var(--ak);
  box-shadow: 0 0 0 1px var(--ak);
  color: var(--nacht);
  font-weight: 650;
}
.termin-einbettung > .termin-einbettung__wege {
  display: flex; flex-wrap: wrap; gap: var(--raum-3);
  margin: var(--raum-5) 0 0;
}
.termin-einbettung > .termin-einbettung__notiz {
  margin: var(--raum-4) 0 0;
  font-size: var(--text-s);
  color: var(--farbe-text-leise);
  max-width: 62ch;
}
.ladeschnur                      { --neon: 255 186 74;  --neon-kern: 255 246 230; }
[data-ort="blau"] .ladeschnur    { --neon: 104 186 255; --neon-kern: 235 246 255; }
[data-ort="weinrot"] .ladeschnur { --neon: 255 108 118; --neon-kern: 255 235 233; }
.ladeschnur {
  display: flex; align-items: center; gap: var(--raum-3);
  margin: var(--raum-4) 0 0;
  font-size: var(--text-s);
  color: var(--farbe-text-leise);
}
.ladeschnur__wort::after { content: " …"; }
.ladeschnur__gleis {
  position: relative;
  flex: 1 1 auto; min-width: 6rem; max-width: 22rem;
  height: 3px; border-radius: 999px;
  background: var(--nacht);
  overflow: hidden;
}
.ladeschnur__funke {
  position: absolute; inset-block: 0; left: -28%;
  width: 28%;
  border-radius: 999px;
  background: linear-gradient(90deg,
    transparent,
    rgb(var(--neon) / .8) 35%,
    rgb(var(--neon-kern)) 62%,
    transparent);
  box-shadow:
    0 0 6px rgb(var(--neon) / .95),
    0 0 18px rgb(var(--neon) / .6);
  animation: zuendschnur 1.5s linear infinite;
}
@keyframes zuendschnur {
  from { left: -28%; }
  to   { left: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .ladeschnur__funke { animation: none; left: 0; width: 100%; opacity: .5; }
}
.termin-warum {
  margin-top: var(--raum-6);
  padding-top: var(--raum-5);
  border-top: 1px solid var(--farbe-linie);
}
@media (min-width: 70rem) {
  .termin__paar {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: clamp(2rem, 4vw, 4.5rem);
    align-items: start;
  }
  .termin__paar .termin-warum {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
    border-left: 1px solid var(--farbe-linie);
    padding-left: clamp(1.5rem, 3vw, 3rem);
  }
}
.consent-platzhalter {
  padding: var(--raum-5);
  background: var(--farbe-grund-sanft);
  border: 1px solid var(--farbe-linie);
  border-radius: var(--radius);
}
.consent-platzhalter__aktionen { display: flex; gap: var(--raum-2); flex-wrap: wrap; }
.galerie {
  list-style: none; margin: 0; padding: 0;
  display: grid;
  gap: var(--raum-2);
  grid-template-columns: repeat(auto-fill, minmax(min(12rem, 100%), 1fr));
}
.galerie__feld img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  border-radius: var(--radius);
}
.mobilaktionen { display: none; }
@media (max-width: 48rem) {
  .mobilaktionen {
    position: fixed; inset-inline: 0; bottom: 0; z-index: 60;
    display: grid; grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: var(--linie);
    -webkit-backdrop-filter: blur(18px) saturate(150%);
    backdrop-filter: blur(18px) saturate(150%);
    padding-bottom: env(safe-area-inset-bottom, 0);
    box-shadow: 0 -8px 26px -18px rgb(20 18 14 / .5);
  }
  .mobilaktionen a {
    display: grid; place-items: center; gap: .2rem;
    padding: .6rem .4rem .55rem;
    min-height: 56px;
    font-size: .78rem; font-weight: 600; letter-spacing: .01em;
    text-align: center; text-decoration: none;
    background: rgb(255 255 255 / .9);
    color: var(--ak);
    color: color-mix(in srgb, var(--ak) 90%, #000);
  }
  .mobilaktionen__zeichen { display: block; }
  .mobilaktionen a.mobilaktionen__primaer {
    background: color-mix(in srgb, var(--ak) 12%, #fff);
  }
  .mobilaktionen__primaer .mobilaktionen__wort { font-weight: 700; }
  .mobilaktionen a:active { background: color-mix(in srgb, var(--ak) 20%, #fff); }
  body { padding-bottom: calc(4.5rem + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 48rem) and (prefers-reduced-transparency: reduce) {
  .mobilaktionen { -webkit-backdrop-filter: none; backdrop-filter: none; }
  .mobilaktionen a { background: var(--tag); }
  .mobilaktionen a.mobilaktionen__primaer { background: var(--ak-sanft); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
.termin-einbettung__fallback {
  padding: var(--raum-5);
  background: var(--farbe-grund-sanft);
  border: 1px solid var(--farbe-linie);
  border-radius: var(--radius);
}
.termin-einbettung__fallback-aktionen { display: flex; gap: var(--raum-2); flex-wrap: wrap; }
.fliesstext table {
  width: 100%;
  border-collapse: collapse;
  margin-block: var(--raum-4);
}
.fliesstext th,
.fliesstext td {
  text-align: left;
  padding: var(--raum-2);
  border-bottom: 1px solid var(--farbe-linie);
  vertical-align: top;
}
.fliesstext thead th {
  border-bottom-width: 2px;
  font-size: var(--text-s);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.fliesstext tbody td:not(:first-child) { font-variant-numeric: tabular-nums; }
.fliesstext caption {
  text-align: left;
  padding-bottom: var(--raum-2);
  font-size: var(--text-s);
  color: var(--grau);
}
.fliesstext__tabelle { table-layout: fixed; }
.fliesstext__tabelle th:first-child,
.fliesstext__tabelle td:first-child { width: 5.5rem; }
.fliesstext__tabelle tbody th { font-size: 1.1rem; font-weight: 650; color: var(--ak); }
@media (max-width: 44rem) {
  .fliesstext__tabelle { font-size: .85rem; }
  .fliesstext__tabelle th,
  .fliesstext__tabelle td { padding: .45rem .3rem; }
  .fliesstext__tabelle th:first-child,
  .fliesstext__tabelle td:first-child { width: 2.6rem; }
}
.fliesstext th,
.fliesstext td { overflow-wrap: break-word; hyphens: auto; }
.marken__kopf {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: var(--raum-3); flex-wrap: wrap;
}
.marken__anzahl { font-size: var(--text-s); color: var(--farbe-text-leise); margin-block: var(--raum-2); }
.marken__leer   { color: var(--farbe-text-leise); }
.markenraster {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: var(--raum-3);
  grid-template-columns: repeat(auto-fill, minmax(min(13rem, 100%), 1fr));
}
.markenraster__link {
  display: flex; flex-direction: column; height: 100%;
  border: 1px solid var(--farbe-linie); border-radius: var(--radius);
  text-decoration: none; color: inherit;
  overflow: hidden;
  transition: border-color 200ms ease, box-shadow 200ms ease;
}
.markenraster__link:hover,
.markenraster__link:focus-visible {
  border-color: var(--farbe-akzent);
  box-shadow: 0 2px 10px rgb(0 0 0 / .07);
}
.markenraster__bild {
  display: grid; place-items: center;
  aspect-ratio: 5 / 3; padding: var(--raum-3);
  background: var(--farbe-flaeche, #fff);
}
.markenraster__bild img {
  max-width: 100%; max-height: 100%;
  width: auto; height: auto; object-fit: contain;
  filter: grayscale(1); opacity: .75;
  transition: filter 200ms ease, opacity 200ms ease;
}
.markenraster__link:hover .markenraster__bild img,
.markenraster__link:focus-visible .markenraster__bild img { filter: none; opacity: 1; }
.markenraster__text {
  display: block; padding: var(--raum-2) var(--raum-3) var(--raum-3);
  border-top: 1px solid var(--farbe-linie);
}
.markenraster__titel {
  display: block; font-weight: 600; line-height: 1.25;
}
.markenraster__herkunft {
  display: block; margin-top: .15rem;
  font-size: var(--text-xs, .78rem); color: var(--farbe-text-leise);
  letter-spacing: .02em;
}
.markenraster__teaser {
  display: block; margin-top: var(--raum-1);
  font-size: var(--text-s); line-height: 1.45; color: var(--farbe-text-leise);
}
.markenraster__name { font-weight: 600; text-align: center; }
@media (prefers-reduced-motion: reduce) {
  .markenraster__bild img, .markenraster__link { transition: none; }
}
.marke__kopf { display: grid; gap: var(--raum-2); justify-items: start; }
.marke__logo {
  margin: 0; padding: var(--raum-3);
  border: 1px solid var(--farbe-linie); border-radius: var(--radius);
  background: #fff;
}
.marke__logo img { display: block; width: 14rem; height: auto; }
.marke__herkunft { margin: 0; color: var(--farbe-text-leise); font-size: var(--text-s); }
.marke__herkunft-label { font-weight: 600; }
.marke__kategorien { display: flex; flex-wrap: wrap; gap: var(--raum-1); margin-block: var(--raum-3); }
.marke__kategorie {
  padding: .3rem .7rem; border: 1px solid var(--farbe-linie); border-radius: 999px;
  font-size: var(--text-s); text-decoration: none;
}
.marke__kategorie:hover { border-color: var(--farbe-akzent); }
.marke__aktionen { display: flex; flex-wrap: wrap; gap: var(--raum-2); margin-block: var(--raum-4); }
.marke__extern-symbol { margin-left: .3em; }
.faq__liste { max-width: 55rem; }
.faq__antwort > :first-child { margin-top: 0; }
.fliesstext__vorsatz {
  font-size: 1.05rem;
  color: var(--grau);
}
:is(h1, h2, h3, h4, h5, h6) + .fliesstext__vorsatz { margin-top: -.35rem; }
.fliesstext__etikett {
  display: inline-block;
  margin: .1rem 0 .5rem;
  padding: .22rem .7rem;
  border-radius: 999px;
  background: var(--ak-sanft);
  color: var(--ak);
  font-size: .8rem; font-weight: 600;
  letter-spacing: .04em;
}
.fliesstext .anschrift { line-height: 1.5; }
.fliesstext ul.preisliste {
  list-style: none; padding: 0;
  display: grid; gap: 0;
  max-width: 36rem;
  border: 1px solid var(--linie); border-radius: var(--radius);
  background: var(--tag);
}
.fliesstext ul.preisliste li {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline;
  gap: .35rem 1.5rem;
  margin: 0;
  padding: .9rem 1.15rem;
  border-top: 1px solid var(--linie);
}
.fliesstext ul.preisliste li:first-child { border-top: 0; }
.fliesstext .preisliste strong { color: var(--ak); white-space: nowrap; }
.fliesstext__quelle {
  margin-top: .6rem;
  font-size: .9rem; font-style: normal; font-weight: 500;
  color: var(--grau);
}
.fliesstext__quelle::before { content: "— "; }
.werkzeug {
  --ak:       #26348b;   
  --ak-hell:  #7f8ad4;   
  --ak-sanft: #eef0f9;   
  --fokus:    #26348b;
  --farbe-akzent: var(--ak);
  --gold-stern: #d8b04a;
  margin-block: var(--raum-6);
  padding-block: clamp(1rem, 2vw, 1.75rem);
}
.werkzeug__kopf {
  display: grid;
  justify-items: start;
  gap: clamp(.75rem, 1.4vw, 1.1rem);
  margin-bottom: clamp(1.75rem, 3.5vw, 2.75rem);
}
.werkzeug__kopf > * { margin: 0; }
.neu .werkzeug__fuss { margin: clamp(1.75rem, 3.5vw, 2.75rem) 0 0; max-width: var(--lesebreite, 43em); }
.werkzeug__oberzeile {
  display: inline-flex;
  align-items: center;
  padding: .32rem .85rem;
  border-radius: 999px;
  background: var(--ak-sanft);
  color: var(--ak);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  line-height: 1.3;
}
.werkzeug__text {
  max-width: 44rem;
  line-height: 1.6;
}
.textblock--dunkel .werkzeug__oberzeile {
  border-radius: 0;
  background: rgb(255 255 255 / .12);
  color: #fff;
}
.werkzeug-oeffnen {
  display: inline-flex; align-items: center; gap: .75rem;
  margin-top: 1.5rem;
  padding: .85rem 1rem .85rem 1.4rem;
  border: 1px solid var(--farbe-rahmen);
  border-radius: 999px;
  background: var(--tag);
  font: inherit; font-size: 1rem; font-weight: 600;
  color: var(--nacht);
  cursor: pointer;
  transition: border-color 180ms ease, background-color 180ms ease;
}
.werkzeug-oeffnen:hover,
.werkzeug-oeffnen:focus-visible { border-color: var(--ak); background: var(--ak-sanft); }
.werkzeug-oeffnen__kreis {
  display: grid; place-items: center;
  width: 1.9rem; height: 1.9rem; border-radius: 50%;
  background: var(--ak); color: #fff;
  font-size: .9rem;
}
.textblock--dunkel .werkzeug-oeffnen {
  background: rgb(255 255 255 / .08);
  border-color: rgb(255 255 255 / .38);
  color: #fff;
}
.textblock--dunkel .werkzeug-oeffnen:hover,
.textblock--dunkel .werkzeug-oeffnen:focus-visible {
  background: rgb(255 255 255 / .16); border-color: #fff;
}
.textblock--dunkel .werkzeug-oeffnen__kreis { background: var(--ak-hell); color: var(--menue-grund); }
.werkzeug-dialog {
  width: 100vw; max-width: 100vw;
  height: 100svh; max-height: 100svh;
  margin: 0; padding: 0; border: 0;
  background: var(--tag);
  color: var(--farbe-text);
  overflow: hidden;
}
.werkzeug-dialog[open] {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}
.werkzeug-dialog::backdrop { background: rgb(16 17 20 / .6); }
.werkzeug-dialog__kopf {
  display: flex; justify-content: flex-end;
  padding: clamp(.75rem, 2vw, 1.25rem) clamp(1rem, 3vw, 2rem);
  border-bottom: 1px solid var(--linie);
}
.werkzeug-dialog__zu {
  display: grid; place-items: center;
  width: 3rem; height: 3rem;
  padding: 0; border-radius: 50%;
  border: 1px solid var(--farbe-rahmen);
  background: none; color: var(--nacht);
  font-size: 1.3rem; line-height: 1; cursor: pointer;
  transition: background-color 180ms ease, border-color 180ms ease;
}
.werkzeug-dialog__zu:hover,
.werkzeug-dialog__zu:focus-visible { background: var(--nebel); border-color: var(--nacht); }
.werkzeug-dialog__innen {
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: clamp(1rem, 3vw, 2.5rem);
}
.werkzeug-dialog .werkzeug {
  margin: 0 auto;
  max-width: var(--breite);
  border: 0; border-top: 0;
  padding: 0;
  background: none;
}
@media (prefers-reduced-motion: reduce) {
  .werkzeug-oeffnen, .werkzeug-dialog__zu { transition: none; }
}
html {
  scroll-padding-top: calc(var(--leisten-gesamt, var(--leisten-hoehe, 7.75rem)) + 1.5rem);
}
.werkbank__oberzeile {
  display: inline-block;
  padding: .3rem .7rem;
  border-radius: 999px;
  background: var(--ak-sanft);
  color: var(--ak);
  font-weight: 600;
}
.werkbank__kopf h2 {
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  line-height: 1.15;
}
.werkzeug .werkbank__oberzeile {
  margin: 0 0 30px;
  font-size: var(--text-s);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.werkbank__kopf h2 { margin-bottom: 30px; }
.werkbank__text { max-width: 55ch; color: var(--farbe-text-leise); }
.werkzeug > .werkbank__fuss {
  margin-top: var(--raum-4);
  width: 70ch;
  max-width: 100%;
  margin-left: auto;
  font-size: .8rem;
  color: var(--farbe-text-leise);
  text-align: right;
}
.wz-dicke__zeile {
  display: flex; gap: var(--raum-3); flex-wrap: wrap; align-items: center;
  margin-block: 0 var(--raum-3);
}
.wz-dicke .wz-tab {
  border: 0;
  background: transparent;
  padding: .5rem .25rem .7rem;
  border-bottom: 2px solid transparent;
}
.wz-dicke .wz-tab[aria-selected="true"] {
  border-width: 0 0 2px;
  padding: .5rem .25rem .7rem;
  border-bottom-color: var(--farbe-akzent);
}
.wz-dicke .wz-tab[aria-selected="true"] .wz-tab__index { color: var(--farbe-akzent); }
.wz-dicke .wz-tabs { margin-bottom: var(--raum-4); }
.wz-schalter { display: flex; }
.wz-schalter button {
  padding: .45rem .9rem;
  border: 1px solid var(--farbe-rahmen);
  background: var(--farbe-grund);
  font: inherit; font-size: var(--text-s);
  line-height: 1.3;
  color: var(--farbe-text);
  font-variant-numeric: tabular-nums;
  cursor: pointer;
  transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease;
}
.wz-schalter button:hover { background: var(--farbe-grund-sanft); }
.wz-schalter button:first-child { border-radius: var(--radius) 0 0 var(--radius); }
.wz-schalter button:last-child  { border-radius: 0 var(--radius) var(--radius) 0; margin-left: -1px; }
.wz-schalter button[aria-checked="true"] {
  background: var(--farbe-text); border-color: var(--farbe-text); color: var(--farbe-grund);
}
.wz-optima {
  display: inline-flex; align-items: center; gap: var(--raum-2);
  padding: var(--raum-2) var(--raum-3);
  border: 1px solid var(--farbe-linie); border-radius: var(--radius);
  background: var(--farbe-grund); font: inherit; font-size: var(--text-s); cursor: pointer;
}
.wz-optima[disabled] { opacity: .45; cursor: not-allowed; }
.wz-optima__schalter {
  width: 2.2em; height: 1.2em; border-radius: 999px;
  background: var(--farbe-linie); position: relative; flex: none;
  transition: background 160ms ease;
}
.wz-optima__schalter span {
  position: absolute; top: .15em; left: .15em;
  width: .9em; height: .9em; border-radius: 50%;
  background: var(--farbe-grund);
  transition: transform 160ms ease;
}
.wz-optima[aria-pressed="true"] .wz-optima__schalter { background: var(--farbe-akzent); }
.wz-optima[aria-pressed="true"] .wz-optima__schalter span { transform: translateX(1em); }
.wz-tabs {
  display: grid; gap: var(--raum-2);
  grid-template-columns: repeat(auto-fit, minmax(min(9rem, 100%), 1fr));
  margin-bottom: var(--raum-4);
}
.wz-tab {
  display: grid; gap: .15rem; justify-items: start;
  padding: var(--raum-3);
  border: 1px solid var(--farbe-linie); border-radius: var(--radius);
  background: var(--farbe-grund); font: inherit; text-align: left; cursor: pointer;
}
.wz-tab[aria-selected="true"] { border-color: var(--farbe-akzent); border-width: 2px; padding: calc(var(--raum-3) - 1px); }
.wz-tab__index { font-size: var(--text-l); font-weight: 700; font-variant-numeric: tabular-nums; }
.wz-tab__kurz  { font-size: var(--text-s); color: var(--farbe-akzent); }
.wz-tab__name  { font-size: var(--text-s); color: var(--farbe-text-leise); }
.wz-sterne { font-size: .8em; color: var(--farbe-linie); letter-spacing: .1em; }
.wz-sterne .an { color: var(--gold-stern, var(--farbe-akzent)); }
.wz-dicke {
  border: 1px solid var(--farbe-linie);
  border-radius: 50px;
  background: var(--farbe-grund);
  padding: clamp(1.25rem, 2.5vw, 2.5rem);
}
.wz-dicke__tafeln {
  display: grid; gap: 1.25rem;   
  grid-template-columns: minmax(0, 1fr);
}
@media (min-width: 56rem) {
  .wz-dicke__tafeln { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); align-items: start; }
}
.wz-tafel {
  padding: var(--raum-3);
  background: var(--farbe-grund);
  border: 1px solid var(--farbe-linie); border-radius: var(--radius);
}
.wz-dicke .wz-tafel { border: 0; padding: 0; }
.wz-tafel h3 { font-size: var(--text-s); text-transform: uppercase; letter-spacing: .04em; color: var(--farbe-text-leise); }
.wz-wert {
  margin: 0 0 var(--raum-2);
  font-size: clamp(1.5rem, 1vw + 1rem, 2.2rem);
  line-height: 1; font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--farbe-offen);
}
.wz-wert.ist-dicker { color: var(--farbe-zu); }
.wz-notiz { margin: 0 0 var(--raum-3); font-size: var(--text-s); color: var(--farbe-text-leise); }
.wz-linse, .wz-gewicht { width: 100%; height: auto; display: block; }
.wz-linse__grau { fill: var(--farbe-linie); opacity: .5; }
.wz-linse__voll { fill: var(--farbe-akzent); transition: d 240ms ease; }
.wz-linse__mass path { stroke: var(--farbe-text); stroke-width: 1.5; fill: none; }
.wz-gewicht__linie { stroke: var(--farbe-linie); stroke-width: 2; }
.wz-gewicht__grau rect { fill: var(--farbe-linie); }
.wz-gewicht__voll rect { fill: var(--farbe-akzent); transition: transform 240ms ease; }
.wz-gewicht__text { font-size: 13px; fill: var(--farbe-text-leise); text-anchor: middle; }
.wz-gewicht__text.an { fill: var(--farbe-akzent); font-weight: 700; }
.wz-tipps {
  margin-top: var(--raum-5);
  padding: var(--raum-4) var(--raum-5);
  background: var(--ak-sanft);
  border-radius: var(--radius);
}
.wz-tipps h3 { font-size: var(--text-l); margin: 0 0 30px; }
.wz-tipps ul { margin: 0; padding-left: 1.1em; }
.wz-tipps li + li { margin-top: var(--raum-2); }
@media (min-width: 56rem) {
  .wz-tipps ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--raum-2) var(--raum-5);
    max-width: none;
  }
  .wz-tipps li + li { margin-top: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .wz-linse__voll, .wz-gewicht__voll rect, .wz-optima__schalter, .wz-optima__schalter span {
    transition: none;
  }
}
.wz-ar__karten {
  display: grid; gap: var(--raum-4);
  grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr));
  margin-block: var(--raum-4);
}
.wz-ar-karte {
  background: var(--farbe-grund);
  border: 1px solid var(--farbe-linie);
  border-radius: var(--radius);
  overflow: hidden;
  cursor: pointer;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}
.wz-ar-karte:hover, .wz-ar-karte:focus-visible { transform: translateY(-2px); box-shadow: 0 8px 20px rgb(0 0 0 / .08); }
.wz-ar-karte img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.wz-ar-karte__text { padding: var(--raum-4); }
.wz-ar-karte h3 { display: flex; align-items: baseline; gap: var(--raum-2); flex-wrap: wrap; margin-bottom: var(--raum-2); }
.wz-ar-karte__kurz { font-size: var(--text-l); font-weight: 700; }
.wz-ar-karte__name { font-size: var(--text-s); color: var(--farbe-text-leise); font-weight: 400; }
.wz-ar-karte ul { margin: var(--raum-3) 0 0; padding-left: 1.1em; font-size: var(--text-s); }
.wz-ar-karte li + li { margin-top: var(--raum-1); }
.neu .wz-ar-reflex,
.wz-ar-reflex {
  display: inline-block; margin: 0 0 var(--raum-2);
  padding: .1em .7em; font-size: var(--text-s); font-weight: 700; border-radius: var(--radius);
}
.wz-ar-reflex--gold     { background: #f7e7b0; color: #6b5310; }
.wz-ar-reflex--platinum { background: #d9e8fb; color: #14477e; }
.wz-ar-reflex--chrome   { background: #d8f0dd; color: #1f6b3a; }
.wz-ar-karte.ist-gewaehlt.wz-ar--gold     { border-color: #d8b04a; box-shadow: 0 0 0 2px rgb(216 176 74 / .45); }
.wz-ar-karte.ist-gewaehlt.wz-ar--platinum { border-color: #4f7bf7; box-shadow: 0 0 0 2px rgb(79 123 247 / .4); }
.wz-ar-karte.ist-gewaehlt.wz-ar--chrome   { border-color: #3f9d5f; box-shadow: 0 0 0 2px rgb(63 157 95 / .4); }
.neu .wz-ar-hinweis,
.wz-ar-hinweis {
  margin-top: 1.25rem; padding: var(--raum-2) var(--raum-3);
  background: #faf0dd; border-left: 3px solid #e3c48c;
  font-size: var(--text-s); color: #7a4d10;
}
.wz-ar__tabtitel { margin-top: var(--raum-5); }
.wz-tabelle-scroll {
  overflow-x: auto;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
}
.wz-tabelle { width: 100%; border-collapse: collapse; font-size: var(--text-s); background: var(--farbe-grund); }
.wz-tabelle th, .wz-tabelle td { text-align: left; padding: var(--raum-2) var(--raum-3); border-bottom: 1px solid var(--farbe-linie); }
.wz-tabelle thead th { font-size: .8em; text-transform: uppercase; letter-spacing: .05em; color: var(--farbe-text-leise); }
.wz-tabelle tbody th { font-weight: 400; color: var(--farbe-text-leise); }
.wz-punkt { display: inline-block; width: .7em; height: .7em; border-radius: 50%; vertical-align: baseline; }
.wz-punkt--gold { background: #d8b04a; }
.wz-punkt--platinum { background: #4f7bf7; }
.wz-punkt--chrome { background: #3f9d5f; }
.wz-zonen { margin-top: var(--raum-5); }
.wz-zonen .wz-schalter {
  margin: 0 0 -1px;
  flex-wrap: wrap;
  justify-content: center;
  gap: .25rem;
  position: relative; z-index: 1;
}
.wz-zonen .wz-schalter button {
  border: 1px solid var(--farbe-linie);
  border-radius: 50px 50px 0 0;
  padding: .7rem 2.1rem;
  font-size: 1.0625rem;
  font-weight: 600;
  background: var(--farbe-grund-sanft);
  color: var(--farbe-text-leise);
  margin-top: .25rem;
}
.wz-zonen .wz-schalter button:hover {
  background: var(--farbe-grund);
  color: var(--farbe-text);
}
.wz-zonen .wz-schalter button[aria-selected="true"] {
  background: var(--farbe-grund);
  border-bottom-color: var(--farbe-grund);
  color: var(--farbe-text);
  margin-top: 0;
  padding-block: .85rem;
}
.wz-zonen__gruppe {
  border: 1px solid var(--farbe-linie);
  border-radius: 50px;
  background: var(--farbe-grund);
  padding: var(--raum-5);
}
@media (min-width: 56rem) {
  .wz-zonen__gruppe {
    display: grid;
    grid-template-columns: minmax(0, 16rem) minmax(0, 1fr);
    gap: clamp(1.25rem, 2.5vw, 2rem);
    align-items: start;
  }
  .wz-zonen__gruppe .wz-tabs {
    grid-template-columns: minmax(0, 1fr);
    margin-bottom: 0;
    gap: .4rem;
  }
  .wz-zonen__gruppe .wz-tab { padding: .6rem .8rem; }
  .wz-zonen__tafeln {
    position: sticky;
    top: calc(var(--leisten-gesamt, 7rem) + 1rem);
  }
}
.wz-zonen__bild {
  margin: 0; padding: 0;
  background: none; border: 0; border-radius: 0;
}
.wz-zonen__bild img {
  display: block;
  width: 70%; max-width: 100%; height: auto;
  margin-inline: auto;
}
.wz-zonen__bild figcaption { margin-bottom: var(--raum-3); max-width: 60ch; }
.wz-zonen__name { font-weight: 700; margin: 0 0 var(--raum-1); }
@media (prefers-reduced-motion: reduce) { .wz-ar-karte { transition: none; } }
.wz-farben__filter {
  flex-wrap: wrap; gap: .35rem;
  margin-block: var(--raum-4);
}
.wz-farben__filter button {
  border-radius: 999px;
  display: inline-flex; align-items: baseline; gap: .45rem;
  padding: .4rem .85rem;
  margin-left: 0;
}
.wz-farben__filter button:first-child,
.wz-farben__filter button:last-child { border-radius: 999px; }
.wz-farben__filter button[aria-selected="true"] {
  background: var(--farbe-text); border-color: var(--farbe-text); color: var(--farbe-grund);
}
.wz-farben__zahl { opacity: .6; font-variant-numeric: tabular-nums; }
.wz-farben__gruppe + .wz-farben__gruppe { margin-top: var(--raum-5); }
.wz-farben__gruppe h3 { margin-bottom: var(--raum-1); }
.wz-farben__beschreibung { color: var(--farbe-text-leise); max-width: 60ch; margin-top: 0; }
.wz-farben__raster {
  list-style: none; margin: var(--raum-4) 0 0; padding: 0;
  display: grid; gap: var(--raum-3);
  grid-template-columns: repeat(auto-fill, minmax(min(7rem, 100%), 1fr));
}
.wz-farben__raster figure { margin: 0; }
.wz-farben__raster img {
  width: 100%; aspect-ratio: 1; object-fit: cover; display: block;
  border-radius: 50%;
}
.wz-farben__raster figcaption {
  margin-top: var(--raum-2); font-size: var(--text-s); text-align: center; line-height: 1.35;
}
.wz-farben__raster figcaption span { display: block; color: var(--farbe-text-leise); font-size: .9em; }
.wz-farben__hinweis {
  max-width: 60ch;
  margin: var(--raum-2) 0 0;
  padding-left: var(--raum-3);
  border-left: 2px solid var(--farbe-linie);
  color: var(--farbe-text-leise);
  font-size: var(--text-s);
}
.wz-farben__raster--klein { grid-template-columns: repeat(auto-fill, minmax(min(5.5rem, 100%), 1fr)); }
.downloads__filter { display: flex; gap: var(--raum-1); flex-wrap: wrap; margin-bottom: var(--raum-5); }
.downloads__filter button {
  display: inline-flex; align-items: baseline; gap: var(--raum-2);
  padding: var(--raum-2) var(--raum-4);
  border: 1px solid var(--farbe-rahmen); border-radius: 999px;
  background: var(--farbe-grund); font: inherit; font-size: var(--text-s); cursor: pointer;
}
.downloads__filter button[aria-pressed="true"] {
  background: var(--farbe-text); border-color: var(--farbe-text); color: var(--farbe-grund);
}
.downloads__zahl { opacity: .6; font-variant-numeric: tabular-nums; }
.downloads__gruppe + .downloads__gruppe { margin-top: var(--raum-6); }
.downloads__beschreibung { color: var(--farbe-text-leise); max-width: 62ch; }
.downloads__karten {
  list-style: none; margin: var(--raum-4) 0 0; padding: 0;
  display: grid; gap: clamp(.9rem, 2vw, 1.4rem);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 61.99rem) { .downloads__karten { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 35.99rem) { .downloads__karten { grid-template-columns: minmax(0, 1fr); } }
.downloads__karte {
  display: grid; grid-template-columns: 8.5rem minmax(0, 1fr); grid-template-rows: 1fr auto;
  border: 1px solid var(--farbe-linie); background: var(--farbe-grund);
  transition: border-color 200ms ease, box-shadow 200ms ease;
}
.downloads__karte:hover { border-color: var(--ak); box-shadow: 0 14px 30px -20px rgb(0 0 0 / .45); }
.downloads__bild {
  grid-column: 1; grid-row: 1 / span 2;
  display: grid; place-items: center; min-height: 7rem; padding: .75rem;
  background: var(--farbe-grund-sanft); text-decoration: none;
}
.downloads__bild img { max-width: 100%; max-height: 8rem; width: auto; height: auto; object-fit: contain; display: block; }
.downloads__endung { font-size: 1.1rem; font-weight: 700; letter-spacing: .08em; color: var(--farbe-text-leise); }
.downloads__text { grid-column: 2; display: grid; gap: .2rem; align-content: start; padding: 1rem 1.1rem .5rem; }
.downloads__text strong { font-weight: 600; line-height: 1.3; }
.downloads__text small { color: var(--farbe-text-leise); font-size: var(--text-s); font-variant-numeric: tabular-nums; }
.downloads__aktionen { grid-column: 2; display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .25rem 1.1rem .9rem; }
.downloads__ansehen {
  display: inline-flex; align-items: center; gap: .45rem; min-height: 2.75rem;
  color: var(--ak); font-weight: 500; text-decoration: none;
}
.downloads__ansehen:hover { text-decoration: underline; }
.downloads__laden {
  margin-left: auto; width: 2.75rem; height: 2.75rem; flex: none;
  display: grid; place-items: center; border-radius: 50%;
  background: var(--nacht); color: #fff; text-decoration: none;
  transition: background-color 200ms ease, transform 200ms ease;
}
.downloads__laden:hover { background: var(--ak); transform: translateY(1px); }
@media (prefers-reduced-motion: reduce) { .downloads__laden, .downloads__karte { transition: none; } }
.downloads__leer { color: var(--farbe-text-leise); }
.neu .downloads__mehr { margin-top: clamp(3rem, 6vw, 5rem); padding-top: 2.5rem; border-top: 1px solid var(--farbe-linie); max-width: 46rem; }
.neu .downloads__mehr > h2 { font-size: clamp(1.4rem, 3vw, 2rem); line-height: 1.15; letter-spacing: -.015em; margin: 0 0 1rem; }
.neu .downloads__mehr > p { line-height: 1.65; margin: 0; }
.neu .downloads__mehr > p + p { margin-top: 1.75rem; }
.wz-gsr__regler { display: grid; gap: var(--raum-3); margin-block: var(--raum-4); }
.wz-gsr__feld {
  display: grid; gap: var(--raum-2);
  margin: 0; padding: 0; border: 0; background: none; 
}
.wz-gsr__feld { min-inline-size: 0; position: relative; }
.wz-gsr__feld legend {
  float: left; padding: 0;
  font-size: var(--text-s); font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase; color: var(--farbe-text-leise);
}
.wz-gsr__wert { position: absolute; top: var(--raum-3); right: var(--raum-4); font-weight: 600; font-variant-numeric: tabular-nums; }
.wz-gsr__knoepfe { clear: both; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .375rem; padding-top: var(--raum-2); }
.wz-gsr__knoepfe label { position: relative; cursor: pointer; }
.wz-gsr__knoepfe input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.wz-gsr__knoepfe span {
  display: block; padding: .55rem .25rem .45rem; text-align: center;
  font-size: .875rem; color: var(--farbe-text-leise);
  text-transform: none; letter-spacing: normal; font-weight: 500;
  border-bottom: 3px solid var(--farbe-linie); border-radius: 4px 4px 0 0;
  transition: color .2s ease, border-color .2s ease, background-color .2s ease;
}
.wz-gsr__knoepfe label:hover span { color: var(--farbe-text); background: var(--farbe-grund-sanft); }
.wz-gsr__knoepfe input:checked + span { color: var(--farbe-akzent); font-weight: 700; border-bottom-color: var(--farbe-akzent); background: var(--ak-sanft, #f3efe7); }
.wz-gsr__knoepfe input:focus-visible + span { outline: 2px solid var(--fokus, var(--farbe-akzent)); outline-offset: 2px; }
@media (max-width: 40rem) {
  .wz-gsr__wert { position: static; display: block; margin-top: .15rem; }
  .wz-gsr__knoepfe { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.wz-gsr__fussnote { margin: 0; font-size: .8125rem; line-height: 1.55; color: var(--farbe-text-leise); }
.wz-gsr__feld label {
  font-size: var(--text-s); font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase; color: var(--farbe-text-leise);
}
.wz-gsr__feld input[type="range"] { width: 100%; accent-color: var(--farbe-akzent); height: 1.6rem; }
.wz-gsr__feld output { font-weight: 600; font-variant-numeric: tabular-nums; }
.wz-gsr__buehne { display: grid; gap: var(--raum-4); }
.wz-gsr__glas { width: 100%; max-width: 52rem; margin-inline: auto; height: auto; display: block; }
.wz-gsr__fassung { fill: #f7f8fb; stroke: #d8dee7; stroke-width: 1; }
.wz-gsr__flaeche { fill: #ccd4de; }           
.wz-gsr__stufe2  { fill: #dfe4ea; stroke: none; }
.wz-gsr__stufe1  { fill: #eef1f5; stroke: none; }
.wz-gsr__klar    { fill: #ffffff; stroke: none; }
.wz-gsr__rand    { fill: none; stroke: #b9c1cd; stroke-width: 1.4; }
.wz-gsr__hilfe   { fill: none; stroke: #dde2e9; stroke-width: 1; }
.wz-gsr__lese circle { fill: var(--farbe-akzent); stroke: #fff; stroke-width: 2; }
.wz-gsr__lese .wz-gsr__lese-kern,
.wz-gsr__lese circle[data-feld="lese-kern"] { fill: #fff; stroke: none; }
.wz-gsr__zentrier circle { fill: none; stroke: #8a93a3; stroke-width: 1.4; }
.wz-gsr__zentrier path { fill: none; stroke: #8a93a3; stroke-width: 1.4; }
.wz-gsr__zentrier-kern { fill: #8a93a3; stroke: none; }
.wz-gsr__t {
  fill: var(--farbe-text); font-size: 18px; font-weight: 700;
  letter-spacing: .1em; text-anchor: middle;
}
.wz-gsr__t.klein { font-size: 15px; }
.wz-gsr__s { fill: #8a93a3; font-size: 14px; text-anchor: middle; }
.wz-gsr__ruf .rechts { text-anchor: end; }
.wz-gsr__ruf .links  { text-anchor: start; }
.wz-gsr__zeiger { fill: none; stroke: #aab3c0; stroke-width: 1.2; }
.wz-gsr__pfeilkopf { fill: #aab3c0; }
.wz-gsr__befund { display: grid; gap: var(--raum-2); padding-top: var(--raum-3); }
.wz-gsr__befund p { margin: 0; }
.wz-gsr__befund-marke {
  font-size: var(--text-s); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--farbe-text-leise);
}
.wz-gsr__kanal {
  font-size: clamp(1.6rem, 3vw, 2.2rem) !important; font-weight: 700; line-height: 1.1;
  color: var(--farbe-akzent);
}
.wz-gsr__balken {
  height: .75rem; border-radius: 999px; background: var(--farbe-linie);
  overflow: hidden; margin-top: var(--raum-2);
}
.wz-gsr__skala { display: flex; justify-content: space-between; font-size: .8125rem; color: var(--farbe-text-leise); }
.wz-gsr__erklaerung { margin: var(--raum-4) 0 0; display: grid; gap: var(--raum-4); }
.wz-gsr__erklaerung > div { padding-left: var(--raum-3); border-left: 3px solid var(--farbe-akzent); }
.wz-gsr__erklaerung dt { font-size: var(--text-s); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--farbe-akzent); margin-bottom: .25rem; }
.wz-gsr__erklaerung dd { margin: 0; line-height: 1.6; }
@media (min-width: 48rem) {
  .wz-gsr__erklaerung { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.wz-gsr__balken span {
  display: block; height: 100%; background: var(--farbe-akzent);
  transition: width 220ms ease;
}
.wz-gsr__geschichte { margin: 0 0 clamp(4rem, 8vw, 7rem); }
.wz-gsr__geschichte + .werkzeug__kopf { padding-top: clamp(2.5rem, 5vw, 4rem); border-top: 1px solid var(--farbe-linie); }
.gsr-folge { display: grid; gap: var(--raum-5); }
.gsr-folge__bilder { display: none; }
.gsr-folge__liste { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--raum-6); }
.gsr-punkt { margin: 0; }
.gsr-punkt__bild {
  display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover;
  border-radius: var(--radius); margin-bottom: var(--raum-4);
}
.gsr-punkt__zahl {
  display: block;
  font-family: "Space Grotesk", var(--schrift-text); font-weight: 700;
  font-size: clamp(3rem, 6vw, 5rem); line-height: 1; letter-spacing: -.03em;
  color: var(--farbe-akzent);
}
.gsr-punkt__zahl::after {
  content: ""; display: block; width: 3rem; height: 3px; margin: .75rem 0 1rem;
  background: currentColor; border-radius: 2px;
}
.gsr-punkt__wort {
  margin: 0 0 .35rem; font-size: var(--text-s); font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase; color: var(--farbe-akzent);
}
.werkzeug .gsr-punkt__titel { margin: 0 0 var(--raum-3); font-size: clamp(1.5rem, 2.6vw, 2.25rem); line-height: 1.15; font-weight: 600; }
.gsr-punkt__text { margin: 0; max-width: 36rem; font-size: 1.0625rem; line-height: 1.65; }
.gsr-punkt__liste { list-style: none; margin: 0; padding: var(--raum-4); border-radius: var(--radius); display: grid; gap: var(--raum-3); max-width: 36rem; }
.gsr-punkt__liste li { position: relative; padding-left: 2.2em; font-size: 1.0625rem; line-height: 1.5; }
.gsr-punkt__liste li::before {
  position: absolute; left: 0; top: .05em;
  display: grid; place-items: center; width: 1.5em; height: 1.5em; border-radius: 50%;
  color: #fff; font-weight: 700; font-size: .9em; line-height: 1;
}
.gsr-punkt--ja   .gsr-punkt__liste { background: #eaf4ee; }   
.gsr-punkt--nein .gsr-punkt__liste { background: #f8eded; }   
.gsr-punkt--ja   :is(.gsr-punkt__zahl, .gsr-punkt__wort, .gsr-punkt__titel) { color: #245f38; }
.gsr-punkt--nein :is(.gsr-punkt__zahl, .gsr-punkt__wort, .gsr-punkt__titel) { color: #8a2a2a; }
.gsr-punkt--ja   .gsr-punkt__liste li::before { content: "✓"; background: var(--farbe-offen); }
.gsr-punkt--nein .gsr-punkt__liste li::before { content: "×"; background: var(--farbe-zu); }
@media (min-width: 62rem) {
  .gsr-folge { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2.5rem, 5vw, 5rem); align-items: start; }
  .gsr-folge__bilder {
    display: block; position: sticky; top: calc(var(--leisten-gesamt, 7rem) + 2rem);
    height: min(70vh, 38rem); border-radius: var(--radius); overflow: hidden; background: var(--farbe-grund-sanft);
  }
  .gsr-folge__foto {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
    opacity: 0; transform: scale(1.05);
    transition: opacity .7s ease, transform 1.4s ease;
  }
  .gsr-folge__foto.ist-da { opacity: 1; transform: none; }
  .gsr-punkt__bild { display: none; }
  .gsr-folge__liste { gap: 0; }
  .gsr-punkt { min-height: 66vh; display: flex; flex-direction: column; justify-content: center; padding-block: var(--raum-5); }
  .gsr-folge--bewegt .gsr-punkt { opacity: .22; transform: translateY(1rem); transition: opacity .55s ease, transform .55s ease; }
  .gsr-folge--bewegt .gsr-punkt.ist-aktiv { opacity: 1; transform: none; }
  .gsr-folge--bewegt .gsr-punkt__zahl::after { width: 0; transition: width .7s ease .2s; }
  .gsr-folge--bewegt .gsr-punkt.ist-aktiv .gsr-punkt__zahl::after { width: 3rem; }
}
@media (prefers-reduced-motion: reduce) {
  .gsr-folge__foto, .gsr-folge--bewegt .gsr-punkt, .gsr-folge--bewegt .gsr-punkt__zahl::after { transition: none !important; transform: none !important; }
}
@media (max-width: 56rem) {
  .wz-gsr__t { font-size: 22px; }
  .wz-gsr__s { font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) { .wz-gsr__balken span { transition: none; } }
.fb__kopf { display: flex; align-items: baseline; justify-content: space-between; gap: var(--raum-3); flex-wrap: wrap; }
.fb__profil { font-size: var(--text-s); }
.fb__liste {
  list-style: none; margin: var(--raum-4) 0 0; padding: 0;
  display: grid; gap: var(--raum-4);
  grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr));
}
.fb__beitrag {
  display: flex; flex-direction: column;
  border: 1px solid var(--farbe-linie); border-radius: var(--radius);
  overflow: hidden; background: var(--farbe-grund);
}
.fb__bild { position: relative; }
.fb__bild img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.fb__mehr {
  position: absolute; right: var(--raum-2); bottom: var(--raum-2);
  padding: .1em .6em; border-radius: var(--radius);
  background: rgb(0 0 0 / .6); color: #fff; font-size: var(--text-s);
}
.fb__text { padding: var(--raum-4); display: flex; flex-direction: column; gap: var(--raum-2); flex: 1; }
.fb__text p { margin: 0; font-size: var(--text-s); }
.fb__datum { color: var(--farbe-text-leise); }
.fb__link { margin-top: auto !important; }
.fb__eigen { font-weight: 600; letter-spacing: .04em; }
.fb .fb__eigen { color: rgb(var(--neon-hof)); }
.fb .fb__titel { color: #fff; }
.fb__titel { margin: .2rem 0 .1rem; font-size: 1.15rem; line-height: 1.25; }
.fb__titel a { color: inherit; text-decoration: none; }
.fb__titel a:hover, .fb__titel a:focus-visible { text-decoration: underline; }
.fb__fuss { margin-top: clamp(1.6rem, 3.5vw, 2.5rem); font-size: var(--text-s); color: var(--farbe-text-leise); max-width: 70ch; }
.band--anschluss { padding-top: 0; }
.band--anschluss > .band__innen { padding-top: 0; }
.band--anschluss { padding-inline: 0; }
.band--anschluss > .band__innen { max-width: none; padding-inline: 0; }
.mediathek {
  --neon:       255 186 74;
  --neon-kern:  255 246 230;
  --neon-hof:   255 214 140;
  --fokus:      var(--ak-hell);
  display: grid;
  --reihen-abstand: clamp(2.5rem, 6vw, 4.5rem);
  gap: var(--reihen-abstand);
}
[data-ort="blau"] .mediathek    { --neon: 104 186 255; --neon-kern: 235 246 255; --neon-hof: 150 205 255; }
[data-ort="weinrot"] .mediathek { --neon: 255 108 118; --neon-kern: 255 235 233; --neon-hof: 255 158 160; }
.buehne__titel {
  color: rgb(var(--neon-kern));
  text-shadow:
    0 0 2px rgb(var(--neon-kern) / .95),
    0 0 8px rgb(var(--neon) / .85),
    0 0 22px rgb(var(--neon) / .6),
    0 0 46px rgb(var(--neon) / .4);
}
.buehne__titel {
  text-shadow:
    0 0 2px rgb(var(--neon-kern) / .95),
    0 0 10px rgb(var(--neon) / .9),
    0 0 28px rgb(var(--neon) / .7),
    0 0 60px rgb(var(--neon) / .45),
    0 2px 24px rgb(0 0 0 / .55);
}
.buehne__titel .leicht { color: rgb(var(--neon-kern) / .72); }
.mediathek .reihe__kopf h2 {
  font-family: var(--schrift-text);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .01em;
  color: #fff;
  text-shadow: none;
}
.mediathek .reihe__kopf h2 .leicht {
  font-size: 1em;
  font-weight: 400;
  color: rgb(255 255 255 / .70);
  opacity: 1;
}
.mediathek .reihe {
  position: relative; isolation: isolate;
}
.mediathek .pille[aria-current] {
  background: rgb(255 255 255 / .16);
  border-color: rgb(255 255 255 / .5);
  color: #fff;
}
.mediathek .pille--neu[aria-current] {
  border-color: rgb(var(--neon));
  color: rgb(var(--neon-kern));
}
.mediathek .reihe::after {
  content: '';
  position: absolute; inset: -20% 0 -30%; z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(60% 50% at 8% 0%, rgb(var(--neon-hof) / .10) 0%, transparent 60%),
    radial-gradient(50% 40% at 92% 20%, rgb(var(--neon) / .06) 0%, transparent 62%);
}
.reihe { min-width: 0; }
.reihe__rahmen { min-width: 0; }
.karte__spielen {
  position: absolute; z-index: 2;
  left: 50%; top: 44%;
  transform: translate(-50%, -50%);
  width: 3rem; height: 3rem;
  display: grid; place-items: center;
  border-radius: 999px;
  background: rgb(8 9 12 / .68);
  border: 1px solid rgb(255 255 255 / .22);
  color: #fff;
  font-size: 1rem;
  padding-inline-start: .12em;
  backdrop-filter: blur(8px);
  transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}
.karte--film:hover .karte__spielen,
.karte--film:focus-visible .karte__spielen {
  transform: translate(-50%, -50%) scale(1.12);
  border-color: rgb(var(--neon, 255 186 74) / .8);
  color: rgb(var(--neon-kern, 255 246 230));
  box-shadow:
    0 0 0 1px rgb(var(--neon, 255 186 74) / .7),
    0 0 16px rgb(var(--neon, 255 186 74) / .55);
}
.karte--film .karte__bild { position: relative; }
.neu--karbon .galerie { gap: 0; }
.neu--karbon .galerie__feld a,
.neu--karbon .galerie__feld img {
  border-radius: 0;
}
.neu--karbon .galerie__feld a {
  display: block; overflow: hidden;
  border: 0;
  box-shadow: none;
  transition: box-shadow 200ms ease, transform 200ms ease;
}
.neu--karbon .galerie__feld a:hover,
.neu--karbon .galerie__feld a:focus-visible {
  position: relative; z-index: 1;
  transform: scale(1.03);
  box-shadow:
    0 0 0 2px rgb(var(--neon, 255 186 74) / .7),
    0 0 20px rgb(var(--neon, 255 186 74) / .45),
    0 10px 26px rgb(0 0 0 / .55);
}
@media (prefers-reduced-motion: reduce) {
  .neu--karbon .galerie__feld a:hover,
  .neu--karbon .galerie__feld a:focus-visible { transform: none; }
}
.neu--karbon .galerie {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(11rem, 50%), 1fr));
  grid-auto-rows: minmax(10rem, 14vw);
  grid-auto-flow: dense;
  gap: 0;
}
.neu--karbon .galerie__feld { margin: 0; }
.neu--karbon .galerie__feld:nth-child(7n + 1) { grid-column: span 2; grid-row: span 2; }
.neu--karbon .galerie__feld:nth-child(7n + 4) { grid-row: span 2; }
.neu--karbon .galerie__feld:nth-child(7n + 6) { grid-column: span 2; }
@media (max-width: 34rem) {
  .neu--karbon .galerie__feld:nth-child(7n + 1) { grid-column: span 2; grid-row: span 1; }
  .neu--karbon .galerie__feld:nth-child(7n + 6) { grid-column: span 1; }
}
.neu--karbon .galerie__feld a,
.neu--karbon .galerie__feld img {
  border-radius: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.neu--karbon .galerie__feld img {
  object-fit: cover;
  aspect-ratio: auto;
}
.neu--karbon .galerie__feld a {
  border: 0;
  box-shadow: none;
  overflow: hidden;
  transition: box-shadow 200ms ease, transform 200ms ease;
}
.neu--karbon .galerie__feld a:hover,
.neu--karbon .galerie__feld a:focus-visible {
  position: relative; z-index: 1;
  transform: scale(1.03);
  box-shadow:
    0 0 0 2px rgb(var(--neon, 255 186 74) / .7),
    0 0 20px rgb(var(--neon, 255 186 74) / .45),
    0 10px 26px rgb(0 0 0 / .55);
}
@media (prefers-reduced-motion: reduce) {
  .neu--karbon .galerie__feld a:hover,
  .neu--karbon .galerie__feld a:focus-visible { transform: none; }
}
.seite--galerie.mediathek--buehne { position: relative; isolation: isolate; }
.streckengrund {
  position: absolute; z-index: -1;
  inset: 0 0 auto;
  height: min(84svh, 48rem);
  overflow: hidden;
  pointer-events: none;
}
.streckengrund__bild {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  background: #000;
}
.streckengrund__schleier {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(to top,
    rgb(16 18 22 / 1) 0%,
    rgb(16 18 22 / .97) 26%,
    rgb(16 18 22 / .86) 45%,
    rgb(16 18 22 / .74) 62%,
    rgb(16 18 22 / .62) 80%,
    rgb(16 18 22 / .50) 100%);
}
.buehne--foto { background: none; }
.buehne.buehne--kopf { padding-inline: 0; }
.buehne--kopf .buehne__text {
  max-width: var(--spiegel, 1600px);
  margin-inline: auto;
  padding-inline: var(--takt);
  width: 100%;
}
.buehne__jahr {
  display: inline-flex; align-items: center;
  padding: .7rem 1.3rem;
  border-radius: 999px;
  border: 1px solid rgb(255 186 74);
  background: rgb(255 186 74);
  color: rgb(16 17 20);
  font-size: .92rem; font-weight: 600; line-height: 1;
  font-variant-numeric: tabular-nums;
  box-shadow: 0 0 18px rgb(255 186 74 / .35);
}
.buehne__spalten {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: clamp(1rem, 3vw, 2.5rem);
}
.buehne__wort { display: grid; gap: .3rem; }
.buehne__tat  { display: grid; gap: .6rem; justify-items: start; }
@media (min-width: 52rem) {
  .buehne__tat { justify-items: end; text-align: right; }
  .buehne__tat .buehne__wege { justify-content: flex-end; }
}
@media (max-width: 51.999rem) {
  .buehne__spalten { grid-template-columns: 1fr; gap: .9rem; }
}
.seite--galerie.mediathek { gap: clamp(.8rem, 1.8vw, 1.4rem); }
.seite--galerie .band--eng:not(.band--aufbild) {
  padding-block: clamp(.9rem, 2vw, 1.4rem) 0;
}
.seite--galerie .band--eng:not(.band--aufbild) > .band__innen { padding-block: 0; }
.band--aufbild { padding-top: 0; }
.band--aufbild > .band__innen { padding-top: 0; }
.seite--galerie .band--aufbild { padding-block: clamp(1rem, 2.2vw, 1.6rem) 0; }
.seite--galerie .band--aufbild > .band__innen { padding-top: 0; }
.band--manifest { padding: 0; }
.band--manifest > .band__innen { max-width: none; padding: 0; }
.seite--manifest { padding-top: 0; }
.manifest { display: grid; }
.manifest--zweispaltig {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
}
.manifest__bild {
  position: sticky; top: 0;
  height: 100svh;
  overflow: hidden;
  isolation: isolate;
}
.manifest__foto {
  position: absolute; inset: 0; z-index: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 700ms ease;
}
.manifest__foto.ist-da { opacity: 1; }
@media (scripting: none) {
  .manifest__foto { opacity: 0; }
  .manifest__foto:first-of-type { opacity: 1; }
}
.manifest__schleier {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(to top,
    rgb(16 18 22 / .92) 0%, rgb(16 18 22 / .74) 38%,
    rgb(16 18 22 / .46) 70%, rgb(16 18 22 / .34) 100%);
}
.manifest__bild::before {
  content: '';
  position: absolute; z-index: 1;
  inset: 0 0 auto; height: 230px;
  background: linear-gradient(to bottom,
    rgb(16 18 22 / .88) 0%, rgb(16 18 22 / .84) 50%, rgb(16 18 22 / 0) 100%);
  pointer-events: none;
}
body { --fusslauf: clamp(3rem, 8svh, 6rem); }
main {
  position: relative;
  z-index: 0;
  padding-bottom: var(--fusslauf);
}
.fuss {
  position: relative;
  z-index: 1;
  background: var(--fuss-grund);
}
@supports (animation-timeline: scroll(root)) {
  main {
    animation: inhalt-steht linear both;
    animation-timeline: scroll(root block);
    animation-range: calc(100% - var(--fusslauf)) 100%;
  }
  @keyframes inhalt-steht {
    from { transform: translateY(0); }
    to   { transform: translateY(var(--fusslauf)); }
  }
  .bereichsnav {
    animation: leiste-bleibt linear both;
    animation-timeline: scroll(root block);
    animation-range: calc(100% - var(--fusslauf)) 100%;
  }
  @keyframes leiste-bleibt {
    from { transform: translateY(0); }
    to   { transform: translateY(calc(-1 * var(--fusslauf))); }
  }
  @media (prefers-reduced-motion: reduce) {
    main { animation: none; padding-bottom: 0; }
    .bereichsnav { animation: none; }
  }
}
.fortschritt { display: none; }
@supports (animation-timeline: scroll()) {
  .fortschritt {
    display: block;
    position: fixed; z-index: 60;
    right: var(--takt);
    bottom: calc(1.25rem + env(safe-area-inset-bottom, 0px));
    width: clamp(4rem, 10vw, 7rem);
    height: 3px;
    border-radius: 999px;
    background: rgb(128 128 132 / .3);
    pointer-events: none;
    overflow: hidden;
  }
  .fortschritt__strich {
    display: block;
    height: 100%;
    width: 100%;
    border-radius: inherit;
    background: var(--ak);
    transform-origin: left center;
    animation: fortschritt linear both;
    animation-timeline: scroll(root block);
  }
  @keyframes fortschritt {
    from { transform: scaleX(0); }
    to   { transform: scaleX(1); }
  }
  .neu--karbon .fortschritt { background: rgb(255 255 255 / .22); }
  .neu--karbon .fortschritt__strich { background: var(--ak-hell); }
  @media (max-width: 60rem) {
    .fortschritt { bottom: calc(64px + .75rem + env(safe-area-inset-bottom, 0px)); }
  }
}
.manifest__slogan {
  position: absolute; z-index: 2;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  max-width: 100%;
  padding-inline: var(--takt);
}
.neu .manifest__slogan .manifest__unterzeile {
  display: block; margin-top: 1.1rem;
  font-family: var(--schrift-text, inherit); font-size: clamp(.8rem, 1.1vw, .95rem); font-weight: 600;
  line-height: 1.3; letter-spacing: .16em; text-transform: uppercase;
  color: rgb(255 255 255 / .85); text-shadow: none;
}
.neu .manifest__slogan {
  margin: 0;
  font-size: clamp(3rem, 7vw, 6.5rem);
  line-height: .95;
  text-align: right;
  text-wrap: balance;
  color: rgb(var(--neon-kern, 255 246 230));
  text-shadow:
    0 0 2px rgb(var(--neon-kern, 255 246 230) / .95),
    0 0 10px rgb(var(--neon, 255 186 74) / .9),
    0 0 28px rgb(var(--neon, 255 186 74) / .7),
    0 0 60px rgb(var(--neon, 255 186 74) / .45),
    0 2px 24px rgb(0 0 0 / .55);
}
.manifest__saetze {
  display: grid;
  padding: 0 var(--takt);
  grid-template-columns: minmax(0, 1fr);
}
.manifest__buehne,
.manifest__spuren { grid-area: 1 / 1; align-self: start; }
.manifest__buehne {
  position: sticky;
  top: 0;
  height: 100svh;
  isolation: isolate;
}
.manifest__halt {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: clamp(1rem, 2.5vw, 2rem);
  align-content: center;
  align-items: start;
  max-width: 40rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 500ms ease, visibility 0s linear 500ms;
  pointer-events: none;
}
.manifest__halt.ist-da {
  opacity: 1;
  visibility: visible;
  transition: opacity 500ms ease, visibility 0s;
  pointer-events: auto;
}
.manifest__spur { height: 100svh; }
@media (min-width: 60.0625rem) {
  html:has(.seite--manifest) { scroll-snap-type: y mandatory; }
  .manifest__spur { scroll-snap-align: start; scroll-snap-stop: always; }
  body:has(.seite--manifest) .fuss { scroll-snap-align: end; }
  @media (prefers-reduced-motion: reduce) {
    html:has(.seite--manifest) { scroll-snap-type: none; }
  }
}
.neu .manifest__zahl {
  margin: 0;
  font-family: var(--schrift-titel);
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  font-weight: 300;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  color: var(--ak);
  opacity: .35;
  padding-top: .08em;
}
.manifest__inhalt { display: grid; gap: .9rem; }
.neu .manifest__leit {
  margin: 0;
  font-family: var(--schrift-serif);
  font-size: clamp(1.45rem, 2.7vw, 2rem);
  line-height: 1.12;
  font-weight: 400;
  letter-spacing: -.005em;
  text-wrap: balance;
  color: var(--nacht);
}
.manifest__dazu { margin: 0; color: var(--grau); }
.manifest__halt--schluss .manifest__inhalt { border-top: 1px solid var(--linie); padding-top: clamp(1rem, 3vw, 2rem); }
@media (max-width: 60rem) {
  .manifest--zweispaltig { grid-template-columns: 1fr; }
  .manifest__bild {
    position: relative;
    height: 62svh;
    display: flex;
    align-items: flex-end;
    padding-top: calc(var(--leisten-hoehe, 5.75rem) + var(--takt));
  }
  .neu .manifest__slogan,
  .manifest__slogan {
    position: static;
    transform: none;
    text-align: left;
    padding: var(--takt);
    width: 100%;
    font-size: clamp(2.4rem, 11vw, 3.5rem);
    line-height: 1.02;
  }
  .manifest__buehne { position: static; height: auto; }
  .manifest__halt {
    position: static;
    opacity: 1; visibility: visible; pointer-events: auto;
    transition: none;
    max-width: none;
    padding-block: clamp(1.5rem, 6vw, 3rem);
  }
  .manifest__spuren { display: none; }
  .manifest__saetze { gap: 0; padding-block: clamp(1.5rem, 5vw, 3rem); }
}
@media (scripting: none) {
  .manifest__buehne { position: static; height: auto; }
  .manifest__halt { position: static; opacity: 1; visibility: visible; }
  .manifest__spuren { display: none; }
  .manifest__saetze { padding-block: clamp(1.5rem, 5vw, 3rem); }
}
@media (max-width: 40rem) {
  .manifest__halt { grid-template-columns: 1fr; gap: .5rem; }
  .manifest__zahl { font-size: 1.6rem; }
}
.produktstreifen {
  list-style: none;
  margin: var(--raum-5, 2.5rem) 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr));
  gap: clamp(1rem, 2.5vw, 2rem);
}
@media (min-width: 56rem) {
  .produktstreifen { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.produktstreifen img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  background: var(--tag);
}
.mediathek { --spiegel: 1600px; }
.mediathek__filter { padding-inline: 0; }
.mediathek__filterinnen {
  max-width: var(--spiegel);
  margin-inline: auto;
  padding-inline: var(--takt);
  display: flex; flex-wrap: wrap; align-items: center;
  gap: .8rem 1.4rem;
  padding-bottom: .4rem;
}
.mediathek .teamfilter__gruppe {
  display: flex; flex-wrap: wrap; align-items: center; gap: .45rem;
}
.mediathek .pille:not(.pille--auf-bild):not(.pille--beispiel) {
  display: inline-flex; align-items: center; gap: .4rem;
  min-height: 2.25rem;
  padding: .3rem .8rem;
  border-radius: 999px;
  border: 1px solid rgb(255 255 255 / .18);
  background: rgb(255 255 255 / .06);
  color: rgb(255 255 255 / .82);
  font-size: .86rem; font-weight: 600;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}
.mediathek .pille:not(.pille--auf-bild):hover,
.mediathek .pille:not(.pille--auf-bild):focus-visible {
  border-color: rgb(var(--neon) / .6);
  color: #fff;
}
.mediathek .pille.ist-aktiv:not(.pille--auf-bild) {
  background: #fff;
  border-color: #fff;
  color: rgb(16 18 22);
}
.mediathek .pille__zahl {
  font-size: .78rem; font-weight: 500;
  font-variant-numeric: tabular-nums;
  opacity: .62;
}
.mediathek .pille--neu:not(.ist-aktiv):not(.pille--auf-bild) {
  border-color: rgb(var(--neon) / .55);
  color: rgb(var(--neon-kern));
}
.mediathek .pille--neu.ist-aktiv:not(.pille--auf-bild) {
  background: rgb(var(--neon));
  border-color: rgb(var(--neon));
  color: rgb(10 11 14);
}
.neu--karbon .seite--ratgeber .pille:not(.pille--auf-bild):not(.pille--beispiel) {
  display: inline-flex; align-items: center; gap: .4rem;
  min-height: 2.25rem;
  padding: .3rem .8rem;
  border-radius: 999px;
  border: 1px solid rgb(255 255 255 / .18);
  background: rgb(255 255 255 / .06);
  color: rgb(255 255 255 / .82);
  font-size: .86rem; font-weight: 600;
  text-decoration: none;
}
.neu--karbon .seite--ratgeber .pille:not(.pille--auf-bild):hover,
.neu--karbon .seite--ratgeber .pille:not(.pille--auf-bild):focus-visible { border-color: rgb(255 255 255 / .6); color: #fff; }
.neu--karbon .seite--ratgeber .teamfilter .pille.ist-aktiv:not(.pille--auf-bild) { background: #fff; border-color: #fff; color: rgb(16 18 22); }
.neu--karbon .seite--ratgeber .pille__zahl { opacity: .62; }
.neu--karbon .seite--ratgeber .teamfilter { border-bottom-color: rgb(255 255 255 / .14); }
.neu--karbon .seite--ratgeber :is(.teamfilter__etikett, .teamfilter__stand, .ratgeber__hinweis) { color: rgb(255 255 255 / .62); }
.mediathek__stand {
  margin: 0; margin-inline-start: auto;
  font-size: var(--text-s);
  color: rgb(255 255 255 / .62);
  font-variant-numeric: tabular-nums;
}
.mediathek__stand a { color: rgb(255 255 255 / .82); }
@media (max-width: 40rem) {
  .mediathek__stand { margin-inline-start: 0; }
}
.buehne {
  position: relative;
  isolation: isolate;
  min-height: min(62vh, 34rem);
  display: grid;
  align-content: end;
  padding: clamp(2rem, 6vw, 4rem) var(--takt) clamp(2rem, 5vw, 3.5rem);
  overflow: hidden;
}
.buehne__video,
.buehne__foto {
  position: absolute; inset: 0; z-index: -2;
  width: 100%; height: 100%;
  object-fit: cover;
}
.buehne__foto { background: #000; }
.buehne__video { background: transparent; }
.buehne__schleier {
  position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(to top,
    rgb(16 18 22 / 1) 0%, rgb(16 18 22 / 1) 10%,
    rgb(16 18 22 / .78) 38%,
    rgb(16 18 22 / .42) 68%, rgb(16 18 22 / .3) 100%);
  transition: opacity 400ms ease;
}
.buehne.laeuft .buehne__schleier,
.buehne.laeuft .buehne__text { opacity: 0; pointer-events: none; }
.buehne__text { transition: opacity 400ms ease; }
.buehne:not(.buehne--kopf) .buehne__text { max-width: 46rem; }
.buehne__marke {
  margin: 0 0 .4rem; font-size: var(--text-s);
  letter-spacing: .14em; text-transform: uppercase;
  color: rgb(var(--neon-hof, 255 214 140));
}
.buehne h2 { margin: 0 0 .6rem; }
.buehne__titel { margin: 0 0 .6rem; }
.buehne__dazu { margin: 0 0 1.2rem; color: rgb(255 255 255 / .82); max-width: 46ch; }
.buehne__wege { margin: 0; }
.buehne__film {
  margin: 0 0 1.2rem;
  display: flex; flex-wrap: wrap; align-items: baseline; gap: .45rem .7rem;
  max-width: 46ch;
}
.buehne__filmtitel { font-weight: 600; color: #fff; }
.buehne__filmlaenge {
  font-size: var(--text-s);
  padding: .1rem .5rem;
  border: 1px solid rgb(255 255 255 / .35);
  border-radius: 999px;
  color: rgb(255 255 255 / .82);
  font-variant-numeric: tabular-nums;
}
.buehne__filmtext { flex: 1 1 100%; color: rgb(255 255 255 / .82); }
.buehne__dreieck { margin-inline-end: .45rem; }
.buehne__ersatz { color: #fff; padding: var(--raum-4); }
.buehne.laeuft { min-height: min(80vh, 46rem); }
.buehne--kopf {
  min-height: 50svh;
  max-height: 50svh;
  padding-top: calc(114px + clamp(1rem, 3vw, 2rem));
  padding-bottom: clamp(1.2rem, 3vw, 2.2rem);
}
.buehne--kopf.laeuft { min-height: 100svh; max-height: none; }
.buehne--kopf::before {
  content: '';
  position: absolute; inset: 0 0 auto; height: 220px; z-index: -1;
  background: linear-gradient(to bottom,
    rgb(16 18 22 / .82) 0%, rgb(16 18 22 / .55) 45%, rgb(16 18 22 / 0) 100%);
  transition: opacity 400ms ease;
  pointer-events: none;
}
.buehne--kopf.laeuft::before {
  height: 150px;
  background: linear-gradient(to bottom,
    rgb(16 18 22 / .72) 0%, rgb(16 18 22 / .4) 50%, rgb(16 18 22 / 0) 100%);
}
@media (max-width: 40rem) {
  .buehne--kopf { min-height: 58svh; max-height: 58svh; }
  .buehne--kopf::before { height: 160px; }
}
.buehne--kopf .breadcrumbs {
  max-width: none;
  margin: 0;
  padding: 0;
}
.buehne--kopf .breadcrumbs ol { align-items: center; }
.buehne--kopf .breadcrumbs { font-size: 1rem; }
.buehne--kopf .breadcrumbs li + li::before {
  color: var(--ak-hell);
  font-size: 1.15em;
  font-weight: 700;
  opacity: 1;
}
.buehne--kopf .breadcrumbs,
.buehne--kopf .breadcrumbs a { color: rgb(255 255 255 / .82); }
.buehne--kopf .breadcrumbs a:hover { color: #fff; }
.reihe__kopf {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: var(--raum-3); flex-wrap: wrap;
  max-width: var(--spiegel, 1600px); margin-inline: auto;
  padding-inline: var(--takt);
  margin-bottom: clamp(.8rem, 2vw, 1.2rem);
}
.reihe__kopf h2 { margin: 0; }
.reihe .reihe__zahl { margin: 0; color: rgb(255 255 255 / .55); font-size: var(--text-s); }
.reihe__rahmen {
  position: relative;
  max-width: var(--spiegel, 1600px);
  margin-inline: auto;
}
.reihe__gleis {
  display: flex; gap: clamp(.7rem, 1.6vw, 1.1rem);
  list-style: none; margin: 0;
  padding: .35rem var(--takt) 1rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: var(--takt);
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.reihe__gleis::-webkit-scrollbar { display: none; }
.reihe__gleis {
  --fade-links: 0px;
  --fade-rechts: 0px;
  -webkit-mask-image: linear-gradient(to right,
    transparent 0,
    #000 var(--fade-links),
    #000 calc(100% - var(--fade-rechts)),
    transparent 100%);
  mask-image: linear-gradient(to right,
    transparent 0,
    #000 var(--fade-links),
    #000 calc(100% - var(--fade-rechts)),
    transparent 100%);
  transition: -webkit-mask-image 200ms linear, mask-image 200ms linear;
}
.reihe__gleis.faden-links  { --fade-links: clamp(2rem, 6vw, 5rem); }
.reihe__gleis.faden-rechts { --fade-rechts: clamp(2rem, 6vw, 5rem); }
.reihe__gleis:focus-visible { outline: 2px solid var(--ak-hell); outline-offset: 3px; }
.reihe__feld { flex: 0 0 auto; scroll-snap-align: start; width: min(22rem, 72vw); }
.karte {
  display: block;
  color: inherit; text-decoration: none;
}
.karte__bild {
  position: relative;
  display: block; overflow: hidden;
  border-radius: .55rem;
  border: 0;
  background: rgb(255 255 255 / .05);
  box-shadow:
    0 1px 2px rgb(0 0 0 / .5),
    0 10px 26px rgb(0 0 0 / .45);
}
.karte__bild img { border-radius: inherit; }
.karte__schleier {
  position: absolute; inset: 0; z-index: 1;
  pointer-events: none;
  background: linear-gradient(to top,
    rgb(8 9 12 / .92) 0%, rgb(8 9 12 / .78) 22%,
    rgb(8 9 12 / .34) 52%, rgb(8 9 12 / 0) 78%);
}
.karte__text {
  position: absolute; z-index: 2;
  inset-inline: 0; bottom: 0;
  display: grid; gap: .1rem;
  padding: .7rem .8rem .75rem;
}
.karte__zahl {
  position: absolute; z-index: 2;
  top: .55rem; right: .55rem;
  display: inline-flex; align-items: center; gap: .3rem;
  padding: .2rem .5rem .2rem .42rem;
  border-radius: 999px;
  background: rgb(8 9 12 / .68);
  backdrop-filter: blur(8px);
  color: #fff;
  font-size: .78rem; font-weight: 600; line-height: 1.5;
  font-variant-numeric: tabular-nums;
  border: 1px solid rgb(255 255 255 / .16);
}
.karte__symbol { display: block; flex: none; opacity: .85; }
.karte__marken {
  position: absolute; z-index: 2;
  top: .55rem; left: .55rem;
  max-width: calc(100% - 5rem);
  display: flex; flex-wrap: wrap; align-items: center; gap: .3rem;
}
.karte__neu {
  padding: .18rem .5rem;
  border-radius: 999px;
  background: rgb(var(--neon, 255 186 74));
  color: rgb(10 11 14);
  font-size: .72rem; font-weight: 700; line-height: 1.5;
  letter-spacing: .04em; text-transform: uppercase;
  box-shadow: 0 0 14px rgb(var(--neon, 255 186 74) / .55);
}
.karte__jahr {
  padding: .2rem .5rem;
  border-radius: 999px;
  background: rgb(8 9 12 / .68);
  border: 1px solid rgb(255 255 255 / .16);
  backdrop-filter: blur(8px);
  color: #fff;
  font-size: .74rem; font-weight: 600; line-height: 1.5;
  font-variant-numeric: tabular-nums;
}
.karte__ort {
  display: inline-flex; align-items: center;
  padding: .18rem;
  border-radius: 999px;
  background: rgb(8 9 12 / .68);
  border: 1px solid rgb(255 255 255 / .16);
  backdrop-filter: blur(8px);
}
.karte__ort .wappen { display: block; }
.karte__bild img {
  display: block; width: 100%; aspect-ratio: 3 / 2;
  object-fit: cover;
  transition: transform 420ms cubic-bezier(.22,.61,.36,1);
}
.karte:hover .karte__bild img,
.karte:focus-visible .karte__bild img { transform: scale(1.06); }
.karte:hover .karte__bild,
.karte:focus-visible .karte__bild {
  box-shadow:
    0 0 0 1px rgb(var(--neon, 255 186 74) / .55),
    0 1px 2px rgb(0 0 0 / .5),
    0 0 18px rgb(var(--neon, 255 186 74) / .45),
    0 12px 32px rgb(0 0 0 / .5),
    0 0 44px rgb(var(--neon, 255 186 74) / .22);
}
.karte:hover .karte__titel,
.karte:focus-visible .karte__titel {
  color: rgb(var(--neon-kern, 255 246 230));
  text-shadow: 0 0 12px rgb(var(--neon, 255 186 74) / .55);
}
.karte__titel { transition: color 200ms ease, text-shadow 200ms ease; }
.karte__bild { transition: box-shadow 200ms ease; }
.karte:focus-visible { outline: none; }
.karte__titel {
  font-weight: 650; color: #fff;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
  text-shadow: 0 1px 6px rgb(0 0 0 / .7);
}
.karte__dazu {
  font-size: var(--text-s); color: rgb(255 255 255 / .78);
  font-variant-numeric: tabular-nums;
  text-shadow: 0 1px 6px rgb(0 0 0 / .7);
}
.reihe__pfeil {
  position: absolute; top: 0; bottom: 2.6rem; z-index: 2;
  width: clamp(2.5rem, 5vw, 3.5rem);
  display: grid; place-items: center;
  border: 0; cursor: pointer;
  font-size: 1.6rem; line-height: 1;
  color: #fff;
  background: linear-gradient(to right, rgb(16 18 22 / .92), rgb(16 18 22 / 0));
  transition: opacity 200ms ease;
}
.reihe__pfeil--rechts {
  right: 0;
  background: linear-gradient(to left, rgb(16 18 22 / .92), rgb(16 18 22 / 0));
}
.reihe__pfeil--links { left: 0; }
.reihe__pfeil:hover,
.reihe__pfeil:focus-visible {
  color: rgb(var(--neon-kern, 255 246 230));
  text-shadow:
    0 0 8px rgb(var(--neon, 255 186 74) / .9),
    0 0 24px rgb(var(--neon, 255 186 74) / .5);
}
.reihe__pfeil[hidden] { display: none; }
@media (prefers-reduced-motion: reduce) {
  .karte__bild img { transition: none; }
  .karte:hover .karte__bild img { transform: none; }
  .buehne__schleier, .buehne__text { transition: none; }
  .karte--film:hover .karte__spielen,
  .karte--film:focus-visible .karte__spielen { transform: translate(-50%, -50%); }
}
.neu--karbon {
  background-color: #101216;
  background-image:
    repeating-linear-gradient(45deg, rgb(255 255 255 / .04) 0 1px, transparent 1px 6px),
    repeating-linear-gradient(-45deg, rgb(0 0 0 / .05) 0 1px, transparent 1px 6px);
  color: #fff;
}
.neu--karbon .seitenkopf.seitenkopf--karbon,
.neu--karbon .fb {
  background-color: transparent;
  background-image:
    radial-gradient(70% 60% at 16% 0%, rgb(var(--neon-hof) / .12) 0%, transparent 62%);
}
.neu--karbon .fuss {
  background: var(--nacht);
  color: rgb(255 255 255 / .82);
}
.neu--karbon .fuss a { color: rgb(255 255 255 / .82); }
.neu--karbon .fuss a:hover { color: #fff; }
.neu--karbon .fuss a[aria-current="page"] { color: #fff; }
.neu--karbon .fuss h2,
.neu--karbon .fuss strong { color: #fff; }
.neu--karbon .band,
.neu--karbon .band--sanft,
.neu--karbon .abschnitt,
.neu--karbon .abschnitt--sanft { background: transparent; color: inherit; }
.neu--karbon .hinweis {
  background: rgb(255 255 255 / .06);
  border-left-color: rgb(255 255 255 / .25);
  color: rgb(255 255 255 / .88);
}
.fb {
  --neon:       255 186 74;
  --neon-kern:  255 246 230;
  --neon-hof:   255 214 140;
  --fokus:      var(--ak-hell);
  position: relative;
  isolation: isolate;
  color: #fff;
  width: 100%;
  padding: clamp(2rem, 5vw, 3.5rem) 0 clamp(2.5rem, 6vw, 4rem);
  background-color: #101216;
  background-image:
    radial-gradient(70% 55% at 16% 0%, rgb(var(--neon-hof) / .10) 0%, transparent 62%),
    repeating-linear-gradient(45deg,
      rgb(255 255 255 / .04) 0 1px, transparent 1px 6px),
    repeating-linear-gradient(-45deg,
      rgb(0 0 0 / .05) 0 1px, transparent 1px 6px);
}
.fb__kopf,
.fb__liste,
.fb__nachladen {
  max-width: 100rem;
  margin-inline: auto;
  padding-inline: var(--takt);
}
[data-ort="blau"] .fb    { --neon: 104 186 255; --neon-kern: 235 246 255; --neon-hof: 150 205 255; }
[data-ort="weinrot"] .fb { --neon: 255 108 118; --neon-kern: 255 235 233; --neon-hof: 255 158 160; }
.fb .fb__kopf h2 {
  color: rgb(var(--neon-kern));
  text-shadow:
    0 0 2px rgb(var(--neon-kern) / .95),
    0 0 8px rgb(var(--neon) / .85),
    0 0 22px rgb(var(--neon) / .6),
    0 0 46px rgb(var(--neon) / .4);
}
.fb .fb__kopf h2 .leicht { color: rgb(var(--neon-kern) / .72); }
.fb__profil { color: rgb(var(--neon-hof)); }
.fb__profil:hover { color: #fff; }
.fb .fb__beitrag {
  border: 1px solid rgb(255 255 255 / .12);
  border-radius: var(--radius);
  background: rgb(255 255 255 / .06);
  -webkit-backdrop-filter: blur(14px) saturate(120%);
  backdrop-filter: blur(14px) saturate(120%);
  overflow: hidden;
}
.fb .fb__beitrag:hover { border-color: rgb(var(--neon) / .45); }
.fb .fb__datum  { color: rgb(255 255 255 / .62); }
.fb .fb__anriss,
.fb .fb__ganz   { color: rgb(255 255 255 / .88); }
.fb .fb__weiter { color: rgb(var(--neon-hof)); }
.fb .fb__zahlen { color: rgb(255 255 255 / .62); }
.fb .fb__herz   { color: rgb(var(--neon)); }
.fb .fb__link a { color: rgb(var(--neon-hof)); }
.fb .fb__mehr {
  background: rgb(16 18 22 / .72);
  color: #fff;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
.fb .knopf--sekundaer {
  color: #fff;
  border-color: rgb(255 255 255 / .32);
}
.fb .knopf--sekundaer:hover {
  background: rgb(255 255 255 / .12);
  border-color: rgb(var(--neon) / .55);
}
@media (prefers-reduced-transparency: reduce) {
  .fb .fb__beitrag {
    -webkit-backdrop-filter: none; backdrop-filter: none;
    background: rgb(255 255 255 / .1);
  }
}
.fb__volltext > summary {
  list-style: none;
  cursor: pointer;
}
.fb__volltext > summary::-webkit-details-marker { display: none; }
.fb__volltext > summary::marker { content: ''; }
.fb__anriss { font-size: var(--text-s); }
.fb__weiter {
  display: inline-block;
  margin-top: .35rem;
  font-size: var(--text-s);
  font-weight: 600;
  color: var(--ak);
  text-decoration: underline;
  text-underline-offset: .18em;
}
.fb__volltext[open] > summary .fb__anriss { display: none; }
.fb__volltext[open] > summary .fb__weiter::after { content: ' schließen'; }
.fb__volltext[open] > summary .fb__weiter { margin-top: 0; }
.fb__ganz {
  margin-top: .5rem;
  font-size: var(--text-s);
  line-height: 1.6;
}
.fb__zahlen {
  display: flex; gap: var(--raum-3);
  color: var(--farbe-text-leise);
  font-variant-numeric: tabular-nums;
}
.fb__zahl { display: inline-flex; align-items: center; gap: .3rem; }
.fb__herz { color: var(--ak); }
.fb .fb__nachladen {
  margin-top: clamp(2.25rem, 5vw, 3.5rem);
  margin-bottom: clamp(.5rem, 2vw, 1rem);
  text-align: center;
}
.fb .fb__wege {
  display: flex; flex-wrap: wrap; gap: .6rem;
  margin: 0 0 clamp(1.5rem, 4vw, 2.5rem);
}
.fb__knopf {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .55rem .95rem;
  border: 1px solid rgb(255 255 255 / .22);
  border-radius: 999px;
  color: #fff; text-decoration: none;
  font-size: var(--text-s); font-weight: 600;
  transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease;
}
.fb__knopf:hover,
.fb__knopf:focus-visible {
  background: rgb(255 255 255 / .1);
  border-color: rgb(var(--neon) / .55);
  color: rgb(var(--neon-kern));
}
.fb__zeichen { width: 1.15em; height: 1.15em; flex: none; }
.fb__beitrag--wartet { opacity: 0; transform: translateY(12px); }
.fb__beitrag--da,
.fb__beitrag--neu {
  opacity: 1; transform: none;
  transition: opacity 520ms ease var(--fb-verzug, 0ms),
              transform 520ms cubic-bezier(.22, .61, .36, 1) var(--fb-verzug, 0ms);
}
.fb__beitrag--neu { animation: fbAuf 520ms cubic-bezier(.22, .61, .36, 1) var(--fb-verzug, 0ms) both; }
@keyframes fbAuf {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .fb__beitrag--wartet { opacity: 1; transform: none; }
  .fb__beitrag--da,
  .fb__beitrag--neu { transition: none; animation: none; }
}
.fb__bild-verweis { display: block; }
.fb__bild-verweis:focus-visible { outline: 2px solid var(--fokus); outline-offset: 2px; }
.fb__beitrag:focus-visible { outline: 2px solid var(--fokus); outline-offset: 3px; }
.rezensionen__kopf { display: flex; align-items: baseline; justify-content: space-between; gap: var(--raum-3); flex-wrap: wrap; }
.rezensionen__schnitt { display: flex; align-items: baseline; gap: var(--raum-2); margin: 0; flex-wrap: wrap; }
.rezensionen__note { font-size: var(--text-xl); font-weight: 700; font-variant-numeric: tabular-nums; }
.rezensionen__sterne { color: var(--farbe-akzent); letter-spacing: .08em; }
.rezensionen__anzahl { font-size: var(--text-s); color: var(--farbe-text-leise); }
.rezensionen__liste {
  list-style: none; margin: var(--raum-4) 0 0; padding: 0;
  display: grid; gap: var(--raum-4);
  grid-template-columns: repeat(auto-fit, minmax(min(17rem, 100%), 1fr));
}
.rezension {
  display: flex; flex-direction: column; gap: var(--raum-2);
  padding: var(--raum-4);
  border: 1px solid var(--farbe-linie); border-radius: var(--radius);
  background: var(--farbe-grund);
}
.rezension__sterne { margin: 0; color: var(--farbe-akzent); letter-spacing: .08em; }
.rezension blockquote { margin: 0; }
.rezension blockquote p { margin: 0; font-size: var(--text-s); }
.rezension__fuss { margin-top: auto; display: grid; gap: var(--raum-1); font-size: var(--text-s); }
.rezension__autor { display: flex; align-items: center; gap: var(--raum-2); margin: 0; flex-wrap: wrap; }
.rezension__autor img { width: 2rem; height: 2rem; border-radius: 50%; object-fit: cover; }
.rezension__autor time { color: var(--farbe-text-leise); }
.rezension__quelle, .rezension__hinweis { font-size: var(--text-s); }
.rezension__hinweis { color: var(--farbe-text-leise); }
.rezensionen__aktionen { margin-top: var(--raum-4); }
.rezensionen__fuss { margin-top: clamp(1.6rem, 3.5vw, 2.5rem); font-size: var(--text-s); color: var(--farbe-text-leise); max-width: 72ch; }
.consent {
  position: fixed;
  inset: auto auto 1.25rem 1.25rem;
  width: min(26rem, calc(100vw - 2.5rem));
  max-width: none;
  max-height: min(84svh, 40rem);
  margin: 0;
  padding: 0;
  border: 1px solid rgb(255 255 255 / .7);
  border-radius: 1.1rem;
  background: rgb(255 255 255 / .95);
  -webkit-backdrop-filter: blur(14px) saturate(150%);
  backdrop-filter: blur(14px) saturate(150%);
  color: var(--farbe-text);
  box-shadow:
    0 1px 2px rgb(0 0 0 / .06),
    0 22px 48px -14px rgb(0 0 0 / .38),
    0 0 0 1px rgb(0 0 0 / .04);
  transform: perspective(900px) rotateX(var(--kipp-x, 0deg)) rotateY(var(--kipp-y, 0deg));
  transition: transform .35s cubic-bezier(.2, .8, .2, 1);
  overflow: hidden;
}
.consent[open] {
  animation:
    consent-auftauchen .7s cubic-bezier(.2, .8, .2, 1) backwards,
    consent-schweben 6s ease-in-out .7s infinite;
}
@keyframes consent-auftauchen {
  from { opacity: 0; transform: perspective(900px) rotateX(18deg) translateY(2.5rem) scale(.96); }
}
@keyframes consent-schweben {
  0%, 100% { translate: 0 0; }
  50%      { translate: 0 -5px; }
}
@media (prefers-reduced-motion: reduce) {
  .consent, .consent[open] { animation: none; transition: none; transform: none; }
}
@media (prefers-reduced-transparency: reduce) {
  .consent { background: var(--farbe-grund); -webkit-backdrop-filter: none; backdrop-filter: none; }
}
.consent::backdrop { background: rgb(0 0 0 / .14); }
.consent:focus { outline: none; }
.consent__inhalt {
  display: grid; gap: .85rem;
  grid-template-columns: 1fr;
  align-items: start;
  padding: 1.1rem 1.2rem 1.15rem;
  overflow-y: auto; max-height: inherit;
  font-size: .8125rem;
}
.consent__kopfzeile { display: flex; align-items: center; gap: .7rem; margin-bottom: .45rem; }
.consent__zeichen {
  flex: none; width: 2.5rem; height: 2.5rem;
  border-radius: 50%;
  box-shadow: 0 4px 12px -4px rgb(0 0 0 / .45);
}
.consent__titel { margin: 0; font-weight: 700; font-size: 1rem; letter-spacing: -.005em; }
.consent__text  { margin: 0; font-size: .8125rem; line-height: 1.5; color: var(--farbe-text-leise); }
.consent__text strong { color: var(--farbe-text); font-weight: 600; }
.consent__kategorien {
  list-style: none; margin: 0; padding: .8rem 0 0;
  border-top: 1px solid var(--farbe-linie);
  display: flex; flex-wrap: wrap; gap: .6rem 1.4rem;
}
.consent__kategorie { margin: 0; }
.consent__text + .consent__text { margin-top: .45rem; }
.consent__text--klein { font-size: .75rem; }
.consent__schalter { display: flex; align-items: center; gap: .5rem; cursor: pointer; }
.consent__schalter input { position: absolute; opacity: 0; width: 0; height: 0; }
.consent__schieber {
  position: relative; flex: none;
  width: 2.2em; height: 1.2em; border-radius: 999px;
  background: var(--farbe-rahmen);
  transition: background 160ms ease;
}
.consent__schieber::after {
  content: ""; position: absolute; top: .15em; left: .15em;
  width: .9em; height: .9em; border-radius: 50%;
  background: #fff;
  transition: transform 160ms ease;
}
.consent__schalter input:checked + .consent__schieber { background: var(--farbe-offen); }
.consent__schalter input:checked + .consent__schieber::after { transform: translateX(1em); }
.consent__schalter input:focus-visible + .consent__schieber { outline: 3px solid var(--fokus); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  .consent__schieber, .consent__schieber::after { transition: none; }
}
.consent__aktionen {
  display: grid; gap: .45rem;
  grid-template-columns: 1fr 1fr;
}
.consent__aktionen .knopf {
  justify-content: center; text-align: center; white-space: nowrap;
  font-size: .8125rem; padding: .6rem .9rem; min-height: 0;
}
.consent__aktionen [data-consent-auswahl] { grid-column: 1 / -1; }
@media (pointer: coarse) {
  .consent__aktionen .knopf { min-height: 2.75rem; }
}
@media (max-width: 48rem) {
  .consent { bottom: calc(56px + env(safe-area-inset-bottom, 0px) + .75rem); }
}
@media (max-width: 34rem) {
  .consent { inset: auto .75rem calc(56px + env(safe-area-inset-bottom, 0px) + .75rem) .75rem; width: auto; }
}
.consent-platzhalter h3 { margin-top: 0; }
.karte__rahmen { border: 1px solid var(--farbe-linie); border-radius: var(--radius); overflow: hidden; }
.karte__rahmen iframe { width: 100%; height: 22rem; border: 0; display: block; }
.karte__adresse { font-style: normal; color: var(--farbe-text-leise); font-size: var(--text-s); }
.karte__hinweis { margin-top: var(--raum-2); font-size: var(--text-s); color: var(--farbe-text-leise); max-width: 60ch; }
.rezension__filiale {
  padding: 0 .5em; border-radius: 999px;
  background: var(--farbe-grund-sanft); color: var(--farbe-text-leise);
  font-size: .9em;
}
.karte__platzhalter { padding: 0; overflow: hidden; }
.karte__platzhalter > *:not(.karte__vorschau) { margin-inline: var(--raum-4); }
.karte__platzhalter > h3 { margin-top: var(--raum-4); }
.karte__platzhalter > :last-child { margin-bottom: var(--raum-4); }
.karte__vorschau { width: 100%; height: auto; display: block; border-bottom: 1px solid var(--farbe-linie); }
.kopf__suche { display: flex; align-items: stretch; }
.kopf__suche input {
  width: 8rem; padding: var(--raum-1) var(--raum-2); font: inherit; font-size: var(--text-s);
  border: 1px solid var(--farbe-rahmen); border-right: 0;
  border-radius: var(--radius) 0 0 var(--radius);
  background: var(--farbe-grund);
  transition: width 160ms ease;
}
.kopf__suche input:focus { width: 12rem; }
.kopf__suche button {
  display: grid; place-items: center;
  padding: 0 var(--raum-2); cursor: pointer;
  border: 1px solid var(--farbe-rahmen); border-radius: 0 var(--radius) var(--radius) 0;
  background: var(--farbe-grund-sanft); color: inherit;
}
.suche__formular { display: flex; gap: var(--raum-2); max-width: 34rem; margin-top: var(--raum-4); }
.suche__formular input {
  flex: 1; padding: var(--raum-2) var(--raum-3); font: inherit;
  border: 1px solid var(--farbe-rahmen); border-radius: var(--radius);
}
.suche__anzahl { color: var(--farbe-text-leise); }
.suche__gruppe { margin-top: var(--raum-5); }
.suche__gruppe h2 { display: flex; align-items: baseline; gap: var(--raum-2); font-size: var(--text-l); }
.suche__zahl {
  font-size: var(--text-s); font-weight: 400; color: var(--farbe-text-leise);
  font-variant-numeric: tabular-nums;
}
.suche__liste { list-style: none; margin: 0; padding: 0; }
.suche__liste li {
  padding: var(--raum-3) 0;
  border-bottom: 1px solid var(--farbe-linie);
}
.suche__liste a { font-size: var(--text-l); font-weight: 600; }
.suche__liste p { margin: var(--raum-1) 0 0; font-size: var(--text-s); max-width: 70ch; }
.suche__pfad { color: var(--farbe-text-leise); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .8em; }
@media (max-width: 60rem) {
  .kopf__suche input { width: 6rem; }
  .kopf__suche input:focus { width: 9rem; }
}
@media (prefers-reduced-motion: reduce) { .kopf__suche input { transition: none; } }
.europawand {
  margin-block: var(--raum-5, 3rem);
  padding-block: var(--raum-4, 2rem);
  border-top: 3px solid var(--farbe-akzent);
}
.wandmarke__text > h3 { margin-top: 0; }
.wandmarke__text .fliesstext > p:first-child { margin-top: 0; }
.anfrage {
  margin-block: var(--raum-5, 3rem);
  padding-block: var(--raum-4, 2rem);
  border-top: 3px solid var(--farbe-akzent);
}
.anfrage__einleitung { max-width: 52ch; color: var(--farbe-text-leise); }
.anfrage__formular { max-width: 44rem; }
.anfrage__einleitung + .anfrage__formular { margin-top: 1.75rem; }
.anfrage__felder {
  display: flex; flex-wrap: wrap; gap: var(--raum-3);
  margin-block: var(--raum-4, 2rem);
}
.anfrage__feld { flex: 1 1 100%; display: flex; flex-direction: column; gap: .3rem; }
.anfrage__feld--halb { flex: 1 1 calc(50% - var(--raum-3)); min-width: 14rem; }
.anfrage__feld label { font-weight: 600; }
.anfrage__pflicht { color: var(--farbe-akzent); }
.anfrage__feld input,
.anfrage__feld select,
.anfrage__feld textarea {
  width: 100%; padding: .6rem .75rem; font: inherit;
  color: inherit; background: var(--farbe-grund);
  border: 1px solid var(--farbe-rahmen); border-radius: var(--radius);
}
.anfrage__feld textarea { resize: vertical; min-height: 6rem; }
.anfrage__feld select {
  -webkit-appearance: none; appearance: none;
  line-height: inherit;   
  padding-right: 2.5rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23101114' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right .9rem center; background-size: 12px 8px;
}
.anfrage__feld input:focus-visible,
.anfrage__feld select:focus-visible,
.anfrage__feld textarea:focus-visible { border-color: var(--farbe-akzent); }
.anfrage__feld.hat-fehler input,
.anfrage__feld.hat-fehler select,
.anfrage__feld.hat-fehler textarea { border-color: #9b2c2c; border-width: 2px; }
.anfrage__fehler { margin: 0; font-size: var(--text-s); color: #9b2c2c; font-weight: 600; }
.anfrage__hinweis { margin: 0; font-size: var(--text-s); color: var(--farbe-text-leise); }
.anfrage__fehlerliste { margin: var(--raum-1) 0 0; padding-left: 1.2rem; }
.anfrage__fehlerliste a { font-weight: 600; }
.anfrage__datenschutz {
  max-width: 60ch; font-size: var(--text-s); color: var(--farbe-text-leise);
}
.anfrage__aktionen {
  display: flex; flex-wrap: wrap; gap: var(--raum-3); align-items: center;
  margin-block: var(--raum-4, 2rem) var(--raum-2);
}
.anfrage__pflichthinweis { font-size: var(--text-s); color: var(--farbe-text-leise); }
.anfrage__recaptcha { font-size: var(--text-xs, .78rem); color: var(--farbe-text-leise); max-width: 60ch; }
.anfrage__honigtopf {
  position: absolute; left: -9999px; width: 1px; height: 1px;
  overflow: hidden;
}
.anfrage__erfolg {
  padding: var(--raum-4, 2rem);
  border: 2px solid var(--farbe-akzent); border-radius: var(--radius);
  background: var(--farbe-flaeche, #faf8f4);
  max-width: 52ch;
}
.anfrage__erfolg-titel { margin-top: 0; font-weight: 700; font-size: 1.1rem; }
.feedbackgruende { max-width: 68ch; }
.feedbackgruende li + li { margin-top: var(--raum-2); }
@media (min-width: 70rem) {
  .feedback__paar {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: clamp(2rem, 4vw, 4.5rem);
    align-items: start;
  }
}
@media (max-width: 69.9375rem) {
  .feedback__paar { display: flex; flex-direction: column; gap: var(--raum-5, 2.5rem); }
  .feedback__begruendung { order: 2; }
  .feedback__formularspalte { order: 1; }
}
.feedback__wege { margin-block: var(--raum-5, 3rem); }
.feedback__wegeliste { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--raum-2); }
.feedback__wegeliste li { display: flex; flex-wrap: wrap; gap: var(--raum-3); align-items: baseline; }
.feedback__wegeliste strong { min-width: 4rem; }
.kontakt__feedbackhinweis { margin-top: var(--raum-4, 2rem); }
@media (max-width: 40rem) {
  .anfrage__feld--halb { flex: 1 1 100%; }
  .anfrage__feld input,
  .anfrage__feld select,
  .anfrage__feld textarea { min-height: 2.75rem; }
  .anfrage__aktionen .knopf { width: 100%; text-align: center; }
}
.seite--recht .fliesstext__einleitung { max-width: 68ch; }
.rechtstext__einleitung {
  font-size: 1.05rem; color: var(--farbe-text-leise);
  max-width: 62ch;
}
.rechtstext__firma {
  padding: var(--raum-3) var(--raum-4);
  margin-block: var(--raum-3);
  border-left: 3px solid var(--farbe-akzent);
  background: var(--farbe-flaeche, #faf8f4);
}
.rechtstext__firma h3 { margin-top: 0; }
.rechtstext__daten {
  display: grid; grid-template-columns: minmax(min(9rem, 100%), auto) 1fr;
  gap: .35rem var(--raum-3);
  margin: var(--raum-3) 0 0;
}
.rechtstext__daten dt { font-weight: 600; }
.rechtstext__daten dd { margin: 0; }
.neu .rechtstext__luecke { margin-top: 1.25rem; }
.rechtstext__luecke {
  padding: var(--raum-3);
  border: 1px dashed var(--farbe-akzent);
  border-radius: var(--radius);
  background: var(--farbe-grund);
  font-size: var(--text-s);
}
.rechtstext__firmen { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--raum-3); }
.rechtstext__firmen li {
  padding: var(--raum-3);
  border: 1px solid var(--farbe-linie); border-radius: var(--radius);
}
.rechtstext__tabelle {
  width: 100%; border-collapse: collapse;
  margin-block: var(--raum-3);
  font-size: var(--text-s);
}
.rechtstext__tabelle th,
.rechtstext__tabelle td {
  text-align: left; vertical-align: top;
  padding: .55rem .6rem;
  border-bottom: 1px solid var(--farbe-linie);
}
.rechtstext__tabelle thead th { border-bottom-width: 2px; }
.rechtstext__tabelle code { font-size: .95em; }
.seite--recht .textblock__inhalt > * { max-width: 50em; }
.seite--recht .textblock__inhalt > :is(dl, .rechtstext__firmen, .rechtstext__firma, .rechtstext__luecke) { max-width: none; }
.seite--recht table code { white-space: nowrap; hyphens: none; }
.seite--recht .fliesstext--gegliedert { --abschnitt-luft: clamp(2rem, 3vw, 3rem); }
@media (min-width: 62rem) {
  .seite--recht .textblock { min-height: 0; align-content: start; }
  .rechtstext__firmen { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.rechtstext__maengel { max-width: 68ch; }
.rechtstext__stand { margin-top: var(--raum-4); font-size: var(--text-s); color: var(--farbe-text-leise); }
.rechtstext__maengel li + li { margin-top: var(--raum-3); }
@media (max-width: 40rem) {
  .rechtstext__daten { grid-template-columns: 1fr; gap: 0; }
  .rechtstext__daten dt { margin-top: var(--raum-2); }
  .rechtstext__tabelle th,
  .rechtstext__tabelle td { overflow-wrap: break-word; hyphens: auto; }
}
.lightbox {
  position: fixed; inset: 0;
  width: 100vw; max-width: 100vw;
  height: 100vh; max-height: 100vh;
  padding: 0; margin: 0; border: 0;
  background: rgb(16 16 18 / .96); color: #fff;
}
.lightbox[open] { display: grid; place-items: center; }
.lightbox::backdrop { background: rgb(0 0 0 / .8); }
.lightbox__buehne {
  margin: 0; padding: var(--raum-4, 2rem);
  display: grid; gap: var(--raum-3);
  justify-items: center;
  max-width: min(92vw, 76rem);
}
.lightbox__buehne img {
  display: block;
  max-width: 100%; max-height: 78vh;
  width: auto; height: auto;
  object-fit: contain;
  border-radius: var(--radius);
}
.lightbox__buehne figcaption {
  margin: 0; max-width: 60ch; text-align: center;
  font-size: var(--text-s); color: #d8d6d2;
}
.lightbox__marke {
  position: absolute; z-index: 3;
  top: clamp(.8rem, 2vw, 1.4rem);
  left: clamp(.8rem, 2vw, 1.4rem);
  width: clamp(7rem, 14vw, 11rem);
  height: auto;
  opacity: .82;
  filter: brightness(1.4) drop-shadow(0 1px 6px rgb(0 0 0 / .6));
  pointer-events: none;
}
.lightbox__zaehler {
  position: absolute; z-index: 3;
  bottom: clamp(.8rem, 2vw, 1.4rem);
  left: 50%; transform: translateX(-50%);
  margin: 0;
  padding: .3rem .8rem;
  border-radius: 999px;
  background: rgb(8 9 12 / .72);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  font-size: var(--text-s); color: #d8d6d2;
  font-variant-numeric: tabular-nums;
}
.lightbox__weg,
.lightbox__pfeil {
  position: absolute;
  display: grid; place-items: center;
  min-width: 3rem; min-height: 3rem;
  background: rgb(255 255 255 / .12); color: #fff;
  border: 1px solid rgb(255 255 255 / .25); border-radius: 50%;
  font-size: 1.6rem; line-height: 1; cursor: pointer;
}
.lightbox__weg:hover,
.lightbox__pfeil:hover { background: rgb(255 255 255 / .24); }
.lightbox__weg:focus-visible,
.lightbox__pfeil:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.lightbox__weg { top: 1rem; right: 1rem; }
.lightbox__pfeil { top: 50%; transform: translateY(-50%); }
.lightbox__pfeil--zurueck { left: 1rem; }
.lightbox__pfeil--vor     { right: 1rem; }
.galerie__feld a:focus-visible { outline: 3px solid var(--fokus); outline-offset: 3px; }
@media (max-width: 40rem) {
  .lightbox__buehne { padding: 3.5rem 1rem 1rem; }
  .lightbox__buehne img { max-height: 68vh; }
  .lightbox__pfeil { top: auto; bottom: 1rem; transform: none; }
}
dl.preisliste {
  display: grid; grid-template-columns: 1fr auto;
  gap: .5rem var(--raum-3);
  max-width: 44rem;
  margin-block: var(--raum-3);
  padding: var(--raum-3);
  border: 1px solid var(--farbe-linie); border-radius: var(--radius);
}
dl.preisliste dt { font-weight: 600; }
dl.preisliste dd { margin: 0; text-align: right; }
dl.preisliste dt + dd { color: var(--farbe-text-leise); }
@media (max-width: 32rem) {
  dl.preisliste { grid-template-columns: 1fr; }
  dl.preisliste dd { text-align: left; margin-bottom: var(--raum-2); }
}
.studienliste {
  --studien-linie: rgb(16 17 20 / .14);
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: auto 1fr;
  grid-auto-columns: minmax(0, 1fr);
  row-gap: .55rem;
  margin-block: var(--raum-4, 2rem);
  padding: 0;
  border-block: 1px solid var(--studien-linie);
}
.studienliste :is(dt, dd) {
  padding-inline: clamp(1rem, 2vw, 1.75rem);
}
.studienliste :is(dt, dd):nth-child(-n + 2) { padding-inline-start: 0; }
.studienliste :is(dt, dd):not(:nth-child(-n + 2)) {
  border-inline-start: 1px solid var(--studien-linie);
}
.studienliste dt {
  padding-top: 1.25rem;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  line-height: 1.4;
  color: var(--ak);
}
.studienliste dd {
  margin: 0;
  padding-bottom: 1.35rem;
  font-size: clamp(1.02rem, .4vw + .95rem, 1.18rem);
  line-height: 1.45;
}
.textblock--dunkel .studienliste { --studien-linie: rgb(255 255 255 / .22); }
.textblock--dunkel .studienliste dt { color: var(--ak-hell); }
@media (max-width: 48rem) {
  .studienliste { grid-auto-flow: row; grid-template-rows: none; grid-auto-columns: auto; row-gap: 0; }
  .studienliste :is(dt, dd) { padding-inline: 0; border-inline-start: 0 !important; }
  .studienliste dt:not(:first-child) { border-top: 1px solid var(--studien-linie); }
  .studienliste dd { padding-top: .35rem; }
}
.textblock--motiv .studienliste { grid-auto-flow: row; grid-template-rows: none; grid-auto-columns: auto; row-gap: 0; }
.textblock--motiv .studienliste :is(dt, dd) { padding-inline: 0; border-inline-start: 0 !important; }
.textblock--motiv .studienliste dt:not(:first-child) { border-top: 1px solid var(--studien-linie); }
.textblock--motiv .studienliste dd { padding-top: .35rem; }
@media (pointer: coarse) {
  .breadcrumbs a,
  .fuss__spalte a,
  .fuss__orte a,
  .fuss__sozial a,
  .fuss__knopf,
  .ortkarte__kopf h3 a,
  .ortkarte__tel,
  .marken__zuruecksetzen,
  .pille--link,
  .filialzettel__passt,
  .filialzettel__orten,
  .neu__weiter {
    display: inline-flex; align-items: center;
    min-height: 44px;
  }
  .fuss ul { gap: 0; }
  .fuss__orte li { gap: 0; }
  .schublade__griff,
  .ortwahl > summary {
    min-width: 44px; min-height: 44px;
  }
  .leiste__logo { display: flex; align-items: center; min-height: 44px; }
  .ortkarte__kopf h3 a { min-width: 44px; }
  .pillen a { min-height: 44px; }
  .bereichsnav__sprung { min-height: 44px; }
  .taste, .knopf { min-height: 44px; }
  .taste--klein { min-height: 44px; }
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([tabindex="-1"]),
  select,
  button {
    min-height: 44px;
  }
  .formular label:has(input[type="checkbox"]),
  .formular label:has(input[type="radio"]) {
    display: flex; align-items: center; gap: .6rem;
    min-height: 44px;
  }
  .skip-link { min-height: 44px; display: inline-flex; align-items: center; }
}
@media print {
  :root {
    --menue-grund: #fff;
    --nacht: #000;
    --nacht-2: #fff;
  }
  html, body { background: #fff !important; color: #000 !important; }
  .textblock--dunkel,
  .band--nacht,
  .nachtband,
  .held,
  .seitenkopf,
  .kachel,
  .fuss {
    background: #fff !important;
    color: #000 !important;
  }
  .textblock--dunkel *,
  .band--nacht *,
  .nachtband *,
  .held *,
  .seitenkopf *,
  .kachel *,
  .fuss * { color: #000 !important; }
  .leiste,
  .bereichsnav,
  .mobilaktionen,
  .schleier,
  .glasschimmer,
  .skip-link,
  .consent,
  .lightbox,
  .werkzeug-dialog,
  .werkzeug-oeffnen,
  .seitenkopf__glas,
  .held__glas,
  .neu__weiter,
  .markenfilter,
  .schublade,
  .facebook,
  .fuss__sozial { display: none !important; }
  .seitenkopf__bild,
  .held__bilder,
  .textblock--bild::before,
  .textblock--bild::after { display: none !important; }
  .kachel img,
  .kachel::after { display: none !important; }
  .kachel { min-height: 0 !important; border: 1px solid #000 !important; }
  .kachel__text { position: static !important; padding: .6rem .8rem !important; }
  .kachel__knopf { display: none !important; }
  * {
    text-shadow: none !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
  .held__inhalt::before,
  .seitenkopf__innen::before { display: none !important; }
  .technik { display: block !important; }
  .technik__geraet { border: 0 !important; border-bottom: 1px solid #000 !important; padding: .5rem 0 !important; }
  .technik__bild { display: none !important; }
  .unterkacheln--voll { max-width: none !important; gap: .4rem !important; }
  .suchflaeche,
  .filialzettel { display: none !important; }
  .seitenkopf { min-height: 0 !important; padding-block: 0 0 1rem !important; }
  .seitenkopf__innen { padding-inline: 0 !important; }
  .textblock--dunkel {
    margin-inline: 0 !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
  }
  .textblock__inhalt { display: block !important; }
  details { display: block !important; }
  details > summary { display: block !important; list-style: none; font-weight: 700; }
  details:not([open]) > *:not(summary) { display: revert !important; }
  .fliesstext a[href^="http"]::after,
  .fliesstext a[href^="tel:"]::after,
  .fliesstext a[href^="mailto:"]::after {
    content: " (" attr(href) ")";
    font-size: .85em;
    word-break: break-all;
  }
  h1, h2, h3, h4 { break-after: avoid-page; }
  figure, table, .ortkarte, .preisliste, .studienliste, .oeffnungszeiten {
    break-inside: avoid-page;
  }
  img { max-width: 100% !important; }
  main, .band__innen, .neu__innen, .seite {
    max-width: none !important;
    width: auto !important;
    padding-inline: 0 !important;
    margin-inline: 0 !important;
  }
}
.ortwahl__umfeld { display: contents; }
.ortwahl__umfeld:has(.filialzettel) { display: block; position: relative; }
.filialzettel {
  position: absolute; top: calc(100% + .55rem); right: 0; z-index: 80;
  width: min(21rem, calc(100vw - 2rem));
  padding: .9rem 1.05rem 1rem;
  background: var(--tag); color: var(--nacht);
  border: 1px solid var(--linie); border-radius: .75rem;
  box-shadow: 0 10px 30px rgb(0 0 0 / .18);
  font-size: .9rem; line-height: 1.5;
  text-align: left;
}
.filialzettel::before,
.filialzettel::after {
  content: ""; position: absolute; bottom: 100%;
  right: 1.9rem;
  border: .5rem solid transparent;
}
.filialzettel::before { border-bottom-color: var(--linie); }
.filialzettel::after  { border-bottom-color: var(--tag); margin-bottom: -1px; }
.filialzettel { transition: opacity .2s ease, transform .2s ease, visibility 0s linear 0s; }
.filialzettel.filialzettel--weg {
  opacity: 0; visibility: hidden; transform: translateY(-.4rem); pointer-events: none;
  transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
}
@media (prefers-reduced-motion: reduce) { .filialzettel, .filialzettel.filialzettel--weg { transition: none; transform: none; } }
.filialzettel__titel { margin: 0 0 .25rem; font-size: .95rem; }
.filialzettel__titel strong { font-weight: 700; }
.filialzettel__text  { margin: 0 0 .75rem; color: var(--grau); }
.filialzettel__aktionen {
  margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem;
}
.filialzettel__orten {
  display: inline-flex; align-items: center; gap: .4rem;
  padding: .35rem .85rem;
  border: 1px solid transparent; border-radius: 999px;
  background: var(--ak); color: #fff;
  font: inherit; font-size: .85rem; line-height: 1.4;
  cursor: pointer;
}
.filialzettel__orten:hover:not(:disabled),
.filialzettel__orten:focus-visible { background: var(--nacht); }
.filialzettel__orten:disabled { opacity: .65; cursor: default; }
.filialzettel__nadel { display: inline-flex; }
.filialzettel__passt {
  display: inline-block; padding: .35rem .85rem;
  border: 1px solid var(--farbe-rahmen); border-radius: 999px;
  color: var(--nacht); text-decoration: none; font-size: .85rem;
}
.filialzettel__stand {
  margin: .6rem 0 0; font-size: .82rem; line-height: 1.45; color: var(--grau);
}
.filialzettel__passt:hover,
.filialzettel__passt:focus-visible { background: var(--nacht); color: var(--tag); border-color: var(--nacht); }
@media (max-width: 35rem) {
  .filialzettel {
    padding: .7rem .85rem .75rem;
    font-size: .82rem; line-height: 1.45;
    border-radius: .6rem;
    box-shadow: 0 4px 14px rgb(0 0 0 / .10);
  }
  .filialzettel__titel { font-size: .88rem; margin-bottom: .15rem; }
  .filialzettel__text  { margin-bottom: .6rem; }
  .filialzettel__orten,
  .filialzettel__passt { font-size: .8rem; padding: .3rem .7rem; }
}
@media (max-width: 30rem) {
  .filialzettel { width: min(21rem, calc(100vw - 5rem)); }
}
@media (min-width: 30.0625rem) and (max-width: 35rem) {
  .filialzettel { width: min(21rem, calc(100vw - 13.25rem)); }
}
.filialzettel {
  animation: filialzettel-verabschieden 500ms ease-in 12s both;
}
.filialzettel:hover,
.filialzettel:focus-within { animation-play-state: paused; }
@keyframes filialzettel-verabschieden {
  to { opacity: 0; visibility: hidden; }
}
@media (prefers-reduced-motion: reduce) {
  .filialzettel { animation-duration: 150ms; }
}
@media print { .filialzettel { display: none; } }
   Geschlossen ist sie eine Lupe im selben Kreis wie der Menügriff. Offen
   schiebt sich das Feld daneben auf. Sie steht links vom Filialwechsel,
   also am linken Rand der rechten Gruppe — das ist die Stelle, an der man
   sie sucht, und sie schiebt beim Öffnen nichts über den Bildrand hinaus,
   weil rechts davon nur noch zwei kurze Dinge stehen.
   ========================================================================== */
.suchwahl { position: relative; }
.suchwahl > summary {
  display: grid; place-items: center;
  width: 2.6rem; height: 2.6rem; border-radius: 50%;
  cursor: pointer; list-style: none;
  color: inherit;
  background: var(--glas-hell);
  border: 1px solid var(--glas-hell-kante);
  -webkit-backdrop-filter: var(--glas-schliff);
  backdrop-filter: var(--glas-schliff);
  transition: background-color 200ms ease, border-color 200ms ease;
}
.suchwahl > summary::-webkit-details-marker { display: none; }
.suchwahl__lupe { display: grid; place-items: center; }
.suchwahl__lupe svg { display: block; }
.suchwahl > summary:hover { background: var(--glas-hell-wach); }
[data-leiste-ton="hell"] :is(.suchwahl > summary, .schublade__griff, .ortwahl > summary) {
  background: var(--glas-dunkel);
  border-color: var(--glas-dunkel-kante);
}
[data-leiste-ton="hell"] :is(.suchwahl > summary, .schublade__griff, .ortwahl > summary):hover {
  background: var(--glas-dunkel-wach);
}
html:has(.mega[open], .schublade[open], .ortwahl[open], .suchwahl[open])
  :is(.suchwahl > summary, .schublade__griff, .ortwahl > summary) {
  color: #fff;
  background: var(--glas-hell);
  border-color: var(--glas-hell-kante);
}
.suchflaeche {
  position: fixed; inset: 0; z-index: 80;
  display: none;
  align-content: center; justify-items: center;
  row-gap: clamp(.8rem, 2vw, 1.2rem);
  padding: var(--takt);
  background: rgb(12 13 16 / .28);
}
body:has(.suchwahl[open]) .suchflaeche { display: grid; }
html:has(.suchwahl[open]),
body:has(.suchwahl[open]) { overflow: hidden; }
body:has(.suchwahl[open]) .leiste { z-index: 90; }
body:has(.suchwahl[open]) .leiste__innen > :not(.leiste__logo):not(.leiste__rechts),
body:has(.suchwahl[open]) .leiste__rechts > * {
  opacity: 0; visibility: hidden;
  transition: opacity 200ms ease, visibility 0s linear 200ms;
}
@media (scripting: none) {
  body:has(.suchwahl[open]) .suchwahl { opacity: 1; visibility: visible; }
}
.suchwahl[open] > summary {
  position: relative;
  border-color: rgb(255 255 255 / .85);
  background: rgb(255 255 255 / .18);
}
[data-leiste-ton="hell"] .suchwahl[open] > summary {
  border-color: rgb(16 17 20 / .5);
  background: rgb(16 17 20 / .1);
}
.suchwahl[open] > summary::after {
  content: ""; position: absolute; inset: -1px;
  border-radius: 50%; border: 1px solid currentColor;
  opacity: 0; pointer-events: none;
}
@media (prefers-reduced-motion: no-preference) {
  .suchwahl[open] > summary::after { animation: suchpuls 1900ms ease-out infinite; }
}
@media (prefers-reduced-motion: reduce) {
  .suchwahl[open] > summary::after { opacity: .5; inset: -4px; }
}
@keyframes suchpuls {
  0%   { transform: scale(1);    opacity: .8; }
  75%  { transform: scale(1.55); opacity: 0; }
  100% { transform: scale(1.55); opacity: 0; }
}
.suchwahl__feld {
  width: min(52rem, 92vw);
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center; gap: clamp(.7rem, 2vw, 1.1rem);
  padding: 0 0 clamp(.8rem, 2vw, 1.1rem);
  border-bottom: 1px solid rgb(255 255 255 / .45);
  transition: border-color 220ms ease;
}
.suchwahl__feld:focus-within { border-bottom-color: rgb(255 255 255 / .85); }
.suchwahl__feldlupe { display: grid; color: rgb(255 255 255 / .72); }
.suchwahl__feldlupe svg { display: block; }
.suchwahl__feld input {
  width: 100%; border: 0; background: none; padding: .1rem 0;
  font-family: var(--schrift-text);
  font-size: clamp(1.5rem, 4.5vw, 2.5rem);
  font-weight: 300; line-height: 1.25; letter-spacing: -.015em;
  color: #fff;
}
.suchwahl__feld input::placeholder { color: rgb(255 255 255 / .58); }
.suchwahl__feld input:focus-visible { outline: none; }
.suchwahl__feld input::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }
.suchwahl__los {
  display: grid; place-items: center;
  width: 2.75rem; height: 2.75rem; border-radius: 50%;
  border: 1px solid rgb(255 255 255 / .5);
  background: none; color: #fff; font-size: 1.05rem; cursor: pointer;
  transition: background-color 200ms ease, border-color 200ms ease;
}
.suchwahl__los:hover,
.suchwahl__los:focus-visible {
  background: rgb(255 255 255 / .16); border-color: #fff;
}
.suchwahl__hinweis {
  width: min(52rem, 92vw);
  margin: clamp(.9rem, 2vw, 1.2rem) 0 0;
  font-size: .78rem; letter-spacing: .08em; text-transform: uppercase;
  color: rgb(255 255 255 / .64);
}
@media (hover: none), (pointer: coarse) {
  .suchwahl__hinweis { display: none; }
}
.suchtreffer {
  width: min(52rem, 92vw);
  display: grid; align-content: start;
}
.suchtreffer[hidden] { display: none; }
.suchtreffer__rolle {
  display: grid; align-content: start;
  max-height: min(48vh, 26rem);
  overflow-y: auto;
  overscroll-behavior: contain;
}
@supports (mask-image: linear-gradient(#000, transparent)) {
  .suchtreffer__rolle.rollt:not(.am-ende) {
    mask-image: linear-gradient(to bottom, #000 calc(100% - 3rem), transparent);
  }
}
.suchtreffer__zeile {
  display: grid; gap: .25rem;
  padding: .7rem .6rem;
  border-radius: .35rem;
  border-top: 1px solid rgb(255 255 255 / .16);
  color: inherit; text-decoration: none;
  transition: background-color 140ms ease;
}
.suchtreffer__zeile:first-child { border-top: 0; }
.suchtreffer__zeile.ist-gewaehlt,
.suchtreffer__zeile:focus-visible {
  background: rgb(255 255 255 / .12);
}
.suchtreffer__zeile:focus-visible { outline: 2px solid var(--ak-hell); outline-offset: 1px; }
.suchtreffer__kopf {
  display: flex; align-items: baseline; gap: .6rem; flex-wrap: wrap;
}
.suchtreffer__titel {
  font-family: var(--schrift-text);
  font-size: clamp(1rem, 2.2vw, 1.15rem);
  font-weight: 500; line-height: 1.3;
  color: rgb(255 255 255 / .96);
}
.suchtreffer__art {
  font-size: .72rem; letter-spacing: .1em; text-transform: uppercase;
  color: rgb(255 255 255 / .62);
  white-space: nowrap;
}
.suchtreffer__auszug {
  font-size: .88rem; line-height: 1.45;
  color: rgb(255 255 255 / .70);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}
.suchtreffer__leer {
  margin: 0; padding: .7rem .6rem;
  font-size: .95rem; color: rgb(255 255 255 / .70);
}
.suchtreffer--schublade { width: auto; }
.suchtreffer--schublade .suchtreffer__rolle { max-height: none; overflow: visible; }
.suchtreffer--schublade .suchtreffer__titel { font-size: 1rem; }
@media (prefers-reduced-motion: reduce) {
  .suchtreffer__zeile { transition: none; }
}
@media (max-width: 48rem) {
  .suchwahl { display: none; }
}
@media (prefers-reduced-motion: no-preference) {
  body:has(.suchwahl[open]) .suchwahl__feld { animation: suche-auf 260ms cubic-bezier(.2, .7, .3, 1) both; }
  body:has(.suchwahl[open]) .suchwahl__hinweis { animation: suche-grund 400ms 120ms ease-out both; }
}
@keyframes suche-auf   { from { opacity: 0; transform: translateY(.6rem); }
                         to   { opacity: 1; transform: none; } }
@keyframes suche-grund { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .suchwahl > summary { transition: none; }
}
@media (min-width: 90rem) {
  .wz-ar__karten {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--raum-5, 2.5rem);
  }
  .wz-gsr {
    display: grid;
    grid-template-columns: minmax(0, 26rem) minmax(0, 1fr);
    gap: var(--raum-5, 2.5rem);
    align-items: start;
  }
  .wz-gsr__regler { grid-column: 1; margin-top: 0; }
  .wz-gsr__fussnote { grid-column: 1; }
  .wz-gsr__buehne {
    grid-column: 2; grid-row: 1 / span 4;
    position: sticky; top: calc(var(--leisten-gesamt, 7rem) + 1.5rem);
  }
  .wz-gsr__geschichte { grid-column: 1 / -1; }
  .wz-farben {
    display: grid;
    grid-template-columns: minmax(0, 15rem) minmax(0, 1fr);
    gap: var(--raum-5, 2.5rem);
    align-items: start;
  }
  .wz-farben__filter {
    grid-column: 1;
    grid-row: 1 / span 30;
    flex-direction: column; align-items: stretch;
    margin-top: 0;
    position: sticky; top: calc(var(--leisten-gesamt, 7rem) + 1.5rem);
  }
  .wz-farben__filter button { justify-content: space-between; }
  .wz-farben__gruppe,
  .wz-farben__info { grid-column: 2; }
}
@media (min-width: 100rem) {
  .wz-farben__raster { grid-template-columns: repeat(auto-fill, minmax(min(8rem, 100%), 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  .wz-dicke__tafeln, .wz-gsr__buehne { position: static; }
}
.technik {
  display: grid; gap: clamp(.9rem, 2vw, 1.4rem);
  grid-template-columns: repeat(auto-fill, minmax(min(17rem, 100%), 1fr));
  grid-auto-rows: 1fr;
  list-style: none; margin: 0; padding: 0;
}
.technik__geraet {
  display: grid; align-content: start; gap: .75rem;
  padding: clamp(1.1rem, 2vw, 1.5rem);
  background: var(--tag);
  border: 1px solid var(--linie);
  border-radius: var(--radius);
}
.band--sanft .technik__geraet { background: transparent; }
.technik__bild {
  width: 100%; display: block;
  height: clamp(8rem, 12vw, 11rem);
  object-fit: cover;
  border-radius: var(--radius); margin-bottom: .25rem;
}
.technik__text { display: grid; gap: .4rem; }
.technik__gruppe {
  margin: 0; font-size: .74rem; font-weight: 600;
  letter-spacing: .09em; text-transform: uppercase;
  color: var(--grau);
}
.technik .technik__name {
  margin: 0; font-family: var(--schrift-text);
  font-size: 1.05rem; font-weight: 700; line-height: 1.25;
  color: var(--nacht);
  overflow-wrap: anywhere;
}
.technik__dazu {
  margin: 0; font-size: .93rem; line-height: 1.55; color: var(--grau);
}
.technik__mehr { margin: .25rem 0 0; font-size: .93rem; }
.technik__orte {
  margin: .15rem 0 0; padding-top: .6rem;
  border-top: 1px solid var(--linie);
  font-size: .85rem; font-weight: 600; color: var(--nacht);
}
.band__vorspann {
  margin: 0; max-width: 46ch;
  font-size: clamp(.95rem, 1.4vw, 1.05rem); line-height: 1.6;
  color: var(--grau);
}
.band--nacht .band__vorspann { color: rgb(255 255 255 / .72); }
.nurdort {
  background: var(--tag);
  border: 1px solid var(--linie);
  border-radius: var(--radius);
}
.nurdort__innen {
  display: flex; align-items: center; flex-wrap: wrap;
  gap: .7rem 1.25rem;
  padding: clamp(.9rem, 2vw, 1.25rem) clamp(1rem, 2.5vw, 1.6rem);
}
.nurdort .wappen { flex: none; }
.nurdort__text { margin: 0; font-size: 1rem; line-height: 1.5; }
.nurdort__text strong { font-weight: 700; }
.nurdort__wechsel {
  margin: 0; margin-inline-start: auto;
  display: flex; flex-wrap: wrap; gap: .5rem;
}
@media (max-width: 44rem) {
  .nurdort__wechsel { margin-inline-start: 0; width: 100%; }
}
.unterkacheln--voll {
  gap: 0;
  grid-template-columns: repeat(auto-fill, minmax(min(24rem, 100%), 1fr));
}
.unterkacheln--voll .kachel {
  min-height: clamp(22rem, 32vw, 30rem);
}
.unterkacheln--voll .unterkacheln__held .kachel {
  min-height: clamp(28rem, 50vw, 42rem);
}
.unterkacheln--voll .kachel::after {
  --deckung: .82;
  --voll: 30%;
}
.unterkacheln--voll .kachel__titel,
.unterkacheln--voll .kachel__dazu {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.unterkacheln--voll .kachel__titel { -webkit-line-clamp: 2; }
.unterkacheln--voll .kachel__dazu  { -webkit-line-clamp: 2; }
@media (max-width: 34rem) {
  .unterkacheln--voll .kachel__dazu { -webkit-line-clamp: 3; }
}
.unterkacheln--voll .kachel__text { padding: 1.1rem; gap: .25rem; }
.unterkacheln--voll li:not(.unterkacheln__held) .kachel__titel {
  font-size: 1.2rem; line-height: 1.15;
}
.unterkacheln--voll .unterkacheln__held .kachel__text {
  padding: clamp(1.25rem, 2.4vw, 2rem);
}
.unterkacheln--voll {
  max-width: var(--breite);
  margin-inline: auto;
}
@media (hover: hover) and (pointer: fine) {
  .unterkacheln--voll .kachel {
    transition: box-shadow 260ms ease;
  }
  .unterkacheln--voll .kachel img {
    transition: scale 520ms cubic-bezier(.2, .7, .3, 1);
  }
  .unterkacheln--voll .kachel__text {
    transition: transform 300ms cubic-bezier(.2, .7, .3, 1);
  }
  .unterkacheln--voll .kachel::after {
    transition: opacity 260ms ease;
  }
  .unterkacheln--voll .kachel:hover,
  .unterkacheln--voll .kachel:focus-visible {
    box-shadow: inset 0 0 0 2px rgb(255 255 255 / .7);
  }
  .unterkacheln--voll .kachel:hover .kachel__text,
  .unterkacheln--voll .kachel:focus-visible .kachel__text {
    transform: translateY(-.4rem);
  }
  .unterkacheln--voll .kachel:hover::after,
  .unterkacheln--voll .kachel:focus-visible::after {
    --deckung: .74;
    --voll: 22%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .unterkacheln--voll .kachel,
  .unterkacheln--voll .kachel img,
  .unterkacheln--voll .kachel__text,
  .unterkacheln--voll .kachel::after { transition: none; }
  .unterkacheln--voll .kachel:hover img,
  .unterkacheln--voll .kachel:focus-visible img { scale: 1; }
  .unterkacheln--voll .kachel:hover .kachel__text,
  .unterkacheln--voll .kachel:focus-visible .kachel__text { transform: none; }
}
.technik__innen { display: grid; gap: inherit; }
.technik__geraet--weg { padding: 0; }
.technik__geraet--weg .technik__innen {
  display: grid; gap: .75rem;
  padding: clamp(1.1rem, 2vw, 1.5rem);
  color: inherit; text-decoration: none;
  transition: border-color 200ms ease, background-color 200ms ease;
}
.technik__geraet--weg:hover,
.technik__geraet--weg:focus-within { border-color: var(--nacht); }
.technik__weg--extern { color: var(--grau); }
.technik__geraet--weg:hover .technik__weg--extern,
.technik__geraet--weg:focus-within .technik__weg--extern { color: var(--nacht); }
.technik__weg {
  margin: .2rem 0 0; font-size: .85rem; font-weight: 600; color: var(--nacht);
}
.technik__geraet--weg:hover .technik__weg span { padding-inline-start: .2rem; }
.technik__weg span { transition: padding 200ms ease; }
.mega__fussnote,
.schublade__fussnote {
  display: flex; flex-wrap: wrap;
  gap: .1rem 1.1rem;
  list-style: none; margin: .9rem 0 0; padding: .8rem 0 0;
  border-top: 1px solid rgb(255 255 255 / .14);
}
.mega__fussnote a,
.schublade__fussnote a {
  display: inline-flex; align-items: center;
  min-height: 2.25rem;
  font-size: .82rem; color: var(--menue-grau); text-decoration: none;
  transition: color 160ms ease;
}
.mega__fussnote a:hover,
.mega__fussnote a:focus-visible,
.schublade__fussnote a:hover,
.schublade__fussnote a:focus-visible { color: #fff; }
.mega__fussnote a[aria-current],
.schublade__fussnote a[aria-current] { color: #fff; }
@media (pointer: coarse) {
  .mega__fussnote a,
  .schublade__fussnote a { min-height: 2.75rem; }
}
.technik__geraet:not(:has(.technik__bild)) { align-content: center; }
.fliesstext__belege {
  margin-top: .9rem; padding-top: .7rem;
  border-top: 1px solid var(--linie);
  font-size: .85rem; line-height: 1.5; color: var(--grau);
  max-width: 62ch;
}
.fliesstext__belege a { color: inherit; }
.fliesstext .textblock--dunkel .fliesstext__belege,
.textblock--dunkel .fliesstext__belege {
  color: var(--menue-grau); border-top-color: rgb(255 255 255 / .18);
}
.fliesstext .textblock--bild .fliesstext__belege,
.textblock--bild .fliesstext__belege {
  color: rgb(255 255 255 / .82); border-top-color: rgb(255 255 255 / .24);
}
.seitenkopf--bild .fliesstext .fliesstext__belege,
.seitenkopf--karbon .fliesstext .fliesstext__belege {
  color: rgb(255 255 255 / .72); border-top-color: rgb(255 255 255 / .24);
}
.fliesstext .textblock--dunkel .fliesstext__vorsatz,
.textblock--dunkel .fliesstext__vorsatz { color: var(--menue-grau); }
.fliesstext .textblock--bild .fliesstext__vorsatz,
.textblock--bild .fliesstext__vorsatz { color: rgb(255 255 255 / .82); }
.held--neon,
.seitenkopf--bild,
.seitenkopf--karbon {
  --neon:      255 186 74;
  --neon-kern: 255 246 230;
  --neon-hof:  255 214 140;   
  --neon-glas: 10 11 14;       
  --neon-zeile: 255 214 146;  
}
[data-ort="gold"] .held--neon,
[data-ort="gold"] .seitenkopf--bild,
[data-ort="gold"] .seitenkopf--karbon {
  --neon-zeile: 255 214 146;
  --neon:      255 186 74;
  --neon-kern: 255 246 230;
  --neon-hof:  255 214 140;
  --neon-glas: 10 11 14;
}
[data-ort="blau"] .held--neon,
[data-ort="blau"] .seitenkopf--bild,
[data-ort="blau"] .seitenkopf--karbon {
  --neon-zeile: 164 214 255;
  --neon:      104 186 255;
  --neon-kern: 235 246 255;
  --neon-hof:  150 205 255;
  --neon-glas: 10 11 14;
}
[data-ort="weinrot"] .held--neon,
[data-ort="weinrot"] .seitenkopf--bild,
[data-ort="weinrot"] .seitenkopf--karbon {
  --neon-zeile: 255 167 173;
  --neon:      255 108 118;
  --neon-kern: 255 235 233;
  --neon-hof:  255 158 160;
  --neon-glas: 10 11 14;
}
.held--neon h1,
.seitenkopf--bild .seitenkopf__titel,
.seitenkopf--karbon .seitenkopf__titel {
  color: rgb(var(--neon-kern));
  text-shadow:
    0 0 2px  rgb(var(--neon-kern) / .95),
    0 0 8px  rgb(var(--neon) / .85),
    0 0 22px rgb(var(--neon) / .65),
    0 0 46px rgb(var(--neon) / .45),
    0 0 90px rgb(var(--neon) / .28);
}
.held--neon h1 .leicht,
.seitenkopf--bild .seitenkopf__titel .leicht,
.seitenkopf--karbon .seitenkopf__titel .leicht { color: rgb(var(--neon-kern)); }
.held--neon .taste--hell,
.seitenkopf--bild .seitenkopf__wege .taste:not(.taste--still),
.seitenkopf--karbon .seitenkopf__wege .taste:not(.taste--still) {
  background: rgb(var(--neon-glas) / .76);
  -webkit-backdrop-filter: blur(10px) saturate(130%);
  backdrop-filter: blur(10px) saturate(130%);
  color: rgb(var(--neon-kern));
  border-color: rgb(var(--neon));
  text-shadow: 0 0 8px rgb(var(--neon) / .7), 0 0 20px rgb(var(--neon) / .4);
  box-shadow:
    0 0 10px rgb(var(--neon) / .5),
    0 0 28px rgb(var(--neon) / .3),
    inset 0 0 12px rgb(var(--neon) / .25);
}
.held--neon .taste--hell:hover,
.held--neon .taste--hell:focus-visible,
.seitenkopf--bild .seitenkopf__wege .taste:not(.taste--still):hover,
.seitenkopf--karbon .seitenkopf__wege .taste:not(.taste--still):hover,
.seitenkopf--bild .seitenkopf__wege .taste:not(.taste--still):focus-visible,
.seitenkopf--karbon .seitenkopf__wege .taste:not(.taste--still):focus-visible {
  background: rgb(var(--neon-glas) / .84);
  border-color: rgb(var(--neon-kern) / .95);
  box-shadow:
    0 0 14px rgb(var(--neon) / .7),
    0 0 40px rgb(var(--neon) / .45),
    inset 0 0 16px rgb(var(--neon) / .35);
}
@keyframes neonflackern {
  0%, 41%, 43.5%, 45%, 46.5%, 78%, 79.5%, 100% { opacity: 1;   filter: none; }
  42%, 44.2%, 78.8% { opacity: .62; filter: brightness(.8); }
  45.8% { opacity: .86; filter: brightness(.9); }
}
@keyframes neonatmen {
  0%, 100% { box-shadow: 0 0 10px rgb(var(--neon) / .5), 0 0 28px rgb(var(--neon) / .3), inset 0 0 12px rgb(var(--neon) / .25); }
  50%      { box-shadow: 0 0 14px rgb(var(--neon) / .62), 0 0 38px rgb(var(--neon) / .4), inset 0 0 16px rgb(var(--neon) / .3); }
}
.leiste__nav { margin-inline: 0; }
.leiste__rechts { margin-inline-start: auto; }
.held--neon .held__inhalt,
.seitenkopf--bild .seitenkopf__innen,
.seitenkopf--karbon .seitenkopf__innen { position: relative; }
.held--neon .held__inhalt::before,
.seitenkopf--bild .seitenkopf__innen::before,
.seitenkopf--karbon .seitenkopf__innen::before {
  content: "";
  position: absolute;
  inset: -12% 0 -22% -10%;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(58% 46% at 22% 38%, rgb(var(--neon-hof) / .28) 0%, rgb(var(--neon-hof) / .12) 42%, transparent 72%),
    radial-gradient(40% 30% at 18% 62%, rgb(var(--neon) / .16) 0%, transparent 70%);
  mix-blend-mode: screen;
}
.held--neon .taste--hell .taste__kreis,
.seitenkopf--bild .seitenkopf__wege .taste .taste__kreis,
.seitenkopf--karbon .seitenkopf__wege .taste .taste__kreis {
  background: rgb(var(--neon) / .92);
  color: rgb(var(--neon-glas));
  box-shadow: 0 0 10px rgb(var(--neon) / .8), 0 0 24px rgb(var(--neon) / .45);
}
@media (prefers-reduced-motion: no-preference) and (scripting: enabled) {
  .held--neon h1 .kraeftig,
  .seitenkopf--bild .seitenkopf__titel .leicht,
  .seitenkopf--karbon .seitenkopf__titel .leicht {
    animation:
      neonzuenden .7s steps(1, end) 1 both,
      neonflackern 7s steps(1, end) .7s infinite;
  }
  .held--neon .held__inhalt::before,
  .seitenkopf--bild .seitenkopf__innen::before,
  .seitenkopf--karbon .seitenkopf__innen::before {
    animation: neonhof .7s ease-out 1 both;
  }
  .held--neon .taste--hell,
  .seitenkopf--bild .seitenkopf__wege .taste:not(.taste--still),
  .seitenkopf--karbon .seitenkopf__wege .taste:not(.taste--still) {
    animation: neonatmen 4.5s ease-in-out infinite;
  }
}
@keyframes neonzuenden {
  0%, 12%   { opacity: .45; }
  16%, 24%  { opacity: 1; }
  28%, 38%  { opacity: .5; }
  42%, 48%  { opacity: 1; }
  52%, 62%  { opacity: .62; }
  68%, 100% { opacity: 1; }
}
@keyframes neonhof {
  0%, 26%   { opacity: .35; }
  28%, 38%  { opacity: 1; }
  42%, 56%  { opacity: .5; }
  62%, 100% { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .held--neon h1 .kraeftig,
  .seitenkopf--bild .seitenkopf__titel .leicht,
  .seitenkopf--karbon .seitenkopf__titel .leicht,
  .held--neon .held__inhalt::before,
  .seitenkopf--bild .seitenkopf__innen::before,
  .seitenkopf--karbon .seitenkopf__innen::before { animation: none; opacity: 1; }
}
.held--neon .held__marke,
.seitenkopf--bild .seitenkopf__innen > .neu__marke,
.seitenkopf--karbon .seitenkopf__innen > .neu__marke {
  font-size: clamp(.8rem, 1vw, .95rem);
  letter-spacing: .14em;
  color: rgb(var(--neon-zeile));
  text-shadow: 0 0 10px rgb(var(--neon) / .45), 0 0 26px rgb(var(--neon) / .22);
}
.held--neon .held__marke::before,
.seitenkopf--bild .seitenkopf__innen > .neu__marke::before,
.seitenkopf--karbon .seitenkopf__innen > .neu__marke::before {
  background: rgb(var(--neon-zeile));
  box-shadow: 0 0 8px rgb(var(--neon) / .6);
  width: 2.2rem;
}
.standort__wege {
  display: grid; gap: .5rem;
  margin: 1rem 0 1.5rem;
  max-width: 26rem;
}
.standort__wege .knopf {
  justify-content: space-between;
  gap: 1rem; padding: .8rem 1.2rem;
  border-radius: 0;
  text-align: left;
}
.knopf__was  { font-weight: 700; flex: none; }
.knopf__wert { font-weight: 400; text-align: right; overflow-wrap: anywhere; }
.zeiten__sonder {
  margin-top: 1rem;
  border-top: 1px solid var(--linie);
  padding-top: .75rem;
}
.zeiten__sonder > summary {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem .75rem;
  cursor: pointer; list-style: none;
  padding: .35rem 0;
}
.zeiten__sonder > summary::-webkit-details-marker { display: none; }
.zeiten__sonder > summary::after {
  content: "+"; margin-left: auto;
  font-size: 1.2rem; line-height: 1; color: var(--ak);
  transition: transform 180ms ease;
}
.zeiten__sonder[open] > summary::after { transform: rotate(45deg); }
.zeiten__sondertitel { font-weight: 650; }
.zeiten__naechste { font-size: .88rem; color: var(--grau); font-variant-numeric: tabular-nums; }
@media (prefers-reduced-motion: reduce) {
  .zeiten__sonder > summary::after { transition: none; }
}
.seitenkopf__zusatz { margin-top: .2rem; }
.seitenkopf__zusatz .oeffnungs-badge__zusatz { color: rgb(255 255 255 / .82); }
.seitenkopf__zusatz .oeffnungs-badge__text   { color: #fff; }
.seite--standort .standort__karte { grid-column: 1 / -1; }
.seite--standort .standort__karte h2 { margin-top: 1rem; }
.formfenster__einstieg { display: grid; gap: 1.25rem; max-width: 46rem; }
.formfenster__einstieg[hidden] { display: none; }
.formfenster .formfenster__titel { margin: 0; }
.formfenster .formfenster__satz { margin: 0; max-width: 52ch; }
.formfenster .formfenster__aktion { margin: 0; }
.formfenster__dialog {
  width: min(44rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem);
  padding: 0; overflow: hidden;
  border: 0; border-top: 4px solid var(--ak); border-radius: var(--radius, 0);
  background: var(--tag); color: var(--nacht);
  box-shadow: 0 24px 60px rgb(16 17 20 / .35);
}
.formfenster__dialog[open] { display: flex; flex-direction: column; }
.formfenster__dialog::backdrop { background: rgb(16 17 20 / .6); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.formfenster__dialog[open] { animation: formfenster-auf 240ms cubic-bezier(.22,.61,.36,1); }
@keyframes formfenster-auf { from { opacity: 0; transform: translateY(12px); } }
@media (prefers-reduced-motion: reduce) { .formfenster__dialog[open] { animation: none; } }
.formfenster__kopf {
  flex: none;
  display: flex; align-items: center; justify-content: space-between; gap: 1.25rem;
  padding: 1.25rem clamp(1.25rem, 4vw, 2rem);
  border-bottom: 1px solid var(--linie);
}
.formfenster__dialog .formfenster__kopf h2 { margin: 0; font-size: clamp(1.25rem, 3vw, 1.6rem); }
.formfenster__zu {
  flex: none; width: 2.75rem; height: 2.75rem;
  display: grid; place-items: center;
  border: 1px solid var(--linie); border-radius: 50%; background: none; color: inherit;
  font-size: 1.05rem; cursor: pointer;
}
.formfenster__zu:hover { background: var(--ak-sanft); border-color: var(--ak); }
.formfenster__zu:focus-visible { outline: 2px solid var(--ak); outline-offset: 2px; }
.formfenster__koerper {
  overflow-y: auto; overscroll-behavior: contain;
  padding: 1.25rem clamp(1.25rem, 4vw, 2rem) clamp(1.25rem, 4vw, 2rem);
}
.formfenster__dialog .anfrage { margin: 0; padding: 0; border: 0; }
.formfenster__dialog .anfrage__formular { max-width: none; padding: 0; border: 0; background: none; }
.formfenster__dialog .anfrage__einleitung { margin: 0; }
.formfenster__dialog .anfrage__einleitung + .anfrage__formular { margin-top: 1.25rem; }
.formfenster__dialog .anfrage__datenschutz { margin: 0 0 1.25rem; }
.formfenster__dialog .anfrage__aktionen { margin: 0; }
@media (min-width: 72rem) {
  .formfenster__dialog { width: min(68rem, calc(100vw - 4rem)); }
  .formfenster__dialog .anfrage__feld--halb { flex: 1 1 calc(33.333% - var(--raum-3)); }
  .formfenster__dialog .anfrage__felder { margin-block: 1.25rem; }
  .formfenster__dialog .anfrage__feld textarea { min-height: 4.5rem; height: 5.5rem; }
  .formfenster__dialog .anfrage__einleitung { max-width: none; }
}
.standort__weiter { margin-top: 1.25rem; }
.storebilder {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: .75rem;
  grid-template-columns: repeat(auto-fill, minmax(min(14rem, 100%), 1fr));
}
.storebilder img {
  width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block;
  background: var(--linie);
}
.beitrag__bilder { margin-block: 2rem 1.5rem; }
.teamfilter {
  display: grid; gap: .75rem;
  margin: 0 0 2rem; padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--linie);
}
.teamfilter__gruppe {
  display: flex; flex-wrap: wrap; align-items: center; gap: .4rem;
}
.teamfilter__etikett {
  flex: 0 0 5rem;
  font-size: .78rem; letter-spacing: .08em; text-transform: uppercase;
  color: var(--grau);
}
.teamfilter .pille { text-decoration: none; }
.seite .teamfilter .pille.ist-aktiv {
  background: var(--nacht); color: var(--tag); border-color: var(--nacht);
}
.pille__zahl { margin-left: .3rem; opacity: .65; font-variant-numeric: tabular-nums; }
.teamfilter__stand { margin: .25rem 0 0; font-size: .9rem; color: var(--grau); }
@media (max-width: 40rem) {
  .teamfilter__etikett { flex-basis: 100%; }
  .teamfilter .pille { min-height: 2.75rem; display: inline-flex; align-items: center; }
}
.wechsel {
  --wechsel-dauer: 3s;
  position: fixed; inset: 0; z-index: 200;
  display: grid; place-items: center;
  background: var(--nacht); color: #fff;
  cursor: progress;
  isolation: isolate;
  animation: wechsel-auf 260ms ease both;
}
.wechsel[hidden] { display: none; }
@keyframes wechsel-auf { from { opacity: 0; } to { opacity: 1; } }
.wechsel__schein,
.schleier::before {
  --schein-weit:  42rem;
  --schein-eng:   15rem;
  --schein-aussen: 34%;
  --schein-innen:  52%;
  background:
    radial-gradient(var(--schein-weit) var(--schein-weit) at 50% 50%,
      color-mix(in srgb, var(--ak-hell) var(--schein-aussen), transparent), transparent 70%),
    radial-gradient(var(--schein-eng) var(--schein-eng) at 50% 50%,
      color-mix(in srgb, var(--ak-hell) var(--schein-innen), transparent), transparent 72%);
}
.wechsel__schein {
  position: absolute; inset: 0;
  animation: wechsel-atmen var(--wechsel-dauer) ease-in-out both;
}
@keyframes wechsel-atmen {
  0%   { transform: scale(.72); opacity: 0; }
  35%  { transform: scale(1);   opacity: 1; }
  100% { transform: scale(1.18); opacity: .55; }
}
.wechsel__mitte {
  position: relative; z-index: 1;
  display: grid; justify-items: center; gap: .9rem;
  text-align: center; padding: 2rem;
}
.wechsel__ring,
.schleier__ring {
  --ring-mass: 10.5rem;
  position: relative;
  width: var(--ring-mass); height: var(--ring-mass);
  display: grid; place-items: center;
}
.wechsel__ring { margin-bottom: .6rem; }
.wechsel__ring::before, .schleier__ring::before,
.wechsel__ring::after,  .schleier__ring::after {
  content: ""; position: absolute; inset: 0; border-radius: 50%;
}
.wechsel__ring::before,
.schleier__ring::before {
  background: conic-gradient(from 0deg,
    transparent 0deg,
    color-mix(in srgb, var(--ak-hell) 14%, transparent) 70deg,
    var(--ak-hell) 160deg,
    color-mix(in srgb, var(--ak-hell) 14%, transparent) 250deg,
    transparent 360deg);
  -webkit-mask: radial-gradient(circle, transparent 58%, #000 61%, #000 71%, transparent 74%);
  mask: radial-gradient(circle, transparent 58%, #000 61%, #000 71%, transparent 74%);
  filter: drop-shadow(0 0 .8rem color-mix(in srgb, var(--ak-hell) 55%, transparent));
}
.wechsel__ring::after,
.schleier__ring::after {
  border: 1px solid color-mix(in srgb, var(--ak-hell) 26%, transparent);
}
.wechsel__ring::before  { animation: wechsel-drehen var(--wechsel-dauer) linear both; }
.schleier__ring::before { animation: schein-drehen 9s linear infinite; }
@keyframes wechsel-drehen { to { transform: rotate(720deg); } }
@keyframes schein-drehen  { to { transform: rotate(360deg); } }
.wechsel__wappen,
.schleier__ring .wappen {
  position: relative;
  width: 5.2rem; height: 5.2rem;
  border-radius: 50%; object-fit: cover;
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--ak-hell) 42%, transparent),
    0 0 2.6rem color-mix(in srgb, var(--ak-hell) 45%, transparent),
    0 .9rem 2.2rem rgb(0 0 0 / .55);
}
.wechsel__wappen {
  animation: wechsel-wappen var(--wechsel-dauer) cubic-bezier(.2, .7, .2, 1) both;
}
@keyframes wechsel-wappen {
  0%   { transform: scale(.55) rotate(-14deg); opacity: 0; }
  30%  { transform: scale(1)   rotate(0deg);   opacity: 1; }
  100% { transform: scale(1.04) rotate(0deg);  opacity: 1; }
}
.wechsel__satz {
  margin: 0; font-size: .82rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: .16em;
  color: rgb(255 255 255 / .72);
  animation: wechsel-satz 900ms ease both 180ms;
}
.wechsel__ort {
  margin: 0; font-size: clamp(1.9rem, 5vw, 2.9rem); font-weight: 700; line-height: 1.1;
  color: var(--ak-hell);
  animation: wechsel-satz 900ms ease both 320ms;
}
@keyframes wechsel-satz {
  from { opacity: 0; transform: translateY(.5rem); }
  to   { opacity: 1; transform: none; }
}
.wechsel__balken {
  position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
  background: rgb(255 255 255 / .12);
}
.wechsel__balken i {
  display: block; height: 100%; width: 100%;
  background: var(--ak-hell);
  transform-origin: left center;
  animation: wechsel-balken var(--wechsel-dauer) linear both;
}
@keyframes wechsel-balken { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) {
  .wechsel { --wechsel-dauer: .45s; animation: none; }
  .wechsel__schein { animation: none; opacity: .85; }
  .wechsel__ring::before { animation: none; }
  .wechsel__wappen,
  .wechsel__satz,
  .wechsel__ort { animation: none; }
  .wechsel__balken i { animation: none; transform: scaleX(1); }
}
@media print { .wechsel { display: none !important; } }
.seite--paket .fliesstext--gegliedert {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6.25rem clamp(2rem, 4vw, 3.5rem);
  align-items: start;
}
@media (min-width: 52rem) {
  .seite--paket .fliesstext--gegliedert {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-flow: row dense;
  }
  .seite--paket .textblock--breit:has(table) { grid-column: 1 / -1; }
}
.seite--paket .fliesstext--gegliedert .textblock + .textblock { margin-top: 0; }
.seite--paket .textblock {
  grid-template-columns: minmax(0, 1fr);
  gap: 1.75rem;
  min-height: 0;
  align-content: start;
  background: none;
  border: 0;
  padding: 0;
}
.seite--paket .textblock > :is(h2, h3) {
  position: static;
  color: var(--nacht);
  text-align: left;
}
.seite--paket .textblock > h2 {
  font-size: clamp(1.15rem, 1.9vw, 1.5rem);
  margin: 0;
}
.seite--paket .textblock > h2 .leicht { color: inherit; opacity: .72; }
.seite--paket .textblock__inhalt,
.seite--paket .textblock__inhalt > * { text-align: left; }
.seite--paket .textblock__inhalt > * { max-width: none; }
.fliesstext .fliesstext__unterzeile,
.seite--paket .textblock__inhalt > .fliesstext__unterzeile {
  margin: 0 0 1.1rem;
  font-size: 1.08rem; line-height: 1.4; font-weight: 600;
  color: var(--ak); text-wrap: balance;
}
.fliesstext :is(.textblock--dunkel, .band--nacht, .nachtband) .fliesstext__unterzeile,
:is(.band--nacht, .nachtband) .fliesstext .fliesstext__unterzeile { color: var(--ak-hell); }
.seite--paket .textblock:has(> .textblock__inhalt > .fliesstext__unterzeile:first-child) { row-gap: .35rem; }
.seite--paket .textblock table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--linie);
}
.seite--paket .textblock :is(th, td) {
  padding: .6rem .8rem;
  border-bottom: 1px solid var(--linie);
  text-align: left;
  vertical-align: top;
}
.seite--paket .textblock thead th {
  background: color-mix(in srgb, var(--ak) 12%, var(--tag));
  color: var(--nacht);
  font-weight: 650;
}
.seite--paket .textblock tr:last-child :is(th, td) { border-bottom: 0; }
.seite--paket .textblock .punkt::before,
.seite--paket .textblock ul > li::marker { color: var(--ak); }
.seite--paket > .band:first-of-type { padding-block: 6.25rem; }
.vergleich {
  border-collapse: separate; border-spacing: 0;
  --vergleich-hervor: #2f73ad;
}
.vergleich :is(th, td) {
  padding: .7rem .9rem;
  text-align: left;
  vertical-align: middle;
  border-bottom: 1px solid var(--linie);
}
.vergleich thead th {
  font-size: .78rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .06em;
  color: var(--grau);
  border-bottom: 2px solid var(--linie);
  white-space: nowrap;
}
.vergleich tbody tr:nth-child(even) td { background: color-mix(in srgb, var(--ak) 4%, transparent); }
.vergleich tbody tr:last-child :is(th, td) { border-bottom: 0; }
.vergleich .vergleich__hervor {
  background: color-mix(in srgb, var(--vergleich-hervor) 12%, var(--tag));
  border-inline: 1px solid color-mix(in srgb, var(--vergleich-hervor) 32%, transparent);
}
.vergleich tbody tr:nth-child(even) td.vergleich__hervor {
  background: color-mix(in srgb, var(--vergleich-hervor) 16%, var(--tag));
}
.vergleich thead th.vergleich__hervor {
  background: color-mix(in srgb, var(--vergleich-hervor) 20%, var(--tag));
  color: var(--nacht);
  border-top: 3px solid var(--vergleich-hervor);
  border-bottom-color: color-mix(in srgb, var(--vergleich-hervor) 40%, transparent);
}
.vergleich tbody tr:last-child td.vergleich__hervor {
  border-bottom: 1px solid color-mix(in srgb, var(--vergleich-hervor) 32%, transparent);
}
.vergleich__zeichen { display: inline-flex; vertical-align: middle; }
.vergleich__zeichen--ja   { color: var(--ak); }
.vergleich__hervor .vergleich__zeichen--ja { color: var(--vergleich-hervor); }
.vergleich__zeichen--nein { color: var(--grau); opacity: .55; }
.fliesstext table.vergleich--zeichen { border: 0; box-shadow: none; }
.fliesstext .vergleich--zeichen thead th:not(.vergleich__hervor) { background: none; }
.vergleich--zeichen :is(th, td) { padding: .95rem 1.1rem; }
.vergleich--zeichen tbody tr:nth-child(even) td { background: none; }
.vergleich--zeichen tbody td:first-child { font-weight: 500; }
.vergleich--zeichen thead th { border-bottom: 0; padding-block: 1.1rem; }
.vergleich--zeichen tbody tr { transition: background-color 200ms ease; }
.vergleich--zeichen tbody tr:hover td:not(:last-child) { background: color-mix(in srgb, var(--ak) 5%, transparent); }
.vergleich--zeichen .vergleich__hervor,
.vergleich--zeichen tbody tr:nth-child(even) td.vergleich__hervor {
  background: color-mix(in srgb, var(--vergleich-hervor) 9%, var(--tag));
  border-inline: 0;
  border-bottom-color: color-mix(in srgb, var(--vergleich-hervor) 18%, transparent);
}
.vergleich--zeichen thead th.vergleich__hervor {
  background: var(--vergleich-hervor); color: #fff;
  border-top: 0; border-radius: 14px 14px 0 0;
}
.vergleich--zeichen tbody tr:last-child td.vergleich__hervor { border-bottom: 0; border-radius: 0 0 14px 14px; font-weight: 700; }
.vergleich--zeichen .vergleich__zeichen--ja {
  justify-content: center; align-items: center;
  width: 1.85rem; height: 1.85rem; border-radius: 50%;
  background: color-mix(in srgb, var(--ak) 13%, var(--tag));
}
.vergleich--zeichen .vergleich__hervor .vergleich__zeichen--ja { background: var(--vergleich-hervor); color: #fff; }
.vergleich--zeichen .vergleich__zeichen--ja svg { width: 15px; height: 15px; }
@media (prefers-reduced-motion: reduce) { .vergleich--zeichen tbody tr { transition: none; } }
.fliesstext #ihr-preis-einmalig + .textblock__inhalt table { display: block; border: 0; box-shadow: none; margin-bottom: 1.5rem; }
#ihr-preis-einmalig + .textblock__inhalt thead {
  position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
#ihr-preis-einmalig + .textblock__inhalt tbody {
  display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(9.5rem, 100%), 1fr));
  grid-auto-rows: 1fr; align-items: stretch;
}
#ihr-preis-einmalig + .textblock__inhalt tbody tr {
  --kachel-grund: #f7f0e1; --kachel-farbe: #6b561b;   
  display: flex; flex-direction: column; justify-content: space-between; gap: .9rem; height: 100%;
  padding: 1.1rem 1.15rem 1.15rem;
  background: var(--kachel-grund); border: 0; border-radius: 14px;   
}
#ihr-preis-einmalig + .textblock__inhalt tbody tr:nth-child(3n+1) { --kachel-grund: #eaf4ee; --kachel-farbe: #245f38; }  
#ihr-preis-einmalig + .textblock__inhalt tbody tr:nth-child(3n+2) { --kachel-grund: #e9f0f8; --kachel-farbe: #255d8f; }  
#ihr-preis-einmalig + .textblock__inhalt tbody td {
  display: block; padding: 0; border: 0; background: none; text-align: left;
}
#ihr-preis-einmalig + .textblock__inhalt tbody td:first-child {
  font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: #5c5d61;   
}
#ihr-preis-einmalig + .textblock__inhalt tbody td:last-child {
  font-family: var(--schrift-text); font-size: clamp(1.35rem, 2.1vw, 1.65rem); font-weight: 800;
  line-height: 1.1; letter-spacing: -.01em; white-space: nowrap; color: var(--kachel-farbe);
}
@media (max-width: 46rem) {
  .textblock:has(.vergleich) .textblock__inhalt {
    overflow-x: auto;
    position: relative;
    background:
      linear-gradient(to right, var(--tag) 30%, rgb(255 255 255 / 0)) left center,
      linear-gradient(to left,  var(--tag) 30%, rgb(255 255 255 / 0)) right center,
      radial-gradient(farthest-side at 0 50%, rgb(16 17 20 / .14), rgb(16 17 20 / 0)) left center,
      radial-gradient(farthest-side at 100% 50%, rgb(16 17 20 / .14), rgb(16 17 20 / 0)) right center;
    background-repeat: no-repeat;
    background-size: 2.5rem 100%, 2.5rem 100%, .9rem 100%, .9rem 100%;
    background-attachment: local, local, scroll, scroll;
  }
  .vergleich--zeichen { min-width: 0; }
  .vergleich--zeichen thead th {
    white-space: normal;
    hyphens: manual;
    letter-spacing: 0;
  }
  .vergleich--zeichen :is(th, td) { padding: .55rem .5rem; }
  @media (max-width: 22rem) {
    .vergleich--zeichen :is(th, td) { padding: .5rem .35rem; }
    .vergleich--zeichen thead th { font-size: .68rem; }
  }
  .vergleich--text, .wz-tabelle,
  .vergleich--text thead, .wz-tabelle thead,
  .vergleich--text tbody, .wz-tabelle tbody,
  .vergleich--text tr, .wz-tabelle tr,
  .vergleich--text :is(th, td), .wz-tabelle :is(th, td) { display: block; }
  .vergleich--text thead, .wz-tabelle thead {
    position: absolute;
    width: 1px; height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .vergleich--text tbody tr, .wz-tabelle tbody tr {
    border: 1px solid var(--farbe-linie);
    border-radius: var(--radius, .5rem);
    margin-bottom: .75rem;
    overflow: hidden;
  }
  .vergleich--text tbody tr:last-child,
  .wz-tabelle tbody tr:last-child { margin-bottom: 0; }
  .vergleich--text tbody :is(th, td):first-child,
  .wz-tabelle tbody :is(th, td):first-child {
    font-weight: 600;
    background: color-mix(in srgb, var(--ak) 7%, transparent);
    border-bottom: 1px solid var(--farbe-linie);
    text-align: left;
  }
  .vergleich--text tbody :is(th, td):not(:first-child),
  .wz-tabelle tbody :is(th, td):not(:first-child) {
    display: flex;
    gap: 1rem;
    align-items: baseline;
    text-align: left;
    border-bottom: 1px solid color-mix(in srgb, var(--farbe-linie) 60%, transparent);
  }
  .vergleich--text tbody tr :is(th, td):last-child,
  .wz-tabelle tbody tr :is(th, td):last-child { border-bottom: 0; }
  .vergleich--text tbody :is(th, td)[data-spalte]::before,
  .wz-tabelle tbody :is(th, td)[data-spalte]::before {
    content: attr(data-spalte);
    flex: 0 0 auto;
    max-width: 45%;
    text-align: left;
    font-size: .82em;
    font-weight: 600;
    letter-spacing: .02em;
    color: var(--grau);
  }
  .vergleich--text tbody td.vergleich__hervor {
    background: color-mix(in srgb, var(--vergleich-hervor) 8%, transparent);
  }
}
@media (min-width: 62rem) {
  .seite--paket .textblock--breit:not(:has(table)) .textblock__inhalt {
    columns: 2;
    column-gap: clamp(1.25rem, 2.5vw, 2rem);
    font-size: .88rem;
    line-height: 1.6;
  }
  .seite--paket .textblock--breit:not(:has(table)) .textblock__inhalt > h3 {
    break-after: avoid;
    break-inside: avoid;
  }
  .seite--paket .textblock--breit:not(:has(table)) .textblock__inhalt > p {
    break-inside: avoid;
  }
  .seite--paket .textblock--breit:not(:has(table)) .textblock__inhalt > :first-child {
    margin-top: 0;
  }
}
@media (min-width: 46rem) and (max-width: 61.99rem) {
  .seite--paket .textblock--breit:not(:has(table)) .textblock__inhalt {
    columns: 2;
    column-gap: 1.75rem;
    font-size: .94rem;
  }
  .seite--paket .textblock--breit:not(:has(table)) .textblock__inhalt > h3 { break-after: avoid; }
  .seite--paket .textblock--breit:not(:has(table)) .textblock__inhalt > p { break-inside: avoid; }
}
.seite--paket .faq--karte { padding-block: 0; }
.seite--paket .faq--karte > h2 {
  margin: 0 0 .75rem;
  text-align: left;
  color: var(--nacht);
  font-size: clamp(1.15rem, 1.9vw, 1.5rem);
}
.seite--paket .faq--karte { font-size: .94rem; }
.seite--paket .fliesstext .textblock__inhalt > h3 {
  font-weight: 700;
  font-size: 1.02rem;
  line-height: 1.3;
  color: var(--nacht);
}
.seite--paket .fliesstext .textblock__inhalt > * + h3 { margin-top: 1.5em; }
.seite--paket .fliesstext .textblock__inhalt > :first-child { margin-top: 0; }
.seite--paket .fliesstext .textblock__inhalt > h3 + p { margin-top: .3em; }
.seitenkopf--hell .seitenkopf__teaser,
.seitenkopf--hell .seitenkopf__einleitung,
.seitenkopf--hell .seitenkopf__einleitung p { color: var(--nacht); }
.bewertenbitte {
  display: flex; flex-wrap: wrap; align-items: center;
  gap: var(--raum-3, 1rem);
  margin: var(--raum-4, 1.5rem) 0 0;
}
.bewertenbitte__text {
  flex: 1 1 18rem;
  font-size: var(--text-s, .92rem); line-height: 1.5;
  color: var(--grau);
}
.bewertenbitte__knopf { flex: none; }
.bewertenbitte--erfolg {
  margin-top: var(--raum-4, 1.5rem);
  padding-top: var(--raum-4, 1.5rem);
  border-top: 1px solid var(--linie);
}
@media print { .bewertenbitte { display: none; } }
main:has(> .seite--paket) > .seitenkopf .seitenkopf__titel,
main:has(> .seite--paket) > .seitenkopf .seitenkopf__titel :is(.leicht, .kraeftig) {
  color: var(--ak);
}
@media (max-width: 40rem) {
  .markenraster,
  .personen {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .markenraster__bild { padding: var(--raum-2); }
}
.anfrage__wahlzeile {
  display: flex; gap: .6rem; align-items: flex-start;
  padding: .45rem .2rem; cursor: pointer;
  line-height: 1.4;
}
.anfrage__wahlzeile > span { flex: 1 1 auto; }
.anfrage__wahlzeile input {
  flex: none; width: auto;
  min-height: 0; height: auto;
  margin: .32em 0 0;
}
.anfrage__wahlzeile { min-height: 2.75rem; }
.anfrage__wahlzeile:hover { color: var(--ak); }
.werkbank .anfrage__formular > fieldset,
.werkbank .werkbank__spalte > fieldset,
.werkbank .stufe > fieldset {
  border: 1px solid var(--linie);
  border-radius: var(--radius);
  padding: clamp(1rem, 2.5vw, 1.4rem);
  margin: 0;
  background: var(--tag);
}
.werkbank .stufe > fieldset > legend {
  display: flex; align-items: center; gap: .55rem;
  padding: 0 .55rem 0 0; margin-left: -.1rem;
  font-size: 1.02rem; font-weight: 700;
  letter-spacing: -.01em;
}
.werkbank .stufe > fieldset > legend::before {
  content: ""; flex: none;
  width: 1.1rem; height: 2px; border-radius: 2px;
  background: var(--ak);
}
.werkbank fieldset > legend { padding-inline: .5rem; font-weight: 650; }
.stufe { display: grid; gap: clamp(1rem, 2.5vw, 1.5rem); }
.wahlgruppe {
  margin-top: var(--raum-3);
  padding: var(--raum-2) var(--raum-3) var(--raum-1);
  border: 1px solid var(--linie);
  border-left: 3px solid var(--ak);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--ak) 4%, transparent);
}
.wahlgruppe__titel {
  margin: 0 0 .35rem;
  font-size: .85rem; font-weight: 700;
  letter-spacing: .03em; text-transform: uppercase;
  color: var(--ak);
}
.person__kopf { display: grid; gap: .15rem; }
.person__angaben {
  display: grid; gap: .7rem;
  margin: .2rem 0 0; padding: .7rem 0 0;
  border-top: 1px solid var(--linie);
}
.person__angabe { display: grid; gap: .3rem; }
.person__angabe dt {
  font-size: .7rem; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase;
  color: var(--grau);
}
.person__angabe dd { margin: 0; }
.person__angaben .person__pillen { margin-top: 0; }
.person__pillen .pille--link { text-decoration: none; }
.person__mehr { margin-top: .45rem; }
.person__mehr > summary {
  display: inline-flex; align-items: center; gap: .4rem;
  width: max-content; min-height: 1.75rem; padding: .2rem 0;
  cursor: pointer; list-style: none;
  font-size: .72rem; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase;
  color: var(--grau);
}
.person__mehr > summary::-webkit-details-marker { display: none; }
.person__mehr > summary::after {
  content: ""; width: .4em; height: .4em;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-.12em) rotate(45deg);
  transition: transform 180ms ease;
}
.person__mehr[open] > summary::after { transform: translateY(.06em) rotate(-135deg); }
.person__mehr > summary:hover,
.person__mehr > summary:focus-visible { color: var(--nacht); }
.person__mehr .person__angaben { margin-top: .45rem; }
.person__mehr .person__satz { margin-top: .1rem; }
.neu--werkbank { background: var(--tag); }
.neu--werkbank main { padding-bottom: 0; animation: none; }
.werkbank__kopf {
  display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
  max-width: 1200px; margin: 0 auto;
  padding: 1.25rem var(--rand, 1.25rem);
}
.werkbank__marke { display: inline-flex; flex: none; }
.werkbank__marke img { display: block; width: 11rem; height: auto; }
.werkbank__wo {
  margin: 0; font-size: .8rem; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase; color: var(--grau);
}
.werkbank__inhalt {
  max-width: 1200px; margin: 0 auto;
  padding: 0 var(--rand, 1.25rem) 4rem;
}
.werkbank h1 {
  font-family: var(--schrift-text);
  font-size: clamp(1.5rem, 3.4vw, 2rem); font-weight: 700;
  letter-spacing: -.01em;
  text-shadow: none; margin: 0 0 .35rem;
}
.werkbank .anfrage__einleitung { margin-top: 0; }
.werkbank__spalten { display: grid; gap: clamp(1rem, 2.5vw, 2rem); }
@media (min-width: 64rem) {
  .werkbank__spalten { grid-template-columns: 1fr 1fr; align-items: start; }
}
.werkbank__spalte { display: grid; gap: var(--raum-3, 1rem); align-content: start; }
.werkbank__formular { max-width: none; }
.werkbank--schmal { max-width: 40rem; }
.meldung {
  display: grid; gap: .1rem;
  margin: var(--raum-3) 0;
  border: 1px solid var(--linie); border-radius: var(--radius);
  overflow: hidden;
}
.meldung__zeile {
  display: grid; grid-template-columns: 11rem 1fr; gap: 1rem;
  padding: .6rem .9rem;
  background: var(--tag);
}
.meldung__zeile + .meldung__zeile { border-top: 1px solid var(--linie); }
.meldung__zeile dt { font-size: .82rem; font-weight: 700; color: var(--grau); }
.meldung__zeile dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 34rem) {
  .meldung__zeile { grid-template-columns: 1fr; gap: .1rem; }
}
.meldung__fuss {
  margin-top: var(--raum-4);
  font-size: .82rem; line-height: 1.5; color: var(--grau);
}
.eigenbedarf {
  margin: var(--raum-2) 0;
  padding: .35rem .9rem;
  border: 1px solid var(--linie);
  border-left: 3px solid var(--grau);
  border-radius: var(--radius);
}
.eigenbedarf .anfrage__wahlzeile { font-weight: 400; }
.eigenbedarf strong { font-weight: 700; }
.eigenbedarf:has(input:checked) { border-left-color: var(--ak); background: var(--ak-sanft); }
.neues {
  display: grid; gap: clamp(.75rem, 1.5vw, 1.25rem);
  grid-template-columns: repeat(auto-fit, minmax(min(17rem, 100%), 1fr));
  list-style: none; margin: 0; padding: 0;
  max-width: 64rem;
}
.neues__stueck {
  background: var(--tag);
  border: 1px solid var(--linie);
  border-radius: var(--radius);
  overflow: hidden;
  transition: border-color 200ms ease;
}
.neues__stueck:hover,
.neues__stueck:focus-within { border-color: var(--nacht); }
.neues__innen {
  display: grid; grid-template-rows: auto 1fr;
  height: 100%;
  color: inherit; text-decoration: none;
}
.neues__bild {
  width: 100%; height: 9rem; object-fit: cover; display: block;
}
.neues__logos {
  display: flex; flex-wrap: wrap; align-items: center;
  gap: clamp(.75rem, 2vw, 1.25rem);
  height: 9rem; padding: 1rem clamp(1rem, 2vw, 1.4rem);
  background: var(--ak-sanft);
}
.neues__logos img {
  max-height: 2.4rem; max-width: 7rem;
  width: auto; height: auto; object-fit: contain;
}
.neues__text {
  display: grid; align-content: start; gap: .3rem;
  padding: clamp(1rem, 2vw, 1.4rem);
}
.neues__marke {
  font-size: .72rem; font-weight: 700;
  letter-spacing: .09em; text-transform: uppercase;
  color: var(--grau);
}
.neues__titel { font-size: 1.05rem; font-weight: 650; line-height: 1.25; }
.neues__dazu {
  font-size: .9rem; line-height: 1.5; color: var(--grau);
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
  overflow: hidden;
}
.neues__wann {
  margin-top: .2rem;
  font-size: .78rem; color: var(--grau);
  font-variant-numeric: tabular-nums;
}
@media (prefers-reduced-motion: reduce) {
  .neues__stueck { transition: none; }
}
.ohnetermin {
  display: grid; gap: .15rem .9rem;
  margin: clamp(.75rem, 1.5vw, 1.25rem) 0 0;
  padding: clamp(.9rem, 1.8vw, 1.2rem) clamp(1.1rem, 2vw, 1.5rem);
  background: var(--ak-sanft);
  border-radius: var(--radius);
}
.ohnetermin__marke {
  grid-column: 1 / -1;
  font-size: .72rem; font-weight: 700;
  letter-spacing: .09em; text-transform: uppercase;
  color: var(--ak);
}
.ohnetermin__frage { font-weight: 650; }
.ohnetermin__dazu  { color: var(--grau); }
@media (min-width: 44rem) {
  .ohnetermin {
    grid-template-columns: auto 1fr;
    align-items: baseline;
  }
}
.abschnitt__fuss {
  margin: clamp(1.6rem, 3.5vw, 2.5rem) 0 0;
  font-size: .82rem; color: var(--grau);
}
.abschnitt__fuss strong { color: var(--nacht); font-weight: 650; }
.neu .abschnitt__fuss { margin-top: clamp(1.6rem, 3.5vw, 2.5rem); }
.neu__markenzeile {
  display: flex; flex-wrap: wrap; align-items: center;
  gap: .55rem .9rem;
}
.neu__ort {
  font-size: .72rem; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase;
  color: var(--ak);
}
.kacheln .kachel--text {
  display: grid; align-content: end;
  min-height: clamp(16rem, 26vw, 22rem);
  background: var(--ak-sanft);
  box-shadow: 0 1px 2px rgb(0 0 0 / .05), 0 10px 26px -14px rgb(0 0 0 / .4);
}
@media (prefers-reduced-motion: no-preference) {
  [data-gewechselt] li,
  [data-kommt] {
    animation: karte-herein 1000ms cubic-bezier(.2, .7, .3, 1) both;
    animation-delay: calc(var(--platz, 0) * 45ms);
  }
}
@keyframes karte-herein {
  from { opacity: 0; transform: translateY(1.4rem) scale(.97); }
  60%  { opacity: 1; }
  to   { opacity: 1; transform: none; }
}
.flaggen {
  display: inline-flex; align-items: center;
  vertical-align: -.25em; margin-right: .45rem;
}
.flagge {
  position: relative;
  width: 1.2rem; height: 1.2rem; display: block;
  border-radius: 50%; object-fit: cover;
  box-shadow: 0 0 0 1.5px var(--tag), 0 0 0 2.5px rgb(0 0 0 / .1);
  transform-origin: center;
}
.flaggen .flagge + .flagge { margin-left: -.3rem; }
.flaggen .flagge                            { z-index: 4; }
.flaggen .flagge + .flagge                  { z-index: 3; }
.flaggen .flagge + .flagge + .flagge        { z-index: 2; }
.flaggen .flagge + .flagge + .flagge + .flagge { z-index: 1; }
.flaggen--gross .flagge { width: 1.9rem; height: 1.9rem; }
.flaggen--gross .flagge + .flagge { margin-left: -.45rem; }
@media (prefers-reduced-motion: no-preference) {
  .markenraster__link:hover .flagge,
  .markenraster__link:focus-visible .flagge,
  .marke__kopf:hover .flagge {
    animation: flagge-weht 1.6s ease-in-out infinite;
  }
  .markenraster__link:hover .flagge + .flagge,
  .markenraster__link:focus-visible .flagge + .flagge {
    margin-left: .15rem;
    transition: margin-left 260ms ease;
  }
}
@keyframes flagge-weht {
  0%, 100% { transform: rotate(0deg)  scale(1); }
  30%      { transform: rotate(-7deg) scale(1.06); }
  65%      { transform: rotate(5deg)  scale(1.06); }
}
.europa__land + .europa__land { margin-top: clamp(1.75rem, 4vw, 2.75rem); }
.europa__landname {
  display: flex; align-items: center; gap: .6rem;
  margin: 0 0 20px;
  font-size: 1.05rem; font-weight: 650;
}
.europa__marken {
  display: grid; gap: clamp(.75rem, 1.5vw, 1.1rem);
  grid-template-columns: repeat(auto-fill, minmax(min(17rem, 100%), 1fr));
  list-style: none; margin: 0; padding: 0;
}
.europa__marke {
  display: grid; grid-template-columns: 5rem minmax(0, 1fr); align-items: center; text-align: left;
  gap: .9rem; height: 100%;
  padding: .7rem .9rem;
  background: var(--tag);
  border: 1px solid var(--linie);
  border-radius: var(--radius);
  color: inherit; text-decoration: none;
  transition: border-color 200ms ease;
}
.europa__marke:hover,
.europa__marke:focus-visible { border-color: var(--nacht); }
.europa__logo { display: grid; place-items: center start; height: 2.4rem; }
.europa__marke img {
  width: 100%; max-width: 5rem; height: 2.4rem;
  object-fit: contain; object-position: left center;
}
.europa__name { font-size: .95rem; font-weight: 650; }
.europa__text { display: grid; gap: .15rem; min-width: 0; }
.europa__titel { font-weight: 650; line-height: 1.25; }
.europa__ort   { display: flex; align-items: center; gap: .4rem; font-size: .85rem; color: var(--grau); }
.europa__ort .flaggen { flex: none; display: inline-flex; }
.europa__ort .flagge { width: 1.15rem; height: 1.15rem; object-fit: cover; border-radius: 50%; }
@media (prefers-reduced-motion: reduce) {
  .europa__marke { transition: none; }
}
@media (prefers-reduced-motion: no-preference) {
  @view-transition { navigation: auto; }
  main { view-transition-name: inhalt; }
  ::view-transition-old(inhalt) {
    animation: seite-hinaus 340ms cubic-bezier(.4, 0, 1, 1) both;
  }
  ::view-transition-new(inhalt) {
    animation: seite-herein 560ms cubic-bezier(0, 0, .2, 1) both;
  }
  ::view-transition-old(root),
  ::view-transition-new(root) { animation: none; }
}
@keyframes seite-hinaus {
  to { opacity: 0; transform: translateY(-.6rem); }
}
@keyframes seite-herein {
  from { opacity: 0; transform: translateY(.9rem); }
}
.zeitstrahl { flex: 1 1 22rem; min-width: 0; }
.stufenleiste {
  display: flex; margin: 0; padding: 0;
  list-style: none;
  font-size: .88rem; color: var(--grau);
}
.stufenleiste li {
  position: relative; flex: 1 1 0; min-width: 0;
  display: grid; justify-items: center; gap: .45rem;
  text-align: center;
}
.stufenleiste li + li::before {
  content: ""; position: absolute;
  top: 1.2rem; right: 50%; left: -50%;
  margin: 0 1.6rem; height: 2px;
  background: var(--linie); border-radius: 2px;
}
.stufenleiste li[data-stand="jetzt"]::before,
.stufenleiste li[data-stand="fertig"]::before { background: var(--ak); }
.stufenleiste span {
  display: grid; place-items: center;
  width: 2.4rem; height: 2.4rem;
  border-radius: 50%;
  border: 2px solid var(--linie);
  background: var(--tag);
  font-size: .95rem; font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.stufenleiste li[data-stand="jetzt"]  { color: var(--nacht); font-weight: 650; }
.stufenleiste li[data-stand="jetzt"] span {
  background: var(--nacht); border-color: var(--nacht); color: #fff;
}
.stufenleiste li[data-stand="fertig"] span {
  background: var(--ak-sanft); border-color: var(--ak); color: var(--ak);
}
@media (max-width: 34rem) {
  .stufenleiste { font-size: .78rem; }
  .stufenleiste span { width: 2rem; height: 2rem; font-size: .85rem; }
  .stufenleiste li + li::before { top: 1rem; margin: 0 1.2rem; }
}
.wahlkacheln {
  display: grid; gap: .6rem;
  grid-template-columns: repeat(auto-fit, minmax(min(9rem, 100%), 1fr));
  max-width: 26rem;
}
.wahlkacheln.wahlkacheln--drei {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 40rem;
}
@media (max-width: 34rem) {
  .wahlkacheln.wahlkacheln--drei { grid-template-columns: 1fr; }
}
.wahlkacheln:has(.wahlkachel--breit) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: none;
}
@media (max-width: 56rem) {
  .wahlkacheln:has(.wahlkachel--breit) { grid-template-columns: 1fr; }
}
.wahlkachel {
  display: grid; justify-items: center; gap: .5rem;
  padding: .9rem .75rem;
  border: 1px solid var(--linie); border-radius: var(--radius);
  background: var(--tag); cursor: pointer;
  transition: border-color 160ms ease, background-color 160ms ease;
}
.wahlkachel--breit {
  grid-template-columns: auto 1fr;
  grid-template-areas: "bild titel" "bild dazu";
  justify-items: start; align-items: start;
  gap: .15rem .9rem;
  padding: 1rem 1.1rem;
  text-align: left;
}
.wahlkachel--breit .symbol {
  grid-area: bild; align-self: start; margin-top: .15rem;
  width: 1.8rem; height: 1.8rem; color: var(--grau);
}
.wahlkachel--breit .wahlkachel__text { grid-area: titel; font-size: 1rem; }
.wahlkachel--breit .wahlkachel__dazu {
  grid-area: dazu;
  font-size: .85rem; line-height: 1.4; color: var(--grau);
}
.wahlkachel--breit:has(input:checked) .symbol { color: var(--ak); }
.wahlkachel input { position: absolute; opacity: 0; pointer-events: none; }
.wahlkachel__bild {
  width: 4rem; height: 2rem;
  fill: none; stroke: var(--grau); stroke-width: 1.6;
  stroke-linecap: round;
}
.wahlkachel__leer { stroke-dasharray: 3 3; opacity: .45; }
.wahlkachel__text { font-size: .9rem; font-weight: 600; }
.wahlkachel:hover { border-color: var(--nacht); }
.wahlkachel:has(input:checked) {
  border-color: var(--nacht); background: var(--ak-sanft);
}
.wahlkachel:has(input:checked) .wahlkachel__bild { stroke: var(--nacht); }
.wahlkachel:has(input:focus-visible) {
  outline: 2px solid var(--ak); outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  .wahlkachel { transition: none; }
}
.gruende { columns: 2; column-gap: clamp(1.25rem, 3vw, 2.5rem); }
.gruende__gruppe {
  break-inside: avoid; -webkit-column-break-inside: avoid;
  margin: 0 0 1.1rem;
}
.gruende__titel {
  display: flex; align-items: center; gap: .45rem;
  margin: 0 0 .5rem; padding-bottom: .35rem;
  border-bottom: 1px solid var(--linie);
  font-size: .74rem; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--nacht);
}
.gruende__titel .symbol { width: 1.05rem; height: 1.05rem; color: var(--ak); }
.werkbank .symbol { flex: none; display: block; }
@media (max-width: 48rem) {
  .gruende { columns: 1; }
}
.merksatz {
  margin: 0 0 .9rem;
  padding: .7rem .9rem;
  border-left: 3px solid currentColor;
  border-radius: 0 var(--radius) var(--radius) 0;
  font-size: .88rem; line-height: 1.5;
}
.merksatz--warnung {
  color: #8c1c24;
  background: #fdf2f2;
}
.merksatz strong { font-weight: 700; }
.stufenkopf {
  display: grid; gap: .8rem;
  margin: 0 0 clamp(1.25rem, 3vw, 1.75rem);
  padding: 0 0 clamp(1rem, 2.5vw, 1.4rem);
  border-bottom: 1px solid var(--linie);
}
.stufenkopf__zeile {
  display: flex; flex-wrap: wrap; align-items: center;
  justify-content: space-between; gap: .75rem 1.5rem;
}
.stufenknoepfe {
  display: flex; flex-wrap: wrap; gap: .6rem;
  margin: 0;
}
.werkbank__titelzeile {
  display: flex; flex-wrap: wrap; align-items: baseline;
  justify-content: space-between; gap: .2rem 1.5rem;
  margin: 0 0 .35rem;
}
.werkbank__titelzeile > h1 { margin: 0; }
.werkbank__untertitel { margin: 0; text-align: right; }
@media (max-width: 40rem) {
  .werkbank__untertitel { text-align: left; }
}
.grundraster {
  display: grid; gap: clamp(1rem, 2.5vw, 1.75rem);
  grid-template-columns: minmax(0, 2.3fr) minmax(0, 1fr);
  align-items: start;
}
.grundraster__rand { display: grid; gap: .75rem; align-content: start; }
.grundraster__rand .merksatz { margin: 0; }
.grundraster__rand .anfrage__hinweis { margin: 0; }
@media (max-width: 62rem) {
  .grundraster { grid-template-columns: 1fr; }
  .grundraster__rand { order: -1; }
}
.gruende .anfrage__wahlzeile {
  padding: .45rem .55rem;
  border: 1px solid transparent;
  border-radius: var(--radius);
  transition: background-color 160ms ease, border-color 160ms ease;
}
.gruende .anfrage__wahlzeile:hover { background: var(--ak-sanft); }
.gruende .anfrage__wahlzeile:has(input:checked) {
  border-color: var(--ak);
  background: var(--ak-sanft);
  font-weight: 650;
}
.gruende .anfrage__wahlzeile:has(input:focus-visible) {
  outline: 2px solid var(--ak); outline-offset: 1px;
}
.wahlgruppe .anfrage__wahlzeile {
  padding: .45rem .55rem;
  border: 1px solid transparent;
  border-radius: var(--radius);
  transition: background-color 160ms ease, border-color 160ms ease;
}
.wahlgruppe .anfrage__wahlzeile:has(input:checked) {
  border-color: var(--ak);
  background: var(--tag);
  font-weight: 650;
}
@media (prefers-reduced-motion: reduce) {
  .gruende .anfrage__wahlzeile,
  .wahlgruppe .anfrage__wahlzeile { transition: none; }
}
.gruende__zuruecksetzen { margin: .9rem 0 0; }
.knopfzeile {
  display: inline-flex; align-items: center; gap: .35rem;
  min-height: 1.75rem; padding: .2rem 0;
  background: none; border: 0; cursor: pointer;
  font: inherit; font-size: .84rem; color: var(--grau);
  text-decoration: underline; text-underline-offset: .2em;
}
.knopfzeile:hover,
.knopfzeile:focus-visible { color: var(--nacht); }
.knopf--pocht { position: relative; isolation: isolate; }
.knopf--pocht::after {
  content: ""; position: absolute; inset: 0;
  border-radius: inherit; pointer-events: none;
  box-shadow: 0 0 0 0 color-mix(in srgb, var(--ak) 55%, transparent);
}
@media (prefers-reduced-motion: no-preference) {
  .knopf--pocht::after { animation: knopf-pocht 2s ease-out infinite; }
}
@keyframes knopf-pocht {
  0%      { box-shadow: 0 0 0 0 color-mix(in srgb, var(--ak) 55%, transparent); }
  55%     { box-shadow: 0 0 0 .55rem color-mix(in srgb, var(--ak) 0%, transparent); }
  100%    { box-shadow: 0 0 0 0 color-mix(in srgb, var(--ak) 0%, transparent); }
}
.ortwahl__orten {
  margin-top: .3rem;
}
.ortwahl__orten button {
  display: flex; align-items: center; gap: .5rem;
  width: 100%;
  padding: .55rem .8rem;
  border: 0; background: none;
  font: inherit; color: rgb(255 255 255 / .62);
  text-align: start; cursor: pointer;
  border-radius: var(--r-klein, .4rem);
}
.ortwahl__orten button:hover,
.ortwahl__orten button:focus-visible {
  background: color-mix(in srgb, var(--ak-hell) 20%, transparent);
  color: #fff;
}
.ortwahl__orten button[disabled] { cursor: default; opacity: .7; }
.ortwahl__nadel { display: inline-flex; flex: none; }
.ortwahl__stand {
  display: block;
  padding: 0 .8rem .45rem;
  font-size: .82rem; color: rgb(255 255 255 / .62);
}
.wartungsseite { margin: 0; background: var(--nacht); color: #fff; font-family: var(--schrift); }
.wartung__buehne { position: fixed; inset: 0; z-index: 0; pointer-events: none; }
.wartung__buehne .held__bilder { z-index: 0; }
.wartung__buehne::after {
  content: ""; position: absolute; inset: 0;
  background: rgb(16 17 20 / .85);
}
@media (min-width: 75rem) {
  .wartung__buehne::after {
    background:
      linear-gradient(90deg, var(--nacht) 0%, rgb(16 17 20 / .92) 35%, rgb(16 17 20 / .86) 66%,
        rgb(16 17 20 / .5) 85%, rgb(16 17 20 / .35) 100%),
      linear-gradient(to top, rgb(16 17 20 / .85) 0%, transparent 45%);
  }
}
.wartung {
  position: relative; z-index: 1;
  max-width: 64rem; margin: 0 auto;
  padding: var(--raum-6) var(--raum-4) var(--raum-5);
  display: grid; gap: var(--raum-5);
}
.wartung .wartung__kopf { max-width: 38rem; }
.wartung .wartung__logo { width: 11rem; height: auto; margin-bottom: var(--raum-4); }
.wartung .wartung__marke {
  margin: 0 0 var(--raum-2);
  font-size: .75rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
  color: var(--ak-hell);
}
.wartung .wartung__titel {
  margin: 0 0 var(--raum-3);
  font-family: var(--schrift-titel); font-weight: 400;
  font-size: clamp(1.9rem, 3vw + 1rem, 2.8rem); line-height: 1.1;
  text-wrap: balance; color: #fff;
}
.wartung .wartung__text { margin: 0; font-size: var(--text-l); line-height: 1.55; color: rgb(255 255 255 / .82); }
.wartung .wartung__filialen {
  display: grid; gap: var(--raum-3);
  grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
}
.wartung .wartung__filiale {
  background: rgb(20 22 26 / .86);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  border: 1px solid rgb(255 255 255 / .12); border-radius: 1rem;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .1), 0 18px 40px -20px rgb(0 0 0 / .8);
  padding: var(--raum-4); color: #fff;
}
.wartung .wartung__filiale h2 { margin: 0 0 var(--raum-2); font-family: var(--schrift-titel); font-weight: 400; font-size: 1.5rem; color: #fff; }
.wartung .wartung__adresse { margin: 0 0 var(--raum-3); line-height: 1.5; color: rgb(255 255 255 / .74); }
.wartung .wartung__wege { display: flex; flex-wrap: wrap; gap: var(--raum-2); margin: 0 0 var(--raum-4); }
.wartung .knopf--sekundaer { color: var(--ak-hell); border-color: rgb(255 255 255 / .28); }
.wartung .knopf--sekundaer:hover { background: rgb(255 255 255 / .08); border-color: var(--ak-hell); }
.wartung .knopf--primaer:hover { background: #fff; border-color: #fff; color: var(--nacht); }
.wartung .oeffnungszeiten th,
.wartung .oeffnungszeiten td { color: #fff; border-bottom-color: rgb(255 255 255 / .12); }
.wartung .oeffnungszeiten .ist-heute { background: rgb(255 255 255 / .08); }
.wartung .oeffnungszeiten caption,
.wartung :is(.zeiten__naechste, .zeiten__grund) { color: rgb(255 255 255 / .74); }
.wartung .zeiten summary { color: #fff; }
.wartung .wartung__fuss { font-size: var(--text-s); color: rgb(255 255 255 / .74); }
.wartung .wartung__fuss a { color: inherit; }
.wartung-streifen {
  position: fixed; right: 1rem; bottom: 1rem; z-index: 90;
  max-width: min(26rem, calc(100vw - 2rem));
  margin: 0; padding: .7rem 1rem;
  background: var(--nacht); color: #fff;
  border-radius: .8rem; box-shadow: 0 12px 30px -10px rgb(0 0 0 / .5);
  font-size: .8125rem; line-height: 1.45;
}
.wartung-streifen a { color: #fff; font-weight: 600; margin-left: .35rem; }
@media (max-width: 48rem) {
  .wartung-streifen { bottom: calc(56px + env(safe-area-inset-bottom, 0px) + .75rem); }
}
@media print { .wartung-streifen { display: none; } }
.termin-einbettung--ohne .termin-einbettung__wege { align-items: center; }
.termin-einbettung__ort { min-width: 4.5rem; }
.zeissmarke { display: block; height: auto; }
.seitenkopf__zeiss {
  position: absolute; z-index: 3;
  width: clamp(2.75rem, 4vw, 3.75rem);
  top: calc(var(--leisten-gesamt, 7rem) + clamp(1rem, 3vh, 2rem));
  right: max(var(--takt), calc((100% - var(--breite)) / 2 + var(--takt)));
}
.zeissmarke--abschnitt { width: clamp(2.5rem, 3.4vw, 3.25rem); }
@media (max-width: 61.99rem) {
  .zeissmarke--abschnitt { float: right; margin: 0 0 .75rem 1rem; }
}
@media (min-width: 62rem) {
  .textblock.textblock--zeiss { grid-template-columns: minmax(0, 17rem) minmax(0, 1fr) auto; }
  .textblock--zeiss > .zeissmarke--abschnitt {
    grid-column: 3; grid-row: 1;
    justify-self: end; align-self: start;
    position: sticky;
    top: calc(var(--leisten-gesamt, 7rem) + 1.5rem);
  }
}
.mega__symbol:has(.mega__zeiss) { background: none; border-color: transparent; }
.mega__zeiss { width: 2.1rem; height: 2.1rem; border-radius: 3px; }
@media (min-width: 80rem) {
  .textblock.textblock--motiv.textblock--zeiss { grid-template-columns: minmax(0, 17rem) minmax(0, 28rem) minmax(0, 1fr); }
}
@media (min-width: 90rem) {
  .textblock.textblock--motiv.textblock--zeiss { grid-template-columns: minmax(0, 17rem) minmax(0, 36rem) minmax(0, 1fr); }
}
.markenfenster {
  width: min(58rem, 94vw); max-height: 90vh; padding: 0; margin: auto;
  border: 0; border-radius: 0; background: var(--tag); color: var(--nacht);
  box-shadow: 0 30px 80px -20px rgb(0 0 0 / .55);
}
.markenfenster::backdrop { background: rgb(16 17 20 / .72); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.markenfenster[open] { display: block; }
.markenfenster__rahmen { max-height: 90vh; overflow-y: auto; }
.markenfenster__zu {
  position: absolute; top: .75rem; right: .75rem; z-index: 3;
  width: 2.75rem; height: 2.75rem; display: grid; place-items: center;
  border: 1px solid var(--linie); background: var(--tag); color: var(--nacht);
  font-size: 1rem; cursor: pointer;
}
.markenfenster__zu:hover { background: var(--ak-sanft); border-color: var(--ak); }
.markenfenster__bild { aspect-ratio: 16 / 6; max-height: 50vh; width: 100%; overflow: hidden; background: var(--nacht); }
.markenfenster__bild img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; display: block; }
.markenfenster__kopf { display: flex; align-items: center; gap: 1.5rem; padding: 1.75rem 2rem 0; }
.markenfenster--mit-bild .markenfenster__kopf { align-items: center; }
.markenfenster__logo {
  width: 10rem; aspect-ratio: 2 / 1; flex: none;
  display: grid; place-items: center; padding: .75rem;
  background: #fff; border: 1px solid var(--linie);
}
.markenfenster--mit-bild .markenfenster__logo { box-shadow: 0 10px 30px -12px rgb(0 0 0 / .5); }
.markenfenster__logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.markenfenster__titel { margin: 0; font-size: clamp(1.5rem, 3vw, 2.25rem); line-height: 1.1; }
.markenfenster__herkunft { margin: .4rem 0 0; display: flex; align-items: center; gap: .5rem; color: var(--farbe-text-leise, #5b5b5b); font-size: .95rem; }
.markenfenster { overflow: hidden; }
.markenfenster__anriss { margin: 0; padding: 1rem 2rem 0; font-size: 1.05rem; color: var(--farbe-text-leise, #5b5b5b); max-width: 44em; }
.markenfenster__raster { display: grid; grid-template-columns: minmax(0, 17rem) minmax(0, 1fr); gap: 2.25rem; align-items: start; padding: 1.5rem 2rem 2.25rem; }
.markenfenster__daten { margin: 0; display: grid; gap: 1rem; }
.markenfenster__daten > div { display: grid; gap: .35rem; }
.markenfenster__daten dt { margin: 0; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--farbe-text-leise, #6b6b6b); }
.markenfenster__daten dd { margin: 0; }
.preisklasse__zeichen { font-weight: 650; letter-spacing: .12em; color: var(--ak); }
.preisklasse__rest { color: var(--linie); }
.markenfenster__chips { display: flex; flex-wrap: wrap; gap: .35rem; }
.markenfenster__text .fliesstext > :first-child { margin-top: 0; }
.markenfenster__spalte { min-width: 0; display: grid; align-content: start; gap: .5rem; }
@media (min-width: 48.01rem) {
  .markenfenster__text {
    max-height: max(7.5rem, 15vh); overflow-y: auto; padding-right: .75rem; scrollbar-gutter: stable;
    scrollbar-width: thin; scrollbar-color: var(--ak) var(--linie);
  }
  .markenfenster__text::-webkit-scrollbar { width: 6px; }
  .markenfenster__text::-webkit-scrollbar-track { background: var(--linie); border-radius: 3px; }
  .markenfenster__text::-webkit-scrollbar-thumb { background: var(--ak); border-radius: 3px; }
  .markenfenster__text.hat-mehr {
    -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 2.5rem), transparent);
    mask-image: linear-gradient(to bottom, #000 calc(100% - 2.5rem), transparent);
  }
  .markenfenster__weiter {
    justify-self: start; display: inline-flex; align-items: center; gap: .35rem;
    min-height: 2.75rem; padding: 0; border: 0; background: none; cursor: pointer;
    font: inherit; font-size: .9rem; font-weight: 500; color: var(--ak);
  }
  .markenfenster__weiter:hover { text-decoration: underline; }
}
@media (max-width: 48rem) { .markenfenster__weiter { display: none !important; } }
.markenfenster__fuss {
  display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap;
  margin: 0 2rem; padding: 1.25rem 0 2rem; border-top: 1px solid var(--linie);
}
.markenfenster__fuss .taste { white-space: nowrap; }
.markenfenster__fuss-links { display: flex; gap: .6rem; }
.markenfenster__fuss > .taste:last-child { margin-left: auto; }
.markenfenster__fuss { position: sticky; bottom: 0; z-index: 2; background: var(--tag); }
.markenraster__link--still { cursor: default; }
.markenraster__link--still:hover { transform: none; box-shadow: none; }
@media (max-width: 48rem) {
  .markenfenster {
    width: 100vw; max-width: none; height: 100vh; height: 100dvh; max-height: none;
    margin: 0; inset: 0;
  }
  .markenfenster > [data-markenfenster-inhalt] { height: 100%; }
  .markenfenster__rahmen { height: 100%; max-height: none; overflow-y: auto; display: flex; flex-direction: column; }
  .markenfenster__raster { flex: 1 0 auto; }
  .markenfenster__fuss {
    position: sticky; bottom: 0; background: var(--tag);
    padding-bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
  }
  .markenfenster__fuss { flex-wrap: nowrap; gap: .5rem; }
  .markenfenster__fuss .taste { font-size: .85rem; padding: .55rem .85rem; min-height: 2.75rem; }
  .markenfenster__kopf { padding: 1.25rem 4rem 0 1.25rem; gap: 1rem; }
  .markenfenster__titel { font-size: clamp(1.35rem, 6.5vw, 1.75rem); overflow-wrap: anywhere; }
  .markenfenster__logo { width: 7rem; }
  .markenfenster__raster { grid-template-columns: 1fr; gap: 1.5rem; padding: 1.25rem 1.25rem 2rem; }
  .markenfenster__anriss { padding: 1rem 1.25rem 0; }
  .markenfenster__fuss { margin: 0 1.25rem; padding-bottom: 1.5rem; }
}
.seite--paket .textblock--freisteller > .textblock__freisteller { grid-column: auto; }
.wartung .wartung__rechtstext {
  background: #fff; color: var(--nacht);
  border-radius: 1rem; padding: clamp(1.25rem, 4vw, 3rem);
}
.wartung .wartung__rechtstext .fliesstext { max-width: 44rem; }
.wartung--recht .wartung__titel { margin-bottom: 0; }
.blick__innen {
  display: grid; gap: clamp(2rem, 5vw, 4.5rem); align-items: center;
  grid-template-columns: minmax(0, 22rem) minmax(0, 1fr);
}
.blick__innen--ohne-video { grid-template-columns: minmax(0, 1fr); }
.blick__video { margin: 0; }
.blick__video video {
  display: block; width: 100%; height: auto; max-height: 82vh; aspect-ratio: 9 / 16;
  object-fit: cover; border-radius: 1.25rem; background: #000;
  box-shadow: 0 1.5rem 3rem rgb(0 0 0 / .45);
}
.blick__zahlen { list-style: none; margin: 0; padding: 0; display: grid; gap: clamp(1.6rem, 3.5vw, 2.6rem); }
.blickzahl { display: grid; gap: .35rem; }
.blickzahl__wert {
  font-family: "Space Grotesk", var(--schrift-text); font-weight: 700; line-height: 1;
  font-size: clamp(2.6rem, 6.2vw, 5rem); letter-spacing: -.01em;
  color: var(--ak-hell); font-variant-numeric: tabular-nums;
}
.blickzahl__text { font-size: clamp(1rem, 1.4vw, 1.2rem); color: rgb(255 255 255 / .78); max-width: 32ch; }
.blickzahl__wert:not([data-zahl]) { font-size: clamp(2rem, 4.2vw, 3.4rem); line-height: 1.05; }
.blickzahl--wartet { opacity: 0; transform: translateY(1.25rem); }
.blickzahl--da {
  opacity: 1; transform: none;
  transition: opacity .7s ease, transform .7s cubic-bezier(.2, .7, .2, 1);
  transition-delay: calc(var(--blickzahl-i, 0) * .18s);
}
@media (max-width: 48rem) {
  .blick__innen { grid-template-columns: minmax(0, 1fr); }
  .blick__zahlen { order: -1; }
  .blick__video { max-width: 20rem; margin-inline: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .blickzahl--wartet { opacity: 1; transform: none; }
}
.fliesstext .punkt[data-symbol] { grid-template-columns: 2rem minmax(0, 1fr); column-gap: .75rem; }
.fliesstext .punkt[data-symbol]::before {
  content: ""; width: 1.75rem; height: 1.75rem; align-self: start; margin-top: .05rem;
  background: currentColor;
  -webkit-mask: var(--symbol) center / contain no-repeat;
          mask: var(--symbol) center / contain no-repeat;
}
.fliesstext .punkt[data-symbol="prozent"] { --symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 5 5 19'/%3E%3Ccircle cx='7' cy='7' r='2.5'/%3E%3Ccircle cx='17' cy='17' r='2.5'/%3E%3C/svg%3E"); }
.fliesstext .punkt[data-symbol="kalender"] { --symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E"); }
.fliesstext .punkt[data-symbol="schild"] { --symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 4 6v6c0 4.5 3.4 8 8 9 4.6-1 8-4.5 8-9V6z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
.fliesstext .punkt[data-symbol="haken"] { --symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12 3 3 5-6'/%3E%3C/svg%3E"); }
.fliesstext .punkt[data-symbol="uhr"] { --symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.bereichskarte__flaeche {
  position: relative; overflow: hidden; border-radius: 1.5rem;
  min-height: clamp(22rem, 58vh, 36rem); display: grid; align-items: end;
  background:
    linear-gradient(90deg, rgb(16 17 20 / .92) 0%, rgb(16 17 20 / .78) 42%, rgb(16 17 20 / .18) 78%),
    var(--karte-bild, none) center 35% / cover no-repeat,
    var(--nacht);
  color: #fff;
}
.bereichskarte__text { padding: clamp(2rem, 5vw, 4.5rem); max-width: 40rem; display: grid; gap: 1rem; }
.bereichskarte__ueber { margin: 0; color: var(--ak-hell); }
.bereichskarte__titel {
  margin: 0; color: #fff; text-wrap: balance;
  font-size: clamp(1.9rem, 4.2vw, 3.4rem); line-height: 1.08;
}
.bereichskarte__satz { margin: 0; font-size: clamp(1.05rem, 1.6vw, 1.3rem); color: rgb(255 255 255 / .88); max-width: 34ch; }
.bereichskarte__weg { margin: .75rem 0 0; }
@media (max-width: 48rem) {
  .bereichskarte__flaeche {
    background:
      linear-gradient(0deg, rgb(16 17 20 / .94) 0%, rgb(16 17 20 / .8) 55%, rgb(16 17 20 / .25) 100%),
      var(--karte-bild, none) center 30% / cover no-repeat,
      var(--nacht);
  }
}
.kampagne { background: var(--nacht); }
.kampagne__buehne { position: relative; min-height: calc(100svh - var(--leisten-gesamt, 5rem)); display: grid; align-items: center; overflow: hidden; color: #fff; }
.kampagne__bild { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% 35%; }
.kampagne__buehne::before {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg, rgb(16 17 20 / .9) 0%, rgb(16 17 20 / .72) 45%, rgb(16 17 20 / .1) 85%);
}
.kampagne__inhalt { position: relative; z-index: 2; padding: clamp(2rem, 6vw, 6rem); max-width: 54rem; display: grid; gap: clamp(1.1rem, 2.4vh, 1.8rem); }
.kampagne__titel { margin: 0; color: #fff; font-size: clamp(2.6rem, 6vw, 5.4rem); line-height: 1.02; text-wrap: balance; }
.kampagne__satz { margin: 0; font-size: clamp(1.05rem, 1.6vw, 1.35rem); color: rgb(255 255 255 / .86); }
.kampagne__filialen { list-style: none; margin: .75rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; }
.kampagne__filiale {
  display: grid; gap: .25rem; height: 100%; padding: 1.1rem 1.25rem; border-radius: 1rem;
  background: rgb(255 255 255 / .08); border: 1px solid rgb(255 255 255 / .22);
  color: #fff; text-decoration: none; backdrop-filter: blur(6px);
  transition: background-color .2s, border-color .2s, transform .2s;
}
.kampagne__filiale:hover, .kampagne__filiale:focus-visible { background: var(--ak-hell); border-color: var(--ak-hell); color: var(--nacht); transform: translateY(-2px); }
.kampagne__filiale:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.kampagne__filiale .wappen { width: 3rem; height: auto; margin-bottom: .35rem; }
.kampagne__ort { font-family: var(--schrift-titel); font-size: clamp(1.4rem, 2.2vw, 1.9rem); line-height: 1.1; }
.kampagne__adresse { font-size: .9rem; opacity: .8; }
.kampagne__los { margin-top: .5rem; font-weight: 650; font-size: .95rem; }
.kampagne__karte {
  display: grid; align-content: start; border-radius: 1rem;
  background: rgb(255 255 255 / .08); border: 1px solid rgb(255 255 255 / .22); backdrop-filter: blur(6px);
  transition: border-color .2s;
}
.kampagne__karte:hover { border-color: var(--ak-hell); }
.kampagne__karte .kampagne__filiale { background: none; border: 0; backdrop-filter: none; height: auto; border-radius: 1rem 1rem 0 0; }
.kampagne__karte .kampagne__filiale:hover, .kampagne__karte .kampagne__filiale:focus-visible { background: rgb(255 255 255 / .06); color: #fff; transform: none; }
.kampagne__karte .kampagne__filiale:hover .kampagne__los { color: var(--ak-hell); }
.kampagne__gruppen { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0 1.25rem 1.1rem; }
.kampagne__gruppe {
  display: inline-flex; align-items: center; gap: .45rem; min-height: 2.75rem; padding: 0 .95rem; border-radius: 999px;
  border: 1px solid rgb(255 255 255 / .35); color: #fff; text-decoration: none; font-size: .88rem; font-weight: 650; white-space: nowrap;
  transition: background-color .2s, color .2s, border-color .2s;
}
.kampagne__gruppe:hover, .kampagne__gruppe:focus-visible { background: var(--ak-hell); border-color: var(--ak-hell); color: var(--nacht); }
.kampagne__gruppe:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.kampagne__gruppensymbol {
  width: 1.15rem; height: 1.15rem; flex: none; background: currentColor;
  -webkit-mask: var(--icon) center / contain no-repeat; mask: var(--icon) center / contain no-repeat;
}
@media (max-width: 48rem) {
  .kampagne__buehne { align-items: end; }
  .kampagne__buehne::before { background: linear-gradient(0deg, rgb(16 17 20 / .94) 0%, rgb(16 17 20 / .75) 55%, rgb(16 17 20 / .15) 100%); }
  .kampagne__filialen { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .kampagne__filiale { transition: none; } }
@media (min-width: 64rem) {
  .neu--start .abschnitt .kacheln { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.textblock__seite { margin-top: 2rem; min-width: 0; } 
.textblock__seite .personen--schmal { grid-template-columns: repeat(auto-fill, minmax(min(9rem, 100%), 1fr)); }
@media (min-width: 62rem) {
  .textblock--seitenspalte > .textblock__seite { grid-column: 2; }
}
@media (min-width: 80rem) {
  .textblock--seitenspalte { grid-template-columns: minmax(0, 17rem) minmax(0, 1fr) minmax(0, 19rem); }
  .textblock--motiv.textblock--seitenspalte { grid-template-columns: minmax(0, 17rem) minmax(0, 28rem) minmax(0, 19rem); }
  .textblock--seitenspalte > .textblock__seite { grid-column: 3; grid-row: 1 / span 4; margin-top: 0; align-self: start; }
  .textblock--freisteller.textblock--seitenspalte > .textblock__seite { grid-row: auto; }
  .textblock--seitenspalte .personen--schmal { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .textblock--motiv.textblock--seitenspalte::before { inset: 0 0 0 74%; }
  .textblock--motiv.textblock--seitenspalte:not(.textblock--dunkel) {
    padding-bottom: calc(clamp(4rem, 9vw, 7rem) + 24rem);
  }
  .textblock--motiv.textblock--seitenspalte:not(.textblock--dunkel)::before {
    inset: auto 0 0 0; height: 30rem;
    background-position: center 45%;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 35%);
    mask-image: linear-gradient(to bottom, transparent 0%, #000 35%);
  }
  .textblock--motiv.textblock--seitenspalte.textblock--bild::after {
    background: linear-gradient(90deg,
      rgb(16 17 20) 0%, rgb(16 17 20) 72%, rgb(16 17 20 / .6) 80%,
      rgb(16 17 20 / .15) 90%, rgb(16 17 20 / 0) 96%);
  }
}
.textblock__seite .personen { list-style: none; margin: 0; padding: 0; align-items: start; }
.textblock__seite .personen > li { margin: 0; padding: 0; }
.textblock__seite .personen > li::before, .textblock__seite .personen > li::marker { content: none; }
.textblock__seite :is(.ansprechpartner__titel, .person h4, .person p) { margin: 0; }
.textblock__seite .person h4 { font-size: 1rem; font-weight: 650; line-height: 1.25; }
.textblock__seite .person__funktion { font-size: .85rem; line-height: 1.4; color: var(--grau); }
.person__ausbildung summary { cursor: pointer; list-style: none; display: grid; gap: .1rem; }
.person__ausbildung summary::-webkit-details-marker { display: none; }
.person__ausbildung .person__mehr { font-size: .78rem; font-weight: 600; color: var(--ak); }
.person__ausbildung .person__mehr::after { content: " ▾"; }
.person__ausbildung[open] .person__mehr::after { content: " ▴"; }
.person__ausbildung > p { margin: .25rem 0 0; }
.vorschau-hinweis {
  position: fixed; left: 1rem; bottom: 1rem; z-index: 2147482000;
  max-width: min(30rem, calc(100vw - 2rem));
  margin: 0; padding: .6rem .9rem;
  font-size: .85rem; line-height: 1.4;
  background: var(--nacht, #101114); color: #fff;
  border-left: 3px solid var(--ak-hell, #e6bb84);
  border-radius: .4rem;
  box-shadow: 0 6px 20px rgb(0 0 0 / .3);
}
.vorschau-hinweis a { color: var(--ak-hell, #e6bb84); font-weight: 600; }
@media print { .vorschau-hinweis { display: none !important; } }
.filterschublade { display: contents; }
.filterschublade__gruppen { display: contents; }
.filterknopf {
  display: inline-flex; align-items: center; gap: .45rem;
  align-self: flex-end;
  padding: .5rem 1rem;
  font: inherit; font-size: .85rem; font-weight: 600;
  color: var(--farbe-text); background: var(--tag);
  border: 1px solid var(--farbe-rahmen); border-radius: 999px;
  cursor: pointer;
  transition: border-color 160ms ease;
}
.filterknopf[hidden] { display: none; }
.filterknopf:hover { border-color: var(--nacht); }
.filterknopf:focus-visible { outline: 2px solid var(--fokus); outline-offset: 2px; }
.filterknopf__zeichen { width: 1.05rem; height: 1.05rem; }
.filterknopf__zahl {
  display: inline-grid; place-items: center;
  min-width: 1.35rem; height: 1.35rem; padding: 0 .3rem;
  border-radius: 999px; background: var(--nacht); color: #fff;
  font-size: .72rem; font-variant-numeric: tabular-nums;
}
.filterknopf__zahl[hidden] { display: none; }
.filtertafel {
  margin: 0 0 0 auto; padding: 0; border: 0;
  width: min(27rem, 100vw); max-width: 100vw;
  height: 100dvh; max-height: 100dvh;
  background: var(--tag); color: var(--farbe-text);
  box-shadow: -12px 0 40px rgb(16 17 20 / .25);
}
.filtertafel::backdrop { background: rgb(16 17 20 / .4); }
.filtertafel[open] { animation: filtertafel-auf 260ms cubic-bezier(.22,.61,.36,1); }
@keyframes filtertafel-auf { from { translate: 100% 0; } to { translate: 0 0; } }
@media (prefers-reduced-motion: reduce) { .filtertafel[open] { animation: none; } }
.filterschublade--tafel {
  display: flex; flex-direction: column;
  min-height: 100%;
}
.filterschublade--tafel .filterschublade__gruppen {
  display: grid; gap: 1.25rem; align-content: start;
  padding: 1rem 1.25rem 1.5rem; flex: 1;
}
.filterschublade__kopf {
  display: flex; align-items: center; justify-content: space-between;
  padding: 1rem 1.25rem; border-bottom: 1px solid var(--linie);
  position: sticky; top: 0; background: var(--tag); z-index: 1;
}
.filterschublade__kopf[hidden], .filterschublade__fuss[hidden] { display: none; }
.filterschublade__titel { margin: 0; font-weight: 650; font-size: 1.1rem; }
.filterschublade__zu {
  width: 2.5rem; height: 2.5rem; display: grid; place-items: center;
  border: 1px solid var(--farbe-rahmen); border-radius: 999px;
  background: transparent; color: var(--farbe-text); cursor: pointer; font-size: 1rem;
}
.filterschublade__zu:focus-visible { outline: 2px solid var(--fokus); outline-offset: 2px; }
.filterschublade__fuss {
  position: sticky; bottom: 0;
  padding: 1rem 1.25rem 1.25rem; background: var(--tag);
  border-top: 1px solid var(--linie);
}
.filterschublade__fertig { width: 100%; justify-content: center; }
.filterschublade--tafel .pillen { padding: .15rem; }
.filterschublade--tafel .pillen a {
  white-space: normal; hyphens: auto;
  padding: .45rem .4rem; font-size: .8rem; line-height: 1.25;
}
.filterschublade--tafel .pillen::before {
  top: .15rem; bottom: .15rem; left: .15rem;
  width: calc((100% - .3rem) / var(--anzahl, 1));
}
.filterschublade--tafel .markenfilter__feld,
.filterschublade--tafel .pillwahl { width: 100%; }
.filterschublade--tafel .teamfilter__etikett { flex: 0 0 100%; margin-bottom: .2rem; }
.teamfilter { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.teamfilter > *:not(.filterknopf):not(:first-child) { grid-column: 1 / -1; }
.teamfilter > .filterknopf { align-self: center; }
.bereichsmarken { display: grid; gap: 1.5rem; margin-top: 1.75rem; max-width: none; }
.bereichsmarken__ueberschrift .bereichsmarken__zahl {
  display: block; margin-bottom: .1em;
  font-size: 1.9em; line-height: .9; letter-spacing: -.02em;
  color: var(--ak);            
  font-variant-numeric: tabular-nums;
}
.fliesstext .bereichsmarken__mehr { margin: .25rem 0 0; }
.bereichsmarken__liste {
  display: grid; gap: 1.25rem;
  grid-template-columns: repeat(auto-fill, minmax(min(10rem, 100%), 1fr));
  list-style: none; margin: 0; padding: 0;
}
.fliesstext .bereichsmarken__liste > li { margin: 0; padding: 0; }
.fliesstext .bereichsmarken__liste > li::before { content: none; }
.bereichsmarken__marke {
  position: relative; overflow: hidden;
  display: grid; grid-template-rows: 1fr auto; justify-items: center; gap: .75rem;
  height: 100%; padding: 1.4rem 1.25rem 1.1rem;
  background: #fff; border: 1px solid var(--linie);
  box-shadow: 0 1px 2px rgb(16 17 20 / .04);
  color: var(--nacht); text-decoration: none;
  transition: border-color 250ms ease, box-shadow 250ms ease, transform 250ms ease;
}
.bereichsmarken__marke::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px;
  background: var(--gold-verlauf, var(--ak));
  transform: scaleX(0); transform-origin: left; transition: transform 350ms ease;
}
.bereichsmarken__marke:hover,
.bereichsmarken__marke:focus-visible {
  border-color: var(--ak); transform: translateY(-4px);
  box-shadow: 0 14px 30px -14px rgb(16 17 20 / .35);
}
.bereichsmarken__marke:hover::after,
.bereichsmarken__marke:focus-visible::after { transform: scaleX(1); }
.bereichsmarken__logo { display: grid; place-items: center; width: 100%; min-height: 3.6rem; }
.bereichsmarken__marke img {
  width: 100%; height: 3.4rem; object-fit: contain;
  transition: transform 350ms ease;
}
.bereichsmarken__marke:hover img,
.bereichsmarken__marke:focus-visible img { transform: scale(1.06); }
.bereichsmarken__ersatz { font-weight: 650; font-size: 1.05rem; text-align: center; }
.bereichsmarken__name {
  font-size: .72rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
  color: #5c5d61;              
  text-align: center;
}
@media (prefers-reduced-motion: reduce) {
  .bereichsmarken__marke, .bereichsmarken__marke::after, .bereichsmarken__marke img { transition: none; }
  .bereichsmarken__marke:hover, .bereichsmarken__marke:focus-visible { transform: none; }
  .bereichsmarken__marke:hover img, .bereichsmarken__marke:focus-visible img { transform: none; }
}
:is(.textblock--dunkel, .band--nacht, .nachtband) .bereichsmarken__ueberschrift .bereichsmarken__zahl { color: var(--ak-hell); }
.mit-symbol { display: flex; align-items: center; gap: .7rem; }
.abschnittssymbol {
  flex: none; box-sizing: content-box; width: 1.35rem; height: 1.35rem; padding: .55rem;
  border-radius: 50%; background: var(--ak-sanft); color: var(--ak);
}
h3.mit-symbol .abschnittssymbol { width: 1.05rem; height: 1.05rem; padding: .45rem; }
:is(.textblock--dunkel, .band--nacht, .nachtband) .abschnittssymbol { background: rgb(255 255 255 / .08); color: var(--ak-hell); }
.blogbeitrag { max-width: 52rem; margin-inline: auto; }
.blogbeitrag__bild { margin: 0 0 1.75rem; border-radius: 18px; overflow: hidden; background: var(--linie); }
.blogbeitrag__bild img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.blogbeitrag__einleitung { margin: 0 0 1.5rem; font-size: clamp(1.1rem, 1.6vw, 1.3rem); line-height: 1.55; font-weight: 500; }
.blogbeitrag .fliesstext { max-width: none; }
.blogkopf { background: none; }
.blogkopf__innen { max-width: 60rem; margin-inline: auto; padding-inline: clamp(1rem, 4vw, 2rem); }
.blogbeitrag__bild--titel { position: relative; margin: 1.25rem 0 0; }   
.blogbeitrag__bild--titel::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgb(16 17 20 / 0) 40%, rgb(16 17 20 / .8)); pointer-events: none; }
.blogbeitrag__titelzeile { position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; padding: clamp(1rem, 3vw, 2rem); color: #fff; }
.blogbeitrag__datum { display: block; margin-bottom: .4rem; font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; color: #fff; }
.blogbeitrag__titel { margin: 0; font-size: clamp(1.6rem, 3.6vw, 2.8rem); line-height: 1.1; color: #fff; text-wrap: balance; }
.wahlreihe { display: flex; flex-wrap: wrap; gap: .5rem 2rem; }
.wahlkachel[hidden], .anfrage__felder[hidden], .anfrage__feld[hidden] { display: none !important; }
.standort__weg p { margin: 0 0 .9em; }
.standort__weg p:last-child { margin-bottom: 0; }
.standort__weg strong {
  display: inline-block; margin-bottom: .15em;
  font-size: .78em; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  color: var(--farbe-text-leise);
}
.standort__weg + h3 { margin-top: 1.4em; }
.person-fenster {
  width: min(56rem, calc(100vw - 2rem)); max-width: none;
  max-height: calc(100svh - 2rem);
  margin: auto; padding: 0; border: 0; border-radius: 1.25rem;
  background: var(--tag); color: var(--farbe-text);
  overflow: hidden;
  box-shadow: 0 30px 80px rgb(16 17 20 / .35);
}
.person-fenster[open] {
  display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  animation: person-fenster-auf 260ms cubic-bezier(.2, .8, .2, 1);
}
.person-fenster::backdrop { background: rgb(16 17 20 / .6); backdrop-filter: blur(6px); }
@keyframes person-fenster-auf { from { opacity: 0; transform: translateY(1rem) scale(.98); } to { opacity: 1; transform: none; } }
.person-fenster__bild { position: relative; background: var(--nebel); min-height: 22rem; }
.person-fenster__bild img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.person-fenster__bild .person__bild-zeichen {
  position: absolute; inset: 0; display: grid; place-items: center;
  font-size: 5rem; color: var(--grau);
}
.person-fenster__text {
  display: grid; align-content: start; gap: .9rem;
  padding: clamp(1.5rem, 4vw, 2.75rem); padding-top: clamp(2.5rem, 5vw, 3.25rem);
  overflow-y: auto; overscroll-behavior: contain;
}
.person-fenster__ober {
  margin: 0; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: var(--grau);
}
.person-fenster__text h2 { margin: 0; font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.15; }
.person-fenster__text .person__funktion { margin: 0; color: var(--grau); }
.person-fenster__text .person__angaben { margin-top: .4rem; }
.person-fenster__zu {
  position: absolute; top: .9rem; right: .9rem; z-index: 1;
  display: grid; place-items: center; width: 2.75rem; height: 2.75rem;
  padding: 0; border-radius: 50%;
  border: 1px solid var(--farbe-rahmen);
  background: var(--tag); color: var(--nacht);
  font-size: 1.3rem; line-height: 1; cursor: pointer;
}
.person-fenster__zu:hover, .person-fenster__zu:focus-visible { background: var(--nebel); border-color: var(--nacht); }
@media (max-width: 40rem) {
  .person-fenster[open] { grid-template-columns: 1fr; grid-template-rows: max-content max-content; overflow-y: auto; overscroll-behavior: contain; }
  .person-fenster__bild { min-height: 0; aspect-ratio: 4 / 3; }
  .person-fenster__text { overflow: visible; }
  .person-fenster__zu { position: fixed; top: calc(1rem + .9rem); right: calc(1rem + .9rem); }
}
@media (prefers-reduced-motion: reduce) {
  .person-fenster[open] { animation: none; }
}
.pille--filiale { padding-left: .3rem; gap: .45rem; }
.pille--filiale .wappen { flex: none; }
.rezensionen--coverflow .rezensionen__kopf { align-items: center; }
.rezensionen--coverflow h2 { margin: 0; }
.rezensionen__quelle { display: inline-flex; align-items: center; }
.rezensionen__logo { display: block; height: 1.4rem; width: auto; }
.rezensionen__quellname { font-weight: 700; letter-spacing: -.01em; }
.coverflow { position: relative; margin-top: var(--raum-3); }
.coverflow__bahn.rezensionen__liste {
  display: flex; gap: var(--raum-3); margin: 0;
  overflow-x: auto; overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory; scroll-behavior: smooth;
  padding: var(--raum-3) calc(50% - var(--cf-breite) / 2);
  scrollbar-width: none;
  perspective: 1400px;
  --cf-breite: min(24rem, 78vw);
}
.coverflow__bahn::-webkit-scrollbar { display: none; }
.coverflow__bahn:focus-visible { outline: 3px solid var(--fokus, var(--farbe-akzent)); outline-offset: 4px; border-radius: var(--radius); }
.coverflow__bahn > .rezension {
  flex: 0 0 var(--cf-breite);
  scroll-snap-align: center;
  padding: var(--raum-3) var(--raum-4);
  background: var(--tag);
  transition: transform 450ms cubic-bezier(.2, .8, .2, 1), opacity 450ms ease, box-shadow 450ms ease;
}
.coverflow__bahn > .rezension blockquote p {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 6; overflow: hidden;
}
.coverflow__bahn > .rezension.ist-links  { transform: translateX(8%) rotateY(28deg) scale(.86); opacity: .5; }
.coverflow__bahn > .rezension.ist-rechts { transform: translateX(-8%) rotateY(-28deg) scale(.86); opacity: .5; }
.coverflow__bahn > .rezension.ist-mitte  { transform: none; opacity: 1; box-shadow: 0 18px 44px rgb(16 17 20 / .14); z-index: 1; }
.coverflow__pfeil {
  position: absolute; top: 50%; z-index: 2; transform: translateY(-50%);
  display: grid; place-items: center; width: 2.75rem; height: 2.75rem;
  padding: 0; border-radius: 50%;
  border: 1px solid var(--farbe-rahmen); background: var(--tag); color: var(--nacht);
  font-size: 1.6rem; line-height: 1; cursor: pointer;
  box-shadow: 0 6px 18px rgb(16 17 20 / .12);
}
.coverflow__pfeil--zurueck { left: 0; }
.coverflow__pfeil--weiter  { right: 0; }
.coverflow__pfeil:hover, .coverflow__pfeil:focus-visible { background: var(--nebel); border-color: var(--nacht); }
.coverflow__pfeil:disabled { opacity: .35; cursor: default; }
.rezensionen__leiste {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--raum-2) var(--raum-4);
  margin-top: var(--raum-3);
}
.rezensionen__leiste .rezensionen__aktionen,
.rezensionen__leiste .bewertenbitte { margin: 0; }
.rezensionen__leiste .bewertenbitte { flex: 1 1 28rem; justify-content: flex-end; }
.rezensionen--coverflow .rezensionen__fuss { margin-top: var(--raum-3); font-size: .78rem; }
@media (max-width: 40rem) {
  .coverflow__pfeil { display: none; }
  .coverflow__bahn > .rezension.ist-links,
  .coverflow__bahn > .rezension.ist-rechts { transform: scale(.92); }
}
@media (prefers-reduced-motion: reduce) {
  .coverflow__bahn.rezensionen__liste { scroll-behavior: auto; }
  .coverflow__bahn > .rezension { transition: none; }
  .coverflow__bahn > .rezension.ist-links,
  .coverflow__bahn > .rezension.ist-rechts { transform: none; }
}
.coverflow__bahn > .rezension { position: relative; border-radius: 1.1rem; padding-top: calc(var(--raum-3) + .2rem); }
.coverflow__bahn > .rezension::before {
  content: "“"; position: absolute; left: var(--raum-4); top: -.35rem;
  font-size: 4.2rem; line-height: 1; font-family: Georgia, "Times New Roman", serif;
  color: color-mix(in srgb, var(--farbe-akzent) 35%, transparent); pointer-events: none;
}
.rezension__g {
  position: absolute; top: var(--raum-3); right: var(--raum-3);
  display: inline-flex; align-items: center; gap: .3rem;
  font-size: .68rem; font-weight: 700; letter-spacing: .02em; color: var(--farbe-text-leise);
}
.rezension__g img { display: block; width: 1.25rem; height: 1.25rem; }
.coverflow__bahn > .rezension .rezension__sterne { padding-top: .9rem; }
.coverflow__bahn > .rezension blockquote p { font-size: .95rem; line-height: 1.55; }
.rezension__autor { gap: .7rem; flex-wrap: nowrap; }
.rezension__bild {
  flex: none; width: 2.5rem; height: 2.5rem; border-radius: 50%; object-fit: cover;
  box-shadow: 0 0 0 2px var(--tag), 0 0 0 3px color-mix(in srgb, var(--farbe-akzent) 45%, transparent);
}
.rezension__initialen {
  display: grid; place-items: center;
  background: var(--initialen, var(--farbe-akzent)); color: #fff;
  font-size: .85rem; font-weight: 700; letter-spacing: .02em;
}
.rezension__wer { display: grid; gap: .05rem; min-width: 0; line-height: 1.3; }
.rezension__wer a { font-weight: 650; text-decoration: none; color: var(--farbe-text); }
.rezension__wer a:hover { text-decoration: underline; }
.rezension__wer time { font-size: .78rem; }
.coverflow__bahn > .rezension .rezension__quelle {
  justify-self: start; font-size: .8rem; font-weight: 600; text-decoration: none; color: var(--farbe-text);
}
.coverflow__bahn > .rezension .rezension__quelle::after { content: " →"; }
.coverflow__bahn > .rezension .rezension__quelle:hover { text-decoration: underline; }
.coverflow__bahn > .rezension.ist-mitte {
  box-shadow: 0 22px 50px rgb(16 17 20 / .16), 0 0 0 1px color-mix(in srgb, var(--farbe-akzent) 30%, transparent);
}
.rezensionen__leiste .bewertenbitte {
  flex: 1 1 100%; order: -1;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--raum-3);
  padding: var(--raum-3) var(--raum-4);
  border-radius: 1.25rem;
  background: var(--ak-sanft, #f4efe5);
  border: 1px solid color-mix(in srgb, var(--ak) 25%, transparent);
}
.rezensionen__leiste .bewertenbitte__text {
  flex: 1 1 22rem; font-size: 1.05rem; font-weight: 600; color: var(--farbe-text); line-height: 1.45;
}
.rezensionen__leiste .bewertenbitte__knopf {
  display: inline-flex; align-items: center; gap: .65rem;
  padding: .85rem 1.6rem .85rem .85rem;
  font-size: 1.02rem; font-weight: 700;
  background: var(--ak); color: #fff; border-color: var(--ak);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--ak) 30%, transparent);
  transition: transform 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}
.rezensionen__leiste .bewertenbitte__knopf::before {
  content: ""; flex: none; width: 2rem; height: 2rem; border-radius: 50%;
  background: #fff url("../img/google-g.webp") center / 1.15rem auto no-repeat;
}
.rezensionen__leiste .bewertenbitte__knopf:hover,
.rezensionen__leiste .bewertenbitte__knopf:focus-visible {
  background: var(--nacht); border-color: var(--nacht); color: #fff;
  transform: translateY(-2px); box-shadow: 0 14px 30px rgb(16 17 20 / .22);
}
.rezensionen__leiste .rezensionen__aktionen { order: 1; }
@media (prefers-reduced-motion: reduce) {
  .rezensionen__leiste .bewertenbitte__knopf { transition: none; }
  .rezensionen__leiste .bewertenbitte__knopf:hover { transform: none; }
}
.terminarten {
  grid-template-columns: repeat(auto-fill, minmax(min(19rem, 100%), 1fr));
}
.terminarten .leistung { padding: 1.25rem 1.35rem; }
.terminarten .leistung__icon { width: 2.6rem; height: 2.6rem; }
.terminarten .leistung__titel { font-size: 1.08rem; line-height: 1.3; overflow-wrap: break-word; hyphens: auto; -webkit-hyphens: auto; }
.terminarten__gruppe + .terminarten__gruppe { margin-top: clamp(2.25rem, 4vw, 3.25rem); }
.seite--standort .terminarten__kopf {
  margin: 0 0 1.25rem; font-family: var(--schrift-text); font-weight: 600;
  font-size: clamp(1.15rem, 1.6vw, 1.35rem); line-height: 1.25; letter-spacing: -.01em; color: inherit;
}
.seite--standort .terminarten__notiz {
  margin: 1.75rem 0 0; max-width: 46rem;
  font-size: .95rem; line-height: 1.5; color: var(--grau);
}
.seite--standort .terminarten__notiz + .terminarten__notiz { margin-top: .6rem; }
.seite--standort .terminarten__notiz a { color: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: .15em; }
.terminarten__einzeln { margin: 0; }
.terminarten__einzeln .knopf { min-height: 2.75rem; padding-inline: 1.6rem; font-size: 1rem; }
@media (max-width: 40rem) {
  .terminarten { grid-auto-rows: auto; gap: .5rem; }
  .terminarten .leistung { padding: .95rem 1.1rem; gap: .15rem 1rem; }
  .terminarten .leistung__icon { width: 2.2rem; height: 2.2rem; }
  .terminarten .leistung__titel { hyphens: manual; -webkit-hyphens: manual; }
}
.seite--neuebrille .neuebrille__hinweis { margin-top: 1.25rem; font-size: .95rem; color: var(--grau); }
.seite--neuebrille .neuebrille__hinweis a { color: inherit; text-decoration: underline; text-underline-offset: .15em; }
.seite--neuebrille .neuebrille__spalten {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); align-items: start;
  gap: clamp(2.5rem, 6vw, 6rem);
}
@media (max-width: 60rem) {
  .seite--neuebrille .neuebrille__spalten { grid-template-columns: minmax(0, 1fr); }
}
.seite--neuebrille .neuebrille__schritte .schritte__zeile { grid-template-columns: 3rem 1fr; padding-block: 1.25rem; }
.seite--neuebrille .neuebrille__schritte h3 {
  margin: 0; font-family: var(--schrift-text); font-weight: 600;
  font-size: clamp(1.05rem, 1.6vw, 1.25rem); line-height: 1.3; letter-spacing: -.01em;
}
.seite--neuebrille .neuebrille__schluss { display: grid; gap: 1.25rem; justify-items: start; }
.seite--neuebrille .neuebrille__schluss .band__kopf { margin-bottom: 0; }
.seite--neuebrille .neuebrille__satz { margin: 0; max-width: 46rem; }
.seite--neuebrille .neuebrille__satz--klein { font-size: .88rem; color: var(--grau); }
.seite--neuebrille .neuebrille__satz a { color: inherit; text-decoration: underline; text-underline-offset: .15em; }
.seite--neuebrille .neuebrille__weg { margin: 0; }
@media (max-width: 40rem) {
  .seite--neuebrille .neuebrille__schritte .schritte__zeile { grid-template-columns: 3rem 1fr; }
}
.geschenkband { position: relative; color: #fff; background: var(--nacht); }
.geschenkband-vorschau {
  margin: 0; padding: .9rem var(--takt); text-align: center;
  font-weight: 700; letter-spacing: .06em; text-transform: uppercase; font-size: .9rem;
  color: #101114;
  background: repeating-linear-gradient(-45deg, #ffd84d 0 1.25rem, #ffe27a 1.25rem 2.5rem);
}
.geschenkband__folie {
  position: relative; overflow: hidden; isolation: isolate;
  padding: clamp(3.5rem, 8vw, 6.5rem) var(--takt);
  min-height: clamp(26rem, 42vw, 34rem); display: grid; align-items: center;
}
.geschenkband--blaettern { display: grid; }
.geschenkband--blaettern .geschenkband__folie { grid-area: 1 / 1; z-index: 2; }
.geschenkband--blaettern .geschenkband__folie--aus {
  z-index: 1; visibility: hidden; transition: visibility 0s linear 2.4s;
}
.geschenkband__folie--kommt { animation: folie-kommt 2.4s cubic-bezier(.25, .1, .25, 1) backwards; }
.geschenkband--blaettern .geschenkband__folie--geht { animation: folie-geht 2.5s cubic-bezier(.25, .1, .25, 1); }
.geschenkband__folie--kommt .geschenkband__video { animation: folie-bild 3.2s cubic-bezier(.2, .7, .2, 1) both; }
.geschenkband__folie--kommt .geschenkband__text > * { animation: folie-zeile 1.2s cubic-bezier(.2, .7, .2, 1) both; }
.geschenkband__folie--kommt .geschenkband__text > :nth-child(1) { animation-delay: .9s; }
.geschenkband__folie--kommt .geschenkband__text > :nth-child(2) { animation-delay: 1.05s; }
.geschenkband__folie--kommt .geschenkband__text > :nth-child(3) { animation-delay: 1.2s; }
.geschenkband__folie--kommt .geschenkband__text > :nth-child(4) { animation-delay: 1.35s; }
.geschenkband__folie--kommt .geschenkband__text > :nth-child(5) { animation-delay: 1.5s; }
.geschenkband__folie--kommt .geschenkband__vorrat { animation: folie-plakette 1.2s cubic-bezier(.2, .7, .2, 1) 1.3s both; }
@keyframes folie-kommt { from { opacity: 0; filter: blur(24px); } to { opacity: 1; filter: blur(0); } }
@keyframes folie-geht  { from { opacity: 1; filter: blur(0); } to { opacity: 0; filter: blur(24px); } }
@keyframes folie-bild  { from { transform: scale(1.12); } to { transform: scale(1); } }
@keyframes folie-zeile { from { transform: translateY(1.25rem); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes folie-plakette { from { transform: scale(.85); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .geschenkband--blaettern .geschenkband__folie--aus { transition: none; }
  .geschenkband__folie--kommt, .geschenkband--blaettern .geschenkband__folie--geht, .geschenkband__folie--kommt .geschenkband__video,
  .geschenkband__folie--kommt .geschenkband__text > *, .geschenkband__folie--kommt .geschenkband__vorrat { animation: none; }
}
.geschenkband--mehrere .geschenkband__folie { padding-bottom: clamp(5rem, 9vw, 7.5rem); }
@media (max-width: 40rem) {
  .geschenkband--mehrere .geschenkband__folie { padding-bottom: 7.5rem; }
  .geschenkband--mehrere .geschenkband__bedingungen { bottom: 4.75rem; }
}
.geschenkband__steuerung {
  position: absolute; left: 50%; bottom: 1.5rem; transform: translateX(-50%); z-index: 3;
  display: flex; align-items: center; gap: .5rem;
}
.geschenkband__steuerung[hidden] { display: none; }
.geschenkband__pfeil {
  width: 2.75rem; height: 2.75rem; border-radius: 50%; display: grid; place-items: center;
  border: 1px solid rgb(255 255 255 / .28); background: none; color: rgb(255 255 255 / .7);
  font-size: .85rem; line-height: 1; cursor: pointer;
  transition: color 240ms ease, border-color 240ms ease;
}
.geschenkband__pfeil:hover { color: #fff; border-color: var(--ak-hell); }
.geschenkband__punkt {
  width: 1.75rem; height: 1.5rem; padding: 0; border: 0; background: none; cursor: pointer;
  display: grid; place-items: center; transition: width 480ms ease;
}
.geschenkband__punkt::before {
  content: ""; width: 100%; height: 2px; border-radius: 2px; background: rgb(255 255 255 / .55);
  transition: background 480ms ease;
}
.geschenkband__punkt[aria-current="true"] { width: 3rem; }
.geschenkband__punkt[aria-current="true"]::before { background: var(--ak-hell); }
.geschenkband__pfeil:focus-visible, .geschenkband__punkt:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  .geschenkband__punkt, .geschenkband__punkt::before, .geschenkband__pfeil { transition: none; }
}
.geschenkband__video {
  position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%;
  object-fit: cover; object-position: 72% 60%;
}
.geschenkband__schleier {
  position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, rgb(16 17 20 / .92) 0%, rgb(16 17 20 / .82) 38%, rgb(16 17 20 / .3) 72%, rgb(16 17 20 / .1) 100%);
}
.geschenkband .geschenkband__innen { width: 100%; max-width: var(--breite); margin-inline: auto; }
.geschenkband .geschenkband__text { display: grid; gap: 1.25rem; justify-items: start; max-width: 36rem; }
.geschenkband .geschenkband__marke {
  margin: 0; font-size: .75rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--ak-hell);
}
.geschenkband .geschenkband__titel {
  margin: 0; font-family: var(--schrift-text); font-weight: 600; color: #fff;
  font-size: clamp(1.7rem, 3.8vw, 2.8rem); line-height: 1.1; letter-spacing: -.02em; text-wrap: balance;
}
.geschenkband .geschenkband__satz { margin: 0; color: rgb(255 255 255 / .84); font-size: 1.02rem; line-height: 1.55; max-width: 32rem; }
.geschenkband .geschenkband__weg { margin: 0; }
.geschenkband .geschenkband__bedingungen {
  position: absolute; right: var(--takt); bottom: 1.25rem; z-index: 1;
  color: rgb(255 255 255 / .84); font-size: .8rem; text-decoration: underline; text-underline-offset: .15em;
}
.geschenkband .geschenkband__bedingungen:hover { color: #fff; }
.geschenkband .geschenkband__innen { position: relative; }
.geschenkband .geschenkband__vorrat {
  position: absolute; top: 0; right: 0; margin: 0; isolation: isolate;
  width: 9rem; height: 9rem; border-radius: 50%;
  display: grid; place-content: center; justify-items: center; gap: .3rem; text-align: center;
  color: #fff; background: rgb(16 17 20 / .72);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / .18);
}
.geschenkband .geschenkband__vorrat::before {
  content: ""; position: absolute; inset: -45%; z-index: -1; border-radius: 50%; pointer-events: none;
  background: radial-gradient(closest-side, color-mix(in srgb, var(--ak-hell) 55%, transparent), transparent 75%);
  animation: vorrat-atmen 3.2s ease-in-out infinite alternate;
}
.geschenkband .geschenkband__vorrat::after {
  content: ""; position: absolute; inset: 0; border-radius: 50%; pointer-events: none;
  background: conic-gradient(from 0deg, transparent 0 55%, color-mix(in srgb, var(--ak-hell) 60%, transparent) 80%, #fff 92%, transparent 100%);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
          mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--ak-hell) 70%, transparent);
  animation: vorrat-drehen 6s linear infinite;
}
@keyframes vorrat-atmen {
  from { transform: scale(.8);  opacity: .45; }
  to   { transform: scale(1.12); opacity: .95; }
}
@keyframes vorrat-drehen { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .geschenkband .geschenkband__vorrat::before, .geschenkband .geschenkband__vorrat::after { animation: none; }
}
.geschenkband__vorrat-zahl {
  font-family: var(--schrift-titel); font-weight: 400; font-size: 3.4rem; line-height: .9;
  font-variant-numeric: tabular-nums; letter-spacing: 0;
}
.geschenkband__vorrat-text { font-size: .7rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; line-height: 1.35; color: rgb(255 255 255 / .84); }
.geschenkband__vorrat--wenige .geschenkband__vorrat-text { font-size: .78rem; color: #fff; padding-inline: .75rem; }
@media (max-width: 48rem) {
  .geschenkband .geschenkband__vorrat {
    position: static; width: auto; height: auto; border-radius: 999px; margin-bottom: 1.25rem;
    display: inline-flex; gap: .75rem; align-items: center; padding: .5rem 1.1rem .5rem .75rem;
  }
  .geschenkband__vorrat-zahl { font-size: 2.2rem; }
  .geschenkband__vorrat-text { text-align: left; }
}
.aktionsuhr { display: grid; gap: .6rem; justify-items: start; }
.aktionsuhr .aktionsuhr__titel {
  margin: 0; font-size: .78rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase;
  color: var(--ak-hell);
}
.aktionsuhr__felder { display: flex; gap: .65rem; }
.aktionsuhr__feld {
  position: relative; display: grid; place-content: center; justify-items: center; gap: .1rem;
  width: 5.2rem; height: 5.2rem; border-radius: 50%; color: #fff;
  background: rgb(16 17 20 / .72);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.aktionsuhr__ring { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.aktionsuhr__spur { fill: none; stroke: rgb(255 255 255 / .16); stroke-width: 2; }
.aktionsuhr__fortschritt {
  fill: none; stroke: var(--ak-hell); stroke-width: 2.4; stroke-linecap: round;
  stroke-dasharray: 100; stroke-dashoffset: calc(100 - var(--anteil, 1) * 100);
  transition: stroke-dashoffset .45s ease;
}
@media (prefers-reduced-motion: reduce) { .aktionsuhr__fortschritt { transition: none; } }
.aktionsuhr__zahl { position: relative; font-size: 1.7rem; font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums; }
.aktionsuhr__einheit { position: relative; font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; color: rgb(255 255 255 / .72); }
@media (max-width: 40rem) {
  .aktionsuhr__felder { gap: .45rem; }
  .aktionsuhr__feld { width: 4.4rem; height: 4.4rem; }
  .aktionsuhr__zahl { font-size: 1.4rem; }
}
.aktionsuhr .aktionsuhr__felder { gap: 0; align-items: flex-start; }
.aktionsuhr .aktionsuhr__feld[data-feld="std"],
.aktionsuhr .aktionsuhr__feld[data-feld="min"] { width: 5.6rem; height: 5.6rem; }
.aktionsuhr .aktionsuhr__feld[data-feld="std"] { margin-right: 1.1rem; }
.aktionsuhr .aktionsuhr__feld[data-feld="std"]::after {
  content: ""; position: absolute; left: 100%; top: 32%; width: 1.1rem; height: .7rem;
  border: 2.4px solid var(--ak-hell); border-bottom: 0; border-radius: .7rem .7rem 0 0;
}
.aktionsuhr .aktionsuhr__feld[data-feld="tage"],
.aktionsuhr .aktionsuhr__feld[data-feld="sek"] {
  width: 5.4rem; height: 2.5rem; margin-top: 1.05rem; overflow: hidden;
  display: flex; align-items: baseline; justify-content: center; gap: .3rem; padding-top: .55rem;
  border: 2.4px solid rgb(255 255 255 / .16);
}
.aktionsuhr .aktionsuhr__feld[data-feld="tage"] { border-radius: 1.4rem .35rem .35rem 1.4rem; border-right: 0; }
.aktionsuhr .aktionsuhr__feld[data-feld="sek"]  { border-radius: .35rem 1.4rem 1.4rem .35rem; border-left: 0; }
.aktionsuhr .aktionsuhr__feld[data-feld="tage"] .aktionsuhr__ring,
.aktionsuhr .aktionsuhr__feld[data-feld="sek"] .aktionsuhr__ring { display: none; }
.aktionsuhr .aktionsuhr__feld[data-feld="tage"] .aktionsuhr__zahl,
.aktionsuhr .aktionsuhr__feld[data-feld="sek"] .aktionsuhr__zahl { font-size: 1.25rem; }
.aktionsuhr .aktionsuhr__feld[data-feld="tage"]::after,
.aktionsuhr .aktionsuhr__feld[data-feld="sek"]::after {
  content: ""; position: absolute; left: 0; bottom: 0; height: 3px; width: calc(var(--anteil, 1) * 100%);
  background: var(--ak-hell); transition: width .45s ease;
}
.aktionsuhr .aktionsuhr__feld[data-feld="sek"]::after { left: auto; right: 0; }
@media (prefers-reduced-motion: reduce) {
  .aktionsuhr .aktionsuhr__feld[data-feld="tage"]::after, .aktionsuhr .aktionsuhr__feld[data-feld="sek"]::after { transition: none; }
}
@media (max-width: 40rem) {
  .aktionsuhr .aktionsuhr__feld[data-feld="std"],
  .aktionsuhr .aktionsuhr__feld[data-feld="min"] { width: 4.5rem; height: 4.5rem; }
  .aktionsuhr .aktionsuhr__feld[data-feld="std"] { margin-right: .8rem; }
  .aktionsuhr .aktionsuhr__feld[data-feld="std"]::after { width: .8rem; }
  .aktionsuhr .aktionsuhr__feld[data-feld="tage"],
  .aktionsuhr .aktionsuhr__feld[data-feld="sek"] { width: 4.3rem; height: 2.2rem; margin-top: .85rem; padding-top: .45rem; }
  .aktionsuhr .aktionsuhr__feld[data-feld="tage"] .aktionsuhr__zahl,
  .aktionsuhr .aktionsuhr__feld[data-feld="sek"] .aktionsuhr__zahl { font-size: 1.05rem; }
}
@media (max-width: 48rem) {
  .geschenkband__schleier { background: linear-gradient(180deg, rgb(16 17 20 / .55) 0%, rgb(16 17 20 / .88) 55%, rgb(16 17 20 / .92) 100%); }
  .geschenkband__video { object-position: 60% 40%; }
}
.seitenkopf.seitenkopf--gutschein {
  background: var(--nacht);
  background: radial-gradient(55% 80% at 78% 55%, color-mix(in srgb, var(--ak) 55%, transparent), transparent 70%), var(--nacht);
}
.seitenkopf.seitenkopf--gutschein .seitenkopf__titel .leicht { color: var(--ak-hell); }
.seitenkopf--gutschein .seitenkopf__innen {
  grid-template-columns: minmax(0, 1fr) minmax(0, 24rem); column-gap: clamp(2rem, 6vw, 5rem);
}
.seitenkopf--gutschein .seitenkopf__innen > * { grid-column: 1; }
.seitenkopf--gutschein .seitenkopf__innen > .seitenkopf__zusatz { grid-column: 2; grid-row: 1 / span 7; align-self: center; width: 100%; }
.seitenkopf--gutschein .gutscheinpunkte { display: grid; gap: .7rem; margin: .4rem 0 .6rem; padding: 0; list-style: none; max-width: 36rem; }
.seitenkopf--gutschein .gutscheinpunkte li { position: relative; padding-left: 1.6rem; color: rgb(255 255 255 / .84); line-height: 1.5; }
.seitenkopf--gutschein .gutscheinpunkte li::before {
  content: ""; position: absolute; left: 0; top: .5em; width: .65rem; height: .65rem; border-radius: 50%; background: var(--ak-hell);
}
.seitenkopf--gutschein .gutscheinpunkte strong { color: #fff; font-weight: 600; }
@media (max-width: 52rem) {
  .seitenkopf--gutschein .seitenkopf__innen { grid-template-columns: minmax(0, 1fr); }
  .seitenkopf--gutschein .seitenkopf__innen > .seitenkopf__zusatz { grid-column: 1; grid-row: auto; }
  .seitenkopf--gutschein .gutscheinbuehne { width: min(20rem, 100%); margin-top: 1rem; }
}
.gutscheinbuehne { position: relative; width: min(24rem, 100%); margin-inline: auto; perspective: 1200px; padding-bottom: 2.5rem; }
.geschenkkarte {
  --kipp-x: 0deg; --kipp-y: 0deg;
  position: relative; z-index: 1; aspect-ratio: 85.6 / 54; border-radius: 1rem; overflow: hidden;
  display: grid; align-content: center; justify-items: center; gap: .7rem; padding: 1.4rem 1.6rem;
  background:
    radial-gradient(140% 120% at 15% 0%, rgb(255 255 255 / .07), transparent 55%),
    repeating-linear-gradient(115deg, rgb(255 255 255 / .012) 0 2px, transparent 2px 4px),
    linear-gradient(160deg, #1d1d1f 0%, #121214 55%, #0a0a0b 100%);
  box-shadow: inset 0 0 0 1px rgb(201 161 90 / .38), inset 0 1px 0 rgb(255 255 255 / .08);
  transform: rotateX(var(--kipp-x)) rotateY(var(--kipp-y)) rotate(-4deg);
  transition: transform .5s cubic-bezier(.2, .7, .2, 1);
}
.geschenkkarte__logo { width: 72%; height: auto; display: block; }
.geschenkkarte__wort {
  font-size: .72rem; font-weight: 600; letter-spacing: .42em; text-transform: uppercase; color: #c9a15a;
  padding-left: .42em;
}
.geschenkkarte__wert { font-size: .78rem; letter-spacing: .04em; color: rgb(255 255 255 / .7); }
.geschenkkarte__licht {
  position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(115deg, transparent 30%, rgb(255 255 255 / .1) 45%, rgb(255 255 255 / .02) 55%, transparent 70%);
  background-size: 250% 100%; background-position: 120% 0;
}
.geschenkkarte__schatten {
  position: absolute; left: 12%; right: 12%; bottom: .6rem; height: 1.6rem; border-radius: 50%;
  background: rgb(0 0 0 / .55); filter: blur(14px); transform: rotate(-4deg);
}
.gutscheinband--bereit .geschenkkarte { opacity: 0; transform: translateY(1.8rem) rotateX(18deg) rotate(-1deg); }
.gutscheinband--bereit .geschenkkarte__schatten { opacity: 0; }
.gutscheinband--los .geschenkkarte { animation: geschenkkarte-ankommen 1.2s cubic-bezier(.2, .7, .2, 1) backwards; }
.gutscheinband--los .geschenkkarte__schatten { animation: geschenkkarte-schatten 1.2s ease-out both; }
.gutscheinband--los .geschenkkarte__licht { animation: geschenkkarte-licht 2.2s ease-in-out 1.1s, geschenkkarte-licht 2.2s ease-in-out 9s infinite; }
@keyframes geschenkkarte-ankommen {
  from { opacity: 0; transform: translateY(1.8rem) rotateX(18deg) rotate(-1deg); }
  to   { opacity: 1; transform: rotateX(var(--kipp-x)) rotateY(var(--kipp-y)) rotate(-4deg); }
}
@keyframes geschenkkarte-schatten { from { opacity: 0; } to { opacity: 1; } }
@keyframes geschenkkarte-licht { from { background-position: 120% 0; } to { background-position: -20% 0; } }
.seite--gutscheine .anlaesse {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(min(17rem, 100%), 1fr));
  gap: 1.25rem; margin: 0; padding: 0; list-style: none;
}
.seite--gutscheine .anlass {
  display: grid; gap: .6rem; align-content: start; padding: 1.5rem 1.4rem;
  border: 1px solid var(--linie); border-radius: .9rem; background: #fff;
  transition: border-color 180ms ease, transform 180ms ease;
}
.seite--gutscheine .anlass:hover { border-color: var(--ak); transform: translateY(-2px); }
@media (prefers-reduced-motion: reduce) { .seite--gutscheine .anlass:hover { transform: none; } }
.seite--gutscheine .anlass__bild {
  width: 2.4rem; height: 2.4rem; fill: none; stroke: var(--ak); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round;
}
.seite--gutscheine .anlass__name { margin: 0; font-family: var(--schrift-text); font-weight: 600; font-size: 1.12rem; line-height: 1.3; letter-spacing: -.01em; }
.seite--gutscheine .anlass__satz { margin: 0; color: var(--grau); font-size: .95rem; line-height: 1.5; }
.seite--gutscheine .gutscheinwege__satz { margin: 0 0 1.5rem; max-width: 44rem; }
.seite--gutscheine .gutscheinwege {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr));
  gap: 1.25rem; margin: 0; padding: 0; list-style: none;
}
.seite--gutscheine .gutscheinwege--eine { grid-template-columns: minmax(0, 26rem); }
.seite--gutscheine .gutscheinwege__ort { display: grid; gap: .4rem; padding: 1.25rem 1.4rem; border-left: 3px solid var(--ak); background: var(--ak-sanft); border-radius: 0 .7rem .7rem 0; }
.seite--gutscheine .gutscheinwege__name { margin: 0; font-family: var(--schrift-text); font-weight: 600; font-size: 1.1rem; }
.seite--gutscheine .gutscheinwege__adresse { margin: 0; color: var(--nacht); font-size: .95rem; }
.seite--gutscheine .gutscheinwege__kontakt { margin: 0; display: grid; gap: .2rem; font-size: .95rem; }
.seite--gutscheine .gutscheinwege__kontakt a { color: var(--nacht); font-weight: 600; text-decoration: underline; text-underline-offset: .15em; overflow-wrap: anywhere; }
.seitenkopf--gutschein .seitenkopf__wege .taste {
  background: rgb(255 255 255 / .9); color: var(--nacht); border-color: rgb(255 255 255 / .6);
}
.seitenkopf--gutschein .seitenkopf__wege .taste .taste__kreis { background: var(--nacht); color: #fff; }
.seitenkopf--gutschein .seitenkopf__wege .taste:hover { background: var(--ak); color: #fff; }
.gs-fertig {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.5rem 3rem; align-items: start;
  padding: .6rem 0;
}
.gs-fertig__haken {
  display: inline-grid; place-items: center; width: 3.75rem; height: 3.75rem; margin-bottom: .5rem;
  border: 2px solid #2f7a45; border-radius: 50%; color: #2f7a45; font-size: 1.9rem; line-height: 1;
}
.formfenster__dialog .gs-fertig p, .gs-fertig p { margin: 0 0 .75rem; }
.formfenster__dialog .gs-fertig .gs-fertig__titel, .gs-fertig .gs-fertig__titel { font-family: var(--schrift-text); font-size: 1.4rem; font-weight: 700; line-height: 1.25; letter-spacing: 0; margin: .3rem 0 .5rem; color: var(--nacht); }
.gs-fertig__links > p:not([class]) { color: var(--farbe-text-leise); }
.gs-fertig .gs-fertig__knoepfe {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: .75rem; margin: 1.25rem 0 0; max-width: 35rem;
}
.gs-fertig__knoepfe .knopf { width: 100%; min-height: 3.25rem; justify-content: center; text-align: center; }
.gs-fertig__rechts { display: grid; gap: 1.25rem; justify-items: center; }
.gs-fertig .gutscheinbuehne { width: min(22rem, 100%); padding-bottom: 1.5rem; }
.geschenkkarte__betrag { font-family: var(--schrift-text); font-size: 1.6rem; font-weight: 700; letter-spacing: .02em; color: #fff; }
.gs-fertig .gs-fertig__zusammen {
  display: grid; gap: .2rem; justify-self: stretch; margin: 0;
  padding: .25rem 0 .25rem 1rem; border-left: 3px solid var(--ak); font-size: .95rem;
}
@media (max-width: 48rem) { .gs-fertig { grid-template-columns: minmax(0, 1fr); } }
.konfetti { position: fixed; inset: 0; pointer-events: none; overflow: hidden; z-index: 50; }
.konfetti svg {
  position: absolute; top: -40px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
  --seit: 0px; --dreh: 0deg;   
  animation-name: konfetti-fall; animation-timing-function: cubic-bezier(.25,.6,.45,1); animation-fill-mode: both;
}
@keyframes konfetti-fall {
  0% { transform: translate(0, 0) rotate(0); opacity: 0; }
  8% { opacity: 1; }
  100% { transform: translate(var(--seit), 105vh) rotate(var(--dreh)); opacity: .9; }
}
@media (prefers-reduced-motion: reduce) {
  .konfetti { display: none; }
}
.zahlarten { display: grid; gap: .6rem; margin-top: 1.25rem; }
.fliesstext .zahlarten__titel { margin: .4rem 0 0; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--farbe-text-leise); }
.zahlarten__liste {
  display: flex; flex-wrap: wrap; gap: .5rem;
  list-style: none; margin: 0; padding: 0;
}
.fliesstext .zahlarten__liste > li { margin: 0; padding: 0; }
.fliesstext .zahlarten__liste > li::before { content: none; }
.zahlart { display: block; width: 3.6rem; aspect-ratio: 38 / 24; }
.zahlart img { display: block; width: 100%; height: 100%; }
.zahlart--wort {
  display: grid; place-items: center; background: #fff;
  border: 1px solid rgb(0 0 0 / .12); border-radius: 4px;
}
.zahlart--wort span { font-size: .62rem; font-weight: 800; letter-spacing: .01em; color: #1a4b8c; }   
.bezahlung__karte { display: block; margin: 0 0 1.5rem; text-decoration: none; }
.bezahlung__karte .gutscheinbuehne { width: min(19rem, 100%); margin-inline: 0; padding-bottom: 1.6rem; }
.fliesstext .bezahlung__gutschein-weg { margin: 1.25rem 0 0; }
.beispielbilder {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  margin-top: 2.5rem;
}
.beispielbild { margin: 0; display: grid; gap: .75rem; align-content: start; }
.beispielbild img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius);
}
.beispielbild figcaption { font-size: .875rem; line-height: 1.5; }
@media (max-width: 30rem) {
  .beispielbilder { grid-template-columns: minmax(0, 1fr); }
}
.textblock__freisteller--unten { margin: var(--raum-5) 0 0; width: min(100%, 15rem); }
.textblock__freisteller--unten img {
  filter: drop-shadow(0 1.6rem 1.4rem rgb(16 17 20 / .22));
  animation: freisteller-schweben 6s ease-in-out infinite;
}
@keyframes freisteller-schweben {
  0%, 100% { transform: translateY(0) rotate(-1.2deg); }
  50%      { transform: translateY(-.6rem) rotate(.6deg); }
}
@media (prefers-reduced-motion: reduce) {
  .textblock__freisteller--unten img { animation: none; }
}
.planwort { font-family: var(--schrift-serif); font-style: italic; font-weight: 400; letter-spacing: 0; text-transform: none; }
.bildvergleich { margin: 0; }
.bildvergleich__buehne {
  position: relative; overflow: hidden; aspect-ratio: 1 / 1;
  border-radius: var(--radius); background: var(--farbe-grund-sanft);
  --teil: 50%;
}
.bildvergleich__bild { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bildvergleich__bild--rechts { clip-path: inset(0 0 0 var(--teil)); }
.bildvergleich__linie {
  position: absolute; top: 0; bottom: 0; left: var(--teil); width: 3px; margin-left: -1.5px;
  background: #fff; box-shadow: 0 0 0 1px rgb(16 17 20 / .12); pointer-events: none;
}
.bildvergleich__griff {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 50%;
  background: #fff; color: var(--farbe-akzent); font-weight: 700; font-size: 1.1rem; letter-spacing: .1em;
  box-shadow: 0 .4rem 1.2rem rgb(16 17 20 / .25);
}
.bildvergleich__marke {
  position: absolute; top: .9rem; padding: .3rem .65rem; border-radius: 999px;
  background: rgb(16 17 20 / .72); color: #fff; font-size: .78rem; font-weight: 600; letter-spacing: .04em;
  pointer-events: none;
}
.bildvergleich__marke--links  { left: .9rem; }
.bildvergleich__marke--rechts { right: .9rem; }
.bildvergleich__regler {
  position: absolute; inset: 0; width: 100%; height: 100%; margin: 0;
  appearance: none; -webkit-appearance: none; background: transparent; opacity: 0; cursor: ew-resize;
}
.bildvergleich__regler:focus-visible { opacity: .001; }
.bildvergleich__buehne:has(.bildvergleich__regler:focus-visible) .bildvergleich__griff { outline: 3px solid var(--fokus, var(--farbe-akzent)); outline-offset: 2px; }
.gsr-folge__foto .bildvergleich--fuellend, .gsr-folge__foto .bildvergleich--fuellend .bildvergleich__buehne { height: 100%; aspect-ratio: auto; }
.gsr-folge__foto { pointer-events: none; }
.gsr-folge__foto.ist-da { pointer-events: auto; }
.gsr-punkt__bild--vergleich { aspect-ratio: auto; }
.gsr-fazit {
  margin-top: clamp(3rem, 6vw, 5rem); padding: clamp(1.75rem, 4vw, 3rem);
  display: grid; gap: var(--raum-3);
  background: var(--ak-sanft, #f3efe7); border-radius: var(--radius);
}
.gsr-fazit > * { margin: 0; max-width: 46rem; }
.gsr-fazit__marke {
  font-size: var(--text-s); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--farbe-akzent);
}
.werkzeug .gsr-fazit__titel { margin-top: -.25rem; font-size: clamp(1.6rem, 3vw, 2.4rem); line-height: 1.15; font-weight: 600; }
.gsr-fazit__lead { font-size: 1.125rem; line-height: 1.6; }
.gsr-fazit__liste { list-style: none; padding: 0; margin-block: var(--raum-2) !important; display: grid; gap: var(--raum-3); }
.gsr-fazit__liste li { position: relative; padding-left: 1.4rem; line-height: 1.6; }
.gsr-fazit__liste li::before {
  content: ""; position: absolute; left: 0; top: .55em; width: .55rem; height: 3px; border-radius: 2px; background: var(--farbe-akzent);
}
.gsr-fazit__schluss { font-weight: 600; }
.gsr-folge__video, .gsr-punkt__video { object-fit: contain !important; background: #fff; }
.gsr-punkt__weiter { margin: clamp(1.5rem, 3vw, 2.25rem) 0 0; }
.gsr-fazit > .gsr-fazit__liste { max-width: none; }
@media (min-width: 48rem) {
  .gsr-fazit__liste { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(1.5rem, 4vw, 3rem); row-gap: var(--raum-4); }
}
.gsr-fazit__liste li[data-symbol] { padding-left: 2.75rem; }
.gsr-fazit__liste li[data-symbol]::before {
  top: .1em; width: 1.9rem; height: 1.9rem; border-radius: 0;
  background: var(--farbe-akzent);
  -webkit-mask: var(--symbol) center / contain no-repeat; mask: var(--symbol) center / contain no-repeat;
}
.gsr-fazit__liste li[data-symbol="brille"] { --symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6.5' cy='14' r='3.5'/%3E%3Ccircle cx='17.5' cy='14' r='3.5'/%3E%3Cpath d='M10 13.5c1.3-.8 2.7-.8 4 0M3 14 2 8l2-1M21 14l1-6-2-1'/%3E%3C/svg%3E"); }
.gsr-fazit__liste li[data-symbol="auge"] { --symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-6.5 10-6.5S22 12 22 12s-3.6 6.5-10 6.5S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); }
.gsr-fazit__liste li[data-symbol="uhr"] { --symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.gsr-fazit__liste li[data-symbol="pupille"] { --symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='12' cy='12' r='1.2' fill='black'/%3E%3C/svg%3E"); }
.gsr-fazit__liste li[data-symbol="person"] { --symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='7' r='3.5'/%3E%3Cpath d='M5 21c0-4 3.1-7 7-7s7 3 7 7'/%3E%3C/svg%3E"); }
.gsr-fazit__liste li[data-symbol="bildschirm"] { --symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='12' rx='1.5'/%3E%3Cpath d='M8 20h8M12 16v4'/%3E%3C/svg%3E"); }
.gsr-fazit__liste li[data-symbol="kalender"] { --symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E"); }
.beispielbilder:has(> .beispielbild:only-child) { grid-template-columns: minmax(0, 1fr); }
.beispielbilder:has(> .beispielbild:nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem 1.25rem; }
.beispielbilder:has(> .beispielbild:only-child) .beispielbild img,
.beispielbilder:has(> .beispielbild:nth-child(2):last-child) .beispielbild img { aspect-ratio: auto; object-fit: contain; }
@media (max-width: 30rem) {
  .beispielbilder:has(> .beispielbild:nth-child(2):last-child) { grid-template-columns: minmax(0, 1fr); }
}
.werkzeug__seitentext { max-width: 44rem; margin: calc(-1 * clamp(.5rem, 1.5vw, 1.25rem)) 0 clamp(1.75rem, 3.5vw, 2.75rem); line-height: 1.65; }
.werkzeug__seitentext > :first-child { margin-top: 0; }
.seitenkopf__farbe { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.seitenkopf--plan-rot  .seitenkopf__farbe { background: linear-gradient(100deg, #4a0f19 0%, #6e1726 34%, rgb(140 32 48 / .78) 58%, rgb(160 40 56 / .18) 100%); }  
.seitenkopf--plan-blau .seitenkopf__farbe { background: linear-gradient(100deg, #0b1f45 0%, #143a72 34%, rgb(30 80 150 / .74) 58%, rgb(47 115 173 / .16) 100%); } 
.seitenkopf--plan-gold .seitenkopf__farbe { background: linear-gradient(100deg, #3d2a0a 0%, #5e4413 34%, rgb(140 104 36 / .76) 58%, rgb(201 161 90 / .16) 100%); } 
:is(.seitenkopf--plan-rot, .seitenkopf--plan-blau, .seitenkopf--plan-gold) :is(.leicht, .kraeftig, .seitenkopf__titel, .seitenkopf__teaser, .seitenkopf__einleitung, .seitenkopf__ober, .breadcrumbs, .breadcrumbs a) { color: #fff !important; text-shadow: none; }
:is(.seitenkopf--plan-rot, .seitenkopf--plan-blau, .seitenkopf--plan-gold) .planwort { color: #fff; }
.blick--hell { background: #fff; color: var(--farbe-text); }
.blick--hell .blickzahl__wert { color: #7a6320; }
.blick--hell .blickzahl__text { color: var(--farbe-text-leise); }
.mega__bild img.mega__folge {
  opacity: 0;
  animation: mega-folge calc(var(--n, 3) * 4s) infinite;
  animation-delay: calc(var(--i, 0) * 4s);
}
.mega__bild img.mega__folge:first-of-type { opacity: 1; }
@keyframes mega-folge {
  0%   { opacity: 0; }
  8%   { opacity: 1; }
  33%  { opacity: 1; }
  41%  { opacity: 0; }
  100% { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .mega__bild img.mega__folge { animation: none; opacity: 0; }
  .mega__bild img.mega__folge:first-of-type { opacity: 1; }
}
.held__inhalt h1 .kraeftig { font-family: var(--schrift-serif); font-style: italic; font-weight: 400; letter-spacing: 0; }
.seitenkopf__eckdaten { max-width: 34rem; margin-top: clamp(1.25rem, 3vh, 2rem); color: #fff; }
.seitenkopf__eckdaten > * { margin: 0; }
.seitenkopf__eckdaten > * + * { margin-top: .6rem; }
.seitenkopf__eckdaten :is(h2, h3) {
  font-family: var(--schrift-text); font-weight: 800; text-transform: uppercase;
  letter-spacing: .02em; font-size: clamp(1.25rem, 2.2vw, 1.75rem); line-height: 1.15;
}
.seitenkopf__eckdaten ul { list-style: none; padding: 0; display: grid; gap: .15rem; }
.seitenkopf__eckdaten li { position: relative; padding-left: 1.1em; }
.seitenkopf__eckdaten li::before { content: "»"; position: absolute; left: 0; }
.seitenkopf__eckdaten .preisliste {
  display: grid; grid-template-columns: auto 1fr auto; column-gap: .5rem; row-gap: .1rem;
  font-weight: 800; text-transform: uppercase; letter-spacing: .02em; max-width: 26rem;
}
.seitenkopf__eckdaten .preisliste dt { grid-column: 1; }
.seitenkopf__eckdaten .preisliste dt::after { content: ":"; }
.seitenkopf__eckdaten .preisliste dd {
  grid-column: 2 / 4; margin: 0; display: flex; gap: .4rem; font-variant-numeric: tabular-nums;
}
.seitenkopf__eckdaten .preisliste dd::before {
  content: ""; flex: 1; border-bottom: 2px dotted rgb(255 255 255 / .7); margin-bottom: .35em;
}
.seitenkopf__eckdaten .eckzahlen { display: grid; gap: .25rem; }
.seitenkopf__eckdaten .eckzahlen dt {
  font-family: var(--schrift-text); font-weight: 800; text-transform: uppercase;
  font-size: clamp(1.4rem, 2.6vw, 2rem); line-height: 1.1; margin-top: .6rem;
}
.seitenkopf__eckdaten .eckzahlen dt:first-child { margin-top: 0; }
.seitenkopf__eckdaten .eckzahlen dd { margin: 0; max-width: 30rem; }
.seitenkopf__fussnote { font-size: .875rem; font-style: italic; opacity: .9; }
.seitenkopf__marke {
  position: absolute; z-index: 3; top: clamp(7rem, 16vh, 10rem); right: clamp(1rem, 3vw, 2.5rem);
  margin: 0; writing-mode: vertical-rl;
  font-family: var(--schrift-serif); font-size: clamp(1.1rem, 1.6vw, 1.4rem); letter-spacing: .02em;
  color: #fff;
}
@media (max-width: 47.99rem) {
  .seitenkopf__marke { position: static; writing-mode: horizontal-tb; margin-top: .75rem; font-style: italic; }
}
.seitenkopf__eckdaten dl.preisliste { border: 0; padding: 0; background: none; margin: .25rem 0 0; }
.seitenkopf__eckdaten dl.preisliste dt,
.seitenkopf__eckdaten dl.preisliste dd { color: #fff; font-weight: 800; }
.seitenkopf__eckdaten .seitenkopf__fussnote { margin-top: 1rem; }
@media (min-width: 62rem) {
  .seite--paket .fliesstext--gegliedert > .textblock--auftakt { grid-column: 1 / -1; }
}
.textblock--kernaussage p {
  font-size: clamp(1.3rem, 2.2vw, 1.85rem); line-height: 1.4; font-weight: 500;
  max-width: 52rem; color: var(--farbe-text);
}
