.elementor-228 .elementor-element.elementor-element-c7f5f1e2{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-228 .elementor-element.elementor-element-9f1a16b4 .elementor-heading-title{font-family:"Familjen Grotesk", Sans-serif;font-weight:600;}.elementor-228 .elementor-element.elementor-element-8feefb6d .elementor-heading-title{font-family:"Instrument Sans", Sans-serif;font-weight:400;}.elementor-228 .elementor-element.elementor-element-9c55bc2b .elementor-heading-title{font-family:"Instrument Sans", Sans-serif;font-weight:500;}.elementor-228 .elementor-element.elementor-element-a725e1df .elementor-heading-title{font-family:"IBM Plex Mono", Sans-serif;font-weight:500;}.elementor-228 .elementor-element.elementor-element-ac3dc907{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-228 .elementor-element.elementor-element-123313a4{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-228 .elementor-element.elementor-element-74e1ac93 .elementor-heading-title{font-family:"Familjen Grotesk", Sans-serif;font-weight:600;}.elementor-228 .elementor-element.elementor-element-45040764{font-family:"Instrument Sans", Sans-serif;font-weight:400;}.elementor-228 .elementor-element.elementor-element-ce986b8b{font-family:"Instrument Sans", Sans-serif;font-weight:400;}.elementor-228 .elementor-element.elementor-element-8a53003b{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-228 .elementor-element.elementor-element-84f86488{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-228 .elementor-element.elementor-element-455a93c8 .elementor-heading-title{font-family:"Familjen Grotesk", Sans-serif;font-weight:600;}.elementor-228 .elementor-element.elementor-element-50ebcd97{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-228 .elementor-element.elementor-element-95090aa3{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-228 .elementor-element.elementor-element-d6f2d1ee{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-228 .elementor-element.elementor-element-b626e24c .elementor-heading-title{font-family:"Familjen Grotesk", Sans-serif;font-weight:600;}.elementor-228 .elementor-element.elementor-element-4026c336{font-family:"Instrument Sans", Sans-serif;font-weight:400;}.elementor-228 .elementor-element.elementor-element-e0e6969f{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-228 .elementor-element.elementor-element-9ebd8fd0{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-228 .elementor-element.elementor-element-c4c7567f .elementor-heading-title{font-family:"Familjen Grotesk", Sans-serif;font-weight:600;}.elementor-228 .elementor-element.elementor-element-a67e85e3{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-228 .elementor-element.elementor-element-f5466ae1{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-228 .elementor-element.elementor-element-9d3bf3f3{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-228 .elementor-element.elementor-element-ba9528c1{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-228 .elementor-element.elementor-element-1217b4c1 .elementor-heading-title{font-family:"Familjen Grotesk", Sans-serif;font-weight:600;}.elementor-228 .elementor-element.elementor-element-8dd1827a .elementor-heading-title{font-family:"Instrument Sans", Sans-serif;font-weight:400;}.elementor-228 .elementor-element.elementor-element-2b2b5c3b .elementor-heading-title{font-family:"Instrument Sans", Sans-serif;font-weight:500;}.elementor-228 .elementor-element.elementor-element-db63b348 .elementor-heading-title{font-family:"IBM Plex Mono", Sans-serif;font-weight:500;}.elementor-228 .elementor-element.elementor-element-bmbrk001{--display:flex;}.elementor-228 .elementor-element.elementor-element-bmfrm001 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-228 .elementor-element.elementor-element-bmfrm001 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-228 .elementor-element.elementor-element-bmfrm001 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-228 .elementor-element.elementor-element-bmfrm001 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-228 .elementor-element.elementor-element-bmfrm001 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-228 .elementor-element.elementor-element-bmfrm001 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-228 .elementor-element.elementor-element-bmfrm001 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-228 .elementor-element.elementor-element-bmfrm001 .elementor-field-type-html{padding-bottom:0px;}.elementor-228 .elementor-element.elementor-element-bmfrm001 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-228 .elementor-element.elementor-element-bmfrm001 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-228 .elementor-element.elementor-element-bmfrm001 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-228 .elementor-element.elementor-element-bmfrm001 .elementor-button[type="submit"]{color:#ffffff;}.elementor-228 .elementor-element.elementor-element-bmfrm001 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-228 .elementor-element.elementor-element-bmfrm001 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-228 .elementor-element.elementor-element-bmfrm001 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-228 .elementor-element.elementor-element-bmfrm001 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-228 .elementor-element.elementor-element-bmfrm001 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-228 .elementor-element.elementor-element-bmfrm001 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-228 .elementor-element.elementor-element-bmfrm001{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}/* Start custom CSS for container, class: .elementor-element-c7f5f1e2 */.elementor-228 .elementor-element.elementor-element-c7f5f1e2{--papier:#FFFFFF; --flaeche-2:#F4F4F5; --dunkel:#121214; --ink:#18181B; --ink-2:#52525B; --ink-3:#71717A; --auf-dunkel:#FFFFFF; --auf-dunkel-2:rgba(255,255,255,.62); --linie:#E9E9EB; --linie-tragend:#D7D7DB; --linie-dunkel:rgba(255,255,255,.16); --gelb:#EEC735; --fokus:var(--ink); --titel:"Familjen Grotesk",system-ui,sans-serif; --fliess:"Instrument Sans",system-ui,sans-serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --t-aussage:clamp(32px,4.6vw,64px); --t-body:clamp(15px,1.15vw,17px); --lh-display:1.06; --lh-body:1.6; --rand:clamp(14px,2.8vw,40px); --r-platte:clamp(16px,1.6vw,22px); --r-element:12px; --ease:cubic-bezier(.215,.61,.355,1); --ease-expo:cubic-bezier(.19,1,.22,1); --setz:cubic-bezier(.34,1.4,.64,1); --d-micro:160ms; --d-hover:200ms; --d-reveal:560ms; --spiegel:1180px; --schatten-buehne:0 60px 120px -48px rgba(24,24,27,.4),0 18px 40px -24px rgba(24,24,27,.28);}
.elementor-228 .elementor-element.elementor-element-c7f5f1e2 *, .elementor-228 .elementor-element.elementor-element-c7f5f1e2 *::before, .elementor-228 .elementor-element.elementor-element-c7f5f1e2 *::after{box-sizing:border-box}
.elementor-228 .elementor-element.elementor-element-c7f5f1e2 h1, .elementor-228 .elementor-element.elementor-element-c7f5f1e2 h1.elementor-heading-title, .elementor-228 .elementor-element.elementor-element-c7f5f1e2 h2, .elementor-228 .elementor-element.elementor-element-c7f5f1e2 h2.elementor-heading-title, .elementor-228 .elementor-element.elementor-element-c7f5f1e2 h3, .elementor-228 .elementor-element.elementor-element-c7f5f1e2 h3.elementor-heading-title{font-family:var(--titel);font-weight:600;letter-spacing:-.03em; line-height:var(--lh-display);margin:0}
.elementor-228 .elementor-element.elementor-element-c7f5f1e2 p{margin:0}
.elementor-228 .elementor-element.elementor-element-c7f5f1e2 a{color:inherit}
.elementor-228 .elementor-element.elementor-element-c7f5f1e2 button{font:inherit;color:inherit;background:none;border:0;cursor:pointer; transition:transform var(--d-micro) var(--ease)}
.elementor-228 .elementor-element.elementor-element-c7f5f1e2 button:active{transform:scale(.97)}
.elementor-228 .elementor-element.elementor-element-c7f5f1e2 a:focus-visible, .elementor-228 .elementor-element.elementor-element-c7f5f1e2 button:focus-visible, .elementor-228 .elementor-element.elementor-element-c7f5f1e2 summary:focus-visible{outline:3px solid var(--fokus);outline-offset:3px}
.elementor-228 .elementor-element.elementor-element-c7f5f1e2 .spiegel{max-width:var(--spiegel);margin:0 auto;padding:0 var(--rand)}
.elementor-228 .elementor-element.elementor-element-c7f5f1e2 .mono{font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.15em; text-transform:uppercase;font-variant-numeric:tabular-nums}
.elementor-228 .elementor-element.elementor-element-c7f5f1e2 .sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden; clip:rect(0 0 0 0);white-space:nowrap;border:0}
.js .elementor-228 .elementor-element.elementor-element-c7f5f1e2 .rv{opacity:0;transform:translateY(16px); transition:opacity var(--d-reveal) var(--ease),transform var(--d-reveal) var(--ease)}
.js .elementor-228 .elementor-element.elementor-element-c7f5f1e2 .rv.an{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
.elementor-228 .elementor-element.elementor-element-c7f5f1e2 *, .elementor-228 .elementor-element.elementor-element-c7f5f1e2 *::before, .elementor-228 .elementor-element.elementor-element-c7f5f1e2 *::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
.js .elementor-228 .elementor-element.elementor-element-c7f5f1e2 .rv{opacity:1;transform:none}
}
.elementor-228 .elementor-element.elementor-element-c7f5f1e2 .knopf-ink{display:inline-flex;align-items:center;gap:10px;background:var(--ink); color:var(--papier);border-radius:999px;padding:16px 28px;font-weight:500;text-decoration:none; transition:transform var(--d-micro) var(--ease),background var(--d-hover) var(--ease),color var(--d-hover) var(--ease)}
.elementor-228 .elementor-element.elementor-element-c7f5f1e2 .knopf-ink:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){
.elementor-228 .elementor-element.elementor-element-c7f5f1e2 .knopf-ink:hover{background:var(--gelb);color:var(--ink)}
}
.elementor-228 .elementor-element.elementor-element-c7f5f1e2 .knopf-gelb{display:inline-flex;align-items:center;gap:10px;background:var(--gelb);color:var(--ink); border-radius:999px;padding:18px 32px;font-weight:500;text-decoration:none;font-size:18px; transition:transform var(--d-micro) var(--ease),filter var(--d-hover) var(--ease)}
.elementor-228 .elementor-element.elementor-element-c7f5f1e2 .knopf-gelb:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){
.elementor-228 .elementor-element.elementor-element-c7f5f1e2 .knopf-gelb:hover{filter:brightness(1.06)}
}
/* ==== SITE-NAV, FASSUNG C1 ============================================
   Gezogen aus _qa/skizzen/nav-varianten.html (Kai-Wahl 24.08.), Fassung C
   Spielart C1. Schatten-Fix aus _assets/gesamt-bauen.py (Kai 25.08.).
   Ungescopet, aber jede Regel unter `.bm-nav`: die Zustands-Klassen
   sitzen am <html> und ueberlebten ein Scopen auf `.elementor-228 .elementor-element.elementor-element-c7f5f1e2` nicht.
   ==================================================================== */
#bm-nav{
  --bmn-papier:#FFFFFF;
  --bmn-ink:#18181B;
  --bmn-ink-2:#52525B;
  --bmn-ink-3:#71717A;
  --bmn-auf-dunkel-2:rgba(255,255,255,.62);
  --bmn-linie:#E9E9EB;
  --bmn-linie-tragend:#D7D7DB;
  --bmn-linie-dunkel:rgba(255,255,255,.16);
  --bmn-gelb:#EEC735;
  --bmn-fokus:var(--bmn-ink);
  --bmn-titel:"Familjen Grotesk",system-ui,sans-serif;
  --bmn-fliess:"Instrument Sans",system-ui,sans-serif;
  --bmn-mono:"IBM Plex Mono",ui-monospace,monospace;
  --bmn-lh-body:1.6;
  --bmn-rand:clamp(14px,2.8vw,40px);
  --bmn-r-element:12px;
  --bmn-ease:cubic-bezier(.215,.61,.355,1);
  --bmn-ease-expo:cubic-bezier(.19,1,.22,1);
  --bmn-d-micro:160ms;
  --bmn-d-hover:200ms;
  --bmn-schatten-dunkel:0 22px 54px rgba(17,17,20,.28);
}
#bm-nav a{color:inherit}
#bm-nav button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
#bm-nav button, #bm-nav .bm-knopf{transition:transform var(--bmn-d-micro) var(--bmn-ease)}
#bm-nav button:active, #bm-nav .bm-knopf:active{transform:scale(.97)}
#bm-nav a:focus-visible, #bm-nav button:focus-visible{outline:3px solid var(--bmn-fokus);outline-offset:3px}
#bm-nav .bm-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px; overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
#bm-nav .bm-marke{display:block;height:100%;width:auto}
#bm-nav .bm-marke .bm-platte{fill:none;stroke:currentColor;stroke-width:26}
#bm-nav .bm-marke .bm-punkt{fill:currentColor}
#bm-nav .bm-marke .bm-punkt--gelb{fill:var(--bmn-gelb)}
#bm-nav .bm-wortmarke{font-family:var(--bmn-titel);font-weight:700; font-size:clamp(14px,1.15vw,17px);letter-spacing:.01em;color:#fff;text-decoration:none}
#bm-nav .bm-wortmarke .bm-punkt{display:inline-block;width:.42em;height:.42em;border-radius:50%; background:var(--bmn-gelb);margin-left:.24em}
#bm-nav .bm-knopf{display:inline-flex;align-items:center;gap:11px;font-weight:500;font-size:15px; line-height:1;text-decoration:none;padding:16px 26px;border-radius:999px; background:#fff;color:var(--bmn-ink); transition:transform var(--bmn-d-micro) var(--bmn-ease),background-color var(--bmn-d-hover) var(--bmn-ease)}
@media (hover:hover) and (pointer:fine){
  #bm-nav .bm-knopf:hover{background:var(--bmn-gelb)}
}
#bm-nav .bm-kopf__links{display:flex;gap:clamp(18px,2.2vw,30px);align-items:center}
#bm-nav .bm-kopf__links a{color:var(--bmn-ink-2);text-decoration:none;font-size:14px;font-weight:500; transition:color var(--bmn-d-hover) var(--bmn-ease),transform var(--bmn-d-micro) var(--bmn-ease)}
@media (hover:hover) and (pointer:fine){
  #bm-nav .bm-kopf__links a:hover{color:var(--bmn-ink)}
}
#bm-nav .bm-kopf__cta{padding:11px 20px;font-size:14px;background:var(--bmn-ink);color:#fff}
@media (hover:hover) and (pointer:fine){
  #bm-nav .bm-kopf__cta:hover{background:var(--bmn-gelb);color:var(--bmn-ink)}
}
#bm-nav .bm-kopf__menue{display:none;border:1px solid var(--bmn-linie-tragend); border-radius:999px;padding:8px 16px;font-size:13px;font-weight:500}
@media (max-width:900px){
  .bm-nav-js #bm-nav .bm-kopf__links{display:none}
  .bm-nav-js #bm-nav .bm-kopf__menue{display:inline-flex}
  .bm-nav-js #bm-nav .bm-kopf__cta{display:none}
}
#bm-nav .bm-snav{display:none}
.bm-nav-js #bm-nav .bm-snav{display:flex;position:fixed;top:calc(var(--bmn-rand) * .5);left:0;right:0; z-index:70;justify-content:center;pointer-events:none; transform:translateY(calc(-100% - var(--bmn-rand))); transition:transform 240ms var(--bmn-ease)}
.bm-nav-js.bm-nav-an #bm-nav .bm-snav, .bm-nav-js #bm-nav .bm-snav:focus-within{transform:none;transition:transform 340ms var(--bmn-ease-expo)}
@media (prefers-reduced-motion:reduce){
  .bm-nav-js #bm-nav .bm-snav{transform:none;opacity:0;visibility:hidden; transition:opacity 180ms var(--bmn-ease),visibility 0s 180ms}
  .bm-nav-js.bm-nav-an #bm-nav .bm-snav, .bm-nav-js #bm-nav .bm-snav:focus-within{opacity:1;visibility:visible;transition:opacity 180ms var(--bmn-ease)}
}
#bm-nav .bm-snav__korpus{pointer-events:auto;display:flex;align-items:center}
#bm-nav .bm-wortzug{display:inline-block;overflow:hidden;white-space:nowrap; max-width:200px;opacity:1; transition:max-width 380ms var(--bmn-ease-expo),opacity 240ms var(--bmn-ease), margin 380ms var(--bmn-ease-expo)}
.bm-nav-kompakt #bm-nav .bm-wortzug{max-width:0;opacity:0;margin-left:0}
#bm-nav .bm-snav__links{display:flex;gap:clamp(12px,1.5vw,22px);align-items:center}
#bm-nav .bm-snav__links a{position:relative;color:var(--bmn-ink-2);text-decoration:none; font-size:14px;font-weight:500;padding:6px 2px; transition:color var(--bmn-d-hover) var(--bmn-ease),transform var(--bmn-d-micro) var(--bmn-ease)}
#bm-nav .bm-snav__links a::after{content:"";position:absolute;left:2px;right:2px;bottom:1px; height:2px;border-radius:2px;background:var(--bmn-gelb); transform:scaleX(0);transform-origin:left center; transition:transform var(--bmn-d-hover) var(--bmn-ease)}
@media (hover:hover) and (pointer:fine){
  #bm-nav .bm-snav__links a:hover{color:var(--bmn-ink)}
  #bm-nav .bm-snav__links a:hover::after{transform:none}
}
#bm-nav .bm-snav__links a[aria-current="page"]{color:var(--bmn-ink)}
#bm-nav .bm-snav__links a[aria-current="page"]::after{transform:none}
#bm-nav .bm-snav__cta{display:inline-flex;align-items:center;line-height:1;white-space:nowrap; background:var(--bmn-ink);color:#fff;text-decoration:none;border-radius:999px; padding:10px 18px;font-size:14px;font-weight:500; transition:background-color var(--bmn-d-hover) var(--bmn-ease),color var(--bmn-d-hover) var(--bmn-ease), transform var(--bmn-d-micro) var(--bmn-ease)}
@media (hover:hover) and (pointer:fine){
  #bm-nav .bm-snav__cta:hover{background:var(--bmn-gelb);color:var(--bmn-ink)}
}
#bm-nav .bm-snav__cta:active{transform:scale(.97)}
.bm-nav-kompakt #bm-nav .bm-snav__cta{padding:9px 15px}
#bm-nav .bm-snav__menue{display:none;align-items:center;border:1px solid var(--bmn-linie-tragend); border-radius:999px;padding:8px 15px;font-size:13px;font-weight:500;white-space:nowrap}
#bm-nav .bm-snav__korpus{--bmn-fokus:var(--bmn-gelb); gap:clamp(14px,1.6vw,26px); background:rgba(18,18,20,.94); -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px); border:1px solid var(--bmn-linie-dunkel);border-radius:calc(var(--bmn-r-element) + 2px); box-shadow:var(--bmn-schatten-dunkel); padding:10px 10px 10px 18px; transition:padding 380ms var(--bmn-ease-expo),gap 380ms var(--bmn-ease-expo)}
@supports not (backdrop-filter:blur(1px)){
  #bm-nav .bm-snav__korpus{background:#121214}
}
.bm-nav-kompakt #bm-nav .bm-snav__korpus{padding:8px 8px 8px 13px;gap:clamp(10px,1.2vw,18px)}
#bm-nav .bm-snav__marke{display:flex;align-items:center;gap:9px;height:22px; color:#fff;text-decoration:none}
#bm-nav .bm-snav__marke .bm-wortzug{font-family:var(--bmn-titel);font-weight:700;font-size:15px; letter-spacing:-.01em;margin-left:1px}
#bm-nav .bm-snav__links a{color:var(--bmn-auf-dunkel-2)}
@media (hover:hover) and (pointer:fine){
  #bm-nav .bm-snav__links a:hover{color:#fff}
}
#bm-nav .bm-snav__links a[aria-current="page"]{color:#fff}
#bm-nav .bm-snav__cta{background:var(--bmn-gelb);color:var(--bmn-ink)}
@media (hover:hover) and (pointer:fine){
  #bm-nav .bm-snav__cta:hover{background:#fff}
}
#bm-nav .bm-snav__menue{border-color:var(--bmn-linie-dunkel);color:#fff}
@media (max-width:900px){
  #bm-nav .bm-snav__links{display:none}
  #bm-nav .bm-snav__menue{display:inline-flex}
  #bm-nav .bm-snav__cta{display:none}
}
#bm-nav .bm-menue{position:fixed;inset:0;z-index:80;background:var(--bmn-papier); display:flex;flex-direction:column;padding:var(--bmn-rand); visibility:hidden;opacity:0;transform:translateY(-3%); transition:opacity 280ms var(--bmn-ease),transform 320ms var(--bmn-ease-expo),visibility 0s 320ms}
#bm-nav .bm-menue.bm-offen{visibility:visible;opacity:1;transform:none; transition:opacity 280ms var(--bmn-ease),transform 320ms var(--bmn-ease-expo)}
@media (prefers-reduced-motion:reduce){
  #bm-nav .bm-menue{transform:none}
}
#bm-nav .bm-menue__kopf{display:flex;align-items:center;justify-content:space-between}
#bm-nav .bm-menue__kopf .bm-wortmarke{color:var(--bmn-ink);font-size:19px;letter-spacing:-.02em}
#bm-nav .bm-menue__zu{border:1px solid var(--bmn-linie-tragend);border-radius:999px; padding:10px 18px;font-size:14px;font-weight:500}
#bm-nav .bm-menue__liste{list-style:none;margin:auto 0;padding:0;display:grid;gap:2px}
#bm-nav .bm-menue__liste a{display:inline-block;text-decoration:none;color:var(--bmn-ink); font-family:var(--bmn-titel);font-weight:600;letter-spacing:-.03em; font-size:clamp(38px,7vw,64px);line-height:1.18;padding:.04em 0}
#bm-nav .bm-menue__liste a span{display:inline-block; transition:transform var(--bmn-d-hover) var(--bmn-ease)}
@media (hover:hover) and (pointer:fine){
  #bm-nav .bm-menue__liste a:hover span{transform:translateX(10px)}
}
#bm-nav .bm-menue__liste li{opacity:0;transform:translateY(14px)}
#bm-nav .bm-menue.bm-offen .bm-menue__liste li{opacity:1;transform:none; transition:opacity 360ms var(--bmn-ease),transform 420ms var(--bmn-ease-expo)}
#bm-nav .bm-menue.bm-offen .bm-menue__liste li:nth-child(2){transition-delay:50ms}
#bm-nav .bm-menue.bm-offen .bm-menue__liste li:nth-child(3){transition-delay:100ms}
#bm-nav .bm-menue.bm-offen .bm-menue__liste li:nth-child(4){transition-delay:150ms}
#bm-nav .bm-menue.bm-offen .bm-menue__liste li:nth-child(5){transition-delay:200ms}
#bm-nav .bm-menue__fuss{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
#bm-nav .bm-menue__fuss .bm-knopf{background:var(--bmn-ink);color:#fff}
@media (hover:hover) and (pointer:fine){
  #bm-nav .bm-menue__fuss .bm-knopf:hover{background:var(--bmn-gelb);color:var(--bmn-ink)}
}
#bm-nav .bm-menue__mail{color:var(--bmn-ink-3);font-size:14px;text-decoration:none}
#bm-nav .bm-menue__liste a[aria-current="page"]{color:var(--bmn-ink-3)}
#bm-nav button{white-space:normal;border-radius:0}
#bm-nav .bm-snav__marke .bm-wortzug{font-weight:600}
#bm-nav .bm-wortmarke{font-weight:600}
#bm-nav .bm-menue__bereiche{display:flex;gap:14px 22px;flex-wrap:wrap;margin:0 0 26px;padding:0}
#bm-nav .bm-menue__bereiche a{font-family:var(--bmn-mono);font-weight:500;font-size:11px;
  letter-spacing:.15em;text-transform:uppercase;color:var(--bmn-ink-3);text-decoration:none}
@media (hover:hover) and (pointer:fine){
  #bm-nav .bm-menue__bereiche a:hover{color:var(--bmn-ink)}
}
#bm-nav .bm-menue__bereiche a[aria-current="page"]{color:var(--bmn-ink)}
@media (max-width:900px){
  html:not(.bm-nav-js) #bm-nav .bm-kopf__links{display:flex;flex-wrap:wrap;
    gap:10px clamp(14px,3.4vw,24px);justify-content:flex-end}
  html:not(.bm-nav-js) #bm-nav .bm-kopf__menue{display:none}
  html:not(.bm-nav-js) #bm-nav .navplatz,
  html:not(.bm-nav-js) #bm-nav .bm-kopf__zeile{height:auto;min-height:76px;
    padding-top:12px;padding-bottom:12px}
}
#bm-nav .bm-snav, #bm-nav .bm-snav *, #bm-nav .bm-snav *::before, #bm-nav .bm-snav *::after,
#bm-nav .bm-menue, #bm-nav .bm-menue *, #bm-nav .bm-menue *::before, #bm-nav .bm-menue *::after,
#bm-nav .bm-kopf__links, #bm-nav .bm-kopf__links *{box-sizing:border-box}
#bm-nav .bm-snav, #bm-nav .bm-menue{
  font-family:var(--bmn-fliess);font-size:17px;line-height:var(--bmn-lh-body);
  -webkit-font-smoothing:antialiased}
.bm-nav-js #bm-nav .bm-snav .bm-snav__korpus{box-shadow:0 22px 54px rgba(17,17,20,0);
  transition:padding 380ms var(--bmn-ease-expo),gap 380ms var(--bmn-ease-expo),
             box-shadow 240ms var(--bmn-ease)}
.bm-nav-js.bm-nav-an #bm-nav .bm-snav .bm-snav__korpus,
.bm-nav-js #bm-nav .bm-snav:focus-within .bm-snav__korpus{box-shadow:var(--bmn-schatten-dunkel)}
#bm-nav .bm-nav-durch,
#bm-nav .bm-nav-durch > .elementor-widget-container{display:contents}
body.bm-menue-offen{overflow:hidden}
/* `display:block` ist hier keine Formsache. Elementor macht aus jedem
   Container einen FLEX-Container, und in einem Flex-Container kollabieren
   die vertikalen Raender der Kinder nicht mehr. Auf der KI-Seite traegt die
   Kopfzeile 40 Pixel Eigenrand; im Quell-Dokument (ein gewoehnlicher
   Block-Container) kollabieren die aus dem Kasten heraus, im Bau addierten
   sie sich dazu. Gemessen am 26.08.: Nav-Container 100,8 px gegen eine
   Kopfzeile von 60,8 px, Seite 40 Pixel zu hoch. Auf den anderen zehn
   Seiten faellt es nicht auf, weil ihre Kopfzeile keinen Eigenrand hat.
   `width:auto` statt Elementors `width:100%`, damit ein seitlicher Rand
   nicht ueberhaengt (Falle 2 des Startseiten-Baus). */
.elementor-228 .elementor-element.elementor-element-c7f5f1e2{padding:0;margin:0;width:auto;display:block}
.elementor-228 .elementor-element.elementor-element-c7f5f1e2 .bm-nav-schrift, .elementor-228 .elementor-element.elementor-element-c7f5f1e2 .bm-nav-hilf{display:none}
.elementor-228 .elementor-element.elementor-element-c7f5f1e2{padding:0}
/* Der js-Klassen-Einzeiler der Quelle steht dort im <head>. Hier gehoert er in
   den ERSTEN Wurzel-Container der Seite: `.js .rv{opacity:0}` und der
   Papier-Vorhang muessen beim ersten Anstrich stehen, sonst blitzt die Seite
   auf, bevor der Vorhang haengt. */
.elementor-228 .elementor-element.elementor-element-c7f5f1e2 .bm-kt-hilf{display:none}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ac3dc907 */.elementor-228 .elementor-element.elementor-element-ac3dc907{--papier:#FFFFFF; --flaeche-2:#F4F4F5; --dunkel:#121214; --ink:#18181B; --ink-2:#52525B; --ink-3:#71717A; --auf-dunkel:#FFFFFF; --auf-dunkel-2:rgba(255,255,255,.62); --linie:#E9E9EB; --linie-tragend:#D7D7DB; --linie-dunkel:rgba(255,255,255,.16); --gelb:#EEC735; --fokus:var(--ink); --titel:"Familjen Grotesk",system-ui,sans-serif; --fliess:"Instrument Sans",system-ui,sans-serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --t-aussage:clamp(32px,4.6vw,64px); --t-body:clamp(15px,1.15vw,17px); --lh-display:1.06; --lh-body:1.6; --rand:clamp(14px,2.8vw,40px); --r-platte:clamp(16px,1.6vw,22px); --r-element:12px; --ease:cubic-bezier(.215,.61,.355,1); --ease-expo:cubic-bezier(.19,1,.22,1); --setz:cubic-bezier(.34,1.4,.64,1); --d-micro:160ms; --d-hover:200ms; --d-reveal:560ms; --spiegel:1180px; --schatten-buehne:0 60px 120px -48px rgba(24,24,27,.4),0 18px 40px -24px rgba(24,24,27,.28);}
.elementor-228 .elementor-element.elementor-element-ac3dc907 *, .elementor-228 .elementor-element.elementor-element-ac3dc907 *::before, .elementor-228 .elementor-element.elementor-element-ac3dc907 *::after{box-sizing:border-box}
.elementor-228 .elementor-element.elementor-element-ac3dc907 h1, .elementor-228 .elementor-element.elementor-element-ac3dc907 h1.elementor-heading-title, .elementor-228 .elementor-element.elementor-element-ac3dc907 h2, .elementor-228 .elementor-element.elementor-element-ac3dc907 h2.elementor-heading-title, .elementor-228 .elementor-element.elementor-element-ac3dc907 h3, .elementor-228 .elementor-element.elementor-element-ac3dc907 h3.elementor-heading-title{font-family:var(--titel);font-weight:600;letter-spacing:-.03em; line-height:var(--lh-display);margin:0}
.elementor-228 .elementor-element.elementor-element-ac3dc907 p{margin:0}
.elementor-228 .elementor-element.elementor-element-ac3dc907 a{color:inherit}
.elementor-228 .elementor-element.elementor-element-ac3dc907 button{font:inherit;color:inherit;background:none;border:0;cursor:pointer; transition:transform var(--d-micro) var(--ease)}
.elementor-228 .elementor-element.elementor-element-ac3dc907 button:active{transform:scale(.97)}
.elementor-228 .elementor-element.elementor-element-ac3dc907 a:focus-visible, .elementor-228 .elementor-element.elementor-element-ac3dc907 button:focus-visible, .elementor-228 .elementor-element.elementor-element-ac3dc907 summary:focus-visible{outline:3px solid var(--fokus);outline-offset:3px}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .spiegel{max-width:var(--spiegel);margin:0 auto;padding:0 var(--rand)}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .mono{font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.15em; text-transform:uppercase;font-variant-numeric:tabular-nums}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden; clip:rect(0 0 0 0);white-space:nowrap;border:0}
.js .elementor-228 .elementor-element.elementor-element-ac3dc907 .rv{opacity:0;transform:translateY(16px); transition:opacity var(--d-reveal) var(--ease),transform var(--d-reveal) var(--ease)}
.js .elementor-228 .elementor-element.elementor-element-ac3dc907 .rv.an{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
.elementor-228 .elementor-element.elementor-element-ac3dc907 *, .elementor-228 .elementor-element.elementor-element-ac3dc907 *::before, .elementor-228 .elementor-element.elementor-element-ac3dc907 *::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
.js .elementor-228 .elementor-element.elementor-element-ac3dc907 .rv{opacity:1;transform:none}
}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .knopf-ink{display:inline-flex;align-items:center;gap:10px;background:var(--ink); color:var(--papier);border-radius:999px;padding:16px 28px;font-weight:500;text-decoration:none; transition:transform var(--d-micro) var(--ease),background var(--d-hover) var(--ease),color var(--d-hover) var(--ease)}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .knopf-ink:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){
.elementor-228 .elementor-element.elementor-element-ac3dc907 .knopf-ink:hover{background:var(--gelb);color:var(--ink)}
}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .knopf-gelb{display:inline-flex;align-items:center;gap:10px;background:var(--gelb);color:var(--ink); border-radius:999px;padding:18px 32px;font-weight:500;text-decoration:none;font-size:18px; transition:transform var(--d-micro) var(--ease),filter var(--d-hover) var(--ease)}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .knopf-gelb:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){
.elementor-228 .elementor-element.elementor-element-ac3dc907 .knopf-gelb:hover{filter:brightness(1.06)}
}
/* Elementor macht aus jedem Container einen Flex-Container. Die Quelle rechnet
   bei <section class="bau"> und bei .spiegel mit Block. */
.elementor-228 .elementor-element.elementor-element-ac3dc907{display:block}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .spiegel{display:block}
.elementor-228 .elementor-element.elementor-element-ac3dc907.bau{background:var(--dunkel);color:var(--auf-dunkel);--fokus:var(--gelb); padding:clamp(48px,7vh,88px) 0 110px}
.elementor-228 .elementor-element.elementor-element-ac3dc907.bau h1, .elementor-228 .elementor-element.elementor-element-ac3dc907.bau h1.elementor-heading-title{font-size:clamp(32px,4.9vw,72px);max-width:19ch;color:var(--auf-dunkel); line-height:1.08;min-height:2.2em}
.elementor-228 .elementor-element.elementor-element-ac3dc907.bau h1 .caret{display:inline-block;width:.085em;height:.78em;background:var(--gelb); margin-left:.09em;border-radius:2px;vertical-align:baseline; animation:blinzeln 1.05s steps(1) infinite}
@keyframes blinzeln{50%{opacity:0}}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .bau__hin{color:var(--auf-dunkel-2);margin-top:18px;font-size:clamp(15px,1.2vw,17px);max-width:52ch}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .optionen{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:44px}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .option{position:relative}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .option input{position:absolute;opacity:0;pointer-events:none}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .option label{display:flex;align-items:center;gap:11px;border:1px solid var(--linie-dunkel); border-radius:12px;padding:14px 16px;cursor:pointer;font-size:15px; transition:border-color var(--d-hover) var(--ease),background var(--d-hover) var(--ease), transform var(--d-micro) var(--ease)}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .option label:active{transform:scale(.97)}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .option label::before{content:"";width:18px;height:18px;border-radius:5px;flex:0 0 auto; border:1.5px solid var(--linie-dunkel);display:block; transition:background var(--d-hover) var(--ease),border-color var(--d-hover) var(--ease)}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .option input:checked+label{border-color:var(--gelb)}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .option input:checked+label::before{background:var(--gelb);border-color:var(--gelb)}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .option input:focus-visible+label{outline:3px solid var(--gelb);outline-offset:3px}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .praez{margin-top:12px;border:1px solid var(--linie-dunkel);border-radius:12px}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .praez__kopf{width:100%;display:flex;align-items:center;gap:12px;padding:15px 16px; font-size:15px;color:var(--auf-dunkel);text-align:left;border-radius:12px}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .praez__zahl{color:var(--auf-dunkel-2);font-size:13px;font-variant-numeric:tabular-nums}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .praez__kopf i{font-style:normal;margin-left:auto;color:var(--auf-dunkel-2); transition:transform 280ms var(--ease)}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .praez__kopf[aria-expanded="true"] i{transform:rotate(45deg)}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .praez__koerper{overflow:hidden}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .praez__innen{padding:4px 16px 20px;display:grid;gap:18px}
.js .elementor-228 .elementor-element.elementor-element-ac3dc907 .praez__gruppe{display:none}
.js .elementor-228 .elementor-element.elementor-element-ac3dc907 .praez__gruppe.da{display:block}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .praez__label{display:block;font-family:var(--mono);font-weight:500;font-size:11px; letter-spacing:.15em;text-transform:uppercase;color:var(--auf-dunkel-2);margin-bottom:10px}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .chips{display:flex;flex-wrap:wrap;gap:8px}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .chip{position:relative}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .chip input{position:absolute;opacity:0;pointer-events:none}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .chip label{display:inline-flex;align-items:center;border:1px solid var(--linie-dunkel); border-radius:999px;padding:9px 15px;font-size:14px;cursor:pointer; transition:background var(--d-hover) var(--ease),border-color var(--d-hover) var(--ease), color var(--d-hover) var(--ease),transform var(--d-micro) var(--ease)}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .chip label:active{transform:scale(.97)}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .chip input:checked+label{background:var(--gelb);border-color:var(--gelb);color:var(--ink)}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .chip input:focus-visible+label{outline:3px solid var(--gelb);outline-offset:3px}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .felder{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:34px}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .felder input, .elementor-228 .elementor-element.elementor-element-ac3dc907 .felder textarea{width:100%;background:rgba(255,255,255,.06); border:1px solid var(--linie-dunkel);border-radius:12px;padding:15px 16px;color:var(--auf-dunkel); font:inherit;font-size:15px}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .felder input::placeholder, .elementor-228 .elementor-element.elementor-element-ac3dc907 .felder textarea::placeholder{color:var(--auf-dunkel-2)}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .felder input:focus-visible, .elementor-228 .elementor-element.elementor-element-ac3dc907 .felder textarea:focus-visible{outline:3px solid var(--gelb);outline-offset:2px}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .felder .voll{grid-column:1 / -1}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .felder textarea{min-height:110px;resize:vertical}
@media (max-width:700px){
.elementor-228 .elementor-element.elementor-element-ac3dc907 .felder{grid-template-columns:1fr}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .felder input, .elementor-228 .elementor-element.elementor-element-ac3dc907 .felder textarea{font-size:16px}
}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .einwillig{display:block;position:relative;padding-left:30px;margin-top:18px;color:var(--auf-dunkel-2); font-size:13.5px;line-height:1.55;max-width:64ch}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .einwillig input{position:absolute;left:0;top:2px;width:18px;height:18px;margin:0;accent-color:var(--gelb)}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .absenden{margin-top:26px}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .bau__direkt{margin-top:24px;color:var(--auf-dunkel-2);font-size:14px;max-width:62ch; font-variant-numeric:tabular-nums}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .bau__direkt a{color:var(--auf-dunkel);text-decoration:none}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .kform__falle{position:absolute!important;left:-9999px!important;width:1px;height:1px; opacity:0;pointer-events:none}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .kform__stand{margin:14px 0 0;font-size:15px;line-height:1.55;max-width:52ch}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .kform__stand[hidden]{display:none}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .kform__stand--fehler{color:#B3261E}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .kform--laeuft .absenden{opacity:.6;pointer-events:none}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .kform--fertig .optionen, .elementor-228 .elementor-element.elementor-element-ac3dc907 .kform--fertig .praez, .elementor-228 .elementor-element.elementor-element-ac3dc907 .kform--fertig .felder, .elementor-228 .elementor-element.elementor-element-ac3dc907 .kform--fertig .einwillig, .elementor-228 .elementor-element.elementor-element-ac3dc907 .kform--fertig .absenden{display:none}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .kform__danke{display:grid;gap:12px;padding:30px 0 6px}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .kform__danke h3, .elementor-228 .elementor-element.elementor-element-ac3dc907 .kform__danke h3.elementor-heading-title{font-family:var(--titel);font-weight:600;font-size:clamp(24px,3vw,34px); letter-spacing:-.02em;line-height:1.08;margin:0}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .kform__danke p{color:var(--ink-2);max-width:52ch;margin:0}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .kform__danke .kform__wieder{justify-self:start;margin-top:6px;background:none;border:0; font:inherit;font-size:15px;color:var(--ink-2);text-decoration:underline; text-underline-offset:3px;cursor:pointer;padding:0}
.elementor-228 .elementor-element.elementor-element-ac3dc907 .feld--fehler{outline:2px solid #B3261E;outline-offset:2px}
/* Kit-Falle 1 (STATUS 13.08., lab-verifiziert): Elementors Kit stylt
   `.elementor-widget-heading .elementor-heading-title` explizit (0,2,0) und
   stylt h1 bis h6 NAMENTLICH. Beides schlaegt jede Vererbung vom
   Widget-Rahmen. Die Ueberschrift erbt hier wieder von ihrem Rahmen; die
   echten Werte kommen aus den h1/h2/h3-Regeln der Quelle, die als
   `.elementor-228 .elementor-element.elementor-element-ac3dc907 h1.elementor-heading-title` (0,4,1) laut genug stehen.

   Der Element-Neutralisierer `.elementor-228 .elementor-element.elementor-element-ac3dc907 h1…h6{…:inherit}` des KI-Baus steht
   hier BEWUSST NICHT: er waere mit (0,3,1) genauso laut wie die gescopete
   Quell-Regel `.elementor-228 .elementor-element.elementor-element-ac3dc907 h1` und stuende nach ihr, wuerde sie also fuer jede
   Ueberschrift OHNE Elementor-Klasse umkehren. Auf dieser Seite gibt es keine
   solche Ueberschrift: alle vier Ueberschriften sind native Widgets, in den
   HTML- und Text-Widgets steht kein einziges h1 bis h6. `kt_pruefung.py`
   prueft das bei jedem Lauf (Probe TITEL), damit die Zeile nicht stumm
   fehlt, sobald jemand eine Ueberschrift in ein Widget legt. */
.elementor-228 .elementor-element.elementor-element-ac3dc907 .elementor-heading-title{color:inherit;font-family:inherit;
  font-size:inherit;font-weight:inherit;line-height:inherit;
  letter-spacing:inherit;text-align:inherit}

/* Theme-Durchgriff (STATUS 20.08.): Hello Elementor stylt `figcaption` mit
   line-height 1.4 UND font-style italic. Diese Seite fuehrt keine
   figcaption; die Zeile bleibt trotzdem stehen, damit eine spaeter
   eingesetzte Bildunterschrift nicht still kippt. */
.elementor-228 .elementor-element.elementor-element-ac3dc907 figcaption{line-height:var(--lh-body);font-style:normal}

/* Theme-Durchgriff Nummer zwei (STATUS 21.08.), und auf DIESER Seite der
   teuerste von allen: Hello Elementors `reset.css` setzt
   `label{display:inline-block; line-height:1; vertical-align:middle}`.
   Gemessen an einem klassenlosen `<label>` in beiden Dokumenten, VOR dem
   Import: Zeilenhoehe **16px auf der Lab gegen 27,2px in der Quelle**,
   `display` inline-block gegen inline, `vertical-align` middle gegen
   baseline.
   Die Seite fuehrt 29 `<label>` (fuenf Bereichs-Kaesten, 18 Chips, fuenf
   Gruppen-Etiketten, die Einwilligung), und KEINES setzt eine eigene
   Zeilenhoehe: sie erben in der Quelle die 1,6 vom Body. Am sichtbarsten
   waere es an der Einwilligungs-Zeile, die als mehrzeiliger Satz ueber bis zu
   64 Zeichen laeuft; mit der Theme-Eins staenden ihre Zeilen auf 13,5 statt
   21,6 Pixel.
   `display` und `vertical-align` setzt jedes Label ueber seine Klasse selbst
   (`.einwillig{flex}`, `.option label{flex}`, `.chip label{inline-flex}`,
   `.praez__label{block}`) und schlaegt den Neutralisierer mit vier Klassen
   gegen drei plus Element; die zwei Werte hier sind fuer den Fall, dass
   spaeter ein Label ohne Klasse dazukommt. */
.elementor-228 .elementor-element.elementor-element-ac3dc907 label{line-height:var(--lh-body);display:inline;vertical-align:baseline}

/* Theme-Durchgriff Nummer drei (Websitebau-Bau 22.08., bei echten 390
   gemessen, hier erneut bestaetigt): auf der Lab bekommt JEDER `button`
   `white-space:nowrap` (Quelle: normal), 3px Radius (Quelle 0), 8/16 Polster
   (Browser 1/6), 1px soliden Rand (Quelle 0) und die Elementor-Linkfarbe
   `rgb(204,51,102)`.
   Rand und Farbe erledigt die Quelle selbst (`button{color:inherit;
   background:none; border:0}`, gescopet 0,3,1 gegen 0,0,1). Bleiben Umbruch,
   Radius und Polster, und der Umbruch ist der teure Teil: `.praez__kopf` ist
   eine 100-Prozent-breite Flex-Zeile mit dem Text „Anfrage praezisieren", und
   bei 390 entscheidet `nowrap` ueber die Zeilenzahl und damit ueber die
   Sektionshoehe.

   KEIN `line-height:revert` in dieser Regel, anders als beim KI-Bau: dort
   fasste die Quelle `button` gar nicht an, hier tut sie es
   (`button{font:inherit; …}`), und `font:inherit` setzt die Zeilenhoehe auf
   den geerbten Wert 1,6. Ein `revert` wuerde auf `normal` zurueckrollen und
   damit die QUELLE brechen statt das Theme. Gegengemessen an einem
   klassenlosen Knopf: Quelle 27,2px, Lab (ohne Bau) 24px, und die 24 kommen
   aus Hellos Body-Zeilenhoehe, nicht aus einer Knopf-Regel. Nachgemessen wird
   es nach dem Import an allen drei echten Knoepfen. */
.elementor-228 .elementor-element.elementor-element-ac3dc907 button{white-space:normal;border-radius:0;padding:revert}

/* Theme-Durchgriff Nummer vier: Hello Elementor setzt `input{margin:0}`, der
   Browser gibt einer Checkbox `3px 3px 3px 4px`. Gemessen und bestaetigt.
   Auch das ist hier ein echter Fall: die Einwilligungs-Checkbox ist ein
   FLEX-ITEM in `.einwillig` (`gap:11px`), ihre seitlichen Raender zaehlen
   also in die Zeilenbreite, und die Quelle setzt an ihr nur `margin-top:3px`.
   Ohne `revert` ruecken der Haken und der ganze Satz um sieben Pixel.
   `.einwillig input` (0,4,1) schlaegt den Neutralisierer (0,3,1) fuer
   margin-top, genau wie in der Quelle der Browser-Default geschlagen wird.
   Die 23 uebrigen Eingaben der Seite sind davon unberuehrt: die vier
   Textfelder haben in beiden Dokumenten Rand 0, die 23 Wahl-Kaesten stehen
   `position:absolute` mit Deckung 0. */
.elementor-228 .elementor-element.elementor-element-ac3dc907 input{margin:revert}

/* Vorbeugend und ausdruecklich NICHT als echter Fund ausgegeben: `form`,
   `textarea`, `select`, `details` und `summary` zeigten in der
   Sorten-Gegenprobe KEINEN Element-Durchgriff (Hello fasst sie nicht an, die
   Polster und Radien der Textfelder kommen aus `input`-Regeln, die
   `.felder`-Klasse schlaegt sie mit vier Klassen). Diese Seite ist die erste
   der Serie mit einem echten `<form>` und `<textarea>`; die zwei Zeilen
   stehen deshalb als Sperre fuer den Fall, dass ein Theme-Update das aendert.
   `revert` rollt bis zur Browser-Voreinstellung (jeweils Rand 0). */
.elementor-228 .elementor-element.elementor-element-ac3dc907 form{margin:revert}
.elementor-228 .elementor-element.elementor-element-ac3dc907 textarea, .elementor-228 .elementor-element.elementor-element-ac3dc907 select{margin:revert}

/* Kit-Falle 2 (STATUS 21.08., durch den Eigenschafts-Vergleich gefunden):
   Elementor schreibt in JEDE Seiten-CSS den Kit-Block
   `.elementor-widget-text-editor{font-family:var(--e-global-typography-text-…);
   font-weight:var(…); color:var(--e-global-color-text)}`. Die Farbe ist der
   Kit-Standard #7A7A7A und trifft jeden Absatz, der seine Farbe NICHT selbst
   setzt. Eine Hoehenmessung findet so etwas nie.
   `.elementor-228 .elementor-element.elementor-element-ac3dc907` wird von Elementor zu DREI Klassen aufgeloest, diese Regel traegt
   also vier und schlaegt sowohl den Kit-Block (eine Klasse) als auch die
   native Typo-Angabe des Widgets (drei Klassen). */
.elementor-228 .elementor-element.elementor-element-ac3dc907 .elementor-widget-text-editor{color:inherit;font-family:inherit;
  font-weight:inherit}

/* Falle 3 des F6-Baus, hier nicht vorbeugend, sondern noetig:
   `.e-con>.elementor-widget{max-width:100%}` deckelt jedes Widget. Die Quelle
   kennt diesen Deckel nicht, dort steht ueberall `max-width:none` und wer
   eine Grenze braucht, sagt es. */
.elementor-228 .elementor-element.elementor-element-ac3dc907 .elementor-widget{max-width:none}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8a53003b */.elementor-228 .elementor-element.elementor-element-8a53003b{--papier:#FFFFFF; --flaeche-2:#F4F4F5; --dunkel:#121214; --ink:#18181B; --ink-2:#52525B; --ink-3:#71717A; --auf-dunkel:#FFFFFF; --auf-dunkel-2:rgba(255,255,255,.62); --linie:#E9E9EB; --linie-tragend:#D7D7DB; --linie-dunkel:rgba(255,255,255,.16); --gelb:#EEC735; --fokus:var(--ink); --titel:"Familjen Grotesk",system-ui,sans-serif; --fliess:"Instrument Sans",system-ui,sans-serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --t-aussage:clamp(32px,4.6vw,64px); --t-body:clamp(15px,1.15vw,17px); --lh-display:1.06; --lh-body:1.6; --rand:clamp(14px,2.8vw,40px); --r-platte:clamp(16px,1.6vw,22px); --r-element:12px; --ease:cubic-bezier(.215,.61,.355,1); --ease-expo:cubic-bezier(.19,1,.22,1); --setz:cubic-bezier(.34,1.4,.64,1); --d-micro:160ms; --d-hover:200ms; --d-reveal:560ms; --spiegel:1180px; --schatten-buehne:0 60px 120px -48px rgba(24,24,27,.4),0 18px 40px -24px rgba(24,24,27,.28);}
.elementor-228 .elementor-element.elementor-element-8a53003b *, .elementor-228 .elementor-element.elementor-element-8a53003b *::before, .elementor-228 .elementor-element.elementor-element-8a53003b *::after{box-sizing:border-box}
.elementor-228 .elementor-element.elementor-element-8a53003b h1, .elementor-228 .elementor-element.elementor-element-8a53003b h1.elementor-heading-title, .elementor-228 .elementor-element.elementor-element-8a53003b h2, .elementor-228 .elementor-element.elementor-element-8a53003b h2.elementor-heading-title, .elementor-228 .elementor-element.elementor-element-8a53003b h3, .elementor-228 .elementor-element.elementor-element-8a53003b h3.elementor-heading-title{font-family:var(--titel);font-weight:600;letter-spacing:-.03em; line-height:var(--lh-display);margin:0}
.elementor-228 .elementor-element.elementor-element-8a53003b p{margin:0}
.elementor-228 .elementor-element.elementor-element-8a53003b a{color:inherit}
.elementor-228 .elementor-element.elementor-element-8a53003b button{font:inherit;color:inherit;background:none;border:0;cursor:pointer; transition:transform var(--d-micro) var(--ease)}
.elementor-228 .elementor-element.elementor-element-8a53003b button:active{transform:scale(.97)}
.elementor-228 .elementor-element.elementor-element-8a53003b a:focus-visible, .elementor-228 .elementor-element.elementor-element-8a53003b button:focus-visible, .elementor-228 .elementor-element.elementor-element-8a53003b summary:focus-visible{outline:3px solid var(--fokus);outline-offset:3px}
.elementor-228 .elementor-element.elementor-element-8a53003b .spiegel{max-width:var(--spiegel);margin:0 auto;padding:0 var(--rand)}
.elementor-228 .elementor-element.elementor-element-8a53003b .mono{font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.15em; text-transform:uppercase;font-variant-numeric:tabular-nums}
.elementor-228 .elementor-element.elementor-element-8a53003b .sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden; clip:rect(0 0 0 0);white-space:nowrap;border:0}
.js .elementor-228 .elementor-element.elementor-element-8a53003b .rv{opacity:0;transform:translateY(16px); transition:opacity var(--d-reveal) var(--ease),transform var(--d-reveal) var(--ease)}
.js .elementor-228 .elementor-element.elementor-element-8a53003b .rv.an{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
.elementor-228 .elementor-element.elementor-element-8a53003b *, .elementor-228 .elementor-element.elementor-element-8a53003b *::before, .elementor-228 .elementor-element.elementor-element-8a53003b *::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
.js .elementor-228 .elementor-element.elementor-element-8a53003b .rv{opacity:1;transform:none}
}
.elementor-228 .elementor-element.elementor-element-8a53003b .knopf-ink{display:inline-flex;align-items:center;gap:10px;background:var(--ink); color:var(--papier);border-radius:999px;padding:16px 28px;font-weight:500;text-decoration:none; transition:transform var(--d-micro) var(--ease),background var(--d-hover) var(--ease),color var(--d-hover) var(--ease)}
.elementor-228 .elementor-element.elementor-element-8a53003b .knopf-ink:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){
.elementor-228 .elementor-element.elementor-element-8a53003b .knopf-ink:hover{background:var(--gelb);color:var(--ink)}
}
.elementor-228 .elementor-element.elementor-element-8a53003b .knopf-gelb{display:inline-flex;align-items:center;gap:10px;background:var(--gelb);color:var(--ink); border-radius:999px;padding:18px 32px;font-weight:500;text-decoration:none;font-size:18px; transition:transform var(--d-micro) var(--ease),filter var(--d-hover) var(--ease)}
.elementor-228 .elementor-element.elementor-element-8a53003b .knopf-gelb:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){
.elementor-228 .elementor-element.elementor-element-8a53003b .knopf-gelb:hover{filter:brightness(1.06)}
}
/* Elementor macht aus jedem Container einen Flex-Container. Die Quelle rechnet
   bei <section class="weg"> und bei .spiegel mit Block. */
.elementor-228 .elementor-element.elementor-element-8a53003b{display:block}
.elementor-228 .elementor-element.elementor-element-8a53003b .spiegel{display:block}
.elementor-228 .elementor-element.elementor-element-8a53003b.weg{padding:150px 0 30px}
.elementor-228 .elementor-element.elementor-element-8a53003b.weg h2, .elementor-228 .elementor-element.elementor-element-8a53003b.weg h2.elementor-heading-title{font-size:var(--t-aussage);max-width:16ch}
.elementor-228 .elementor-element.elementor-element-8a53003b .weg__liste{--einzug:clamp(60px,7vw,92px);position:relative;margin-top:64px; padding-left:var(--einzug)}
.elementor-228 .elementor-element.elementor-element-8a53003b .weg__bahn{position:absolute;left:19px;top:6px;bottom:6px;width:3px;border-radius:2px; background:var(--linie)}
.elementor-228 .elementor-element.elementor-element-8a53003b .weg__fuell{position:absolute;left:0;top:0;width:100%;height:100%;max-height:100%; background:var(--gelb);border-radius:2px}
.js .elementor-228 .elementor-element.elementor-element-8a53003b .weg__fuell{height:0}
.elementor-228 .elementor-element.elementor-element-8a53003b .weg__schritt{position:relative;padding:0 0 clamp(56px,9vh,104px)}
.elementor-228 .elementor-element.elementor-element-8a53003b .weg__schritt:last-child{padding-bottom:6px}
.elementor-228 .elementor-element.elementor-element-8a53003b .weg__punkt{position:absolute;left:calc(-1*var(--einzug));top:0;width:41px;height:41px; border-radius:999px;background:var(--gelb);border:2px solid var(--gelb);color:var(--ink); display:grid;place-items:center;font-family:var(--titel);font-weight:600;font-size:16px; transition:background 280ms var(--ease),border-color 280ms var(--ease), color 280ms var(--ease),transform 380ms var(--setz)}
.js .elementor-228 .elementor-element.elementor-element-8a53003b .weg__schritt:not(.voll) .weg__punkt{background:var(--papier); border-color:var(--linie-tragend);color:var(--ink-3)}
.js .elementor-228 .elementor-element.elementor-element-8a53003b .weg__schritt.voll .weg__punkt{transform:scale(1.06)}
.elementor-228 .elementor-element.elementor-element-8a53003b .weg__schritt b{display:block;font-family:var(--titel);font-weight:600;letter-spacing:-.02em; line-height:1.12;font-size:clamp(24px,3vw,40px);transition:color 280ms var(--ease)}
.js .elementor-228 .elementor-element.elementor-element-8a53003b .weg__schritt:not(.voll) b{color:var(--ink-3)}
.elementor-228 .elementor-element.elementor-element-8a53003b .weg__schritt p{color:var(--ink-2);margin-top:10px;max-width:52ch;font-size:var(--t-body)}
/* Kit-Falle 1 (STATUS 13.08., lab-verifiziert): Elementors Kit stylt
   `.elementor-widget-heading .elementor-heading-title` explizit (0,2,0) und
   stylt h1 bis h6 NAMENTLICH. Beides schlaegt jede Vererbung vom
   Widget-Rahmen. Die Ueberschrift erbt hier wieder von ihrem Rahmen; die
   echten Werte kommen aus den h1/h2/h3-Regeln der Quelle, die als
   `.elementor-228 .elementor-element.elementor-element-8a53003b h1.elementor-heading-title` (0,4,1) laut genug stehen.

   Der Element-Neutralisierer `.elementor-228 .elementor-element.elementor-element-8a53003b h1…h6{…:inherit}` des KI-Baus steht
   hier BEWUSST NICHT: er waere mit (0,3,1) genauso laut wie die gescopete
   Quell-Regel `.elementor-228 .elementor-element.elementor-element-8a53003b h1` und stuende nach ihr, wuerde sie also fuer jede
   Ueberschrift OHNE Elementor-Klasse umkehren. Auf dieser Seite gibt es keine
   solche Ueberschrift: alle vier Ueberschriften sind native Widgets, in den
   HTML- und Text-Widgets steht kein einziges h1 bis h6. `kt_pruefung.py`
   prueft das bei jedem Lauf (Probe TITEL), damit die Zeile nicht stumm
   fehlt, sobald jemand eine Ueberschrift in ein Widget legt. */
.elementor-228 .elementor-element.elementor-element-8a53003b .elementor-heading-title{color:inherit;font-family:inherit;
  font-size:inherit;font-weight:inherit;line-height:inherit;
  letter-spacing:inherit;text-align:inherit}

/* Theme-Durchgriff (STATUS 20.08.): Hello Elementor stylt `figcaption` mit
   line-height 1.4 UND font-style italic. Diese Seite fuehrt keine
   figcaption; die Zeile bleibt trotzdem stehen, damit eine spaeter
   eingesetzte Bildunterschrift nicht still kippt. */
.elementor-228 .elementor-element.elementor-element-8a53003b figcaption{line-height:var(--lh-body);font-style:normal}

/* Theme-Durchgriff Nummer zwei (STATUS 21.08.), und auf DIESER Seite der
   teuerste von allen: Hello Elementors `reset.css` setzt
   `label{display:inline-block; line-height:1; vertical-align:middle}`.
   Gemessen an einem klassenlosen `<label>` in beiden Dokumenten, VOR dem
   Import: Zeilenhoehe **16px auf der Lab gegen 27,2px in der Quelle**,
   `display` inline-block gegen inline, `vertical-align` middle gegen
   baseline.
   Die Seite fuehrt 29 `<label>` (fuenf Bereichs-Kaesten, 18 Chips, fuenf
   Gruppen-Etiketten, die Einwilligung), und KEINES setzt eine eigene
   Zeilenhoehe: sie erben in der Quelle die 1,6 vom Body. Am sichtbarsten
   waere es an der Einwilligungs-Zeile, die als mehrzeiliger Satz ueber bis zu
   64 Zeichen laeuft; mit der Theme-Eins staenden ihre Zeilen auf 13,5 statt
   21,6 Pixel.
   `display` und `vertical-align` setzt jedes Label ueber seine Klasse selbst
   (`.einwillig{flex}`, `.option label{flex}`, `.chip label{inline-flex}`,
   `.praez__label{block}`) und schlaegt den Neutralisierer mit vier Klassen
   gegen drei plus Element; die zwei Werte hier sind fuer den Fall, dass
   spaeter ein Label ohne Klasse dazukommt. */
.elementor-228 .elementor-element.elementor-element-8a53003b label{line-height:var(--lh-body);display:inline;vertical-align:baseline}

/* Theme-Durchgriff Nummer drei (Websitebau-Bau 22.08., bei echten 390
   gemessen, hier erneut bestaetigt): auf der Lab bekommt JEDER `button`
   `white-space:nowrap` (Quelle: normal), 3px Radius (Quelle 0), 8/16 Polster
   (Browser 1/6), 1px soliden Rand (Quelle 0) und die Elementor-Linkfarbe
   `rgb(204,51,102)`.
   Rand und Farbe erledigt die Quelle selbst (`button{color:inherit;
   background:none; border:0}`, gescopet 0,3,1 gegen 0,0,1). Bleiben Umbruch,
   Radius und Polster, und der Umbruch ist der teure Teil: `.praez__kopf` ist
   eine 100-Prozent-breite Flex-Zeile mit dem Text „Anfrage praezisieren", und
   bei 390 entscheidet `nowrap` ueber die Zeilenzahl und damit ueber die
   Sektionshoehe.

   KEIN `line-height:revert` in dieser Regel, anders als beim KI-Bau: dort
   fasste die Quelle `button` gar nicht an, hier tut sie es
   (`button{font:inherit; …}`), und `font:inherit` setzt die Zeilenhoehe auf
   den geerbten Wert 1,6. Ein `revert` wuerde auf `normal` zurueckrollen und
   damit die QUELLE brechen statt das Theme. Gegengemessen an einem
   klassenlosen Knopf: Quelle 27,2px, Lab (ohne Bau) 24px, und die 24 kommen
   aus Hellos Body-Zeilenhoehe, nicht aus einer Knopf-Regel. Nachgemessen wird
   es nach dem Import an allen drei echten Knoepfen. */
.elementor-228 .elementor-element.elementor-element-8a53003b button{white-space:normal;border-radius:0;padding:revert}

/* Theme-Durchgriff Nummer vier: Hello Elementor setzt `input{margin:0}`, der
   Browser gibt einer Checkbox `3px 3px 3px 4px`. Gemessen und bestaetigt.
   Auch das ist hier ein echter Fall: die Einwilligungs-Checkbox ist ein
   FLEX-ITEM in `.einwillig` (`gap:11px`), ihre seitlichen Raender zaehlen
   also in die Zeilenbreite, und die Quelle setzt an ihr nur `margin-top:3px`.
   Ohne `revert` ruecken der Haken und der ganze Satz um sieben Pixel.
   `.einwillig input` (0,4,1) schlaegt den Neutralisierer (0,3,1) fuer
   margin-top, genau wie in der Quelle der Browser-Default geschlagen wird.
   Die 23 uebrigen Eingaben der Seite sind davon unberuehrt: die vier
   Textfelder haben in beiden Dokumenten Rand 0, die 23 Wahl-Kaesten stehen
   `position:absolute` mit Deckung 0. */
.elementor-228 .elementor-element.elementor-element-8a53003b input{margin:revert}

/* Vorbeugend und ausdruecklich NICHT als echter Fund ausgegeben: `form`,
   `textarea`, `select`, `details` und `summary` zeigten in der
   Sorten-Gegenprobe KEINEN Element-Durchgriff (Hello fasst sie nicht an, die
   Polster und Radien der Textfelder kommen aus `input`-Regeln, die
   `.felder`-Klasse schlaegt sie mit vier Klassen). Diese Seite ist die erste
   der Serie mit einem echten `<form>` und `<textarea>`; die zwei Zeilen
   stehen deshalb als Sperre fuer den Fall, dass ein Theme-Update das aendert.
   `revert` rollt bis zur Browser-Voreinstellung (jeweils Rand 0). */
.elementor-228 .elementor-element.elementor-element-8a53003b form{margin:revert}
.elementor-228 .elementor-element.elementor-element-8a53003b textarea, .elementor-228 .elementor-element.elementor-element-8a53003b select{margin:revert}

/* Kit-Falle 2 (STATUS 21.08., durch den Eigenschafts-Vergleich gefunden):
   Elementor schreibt in JEDE Seiten-CSS den Kit-Block
   `.elementor-widget-text-editor{font-family:var(--e-global-typography-text-…);
   font-weight:var(…); color:var(--e-global-color-text)}`. Die Farbe ist der
   Kit-Standard #7A7A7A und trifft jeden Absatz, der seine Farbe NICHT selbst
   setzt. Eine Hoehenmessung findet so etwas nie.
   `.elementor-228 .elementor-element.elementor-element-8a53003b` wird von Elementor zu DREI Klassen aufgeloest, diese Regel traegt
   also vier und schlaegt sowohl den Kit-Block (eine Klasse) als auch die
   native Typo-Angabe des Widgets (drei Klassen). */
.elementor-228 .elementor-element.elementor-element-8a53003b .elementor-widget-text-editor{color:inherit;font-family:inherit;
  font-weight:inherit}

/* Falle 3 des F6-Baus, hier nicht vorbeugend, sondern noetig:
   `.e-con>.elementor-widget{max-width:100%}` deckelt jedes Widget. Die Quelle
   kennt diesen Deckel nicht, dort steht ueberall `max-width:none` und wer
   eine Grenze braucht, sagt es. */
.elementor-228 .elementor-element.elementor-element-8a53003b .elementor-widget{max-width:none}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-50ebcd97 */.elementor-228 .elementor-element.elementor-element-50ebcd97{--papier:#FFFFFF; --flaeche-2:#F4F4F5; --dunkel:#121214; --ink:#18181B; --ink-2:#52525B; --ink-3:#71717A; --auf-dunkel:#FFFFFF; --auf-dunkel-2:rgba(255,255,255,.62); --linie:#E9E9EB; --linie-tragend:#D7D7DB; --linie-dunkel:rgba(255,255,255,.16); --gelb:#EEC735; --fokus:var(--ink); --titel:"Familjen Grotesk",system-ui,sans-serif; --fliess:"Instrument Sans",system-ui,sans-serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --t-aussage:clamp(32px,4.6vw,64px); --t-body:clamp(15px,1.15vw,17px); --lh-display:1.06; --lh-body:1.6; --rand:clamp(14px,2.8vw,40px); --r-platte:clamp(16px,1.6vw,22px); --r-element:12px; --ease:cubic-bezier(.215,.61,.355,1); --ease-expo:cubic-bezier(.19,1,.22,1); --setz:cubic-bezier(.34,1.4,.64,1); --d-micro:160ms; --d-hover:200ms; --d-reveal:560ms; --spiegel:1180px; --schatten-buehne:0 60px 120px -48px rgba(24,24,27,.4),0 18px 40px -24px rgba(24,24,27,.28);}
.elementor-228 .elementor-element.elementor-element-50ebcd97 *, .elementor-228 .elementor-element.elementor-element-50ebcd97 *::before, .elementor-228 .elementor-element.elementor-element-50ebcd97 *::after{box-sizing:border-box}
.elementor-228 .elementor-element.elementor-element-50ebcd97 h1, .elementor-228 .elementor-element.elementor-element-50ebcd97 h1.elementor-heading-title, .elementor-228 .elementor-element.elementor-element-50ebcd97 h2, .elementor-228 .elementor-element.elementor-element-50ebcd97 h2.elementor-heading-title, .elementor-228 .elementor-element.elementor-element-50ebcd97 h3, .elementor-228 .elementor-element.elementor-element-50ebcd97 h3.elementor-heading-title{font-family:var(--titel);font-weight:600;letter-spacing:-.03em; line-height:var(--lh-display);margin:0}
.elementor-228 .elementor-element.elementor-element-50ebcd97 p{margin:0}
.elementor-228 .elementor-element.elementor-element-50ebcd97 a{color:inherit}
.elementor-228 .elementor-element.elementor-element-50ebcd97 button{font:inherit;color:inherit;background:none;border:0;cursor:pointer; transition:transform var(--d-micro) var(--ease)}
.elementor-228 .elementor-element.elementor-element-50ebcd97 button:active{transform:scale(.97)}
.elementor-228 .elementor-element.elementor-element-50ebcd97 a:focus-visible, .elementor-228 .elementor-element.elementor-element-50ebcd97 button:focus-visible, .elementor-228 .elementor-element.elementor-element-50ebcd97 summary:focus-visible{outline:3px solid var(--fokus);outline-offset:3px}
.elementor-228 .elementor-element.elementor-element-50ebcd97 .spiegel{max-width:var(--spiegel);margin:0 auto;padding:0 var(--rand)}
.elementor-228 .elementor-element.elementor-element-50ebcd97 .mono{font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.15em; text-transform:uppercase;font-variant-numeric:tabular-nums}
.elementor-228 .elementor-element.elementor-element-50ebcd97 .sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden; clip:rect(0 0 0 0);white-space:nowrap;border:0}
.js .elementor-228 .elementor-element.elementor-element-50ebcd97 .rv{opacity:0;transform:translateY(16px); transition:opacity var(--d-reveal) var(--ease),transform var(--d-reveal) var(--ease)}
.js .elementor-228 .elementor-element.elementor-element-50ebcd97 .rv.an{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
.elementor-228 .elementor-element.elementor-element-50ebcd97 *, .elementor-228 .elementor-element.elementor-element-50ebcd97 *::before, .elementor-228 .elementor-element.elementor-element-50ebcd97 *::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
.js .elementor-228 .elementor-element.elementor-element-50ebcd97 .rv{opacity:1;transform:none}
}
.elementor-228 .elementor-element.elementor-element-50ebcd97 .knopf-ink{display:inline-flex;align-items:center;gap:10px;background:var(--ink); color:var(--papier);border-radius:999px;padding:16px 28px;font-weight:500;text-decoration:none; transition:transform var(--d-micro) var(--ease),background var(--d-hover) var(--ease),color var(--d-hover) var(--ease)}
.elementor-228 .elementor-element.elementor-element-50ebcd97 .knopf-ink:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){
.elementor-228 .elementor-element.elementor-element-50ebcd97 .knopf-ink:hover{background:var(--gelb);color:var(--ink)}
}
.elementor-228 .elementor-element.elementor-element-50ebcd97 .knopf-gelb{display:inline-flex;align-items:center;gap:10px;background:var(--gelb);color:var(--ink); border-radius:999px;padding:18px 32px;font-weight:500;text-decoration:none;font-size:18px; transition:transform var(--d-micro) var(--ease),filter var(--d-hover) var(--ease)}
.elementor-228 .elementor-element.elementor-element-50ebcd97 .knopf-gelb:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){
.elementor-228 .elementor-element.elementor-element-50ebcd97 .knopf-gelb:hover{filter:brightness(1.06)}
}
/* Elementor macht aus jedem Container einen Flex-Container. Die Quelle rechnet
   bei <section class="ort"> und in der linken Spalte mit Block; .spiegel holt
   sich hier sein Raster aus .ort__lage, das nach diesem Angleich steht, und
   bekommt deshalb KEIN display:block. */
.elementor-228 .elementor-element.elementor-element-50ebcd97{display:block}
.elementor-228 .elementor-element.elementor-element-50ebcd97 .bm-kt-03-spalte{display:block}

.elementor-228 .elementor-element.elementor-element-50ebcd97 .durch, .elementor-228 .elementor-element.elementor-element-50ebcd97 .durch > .elementor-widget-container{display:contents}
.elementor-228 .elementor-element.elementor-element-50ebcd97.ort{background:var(--flaeche-2);padding:130px 0}
.elementor-228 .elementor-element.elementor-element-50ebcd97 .ort__lage{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(28px,4.5vw,80px);align-items:center}
@media (max-width:899px){
.elementor-228 .elementor-element.elementor-element-50ebcd97 .ort__lage{grid-template-columns:1fr}
}
.elementor-228 .elementor-element.elementor-element-50ebcd97.ort h2, .elementor-228 .elementor-element.elementor-element-50ebcd97.ort h2.elementor-heading-title{font-size:var(--t-aussage);max-width:14ch}
.elementor-228 .elementor-element.elementor-element-50ebcd97 .ort__adresse{display:block;font-family:var(--titel);font-weight:600;letter-spacing:-.02em; font-size:clamp(21px,2.2vw,30px);margin-top:26px;font-variant-numeric:tabular-nums}
.elementor-228 .elementor-element.elementor-element-50ebcd97 .ort__satz{color:var(--ink-2);margin-top:14px;max-width:40ch;font-size:var(--t-body)}
.elementor-228 .elementor-element.elementor-element-50ebcd97.ort .knopf-ink{margin-top:30px}
.elementor-228 .elementor-element.elementor-element-50ebcd97 .karte{position:relative;aspect-ratio:4/3;background:var(--papier);border:1px solid var(--linie); border-radius:var(--r-platte);box-shadow:var(--schatten-buehne);padding:10px}
.elementor-228 .elementor-element.elementor-element-50ebcd97 .karte__map{display:block;width:100%;height:100%;border:0; border-radius:calc(var(--r-platte) - 7px);filter:grayscale(1) contrast(1.04); transition:filter 420ms var(--ease)}
.js .elementor-228 .elementor-element.elementor-element-50ebcd97 .karte:not(.aktiv) .karte__map{pointer-events:none}
@media (hover:hover) and (pointer:fine){
.elementor-228 .elementor-element.elementor-element-50ebcd97 .karte:hover .karte__map{filter:none}
}
.elementor-228 .elementor-element.elementor-element-50ebcd97 .karte.aktiv .karte__map{filter:none}
.elementor-228 .elementor-element.elementor-element-50ebcd97 .karte__schild{position:absolute;right:22px;top:22px;background:var(--papier); border:1px solid var(--linie);border-radius:12px;padding:11px 15px; box-shadow:0 10px 30px -12px rgba(24,24,27,.35);display:flex;gap:11px;align-items:center; pointer-events:none}
.elementor-228 .elementor-element.elementor-element-50ebcd97 .karte__schild b{display:block;font-family:var(--titel);font-weight:600;font-size:14px; letter-spacing:-.01em;white-space:nowrap}
.elementor-228 .elementor-element.elementor-element-50ebcd97 .karte__schild small{display:block;color:var(--ink-2);font-size:12px}
@media (max-width:700px){
.elementor-228 .elementor-element.elementor-element-50ebcd97 .karte:not(.aktiv) .karte__schild{display:none}
.elementor-228 .elementor-element.elementor-element-50ebcd97 .karte__schild{top:auto;right:14px;bottom:14px;left:14px;justify-content:center}
}
.elementor-228 .elementor-element.elementor-element-50ebcd97 .karte.aktiv .karte__schild small{visibility:hidden}
.elementor-228 .elementor-element.elementor-element-50ebcd97 .karte__punkt{width:12px;height:12px;border-radius:999px;background:var(--gelb); position:relative;flex:0 0 auto}
.elementor-228 .elementor-element.elementor-element-50ebcd97 .karte__punkt::after{content:"";position:absolute;inset:-6px;border-radius:999px; border:2px solid var(--gelb);opacity:0;animation:puls 2.6s var(--ease) infinite}
@keyframes puls{0%{transform:scale(.5);opacity:.9}70%,100%{transform:scale(1.5);opacity:0}}
.elementor-228 .elementor-element.elementor-element-50ebcd97 .karte__consent{position:absolute;inset:0;display:grid;place-items:center;background:var(--flaeche-2)}
.elementor-228 .elementor-element.elementor-element-50ebcd97 .karte__consent-innen{display:grid;gap:14px;justify-items:center;text-align:center; max-width:44ch;padding:24px}
.elementor-228 .elementor-element.elementor-element-50ebcd97 .karte__consent-satz{color:var(--ink-2);font-size:14.5px;line-height:1.6}
.elementor-228 .elementor-element.elementor-element-50ebcd97 .karte__consent-knopf{font:inherit;font-weight:500;font-size:15px;background:var(--ink); color:#fff;border:0;border-radius:999px;padding:14px 26px;cursor:pointer; transition:background-color 200ms var(--ease),transform 160ms var(--ease)}
.elementor-228 .elementor-element.elementor-element-50ebcd97 .karte__consent-knopf:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){
.elementor-228 .elementor-element.elementor-element-50ebcd97 .karte__consent-knopf:hover{background:var(--gelb);color:var(--ink)}
}
/* Kit-Falle 1 (STATUS 13.08., lab-verifiziert): Elementors Kit stylt
   `.elementor-widget-heading .elementor-heading-title` explizit (0,2,0) und
   stylt h1 bis h6 NAMENTLICH. Beides schlaegt jede Vererbung vom
   Widget-Rahmen. Die Ueberschrift erbt hier wieder von ihrem Rahmen; die
   echten Werte kommen aus den h1/h2/h3-Regeln der Quelle, die als
   `.elementor-228 .elementor-element.elementor-element-50ebcd97 h1.elementor-heading-title` (0,4,1) laut genug stehen.

   Der Element-Neutralisierer `.elementor-228 .elementor-element.elementor-element-50ebcd97 h1…h6{…:inherit}` des KI-Baus steht
   hier BEWUSST NICHT: er waere mit (0,3,1) genauso laut wie die gescopete
   Quell-Regel `.elementor-228 .elementor-element.elementor-element-50ebcd97 h1` und stuende nach ihr, wuerde sie also fuer jede
   Ueberschrift OHNE Elementor-Klasse umkehren. Auf dieser Seite gibt es keine
   solche Ueberschrift: alle vier Ueberschriften sind native Widgets, in den
   HTML- und Text-Widgets steht kein einziges h1 bis h6. `kt_pruefung.py`
   prueft das bei jedem Lauf (Probe TITEL), damit die Zeile nicht stumm
   fehlt, sobald jemand eine Ueberschrift in ein Widget legt. */
.elementor-228 .elementor-element.elementor-element-50ebcd97 .elementor-heading-title{color:inherit;font-family:inherit;
  font-size:inherit;font-weight:inherit;line-height:inherit;
  letter-spacing:inherit;text-align:inherit}

/* Theme-Durchgriff (STATUS 20.08.): Hello Elementor stylt `figcaption` mit
   line-height 1.4 UND font-style italic. Diese Seite fuehrt keine
   figcaption; die Zeile bleibt trotzdem stehen, damit eine spaeter
   eingesetzte Bildunterschrift nicht still kippt. */
.elementor-228 .elementor-element.elementor-element-50ebcd97 figcaption{line-height:var(--lh-body);font-style:normal}

/* Theme-Durchgriff Nummer zwei (STATUS 21.08.), und auf DIESER Seite der
   teuerste von allen: Hello Elementors `reset.css` setzt
   `label{display:inline-block; line-height:1; vertical-align:middle}`.
   Gemessen an einem klassenlosen `<label>` in beiden Dokumenten, VOR dem
   Import: Zeilenhoehe **16px auf der Lab gegen 27,2px in der Quelle**,
   `display` inline-block gegen inline, `vertical-align` middle gegen
   baseline.
   Die Seite fuehrt 29 `<label>` (fuenf Bereichs-Kaesten, 18 Chips, fuenf
   Gruppen-Etiketten, die Einwilligung), und KEINES setzt eine eigene
   Zeilenhoehe: sie erben in der Quelle die 1,6 vom Body. Am sichtbarsten
   waere es an der Einwilligungs-Zeile, die als mehrzeiliger Satz ueber bis zu
   64 Zeichen laeuft; mit der Theme-Eins staenden ihre Zeilen auf 13,5 statt
   21,6 Pixel.
   `display` und `vertical-align` setzt jedes Label ueber seine Klasse selbst
   (`.einwillig{flex}`, `.option label{flex}`, `.chip label{inline-flex}`,
   `.praez__label{block}`) und schlaegt den Neutralisierer mit vier Klassen
   gegen drei plus Element; die zwei Werte hier sind fuer den Fall, dass
   spaeter ein Label ohne Klasse dazukommt. */
.elementor-228 .elementor-element.elementor-element-50ebcd97 label{line-height:var(--lh-body);display:inline;vertical-align:baseline}

/* Theme-Durchgriff Nummer drei (Websitebau-Bau 22.08., bei echten 390
   gemessen, hier erneut bestaetigt): auf der Lab bekommt JEDER `button`
   `white-space:nowrap` (Quelle: normal), 3px Radius (Quelle 0), 8/16 Polster
   (Browser 1/6), 1px soliden Rand (Quelle 0) und die Elementor-Linkfarbe
   `rgb(204,51,102)`.
   Rand und Farbe erledigt die Quelle selbst (`button{color:inherit;
   background:none; border:0}`, gescopet 0,3,1 gegen 0,0,1). Bleiben Umbruch,
   Radius und Polster, und der Umbruch ist der teure Teil: `.praez__kopf` ist
   eine 100-Prozent-breite Flex-Zeile mit dem Text „Anfrage praezisieren", und
   bei 390 entscheidet `nowrap` ueber die Zeilenzahl und damit ueber die
   Sektionshoehe.

   KEIN `line-height:revert` in dieser Regel, anders als beim KI-Bau: dort
   fasste die Quelle `button` gar nicht an, hier tut sie es
   (`button{font:inherit; …}`), und `font:inherit` setzt die Zeilenhoehe auf
   den geerbten Wert 1,6. Ein `revert` wuerde auf `normal` zurueckrollen und
   damit die QUELLE brechen statt das Theme. Gegengemessen an einem
   klassenlosen Knopf: Quelle 27,2px, Lab (ohne Bau) 24px, und die 24 kommen
   aus Hellos Body-Zeilenhoehe, nicht aus einer Knopf-Regel. Nachgemessen wird
   es nach dem Import an allen drei echten Knoepfen. */
.elementor-228 .elementor-element.elementor-element-50ebcd97 button{white-space:normal;border-radius:0;padding:revert}

/* Theme-Durchgriff Nummer vier: Hello Elementor setzt `input{margin:0}`, der
   Browser gibt einer Checkbox `3px 3px 3px 4px`. Gemessen und bestaetigt.
   Auch das ist hier ein echter Fall: die Einwilligungs-Checkbox ist ein
   FLEX-ITEM in `.einwillig` (`gap:11px`), ihre seitlichen Raender zaehlen
   also in die Zeilenbreite, und die Quelle setzt an ihr nur `margin-top:3px`.
   Ohne `revert` ruecken der Haken und der ganze Satz um sieben Pixel.
   `.einwillig input` (0,4,1) schlaegt den Neutralisierer (0,3,1) fuer
   margin-top, genau wie in der Quelle der Browser-Default geschlagen wird.
   Die 23 uebrigen Eingaben der Seite sind davon unberuehrt: die vier
   Textfelder haben in beiden Dokumenten Rand 0, die 23 Wahl-Kaesten stehen
   `position:absolute` mit Deckung 0. */
.elementor-228 .elementor-element.elementor-element-50ebcd97 input{margin:revert}

/* Vorbeugend und ausdruecklich NICHT als echter Fund ausgegeben: `form`,
   `textarea`, `select`, `details` und `summary` zeigten in der
   Sorten-Gegenprobe KEINEN Element-Durchgriff (Hello fasst sie nicht an, die
   Polster und Radien der Textfelder kommen aus `input`-Regeln, die
   `.felder`-Klasse schlaegt sie mit vier Klassen). Diese Seite ist die erste
   der Serie mit einem echten `<form>` und `<textarea>`; die zwei Zeilen
   stehen deshalb als Sperre fuer den Fall, dass ein Theme-Update das aendert.
   `revert` rollt bis zur Browser-Voreinstellung (jeweils Rand 0). */
.elementor-228 .elementor-element.elementor-element-50ebcd97 form{margin:revert}
.elementor-228 .elementor-element.elementor-element-50ebcd97 textarea, .elementor-228 .elementor-element.elementor-element-50ebcd97 select{margin:revert}

/* Kit-Falle 2 (STATUS 21.08., durch den Eigenschafts-Vergleich gefunden):
   Elementor schreibt in JEDE Seiten-CSS den Kit-Block
   `.elementor-widget-text-editor{font-family:var(--e-global-typography-text-…);
   font-weight:var(…); color:var(--e-global-color-text)}`. Die Farbe ist der
   Kit-Standard #7A7A7A und trifft jeden Absatz, der seine Farbe NICHT selbst
   setzt. Eine Hoehenmessung findet so etwas nie.
   `.elementor-228 .elementor-element.elementor-element-50ebcd97` wird von Elementor zu DREI Klassen aufgeloest, diese Regel traegt
   also vier und schlaegt sowohl den Kit-Block (eine Klasse) als auch die
   native Typo-Angabe des Widgets (drei Klassen). */
.elementor-228 .elementor-element.elementor-element-50ebcd97 .elementor-widget-text-editor{color:inherit;font-family:inherit;
  font-weight:inherit}

/* Falle 3 des F6-Baus, hier nicht vorbeugend, sondern noetig:
   `.e-con>.elementor-widget{max-width:100%}` deckelt jedes Widget. Die Quelle
   kennt diesen Deckel nicht, dort steht ueberall `max-width:none` und wer
   eine Grenze braucht, sagt es. */
.elementor-228 .elementor-element.elementor-element-50ebcd97 .elementor-widget{max-width:none}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e0e6969f */.elementor-228 .elementor-element.elementor-element-e0e6969f{--papier:#FFFFFF; --flaeche-2:#F4F4F5; --dunkel:#121214; --ink:#18181B; --ink-2:#52525B; --ink-3:#71717A; --auf-dunkel:#FFFFFF; --auf-dunkel-2:rgba(255,255,255,.62); --linie:#E9E9EB; --linie-tragend:#D7D7DB; --linie-dunkel:rgba(255,255,255,.16); --gelb:#EEC735; --fokus:var(--ink); --titel:"Familjen Grotesk",system-ui,sans-serif; --fliess:"Instrument Sans",system-ui,sans-serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --t-aussage:clamp(32px,4.6vw,64px); --t-body:clamp(15px,1.15vw,17px); --lh-display:1.06; --lh-body:1.6; --rand:clamp(14px,2.8vw,40px); --r-platte:clamp(16px,1.6vw,22px); --r-element:12px; --ease:cubic-bezier(.215,.61,.355,1); --ease-expo:cubic-bezier(.19,1,.22,1); --setz:cubic-bezier(.34,1.4,.64,1); --d-micro:160ms; --d-hover:200ms; --d-reveal:560ms; --spiegel:1180px; --schatten-buehne:0 60px 120px -48px rgba(24,24,27,.4),0 18px 40px -24px rgba(24,24,27,.28);}
.elementor-228 .elementor-element.elementor-element-e0e6969f *, .elementor-228 .elementor-element.elementor-element-e0e6969f *::before, .elementor-228 .elementor-element.elementor-element-e0e6969f *::after{box-sizing:border-box}
.elementor-228 .elementor-element.elementor-element-e0e6969f h1, .elementor-228 .elementor-element.elementor-element-e0e6969f h1.elementor-heading-title, .elementor-228 .elementor-element.elementor-element-e0e6969f h2, .elementor-228 .elementor-element.elementor-element-e0e6969f h2.elementor-heading-title, .elementor-228 .elementor-element.elementor-element-e0e6969f h3, .elementor-228 .elementor-element.elementor-element-e0e6969f h3.elementor-heading-title{font-family:var(--titel);font-weight:600;letter-spacing:-.03em; line-height:var(--lh-display);margin:0}
.elementor-228 .elementor-element.elementor-element-e0e6969f p{margin:0}
.elementor-228 .elementor-element.elementor-element-e0e6969f a{color:inherit}
.elementor-228 .elementor-element.elementor-element-e0e6969f button{font:inherit;color:inherit;background:none;border:0;cursor:pointer; transition:transform var(--d-micro) var(--ease)}
.elementor-228 .elementor-element.elementor-element-e0e6969f button:active{transform:scale(.97)}
.elementor-228 .elementor-element.elementor-element-e0e6969f a:focus-visible, .elementor-228 .elementor-element.elementor-element-e0e6969f button:focus-visible, .elementor-228 .elementor-element.elementor-element-e0e6969f summary:focus-visible{outline:3px solid var(--fokus);outline-offset:3px}
.elementor-228 .elementor-element.elementor-element-e0e6969f .spiegel{max-width:var(--spiegel);margin:0 auto;padding:0 var(--rand)}
.elementor-228 .elementor-element.elementor-element-e0e6969f .mono{font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.15em; text-transform:uppercase;font-variant-numeric:tabular-nums}
.elementor-228 .elementor-element.elementor-element-e0e6969f .sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden; clip:rect(0 0 0 0);white-space:nowrap;border:0}
.js .elementor-228 .elementor-element.elementor-element-e0e6969f .rv{opacity:0;transform:translateY(16px); transition:opacity var(--d-reveal) var(--ease),transform var(--d-reveal) var(--ease)}
.js .elementor-228 .elementor-element.elementor-element-e0e6969f .rv.an{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
.elementor-228 .elementor-element.elementor-element-e0e6969f *, .elementor-228 .elementor-element.elementor-element-e0e6969f *::before, .elementor-228 .elementor-element.elementor-element-e0e6969f *::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
.js .elementor-228 .elementor-element.elementor-element-e0e6969f .rv{opacity:1;transform:none}
}
.elementor-228 .elementor-element.elementor-element-e0e6969f .knopf-ink{display:inline-flex;align-items:center;gap:10px;background:var(--ink); color:var(--papier);border-radius:999px;padding:16px 28px;font-weight:500;text-decoration:none; transition:transform var(--d-micro) var(--ease),background var(--d-hover) var(--ease),color var(--d-hover) var(--ease)}
.elementor-228 .elementor-element.elementor-element-e0e6969f .knopf-ink:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){
.elementor-228 .elementor-element.elementor-element-e0e6969f .knopf-ink:hover{background:var(--gelb);color:var(--ink)}
}
.elementor-228 .elementor-element.elementor-element-e0e6969f .knopf-gelb{display:inline-flex;align-items:center;gap:10px;background:var(--gelb);color:var(--ink); border-radius:999px;padding:18px 32px;font-weight:500;text-decoration:none;font-size:18px; transition:transform var(--d-micro) var(--ease),filter var(--d-hover) var(--ease)}
.elementor-228 .elementor-element.elementor-element-e0e6969f .knopf-gelb:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){
.elementor-228 .elementor-element.elementor-element-e0e6969f .knopf-gelb:hover{filter:brightness(1.06)}
}
/* Elementor macht aus jedem Container einen Flex-Container. Die Quelle rechnet
   bei <section class="faq"> und bei .spiegel mit Block. */
