:root {
  --c-blau: #046474;
  --c-blau-blob: #056574;
  --c-hellblau: #cae8f3;
  --c-orange: #d45d2a;
  --c-gruen: #1f6e56;
  --c-oliv: #bdbe2b;
  --c-oliv-blob: #bdbe2a;
  --c-weiss: #ffffff;
  --c-schwarz: #000000;
  --c-anthrazit: #1e1e1e;
  --c-schwarz-10: rgba(0, 0, 0, 0.1);
  --c-orange-dunkel: #b94b1c;

  --c-text: var(--c-blau);
  --c-text-invert: var(--c-weiss);
  --c-page-bg: var(--c-weiss);

  --ff-base: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --ff-hand: "Gochi Hand", "Comic Sans MS", cursive;

  --fw-regular: 400;
  --fw-bold: 700;
  --fw-heavy: 800;
  --fw-black: 900;

  --fs-h1: 60px;   --lh-h1: 80px;   --ls-h1: 3px;
  --fs-h2: 40px;   --lh-h2: 48px;   --ls-h2: 4px;
  --fs-h3: 30px;   --lh-h3: 36px;   --ls-h3: 3px;
  --fs-h4: 24px;   --lh-h4: 30px;   --ls-h4: 1.2px;
  --fs-h5: 20px;   --lh-h5: 28px;   --ls-h5: 1px;
  --fs-h6: 18px;   --lh-h6: 26px;   --ls-h6: 0.9px;

  --fs-header: 26px; --lh-header: 40px; --ls-header: 5.2px;
  --fs-body: 22px; --lh-body: 30px;
  --fs-teaser: 18px; --lh-teaser: 26px;
  --fs-button: 20px; --lh-button: 30px;
  --fs-label: 18px; --lh-label: 24px;

  --design-w: 1440px;
  --design-w-mobile: 390px;
  --container-max: 1200px;
  --gutter: 20px;

  --header-h: 120px;
  --header-h-mobile: 81px;

  /* Flyout — Startseite Flyout 02 47637:11853 / Startseite mobil flyout 03 47637:11748 */
  --flyout-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);

  --radius-btn: 10px;
  --radius-flyout: 20px;
  --radius-card: 10px;
  --radius-teaser: 20px;
  --radius-pill: 999px;

  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --dur: 200ms;

  --z-hero: 1;
  --z-elterncafe: 2;
  --z-angebot: 3;
  --z-teaser: 4;
  --z-footer: 5;
  --z-header: 20;
  --z-overlay: 60;
}

