

:root {

  --color-primary:  #760504;
  --color-accent:   #FBDC6A;
  --color-text:     #333333;
  --color-white:    #FFFFFF;
  --color-ink:      #140609;
  --color-grey-bg:  #F5F5F5;
  --color-slate:    #54595F;
  --color-text-hell: #F5F5F5;
  --color-line:     #DDDDDD;
  --color-icon-bg:  #BDBDBD;

  --font-display: 'Space Grotesk', 'Poppins', system-ui, -apple-system, sans-serif;
  --font-text:    'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif;

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

  --lh-body:  23.4px;
  --lh-lead:    20px;
  --lh-h3:      29px;
  --lh-h2:      40px;
  --lh-h1:      60px;
  --lh-btn:     26px;
  --lh-hero:  51.6px;

  --ecke-knopf:  0 10px 0 10px;
  --ecke-karte:  0 40px 0 40px;
  --ecke-video:  0 20px 0 20px;
  --radius-s:   10px;
  --radius-pill: 50px;

  --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);

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

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):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);
}
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); }
h4 { font-size: 32px; line-height: 32px; }

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;

  min-height: 44px;
}
.ap-btn--primaer { background: var(--color-primary); color: var(--color-white); }
.ap-btn--primaer:hover, .ap-btn--primaer:focus-visible { background: #5c0403; }

.ap-btn--akzent  { background: var(--color-accent); color: var(--color-primary); }
.ap-btn--akzent:hover, .ap-btn--akzent:focus-visible { background: #f6d24a; }

.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-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 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: 0 12px 32px rgb(0 0 0 / .25);
}
.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__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; }
.ap-hero__bild {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; z-index: 0;
}
.ap-hero__inner { position: relative; z-index: 1; 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: 43px; font-weight: 700; line-height: var(--lh-hero);
  color: var(--color-white); margin: 0 0 24px;
}
.ap-hero__kasten h1 {
  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--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-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); 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: inline-block; }

.ap-fuss__karte li > a { position: relative; }
.ap-fuss__karte li > a::after {
  content: ""; position: absolute; left: 0; right: 0; top: -8px; bottom: -8px;
}

.ap-fuss__karte .ap-social a { position: relative; }
.ap-fuss__karte .ap-social a::after {
  content: ""; position: absolute; left: -6px; right: -6px; top: -6px; bottom: -6px;
}
.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: var(--color-primary);
  border-top: 1px solid rgb(255 255 255 / .2);
  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);
  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-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(0 0 0 / .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__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 {
  position: absolute; left: 0; right: 0; bottom: 0;
  background: rgb(0 0 0 / .65); color: var(--color-white);
  font-size: var(--fs-micro); line-height: 1.5; padding: 10px 14px; text-align: center;
}

.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: 2;
  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: rgba(0, 0, 0, .88) 3px 3px 10px 2px;
  border-radius: var(--ecke-karte);

  background: transparent;
}
.ap-hero__kasten::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  border-radius: inherit;
  background: rgba(0, 0, 0, .61);
}
.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 h1 { margin: 0 0 22px; }
.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-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, 57px) var(--pad-unten, 58px); }
.ap-band--rot h2.ap-titel--gelb,
.ap-titel--gelb {

  font-size: 27px; font-weight: 300; line-height: 27px;
  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: 1152px; 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(0, 0, 0); opacity: .53;
}
.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: 36px;
    --fs-h2: 30px;  --lh-h2: 30px;
    --fs-h3: 25px;  --lh-h3: 25px;
    --fs-body:   16px;  --lh-body: 20.8px;
    --fs-lead:   20px;  --lh-lead: 20.8px;
    --fs-small:  16px;
    --fs-micro:  12px;
    --pad-band:  19.5px;
  }
  h4 { font-size: 24px; line-height: 24px; }

  .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, 70px) var(--pad-unten-m, 70px); }
  .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: rgb(0 0 0 / .18); }

  .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: 32px; line-height: 32px; }
  .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 h1 { margin-bottom: 42px; }
  .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: 70px; 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: 0 3px 0 3px;
}

.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--ueberzug::before {
  content: ""; position: absolute; inset: 0; z-index: 0;
  background: rgb(0 0 0 / .26);
}
.ap-hero__inner--links {

  padding: var(--hero-oben, 260px) 30px 0 var(--hero-kante, 133px);
}
.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: 0 7px 0 7px;
  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: 0 30px 0 30px;
}
.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: rgb(33 33 33 / .15) 0 5px 50px 0;
}

.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: 0 30px 0 30px;
  overflow: hidden;
}

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

@media (max-width: 900px) {

  .ap-hero--630 { min-height: 507px; }
  .ap-hero__inner--links {
    padding: var(--hero-oben-m, 203px) 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: 35px; line-height: 42px; }
@media (max-width: 900px) {

  .ap-titel--35 { font-size: 30px; line-height: 36px; }
}
.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: 0 10px 0 10px; }
.ap-duo-fotos--hoch .ap-duo-fotos__b { height: 230px; top: 162px; border-radius: 0 10px 0 10px; }
.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: 0 15px 0 15px; }
.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: 0 40px 0 40px; 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-size: 20px; font-weight: 400; line-height: 26px;
  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;
  color: var(--color-primary);
}
.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 { font-size: 16px; }
  .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-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: center;
  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));
}
.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: 2px solid var(--color-primary); }