.elementor-228 .elementor-element.elementor-element-e0e6969f{display:block}
.elementor-228 .elementor-element.elementor-element-e0e6969f .spiegel{display:block}
.elementor-228 .elementor-element.elementor-element-e0e6969f.faq{padding:120px 0 110px}
.elementor-228 .elementor-element.elementor-element-e0e6969f.faq h2, .elementor-228 .elementor-element.elementor-element-e0e6969f.faq h2.elementor-heading-title{font-size:var(--t-aussage);max-width:15ch}
.elementor-228 .elementor-element.elementor-element-e0e6969f.faq details{border-bottom:1px solid var(--linie-tragend)}
.elementor-228 .elementor-element.elementor-element-e0e6969f.faq details:first-of-type{margin-top:44px;border-top:1px solid var(--linie-tragend)}
.elementor-228 .elementor-element.elementor-element-e0e6969f.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:18px; align-items:baseline;padding:22px 4px;font-family:var(--titel);font-weight:600; font-size:clamp(18px,1.9vw,24px);letter-spacing:-.02em}
.elementor-228 .elementor-element.elementor-element-e0e6969f.faq summary::-webkit-details-marker{display:none}
.elementor-228 .elementor-element.elementor-element-e0e6969f.faq summary i{font-style:normal;color:var(--ink-3);transition:transform 280ms var(--ease);flex:0 0 auto}
.elementor-228 .elementor-element.elementor-element-e0e6969f.faq details[open] summary i{transform:rotate(45deg)}
.elementor-228 .elementor-element.elementor-element-e0e6969f.faq .antwort{padding:0 4px 26px;color:var(--ink-2);max-width:68ch;font-size:var(--t-body);overflow:hidden}
.elementor-228 .elementor-element.elementor-element-e0e6969f .faq__rueck{margin-top:40px}
.elementor-228 .elementor-element.elementor-element-e0e6969f .faq__rueck a{display:inline-flex;gap:10px;align-items:center;text-decoration:none; font-size:15px;color:var(--ink-2);transition:color var(--d-hover) var(--ease)}
@media (hover:hover) and (pointer:fine){
.elementor-228 .elementor-element.elementor-element-e0e6969f .faq__rueck a:hover{color:var(--ink)}
}
/* Kit-Falle 1 (STATUS 13.08., lab-verifiziert): Elementors Kit stylt
   `.elementor-widget-heading .elementor-heading-title` explizit (0,2,0) und
   stylt h1 bis h6 NAMENTLICH. Beides schlaegt jede Vererbung vom
   Widget-Rahmen. Die Ueberschrift erbt hier wieder von ihrem Rahmen; die
   echten Werte kommen aus den h1/h2/h3-Regeln der Quelle, die als
   `.elementor-228 .elementor-element.elementor-element-e0e6969f h1.elementor-heading-title` (0,4,1) laut genug stehen.

   Der Element-Neutralisierer `.elementor-228 .elementor-element.elementor-element-e0e6969f h1…h6{…:inherit}` des KI-Baus steht
   hier BEWUSST NICHT: er waere mit (0,3,1) genauso laut wie die gescopete
   Quell-Regel `.elementor-228 .elementor-element.elementor-element-e0e6969f h1` und stuende nach ihr, wuerde sie also fuer jede
   Ueberschrift OHNE Elementor-Klasse umkehren. Auf dieser Seite gibt es keine
   solche Ueberschrift: alle vier Ueberschriften sind native Widgets, in den
   HTML- und Text-Widgets steht kein einziges h1 bis h6. `kt_pruefung.py`
   prueft das bei jedem Lauf (Probe TITEL), damit die Zeile nicht stumm
   fehlt, sobald jemand eine Ueberschrift in ein Widget legt. */