*,
*::before,
*::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  overflow-x: clip;
}
body {
  margin: 0;
  background: var(--c-page-bg);
  color: var(--c-text);
  font-family: var(--ff-base);
  font-size: var(--fs-teaser);
  line-height: var(--lh-teaser);
  font-weight: var(--fw-regular);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
}
h1, h2, h3, h4, h5, h6, p, ul, ol, figure { margin: 0; }
h1, h2, h3, h4, h5, h6 { hyphens: auto; overflow-wrap: anywhere; }
ul, ol { padding: 0; list-style: none; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button {
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}
:focus-visible {
  outline: 3px solid var(--c-orange);
  outline-offset: 3px;
  border-radius: 4px;
}

h1 {
  font-size: var(--fs-h1);
  line-height: var(--lh-h1);
  letter-spacing: var(--ls-h1);
  font-weight: var(--fw-heavy);
  margin-bottom: 20px;
}
h2 {
  font-size: var(--fs-h2);
  line-height: var(--lh-h2);
  letter-spacing: var(--ls-h2);
  font-weight: var(--fw-black);
  margin-bottom: 20px;
}
h3 {
  font-size: var(--fs-h3);
  line-height: var(--lh-h3);
  letter-spacing: var(--ls-h3);
  font-weight: var(--fw-bold);
  margin-bottom: 20px;
}
h4 {
  font-size: var(--fs-h4);
  line-height: var(--lh-h4);
  letter-spacing: var(--ls-h4);
  font-weight: var(--fw-black);
  margin-bottom: 16px;
}
h5 {
  font-size: var(--fs-h5);
  line-height: var(--lh-h5);
  letter-spacing: var(--ls-h5);
  font-weight: var(--fw-bold);
  margin-bottom: 16px;
}
h6 {
  font-size: var(--fs-h6);
  line-height: var(--lh-h6);
  letter-spacing: var(--ls-h6);
  font-weight: var(--fw-bold);
  margin-bottom: 16px;
}
p {
  font-size: var(--fs-teaser);
  line-height: var(--lh-teaser);
}

.container {
  width: min(var(--container-max), 100% - (var(--gutter) * 2));
  margin-inline: auto;
}
.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.container {
  width: min(var(--container-max), 100% - (var(--gutter) * 2));
  margin-inline: auto;
}
.wave {
  position: relative;
  background: var(--wave-fill);
}
.wave::before,
.wave::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  pointer-events: none;
  z-index: -1;
}
.wave::before {
  bottom: calc(100% - 1px);
  height: calc(var(--wave-top-h) + 1px);
}
.wave::after {
  top: calc(100% - 1px);
  height: calc(var(--wave-bottom-h) + 1px);
}
.skip-link:focus {
  position: fixed;
  z-index: var(--z-overlay);
  top: 12px;
  left: 12px;
  width: auto;
  height: auto;
  margin: 0;
  padding: 10px 18px;
  clip: auto;
  clip-path: none;
  background: var(--c-weiss);
  color: var(--c-blau);
  font-weight: var(--fw-bold);
  border-radius: var(--radius-btn);
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 45px;
  padding: 7.5px 15px;
  border-radius: var(--radius-btn);
  font-size: var(--fs-button);
  line-height: var(--lh-button);
  font-weight: var(--fw-bold);
  color: var(--c-weiss);
  text-align: center;
  transition: background-color var(--dur) var(--ease),
              transform var(--dur) var(--ease);
}
.btn__icon { font-size: 22px; line-height: 1; flex: none; }
.btn--blau   { background: var(--c-blau); }
.btn--orange { background: var(--c-orange); }
.btn--blau:hover   { background: #035562; }
.btn--orange:hover { background: #bf5124; }
.btn:active        { transform: translateY(1px); }
.btn--infos { min-width: 163px; }
.btn--wide {
  width: 341px;
  max-width: 100%;
  padding-inline: 12px;
  justify-content: flex-start;
  text-align: left;
}
.lang {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: 48px;
  min-height: 48px;
  border-radius: var(--radius-btn);
  background: var(--c-weiss);
  color: var(--c-orange);
  font-size: var(--fs-button);
  line-height: var(--lh-button);
  font-weight: var(--fw-bold);
  flex: none;
}
.lang__flag { font-size: 22px; line-height: 1; }
.lang__caret { font-size: 20px; line-height: 1; }
.lang__label,
.lang__caret { display: none; }

.menu {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.menu__row {
  display: flex;
  align-items: center;
  gap: calc(var(--menu-caret-col) - var(--menu-caret-w));
  padding: 7px 11px;
  border-radius: var(--radius-btn);
  color: var(--c-blau);
  font-weight: var(--fw-bold);
  transition: background-color var(--dur) var(--ease),
              color var(--dur) var(--ease);
}
.menu__link {
  flex: 1 1 auto;
  min-width: 0;
  color: inherit;
  hyphens: auto;
}
.menu__toggle,
.menu__close {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  width: var(--menu-caret-w);
  color: inherit;
}
.menu__toggle { order: -1; }
.menu__caret {
  font-size: var(--menu-caret-w);
  line-height: 1;
  transition: transform var(--dur) var(--ease);
}
.menu__item:not(.menu__item--has-sub) .menu__toggle { display: none; }
.submenu {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows var(--dur) var(--ease);
}
.submenu > .menu { overflow: hidden; }
.menu--lvl1 > .menu__item > .menu__row {
  height: var(--menu-row-h1);
  gap: 10px;
  font-size: var(--fs-button);
  line-height: var(--lh-button);
}
.menu--lvl2 {
  position: relative;
  margin-top: var(--menu-lvl2-pad-top);
  transition: background-color var(--dur) var(--ease);
}
.menu--lvl2 > .menu__item {
  border-radius: var(--radius-card);
  transition: background-color var(--dur) var(--ease);
}
.menu--lvl2 > .menu__item > .menu__row {  }
.menu--lvl3 { padding-left: calc(var(--menu-caret-col) + var(--menu-indent)); }
.menu--lvl3 > .menu__item > .menu__row {  }
.menu--lvl3 > .menu__item:last-child { /*margin-bottom: 11px;*/ }

.menu--lvl2,
.menu--lvl3 {
  font-size: var(--fs-teaser);
  line-height: var(--lh-teaser);
}
.menu--lvl2 > .menu__item--has-sub.is-open > .menu__row {  }

.menu__close {
  display: none;
  position: absolute;
  top: 6px;
  right: 16px;
  height: 35px;
  font-size: var(--fs-teaser);
}
.menu--lvl2 > .menu__item.is-open > .menu__row > .menu__close { /*display: flex;*/ }
.burger {
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: 45px;
  flex: none;
  color: var(--c-weiss);
  font-size: 26px;
}
.speech {
  position: relative;
  display: grid;
  place-items: center;
  width: var(--speech-size);
  min-height: var(--speech-size);
  padding: calc(var(--speech-size) * 0.06);
  border-radius: 50%;
  background: var(--c-hellblau);
}
.speech p {
  font-family: var(--ff-hand);
  font-weight: var(--fw-regular);
  color: var(--c-blau);
  text-align: center;
}
.speech__tail {
  position: absolute;
  transform: scaleY(-1);
  pointer-events: none;
}
.startdate {
  position: absolute;
  pointer-events: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: url("../images/bubble-orange.svg") center / 100% 100% no-repeat;
  color: var(--c-weiss);
  text-align: center;
}
.startdate p { line-height: 30px; }
.startdate p:nth-of-type(1) { font-weight: var(--fw-black); }
.startdate p:nth-of-type(2) { font-weight: var(--fw-heavy); }
.startdate p:nth-of-type(3) { font-weight: var(--fw-bold); }
.startdate__btn { pointer-events: auto; }
.features {
  display: grid;
  justify-items: center;
  align-items: start;
}
.feature {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--feature-gap, 13px);
}
.feature__icon { flex: none; }
span.feature__icon {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: calc(70px * var(--icon-scale, 1));
}
span.feature__icon img {
  width: auto;
  max-width: none;
}
.feature__label {
  font-size: var(--fs-label);
  line-height: var(--lh-label);
  font-weight: var(--fw-bold);
  text-align: center;
}
.site-header {
  position: relative;
  z-index: var(--z-header);
  background: var(--c-orange);
  container-type: inline-size;
}
.site-header__bar {
  min-height: var(--header-h-mobile);
}
.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: min(var(--container-max), 100% - (var(--gutter) * 2));
  min-height: var(--header-h-mobile);
}
.site-header__logo,
.menu--lvl1 {
  --logo-w: min(
    289px,
    calc(100cqw * 0.7407),
    calc((100cqw - 136px) / 0.7758)
  );
  --logo-top: -16.37px;
}
.site-header__logo {
  --container-left: max(var(--gutter), calc((100cqw - var(--container-max)) / 2));
  position: absolute;
  z-index: 3;
  top: var(--logo-top);
  left: calc(var(--logo-w) * -0.2005);
  width: var(--logo-w);
  line-height: 0;
}
.site-header__logo img { width: 100%; height: auto; }
.nav {
  --flyout-w: 245px;
  --menu-caret-w: 22px;
  --menu-caret-col: 29px;
  --menu-indent: 24px;
  --menu-row-pad: 18px;
  --menu-row-h1: 50px;
  --menu-row-h2: 40px;
  --menu-row-h2-open: 49px;
  --menu-row-h3: 40px;
  --menu-lvl2-pad-top: 8.5px;
  --menu-branch-pad-top: 40px; 
  --menu-branch-pad-bottom: 9px;

  position: absolute;
  z-index: 2;
  top: 100%;
  right: 20px;
  width: calc(100% - 42px);
  max-width: 348px;
  background: var(--c-weiss);
  border-radius: 0 0 var(--radius-flyout) var(--radius-flyout);
  box-shadow: var(--flyout-shadow);
  overflow: hidden;
  max-height: 0;
  transition: max-height var(--dur) var(--ease);
}
.nav.is-open { max-height: calc(100dvh - var(--header-h-mobile)); overflow-y: auto; }
.menu--lvl1 {
  padding: calc(5.86px + max(0px,
             var(--logo-w) * 0.49065 + var(--logo-top) - var(--header-h-mobile)))
           0px 27px 0px;
}
.hero {
  position: relative;
  z-index: var(--z-hero);
  background: var(--c-hellblau);
  padding-block: 69px 163px;
  container-type: inline-size;
}
.hero__art {
  position: absolute;
  left: calc(50% - 287px);
  bottom: -207px;
  width: 574px;
  height: 347px;
  pointer-events: none;
  --blob-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1003'%20height='595'%20viewBox='0%200%201003%20595'%20preserveAspectRatio='none'%3E%3Cpath%20d='M1002.97%20191.248C1002.97%2085.6699%20901.904%204.64315e-06%20777.312%204.64315e-06H200.6C89.7979%20-0.0217059%200%2076.0956%200%20169.994C0%20252.212%2068.953%20320.882%20160.475%20336.536C154.057%20350.734%20150.45%20366.279%20150.45%20382.497C150.45%20452.883%20217.838%20510.003%20300.9%20510.003C331.77%20510.003%20360.597%20502.035%20384.439%20488.488C427.853%20552.23%20508.873%20595%20601.8%20595C740.342%20595%20852.55%20499.908%20852.55%20382.497C852.55%20378.915%20852.391%20375.332%20852.232%20371.728C939.988%20345.567%201003%20274.639%201003%20191.227'%20fill='%23fff'%20transform='rotate(180%20501.5%20297.5)'/%3E%3C/svg%3E");
}
.hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
  top: 100%;
  height: 200px;
  background: var(--c-hellblau);
  pointer-events: none;
}
.hero__art .hero__group { object-fit: cover;}
.hero__art img { position: absolute; max-width: none; }
.hero__mask {
  position: absolute;
  inset: 0;
  -webkit-mask-image: var(--blob-mask);
          mask-image: var(--blob-mask);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: 0 0;
          mask-position: 0 0;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
}
.hero__blob {
  inset: 0;
  width: 100%;
  height: 100%;
  transform: rotate(180deg);
}
.hero__group { left: 0%; top: 0%; width: 100%; height: 100%; }
.hero .container { container-type: inline-size; }
.hero h1 {
  position: relative;
  max-width: 349px;
  color: var(--c-blau);
  font-size: min(50px, 14.3cqi);
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: var(--fw-heavy);
  margin-bottom: 0;
}
.hero h1 span {
  display: block;
}
.angebot {
  z-index: var(--z-angebot);
  color: var(--c-weiss);
  --wave-fill: var(--c-blau-blob);
  --wave-top-h: 30px;
  --wave-bottom-h: 47px;
  margin-top: 209px;
  padding-block: 49px 92px;
}
.angebot::before { background-image: url("../images/wave-teal-m-top.svg"); }
.angebot::after  { background-image: url("../images/wave-teal-m-bottom.svg"); }
.angebot__grid { position: relative; }
.angebot__col-text > p {
  max-width: 349px;
  font-size: var(--fs-teaser);
  line-height: var(--lh-label);
}
.angebot__col-text > p:not(:first-of-type) {
  margin-top: 16px;
}
.angebot .angebot__col-text h2 { letter-spacing: 2px; font-weight: var(--fw-heavy); }
.angebot__features {
  --feature-gap: 11px;
  grid-template-columns: minmax(0, 88fr) minmax(0, 165fr) minmax(0, 107fr);
  width: min(360px, calc(100% + 20px));
  margin-top: 15px;
}
.angebot__features .feature__icon {
  height: 65px;
  object-fit: contain;
  object-position: center bottom;
}
.angebot__features .feature:nth-child(1) .feature__icon { width: 65px; }
.angebot__features .feature:nth-child(2) .feature__icon { width: 73px; }
.angebot__features .feature:nth-child(3) .feature__icon { width: 74px; }
.angebot__col-side {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.angebot__speech {
  --speech-size: 216.8px;
  margin-top: 44px;
}
.angebot__speech p { font-size: 30px; line-height: 35px; }
.angebot__speech .speech__tail {
  right: 8.7px;
  bottom: -23.2px;
  width: 55.83px;
  height: 66.7px;
}
.angebot__cta {
  margin-top: 48px;
}
.angebot__startdate {
  left: 50%;
  transform: translateX(-50%);
  bottom: -318px;
  width: min(350px, 100% - (var(--gutter) * 2));
  padding-block: 30px 44px;
}
.angebot__startdate p:nth-of-type(1) { font-size: 18px; letter-spacing: 0.9px; }
.angebot__startdate p:nth-of-type(2) { font-size: 40px; letter-spacing: 4px; margin-top: 11px; }
.angebot__startdate p:nth-of-type(3) { font-size: 35px; letter-spacing: 3.5px; margin-top: 19px; }
.angebot__startdate .startdate__btn    { margin-top: 33px; }
.elterncafe {
  z-index: var(--z-elterncafe);
  color: var(--c-blau);
  --wave-fill: var(--c-hellblau);
  --wave-top-h: 88px;
  --wave-bottom-h: 43px;
  margin-top: 18px;
  padding-block: 257px 46px;
}
.elterncafe::before { background-image: url("../images/wave-lightblue-m-top.svg"); }
.elterncafe::after  { background-image: url("../images/wave-lightblue-m-bottom.svg"); }
.elterncafe__col-text > p:first-of-type {
  font-size: 22px;
  line-height: 30px;
  letter-spacing: 1.1px;
  font-weight: var(--fw-bold);
  text-transform: uppercase;
}
.elterncafe h2 {
  margin-top: -7px;
  font-size: 40px;
  line-height: 80px;
  letter-spacing: 2px;
  font-weight: var(--fw-heavy);
}
.elterncafe__cup {
  display: inline-block;
  width: 63px;
  height: 52px;
  margin-left: 5px;
  vertical-align: middle;
  position: relative;
  top: -7px;
}
.elterncafe__col-text > p:not(:first-of-type) {
  margin-top: 0px;
  margin-bottom: 16px;
  font-size: var(--fs-teaser);
  line-height: var(--lh-teaser);
}
.elterncafe__photo { object-fit: contain; }
.elterncafe__photo--desktop { display: none; }
.elterncafe__photo--mobile {
  width: 216.15px;
  height: 244px;
  margin-top: 47px;
  margin-inline: auto;
}
.elterncafe__features {
  --icon-scale: 0.857143;
  --feature-gap: 21px;
  grid-template-columns: minmax(0, 82fr) minmax(0, 165fr) minmax(0, 91fr);
  width: min(338px, 100%);
  margin-top: 50px;
}
.elterncafe__features .feature:nth-child(1) .feature__icon img { height: calc(62px * var(--icon-scale)); }
.elterncafe__features .feature:nth-child(2) .feature__icon img,
.elterncafe__features .feature:nth-child(3) .feature__icon img { height: calc(70px * var(--icon-scale)); }
.elterncafe__features .feature__label {
  font-size: 16px;
  line-height: 20px;
}
.elterncafe__btn { margin-top: 34px; }
.treffpunkt {
  position: relative;
  padding-block: 80px 73px;
  text-align: center;
}
.treffpunkt .container {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.treffpunkt h2 {
  font-size: 40px;
  line-height: 45px;
  letter-spacing: 2px;
  font-weight: var(--fw-heavy);
  color: var(--c-blau);
}
.treffpunkt__map {
  flex: none;
  width: min(376px, calc(100% + 26px));
  max-width: none;
  height: auto;
}
.treffpunkt p {
  margin-top: -14px;
  font-size: var(--fs-teaser);
  line-height: 24px;
  color: var(--c-anthrazit);
}
.treffpunkt p b {
  display: block;
  font-size: 20px;
  line-height: 30px;
  font-weight: var(--fw-bold);
  color: var(--c-blau);
}
.treffpunkt__strasse,
.treffpunkt__ort { display: block; }
.treffpunkt__trenner { display: none; }
.treffpunkt__komma { display: inline; }
.teaser {
  z-index: var(--z-teaser);
  --wave-fill: var(--c-oliv-blob);
  --wave-top-h: 29px;
  padding-block: 78px 96px;
}
.element--cards .teaser {
  padding-block: 10px;
}
.teaser::before { background-image: url("../images/wave-oliv-m-top.svg"); }
.teaser::after  { content: none; }
.teaser__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: 33px;
}
.card {
  display: flex;
  flex-direction: column;
  min-height: 231px;
  padding: 27px 22px 30px;
  border-radius: var(--radius-teaser);
  background: var(--c-weiss);
  color: var(--c-schwarz);
  /* text-align: center; */
  align-items: flex-start;
}
.card--orange {
  background: var(--c-orange);
  color: var(--c-weiss);
}
.card h3 {
  font-size: var(--fs-h4);
  line-height: var(--lh-h4);
  letter-spacing: 1.2px;
  font-weight: var(--fw-bold);
  color: var(--c-blau);
}
.card--orange h3 { color: var(--c-weiss); }
.card p {
  margin-bottom: 16px;
  font-size: var(--fs-teaser);
  line-height: var(--lh-teaser);
}
.card p:last-of-type { margin-bottom: 30px; }
.card__link {
  /* display: inline-flex; */
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: auto;
  font-size: var(--fs-button);
  line-height: var(--lh-button);
  font-weight: var(--fw-bold);
  color: var(--c-blau);
}
.card__link:hover { text-decoration: underline; }
.card--orange .card__link { color: var(--c-weiss); }

.site-footer {
  position: relative;
  z-index: var(--z-footer);
  color: var(--c-weiss);
  --wave-fill: var(--c-blau-blob);
  --wave-top-h: 27px;
  padding-block: 58px 53px;
  font-size: var(--fs-teaser);
  line-height: 35px;
}
.site-footer::before { background-image: url("../images/wave-footer-m-top.svg"); }
.site-footer::after  { content: none; }
.site-footer a:not(.social):hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.site-footer__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}
.site-footer__logo {
  width: 182px;
  height: auto;
}
.site-footer h2 {
  font-size: var(--fs-h4);
  line-height: var(--lh-h4);
  letter-spacing: 1.2px;
  font-weight: var(--fw-black);
}
.site-footer :is(h1, h2, h3, h4, h5, h6) {
    margin-bottom: 11px;
}
.site-footer__col--kontakt h2 { margin-top: 22px; }
.kontakt { margin-top: 13px; }
.kontakt__item {
  display: flex;
  align-items: center;
  gap: 10px;
}
.kontakt__icon {
  flex: 0 0 22px;
  font-size: 22px;
  text-align: center;
}
.site-footer__col--spenden { margin-top: 20px; }
.site-footer__col--spenden p {
  margin-top: 13px;
  font-size: var(--fs-teaser);
  line-height: 35px;
}
.site-footer__col--recht { margin-top: 17px; }
.social {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 35px;
  height: 35px;
  margin-top: 13px;
  border-radius: var(--radius-btn);
  background: var(--c-weiss);
  color: var(--c-blau);
  font-size: 22px;
  transition: background-color var(--dur) var(--ease);
}
.social:hover { background: #e2eef1; }
.site-footer__copy p {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 39px;
  font-size: 16px;
  line-height: 20px;
}

.element {
  position: relative;
  container-type: inline-size;
  background: var(--el-bg, transparent);
  color: var(--el-fg, var(--c-blau, #046474));
}
.element--darkblue {
  --el-bg:       var(--c-blau-blob, #056574);
  --el-fg:       var(--c-weiss, #ffffff);
  --teaser-bg:   var(--c-weiss, #ffffff);
  --teaser-fg:   var(--c-blau, #046474);
  --teaser-text: var(--c-anthrazit, #1e1e1e);
  --media-bg:    var(--c-weiss, #ffffff);
  --media-fg:    var(--c-schwarz, #000000);
}
.element--lightblue {
  --el-bg:       var(--c-hellblau, #cae8f3);
  --el-fg:       var(--c-blau, #046474);
  --teaser-bg:   var(--c-orange, #d45d2a);
  --teaser-fg:   var(--c-weiss, #ffffff);
  --teaser-text: var(--c-weiss, #ffffff);
  --media-bg:    var(--c-weiss, #ffffff);
  --media-fg:    var(--c-schwarz, #000000);
}
.element--white {
  --el-bg:       var(--c-weiss, #ffffff);
  --el-fg:       var(--c-blau, #046474);
  --teaser-bg:   var(--c-blau, #046474);
  --teaser-fg:   var(--c-weiss, #ffffff);
  --teaser-text: var(--c-weiss, #ffffff);
  --media-bg:    var(--c-hellblau, #cae8f3);
  --media-fg:    var(--c-schwarz, #000000);
}
.element--green {
  --el-bg:       var(--c-oliv, #BDBE2B);
  --el-fg:       var(--c-schwarz, #000000);
  --teaser-bg:   var(--c-hellblau, #cae8f3);
  --teaser-fg:   var(--c-blau, #046474);
  --teaser-text: var(--c-blau, #046474);
  --media-bg:    var(--c-weiss, #ffffff);
  --media-fg:    var(--c-schwarz, #000000);
}
.element--orange {
  --el-bg:       var(--c-orange, #d45d2a);
  --el-fg:       var(--c-weiss, #ffffff);
  --teaser-bg:   var(--c-weiss, #ffffff);
  --teaser-fg:   var(--c-blau, #046474);
  --teaser-text: var(--c-anthrazit, #1e1e1e);
  --media-bg:    var(--c-weiss, #ffffff);
  --media-fg:    var(--c-schwarz, #000000);
}
.element-page__wave-space {
  width: 100%;
  aspect-ratio: 390 / 18.83;
}
.element--wave { z-index: 1; }
.element__body {
  position: relative;
}
.section-padding { padding-block: 69px 52px; }

.frame-space-before-extra-small { padding-top: 20px !important; margin-top: 0 !important; margin-bottom: 0 !important; }
.frame-space-after-extra-small  { padding-bottom: 12px !important; margin-top: 0 !important; margin-bottom: 0 !important; }

.frame-space-before-small { padding-top: 36px !important; margin-top: 0 !important; margin-bottom: 0 !important; }
.frame-space-after-small  { padding-bottom: 24px !important; margin-top: 0 !important; margin-bottom: 0 !important; }

.frame-space-before-medium { padding-top: 56px !important; margin-top: 0 !important; margin-bottom: 0 !important; }
.frame-space-after-medium  { padding-bottom: 36px !important; margin-top: 0 !important; margin-bottom: 0 !important; }

.frame-space-before-standard { padding-top: 69px !important; margin-top: 0 !important; margin-bottom: 0 !important; }
.frame-space-after-standard  { padding-bottom: 52px !important; margin-top: 0 !important; margin-bottom: 0 !important; }

.frame-space-before-large { padding-top: 80px !important; margin-top: 0 !important; margin-bottom: 0 !important; }
.frame-space-after-large  { padding-bottom: 56px !important; margin-top: 0 !important; margin-bottom: 0 !important; }

.frame-space-before-extra-large { padding-top: 108px !important; margin-top: 0 !important; margin-bottom: 0 !important; }
.frame-space-after-extra-large  { padding-bottom: 72px !important; margin-top: 0 !important; margin-bottom: 0 !important; }

.element__wave {
  position: absolute;
  left: 0;
  width: 100%;
  height: auto;
  pointer-events: none;
  display: none;
}
.element__wave path { fill: var(--el-bg, transparent); }
.element__wave--top    { bottom: calc(100% - 1px); }
.element__wave--bottom { top:    calc(100% - 1px); }
.element--wave > .element__wave--mobile { display: block; }
.element__content h2 {
  text-transform: uppercase;
}
.element__text { margin-top: 21px; }
.element__text p + p { margin-top: 26px; }
.element__teaser {
  display: flex;
  flex-direction: column;
  min-height: 233px;
  margin-top: 25px;
  padding: 27px 35px 32px;
  border-radius: var(--radius-teaser, 20px);
  background: var(--teaser-bg, var(--c-weiss, #fff));
  color: var(--teaser-fg, var(--c-blau, #046474));
}
.element__teaser p {
  color: var(--teaser-text, var(--teaser-fg, var(--c-blau, #046474)));
}
.element__teaser-link {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
  font-size: 22px;
  line-height: 30px;
  font-weight: var(--fw-bold, 700);
  color: inherit;
  text-decoration: none;
  text-underline-offset: 3px;
}
.element__teaser-link:hover {
  text-decoration: underline;
  text-decoration-thickness: 1px;
}
.element__teaser-icon { font-size: 22px; line-height: 1; flex: none; }
.element--media .element__grid {
  display: grid;
  row-gap: 45px;
}
.element--media-left .element__media { order: -1; }
.element--media-right.section-padding { padding-block: 60px; }
.element--media-left.section-padding  { padding-block: 100px 64px; }
.element--media .element__content h2 {
  font-size: var(--fs-h3, 30px);
  line-height: var(--lh-h3, 36px);
  letter-spacing: var(--ls-h3, 3px);
  font-weight: var(--fw-bold, 700);
}
.element--media .element__text { margin-top: 0; }
.element__media {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 233px;
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-teaser, 20px);
  background: var(--media-bg, var(--c-weiss, #ffffff));
}
.element__media-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.element__media-label {
  font-size: var(--fs-h2, 40px);
  line-height: var(--lh-h2, 48px);
  letter-spacing: var(--ls-h2, 4px);
  font-weight: var(--fw-black, 900);
  text-transform: uppercase;
  color: var(--media-fg, var(--c-schwarz, #000000));
}
.row-split {
  display: grid;
  row-gap: 40px;
}
.row-split--70-30 { grid-template-columns: minmax(0, 787fr) minmax(0, 373fr); column-gap: 42px; }
.row-split--50-50 { grid-template-columns: minmax(0, 580fr) minmax(0, 580fr); column-gap: 40px; }
.row-split.info-row{align-items: flex-start;}
.info-row > :only-child { grid-column: 1 / -1; }
.element--info.section-padding { padding-block: 73px 100px; }
.info-row h2 { margin-bottom: 20px; }
.info-row + .info-row { margin-top: 56px; }
.info-row__media {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.info-row__media img {
  width: 100%;
  /* max-width: 238px; */
  height: auto;
  border-radius: var(--radius-teaser, 20px);
}
.info-row__text p { font-size: var(--fs-body, 22px); line-height: var(--lh-body, 30px); color: inherit; }
.info-row__text p + p { margin-top: 26px; }
.accordion {
  background: var(--c-weiss, #fff);
  border-radius: var(--radius-teaser, 20px);
  overflow: hidden;
}
.accordion__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 15px 30px;
  background: var(--c-hellblau, #cae8f3);
  cursor: pointer;
  list-style: none;
}
.accordion__item:first-child .accordion__header {
  border-radius: var(--radius-teaser, 20px) var(--radius-teaser, 20px) 0 0;
}
.accordion__item:last-child .accordion__header {
  border-radius: 0 0 var(--radius-teaser, 20px) var(--radius-teaser, 20px);
}
.accordion__item:last-child[open] .accordion__header { border-radius: 0; }
.accordion__item:last-child[open] .accordion__body {
  border-radius: 0 0 var(--radius-teaser, 20px) var(--radius-teaser, 20px);
}
.accordion__header::-webkit-details-marker { display: none; }
.accordion__title {
  font-size: var(--fs-h4, 24px);
  line-height: var(--lh-h4, 30px);
  letter-spacing: var(--ls-h4, 1.2px);
  font-weight: var(--fw-black, 900);
  color: var(--c-blau, #046474);
}
.accordion__icon {
  flex: none;
  font-size: 20px;
  color: var(--c-blau, #046474);
  transition: transform var(--dur, 200ms) var(--ease, ease);
}
.accordion__item[open] .accordion__icon { transform: rotate(180deg); }
.accordion__body { padding: 32px 30px; }
.accordion__body p {
  font-size: var(--fs-teaser, 18px);
  line-height: var(--lh-teaser, 26px);
  color: var(--c-blau, #046474);
}
.accordion__body p + p { margin-top: 20px; }
.info-row aside {
  padding: 24px 32px 28px;
  /*background: var(--c-weiss, #fff);*/
  border-radius: var(--radius-teaser, 20px);
}
.info-row aside > h4 { /*color: var(--c-blau, #046474);*/ }
.downloads__list { margin-top: 4px; }
.downloads__item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.downloads__item + .downloads__item { margin-top: 22px; }
.downloads__icon { flex: none; font-size: 20px; line-height: 26px; color: var(--c-blau, #046474); }
.downloads__link {
  font-size: var(--fs-teaser, 18px);
  line-height: var(--lh-teaser, 26px);
  color: var(--c-blau, #046474);
  text-decoration: none;
  text-underline-offset: 3px;
}
.downloads__link:hover { text-decoration: underline; }
.element--cards.section-padding { padding-block: 100px; }
.cards-grid { display: flex; flex-direction: column; /*row-gap: var(--cards-grid-gap, 40px);*/ }
/* .element--section .cards-grid > .frame + .frame { margin-top: calc(-1 * var(--cards-grid-gap, 40px)); } */
.cards-grid__stack { display: flex; flex-direction: column; row-gap: 20px; }
.angebot-card {
  position: relative;
  display: grid;
  border-radius: var(--radius-teaser, 20px);
  overflow: hidden;
  height: 100%;
}
.angebot-card--split-30-70,
.angebot-card--split-50-50 { min-height: 280px; }
.angebot-card--split-30-70 { grid-template-columns: minmax(0, 373fr) minmax(0, 787fr); }
.angebot-card--split-50-50 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.angebot-card--stacked     { grid-template-columns: minmax(0, 1fr); }
.angebot-card--image-right .angebot-card__media { order: 1; }
.angebot-card--split-30-70.angebot-card--image-right { grid-template-columns: minmax(0, 787fr) minmax(0, 373fr); }
.angebot-card__media {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 220px;
  padding: 20px;
  background: var(--c-anthrazit, #1e1e1e);
}
.angebot-card__media-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.angebot-card__media-label {
  font-size: var(--fs-h2, 40px);
  line-height: var(--lh-h2, 48px);
  letter-spacing: var(--ls-h2, 4px);
  font-weight: var(--fw-black, 900);
  text-transform: uppercase;
  color: var(--c-weiss, #fff);
}
.angebot-card__body {
  display: flex;
  flex-direction: column;
  padding: 32px 40px;
  background: var(--c-weiss, #fff);
  color: var(--c-blau, #046474);
  align-items: flex-start;
}
.angebot-card__body p {
  margin-bottom: 16px;
  font-size: var(--fs-body, 22px);
  line-height: var(--lh-body, 30px);
}
.angebot-card__body p:last-of-type { margin-bottom: 0px; }
.angebot-card__link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: auto;
  font-size: var(--fs-body, 22px);
  line-height: var(--lh-body, 30px);
  font-weight: var(--fw-bold, 700);
  color: var(--c-blau, #046474);
}
.angebot-card__link:hover span { /*text-decoration: underline; text-underline-offset: 4px;*/ }
.angebot-card__icon { font-size: 20px; line-height: 1; flex: none; }





.info-row p,
.info-row__text p,
.element__content h1,
.element__content h2,
.element__content h3,
.element__content h4,
.element__content h5,
.element__content h6,
.element__content p,
.element--media .element__content h1,
.element--media .element__content h2,
.element--media .element__content h3,
.element--media .element__content h4,
.element--media .element__content h5,
.element--media .element__content h6,
.element--media .element__content p {
  text-box-trim: trim-start;
    text-box-edge: cap alphabetic;
    text-box: trim-start cap alphabetic;
}






/* =========================================================
  Responsive - one consolidated block per breakpoint
  ========================================================= */

@media (min-width: 992px) {
  .hero { padding-block: 115px 111px; }
  .hero::after { content: none; }
  .hero__art {
    --art-w: min(1003px, 69.7cqw);
    left: auto;
    bottom: auto;
    right: calc(var(--art-w) * -0.2253);
    top: calc(var(--art-w) * -0.0688);
    width: var(--art-w);
    height: calc(var(--art-w) * 0.5932);
  }
  .hero__blob { transform: none; }
  .hero__art { --blob-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1003'%20height='595'%20viewBox='0%200%201003%20595'%20preserveAspectRatio='none'%3E%3Cpath%20d='M1002.97%20191.248C1002.97%2085.6699%20901.904%204.64315e-06%20777.312%204.64315e-06H200.6C89.7979%20-0.0217059%200%2076.0956%200%20169.994C0%20252.212%2068.953%20320.882%20160.475%20336.536C154.057%20350.734%20150.45%20366.279%20150.45%20382.497C150.45%20452.883%20217.838%20510.003%20300.9%20510.003C331.77%20510.003%20360.597%20502.035%20384.439%20488.488C427.853%20552.23%20508.873%20595%20601.8%20595C740.342%20595%20852.55%20499.908%20852.55%20382.497C852.55%20378.915%20852.391%20375.332%20852.232%20371.728C939.988%20345.567%201003%20274.639%201003%20191.227'%20fill='%23fff'/%3E%3C/svg%3E"); }
  .hero__group { left: 0%; top: 0%; width: 100%; height: 100%; }
  .hero h1 {
    max-width: 629px;
    font-size: min(70px, 20cqi);
    line-height: 80px;
    letter-spacing: 3.5px;
  }
  .angebot { margin-top: -22px; }
}

@media (min-width: 1024px) {
  p {
    font-size: var(--fs-body);
    line-height: var(--lh-body);
  }
  #content ul li,
  #content ol li {
    font-size: var(--fs-body);
    line-height: var(--lh-body);
  }
  #content .accordion__body ul li {
    font-size: var(--fs-teaser, 18px);
    line-height: var(--lh-teaser, 26px);
  }

  .site-header {
    --nav-item-gap: clamp(32px, calc(32px + (100cqw - 1024px) * 0.11779), 81px);
    --nav-lang-gap: clamp(36px, calc(36px + (100cqw - 1024px) * 0.10577), 80px);
  }
  .site-header__bar { min-height: var(--header-h); }
  .site-header__inner {
    min-height: var(--header-h);
    width: min(1380px, 100% - 60px);
    gap: 25px;
  }
  .site-header__logo {
    --container-left: max(30px, calc((100cqw - 1200px) / 2));
    --lang-w: 48px;
    --logo-max: 300px;
    --logo-shift: clamp(0px, calc(var(--container-left) - 23.1px), 96.9px);
    --logo-w: clamp(
      255px,
      calc((min(1380px, 100cqw - 60px)
            - (518.5px + 2 * var(--nav-item-gap) + var(--nav-lang-gap))
            - var(--lang-w) + var(--logo-shift)) / 0.9431),
      var(--logo-max)
    );
    top: 0;
    left: calc(var(--container-left) - var(--logo-shift) - var(--logo-w) * 0.0327);
  }
  .burger { display: none; }
  .nav,
  .nav.is-open {
    --menu-row-pad: 11px;
    --menu-indent: 16px;
    --menu-lvl2-pad-top: 0px;
    --menu-branch-pad-top: 0px;
    --menu-branch-pad-bottom: 0px;
    position: static;
    align-self: stretch;
    width: auto;
    max-width: none;
    max-height: none;
    overflow: visible;
    background: none;
    border-radius: 0;
    box-shadow: none;
  }
  .menu--lvl1 {
    flex-direction: row;
    align-items: flex-end;
    height: 100%;
    padding: 0;
  }
  .menu--lvl1 > .menu__item { position: relative; display: flex; }
  .menu--lvl1 > .menu__item + .menu__item { margin-left: 25px; }
  .menu--lvl1 > .menu__item > .menu__row {
    position: relative;
    isolation: isolate;
    height: auto;
    padding: 9px 0 25px;
    border-radius: 0;
    background: none;
    color: var(--c-weiss);
    gap: 10px;
  }
  .menu--lvl1 > .menu__item > .menu__row:hover { color: var(--c-weiss); }
  .menu--lvl1 > .menu__item > .menu__row > .menu__toggle {
    order: 0;
    align-self: center;
    margin-top: 0;
    transition: margin-top var(--dur) var(--ease);
  }
  .menu--lvl1 > .menu__item--has-sub:hover > .menu__row .menu__toggle { margin-top: 4px; }
  .menu--lvl1 > .menu__item.is-open > .menu__row .menu__caret { transform: none; }
  .menu--lvl1 > .menu__item--has-sub > .menu__row .menu__caret { transform: rotate(0deg); transition: transform var(--dur) var(--ease); }
  .menu--lvl1 > .menu__item--has-sub:hover > .menu__row .menu__caret { transform: rotate(180deg); }
  

  .menu--lvl1 > .menu__item > .menu__row::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0 -43px 0 -22px;
    border-radius: var(--radius-flyout) var(--radius-flyout) 0 0;
    background: var(--c-orange-dunkel);
    opacity: 0;
    transition: opacity var(--dur) var(--ease);
    display: none;
  }
  .menu--lvl1 > .menu__item:hover > .menu__row::before,
  .menu--lvl1 > .menu__item:focus-within > .menu__row::before,
  .menu--lvl1 > .menu__item.is-open > .menu__row::before { opacity: 1; }
  .menu--lvl1 > .menu__item > .submenu {
    display: block;
    position: absolute;
    z-index: 1;
    top: 100%;
    left: -22px;
    right: -43px;
    padding: 21px 11px 17px 12px;
    background: var(--c-weiss);
    border-radius: 0 0 var(--radius-flyout) var(--radius-flyout);
    box-shadow: var(--flyout-shadow);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity var(--dur) var(--ease),
                transform var(--dur) var(--ease),
                visibility 0s linear var(--dur);
  }
  .menu--lvl1 > .menu__item > .submenu > .menu { overflow: visible; }
  .menu--lvl1 > .menu__item--has-sub > .menu__row::before,
  .menu--lvl1 > .menu__item--has-sub > .submenu { min-width: var(--flyout-w); }
  .menu--lvl1 > .menu__item:hover > .submenu,
  .menu--lvl1 > .menu__item:focus-within > .submenu,
  .menu--lvl1 > .menu__item.is-open > .submenu {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition-delay: 0s;
  }
  .menu__row:hover { /*color: var(--c-orange);*/ }
  .menu--lvl1 .menu__link:hover { text-decoration: underline; }
  .menu--lvl2 > .menu__item--has-sub:hover,
  .menu--lvl2 > .menu__item--has-sub:focus-within {
    /*background: var(--c-hellblau);
    margin-bottom: 14px;*/
  }
  .menu--lvl2 > .menu__item--has-sub:hover > .menu__row,
  .menu--lvl2 > .menu__item--has-sub:focus-within > .menu__row { }
  .menu--lvl2 > .menu__item--has-sub:hover > .submenu,
  .menu--lvl2 > .menu__item--has-sub:focus-within > .submenu { grid-template-rows: 1fr; }
  .menu--lvl2 > .menu__item--has-sub:hover > .menu__row .menu__caret,
  .menu--lvl2 > .menu__item--has-sub:focus-within > .menu__row .menu__caret {
    transform: rotate(180deg);
  }
  .menu--lvl2 > .menu__item.is-open > .menu__row > .menu__close { display: none; }
  .menu--lvl2:not(.no--lvl3) > .menu__item:not(.menu__item--has-sub) > .menu__row { padding-left: 40px; }
  .menu--lvl2 > .menu__item > .menu__row > .menu__link { color: var(--c-anthrazit); }
  .menu--lvl2 > .menu__item > .menu__row > .menu__toggle { color: var(--c-orange); }
  .menu--lvl3 > .menu__item > .menu__row > .menu__link { color: var(--c-anthrazit); }
  .angebot {
    --wave-top-h: 50px;
    --wave-bottom-h: 55px;
    margin-top: -22px;
    padding-block: 71px 61px;
  }
  .angebot::before { background-image: url("../images/wave-teal-top.svg"); }
  .angebot::after  { background-image: url("../images/wave-teal-bottom.svg"); }
  .angebot__grid {
    display: flex;
    align-items: flex-start;
    column-gap: min(249px, calc(100% - 816px));
  }
  .angebot__col-text { flex: 543 1 0%; min-width: 0; }
  .angebot__col-side {
    flex: 408 1 0%;
    min-width: 0;
    align-items: flex-start;
  }
  .angebot__col-text > p {
    max-width: none;
    font-size: var(--fs-body);
    line-height: var(--lh-body);
  }
  .angebot__col-text > p:not(:first-of-type) {
    margin-top: 19px;
  }
  .angebot__features {
    --feature-gap: 13px;
    grid-template-columns:
      minmax(min-content, 102fr)
      minmax(min-content, 259fr)
      minmax(min-content, 105fr);
    width: min(466px, 100%);
    margin-top: 31px;
  }
  .angebot__features .feature__icon { height: 86px; }
  .angebot__features .feature:nth-child(1) .feature__icon { width: 86px; transform: translateX(-8px); }
  .angebot__features .feature:nth-child(2) .feature__icon { width: 90px; transform: translateX(-2.5px); }
  .angebot__features .feature:nth-child(3) .feature__icon { width: 90px; transform: translateX(-3.5px); }
  .angebot__speech {
    --speech-size: 299.02px;
    margin-top: 3px;
  }
  .angebot__speech p { font-size: 42px; line-height: 45px; }
  .angebot__speech .speech__tail {
    right: 12px;
    bottom: -32px;
    width: 77px;
    height: 92px;
  }
  .angebot__cta {
    margin-top: 64px;
    margin-left: min(62px, calc(100% - 341px));
  }
  .elterncafe {
    --wave-top-h: 62px;
    --wave-bottom-h: 68px;
    margin-top: -17px;
    padding-block: 257px 20px;
  }
  .elterncafe::before { background-image: url("../images/wave-lightblue-top.svg"); }
  .elterncafe::after  { background-image: url("../images/wave-lightblue-bottom.svg"); }
  .elterncafe__grid {
    display: flex;
    align-items: flex-start;
    column-gap: min(247px, calc(100% - 914px));
  }
  .elterncafe__col-text { flex: 532 1 0%; min-width: 0; }
  .elterncafe__col-text > p:first-of-type {
    font-size: var(--fs-h3);
    line-height: var(--lh-h3);
    letter-spacing: var(--ls-h3);
  }
  .elterncafe h2 {
    margin-top: 5px;
    font-size: var(--fs-h1);
    line-height: var(--lh-h1);
    letter-spacing: var(--ls-h1);
  }
  .elterncafe__cup {
    width: 80px;
    height: 66px;
    top: -10px;
  }
  .elterncafe__col-text > p:not(:first-of-type) {
    margin-top: 19px;
    font-size: var(--fs-body);
    line-height: var(--lh-body);
  }
  .elterncafe__photo--mobile { display: none; }
  .elterncafe__photo--desktop {
    display: block;
    flex: 421 1 0%;
    min-width: 0;
    width: 317px;
    height: 358px;
    margin-top: 8px;
  }
  .elterncafe__features {
    --icon-scale: 1;
    --feature-gap: 16px;
    grid-template-columns:
      minmax(min-content, 96fr)
      minmax(min-content, 323fr)
      minmax(min-content, 91fr);
    width: min(510px, 100%);
    margin-top: 43px;
  }
  .elterncafe__features .feature__label {
    font-size: var(--fs-label);
    line-height: var(--lh-label);
  }
  .elterncafe__btn {
    margin-top: 35px;
  }
  .treffpunkt {
    padding-block: 87px 81px;
  }
  .treffpunkt h2 {
    font-size: var(--fs-h1);
    line-height: var(--lh-h1);
    letter-spacing: var(--ls-h1);
  }
  .treffpunkt__map { width: 372px; }
  .treffpunkt p {
    margin-top: 2px;
    font-size: var(--fs-body);
    line-height: var(--lh-body);
  }
  .treffpunkt p b {
    font-size: var(--fs-h4);
    line-height: var(--lh-body);
  }
  .treffpunkt__strasse,
  .treffpunkt__ort { display: inline; }
  .treffpunkt__trenner { display: inline; }
  .treffpunkt__komma { display: none; }
  .teaser {
    --wave-top-h: 36px;
    padding-block: 64px 102px;
  }
  .element--cards .teaser {
    padding-block: 0;
  }
  .teaser::before { background-image: url("../images/wave-oliv-top.svg"); }
  .teaser__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 41px;
    row-gap: 0;
  }
  .card {
    min-height: 233px;
    padding: 27px 34px 32px;
  }
  .card p { text-align: left; }
  #content .card ul li, #content .card ol li {
    font-size: var(--fs-teaser, 18px);
    line-height: var(--lh-teaser, 26px);
  }
  .site-footer {
    --wave-top-h: 34px;
    padding-block: 42px 31px;
  }
  .site-footer::before { background-image: url("../images/wave-footer-top.svg"); }
  .site-footer__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 41px;
    align-items: start;
  }
  .site-footer__col--spenden { margin-top: 20px; }
  .site-footer__col--recht   { margin-top: 65px; }
  .site-footer__col--spenden p { margin-top: 11px; }
  .site-footer__col--recht .social { margin-top: 19px; }
  .kontakt__item { gap: 10px; }
  .site-footer__copy p {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 29px;
    margin-top: 24px;
    font-size: var(--fs-teaser);
    line-height: 42px;
  }

  .frame-space-before-extra-small { padding-top: 32px !important; margin-top: 0 !important; margin-bottom: 0 !important; }
  .frame-space-after-extra-small  { padding-bottom: 20px !important; margin-top: 0 !important; margin-bottom: 0 !important; }

  .frame-space-before-small { padding-top: 56px !important; margin-top: 0 !important; margin-bottom: 0 !important; }
  .frame-space-after-small  { padding-bottom: 36px !important; margin-top: 0 !important; margin-bottom: 0 !important; }

  .frame-space-before-medium { padding-top: 80px !important; margin-top: 0 !important; margin-bottom: 0 !important; }
  .frame-space-after-medium  { padding-bottom: 56px !important; margin-top: 0 !important; margin-bottom: 0 !important; }

  .frame-space-before-standard { padding-top: 100px !important; margin-top: 0 !important; margin-bottom: 0 !important; }
  .frame-space-after-standard  { padding-bottom: 66px !important; margin-top: 0 !important; margin-bottom: 0 !important; }

  .frame-space-before-large { padding-top: 120px !important; margin-top: 0 !important; margin-bottom: 0 !important; }
  .frame-space-after-large  { padding-bottom: 80px !important; margin-top: 0 !important; margin-bottom: 0 !important; }

  .frame-space-before-extra-large { padding-top: 160px !important; margin-top: 0 !important; margin-bottom: 0 !important; }
  .frame-space-after-extra-large  { padding-bottom: 104px !important; margin-top: 0 !important; margin-bottom: 0 !important; }

  .element__text p + p { margin-top: 30px; }
  .element__teaser p {
    font-size: var(--fs-teaser, 18px);
    line-height: var(--lh-teaser, 26px);
  }
  .element__teaser-link { font-size: 20px; }
  .element-page__wave-space { aspect-ratio: 1440 / 42.99; }
  .section-padding { padding-block: 100px 66px; }
  .element--wave > .element__wave--mobile  { display: none; }
  .element--wave > .element__wave--desktop { display: block; }
  .element__grid {
    display: grid;
    grid-template-columns: minmax(0, 785fr) minmax(0, 371fr);
    column-gap: 42px;
    align-items: start;
  }
  .element__text { margin-top: 8px; }
  .element__teaser {
    margin-top: 0;
    padding: 27px 39px 32px;
  }
  .element--media .element__grid { column-gap: 40px; }
  .element--media-50-50 .element__grid {
    grid-template-columns: minmax(0, 580fr) minmax(0, 580fr);
  }
  .element--media-30-70.element--media-left .element__grid {
    grid-template-columns: minmax(0, 373fr) minmax(0, 787fr);
  }
  .element--media-30-70.element--media-right .element__grid {
    grid-template-columns: minmax(0, 787fr) minmax(0, 373fr);
  }
  .element__grid > :only-child { grid-column: 1 / -1; }
  .element--media.section-padding { padding-block: 100px 66px; }
  .accordion__header { padding: 15px 40px; }
  .accordion__body   { padding: 32px 40px; }
  /* .cards-grid { --cards-grid-gap: 100px; } */
  .angebot-card--stacked { grid-template-rows: 280px minmax(0, 1fr); }

  .angebot .angebot__col-text h2 { font-size: var(--fs-h1); line-height: var(--lh-h1); letter-spacing: var(--ls-h1); }
}

@media (min-width: 1200px) {
  .angebot__startdate {
    left: calc(50% - 201px);
    transform: none;
    bottom: -236px;
    width: 415px;
    padding-block: 52px 56px;
  }
  .angebot__startdate p:nth-of-type(1) { font-size: 22px; letter-spacing: 1.1px; }
  .angebot__startdate p:nth-of-type(2) { font-size: 50px; letter-spacing: 5px; margin-top: 20px; }
  .angebot__startdate p:nth-of-type(3) { font-size: 40px; letter-spacing: 4px; margin-top: 26px; }
  .angebot__startdate .startdate__btn  { margin-top: 36px; }
  .elterncafe { padding-top: 171px; }
  .angebot .angebot__grid { padding-bottom: 90px; }
  .menu--lvl1 > .menu__item + .menu__item { margin-left: 40px; }
  .site-header__inner { gap: 40px; }
}

@media (min-width: 1240px) {
  .lang {
    min-width: 254px;
    width: auto;
    min-height: 45px;
    padding: 0 18px 0 22px;
    gap: 13px;
    justify-content: flex-start;
  }
  .lang__label { display: inline; }
  .lang__caret { display: inline-block; margin-left: auto; }
  .site-header__logo {
    --lang-w: 254px;
    --logo-max: 401px;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .angebot__col-text > p { max-width: none; }
  .angebot__features,
  .elterncafe__features { margin-inline: auto; }
  .elterncafe__features { width: 338px; }
}

@media (min-width: 768px) and (max-width: 991px) {
  .hero h1 {
    max-width: none;
    font-size: 60px;
    line-height: 62px;
    letter-spacing: 3px;
  }
}
@media (min-width: 1024px) and (max-width: 1439px) {
  .menu--lvl1 > .menu__item > .menu__row::before { inset: 0 -20px; min-width: inherit; }
}
@media (min-width: 1024px) and (max-width: 1140px) {
  .menu--lvl1 > .menu__item > .menu__row::before,
  .menu--lvl1 > .menu__item > .submenu {
    left: -15px;
    right: -10px;
  }
}



@media (max-width: 1023px) {
  .site-header__inner { gap: 20px; }
  .angebot__features { margin-top: 35px; }
  .element__content h2 {
    font-size: 30px;
    line-height: 36px;
    letter-spacing: 3px;
    font-weight: var(--fw-bold, 700);
  }
  .info-row__media { order: -1; }
  .row-split { grid-template-columns: minmax(0, 1fr); }
  .nav { max-width: 100%; }

  .menu--lvl1 .menu__item.menu__item--has-sub.is-open .menu.menu--lvl2 {
    /*background: var(--c-hellblau);
    border-radius: var(--radius-card);
    padding-top: var(--menu-branch-pad-top);
    padding-bottom: var(--menu-branch-pad-bottom);
    margin-bottom: 14px;*/
  }
  .menu--lvl1 .menu__item .menu.menu--lvl2 > :not(.menu__item--has-sub).menu__item .menu__row { padding-left: 70px;}
  .menu__close {
    display: none;
    position: absolute;
    top: 6px;
    right: 16px;
    height: 35px;
    font-size: var(--fs-teaser);
  }
  .menu__row:hover { /*color: var(--c-orange);*/ }
  .menu--lvl1 .menu__link:hover { text-decoration: underline; }
  .menu--lvl2.has-open-branch {
    /*background: var(--c-hellblau);
    border-radius: var(--radius-card);
    padding-top: var(--menu-branch-pad-top);
    padding-bottom: var(--menu-branch-pad-bottom);
    margin-bottom: 14px;*/
  }
  .menu__item.is-open > .submenu { grid-template-rows: 1fr; }
  .menu__item.is-open > .menu__row .menu__caret { transform: rotate(180deg); }
  .menu__row { padding: 7px 38px; }
  .menu--lvl2 { margin-top: 0; transition: margin-top 0.3s ease-in-out; }
  .menu--lvl1 .menu__item.menu__item--has-sub.is-open .menu--lvl2 { margin-top: var(--menu-lvl2-pad-top); margin-bottom: var(--menu-lvl2-pad-top); }
  .menu--lvl1 > .menu__item:not(.menu__item--has-sub) > .menu__row { padding-left: 70px;}
  .menu--lvl1 > .menu__item > .menu__row > .menu__link { color: var(--c-schwarz); }
  .menu--lvl1 > .menu__item:not(:last-child) > .menu__row { border-bottom: 1px solid rgba(0,0,0,0.25);}
  .menu--lvl2 > .menu__item > .menu__row > .menu__link { color: var(--c-schwarz); }
  .menu__row { border-radius: 0; }
  .menu--lvl2 > .menu__item > .menu__row { gap: 10px; }
  .menu--lvl2 > .menu__item { border-radius: 0; }
  .menu--lvl3 > .menu__item > .menu__row { padding: 7px 41px; }
  .menu--lvl3 > .menu__item > .menu__row > .menu__link { color: var(--c-schwarz); }
  .menu--lvl1 > .menu__item { border-bottom: 1px solid transparent; transition: border-bottom-color 0.3s ease; }
  .menu--lvl1 > .menu__item.is-open { border-bottom-color: rgba(0, 0, 0, 0.25); }
}

@media (max-width: 767px) {
  .hero h1,
  .angebot__col-text > p { max-width: 100%; }
  .info-row__text p { font-size: var(--fs-teaser, 18px); line-height: var(--lh-teaser, 26px); }
  .angebot-card--split-30-70,
  .angebot-card--split-30-70.angebot-card--image-right,
  .angebot-card--split-50-50 { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .angebot-card__media,
  .angebot-card--image-right .angebot-card__media { order: -1; height: 280px; min-height: 0; }
  .angebot__startdate { width: min(350px, 100% - (var(--gutter) * 0)); }

  h1 {
    font-size: calc(var(--fs-h1) - 20px);
    line-height: calc(var(--lh-h1) - 35px);
    letter-spacing: 2px;
  }
  h2 {
    font-size: calc(var(--fs-h2) - 10px);
    line-height: calc(var(--lh-h2) - 12px);
    letter-spacing: 3px;
  }
  .element--cards.section-padding { padding-block: 60px; }
}

@media (max-width: 389px) {
  .angebot__features,
  .elterncafe__features {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    column-gap: 6px;
  }
  .angebot__features .feature__label,
  .elterncafe__features .feature__label {
    font-size: 14px;
    line-height: 18px;
    hyphens: auto;
    overflow-wrap: break-word;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}





