.ssm-header-nav[data-astro-cid-yhyhhmuk] {
  position: fixed;
  top: 28px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 100;
}

.pill[data-astro-cid-yhyhhmuk] {
  --nav-pad: 0px 16px;
  position: relative;
  display: flex;
  align-items: center;
  gap: 3px;
  padding: 13px 26px;
  transition: padding .22s cubic-bezier(.22, 1, .36, 1);
  border-radius: 9999px;
  isolation: isolate;
  transform: translateZ(0);
}

.pill-body[data-astro-cid-yhyhhmuk] {
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: 9999px;
  transform-origin: center;
  background-image: var(--pill-bg, linear-gradient(215deg, #2a2d2f 0%, #1c1f21 55%, #17191b 100%));
  box-shadow: var(--pill-shadow, 0 18px 44px -24px #000000d9,
      inset 0 -13px 20px -14px
        rgba(var(--glow-rgb, 0, 255, 211), var(--glow-a, .75)),
      0 7px 22px -11px
        rgba(var(--glow-rgb, 0, 255, 211), calc(var(--glow-a, .75) * .3)));
}

.ssm-header-nav[data-astro-cid-yhyhhmuk][data-pille="aus"] .pill-body[data-astro-cid-yhyhhmuk] {
  opacity: 0;
  transform: scale(.62, .4);
}

.ssm-header-nav[data-astro-cid-yhyhhmuk][data-scheme="hell"] .pill[data-astro-cid-yhyhhmuk] {
  --pill-bg: linear-gradient(215deg, #34383a, #1c1e20);
  --pill-shadow: 0 20px 44px -22px #16181a73,
      inset 0 -13px 20px -14px
        rgba(var(--glow-rgb, 0, 255, 211), calc(var(--glow-a, .75) * .55)),
      0 7px 22px -11px
        rgba(var(--glow-rgb, 0, 255, 211), calc(var(--glow-a, .75) * .22));
  --shim-1: #fffffff2;
  --shim-2: #fffc;
}

.pill[data-astro-cid-yhyhhmuk]:hover {
  --nav-pad: 0px 18px;
  padding: 15px 36px;
}

.pill-highlight[data-astro-cid-yhyhhmuk] {
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  pointer-events: none;
  opacity: 0;
  transition: opacity .2s cubic-bezier(.22, 1, .36, 1);
  background: radial-gradient(200px at 0 0, #ffffff29, #ffffff0c 45%, #fff0 75%);
}

.pill-grain[data-astro-cid-yhyhhmuk] {
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  overflow: hidden;
  pointer-events: none;
  opacity: calc(var(--grain-a, .11) * .8);
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27120%27 height=%27120%27%3E%3Cfilter id=%27g%27%3E%3CfeTurbulence type=%27fractalNoise%27 baseFrequency=%270.95%27 numOctaves=%274%27/%3E%3C/filter%3E%3Crect width=%27120%27 height=%27120%27 filter=%27url(%23g)%27/%3E%3C/svg%3E");
}

.pill-shim[data-astro-cid-yhyhhmuk] {
  position: absolute;
  inset: -1px;
  border-radius: 9999px;
  pointer-events: none;
  filter: blur(1.1px);
}

.pill-shim-1[data-astro-cid-yhyhhmuk] {
  border: 1px solid var(--shim-1, rgba(255, 255, 255, var(--shimmer-a, .75)));
  mask-image: linear-gradient(45deg, #0000 38%, #000 92%);
  -webkit-mask-image: linear-gradient(45deg, #0000 38%, #000 92%);
}

.pill-shim-2[data-astro-cid-yhyhhmuk] {
  border: 1px solid
      var(--shim-2, rgba(255, 255, 255, calc(var(--shimmer-a, .75) * .7)));
  mask-image: linear-gradient(225deg, #0000 44%, #000 94%);
  -webkit-mask-image: linear-gradient(225deg, #0000 44%, #000 94%);
}

.nav-item[data-astro-cid-yhyhhmuk] {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #ffffffb8;
  padding: var(--nav-pad, 0px 16px);
  border-radius: 9999px;
  backface-visibility: hidden;
  cursor: pointer;
  transition: transform .2s cubic-bezier(.22, 1, .36, 1), color .2s cubic-bezier(.22, 1, .36, 1), padding .22s cubic-bezier(.22, 1, .36, 1);
}

.nav-item[data-astro-cid-yhyhhmuk]:hover {
  color: #fff;
  transform: scale(1.02);
}

.nav-item[data-astro-cid-yhyhhmuk].ist-aktiv {
  color: #fff;
}

.label-swap[data-astro-cid-yhyhhmuk] {
  display: grid;
  align-items: center;
  justify-items: center;
}

.label-swap[data-astro-cid-yhyhhmuk] > span[data-astro-cid-yhyhhmuk] {
  grid-area: 1 / 1;
  display: inline-block;
  line-height: 1.34;
  padding-bottom: .14em;
  padding-right: .14em;
  white-space: nowrap;
  transition: opacity .32s cubic-bezier(.32, 0, .18, 1);
}

.lbl-sans[data-astro-cid-yhyhhmuk] {
  font-family: Plus Jakarta Sans, sans-serif;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: -.035em;
  opacity: 1;
}

.lbl-serif[data-astro-cid-yhyhhmuk] {
  font-family: EB Garamond, Libre Baskerville, serif;
  font-style: italic;
  font-size: 18.5px;
  font-weight: 500;
  letter-spacing: -.045em;
  opacity: 0;
}

.nav-item[data-astro-cid-yhyhhmuk]:hover .lbl-sans[data-astro-cid-yhyhhmuk], .dd-item[data-astro-cid-yhyhhmuk]:hover .lbl-sans[data-astro-cid-yhyhhmuk] {
  opacity: 0;
}

.nav-item[data-astro-cid-yhyhhmuk]:hover .lbl-serif[data-astro-cid-yhyhhmuk], .dd-item[data-astro-cid-yhyhhmuk]:hover .lbl-serif[data-astro-cid-yhyhhmuk] {
  opacity: 1;
}

.chevron[data-astro-cid-yhyhhmuk] {
  display: block;
  width: 5px;
  height: 5px;
  border-right: 1.5px solid #fff9;
  border-bottom: 1.5px solid #fff9;
  transform: rotate(45deg) translateY(-1px);
}

.nav-drop[data-astro-cid-yhyhhmuk] {
  position: relative;
}

.dropdown[data-astro-cid-yhyhhmuk] {
  position: absolute;
  top: calc(100% + 20px);
  left: 0;
  z-index: 10;
  width: 280px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px;
  border-radius: 20px;
  isolation: isolate;
  transform: translateZ(0);
  background-image: var(--dd-bg, linear-gradient(215deg, #2a2d2f 0%, #17191b 100%));
  box-shadow: var(--dd-shadow, 0 22px 50px -26px #000000e6,
      inset 0 -14px 22px -16px
        rgba(var(--glow-rgb, 0, 255, 211), calc(var(--glow-a, .75) * .9)));
  opacity: 0;
  visibility: hidden;
  transform: translateZ(0) translateY(-6px);
  transition: opacity .2s cubic-bezier(.22, 1, .36, 1), transform .2s cubic-bezier(.22, 1, .36, 1), visibility 0s linear .2s;
}

.nav-drop[data-astro-cid-yhyhhmuk].open .dropdown[data-astro-cid-yhyhhmuk] {
  opacity: 1;
  visibility: visible;
  transform: translateZ(0) translateY(0);
  transition: opacity .2s cubic-bezier(.22, 1, .36, 1), transform .2s cubic-bezier(.22, 1, .36, 1);
}

.dd-highlight[data-astro-cid-yhyhhmuk] {
  position: absolute;
  inset: 0;
  border-radius: 20px;
  pointer-events: none;
  opacity: 0;
  transition: opacity .2s cubic-bezier(.22, 1, .36, 1);
  background: radial-gradient(200px at 0 0, #ffffff29, #ffffff0c 45%, #fff0 75%);
}

.dd-grain[data-astro-cid-yhyhhmuk] {
  position: absolute;
  inset: 0;
  border-radius: 20px;
  overflow: hidden;
  pointer-events: none;
  opacity: calc(var(--grain-a, .11) * .8);
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27120%27 height=%27120%27%3E%3Cfilter id=%27g%27%3E%3CfeTurbulence type=%27fractalNoise%27 baseFrequency=%270.95%27 numOctaves=%274%27/%3E%3C/filter%3E%3Crect width=%27120%27 height=%27120%27 filter=%27url(%23g)%27/%3E%3C/svg%3E");
}

.dd-shim[data-astro-cid-yhyhhmuk] {
  position: absolute;
  inset: -1px;
  border-radius: 21px;
  pointer-events: none;
  filter: blur(1.1px);
}

.dd-shim-1[data-astro-cid-yhyhhmuk] {
  border: 1px solid
      var(--dd-shim-1, rgba(255, 255, 255, calc(var(--shimmer-a, .75) * .93)));
  mask-image: linear-gradient(45deg, #0000 38%, #000 92%);
  -webkit-mask-image: linear-gradient(45deg, #0000 38%, #000 92%);
}

.dd-shim-2[data-astro-cid-yhyhhmuk] {
  border: 1px solid
      var(--dd-shim-2, rgba(255, 255, 255, calc(var(--shimmer-a, .75) * .66)));
  mask-image: linear-gradient(225deg, #0000 44%, #000 94%);
  -webkit-mask-image: linear-gradient(225deg, #0000 44%, #000 94%);
}

.ssm-header-nav[data-astro-cid-yhyhhmuk][data-scheme="hell"] .dropdown[data-astro-cid-yhyhhmuk] {
  --dd-bg: linear-gradient(215deg, #34383a, #1c1e20);
  --dd-shadow: 0 24px 52px -24px #16181a80,
      inset 0 -14px 22px -16px
        rgba(var(--glow-rgb, 0, 255, 211), calc(var(--glow-a, .75) * .5));
  --dd-shim-1: #ffffffe6;
  --dd-shim-2: #ffffffb3;
}

.dd-item[data-astro-cid-yhyhhmuk] {
  position: relative;
  display: block;
  color: #ffffffc7;
  padding: 10px 14px;
  border-radius: 12px;
  transform-origin: 0;
  backface-visibility: hidden;
  transition: color .2s cubic-bezier(.22, 1, .36, 1);
}

.dd-item[data-astro-cid-yhyhhmuk]:hover {
  color: #fff;
}

@media (width <= 1023px), (width <= 1199px) and (hover: none), (width <= 1199px) and (pointer: coarse) {
  .ssm-header-nav[data-astro-cid-yhyhhmuk] {
    display: none;
  }
}
a[data-astro-cid-f7espo7c] {
  transition: opacity .24s cubic-bezier(.22, 1, .36, 1), transform .22s cubic-bezier(.22, 1, .36, 1), filter .22s cubic-bezier(.22, 1, .36, 1);
}
.ssm-header-begleiter[data-astro-cid-vcsmr6yi] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding: 28px clamp(28px, 6vw, 80px) 0;
  pointer-events: none;
  --logo-h: 40px;
  opacity: 1;
  transform: translateY(0);
  transition: opacity .5s cubic-bezier(.22, 1, .36, 1), transform .5s cubic-bezier(.22, 1, .36, 1);
}

.ssm-header-begleiter[data-astro-cid-vcsmr6yi][hidden] {
  opacity: 0;
  transform: translateY(-20px);
  pointer-events: none;
  display: flex !important;
}

.logo-box[data-astro-cid-vcsmr6yi], .social-knoepfe[data-astro-cid-vcsmr6yi] {
  pointer-events: auto;
}

.social-knoepfe[data-astro-cid-vcsmr6yi] {
  display: flex;
  align-items: center;
  gap: 10px;
}

.glas-kreis[data-astro-cid-vcsmr6yi] {
  flex: none;
  display: flex;
  align-items: center;
  width: 47px;
  height: 47px;
  border-radius: 9999px;
  border: 1px solid #ffffff1c;
  color: #ffffffdb;
  background-image: linear-gradient(215deg, #2a2d2f 0%, #1c1f21 60%, #17191b 100%);
  box-shadow: 0 18px 40px -20px #000000e6,
      inset 0 -10px 16px -12px rgba(var(--glow-rgb, 0, 255, 211), .55);
  overflow: hidden;
  white-space: nowrap;
  transition: width .4s cubic-bezier(.22, 1, .36, 1), border-color .24s cubic-bezier(.22, 1, .36, 1), color .24s cubic-bezier(.22, 1, .36, 1), transform .24s cubic-bezier(.22, 1, .36, 1), padding .4s cubic-bezier(.22, 1, .36, 1);
}

.icon-wrap[data-astro-cid-vcsmr6yi] {
  flex: none;
  width: 45px;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.social-text[data-astro-cid-vcsmr6yi] {
  opacity: 0;
  transform: translateX(8px);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -.01em;
  margin-right: 16px;
  transition: opacity .22s, transform .3s cubic-bezier(.22, 1, .36, 1);
}

.glas-kreis[data-astro-cid-vcsmr6yi][aria-label="Instagram"]:hover {
  width: 144px;
  border-color: #ffffff40;
  color: #fff;
  transform: scale(1.03);
}

.glas-kreis[data-astro-cid-vcsmr6yi][aria-label="LinkedIn"]:hover {
  width: 136px;
  border-color: #ffffff40;
  color: #fff;
  transform: scale(1.03);
}

.glas-kreis[data-astro-cid-vcsmr6yi]:hover .social-text[data-astro-cid-vcsmr6yi] {
  opacity: 1;
  transform: translateX(0);
  transition: opacity .25s 80ms, transform .3s cubic-bezier(.22, 1, .36, 1) 80ms;
}

.ssm-header-begleiter[data-astro-cid-vcsmr6yi][data-scheme="hell"] .glas-kreis[data-astro-cid-vcsmr6yi] {
  background-image: linear-gradient(215deg, #34383a, #1c1e20);
}

.ssm-header-begleiter .logo-link {
  display: block;
  flex: none;
  height: 100%;
  line-height: 0;
  transform-origin: 0;
  backface-visibility: hidden;
  transition: transform .22s cubic-bezier(.22, 1, .36, 1), filter .22s cubic-bezier(.22, 1, .36, 1), opacity .26s cubic-bezier(.22, 1, .36, 1);
}

.ssm-header-begleiter .logo-link:hover {
  transform: scale(1.06);
  filter: drop-shadow(0 0 10px rgba(var(--glow-rgb, 0, 255, 211), .35));
}

.logo-box[data-astro-cid-vcsmr6yi] {
  position: relative;
  height: var(--logo-h, 40px);
  transition: height .22s cubic-bezier(.22, 1, .36, 1);
}

.logo-schicht[data-astro-cid-vcsmr6yi] {
  position: absolute;
  inset: 0;
  transition: opacity .26s cubic-bezier(.22, 1, .36, 1);
}

.logo-schicht-hell[data-astro-cid-vcsmr6yi] {
  opacity: 0;
  pointer-events: none;
}

.ssm-header-begleiter[data-astro-cid-vcsmr6yi][data-scheme="hell"] .logo-schicht-dunkel[data-astro-cid-vcsmr6yi] {
  opacity: 0;
  pointer-events: none;
}

.ssm-header-begleiter[data-astro-cid-vcsmr6yi][data-scheme="hell"] .logo-schicht-hell[data-astro-cid-vcsmr6yi] {
  opacity: 1;
  pointer-events: auto;
}

@media (width <= 1759px) {
  :root[data-leistung="sparsam"] .logo-box[data-astro-cid-vcsmr6yi] {
    isolation: isolate;
  }

  :root[data-leistung="sparsam"] .logo-box[data-astro-cid-vcsmr6yi]:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -18px;
    top: -8px;
    height: calc(100% + 16px);
    width: calc(var(--logo-h, 40px) * 2.136 + 36px);
    border-radius: 9999px;
    border: 1px solid #ffffff1c;
    box-sizing: border-box;
    background-image: linear-gradient(215deg, #2a2d2f 0%, #1c1f21 60%, #17191b 100%);
    box-shadow: 0 6px 22px -4px #0000008c,
        inset 0 -10px 16px -12px rgba(var(--glow-rgb, 0, 255, 211), .55);
    pointer-events: none;
  }

  :root[data-leistung="sparsam"] .ssm-header-begleiter[data-astro-cid-vcsmr6yi][data-scheme="hell"] .logo-schicht-dunkel[data-astro-cid-vcsmr6yi] {
    opacity: 1;
    pointer-events: auto;
  }

  :root[data-leistung="sparsam"] .ssm-header-begleiter[data-astro-cid-vcsmr6yi][data-scheme="hell"] .logo-schicht-hell[data-astro-cid-vcsmr6yi] {
    opacity: 0;
    pointer-events: none;
  }
}

@media (width <= 1023px), (width <= 1199px) and (hover: none), (width <= 1199px) and (pointer: coarse) {
  .ssm-header-begleiter[data-astro-cid-vcsmr6yi] {
    display: none;
  }
}
.ssm-mn[data-astro-cid-5vcjcr67] {
  display: none;
}

@media (width <= 1023px), (width <= 1199px) and (hover: none), (width <= 1199px) and (pointer: coarse) {
  .ssm-mn[data-astro-cid-5vcjcr67] {
    display: block;
    font-family: Plus Jakarta Sans, sans-serif;
    --ease: cubic-bezier(.22, 1, .36, 1);
    --rand: 10, 11, 12;
    --rand-unten: 10, 11, 12;
    --shim-1: #ffffffb5;
    --shim-2: #ffffff69;
  }
}

.ssm-mn[data-astro-cid-5vcjcr67][data-scheme-unten="hell"] {
  --rand-unten: 250, 250, 250;
}

.ssm-mn[data-astro-cid-5vcjcr67][data-scheme="hell"] {
  --rand: 250, 250, 250;
  --shim-1: #fffffff2;
  --shim-2: #ffffffbf;
}

.ssm-mn-schleier-oben[data-astro-cid-5vcjcr67], .ssm-mn-schleier-unten[data-astro-cid-5vcjcr67] {
  position: fixed;
  left: 0;
  right: 0;
  z-index: 95;
  pointer-events: none;
}

.ssm-mn-schleier-oben[data-astro-cid-5vcjcr67], .ssm-mn-schleier-unten[data-astro-cid-5vcjcr67] {
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}

.ssm-mn-schleier-oben[data-astro-cid-5vcjcr67], .ssm-mn-schleier-unten[data-astro-cid-5vcjcr67] {
  --ueber: 300px;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  will-change: transform;
}

.ssm-mn-schleier-oben[data-astro-cid-5vcjcr67] {
  --sa: env(safe-area-inset-top, 0px);
  top: calc(-1 * var(--ueber));
  height: calc(var(--ueber) + var(--sa) + 169px);
  -webkit-mask-image: linear-gradient(to bottom,
      #000 0%,
      #000 calc(var(--ueber) + var(--sa) + 40px),
      #000000e0 calc(var(--ueber) + var(--sa) + 70px),
      #000000a6 calc(var(--ueber) + var(--sa) + 100px),
      #0006 calc(var(--ueber) + var(--sa) + 127px),
      #00000026 calc(var(--ueber) + var(--sa) + 151px),
      #0000 calc(var(--ueber) + var(--sa) + 169px));
  mask-image: linear-gradient(to bottom,
      #000 0%,
      #000 calc(var(--ueber) + var(--sa) + 40px),
      #000000e0 calc(var(--ueber) + var(--sa) + 70px),
      #000000a6 calc(var(--ueber) + var(--sa) + 100px),
      #0006 calc(var(--ueber) + var(--sa) + 127px),
      #00000026 calc(var(--ueber) + var(--sa) + 151px),
      #0000 calc(var(--ueber) + var(--sa) + 169px));
  background-image: linear-gradient(to bottom,
      rgb(var(--rand)) 0%,
      /* ganz leichter Farbton (2026-10-08, vorher deckend am Rand): der
         Blur trägt den Fade, die Farbe tönt nur. Überstand jenseits des
         Bildschirmrands läuft weich auf den Ton aus (Safari-Leisten). */
      rgba(var(--rand), .5) calc(var(--ueber) - 40px),
      rgba(var(--rand), .34) calc(var(--ueber) + var(--sa) + 0px),
      rgba(var(--rand), .26) calc(var(--ueber) + var(--sa) + 20px),
      rgba(var(--rand), .15) calc(var(--ueber) + var(--sa) + 40px),
      rgba(var(--rand), .06) calc(var(--ueber) + var(--sa) + 58px),
      rgba(var(--rand), 0) calc(var(--ueber) + var(--sa) + 70px));
}

.ssm-mn-schleier-unten[data-astro-cid-5vcjcr67] {
  bottom: calc(-1 * var(--ueber));
  height: calc(var(--ueber) + 110px + env(safe-area-inset-bottom, 0px));
  -webkit-mask-image: linear-gradient(to top,
      #000 0%,
      #000 calc(var(--ueber) + 38px),
      transparent 100%);
  mask-image: linear-gradient(to top,
      #000 0%,
      #000 calc(var(--ueber) + 38px),
      transparent 100%);
  background-image: linear-gradient(to top,
      rgba(var(--rand-unten), .34) 0%,
      rgba(var(--rand-unten), .34) var(--ueber),
      rgba(var(--rand-unten), .22) calc(var(--ueber) + 30px),
      rgba(var(--rand-unten), .08) calc(var(--ueber) + 64px),
      rgba(var(--rand-unten), 0) 100%);
}

.ssm-mn[data-astro-cid-5vcjcr67][data-scheme="hell"] .ssm-mn-logo[data-astro-cid-5vcjcr67] .ssm-mn-logo-hell {
  display: block !important;
}

.ssm-mn[data-astro-cid-5vcjcr67][data-scheme="hell"] .ssm-mn-logo[data-astro-cid-5vcjcr67] .ssm-mn-logo-dunkel {
  display: none !important;
}

:root[data-leistung="sparsam"] .ssm-mn-schleier-oben[data-astro-cid-5vcjcr67], :root[data-leistung="sparsam"] .ssm-mn-schleier-unten[data-astro-cid-5vcjcr67] {
  display: none;
}

:root[data-leistung="sparsam"] .ssm-mn-logo[data-astro-cid-5vcjcr67] {
  display: flex;
  align-items: center;
  height: 48px;
  box-sizing: border-box;
  padding: 0 18px;
  border-radius: 9999px;
  isolation: isolate;
  background-color: #17191b;
  background-image: linear-gradient(215deg, #2a2d2f 0%, #1c1f21 55%, #17191b 100%);
  box-shadow: 0 6px 22px -4px #0000008c,
      inset 0 -10px 18px -12px rgba(var(--glow-rgb, 0, 255, 211), .7);
}

:root[data-leistung="sparsam"] .ssm-mn-kopf[data-astro-cid-5vcjcr67] {
  padding-left: 14px;
}

:root[data-leistung="sparsam"] .ssm-mn-logo[data-astro-cid-5vcjcr67]:before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  border: 1px solid var(--shim-1);
  pointer-events: none;
  mask-image: linear-gradient(to top right, #0000 40%, #000 94%);
  -webkit-mask-image: linear-gradient(to top right, #0000 40%, #000 94%);
}

:root[data-leistung="sparsam"] .ssm-mn[data-astro-cid-5vcjcr67] .ssm-mn-logo[data-astro-cid-5vcjcr67] .ssm-mn-logo-hell {
  display: none !important;
}

:root[data-leistung="sparsam"] .ssm-mn[data-astro-cid-5vcjcr67] .ssm-mn-logo[data-astro-cid-5vcjcr67] .ssm-mn-logo-dunkel {
  display: block !important;
}

:root[data-leistung="sparsam"] .ssm-mn-burger[data-astro-cid-5vcjcr67] {
  box-shadow: 0 6px 22px -4px #0000008c,
      inset 0 -10px 18px -12px rgba(var(--glow-rgb, 0, 255, 211), .7);
}

:root[data-leistung="sparsam"] .ssm-mn-leiste[data-astro-cid-5vcjcr67] {
  box-shadow: 0 8px 26px -6px #0000008c,
      inset 0 -13px 20px -14px rgba(var(--glow-rgb, 0, 255, 211), .7);
}

:root[data-leistung="sparsam"] .ssm-mn-karte[data-astro-cid-5vcjcr67] {
  background-color: #0e1012 !important;
}

.ssm-mn-korn[data-astro-cid-5vcjcr67] {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  overflow: hidden;
  pointer-events: none;
  opacity: .08;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.95' numOctaves='4'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23g)'/%3E%3C/svg%3E");
}

.ssm-mn-kante[data-astro-cid-5vcjcr67] {
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  pointer-events: none;
  filter: blur(1.1px);
}

.ssm-mn-kante-1[data-astro-cid-5vcjcr67] {
  border: 1px solid var(--shim-1);
  mask-image: var(--mn-maske-1, linear-gradient(45deg, transparent 40%, #000 94%));
  -webkit-mask-image: var(--mn-maske-1, linear-gradient(45deg, transparent 40%, #000 94%));
}

.ssm-mn-kante-2[data-astro-cid-5vcjcr67] {
  border: 1px solid var(--shim-2);
  filter: blur(1.2px);
  mask-image: var(--mn-maske-2, linear-gradient(225deg, transparent 46%, #000 96%));
  -webkit-mask-image: var(--mn-maske-2, linear-gradient(225deg, transparent 46%, #000 96%));
}

.ssm-mn-kopf[data-astro-cid-5vcjcr67] {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 130;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: calc(16px + env(safe-area-inset-top, 0px)) 14px 0 24px;
  pointer-events: none;
}

.ssm-mn-logo[data-astro-cid-5vcjcr67] {
  position: relative;
  pointer-events: auto;
  transition: opacity .26s var(--ease),
      transform .38s var(--ease);
}

.ssm-mn-logo[data-astro-cid-5vcjcr67] .ssm-mn-logo-hell {
  display: none !important;
}

@media (width <= 599px) {
  .ssm-mn-schleier-oben[data-astro-cid-5vcjcr67] {
    transition: opacity .32s var(--ease);
  }

  .ssm-mn[data-astro-cid-5vcjcr67][data-hero="an"] .ssm-mn-schleier-oben[data-astro-cid-5vcjcr67] {
    opacity: 0;
  }

  .ssm-mn[data-astro-cid-5vcjcr67][data-hero="an"] .ssm-mn-logo[data-astro-cid-5vcjcr67] {
    opacity: 0;
    transform: translateY(-6px);
    pointer-events: none;
  }
}

body[data-hintergrund="keiner"] .ssm-mn[data-astro-cid-5vcjcr67] {
  --rand: 250, 250, 250;
  --rand-unten: 250, 250, 250;
}

body[data-hintergrund="keiner"] .ssm-mn[data-astro-cid-5vcjcr67]:before, body[data-hintergrund="keiner"] .ssm-mn[data-astro-cid-5vcjcr67]:after {
  content: "";
  position: fixed;
  left: 0;
  right: 0;
  height: 100vh;
  z-index: 94;
  pointer-events: none;
  background: #fafafa;
}

body[data-hintergrund="keiner"] .ssm-mn[data-astro-cid-5vcjcr67]:before {
  bottom: 100%;
}

body[data-hintergrund="keiner"] .ssm-mn[data-astro-cid-5vcjcr67]:after {
  top: 100%;
}

body[data-hintergrund="keiner"] .ssm-mn[data-astro-cid-5vcjcr67] .ssm-mn-schleier-oben[data-astro-cid-5vcjcr67] {
  background-image: linear-gradient(to bottom,
      rgb(var(--rand)) 0%,
      /* ganz leichter Farbton (2026-10-08, vorher deckend am Rand): der
         Blur trägt den Fade, die Farbe tönt nur. Überstand jenseits des
         Bildschirmrands läuft weich auf den Ton aus (Safari-Leisten). */
      rgba(var(--rand), .5) calc(var(--ueber) - 40px),
      rgba(var(--rand), .34) calc(var(--ueber) + var(--sa) + 0px),
      rgba(var(--rand), .26) calc(var(--ueber) + var(--sa) + 20px),
      rgba(var(--rand), .15) calc(var(--ueber) + var(--sa) + 40px),
      rgba(var(--rand), .06) calc(var(--ueber) + var(--sa) + 58px),
      rgba(var(--rand), 0) calc(var(--ueber) + var(--sa) + 70px));
}

body[data-hintergrund="keiner"] .ssm-mn[data-astro-cid-5vcjcr67] .ssm-mn-schleier-unten[data-astro-cid-5vcjcr67] {
  background-image: linear-gradient(to top,
      rgba(var(--rand-unten), .34) 0%,
      rgba(var(--rand-unten), .34) var(--ueber),
      rgba(var(--rand-unten), .22) calc(var(--ueber) + 30px),
      rgba(var(--rand-unten), .08) calc(var(--ueber) + 64px),
      rgba(var(--rand-unten), 0) 100%);
}

body[data-hintergrund="keiner"] .ssm-mn[data-astro-cid-5vcjcr67] .ssm-mn-logo[data-astro-cid-5vcjcr67] .ssm-mn-logo-hell {
  display: block !important;
}

body[data-hintergrund="keiner"] .ssm-mn[data-astro-cid-5vcjcr67] .ssm-mn-logo[data-astro-cid-5vcjcr67] .ssm-mn-logo-dunkel {
  display: none !important;
}

.ssm-mn[data-astro-cid-5vcjcr67][data-offen="true"] .ssm-mn-logo[data-astro-cid-5vcjcr67] {
  opacity: 0;
  transform: translateX(-6px);
  pointer-events: none;
}

.ssm-mn-burger[data-astro-cid-5vcjcr67] {
  position: relative;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 9999px;
  isolation: isolate;
  pointer-events: auto;
  cursor: pointer;
  color: #ffffffdb;
  background-color: #17191b;
  background-image: linear-gradient(215deg, #2a2d2f 0%, #1c1f21 55%, #17191b 100%);
  box-shadow: 0 18px 40px -20px #000000e6,
      inset 0 -10px 18px -12px rgba(var(--glow-rgb, 0, 255, 211), .7);
  transition: color .22s var(--ease),
      width .42s var(--ease),
      height .42s var(--ease),
      margin .42s var(--ease),
      background-color .32s var(--ease),
      box-shadow .32s var(--ease);
}

.ssm-mn[data-astro-cid-5vcjcr67][data-scheme="hell"] .ssm-mn-burger[data-astro-cid-5vcjcr67] {
  background-color: #0000;
  background-image: linear-gradient(215deg, #34383a, #1c1e20);
  box-shadow: 0 18px 38px -18px #16181a80,
      inset 0 -10px 18px -12px rgba(var(--glow-rgb, 0, 255, 211), .4);
}

.ssm-mn-burger-kante[data-astro-cid-5vcjcr67] {
  position: absolute;
  inset: -1px;
  border-radius: 9999px;
  border: 1px solid var(--shim-1);
  pointer-events: none;
  filter: blur(1.1px);
  mask-image: linear-gradient(to top right, #0000 40%, #000 94%);
  -webkit-mask-image: linear-gradient(to top right, #0000 40%, #000 94%);
  transition: opacity .32s var(--ease);
}

.ssm-mn[data-astro-cid-5vcjcr67][data-offen="true"] .ssm-mn-burger[data-astro-cid-5vcjcr67] {
  width: 30px;
  height: 30px;
  margin: 9px;
  color: #fff;
  background-color: #0000;
  background-image: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: none;
}

.ssm-mn[data-astro-cid-5vcjcr67][data-offen="true"] .ssm-mn-burger-kante[data-astro-cid-5vcjcr67], .ssm-mn[data-astro-cid-5vcjcr67][data-offen="true"] .ssm-mn-burger[data-astro-cid-5vcjcr67] > .ssm-mn-korn[data-astro-cid-5vcjcr67] {
  opacity: 0;
}

.ssm-mn[data-astro-cid-5vcjcr67][data-kreis="aus"] .ssm-mn-burger[data-astro-cid-5vcjcr67] {
  background-color: #0000;
  background-image: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: none;
  transition: color .22s var(--ease),
      width .42s var(--ease),
      height .42s var(--ease),
      margin .42s var(--ease);
}

.ssm-mn[data-astro-cid-5vcjcr67][data-kreis="aus"] .ssm-mn-burger-kante[data-astro-cid-5vcjcr67], .ssm-mn[data-astro-cid-5vcjcr67][data-kreis="aus"] .ssm-mn-burger[data-astro-cid-5vcjcr67] > .ssm-mn-korn[data-astro-cid-5vcjcr67] {
  opacity: 0;
  transition: none;
}

.ssm-mn-burger[data-astro-cid-5vcjcr67]:focus-visible {
  outline: 2px solid var(--accent, #00ffd3);
  outline-offset: 3px;
}

.ssm-mn-linien[data-astro-cid-5vcjcr67] {
  position: relative;
  width: 18px;
  height: 18px;
}

.ssm-mn-linie[data-astro-cid-5vcjcr67] {
  position: absolute;
  left: 1px;
  right: 1px;
  display: block;
  height: 1.8px;
  border-radius: 9999px;
  background: currentColor;
  transition: transform .38s var(--ease),
      opacity .22s linear,
      top .38s var(--ease);
}

.ssm-mn-linie-1[data-astro-cid-5vcjcr67] {
  top: 3.4px;
}

.ssm-mn-linie-2[data-astro-cid-5vcjcr67] {
  top: 8.1px;
}

.ssm-mn-linie-3[data-astro-cid-5vcjcr67] {
  top: 12.8px;
}

.ssm-mn[data-astro-cid-5vcjcr67][data-offen="true"] .ssm-mn-linie-1[data-astro-cid-5vcjcr67] {
  top: 8.1px;
  transform: rotate(45deg);
}

.ssm-mn[data-astro-cid-5vcjcr67][data-offen="true"] .ssm-mn-linie-2[data-astro-cid-5vcjcr67] {
  opacity: 0;
}

.ssm-mn[data-astro-cid-5vcjcr67][data-offen="true"] .ssm-mn-linie-3[data-astro-cid-5vcjcr67] {
  top: 8.1px;
  transform: rotate(-45deg);
}

.ssm-mn-overlay[data-astro-cid-5vcjcr67] {
  position: fixed;
  inset: 0;
  z-index: 120;
  pointer-events: none;
}

.ssm-mn[data-astro-cid-5vcjcr67][data-offen="true"] .ssm-mn-overlay[data-astro-cid-5vcjcr67] {
  pointer-events: auto;
}

.ssm-mn-karten-schleier[data-astro-cid-5vcjcr67] {
  position: absolute;
  inset: 0;
  cursor: pointer;
  opacity: 0;
  -webkit-backdrop-filter: blur();
  backdrop-filter: blur();
  background-image: linear-gradient(to bottom,
      rgba(var(--rand), .72) 0%,
      rgba(var(--rand), .38) 62%,
      rgba(var(--rand), .14) 100%);
  transition: opacity .38s var(--ease),
      backdrop-filter .42s var(--ease),
      -webkit-backdrop-filter .42s var(--ease);
}

.ssm-mn[data-astro-cid-5vcjcr67][data-offen="true"] .ssm-mn-karten-schleier[data-astro-cid-5vcjcr67] {
  opacity: 1;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}

.ssm-mn-karte[data-astro-cid-5vcjcr67] {
  position: absolute;
  left: 12px;
  right: 12px;
  top: calc(12px + env(safe-area-inset-top, 0px));
  box-sizing: border-box;
  max-width: 520px;
  margin-left: auto;
  max-height: calc(100svh - 96px - env(safe-area-inset-top, 0px));
  overflow: hidden auto;
  overscroll-behavior: contain;
  border-radius: 24px;
  isolation: isolate;
  background-color: #0e1012db;
  background-image: linear-gradient(to top right,
        #ffffff1c 0%,
        #ffffff0a 60%,
        #ffffff06 100%),
      radial-gradient(120% 110% at 100% 0%,
        rgba(var(--glow-rgb, 0, 255, 211), .16) 0%,
        #0000 66%);
  -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(24px);
  box-shadow: 0 34px 80px -34px #000000f2,
      inset 0 16px 26px -18px rgba(var(--glow-rgb, 0, 255, 211), .45);
  visibility: hidden;
  opacity: 0;
  touch-action: pan-y;
}

.ssm-mn[data-astro-cid-5vcjcr67][data-scheme="hell"] .ssm-mn-karte[data-astro-cid-5vcjcr67] {
  background-color: #16181ae6;
}

.ssm-mn[data-astro-cid-5vcjcr67][data-offen="true"] .ssm-mn-karte[data-astro-cid-5vcjcr67] {
  transform: translateY(var(--mn-wisch, 0px));
}

.ssm-mn-karte[data-astro-cid-5vcjcr67].ist-gezogen {
  transition: none;
}

.ssm-mn-korn-karte[data-astro-cid-5vcjcr67] {
  opacity: .055;
}

.ssm-mn-karte[data-astro-cid-5vcjcr67] > .ssm-mn-kante-1[data-astro-cid-5vcjcr67] {
  border-color: #ffffffb3;
}

.ssm-mn-karte[data-astro-cid-5vcjcr67] > .ssm-mn-kante-2[data-astro-cid-5vcjcr67] {
  border-color: #ffffff47;
}

.ssm-mn-karte-glanz[data-astro-cid-5vcjcr67] {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 40%;
  border-radius: 40px 40px 0 0;
  pointer-events: none;
  background-image: linear-gradient(#ffffff12 0%, #fff0 100%);
  filter: blur(4px);
}

.ssm-mn-inhalt[data-astro-cid-5vcjcr67] {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 10px 14px 14px;
  opacity: 0;
  transition: opacity .14s var(--ease);
}

.ssm-mn[data-astro-cid-5vcjcr67][data-offen="true"] .ssm-mn-inhalt[data-astro-cid-5vcjcr67] {
  opacity: 1;
  transition: opacity .3s var(--ease) .14s,
      padding-top .42s var(--ease);
}

.ssm-mn-liste[data-astro-cid-5vcjcr67] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.ssm-mn-zeile[data-astro-cid-5vcjcr67] {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 0 14px;
  border: 0;
  border-radius: 14px;
  background: none;
  font: inherit;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -.035em;
  text-align: left;
  color: #ffffffe0;
  text-decoration: none;
  cursor: pointer;
  transition: background .2s var(--ease),
      color .2s var(--ease);
}

.ssm-mn-zeile[data-astro-cid-5vcjcr67]:hover, .ssm-mn-zeile[data-astro-cid-5vcjcr67]:focus-visible {
  background: #ffffff12;
  color: #fff;
}

.ssm-mn-zeile[data-astro-cid-5vcjcr67]:focus-visible {
  outline: 2px solid var(--accent, #00ffd3);
  outline-offset: -2px;
}

.ssm-mn-zeile[data-astro-cid-5vcjcr67][aria-current="page"] {
  color: var(--accent, #00ffd3);
}

.ssm-mn-zeile-unter[data-astro-cid-5vcjcr67] {
  padding: 0 12px;
  font-weight: 500;
  color: #ffffffc2;
}

.ssm-mn-pfeil[data-astro-cid-5vcjcr67] {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 16px;
  color: #ffffff80;
  transition: transform .38s var(--ease),
      color .22s var(--ease);
}

.ssm-mn-drop-knopf[data-astro-cid-5vcjcr67][aria-expanded="true"] .ssm-mn-pfeil[data-astro-cid-5vcjcr67] {
  color: var(--accent, #00ffd3);
  transform: rotate(180deg);
}

.ssm-mn-drop[data-astro-cid-5vcjcr67] {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  visibility: hidden;
  transition: max-height .42s var(--ease),
      opacity .3s var(--ease),
      visibility 0s linear .42s;
}

.ssm-mn-drop[data-astro-cid-5vcjcr67].ist-offen {
  max-height: 166px;
  opacity: 1;
  visibility: visible;
  transition: max-height .42s var(--ease),
      opacity .3s var(--ease),
      visibility 0s;
}

.ssm-mn-drop-innen[data-astro-cid-5vcjcr67] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 2px 0 6px 28px;
  padding-left: 16px;
  border-left: 1px solid #ffffff24;
}

.ssm-mn-karte[data-astro-cid-5vcjcr67] {
  bottom: calc(12px + env(safe-area-inset-bottom, 0px));
  max-height: none;
  overflow: hidden;
}

.ssm-mn-karte[data-astro-cid-5vcjcr67]:has(.ssm-mn-drop.ist-offen) {
  overflow-y: auto;
}

.ssm-mn-inhalt[data-astro-cid-5vcjcr67] {
  box-sizing: border-box;
  height: 100%;
  min-height: 0;
  padding: 76px 16px 16px;
  gap: 14px;
  transition: opacity .14s var(--ease),
      padding-top .42s var(--ease);
}

.ssm-mn-karte[data-astro-cid-5vcjcr67]:has(.ssm-mn-drop.ist-offen) .ssm-mn-inhalt[data-astro-cid-5vcjcr67] {
  padding-top: 52px;
}

.ssm-mn-liste[data-astro-cid-5vcjcr67] {
  flex: 1 1 0;
  min-height: 0;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  padding: 8px 0 clamp(40px, 9svh, 80px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: none;
  transition: padding-bottom .42s var(--ease);
}

.ssm-mn-karte[data-astro-cid-5vcjcr67]:has(.ssm-mn-drop.ist-offen) .ssm-mn-liste[data-astro-cid-5vcjcr67] {
  padding-bottom: calc(clamp(40px, 9svh, 80px) + clamp(0px, 40svh - 288px, 36px));
}

.ssm-mn-liste[data-astro-cid-5vcjcr67]::-webkit-scrollbar {
  display: none;
}

.ssm-mn-liste[data-astro-cid-5vcjcr67] > [data-astro-cid-5vcjcr67]:first-child {
  margin-top: auto;
}

@media (width >= 600px) and (width <= 1199px) and (orientation: portrait) {
  .ssm-mn-liste[data-astro-cid-5vcjcr67] {
    padding-bottom: 8px;
  }

  .ssm-mn-liste[data-astro-cid-5vcjcr67] > [data-astro-cid-5vcjcr67]:last-child {
    margin-bottom: auto;
  }
}

.ssm-mn-liste[data-astro-cid-5vcjcr67] > [data-astro-cid-5vcjcr67] {
  flex-shrink: 0;
}

.ssm-mn-zeile[data-astro-cid-5vcjcr67] {
  justify-content: center;
  min-height: 58px;
  padding: 0 12px;
  font-size: clamp(28px, 8.6vw, 40px);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-align: center;
}

.ssm-mn-drop-knopf[data-astro-cid-5vcjcr67] {
  gap: 10px;
}

.ssm-mn-pfeil[data-astro-cid-5vcjcr67] {
  width: 18px;
  margin-right: -28px;
}

.ssm-mn-drop-innen[data-astro-cid-5vcjcr67] {
  margin: 0 0 8px;
  padding-left: 0;
  border-left: 0;
  gap: 0;
}

.ssm-mn-zeile-unter[data-astro-cid-5vcjcr67] {
  min-height: 44px;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .1em;
}

.ssm-mn-kontakt-knoepfe[data-astro-cid-5vcjcr67] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.ssm-mn-kontakt-knopf[data-astro-cid-5vcjcr67] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 52px;
  border-radius: 9999px;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -.03em;
  color: #ffffffe6;
  text-decoration: none;
  border: 1px solid #ffffff3d;
  transition: border-color .22s var(--ease),
      background .22s var(--ease);
}

.ssm-mn-kontakt-knopf[data-astro-cid-5vcjcr67]:hover, .ssm-mn-kontakt-knopf[data-astro-cid-5vcjcr67]:focus-visible {
  border-color: #fff;
  background: #ffffff0f;
}

.ssm-mn-kontakt-knoepfe[data-astro-cid-5vcjcr67] .ssm-mn-kontakt-knopf[data-astro-cid-5vcjcr67] {
  border-color: #ffffff80;
  color: #072320;
  background-image: linear-gradient(to top right, #00c79a 0%, #00ffd3 52%, #6fe9ff 100%);
  box-shadow: 0 10px 24px -12px rgba(var(--glow-rgb, 0, 255, 211), .55);
}

.ssm-mn-kontakt-knoepfe[data-astro-cid-5vcjcr67] .ssm-mn-kontakt-knopf[data-astro-cid-5vcjcr67]:hover, .ssm-mn-kontakt-knoepfe[data-astro-cid-5vcjcr67] .ssm-mn-kontakt-knopf[data-astro-cid-5vcjcr67]:focus-visible {
  border-color: #fff;
}

.ssm-mn-karten-logo[data-astro-cid-5vcjcr67] {
  position: absolute;
  top: clamp(56px, 9svh, 96px);
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  width: max-content;
  margin: 0 auto;
  line-height: 0;
  transition: opacity .56s var(--ease) .3s,
      transform .76s var(--ease) .26s,
      visibility 0s linear 0s;
}

.ssm-mn-karte[data-astro-cid-5vcjcr67]:has(.ssm-mn-drop.ist-offen) .ssm-mn-karten-logo[data-astro-cid-5vcjcr67] {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-28px);
  pointer-events: none;
  transition: opacity .32s var(--ease),
      transform .42s var(--ease),
      visibility 0s linear .42s;
}

.ssm-mn-recht[data-astro-cid-5vcjcr67] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.ssm-mn-recht-knopf[data-astro-cid-5vcjcr67] {
  min-height: 52px;
  font-size: 14px;
  font-weight: 500;
  color: #ffffffb8;
  border-color: #ffffff29;
}

.ssm-mn-social[data-astro-cid-5vcjcr67] {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 22px;
  padding-bottom: 4px;
}

.ssm-mn-social-link[data-astro-cid-5vcjcr67] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -.02em;
  color: #ffffffd1;
  text-decoration: none;
  transition: color .22s var(--ease);
}

.ssm-mn-social-link[data-astro-cid-5vcjcr67]:hover, .ssm-mn-social-link[data-astro-cid-5vcjcr67]:focus-visible {
  color: var(--accent, #00ffd3);
}

.ssm-mn-fortschritt[data-astro-cid-5vcjcr67] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
  z-index: 2;
}

.ssm-mn-fortschritt[data-astro-cid-5vcjcr67] rect[data-astro-cid-5vcjcr67] {
  fill: none;
}

.ssm-mn-fortschritt-spur[data-astro-cid-5vcjcr67] {
  stroke: #ffffff29;
  stroke-width: 1px;
}

.ssm-mn-fortschritt-linie[data-astro-cid-5vcjcr67] {
  stroke: var(--accent, #00ffd3);
  stroke-width: 1.5px;
  stroke-linecap: round;
  stroke-dasharray: 1;
  stroke-dashoffset: 1px;
  filter: drop-shadow(0 0 3px rgba(var(--glow-rgb, 0, 255, 211), .7));
}

.ssm-mn-leiste-huelle[data-astro-cid-5vcjcr67] {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 110;
  display: flex;
  justify-content: center;
  padding: 0 12px calc(16px + env(safe-area-inset-bottom, 0px));
  pointer-events: none;
  transition: opacity .28s var(--ease),
      transform .38s var(--ease);
}

.ssm-mn[data-astro-cid-5vcjcr67][data-offen="true"] .ssm-mn-leiste-huelle[data-astro-cid-5vcjcr67] {
  opacity: 0;
  transform: translateY(12px);
}

.ssm-mn-leiste[data-astro-cid-5vcjcr67] {
  position: relative;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  padding: 6px;
  border-radius: 30px;
  isolation: isolate;
  pointer-events: auto;
  background-color: #17191b;
  background-image: linear-gradient(215deg, #2a2d2f 0%, #1c1f21 55%, #17191b 100%);
  box-shadow: inset 0 -13px 20px -14px rgba(var(--glow-rgb, 0, 255, 211), .7);
}

@media (width >= 600px) {
  .ssm-mn-leiste[data-astro-cid-5vcjcr67] {
    max-width: 366px;
  }
}

.ssm-mn[data-astro-cid-5vcjcr67][data-scheme-unten="hell"] .ssm-mn-leiste[data-astro-cid-5vcjcr67] {
  background-color: #0000;
  background-image: linear-gradient(215deg, #34383a, #1c1e20);
  box-shadow: inset 0 -13px 20px -14px rgba(var(--glow-rgb, 0, 255, 211), .4);
}

.ssm-mn-korn-leiste[data-astro-cid-5vcjcr67] {
  opacity: .075;
}

.ssm-mn-anker-reihe[data-astro-cid-5vcjcr67] {
  position: relative;
  display: flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  padding: 12px 2px;
  margin: -12px 0;
  overflow-x: auto;
  scrollbar-width: none;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  mask-image: var(--mn-anker-maske, linear-gradient(to right, #000 0%, #000 84%, transparent 99%));
  -webkit-mask-image: var(--mn-anker-maske, linear-gradient(to right, #000 0%, #000 84%, transparent 99%));
}

.ssm-mn-anker-reihe[data-astro-cid-5vcjcr67]::-webkit-scrollbar {
  display: none;
}

.ssm-mn-anker-reihe[data-astro-cid-5vcjcr67]:empty {
  display: none;
}

.ssm-mn-leiste[data-astro-cid-5vcjcr67].hat-kein-ende .ssm-mn-anker-reihe[data-astro-cid-5vcjcr67] {
  mask-image: none;
  -webkit-mask-image: none;
}

.ssm-mn-anker[data-astro-cid-5vcjcr67] {
  flex: none;
  display: flex;
  align-items: center;
  min-height: 40px;
  padding: 0 16px;
  border-radius: 9999px;
  scroll-snap-align: start;
  font-size: 13.5px;
  font-weight: 500;
  letter-spacing: -.03em;
  white-space: nowrap;
  text-decoration: none;
  color: #fff;
  background-color: #ffffff14;
  border: 1px solid #ffffff1a;
  transition: color .22s var(--ease),
      box-shadow .24s var(--ease),
      border-color .24s var(--ease),
      background-color .2s var(--ease);
}

.ssm-mn-anker[data-astro-cid-5vcjcr67]:hover {
  background-color: #ffffff12;
}

.ssm-mn-anker[data-astro-cid-5vcjcr67]:focus-visible {
  outline: 2px solid var(--accent, #00ffd3);
  outline-offset: 2px;
}

.ssm-mn-anker[data-astro-cid-5vcjcr67].ist-aktiv {
  font-weight: 700;
  color: var(--accent, #00ffd3);
  border-color: rgba(var(--glow-rgb, 0, 255, 211), .75);
  text-shadow: 0 0 14px rgba(var(--glow-rgb, 0, 255, 211), .55);
  box-shadow: 0 0 18px -4px rgba(var(--glow-rgb, 0, 255, 211), .45);
}

.ssm-mn-kontakt-kreis[data-astro-cid-5vcjcr67] {
  position: relative;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 9999px;
  color: #062521;
  background-image: var(--accent-grad, linear-gradient(to top right, #00c79a 0%, #00ffd3 52%, #6fe9ff 100%));
  box-shadow: 0 10px 24px -10px rgba(var(--glow-rgb, 0, 255, 211), .55);
}

.ssm-mn-kontakt-kreis[data-astro-cid-5vcjcr67] > .ssm-mn-korn[data-astro-cid-5vcjcr67] {
  opacity: .11;
}

.ssm-mn-kontakt-kreis[data-astro-cid-5vcjcr67]:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .ssm-mn-karte[data-astro-cid-5vcjcr67], .ssm-mn[data-astro-cid-5vcjcr67][data-offen="true"] .ssm-mn-karte[data-astro-cid-5vcjcr67] {
    transform: none;
    filter: none;
  }

  .ssm-mn-linie[data-astro-cid-5vcjcr67], .ssm-mn-burger[data-astro-cid-5vcjcr67], .ssm-mn-drop[data-astro-cid-5vcjcr67], .ssm-mn-pfeil[data-astro-cid-5vcjcr67], .ssm-mn-leiste-huelle[data-astro-cid-5vcjcr67] {
    transition: none;
  }
}

@media (height <= 699px) {
  .ssm-mn-karte[data-astro-cid-5vcjcr67] {
    bottom: auto;
    height: auto;
    max-height: calc(100svh - 24px - env(safe-area-inset-top, 0px));
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .ssm-mn-inhalt[data-astro-cid-5vcjcr67] {
    height: auto;
    min-height: 0;
    padding-top: 56px;
  }

  .ssm-mn-karten-logo[data-astro-cid-5vcjcr67] {
    display: none !important;
  }

  .ssm-mn-liste[data-astro-cid-5vcjcr67] {
    flex: none;
    overflow: visible;
    justify-content: flex-start;
    padding: 8px 0 12px;
  }

  .ssm-mn-karte[data-astro-cid-5vcjcr67]:has(.ssm-mn-drop.ist-offen) .ssm-mn-liste[data-astro-cid-5vcjcr67] {
    padding-bottom: 12px;
  }

  .ssm-mn-karte[data-astro-cid-5vcjcr67]:has(.ssm-mn-drop.ist-offen) .ssm-mn-inhalt[data-astro-cid-5vcjcr67] {
    padding-top: 56px;
  }
}

@media (height <= 699px) and (width >= 600px) {
  .ssm-mn-karte[data-astro-cid-5vcjcr67] {
    max-width: 760px;
  }

  .ssm-mn-inhalt[data-astro-cid-5vcjcr67] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: min-content min-content min-content 1fr;
    column-gap: 22px;
    row-gap: 12px;
    align-content: start;
    padding: 18px;
  }

  .ssm-mn-liste[data-astro-cid-5vcjcr67] {
    grid-column: 1;
    grid-row: 1 / 5;
    padding: 0;
  }

  .ssm-mn-zeile[data-astro-cid-5vcjcr67] {
    min-height: 46px;
    font-size: clamp(22px, 3.4vw, 28px);
  }

  .ssm-mn-kontakt-knoepfe[data-astro-cid-5vcjcr67] {
    grid-column: 2;
    grid-row: 1;
    margin-top: 8px;
  }

  .ssm-mn-recht[data-astro-cid-5vcjcr67] {
    grid-column: 2;
    grid-row: 2;
  }

  .ssm-mn-social[data-astro-cid-5vcjcr67] {
    grid-column: 2;
    grid-row: 3;
    align-self: start;
  }
}
@font-face {
        font-family: "Plus Jakarta Sans";
        src: url("/fonts/plus-jakarta-sans/PlusJakartaSans-VariableFont_wght.woff2")
          format("woff2");
        font-weight: 300 800;
        font-style: normal;
        font-display: swap;
      }
      @font-face {
        font-family: "Plus Jakarta Sans";
        src: url("/fonts/plus-jakarta-sans/PlusJakartaSans-Italic-VariableFont_wght.woff2")
          format("woff2");
        font-weight: 300 800;
        font-style: italic;
        font-display: swap;
      }
      @font-face {
        font-family: "EB Garamond";
        src: url("/fonts/eb-garamond/EBGaramond-Italic-VariableFont_wght.woff2")
          format("woff2");
        font-weight: 400 500;
        font-style: italic;
        font-display: swap;
      }

      :root {
        --accent: #00ffd3;
        --accent-2: #0a7a6e;
        --accent-grad: linear-gradient(
          to top right,
          #00c79a 0%,
          #00ffd3 52%,
          #6fe9ff 100%
        );
        --accent-grad-deep: linear-gradient(
          to top right,
          #06584f 0%,
          #0a7a6e 52%,
          #0c8c86 100%
        );
        --cta-ink: #072320;
        --glow-rgb: 0, 255, 211;
        --glow-deep-rgb: 10, 122, 110;
        --shimmer-a: 0.75;
        --grain-a: 0.11;
        --ambient-a: 0.13;
        --glow-a: 0.75;
        --korn-o: 0.14; /* DESIGN.md grain-overlay (Runde 13: 0,18; auf 0,14 gesenkt 2026-10-08, Nutzerwunsch) */
        --korn-groesse: 96px;
        --korn-faktor: 1.61;
        --korn-mw: 124%;
        --korn-mh: 128%;

        /* Fließtext: nur zwei Größen (in Cards / außerhalb), immer volle
           Deckkraft — weiß auf dunklem, ink auf hellem Grund. */
        --body-size: 18px;
        --body-size-card: 15px;
        --karten-blur: 10px; /* Blur-Verlauf hinter Kartentext (Card, UsecaseKarte; Bento/VideoCard 60 %) */
        --randblur-breite: 80px; /* Breite des Rand-Blurs in Karten mit Bild */
        --randblur-staerke: 40px; /* Stärke des Rand-Blurs */
        --body-lh: 1.6;
        --body-ls: -0.022em;
        --text-auf-dunkel: #ffffff;
        --text-auf-hell: #16181a;

        /* Abschnitts-Überschriften (H2), einheitlich und fließend
           (DESIGN.md Kap. 9 · Schriftgrößen): 30px @360 · 31 @390 ·
           40 @768 · 46 @1024 · 48 ab 1100px (Desktop unverändert). */
        --titel-abschnitt: clamp(30px, 2.43vw + 21.24px, 48px);

        /* Unter 1200px: Luft über dem ersten Text eines Abschnitts, damit
           nichts hinter dem MobilNav-Kopf (65px) verschwindet (DESIGN.md
           Kap. 9 · Abschnitte). */
        --abstand-kopf-mobil: calc(88px + env(safe-area-inset-top, 0px));
        /* Unter 1200px: Höhe der unteren MobilNav-Leiste (76px) + Luft */
        --abstand-leiste-mobil: calc(92px + env(safe-area-inset-bottom, 0px));
        /* Unter 1200px: Außenrand von Abschnitts-Flächen — die Fläche beginnt
           unter dem Kopf (65px) und endet über der Leiste (76px), damit keins
           der beiden Menüs Inhalt verdeckt (DESIGN.md Kap. 9 · Abschnitte) */
        --rand-oben-mobil: calc(72px + env(safe-area-inset-top, 0px));
        --rand-unten-mobil: calc(84px + env(safe-area-inset-bottom, 0px));
        /* Unter 1200px: Innenabstand der Abschnitts-Container (seitlich und
           unter dem Button gleich) und konzentrischer Eckenradius: Radius =
           Button-Radius (55px hoch → 27,5px) + Abstand, dann läuft die
           Rundung des Containers parallel zur Rundung des Buttons unten */
        --pad-mobil: clamp(20px, 6vw, 48px);
        --radius-mobil: calc(27.5px + var(--pad-mobil));
        /* Karten in Containern: Radius = Button-Radius (= Containerradius −
           Innenabstand), dann sitzen Karten konzentrisch im Container */
        --radius-karte-mobil: 27.5px;
      }
      /* Ohne Snap (Sparmodus, Fenster < 700px Höhe): weiße Container
         mindestens 32px Innenabstand (2026-10-06) — mit Snap dürfen sie
         schmaler werden, damit ein Abschnitt auf den Bildschirm passt */
      :root[data-leistung="sparsam"],
      :root.ssm-niedrig {
        --pad-mobil: clamp(32px, 6vw, 48px);
      }
      @media (max-height: 699px) {
        :root {
          --pad-mobil: clamp(32px, 6vw, 48px);
        }
      }
      /* Tablet (600–1199px): in weißen Containern oben (zum Kicker/zur
         Headline) derselbe Abstand wie seitlich, statt fest 32px
         (--pad-oben-mobil, Standard 32px in den Komponenten). Seit
         2026-10-08 in allen Modi und Ausrichtungen (vorher nur iPad
         hochkant ohne Snap) */
      @media (min-width: 600px) and (max-width: 1199px) {
        :root {
          --pad-oben-mobil: var(--pad-mobil);
        }
      }
      /* 1024–1199px mit Maus: Desktop-Header statt MobilNav — Abstände an
         die höhere Header-Pille (28 + 53px) anpassen, unten keine Leiste */
      @media (min-width: 1024px) and (max-width: 1199px) and (hover: hover) and (pointer: fine) {
        :root {
          --abstand-kopf-mobil: 124px;
          --abstand-leiste-mobil: 48px;
          --rand-oben-mobil: 100px;
          --rand-unten-mobil: 14px;
        }
      }

      html {
        overflow-x: clip;
        /* Safari: hinter der ein-/ausgeblendeten Adress-/Tab-Leiste zeigt
           sich der Seitenhintergrund — nie hell durchscheinen lassen */
        background-color: #0a0b0c; /* = Farbe der dunklen Rand-Fades (--rand) */
      }
      html:has(body[data-hintergrund="keiner"]) {
        background-color: #fafafa;
      }
      /* Snap-Wächter (Skript unten): Abschnitte, die höher als der
         Bildschirm sind (data-snap-hoch), rasten oben ein, scrollen darin
         frei (jede Position in einer übergroßen Einrastfläche ist gültig)
         und rasten am Ende bündig ein — der unsichtbare End-Punkt direkt
         dahinter hält wie der Anfang fest (stop: always), sonst springt
         ein Wisch/Bild-ab über das Abschnittsende hinweg. */
      /* Karten-Gruppen (DESIGN.md Kap. 9 · Stufen): Desktop wie gebaut;
         Tablet (600–1199px) zwei Karten je Reihe nebeneinander (letzte Reihe
         mittig), alle Karten einer Reihe gleich hoch; Smartphone (< 600px)
         auf Touch ein Wisch-Karussell mit angeschnittener nächster Karte,
         mit Maus eine Spalte. Wischen/Hover hängen am Endgerät, das Layout
         an der Breite. Ausnahme: Leistungen auf der Startseite.
         Die Komponente setzt nur Variablen:
           --wisch-rand    Seitenrand des Abschnitts (Band läuft bis zur Kante)
           --wisch-polster eigenes Innenpolster der Karte (Card/UsecaseKarte 14px)
           --wisch-breite  Kartenbreite (Standard min(82%, 400px))
           --wisch-abstand Lücke zwischen den Karten (Standard 14px)
         ":root body" hebt die Spezifität über die Raster-Regeln der
         Komponenten (.x[data-astro-cid]), ohne !important. */
      @media (max-width: 1199px) {
        :root body .ssm-wisch-band {
          display: flex;
          flex-wrap: wrap;
          justify-content: center;
          align-items: stretch;
          gap: 14px;
          margin-inline: 0;
          grid-template-columns: none;
        }
        :root body .ssm-wisch-band.ssm-wisch-band > * {
          flex: 0 0 calc(50% - 7px);
          min-width: 0;
          height: auto;
          box-sizing: border-box;
        }
      }
      /* Tablet, genau drei Karten: die dritte über die volle Reihe (breite
         Querformat-Variante der Karte, wo die Komponente sie kennt) */
      @media (min-width: 600px) and (max-width: 1199px) {
        :root body .ssm-wisch-band.ssm-wisch-band > [data-breit] {
          flex-basis: 100%;
        }
      }
      @media (max-width: 599px) {
        :root body .ssm-wisch-band.ssm-wisch-band > * {
          flex-basis: 100%;
        }
      }
      @media (max-width: 599px) and (hover: none),
        (max-width: 599px) and (pointer: coarse) {
        :root body .ssm-wisch-band {
          --wisch-innen: calc(
            var(--wisch-rand, 0px) - var(--wisch-polster, 0px)
          );
          flex-wrap: nowrap;
          justify-content: flex-start;
          gap: var(--wisch-abstand, 14px);
          /* Innenrand oben/unten für Schatten, per negativem Außenrand
             ausgeglichen; overflow-y hidden, sonst scrollt das Band durch
             Einflug-Animationen auch senkrecht (Scrollbalken) */
          margin: -24px calc(-1 * var(--wisch-rand, 0px)) -56px;
          padding: 24px var(--wisch-innen) 56px;
          scroll-padding-inline: var(--wisch-innen);
          overflow-x: auto;
          overflow-y: hidden;
          scroll-snap-type: x mandatory;
          scrollbar-width: none;
          overscroll-behavior-x: contain;
        }
        :root body .ssm-wisch-band::-webkit-scrollbar {
          display: none;
        }
        /* Doppelte Klasse: schlägt Komponenten-Regeln wie
           ".x :global(.ssm-glas-wrap) { height: 100% }" — eine Prozent-Höhe
           verhindert das Strecken, dann wären die Karten unterschiedlich hoch.
           Mit height: auto streckt das Band alle Karten auf die höchste. */
        :root body .ssm-wisch-band.ssm-wisch-band > * {
          flex: 0 0 var(--wisch-breite, min(82%, 400px));
          min-width: 0;
          height: auto;
          align-self: stretch;
          scroll-snap-align: start;
        }
      }

      /* CTA-Reihe (DESIGN.md Kap. 9 · Buttons): bis 599px stehen die
         Buttons eines Abschnitts untereinander, jeder über die volle Breite;
         ab 600px (Tablet) nebeneinander, auch in einspaltigen Abschnitten. Wohin die Reihe rückt (ans Ende des Containers,
         nicht hinter die Subheadline), regelt die Komponente selbst. */
      @media (max-width: 1199px) {
        :root body .ssm-cta-reihe {
          display: flex;
          flex-direction: column;
          flex-wrap: nowrap;
          align-items: stretch;
          justify-content: flex-start;
          gap: 12px;
          box-sizing: border-box;
          width: 100%;
          max-width: none;
          margin-left: 0;
          margin-right: 0;
          align-self: stretch;
        }
        :root body .ssm-cta-reihe .ssm-btn-wrap {
          display: block;
          flex: none;
          width: 100%;
        }
        :root body .ssm-cta-reihe .ssm-btn {
          width: 100%;
          justify-content: center;
        }
      }
      /* Tablet (600–1199px): Buttons kompakt wie im Hero (Nutzerwunsch
         2026-10-05/06) — jeder nur so breit wie sein Text, nebeneinander und
         zentriert, statt zusammen die volle Breite zu füllen. Passt das nicht
         nebeneinander → untereinander, dann gleich breit (Handy:
         untereinander, volle Breite) */
      @media (min-width: 600px) and (max-width: 1199px) {
        :root body .ssm-cta-reihe {
          display: grid;
          grid-auto-flow: column;
          grid-auto-columns: max-content;
          width: max-content;
          max-width: 100%;
          margin-left: auto;
          margin-right: auto;
          align-self: center;
          justify-self: center;
        }
        :root body .ssm-cta-reihe .ssm-btn-wrap {
          width: auto;
          min-width: 0;
        }
        :root body .ssm-cta-reihe[data-stapeln] {
          grid-auto-flow: row;
        }
      }
      /* Desktop-Blättern per Skript (lib/radBlaettern.ts, 2026-10-12):
         CSS-Einrasten aus — sonst kämpfen beide gegeneinander */
      html[data-rad-blaettern][data-rad-blaettern],
      html[data-rad-blaettern] .ssm-buehne-schiene {
        scroll-snap-type: none !important;
      }
      /* Touch-Geräte: natives Scrollen ohne Einrasten (2026-10-12, vorher
         „proximity“ bzw. Skript-Blättern — beides ließ Safari ruckeln/
         vibrieren). !important schlägt den Inline-Wert der Bühnen-Schiene
         und die Snap-Regeln der Seiten. Waagerechte Wisch-Bänder rasten
         weiter ein (eigener scroll-snap-type), nur ohne hartes Festhalten. */
      @media (hover: none), (pointer: coarse) {
        html:not(.ssm-gsch-frei),
        .ssm-buehne-schiene {
          scroll-snap-type: none !important;
        }
        html:not(.ssm-gsch-frei) *,
        .ssm-buehne-schiene * {
          scroll-snap-stop: normal !important;
        }
      }
      /* Niedriges Fenster (< 700px Höhe) bei ALLEN Breiten und Geräten (Maus
         wie Touch, z. B. Laptop mit Lesezeichenleiste, Handy quer): kein
         Snap und kein Skript-Blättern, die Seite scrollt normal — sonst werden
         Abstände und Karten übermäßig gequetscht, damit ein Abschnitt auf den
         Bildschirm passt. Steht NACH den Touch-Regeln, damit sie gewinnt.
         Maus seit 2026-10-05 ebenfalls erst unter 700px (vorher 800px): die
         Abschnitte sind für 700–799px zusätzlich gestaucht (Komponenten,
         „min-height: 700px“-Stufen), damit sie auf den Bildschirm passen.
         Klasse ssm-niedrig: lib/niedrigesFenster.ts */
      @media (max-height: 699px) {
        html,
        html:not(.ssm-gsch-frei),
        html:root:has(*),
        .ssm-buehne-schiene {
          scroll-snap-type: none !important;
        }
      }
      html.ssm-niedrig,
      html.ssm-niedrig:root:has(*),
      html.ssm-niedrig .ssm-buehne-schiene {
        scroll-snap-type: none !important;
      }
      /* Mobil: gerundete Abschnitts-Container schneiden in Safari auch Kinder
         mit Transform/Animation rund ab (sonst eckige Ränder hinter der
         Rundung) */
      @media (max-width: 1199px) {
        .ssm-leistungen-container,
        .ssm-partner-oben,
        .ssm-partner-video,
        .ssm-probleme-container,
        .ssm-lu-container,
        .ssm-faq-flaeche,
        .ssm-cta-inner,
        .ssm-snap[data-grund="hell"] .ssm-snap-flaeche {
          transform: translateZ(0);
        }
      }
      .ssm-snap-ende {
        display: block;
        height: 0;
        scroll-snap-align: end;
        scroll-snap-stop: always;
        pointer-events: none;
      }
      /* Mobil: kein eigener Abstand am End-Punkt mehr — jeder Abschnitt hält
         unten selbst die Leiste frei (--rand-unten-mobil) */

      body {
        margin: 0;
        overflow-x: clip;
        /* transparent: der Grund liegt auf <html> (Safari-Leisten) und im
           festen #ssm-hintergrund. Ein deckender body-Hintergrund würde den
           grünen Glow (z-index -1) komplett überdecken. */
        background: transparent;
        font-family: "Plus Jakarta Sans", sans-serif;
        -webkit-font-smoothing: antialiased;
        word-spacing: 0.07em;
      }

      #ssm-hintergrund {
        position: fixed;
        inset: 0;
        z-index: -1;
        pointer-events: none;
        background-color: #0a0b0c;
        background-image:
          /* Grün-türkiser Dauer-Glow (verstärkt 2026-09-25): oben rechts
             kräftig, unten links etwas schwächer (vorher 0.16 / 0.13) */
          radial-gradient(
            95% 68% at 88% -8%,
            rgba(0, 255, 211, 0.52) 0%,
            rgba(0, 255, 211, 0.24) 38%,
            rgba(0, 0, 0, 0) 76%
          ),
          radial-gradient(
            88% 64% at 6% 104%,
            rgba(0, 255, 211, 0.46) 0%,
            rgba(0, 255, 211, 0.2) 40%,
            rgba(0, 0, 0, 0) 74%
          ),
          linear-gradient(160deg, #16181a 0%, #0a0b0c 62%, #08090a 100%);
      }
      /* Kontaktseite: dieselbe feste Vollbild-Fläche wie auf den dunklen
         Seiten, nur weiß und ohne Glows — hält hinter Fades und Leisten
         (Safari: Adress-/Tab-Leiste ein-/ausgeblendet) immer deckendes Weiß */
      body[data-hintergrund="keiner"] #ssm-hintergrund {
        background-color: #fafafa;
        background-image: none;
      }
      body[data-hintergrund="keiner"] {
        background: transparent;
      }
      a {
        color: var(--accent);
        text-decoration: none;
      }
      /* iOS-Safari verlinkt Telefonnummern im Text automatisch (<a
         x-apple-data-detectors>) — ohne diese Regel färbt sie die globale
         Link-Farbe (türkis). Farbe, Schrift und Unterstreichung bleiben die
         des umgebenden Texts (Kontaktseite: schwarz). */
      a[x-apple-data-detectors],
      a[x-apple-data-detectors-type],
      a[x-apple-data-detectors-result] {
        color: inherit !important;
        font: inherit !important;
        letter-spacing: inherit !important;
        text-decoration: none !important;
      }

      /* Abschnittstitel sind echte <h2> (Gliederung für Suchmaschinen,
         KI-Systeme, Screenreader), sehen aber aus wie zuvor als <div>:
         Browser-Standards für Abstand/Größe/Gewicht neutralisiert,
         Spezifität 0 — die Komponenten-Klassen bestimmen die Optik. */
      /* Inhaltsbilder als echtes <img> (Alt-Text, Bildersuche) statt
         CSS-Hintergrund: füllt die Fläche wie background-size: cover /
         background-position: center. Abweichende Ausschnitte setzt die
         Komponente per object-position bzw. object-fit. */
      /* Umbruch (2026-10-06): Überschriften mit normalem Umbruch
         (text-wrap: wrap) statt balance — balance UND pretty erzeugten in
         Safari mit festen Umbrüchen/Akzentwörtern unsinnige Umbrüche („Der“
         allein in einer Zeile, „Zwei / Wege, die“). Gegen ein einzelnes Wort
         in der letzten Zeile sorgt das Bindungs-Skript unten. Fließtexte
         dürfen pretty behalten. Bitte kein balance/pretty für Überschriften. */

      /* ===== Sparmodus (data-leistung="sparsam", Skript oben im <head>) =====
         Alle Blur-Effekte aus (filter inkl. drop-shadow, backdrop-filter;
         !important schlägt auch Inline-Werte aus GSAP-Animationen), reine
         Glow-/Schimmer-Ebenen ausgeblendet. Lichtkanten bleiben als
         scharfe Linie, Einblendungen laufen nur noch als Überblendung. */
      :root[data-leistung="sparsam"] *,
      :root[data-leistung="sparsam"] *::before,
      :root[data-leistung="sparsam"] *::after {
        filter: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
      }
      :root[data-leistung="sparsam"]
        :is(
          .ssm-randblur:not(.ist-vorberechnet),
          [class*="backglow"],
          [class*="-glow"],
          [class*="glut"],
          [class*="halo"],
          [class*="herzglow"],
          [class*="sheen"],
          [class*="glanz"]:not(.ssm-umschalter-schiene-glanz),
          .ssm-btn-aura,
          .ssm-gsch-fahne:not([data-fahne$="kern"]),
          #ssm-rand-glow
        ) {
        display: none !important;
      }
      /* Ruhiger Hintergrund (2026-10-05, iPad Pro 10,5″ hing selbst im
         Sparmodus): Filmkorn-Overlay und Korn-Texturen mit Mischmodus aus
         (Raster-Wellen gibt es seit 2026-10-06 gar nicht mehr). Endlose Deko-
         Animationen stehen auf ihrem ersten Bild (pausiert statt entfernt —
         Grundposition aus den Keyframes bleibt erhalten). */
      :root[data-leistung="sparsam"] body::after,
      :root[data-leistung="sparsam"]
        :is(
          .ssm-mn-korn,
          .ssm-glas-grain,
          .ssm-footer-grain
        ) {
        display: none !important;
      }
      :root[data-leistung="sparsam"] .ssm-char {
        will-change: auto !important;
      }
      :root[data-leistung="sparsam"]
        :is(
          [class*="-akzent"],
          .ssm-referenzen-wechsel,
          .ssm-snap-pfeil,
          .ssm-karussell-band,
          .ssm-vertrauen-stern,
          .ssm-stimmen-stern,
          .ssm-vcard-play-ring,
          .ssm-gsch-fahne,
          .ssm-hero-us-scroll-hinweis svg,
          .ssm-abgrenzung-bild
        ) {
        animation-play-state: paused !important;
      }
      /* Kein Einrasten und keine Überblendung beim Scrollen: der Browser
         scrollt nativ (Desktop-Blättern lib/radBlaettern.ts ist dort aus) */
      :root[data-leistung="sparsam"],
      :root[data-leistung="sparsam"] .ssm-buehne-schiene {
        scroll-snap-type: none !important;
      }
      /* Keine Rand-Fades (Farbe und Blur) im Sparmodus (2026-10-08) — das
         Logo steht stattdessen in einer Pille (HeaderBegleiter/MobilNav) */
      :root[data-leistung="sparsam"] #ssm-header-schleier,
      :root[data-leistung="sparsam"] .ssm-rand-blur {
        display: none !important;
      }

      .ssm-bild-fuellung {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
        object-position: center;
        border-radius: inherit;
        pointer-events: none;
      }

      :where(h2.ssm-abschnitt-h2) {
        margin: 0;
        font-size: inherit;
        font-weight: inherit;
      }

      /* Zeilenumbruch-Grundregel (keine einzelnen Wörter in der letzten Zeile,
         möglichst gleich lange Zeilen): Überschriften und Titel ausgleichen,
         Fließtext/Listen/Beschriftungen ohne Waisenzeile. Niedrige
         Spezifität — Komponenten dürfen es überschreiben. */
      h1,
      h2,
      h3,
      h4,
      [class*="titel"],
      [class*="headline"],
      [class*="subheadline"] {
        text-wrap: wrap;
      }
      p,
      li,
      figcaption,
      [class*="text"],
      [class*="beschreibung"],
      [class*="antwort"],
      [class*="frage"],
      [class*="body"],
      [class*="label"] {
        text-wrap: pretty;
      }
      a:hover {
        color: #7cffea;
      }

      body::after {
        content: "";
        position: fixed;
        inset: 0;
        z-index: 9999;
        pointer-events: none;
        background-image:
          url("/assets/noise-alpha.png"), url("/assets/noise-alpha.png");
        background-repeat: repeat, repeat;
        background-size:
          var(--korn-groesse, 96px) var(--korn-groesse, 96px),
          calc(var(--korn-groesse, 96px) * var(--korn-faktor, 1.61))
            calc(var(--korn-groesse, 96px) * var(--korn-faktor, 1.61));
        background-position:
          0 0,
          37px 61px;
        -webkit-mask-image: radial-gradient(
          ellipse var(--korn-mw, 124%) var(--korn-mh, 128%) at 50% 47%,
          #000 0%,
          rgba(0, 0, 0, 0.94) 24%,
          rgba(0, 0, 0, 0.74) 44%,
          rgba(0, 0, 0, 0.44) 64%,
          rgba(0, 0, 0, 0.18) 82%,
          rgba(0, 0, 0, 0) 100%
        );
        mask-image: radial-gradient(
          ellipse var(--korn-mw, 124%) var(--korn-mh, 128%) at 50% 47%,
          #000 0%,
          rgba(0, 0, 0, 0.94) 24%,
          rgba(0, 0, 0, 0.74) 44%,
          rgba(0, 0, 0, 0.44) 64%,
          rgba(0, 0, 0, 0.18) 82%,
          rgba(0, 0, 0, 0) 100%
        );
        opacity: 0;
        animation: ssm-korn-auf 1400ms cubic-bezier(0.22, 1, 0.36, 1) 120ms
          forwards;
      }
      @keyframes ssm-korn-auf {
        from {
          opacity: 0;
        }
        to {
          opacity: var(--korn-o, 0.05);
        }
      }
      @media (prefers-reduced-motion: reduce) {
        body::after {
          animation: none;
          opacity: var(--korn-o, 0.05);
        }
      }


      @keyframes ssm-sweep {
        0% {
          transform: translateX(-130%);
          opacity: 0;
        }
        22% {
          opacity: 1;
        }
        100% {
          transform: translateX(340%);
          opacity: 0;
        }
      }

      #ssm-rand-glow {
        position: fixed;
        inset: 0;
        z-index: 9998;
        pointer-events: none;
        opacity: 0;
        box-shadow:
          inset 0 0 130px -4px rgba(var(--glow-rgb, 0, 255, 211), 0.32),
          inset 0 0 54px -6px rgba(var(--glow-rgb, 0, 255, 211), 0.26);
        transition: opacity 620ms cubic-bezier(0.32, 0, 0.18, 1);
      }
      /* Ganz aus, solange er nicht leuchtet (2026-10-06, Leistung): sonst
         hält er dauerhaft eine bildschirmgroße Grafikebene. Button.astro
         blendet ihn vor dem Aufleuchten ein und nach dem Ausblenden aus. */
      #ssm-rand-glow:not(.ist-an) {
        display: none;
      }

      #ssm-header-schleier {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        height: 170px;
        z-index: 99;
        pointer-events: none;
        /* nur noch ganz leichter Farbton (2026-10-08, vorher 0,7 / 0,32),
           der Blur (.ssm-rand-blur) trägt den Fade — jetzt auch auf der
           Startseite (vorher dort aus) */
        background-image: linear-gradient(
          to bottom,
          rgba(10, 11, 12, 0.3) 0%,
          rgba(10, 11, 12, 0.13) 46%,
          rgba(10, 11, 12, 0) 100%
        );
      }
      body[data-hintergrund="keiner"] #ssm-header-schleier,
      body.ssm-schleier-hell #ssm-header-schleier {
        background-image: linear-gradient(
          to bottom,
          rgba(250, 250, 250, 0.4) 0%,
          rgba(250, 250, 250, 0.18) 46%,
          rgba(250, 250, 250, 0) 100%
        );
      }

      /* Mobil übernimmt MobilNav die Rand-Fades (immer dunkel + unscharf) —
         gleiche Bedingung wie die MobilNav selbst */
      @media (max-width: 1023px),
        (max-width: 1199px) and (hover: none),
        (max-width: 1199px) and (pointer: coarse) {
        #ssm-header-schleier,
        .ssm-rand-blur {
          display: none;
        }
      }
      .ssm-rand-blur {
        position: fixed;
        left: 0;
        right: 0;
        height: 100px;
        z-index: 98;
        pointer-events: none;
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
      }
      /* Oben höher als unten, sanft (7px, läuft ab 20 % aus): der stärkste
         Bereich liegt sonst genau unter Logo/Menü und wird zusätzlich vom
         Header-Schleier (170px) überdeckt — so wirkt er wie unten. */
      .ssm-rand-blur-top {
        top: 0;
        height: 170px;
        backdrop-filter: blur(7px);
        -webkit-backdrop-filter: blur(7px);
        -webkit-mask-image: linear-gradient(
          to bottom,
          rgba(0, 0, 0, 1) 0%,
          rgba(0, 0, 0, 1) 20%,
          rgba(0, 0, 0, 0) 100%
        );
        mask-image: linear-gradient(
          to bottom,
          rgba(0, 0, 0, 1) 0%,
          rgba(0, 0, 0, 1) 20%,
          rgba(0, 0, 0, 0) 100%
        );
      }
      .ssm-rand-blur-bottom {
        bottom: 0;
        -webkit-mask-image: linear-gradient(
          to top,
          rgba(0, 0, 0, 1) 0%,
          rgba(0, 0, 0, 0) 100%
        );
        mask-image: linear-gradient(
          to top,
          rgba(0, 0, 0, 1) 0%,
          rgba(0, 0, 0, 0) 100%
        );
      }

      /* Akzent-Glow: sanfter türkiser Schein entlang der Buchstaben, blendet
         in regelmäßigem Takt weich ein und aus (6 s). Gilt für alle
         Headline-Akzente; Team-Hero behält seinen Herzschlag (.ssm-ht-akzent,
         an den Karten-Glow gekoppelt).
         Umbau 2026-10-06 (Leistung): vorher pulsierte eine CSS-Variable im
         text-shadow — das erzwang JEDES Bild Stil- und Layout-Berechnung
         der ganzen Seite (gemessen: schon ein sichtbarer Akzent ≈ 65 ms/s,
         55 Layouts/s). Jetzt trägt eine Textkopie (::after, Text aus
         data-glow-text, gesetzt im Skript unten — eigener Name, die Zeitachse
         nutzt data-glow schon für ihre Kreuzpunkte) den vollen Schein und pulsiert
         nur in der Deckkraft — das rechnet die Grafikkarte. Bis das Skript
         läuft (und für den sich ständig ändernden Wortwechsel) gilt ein
         ruhiger, statischer Schein. */
      :is(
        .ssm-abgrenzung-akzent,
        .ssm-ablauf-sektion-akzent,
        .ssm-branchen-akzent,
        .ssm-cta-akzent,
        .ssm-faq-akzent,
        .ssm-formular-akzent,
        .ssm-galerie-akzent,
        .ssm-gsch-akzent,
        .ssm-hero-akzent,
        .ssm-hero-sch-akzent,
        .ssm-hero-us-akzent,
        .ssm-leistungen-akzent,
        .ssm-loesung-akzent,
        .ssm-lu-akzent,
        .ssm-partner-akzent,
        .ssm-pf-akzent,
        .ssm-probleme-akzent,
        .ssm-rap-akzent,
        .ssm-rlf-akzent,
        .ssm-rls-akzent,
        .ssm-rlv-akzent,
        .ssm-rlw-akzent,
        .ssm-rsk-akzent,
        .ssm-snap-akzent,
        .ssm-stimmen-akzent,
        .ssm-strategie-akzent,
        .ssm-warum-akzent,
        .ssm-zahlen-akzent,
        .ssm-referenzen-wechsel
      ) {
        --glow-voll:
          0 0 10px rgba(0, 255, 211, 0.7), 0 0 20px rgba(0, 255, 211, 0.4);
        text-shadow:
          0 0 6.4px rgba(0, 255, 211, 0.46), 0 0 14px rgba(0, 255, 211, 0.25);
      }
      /* Heller Grund: kräftiger Schein wirkt auf Weiß verwaschen — dort
         viel weicher, weiter ausgebreitet und subtiler (dunkleres Türkis,
         geringe Deckkraft), gleicher Takt. */
      :is(
        .ssm-partner-akzent,
        .ssm-leistungen-akzent,
        .ssm-probleme-akzent,
        .ssm-lu-akzent,
        .ssm-faq-akzent,
        .ssm-cta-akzent,
        .ssm-formular-akzent,
        .ssm-snap[data-grund="hell"] .ssm-snap-akzent
      ) {
        --glow-voll:
          0 0 28px rgba(0, 168, 143, 0.17), 0 0 60px rgba(0, 255, 211, 0.11);
        text-shadow:
          0 0 20.8px rgba(0, 168, 143, 0.098),
          0 0 45.6px rgba(0, 255, 211, 0.062);
      }
      [data-glow-text] {
        isolation: isolate;
        text-shadow: none !important;
      }
      [data-glow-text]::after {
        content: attr(data-glow-text);
        position: absolute;
        inset: 0;
        z-index: -1;
        padding: inherit;
        white-space: inherit;
        pointer-events: none;
        background: none;
        color: transparent;
        -webkit-text-fill-color: transparent;
        text-shadow: var(--glow-voll);
        opacity: 0.35;
        animation: ssm-akzent-glow 6s ease-in-out infinite;
      }
      @keyframes ssm-akzent-glow {
        0%,
        100% {
          opacity: 0.35;
        }
        45% {
          opacity: 1;
        }
        /* 90–100 %: kurze Ruhe vor dem nächsten Aufleuchten */
        90% {
          opacity: 0.35;
        }
      }
      [data-fern]::after,
      :root[data-leistung="sparsam"] [data-glow-text]::after {
        animation-play-state: paused !important;
      }
      @media (prefers-reduced-motion: reduce) {
        [data-glow-text]::after {
          animation: none;
          opacity: 0.6;
        }
      }

      /* Leistung (2026-10-06): weit vom Bildschirm entfernt (data-fern,
         Wächter-Skript unten) laufen keine Endlos-Animationen und keine
         Live-Unschärfe — beides kostete auch außerhalb des Bildes jedes
         Bild Rechenzeit bzw. eigene Grafikebenen. Optisch unverändert:
         alles wird mit einer halben Bildschirmhöhe Vorlauf wieder aktiv. */
      [data-fern] {
        animation-play-state: paused !important;
        /* weit weg keine vorgehaltene Grafikebene (Hero-Freisteller,
           Strategie-Wörter); in Bildschirmnähe wieder wie gestaltet */
        will-change: auto !important;
      }
      .ssm-randblur[data-fern] {
        display: none;
      }
      .ssm-card-fade-bottom[data-fern]::before,
      .ssm-vcard-verlauf[data-fern]::before,
      .ssm-gsch-bild-lupe[data-fern] {
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
      }

      /* Rand-Blur für Karten mit Bildinhalt: Bild wird rundum innen am Rand
         unscharf, schmal (--randblur-breite) und weich ausgeblendet.
         Element <div class="ssm-randblur"> direkt hinter der Bildebene. */
      .ssm-randblur {
        position: absolute;
        inset: 0;
        border-radius: inherit;
        pointer-events: none;
        -webkit-backdrop-filter: blur(var(--randblur-staerke));
        backdrop-filter: blur(var(--randblur-staerke));
        -webkit-mask-image:
          linear-gradient(
            to right,
            #000 0%,
            rgba(0, 0, 0, 0.72) calc(var(--randblur-breite) * 0.2),
            rgba(0, 0, 0, 0.42) calc(var(--randblur-breite) * 0.45),
            rgba(0, 0, 0, 0.17) calc(var(--randblur-breite) * 0.72),
            transparent var(--randblur-breite),
            transparent calc(100% - var(--randblur-breite)),
            rgba(0, 0, 0, 0.17) calc(100% - var(--randblur-breite) * 0.72),
            rgba(0, 0, 0, 0.42) calc(100% - var(--randblur-breite) * 0.45),
            rgba(0, 0, 0, 0.72) calc(100% - var(--randblur-breite) * 0.2),
            #000 100%
          ),
          linear-gradient(
            to bottom,
            #000 0%,
            rgba(0, 0, 0, 0.72) calc(var(--randblur-breite) * 0.2),
            rgba(0, 0, 0, 0.42) calc(var(--randblur-breite) * 0.45),
            rgba(0, 0, 0, 0.17) calc(var(--randblur-breite) * 0.72),
            transparent var(--randblur-breite),
            transparent calc(100% - var(--randblur-breite)),
            rgba(0, 0, 0, 0.17) calc(100% - var(--randblur-breite) * 0.72),
            rgba(0, 0, 0, 0.42) calc(100% - var(--randblur-breite) * 0.45),
            rgba(0, 0, 0, 0.72) calc(100% - var(--randblur-breite) * 0.2),
            #000 100%
          );
        mask-image:
          linear-gradient(
            to right,
            #000 0%,
            rgba(0, 0, 0, 0.72) calc(var(--randblur-breite) * 0.2),
            rgba(0, 0, 0, 0.42) calc(var(--randblur-breite) * 0.45),
            rgba(0, 0, 0, 0.17) calc(var(--randblur-breite) * 0.72),
            transparent var(--randblur-breite),
            transparent calc(100% - var(--randblur-breite)),
            rgba(0, 0, 0, 0.17) calc(100% - var(--randblur-breite) * 0.72),
            rgba(0, 0, 0, 0.42) calc(100% - var(--randblur-breite) * 0.45),
            rgba(0, 0, 0, 0.72) calc(100% - var(--randblur-breite) * 0.2),
            #000 100%
          ),
          linear-gradient(
            to bottom,
            #000 0%,
            rgba(0, 0, 0, 0.72) calc(var(--randblur-breite) * 0.2),
            rgba(0, 0, 0, 0.42) calc(var(--randblur-breite) * 0.45),
            rgba(0, 0, 0, 0.17) calc(var(--randblur-breite) * 0.72),
            transparent var(--randblur-breite),
            transparent calc(100% - var(--randblur-breite)),
            rgba(0, 0, 0, 0.17) calc(100% - var(--randblur-breite) * 0.72),
            rgba(0, 0, 0, 0.42) calc(100% - var(--randblur-breite) * 0.45),
            rgba(0, 0, 0, 0.72) calc(100% - var(--randblur-breite) * 0.2),
            #000 100%
          );
      }
      /* Vorberechnet (lib/unschaerfe.ts, 2026-10-06): die Schicht enthält
         eine winzige, beim Build unscharf gerechnete Kopie des Fotos — keine
         Live-Unschärfe mehr, gleiche Randmaske. Die Kopie trägt dieselben
         Klassen wie das Foto (Lage, Ausschnitt, Hover-Zoom wie das Original). */
      .ssm-randblur.ist-vorberechnet {
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
        overflow: hidden;
      }
      /* Verlauf hinter dem Kartentext, ebenfalls vorberechnet: eigene
         Schicht über die ganze Karte (damit die Kopie deckungsgleich zum Foto
         liegt), Maske = Bereich des bisherigen Verlaufs (--textblur-maske je
         Karte). Der Verlauf selbst (dunkler Farbverlauf) bleibt darüber, nur
         seine Live-Unschärfe (::before) entfällt. */
      .ssm-textblur {
        position: absolute;
        inset: 0;
        border-radius: inherit;
        pointer-events: none;
        overflow: hidden;
        -webkit-mask-image: var(--textblur-maske);
        mask-image: var(--textblur-maske);
      }
      .ist-vorberechnet::before {
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
      }.ssm-raster-grund[data-astro-cid-bwgqbneg] {
  position: absolute;
  inset: 0;
}
.ssm-footer[data-astro-cid-jo6i4kqk] {
  position: relative;
  z-index: 105;
  box-sizing: border-box;
  padding: 14px;
}

.ssm-footer-flaeche[data-astro-cid-jo6i4kqk] {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  isolation: isolate;
  transform: translateZ(0);
  -webkit-mask-image: -webkit-radial-gradient(#fff, #000);
  mask-image: radial-gradient(#fff, #000);
  font-family: Plus Jakarta Sans, sans-serif;
  background-color: #0e0f10;
  background-image: radial-gradient(130% 120% at 88% -30%,
        rgba(var(--glow-rgb, 0, 255, 211), calc(var(--ambient-a, .13) * .8))
          0%,
        rgba(var(--glow-rgb, 0, 255, 211), .03) 34%,
        #0000 72%),
      linear-gradient(160deg, #16181a 0%, #0a0b0c 100%);
}

.ssm-footer[data-astro-cid-jo6i4kqk][data-grund="hell"] .ssm-footer-flaeche[data-astro-cid-jo6i4kqk] {
  background-color: #1c1e20;
  background-image: radial-gradient(130% 120% at 88% -30%,
        rgba(var(--glow-rgb, 0, 255, 211), calc(var(--ambient-a, .13) * .8))
          0%,
        rgba(var(--glow-rgb, 0, 255, 211), .03) 34%,
        #0000 72%),
      linear-gradient(215deg, #34383a 0%, #1c1e20 100%);
  box-shadow: 0 30px 70px -34px #16181a66;
}

.ssm-footer-glow-unten[data-astro-cid-jo6i4kqk] {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 34%;
  pointer-events: none;
  background-image: radial-gradient(130% 118% at 46% 132%,
        rgba(var(--glow-rgb, 0, 255, 211), .62) 0%,
        rgba(var(--glow-rgb, 0, 255, 211), .3) 34%,
        rgba(var(--glow-rgb, 0, 255, 211), .1) 58%,
        #0000 80%),
      radial-gradient(90% 100% at 82% 128%,
        #7cffea57 0%,
        rgba(var(--glow-rgb, 0, 255, 211), .08) 46%,
        #0000 76%);
  filter: blur(26px);
  mask-image: linear-gradient(to top, #000 0% 34%, #00000073 68%, #0000 100%);
  -webkit-mask-image: linear-gradient(to top, #000 0% 34%, #00000073 68%, #0000 100%);
}

.ssm-footer-glow-schein[data-astro-cid-jo6i4kqk] {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 22%;
  pointer-events: none;
  background-image: linear-gradient(to top, #0714129e 0%, #07141247 52%, #0000 100%);
}

.ssm-footer-grain[data-astro-cid-jo6i4kqk] {
  position: absolute;
  inset: 0;
  opacity: .34;
  mix-blend-mode: overlay;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27140%27 height=%27140%27%3E%3Cfilter id=%27n%27%3E%3CfeTurbulence type=%27fractalNoise%27 baseFrequency=%270.85%27 numOctaves=%273%27/%3E%3C/filter%3E%3Crect width=%27140%27 height=%27140%27 filter=%27url(%23n)%27/%3E%3C/svg%3E");
}

.ssm-footer-raster[data-astro-cid-jo6i4kqk] {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.ssm-footer-spalten[data-astro-cid-jo6i4kqk] {
  position: relative;
  box-sizing: border-box;
  padding: 88px 72px 32px;
  display: grid;
  grid-template-columns: minmax(260px, 1.3fr) repeat(4, minmax(max-content, 1fr));
  gap: 40px;
  align-items: start;
  max-width: 1344px;
  margin-inline: auto;
}

.ssm-footer-marke[data-astro-cid-jo6i4kqk] {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.ssm-footer-logo-link[data-astro-cid-jo6i4kqk] {
  display: block;
  align-self: flex-start;
  line-height: 0;
  transition: transform .22s cubic-bezier(.22, 1, .36, 1), filter .22s cubic-bezier(.22, 1, .36, 1);
}

.ssm-footer-logo-link[data-astro-cid-jo6i4kqk]:hover {
  transform: scale(1.05);
  filter: drop-shadow(0 0 12px #fff6);
}

.ssm-footer-adresse[data-astro-cid-jo6i4kqk] {
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: -.02em;
  color: #a8aca8;
  white-space: nowrap;
}

.ssm-footer-kontakte[data-astro-cid-jo6i4kqk] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-start;
}

.ssm-footer-kontakt-zeile[data-astro-cid-jo6i4kqk] {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 42px;
  white-space: nowrap;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.28;
  letter-spacing: -.035em;
  color: #ffffffb8;
  text-decoration: none;
  transform-origin: 0;
  backface-visibility: hidden;
  transition: transform .2s cubic-bezier(.22, 1, .36, 1), color .2s cubic-bezier(.22, 1, .36, 1);
}

.ssm-footer-kontakt-zeile[data-astro-cid-jo6i4kqk]:hover {
  color: #fff;
  font-family: EB Garamond, Libre Baskerville, serif;
  font-style: italic;
  display: inline-flex;
  line-height: 1.28;
  padding-right: .14em;
  padding-bottom: .14em;
  letter-spacing: -.02em;
  font-size: 18.5px;
  transform: scale(1.03);
}

.ssm-footer-icon[data-astro-cid-jo6i4kqk] {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 28px;
  height: 28px;
  border-radius: 9px;
  background: var(--accent, #00ffd3);
  color: #072320;
  transition: box-shadow .26s cubic-bezier(.22, 1, .36, 1), width .26s cubic-bezier(.22, 1, .36, 1), height .26s cubic-bezier(.22, 1, .36, 1), border-radius .26s cubic-bezier(.22, 1, .36, 1);
}

.ssm-footer-kontakt-zeile[data-astro-cid-jo6i4kqk]:hover .ssm-footer-icon[data-astro-cid-jo6i4kqk] {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  box-shadow: 0 0 34px 10px rgba(var(--glow-rgb, 0, 255, 211), .22);
}

.ssm-footer-spalte[data-astro-cid-jo6i4kqk] {
  display: flex;
  flex-direction: column;
  gap: 22px;
  transform-origin: 0 0;
  backface-visibility: hidden;
  transition: transform .24s cubic-bezier(.22, 1, .36, 1);
}

.ssm-footer-spalte[data-astro-cid-jo6i4kqk]:hover {
  transform: scale(1.035);
}

.ssm-footer-spalte-kopf[data-astro-cid-jo6i4kqk] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ssm-footer-spalte-kopf[data-astro-cid-jo6i4kqk] span[data-astro-cid-jo6i4kqk]:first-child {
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -.035em;
  color: #fff;
}

.ssm-footer-linie[data-astro-cid-jo6i4kqk] {
  height: 1px;
  width: 44px;
  background: var(--accent, #00ffd3);
  opacity: .55;
  box-shadow: none;
  transition: width .28s cubic-bezier(.22, 1, .36, 1), box-shadow .28s cubic-bezier(.22, 1, .36, 1), opacity .28s cubic-bezier(.22, 1, .36, 1);
}

.ssm-footer-spalte[data-astro-cid-jo6i4kqk]:hover .ssm-footer-linie[data-astro-cid-jo6i4kqk] {
  width: 100%;
  opacity: 1;
  box-shadow: 0 0 12px rgba(var(--glow-rgb, 0, 255, 211), .7);
}

.ssm-footer-spalte-links[data-astro-cid-jo6i4kqk] {
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-items: flex-start;
}

.ssm-footer-link[data-astro-cid-jo6i4kqk] {
  display: inline-block;
  white-space: nowrap;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.28;
  letter-spacing: -.035em;
  color: #ffffffb8;
  text-decoration: none;
  transform-origin: 0;
  backface-visibility: hidden;
  transition: transform .2s cubic-bezier(.22, 1, .36, 1), color .2s cubic-bezier(.22, 1, .36, 1);
}

.ssm-footer-link[data-astro-cid-jo6i4kqk]:hover {
  color: #fff;
  font-family: EB Garamond, Libre Baskerville, serif;
  font-style: italic;
  display: inline-block;
  font-size: 19.7px;
  line-height: 1.28;
  padding-right: .14em;
  padding-bottom: .14em;
  margin-bottom: calc(20.48px - 1.42em);
  letter-spacing: -.02em;
  transform: scale(1.03);
}

.ssm-footer-unten[data-astro-cid-jo6i4kqk] {
  position: relative;
  box-sizing: border-box;
  max-width: 1344px;
  margin-inline: auto;
  border-top: 1px solid #ffffff14;
  padding: 32px 72px 40px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 32px;
  align-items: center;
}

.ssm-footer-copyright[data-astro-cid-jo6i4kqk] {
  font-size: 14px;
  letter-spacing: .02em;
  color: #ffffffc7;
}

.ssm-footer-social[data-astro-cid-jo6i4kqk] {
  display: flex;
  gap: 8px;
  justify-content: center;
}

.ssm-footer-social-chip[data-astro-cid-jo6i4kqk] {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .01em;
  color: #ffffffe0;
  padding: 8px 16px;
  border-radius: 9999px;
  border: 1px solid #ffffff42;
  text-decoration: none;
  backface-visibility: hidden;
  transition: color .2s cubic-bezier(.22, 1, .36, 1), border-color .2s cubic-bezier(.22, 1, .36, 1), transform .2s cubic-bezier(.22, 1, .36, 1);
}

.ssm-footer-social-chip[data-astro-cid-jo6i4kqk]:hover {
  color: #fff;
  border-color: #fff6;
  transform: scale(1.05);
}

.ssm-footer-rechtlich[data-astro-cid-jo6i4kqk] {
  display: flex;
  gap: 28px;
  justify-content: flex-end;
}

.ssm-footer-rechtlich-link[data-astro-cid-jo6i4kqk] {
  font-size: 14px;
  letter-spacing: .02em;
  color: #ffffffdb;
  text-decoration: none;
  transition: color .2s cubic-bezier(.22, 1, .36, 1);
}

.ssm-footer-rechtlich-link[data-astro-cid-jo6i4kqk]:hover {
  color: #fff;
}

@media (width <= 1300px) {
  .ssm-footer-spalten[data-astro-cid-jo6i4kqk] {
    grid-template-columns: repeat(4, auto);
    row-gap: 48px;
  }

  .ssm-footer-marke[data-astro-cid-jo6i4kqk] {
    grid-column: 1 / -1;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 24px 48px;
  }
}

@media (width <= 1199px) {
  .ssm-footer[data-astro-cid-jo6i4kqk] {
    padding-top: var(--rand-oben-mobil);
    padding-bottom: var(--rand-unten-mobil);
  }

  .ssm-footer-flaeche[data-astro-cid-jo6i4kqk] {
    border-radius: var(--radius-mobil);
  }
}

@media (width <= 900px) {
  .ssm-footer-spalten[data-astro-cid-jo6i4kqk] {
    grid-template-columns: 1fr 1fr;
    justify-content: stretch;
    padding: 56px 32px 32px;
  }

  .ssm-footer-marke[data-astro-cid-jo6i4kqk] {
    flex-direction: column;
    align-items: flex-start;
  }

  .ssm-footer-link[data-astro-cid-jo6i4kqk] {
    white-space: normal;
    text-wrap: wrap;
  }

  .ssm-footer-unten[data-astro-cid-jo6i4kqk] {
    grid-template-columns: 1fr;
    gap: 16px;
    text-align: center;
    padding-inline: 32px;
  }

  .ssm-footer-social[data-astro-cid-jo6i4kqk], .ssm-footer-rechtlich[data-astro-cid-jo6i4kqk] {
    justify-content: center;
  }

  .ssm-footer-social[data-astro-cid-jo6i4kqk] {
    flex-wrap: wrap;
  }
}

@media (width >= 600px) and (width <= 1199px) and (orientation: portrait) {
  .ssm-footer-marke[data-astro-cid-jo6i4kqk] {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas: "logo kontakte"
                         "adresse kontakte";
    align-items: start;
    gap: 16px 40px;
  }

  .ssm-footer-marke[data-astro-cid-jo6i4kqk] > .ssm-footer-logo-link {
    grid-area: logo;
  }

  .ssm-footer-adresse[data-astro-cid-jo6i4kqk] {
    grid-area: adresse;
  }

  .ssm-footer-kontakte[data-astro-cid-jo6i4kqk] {
    grid-area: kontakte;
    align-self: center;
  }
}

@media (width <= 480px) {
  .ssm-footer-spalten[data-astro-cid-jo6i4kqk] {
    padding-inline: 20px;
    grid-template-columns: auto auto;
    justify-content: space-between;
    column-gap: 12px;
  }

  .ssm-footer-link[data-astro-cid-jo6i4kqk] {
    font-size: 15px;
  }
}
