:root {

  --color-primary:  #760504;
  --color-accent:   #FBDC6A;
  --color-primary-deep: #4A0403;
  --color-red:      #B12B24;
  --color-rose:     #BEAAAD;
  --color-green:    #3F7A52;

  --color-paper:    #FBF7F5;
  --color-white:    #FFFFFF;
  --color-text:     #241010;
  --color-ink:      #241010;
  --color-text-soft: #57433F;
  --color-slate:    #57433F;
  --color-muted:    #6B5551;
  --color-grey-bg:  #F4EAE7;
  --color-text-hell: #FBF7F5;
  --color-line:     #ECDFDB;
  --color-icon-bg:  #760504;

  --font-display: 'Source Sans 3', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-text:    'Source Sans 3', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-serif:   'Iowan Old Style', 'Palatino Linotype', 'Palatino', Georgia, serif;

  --fs-h1:      60px;
  --fs-h2:      40px;
  --fs-h3:      29px;
  --fs-lead:    20px;
  --fs-body:    17px;
  --fs-btn:     17px;
  --fs-small:   16px;
  --fs-mini:    14px;
  --fs-micro:   13px;

  --lh-body:  27.2px;
  --lh-lead:    20px;
  --lh-h3:    31.3px;
  --lh-h2:    43.2px;
  --lh-h1:    64.8px;
  --lh-btn:     26px;
  --lh-hero:  51.6px;

  --ecke-knopf:   10px;
  --ecke-karte:   18px;
  --ecke-video:   20px;
  --ecke-medien:  20px;
  --ecke-hero:    22px;
  --ecke-klein:   14px;
  --ecke-symbol:  12px;
  --ecke-fokus:    6px;
  --radius-s:     10px;
  --radius-pill: 999px;

  --schatten-ruhe:  0 18px 40px -30px rgba(74, 4, 3, .40);
  --schatten-karte: 0 30px 60px -30px rgba(74, 4, 3, .45);
  --schatten-hoch:  0 34px 70px -30px rgba(74, 4, 3, .55);
  --schatten-dunkel: 0 24px 44px -12px rgba(0, 0, 0, .55);

  --ton-schleier: 40 3 2;
  --ton-kopf:     20 4 3;

  --deckung-text: .57;

  --breite-max:  1200px;
  --pad-seite:    120px;
  --pad-band:     144px;

  --btn-pad-y:  12px;
  --btn-pad-x:  24px;
  --btn-pad-y-s: 10px;
  --btn-pad-x-s: 20px;
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

body {
  margin: 0;
  font-family: var(--font-text);
  background: var(--color-paper);

  font-size: var(--fs-body);
  font-weight: 400;
  line-height: var(--lh-body);
  color: var(--color-text);

}

img, picture, video, svg { max-width: 100%; height: auto; display: block; }

b, strong { font-weight: 700; }

a { color: inherit; text-decoration: none; }
a:hover, a:focus-visible { text-decoration: underline; }
.ap-btn:hover, .ap-btn:focus-visible { text-decoration: none; }

[hidden] { display: none !important; }

.ap-versteckt {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.ap-sprunglink {
  position: absolute; left: 0; top: -100px; z-index: 200;
  background: var(--color-white); color: var(--color-text);
  padding: 12px 24px; font-size: var(--fs-body);
}
.ap-sprunglink:focus { top: 0; }

:where(a, button, input, select, textarea, summary, video, [tabindex]):focus-visible {
  outline: 3px solid var(--color-accent);
  outline-offset: 2px;
}

.ap-breite {
  max-width: var(--breite-max);
  margin-inline: auto;
  padding-inline: 24px;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 700;
  margin: 0;
  color: var(--color-text);

  text-wrap: balance;
}
h1 { font-size: var(--fs-h1); line-height: var(--lh-h1); }
h2 { font-size: var(--fs-h2); line-height: var(--lh-h2); }
h3 { font-size: var(--fs-h3); line-height: var(--lh-h3); }

p, li { text-wrap: pretty; }

p { margin: 0 0 1em; }

p:where(:last-child) { margin-bottom: 0; }

.ap-lead { font-size: var(--fs-lead); line-height: var(--lh-lead); }
.ap-small { font-size: var(--fs-small); }
.ap-mini  { font-size: var(--fs-mini); }

.ap-btn {
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-size: var(--fs-btn); font-weight: 700; line-height: var(--lh-btn);
  text-align: center; text-decoration: none;
  padding: var(--btn-pad-y) var(--btn-pad-x);
  border: 0; border-radius: var(--ecke-knopf);
  cursor: pointer;
  transition: background-color .18s ease, color .18s ease, transform .15s ease;

  min-height: 44px;
}

.ap-btn, .ap-btn * { text-shadow: none; }

.ap-btn:hover { transform: translateY(-2px); }
@media (prefers-reduced-motion: reduce) {

  .ap-btn:hover { transform: none; }
}
.ap-btn--primaer { background: var(--color-primary); color: var(--color-white); }

.ap-btn--primaer:hover, .ap-btn--primaer:focus-visible { background: var(--color-red); }

.ap-btn--akzent  { background: var(--color-accent); color: var(--color-primary); }

.ap-btn--akzent:hover, .ap-btn--akzent:focus-visible {
  background: var(--color-red); color: var(--color-white);
}

.ap-btn--kontur {
  background: transparent; color: var(--color-white);
  border: 1.6px solid rgba(255, 255, 255, .55);

  padding: calc(var(--btn-pad-y) - 1.6px) calc(var(--btn-pad-x) - 1.6px);
}
.ap-btn--kontur:hover, .ap-btn--kontur:focus-visible {
  border-color: var(--color-accent); color: var(--color-accent);
  background: transparent;
}

.ap-btn--klein { padding: var(--btn-pad-y-s) var(--btn-pad-x-s); }

.ap-btn--hero { font-size: var(--fs-small); line-height: 24px; }

.ap-btn--gross { padding: 20px 55px; }

.ap-btn--handlung { padding: 20px 55px; }

.ap-btn__text { display: block; }

.ap-btn--extern { gap: .55em; }
.ap-btn__pfeil { font-size: .85em; line-height: 1; transform: translateY(-.05em); }

.ap-pille--kopf { margin-bottom: 14px; }

.ap-kopf {
  position: absolute; inset-inline: 0; top: 0; z-index: 100;
  padding-block: 22px;
}
.ap-kopf__inner {
  max-width: 1320px; margin-inline: auto; padding-inline: 24px;

  display: flex; align-items: flex-start; justify-content: space-between; gap: 24px;
}
.ap-kopf__logo img { width: 138px; height: auto; }

.ap-nav { display: flex; align-items: center; gap: 28px; margin-top: 3px; }
.ap-nav a {
  font-family: var(--font-text);
  font-size: var(--fs-body);

  font-weight: 300;
  line-height: 20px;
  color: var(--color-white);
  text-decoration: none;
  padding-block: 15px;
}
.ap-nav a:hover, .ap-nav a:focus-visible { color: var(--color-accent); }

.ap-nav__abtrennung {
  width: 1px; align-self: center; height: 18px;
  background: rgba(255, 255, 255, .28);

  margin-inline: -8px;
}
.ap-nav__extern { display: inline-flex; align-items: baseline; gap: .35em; }
.ap-nav__pfeil {
  font-size: .8em; line-height: 1;

  transform: translateY(-.08em);
}
.ap-nav a[aria-current="page"] { color: var(--color-accent); }

.ap-nav__gruppe { position: relative; }
.ap-nav__gruppe > summary {
  list-style: none; cursor: pointer;
  font-size: var(--fs-body); font-weight: 300; line-height: 20px;
  color: var(--color-white); padding-block: 15px;
  display: inline-flex; align-items: center; gap: 6px;
}
.ap-nav__gruppe > summary::-webkit-details-marker { display: none; }
.ap-nav__gruppe > summary::after {
  content: ""; width: 8px; height: 8px; margin-top: -3px;
  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
}
.ap-nav__gruppe[open] > summary { color: var(--color-accent); }

.ap-nav__gruppe > summary.ap-nav__aktiv { color: var(--color-accent); }

.ap-nav__gruppe:not([open]) .ap-nav__liste { display: none; }
.ap-nav__liste {
  position: absolute; top: 100%; left: 50%; transform: translateX(-50%);
  min-width: 260px; background: var(--color-primary);
  padding: 12px 0; margin: 0; list-style: none;
  box-shadow: var(--schatten-dunkel);
}
.ap-nav__liste a { display: block; padding: 10px 20px; line-height: 1.4; }
.ap-nav__liste a:hover { background: rgb(255 255 255 / .12); }

.ap-nav__unter {
  list-style: none; margin: 2px 0 6px 20px; padding: 0 0 0 20px;
  border-left: 2px solid rgb(255 255 255 / .28);
}
.ap-nav__unter a {
  padding: 7px 20px 7px 12px;
  font-size: var(--fs-small);
  color: rgb(255 255 255 / .86);
}
.ap-nav__unter a:hover, .ap-nav__unter a:focus-visible { color: var(--color-accent); }
.ap-nav__ast > a { font-weight: 400; }

.ap-nav__schalter {
  display: none; background: none; border: 0; padding: 10px;
  color: var(--color-white); cursor: pointer;
}
.ap-nav__schalter svg { width: 26px; height: 26px; }

.ap-hero { position: relative; display: grid; align-items: start; overflow: hidden; isolation: isolate; }
.ap-hero__bild {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; z-index: 0;
}
.ap-hero__inner { position: relative; z-index: 3; width: 100%; }

.ap-hero--630 { min-height: 630px; }
.ap-hero--800 { min-height: 800px; }
.ap-hero--900 { min-height: 900px; }
.ap-hero--rot { background: var(--color-primary); }

.ap-hero h1 { color: var(--color-white); }

.ap-hero__kicker {
  font-family: var(--font-text);
  font-size: var(--kicker-fs, 35px); font-weight: 400; line-height: 1.2;
  color: var(--color-white); margin: 0 0 8px;
}

.ap-hero__kasten {
  background: rgb(51 51 51 / .72);
  padding: 48px 40px;
  max-width: 520px;
  margin-left: auto;
  text-align: center;
  color: var(--color-white);
}
.ap-hero__titel {
  font-family: var(--font-display);
  font-size: var(--fs-h1); font-weight: 700; line-height: var(--lh-h1);
  color: var(--color-white); margin: 0 0 24px;
}

.ap-hero__lead {
  font-family: var(--font-text);
  font-size: 22px; font-weight: 700; line-height: 28px;
  margin: 0 0 24px;
}
.ap-hero__kasten p {
  font-size: var(--fs-body); line-height: 29px; margin: 0 0 24px;
}

.ap-band { padding-block: 80px; }

.ap-band--hoehe-540 {

  min-height: 540px; display: grid; align-items: start; padding-block: 118px 0;
}
.ap-band--hoehe-720 { min-height: 720px; }

.ap-band--weiss  { background: var(--color-white); }
.ap-band--papier { background: var(--color-paper); }
.ap-band--tint   { background: var(--color-grey-bg); }
.ap-band--rot   { background: var(--color-primary); color: var(--color-white); }
.ap-band--grau  { background: var(--color-grey-bg); }
.ap-band--slate { background: var(--color-slate); color: var(--color-white); }
.ap-band--rot h1, .ap-band--rot h2, .ap-band--rot h3,
.ap-band--slate h1, .ap-band--slate h2, .ap-band--slate h3 { color: var(--color-white); }

.ap-band--eng   { padding: 57px var(--pad-band) 58px; }
.ap-band--weit  { padding-inline: var(--pad-band); }

.ap-zentriert { text-align: center; }

.ap-band--kacheln > .ap-zentriert { display: flow-root; }

.ap-pille {
  display: inline-flex; align-items: center; gap: .5em;
  background: var(--color-primary); color: var(--color-white);
  font-family: var(--font-display);
  font-size: .72rem; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase;
  padding: .5em 1em; border-radius: var(--radius-pill);
}

.ap-pille--hell { background: transparent; border: 1.5px solid currentColor; color: var(--color-accent); }

.ap-schwung {
  position: relative;
  padding-bottom: 20px;
}
.ap-schwung::after {
  content: ""; position: absolute; left: 0; bottom: 2px;
  width: 118px; height: 12px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 12'%3E%3Cpath d='M3 8 C 32 2, 88 2, 117 7' fill='none' stroke='%23FBDC6A' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat;
  background-size: contain;
}

.ap-zentriert .ap-schwung::after,
.ap-schwung--mitte::after { left: 50%; transform: translateX(-50%); }

.ap-schwung--hero { padding-bottom: 0; }
.ap-schwung--hero::after {
  position: static; display: block;
  width: min(280px, 70%); height: 16px;
  margin: 14px auto 22px;
  transform: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 16'%3E%3Cpath d='M6 11 C 90 3, 210 3, 294 9' fill='none' stroke='%23FBDC6A' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat;
  background-size: contain;
}

.ap-leitsatz {
  font-family: var(--font-serif); font-style: italic; font-weight: 500;
  font-size: clamp(1.5rem, 3vw, 2.2rem); line-height: 1.24;
  letter-spacing: -.01em; color: var(--color-primary);
  max-width: 22ch; margin: 22px 0 0;
}
.ap-leitsatz__wer { margin-top: 22px; color: var(--color-muted); font-weight: 700; }

.ap-infokarte {
  background: var(--color-white);
  border: 1px solid var(--color-line);
  border-radius: var(--ecke-karte);
  padding: 30px;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.ap-infokarte:hover, .ap-infokarte:focus-within {
  transform: translateY(-4px);
  box-shadow: 0 24px 46px -28px rgba(74, 4, 3, .4);
  border-color: var(--color-rose);
}
.ap-infokarte h3 { font-size: 1.22rem; margin: 0 0 10px; }
.ap-infokarte p  { color: var(--color-text-soft); font-size: .98rem; margin: 0; }

.ap-infokarte__symbol {
  width: 46px; height: 46px; margin-bottom: 18px;
  border-radius: var(--ecke-symbol);
  display: grid; place-items: center;
  background: color-mix(in srgb, var(--color-primary) 12%, transparent);
  color: var(--color-primary);
}
.ap-infokarte__symbol svg { width: 24px; height: 24px; stroke: currentColor; fill: none; stroke-width: 1.8; }

@media (prefers-reduced-motion: reduce) {
  .ap-infokarte, .ap-infokarte:hover, .ap-infokarte:focus-within { transition: none; transform: none; }
}

.ap-kacheln {
  display: grid;
  gap: 50px 57px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.ap-kachel {

  position: relative; display: block; text-decoration: none;
  color: var(--color-white);
  border: 3px solid var(--color-white);
}
.ap-kachel__bild {
  width: 100%; height: 300px; object-fit: cover;
}

.ap-kachel__titel {
  display: flex; align-items: center; justify-content: center;
  height: 94px; padding: 0 15px;
  font-family: var(--font-display);
  font-size: var(--fs-h3); font-weight: 700; line-height: var(--lh-h3);
  text-align: center;
}
.ap-kachel__titel-zeile { display: block; width: 100%; }
.ap-kachel__titel-text  { display: inline; }
.ap-kachel:hover .ap-kachel__bild { opacity: .88; }

.ap-duo {
  display: grid; gap: 48px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
}
.ap-duo--bild-links > .ap-duo__medium { order: -1; }
.ap-duo__bild { width: 100%; border-radius: var(--ecke-karte); }
.ap-duo__text h2 { margin-bottom: 30px; }
.ap-duo__text p  { margin-bottom: 40px; max-width: 470px; }

.ap-fuss { background: var(--color-primary-deep); color: var(--color-white); }
.ap-fuss__karten {
  display: grid; gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 1200px; margin-inline: auto;
  padding: 60px 0;
}
.ap-fuss__karte {
  background: var(--color-white); color: var(--color-text);
  padding: 50px;
  border-radius: var(--ecke-karte);
}
.ap-fuss__karte h2 {
  font-size: var(--fs-h3); line-height: var(--lh-h3); margin: 0 0 16px;
}
.ap-fuss__karte p, .ap-fuss__karte li {
  font-size: var(--fs-body); line-height: var(--lh-body); margin: 0;
}

.ap-fuss__karte li > a {
  display: flex; align-items: center;
  min-height: 44px;
}
.ap-fuss__karte .ap-social a { width: 44px; height: 44px; }
.ap-fuss__karte .ap-social { gap: 4px; margin-left: -12px; }
.ap-fuss__zeiten { display: grid; grid-template-columns: auto 1fr; gap: 12px 40px; }
.ap-fuss__zeiten dd { margin: 0; text-align: right; }
.ap-fuss__karte p.ap-fuss__foerderung,
.ap-fuss__foerderung {
  font-family: var(--font-display);
  font-size: var(--fs-mini); font-weight: 700; line-height: 14px;
  margin: 12px 0 24px;
}
.ap-fuss__schluss {

  background: transparent;
  border-top: 1px solid rgb(255 255 255 / .12);
  padding: 26px 86.39px;

  display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto;
  grid-auto-flow: column;
  gap: 4px 24px;
  justify-content: center;
  font-size: var(--fs-body); line-height: var(--lh-body);
}
.ap-fuss__schluss > :nth-child(-n+2) { text-align: right; }
.ap-fuss__schluss > :nth-child(n+3)  { text-align: left; }
.ap-fuss__schluss a { text-decoration: none; }
.ap-fuss__schluss a:hover { text-decoration: underline; }

.ap-ki-hinweis {

  background: var(--color-primary-deep);
  color: #D6BEBE;
  display: flex; align-items: center; justify-content: center; gap: .5rem;
  margin: 0; padding: 0 86.39px 22px;
  font-size: 13px; line-height: 20px; text-align: center;
}
.ap-ki-hinweis img { flex: none; width: 18px; height: 18px; }
@media (max-width: 900px) {

  .ap-hero { --panel-luft-y: 22px; --panel-luft-x: 22px; }
  .ap-hero__panel { max-width: 100%; }

  .ap-ki-hinweis { padding: 0 20px 72px; }
}

.ap-social { display: flex; gap: 12px; margin-top: 24px; }
.ap-social a {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px;
  color: var(--color-primary);
}
.ap-social svg { width: 20px; height: 20px; fill: currentColor; }
.ap-social--rund a {
  width: 31px; height: 31px;
  background: var(--color-icon-bg); border-radius: var(--radius-pill);
  color: var(--color-white);
}

.ap-social-leiste {
  position: fixed; left: 0; top: 50%; transform: translateY(-50%);
  z-index: 90; display: flex; flex-direction: column; gap: 8px;
  background: var(--color-primary); padding: 15px 10px;
}
.ap-social-leiste a {
  width: 52px; height: 52px; border-radius: var(--radius-s);
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--color-white);
}
.ap-social-leiste svg { width: 22px; height: 22px; fill: currentColor; }

.ap-video {
  position: relative; aspect-ratio: 16 / 9; background: #000; overflow: hidden;
  border-radius: var(--ecke-video);
  border: 3px solid var(--color-accent);
}

.ap-video--ueberuns { border: 1px solid rgb(74 4 3 / .35); border-radius: 30px; }
.ap-video img, .ap-video iframe {
  position: absolute; inset: 0; width: 100%; height: 100%; border: 0; object-fit: cover;
}
.ap-video__knopf {
  position: absolute; inset: 0; display: grid; place-items: center;
  border: 0; background: transparent; cursor: pointer; padding: 0;
}
.ap-video__knopf::before {
  content: ""; width: 74px; height: 74px; border-radius: var(--radius-pill);
  background: var(--color-primary); opacity: .92;
}
.ap-video__knopf::after {
  content: ""; position: absolute;
  border-style: solid; border-width: 14px 0 14px 24px;
  border-color: transparent transparent transparent var(--color-white);
  margin-left: 6px;
}

.ap-video--motiv-play > .ap-video__knopf::before,
.ap-video--motiv-play > .ap-video__knopf::after { content: none; }
.ap-video--motiv-play > .ap-video__knopf:hover { background: rgb(255 255 255 / .10); }
.ap-video--motiv-play > .ap-video__knopf:focus-visible {
  outline: 3px solid var(--color-accent); outline-offset: -6px;
}

.ap-video__knopf--karte {
  position: static; inset: auto;
  display: inline-flex; place-items: initial;
  background: var(--color-primary); color: var(--color-white);
  border-radius: var(--ecke-knopf);
  padding: var(--btn-pad-y-s) var(--btn-pad-x-s);
}
.ap-video__knopf--karte:hover, .ap-video__knopf--karte:focus-visible { background: #5c0403; }
.ap-video__knopf--karte::before, .ap-video__knopf--karte::after { content: none; }

.ap-video__hinweis {
  font-size: var(--fs-micro); line-height: 1.5;
  margin: 12px auto 0; text-align: center; color: inherit;
}

.ap-formular {
  border: 1px solid var(--color-primary);
  border-radius: var(--ecke-karte);
  padding: 32px;
}
.ap-feld { margin-bottom: 20px; }

.ap-feld label {
  display: block; font-size: var(--fs-body);

  line-height: var(--lh-body);
  padding-bottom: var(--label-fuss, 0);
  margin-bottom: var(--label-abstand, 8px);
}
.ap-feld .ap-pflicht { color: var(--color-primary); }
.ap-feld input, .ap-feld textarea {
  width: 100%; font-family: var(--font-text); font-size: var(--fs-body);
  padding: 12px 14px; border: 1px solid var(--color-line); border-radius: 4px;
  background: var(--color-white); color: var(--color-text);
}

.ap-feld textarea { min-height: var(--textarea-h, 120px); height: var(--textarea-h, auto); resize: vertical; }
.ap-feld input:focus, .ap-feld textarea:focus { border-color: var(--color-primary); }

.ap-einwilligung { font-size: var(--fs-body); line-height: var(--lh-body); }
.ap-einwilligung input { margin-right: 8px; vertical-align: -1px; }
.ap-einwilligung label { display: inline; }
.ap-einwilligung a { color: var(--color-primary); }

.ap-trenner {
  display: grid; grid-template-columns: 1fr auto 1fr;
  align-items: center; gap: 16px;
  font-size: 15px; color: var(--color-text); margin-bottom: 28px;
}
.ap-trenner::before, .ap-trenner::after {
  content: ""; height: 1px; background: var(--color-text);
}
.ap-zitat { font-size: var(--fs-lead); line-height: 1.6; }
.ap-zitat cite { display: block; margin-top: 12px; font-size: var(--fs-small); font-style: normal; }

.ap-liste-schlicht { list-style: none; margin: 0; padding: 0; }
.ap-liste-schlicht li + li { margin-top: 4px; }
.ap-liste__text { display: inline-block; }

@media print {
  .ap-kopf, .ap-social-leiste, .ap-video__knopf { display: none; }
  body { color: #000; background: #fff; }
}

.ap-hero--start::before {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;

  background: radial-gradient(at 50% 100%, rgba(84, 89, 95, 0) 55%, rgba(118, 5, 4, .84) 100%);
}
.ap-hero--start .ap-hero__inner {
  z-index: 3;
  padding-top: 48px;
  padding-inline: 120px;
}

.ap-hero__kasten {
  position: relative;

  width: 600px; max-width: 100%;
  min-height: 477px;
  margin-left: auto;
  padding: 25px;

  display: flex; flex-direction: column; align-items: center; justify-content: flex-start;
  text-align: center;
  color: var(--color-white);

  box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .6);
  border-radius: var(--ecke-hero);

  background: transparent;
  border: 1px solid rgba(255, 255, 255, .16);
}
.ap-hero__kasten::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  border-radius: inherit;

  background: rgba(24, 7, 6, .68);
  backdrop-filter: blur(14px) saturate(120%);
  -webkit-backdrop-filter: blur(14px) saturate(120%);
}
.ap-hero__kasten > * { position: relative; }

.ap-hero__kasten .ap-hero__titel {

  font-family: var(--font-display);
  font-size: 43px; font-weight: 700; line-height: var(--lh-hero);
  margin: 0 0 19px; max-width: none;
}
.ap-hero__kasten p { margin: 0 0 12px; max-width: 550px; }
.ap-hero__kasten p:last-of-type { margin-bottom: 41px; }
.ap-hero__kasten .ap-btn { margin-top: 0; }

.ap-hero__kasten .ap-pille { margin-bottom: 18px; }
.ap-hero__knoepfe {
  display: flex; flex-wrap: wrap; gap: 14px;
  justify-content: center; margin-top: 30px;
}

.ap-hero__kasten p:last-of-type:has(+ .ap-hero__knoepfe) { margin-bottom: 0; }

.ap-band--mission { padding-block: 60px 125px; }

.ap-hero--start .ap-hero__inner { padding-bottom: 0; }
.ap-band--mission h2 {

  width: fit-content; margin: 0 auto 32px; text-align: left;
}
.ap-mission__text {

  color: var(--color-slate);
  max-width: 1136px; margin-inline: auto; margin-bottom: 17px;
}
.ap-mission__text + p:not(.ap-mission__text) { margin-top: 62px; }
.ap-band--mission .ap-btn { margin-top: 0; }
.ap-mission__video {

  max-width: 485px; margin: 48px auto 0;
}

.ap-band--kacheln { padding-block: var(--pad-oben, var(--band-luft)) var(--pad-unten, var(--band-luft)); }
.ap-band--rot h2.ap-titel--gelb,
.ap-titel--gelb {

  font-size: var(--fs-h2); font-weight: 300; line-height: var(--lh-h2);
  text-transform: uppercase;

  color: var(--color-accent); margin-bottom: var(--titel-abstand, 20px);
}
.ap-kacheln__vorspann {

  font-size: 22px; font-weight: 700; line-height: 44px; letter-spacing: 1.2px;
  color: var(--color-white); max-width: 900px;
  margin: 0 auto 50px;
}

.ap-band--kacheln .ap-kacheln { max-width: 1200px; margin-inline: auto; }

.ap-band--dunkelbild {
  position: relative; overflow: hidden;

  min-height: 900px; padding-top: 89px;
  display: grid; align-items: start;
  color: var(--color-white);
}
.ap-band__bild {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; z-index: 0;
}

.ap-band--dunkelbild::before {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: rgb(var(--ton-schleier) / .60);
}
.ap-band__inhalt { position: relative; z-index: 2; }
.ap-band--dunkelbild h2 { color: #FBFBFB; margin-bottom: 40px; max-width: 860px; margin-inline: auto; }
.ap-band--dunkelbild .ap-video { max-width: 700px; margin: 0 auto 40px; }

.ap-band--abschluss { min-height: 720px; padding: 80px 130px 0; }

.ap-abschluss {
  position: relative; max-width: 1180px; margin-inline: auto;
  border-radius: 30px;
}
.ap-abschluss img {
  width: 100%; height: 495px; object-fit: cover;
  border-radius: 30px;
}
.ap-abschluss__platte {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: min(100%, 1060px);
  background: rgba(255, 255, 255, .75);
  border-radius: var(--ecke-knopf);
  padding: 20px 0;
}
.ap-band--rot h2.ap-abschluss__text,
.ap-abschluss__text {
  margin: 0;
  text-align: center;
  color: var(--color-ink);
}

@media (max-width: 900px) {

  .ap-band--abschluss { padding: 48px 24px 0; }
}

@media (max-width: 900px) {
  :root {

    --fs-h1: 36px;  --lh-h1: 38.9px;
    --fs-h2: 30px;  --lh-h2: 32.4px;
    --fs-h3: 25px;  --lh-h3: 27px;
    --fs-body:   16px;  --lh-body: 25.6px;
    --fs-lead:   20px;  --lh-lead: 20.8px;
    --fs-small:  16px;
    --fs-micro:  12px;
    --pad-band:  19.5px;
  }

  .ap-kacheln { grid-template-columns: minmax(0, 1fr); gap: 50px; }
  .ap-duo { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .ap-duo--bild-links > .ap-duo__medium { order: 0; }

  .ap-fuss__karten { grid-template-columns: minmax(0, 1fr); padding: 30px; gap: 40px; }
  .ap-fuss__karte { padding: 30px; }
  .ap-fuss__schluss {

    grid-template-columns: minmax(0, 1fr); grid-template-rows: none;
    grid-auto-flow: row; gap: 6px; padding: 18px 23.39px;
  }

  .ap-hero--630, .ap-hero--800, .ap-hero--900 { min-height: 903px; }
  .ap-hero--start .ap-hero__inner { padding: 118px 15px 0; }
  .ap-hero__kasten { width: 100%; min-height: 683px; margin-left: 0; padding: 25px; }

  .ap-hero__kasten .ap-hero__titel { margin-bottom: 40px; }
  .ap-hero__kicker { font-size: 24px; }

  .ap-band { padding-block: 56px; }
  .ap-band--mission { padding-block: 93px 156px; }

  .ap-breite { padding-inline: var(--pad-band); }
  .ap-duo__text p { max-width: 310px; }

  .ap-band--kacheln { padding-block: var(--pad-oben-m, var(--band-luft)) var(--pad-unten-m, var(--band-luft)); }
  .ap-band--hoehe-540 { min-height: 619px; padding-block: 30px 0; }

  .ap-band--eng { padding: 0 var(--pad-band) 30px; margin-top: 0; }
  .ap-band--dunkelbild { min-height: 844px; padding-top: 130px; }
  .ap-band--dunkelbild h2 { margin-bottom: 80px; }
  .ap-band--abschluss {

    min-height: 558px; padding: 30px 20px;
  }

  .ap-social-leiste { display: none; }
  .ap-nav__schalter { display: inline-flex; }
  .ap-nav {
    position: absolute; top: 100%; right: 24px; left: 24px;
    flex-direction: column; align-items: stretch; gap: 0;
    background: var(--color-primary); padding: 12px 0;
  }
  .ap-nav[hidden] { display: none !important; }
  .ap-nav a, .ap-nav__gruppe > summary { padding: 12px 20px; }

  .ap-nav__liste { position: static; transform: none; box-shadow: none; background: var(--color-primary-deep); }

  .ap-abschluss img { height: 498px; }
  .ap-abschluss__platte {
    position: static; transform: none; width: 100%; left: auto; top: auto;
    margin-top: -160px; padding: 20px 0;
  }

  .ap-band--rot h2.ap-titel--gelb,
  .ap-titel--gelb { font-size: var(--fs-h2); line-height: var(--lh-h2); }
  .ap-kacheln__vorspann {
    font-size: 16px; line-height: 44px;
    letter-spacing: 0;
    margin-bottom: 65px;
  }
  .ap-btn--hero { font-size: 15px; }

  .ap-fuss__karte p, .ap-fuss__karte li { font-size: 12px; line-height: 20.8px; }
  .ap-fuss__karte h2 { margin-bottom: 23px; }
  .ap-fuss__karte li { margin-bottom: 20px; }
  .ap-fuss__karte li:last-child { margin-bottom: 0; }
  .ap-social { margin-top: 15px; }
  .ap-social a { width: 32px; height: 32px; }
  .ap-fuss__zeiten dt { font-size: 16px; }
  .ap-fuss__zeiten dd { font-size: 19px; }
  .ap-fuss__schluss > :nth-child(-n+2),
  .ap-fuss__schluss > :nth-child(n+3),
  .ap-fuss__schluss > * { text-align: left; }

  .ap-hero__kasten .ap-hero__titel { margin-bottom: 40px; }
    .ap-hero__kasten p { margin-bottom: 0; }
  .ap-hero__kasten p:last-of-type { margin-bottom: 57px; }
  .ap-btn--hero { min-height: 50px; }

  .ap-kachel__bild { height: 290px; }

  .ap-kachel__titel { height: auto; min-height: 83px; padding: 15px; }
}

.ap-hero__unterstrich {
  position: relative;
  display: inline-block;
}
.ap-hero__unterstrich::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 6px;
  background: var(--color-accent);
  border-radius: 2px;
}

.ap-mission__video video {
  width: 100%; height: auto; display: block;
  border-radius: var(--ecke-video);
}

.ap-schulung__video { max-width: 860px; }

.ap-kachel__titel {
  border-top: 3px solid var(--color-white);
}

@media (max-width: 900px) {
  .ap-hero__unterstrich::after { height: 4px; bottom: -4px; }
}

.ap-hero:has(.ap-hero__bild):not(.ap-hero--start)::before {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(180deg,
              rgb(40 3 2 / .62)   0%,
              rgb(58 3 2 / .12)  24%,
              rgb(0 0 0 / .12)   68%,
              rgb(58 3 2 / .34) 100%);
}

.ap-hero:has(.ap-hero__bild)::after {
  content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  mix-blend-mode: soft-light;
  background: linear-gradient(120deg,
              rgb(251 220 106 / .35),
              rgb(177 43 36 / .30) 60%,
              rgb(89 151 109 / .18));
}

.ap-hero__panel {
  width: fit-content;
  max-width: min(72ch, 100%);
  padding: var(--panel-luft-y, 34px) var(--panel-luft-x, 40px) calc(var(--panel-luft-y, 34px) + 2px);
  background: rgba(24, 7, 6, .68);
  -webkit-backdrop-filter: blur(14px) saturate(120%);
          backdrop-filter: blur(14px) saturate(120%);
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: var(--ecke-hero, 22px);
  box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .6);
}

.ap-hero__inner--rechts .ap-hero__panel { margin-left: auto; }
.ap-hero__inner--mittig .ap-hero__panel { margin-inline: auto; }

.ap-hero:has(.ap-hero__bild):not(.ap-hero--start) .ap-hero__inner--links {
  padding-top: calc(var(--hero-oben, 260px) - var(--panel-luft-y, 34px));
  padding-left: calc(var(--hero-kante, 120px) - var(--panel-luft-x, 40px));
}
.ap-hero:has(.ap-hero__bild):not(.ap-hero--start) .ap-hero__inner--rechts {
  padding-top: calc(var(--hero-oben, 355px) - var(--panel-luft-y, 34px));
  padding-right: calc(var(--hero-kante, 120px) - var(--panel-luft-x, 40px));
}

@media (max-width: 900px) {
  .ap-hero:has(.ap-hero__bild):not(.ap-hero--start) .ap-hero__inner--links,
  .ap-hero:has(.ap-hero__bild):not(.ap-hero--start) .ap-hero__inner--mittig {
    padding-top: calc(max(var(--hero-oben-m, 203px), 124px) - var(--panel-luft-y, 22px));
    padding-inline: var(--panel-kante-m, 16px);
  }
  .ap-hero:has(.ap-hero__bild):not(.ap-hero--start) .ap-hero__inner--rechts {
    padding-top: calc(max(var(--hero-oben-m, 150px), 124px) - var(--panel-luft-y, 22px));
    padding-inline: var(--panel-kante-m, 16px);
  }

  .ap-hero__inner--links .ap-hero__panel,
  .ap-hero__inner--rechts .ap-hero__panel { margin-inline: auto; }
}

.ap-hero__inner--links {

  padding: var(--hero-oben, 260px) 30px 0 var(--hero-kante, 120px);
}
.ap-hero__inner--links .ap-hero__kicker { line-height: var(--kicker-zeile, 35px); margin: 0; }
.ap-hero__inner--links h1 {

  font-size: var(--h1-groesse, var(--fs-h1));
  line-height: var(--h1-zeile, var(--lh-h1));
  margin: var(--h1-oben, 22px) 0 0;
}

.ap-abschnitt {
  display: grid; gap: 0;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;

  min-height: var(--band-h, 0);
}
.ap-abschnitt__text { padding-top: var(--text-top, 0); }
.ap-band--blank { padding: 0; background: none; }
.ap-abschnitt--foto-rechts {

  max-width: 1224px; margin-inline: auto; padding: 60px 30px;
  background: var(--color-white);
}
.ap-abschnitt--foto-rechts .ap-abschnitt__text h2 { margin-top: var(--h2-top, 34px); }
.ap-abschnitt--foto-rechts .ap-abschnitt__text { max-width: 466px; padding-left: 30px; }
.ap-abschnitt--bild-links  { padding: 60px 99px; }
.ap-abschnitt--bild-links .ap-abschnitt__medium { order: -1; }
.ap-abschnitt--bild-links .ap-abschnitt__text { max-width: 621px; }
.ap-abschnitt--bild-rechts { padding: 60px 99px var(--pad-unten, 60px); }
.ap-abschnitt--bild-rechts .ap-abschnitt__text { max-width: 621px; }
.ap-abschnitt__text h2 { margin: 0 0 20px; color: var(--color-primary); }
.ap-abschnitt__text p  { margin: 0 0 18px; }
.ap-abschnitt__text p:where(:last-child) { margin-bottom: 0; }
.ap-abschnitt__unterzeile {

  font-size: var(--fs-h3); line-height: var(--lh-h3); color: var(--color-slate);
  margin: 0 0 20px;
}
.ap-abschnitt__text .ap-btn { margin-top: var(--knopf-oben, 0); }
.ap-abschnitt__medium img {
  width: 497px; max-width: 100%; height: auto;
  border-radius: var(--ecke-medien);
  margin-left: auto;
}
.ap-abschnitt--bild-links .ap-abschnitt__medium img { height: 331px; object-fit: cover; margin-left: 0; }
.ap-abschnitt--bild-rechts .ap-abschnitt__medium img { height: 497px; object-fit: contain; }

.ap-duo-fotos { position: relative; min-height: var(--fotos-h, 312px); }
.ap-duo-fotos__a {
  width: var(--foto-a-b, 418px); max-width: 100%;
  height: var(--foto-a-h, 235px); object-fit: cover;
  border-radius: var(--foto-ecke, 0 7px 0 7px);
  margin-left: var(--fotos-versatz, 0);
}
.ap-duo-fotos__b {
  position: absolute;
  left: var(--foto-b-x, 177px); top: var(--foto-b-y, 119px);
  width: var(--foto-b-b, 345px); max-width: 100%;
  height: var(--foto-b-h, 194px); object-fit: cover;
  border-radius: var(--foto-ecke, 0 7px 0 7px);
}

.ap-band--linie { background: var(--color-line); }

.ap-band--robotik { padding: 60px 0 83px; }
.ap-band--robotik h2 { margin: 0 0 var(--zitat-abstand, 25px); }
.ap-zitat {

  font-size: var(--fs-body); line-height: var(--lh-body);
  color: var(--color-accent); margin: 0;
}
.ap-karteblock {
  position: relative; margin-top: var(--block-abstand, 88px);
  min-height: 468px;
}
.ap-karteblock__bild {
  width: 832px; max-width: calc(100% - 40px); height: 468px; object-fit: cover;
  margin-left: 120px;
  border-radius: var(--ecke-medien);
}
.ap-karteblock--gespiegelt { margin-top: var(--block2-abstand, 125px); }
.ap-karteblock--gespiegelt .ap-karteblock__bild { margin-left: 480px; }
.ap-karte {
  position: absolute; top: 60px; right: 228px;
  width: 360px; min-height: 372px;
  background: var(--color-white); color: var(--color-text);
  padding: 40px;
  box-shadow: var(--schatten-karte);
}

.ap-karteblock:not(.ap-karteblock--gespiegelt) .ap-karte { border-radius: var(--ecke-karte); }
.ap-karteblock--gespiegelt .ap-karte { right: auto; left: 220px; text-align: right; }
.ap-karte h3 { margin: 0; color: var(--color-text); }
.ap-karte p  { margin: 0 0 47px; }
.ap-karte .ap-btn { margin-top: 0; }
.ap-karteblock--gespiegelt .ap-karte .ap-btn { margin-left: auto; }
.ap-karte__linie {

  display: block; width: 330px; height: 2px; background: var(--color-accent);
  margin: 25px 0 25px 50px;
}
.ap-karteblock--gespiegelt .ap-karte__linie { margin-left: -100px; }

.ap-band--videokante {
  padding: 2px 0 0; min-height: 474px;
  background: linear-gradient(to bottom, var(--color-primary) 0 266px, var(--color-white) 266px);
}
.ap-video--rahmen {
  max-width: 836px; margin-inline: auto;
  border: 2px solid var(--color-primary);
  border-radius: var(--ecke-video);
  overflow: hidden;
}

.ap-band--knopf { padding: 61px 30px 40px; }

@media (max-width: 900px) {

  .ap-hero--630 { min-height: 507px; }
  .ap-hero__inner--links {

    padding: max(var(--hero-oben-m, 203px), 124px) var(--hero-kante-m, 20px) 0;
    text-align: center;
  }

  .ap-hero__inner--links .ap-hero__kicker {
    font-size: var(--kicker-fs-m, 35px); line-height: var(--kicker-zeile-m, 35px);
  }
  .ap-hero__inner--links h1 {
    font-size: var(--h1-groesse-m, 36px); line-height: var(--h1-zeile-m, 36px);
    margin-top: var(--h1-oben-m, 8px);
  }

  .ap-abschnitt { grid-template-columns: minmax(0, 1fr); min-height: var(--band-h-m, 0); }
  .ap-abschnitt__text { padding-top: var(--text-top-m, 0); }
  .ap-abschnitt--foto-rechts { padding: var(--pad-m, 30px) 20px var(--pad-unten-m, 30px); }
  .ap-abschnitt--foto-rechts .ap-duo-fotos { order: -1; margin-bottom: var(--collage-abstand-m, 3px); }

  .ap-abschnitt--foto-rechts .ap-abschnitt__text h2 { margin-top: var(--h2-top-m, 0); }
  .ap-abschnitt--foto-rechts .ap-abschnitt__text { padding-left: 18px; max-width: none; }
  .ap-abschnitt--foto-rechts .ap-abschnitt__unterzeile { margin-bottom: var(--unterzeile-abstand-m, 20px); }
  .ap-abschnitt--bild-links  { padding: var(--pad-m, 51px) 20px var(--pad-unten-m, var(--pad-m, 51px)); }

  .ap-abschnitt--bild-links .ap-abschnitt__medium { margin-bottom: var(--bild-abstand-links-m, 30px); }
  .ap-abschnitt--bild-rechts { padding: var(--pad-m, 30px) 20px var(--pad-unten-m, var(--pad-m, 30px)); }
  .ap-abschnitt--bild-rechts .ap-abschnitt__medium { order: -1; margin-bottom: var(--bild-abstand-m, 30px); }
  .ap-abschnitt--bild-links .ap-abschnitt__text,
  .ap-abschnitt--bild-rechts .ap-abschnitt__text { padding-left: 0; max-width: none; }

  .ap-abschnitt__medium img,
  .ap-abschnitt--bild-links .ap-abschnitt__medium img,
  .ap-abschnitt--bild-rechts .ap-abschnitt__medium img { width: 350px; height: 233px; }

  .ap-duo-fotos { min-height: var(--fotos-h-m, 202px); }
  .ap-duo-fotos__a { width: var(--foto-a-b-m, 280px); height: var(--foto-a-h-m, 158px); }
  .ap-duo-fotos__b {
    width: var(--foto-b-b-m, 231px); height: var(--foto-b-h-m, 130px);

    left: min(var(--foto-b-x-m, 119px), calc(100% - var(--foto-b-b-m, 231px)));
    top: var(--foto-b-y-m, 72px);
  }

  .ap-band--robotik { padding: var(--robotik-oben-m, 46px) 20px var(--robotik-unten-m, 21px); }
  .ap-band--robotik--hoch { padding-bottom: var(--robotik-unten-m, 21px); min-height: var(--band-h-m, 0); }
  .ap-band--robotik h2 { margin-bottom: var(--zitat-abstand-m, 25px); }

  .ap-band--robotik .ap-breite { padding-inline: 0; }
  .ap-karteblock, .ap-karteblock--gespiegelt { min-height: 0; }
  .ap-karteblock { margin-top: var(--block-abstand-m, 60px); }
  .ap-karteblock--gespiegelt { margin-top: var(--block2-abstand-m, 60px); }
  .ap-karteblock__bild,
  .ap-karteblock--gespiegelt .ap-karteblock__bild {
    width: 350px; max-width: 100%; height: 197px; margin-left: 0;
  }
  .ap-karte,
  .ap-karteblock--gespiegelt .ap-karte {
    position: static; width: 350px; max-width: 100%; min-height: 292px;
    padding: 30px; text-align: center;
  }
  .ap-karte__linie,
  .ap-karteblock--gespiegelt .ap-karte__linie {

    width: 72px; margin: 10px auto 12px;
  }
  .ap-karte .ap-btn { margin-inline: auto; }
  .ap-karteblock--gespiegelt .ap-karte .ap-btn { margin-inline: auto; }

  .ap-band--videokante { min-height: 0; padding: 2px 2px 0; }
  .ap-video--rahmen { max-width: 386px; }

  .ap-band--knopf { padding: 40px 20px; }
  .ap-btn--handlung { padding: 15px 35px; }
}

.ap-titel--35 { font-size: var(--fs-h2); line-height: var(--lh-h2); }
@media (max-width: 900px) {

  .ap-titel--35 { font-size: var(--fs-h2); line-height: var(--lh-h2); }
}
.ap-abschnitt--hoch { min-height: 512px; }
.ap-duo-fotos--hoch { min-height: 392px; }
.ap-duo-fotos--hoch .ap-duo-fotos__a { height: 279px; border-radius: var(--ecke-medien); }
.ap-duo-fotos--hoch .ap-duo-fotos__b { height: 230px; top: 162px; border-radius: var(--ecke-medien); }
.ap-abschnitt--bild-quer .ap-abschnitt__medium img { height: 331px; object-fit: cover; }
.ap-abschnitt--bild-links .ap-abschnitt__medium img,
.ap-abschnitt--bild-quer .ap-abschnitt__medium img { border-radius: var(--ecke-medien); }
.ap-band--robotik--hoch { padding-bottom: var(--robotik-unten, 120px); }
.ap-karteblock--hoch .ap-karteblock__bild { height: 555px; }
.ap-karteblock--hoch .ap-karte { min-height: 435px; }
.ap-video--ecke40 { border-radius: var(--ecke-video); overflow: hidden; }
.ap-band--videokante--240 {

  background: linear-gradient(to bottom, var(--color-primary) 0 240px, var(--color-white) 240px);
  padding: 0; min-height: 470px;
}
.ap-band--videokante--240 .ap-video { max-width: 836px; margin-inline: auto; }

@media (max-width: 900px) {
  .ap-abschnitt--hoch { min-height: 0; }
  .ap-duo-fotos--hoch { min-height: 254px; }
  .ap-duo-fotos--hoch .ap-duo-fotos__a { width: 280px; height: 187px; }

  .ap-duo-fotos--hoch .ap-duo-fotos__b { width: 231px; height: 154px; left: min(118px, calc(100% - 231px)); top: 101px; }
  .ap-karteblock--hoch .ap-karteblock__bild { height: 197px; }
  .ap-karteblock--hoch .ap-karte { min-height: 292px; }

  .ap-abschnitt--bild-quer .ap-abschnitt__medium img { height: 233px; }
  .ap-band--videokante--240 { min-height: 0; padding: 0 2px; }
  .ap-band--videokante--240 .ap-video { max-width: 386px; }
}

.ap-duo-fotos--logo { min-height: 405px; }
.ap-duo-fotos--logo .ap-duo-fotos__b { height: 230px; top: 175px; }
.ap-abschnitt--bild-flach .ap-abschnitt__medium img { height: 280px; object-fit: cover; }
.ap-abschnitt--slate { padding: 70px 99px 26px 150px; color: var(--color-white); }
.ap-abschnitt--slate .ap-abschnitt__text { max-width: 536px; }
.ap-abschnitt--slate h2 { margin-bottom: 10px; }
.ap-abschnitt--slate h2 { color: var(--color-white); }
.ap-abschnitt--slate .ap-abschnitt__medium img.ap-bild--nativ {

  width: 420px; max-width: 100%; height: auto;
}
.ap-band--rollen { padding: 0 40px; min-height: 240px; }
.ap-band--rollen h2 { margin: 0 0 30px; padding-top: 0; }
.ap-liste { margin: 0; padding-left: 54px; max-width: 621px; }
.ap-liste li { margin-bottom: var(--liste-abstand, 0); }

@media (max-width: 900px) {

  .ap-duo-fotos--logo { min-height: 227px; }
  .ap-duo-fotos--logo .ap-duo-fotos__a { width: 280px; height: 158px; }
  .ap-duo-fotos--logo .ap-duo-fotos__b { width: 231px; height: 154px; left: min(117px, calc(100% - 231px)); top: 72px; }
  .ap-abschnitt--bild-flach .ap-abschnitt__medium img { height: 197px; }

  .ap-abschnitt--slate { padding: var(--pad-oben-m, 30px) 20px var(--pad-unten-m, 30px); }
  .ap-abschnitt--slate .ap-abschnitt__medium { order: 0; margin-bottom: 0; margin-top: var(--bild-abstand-m, 30px); }
  .ap-band--rollen { padding: var(--rollen-oben-m, 0px) 24px var(--rollen-unten-m, 0px); min-height: var(--band-h-m, 0); }
  .ap-band--rollen .ap-breite { padding-inline: 0; }
  .ap-abschnitt--slate h2 { margin-bottom: var(--h2-abstand-m, 10px); }
}

.ap-titel--lead {
    font-weight: 400;
  max-width: var(--text-breite, none);
}

.ap-hero__inner--links h1 { max-width: var(--h1-breite, none); }
.ap-unterzeile--gross {

  font-family: var(--font-display);
  font-size: 37px; font-weight: 800; line-height: 37px;
}
.ap-duo-fotos--mobil { min-height: 392px; }
.ap-duo-fotos--mobil .ap-duo-fotos__a { height: 278px; border-radius: 0; }
.ap-duo-fotos--mobil .ap-duo-fotos__b { height: 230px; top: 162px; border-radius: 0; }

.ap-abschnitt__medium { padding-top: var(--bild-oben, 0); }
.ap-btn--breit {

  width: 435px; max-width: 100%; padding: 20px 55px; gap: 10px;
  margin-top: var(--knopf-oben, 0);
}
.ap-btn--download {

  width: 435px; max-width: 100%; padding: 20px 55px; gap: 10px;
  min-height: 92px;

}
.ap-btn__icon { width: 17px; height: 17px; fill: currentColor; flex: none; }
.ap-btn--download .ap-btn__icon { width: 13px; height: 17px; }
.ap-downloads {
  display: grid; gap: 20px; justify-items: center;
  margin-top: 38px;
}
.ap-abschnitt--downloads .ap-abschnitt__text { max-width: 621px; }
.ap-abschnitt--downloads .ap-abschnitt__text p em { font-style: italic; }

@media (max-width: 900px) {
  .ap-hero--630 { min-height: var(--hero-h-m, 507px); }

  .ap-titel--lead { }
  .ap-unterzeile--gross { font-size: 27px; line-height: 27px; }
  .ap-duo-fotos--mobil { min-height: 254px; }
  .ap-duo-fotos--mobil .ap-duo-fotos__a { width: 280px; height: 185px; }
  .ap-duo-fotos--mobil .ap-duo-fotos__b { width: 231px; height: 154px; left: min(119px, calc(100% - 231px)); top: 101px; }

  .ap-btn--breit, .ap-btn--download { width: 350px; padding: 15px 35px; }
  .ap-btn--download { min-height: 82px; }
  .ap-abschnitt__medium { padding-top: 0; }
}

.ap-hero--mittig { align-items: center; }
.ap-hero__inner--mittig {

  padding-inline: 144px;
}
.ap-hero__inner--mittig h1 {
  font-size: var(--fs-h1); line-height: var(--lh-h1); max-width: 576px; margin: 0;
}

.ap-band--einleitung { padding: 60px 0; min-height: var(--band-h, 377px); }
.ap-einleitung {

  max-width: 1098px; margin-inline: auto;
}
.ap-band--einleitung h2 { margin: 0 0 24px; color: var(--color-primary); }
.ap-einleitung p { margin: 0 0 17px; }
.ap-einleitung p:last-child { margin-bottom: 0; }

.ap-geraet {

  display: grid; grid-template-columns: 559px 559px; gap: 46px;
  align-items: center;
  max-width: 1224px; margin-inline: auto; padding: 60px 30px;
  min-height: var(--band-h, 0);
}
.ap-geraet--gespiegelt .ap-geraet__bilder { order: -1; }
.ap-geraet__text h2 { margin: 0 0 20px; color: var(--color-primary); }
.ap-haken { list-style: none; margin: 0; padding: 0; }
.ap-haken li {

  display: grid;
  grid-template-columns: var(--haken-spalte, 22px) 1fr;
  gap: var(--haken-luecke, 10px);

  align-items: start;
  font-size: var(--haken-fs, 16px); line-height: var(--lh-body);
  margin-bottom: var(--haken-abstand, 20px);
}
.ap-haken li:last-child { margin-bottom: 0; }
.ap-haken__icon {
  width: var(--haken-spalte, 22px); height: var(--haken-hoehe, 18px);
  fill: var(--haken-farbe, var(--color-primary));

  margin-top: calc((var(--lh-body) - var(--haken-hoehe, 18px)) / 2);
}
.ap-quelle {

  font-size: var(--fs-micro); line-height: var(--lh-body); margin: 20px 0 0;
}
.ap-geraet__bilder { position: relative; min-height: 340px; }
.ap-geraet__bild-a {

  width: 375px; max-width: 100%; height: 250px; object-fit: cover;
}
.ap-geraet__bild-b {

  position: absolute; left: 160px; top: 133px;
  width: 309px; max-width: 100%; height: 207px; object-fit: cover;
}

.ap-geraet__bild--rahmen { border: 0; }

@media (max-width: 900px) {
  .ap-hero--900 { min-height: var(--hero-h-m, 903px); }
  .ap-hero__inner--mittig { padding-inline: 20px; text-align: center; }
  .ap-hero__inner--mittig h1 {

    font-size: var(--h1-m, 30px); line-height: var(--h1-m, 30px);
    max-width: 350px; margin-inline: auto;
  }
  .ap-band--einleitung { padding: 30px 20px; min-height: var(--band-h-m, 0); }
  .ap-band--einleitung h2 { font-size: var(--fs-h2); line-height: var(--lh-h2); }
  .ap-einleitung p { font-size: 16px; }

  .ap-geraet, .ap-geraet--gespiegelt {
    grid-template-columns: minmax(0, 1fr); gap: 0;
    padding: var(--pad-oben-m, 30px) 20px var(--pad-unten-m, 45px);
    min-height: var(--band-h-m, 0);

    align-content: start;
  }

  .ap-geraet__bilder, .ap-geraet--gespiegelt .ap-geraet__bilder {
    order: var(--bilder-lage-m, -1); min-height: 254px;
    margin-bottom: var(--bilder-abstand-m, 37px);
    margin-top: var(--bilder-oben-m, 0);
  }

  .ap-geraet__text { text-align: var(--text-ausrichtung-m, center); max-width: 315px; margin-inline: auto; }
  .ap-geraet__text h2 { font-size: var(--fs-h2); line-height: var(--lh-h2); text-align: var(--h2-ausrichtung-m, center); }
  .ap-quelle { font-size: 13px; text-align: var(--quelle-ausrichtung-m, inherit); }
  .ap-haken li {

    grid-template-columns: var(--haken-spalten-m, minmax(0, 1fr));
    justify-items: var(--haken-lage-m, center);
    gap: var(--haken-luecke-m, 6px);
    margin-bottom: var(--haken-abstand-m, 28px);
  }
  .ap-geraet__bild-a { width: 280px; height: 187px; max-width: 100%; }
  .ap-geraet__bild-b {
    width: 231px; height: 155px; top: 101px;
    left: min(119px, calc(100% - 231px));
  }
}

.ap-hero__inner--mittig { padding-inline: var(--hero-kante, 120px); }
.ap-abschnitt--evidenz { padding: var(--pad-oben, 60px) 99px var(--pad-unten, 60px); }
.ap-abschnitt--evidenz .ap-abschnitt__text { max-width: 621px; padding-left: 0; }
.ap-abschnitt--evidenz .ap-abschnitt__medium img {

  width: 497px; height: 331px; object-fit: cover; border-radius: 15px;
}
.ap-abschnitt--evidenz .ap-liste ~ * { margin-top: 0; }
.ap-liste--fett li {

  font-weight: 700; margin-bottom: 17px;
}
.ap-liste--fett li:last-child { margin-bottom: 0; }

@media (max-width: 900px) {
  .ap-abschnitt--evidenz {
    padding: var(--pad-oben-m, 30px) var(--pad-seite-m, 20px) var(--pad-unten-m, 30px);
  }
  .ap-abschnitt--evidenz .ap-abschnitt__medium img { width: 350px; height: 233px; }

  .ap-abschnitt--evidenz .ap-abschnitt__medium { order: -1; margin-bottom: 30px; }
}

.ap-hero__inner--links { padding-left: var(--hero-kante, 120px); }
.ap-bild--kantig { border-radius: 0 !important; }

@media (max-width: 900px) {
  .ap-hero__inner--links { padding-left: 20px; padding-right: 20px; }
}

.ap-hero--765 { min-height: 765px; }
.ap-medium--stapel { display: grid; gap: 20px; }
.ap-abschnitt--fott .ap-abschnitt__medium img { width: 497px; height: auto; }
.ap-url { overflow-wrap: anywhere; }

@media (max-width: 900px) {
  .ap-hero--765 { min-height: var(--hero-h-m, 380px); }

  .ap-abschnitt--fott .ap-abschnitt__medium { order: 1; margin-top: var(--bild-abstand-m, 30px); margin-bottom: 0; }
  .ap-abschnitt--fott .ap-abschnitt__medium img { width: 350px; height: auto; }
}

.ap-abschnitt--affolter .ap-abschnitt__medium img { width: 497px; height: auto; }
.ap-abschnitt__text--schmal { max-width: 510px; }
.ap-zitatblock {

  margin: 49px 0 80px; padding-left: 24px;
  border-left: 5px solid #D1D1D1;
  font-style: italic; font-size: 20px; line-height: var(--lh-body);
}
.ap-zitatblock p { margin: 0; }
.ap-zitatblock ol { margin: 0; padding-left: 40px; }
.ap-zitatblock li { margin-bottom: 20px; }
.ap-zitatblock li:last-child { margin-bottom: 0; }
.ap-zitatblock > p { margin-bottom: 20px; }
.ap-mehr { margin-top: 40px; }

.ap-mehr + .ap-liste li { margin-bottom: 0; }

@media (max-width: 900px) {
  .ap-abschnitt--affolter .ap-abschnitt__medium img { width: 350px; }
  .ap-abschnitt__text--schmal { max-width: none; }

  .ap-abschnitt--affolter .ap-abschnitt__medium { order: -1; margin-bottom: 30px; padding-top: 0; }
  .ap-zitatblock { font-size: 17.6px; margin: 46px 0 74px; }
  .ap-zitatblock li, .ap-zitatblock > p { margin-bottom: 17px; }
}

.ap-spalte {
  max-width: var(--spalte-breite, var(--breite-max));
  margin-inline: auto;
}
.ap-band--text {
  background: var(--color-white);
  min-height: var(--band-h, 0);
  padding: var(--pad-oben, var(--band-luft)) 0 var(--pad-unten, var(--band-luft));
}

:where(.ap-band--text) :where(h2, h3, p, ul, ol, img, figure) { margin: 0; }

.ap-block { display: flow-root; }
.ap-block > * + *   { margin-top: var(--innen-abstand, 24px); }
.ap-block + .ap-block { margin-top: var(--block-abstand, 51px); }
.ap-band--text h2 {
  font-family: var(--font-display);
  font-size: var(--h2-groesse, var(--fs-h2));
  line-height: var(--h2-zeile, var(--lh-h2));
  font-weight: 700; color: var(--color-text);
}

.ap-titel--25 {
  font-family: var(--font-display);
  font-size: 25px; line-height: 25px; font-weight: 700;
  color: var(--color-text);
}

.ap-spalte__bild { width: var(--bild-breite, 100%); height: auto; }

@media (max-width: 900px) {
  .ap-spalte { padding-inline: var(--spalte-kante-m, 20px); }
  .ap-band--text {
    min-height: var(--band-h-m, 0);
    padding: var(--pad-oben-m, 70px) 0 var(--pad-unten-m, 20px);
  }
  .ap-block > * + *   { margin-top: var(--innen-abstand-m, var(--innen-abstand, 23px)); }
  .ap-block + .ap-block { margin-top: var(--block-abstand-m, var(--block-abstand, 51px)); }
  .ap-spalte__bild { width: var(--bild-breite-m, var(--bild-breite, 100%)); }

  .ap-titel--25 { font-size: 25px; line-height: 25px; }
}

.ap-konzept {
  max-width: 1224px; margin-inline: auto;
  padding: 60px 30px;
  display: flex; align-items: center; gap: 10%;
}
.ap-konzept--gedreht { flex-direction: row-reverse; }
.ap-konzept__bilder { flex: 0 0 42%; }
.ap-konzept__text   { flex: 0 0 48%; text-align: center; }
.ap-konzept__text h2 {
  font-size: var(--fs-h2); line-height: var(--lh-h2); font-weight: 700;
  font-family: var(--font-display); color: var(--color-primary);
  margin: 0 0 16px;
}

.ap-konzept__vorspann {
  font-size: var(--fs-body); line-height: var(--lh-body);
  color: var(--color-text);
  max-width: 34em; margin: 0 auto 26px;
}

.ap-konzept__text .ap-btn { border-radius: 30px; }

@media (max-width: 900px) {
  .ap-konzept, .ap-konzept--gedreht {
    flex-direction: column; align-items: stretch;
    gap: var(--konzept-luecke-m, 37px);
    padding: 30px 20px;
  }
  .ap-konzept__bilder, .ap-konzept__text { flex: 0 0 auto; }
  .ap-konzept__text h2 { font-size: var(--fs-h2); line-height: var(--lh-h2); margin: 0 0 30px; }
  .ap-konzept__text .ap-btn { display: inline-flex; }
}

.ap-paar {
  display: grid; grid-template-columns: minmax(0, 621px) minmax(0, 621px);
  justify-content: center; gap: 0;
  min-height: var(--band-h, 0);
  padding: var(--text-top, 60px) 99px var(--pad-unten, 0);
}
.ap-paar__medium { align-self: center; margin-top: calc(-1 * var(--text-top, 60px)); }
.ap-paar__medium img {

  width: var(--bild-b, 497px); aspect-ratio: 4 / 3; height: auto;
  object-fit: cover; border-radius: 0;
  margin-left: auto;
}
.ap-paar--bild-links > .ap-paar__medium { order: -1; }
.ap-paar--bild-links .ap-paar__medium img { margin-left: 0; margin-right: auto; }
.ap-paar__text h2 {
  font-family: var(--font-display);
  font-size: var(--fs-h2); line-height: var(--lh-h2); font-weight: 700;
  color: var(--color-primary); margin: 0 0 var(--h2-abstand, 20px);
}
.ap-paar__text p { margin: 0 0 var(--absatz-abstand, 18px); }
.ap-paar__text p:last-child { margin-bottom: 0; }

.ap-paar__icon { display: inline-block; width: 18px; height: 18px; vertical-align: -3px; margin-right: 7px; }

.ap-liste-punkte { margin: 0; padding-left: 54px; }
.ap-liste-punkte li { margin-bottom: var(--punkt-abstand, 19px); overflow-wrap: anywhere; }
.ap-liste-punkte li:last-child { margin-bottom: 0; }

.ap-aufklapp {
  background: var(--color-white);
  margin-top: var(--balken-oben, 46px);
}
.ap-aufklapp > summary {
  display: flex; align-items: center; justify-content: space-between;
  padding: 15px 34px 15px 32px;
  cursor: pointer; list-style: none;
}
.ap-aufklapp > summary::-webkit-details-marker { display: none; }
.ap-aufklapp h3 {
  font-family: var(--font-text);
  font-size: 25px; font-weight: 400; line-height: var(--lh-body);
  color: var(--color-text); margin: 0;
}
.ap-aufklapp__pfeil { flex: none; transition: transform .2s ease; }
.ap-aufklapp[open] .ap-aufklapp__pfeil { transform: rotate(90deg); }
.ap-aufklapp__inhalt { padding: 0 34px 22px 32px; }

.ap-preise { width: 100%; border-collapse: collapse; }
.ap-preise th, .ap-preise td {
  font-size: var(--fs-body); line-height: var(--lh-body);
  color: var(--color-text); font-weight: 400; text-align: left;
  padding: 9px 0; vertical-align: baseline;
  border-bottom: 1px dotted #C9C9C9;
}
.ap-preise tr:last-child th, .ap-preise tr:last-child td { border-bottom: 0; }
.ap-preise td { text-align: right; white-space: nowrap; padding-left: 20px; }
.ap-preise__zusatz { display: block; font-size: 15px; color: #5D5D5D; }

.ap-nur-vorlesen {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}

@media (max-width: 900px) {
  .ap-paar {
    grid-template-columns: minmax(0, 1fr);
    min-height: var(--band-h-m, 0);
    padding: 30px 20px var(--pad-unten-m, 0);
  }
  .ap-paar__medium { order: -1; align-self: stretch; margin: 0 0 30px; }
  .ap-paar--bild-links > .ap-paar__medium { order: -1; }
  .ap-paar__medium img {
    width: 350px; aspect-ratio: 4 / 3; height: auto; margin-inline: 0;
  }
  .ap-paar__text h2 { font-size: var(--fs-h2); line-height: var(--lh-h2); }
  .ap-liste-punkte { padding-left: 22px; }
}

.ap-hero__inner--rechts {
  padding: var(--hero-oben, 355px) var(--hero-kante, 120px) 0 30px;
  text-align: right;
}
.ap-hero__inner--rechts h1 {
  font-size: var(--h1-groesse, var(--fs-h1));
  line-height: var(--h1-zeile, var(--lh-h1));
  max-width: var(--h1-breite, 480px);
  margin: 0 0 var(--knopf-oben, 25px) auto;
}

@media (max-width: 900px) {
  .ap-hero__inner--rechts {

    padding: max(var(--hero-oben-m, 150px), 124px) var(--hero-kante-m, 24px) 0 20px;
  }
  .ap-hero__inner--rechts h1 { max-width: var(--h1-breite-m, 325px); }
}

@media (max-width: 900px) {
  .ap-band--rot h2.ap-titel--gelb,
  .ap-titel--gelb { margin-bottom: var(--titel-abstand-m, var(--titel-abstand, 20px)); }
}

.ap-zitat-hero {
  position: relative; overflow: hidden;
  background: var(--color-primary); color: var(--color-white);
  min-height: var(--band-h, 800px);
}
.ap-zitat-hero__bild {
  position: absolute; right: 0; top: 0;
  width: var(--foto-b, 630px); height: 100%; object-fit: cover;
}
.ap-zitat-hero__text {
  position: relative; z-index: 1;
  text-align: center; padding: var(--text-top, 280px) 0 var(--pad-unten, 0);
}

.ap-zitat-hero__ornament, .ap-zitat-hero h1 {
  width: var(--zitat-breite, 683px); max-width: 100%;
  margin-left: var(--zitat-kante, 58px);
}
.ap-zitat-hero__name, .ap-zitat-hero__rolle {
  width: var(--name-breite, 578px); max-width: 100%;
  margin-left: var(--name-kante, 110px);
}

.ap-zitat-hero__ornament {
  font-family: var(--font-display);
  font-size: 144px; font-weight: 800; line-height: 57.6px;
  letter-spacing: 1px;
  margin: 0;
}
.ap-zitat-hero h1 {

  font-family: var(--font-text); font-weight: 800;
  color: var(--color-white); margin: 0 0 20px;
}
.ap-zitat-hero__name {
  font-family: var(--font-display);
  font-size: 24px; font-weight: 500; line-height: 24px;
  color: var(--color-accent); text-transform: uppercase; letter-spacing: .5px;
  margin: 0;
}

.ap-zitat-hero__rolle { font-size: 18px; font-weight: 400; line-height: 36px; margin: 0; }

.ap-motiv { text-align: center; padding: var(--pad-oben, var(--band-luft)) 20px var(--pad-unten, var(--band-luft)); }

.ap-motiv img {

  display: block; margin-inline: auto;
  outline: 2px solid var(--color-accent); outline-offset: -2px;
  width: var(--motiv-b, 1024px); height: var(--motiv-h, 576px);
  object-fit: fill; max-width: 100%;
}

.ap-mitte { text-align: center; padding: 0 20px var(--pad-unten, var(--band-luft)); }
.ap-mitte h2 { font-family: var(--font-display); font-weight: 700; margin: 0 0 var(--h2-abstand, 20px); }
.ap-mitte p  { margin: 0 auto var(--knopf-oben, 48px); max-width: var(--text-breite, 1200px); }
.ap-mitte .ap-btn { border-radius: 30px; }

.ap-akkordeon > details { background: var(--color-white); margin-bottom: 20px; box-shadow: var(--schatten-ruhe); }
.ap-akkordeon > details:last-child { margin-bottom: 0; }
.ap-akkordeon summary {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  padding: 25px 30px; cursor: pointer; list-style: none;
}
.ap-akkordeon summary::-webkit-details-marker { display: none; }
.ap-akkordeon summary h3 {
  font-family: var(--font-display);
  font-size: var(--akk-fs, 25px); line-height: var(--akk-fs, 25px);
  font-weight: 700; color: var(--color-text); margin: 0;
}
.ap-akkordeon summary::after {
  content: "›"; font-size: 22px; line-height: 1; color: #69727D; flex: none;
  transition: transform .2s ease;
}
.ap-akkordeon details[open] summary::after { transform: rotate(90deg); }
.ap-akkordeon .ap-akkordeon__inhalt { padding: 0 30px 25px; margin: 0; }

.ap-signatur { background: var(--color-slate); color: var(--color-text-hell); }

.ap-signatur__raster {
  max-width: 1200px; margin-inline: auto;
  display: grid; grid-template-columns: minmax(0, 734px) minmax(0, 416px);
  justify-content: space-between; gap: 64px;
  padding: 0 0 var(--pad-unten, var(--band-luft));
}
.ap-signatur__raster > div:first-child { padding-top: var(--text-top, 119px); }
.ap-signatur h4 { font-family: var(--font-display); font-weight: 700; color: var(--color-text-hell); margin: 0 0 20px; }
.ap-signatur h2 { font-family: var(--font-display); font-weight: 700; color: var(--color-white); margin: 0 0 30px; }
.ap-signatur p  { margin: 0 0 38px; }
.ap-signatur__unterschrift { display: block; width: 128px; height: auto; margin-bottom: 19px; }
.ap-signatur__name { display: block; font-weight: 700; margin-bottom: 19px; }
.ap-signatur__rolle { display: block; font-size: 16px; line-height: var(--lh-body); font-style: italic; margin-bottom: 57px; }

.ap-signatur__foto { width: 416px; max-width: 100%; height: auto; align-self: start; margin-top: var(--foto-oben, 8px); }
.ap-signatur .ap-social--rund { display: flex; gap: 12px; margin: 0; }

@media (max-width: 900px) {

  .ap-zitat-hero { padding-top: calc(var(--hero-kopf-m, 90px) + var(--hero-bild-h-m, 445px)); }
  .ap-zitat-hero__bild {
    width: 100%; height: var(--hero-bild-h-m, 445px);
    top: var(--hero-kopf-m, 90px);
  }
  .ap-zitat-hero__text { padding: var(--text-top-m, 83px) 0 var(--pad-unten-m, 39px); }
  .ap-zitat-hero__ornament { width: 100%; margin-left: 0; }
  .ap-zitat-hero h1,
  .ap-zitat-hero__name, .ap-zitat-hero__rolle { width: 370px; margin-left: 10px; }
  .ap-zitat-hero__ornament { font-size: 128px; line-height: 25.6px; }
  .ap-zitat-hero h1 { }
  .ap-zitat-hero__name { font-size: 20px; line-height: 20px; }
  .ap-zitat-hero__rolle { font-size: 16px; line-height: 32px; }

  .ap-motiv { padding: var(--pad-oben-m, var(--band-luft)) 10px var(--pad-unten-m, var(--band-luft)); }
  .ap-motiv img { width: var(--motiv-b-m, 370px); height: var(--motiv-h-m, 208px); }
  .ap-mitte { padding: 0 24px var(--pad-unten-m, var(--band-luft)); }
  .ap-mitte h2 { }

  .ap-akkordeon summary { padding: 25px 30px; }
  .ap-akkordeon summary h3 {
    font-size: var(--akk-fs-m, 20px); line-height: var(--akk-fs-m, 20px);
    max-width: var(--akk-titel-b-m, 250px);
  }
  .ap-akkordeon .ap-akkordeon__inhalt { padding: 0 24px 25px; }

  .ap-signatur__raster {
    grid-template-columns: minmax(0, 1fr); gap: 0; text-align: center;
    padding: 0 30px var(--pad-unten-m, 30px);
  }
  .ap-signatur__raster > div:first-child { padding-top: var(--text-top-m, 30px); }
  .ap-signatur h4 { }
  .ap-signatur h2 { margin-bottom: 20px; }
  .ap-signatur p  { margin-bottom: 36px; }
  .ap-signatur__unterschrift { width: 165px; margin-inline: auto; margin-bottom: 18px; }
  .ap-signatur__name { margin-bottom: 17px; }
  .ap-signatur__rolle { margin-bottom: 56px; }
  .ap-signatur .ap-social--rund { justify-content: center; gap: 12px; }
  .ap-signatur .ap-social--rund a { width: 36px; height: 36px; }
  .ap-signatur__foto { width: 264px; margin: var(--foto-oben-m, -80px) auto 0; }
}

.ap-missionband__raster {
  max-width: 1200px; margin-inline: auto;
  display: grid; grid-template-columns: 525px minmax(0, 634px);
  justify-content: space-between; gap: 41px;
  padding-bottom: var(--pad-unten, var(--band-luft));
}
.ap-missionband__video { padding-top: var(--video-oben, 150px); }
.ap-missionband__text  { padding-top: var(--text-top, 94px); }
.ap-missionband__titel {
  font-family: var(--font-display); font-weight: 700;
  color: var(--color-primary); margin: 0 0 var(--akk-oben, 19px);
}

@media (max-width: 900px) {
  .ap-missionband__raster {
    grid-template-columns: minmax(0, 1fr); gap: 0;
    padding: var(--pad-oben-m, 30px) 24px var(--pad-unten-m, 30px);
  }
  .ap-missionband__video { order: -1; padding-top: 0; padding-bottom: var(--video-unten-m, 27px); }
  .ap-missionband__text  { padding-top: 0; }
  .ap-missionband__titel { margin-bottom: var(--akk-oben-m, 20px); }
}

.ap-block--zwei { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.ap-block--zwei > * + * { margin-top: 0; }
.ap-block--zwei p { margin: 0 0 var(--absatz-abstand, 18px); }
.ap-block--zwei p:last-child { margin-bottom: 0; }

.ap-block--blocksatz p { text-align: justify; margin: 0 0 var(--absatz-abstand, 18px); }
.ap-block--blocksatz p:last-child { margin-bottom: 0; }
.ap-block--links p { margin: 0 0 var(--absatz-abstand, 18px); }
.ap-block--links p:last-child { margin-bottom: 0; }

.ap-band--text a { overflow-wrap: anywhere; }

.ap-band--text :where(h1, h2, h3, h4, p, li) { overflow-wrap: break-word; }

@media (max-width: 900px) {
  .ap-block--zwei { grid-template-columns: minmax(0, 1fr); }

  .ap-block--zwei > div:first-child p:last-child { margin-bottom: var(--absatz-abstand-m, 16px); }
  .ap-block--zwei p, .ap-block--blocksatz p, .ap-block--links p {
    margin-bottom: var(--absatz-abstand-m, 16px);
  }
}

.ap-band--text hr {
  border: 0; border-top: 1px solid #CCCCCC;
  margin: var(--linie-oben, 42px) 0 var(--linie-unten, 42px);
}
.ap-fliesstext p { margin: 0 0 var(--absatz-abstand, 18px); }
.ap-fliesstext p:last-child { margin-bottom: 0; }
.ap-fliesstext h2 { text-align: center; }

.ap-fliesstext h2 + h2 {
  margin-top: var(--unterzeile-oben, 20px);
  margin-bottom: var(--unterzeile-unten, 49px);
}

@media (max-width: 900px) {
  .ap-fliesstext p { margin-bottom: var(--absatz-abstand-m, 16px); }
  .ap-fliesstext h2 + h2 { }
  .ap-band--text hr { margin: var(--linie-oben-m, var(--linie-oben, 42px)) 0 var(--linie-unten-m, var(--linie-unten, 42px)); }
}

.ap-zitatband { text-align: center; padding: var(--pad-oben, var(--band-luft)) 20px var(--pad-unten, var(--band-luft)); }
.ap-zitatband__ornament {
  font-family: var(--font-display); font-size: 60px; font-weight: 800;
  line-height: 35px; color: var(--color-line); margin: 0 0 var(--zitat-oben, 20px);
}

.ap-zitatband blockquote { margin: 0; }
.ap-zitatband blockquote p {
  font-size: 24px; font-weight: 700; line-height: 23.4px;
  color: var(--color-slate); margin: 0 0 var(--quelle-oben, 12px);
}
.ap-zitatband cite {
  display: block; font-size: 16px; font-weight: 400; line-height: var(--lh-body);
  color: var(--color-slate); font-style: normal;
}

.ap-karten4 {
  display: grid; grid-template-columns: repeat(4, 290px); gap: 10px;
  justify-content: center;
  padding: var(--pad-oben, var(--band-luft)) 0 var(--pad-unten, var(--band-luft));
}

.ap-karten4__karte { display: flex; flex-direction: column; min-height: var(--karte-h, 541px); }
.ap-karten4__karte img { width: 290px; height: var(--karte-bild-h, 193px); object-fit: cover; }
.ap-karten4__karte h3 {
  font-family: var(--font-display); font-weight: 700;
  color: var(--color-white); margin: var(--titel-oben, 36px) 0 var(--text-oben, 30px);
}
.ap-karten4__karte p { color: var(--color-white); margin: 0 0 auto; }
.ap-karten4__karte .ap-btn {
  border-radius: 30px; margin-top: var(--knopf-oben, auto); width: 290px;
}

.ap-toho__raster {
  max-width: 1300px; margin-inline: auto;
  display: grid; grid-template-columns: minmax(0, 624px) minmax(0, 630px);
  justify-content: space-between; gap: 46px;
  padding: var(--pad-oben, var(--band-luft)) 0 var(--pad-unten, var(--band-luft));
}
.ap-toho__text { text-align: center; }

.ap-toho__text h2 {
  font-family: var(--font-text); font-weight: 700;
  color: var(--color-slate); margin: 0 0 var(--h1-oben, 20px);
}
.ap-toho__text h1 {
  font-family: var(--font-text); font-weight: 700;
  color: var(--color-slate); margin: 0 0 var(--text-oben, 20px);
}
.ap-toho__text p {
  font-size: 16px; line-height: 24px; color: var(--color-slate);
  max-width: 524px; margin: 0 auto var(--absatz-abstand, 16px);
}

.ap-toho__text .ap-btn {
  margin-top: var(--knopf-oben, 25px);
  font-family: var(--font-text); font-size: 16px; line-height: 24px;
  border-radius: 0;
}
.ap-toho__video { padding-top: var(--video-oben, 158px); }
.ap-toho__video .ap-video { border: 1px solid var(--color-primary); border-radius: 30px; }

.ap-toho__social { display: flex; justify-content: center; gap: 52px; margin-top: var(--social-oben, 40px); }
.ap-toho__social a { width: 62px; height: 62px; border-radius: var(--radius-s); background: var(--color-primary); color: var(--color-white); display: inline-flex; align-items: center; justify-content: center; }
.ap-toho__social svg { width: 31px; height: 31px; fill: currentColor; }

@media (max-width: 900px) {

  .ap-zitatband { padding: var(--pad-oben-m, var(--band-luft)) 0 var(--pad-unten-m, var(--band-luft)); }
  .ap-zitatband blockquote p { line-height: 20.8px; }
  .ap-karten4 {
    grid-template-columns: minmax(0, 1fr); gap: var(--karten-luecke-m, 60px);
    padding: var(--pad-oben-m, var(--band-luft)) 20px var(--pad-unten-m, var(--band-luft));
  }
  .ap-karten4__karte { min-height: 0; }
  .ap-karten4__karte img { width: 100%; height: var(--karte-bild-h-m, 233px); }
  .ap-karten4__karte h3 { margin: var(--titel-oben-m, 26px) 0 var(--text-oben-m, 30px); }
  .ap-karten4__karte p { font-size: 17px; line-height: 20.8px; }
  .ap-karten4__karte .ap-btn { width: 100%; margin-top: var(--knopf-oben-m, 30px); }

  .ap-toho__raster {
    grid-template-columns: minmax(0, 1fr); gap: 0;
    padding: var(--pad-oben-m, var(--band-luft)) 20px var(--pad-unten-m, var(--band-luft));
  }

  .ap-toho__video { order: 1; padding-top: var(--video-oben-m, 40px); }
  .ap-toho__text h2 { }

  .ap-toho__text h1 { }
  .ap-toho__text p  { font-size: 14px; line-height: 21px; max-width: 315px; }
  .ap-toho__text .ap-btn { width: 100%; font-size: 15px; line-height: 22.5px; }
  .ap-toho__social { gap: 30px; margin-top: var(--social-oben-m, 40px); }
  .ap-toho__social a { width: 48px; height: 48px; }
  .ap-toho__social svg { width: 20px; height: 20px; }
}

.ap-akkordeon summary h3 {
  font-family: var(--font-display);
  font-size: var(--akk-fs, 25px); line-height: var(--akk-fs, 25px);
  font-weight: 700; color: var(--color-text); margin: 0;
}

.ap-kzp { padding: var(--pad-oben, var(--band-luft)) 0 var(--pad-unten, var(--band-luft)); }
.ap-kzp > h2 {
  font-family: var(--font-display);
  font-weight: 700; color: var(--color-text); text-align: center;
  margin: 0 0 var(--akk-oben, 55px);
}

@media (max-width: 900px) {
  .ap-akkordeon summary h3 { font-size: var(--akk-fs-m, 20px); line-height: var(--akk-fs-m, 20px); max-width: var(--akk-titel-b-m, 250px); }
  .ap-kzp { padding: var(--pad-oben-m, var(--band-luft)) 0 var(--pad-unten-m, var(--band-luft)); }
  .ap-kzp > h2 { margin-bottom: var(--akk-oben-m, var(--akk-oben, 55px)); }
}
@media (max-width: 900px) {

  .ap-band--blank .ap-btn--handlung { --knopf-fs: 16px; }
}

.ap-knopfband { padding: var(--knopf-band-oben, 30px) 20px var(--knopf-band-unten, 70px); }
@media (max-width: 900px) {

  .ap-knopfband { padding: var(--knopf-band-oben-m, 30px) 20px var(--knopf-band-unten-m, 70px); }
  .ap-knopfband .ap-btn--handlung { padding: 15px 35px; }
}

.ap-kontakt__raster {
  max-width: 1140px; margin-inline: auto;
  display: grid; grid-template-columns: 542px minmax(0, 540px);
  justify-content: space-between; gap: 60px;
  padding: var(--pad-oben, var(--band-luft)) 0 var(--pad-unten, var(--band-luft));
}
.ap-kontakt__raster > :last-child { padding-top: var(--karte-oben, 15px); }

.ap-trennzeile {
  display: flex; align-items: center; gap: 16px;
  font-size: 15px; line-height: 15px; color: var(--color-text);
  margin: 0 0 var(--zeile-unten, 47px);
}
@media (max-width: 900px) {
  .ap-trennzeile { margin-bottom: var(--zeile-unten-m, var(--zeile-unten, 47px)); }
}
.ap-trennzeile::before, .ap-trennzeile::after {
  content: ""; flex: 1; height: 1px; background: var(--color-text);
}

.ap-kontaktzeile {
  display: flex; align-items: flex-start; gap: 16px;
  justify-content: center;
  margin: 0 0 var(--zeile-abstand, 35px);
}
.ap-kontaktzeile svg { width: 24px; height: 24px; fill: var(--color-primary); flex: none; }

.ap-kontaktzeile { font-size: 18px; }
.ap-kontaktzeile span { display: block; width: var(--zeilen-breite, 327px); }

.ap-karte-platz {
  aspect-ratio: auto; width: 100%;
  min-height: var(--karte-h, 560px); background: var(--color-grey-bg);
  display: grid; place-items: center; text-align: center; padding: 20px;
}
.ap-karte-platz p { margin: 0 0 16px; font-size: var(--fs-small); }

.ap-karte-platz p.ap-video__hinweis { margin: 12px auto 0; font-size: var(--fs-micro); }

.ap-formular { padding: var(--karte-pad, 31px); }
.ap-formular__knopf {

  display: block; width: 100%; border: 0; border-radius: 30px;
  background: var(--color-primary); color: var(--color-white);
  font-family: var(--font-display); font-size: 17px; line-height: 17px; font-weight: 700;

  height: 48px; padding: 0 20px; cursor: pointer;
  margin-top: var(--knopf-oben, 118px);
}
.ap-formular__knopf:hover, .ap-formular__knopf:focus-visible { background: #5c0403; }

@media (max-width: 900px) {
  .ap-kontakt__raster {
    grid-template-columns: minmax(0, 1fr); gap: 0;
    padding: var(--pad-oben-m, var(--band-luft)) 15px var(--pad-unten-m, var(--band-luft));
  }
  .ap-kontakt__raster > :last-child { padding-top: var(--karte-oben-m, 0px); }

  .ap-kontaktzeile {
    flex-direction: column; align-items: flex-start; justify-content: flex-start;
    gap: var(--zeile-luecke-m, 12px); margin-bottom: var(--zeile-abstand-m, 67px);
    padding-left: var(--zeile-kante-m, 30px);
  }
  .ap-kontaktzeile span { width: var(--zeilen-breite-m, 300px); text-align: left; }
  .ap-karte-platz { min-height: var(--karte-h-m, 380px); }
  .ap-formular { padding: var(--karte-pad-m, 21px); }
  .ap-feld label {
    padding-bottom: var(--label-fuss-m, var(--label-fuss, 0));
    margin-bottom: var(--label-abstand-m, var(--label-abstand, 8px));
  }
  .ap-feld textarea { min-height: var(--textarea-h-m, var(--textarea-h, 120px)); height: var(--textarea-h-m, var(--textarea-h, auto)); }
  .ap-formular__knopf { margin-top: var(--knopf-oben-m, 118px); }
}

.ap-signatur__kicker {

  font-size: var(--fs-h2); line-height: var(--lh-h2); margin-bottom: 20px;
  color: var(--color-text-hell);
}

.ap-nach-oben {
  position: fixed; right: 20px; bottom: 20px; z-index: 95;
  width: 42px; height: 42px; display: none; place-items: center;
  border: 0; padding: 0; cursor: pointer;
  background: var(--color-primary); color: var(--color-white);
  border-radius: var(--radius-s);
}
.ap-nach-oben--da { display: grid; }
.ap-nach-oben svg { fill: currentColor; transform: rotate(180deg); }

@media (max-width: 360px) {
  .ap-abschnitt__medium img,
  .ap-abschnitt--bild-links .ap-abschnitt__medium img,
  .ap-abschnitt--bild-rechts .ap-abschnitt__medium img,
  .ap-paar__medium img,
  .ap-karten4__karte img,
  .ap-motiv img,
  .ap-signatur__foto,
  .ap-duo-fotos__a { max-width: 100%; }

  .ap-duo-fotos, .ap-duo-fotos__a { max-width: calc(100vw - 40px); }
  .ap-duo-fotos__b { max-width: calc(100vw - 40px); }

  .ap-duo-fotos__a { margin-left: 0; }

  .ap-formular, .ap-karte-platz { max-width: 100%; }

  .ap-btn { max-width: calc(100vw - 40px); }

  .ap-hero__inner--mittig { padding-inline: 20px; }

  :where(h1, h2, h3, h4, p, li, span, cite, strong, em) { overflow-wrap: break-word; }

  .ap-kontaktzeile span { width: auto; max-width: 100%; }
  .ap-kontaktzeile { padding-left: 0; }
}

@media (min-width: 901px) and (max-width: 1439px) {
  .ap-karteblock__bild,
  .ap-abschnitt__medium img,
  .ap-paar__medium img,
  .ap-motiv img,
  .ap-signatur__foto,
  .ap-konzept__bilder img,
  .ap-karten4__karte img { max-width: 100%; }

  .ap-duo-fotos, .ap-duo-fotos__a, .ap-duo-fotos__b { max-width: 100%; }
  .ap-duo-fotos__b { left: min(177px, calc(100% - 345px)); }
  .ap-duo-fotos--hoch .ap-duo-fotos__b,
  .ap-duo-fotos--logo .ap-duo-fotos__b,
  .ap-duo-fotos--mobil .ap-duo-fotos__b { left: min(177px, calc(100% - 100%*0.82)); }

  .ap-geraet__bilder, .ap-geraet__text { max-width: 100%; }
  .ap-geraet__bild-a, .ap-geraet__bild-b { max-width: 100%; }
  .ap-geraet__bild-b { left: min(160px, calc(100% - 309px)); }

  .ap-karten4 { grid-template-columns: repeat(2, minmax(0, 290px)); gap: 30px 10px; }

  .ap-geraet { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }

  .ap-karteblock--gespiegelt .ap-karteblock__bild {
    margin-left: min(480px, calc(100% - 832px));
  }
  .ap-karteblock--gespiegelt .ap-karte { left: min(220px, calc(100% - 460px)); }
}

:root {
  --inhalt-max:  1200px;
  --inhalt-rand: clamp(20px, 5vw, 40px);
  --band-luft:   clamp(56px, 6vw, 96px);
  --rinne:       clamp(32px, 4.5vw, 64px);
}

.ap-abschnitt {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--rinne);
  align-items: center;
  align-content: start;
  min-height: 0;

  padding: var(--band-luft) max(var(--inhalt-rand), (100% - var(--inhalt-max)) / 2);
}

.ap-abschnitt--bild-links,
.ap-abschnitt--bild-rechts,
.ap-abschnitt--foto-rechts {
  padding: var(--band-luft) max(var(--inhalt-rand), (100% - var(--inhalt-max)) / 2);
  max-width: none;
}

.ap-abschnitt--bild-links { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.ap-abschnitt--bild-links .ap-abschnitt__medium { order: -1; }
.ap-abschnitt--foto-rechts { background: none; }

.ap-abschnitt__text {
  padding-top: 0;
  padding-left: 0;
  max-width: 66ch;
}
.ap-abschnitt__text h2 { margin: 0 0 20px; }

.ap-abschnitt--foto-rechts .ap-abschnitt__text {
  padding-left: 0; max-width: 66ch;
}
.ap-abschnitt--foto-rechts .ap-abschnitt__text h2 { margin-top: 0; }

.ap-abschnitt .ap-duo-fotos { width: 100%; min-height: 0; }
.ap-abschnitt .ap-duo-fotos__a {
  width: 82%; height: auto; aspect-ratio: 16 / 9; object-fit: cover;
  margin-left: 0; border-radius: var(--ecke-karte);
}

.ap-abschnitt .ap-duo-fotos__b {
  position: relative; left: auto; top: auto;
  width: 74%; height: auto; aspect-ratio: 16 / 9; object-fit: cover;
  display: block;
  margin-left: auto; margin-top: -9%; margin-bottom: 0;
  border-radius: var(--ecke-karte);
  box-shadow: var(--schatten-karte);
}
.ap-abschnitt__text p {
  margin: 0 0 20px;
  line-height: 1.62;
}
.ap-abschnitt__text ul, .ap-abschnitt__text ol { line-height: 1.62; }
.ap-abschnitt__text p:last-child { margin-bottom: 0; }
.ap-abschnitt__unterzeile { margin: 0 0 24px; }
.ap-abschnitt__text .ap-btn { margin-top: 12px; }

.ap-abschnitt__medium { align-self: center; }
.ap-abschnitt__medium img,
.ap-abschnitt--bild-links  .ap-abschnitt__medium img,
.ap-abschnitt--bild-rechts .ap-abschnitt__medium img {

  width: 100%; height: auto; max-width: 100%;
  object-fit: contain;
  margin-left: 0;
  border-radius: var(--ecke-karte);
}

.ap-abschnitt__medium img:not([alt*="Illustration"]) {
  box-shadow: var(--schatten-ruhe);
}

@media (max-width: 900px) {
  .ap-abschnitt,
  .ap-abschnitt--bild-links,
  .ap-abschnitt--bild-rechts,
  .ap-abschnitt--foto-rechts {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
    padding: var(--band-luft) var(--inhalt-rand);
    min-height: 0;
    max-width: none;
  }

  .ap-abschnitt__medium { order: -1; }
  .ap-abschnitt__text   { padding-top: 0; max-width: none; }
}

.ap-band--robotik {
  padding: var(--band-luft) max(var(--inhalt-rand), (100% - var(--inhalt-max)) / 2);
}
.ap-band--robotik > .ap-breite { max-width: none; padding: 0; }
.ap-karteblock {
  position: relative; min-height: 0;
  margin-top: clamp(40px, 5vw, 72px);
  display: grid; grid-template-columns: minmax(0, 1fr);
}
.ap-karteblock__bild {
  width: 68%; max-width: none; height: auto;
  aspect-ratio: 16 / 9; object-fit: cover;
  margin-left: 0;
  border-radius: var(--ecke-karte);
}
.ap-karteblock--gespiegelt .ap-karteblock__bild { margin-left: auto; }
.ap-karteblock .ap-karte {
  position: absolute; top: 50%; transform: translateY(-50%);
  right: 0; left: auto;
  width: min(380px, 40%); min-height: 0;
  padding: 32px;
  text-align: left;
  border-radius: var(--ecke-karte);
}
.ap-karteblock--gespiegelt .ap-karte { left: 0; right: auto; }
.ap-karte p { margin: 0 0 24px; line-height: 1.62; }
.ap-karteblock .ap-karte__linie,
.ap-karteblock--gespiegelt .ap-karte__linie {
  width: 64px; margin: 18px 0 20px;
}
.ap-karteblock .ap-karte .ap-btn,
.ap-karteblock--gespiegelt .ap-karte .ap-btn { margin-left: 0; }

@media (max-width: 900px) {
  .ap-karteblock { display: block; }
  .ap-karteblock__bild,
  .ap-karteblock--gespiegelt .ap-karteblock__bild { width: 100%; margin-left: 0; }
  .ap-karteblock .ap-karte,
  .ap-karteblock--gespiegelt .ap-karte {
    position: static; transform: none; width: auto;
    margin: -40px 16px 0; text-align: left;
  }
}

.ap-breite,
.ap-band--weit,
.ap-band--eng,
.ap-konzept,
.ap-karten4,
.ap-geraet,
.ap-abschluss,
.ap-einleitung,
.ap-mitte,
.ap-zitatband,
.ap-toho__raster,
.ap-kontakt__raster,
.ap-missionband__raster,
.ap-paar {
  box-sizing: border-box;
  max-width: none;
  padding-inline: max(var(--inhalt-rand), (100% - var(--inhalt-max)) / 2);
  margin-inline: 0;
}

.ap-abschnitt .ap-breite,
.ap-band--robotik .ap-breite,
.ap-karteblock .ap-breite { padding-inline: 0; }

.ap-duo {
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--rinne);
  align-items: center;
}
.ap-duo__text p { max-width: 66ch; line-height: 1.62; }

.ap-karten4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  justify-content: stretch;
}
.ap-karten4__karte img { width: 100%; }
.ap-abschluss { max-width: none; }

.ap-konzept__bilder .ap-duo-fotos__a { margin-left: 0; }
.ap-konzept__bilder .ap-duo-fotos__b { left: auto; right: 0; }

.ap-band--abschluss {
  padding: var(--band-luft) max(var(--inhalt-rand), (100% - var(--inhalt-max)) / 2) 0;
  min-height: 0;
}

.ap-band--abschluss > .ap-abschluss { padding-inline: 0; }

main h1,
.ap-hero__inner--links h1,
.ap-zitat-hero__text h1 {
  font-size: var(--fs-h1);
  line-height: var(--lh-h1);
}
main h2,
.ap-abschnitt__text h2,
.ap-toho__text h2, .ap-toho__marke,
.ap-titel--gelb, .ap-titel--35, .ap-titel--lead,
.ap-signatur__kicker, .ap-missionband__titel {
}
main h3,
.ap-abschnitt__unterzeile,
.ap-karten4__karte h3,
.ap-karte h3 {
  font-size: var(--fs-h3);
  line-height: var(--lh-h3);
}

.ap-rechtstext h2 { font-size: 28px; line-height: 34px; }
.ap-rechtstext h3 { font-size: 21px; line-height: 27px; }

.ap-hero__kasten h1.ap-hero__titel {
  font-size: var(--fs-h1); line-height: var(--lh-h1);
}
.ap-aufklapp h3,
.ap-akkordeon summary h3 { font-size: 25px; line-height: 32px; }

.ap-signatur h2.ap-signatur__kicker,
.ap-signatur__kicker {
  font-size: var(--fs-h2); line-height: var(--lh-h2);
  color: var(--color-text-hell);
}
.ap-toho__marke, .ap-titel--gelb,
.ap-band--rot h2.ap-titel--gelb {
  font-size: var(--fs-h2); line-height: var(--lh-h2);
}
.ap-rechtstext h2, .ap-spalte.ap-rechtstext h2 { font-size: 28px; line-height: 34px; }

.ap-feld input, .ap-feld textarea, .ap-formular, .ap-feld { box-sizing: border-box; max-width: 100%; }

@media (max-width: 900px) {
  .ap-karten4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .ap-hero__inner--mittig { padding-inline: var(--inhalt-rand); }
  .ap-hero__inner--mittig h1 { max-width: 100%; }
}
@media (max-width: 560px) {
  .ap-karten4 { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 900px) {

  .ap-hero__inner--mittig h1 { font-size: var(--fs-h1); line-height: var(--lh-h1); }
  .ap-band--einleitung h2    { font-size: var(--fs-h2); line-height: var(--lh-h2); }
}

.ap-liste {
  margin: 0 0 20px; padding-left: 24px; max-width: 66ch;
  line-height: 1.62;
}
.ap-liste li { margin-bottom: 8px; }
.ap-liste li:last-child { margin-bottom: 0; }
.ap-liste__vorspann { margin: 24px 0 10px; }
.ap-liste + .ap-liste__vorspann { margin-top: 24px; }

.ap-abschnitt .ap-abschnitt__medium img,
.ap-abschnitt--evidenz .ap-abschnitt__medium img,
.ap-abschnitt--affolter .ap-abschnitt__medium img {
  width: 100%; height: auto !important; object-fit: contain;
  border-radius: var(--ecke-karte);
}

.ap-kopf::before {
  content: ""; position: absolute; inset: -22px 0 -56px; z-index: -1;
  pointer-events: none;
  background: linear-gradient(180deg,
    rgb(var(--ton-kopf) / .72)   0%,
    rgb(var(--ton-kopf) / .65)  64%,
    rgb(var(--ton-kopf) / .30)  84%,
    rgb(var(--ton-kopf) / 0)   100%);
}

.ap-band--hoehe-540 { min-height: 0; padding-block: var(--band-luft); }
@media (max-width: 900px) { .ap-band--hoehe-540 { min-height: 0; padding-block: var(--band-luft); } }
.ap-duo__text .ap-liste + .ap-btn { margin-top: 20px; }

.ap-zitat-hero__text {
  padding: var(--text-top, 280px) 0 var(--pad-unten, 0);
  padding-inline: max(var(--inhalt-rand), (100% - var(--inhalt-max)) / 2);
  text-align: left;
}
.ap-zitat-hero__ornament,
.ap-zitat-hero h1,
.ap-zitat-hero__name,
.ap-zitat-hero__rolle {

  width: auto; max-width: min(660px, calc(100% - var(--foto-b, 630px)));
  margin-left: 0;
}
.ap-zitat-hero h1 { }
@media (max-width: 900px) {
  .ap-zitat-hero__ornament, .ap-zitat-hero h1,
  .ap-zitat-hero__name, .ap-zitat-hero__rolle { max-width: 100%; }
}

.ap-zitat-hero__ornament { transform: translateY(var(--ornament-hoch, -58px)); }
@media (max-width: 900px) { .ap-zitat-hero { --ornament-hoch: -68px; } }

.ap-breite > p, .ap-mitte > p, .ap-block > p, .ap-spalte > p,
.ap-einleitung > p, .ap-haken > p, .ap-akkordeon__inhalt > p,
.ap-breite > ul, .ap-block > ul, .ap-spalte > ul, .ap-akkordeon__inhalt > ul {
  max-width: 66ch;
}
.ap-zentriert > p, .ap-mitte > p { margin-inline: auto; }
.ap-video__hinweis { max-width: 60ch; margin-inline: auto; }

.ap-rechtstext > p, .ap-rechtstext > ul { max-width: 80ch; }

.ap-karten4__karte h3 { min-height: calc(2 * var(--lh-h3)); }

.ap-karten4__karte .ap-btn { width: 100%; max-width: 290px; }

.ap-fuss__schluss a,
.ap-fuss__foerderung a { display: inline-block; padding-block: 12px; }

.ap-geraet {
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--rinne);
  align-items: center; align-content: start;
  min-height: 0;
  padding-block: var(--band-luft);
}

.ap-geraet--gespiegelt { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.ap-geraet__bilder { position: relative; min-height: 0; }
.ap-geraet__bild-a {
  display: block; width: 82%; height: auto; aspect-ratio: 16 / 9;
  object-fit: cover; border-radius: var(--ecke-karte);
}
.ap-geraet__bild-b {
  position: relative; left: auto; top: auto;
  display: block; width: 74%; height: auto; aspect-ratio: 16 / 9;
  object-fit: cover; margin-left: auto; margin-top: -9%;
  border-radius: var(--ecke-karte);
  box-shadow: var(--schatten-karte);
}
.ap-geraet__text ul,
.ap-geraet__text p,
.ap-geraet .ap-quelle { max-width: 66ch; }

@media (max-width: 900px) {

  .ap-geraet, .ap-geraet--gespiegelt { grid-template-columns: minmax(0, 1fr); }
  .ap-geraet__bilder, .ap-geraet--gespiegelt .ap-geraet__bilder { min-height: 0; }
  .ap-geraet__bild-a { width: 82%; height: auto; }
  .ap-geraet__bild-b { width: 74%; height: auto; }

  .ap-geraet__text { text-align: left; max-width: none; margin-inline: 0; }
  .ap-geraet__text h2 { text-align: left; }
  .ap-geraet .ap-quelle { text-align: left; }
  .ap-geraet .ap-haken li {
    grid-template-columns: 22px 1fr; justify-items: start;
    gap: 10px; align-items: start; text-align: left;
  }
  .ap-geraet .ap-haken__icon { margin-top: 4px; }
}

.ap-band--einleitung { padding-block: var(--band-luft); }
.ap-konzept { padding-block: var(--band-luft); }
.ap-band--eng { padding-block: var(--band-luft); }
.ap-band--knopf { padding-block: var(--band-luft); }

.ap-paar { padding-block: var(--band-luft); align-items: center; }
.ap-paar__medium { margin-top: 0; }

@media (max-width: 900px) {
  .ap-band--einleitung, .ap-konzept, .ap-band--eng,
  .ap-band--knopf, .ap-paar { padding-block: var(--band-luft); }
}

.ap-fuss__karte > a:has(img) {
  display: inline-flex; align-items: center; min-height: 44px;
}
.ap-fuss__foerderung a { padding-block: 15px; }
.ap-kontakt__zeile a,
.ap-kontakt__raster li a,
.ap-kontakt__raster p > span > a {
  display: inline-flex; align-items: center; min-height: 44px;
}
.ap-social--rund a { width: 44px; height: 44px; }
@media (max-width: 900px) {
  .ap-signatur .ap-social--rund a { width: 44px; height: 44px; }
  .ap-social a { width: 44px; height: 44px; }
}

.ap-rechtstext li > a:only-child,
.ap-rechtstext p  > a:only-child,
li > a.ap-url { display: inline-block; padding-block: 12px; }

.ap-motiv img {
  width: 100%; max-width: var(--inhalt-max); height: auto;
  aspect-ratio: 16 / 9; object-fit: cover;
}

@media (max-width: 900px) {
  .ap-motiv img { width: 100%; height: auto; aspect-ratio: 16 / 9; }
}

:is(p, li, dd, dt, label, td, th, .ap-quelle, figcaption) a:not(.ap-btn) {
  padding-block: 15px;
}

.ap-formular__knopf { margin-top: var(--knopf-oben, 32px); }
@media (max-width: 900px) {
  .ap-formular__knopf { margin-top: var(--knopf-oben-m, 32px); }
}

@media (max-width: 900px) {
  .ap-mission__text,
  .ap-toho__text p,
  .ap-einleitung p,
  .ap-mitte p,
  .ap-signatur__raster p,
  .ap-kacheln__vorspann,
  .ap-konzept__vorspann,
  .ap-band--rollen .ap-breite p {
    text-align: left;
  }

  .ap-band--rollen .ap-breite h2 { text-align: center; }
}

.ap-toho__text p,
.ap-mitte p,
.ap-band--rollen .ap-breite p {
  text-align: left;
}

.ap-band--papier h2.ap-titel--gelb,
.ap-band--tint   h2.ap-titel--gelb { color: var(--color-primary); }

.ap-band--papier .ap-kacheln__vorspann,
.ap-band--tint   .ap-kacheln__vorspann { color: var(--color-text-soft); }

.ap-band--papier :is(h1, h2, h3),
.ap-band--tint   :is(h1, h2, h3) { color: var(--color-ink); }

.ap-band--papier .ap-kachel,
.ap-band--tint   .ap-kachel {
  background: var(--color-white);
  border: 1px solid var(--color-line);
  border-radius: var(--ecke-karte);
  overflow: hidden;
  color: var(--color-ink);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.ap-band--papier .ap-kachel:hover,
.ap-band--tint   .ap-kachel:hover,
.ap-band--papier .ap-kachel:focus-visible,
.ap-band--tint   .ap-kachel:focus-visible {
  transform: translateY(-4px);
  box-shadow: 0 24px 46px -28px rgba(74, 4, 3, .4);
  border-color: var(--color-rose);
}
.ap-band--papier .ap-kachel__titel,
.ap-band--tint   .ap-kachel__titel { color: var(--color-primary); }

.ap-band--papier .ap-kachel:hover .ap-kachel__bild,
.ap-band--tint   .ap-kachel:hover .ap-kachel__bild { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
  .ap-band--papier .ap-kachel, .ap-band--tint .ap-kachel,
  .ap-band--papier .ap-kachel:hover, .ap-band--tint .ap-kachel:hover {
    transition: none; transform: none;
  }
}

.ap-band--papier .ap-zitat,
.ap-band--tint   .ap-zitat {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 500;
  color: var(--color-primary);
}

.ap-band--videokante {
  background: linear-gradient(to bottom,
              var(--color-grey-bg) 0 266px, var(--color-white) 266px);
}

main :is(h1, h2, h3),
.ap-hero__titel,
.ap-hero__kasten h1.ap-hero__titel,
.ap-abschnitt__text :is(h2, h3),
.ap-toho__text h2, .ap-toho__marke,
.ap-karten4__karte h3,
.ap-karte h3,
.ap-missionband__titel,
.ap-abschluss__text,
.ap-kachel__titel {
  font-weight: 800;

  letter-spacing: -.02em;
}

.ap-titel--gelb { font-weight: 700; letter-spacing: .06em; }
.ap-rechtstext :is(h1, h2, h3) { letter-spacing: -.01em; }

.ap-nav a,
.ap-nav__gruppe > summary {
  font-weight: 600;
  font-size: 16px;
}

.ap-kopf {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  padding-block: 0;
  border-bottom: 1px solid transparent;
  transition: background-color .3s ease, box-shadow .3s ease;
}
.ap-kopf::before {
  inset: 0;
  background: linear-gradient(180deg,
    rgb(var(--ton-kopf) / .72) 0%,
    rgb(var(--ton-kopf) / .55) 60%,
    rgb(var(--ton-kopf) / 0)  100%);
  transition: opacity .3s ease;
}
.ap-kopf__inner {
  max-width: 1180px; padding-inline: 24px;
  align-items: center; gap: 24px;
  height: 88px;
  transition: height .3s ease;
}
.ap-kopf__logo { display: block; }
.ap-kopf__logo img { width: auto; height: 60px; transition: height .3s ease; }

.ap-kopf--fest {
  background: color-mix(in srgb, var(--color-primary-deep) 90%, transparent);
  -webkit-backdrop-filter: blur(12px);
          backdrop-filter: blur(12px);
  box-shadow: 0 8px 26px -14px rgba(0, 0, 0, .6);
}
@supports not (background: color-mix(in srgb, red 90%, transparent)) {
  .ap-kopf--fest { background: rgba(74, 4, 3, .92); }
}
.ap-kopf--fest::before { opacity: 0; }
.ap-kopf--fest .ap-kopf__inner { height: 74px; }
.ap-kopf--fest .ap-kopf__logo img { height: 48px; }

body.ap-innen .ap-kopf { background: var(--color-primary-deep); }
body.ap-innen .ap-kopf::before { opacity: 0; }
body.ap-innen main { padding-top: 88px; }

.ap-nav { gap: 30px; margin-top: 0; align-items: center; }
.ap-nav > a,
.ap-nav__gruppe > summary {
  position: relative; padding-block: 0; line-height: 1.25;
  color: var(--color-white); transition: color .15s ease;
}
.ap-nav > a:not(.ap-kopf__cta)::after,
.ap-nav__gruppe > summary::before {
  content: ""; position: absolute; left: 0; right: 0; bottom: -7px; height: 2px;
  background: var(--color-accent); border-radius: 2px;
  transform: scaleX(0); transform-origin: left;
  transition: transform .22s ease;
}
.ap-nav > a:not(.ap-kopf__cta):hover::after,
.ap-nav > a:not(.ap-kopf__cta):focus-visible::after,
.ap-nav > a[aria-current="page"]::after,
.ap-nav__gruppe > summary:hover::before,
.ap-nav__gruppe[open] > summary::before,
.ap-nav__gruppe > summary.ap-nav__aktiv::before { transform: scaleX(1); }
.ap-nav > a:hover, .ap-nav > a:focus-visible,
.ap-nav__gruppe > summary:hover { color: var(--color-accent); text-decoration: none; }

.ap-nav__gruppe > summary::after { margin-top: -4px; }
.ap-nav__abtrennung { margin-inline: -6px; height: 20px; background: rgba(255, 255, 255, .28); }

.ap-nav a.ap-kopf__cta {
  background: var(--color-primary); color: var(--color-white);
  padding: .6em 1.3em; border-radius: 8px;
  font-weight: 700; font-size: .92rem; line-height: 1.25;
  transition: background-color .15s ease, color .15s ease;
}
.ap-nav a.ap-kopf__cta:hover, .ap-nav a.ap-kopf__cta:focus-visible {
  background: var(--color-red); color: var(--color-white); text-decoration: none;
}
.ap-kopf--fest .ap-nav a.ap-kopf__cta,
body.ap-innen .ap-nav a.ap-kopf__cta { background: var(--color-accent); color: #3a0302; }
.ap-kopf--fest .ap-nav a.ap-kopf__cta:hover, .ap-kopf--fest .ap-nav a.ap-kopf__cta:focus-visible,
body.ap-innen .ap-nav a.ap-kopf__cta:hover { background: var(--color-red); color: var(--color-white); }

.ap-nav__liste {
  top: calc(100% + 16px);
  min-width: 300px; padding: 10px 0;
  background: var(--color-white); color: var(--color-ink);
  border: 1px solid var(--color-line); border-radius: var(--ecke-klein);
  box-shadow: var(--schatten-karte);
}
.ap-nav__liste::before {
  content: ""; position: absolute; left: 0; right: 0; top: -16px; height: 16px;
}
.ap-nav__liste a {
  color: var(--color-ink); font-weight: 600; font-size: 15px;
  padding: 10px 22px;
}
.ap-nav__liste a:hover, .ap-nav__liste a:focus-visible {
  background: var(--color-grey-bg); color: var(--color-primary); text-decoration: none;
}
.ap-nav__liste a[aria-current="page"] { color: var(--color-primary); }
.ap-nav__unter { border-left-color: var(--color-line); margin-left: 22px; padding-left: 12px; }
.ap-nav__unter a { color: var(--color-muted); font-weight: 500; padding: 7px 16px 7px 10px; }
.ap-nav__ast > a { font-weight: 600; }

@media (max-width: 900px) {
  .ap-kopf__inner { height: 76px; }
  .ap-kopf--fest .ap-kopf__inner { height: 68px; }
  .ap-kopf__logo img { height: 50px; }
  .ap-kopf--fest .ap-kopf__logo img { height: 44px; }
  .ap-kopf--offen { background: var(--color-primary-deep); }
  .ap-kopf--offen::before { opacity: 0; }
  .ap-nav {
    left: 0; right: 0;
    background: var(--color-primary-deep);
    padding: 8px 0 14px;
    border-top: 1px solid rgba(255, 255, 255, .12);
    box-shadow: 0 24px 44px -12px rgba(0, 0, 0, .55);
    max-height: calc(100vh - 76px); overflow-y: auto;
  }
  .ap-nav > a, .ap-nav__gruppe > summary { padding: 15px 26px; font-size: 1.05rem; }
  .ap-nav > a:not(.ap-kopf__cta)::after, .ap-nav__gruppe > summary::before { display: none; }
  .ap-nav > a:not(.ap-kopf__cta):hover { background: rgba(255, 255, 255, .06); }
  .ap-nav__abtrennung { width: auto; height: 1px; margin: 8px 26px; background: rgba(255, 255, 255, .12); }
  .ap-nav a.ap-kopf__cta { margin: 12px 26px 4px; text-align: center; justify-content: center; }
  .ap-nav__liste {
    position: static; transform: none; min-width: 0;
    background: transparent; color: var(--color-white);
    border: 0; border-radius: 0; box-shadow: none; padding: 0 0 6px;
  }
  .ap-nav__liste::before { content: none; }
  .ap-nav__liste a { color: var(--color-white); padding: 12px 26px 12px 44px; font-size: 1rem; }
  .ap-nav__liste a:hover, .ap-nav__liste a:focus-visible { background: rgba(255, 255, 255, .06); color: var(--color-accent); }
  .ap-nav__liste a[aria-current="page"] { color: var(--color-accent); }
  .ap-nav__unter { border-left-color: rgba(255, 255, 255, .28); margin-left: 44px; padding-left: 0; }
  .ap-nav__unter a { color: rgba(255, 255, 255, .86); padding-left: 16px; }
  body.ap-innen main { padding-top: 76px; }
}

.ap-hero--start { min-height: 100vh; min-height: 100svh; display: flex; align-items: center; }
.ap-hero--start::before {
  background: linear-gradient(180deg,
    rgb(40 3 2 / .62) 0%, rgb(58 3 2 / .12) 24%,
    rgb(0 0 0 / .12) 68%, rgb(58 3 2 / .34) 100%);
}
.ap-hero--start .ap-hero__inner {
  max-width: 1180px; margin-inline: auto;
  padding: 120px 24px 90px;
  display: grid; grid-template-columns: 1fr minmax(auto, 560px); gap: 40px;
}
.ap-hero--start .ap-hero__kasten {
  grid-column: 2; width: auto; max-width: 560px; min-height: 0;
  margin: 0; padding: 46px 44px;
  animation: ap-aufsteigen .7s cubic-bezier(.2, .7, .2, 1) both;
}
.ap-hero__kasten h1.ap-hero__titel, .ap-hero__kasten .ap-hero__titel {
  font-size: clamp(1.75rem, 3.1vw, 2.8rem); line-height: 1.14;
  letter-spacing: .005em; font-weight: 800; text-transform: uppercase;
  margin: 0; max-width: none;
}
.ap-hero__kasten .ap-hero__lead {
  font-size: clamp(1.05rem, 1.5vw, 1.25rem); font-weight: 700; line-height: 1.35;
  margin: 0; max-width: none;
}
.ap-hero__kasten .ap-hero__lead b { font-weight: 700; }
.ap-hero__kasten p { font-size: 1.02rem; line-height: 1.6; color: #f0dedb; margin: 16px 0 0; max-width: none; }
.ap-hero__kasten p strong, .ap-hero__kasten p b { color: var(--color-white); }
.ap-hero__kasten p:last-of-type { margin-bottom: 0; }
.ap-hero__knoepfe { margin-top: 30px; }
.ap-scrollhinweis {
  position: absolute; left: 50%; bottom: 26px; z-index: 3;
  transform: translateX(-50%);
  color: rgba(255, 255, 255, .8);
  font-size: .78rem; letter-spacing: .2em; text-transform: uppercase;
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  animation: ap-wippen 2.6s ease-in-out infinite;
}
.ap-scrollhinweis::after {
  content: ""; width: 1px; height: 34px;
  background: linear-gradient(rgba(255, 255, 255, .8), transparent);
}
@keyframes ap-aufsteigen { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
@keyframes ap-wippen { 0%, 100% { transform: translate(-50%, 0); } 50% { transform: translate(-50%, 6px); } }
@media (max-width: 820px) {
  .ap-hero--start .ap-hero__inner { grid-template-columns: 1fr; padding: 110px 20px 80px; }
  .ap-hero--start .ap-hero__kasten { grid-column: 1; padding: 34px 26px; max-width: none; }
  .ap-scrollhinweis { display: none; }
}

.ap-sektion { padding: 96px 0; }
.ap-sektion--tint  { background: var(--color-grey-bg); }
.ap-sektion--weiss { background: var(--color-white); }
.ap-inhalt { max-width: 1180px; margin-inline: auto; padding-inline: 24px; }

.ap-augenbraue { display: flex; align-items: center; gap: 16px; margin-bottom: 22px; }
.ap-augenbraue::after { content: ""; height: 1px; flex: 1; background: var(--color-line); }
.ap-augenbraue .ap-pille { margin: 0; }

main h2.ap-sektion__titel, .ap-sektion__titel {
  font-size: clamp(1.9rem, 3.4vw, 2.9rem); line-height: 1.08;
  letter-spacing: -.02em; font-weight: 800;
  max-width: 20ch; margin: 0; color: var(--color-ink);
}
.ap-sektion__titel.ap-schwung { padding-bottom: 20px; }
.ap-sektion__titel.ap-schwung::after { left: 0; transform: none; }
.ap-lead-text {
  font-size: 1.18rem; line-height: 1.6; color: var(--color-text-soft);
  max-width: 60ch; margin: 22px 0 0;
}
.ap-lead-text + .ap-lead-text { margin-top: 14px; }
.ap-lead-text + .ap-liste { margin-top: 16px; }
.ap-sektion .ap-liste { color: var(--color-text-soft); font-size: 1.05rem; }
.ap-sektion .ap-liste li::marker { color: var(--color-primary); }
.ap-sektion__knopf { margin-top: 28px; }
.ap-sektion__knopf .ap-btn { font-size: 1rem; padding: .85em 1.6em; }

.ap-split { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center; }
.ap-split--medien-links > .ap-medien { order: -1; }
.ap-medien {
  position: relative; border-radius: 20px; overflow: hidden;
  box-shadow: 0 30px 60px -30px rgba(74, 4, 3, .5);
  background: var(--color-primary-deep);
}
.ap-medien > img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4 / 3; display: block; }
.ap-medien > video { width: 100%; height: auto; aspect-ratio: 16 / 9; display: block; background: #000; }
.ap-medien .ap-video { border: 0; border-radius: 0; }
.ap-medien__tag { position: absolute; left: 18px; bottom: 18px; margin: 0; }

.ap-leistungsraster {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px;
  margin-top: 44px; list-style: none; padding: 0;
}
.ap-leistungskarte {
  display: flex; flex-direction: column; height: 100%;
  background: var(--color-white); color: var(--color-ink);
  border: 1px solid var(--color-line); border-radius: var(--ecke-karte);
  overflow: hidden; text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.ap-leistungskarte:hover, .ap-leistungskarte:focus-visible {
  transform: translateY(-4px);
  box-shadow: 0 24px 46px -28px rgba(74, 4, 3, .4);
  border-color: var(--color-rose);
  text-decoration: none;
}
.ap-leistungskarte__bild { overflow: hidden; aspect-ratio: 3 / 2; }
.ap-leistungskarte__bild img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .5s ease;
}
.ap-leistungskarte:hover .ap-leistungskarte__bild img { transform: scale(1.04); }
.ap-leistungskarte__text { padding: 22px 24px 24px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
main .ap-leistungskarte h3, .ap-leistungskarte h3 {
  font-size: 1.22rem; line-height: 1.2; margin: 0; color: var(--color-ink);
}
.ap-leistungskarte__mehr {
  margin-top: auto; display: inline-flex; align-items: center; gap: .4em;
  color: var(--color-primary); font-weight: 700; font-size: .95rem;
}
.ap-leistungskarte__mehr::after { content: "→"; transition: transform .18s ease; }
.ap-leistungskarte:hover .ap-leistungskarte__mehr::after { transform: translateX(4px); }

.ap-video--einbettung {
  border: 0; border-radius: 20px;
  box-shadow: 0 34px 70px -30px rgba(74, 4, 3, .55);
}
.ap-video--einbettung img { transition: transform .5s ease, filter .3s ease; }
.ap-video--einbettung:hover img, .ap-video--einbettung:focus-within img {
  transform: scale(1.04); filter: brightness(.82);
}
.ap-video--einbettung .ap-video__knopf::before {
  width: 82px; height: 82px; background: rgba(118, 5, 4, .92); opacity: 1;
  box-shadow: 0 12px 32px rgba(0, 0, 0, .45);
  transition: transform .25s ease, background-color .25s ease;
}
.ap-video--einbettung .ap-video__knopf::after { border-width: 15px 0 15px 25px; }
.ap-video--einbettung .ap-video__knopf:hover::before { transform: scale(1.12); background: var(--color-red); }
.ap-video--einbettung + .ap-video__hinweis { margin-top: 15px; color: var(--color-muted); font-size: .9rem; }

.ap-leitsatzband__raster { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.ap-leitsatzband__foto {
  border-radius: var(--ecke-hero); overflow: hidden;
  box-shadow: 0 34px 64px -34px rgba(74, 4, 3, .45);
}
.ap-leitsatzband__foto img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 5 / 4; display: block; }
blockquote.ap-leitsatz {
  margin: 22px 0 0; padding: 0;
  font-size: clamp(1.7rem, 3vw, 2.4rem);
}
.ap-leitsatzband .ap-leitsatz__wer { margin-top: 22px; }

.ap-kontaktband { background: var(--color-grey-bg); }
.ap-kontaktband__raster { display: grid; grid-template-columns: 1.1fr .9fr; gap: 56px; align-items: center; }
.ap-kontaktband .ap-pille { margin-bottom: 18px; }
.ap-kontaktband__sub { color: var(--color-text-soft); font-size: 1.12rem; margin: 16px 0 0; max-width: 44ch; }
.ap-infozeilen { display: flex; flex-direction: column; gap: 18px; margin: 26px 0 0; padding: 0; list-style: none; }
.ap-infozeile { display: flex; gap: 14px; align-items: flex-start; }
.ap-infozeile__k { color: var(--color-primary); font-weight: 700; min-width: 42px; flex: none; }
.ap-infozeile a { color: var(--color-primary); text-decoration: underline; text-underline-offset: 3px; }
.ap-infozeile a:hover { color: var(--color-red); }
.ap-zeitenbox {
  background: var(--color-white); color: var(--color-ink);
  border: 1px solid var(--color-line); border-top: 4px solid var(--color-primary);
  border-radius: var(--ecke-karte); padding: 32px;
  box-shadow: 0 30px 60px -34px rgba(74, 4, 3, .35);
}
main .ap-zeitenbox h3, .ap-zeitenbox h3 { color: var(--color-primary); font-size: 1.3rem; line-height: 1.2; margin: 0 0 6px; }
.ap-zeitenbox__zeile {
  display: flex; justify-content: space-between; gap: 16px;
  padding: 11px 0; border-bottom: 1px solid var(--color-line); font-size: 1rem;
}
.ap-zeitenbox__zeile:last-of-type { border-bottom: 0; }
.ap-zeitenbox__zeile span { color: var(--color-text-soft); }
.ap-zeitenbox__zeile b { color: var(--color-primary); font-variant-numeric: tabular-nums; white-space: nowrap; }
.ap-zeitenbox .ap-btn { margin-top: 24px; width: 100%; justify-content: center; }

.ap-fuss { background: var(--color-primary-deep); color: #e8cfcc; padding: 54px 0 40px; }
.ap-fuss__oben { display: flex; justify-content: space-between; gap: 30px; flex-wrap: wrap; align-items: center; }
.ap-fuss__logo img { height: 46px; width: auto; opacity: .95; display: block; }
.ap-fuss__nav { display: flex; gap: 22px; flex-wrap: wrap; font-size: .9rem; }
.ap-fuss__nav a { color: inherit; text-decoration: none; }
.ap-fuss__nav a:hover, .ap-fuss__nav a:focus-visible { color: var(--color-accent); text-decoration: none; }
.ap-fuss__mitte {
  display: grid; grid-template-columns: 1.3fr 1fr auto; gap: 30px;
  margin-top: 34px; padding-top: 28px;
  border-top: 1px solid rgba(255, 255, 255, .12);
  font-size: .95rem; line-height: 1.6;
}
.ap-fuss__titel {
  display: block; margin: 0 0 10px;
  font-size: .72rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase;
  color: var(--color-accent);
}
.ap-fuss__kontakt address { font-style: normal; margin: 0; }
.ap-fuss__kontakt a { color: inherit; text-decoration: none; }
.ap-fuss__kontakt a:hover, .ap-fuss__kontakt a:focus-visible { color: var(--color-accent); text-decoration: underline; text-underline-offset: 2px; }
.ap-fuss__zeiten { display: grid; grid-template-columns: auto 1fr; gap: 4px 18px; margin: 0; }
.ap-fuss__zeiten dt { font-weight: 700; color: var(--color-white); }
.ap-fuss__zeiten dd { margin: 0; font-variant-numeric: tabular-nums; }
.ap-fuss .ap-social { margin-top: 0; gap: 10px; }
.ap-fuss .ap-social a {
  width: 40px; height: 40px; border-radius: 10px;
  background: rgba(255, 255, 255, .08); color: var(--color-white);
  transition: background-color .15s ease, color .15s ease;
}
.ap-fuss .ap-social a:hover, .ap-fuss .ap-social a:focus-visible { background: var(--color-accent); color: #3a0302; }
.ap-fuss__gefoerdert {
  display: flex; align-items: center; gap: 18px; flex-wrap: wrap;
  margin-top: 30px; font-size: .85rem; color: #c9a9a6;
}
.ap-fuss__gefoerdert-logo { display: block; background: var(--color-white); border-radius: 12px; padding: 8px 14px; }
.ap-fuss__gefoerdert-logo img { height: 40px; width: auto; display: block; }
.ap-fuss__gefoerdert a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.ap-fuss__gefoerdert a:hover { color: var(--color-accent); }
.ap-fuss__legal {
  border-top: 1px solid rgba(255, 255, 255, .12);
  margin-top: 34px; padding-top: 22px;
  font-size: .82rem; color: #c9a9a6;
  display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap;
}
.ap-fuss__legal a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.ap-fuss__legal a:hover, .ap-fuss__legal a:focus-visible { color: var(--color-accent); }
.ap-nach-oben { font: inherit; border-radius: 10px; }
.ap-nach-oben:hover { background: var(--color-red); }

@media (max-width: 900px) {
  .ap-leistungsraster { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ap-fuss__mitte { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 820px) {
  .ap-sektion { padding: 64px 0; }
  .ap-split, .ap-split--medien-links { grid-template-columns: 1fr; gap: 32px; }
  .ap-split--medien-links > .ap-medien { order: 0; }
  .ap-leitsatzband__raster { grid-template-columns: 1fr; gap: 34px; }
  .ap-kontaktband__raster { grid-template-columns: 1fr; gap: 36px; }
}
@media (max-width: 560px) {
  .ap-leistungsraster { grid-template-columns: minmax(0, 1fr); }
  .ap-fuss__mitte { grid-template-columns: 1fr; }
  .ap-sektion__knopf .ap-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .ap-hero--start .ap-hero__kasten, .ap-scrollhinweis { animation: none; }
  .ap-leistungskarte, .ap-leistungskarte:hover { transform: none; }
  .ap-leistungskarte__bild img, .ap-video--einbettung img { transition: none; transform: none; }
}

.ap-leitsatzband blockquote.ap-leitsatz { font-size: clamp(1.6rem, 2.6vw, 2.15rem); max-width: none; }

.ap-pille { text-align: center; justify-content: center; line-height: 1.45; }
@media (max-width: 560px) {
  .ap-pille { font-size: .66rem; letter-spacing: .12em; padding: .45em .95em; }
}

.ap-fuss__zeiten dd { text-align: left; }

.ap-signatur { background: var(--color-grey-bg); color: var(--color-text); }
.ap-signatur h2 { color: var(--color-ink); }
.ap-signatur h2.ap-signatur__kicker, .ap-signatur__kicker { color: var(--color-primary); }
.ap-signatur h4 { color: var(--color-primary); }
.ap-signatur__rolle { color: var(--color-text-soft); }
.ap-band--slate { background: var(--color-white); color: var(--color-text); }
.ap-band--slate h1, .ap-band--slate h2, .ap-band--slate h3,
.ap-abschnitt--slate h2 { color: var(--color-primary); }
.ap-abschnitt--slate { color: var(--color-text); }

.ap-karten4__karte {
  background: var(--color-white); color: var(--color-text);
  border: 1px solid var(--color-line); border-radius: var(--ecke-karte);
  overflow: hidden; padding-bottom: 24px;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.ap-karten4__karte:hover { transform: translateY(-4px); box-shadow: 0 24px 46px -28px rgba(74, 4, 3, .4); border-color: var(--color-rose); }
.ap-karten4__karte h3 { color: var(--color-ink); margin-inline: 20px; }
.ap-karten4__karte p  { color: var(--color-text-soft); margin-inline: 20px; }
.ap-karten4__karte .ap-btn { margin-inline: 20px; width: calc(100% - 40px); max-width: none; }
@media (prefers-reduced-motion: reduce) { .ap-karten4__karte:hover { transform: none; } }

.ap-video, .ap-video--rahmen, .ap-video--ueberuns, .ap-toho__video .ap-video {
  border: 0; box-shadow: var(--schatten-hoch); border-radius: var(--ecke-video);
}
.ap-karte-platz.ap-video { border: 1px solid var(--color-line); box-shadow: none; background: #efe6e2; }

.ap-event {
  border: 0; padding: 0; background: transparent; max-width: min(560px, calc(100vw - 32px));
  margin: auto;
}
.ap-event::backdrop { background: rgba(20, 4, 4, .6); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.ap-event[open] { animation: ap-aufsteigen .45s cubic-bezier(.2, .7, .2, 1) both; }
.ap-event__karte {
  position: relative; margin: 0;
  background: var(--color-white); color: var(--color-ink);
  border: 1px solid var(--color-line); border-top: 4px solid var(--color-primary);
  border-radius: var(--ecke-karte); padding: 34px 34px 30px;
  box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .6);
  display: flex; flex-direction: column; align-items: flex-start; gap: 10px;
}
.ap-event__zu {
  position: absolute; top: 12px; right: 12px; width: 40px; height: 40px;
  border: 0; border-radius: 10px; background: transparent; color: var(--color-muted);
  font: inherit; font-size: 1.1rem; cursor: pointer;
}
.ap-event__zu:hover, .ap-event__zu:focus-visible { background: var(--color-grey-bg); color: var(--color-primary); }
.ap-event__karte > .ap-pille { margin: 0 44px 8px 0; }
.ap-event__kategorie {
  font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: var(--color-primary); background: #f6e8e7; padding: 4px 11px; border-radius: var(--radius-pill);
}
.ap-event__kategorie:empty { display: none; }
main ~ .ap-event .ap-event__titel, .ap-event__titel {
  font-size: clamp(1.35rem, 2.4vw, 1.75rem); line-height: 1.2; letter-spacing: -.01em; margin: 4px 0 0;
}
.ap-event__meta { margin: 0; color: var(--color-muted); font-size: .95rem; display: flex; flex-wrap: wrap; gap: 4px 14px; }
.ap-event__meta span:empty { display: none; }
.ap-event__text { margin: 0; color: var(--color-text-soft); font-size: .98rem; }
.ap-event__text:empty { display: none; }
.ap-event__preis { margin: 0; font-weight: 800; color: var(--color-primary); }
.ap-event__preis:empty { display: none; }
.ap-event__knoepfe { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 14px; }
.ap-event__knoepfe .ap-btn { font-size: 1rem; padding: .8em 1.4em; }
.ap-btn--kontur-dunkel {
  background: transparent; color: var(--color-primary);
  border: 1.6px solid var(--color-primary);
  padding: calc(.8em - 1.6px) calc(1.4em - 1.6px) !important;
}
.ap-btn--kontur-dunkel:hover, .ap-btn--kontur-dunkel:focus-visible { background: var(--color-primary); color: var(--color-white); }
@media (max-width: 560px) {
  .ap-event__karte { padding: 26px 20px 22px; }
  .ap-event__knoepfe { width: 100%; }
  .ap-event__knoepfe .ap-btn { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .ap-event[open] { animation: none; } }

.ap-kopf::before {
  background: linear-gradient(180deg,
    rgb(50 4 3 / .94) 0%,
    rgb(50 4 3 / .78) 55%,
    rgb(50 4 3 / 0)  100%);
}
.ap-hero:has(.ap-hero__bild):not(.ap-hero--start)::before,
.ap-hero--start::before {
  background: linear-gradient(180deg,
    rgb(74 4 3 / .88)   0%,
    rgb(118 5 4 / .50) 22%,
    rgb(0 0 0 / .12)   68%,
    rgb(58 3 2 / .34) 100%);
}

.ap-nav__gruppe { position: relative; display: inline-flex; align-items: center; gap: 2px; }
.ap-nav__gruppe > a {
  position: relative; color: var(--color-white); font-weight: 600; font-size: 16px;
  line-height: 1.25; transition: color .15s ease;
}
.ap-nav__gruppe > a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -7px; height: 2px;
  background: var(--color-accent); border-radius: 2px;
  transform: scaleX(0); transform-origin: left; transition: transform .22s ease;
}
.ap-nav > a[aria-current="page"],
.ap-nav__gruppe--aktiv > a, .ap-nav__gruppe--aktiv > .ap-nav__pfeilknopf,
.ap-nav__gruppe:hover > a, .ap-nav__gruppe:focus-within > a, .ap-nav__gruppe--offen > a,
.ap-nav__gruppe > a:hover { color: var(--color-accent); text-decoration: none; }
.ap-nav > a[aria-current="page"]::after,
.ap-nav__gruppe--aktiv > a::after,
.ap-nav__gruppe:hover > a::after, .ap-nav__gruppe:focus-within > a::after,
.ap-nav__gruppe--offen > a::after { transform: scaleX(1); }
.ap-nav__pfeilknopf {
  display: inline-grid; place-items: center; width: 26px; height: 26px;
  border: 0; border-radius: 6px; background: transparent; color: var(--color-white);
  cursor: pointer; padding: 0; transition: transform .2s ease, color .15s ease;
}
.ap-nav__pfeilknopf svg { width: 16px; height: 16px; }
.ap-nav__pfeilknopf:hover { color: var(--color-accent); }
.ap-nav__gruppe--offen > .ap-nav__pfeilknopf svg,
.ap-nav__gruppe:hover > .ap-nav__pfeilknopf svg { transform: rotate(180deg); }

.ap-nav__liste { display: none; left: 50%; transform: translateX(-50%); }
.ap-nav__gruppe--offen > .ap-nav__liste, .ap-nav__gruppe:focus-within > .ap-nav__liste { display: block; }
@media (hover: hover) { .ap-nav__gruppe:hover > .ap-nav__liste { display: block; } }
@media (max-width: 900px) {
  .ap-nav__gruppe { display: flex; flex-wrap: wrap; align-items: center; gap: 0; }
  .ap-nav__gruppe > a { flex: 1; padding: 15px 0 15px 26px; font-size: 1.05rem; }
  .ap-nav__gruppe > a::after { display: none; }
  .ap-nav__pfeilknopf { width: 56px; height: 56px; margin-right: 10px; }
  .ap-nav__pfeilknopf svg { width: 20px; height: 20px; }
  .ap-nav__liste { width: 100%; transform: none; left: auto; }
  .ap-nav__gruppe:hover > .ap-nav__liste { display: none; }
  .ap-nav__gruppe--offen > .ap-nav__liste { display: block; }
}

.ap-hero:not(.ap-hero--start) { display: flex; align-items: center; }
.ap-hero:has(.ap-hero__bild):not(.ap-hero--start) :is(.ap-hero__inner, .ap-hero__inner--links, .ap-hero__inner--rechts, .ap-hero__inner--mittig) {
  width: 100%; max-width: 1180px; margin-inline: auto;
  padding: 120px 24px 60px;
  display: grid; grid-template-columns: 1fr minmax(auto, 560px); gap: 40px;
  text-align: center;
}
.ap-hero:not(.ap-hero--start) .ap-hero__panel {
  grid-column: 2; width: auto; max-width: none; margin: 0;
  padding: 46px 44px; text-align: center;
  display: flex; flex-direction: column; align-items: center;
}
.ap-hero:not(.ap-hero--start) .ap-hero__panel h1,
.ap-hero:not(.ap-hero--start) .ap-hero__panel .ap-hero__kicker + h1 {
  font-size: clamp(1.75rem, 3.1vw, 2.8rem); line-height: 1.14; letter-spacing: .005em;
  font-weight: 800; max-width: none; margin: 0; text-align: center;
}
.ap-hero:not(.ap-hero--start) .ap-hero__kicker,
.ap-hero:not(.ap-hero--start) .ap-hero__kicker span {
  font-size: clamp(1.05rem, 1.5vw, 1.25rem); font-weight: 700; line-height: 1.35;
  margin: 0 0 8px; display: block;
}
.ap-hero:not(.ap-hero--start) .ap-hero__panel .ap-btn { margin-top: 26px; }
@media (max-width: 820px) {
  .ap-hero:has(.ap-hero__bild):not(.ap-hero--start) :is(.ap-hero__inner, .ap-hero__inner--links, .ap-hero__inner--rechts, .ap-hero__inner--mittig) {
    grid-template-columns: 1fr; padding: 110px 20px 60px;
  }
  .ap-hero:not(.ap-hero--start) .ap-hero__panel { grid-column: 1; padding: 34px 26px; }
}

.ap-nav__gruppe.ap-nav__gruppe--offen > .ap-nav__liste,
.ap-nav__gruppe.ap-nav__gruppe--offen:hover > .ap-nav__liste { display: block; }

@media (max-width: 900px) {
  .ap-nav__gruppe:focus-within > .ap-nav__liste { display: none; }
  .ap-nav__gruppe.ap-nav__gruppe--offen:focus-within > .ap-nav__liste { display: block; }
}

@media (max-width: 900px) { .ap-nav { text-align: left; } .ap-nav > a { justify-content: flex-start; } }

.ap-kopf { background: var(--color-primary-deep); box-shadow: 0 8px 26px -14px rgba(0, 0, 0, .6); }
.ap-kopf::before { content: none; }
body { padding-top: 88px; }
body.ap-innen main { padding-top: 0; }
.ap-kopf--fest { background: var(--color-primary-deep); }
.ap-nav a.ap-kopf__cta,
.ap-kopf--fest .ap-nav a.ap-kopf__cta, body.ap-innen .ap-nav a.ap-kopf__cta { background: var(--color-primary); color: var(--color-white); }
.ap-nav a.ap-kopf__cta:hover, .ap-nav a.ap-kopf__cta:focus-visible,
.ap-kopf--fest .ap-nav a.ap-kopf__cta:hover, body.ap-innen .ap-nav a.ap-kopf__cta:hover { background: var(--color-red); color: var(--color-white); }

.ap-hero--start { min-height: calc(100vh - 88px); min-height: calc(100svh - 88px); }
.ap-hero--start .ap-hero__inner { padding: 70px 24px 70px; }
.ap-hero:has(.ap-hero__bild):not(.ap-hero--start) :is(.ap-hero__inner, .ap-hero__inner--links, .ap-hero__inner--rechts, .ap-hero__inner--mittig) { padding: 70px 24px 60px; }
.ap-hero--630 { min-height: 560px; }
.ap-scrollhinweis { display: none; }

.ap-nav > a:not(.ap-kopf__cta)::after, .ap-nav__gruppe > a::after { bottom: -4px; }
.ap-nav > a[aria-current="page"]::after,
.ap-nav__gruppe--aktiv > a::after,
.ap-nav__gruppe:focus-within > a::after,
.ap-nav__gruppe--offen > a::after { transform: scaleX(0); }
.ap-nav > a:not(.ap-kopf__cta):hover::after,
.ap-nav > a:not(.ap-kopf__cta):focus-visible::after,
.ap-nav__gruppe:hover > a::after,
.ap-nav__gruppe > a:hover::after { transform: scaleX(1); }

@media (max-width: 900px) {
  body { padding-top: 76px; }
  .ap-hero--start { min-height: calc(100svh - 76px); }
}
@media (max-width: 820px) {
  .ap-hero--start .ap-hero__inner { padding: 50px 20px 60px; }
  .ap-hero:has(.ap-hero__bild):not(.ap-hero--start) :is(.ap-hero__inner, .ap-hero__inner--links, .ap-hero__inner--rechts, .ap-hero__inner--mittig) { padding: 50px 20px 60px; }
}

.ap-hero__panel .ap-pille { margin-bottom: 18px; }
.ap-hero:not(.ap-hero--start) .ap-hero__panel .ap-hero__lead { font-size: clamp(1.05rem, 1.5vw, 1.25rem); font-weight: 700; line-height: 1.35; margin: 0; }
.ap-hero:not(.ap-hero--start) .ap-hero__panel p { font-size: 1.02rem; color: #f0dedb; line-height: 1.6; margin: 10px 0 0; text-align: center; }
.ap-hero:not(.ap-hero--start) .ap-hero__panel p.ap-hero__lead { color: var(--color-white); margin-top: 0; }
.ap-hero__anfuehrung { color: var(--color-accent); font-family: var(--font-serif); font-weight: 400; }
.ap-medien--hoch > img { aspect-ratio: 4 / 5; object-position: center 20%; }
@media (min-width: 821px) { .ap-medien--hoch { max-height: 620px; } .ap-medien--hoch > img { height: 620px; } }
.ap-missionkarten {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px;
  margin: 44px 0 0; padding: 0; list-style: none;
}
.ap-missionkarten .ap-infokarte h3 { font-size: 1.22rem; line-height: 1.2; margin: 0 0 10px; color: var(--color-ink); }
.ap-missionkarten .ap-infokarte p  { color: var(--color-text-soft); font-size: .98rem; line-height: 1.6; margin: 0; }
.ap-infokarte__symbol--zahl { font-weight: 800; font-size: 1rem; letter-spacing: .04em; }
.ap-medien--film { max-width: 920px; margin: 44px auto 0; }
.ap-medien--film > video { aspect-ratio: 16 / 9; }
.ap-gruender__foto {
  position: relative; border-radius: var(--ecke-hero); overflow: hidden;
  background: radial-gradient(120% 90% at 30% 20%, #FBF7F5 0%, #F4EAE7 55%, #E9D6D1 100%);
  box-shadow: 0 34px 64px -34px rgba(74, 4, 3, .45);
  display: flex; align-items: flex-end; justify-content: center;
  aspect-ratio: 5 / 4;
}
.ap-gruender__foto img { width: 78%; height: 100%; object-fit: contain; object-position: bottom; display: block; }
.ap-gruender__unterschrift { width: 140px; height: auto; margin: 28px 0 10px; }
.ap-gruender__name { margin: 0 0 22px; line-height: 1.5; }
.ap-gruender__name strong { color: var(--color-ink); }
.ap-gruender__name em { color: var(--color-text-soft); font-size: .95rem; }
.ap-gruender .ap-social--rund { margin: 0; gap: 12px; }
.ap-gruender .ap-social--rund a { width: 44px; height: 44px; background: var(--color-primary); color: var(--color-white); border-radius: var(--radius-pill); }
.ap-gruender .ap-social--rund a:hover { background: var(--color-red); }
@media (max-width: 900px) { .ap-missionkarten { grid-template-columns: 1fr; } }
@media (max-width: 820px) { .ap-gruender__foto { aspect-ratio: 4 / 4; max-width: 420px; margin-inline: auto; } .ap-medien--hoch > img { aspect-ratio: 4 / 4; } }

.ap-gruender__foto img { width: 100%; }

.ap-gruender__foto { aspect-ratio: 4 / 5; display: block; }
.ap-gruender__foto img { width: 100%; height: 100%; object-fit: contain; object-position: right bottom; }
@media (max-width: 820px) { .ap-gruender__foto { aspect-ratio: 4 / 5; max-width: 380px; } }

.ap-kopf__logo img { height: 56px; }
.ap-kopf--fest .ap-kopf__logo img { height: 46px; }
.ap-fuss__logo img { height: 44px; }
@media (max-width: 900px) { .ap-kopf__logo img { height: 44px; } .ap-kopf--fest .ap-kopf__logo img { height: 40px; } }

.ap-kopf__logo img { height: 60px; }
.ap-kopf--fest .ap-kopf__logo img { height: 48px; }
.ap-hero--motiv-links .ap-hero__bild { width: 122%; left: 0; right: auto; object-position: left center; }

.ap-film { position: relative; background: #000; }
.ap-film video { width: 100%; height: auto; aspect-ratio: 16 / 9; display: block; }
.ap-film__knopf {
  position: absolute; inset: 0; width: 100%; border: 0; padding: 0; cursor: pointer;
  background: linear-gradient(180deg, rgba(20, 4, 4, 0) 40%, rgba(20, 4, 4, .55) 100%);
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px;
  color: var(--color-white); font: inherit;
}
.ap-film__kreis {
  width: 82px; height: 82px; border-radius: 50%; background: rgba(118, 5, 4, .92);
  display: grid; place-items: center; box-shadow: 0 12px 32px rgba(0, 0, 0, .45);
  transition: transform .25s ease, background-color .25s ease;
}
.ap-film__kreis::before {
  content: ""; border-style: solid; border-width: 15px 0 15px 25px;
  border-color: transparent transparent transparent #fff; margin-left: 6px;
}
.ap-film__knopf:hover .ap-film__kreis, .ap-film__knopf:focus-visible .ap-film__kreis { transform: scale(1.12); background: var(--color-red); }
.ap-film__text { font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; text-shadow: 0 1px 8px rgba(0,0,0,.5); }
.ap-film--laeuft .ap-film__knopf { display: none; }
.ap-medien:has(.ap-film) { box-shadow: 0 34px 70px -30px rgba(74, 4, 3, .55); }
@media (max-width: 560px) { .ap-film__kreis { width: 64px; height: 64px; } .ap-film__kreis::before { border-width: 12px 0 12px 20px; } .ap-film__text { font-size: .7rem; } }

.ap-hero--motiv-links .ap-hero__bild  { width: var(--hero-zoom, 122%); left: 0; right: auto; object-position: left center; }
.ap-hero--motiv-rechts .ap-hero__bild { width: var(--hero-zoom, 135%); right: 0; left: auto; object-position: right center; }
@media (max-width: 820px) { .ap-hero--motiv-links .ap-hero__bild, .ap-hero--motiv-rechts .ap-hero__bild { width: 100%; left: 0; right: 0; object-position: center; } }