.elementor-228 .elementor-element.elementor-element-e0e6969f .elementor-heading-title{color:inherit;font-family:inherit;
  font-size:inherit;font-weight:inherit;line-height:inherit;
  letter-spacing:inherit;text-align:inherit}

/* Theme-Durchgriff (STATUS 20.08.): Hello Elementor stylt `figcaption` mit
   line-height 1.4 UND font-style italic. Diese Seite fuehrt keine
   figcaption; die Zeile bleibt trotzdem stehen, damit eine spaeter
   eingesetzte Bildunterschrift nicht still kippt. */
.elementor-228 .elementor-element.elementor-element-e0e6969f figcaption{line-height:var(--lh-body);font-style:normal}

/* Theme-Durchgriff Nummer zwei (STATUS 21.08.), und auf DIESER Seite der
   teuerste von allen: Hello Elementors `reset.css` setzt
   `label{display:inline-block; line-height:1; vertical-align:middle}`.
   Gemessen an einem klassenlosen `<label>` in beiden Dokumenten, VOR dem
   Import: Zeilenhoehe **16px auf der Lab gegen 27,2px in der Quelle**,
   `display` inline-block gegen inline, `vertical-align` middle gegen
   baseline.
   Die Seite fuehrt 29 `<label>` (fuenf Bereichs-Kaesten, 18 Chips, fuenf
   Gruppen-Etiketten, die Einwilligung), und KEINES setzt eine eigene
   Zeilenhoehe: sie erben in der Quelle die 1,6 vom Body. Am sichtbarsten
   waere es an der Einwilligungs-Zeile, die als mehrzeiliger Satz ueber bis zu
   64 Zeichen laeuft; mit der Theme-Eins staenden ihre Zeilen auf 13,5 statt
   21,6 Pixel.
   `display` und `vertical-align` setzt jedes Label ueber seine Klasse selbst
   (`.einwillig{flex}`, `.option label{flex}`, `.chip label{inline-flex}`,
   `.praez__label{block}`) und schlaegt den Neutralisierer mit vier Klassen
   gegen drei plus Element; die zwei Werte hier sind fuer den Fall, dass
   spaeter ein Label ohne Klasse dazukommt. */
