

.sh-g{margin:0 0 46px;padding:0;font-family:inherit}
.sh-g figcaption{margin:0 0 20px}
.sh-g-ueber{display:block;font-size:12px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:#d10000;margin-bottom:7px}
.sh-g-titel{font-size:27px;font-weight:700;line-height:1.2;color:#1e1e1e;margin:0;
  letter-spacing:-.015em;text-transform:none}
.sh-g-quelle{margin:15px 0 0;font-size:13px;line-height:1.55;color:#6f6f6f;overflow-wrap:anywhere}
.sh-g-rollen{overflow-x:auto;-webkit-overflow-scrolling:touch;min-width:0;max-width:100%}

/* --- Ring --- */
.sh-g-ringraster{display:flex;gap:42px;align-items:center;flex-wrap:wrap}
.sh-g-ringbild{position:relative;flex:0 0 250px;width:250px;max-width:100%}
.sh-g-ringbild svg{display:block;width:100%;height:auto;overflow:visible}
.sh-g-bogen{transition-delay:var(--d,0ms);cursor:default}
@media (prefers-reduced-motion:no-preference){
  .sh-g-bogen{transition:stroke-dasharray .9s cubic-bezier(.22,.61,.36,1),opacity .2s}
  .sh-g--warten .sh-g-bogen{stroke-dasharray:0 1000;transition:none}
}
.sh-g--ring:hover .sh-g-bogen{opacity:.3}
.sh-g--ring .sh-g-bogen:hover,.sh-g-bogen.sh-g-an{opacity:1}
/* Das hervorgehobene Stueck wird etwas dicker - das liest sich schneller
   als ein reiner Helligkeitsunterschied. */
.sh-g-bogen{transition:stroke-width .2s,opacity .2s}
.sh-g-bogen.sh-g-an{stroke-width:40}
.sh-g-mitte{position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;pointer-events:none}
.sh-g-mitte--lang b{font-size:26px;letter-spacing:-.03em}
.sh-g-mitte{transition:opacity .15s}
.sh-g-mitte b{display:block;font-size:33px;font-weight:700;line-height:1.05;color:#1e1e1e;
  letter-spacing:-.02em}
.sh-g-mitte span{display:block;margin-top:2px;font-size:12px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:#6f6f6f}
.sh-g-ringtext{flex:1 1 300px;min-width:230px}
.sh-g-liste{width:100%;border-collapse:collapse;background:none !important}
.sh-g-erklaerung{margin:14px 0 0;font-size:14.5px;line-height:1.6;color:#444}
.sh-g-ringzahl{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;
  pointer-events:none;paint-order:stroke;transition:opacity .2s}
.sh-g--ring:hover .sh-g-ringzahl{opacity:.35}
.sh-g-ringzahl.sh-g-an{opacity:1}
.sh-g--warten .sh-g-ringzahl{opacity:0}
.sh-g-liste tr{background:none !important;cursor:default;transition:background-color .15s}
.sh-g-liste tr:hover,.sh-g-liste tr:focus{background:#f6f6f6 !important;outline:none}
.sh-g-liste th,.sh-g-liste td{padding:9px 6px;text-align:left;font-size:16px;
  border-bottom:1px solid #e4e4e4;background:none !important;color:#222;font-weight:400;
  height:auto;text-transform:none;letter-spacing:normal;vertical-align:baseline}
.sh-g-liste tr:last-child th,.sh-g-liste tr:last-child td{border-bottom:none}
.sh-g-name{font-weight:600 !important;white-space:normal;overflow-wrap:anywhere}
.sh-g-punkt{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:10px}
.sh-g-zusatz{color:#6f6f6f;font-size:14px !important}
.sh-g-wert{text-align:right !important;font-weight:700 !important;
  font-variant-numeric:tabular-nums;white-space:nowrap}

/* --- Balken --- */
.sh-g-balken{width:100%;border-collapse:collapse;table-layout:auto}
.sh-g-balken tr{background:none !important;transition:background-color .15s}
.sh-g-balken tr:hover,.sh-g-balken tr:focus{background:#f6f6f6 !important;outline:none}
.sh-g-balken th,.sh-g-balken td{padding:7px 10px 7px 0;border:0;background:none !important;
  font-weight:400;color:#222;text-transform:none;letter-spacing:normal;height:auto;
  vertical-align:middle;font-size:15px}
.sh-g-b-name{text-align:left !important;font-weight:500 !important;white-space:normal;
  width:1%;min-width:120px;overflow-wrap:anywhere;padding-right:16px !important}
.sh-g-b-spur{width:auto}
.sh-g-b-balken{display:block;height:14px;border-radius:0 4px 4px 0;width:var(--w,0%);
  transition:width .85s cubic-bezier(.22,.61,.36,1);transition-delay:var(--d,0ms)}
.sh-g--warten .sh-g-b-balken{width:0;transition:none}
.sh-g-b-wert{text-align:right !important;font-weight:700 !important;
  font-variant-numeric:tabular-nums;white-space:nowrap;width:1%;padding-left:14px !important}

/* --- Liste --- */
.sh-g-liste-punkte{list-style:none;margin:0;padding:0;counter-reset:none}
.sh-g-liste-punkte li{display:flex;gap:16px;padding:15px 0;border-bottom:1px solid #e4e4e4;
  opacity:1;transform:none}
.sh-g-liste-punkte li:last-child{border-bottom:none}
.sh-g-l-nr{flex:0 0 32px;height:32px;border-radius:6px;background:#d10000;color:#fff;
  font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;
  font-variant-numeric:tabular-nums}
.sh-g-l-text{min-width:0;overflow-wrap:anywhere;hyphens:auto}
.sh-g-l-text b{display:block;font-size:16px;font-weight:700;color:#1e1e1e;line-height:1.35}
.sh-g-l-text p{margin:5px 0 0;font-size:15px;line-height:1.55;color:#555}

/* --- Kacheln --- */
.sh-g-kacheln{list-style:none;margin:0;padding:0;display:grid;gap:14px;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--schmal,170px)),1fr))}
.sh-g-kacheln li{background:#f4f4f4;border-radius:8px;padding:18px 18px 20px;min-width:0;
  border-left:3px solid #d10000;transition:background-color .18s,transform .18s;
  overflow-wrap:anywhere;hyphens:auto}
.sh-g-kacheln li:hover{background:#ededed;transform:translateY(-2px)}
.sh-g-kacheln b{display:block;font-size:15px;font-weight:700;color:#1e1e1e;line-height:1.3}
.sh-g-kacheln p{margin:7px 0 0;font-size:14px;line-height:1.55;color:#555}

/* --- Ablauf --- */
.sh-g-ablauf{list-style:none;margin:0;padding:0;display:flex;gap:12px;flex-wrap:wrap}
.sh-g-ablauf li{flex:1 1 190px;min-width:0;position:relative;background:#f4f4f4;border-radius:8px;
  overflow-wrap:anywhere;hyphens:auto;
  padding:16px 16px 18px;transition:background-color .18s,transform .18s}
.sh-g-ablauf li:hover{background:#ededed;transform:translateY(-2px)}
.sh-g-a-nr{display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:26px;border-radius:50%;background:#d10000;color:#fff;
  font-size:13px;font-weight:700;margin-bottom:10px}
.sh-g-ablauf b{display:block;font-size:15px;font-weight:700;color:#1e1e1e;line-height:1.3}
.sh-g-ablauf p{margin:6px 0 0;font-size:14px;line-height:1.55;color:#555}

/* --- Pyramide --- */
.sh-g-pyramide{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;
  align-items:center;gap:6px}
.sh-g-pyramide li{box-sizing:border-box;width:var(--b,100%);background:#d10000;color:#fff;
  border-radius:5px;padding:14px 18px;text-align:center;transition:width .7s cubic-bezier(.22,.61,.36,1);
  transition-delay:var(--d,0ms)}
.sh-g-pyramide li:nth-child(2){background:#b30000}
.sh-g-pyramide li:nth-child(3){background:#8f0000}
.sh-g-pyramide li:nth-child(4){background:#5a5a5a}
.sh-g-pyramide li:nth-child(5){background:#1a1a1a}
.sh-g-pyramide li:nth-child(6){background:#3c3c3c}
.sh-g--warten .sh-g-pyramide li{width:40%}
.sh-g-p-stufe{display:block;font-size:15px;font-weight:700;letter-spacing:.03em}
.sh-g-p-text{display:block;margin-top:4px;font-size:13px;opacity:.9}

/* --- Zeitstrahl --- */
.sh-g-zeitstrahl{list-style:none;margin:0;padding:0 0 0 28px;position:relative}
.sh-g-zeitstrahl::before{content:"";position:absolute;left:8px;top:6px;bottom:6px;
  width:2px;background:#e4e4e4}
.sh-g-zeitstrahl li{position:relative;padding:0 0 22px}
.sh-g-zeitstrahl li::before{content:"";position:absolute;left:-26px;top:5px;width:14px;
  height:14px;border-radius:50%;background:#d10000;box-shadow:0 0 0 4px #fff}
.sh-g-z-punkt{display:inline-block;margin:0 0 6px 6px;border-radius:4px;background:#d10000;
  color:#fff;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:3px 9px;white-space:nowrap}
.sh-g-zeitstrahl b{display:block;font-size:16px;font-weight:700;color:#1e1e1e;
  line-height:1.3;margin-left:6px}
.sh-g-zeitstrahl p{margin:5px 0 0 6px;font-size:14px;line-height:1.55;color:#555}

/* --- Vergleich --- */
.sh-g-vergleich{display:grid;gap:16px;grid-template-columns:1fr 1fr;
  align-items:start}
.sh-g-v-spalte{border-radius:8px;padding:20px 20px 22px}
.sh-g-v-spalte--a{background:#d10000;color:#fff}
.sh-g-v-spalte--b{background:#f4f4f4;color:#1e1e1e}
.sh-g-v-spalte h4{margin:0 0 12px;font-size:16px;font-weight:700;letter-spacing:.02em}
.sh-g-v-spalte ul{list-style:none;margin:0;padding:0}
.sh-g-v-spalte li{font-size:14.5px;line-height:1.5;padding:6px 0 6px 18px;position:relative;
  overflow-wrap:anywhere;hyphens:auto}
.sh-g-v-spalte li::before{content:"";position:absolute;left:0;top:14px;width:7px;height:7px;
  border-radius:2px;background:currentColor;opacity:.55}

/* --- Nabe --- */
.sh-g-nabe{display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.sh-g-n-mitte{flex:0 0 172px;width:172px;height:172px;border-radius:50%;background:#1a1a1a;
  color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;
  font-size:17px;font-weight:700;padding:20px;line-height:1.25;
  overflow-wrap:anywhere;hyphens:auto}
.sh-g-n-mitte--mittel{font-size:14.5px;padding:16px;line-height:1.3}
.sh-g-n-mitte--lang{flex:0 0 210px;width:210px;height:auto;min-height:120px;
  border-radius:12px;font-size:14px;padding:18px 18px 20px;line-height:1.4}
.sh-g-n-speichen{flex:1 1 300px;list-style:none;margin:0;padding:0;display:flex;
  gap:9px;flex-wrap:wrap}
.sh-g-n-speichen li{background:#d10000;color:#fff;border-radius:999px;padding:9px 16px;
  max-width:100%;overflow-wrap:anywhere;
  font-size:14px;font-weight:600;transition:transform .18s,background-color .18s}
.sh-g-n-speichen li:hover{background:#a80000;transform:translateY(-2px)}
.sh-g-n-speichen--text{display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}
.sh-g-n-speichen--text li{background:#f4f4f4;color:#1e1e1e;border-radius:8px;
  border-left:3px solid #d10000;padding:13px 15px 15px;font-weight:400}
.sh-g-n-speichen--text li:hover{background:#ededed;transform:translateY(-2px)}
.sh-g-n-speichen--text .sh-g-n-gruppe{grid-column:1/-1;background:none;border:0;padding:6px 0 0;
  font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#6f6f6f}
.sh-g-n-speichen--text .sh-g-n-gruppe:hover{background:none;transform:none}
.sh-g-n-speichen--text b{display:block;font-size:14.5px;font-weight:700;line-height:1.3}
.sh-g-n-speichen--text p{margin:5px 0 0;font-size:13.5px;line-height:1.5;color:#555}

/* --- Weiche: ein Eingang, mehrere Ausgaenge --- */
.sh-g-weiche{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.sh-g-w-start{flex:0 0 210px;max-width:100%;background:#1a1a1a;color:#fff;border-radius:8px;
  padding:18px 20px;font-size:16px;font-weight:700;line-height:1.3;position:relative}
.sh-g-w-start::after{content:"";position:absolute;right:-13px;top:50%;margin-top:-7px;
  border:7px solid transparent;border-left-color:#1a1a1a}
.sh-g-w-aeste{flex:1 1 320px;list-style:none;margin:0;padding:0;display:grid;gap:12px}
.sh-g-w-aeste li{background:#f4f4f4;border-radius:8px;padding:15px 18px 17px;
  border-left:3px solid #d10000;transition:background-color .18s,transform .18s}
.sh-g-w-aeste li:hover{background:#ededed;transform:translateX(3px)}
.sh-g-w-aeste b{display:block;font-size:15px;font-weight:700;color:#1e1e1e;line-height:1.3}
.sh-g-w-aeste p{margin:6px 0 0;font-size:14px;line-height:1.55;color:#555}

/* --- Kennzahlen --- */
.sh-g-kennzahlen{list-style:none;margin:0;padding:0;display:flex;gap:14px;flex-wrap:wrap}
.sh-g-kennzahlen li{flex:1 1 150px;background:#f4f4f4;border-radius:8px;padding:18px 20px 20px;
  border-top:3px solid #d10000;transition:background-color .18s,transform .18s}
.sh-g-kennzahlen li:hover{background:#ededed;transform:translateY(-2px)}
.sh-g-kennzahlen b{display:block;font-size:30px;font-weight:700;line-height:1.05;color:#1e1e1e;
  letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.sh-g-kennzahlen span{display:block;margin-top:6px;font-size:14px;line-height:1.5;color:#555}

/* --- Sortierbare Tabelle --- */
.sh-g-tab{width:100%;border-collapse:collapse;font-size:15px;background:none !important}
.sh-g-tab thead th{background:#1a1a1a !important;color:#fff;font-size:12px;
  font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:13px 12px;
  text-align:left;vertical-align:middle;height:auto;border:0;white-space:nowrap}
/* Der Kopf bleibt nur bei langen Tabellen stehen. Bei kurzen wuerde er
   beim Scrollen ueber die eigenen Zeilen wandern und sie verdecken. */
.sh-g--haftkopf .sh-g-tab thead th{position:sticky;top:95px;z-index:3}
.sh-g-tab tbody tr{background:none !important;transition:background-color .15s}
.sh-g-tab tbody tr:nth-child(even) th,.sh-g-tab tbody tr:nth-child(even) td{
  background-color:#efefef}
.sh-g-tab tbody tr:hover th,.sh-g-tab tbody tr:hover td{background-color:#e2e2e2}
.sh-g-tab tbody th,.sh-g-tab tbody td{padding:12px;border:0;color:#222;font-weight:400;
  text-transform:none;letter-spacing:normal;height:auto;vertical-align:middle;
  background-color:#f7f7f7}
.sh-g-t-name{font-weight:600 !important;line-height:1.3;text-align:left !important;
  position:relative}
/* Hinter der Zeilenueberschrift liegt ein Balken in der Groessenordnung der
   Spalte, nach der gerade sortiert wird. So sieht man die Verhaeltnisse, ohne
   die Zahlen zu vergleichen - und beim Umsortieren wandert er mit. */
.sh-g-t-name::before{content:"";position:absolute;left:0;top:0;bottom:0;
  width:var(--w,0%);background:rgba(209,0,0,.13);
  transition:width .5s cubic-bezier(.22,.61,.36,1);pointer-events:none}
.sh-g--warten .sh-g-t-name::before{width:0;transition:none}
.sh-g-t-name > *{position:relative}
.sh-g-t-pos{text-align:right !important;color:#8a8a8a;font-variant-numeric:tabular-nums;
  width:46px;padding-right:14px !important}
.sh-g-t-r{text-align:right !important}
.sh-g-tab tbody td.sh-g-t-r{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.sh-g-t-sort{appearance:none;background:none;border:0;padding:0;margin:0;cursor:pointer;
  font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;
  display:inline-flex;align-items:center;gap:6px}
.sh-g-t-sort:hover,.sh-g-t-sort:focus-visible{color:#ffb3b3}
.sh-g-t-sort:focus-visible{outline:2px solid #fff;outline-offset:3px}
.sh-g-t-r .sh-g-t-sort{flex-direction:row-reverse}
.sh-g-t-pfeil{width:9px;height:9px;opacity:.35;flex:0 0 9px;background:currentColor;
  clip-path:polygon(50% 100%,0 35%,100% 35%);transform:rotate(180deg)}
[aria-sort="ascending"] .sh-g-t-pfeil{opacity:1;transform:rotate(0deg)}
[aria-sort="descending"] .sh-g-t-pfeil{opacity:1;transform:rotate(180deg)}

/* --- Gruppierte Balken (Saeulen) --- */
.sh-g-legende{list-style:none;margin:0 0 16px;padding:0;display:flex;gap:20px;flex-wrap:wrap;
  font-size:14px;color:#444}
.sh-g-legende li{display:flex;align-items:center}
.sh-g-gruppen{list-style:none;margin:0;padding:0;display:flex;gap:10px;align-items:flex-end;
  min-height:230px}
.sh-g-gruppen li{flex:1 1 0;min-width:84px;display:flex;flex-direction:column;
  align-items:center;justify-content:flex-end;gap:8px;
  transition:opacity .45s ease,transform .45s;transition-delay:var(--d,0ms)}
.sh-g-gruppen li:focus{outline:2px solid #1a1a1a;outline-offset:3px}
.sh-g-gb-saeulen{display:flex;gap:5px;align-items:flex-end;height:190px;width:100%;
  justify-content:center}
.sh-g-gb-spur{position:relative;flex:1 1 0;max-width:26px;height:100%;
  display:flex;align-items:flex-end}
.sh-g-gb-balken{display:block;width:100%;border-radius:4px 4px 0 0;
  transition:height .85s cubic-bezier(.22,.61,.36,1);transition-delay:var(--d,0ms)}
.sh-g-gb-spur:nth-child(1) .sh-g-gb-balken{height:var(--h0,0%)}
.sh-g-gb-spur:nth-child(2) .sh-g-gb-balken{height:var(--h1,0%)}
.sh-g-gb-spur:nth-child(3) .sh-g-gb-balken{height:var(--h2,0%)}
.sh-g-gb-spur:nth-child(4) .sh-g-gb-balken{height:var(--h3,0%)}
.sh-g--warten .sh-g-gb-balken{height:0;transition:none}
.sh-g-gb-werte{display:block;font-size:11px;font-weight:700;color:#1e1e1e;
  font-variant-numeric:tabular-nums;text-align:center;margin-top:-2px;line-height:1.35;
  white-space:normal;overflow-wrap:anywhere;width:100%;padding:0 2px}
.sh-g-gb-name{font-size:12.5px;line-height:1.3;color:#444;text-align:center;
  hyphens:auto;overflow-wrap:anywhere;min-height:3.9em;width:100%;
  border-top:1px solid #e0e0e0;padding-top:7px}

/* --- Schaubild (Weiche) --- */
.sh-g-schaubild{margin:0 0 18px}
.sh-g-schaubild svg{display:block;width:100%;height:auto}
.sh-g-w-marke{font-size:11px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;fill:#6f6f6f}
.sh-g-w-nr{font-size:15px;font-weight:700;fill:#fff}
.sh-g-w-knopf{font-size:7.5px;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;fill:#fff}
.sh-g-w-kastentext{font-size:11.5px;font-weight:700;letter-spacing:.03em}
/* Beim Ueberfahren tritt ein Weg hervor, die uebrigen treten zurueck. */
.sh-g-schaubild:hover .sh-g-w-pfad{opacity:.28}
.sh-g-w-pfad{transition:opacity .2s}
.sh-g-w-pfad:hover,.sh-g-w-pfad.sh-g-an{opacity:1}
.sh-g-w-pfad.sh-g-an .sh-g-w-weg{stroke:#d10000}
.sh-g-w-eintrag.sh-g-an{background:#ededed}
.sh-g-w-pfad,.sh-g-w-ziel{transition:opacity .2s}
.sh-g--weiche:hover .sh-g-w-pfad,.sh-g--weiche:hover .sh-g-w-ziel{opacity:.3}
.sh-g-w-pfad.sh-g-an,.sh-g-w-ziel.sh-g-an{opacity:1}
.sh-g-w-liste{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.sh-g-w-eintrag{display:flex;gap:13px;align-items:flex-start;background:#f4f4f4;
  border-radius:8px;padding:13px 16px 15px;transition:background-color .18s;
  min-width:0;overflow-wrap:anywhere}
.sh-g-w-eintrag:hover,.sh-g-w-eintrag:focus{background:#ededed;outline:none}
.sh-g-w-punkt{flex:0 0 24px;height:24px;border-radius:6px;color:#fff;font-size:13px;
  font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:1px}
.sh-g-w-eintrag b{display:block;font-size:15px;font-weight:700;color:#1e1e1e;line-height:1.3}
.sh-g-w-eintrag p{margin:5px 0 0;font-size:14px;line-height:1.55;color:#555}
@media (prefers-reduced-motion:no-preference){
  .sh-g--warten .sh-g-w-eintrag{opacity:0;transform:translateY(12px)}
  .sh-g-w-eintrag{transition:opacity .45s ease,transform .45s cubic-bezier(.22,.61,.36,1),
    background-color .18s;transition-delay:var(--d,0ms)}
  .sh-g--warten .sh-g-schaubild svg{opacity:0}
  .sh-g-schaubild svg{transition:opacity .5s ease}
}

/* Beim Scrollen einblenden - ohne JavaScript ist alles sofort da. */
@media (prefers-reduced-motion:no-preference){
  .sh-g--warten .sh-g-liste-punkte li,
  .sh-g--warten .sh-g-kacheln li,
  .sh-g--warten .sh-g-ablauf li,
  .sh-g--warten .sh-g-zeitstrahl li,
  .sh-g--warten .sh-g-n-speichen li,
  .sh-g--warten .sh-g-w-aeste li,
  .sh-g--warten .sh-g-kennzahlen li,
  .sh-g--warten .sh-g-gruppen li{opacity:0;transform:translateY(12px)}
  .sh-g-liste-punkte li,.sh-g-kacheln li,.sh-g-ablauf li,.sh-g-zeitstrahl li,
  .sh-g-n-speichen li,.sh-g-w-aeste li,.sh-g-kennzahlen li{
    transition:opacity .45s ease,transform .45s cubic-bezier(.22,.61,.36,1),
      background-color .18s;transition-delay:var(--d,0ms)}
}

@media (max-width:700px){
  .sh-g-titel{font-size:22px}
  .sh-g-ringraster{gap:22px}
  .sh-g-ringbild{flex:0 0 196px;width:196px;margin:0 auto}
  .sh-g-mitte b{font-size:27px}
  .sh-g-mitte--lang b{font-size:21px}
  .sh-g-liste{min-width:0;flex:1 1 100%}
  .sh-g-zusatz{display:none}
  .sh-g-vergleich{grid-template-columns:1fr}
  .sh-g-b-name{min-width:110px;font-size:14px !important}
  .sh-g-nabe{gap:18px}
  .sh-g-n-mitte{margin:0 auto}
  .sh-g-n-mitte--lang{flex:1 1 100%;width:auto}
  .sh-g-n-speichen--text{grid-template-columns:1fr}
  .sh-g-weiche{gap:16px}
  .sh-g-w-start{flex:1 1 100%}
  .sh-g-w-start::after{right:50%;top:auto;bottom:-13px;margin:0 -7px 0 0;
    border-left-color:transparent;border-top-color:#1a1a1a}
  .sh-g-kennzahlen b{font-size:25px}
  .sh-g-tab{min-width:540px;font-size:14px}
  .sh-g-tab thead th,.sh-g-tab tbody th,.sh-g-tab tbody td{padding:10px 8px}
  .sh-g-gruppen{gap:6px}
  .sh-g-gruppen li{min-width:58px}
  .sh-g-gb-name{font-size:11px}
  .sh-g-gb-werte{font-size:10.5px}
}

/* Fuenf einzeln gebaute Grafiken. Farben Pixel fuer Pixel aus den Vorlagen.
   Ohne JavaScript ist alles vollstaendig da; JS blendet nur ein und koppelt. */

/* Jede Grafik ist ihr eigener Bezugsrahmen. Die Umbrueche richten sich danach,
   wie breit das Feld ist - nicht danach, wie breit das Fenster ist. Auf den
   Seiten steht dieselbe Grafik mal in einer halben Spalte (630 px), mal ueber
   die volle Breite; mit Fensterabfragen geht das eine oder das andere schief. */
.eg{--rot:#d10000;--hell:#f08080;--mittel:#e04040;--dunkel:#7a0000;
  --tinte:#1e1e1e;--flaeche:#f0f0f0;--linie:#8e8e8e;
  margin:0 0 46px;padding:0;font-family:inherit;color:var(--tinte);
  container-type:inline-size;container-name:eg}
.eg figcaption{margin:0 0 22px}
.eg-ueber{display:block;font-size:12px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--rot);margin-bottom:7px}
.eg-titel{font-size:27px;font-weight:700;line-height:1.2;color:var(--tinte);margin:0;
  letter-spacing:-.015em;text-transform:none;
  overflow-wrap:break-word;hyphens:auto}
.eg-fuss{margin:16px 0 0;font-size:13px;line-height:1.55;color:#6f6f6f;
  overflow-wrap:anywhere}
.eg-symbol{display:block;color:inherit}
.eg *{box-sizing:border-box}

/* ---------------------------------------------- 1. Google Ads */
.eg-ads{background:var(--flaeche);border-radius:10px;padding:22px 16px 22px}
.eg-ads-quelle{margin:0 auto 0;max-width:340px;text-align:center}
.eg-ads-quelle span{display:block;background:var(--rot);color:#fff;
  border-radius:999px;padding:14px 22px;font-size:17px;font-weight:800;
  letter-spacing:.06em;text-transform:uppercase}
/* Fuenf Kapseln nebeneinander, wie in der Vorlage. minmax(0,1fr) ist noetig,
   damit die Spalten unter ihre Mindestbreite schrumpfen duerfen - sonst
   drueckt der laengste Name die Reihe auseinander. */
.eg-ads-liste{list-style:none;margin:0;padding:0;display:grid;gap:10px;
  grid-template-columns:repeat(5,minmax(0,1fr))}
@container eg (max-width:468px){
  .eg-ads-liste{grid-template-columns:repeat(3,minmax(0,1fr))}
  /* Die Winkel der Vorlage ergeben nur in einer Reihe einen Sinn. Bricht die
     Reihe um, zeigten sie ins Leere - dann bleibt der gerade Pfeil. */
  .eg-ads-weg .eg-ads-arm{display:none}
  .eg-ads-weg .eg-ads-lot{left:50%;top:4px;right:auto;
    transform:translateX(-50%) !important;height:auto;bottom:9px}
}
@container eg (max-width:330px){.eg-ads-liste{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Die Kapsel bleibt eine Kapsel, auch wenn die Spalte breit wird -
   sonst wird aus der Pille ein Kreis. */
.eg-ads-kapsel{max-width:150px;margin:0 auto}
.eg-ads-kachel{min-width:0;position:relative;padding-top:44px;outline:none}
/* Die Wege der Vorlage sind nicht alle gleich: aussen ein Winkel, der von den
   Enden der Pille ausgeht, daneben ein schraeger Pfeil, in der Mitte ein
   gerader. Genau diese Staffelung nimmt dem Bild die Gleichfoermigkeit. */
.eg-ads-weg{position:absolute;left:0;right:0;top:0;height:38px;
  color:var(--tinte);transition:color .2s}
.eg-ads-weg i{position:absolute;background:currentColor;display:block}
.eg-ads-arm{height:2px;top:9px}
.eg-ads-lot{width:2px;bottom:9px}
.eg-ads-lot::after{content:"";position:absolute;left:50%;bottom:-9px;
  width:0;height:0;transform:translateX(-50%);
  border-left:5px solid transparent;border-right:5px solid transparent;
  border-top:9px solid currentColor}
/* 1 und 5: Winkel nach aussen. Der Arm laeuft von der Mitte zum Rand,
   dort faellt das Lot. */
.eg-ads-weg--1 .eg-ads-arm{left:22%;right:0}
.eg-ads-weg--1 .eg-ads-lot{left:22%;top:9px}
.eg-ads-weg--5 .eg-ads-arm{left:0;right:22%}
.eg-ads-weg--5 .eg-ads-lot{right:22%;top:9px}
/* 2 und 4: ein schraeger Pfeil. */
.eg-ads-weg--2 .eg-ads-arm,.eg-ads-weg--4 .eg-ads-arm{display:none}
.eg-ads-weg--2 .eg-ads-lot{left:50%;top:4px;height:31px;
  transform:translateX(-50%) rotate(20deg);transform-origin:top center}
.eg-ads-weg--4 .eg-ads-lot{left:50%;top:4px;height:31px;
  transform:translateX(-50%) rotate(-20deg);transform-origin:top center}
/* 3: gerade nach unten. */
.eg-ads-weg--3 .eg-ads-arm{display:none}
.eg-ads-weg--3 .eg-ads-lot{left:50%;top:4px;transform:translateX(-50%)}
@media (prefers-reduced-motion:no-preference){
  .eg-ads-weg{transition:opacity .4s,color .2s;transition-delay:var(--verzug,0ms),0s}
  .eg--warten .eg-ads-weg{opacity:0;transition:none}
}
.eg-ads-kapsel{display:flex;flex-direction:column;align-items:center;gap:8px;
  background:var(--hell);color:#fff;border-radius:999px;padding:18px 4px 16px;
  text-align:center;min-height:164px;justify-content:center;min-width:0;
  transition:background-color .2s,transform .2s}
.eg-ads-kachel:hover .eg-ads-kapsel,.eg-ads-kachel:focus .eg-ads-kapsel,
.eg-ads-kachel.eg-an .eg-ads-kapsel{background:var(--rot);transform:translateY(-3px)}
.eg-ads-kachel:hover .eg-ads-weg,.eg-ads-kachel:focus .eg-ads-weg,
.eg-ads-kachel.eg-an .eg-ads-weg{color:var(--rot)}
/* Die Umbruchstellen kommen aus dem Markup; hier wird nichts mehr getrennt,
   damit kein Wort mittendrin bricht. */
.eg-ads-name{display:block;font-size:10.1px;font-weight:800;line-height:1.3;
  letter-spacing:0;text-transform:uppercase;overflow-wrap:normal;
  word-break:keep-all;max-width:100%}

/* Die Erlaeuterung erscheint erst beim Ueberfahren - im Ruhezustand sieht die
   Kachel aus wie die Vorlage, beim Hinsehen sagt sie mehr. */
.eg-ads-text{display:block;font-size:10.8px;line-height:1.4;max-width:100%;
  hyphens:auto;overflow-wrap:break-word;
  max-height:0;opacity:0;overflow:hidden;transition:max-height .28s,opacity .2s}
.eg-ads-kachel:hover .eg-ads-text,.eg-ads-kachel:focus .eg-ads-text,
.eg-ads-kachel.eg-an .eg-ads-text{max-height:92px;opacity:1}
@media (prefers-reduced-motion:reduce){
  .eg-ads-text{max-height:none;opacity:1}
}

/* ------------------------------------------ 2. Onpage / Offpage */
.eg-sicht{display:flex;flex-direction:column;gap:9px;position:relative}
.eg-band{background:var(--hell);border-radius:12px;padding:22px 18px;
  display:grid;grid-template-columns:minmax(110px,25%) 1fr;gap:14px;align-items:center;
  transition:background-color .2s;overflow:visible}
.eg-sicht>.eg-band+.eg-band{margin-top:0}
.eg-sicht.eg-gewaehlt .eg-band{background:#f4a0a0}
.eg-sicht.eg-gewaehlt .eg-band.eg-an{background:var(--hell)}
.eg-band-marke{margin:0;font-size:13px;font-weight:800;line-height:1.3;
  letter-spacing:.05em;text-transform:uppercase;color:#fff;overflow-wrap:anywhere}
.eg-band-feld{display:flex;justify-content:center;gap:12px;min-width:0;
  position:relative}
.eg-band-feld--zwei{display:grid;grid-template-columns:1fr 1fr;gap:12px}
/* Der Verteiler sitzt als eigene Lage ueber dem Band und reicht in die Fuge
   hinauf - so treffen die Lote genau die Mitte der Kaesten darunter. */
.eg-zweig{position:absolute;left:0;right:0;top:-26px;height:26px;pointer-events:none}
.eg-zweig--klein{top:-20px;height:20px}
.eg-zweig b{position:absolute;background:#c46e6e;display:block}
.eg-zweig-lot{left:50%;top:0;width:1.5px;height:50%;transform:translateX(-50%)}
.eg-zweig-quer{top:calc(50% - .75px);height:1.5px}
.eg-zweig-fuesse{position:absolute;left:0;right:0;top:50%;bottom:0}
.eg-zweig-fuesse i{position:absolute;top:0;bottom:0;width:1.5px;
  background:#c46e6e;transform:translateX(-50%)}
.eg-knoten{display:flex;align-items:center;justify-content:center;text-align:center;
  border-radius:9px;color:#fff;font-size:13px;font-weight:800;line-height:1.25;
  letter-spacing:.02em;text-transform:uppercase;padding:14px 8px;min-width:0;
  /* Trennung an der Silbe, nicht mitten im Wort. Das innere Textstueck
     braucht ebenfalls min-width:0, sonst schiebt es den Kasten auf. */
  hyphens:auto;overflow-wrap:break-word;word-break:break-word;overflow:hidden;
  transition:transform .2s,box-shadow .2s}
.eg-knoten--wurzel{background:var(--mittel);min-height:66px;width:min(100%,300px)}
.eg-knoten--ast{background:var(--rot);min-height:74px;cursor:default;outline:none}
.eg-knoten--ast:hover,.eg-knoten--ast:focus,.eg-knoten--ast.eg-an{
  transform:translateY(-2px);box-shadow:0 4px 14px rgba(0,0,0,.22)}
.eg-blattgruppe{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;
  min-width:0;position:relative}
.eg-knoten--blatt{background:var(--dunkel);font-size:10px;min-height:74px;
  padding:9px 3px;letter-spacing:0;line-height:1.32;
  transition:transform .2s,opacity .2s}
.eg-blattgruppe.eg-an .eg-knoten--blatt{transform:translateY(-2px)}
@media (prefers-reduced-motion:no-preference){
  .eg-band{transition:background-color .2s,opacity .4s,transform .4s}
  .eg--warten .eg-band{opacity:0;transform:translateY(10px)}
  .eg-band:nth-child(2){transition-delay:.12s}
  .eg-band:nth-child(3){transition-delay:.24s}
}
@container eg (max-width:520px){
  .eg-band{grid-template-columns:1fr;gap:12px}
  .eg-blattgruppe{grid-template-columns:1fr}
  .eg-zweig{display:none}
}

/* --------------------------------- 3. SEO-Massnahmen im E-Commerce */
.eg-ecom{display:grid;grid-template-columns:minmax(168px,31%) 1fr;gap:24px;
  align-items:center;background:var(--flaeche);border-radius:10px;padding:22px 18px}
.eg-ecom-kasten{margin:0}
/* Die Umbruchstellen stehen im Markup, hier wird nichts mehr getrennt -
   sonst bricht der Kasten schon nach "SEO-MASS" um. */
.eg-ecom-kasten span{display:block;background:var(--rot);color:#fff;padding:26px 10px;
  font-size:15.5px;font-weight:800;line-height:1.34;letter-spacing:.03em;
  text-transform:uppercase;text-align:center;overflow-wrap:normal;word-break:keep-all;
  hyphens:none}
.eg-ecom-liste{list-style:none;margin:0;padding:0;counter-reset:none;min-width:0}
/* Zwei Spalten wie das Markup: Kreis und Text. Der graue Winkel liegt als
   eigene Lage links daneben, ausserhalb des Rasters - so bleibt er beim
   Umbrechen aussen vor. */
.eg-ecom-zeile{display:grid;grid-template-columns:48px 1fr;gap:13px;
  align-items:start;padding:9px 0;margin-left:26px;
  border-bottom:1px solid #e0e0e0;min-width:0;
  outline:none;position:relative;transition:background-color .18s}
.eg-ecom-zeile:last-child{border-bottom:none}
/* Der graue Winkel vom Kasten zum Kreis - in der Vorlage fuehrt er
   von einem Punkt links zu jedem der vier Kreise. */
.eg-ecom-zeile::before{content:"";position:absolute;left:-26px;top:33px;width:26px;
  height:1.5px;background:#bdbdbd}
.eg-ecom-zeile::after{content:"";position:absolute;left:-26px;width:1.5px;
  background:#bdbdbd}
.eg-ecom-zeile:first-child::after{top:33px;bottom:-9px}
.eg-ecom-zeile:last-child::after{top:-9px;bottom:calc(100% - 33px)}
.eg-ecom-zeile:not(:first-child):not(:last-child)::after{top:-9px;bottom:-9px}
.eg-ecom-zeile:hover,.eg-ecom-zeile:focus,.eg-ecom-zeile.eg-an{background:#e7e7e7}
.eg-ecom-kreis{display:flex;align-items:center;justify-content:center;
  width:48px;height:48px;border-radius:50%;background:var(--rot);color:#fff;
  transition:transform .2s}
.eg-ecom-zeile:hover .eg-ecom-kreis,.eg-ecom-zeile:focus .eg-ecom-kreis,
.eg-ecom-zeile.eg-an .eg-ecom-kreis{transform:scale(1.07)}
.eg-ecom-text{min-width:0}
.eg-ecom-text b{display:block;font-size:13px;font-weight:800;line-height:1.26;
  letter-spacing:.03em;text-transform:uppercase;overflow-wrap:anywhere}
.eg-ecom-text p{margin:4px 0 0;font-size:13px;line-height:1.45;color:#3a3a3a;
  overflow-wrap:break-word;hyphens:auto}
@media (prefers-reduced-motion:no-preference){
  .eg-ecom-zeile{transition:background-color .18s,opacity .4s,transform .4s;
    transition-delay:0s,var(--verzug,0ms),var(--verzug,0ms)}
  .eg--warten .eg-ecom-zeile::before,.eg--warten .eg-ecom-zeile::after{opacity:0}
  .eg--warten .eg-ecom-zeile{opacity:0;transform:translateX(-14px)}
}
@container eg (max-width:520px){
  .eg-ecom{grid-template-columns:1fr;gap:18px}
  .eg-ecom-zeile{grid-template-columns:48px 1fr;gap:12px;margin-left:0}
  .eg-ecom-zeile::before,.eg-ecom-zeile::after{display:none}
  .eg-ecom-kreis{width:48px;height:48px}
  .eg-ecom-kreis .eg-symbol{width:32px;height:32px}
}

/* ------------------------------------------- 4. Core Web Vitals */
.eg-cwv-bild{max-width:380px;margin:0 auto}
.eg-cwv-bild svg{display:block;width:100%;height:auto}
/* Beim Ueberfahren faehrt nur das beruehrte Stueck ein Stueck heraus.
   Kein Abdunkeln, keine Farbaenderung - sonst wird der ganze Kreis unleserlich,
   und man liest ausgerechnet das nicht mehr, worauf man zeigt. */
.eg-cwv-stueck,.eg-cwv-marke{transform-box:view-box;transform-origin:160px 160px}
.eg-cwv-stueck{transition:transform .25s cubic-bezier(.22,.61,.36,1)}
.eg-cwv-marke{pointer-events:none;transition:transform .25s cubic-bezier(.22,.61,.36,1)}
.eg-cwv-stueck.eg-an,.eg-cwv-marke.eg-an{transform:var(--aus,none)}
/* Schriftgroessen in viewBox-Einheiten: sie skalieren mit dem Kreis mit. */
.eg-cwv-name{font-size:9.4px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
.eg-cwv-ziel{font-size:8.6px;font-weight:400}
.eg-cwv-nabe{font-size:10.5px;font-weight:800;fill:var(--tinte);letter-spacing:.01em;
  text-transform:uppercase}
.eg-cwv-stueck{cursor:default}
@media (prefers-reduced-motion:no-preference){
  .eg--warten .eg-cwv-stueck{transform:scale(.55);opacity:0}
  .eg--warten .eg-cwv-marke{opacity:0}
  .eg-cwv-stueck{transition:transform .55s cubic-bezier(.22,.61,.36,1),opacity .4s}
  .eg-cwv-marke{transition:transform .25s cubic-bezier(.22,.61,.36,1),opacity .4s}
}
/* Dieselben Angaben noch einmal als Liste: fuer Vorlesen, Suche und schmale
   Felder, in denen die Beschriftung im Kreis zu klein wuerde. */
.eg-cwv-liste{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:2px}
.eg-cwv-liste li{display:grid;grid-template-columns:16px 1fr;gap:11px;align-items:baseline;
  padding:9px 8px;border-radius:6px;outline:none;transition:background-color .15s}
.eg-cwv-liste li:hover,.eg-cwv-liste li:focus,.eg-cwv-liste li.eg-an{background:#f2f2f2}
.eg-cwv-punkt{width:12px;height:12px;border-radius:3px;align-self:center}
.eg-cwv-liste b{font-size:15.5px;font-weight:700}
.eg-cwv-liste span:last-child{grid-column:2;font-size:14px;color:#5d5d5d}
@container eg (max-width:400px){
  .eg-cwv-name,.eg-cwv-ziel,.eg-cwv-kurz{display:none}
  .eg-cwv-bild{max-width:240px}
}

/* --------------------------------------------------- 5. Cloaking */
.eg-cloak{display:grid;grid-template-columns:minmax(140px,32%) 1fr;gap:38px;
  align-items:center;background:var(--flaeche);border-radius:10px;padding:24px 20px}
.eg-cloak-quelle{text-align:center;min-width:0}
.eg-cloak-marke{margin:12px 0 0;font-size:11.5px;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;color:#6f6f6f;line-height:1.35}
.eg-cloak-liste{list-style:none;margin:0;padding:0;display:grid;gap:16px;min-width:0}
.eg-cloak-ast{display:grid;grid-template-columns:58px 1fr;gap:14px;
  align-items:center;min-width:0;outline:none;position:relative;margin-left:24px}
/* Der Weg von der Quellseite zu jedem Kreis, mit Spitze - die Vorlage
   zeigt zwei Pfeile, und sie tragen die Aussage: einmal hin, einmal dorthin. */
.eg-cloak-ast::before{content:"";position:absolute;left:-24px;top:50%;width:24px;
  height:1.6px;background:#9a9a9a;transform:translateY(-50%)}
.eg-cloak-ast::after{content:"";position:absolute;left:-7px;top:50%;width:0;height:0;
  transform:translateY(-50%);border-top:4.5px solid transparent;
  border-bottom:4.5px solid transparent;border-left:7px solid #9a9a9a}
.eg-cloak-liste{position:relative}
/* Die senkrechte Sammelschiene, an der beide Wege haengen. */
.eg-cloak-liste::before{content:"";position:absolute;left:0;
  top:25%;bottom:25%;width:1.6px;background:#9a9a9a}
.eg-cloak-liste::after{content:"";position:absolute;left:-16px;top:50%;width:16px;
  height:1.6px;background:#9a9a9a;transform:translateY(-50%)}
.eg-cloak-kreis{display:flex;align-items:center;justify-content:center;
  width:58px;height:58px;border-radius:50%;background:var(--rot);color:#fff;
  transition:transform .2s}
.eg-cloak-ast:hover .eg-cloak-kreis,.eg-cloak-ast:focus .eg-cloak-kreis,
.eg-cloak-ast.eg-an .eg-cloak-kreis{transform:scale(1.08)}
.eg-cloak-ziel{min-width:0}
.eg-cloak-ziel b{display:block;margin-top:9px;font-size:14px;font-weight:800;
  letter-spacing:.05em;text-transform:uppercase}
.eg-cloak-ziel>span{display:block;margin-top:3px;font-size:13.5px;line-height:1.5;
  color:#4a4a4a;overflow-wrap:anywhere}
@media (prefers-reduced-motion:no-preference){
  .eg-cloak-ast{transition:opacity .4s,transform .4s;
    transition-delay:var(--verzug,0ms)}
  .eg--warten .eg-cloak-ast{opacity:0;transform:translateX(-16px)}
}
/* Die angedeutete Seite - Kopfleiste, Zeilen, Knopf, wahlweise Bildflaeche. */
.eg-seite{display:block;background:#fff;border:1.5px solid #ddd;border-radius:7px;
  overflow:hidden;transition:border-color .2s,box-shadow .2s}
.eg-seite--quelle{border-color:#cfcfcf}
.eg-cloak-ast:hover .eg-seite,.eg-cloak-ast:focus .eg-seite,
.eg-cloak-ast.eg-an .eg-seite{border-color:var(--rot);
  box-shadow:0 3px 12px rgba(209,0,0,.15)}
.eg-seite-kopf{display:flex;gap:4px;padding:7px 9px;background:#f6f6f6;
  border-bottom:1px solid #e6e6e6}
.eg-seite-kopf i{width:5px;height:5px;border-radius:50%;background:#c9c9c9}
.eg-seite-leib{display:block;padding:10px 10px 12px}
.eg-seite-reihe{display:flex;align-items:center;gap:7px;margin-bottom:9px}
.eg-seite-feld{flex:1 1 auto;height:15px;border-radius:3px;background:var(--rot)}
.eg-seite-knopf{flex:0 0 auto;background:var(--tinte);color:#fff;border-radius:3px;
  padding:3px 7px;font-size:8.5px;font-weight:800;letter-spacing:.04em;
  text-transform:uppercase;white-space:nowrap}
.eg-seite-reihe--bild{align-items:flex-start}
.eg-seite-zeilen{display:block;flex:1 1 auto;min-width:0}
.eg-seite-zeilen i{display:block;height:5px;border-radius:2.5px;background:#ddd;
  margin-bottom:5px}
.eg-seite-zeilen i:nth-child(3n){width:62%}
.eg-seite-bild{flex:0 0 38%;height:37px;border-radius:3px;background:#ededed;
  border:1px solid #e0e0e0;position:relative}
/* Bildplatzhalter: angedeuteter Berg mit Sonne, wie in der Vorlage. */
.eg-seite-bild::before{content:"";position:absolute;right:8px;top:7px;
  width:6px;height:6px;border-radius:50%;background:#c9c9c9}
.eg-seite-bild::after{content:"";position:absolute;left:6px;right:6px;bottom:6px;
  height:14px;clip-path:polygon(0 100%,30% 38%,52% 72%,68% 52%,100% 100%);
  background:#c9c9c9}
.eg-seite-zeilen--voll i:last-child{margin-bottom:0}
@container eg (max-width:520px){
  .eg-cloak{grid-template-columns:1fr;gap:20px}
  .eg-cloak-ast{grid-template-columns:46px 1fr;gap:11px;margin-left:0}
  .eg-cloak-ast::before,.eg-cloak-ast::after,
  .eg-cloak-liste::before,.eg-cloak-liste::after{display:none}
  .eg-cloak-kreis{width:46px;height:46px}
  .eg-cloak-kreis .eg-symbol{width:31px;height:31px}
}

/* ------------------------------- 6. Top-Branchen Radio und TV */
.eg-br{background:var(--flaeche);border-radius:10px;padding:20px 18px 16px}
.eg-br-unter{margin:0 auto 18px;font-size:15px;line-height:1.5;color:#3c3c3c;
  max-width:46ch;text-align:center}
.eg-br-block{display:grid;grid-template-columns:22px 1fr;gap:13px;align-items:center;
  padding:4px 0 12px}
.eg-br-block+.eg-br-block{padding-top:10px}
/* Die senkrechte Blockbeschriftung der Vorlage - sie haelt die vier Balken
   sichtbar zusammen und sagt, worauf sie sich beziehen. */
.eg-br-marke{margin:0;font-size:14px;font-weight:900;letter-spacing:.12em;
  text-transform:uppercase;color:var(--tinte);white-space:nowrap;
  writing-mode:vertical-rl;transform:rotate(180deg);justify-self:center;
  -webkit-text-stroke:.4px currentColor}
.eg-br-zeilen{list-style:none;margin:0;padding:0;min-width:0}
.eg-br-zeile{display:grid;grid-template-columns:minmax(74px,26%) 1fr;
  gap:11px;align-items:center;padding:4px 0;outline:none;min-width:0;
  transition:background-color .15s}
.eg-br-zeile:hover,.eg-br-zeile:focus,.eg-br-zeile.eg-an{background:#e6e6e6}
.eg-br-name{font-size:14.5px;text-align:right;overflow-wrap:break-word;hyphens:auto}
/* Der Wert steht direkt am Balkenende, nicht in einer eigenen Spalte -
   so wie in der Vorlage. */
.eg-br-spur{min-width:0;display:flex;align-items:center;gap:11px}
.eg-br-balken{display:block;height:27px;width:var(--anteil,0%);flex:0 0 auto}
.eg-br-wert{font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap;
  flex:0 0 auto}
.eg-br-quelle{margin:6px 0 0;font-size:12.5px;color:#6f6f6f}
@media (prefers-reduced-motion:no-preference){
  .eg-br-balken{transition:width .8s cubic-bezier(.22,.61,.36,1);
    transition-delay:var(--verzug,0ms)}
  .eg--warten .eg-br-balken{width:0;transition:none}
}
@container eg (max-width:460px){
  .eg-br-block{grid-template-columns:1fr;gap:8px}
  .eg-br-marke{writing-mode:horizontal-tb;transform:none;justify-self:start;
    -webkit-text-stroke:0}
  .eg-br-zeile{grid-template-columns:minmax(64px,30%) 1fr;gap:9px}
  .eg-br-balken{height:26px}
}

/* ------------------------------------------- Ergaenzungen */
/* Ein Hinweis, der in der Vorlage fehlt, aber zur Sache gehoert. */
.eg-warnung{margin:16px 0 0;padding:13px 16px;border-left:3px solid var(--rot);
  background:#fdf2f2;font-size:14.5px;line-height:1.55;color:#3a3a3a;
  overflow-wrap:anywhere}
.eg-warnung b{color:var(--rot)}
.eg-br-lesart{margin:14px 0 0;padding:13px 16px;background:#e8e8e8;border-radius:7px;
  font-size:14.5px;line-height:1.55;color:#3a3a3a}
.eg-br-lesart b{color:var(--rot)}
/* Das offizielle Kuerzel - klein im Ringstueck, als Marke in der Liste. */
.eg-cwv-kurz{font-size:8.6px;font-weight:800;letter-spacing:.12em;opacity:.8}
.eg-cwv-liste abbr{display:inline-block;margin-left:7px;padding:1px 6px;border-radius:4px;
  background:#e8e8e8;color:#4a4a4a;font-size:11.5px;font-weight:700;letter-spacing:.06em;
  text-decoration:none;border:0;vertical-align:1px;cursor:help}
/* Wo es kein Ueberfahren gibt, steht die Erlaeuterung dauerhaft da. */
@media (hover:none){
  .eg-ads-text{max-height:110px;opacity:1}
}


/* ================================================== Runde 3: Anfassen
   Schweben allein reicht nicht mehr. Was leuchtet, laesst sich jetzt auch
   anklicken und bleibt dann stehen; mit der Tastatur geht dasselbe. */

/* Der Satz fuers Vorlesen. Sichtbar braucht es ihn nicht - die Hand am
   Zeiger und der Fokusrahmen sagen es dem Auge. */
.eg-hinweis{position:absolute;width:1px;height:1px;margin:-1px;padding:0;
  overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);
  white-space:nowrap;border:0}

.eg .eg-griff{cursor:pointer}
.eg .eg-griff:focus{outline:none}
.eg .eg-griff:focus-visible{outline:2.5px solid var(--rot);outline-offset:3px;
  border-radius:5px}

/* Festgehalten: bleibt stehen, auch wenn der Zeiger weiterzieht. */
.eg .eg-fest{outline:2px solid var(--rot);outline-offset:2px;border-radius:4px}
.eg .eg-fest:focus-visible{outline-width:2.5px}

/* Die Saeulen dimmen bisher nur, solange der Zeiger im Bild ist. Mit dem
   Festhalten muessen sie auch ohne Zeiger gedimmt bleiben. */
.eg-hat-fest .sl-saeule{opacity:.42}
.eg-hat-fest .sl-saeule.eg-an{opacity:1}

/* Kurzinfo: eine einzige Blase fuer die ganze Seite, sie wandert mit. */
.eg-tip{position:fixed;z-index:9999;pointer-events:none;
  background:#1e1e1e;color:#fff;font-size:13px;line-height:1.4;
  padding:7px 11px;border-radius:7px;max-width:260px;
  box-shadow:0 6px 20px rgba(0,0,0,.28);
  font-family:inherit;font-variant-numeric:tabular-nums}
.eg-tip[hidden]{display:none}

/* Forced colors: der Rahmen darf nicht verschwinden. */
@media (forced-colors:active){
  .eg .eg-griff:focus-visible,.eg .eg-fest{outline:2px solid Highlight}
}

/* --- Kreisreigen ------------------------------------------------------
   Das Bild ist ein SVG in festen Einheiten, es waechst mit dem Feld.
   Wird das Feld zu schmal, waere der Reigen unleserlich - dann tritt die
   Liste an seine Stelle. Beides steht immer im Markup, es wird nur
   umgeschaltet; ohne JavaScript und ohne Behaelterabfragen ist beides da. */
.rg{display:block}
.rg-bild{max-width:560px;margin:0 auto}
/* Mit Beschriftung neben den Kreisen braucht das Bild mehr Breite. */
.rg-bild--breit{max-width:100%}
.rg-bild svg{display:block;width:100%;height:auto;overflow:visible}
.rg-name,.rg-zusatz,.rg-mitte,.rg-mittezusatz,.rg-aussen{
  font-family:inherit;font-weight:800;letter-spacing:.01em}
.rg-name,.rg-mitte{text-transform:uppercase}
.rg-zusatz,.rg-mittezusatz{font-weight:600;text-transform:none;opacity:.92}
.rg-aussen{font-weight:600;text-transform:none;letter-spacing:0}
.rg-satellit{cursor:default}
.rg-satellit,.rg-speiche{transition:transform .25s cubic-bezier(.22,.61,.36,1),
  stroke .2s}
.rg-satellit{transform-box:view-box;transform-origin:center}
/* Beim Ueberfahren rueckt nur der beruehrte Satellit ein Stueck nach aussen.
   Keine Farbaenderung, kein Abdunkeln der uebrigen - sonst liest man
   ausgerechnet das nicht mehr, worauf man zeigt. */
.rg-satellit.eg-an{transform:translate(var(--mx,0),var(--my,0)) scale(1.06)}
.rg-speiche.eg-an{stroke:#d10000}
@media (prefers-reduced-motion:no-preference){
  .eg--warten .rg-satellit{opacity:0;transform:scale(.72)}
  .eg--warten .rg-speiche{opacity:0}
  .rg-satellit{transition:transform .5s cubic-bezier(.22,.61,.36,1),opacity .45s}
  .rg-speiche{transition:stroke .2s,opacity .5s}
}
/* Die Liste: im breiten Feld die Textfassung unter dem Bild, im schmalen
   Feld der Ersatz fuer das Bild. */
.rg-liste{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:2px}
.rg-eintrag{display:grid;grid-template-columns:14px 1fr;gap:11px;align-items:baseline;
  padding:8px 8px;border-radius:6px;outline:none;min-width:0;
  transition:background-color .15s}
.rg-eintrag:hover,.rg-eintrag:focus,.rg-eintrag.eg-an{background:#f2f2f2}
.rg-punkt{width:12px;height:12px;border-radius:3px;align-self:center}
.rg-eintrag b{font-size:15px;font-weight:700;overflow-wrap:break-word;hyphens:auto}
.rg-eintrag span{display:block;margin-top:2px;font-size:14px;line-height:1.5;color:#5d5d5d}
@container eg (max-width:360px){
  .rg-bild{display:none}
  .rg-liste{margin-top:0}
}

/* --- Saeulen ---------------------------------------------------------
   Das Bild ist ein SVG in festen Einheiten und waechst mit dem Feld. Bei
   vielen Kategorien wird es breiter als das Feld - dann rollt es innen,
   statt die Seite quer zu schieben. */
.sl{display:block}
.sl-unter{margin:0 0 14px;font-size:15px;line-height:1.5;color:#3c3c3c;max-width:56ch}
.sl-rollen{overflow-x:auto;-webkit-overflow-scrolling:touch;min-width:0;max-width:100%}
.sl-rollen svg{display:block;width:100%;height:auto;min-width:460px}
.sl-achse{font-size:11.5px;fill:#777;font-variant-numeric:tabular-nums}
.sl-kat{font-size:11.5px;fill:#444}
.sl-wert{font-size:12.5px;font-weight:700;fill:#1e1e1e;font-variant-numeric:tabular-nums}
.sl-saeule{cursor:default}
.sl-saeule rect,.sl-saeule path{transition:opacity .18s}
.sl:hover .sl-saeule{opacity:.42}
.sl-saeule:hover,.sl-saeule.eg-an{opacity:1}
@media (prefers-reduced-motion:no-preference){
  /* Die Saeulen wachsen aus der Grundlinie. Ohne JavaScript stehen sie sofort. */
  .sl-saeule{transform-box:view-box;transform-origin:center bottom;
    transition:transform .7s cubic-bezier(.22,.61,.36,1),opacity .18s}
  .eg--warten .sl-saeule{transform:scaleY(0)}
  .eg--warten .sl-wert{opacity:0}
  .sl-wert{transition:opacity .4s .35s}
}
.sl-legende{list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px;
  margin:0 0 14px;padding:0;font-size:14px}
.sl-legende li{display:flex;align-items:center;gap:8px}
.sl-legende span{width:13px;height:13px;border-radius:3px;flex:0 0 auto}
.sl-quelle{margin:12px 0 0;font-size:12.5px;color:#6f6f6f;overflow-wrap:anywhere}
/* Die Zahlen als Tabelle - eingeklappt, damit sie das Bild nicht verdraengen. */
.sl-zahlen{margin:14px 0 0;font-size:14px}
.sl-zahlen summary{cursor:pointer;color:#6f6f6f;font-size:13px;padding:4px 0;
  list-style-position:outside}
.sl-zahlen summary:hover{color:#d10000}
.sl-zahlen table{width:100%;border-collapse:collapse;margin-top:8px;
  background:none !important}
.sl-zahlen th,.sl-zahlen td{padding:6px 9px;text-align:right;border-bottom:1px solid #eee;
  background:none !important;font-weight:400;color:#333;height:auto;
  text-transform:none;letter-spacing:normal;font-variant-numeric:tabular-nums}
.sl-zahlen th[scope="row"]{text-align:left;font-weight:600}
.sl-zahlen thead th{font-size:12px;font-weight:700;color:#777;text-align:right}
@container eg (max-width:420px){
  .sl-achse,.sl-kat{font-size:13px}
  .sl-unter{font-size:14px}
}

/* --- Legende als Schalter (Runde 3) --------------------------------- */
.sl-legende li.sl-schalter{cursor:pointer;padding:2px 6px;margin:-2px -6px;
  border-radius:6px;transition:opacity .15s,background-color .15s}
.sl-legende li.sl-schalter:hover{background:#f2f2f2}
.sl-legende li.sl-aus{opacity:.45}
.sl-legende li.sl-aus span{background:#c4c4c4 !important;
  box-shadow:inset 0 0 0 1px #9a9a9a}
.sl-verborgen{display:none}

/* Zeitstrahl - Monatsleiste. Alle Umbrueche haengen an der Breite des
   Behaelters, nicht an der des Fensters: die Grafik steht auf den Seiten in
   einer halben Spalte von rund 630 px, waehrend das Fenster breit ist. */

.zs{display:block}
.zs-bild{margin:0 0 4px}
.zs-bild svg{display:block;width:100%;height:auto;overflow:visible}

/* Das Band --------------------------------------------------------------- */
.zs-zelle{cursor:default;outline:none}
.zs-zelle>rect,.zs-zelle>path{
  transition:transform .28s cubic-bezier(.22,.9,.3,1),filter .28s ease}
.zs-zelle>text{transition:transform .28s cubic-bezier(.22,.9,.3,1)}
.zs-zelle>rect,.zs-zelle>path,.zs-zelle>text{
  transform-box:fill-box;transform-origin:50% 100%}
.zs-zelle:hover>rect,.zs-zelle:hover>path,
.zs-zelle:focus-visible>rect,.zs-zelle:focus-visible>path,
.zs-zelle.eg-an>rect,.zs-zelle.eg-an>path{transform:translateY(-9px)}
.zs-zelle:hover>text,.zs-zelle:focus-visible>text,
.zs-zelle.eg-an>text{transform:translateY(-9px)}
.zs-zelle:focus-visible>rect,.zs-zelle:focus-visible>path{
  filter:drop-shadow(0 0 0 2.5px #1e1e1e)}

/* Kacheln, Winkel, Fusswege ---------------------------------------------- */
.zs-kachel-hebung{transform-box:fill-box;transform-origin:50% 50%;
  transition:transform .3s cubic-bezier(.22,.9,.3,1)}
.zs-fuss.eg-an .zs-kachel-hebung,
.zs-marke.eg-an .zs-kachel-hebung{transform:scale(1.09)}
.zs-fuss-weg{transition:stroke .25s ease,stroke-width .25s ease}
.zs-fuss.eg-an .zs-fuss-weg{stroke:#d10000;stroke-width:3.4}
.zs-klammer-strich{transition:stroke-width .25s ease}
.zs-klammer.eg-an .zs-klammer-strich{stroke-width:3.6}
.zs-klammer-wort{transition:fill .25s ease}
.zs-klammer.eg-an .zs-klammer-wort{fill:#d10000}
.zs-klammer,.zs-block{cursor:default}

/* Was gezeigt wird, bewegt sich - was nicht gezeigt wird, bleibt, wie es ist.
   Kein Abblenden, keine Umfaerbung des Uebrigen. */

/* Der Lesetext ------------------------------------------------------------ */
.zs-text{
  display:grid;grid-template-columns:35.5% 25.5% 27%;
  gap:0 12px;padding:0 4.5% 0 7.5%;align-items:start}
.zs-block{padding:6px 8px 8px;border-radius:8px;
  transition:background .25s ease,transform .25s ease}
.zs-block:nth-child(3){text-align:right}
.zs-block:focus-visible{outline:2px solid #1e1e1e;outline-offset:2px}
.zs-block.eg-an{background:#fff;transform:translateY(-2px)}
.zs-block h4{margin:0 0 6px;font-size:1em;font-weight:700;
  text-transform:uppercase;letter-spacing:.3px;color:#1e1e1e;line-height:1.25}
.zs-block ul{margin:0;padding:0;list-style:none}
.zs-block li{position:relative;padding-left:15px;margin:0 0 3px;
  line-height:1.4;color:#333}
.zs-block li::before{content:"";position:absolute;left:2px;top:.58em;
  width:5px;height:5px;border-radius:50%;background:#1e1e1e}
.zs-block p{margin:0;line-height:1.4;color:#333}

/* Tabelle ----------------------------------------------------------------- */
.zs-tabelle{margin:14px 0 0;font-size:.92em}
.zs-tabelle summary{cursor:pointer;color:#555;padding:4px 0}
.zs-tabelle table{border-collapse:collapse;width:100%;margin-top:6px}
.zs-tabelle th,.zs-tabelle td{
  border-bottom:1px solid #e0e0e0;padding:6px 8px;text-align:left;
  vertical-align:top;overflow-wrap:anywhere}
.zs-tabelle thead th{color:#555;font-weight:700}
.zs-tabelle tbody tr.eg-an{background:#fbecec}

/* Einblenden beim Scrollen ------------------------------------------------ */
.eg--zs .zs-zelle>rect,.eg--zs .zs-zelle>path,.eg--zs .zs-zelle>text,
.eg--zs .zs-traffic,.eg--zs .zs-klammer,.eg--zs .zs-marke,.eg--zs .zs-fuss{
  transition:transform .5s cubic-bezier(.22,.9,.3,1),opacity .5s ease}
.eg--zs.eg--warten .zs-zelle>rect,.eg--zs.eg--warten .zs-zelle>path{
  transform:scaleX(.02);transform-origin:0 50%}
.eg--zs.eg--warten .zs-zelle>text{opacity:0}
.eg--zs.eg--warten .zs-traffic{transform:scaleY(.04);transform-origin:50% 100%;
  transform-box:fill-box}
.eg--zs.eg--warten .zs-klammer,.eg--zs.eg--warten .zs-marke,
.eg--zs.eg--warten .zs-fuss{opacity:0}
.eg--zs .zs-zelle>rect,.eg--zs .zs-zelle>path,.eg--zs .zs-zelle>text{
  transition-delay:calc(var(--i,0)*45ms)}
.eg--zs .zs-klammer,.eg--zs .zs-marke,.eg--zs .zs-fuss{transition-delay:.62s}

@media (prefers-reduced-motion:reduce){
  .eg--zs *{transition:none!important;transform:none!important}
}

/* Schmaler Behaelter ------------------------------------------------------
   Auf den Seiten steht die Grafik in einer halben Spalte von rund 630 px.
   Drei Spalten Lesetext waeren dort je 160 px breit - "OnPage-Massnahmen"
   braeuchte drei Zeilen. Darum laufen die Punkte unterhalb von 780 px in
   einer Zeile weiter, durch Mittelpunkte getrennt. */
@container eg (max-width:780px){
  .zs-text{grid-template-columns:1fr;gap:9px 0;padding:8px 0 0}
  .zs-block{padding:5px 0 5px 11px;border-left:3px solid #f08080;
    border-radius:0 6px 6px 0;text-align:left}
  .zs-block:nth-child(3){text-align:left}
  .zs-block.eg-an{border-left-color:#d10000;background:#fff;transform:none}
  .zs-block h4{display:inline;margin:0 7px 0 0}
  .zs-block ul{display:inline}
  .zs-block li{display:inline;padding:0;margin:0}
  .zs-block li::before{display:none}
  /* Der Trenner haengt am Wort davor, nicht am Wort danach - sonst steht er
     nach einem Umbruch allein am Zeilenanfang. */
  .zs-block li:not(:last-child)::after{content:"\00b7";color:#8e8e8e;
    margin:0 0 0 5px}
  .zs-block p{display:inline}
}

/* Die vier Einzelstuecke der Familie Zeitstrahl. Alle Umbrueche haengen an
   der Breite des Behaelters (@container eg), nicht an der des Fensters. */

/* ---------------------------------------------------------- Zickzack ----- */
.zz-kette{display:grid;grid-template-columns:repeat(7,1fr);
  grid-template-rows:repeat(3,auto);gap:22px 0;margin:0;padding:0;
  list-style:none;align-items:stretch}
.zz-start{grid-row:1/3;grid-column:1/2;position:relative;
  display:flex;flex-direction:column;align-items:center}
.zz-kreis{display:grid;place-items:center;text-align:center;
  width:100%;max-width:150px;aspect-ratio:1;border-radius:50%;
  background:#1e1e1e;color:#fff;font-weight:700;font-size:.8em;
  line-height:1.25;letter-spacing:.3px;padding:8px;box-sizing:border-box}
.zz-strang{flex:1 1 auto;width:0;border-left:2px solid #1e1e1e;
  margin-bottom:-22px}

.zz-karte{position:relative;grid-row:var(--zeile);
  grid-column:var(--von)/var(--bis);
  border-radius:16px;padding:14px 16px 16px;color:#fff;text-align:center;
  outline:none;transition:transform .3s cubic-bezier(.22,.9,.3,1),
  box-shadow .3s ease}
.zz-karte--hell{background:#f08080}
.zz-karte--voll{background:#d10000}
.zz-karte:hover,.zz-karte:focus-visible,.zz-karte.eg-an{
  transform:translateY(-5px);box-shadow:0 8px 20px rgba(0,0,0,.16)}
.zz-karte h4{margin:0 0 8px;font-size:1em;font-weight:700;
  letter-spacing:.4px;line-height:1.2}
.zz-karte p{margin:0;line-height:1.35;font-size:.94em}

/* Die Verbindungen: jede Karte zieht die Linie zu ihrer Vorgaengerin. */
.zz-karte::before{content:"";position:absolute;pointer-events:none}
.zz-an-keine::before{display:none}
.zz-an-runter::before{left:var(--wo);top:100%;width:0;height:22px;
  border-left:2px solid #1e1e1e}
.zz-an-hoch::before{left:var(--wo);bottom:100%;width:0;height:22px;
  border-left:2px solid #1e1e1e}
.zz-an-linksrunter::before{right:100%;top:50%;width:46px;
  height:calc(50% + 22px);border-left:2px solid #1e1e1e;
  border-top:2px solid #1e1e1e;border-top-left-radius:10px}
.zz-an-linkshoch::before{right:calc(100% - var(--wo));bottom:100%;
  width:64px;height:calc(50% + 22px);border-right:2px solid #1e1e1e;
  border-top:2px solid #1e1e1e;border-top-right-radius:10px}

/* Schmal: eine Spalte, eine durchgehende Linie links. */
@container eg (max-width:700px){
  .zz-kette{grid-template-columns:1fr;grid-template-rows:none;gap:0;
    padding-left:0}
  .zz-start{grid-row:auto;grid-column:1;flex-direction:column;
    align-items:flex-start;gap:0;padding:0}
  .zz-kreis{width:100px;max-width:100px;font-size:.76em}
  /* Der Strang faellt aus der Kreismitte - dort laeuft unten die Linie der
     Karten weiter. */
  .zz-strang{flex:0 0 auto;width:0;height:16px;border-left:2px solid #1e1e1e;
    margin:0 0 0 49px}
  .zz-karte{grid-row:auto;grid-column:1;margin:0 0 14px 76px;
    text-align:left}
  .zz-karte::before{left:-26px;top:0;bottom:0;width:0;height:auto;
    border:0;border-left:2px solid #1e1e1e;border-radius:0;right:auto}
  .zz-karte::after{content:"";position:absolute;left:-26px;top:50%;
    width:24px;height:0;border-top:2px solid #1e1e1e}
  .zz-an-keine::before{display:block}
  /* Die Linie laeuft auch durch die Luecken weiter. */
  .zz-karte::before{top:-14px}
  .zz-kette>.zz-karte:last-child::before{bottom:50%}
}

/* ------------------------------------------------------ Jahrestreppe ----- */
.jt{--jahrspalte:4.6em;--jahrluft:10px}
.jt-titel{margin:0 0 14px;font-size:1.25em;font-weight:800;
  text-transform:uppercase;letter-spacing:.4px;color:#1e1e1e}
.jt-feld{position:relative;padding-top:10px}
.jt-bahn{position:absolute;top:0;bottom:0;
  left:calc(var(--jahrspalte) + var(--jahrluft));right:0;pointer-events:none}
.jt-bahn svg{width:100%;height:100%;display:block}
.jt-spitze{position:absolute;left:64.7%;top:-3px;width:0;height:0;
  border-left:6px solid transparent;border-right:6px solid transparent;
  border-bottom:12px solid #b4b4b4;transform:translateX(-50%) rotate(33deg)}
.jt-leiter{margin:0;padding:0;list-style:none;position:relative}
.jt-stufe{display:grid;
  grid-template-columns:var(--jahrspalte) 1fr;align-items:center;
  gap:0 var(--jahrluft);margin:0 0 4px;outline:none}
.jt-jahr{text-align:right;font-weight:800;font-size:.92em;line-height:1.05;
  color:#1e1e1e}
.jt-balken{display:block;margin-left:var(--ein);padding:9px 12px;
  color:#fff;transition:transform .3s cubic-bezier(.22,.9,.3,1),
  margin-left .45s cubic-bezier(.22,.9,.3,1)}
.jt-stufe--voll .jt-balken{background:#d10000}
.jt-stufe--hell .jt-balken{background:#f08080}
/* "CORE-ALGORITHMUS-REFRESH" passt auf einem Telefon in keine Zeile - der
   Umbruch muss auch innerhalb des Wortes erlaubt sein. */
.jt-wort{font-weight:700;font-size:.9em;letter-spacing:.3px;
  line-height:1.25;display:block;overflow-wrap:anywhere;hyphens:auto}
.jt-stufe:hover .jt-balken,.jt-stufe:focus-visible .jt-balken{
  transform:translateX(-7px)}

/* Schmal: die Treppe flacht ab, sonst bleibt oben nichts uebrig. */
@container eg (max-width:620px){
  .jt{--jahrspalte:3.8em}
  .jt-balken{margin-left:calc(var(--ein)*.42)}
  .jt-spitze{left:27.2%}
  .jt-bahn svg path{d:path("M 0 1000 L 272 14")}
}
@container eg (max-width:420px){
  .jt-balken{margin-left:0}
  .jt-bahn{display:none}
}

/* ------------------------------------------------------- Kapselreihe ----- */
.kr-titel{margin:0 0 18px;text-align:center;font-size:1.15em;
  font-weight:800;text-transform:uppercase;letter-spacing:.4px;
  color:#1e1e1e;line-height:1.25}
.kr-feld{position:relative}
.kr-faden{position:absolute;left:2%;right:2%;top:50%;height:0;
  border-top:1px solid #d6d6d6;pointer-events:none}
.kr-reihe{position:relative;display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));gap:0 14px;
  margin:0;padding:0;list-style:none;align-items:stretch}
/* Das Seitenverhaeltnis ist aus der Vorlage genommen (185 zu 450). Ohne das
   wird aus der Kapsel ein Kreis, sobald der Text kurz ist. */
.kr-kapsel{background:#d10000;color:#fff;text-align:center;
  border-radius:999px;aspect-ratio:37/90;padding:12% 13%;outline:none;
  display:flex;flex-direction:column;justify-content:center;
  align-items:center;
  transition:transform .3s cubic-bezier(.22,.9,.3,1),
  box-shadow .3s ease}
.kr-kapsel:hover,.kr-kapsel:focus-visible,.kr-kapsel.eg-an{
  transform:translateY(-8px);box-shadow:0 10px 22px rgba(0,0,0,.18)}
.kr-kapsel h4{margin:0 0 16px;font-size:1em;font-weight:700;
  text-transform:uppercase;letter-spacing:.3px;line-height:1.25}
.kr-kapsel p{margin:0;font-size:.92em;line-height:1.35}

@container eg (max-width:760px){
  .kr-reihe{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .kr-faden{display:none}
  .kr-kapsel{border-radius:22px;padding:16px 16px 18px;
    aspect-ratio:auto;justify-content:flex-start}
  .kr-kapsel h4{margin-bottom:8px}
}
@container eg (max-width:420px){
  .kr-reihe{grid-template-columns:1fr}
}

/* -------------------------------------------------------- Punktachse ----- */
.pa-titel{margin:0 0 10px;font-size:1.1em;font-weight:700;color:#1e1e1e}
.pa-bild svg{display:block;width:100%;height:auto;overflow:visible}
.pa-halt,.pa-urteil{cursor:default;outline:none}
.pa-punkt,.pa-blase,.pa-urteil>g,.pa-urteil>circle{
  transform-box:fill-box;transform-origin:50% 50%;
  transition:transform .3s cubic-bezier(.22,.9,.3,1)}
.pa-halt:hover .pa-punkt,.pa-halt:focus-visible .pa-punkt,
.pa-halt.eg-an .pa-punkt{transform:scale(1.22)}
.pa-halt:hover .pa-blase,.pa-halt:focus-visible .pa-blase,
.pa-halt.eg-an .pa-blase{transform:translateY(-5px)}
.pa-urteil:hover>circle,.pa-urteil:focus-visible>circle,
.pa-urteil.eg-an>circle{transform:scale(1.08)}
.pa-worte{position:relative;display:block;margin:2px 0 0;padding:0;
  list-style:none;height:1.5em}
.pa-worte li{position:absolute;left:var(--x);transform:translateX(-50%);
  white-space:nowrap;color:#333;line-height:1.4}
@container eg (max-width:520px){
  .pa-worte{height:auto;display:flex;justify-content:space-around;gap:8px}
  .pa-worte li{position:static;transform:none;white-space:normal;
    text-align:center;font-size:.92em}
}
.pa-spanne,.pa-liste{display:none}
@container eg (max-width:430px){
  .pa-bild,.pa-worte{display:none}
  .pa-spanne{display:block;margin:0 0 10px;color:#555;font-size:.92em}
  .pa-liste{display:grid;gap:8px;margin:0;padding:0;list-style:none}
  .pa-liste li{display:flex;align-items:center;gap:10px}
  .pa-zeit{flex:0 0 auto;background:#1e1e1e;color:#fff;border-radius:14px;
    padding:4px 12px;font-size:.92em;white-space:nowrap}
  .pa-wort{color:#333;line-height:1.35}
  .pa-liste li::before{content:"";flex:0 0 auto;order:-1;width:14px;
    height:14px;border-radius:50%;background:#d10000}
}

@media (prefers-reduced-motion:reduce){
  .eg--zz *,.eg--jt *,.eg--kr *,.eg--pa *{
    transition:none!important;transform:none!important}
}

/* Einblenden beim Scrollen ------------------------------------------------ */
.eg--zz.eg--warten .zz-karte{opacity:0;transform:translateY(14px)}
.eg--zz .zz-karte{transition:opacity .5s ease,
  transform .5s cubic-bezier(.22,.9,.3,1),box-shadow .3s ease}
.eg--jt.eg--warten .jt-balken{margin-left:0;transform:scaleX(.04);
  transform-origin:0 50%}
.eg--jt .jt-balken{transition:transform .5s cubic-bezier(.22,.9,.3,1),
  margin-left .55s cubic-bezier(.22,.9,.3,1)}
.eg--jt .jt-balken{transition-delay:calc(var(--i,0)*35ms)}
.eg--kr.eg--warten .kr-kapsel{opacity:0;transform:translateY(20px)}
.eg--kr .kr-kapsel{transition:opacity .5s ease,
  transform .5s cubic-bezier(.22,.9,.3,1),box-shadow .3s ease}
.eg--pa.eg--warten .pa-halt,.eg--pa.eg--warten .pa-urteil{opacity:0}
.eg--pa .pa-halt,.eg--pa .pa-urteil{transition:opacity .5s ease}

/* Kreis-Icon-Liste. Die Umbrueche haengen an der Breite des Behaelters. */

.ki{padding:26px 22px 22px;box-sizing:border-box}
.ki--dunkel{background:#1e1e1e;color:#fff}
.ki--schwarz{background:#000;color:#fff}
.ki--hell{background:#f0f0f0;color:#1e1e1e}
.ki-titel{margin:0 0 18px;font-size:1.15em;font-weight:800;
  letter-spacing:.3px;line-height:1.3}

.ki-reihe{display:grid;grid-template-columns:repeat(var(--spalten,3),1fr);
  gap:0 22px;margin:0 0 4px;padding:0;list-style:none}
.ki-spalte{display:flex;flex-direction:column;align-items:center;
  text-align:center;outline:none}
/* Zwei Zeilen Platz fuer jede Ueberschrift: sonst rutscht die Spalte mit der
   laengeren Ueberschrift samt Kreis nach unten und die Reihe steht schief. */
.ki-spalte h4{margin:0 0 16px;font-size:1em;font-weight:800;
  letter-spacing:.4px;line-height:1.25;min-height:2.5em;
  display:flex;align-items:flex-end;justify-content:center}
.ki-kreis{display:grid;place-items:center;width:100%;max-width:200px;
  aspect-ratio:1;border-radius:50%;background:#d10000;color:#fff;
  margin:0 0 16px;
  transition:transform .3s cubic-bezier(.22,.9,.3,1),
  box-shadow .3s ease}
.ki-bild{width:56%;height:56%;display:block}
.ki-spalte p{margin:0;line-height:1.4;font-size:.96em}
.ki-spalte:hover .ki-kreis,.ki-spalte:focus-visible .ki-kreis,
.ki-spalte.eg-an .ki-kreis{transform:scale(1.06) translateY(-4px);
  box-shadow:0 10px 24px rgba(0,0,0,.35)}

/* Die beiden Klammern - sie tragen die eigentliche Aussage. */
.ki-klammern{display:grid;
  grid-template-columns:repeat(var(--spalten,3),1fr);
  gap:0 22px;margin:22px 0 0}
.ki-klammer{grid-column:var(--von)/var(--bis);text-align:center;
  margin-bottom:12px;outline:none}
.ki-buegel{display:block;height:16px;border:2px solid currentColor;
  border-top:0;transition:height .3s ease}
.ki-wort{display:inline-block;margin-top:7px;font-weight:800;
  font-size:.92em;letter-spacing:.5px}
.ki-umfang{display:none}
.ki-klammer--rot{color:#d10000}
.ki--dunkel .ki-klammer--weiss,.ki--schwarz .ki-klammer--weiss{color:#fff}
.ki--hell .ki-klammer--weiss{color:#1e1e1e}
.ki-klammer:hover .ki-buegel,.ki-klammer:focus-visible .ki-buegel,
.ki-klammer.eg-an .ki-buegel{height:22px}

/* Schmaler Behaelter: die Spalten untereinander, die Klammern werden zu
   Leisten am linken Rand - der Zusammenhang bleibt so lesbar. */
@container eg (max-width:420px){
  .ki-reihe{grid-template-columns:1fr;gap:26px 0}
  .ki-spalte{flex-direction:row;align-items:flex-start;text-align:left;
    gap:14px}
  .ki-spalte h4{order:-1}
  .ki-spalte>*{margin:0}
  .ki-spalte{display:grid;grid-template-columns:86px 1fr;
    grid-template-areas:"bild kopf" "bild text";
    align-items:start;gap:4px 14px}
  .ki-spalte h4{grid-area:kopf;align-self:end;min-height:0;
    display:block;text-align:left}
  .ki-kreis{grid-area:bild;max-width:86px;margin:0}
  .ki-spalte p{grid-area:text}
  .ki-klammern{grid-template-columns:1fr;gap:0}
  .ki-klammer{grid-column:1;display:flex;align-items:center;gap:10px;
    text-align:left;margin-bottom:8px}
  .ki-buegel{flex:0 0 auto;width:26px;height:0;border:0;
    border-top:2px solid currentColor}
  .ki-klammer:hover .ki-buegel,.ki-klammer:focus-visible .ki-buegel,
  .ki-klammer.eg-an .ki-buegel{height:0;width:38px}
  .ki-wort{margin:0}
  .ki-klammer{align-items:baseline;flex-wrap:wrap}
  .ki-umfang{display:inline;color:#9a9a9a;font-size:.84em;
    letter-spacing:.2px;flex:1 1 100%;margin-left:36px}
  .ki--hell .ki-umfang{color:#666}
}

@media (prefers-reduced-motion:reduce){
  .eg--ki *{transition:none!important;transform:none!important}
}

/* Einblenden beim Scrollen */
.eg--ki.eg--warten .ki-spalte{opacity:0;transform:translateY(16px)}
.eg--ki .ki-spalte{transition:opacity .5s ease,
  transform .5s cubic-bezier(.22,.9,.3,1)}
.eg--ki .ki-spalte:nth-child(2){transition-delay:.09s}
.eg--ki .ki-spalte:nth-child(3){transition-delay:.18s}
.eg--ki.eg--warten .ki-klammer{opacity:0}
.eg--ki .ki-klammer{transition:opacity .5s ease .3s}

/* Zweispalter. Die Umbrueche haengen an der Breite des Behaelters. */

.zw{background:var(--zw-grund,#f0f0f0);padding:22px 20px;box-sizing:border-box}
.zw--dunkel{background:#1e1e1e}
.zw-titel{margin:0 0 18px;text-align:center}
.zw-titel h3{margin:0;font-size:1.1em;font-weight:800;letter-spacing:.4px;
  line-height:1.3;color:#1e1e1e}
.zw--dunkel .zw-titel h3{color:#fff}
.zw-titel--pille h3{display:inline-block;background:var(--titel,#1e1e1e);
  color:#fff;border-radius:999px;padding:12px 26px}
.zw-titel--balken h3{display:block;background:var(--titel,#1e1e1e);color:#fff;
  padding:12px 18px}
.zw-ueber{display:block;margin:0 0 6px;font-size:.88em;color:#555;
  letter-spacing:.2px}
.zw--dunkel .zw-ueber{color:#c4c4c4}
.zw-fuss{margin:14px 18px 0;text-align:center;font-weight:700;
  font-size:.9em;letter-spacing:.3px;line-height:1.3}
.zw-tafel--kaesten .zw-fuss{margin:12px 0 0;color:#1e1e1e}
.zw--dunkel .zw-tafel--kaesten .zw-fuss{color:#fff}
.zw-fussnote{margin:16px 0 0;text-align:center}
.zw-fussnote span{display:inline-block;background:#f08080;color:#fff;
  border-radius:999px;padding:11px 22px;font-weight:700;font-size:.9em;
  letter-spacing:.3px;line-height:1.3}
.zw-einleitung{margin:0 0 18px;text-align:center;line-height:1.45;
  color:#3c3c3c;max-width:62ch;margin-left:auto;margin-right:auto}
.zw--dunkel .zw-einleitung{color:#e0e0e0}

.zw-paar{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;
  align-items:stretch}
.zw-paar--vs{gap:0;position:relative}
.zw-paar--vs .zw-tafel:first-child{border-radius:14px 0 0 14px;
  padding-right:44px}
.zw-paar--vs .zw-tafel:last-child{border-radius:0 14px 14px 0;
  padding-left:44px}
.zw-vs{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  z-index:2;width:58px;height:58px;border-radius:50%;background:#fff;
  color:#1e1e1e;display:grid;place-items:center;font-weight:800;
  font-size:1.05em;letter-spacing:.5px;box-shadow:0 2px 10px rgba(0,0,0,.14)}

.zw-tafel{background:var(--grund,#d10000);color:var(--schrift,#fff);
  border-radius:14px;
  padding:0 0 18px;overflow:hidden;outline:none;
  transition:transform .3s cubic-bezier(.22,.9,.3,1),box-shadow .3s ease}
.zw-tafel:hover,.zw-tafel:focus-visible,.zw-tafel.eg-an{
  transform:translateY(-5px);box-shadow:0 10px 24px rgba(0,0,0,.18)}
.zw-paar--vs .zw-tafel:hover,.zw-paar--vs .zw-tafel:focus-visible{
  transform:none}
/* Auf einem Telefon muss auch innerhalb langer Woerter umbrochen werden. */
.zw-tafel,.zw4-block,.zw4-mitte{overflow-wrap:anywhere;min-width:0}
.zw-liste li,.zw-liste li>span,.zw-kaesten li{overflow-wrap:anywhere;
  min-width:0;hyphens:auto}
.zw-tafel h4{margin:0;padding:16px 18px 10px;font-size:1.02em;
  font-weight:800;letter-spacing:.4px;line-height:1.25;text-align:center}
.zw-balken{background:var(--balken,#1e1e1e);margin:0 0 14px}
.zw-balken h4{padding:13px 16px}
.zw-unter{margin:0 18px 12px;line-height:1.4;font-size:.94em}
.zw-tafel--mitte .zw-unter,.zw-tafel--mitte h4{text-align:center}

.zw-liste{margin:0;padding:0 18px;list-style:none}
.zw-liste li{display:flex;gap:10px;align-items:flex-start;
  margin:0 0 9px;line-height:1.4}
.zw-liste li>span{flex:1 1 auto}
.zw-marke{flex:0 0 auto;width:17px;height:17px;margin-top:.14em;
  display:block;color:#fff}
.zw-marke svg{width:100%;height:100%;display:block}
.zw-liste--punkt li{position:relative;padding-left:15px;display:block}
.zw-liste--punkt li::before{content:"";position:absolute;left:1px;top:.6em;
  width:5px;height:5px;border-radius:50%;background:currentColor}
.zw-liste--blank li{display:block;text-align:center}

/* Punkte, die selbst schon Kacheln sind. */
.zw-tafel--kaesten{background:none;padding:0}
/* Einige Vorlagen legen die Kaesten auf eine eingefaerbte Spalte statt
   auf den Grund der Grafik - dann traegt die Spalte die Farbe und die
   Kaesten sind weiss. */
.zw-tafel--kaesten.zw-tafel--flaeche{background:var(--grund,#d10000);
  padding:14px;border-radius:14px}
.zw-tafel--kaesten.zw-tafel--flaeche h4{background:none;padding:0 0 12px;
  text-align:center}
.zw-tafel--kaesten.zw-tafel--flaeche .zw-fuss{color:inherit}
.zw-tafel--kaesten h4{background:var(--grund,#d10000);color:#fff;
  border-radius:12px;padding:15px 16px;margin:0 0 12px}
/* Manche Vorlagen setzen die Ueberschrift ohne Kasten, blosse Schrift. */
.zw-tafel--kopffrei h4{background:none;color:#1e1e1e;padding:0 0 4px;
  text-align:left}
.zw--dunkel .zw-tafel--kopffrei h4{color:#fff}
.zw-tafel--kaesten .zw-balken{border-radius:12px;overflow:hidden}
.zw-kaesten{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.zw-kaesten li{background:var(--kasten,#f08080);
  color:var(--kastenschrift,#fff);
  border-radius:10px;padding:12px 14px;line-height:1.35;
  transition:transform .25s ease}
.zw-tafel--kaesten:hover .zw-kaesten li,
.zw-tafel--kaesten.eg-an .zw-kaesten li{transform:translateX(4px)}

/* Vier Bloecke um eine Mitte. */
.zw4{background:#f0f0f0;padding:22px 20px;box-sizing:border-box;
  display:grid;grid-template-columns:1fr auto 1fr;gap:0 18px;
  align-items:center}
.zw4-spalte{display:grid;gap:22px;align-content:start}
.zw4-spalte--rechts{text-align:right;border-left:1.5px solid #1e1e1e;
  padding-left:18px}
.zw4-spalte--links{border-right:1.5px solid #1e1e1e;padding-right:18px}
.zw4-block{outline:none;transition:transform .25s ease}
.zw4-block:hover,.zw4-block:focus-visible,.zw4-block.eg-an{
  transform:translateY(-3px)}
.zw4-block h4{margin:0 0 9px;font-size:1.02em;font-weight:800;
  letter-spacing:.4px;color:#1e1e1e}
.zw4-block ul{margin:0;padding:0;list-style:none}
.zw4-block li{position:relative;padding-left:15px;margin:0 0 4px;
  line-height:1.4;color:#333}
.zw4-spalte--rechts li{padding-left:0;padding-right:15px}
.zw4-block li::before{content:"";position:absolute;left:2px;top:.6em;
  width:5px;height:5px;border-radius:50%;background:#1e1e1e}
.zw4-spalte--rechts li::before{left:auto;right:2px}
.zw4-mitte span{display:block;color:#fff;font-weight:800;text-align:center;
  padding:22px 16px;line-height:1.3;letter-spacing:.4px;max-width:180px}

/* Schmaler Behaelter: die Tafeln untereinander. */
@container eg (max-width:420px){
  .zw-paar,.zw-paar--vs{grid-template-columns:1fr;gap:14px 0}
  .zw-paar--vs .zw-tafel:first-child,
  .zw-paar--vs .zw-tafel:last-child{border-radius:14px}
  .zw-vs{position:static;transform:none;margin:0 auto;
    width:46px;height:46px}
  .zw-paar--vs{display:flex;flex-direction:column}
  .zw4{grid-template-columns:1fr;gap:20px 0}
  .zw4-spalte--links,.zw4-spalte--rechts{border:0;padding:0;
    text-align:left}
  .zw4-spalte--rechts li{padding-left:15px;padding-right:0}
  .zw4-spalte--rechts li::before{left:2px;right:auto}
  .zw4-mitte span{max-width:none}
}

@media (prefers-reduced-motion:reduce){
  .eg--zw *{transition:none!important;transform:none!important}
}
.eg--zw.eg--warten .zw-tafel,.eg--zw.eg--warten .zw4-block{
  opacity:0;transform:translateY(14px)}
.eg--zw .zw-tafel,.eg--zw .zw4-block{transition:opacity .5s ease,
  transform .5s cubic-bezier(.22,.9,.3,1),box-shadow .3s ease}
.eg--zw .zw-tafel:last-child{transition-delay:.1s}

/* Trichter, Pyramide, Stufenleiter. */

.tr{background:#f0f0f0;padding:22px 20px;box-sizing:border-box}
.tr-titel{margin:0 0 14px;font-size:1.12em;font-weight:800;letter-spacing:.3px;
  line-height:1.3;color:#1e1e1e;text-align:center}
.tr-kopf,.tr-fuss{margin:0 0 14px;text-align:center;font-weight:700;
  line-height:1.35;color:#1e1e1e}
.tr-fuss{margin:14px 0 0}
.tr-feld{display:grid;grid-template-columns:1fr;gap:0}
.tr--text-rechts .tr-feld,.tr--text-beides .tr-feld{
  grid-template-columns:1fr 1fr;gap:0 18px;align-items:center}
.tr-bild svg{display:block;width:100%;height:auto;overflow:visible}

.tr-stufe{cursor:default;outline:none}
.tr-flaeche{transform-box:fill-box;transform-origin:50% 50%;
  transition:transform .3s cubic-bezier(.22,.9,.3,1),filter .3s ease}
.tr-stufe:hover .tr-flaeche,.tr-stufe:focus-visible .tr-flaeche,
.tr-stufe.eg-an .tr-flaeche{transform:scale(1.04)}
.tr-wort{pointer-events:none}
.tr-pille{pointer-events:none}

.tr-liste{margin:0;padding:0;list-style:none;counter-reset:tr}
.tr--text-innen .tr-liste{display:none}
/* Steht der Name schon im Stueck, traegt die Liste daneben nur die Zahlen. */
.tr--text-beides .tr-liste b{display:none}
.tr--text-beides .tr-liste li{padding-left:0;margin-bottom:18px}
.tr--text-beides .tr-liste li::before{display:none}
.tr--text-beides .tr-liste ul{border-top:1px solid #d6d6d6;padding-top:6px}
.tr-liste li{position:relative;padding-left:16px;margin:0 0 12px;
  line-height:1.4;outline:none;transition:transform .25s ease}
.tr-liste li::before{content:"";position:absolute;left:0;top:.42em;
  width:8px;height:8px;border-radius:2px;background:var(--farbe,#d10000)}
.tr-liste li.eg-an{transform:translateX(3px)}
.tr-liste b{display:block;font-weight:700;color:#1e1e1e}
.tr-liste ul{margin:3px 0 0;padding:0;list-style:none;
  display:flex;flex-wrap:wrap;gap:2px 14px}
.tr-liste ul li{padding:0;margin:0;color:#444;font-size:.94em}
.tr-liste ul li::before{display:none}

/* Stufenleiter */
.tl{background:#f0f0f0;padding:22px 20px;box-sizing:border-box}
.tl-leiter{margin:0;padding:0;list-style:none;display:grid;gap:12px;
  justify-items:center}
.tl-leiter li{width:var(--b,100%);background:var(--farbe,#d10000);color:#fff;
  border-radius:12px;padding:16px 18px;text-align:center;font-weight:600;
  line-height:1.3;outline:none;
  transition:transform .3s cubic-bezier(.22,.9,.3,1),box-shadow .3s ease}
.tl-leiter li:hover,.tl-leiter li:focus-visible,.tl-leiter li.eg-an{
  transform:translateY(-4px);box-shadow:0 8px 18px rgba(0,0,0,.16)}

/* Schmaler Behaelter: Bild oben, Text darunter. */
@container eg (max-width:420px){
  .tr--text-rechts .tr-feld,.tr--text-beides .tr-feld{
    grid-template-columns:1fr;gap:14px 0}
  .tl-leiter li{width:100%}
}

@media (prefers-reduced-motion:reduce){
  .eg--tr *{transition:none!important;transform:none!important}
}
.eg--tr.eg--warten .tr-flaeche{transform:scaleX(.05)}
.eg--tr .tr-flaeche{transition:transform .5s cubic-bezier(.22,.9,.3,1),
  filter .3s ease;transition-delay:calc(var(--i,0)*60ms)}
.eg--tr.eg--warten .tr-wort{opacity:0}
.eg--tr .tr-wort{transition:opacity .4s ease;
  transition-delay:calc(var(--i,0)*60ms + .2s)}
.eg--tr.eg--warten .tl-leiter li{opacity:0;transform:translateY(14px)}
.eg--tr .tl-leiter li{transition:opacity .5s ease,
  transform .5s cubic-bezier(.22,.9,.3,1),box-shadow .3s ease;
  transition-delay:calc(var(--i,0)*60ms)}

/* Datenring. Die Beschriftung ist HTML ueber der Zeichnung - so bleibt sie
   in einer 630-px-Spalte so gross wie der Fliesstext daneben. */

.rn{background:#f0f0f0;padding:22px 20px;box-sizing:border-box}
.rn-titel{margin:0 0 16px;font-size:1.12em;font-weight:800;letter-spacing:.3px;
  line-height:1.3;color:#1e1e1e}
.rn-oben{display:grid;grid-template-columns:1fr;gap:0}
.rn--mit-text .rn-oben{grid-template-columns:1.18fr 1fr;gap:0 18px;
  align-items:center}
.rn-neben{display:grid;gap:14px;align-content:center}
.rn-unten{display:grid;gap:14px;margin-top:14px}
.rn-neben .rn-legende{margin:0}

.rn-feld{position:relative;width:100%;padding-bottom:calc(var(--seiten,.62)*100%)}
.rn-feld svg{position:absolute;inset:0;width:100%;height:100%;display:block}

.rn-stueck{cursor:default;outline:none}
.rn-stueck path{transform-box:view-box;
  transition:transform .3s cubic-bezier(.22,.9,.3,1)}
.rn-stueck:hover path,.rn-stueck:focus-visible path,.rn-stueck.eg-an path{
  transform:translate(var(--mx,0),var(--my,0))}
.rn-fuehrung{transition:opacity .25s ease}
.rn-fuehrung.eg-an path{stroke:#1e1e1e;stroke-width:2.4}

/* Die Schilder haengen genau am Knick der Fuehrungslinie. */
/* Die Schilder duerfen umbrechen: ganz links bleiben in einer 630-px-Spalte
   nur rund 140 px bis zum Rand, und "101-1.000 BESUCHE" passt dort nicht in
   eine Zeile. */
.rn-schild{position:absolute;display:block;line-height:1.2;outline:none;
  cursor:default}
.rn-schild--links,.rn-schild--rechts{max-width:23%;
  overflow-wrap:anywhere;hyphens:auto}
.rn-schild--rechts{transform:translate(8px,-50%)}
/* Das Schild links waechst nach links, nicht nach rechts - sonst laeuft es
   ueber den Ring. */
.rn-schild--links{transform:translate(calc(-100% - 8px),-50%);
  text-align:right}
.rn-schild--rechts b,.rn-schild--links b{display:block;font-weight:800;
  font-size:.86em;letter-spacing:.2px;color:#1e1e1e}
.rn-schild i{display:block;font-style:normal;font-weight:700;font-size:.86em}
.rn-schild--links{margin-left:-0.1px}
.rn-schild--innen{transform:translate(-50%,-50%);font-weight:800;color:#fff;
  font-size:.95em}
/* Name im Ringband: die Breite folgt der Breite des Bandes. */
.rn-schild--band{transform:translate(-50%,-50%);width:var(--w,20%);
  white-space:normal;text-align:center;color:#fff;line-height:1.2}
.rn-schild--band b{display:block;font-weight:800;font-size:.76em;
  letter-spacing:.2px}
.rn-schild--band i{display:block;font-style:normal;font-weight:400;
  font-size:.72em;margin-top:2px}
.rn-schild.eg-an b{text-decoration:underline;text-underline-offset:3px}

/* Die Nabe sitzt auf einer eigenen Scheibe in der Grundfarbe - so darf ihr
   Text etwas ueber das Loch hinausragen, ohne auf dem Ring zu liegen. */
.rn-nabe{position:absolute;transform:translate(-50%,-50%);
  width:var(--d,36%);aspect-ratio:1;border-radius:50%;background:#f0f0f0;
  text-align:center;line-height:1.28;box-sizing:border-box;padding:6px;
  display:grid;gap:3px;align-content:center;pointer-events:none}
.rn-nabe b{font-weight:800;font-size:.9em;color:#1e1e1e;letter-spacing:.2px}
.rn-nabe strong{font-weight:800;font-size:1.3em;color:#1e1e1e}
.rn-nabe span{font-size:.8em;line-height:1.25;color:#3c3c3c}

.rn-aussage{align-self:center}
.rn-aussage-fett{margin:0 0 8px;font-weight:800;font-size:1.04em;
  line-height:1.32;color:#1e1e1e;text-transform:uppercase;letter-spacing:.3px}
.rn-aussage-mager{margin:0;line-height:1.4;color:#3c3c3c;font-size:.92em}

.rn-legende{margin:16px 0 0;padding:0;list-style:none;display:grid;
  grid-template-columns:1fr 1fr;gap:10px 18px}
.rn-legende--rechts{grid-template-columns:1fr}
.rn-legende li{display:grid;grid-template-columns:15px minmax(0,1fr);
  gap:2px 10px;align-items:start;outline:none;min-width:0;
  transition:transform .25s ease}
.rn-legende li.eg-an{transform:translateX(3px)}
.rn-legende i{grid-row:1/-1;grid-column:1;width:15px;height:15px;
  border-radius:50%;margin-top:.2em}
.rn-legende b,.rn-wert,.rn-zusatz{grid-column:2}
.rn-legende b{font-weight:800;font-size:.94em;letter-spacing:.2px;
  color:#1e1e1e;overflow-wrap:anywhere;hyphens:auto;min-width:0}
.rn-wert,.rn-zusatz{display:block;color:#3c3c3c;font-size:.92em;
  line-height:1.35;overflow-wrap:anywhere}
.rn-zusatz{margin-top:2px}

.rn-fuss{margin:14px 0 0;padding:0;list-style:none;display:flex;
  flex-wrap:wrap;gap:8px 0}
.rn-fuss li{flex:1 1 30%;padding:0 12px;border-left:1px solid #d6d6d6;
  line-height:1.35}
.rn-fuss li:first-child{border-left:0;padding-left:0}
.rn-fuss b{font-weight:800;color:#1e1e1e}
.rn-fuss span{color:#3c3c3c}

.rn-zahlen{margin:14px 0 0;font-size:.92em}
.rn-zahlen summary{cursor:pointer;color:#555;padding:4px 0}
.rn-zahlen table{border-collapse:collapse;width:100%;margin-top:6px}
.rn-zahlen th,.rn-zahlen td{border-bottom:1px solid #e0e0e0;padding:6px 8px;
  text-align:left;vertical-align:top}
.rn-zahlen tbody tr.eg-an{background:#fbecec}
.rn-quelle{margin:10px 0 0;font-size:.82em;color:#6f6f6f;
  overflow-wrap:anywhere}

@container eg (max-width:500px){
  .rn--mit-text .rn-oben{grid-template-columns:1fr;gap:14px 0}
}
@container eg (max-width:430px){
  .rn-legende{grid-template-columns:1fr}
}
/* Ganz schmal wird die Beschriftung am Ring unleserlich - dort traegt die
   Legende die Namen, und am Ring bleiben nur die Stuecke. */
/* Ganz schmal wird die Beschriftung am Ring unleserlich - dort traegt die
   Legende die Namen, und am Ring bleiben nur die Stuecke. */
@container eg (max-width:460px){
  .rn-schild--links,.rn-schild--rechts,.rn-schild--band{display:none}
  .rn-fuehrung{display:none}
}
/* Steht der Name im Ringband, ist die Legende nur der Ersatz fuer schmal. */
@container eg (min-width:461px){
  .rn--bandlegende .rn-legende{display:none}
}

@media (prefers-reduced-motion:reduce){
  .eg--rn *{transition:none!important;transform:none!important}
}
.eg--rn.eg--warten .rn-stueck path{opacity:0}
.eg--rn .rn-stueck path{transition:transform .3s cubic-bezier(.22,.9,.3,1),
  opacity .45s ease;transition-delay:calc(var(--i,0)*70ms)}
.eg--rn.eg--warten .rn-schild,.eg--rn.eg--warten .rn-fuehrung,
.eg--rn.eg--warten .rn-nabe{opacity:0}
.eg--rn .rn-schild,.eg--rn .rn-fuehrung,.eg--rn .rn-nabe{
  transition:opacity .45s ease .5s}

/* Texttafel: Ueberschrift, feiner Strich, Aufzaehlung mit Pfeilkreis. */

.tp{background:var(--tp-grund,#f0f0f0);padding:26px 28px 28px;
  box-sizing:border-box}
.tp-titel{margin:0 0 12px;font-size:1.22em;font-weight:800;letter-spacing:.3px;
  line-height:1.25;color:#1e1e1e;overflow-wrap:anywhere}
.tp--mitte .tp-titel{text-align:center}
.tp-strich{border:0;border-top:1px solid #d0d0d0;margin:0 0 18px}

.tp-liste{margin:0;padding:0;list-style:none;display:grid;gap:11px 26px}
.tp--zwei .tp-liste{grid-template-columns:1fr 1fr;grid-auto-flow:column;
  grid-template-rows:repeat(var(--zeilen,4),auto)}
.tp-liste li{display:grid;grid-template-columns:24px minmax(0,1fr);
  gap:0 11px;align-items:start;line-height:1.45;color:#2a2a2a;
  transition:transform .22s ease}
.tp-liste li:hover{transform:translateX(3px)}
.tp-pfeil{display:block;width:22px;height:22px;margin-top:.14em;color:#d10000}
.tp-pfeil svg{width:100%;height:100%;display:block}
.tp-liste b{font-weight:700;color:#1e1e1e}
.tp-liste span{min-width:0;overflow-wrap:anywhere}

/* Farbiger Kasten um die Punkte - dort stehen schlichte runde Punkte. */
.tp-liste--kasten{background:var(--kasten,#f08080);color:#fff;
  padding:22px 24px;gap:9px 26px}
.tp-liste--kasten li{grid-template-columns:9px minmax(0,1fr);gap:0 12px;
  color:#fff}
.tp-liste--kasten .tp-pfeil{width:6px;height:6px;margin-top:.55em;
  border-radius:50%;background:#fff}
.tp-liste--kasten b{color:#fff;font-weight:400}

@container eg (max-width:520px){
  .tp{padding:20px 18px 22px}
  .tp--zwei .tp-liste{grid-template-columns:1fr;grid-auto-flow:row;
    grid-template-rows:none}
}

@media (prefers-reduced-motion:reduce){
  .eg--tp *{transition:none!important;transform:none!important}
}
.eg--tp.eg--warten .tp-liste li{opacity:0;transform:translateY(10px)}
.eg--tp .tp-liste li{transition:opacity .45s ease,
  transform .45s cubic-bezier(.22,.9,.3,1)}
.eg--tp .tp-liste li:nth-child(2){transition-delay:.05s}
.eg--tp .tp-liste li:nth-child(3){transition-delay:.1s}
.eg--tp .tp-liste li:nth-child(4){transition-delay:.15s}
.eg--tp .tp-liste li:nth-child(5){transition-delay:.2s}
.eg--tp .tp-liste li:nth-child(6){transition-delay:.25s}
.eg--tp .tp-liste li:nth-child(n+7){transition-delay:.3s}

/* Kapselfaecher: Nabe mit Kapseln ringsum. */

.kf{background:var(--kf-grund,#f0f0f0);padding:24px 20px;box-sizing:border-box}

/* ---- Kranz: die Kapseln sitzen auf ihrem Winkel. Breite und Hoehe haengen
   ueber --verh zusammen, damit aus den Prozentwerten wieder ein Kreis wird. */
.kf-feld--kranz{position:relative;width:100%;
  aspect-ratio:var(--verh,1.4);
  /* Genug Hoehe fuer echte Schriftgroesse: jede Zeile bekommt ihren Platz,
     auch wenn die Vorlage als Bild flacher war. */
  min-height:calc(var(--reihen,4) * var(--kf-reihe,104px));
  color:#9a9a9a}
.kf-feld--kranz .kf-nabe{position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);z-index:2}

.kf-linien{position:absolute;inset:0;width:100%;height:100%;
  pointer-events:none;overflow:visible;z-index:1}

.kf-feld--kranz .kf-kapsel{position:absolute;z-index:3;
  overflow-wrap:break-word}
.kf-feld--kranz .kf-kapsel--o,
.kf-feld--kranz .kf-kapsel--u{text-align:center}

/* ---- Nabe */
.kf-nabe{display:grid;place-items:center;text-align:center;
  background:var(--nabe,#1e1e1e);color:var(--nabe-t,#fff);font-weight:800;line-height:1.25;
  letter-spacing:.3px;padding:14px;box-sizing:border-box;
  font-size:var(--nabeschrift,.98em);overflow-wrap:anywhere}
.kf-nabe--kreis{width:var(--nabe-b,clamp(140px,30cqw,220px));max-width:86%;
  aspect-ratio:1;border-radius:50%}
.kf-nabe--kasten{border-radius:16px;width:var(--nabe-b,auto);
  max-width:min(300px,86%)}

/* ---- Kapsel */
.kf-kapsel{background:var(--farbe,#d10000);color:var(--schrift,#fff);
  border-radius:999px;padding:11px 18px;font-weight:800;font-size:.9em;
  letter-spacing:.3px;line-height:1.3;outline:none;box-sizing:border-box;
  /* Keine automatische Silbentrennung: ohne lang-Angabe trennt Chromium
     nach eigenem Gutduenken ("Weiterentwicklu-ng"), und die Vorlage
     trennt ueberhaupt nicht. */
  hyphens:manual;
  transition:transform .28s cubic-bezier(.22,.9,.3,1),box-shadow .28s ease}
.kf-kapsel--breit{border-radius:14px;text-align:left;font-weight:400;
  padding:14px 18px}
/* Ein Ast mit Unterbegriffen ist kein Pille mehr - sonst schneidet die
   runde Kante in den Text. */
.kf-kapsel--ast{border-radius:18px;text-align:left;padding:12px 16px}
.kf-kapsel--breit b{display:block;font-weight:800;margin-bottom:5px}
.kf-text{display:block;font-size:.94em;line-height:1.4;font-weight:400}
.kf-nr{font-weight:800;margin-right:6px}

/* Unterbegriffe haengen als kleinere Kapseln an der grossen. */
.kf-unter{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.kf-unterkapsel{background:rgba(255,255,255,.22);border-radius:999px;
  padding:4px 11px;font-size:.84em;font-weight:700;letter-spacing:.2px}

.kf-kapsel:hover,.kf-kapsel:focus-visible,.kf-kapsel.eg-an{
  box-shadow:0 8px 18px rgba(0,0,0,.18)}
.kf-feld--kranz .kf-kapsel--r:hover,.kf-feld--kranz .kf-kapsel--r:focus-visible{
  transform:translateY(-50%) translateX(5px) scale(1.04)}
.kf-feld--kranz .kf-kapsel--l:hover,.kf-feld--kranz .kf-kapsel--l:focus-visible{
  transform:translateY(-50%) translateX(-5px) scale(1.04)}
.kf-feld--kranz .kf-kapsel--o:hover,.kf-feld--kranz .kf-kapsel--o:focus-visible{
  transform:translate(-50%,-100%) translateY(-5px) scale(1.04)}
.kf-feld--kranz .kf-kapsel--u:hover,.kf-feld--kranz .kf-kapsel--u:focus-visible{
  transform:translate(-50%,0) translateY(5px) scale(1.04)}

/* ---- Spalte: Nabe links, Kapseln rechts, mit Fuehrung dazwischen.
   Feste Verhaeltnisse statt 'auto': sonst zieht die Nabe die Spur auf ihre
   Hoechstbreite und den Kapseln bleibt ein Drittel - dann bricht der Text
   auf drei Zeilen, waehrend er in der Vorlage auf einer steht. Die Vorlage
   gibt der Nabe rund ein Drittel, den Kapseln zwei Drittel. */
.kf-feld--spalte{display:grid;
  grid-template-columns:minmax(0,33fr) minmax(0,67fr);
  align-items:center;gap:0 30px}
.kf-feld--spalte .kf-nabe{width:100%;max-width:100%;box-sizing:border-box}
.kf-liste{margin:0;padding:0;list-style:none;display:grid;
  gap:var(--liste-luft,24px);position:relative}
.kf-liste::before{content:"";position:absolute;left:-22px;top:12%;bottom:12%;
  border-left:1.6px solid #9a9a9a}
.kf-liste li{position:relative}
.kf-liste li::before{content:"";position:absolute;left:-22px;top:50%;
  width:22px;height:0;border-top:1.6px solid #9a9a9a}
.kf-liste li::after{content:"";position:absolute;left:-6px;top:50%;
  transform:translateY(-50%);border:5px solid transparent;
  border-left-color:#9a9a9a;border-right:0}
.kf-liste .kf-kapsel{display:block}

/* ---- Ersatzliste fuer schmale Behaelter */
.kf-ersatz{display:none}
.kf-ersatz .kf-nabe{margin:0 auto 16px}
.kf-ersatz .kf-liste{gap:12px}
.kf-ersatz .kf-liste::before,
.kf-ersatz .kf-liste li::before,
.kf-ersatz .kf-liste li::after{display:none}
.kf-ersatz .kf-kapsel{text-align:center}
.kf-ersatz .kf-kapsel--breit{text-align:left}

@container eg (max-width:420px){
  .kf-feld--kranz{display:none}
  .kf-ersatz{display:block}
  .kf-feld--spalte{grid-template-columns:1fr;gap:16px 0;justify-items:center}
  .kf-feld--spalte .kf-liste{width:100%}
  .kf-feld--spalte .kf-liste::before,
  .kf-feld--spalte .kf-liste li::before,
  .kf-feld--spalte .kf-liste li::after{display:none}
  .kf-feld--spalte .kf-nabe{order:-1}
  .kf-nabe--kreis{width:clamp(150px,58cqw,210px)}
}

@media (prefers-reduced-motion:reduce){
  .eg--kf *{transition:none!important}
  .eg--kf .kf-kapsel{transform:none}
  .eg--kf .kf-feld--kranz .kf-kapsel--r,
  .eg--kf .kf-feld--kranz .kf-kapsel--l{transform:translateY(-50%)}
  .eg--kf .kf-feld--kranz .kf-kapsel--o{transform:translate(-50%,-100%)}
  .eg--kf .kf-feld--kranz .kf-kapsel--u{transform:translate(-50%,0)}
}

/* ---- Auftritt: die Kapseln kommen aus der Nabe heraus. */
.eg--kf .kf-kapsel{transition:opacity .45s ease,
  transform .45s cubic-bezier(.22,.9,.3,1),box-shadow .28s ease;
  transition-delay:calc(var(--i,0)*55ms)}
.eg--kf.eg--warten .kf-kapsel{opacity:0}
.eg--kf.eg--warten .kf-liste .kf-kapsel{transform:scale(.92)}
.eg--kf.eg--warten .kf-nabe{opacity:0;transform:scale(.88)}
.eg--kf.eg--warten .kf-feld--kranz .kf-nabe{transform:translate(-50%,-50%) scale(.88)}
.eg--kf .kf-nabe{transition:opacity .45s ease,transform .45s ease}
.kf-linien path{vector-effect:non-scaling-stroke}
/* Die Linien blenden auf. Kein Strichmuster: mit non-scaling-stroke rechnet
   der Browser die Strichlaenge in Bildpunkten, nicht in viewBox-Einheiten -
   dann bleibt die Haelfte der Linie unsichtbar. */
.eg--kf .kf-linien path{opacity:1;transition:opacity .6s ease;
  transition-delay:calc(var(--i,0)*55ms)}
.eg--kf.eg--warten .kf-linien path{opacity:0}

/* Waagerechte Balken. */

.bw{background:#f0f0f0;padding:24px 22px;box-sizing:border-box}
.bw-titel{margin:0 0 6px;font-size:1.1em;font-weight:800;letter-spacing:.3px;
  line-height:1.3;color:#1e1e1e}
.bw-unter{margin:0 0 16px;font-size:.92em;line-height:1.4;color:#3c3c3c}
.bw-titel+.bw-leiter{margin-top:16px}

.bw-leiter{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.bw-zeile{display:grid;
  grid-template-columns:minmax(0,clamp(6em,34%,10.5em)) minmax(0,1fr) auto;
  align-items:center;gap:0 12px;outline:none}
.bw-zeile>*{min-width:0}
.bw-nr{grid-row:1;display:grid;place-items:center;width:30px;height:30px;
  background:#d10000;color:#fff;font-weight:800;font-size:.92em;
  border-radius:6px}
.bw-zeile:has(.bw-nr){
  grid-template-columns:30px minmax(0,clamp(5em,28%,8em)) minmax(0,1fr) auto}
.bw-name{font-size:.94em;line-height:1.3;color:#2a2a2a;
  overflow-wrap:anywhere;hyphens:auto}
/* Zwei Reihen in einer Zeile stehen untereinander; nur der gestapelte
   Balken setzt seine Stuecke nebeneinander. */
.bw-spur{display:grid;gap:3px;min-width:0}
.bw--gestapelt .bw-spur{display:flex;gap:2px}
.bw-stueck{display:block;width:var(--b,0%);background:var(--farbe,#d10000);
  height:26px;border-radius:2px;position:relative;
  transition:transform .3s cubic-bezier(.22,.9,.3,1),filter .3s ease;
  transform-origin:0 50%}
.bw-stueck i{position:absolute;inset:0;display:grid;place-items:center;
  color:#fff;font-style:normal;font-weight:700;font-size:.82em;
  white-space:nowrap}
.bw-zahl{font-weight:700;font-size:.94em;color:#1e1e1e;white-space:nowrap;
  justify-self:end;min-width:0}
.bw-zeile:hover .bw-stueck,.bw-zeile:focus-visible .bw-stueck,
.bw-zeile.eg-an .bw-stueck{transform:scaleY(1.16)}

/* Der Name steht im Balken - so halten es die dichten Vorlagen. */
.bw--nameninnen .bw-zeile{grid-template-columns:minmax(0,1fr) auto}
.bw--nameninnen .bw-name{grid-row:1;grid-column:1;justify-self:start;
  z-index:1;padding:0 10px;color:#fff;font-weight:700;font-size:.86em;
  pointer-events:none}
.bw--nameninnen .bw-spur{grid-row:1;grid-column:1}
/* Steht der Name im Balken und gibt es Nummern, gehoert die Nummer davor -
   so wie in den Vorlagen, nicht hinter den Balken. */
.bw--nameninnen .bw-zeile:has(.bw-nr){grid-template-columns:34px minmax(0,1fr)}
.bw--nameninnen .bw-zeile:has(.bw-nr) .bw-nr{grid-row:1;grid-column:1}
.bw--nameninnen .bw-zeile:has(.bw-nr) .bw-name,
.bw--nameninnen .bw-zeile:has(.bw-nr) .bw-spur{grid-column:2}
.bw-zahlen--leer{display:none}

.bw-legende{margin:16px 0 0;padding:0;list-style:none;display:flex;
  flex-wrap:wrap;gap:8px 20px}
.bw-legende li{display:flex;align-items:center;gap:8px;font-size:.92em;
  color:#2a2a2a}
.bw-legende i{width:14px;height:14px;border-radius:50%;flex:0 0 auto}

.bw-zahlen{margin:14px 0 0;font-size:.92em}
.bw-zahlen summary{cursor:pointer;color:#555;padding:4px 0}
.bw-zahlen table{border-collapse:collapse;width:100%;margin-top:6px}
.bw-zahlen th,.bw-zahlen td{border-bottom:1px solid #e0e0e0;padding:6px 8px;
  text-align:left;vertical-align:top}
.bw-zahlen tbody tr.eg-an{background:#fbecec}
.bw-quelle{margin:12px 0 0;font-size:.82em;color:#6f6f6f;
  overflow-wrap:anywhere}

@container eg (max-width:420px){
  /* Bei sehr schmaler Spalte steht der Name ueber dem Balken - sonst bleibt
     fuer den Balken nichts uebrig. */
  .bw-zeile{grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"name name" "spur zahl";gap:3px 10px}
  .bw-name{grid-area:name}
  .bw-spur{grid-area:spur}
  .bw-zahl{grid-area:zahl}
  .bw-zeile:has(.bw-nr){grid-template-columns:30px minmax(0,1fr) auto;
    grid-template-areas:"nr name name" "nr spur zahl"}
  .bw-nr{grid-area:nr;align-self:center}
  .bw--nameninnen .bw-zeile{grid-template-areas:"name name" "spur zahl"}
  .bw--nameninnen .bw-name{grid-area:name;color:#2a2a2a;padding:0;
    font-weight:400;font-size:.92em}
  .bw--nameninnen .bw-spur{grid-area:spur}
}

@media (prefers-reduced-motion:reduce){
  .eg--bw *{transition:none!important;transform:none!important}
}
.eg--bw.eg--warten .bw-stueck{transform:scaleX(.02)}
.eg--bw .bw-stueck{transition:transform .55s cubic-bezier(.22,.9,.3,1),
  filter .3s ease;transition-delay:calc(var(--i,0)*45ms)}
.eg--bw.eg--warten .bw-zahl,.eg--bw.eg--warten .bw-stueck i{opacity:0}
.eg--bw .bw-zahl,.eg--bw .bw-stueck i{transition:opacity .4s ease;
  transition-delay:calc(var(--i,0)*45ms + .3s)}
