.elementor-822 .elementor-element.elementor-element-ec82199{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-822 .elementor-element.elementor-element-5f87405{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:767px){.elementor-822 .elementor-element.elementor-element-5f87405{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS for html, class: .elementor-element-c33c4de *//* ================================
   FOOTER
   ================================ */

.sb-footer {
  background: radial-gradient(1200px 600px at 20% -10%, rgba(37,99,235,.18), transparent 60%),
              radial-gradient(900px 500px at 90% 0%, rgba(59,130,246,.12), transparent 55%),
              #0B1220;
  color: rgba(255,255,255,.9);
  border-top: 1px solid rgba(148,163,184,.16);
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.sb-footer__inner {
  width: 100%;
  padding: clamp(2.5rem, 4vw, 4rem) clamp(1rem, 3vw, 2rem) 1.25rem;
}

.sb-footer__grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
  gap: clamp(1.25rem, 2.6vw, 2rem);
  align-items: start;
}

/* Brand */
.sb-footer__brandTop {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: .9rem;
}

.sb-footer__avatar {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  object-fit: cover;
  object-position: center 12%;
  border: 1px solid rgba(148,163,184,.22);
  box-shadow: 0 10px 22px rgba(0,0,0,.25);
}

.sb-footer__name {
  font-weight: 800;
  letter-spacing: -0.01em;
  color: #fff;
  font-size: 1rem;
  line-height: 1.25;
}

.sb-footer__role {
  font-size: .9rem;
  color: rgba(203,213,225,.82);
  line-height: 1.3;
}

.sb-footer__text {
  margin: 0;
  max-width: 34ch;
  color: rgba(203,213,225,.82);
  font-size: .95rem;
  line-height: 1.65;
}

/* Columns */
.sb-footer__col {
  display: flex;
  flex-direction: column;
  gap: .6rem;
}

.sb-footer__h {
  font-weight: 800;
  font-size: .85rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(226,232,240,.72);
  margin-bottom: .4rem;
}

.sb-footer__a {
  color: rgba(226,232,240,.86);
  text-decoration: none;
  font-size: .95rem;
  line-height: 1.45;
  width: fit-content;
  border-bottom: 1px solid transparent;
  transition: color .15s ease, border-color .15s ease, transform .15s ease;
}

.sb-footer__a:hover {
  color: #fff;
  border-color: rgba(255,255,255,.28);
  transform: translateY(-1px);
}

.sb-footer__muted {
  font-size: .9rem;
  color: rgba(203,213,225,.75);
}

/* Contact */
.sb-footer__contact {
  gap: .55rem;
}

.sb-footer__mail {
  font-weight: 700;
}

/* CTA Button */
.sb-footer__btn {
  --color-background: #2563EB;
  --color-background-hover: #1D4ED8;
  --color-outline: rgba(37,99,235,.28);
  --color-shadow: rgba(0,0,0,.28);

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;

  padding: 1.1rem 0 1.1rem 1.5rem;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Helvetica Neue', 'Segoe UI', Arial, sans-serif;
  font-size: .95rem;
  color: #fff;
  background: var(--color-background);
  border: none;
  cursor: pointer;

  box-shadow: 0 0 0.2em 0 rgba(37,99,235,.45);
  transition: 1s;
  width: fit-content;
  min-width: 210px;
}

.sb-footer__btn:active {
  transform: scale(0.97);
}

.sb-footer__btn:hover {
  outline: 0.1em solid transparent;
  outline-offset: 0.2em;
  box-shadow: 0 0 1em 0 rgba(37,99,235,.55);
  animation: sbFootRipple 1s linear infinite, sbFootColorize 1s infinite;
  transition: 0.5s;
}

.sb-footer__btn span {
  margin-right: 0.3em;
  transition: 0.5s;
}

.sb-footer__btn:hover span {
  text-shadow: 5px 5px 5px var(--color-shadow);
}

.sb-footer__btn:active span {
  text-shadow: none;
}

.sb-footer__btn svg {
  height: 0.85em;
  width: 1.4em;
  fill: #fff;
  margin-right: -0.16em;
  transition: 0.5s;
  flex-shrink: 0;
}

.sb-footer__btn:hover svg {
  margin-right: 0.66em;
  filter: drop-shadow(5px 5px 2.5px var(--color-shadow));
  transition: 0.5s;
}

.sb-footer__btn:active svg {
  filter: none;
}

.sb-footer__btn svg polygon:nth-child(1) {
  transition: 0.4s;
  transform: translateX(-60%);
}

.sb-footer__btn svg polygon:nth-child(2) {
  transition: 0.5s;
  transform: translateX(-30%);
}

.sb-footer__btn:hover svg polygon:nth-child(1) {
  transform: translateX(0%);
  animation: sbFootOpacity 1s infinite 0.6s;
}

.sb-footer__btn:hover svg polygon:nth-child(2) {
  transform: translateX(0%);
  animation: sbFootOpacity 1s infinite 0.4s;
}

.sb-footer__btn:hover svg polygon:nth-child(3) {
  animation: sbFootOpacity 1s infinite 0.2s;
}

@keyframes sbFootOpacity {
  0%   { opacity: 1; }
  50%  { opacity: 0; }
  100% { opacity: 1; }
}

@keyframes sbFootColorize {
  0%   { background: var(--color-background); }
  50%  { background: var(--color-background-hover); }
  100% { background: var(--color-background); }
}

@keyframes sbFootRipple {
  0%   { outline: 0em solid transparent; outline-offset: -0.1em; }
  50%  { outline: 0.2em solid var(--color-outline); outline-offset: 0.2em; }
  100% { outline: 0.4em solid transparent; outline-offset: 0.4em; }
}

/* Bottom Bar */
.sb-footer__bottom {
  margin-top: clamp(1.75rem, 3vw, 2.4rem);
  padding-top: 1rem;
  border-top: 1px solid rgba(148,163,184,.16);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  flex-wrap: wrap;
}

.sb-footer__copy,
.sb-footer__built {
  font-size: .9rem;
  color: rgba(203,213,225,.72);
}

/* Responsive */
@media (max-width: 980px) {
  .sb-footer__grid { grid-template-columns: 1fr 1fr; }
  .sb-footer__text { max-width: 52ch; }
}

@media (max-width: 640px) {
  .sb-footer__grid { grid-template-columns: 1fr; }
  .sb-footer__btn { width: 100%; min-width: 0; }
  .sb-footer__bottom { flex-direction: column; align-items: flex-start; }
}/* OVERDRIVE: Footer Button schmaler */
.sb-footer__btn {
  padding: 0.9rem 0 0.9rem 1.5rem !important;
  min-width: 180px !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3424b3a *//* ================================
   FOOTER
   ================================ */

.foot {
  background:
    radial-gradient(1200px 600px at 20% -10%, rgba(37,99,235,.18), transparent 60%),
    radial-gradient(900px 500px at 90% 0%, rgba(59,130,246,.12), transparent 55%),
    #0B1220;
  color: rgba(255,255,255,.9);
  border-top: 1px solid rgba(148,163,184,.16);
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.foot__inner {
  width: 100%;
  padding: clamp(2.5rem, 4vw, 4rem) clamp(1rem, 3vw, 2rem) 1.25rem;
}

.foot__grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1.2fr;
  gap: clamp(1.25rem, 2.6vw, 2rem);
  align-items: start;
}

/* Brand */
.foot__brand-top {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: .9rem;
}

.foot__avatar {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  object-fit: cover;
  object-position: center 12%;
  border: 1px solid rgba(148,163,184,.22);
  box-shadow: 0 10px 22px rgba(0,0,0,.25);
}

.foot__name {
  font-weight: 800;
  letter-spacing: -0.01em;
  color: #fff;
  font-size: 1rem;
  line-height: 1.25;
}

.foot__role {
  font-size: .9rem;
  color: rgba(203,213,225,.82);
  line-height: 1.3;
}

.foot__text {
  margin: 0;
  max-width: 34ch;
  color: rgba(203,213,225,.82);
  font-size: .95rem;
  line-height: 1.65;
}

/* Links Row */
.foot__links-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

/* Columns */
.foot__col {
  display: flex;
  flex-direction: column;
  gap: .6rem;
}

.foot__h {
  font-weight: 800;
  font-size: .85rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(226,232,240,.72);
  margin-bottom: .4rem;
}

.foot__a {
  color: rgba(226,232,240,.86);
  text-decoration: none;
  font-size: .95rem;
  line-height: 1.45;
  width: fit-content;
  border-bottom: 1px solid transparent;
  transition: color .15s ease, border-color .15s ease, transform .15s ease;
}

.foot__a:hover {
  color: #fff;
  border-color: rgba(255,255,255,.28);
  transform: translateY(-1px);
}

.foot__muted {
  font-size: .9rem;
  color: rgba(203,213,225,.75);
}

.foot__contact {
  gap: .55rem;
}

.foot__mail {
  font-weight: 700;
}

/* ---- CTA Button Desktop ---- */
.foot__btn {
  -webkit-appearance: none;
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  margin-top: 4px;
  padding: 15px 20px;
  border: 1px solid rgba(37,99,235,.18);
  border-radius: 999px;
  background: linear-gradient(180deg, #3B82F6 0%, #2563EB 100%);
  color: #fff;
  font-size: .95rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 10px 24px rgba(37,99,235,.22);
  transition: background .18s ease, transform .12s ease, box-shadow .18s ease, border-color .18s ease;
  outline: none;
  cursor: pointer;
}

.foot__btn:hover,
.foot__btn:focus {
  background: linear-gradient(180deg, #4A8CFF 0%, #2B6CF0 100%);
  border-color: rgba(37,99,235,.28);
  box-shadow: 0 12px 28px rgba(37,99,235,.26);
  text-decoration: none;
  outline: none;
}

.foot__btn:active {
  transform: scale(0.98);
  box-shadow: 0 8px 18px rgba(37,99,235,.2);
}

.foot__btn span {
  margin: 0;
  text-shadow: none;
}

.foot__btn::before,
.foot__btn::after {
  content: none !important;
}

/* Bottom Bar */
.foot__bottom {
  margin-top: clamp(1.75rem, 3vw, 2.4rem);
  padding-top: 1rem;
  border-top: 1px solid rgba(148,163,184,.16);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  flex-wrap: wrap;
}

.foot__copy,
.foot__built {
  font-size: .9rem;
  color: rgba(203,213,225,.72);
}

/* ================================
   TABLET
   ================================ */
@media (max-width: 980px) {
  .foot__grid {
    grid-template-columns: 1fr 1fr;
  }
  .foot__text {
    max-width: 52ch;
  }
}

/* ================================
   MOBILE — unter 640px
   ================================ */
@media (max-width: 640px) {

  .foot__inner {
    padding: 2rem 18px 1.25rem;
  }

  .foot__grid {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .foot__col:first-child {
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid rgba(148,163,184,.12);
  }

  .foot__avatar {
    width: 40px;
    height: 40px;
    border-radius: 10px;
  }

  .foot__name {
    font-size: .95rem;
  }

  .foot__role {
    font-size: .82rem;
  }

  .foot__text {
    max-width: 100%;
    font-size: .9rem;
  }

  .foot__links-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid rgba(148,163,184,.12);
  }

  .foot__contact {
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid rgba(148,163,184,.12);
  }

  .foot__mail {
    font-size: .95rem;
    word-break: break-all;
  }

  .foot__btn {
    font-size: 15px;
    padding: 15px 20px;
  }

  .foot__bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  .foot__copy,
  .foot__built {
    font-size: .82rem;
  }
}.foot {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow-x: hidden; /* ← das reicht meist */
}/* End custom CSS */