.elementor-228 .elementor-element.elementor-element-e0e6969f label{line-height:var(--lh-body);display:inline;vertical-align:baseline}

/* Theme-Durchgriff Nummer drei (Websitebau-Bau 22.08., bei echten 390
   gemessen, hier erneut bestaetigt): auf der Lab bekommt JEDER `button`
   `white-space:nowrap` (Quelle: normal), 3px Radius (Quelle 0), 8/16 Polster
   (Browser 1/6), 1px soliden Rand (Quelle 0) und die Elementor-Linkfarbe
   `rgb(204,51,102)`.
   Rand und Farbe erledigt die Quelle selbst (`button{color:inherit;
   background:none; border:0}`, gescopet 0,3,1 gegen 0,0,1). Bleiben Umbruch,
   Radius und Polster, und der Umbruch ist der teure Teil: `.praez__kopf` ist
   eine 100-Prozent-breite Flex-Zeile mit dem Text „Anfrage praezisieren", und
   bei 390 entscheidet `nowrap` ueber die Zeilenzahl und damit ueber die
   Sektionshoehe.

   KEIN `line-height:revert` in dieser Regel, anders als beim KI-Bau: dort
   fasste die Quelle `button` gar nicht an, hier tut sie es
   (`button{font:inherit; …}`), und `font:inherit` setzt die Zeilenhoehe auf
   den geerbten Wert 1,6. Ein `revert` wuerde auf `normal` zurueckrollen und
   damit die QUELLE brechen statt das Theme. Gegengemessen an einem
   klassenlosen Knopf: Quelle 27,2px, Lab (ohne Bau) 24px, und die 24 kommen
   aus Hellos Body-Zeilenhoehe, nicht aus einer Knopf-Regel. Nachgemessen wird
   es nach dem Import an allen drei echten Knoepfen. */
