.elementor-kit-4{--e-global-color-primary:#1C4446;--e-global-color-secondary:#2E5B5D;--e-global-color-text:#3C505F;--e-global-color-accent:#CCE3C7;--e-global-color-ni_cream:#F5F1ED;--e-global-color-ni_ink:#0E2440;--e-global-color-ni_lav_ink:#674A64;--e-global-color-ni_lav_soft:#E8D8E6;--e-global-color-ni_apr_soft:#FFDBCE;--e-global-color-ni_card:#FCFAF7;--e-global-typography-primary-font-family:"Outfit";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Outfit";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Figtree";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Figtree";--e-global-typography-accent-font-weight:600;background-color:#F5F1ED;color:#0E2440;}.elementor-kit-4 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* neuro!inklusion – Site Settings › Custom CSS (Elementor Pro) */
body {
  background-color: #F5F1ED;
  color: #0E2440;
  font-family: "Figtree", ui-sans-serif, system-ui, sans-serif;
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 { font-family: "Outfit", ui-sans-serif, system-ui, sans-serif; color: #1C4446; }
a { color: #2E5B5D; }
a:hover { color: #1C4446; }
::selection { background: #CCE3C7; color: #1C4446; }

/* Elementor-Standardabstände (10px Padding, 20px Widget-Gap) neutralisieren –
   Abstände kommen explizit aus den Templates (wie Tailwind mt-*/gap-*) */
.e-con {
  --container-default-padding-top: 0px;
  --container-default-padding-right: 0px;
  --container-default-padding-bottom: 0px;
  --container-default-padding-left: 0px;
  --widgets-spacing: 0px;
  --widgets-spacing-row: 0px;
  --widgets-spacing-column: 0px;
}
.elementor-widget-text-editor p:last-child,
.elementor-icon-box-description:last-child { margin-bottom: 0; }
.elementor-icon-box-title { margin-top: 0; }
.elementor-widget-text-editor strong { font-weight: 600; }

/* sichtbarer Fokus für Tastaturnutzung */
a:focus-visible, button:focus-visible, .elementor-button:focus-visible,
input:focus-visible, textarea:focus-visible {
  outline: 3px solid #2E5B5D;
  outline-offset: 3px;
  border-radius: 999px;
}

/* dekorative Bänder nie klickbar, nie horizontaler Scroll */
.ni-ribbon { pointer-events: none; }
body { overflow-x: clip; } /* clip statt hidden: Sticky-Header bleibt intakt */

/* Hello Elementor: Seitentitel ausblenden */
.page-header { display: none; }

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}

/* Mobil: gestapelte Spalten dürfen nicht auf 0 schrumpfen (Bildspalten verschwanden sonst) */
@media (max-width: 767px) {
  .e-con > .e-con, .e-con > .e-con-inner > .e-con, .e-con > .elementor-widget, .e-con > .e-con-inner > .elementor-widget { flex-shrink: 0; }
}

/* Anker unter dem Sticky-Header */
html { scroll-padding-top: 96px; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }

/* Liegende Acht (Originalgrafik): sanft, aber sichtbar in Bewegung */
.ni-infinity img { transform-origin: 50% 50%; will-change: transform, opacity; }
@media (prefers-reduced-motion: no-preference) {
  .ni-infinity img { animation: ni-infinity-float 11s ease-in-out infinite alternate; }
  .ni-infinity:nth-of-type(2n) img { animation-duration: 13s; animation-delay: -4s; }
}
@keyframes ni-infinity-float {
  0%   { transform: translate3d(0, 0, 0) rotate(-5deg) scale(0.97); opacity: .75; }
  35%  { transform: translate3d(-28px, 14px, 0) rotate(1deg) scale(1.04); opacity: 1; }
  70%  { transform: translate3d(18px, -12px, 0) rotate(5deg) scale(1.07); opacity: .85; }
  100% { transform: translate3d(34px, 8px, 0) rotate(-1deg) scale(1.01); opacity: 1; }
}/* End custom CSS */