@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: 25px; line-height: 25px; }
  .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: 30px; line-height: 30px; 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--schatten h1 {

  text-shadow: 0 1px 2px rgb(5 5 5 / .8);
}
.ap-hero__inner--mittig { padding-inline: var(--hero-kante, 144px); }
.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, 133px); }
.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-bild--hoch373 { height: 373px !important; object-fit: cover; }
.ap-bild--hoch662 { height: 662px !important; object-fit: cover; }
.ap-bild--hoch355 { height: 355px !important; object-fit: cover; }
.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-bild--hoch373 { height: 262px !important; }
  .ap-bild--hoch662 { height: 464px !important; }
  .ap-bild--hoch355 { height: 250px !important; }
  .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, 50px) 0 var(--pad-unten, 80px);
}

: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 30px;
}

.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: 30px; line-height: 30px; 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); height: var(--bild-h, 497px);
  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; height: var(--bild-h-m, 350px); margin-inline: 0;
  }
  .ap-paar__text h2 { font-size: 30px; line-height: 30px; }
  .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: var(--hero-oben-m, 150px) 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-size: 45px; font-weight: 800; line-height: 49.5px;
  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, 60px) 20px var(--pad-unten, 80px); }

.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, 60px); }
.ap-mitte h2 { font-family: var(--font-display); font-size: var(--fs-h2); line-height: var(--lh-h2); 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: 0 2px 6px rgb(0 0 0 / .08); }
.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, 120px);
}
.ap-signatur__raster > div:first-child { padding-top: var(--text-top, 119px); }
.ap-signatur h4 { font-family: var(--font-display); font-size: 32px; line-height: 32px; font-weight: 700; color: var(--color-text-hell); margin: 0 0 20px; }
.ap-signatur h2 { font-family: var(--font-display); font-size: var(--fs-h2); line-height: var(--lh-h2); 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 { font-size: 26px; line-height: 28.6px; }
  .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, 30px) 10px var(--pad-unten-m, 30px); }
  .ap-motiv img { width: var(--motiv-b-m, 370px); height: var(--motiv-h-m, 208px); }
  .ap-mitte { padding: 0 24px var(--pad-unten-m, 60px); }
  .ap-mitte h2 { font-size: 30px; line-height: 30px; }

  .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 { font-size: 24px; line-height: 24px; }
  .ap-signatur h2 { font-size: 30px; line-height: 30px; 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, 100px);
}
.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-size: var(--fs-h2); line-height: var(--lh-h2); 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 { font-size: 30px; line-height: 30px; 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 {
  font-size: 28px; line-height: 28px;
  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 { font-size: 28px; line-height: 28px; }
  .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, 60px) 20px var(--pad-unten, 50px); }
.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, 55px) 0 var(--pad-unten, 55px);
}

.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-size: 28px; line-height: 28px; 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, 176px) 0 var(--pad-unten, 0);
}
.ap-toho__text { text-align: center; }

.ap-toho__text h2 {
  font-family: var(--font-text); font-size: 18px; line-height: 25.2px; font-weight: 700;
  color: var(--color-slate); margin: 0 0 var(--h1-oben, 20px);
}
.ap-toho__text h1 {
  font-family: var(--font-text); font-size: 25px; line-height: 30px; 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, 40px) 0 var(--pad-unten-m, 30px); }
  .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, 60px) 20px var(--pad-unten-m, 60px);
  }
  .ap-karten4__karte { min-height: 0; }
  .ap-karten4__karte img { width: 100%; height: var(--karte-bild-h-m, 233px); }
  .ap-karten4__karte h3 { font-size: 24px; line-height: 24px; 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, 60px) 20px var(--pad-unten-m, 40px);
  }

  .ap-toho__video { order: 1; padding-top: var(--video-oben-m, 40px); }
  .ap-toho__text h2 { font-size: 16px; line-height: 22.4px; }

  .ap-toho__text h1 { font-size: 32px; line-height: 38.4px; }
  .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, 60px) 0 var(--pad-unten, 60px); }
.ap-kzp > h2 {
  font-family: var(--font-display); font-size: var(--fs-h2); line-height: var(--lh-h2);
  font-weight: 700; color: var(--color-text); text-align: center;
  margin: 0 0 var(--akk-oben, 55px);
}

.ap-toho__marke { font-size: 25px !important; line-height: 30px !important; }

@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(--pad-oben, 30px)) 0 var(--pad-unten-m, var(--pad-unten, 30px)); }
  .ap-kzp > h2 { font-size: 30px; line-height: 30px; margin-bottom: var(--akk-oben-m, var(--akk-oben, 55px)); }
  .ap-toho__marke { font-size: 32px !important; line-height: 38.4px !important; }
}
@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, 115px) 0 var(--pad-unten, 130px);
}
.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-formular { padding: var(--karte-pad, 31px); }
.ap-formular__knopf {

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

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

@media (max-width: 900px) {
  .ap-kontakt__raster {
    grid-template-columns: minmax(0, 1fr); gap: 0;
    padding: var(--pad-oben-m, 60px) 15px var(--pad-unten-m, 45px);
  }
  .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: 32px !important; line-height: 32px !important; margin-bottom: 20px !important;
  color: var(--color-text-hell) !important;
}
@media (max-width: 900px) { .ap-signatur__kicker { font-size: 24px !important; line-height: 24px !important; } }

.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)); }
}