.elementor-228 .elementor-element.elementor-element-e0e6969f button{white-space:normal;border-radius:0;padding:revert}

/* Theme-Durchgriff Nummer vier: Hello Elementor setzt `input{margin:0}`, der
   Browser gibt einer Checkbox `3px 3px 3px 4px`. Gemessen und bestaetigt.
   Auch das ist hier ein echter Fall: die Einwilligungs-Checkbox ist ein
   FLEX-ITEM in `.einwillig` (`gap:11px`), ihre seitlichen Raender zaehlen
   also in die Zeilenbreite, und die Quelle setzt an ihr nur `margin-top:3px`.
   Ohne `revert` ruecken der Haken und der ganze Satz um sieben Pixel.
   `.einwillig input` (0,4,1) schlaegt den Neutralisierer (0,3,1) fuer
   margin-top, genau wie in der Quelle der Browser-Default geschlagen wird.
   Die 23 uebrigen Eingaben der Seite sind davon unberuehrt: die vier
   Textfelder haben in beiden Dokumenten Rand 0, die 23 Wahl-Kaesten stehen
   `position:absolute` mit Deckung 0. */
.elementor-228 .elementor-element.elementor-element-e0e6969f input{margin:revert}

/* Vorbeugend und ausdruecklich NICHT als echter Fund ausgegeben: `form`,
   `textarea`, `select`, `details` und `summary` zeigten in der
   Sorten-Gegenprobe KEINEN Element-Durchgriff (Hello fasst sie nicht an, die
   Polster und Radien der Textfelder kommen aus `input`-Regeln, die
   `.felder`-Klasse schlaegt sie mit vier Klassen). Diese Seite ist die erste
   der Serie mit einem echten `<form>` und `<textarea>`; die zwei Zeilen
   stehen deshalb als Sperre fuer den Fall, dass ein Theme-Update das aendert.
   `revert` rollt bis zur Browser-Voreinstellung (jeweils Rand 0). */
.elementor-228 .elementor-element.elementor-element-e0e6969f form{margin:revert}
.elementor-228 .elementor-element.elementor-element-e0e6969f textarea, .elementor-228 .elementor-element.elementor-element-e0e6969f select{margin:revert}

/* Kit-Falle 2 (STATUS 21.08., durch den Eigenschafts-Vergleich gefunden):
   Elementor schreibt in JEDE Seiten-CSS den Kit-Block
   `.elementor-widget-text-editor{font-family:var(--e-global-typography-text-…);
   font-weight:var(…); color:var(--e-global-color-text)}`. Die Farbe ist der
   Kit-Standard #7A7A7A und trifft jeden Absatz, der seine Farbe NICHT selbst
   setzt. Eine Hoehenmessung findet so etwas nie.
   `.elementor-228 .elementor-element.elementor-element-e0e6969f` wird von Elementor zu DREI Klassen aufgeloest, diese Regel traegt
   also vier und schlaegt sowohl den Kit-Block (eine Klasse) als auch die
   native Typo-Angabe des Widgets (drei Klassen). */
.elementor-228 .elementor-element.elementor-element-e0e6969f .elementor-widget-text-editor{color:inherit;font-family:inherit;
  font-weight:inherit}

/* Falle 3 des F6-Baus, hier nicht vorbeugend, sondern noetig:
   `.e-con>.elementor-widget{max-width:100%}` deckelt jedes Widget. Die Quelle
   kennt diesen Deckel nicht, dort steht ueberall `max-width:none` und wer
   eine Grenze braucht, sagt es. */
.elementor-228 .elementor-element.elementor-element-e0e6969f .elementor-widget{max-width:none}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a67e85e3 */.elementor-228 .elementor-element.elementor-element-a67e85e3{--papier: #FFFFFF; --flaeche-2: #F4F4F5; --dunkel: #121214; --ink: #18181B; --ink-2: #52525B; --ink-3: #71717A; --auf-dunkel: #FFFFFF; --auf-dunkel-2:rgba(255,255,255,.62); --auf-bild: #FFFFFF; --linie: #E9E9EB; --linie-tragend:#D7D7DB; --linie-dunkel: rgba(255,255,255,.16); --gelb: #EEC735; --gold: var(--ink); --fokus: var(--ink); --titel: "Familjen Grotesk", system-ui, sans-serif; --fliess: "Instrument Sans", system-ui, sans-serif; --mono: "IBM Plex Mono", ui-monospace, monospace; --t-hero: clamp(44px, 8.6vw, 124px); --t-gross: clamp(40px, 7.6vw, 110px); --t-aussage: clamp(34px, 4.9vw, 68px); --t-name: clamp(26px, 3.0vw, 42px); --t-option: clamp(17px, 1.5vw, 21px); --t-body: clamp(15px, 1.15vw, 17px); --t-meta: 13px; --t-mono: 11px; --lh-display: 1.06; --lh-body: 1.6; --rand: clamp(14px, 2.8vw, 40px); --r-platte: clamp(16px, 1.6vw, 22px); --r-element: 12px; --r-pille: 999px; --ease: cubic-bezier(.215,.61,.355,1); --ease-expo: cubic-bezier(.19,1,.22,1); --d-micro: 160ms; --d-hover: 200ms; --d-reveal: 560ms;}
.elementor-228 .elementor-element.elementor-element-a67e85e3{background:var(--papier); color:var(--ink); font-family:var(--fliess); font-size:17px; line-height:var(--lh-body); -webkit-font-smoothing:antialiased}
.elementor-228 .elementor-element.elementor-element-a67e85e3 .zeile{transition: transform var(--d-micro) var(--ease);}
.elementor-228 .elementor-element.elementor-element-a67e85e3 .zeile:active{transform: scale(.97);}
.elementor-228 .elementor-element.elementor-element-a67e85e3 a:focus-visible{outline: 3px solid var(--fokus); outline-offset: 3px;}
/* --- Theme-Durchgriffe von Hello Elementor, alle gemessen --------------- */

/* `p{margin-top:0; margin-bottom:14,4px}` gegen die UA-Voreinstellung
   1em/1em (17px bei der Body-Groesse dieser Seite). Betrifft jeden Absatz
   ohne eigene Rand-Regel. */
.elementor-228 .elementor-element.elementor-element-a67e85e3 p{margin:revert}

/* `ul,ol{margin:0}` gegen 1em/1em. Der Einzug (padding-left 40px) ist in
   beiden gleich, er steht deshalb nicht hier. */
.elementor-228 .elementor-element.elementor-element-a67e85e3 ul, .elementor-228 .elementor-element.elementor-element-a67e85e3 ol{margin:revert}

/* Hello stylt h1 bis h6 NAMENTLICH: Groesse (40/32/28/24/20/16px statt
   34/25,5/19,89/17/14,11/11,39), Gewicht 500 statt 700 und Raender 8/16
   statt 0,67em. Diese Seite traegt vierzehn Ueberschriften in HTML-Widgets
   (die H2 der Sektionen 02 und 03, die sechs H3 der Leistungen, die drei H3
   der Schritte, die drei H3 der Fusszeilen-Spalten). Jede von ihnen hat in
   der Quelle eine Klassen-Regel, die diesen Neutralisierer schlaegt; er ist
   das Netz fuer den Fall, dass eine dazukommt. */
.elementor-228 .elementor-element.elementor-element-a67e85e3 h1, .elementor-228 .elementor-element.elementor-element-a67e85e3 h2, .elementor-228 .elementor-element.elementor-element-a67e85e3 h3, .elementor-228 .elementor-element.elementor-element-a67e85e3 h4, .elementor-228 .elementor-element.elementor-element-a67e85e3 h5, .elementor-228 .elementor-element.elementor-element-a67e85e3 h6{
  margin:revert;font-size:revert;font-weight:revert;line-height:revert}

/* Der teuerste Durchgriff dieser Seite: `button`. Hello faerbt ihn
   rgb(204,51,102), nimmt ihm Rand und Hintergrund, gibt ihm 8/16 Polster,
   3px Radius, `white-space:nowrap`, die Body-Schrift und `cursor:pointer`.
   Sechzehn Einzelwerte. Die Quelle fasst `button` nur ueber `transition`
   und `:active` an, alles andere kommt dort aus dem Browser. Betroffen sind
   die zwei Pfeile in Sektion 05 und die drei Knoepfe plus die Chips in
   Sektion 07; ihre Klassen setzen das meiste selbst, aber nicht alles
   (`white-space` und `cursor` setzt keine). */
.elementor-228 .elementor-element.elementor-element-a67e85e3 button{padding:revert;font-family:revert;font-size:revert;
  line-height:revert;color:revert;background:revert;border:revert;
  border-radius:revert;white-space:revert;cursor:revert}

/* `input{margin:0}` gegen die Checkbox-Raender 3/3/3/4 des Browsers, dazu
   Schriftfamilie, -groesse und Zeilenhoehe. Die 16 Haken der Sektion 07
   stehen `position:absolute` mit Deckung 0, die Zeile ist also Vorsorge. */
.elementor-228 .elementor-element.elementor-element-a67e85e3 input{margin:revert;font-family:revert;font-size:revert;
  line-height:revert}

/* `label{display:inline-block; line-height:1; vertical-align:middle}` gegen
   `inline`, 1,6 und `baseline`. Die 16 Etiketten der Sektion 07 setzen ihr
   `display:flex` selbst, die Zeilenhoehe nicht. */
.elementor-228 .elementor-element.elementor-element-a67e85e3 label{display:revert;line-height:revert;vertical-align:revert}

/* `img{max-width:100%}` gegen `none`. Betrifft die 19 Bilder der Seite; die
   zehn Kundenlogos rechnen ihre Hoehe aus `naturalWidth`/`naturalHeight`
   und werden vom Skript per Inline-Stil gesetzt, ein Deckel darueber waere
   in schmalen Reihen sichtbar. */
.elementor-228 .elementor-element.elementor-element-a67e85e3 img{max-width:revert}

/* Hello faerbt Links rgb(204,51,102) und nimmt ihnen die Unterstreichung;
   die Quelle hat an einem klassenlosen Link das UA-Blau MIT Unterstreichung.
   Alle Links dieser Seite tragen eine Klasse, die beides setzt; die Zeile
   ist das Netz. */
.elementor-228 .elementor-element.elementor-element-a67e85e3 a{color:revert;text-decoration:revert}

/* --- Elementor-eigene Zutaten ------------------------------------------ */

/* Kit-Falle 1 (STATUS 13.08., lab-verifiziert): Elementors Kit stylt
   `.elementor-widget-heading .elementor-heading-title` explizit (0,2,0) und
   stylt h1 bis h6 NAMENTLICH. Die Ueberschrift erbt hier wieder von ihrem
   Rahmen; die echten Werte kommen aus den Quell-Regeln, die ueber
   `heading_variante()` als `… h2.elementor-heading-title` laut genug stehen. */
.elementor-228 .elementor-element.elementor-element-a67e85e3 .elementor-heading-title{color:inherit;font-family:inherit;
  font-size:inherit;font-weight:inherit;line-height:inherit;
  letter-spacing:inherit;text-align:inherit}

/* Kit-Falle 2 (STATUS 21.08.): Elementor schreibt in JEDE Seiten-CSS den
   Kit-Block `.elementor-widget-text-editor{font-family:…; color:
   var(--e-global-color-text)}`. Die Farbe ist der Kit-Standard #7A7A7A und
   trifft jeden Absatz, der seine Farbe nicht selbst setzt. */
.elementor-228 .elementor-element.elementor-element-a67e85e3 .elementor-widget-text-editor{color:inherit;font-family:inherit;
  font-weight:inherit}

/* Falle 3 des F6-Baus: `.e-con>.elementor-widget{max-width:100%}` deckelt
   jedes Widget. Die Quelle kennt diesen Deckel nicht. */
.elementor-228 .elementor-element.elementor-element-a67e85e3 .elementor-widget{max-width:none}
.elementor-228 .elementor-element.elementor-element-a67e85e3{display:block;width:auto;padding:0;margin:0}
.elementor-228 .elementor-element.elementor-element-a67e85e3 .fuss{display:block;width:auto}
.elementor-228 .elementor-element.elementor-element-a67e85e3 .fuss__innen{display:block;width:auto}
.elementor-228 .elementor-element.elementor-element-a67e85e3 .fuss{--fokus:var(--gelb); margin:8px var(--rand) var(--rand); background:var(--dunkel); color:var(--auf-dunkel); border-radius:22px; padding:clamp(40px,6vh,72px) clamp(20px,3.4vw,64px) clamp(24px,3vh,36px);}
.elementor-228 .elementor-element.elementor-element-a67e85e3 .fuss__innen{max-width:1360px; margin:0 auto}
.elementor-228 .elementor-element.elementor-element-a67e85e3 .raster{display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,.85fr) minmax(0,.85fr) minmax(0,1.25fr); gap:clamp(28px,3.4vw,56px); align-items:start;}
.elementor-228 .elementor-element.elementor-element-a67e85e3 .marke img{height:clamp(46px,4.4vw,64px); width:auto; display:block}
.elementor-228 .elementor-element.elementor-element-a67e85e3 .marke p{margin:22px 0 0; color:var(--auf-dunkel-2); font-size:var(--t-body); max-width:34ch}
.elementor-228 .elementor-element.elementor-element-a67e85e3 .marke ul{list-style:none; margin:22px 0 0; padding:0; display:flex; gap:20px}
.elementor-228 .elementor-element.elementor-element-a67e85e3 .spalte h3{font-family:var(--titel); font-weight:600; font-size:13px; letter-spacing:.02em; color:var(--auf-dunkel-2); margin:0 0 16px; text-transform:none;}
.elementor-228 .elementor-element.elementor-element-a67e85e3 .spalte ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px}
.elementor-228 .elementor-element.elementor-element-a67e85e3 a.zeile{color:var(--auf-dunkel); text-decoration:none; font-size:var(--t-body); display:inline-block; border-radius:6px; transition:color 200ms var(--ease), transform var(--d-micro) var(--ease);}
@media (hover:hover) and (pointer:fine){
.elementor-228 .elementor-element.elementor-element-a67e85e3 a.zeile:hover{color:var(--gelb)}
}
.elementor-228 .elementor-element.elementor-element-a67e85e3 .kontakt address{font-style:normal; color:var(--auf-dunkel-2); font-size:var(--t-body); margin:0 0 16px}
.elementor-228 .elementor-element.elementor-element-a67e85e3 .kontakt .gross{font-family:var(--titel); font-weight:600; color:var(--auf-dunkel); font-size:clamp(19px,1.8vw,24px); letter-spacing:-.02em; font-variant-numeric:tabular-nums;}
.elementor-228 .elementor-element.elementor-element-a67e85e3 .unten{margin-top:clamp(36px,5vh,60px); padding-top:22px; border-top:1px solid var(--linie-dunkel); display:flex; justify-content:space-between; align-items:center; gap:16px 28px; flex-wrap:wrap; color:var(--auf-dunkel-2); font-size:14px;}
.elementor-228 .elementor-element.elementor-element-a67e85e3 .unten ul{list-style:none; margin:0; padding:0; display:flex; gap:24px}
.elementor-228 .elementor-element.elementor-element-a67e85e3 .unten .jahr{font-variant-numeric:tabular-nums}
@media (max-width:1000px){
.elementor-228 .elementor-element.elementor-element-a67e85e3 .raster{grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:36px 32px}
.elementor-228 .elementor-element.elementor-element-a67e85e3 .marke{grid-column:1 / -1}
}
@media (max-width:600px){
.elementor-228 .elementor-element.elementor-element-a67e85e3 .raster{grid-template-columns:1fr}
.elementor-228 .elementor-element.elementor-element-a67e85e3 .unten{flex-direction:column; align-items:flex-start}
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ba9528c1 */:root{--papier:#FFFFFF; --flaeche-2:#F4F4F5; --dunkel:#121214; --ink:#18181B; --ink-2:#52525B; --ink-3:#71717A; --auf-dunkel:#FFFFFF; --auf-dunkel-2:rgba(255,255,255,.62); --linie:#E9E9EB; --linie-tragend:#D7D7DB; --linie-dunkel:rgba(255,255,255,.16); --gelb:#EEC735; --fokus:var(--ink); --titel:"Familjen Grotesk",system-ui,sans-serif; --fliess:"Instrument Sans",system-ui,sans-serif; --mono:"IBM Plex Mono",ui-monospace,monospace; --t-aussage:clamp(32px,4.6vw,64px); --t-body:clamp(15px,1.15vw,17px); --lh-display:1.06; --lh-body:1.6; --rand:clamp(14px,2.8vw,40px); --r-platte:clamp(16px,1.6vw,22px); --r-element:12px; --ease:cubic-bezier(.215,.61,.355,1); --ease-expo:cubic-bezier(.19,1,.22,1); --setz:cubic-bezier(.34,1.4,.64,1); --d-micro:160ms; --d-hover:200ms; --d-reveal:560ms; --spiegel:1180px; --schatten-buehne:0 60px 120px -48px rgba(24,24,27,.4),0 18px 40px -24px rgba(24,24,27,.28);}
html{overflow-anchor:none}
body{margin:0;background:var(--papier);color:var(--ink);font-family:var(--fliess); font-size:17px;line-height:var(--lh-body);-webkit-font-smoothing:antialiased;overflow-x:clip}
.lauf{position:fixed;top:0;left:0;height:3px;background:var(--gelb);width:0;z-index:60}
.navplatz{height:76px;display:flex;align-items:center}
.navplatz .spiegel{width:100%;display:flex;justify-content:space-between;align-items:center;gap:14px}
.navplatz .wortmarke{font-family:var(--titel);font-weight:600;font-size:19px;letter-spacing:-.02em;text-decoration:none;white-space:nowrap}
.navplatz .wortmarke i{font-style:normal;color:var(--gelb)}
.navplatz .platzhalter{border:1px dashed var(--linie-tragend);border-radius:999px; padding:8px 18px;color:var(--ink-3);font-size:13px;white-space:nowrap}
@media (max-width:600px){
.navplatz .platzhalter{display:none}
}
.vorhang{display:none;position:fixed;inset:0;background:var(--papier);z-index:90;pointer-events:none}
.js .vorhang{display:block;animation:vorhangNot 0s linear 1.6s forwards}
@keyframes vorhangNot{to{visibility:hidden}}
/* Kit-Falle 1 (STATUS 13.08., lab-verifiziert): Elementors Kit stylt
   `.elementor-widget-heading .elementor-heading-title` explizit (0,2,0) und
   stylt h1 bis h6 NAMENTLICH. Beides schlaegt jede Vererbung vom
   Widget-Rahmen. Die Ueberschrift erbt hier wieder von ihrem Rahmen; die
   echten Werte kommen aus den h1/h2/h3-Regeln der Quelle, die als
   `.elementor-228 .elementor-element.elementor-element-ba9528c1 h1.elementor-heading-title` (0,4,1) laut genug stehen.

   Der Element-Neutralisierer `.elementor-228 .elementor-element.elementor-element-ba9528c1 h1…h6{…:inherit}` des KI-Baus steht
   hier BEWUSST NICHT: er waere mit (0,3,1) genauso laut wie die gescopete
   Quell-Regel `.elementor-228 .elementor-element.elementor-element-ba9528c1 h1` und stuende nach ihr, wuerde sie also fuer jede
   Ueberschrift OHNE Elementor-Klasse umkehren. Auf dieser Seite gibt es keine
   solche Ueberschrift: alle vier Ueberschriften sind native Widgets, in den
   HTML- und Text-Widgets steht kein einziges h1 bis h6. `kt_pruefung.py`
   prueft das bei jedem Lauf (Probe TITEL), damit die Zeile nicht stumm
   fehlt, sobald jemand eine Ueberschrift in ein Widget legt. */
.elementor-228 .elementor-element.elementor-element-ba9528c1 .elementor-heading-title{color:inherit;font-family:inherit;
  font-size:inherit;font-weight:inherit;line-height:inherit;
  letter-spacing:inherit;text-align:inherit}

/* Theme-Durchgriff (STATUS 20.08.): Hello Elementor stylt `figcaption` mit
   line-height 1.4 UND font-style italic. Diese Seite fuehrt keine
   figcaption; die Zeile bleibt trotzdem stehen, damit eine spaeter
   eingesetzte Bildunterschrift nicht still kippt. */
.elementor-228 .elementor-element.elementor-element-ba9528c1 figcaption{line-height:var(--lh-body);font-style:normal}

/* Theme-Durchgriff Nummer zwei (STATUS 21.08.), und auf DIESER Seite der
   teuerste von allen: Hello Elementors `reset.css` setzt
   `label{display:inline-block; line-height:1; vertical-align:middle}`.
   Gemessen an einem klassenlosen `<label>` in beiden Dokumenten, VOR dem
   Import: Zeilenhoehe **16px auf der Lab gegen 27,2px in der Quelle**,
   `display` inline-block gegen inline, `vertical-align` middle gegen
   baseline.
   Die Seite fuehrt 29 `<label>` (fuenf Bereichs-Kaesten, 18 Chips, fuenf
   Gruppen-Etiketten, die Einwilligung), und KEINES setzt eine eigene
   Zeilenhoehe: sie erben in der Quelle die 1,6 vom Body. Am sichtbarsten
   waere es an der Einwilligungs-Zeile, die als mehrzeiliger Satz ueber bis zu
   64 Zeichen laeuft; mit der Theme-Eins staenden ihre Zeilen auf 13,5 statt
   21,6 Pixel.
   `display` und `vertical-align` setzt jedes Label ueber seine Klasse selbst
   (`.einwillig{flex}`, `.option label{flex}`, `.chip label{inline-flex}`,
   `.praez__label{block}`) und schlaegt den Neutralisierer mit vier Klassen
   gegen drei plus Element; die zwei Werte hier sind fuer den Fall, dass
   spaeter ein Label ohne Klasse dazukommt. */
.elementor-228 .elementor-element.elementor-element-ba9528c1 label{line-height:var(--lh-body);display:inline;vertical-align:baseline}

/* Theme-Durchgriff Nummer drei (Websitebau-Bau 22.08., bei echten 390
   gemessen, hier erneut bestaetigt): auf der Lab bekommt JEDER `button`
   `white-space:nowrap` (Quelle: normal), 3px Radius (Quelle 0), 8/16 Polster
   (Browser 1/6), 1px soliden Rand (Quelle 0) und die Elementor-Linkfarbe
   `rgb(204,51,102)`.
   Rand und Farbe erledigt die Quelle selbst (`button{color:inherit;
   background:none; border:0}`, gescopet 0,3,1 gegen 0,0,1). Bleiben Umbruch,
   Radius und Polster, und der Umbruch ist der teure Teil: `.praez__kopf` ist
   eine 100-Prozent-breite Flex-Zeile mit dem Text „Anfrage praezisieren", und
   bei 390 entscheidet `nowrap` ueber die Zeilenzahl und damit ueber die
   Sektionshoehe.

   KEIN `line-height:revert` in dieser Regel, anders als beim KI-Bau: dort
   fasste die Quelle `button` gar nicht an, hier tut sie es
   (`button{font:inherit; …}`), und `font:inherit` setzt die Zeilenhoehe auf
   den geerbten Wert 1,6. Ein `revert` wuerde auf `normal` zurueckrollen und
   damit die QUELLE brechen statt das Theme. Gegengemessen an einem
   klassenlosen Knopf: Quelle 27,2px, Lab (ohne Bau) 24px, und die 24 kommen
   aus Hellos Body-Zeilenhoehe, nicht aus einer Knopf-Regel. Nachgemessen wird
   es nach dem Import an allen drei echten Knoepfen. */
.elementor-228 .elementor-element.elementor-element-ba9528c1 button{white-space:normal;border-radius:0;padding:revert}

/* Theme-Durchgriff Nummer vier: Hello Elementor setzt `input{margin:0}`, der
   Browser gibt einer Checkbox `3px 3px 3px 4px`. Gemessen und bestaetigt.
   Auch das ist hier ein echter Fall: die Einwilligungs-Checkbox ist ein
   FLEX-ITEM in `.einwillig` (`gap:11px`), ihre seitlichen Raender zaehlen
   also in die Zeilenbreite, und die Quelle setzt an ihr nur `margin-top:3px`.
   Ohne `revert` ruecken der Haken und der ganze Satz um sieben Pixel.
   `.einwillig input` (0,4,1) schlaegt den Neutralisierer (0,3,1) fuer
   margin-top, genau wie in der Quelle der Browser-Default geschlagen wird.
   Die 23 uebrigen Eingaben der Seite sind davon unberuehrt: die vier
   Textfelder haben in beiden Dokumenten Rand 0, die 23 Wahl-Kaesten stehen
   `position:absolute` mit Deckung 0. */
.elementor-228 .elementor-element.elementor-element-ba9528c1 input{margin:revert}

/* Vorbeugend und ausdruecklich NICHT als echter Fund ausgegeben: `form`,
   `textarea`, `select`, `details` und `summary` zeigten in der
   Sorten-Gegenprobe KEINEN Element-Durchgriff (Hello fasst sie nicht an, die
   Polster und Radien der Textfelder kommen aus `input`-Regeln, die
   `.felder`-Klasse schlaegt sie mit vier Klassen). Diese Seite ist die erste
   der Serie mit einem echten `<form>` und `<textarea>`; die zwei Zeilen
   stehen deshalb als Sperre fuer den Fall, dass ein Theme-Update das aendert.
   `revert` rollt bis zur Browser-Voreinstellung (jeweils Rand 0). */
.elementor-228 .elementor-element.elementor-element-ba9528c1 form{margin:revert}
.elementor-228 .elementor-element.elementor-element-ba9528c1 textarea, .elementor-228 .elementor-element.elementor-element-ba9528c1 select{margin:revert}

/* Kit-Falle 2 (STATUS 21.08., durch den Eigenschafts-Vergleich gefunden):
   Elementor schreibt in JEDE Seiten-CSS den Kit-Block
   `.elementor-widget-text-editor{font-family:var(--e-global-typography-text-…);
   font-weight:var(…); color:var(--e-global-color-text)}`. Die Farbe ist der
   Kit-Standard #7A7A7A und trifft jeden Absatz, der seine Farbe NICHT selbst
   setzt. Eine Hoehenmessung findet so etwas nie.
   `.elementor-228 .elementor-element.elementor-element-ba9528c1` wird von Elementor zu DREI Klassen aufgeloest, diese Regel traegt
   also vier und schlaegt sowohl den Kit-Block (eine Klasse) als auch die
   native Typo-Angabe des Widgets (drei Klassen). */
.elementor-228 .elementor-element.elementor-element-ba9528c1 .elementor-widget-text-editor{color:inherit;font-family:inherit;
  font-weight:inherit}

/* Falle 3 des F6-Baus, hier nicht vorbeugend, sondern noetig:
   `.e-con>.elementor-widget{max-width:100%}` deckelt jedes Widget. Die Quelle
   kennt diesen Deckel nicht, dort steht ueberall `max-width:none` und wer
   eine Grenze braucht, sagt es. */
.elementor-228 .elementor-element.elementor-element-ba9528c1 .elementor-widget{max-width:none}
/* Der Block ist unsichtbar, aber NICHT display:none: seine zwei Overlays sind
   position:fixed und wuerden mit einem display:none-Vorfahren verschwinden.
   Fixiert heisst ausserhalb des Flusses, der Container ist deshalb von selbst
   0 Pixel hoch. */
.elementor-228 .elementor-element.elementor-element-ba9528c1{padding:0;margin:0}
.elementor-228 .elementor-element.elementor-element-ba9528c1 .bm-kt-schrift{display:none}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bmbrk001 */.elementor-228 .elementor-element.elementor-element-bmbrk001{display:none!important}/* End custom CSS */