/*
 * Blauschild – Gestaltung
 * Farben, Schrift und Regeln: siehe Markenbuch "Blauschild".
 * Die Inhalte (Texte, Links, Buttons) werden in Elementor bearbeitet.
 * Klassen mit "bs-" werden in Elementor unter Erweitert → CSS-Klassen vergeben.
 */

/* ---------- Schrift (lokal, keine Verbindung zu Google) ---------- */
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/hanken-grotesk-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/hanken-grotesk-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/hanken-grotesk-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/hanken-grotesk-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/hanken-grotesk-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/hanken-grotesk-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ---------- Tokens ---------- */
:root{
  --bs-nacht:#0e1b1f;
  --bs-relief:#1b3036;
  --bs-schildfuellung:#13262b;
  --bs-weiss:#ffffff;
  --bs-kalk:#f2f4f3;
  --bs-linie:#d3dcde;
  --bs-rand:#7c8e94;
  --bs-stein:#55656b;
  --bs-tinte:#142027;
  --bs-schild:#61868d;
  --bs-schildtief:#3e5d64;
  --bs-schildnacht:#2b4349;
  --bs-eis:#9dbac0;
  --bs-nebel:#a9bdc1;
  --bs-font:'Hanken Grotesk','Helvetica Neue',Helvetica,Arial,sans-serif;
  --bs-ease:cubic-bezier(.2,.7,.2,1);
  --bs-ease-io:cubic-bezier(.7,0,.2,1);
  --bs-ease-in:cubic-bezier(.2,.75,.2,1);
  --bs-max:1280px;
  --bs-gutter:clamp(20px,4vw,56px);
  --bs-head:76px;
  --bs-base:2.15s; /* Startzeit der Hero-Animation (nach dem Vorhang) */
}
html.bs-skip-intro{--bs-base:.15s}
html{scroll-behavior:smooth}

/* ---------- Grundlagen ---------- */
body.bs{background:var(--bs-weiss);color:var(--bs-tinte);font-family:var(--bs-font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body.bs button,body.bs input,body.bs select,body.bs textarea{font-family:var(--bs-font)}
.bs #page{overflow-x:clip}
.bs-front #content,.bs-front .site-content{padding:0}
.bs-front #content>.ast-container{max-width:none;padding:0;margin:0;display:block}
.bs:not(.bs-front) #content{padding-top:var(--bs-head)}
.bs .elementor h1,.bs .elementor h2,.bs .elementor h3,.bs .elementor h4,.bs .elementor h5,.bs .elementor h6,.bs .elementor p{margin:0}
.bs .elementor .elementor-widget-text-editor p{margin:0}
.bs .elementor .elementor-widget-text-editor p+p{margin-top:1em}
.bs .elementor .elementor-widget:not(:last-child){margin-block-end:0}
.bs .elementor .elementor-heading-title{font-family:var(--bs-font);color:inherit}
.bs .elementor .elementor-widget-text-editor{font-family:var(--bs-font)}
.bs .bs-accent{color:var(--bs-schild)}
.bs .bs-dark .bs-accent{color:var(--bs-eis)}
.bs .bs-ink{color:var(--bs-tinte)}
.bs :focus-visible{outline:2px solid var(--bs-schildtief);outline-offset:3px}
.bs .bs-dark :focus-visible,.bs .bs-head:not(.is-solid) :focus-visible,.bs .bs-mnav :focus-visible,.bs .bs-foot :focus-visible{outline-color:var(--bs-eis)}
.bs .bs-wrap{width:100%;max-width:var(--bs-max);margin-inline:auto;padding-inline:var(--bs-gutter)}

/* Linie, die beim Hover einläuft */
.bs .bs-ul,.bs .bs-contact__big a,.bs .bs-note a,.bs .bs-foot__col a{background-image:linear-gradient(currentColor,currentColor);background-size:0% 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .5s var(--bs-ease);text-decoration:none}
.bs .bs-ul:hover,.bs .bs-contact__big a:hover,.bs .bs-note a:hover,.bs .bs-foot__col a:hover{background-size:100% 1px}

/* Körnung auf dunklen Flächen */
.bs .bs-grain::before{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27240%27%20height%3D%27240%27%3E%3Cfilter%20id%3D%27n%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%27.85%27%20numOctaves%3D%273%27%20stitchTiles%3D%27stitch%27%2F%3E%3CfeColorMatrix%20type%3D%27saturate%27%20values%3D%270%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%27100%25%27%20height%3D%27100%25%27%20filter%3D%27url%28%23n%29%27%2F%3E%3C%2Fsvg%3E");background-size:240px 240px;opacity:.09;mix-blend-mode:soft-light;pointer-events:none;z-index:0}

/* ---------- Header ---------- */
.bs-head{position:fixed;top:0;left:0;right:0;z-index:999;color:#fff;background:rgba(14,27,31,0);border-bottom:1px solid rgba(255,255,255,0);transition:background-color .45s ease,color .45s ease,border-color .45s ease}
.bs-head.is-solid{background:rgba(242,244,243,.86);color:var(--bs-tinte);border-bottom-color:var(--bs-linie);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.admin-bar .bs-head{top:32px}
@media (max-width:782px){.admin-bar .bs-head{top:46px}}
.bs-head__in{max-width:var(--bs-max);margin:0 auto;padding-inline:var(--bs-gutter);min-height:var(--bs-head);display:flex;align-items:center;justify-content:space-between;gap:32px}
.bs .bs-brand{display:inline-flex;align-items:center;gap:12px;color:inherit;text-decoration:none}
.bs .bs-brand:hover,.bs .bs-brand:focus{color:inherit}
.bs-brand svg{display:block;height:30px;width:27.75px}
.bs-brand .bs-mark{fill:var(--bs-eis);transition:fill .45s ease}
.bs-head.is-solid .bs-brand .bs-mark{fill:var(--bs-schild)}
.bs-brand__word{font-size:15px;font-weight:600;letter-spacing:.18em;line-height:1}
.bs-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:clamp(24px,3vw,44px)}
.bs .bs-navlink{display:block;padding:12px 0;color:inherit;text-decoration:none;font-size:15px;font-weight:500;opacity:.72;transition:opacity .2s ease}
.bs .bs-navlink:hover,.bs .bs-navlink:focus{color:inherit;opacity:1}
.bs .bs-head-cta{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 2px;color:inherit;text-decoration:none;font-size:15px;font-weight:600}
.bs .bs-head-cta:hover,.bs .bs-head-cta:focus{color:inherit}
.bs-cta-ic{display:inline-flex;width:30px;height:30px;border-radius:999px;border:1px solid currentColor;align-items:center;justify-content:center;flex:0 0 auto}
.bs .bs-menu,.bs .bs-menu:hover,.bs .bs-menu:focus{display:none;align-items:center;gap:10px;min-height:44px;padding:0 0 0 12px;margin:0;background:none;border:0;box-shadow:none;color:inherit;font:inherit;font-size:15px;font-weight:600;line-height:1;cursor:pointer}

/* Handy-Menü */
.bs-mnav{position:fixed;inset:0;z-index:998;background:var(--bs-nacht);color:#fff;padding:calc(var(--bs-head) + 48px) var(--bs-gutter) 40px;display:flex;flex-direction:column;justify-content:space-between;gap:40px;overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility 0s linear .4s}
.bs-mnav.is-open{opacity:1;visibility:visible;transition:opacity .4s ease}
.bs-mnav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.bs .bs-mnav__link{display:block;padding:6px 0;color:#fff;text-decoration:none;font-size:40px;font-weight:400;line-height:1.1;letter-spacing:-.035em}
.bs .bs-mnav__link:hover,.bs .bs-mnav__link:focus{color:var(--bs-eis)}
.bs-mnav__foot{display:flex;flex-direction:column;gap:6px;font-size:16px;color:var(--bs-nebel)}
.bs .bs-mnav__foot a{color:#fff;text-decoration:none}
body.bs-menu-open{overflow:hidden}
body.bs-menu-open .bs-head{background:transparent;color:#fff;border-bottom-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
body.bs-menu-open .bs-brand .bs-mark{fill:var(--bs-eis)}
@media (min-width:761px){.bs-mnav{display:none}}
@media (max-width:760px){
  .bs-nav,.bs .bs-head-cta{display:none}
  .bs .bs-menu,.bs .bs-menu:hover,.bs .bs-menu:focus{display:inline-flex}
}

/* ---------- Öffnungsanimation (nur Startseite, einmal pro Besuch) ---------- */
.bs-intro{position:fixed;inset:0;z-index:1000;pointer-events:none;animation:bs-hide .01s linear 2.95s forwards}
.bs-intro__half{position:absolute;top:0;bottom:0;width:50%;background:var(--bs-nacht);display:flex;align-items:center}
.bs-intro__half--l{left:0;justify-content:flex-end;animation:bs-open-l .95s var(--bs-ease-io) 2s forwards}
.bs-intro__half--r{right:0;justify-content:flex-start;animation:bs-open-r .95s var(--bs-ease-io) 2s forwards}
.bs-intro__half svg{display:block;height:150px;width:65.35px;fill:var(--bs-schild)}
.bs-intro__half--l svg{margin-right:3.35px;animation:bs-in-l .9s var(--bs-ease-in) .15s both}
.bs-intro__half--r svg{margin-left:3.35px;animation:bs-in-r .9s var(--bs-ease-in) .15s both}
.bs-intro__line{position:absolute;left:calc(50% - .5px);top:0;bottom:0;width:1px;background:var(--bs-eis);transform-origin:top center;box-shadow:0 0 14px rgba(157,186,192,.55);animation:bs-draw .75s var(--bs-ease-io) .85s both,bs-fade-out .3s linear 1.8s forwards}
.bs-intro__word{position:absolute;left:0;right:0;top:calc(50% + 104px);text-align:center;font-size:14px;font-weight:600;line-height:1;letter-spacing:.34em;padding-left:.34em;color:#fff;animation:bs-fade-in .6s ease 1.15s both,bs-fade-out .3s linear 1.8s forwards}
html.bs-skip-intro .bs-intro,.elementor-editor-active .bs-intro{display:none}

@keyframes bs-in-l{from{transform:translateX(-56px);opacity:0}to{transform:none;opacity:1}}
@keyframes bs-in-r{from{transform:translateX(56px);opacity:0}to{transform:none;opacity:1}}
@keyframes bs-draw{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes bs-fade-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes bs-fade-out{to{opacity:0}}
@keyframes bs-open-l{to{transform:translateX(-101%)}}
@keyframes bs-open-r{to{transform:translateX(101%)}}
@keyframes bs-hide{to{visibility:hidden}}
@keyframes bs-rise{from{transform:translateY(110%)}to{transform:none}}
@keyframes bs-up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes bs-half-l{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:none}}
@keyframes bs-half-r{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}
@keyframes bs-glow{from{opacity:0;transform:translate(-50%,-50%) scale(.85)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes bs-scan{0%{top:-18%;opacity:0}15%{opacity:1}85%{opacity:1}100%{top:100%;opacity:0}}
@keyframes bs-breathe{0%,100%{opacity:.75}50%{opacity:1}}

/* ---------- Zeilen-Masken (Headlines) ---------- */
.bs .bs-ml{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.bs .bs-ml__in{display:block}
/* Hero: Zeilen steigen nach dem Vorhang */
.bs .bs-load-lines .bs-ml__in{animation:bs-rise 1.1s var(--bs-ease-in) both;animation-delay:calc(var(--bs-base) + .09s + var(--i,0) * .09s)}
/* Abschnitte: Zeilen steigen beim Scrollen */
.bs-js .bs-mask-lines .bs-ml__in{transform:translateY(105%);transition:transform 1.3s var(--bs-ease);transition-delay:calc(var(--i,0) * .1s)}
.bs-js .bs-mask-lines.is-in .bs-ml__in{transform:none}

/* Einblenden beim Laden (Hero) */
.bs .bs-load{animation:bs-up .9s var(--bs-ease-in) both;animation-delay:var(--bs-base)}
.bs .bs-load.bs-d4{animation-duration:1s;animation-delay:calc(var(--bs-base) + .5s)}

/* Einblenden beim Scrollen */
.bs-js .bs-rv{opacity:0;transform:translateY(36px);transition:opacity 1s var(--bs-ease),transform 1.2s var(--bs-ease)}
.bs-js .bs-rv.is-in{opacity:1;transform:none}
.bs-js .bs-rv.bs-delay{transition-delay:.12s}

/* ---------- Abschnitts-Labels ---------- */
.bs .bs-eyebrow .elementor-heading-title{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:500;line-height:1.6;letter-spacing:0;color:var(--bs-schildtief)}
.bs .bs-eyebrow .elementor-heading-title::before{content:'';flex:0 0 28px;height:1px;background:var(--bs-schild)}
.bs .bs-dark .bs-eyebrow .elementor-heading-title{color:var(--bs-eis)}

/* ---------- Buttons (Pill) ---------- */
.bs .bs-btn .elementor-button-wrapper{display:block}
body.bs .bs-btn .elementor-button{display:inline-flex;align-items:center;gap:16px;min-height:58px;padding:0 26px;box-sizing:border-box;border:0;border-radius:999px;background:transparent;font-family:var(--bs-font);font-size:16px;font-weight:600;line-height:1;letter-spacing:0;text-decoration:none;box-shadow:none;transition:background-color .3s ease,color .3s ease,border-color .3s ease}
body.bs .bs-btn .elementor-button-content-wrapper{gap:0}
body.bs .bs-btn--arrow .elementor-button{padding:7px 7px 7px 26px}
body.bs .bs-btn--arrow .elementor-button::after{content:'';flex:0 0 44px;width:44px;height:44px;border-radius:999px;background:var(--bs-nacht) url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2714%27%20height%3D%2712%27%20viewBox%3D%270%200%2014%2012%27%20fill%3D%27none%27%20stroke%3D%27%239dbac0%27%20stroke-width%3D%271.6%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M1%206h11M7.5%201.5%2012%206l-4.5%204.5%27%2F%3E%3C%2Fsvg%3E") center/14px 12px no-repeat;transition:transform .45s var(--bs-ease)}
body.bs .bs-btn--arrow .elementor-button:hover::after{transform:rotate(-45deg) scale(1.06)}
body.bs .bs-btn--light .elementor-button,body.bs .bs-btn--light .elementor-button:focus{background:var(--bs-eis);color:var(--bs-nacht)}
body.bs .bs-btn--light .elementor-button:hover{background:#c6d8dc;color:var(--bs-nacht)}
body.bs .bs-btn--dark .elementor-button,body.bs .bs-btn--dark .elementor-button:focus{background:var(--bs-tinte);color:#fff}
body.bs .bs-btn--dark .elementor-button:hover{background:var(--bs-schildnacht);color:#fff}
body.bs .bs-btn--dark .elementor-button::after{background:var(--bs-eis) url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2714%27%20height%3D%2712%27%20viewBox%3D%270%200%2014%2012%27%20fill%3D%27none%27%20stroke%3D%27%230e1b1f%27%20stroke-width%3D%271.6%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M1%206h11M7.5%201.5%2012%206l-4.5%204.5%27%2F%3E%3C%2Fsvg%3E") center/14px 12px no-repeat}
body.bs .bs-btn--ghost .elementor-button,body.bs .bs-btn--ghost .elementor-button:focus{background:transparent;border:1px solid rgba(255,255,255,.28);color:#fff;font-weight:500}
body.bs .bs-btn--ghost .elementor-button:hover{background:rgba(255,255,255,.08);color:#fff}
body.bs .bs-btn--chip .elementor-button,body.bs .bs-btn--chip .elementor-button:focus{min-height:48px;padding:0 20px;gap:10px;background:transparent;border:1px solid var(--bs-rand);color:var(--bs-tinte);font-size:15px;font-weight:500}
body.bs .bs-btn--chip .elementor-button:hover{background:var(--bs-kalk);color:var(--bs-tinte)}
body.bs .bs-btn--chip .elementor-button::before{content:'';flex:0 0 8px;width:8px;height:8px;border-radius:999px;background:var(--bs-schild);animation:bs-breathe 2.4s ease-in-out infinite}

/* ---------- Hero (Startframe) ---------- */
.bs .bs-hero{position:relative;overflow:hidden;background:var(--bs-nacht);color:#fff;scroll-margin-top:var(--bs-head)}
.bs .bs-hero>.elementor-element{position:relative}
.bs .bs-hero .bs-hero-art{position:absolute;inset:0;margin:0;z-index:1;pointer-events:none}
.bs-hero__glow{position:absolute;left:71%;top:52%;width:58%;aspect-ratio:1;border-radius:999px;background:radial-gradient(closest-side,rgba(157,186,192,.16),rgba(157,186,192,.05) 55%,rgba(157,186,192,0));transform:translate(-50%,-50%);animation:bs-glow 2.2s var(--bs-ease) var(--bs-base) both}
.bs-hero__shield{position:absolute;top:0;bottom:0;right:9%;width:clamp(260px,30vw,460px);display:flex;align-items:center;justify-content:center}
.bs-hero__line{position:absolute;left:calc(50% - .5px);top:0;bottom:0;width:1px;background:linear-gradient(to bottom,rgba(157,186,192,0),rgba(157,186,192,.45) 18%,rgba(157,186,192,.45) 82%,rgba(157,186,192,0));transform-origin:top center;animation:bs-draw 1.3s var(--bs-ease-io) var(--bs-base) both}
.bs-hero__scan{position:absolute;left:-1px;width:3px;height:18%;border-radius:3px;background:linear-gradient(to bottom,rgba(157,186,192,0),#d6e5e8,rgba(157,186,192,0));box-shadow:0 0 18px rgba(157,186,192,.6);animation:bs-scan 5.5s cubic-bezier(.6,0,.4,1) calc(var(--bs-base) + .9s) infinite both}
.bs-hero__svg{position:relative;display:block;width:100%;height:auto;overflow:visible}
.bs-hero__svg path{fill:var(--bs-schildfuellung);stroke:var(--bs-schild);stroke-width:1.3;vector-effect:non-scaling-stroke}
.bs-hero__hl{transform:translateX(calc(var(--p,0) * -90px))}
.bs-hero__hr{transform:translateX(calc(var(--p,0) * 90px))}
.bs-hero__in-l{animation:bs-half-l 1.3s var(--bs-ease-in) calc(var(--bs-base) + .09s) both}
.bs-hero__in-r{animation:bs-half-r 1.3s var(--bs-ease-in) calc(var(--bs-base) + .09s) both}
.bs .bs-hero .bs-hero__copy{position:relative;z-index:2;width:100%;max-width:var(--bs-max);margin:0 auto;padding:140px var(--bs-gutter) clamp(40px,4vw,64px);min-height:clamp(640px,58vw,880px);display:flex;flex-direction:column;justify-content:flex-end;gap:0}
.bs .bs-hero .bs-hero__inner{display:flex;flex-direction:column;gap:32px;padding:0;transform:translateY(calc(var(--p,0) * -90px));opacity:calc(1 - var(--p,0) * 1.4)}
.bs .bs-hero .bs-eyebrow .elementor-heading-title{gap:14px;color:var(--bs-nebel)}
.bs .bs-hero .bs-eyebrow .elementor-heading-title::before{flex-basis:36px}
.bs .bs-h1 .elementor-heading-title{max-width:11.5em;font-size:clamp(46px,7.2vw,116px);font-weight:400;line-height:.98;letter-spacing:-.045em;color:#fff}
.bs .bs-hero .bs-hero__foot{display:flex;flex-direction:column;align-items:flex-start;gap:28px;padding:0}
.bs .bs-hero__lead{font-size:clamp(16px,1.35vw,19px);line-height:1.6;color:var(--bs-nebel)}
.bs .bs-hero__lead p{max-width:30em}
.bs .bs-btns{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px;padding:0;width:auto}

/* ---------- About (Statement) ---------- */
.bs .bs-about{background:var(--bs-kalk);color:var(--bs-tinte);scroll-margin-top:var(--bs-head)}
.bs .bs-about .bs-about__in{display:flex;flex-direction:column;gap:clamp(56px,7vw,104px);padding-block:clamp(96px,11vw,176px)}
.bs .bs-about .bs-about__top,.bs .bs-about .bs-about__bottom{display:flex;flex-direction:row;flex-wrap:wrap;padding:0}
.bs .bs-about .bs-about__top{gap:28px clamp(32px,5vw,80px)}
.bs .bs-about .bs-about__bottom{gap:40px clamp(32px,5vw,80px)}
.bs .bs-about__top>.bs-eyebrow{flex:0 0 160px;padding-top:.9em}
.bs .bs-statement{flex:1 1 560px;min-width:0;font-size:clamp(28px,3.7vw,56px);font-weight:400;line-height:1.16;letter-spacing:-.03em;color:var(--bs-tinte)}
.bs .bs-statement p{text-indent:2.2em}
.bs-js .bs-statement .bs-w{opacity:calc(.16 + .84 * clamp(0, clamp(0, (var(--p,1) - .1) / .42, 1) * var(--n,1) - var(--i,0), 1));transition:opacity .25s linear}
.bs .bs-about .bs-facts{flex:1 1 420px;min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:28px 32px;padding:0}
.bs .bs-about .bs-fact{display:flex;flex-direction:column;gap:6px;padding:0}
.bs .bs-fact__label .elementor-heading-title{font-size:14px;font-weight:400;line-height:1.6;color:var(--bs-stein)}
.bs .bs-fact__value .elementor-heading-title{font-size:22px;font-weight:500;line-height:1.3;letter-spacing:-.02em;color:var(--bs-tinte)}
.bs .bs-about__note{flex:1 1 360px;min-width:0;font-size:16px;line-height:1.7;color:var(--bs-stein)}
.bs .bs-about__note p{max-width:34em}

/* ---------- Leistungen (zwei Hälften) ---------- */
.bs .bs-services{background:var(--bs-weiss);color:var(--bs-tinte);scroll-margin-top:var(--bs-head)}
.bs .bs-services .bs-services__in{display:flex;flex-direction:column;gap:clamp(56px,7vw,96px);padding-block:clamp(96px,10vw,160px)}
.bs .bs-services .bs-sec-head{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px 64px;padding:0}
.bs .bs-sec-head>.bs-display{flex:1 1 560px;min-width:0}
.bs .bs-sec-head__lead{flex:0 1 380px;min-width:0;font-size:17px;line-height:1.65;color:var(--bs-stein)}
.bs .bs-display .elementor-heading-title{font-size:clamp(42px,6vw,96px);font-weight:400;line-height:.98;letter-spacing:-.045em;color:var(--bs-tinte)}
.bs .bs-services .bs-split{display:grid;grid-template-columns:minmax(0,1fr) clamp(140px,15vw,220px) minmax(0,1fr);column-gap:clamp(24px,3.5vw,56px);row-gap:0;align-items:start;padding:0}
.bs .bs-services .bs-half{display:flex;flex-direction:column;min-width:0;padding:0;gap:0}
.bs .bs-services .bs-half__head{position:relative;display:flex;flex-direction:column;gap:14px;padding:0 0 28px}
.bs .bs-half__head::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--bs-tinte);transform-origin:left center}
.bs-js .bs-half__head::after{transform:scaleX(0);transition:transform 1.4s var(--bs-ease-io) .15s}
.bs-js .bs-half__head.is-in::after{transform:none}
.bs .bs-half-label .elementor-heading-title{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;line-height:1.6;color:var(--bs-schildtief)}
.bs .bs-half-label .elementor-heading-title::before{content:'';flex:0 0 9.7px;width:9.7px;height:22px;background:var(--bs-schild);-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%2716%200%20176%20400%27%3E%3Cpath%20fill-rule%3D%27evenodd%27%20d%3D%27M192%200.3%20C187.5%200.59%20184.75%200.51%20178.5%201.17%20C172.25%201.83%20163.17%202.54%20154.5%204.27%20C145.83%205.99%20135.83%208.61%20126.5%2011.54%20C117.17%2014.48%20107.5%2018.25%2098.5%2021.87%20C89.5%2025.49%2080.5%2029.51%2072.5%2033.28%20C64.5%2037.06%2057.17%2040.92%2050.5%2044.5%20C43.83%2048.08%2038.25%2051.3%2032.5%2054.75%20C26.75%2058.2%2021.5%2061.73%2016%2065.23%20L39%2093%20L39%20297%20L188%20400%20L192%20400%20L192%20206%20L166%20162%20L192%20161.5%20Z%20M75.5%2077.91%20A215.65%20215.65%200%200%201%20155.5%2042.48%20L155.5%20143%20L75.5%20143%20Z%20M75.5%20187%20L155.5%20187%20L155.5%20326%20L75.5%20271.5%20Z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%2716%200%20176%20400%27%3E%3Cpath%20fill-rule%3D%27evenodd%27%20d%3D%27M192%200.3%20C187.5%200.59%20184.75%200.51%20178.5%201.17%20C172.25%201.83%20163.17%202.54%20154.5%204.27%20C145.83%205.99%20135.83%208.61%20126.5%2011.54%20C117.17%2014.48%20107.5%2018.25%2098.5%2021.87%20C89.5%2025.49%2080.5%2029.51%2072.5%2033.28%20C64.5%2037.06%2057.17%2040.92%2050.5%2044.5%20C43.83%2048.08%2038.25%2051.3%2032.5%2054.75%20C26.75%2058.2%2021.5%2061.73%2016%2065.23%20L39%2093%20L39%20297%20L188%20400%20L192%20400%20L192%20206%20L166%20162%20L192%20161.5%20Z%20M75.5%2077.91%20A215.65%20215.65%200%200%201%20155.5%2042.48%20L155.5%20143%20L75.5%20143%20Z%20M75.5%20187%20L155.5%20187%20L155.5%20326%20L75.5%20271.5%20Z%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
.bs .bs-half-label--r .elementor-heading-title::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%27210%200%20176%20400%27%3E%3Cpath%20fill-rule%3D%27evenodd%27%20d%3D%27M210%200.3%20L210%20400%20L214%20400%20L363%20297%20L363%2093%20L386%2065.23%20C380.5%2061.73%20375.25%2058.2%20369.5%2054.75%20C363.75%2051.3%20358.17%2048.08%20351.5%2044.5%20C344.83%2040.92%20337.5%2037.06%20329.5%2033.28%20C321.5%2029.51%20312.5%2025.49%20303.5%2021.87%20C294.5%2018.25%20284.83%2014.48%20275.5%2011.54%20C266.17%208.61%20256.17%205.99%20247.5%204.27%20C238.83%202.54%20229.75%201.83%20223.5%201.17%20C217.25%200.51%20214.5%200.59%20210%200.3%20Z%20M246.5%2042.48%20A215.65%20215.65%200%200%201%20326.5%2077.91%20L326.5%20271.5%20L246.5%20326%20Z%27%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%27210%200%20176%20400%27%3E%3Cpath%20fill-rule%3D%27evenodd%27%20d%3D%27M210%200.3%20L210%20400%20L214%20400%20L363%20297%20L363%2093%20L386%2065.23%20C380.5%2061.73%20375.25%2058.2%20369.5%2054.75%20C363.75%2051.3%20358.17%2048.08%20351.5%2044.5%20C344.83%2040.92%20337.5%2037.06%20329.5%2033.28%20C321.5%2029.51%20312.5%2025.49%20303.5%2021.87%20C294.5%2018.25%20284.83%2014.48%20275.5%2011.54%20C266.17%208.61%20256.17%205.99%20247.5%204.27%20C238.83%202.54%20229.75%201.83%20223.5%201.17%20C217.25%200.51%20214.5%200.59%20210%200.3%20Z%20M246.5%2042.48%20A215.65%20215.65%200%200%201%20326.5%2077.91%20L326.5%20271.5%20L246.5%20326%20Z%27%2F%3E%3C%2Fsvg%3E")}
.bs .bs-h3 .elementor-heading-title{font-size:clamp(30px,3vw,42px);font-weight:400;line-height:1.05;letter-spacing:-.035em;color:var(--bs-tinte)}
.bs .bs-services .bs-row{display:flex;flex-direction:column;gap:6px;padding:26px 0;border-bottom:1px solid var(--bs-linie);transition:padding-left .45s var(--bs-ease)}
.bs-js .bs-services .bs-row.bs-rv{transition:opacity 1s var(--bs-ease),transform 1.2s var(--bs-ease),padding-left .45s var(--bs-ease)}
.bs .bs-services .bs-row:hover{padding-left:12px}
.bs .bs-row__title .elementor-heading-title{font-size:20px;font-weight:500;line-height:1.3;letter-spacing:-.015em;color:var(--bs-tinte)}
.bs .bs-row__text{font-size:15.5px;line-height:1.6;color:var(--bs-stein)}
.bs .bs-row-intro{padding:26px 0;border-bottom:1px solid var(--bs-linie);font-size:16px;line-height:1.6;color:var(--bs-stein)}
.bs .bs-services .bs-split-mid{position:sticky;top:150px;align-self:start;margin:0}
.bs-mid{display:flex;flex-direction:column;align-items:center;gap:20px;padding-top:24px}
.bs-mid__shield{position:relative;width:100%;display:flex;justify-content:center}
.bs-mid__light{position:absolute;left:calc(50% - .5px);top:-24px;bottom:-24px;width:1px;background:linear-gradient(to bottom,rgba(97,134,141,0),#61868d 30%,#61868d 70%,rgba(97,134,141,0));opacity:clamp(0,(var(--p,0) - .18) * 2.6,1)}
.bs-mid svg{position:relative;display:block;width:100%;height:auto;overflow:visible}
.bs-mid svg path{fill:var(--bs-schild)}
.bs-mid__hl{transform:translateX(calc(clamp(0,(var(--p,0) - .18) * 2.6,1) * -30px))}
.bs-mid__hr{transform:translateX(calc(clamp(0,(var(--p,0) - .18) * 2.6,1) * 30px))}
.bs-mid__labels{display:flex;justify-content:space-between;width:100%;font-size:13px;font-weight:500;color:var(--bs-stein)}
.bs .bs-note{font-size:17px;line-height:1.6;color:var(--bs-tinte)}
.bs .bs-note a{color:var(--bs-schildtief);font-weight:600;padding-bottom:2px}
.bs .bs-note a:hover{color:var(--bs-schildtief)}

/* ---------- Werte (Laufband) ---------- */
.bs .bs-values{position:relative;overflow:hidden;background:var(--bs-nacht);color:#fff;padding:clamp(88px,10vw,160px) 0;gap:0}
.bs .bs-values>.elementor-element{position:relative;z-index:1}
.bs .bs-values .bs-marquee-w{margin:0}
.bs-marquee{display:flex;flex-direction:column;gap:.06em;font-size:clamp(60px,11vw,172px);font-weight:400;line-height:1.02;letter-spacing:-.05em;white-space:nowrap}
.bs-marquee__row{display:flex;align-items:center;gap:.32em;will-change:transform}
.bs-marquee__row--1{transform:translateX(calc(var(--p,.5) * -34%))}
.bs-marquee__row--2{padding-left:1.4em;color:rgba(255,255,255,.22);transform:translateX(calc(-34% + var(--p,.5) * 34%))}
.bs-marquee__row .bs-accent{color:var(--bs-eis)}
.bs-marquee__slash{color:var(--bs-schild)}
.bs-marquee__mark{flex:0 0 .52em;width:.52em;height:.56em;background:var(--bs-schild);-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%2716%200%20370%20400%27%3E%3Cg%20fill-rule%3D%27evenodd%27%3E%3Cpath%20d%3D%27M192%200.3%20C187.5%200.59%20184.75%200.51%20178.5%201.17%20C172.25%201.83%20163.17%202.54%20154.5%204.27%20C145.83%205.99%20135.83%208.61%20126.5%2011.54%20C117.17%2014.48%20107.5%2018.25%2098.5%2021.87%20C89.5%2025.49%2080.5%2029.51%2072.5%2033.28%20C64.5%2037.06%2057.17%2040.92%2050.5%2044.5%20C43.83%2048.08%2038.25%2051.3%2032.5%2054.75%20C26.75%2058.2%2021.5%2061.73%2016%2065.23%20L39%2093%20L39%20297%20L188%20400%20L192%20400%20L192%20206%20L166%20162%20L192%20161.5%20Z%20M75.5%2077.91%20A215.65%20215.65%200%200%201%20155.5%2042.48%20L155.5%20143%20L75.5%20143%20Z%20M75.5%20187%20L155.5%20187%20L155.5%20326%20L75.5%20271.5%20Z%27%2F%3E%3Cpath%20d%3D%27M210%200.3%20L210%20400%20L214%20400%20L363%20297%20L363%2093%20L386%2065.23%20C380.5%2061.73%20375.25%2058.2%20369.5%2054.75%20C363.75%2051.3%20358.17%2048.08%20351.5%2044.5%20C344.83%2040.92%20337.5%2037.06%20329.5%2033.28%20C321.5%2029.51%20312.5%2025.49%20303.5%2021.87%20C294.5%2018.25%20284.83%2014.48%20275.5%2011.54%20C266.17%208.61%20256.17%205.99%20247.5%204.27%20C238.83%202.54%20229.75%201.83%20223.5%201.17%20C217.25%200.51%20214.5%200.59%20210%200.3%20Z%20M246.5%2042.48%20A215.65%20215.65%200%200%201%20326.5%2077.91%20L326.5%20271.5%20L246.5%20326%20Z%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%2716%200%20370%20400%27%3E%3Cg%20fill-rule%3D%27evenodd%27%3E%3Cpath%20d%3D%27M192%200.3%20C187.5%200.59%20184.75%200.51%20178.5%201.17%20C172.25%201.83%20163.17%202.54%20154.5%204.27%20C145.83%205.99%20135.83%208.61%20126.5%2011.54%20C117.17%2014.48%20107.5%2018.25%2098.5%2021.87%20C89.5%2025.49%2080.5%2029.51%2072.5%2033.28%20C64.5%2037.06%2057.17%2040.92%2050.5%2044.5%20C43.83%2048.08%2038.25%2051.3%2032.5%2054.75%20C26.75%2058.2%2021.5%2061.73%2016%2065.23%20L39%2093%20L39%20297%20L188%20400%20L192%20400%20L192%20206%20L166%20162%20L192%20161.5%20Z%20M75.5%2077.91%20A215.65%20215.65%200%200%201%20155.5%2042.48%20L155.5%20143%20L75.5%20143%20Z%20M75.5%20187%20L155.5%20187%20L155.5%20326%20L75.5%20271.5%20Z%27%2F%3E%3Cpath%20d%3D%27M210%200.3%20L210%20400%20L214%20400%20L363%20297%20L363%2093%20L386%2065.23%20C380.5%2061.73%20375.25%2058.2%20369.5%2054.75%20C363.75%2051.3%20358.17%2048.08%20351.5%2044.5%20C344.83%2040.92%20337.5%2037.06%20329.5%2033.28%20C321.5%2029.51%20312.5%2025.49%20303.5%2021.87%20C294.5%2018.25%20284.83%2014.48%20275.5%2011.54%20C266.17%208.61%20256.17%205.99%20247.5%204.27%20C238.83%202.54%20229.75%201.83%20223.5%201.17%20C217.25%200.51%20214.5%200.59%20210%200.3%20Z%20M246.5%2042.48%20A215.65%20215.65%200%200%201%20326.5%2077.91%20L326.5%20271.5%20L246.5%20326%20Z%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center/contain no-repeat}
.bs .bs-values .bs-principle{display:flex;flex-direction:row;flex-wrap:wrap;gap:24px clamp(32px,5vw,80px);margin-top:clamp(56px,7vw,104px)}
.bs .bs-principle>.bs-eyebrow{flex:0 0 160px;padding-top:.6em}
.bs .bs-values .bs-quote{flex:1 1 520px;min-width:0;display:flex;flex-direction:column;gap:20px;padding:0}
.bs .bs-quote__text .elementor-heading-title{max-width:24em;font-size:clamp(24px,2.5vw,36px);font-weight:400;line-height:1.25;letter-spacing:-.025em;color:#fff}
.bs .bs-quote__by .elementor-heading-title{font-size:15px;font-weight:400;line-height:1.6;color:var(--bs-nebel)}

/* ---------- Ablauf ---------- */
.bs .bs-process{background:var(--bs-kalk);color:var(--bs-tinte);scroll-margin-top:var(--bs-head)}
.bs .bs-process .bs-process__in{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:56px clamp(40px,7vw,120px);padding-block:clamp(96px,10vw,160px)}
.bs .bs-process .bs-process__head{flex:1 1 380px;min-width:0;position:sticky;top:150px;display:flex;flex-direction:column;gap:24px;padding:0}
.bs .bs-display--m .elementor-heading-title{font-size:clamp(38px,4.6vw,72px);line-height:1}
.bs .bs-process .bs-steps{flex:1.3 1 480px;min-width:0;position:relative;display:flex;flex-direction:column;gap:clamp(48px,5vw,72px);padding:0 0 0 clamp(36px,4vw,64px)}
.bs .bs-steps::before,.bs .bs-steps::after{content:'';position:absolute;left:5px;top:10px;bottom:10px;width:1px;background:var(--bs-linie)}
.bs .bs-steps::after{background:var(--bs-schild);transform-origin:top center;transform:scaleY(clamp(0,(var(--p,1) - .2) * 1.9,1))}
.bs .bs-process .bs-step{position:relative;display:flex;flex-direction:column;gap:10px;padding:0}
.bs .bs-step::before{content:'';position:absolute;z-index:1;left:calc(-1 * clamp(36px,4vw,64px));top:6px;width:11px;height:11px;box-sizing:border-box;border-radius:999px;background:var(--bs-kalk);border:1.5px solid var(--bs-schild)}
.bs .bs-step__num .elementor-heading-title{font-size:14px;font-weight:600;line-height:1.6;color:var(--bs-schild);font-variant-numeric:tabular-nums}
.bs .bs-step__title .elementor-heading-title{font-size:clamp(24px,2.3vw,32px);font-weight:400;line-height:1.15;letter-spacing:-.03em;color:var(--bs-tinte)}
.bs .bs-step__text{font-size:16px;line-height:1.65;color:var(--bs-stein)}
.bs .bs-step__text p{max-width:32em}

/* ---------- Kontakt ---------- */
.bs .bs-contact{background:var(--bs-weiss);color:var(--bs-tinte);scroll-margin-top:var(--bs-head)}
.bs .bs-contact .bs-contact__in{display:flex;flex-direction:column;gap:clamp(48px,6vw,88px);padding-block:clamp(96px,10vw,160px)}
.bs .bs-giant .elementor-heading-title{font-size:clamp(76px,15vw,236px);font-weight:400;line-height:.86;letter-spacing:-.06em;color:var(--bs-tinte)}
.bs .bs-contact .bs-contact__grid{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:56px clamp(40px,6vw,104px);padding:0}
.bs .bs-contact .bs-contact__info{flex:1 1 340px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:32px;padding:0}
.bs .bs-contact__lead{font-size:clamp(17px,1.5vw,20px);line-height:1.55;color:var(--bs-stein)}
.bs .bs-contact__lead p{max-width:26em}
.bs .bs-contact .bs-contact__item{display:flex;flex-direction:column;gap:6px;padding:0;width:auto}
.bs .bs-contact__label .elementor-heading-title{font-size:14px;font-weight:400;line-height:1.6;color:var(--bs-stein)}
.bs .bs-contact__big .elementor-heading-title{font-size:clamp(24px,2.4vw,34px);font-weight:400;line-height:1.6;letter-spacing:-.03em;color:var(--bs-tinte)}
.bs .bs-contact__big a{color:var(--bs-tinte);padding-bottom:4px}
.bs .bs-contact__big a:hover{color:var(--bs-tinte)}
.bs .bs-contact .bs-form-panel{flex:1.25 1 480px;min-width:0;background:var(--bs-kalk);border-radius:28px;padding:clamp(24px,3.4vw,48px)}

/* SureForms im Blauschild-Look */
.bs .bs-form-panel .srfm-form-container,.bs .bs-form-panel .srfm-form{background:transparent;padding:0;margin:0;box-shadow:none;border:0;font-family:var(--bs-font)}
.bs .bs-form-panel .srfm-form-container{--srfm-color-scheme-primary:#3e5d64;--srfm-color-scheme-text-on-primary:#fff;--srfm-color-scheme-text:#142027;--srfm-color-input-label:#142027;--srfm-color-input-text:#142027;--srfm-color-input-placeholder:#7c8e94;--srfm-color-input-border:#7c8e94;--srfm-color-input-border-hover:#3e5d64;--srfm-color-input-border-focus-glow:rgba(97,134,141,.22);--srfm-color-input-background:#fff;--srfm-color-input-background-hover:#fff;--srfm-input-field-border-radius:14px;--srfm-input-field-padding:12px 16px;--srfm-input-height:52px;--srfm-input-field-font-size:16px;--srfm-input-field-line-height:1.5;--srfm-label-font-size:14px;--srfm-label-font-weight:500;--srfm-label-line-height:1.6;--srfm-input-label-gap:8px;--srfm-btn-border-radius:999px;--srfm-row-gap-between-blocks:0px;--srfm-column-gap-between-blocks:20px;--srfm-error-line-height:20px;--srfm-input-field-margin-bottom:0px;font-family:var(--bs-font)}
.bs .bs-form-panel .srfm-form-container .srfm-form .srfm-block .srfm-input-textarea{height:auto;min-height:150px}
.bs .bs-form-panel .srfm-form-container .srfm-block .srfm-required{color:inherit}
.bs .bs-form-panel .srfm-form-container .srfm-form .srfm-block select.srfm-dropdown-common,.bs .bs-form-panel .srfm-form-container .srfm-form .srfm-block .srfm-dropdown-common-wrap .ts-control{min-height:52px;height:auto;padding:12px 16px;border:1px solid #7c8e94;border-radius:14px;background-color:#fff;font-family:var(--bs-font);font-size:16px;line-height:1.5;color:#142027}
.bs .bs-form-panel .srfm-block-label,.bs .bs-form-panel .srfm-block-label label,.bs .bs-form-panel label.srfm-block-label{font-family:var(--bs-font);font-size:14px;font-weight:500;line-height:1.6;color:var(--bs-tinte)}
.bs .bs-form-panel .srfm-required{color:var(--bs-schildtief)}
.bs .bs-form-panel input.srfm-input-common,.bs .bs-form-panel select.srfm-input-common,.bs .bs-form-panel textarea.srfm-input-common,.bs .bs-form-panel .srfm-input-common:not(.srfm-input-gdpr):not([type=checkbox]){min-height:52px;background:#fff;border:1px solid var(--bs-rand);border-radius:14px;padding:12px 16px;color:var(--bs-tinte);font-family:var(--bs-font);font-size:16px;line-height:1.5;box-shadow:none}
.bs .bs-form-panel textarea.srfm-input-common{min-height:140px}
.bs .bs-form-panel .srfm-input-common:focus{outline:none;border-color:var(--bs-schildtief);box-shadow:0 0 0 4px rgba(97,134,141,.22)}
.bs .bs-form-panel .srfm-input-common::placeholder{color:var(--bs-rand);opacity:1}
.bs .bs-form-panel .srfm-submit-container{margin-top:8px}
body.bs .bs-form-panel .srfm-submit-button,body.bs .bs-form-panel button.srfm-button{display:inline-flex;align-items:center;gap:16px;min-height:58px;padding:7px 7px 7px 26px;border:0;border-radius:999px;background:var(--bs-tinte);color:#fff;font-family:var(--bs-font);font-size:16px;font-weight:600;line-height:1;box-shadow:none;cursor:pointer;transition:background-color .3s ease}
body.bs .bs-form-panel .srfm-submit-button::after,body.bs .bs-form-panel button.srfm-button::after{content:'';flex:0 0 44px;width:44px;height:44px;border-radius:999px;background:var(--bs-eis) url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2714%27%20height%3D%2712%27%20viewBox%3D%270%200%2014%2012%27%20fill%3D%27none%27%20stroke%3D%27%230e1b1f%27%20stroke-width%3D%271.6%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M1%206h11M7.5%201.5%2012%206l-4.5%204.5%27%2F%3E%3C%2Fsvg%3E") center/14px 12px no-repeat;transition:transform .45s var(--bs-ease)}
body.bs .bs-form-panel .srfm-submit-button:hover,body.bs .bs-form-panel button.srfm-button:hover{background:var(--bs-schildnacht);color:#fff}
body.bs .bs-form-panel .srfm-submit-button:hover::after,body.bs .bs-form-panel button.srfm-button:hover::after{transform:rotate(-45deg) scale(1.06)}
.bs .bs-form-panel .srfm-gdpr-block,.bs .bs-form-panel .srfm-checkbox-block{font-size:14px;line-height:1.5;color:var(--bs-stein)}
.bs .bs-form-panel .srfm-gdpr-block label,.bs .bs-form-panel .srfm-gdpr-block .srfm-block-label{font-weight:400;color:var(--bs-stein)}

.bs .bs-form-panel .srfm-gdpr-block a{color:var(--bs-schildtief);text-decoration:underline;text-underline-offset:3px}

/* ---------- Footer ---------- */
.bs-foot{position:relative;overflow:hidden;background:var(--bs-nacht);color:#fff}
.bs-foot__in{max-width:var(--bs-max);margin:0 auto;padding:clamp(64px,7vw,96px) var(--bs-gutter) 28px;display:flex;flex-direction:column;gap:clamp(48px,6vw,80px)}
.bs-foot__top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:40px 64px}
.bs-foot__claim{flex:1 1 280px;min-width:0;max-width:20em;margin:0;font-size:clamp(20px,1.9vw,26px);line-height:1.3;letter-spacing:-.02em;color:#fff}
.bs-foot__claim span{color:var(--bs-nebel)}
.bs-foot__cols{display:flex;flex-wrap:wrap;gap:32px clamp(40px,5vw,88px)}
.bs-foot__col{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:120px}
.bs-foot__col--wide{min-width:170px}
.bs-foot__title{font-size:14px;color:var(--bs-nebel);padding-bottom:6px}
.bs .bs-foot__col a{color:#fff;font-size:15px;padding:3px 0}
.bs .bs-foot__col a:hover{color:#fff}
.bs-foot__word{display:flex;align-items:flex-end;gap:.18em;font-size:clamp(40px,10.6vw,158px);font-weight:600;line-height:.8;letter-spacing:.02em;color:var(--bs-relief);white-space:nowrap}
.bs-foot__word svg{display:block;height:.8em;width:.74em;flex:0 0 auto;fill:var(--bs-relief)}
.bs-foot__bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 32px;border-top:1px solid rgba(255,255,255,.12);padding-top:22px;font-size:14px;color:var(--bs-nebel)}

/* Astra-Button 'nach oben' passt nicht zum Design */
#ast-scroll-top{display:none !important}

/* ---------- Rechtliche Seiten (Impressum, Datenschutz) ---------- */
.bs.elementor-template-full-width #content>.ast-container{max-width:none;padding:0;margin:0;display:block}
.bs .bs-legal-hero{background:var(--bs-kalk);color:var(--bs-tinte)}
.bs .bs-legal-hero .bs-legal-hero__in{display:flex;flex-direction:column;gap:20px;padding-top:clamp(64px,8vw,120px);padding-bottom:clamp(48px,6vw,80px)}
.bs .bs-legal-title .elementor-heading-title{font-size:clamp(44px,6vw,88px);font-weight:400;line-height:1;letter-spacing:-.045em;color:var(--bs-tinte)}
.bs .bs-legal-meta{font-size:15px;line-height:1.6;color:var(--bs-stein)}
.bs .bs-legal-body{background:var(--bs-weiss);color:var(--bs-tinte)}
.bs .bs-legal-body .bs-legal-body__in{display:flex;flex-direction:column;padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(96px,10vw,160px)}
.bs .bs-legal-body .bs-legal-row{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:12px clamp(32px,5vw,80px);padding:32px 0;border-top:1px solid var(--bs-linie)}
.bs .bs-legal-body .bs-legal-row:last-child{border-bottom:1px solid var(--bs-linie)}
.bs .bs-legal-row__title .elementor-heading-title{font-size:20px;font-weight:500;line-height:1.4;letter-spacing:-.015em;color:var(--bs-tinte)}
.bs .bs-legal-row__text{font-size:16px;line-height:1.7;color:var(--bs-stein)}
.bs .bs-legal-row__text p,.bs .bs-legal-row__text ul{max-width:42em}
.bs .elementor .bs-legal-row__text ul{margin:.75em 0 .9em;padding-left:1.2em}
.bs .elementor .bs-legal-row__text ul:last-child{margin-bottom:0}
.bs .bs-legal-row__text li+li{margin-top:.35em}
.bs .bs-legal-row__text strong{font-weight:500;color:var(--bs-tinte)}
.bs .bs-legal-row__text a{color:var(--bs-schildtief);text-decoration:underline;text-decoration-color:rgba(62,93,100,.35);text-underline-offset:3px;transition:text-decoration-color .2s ease}
.bs .bs-legal-row__text a:hover{color:var(--bs-schildtief);text-decoration-color:currentColor}
.bs .bs-foot__made{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:3px;transition:text-decoration-color .2s ease}
.bs .bs-foot__made:hover{color:#fff;text-decoration-color:#fff}
@media (max-width:760px){.bs .bs-legal-body .bs-legal-row{grid-template-columns:minmax(0,1fr);gap:10px;padding:28px 0}}
/* ---------- Bilder (alle Fotos auf die Blauschild-Palette getont) ---------- */
@keyframes bs-develop{from{opacity:0;transform:scale(1.22)}to{opacity:1;transform:none}}
.bs-defs{position:absolute;width:0;height:0;overflow:hidden}

/* Hero: Foto in den beiden Schild-Hälften */
.bs-hero__frame{position:relative;width:100%;aspect-ratio:386/412}
.bs-hero__half,.bs-hero__frame .bs-hero__in-l,.bs-hero__frame .bs-hero__in-r{position:absolute;inset:0}
.bs-hero__frame .bs-hero__svg{position:absolute;inset:0;width:100%;height:100%}
.bs-hero--photo .bs-hero__svg path{fill:none}
.bs-hero__photo{position:absolute;inset:0;overflow:hidden}
.bs-hero__photo--l{clip-path:url(#bs-clip-l)}
.bs-hero__photo--r{clip-path:url(#bs-clip-r)}
.bs-hero__photo::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(14,27,31,0) 40%,rgba(14,27,31,.6) 100%)}
.bs-hero__photo .bs-hero__img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 26%;animation:bs-develop 2.8s var(--bs-ease) calc(var(--bs-base) + .09s) both}

/* Einzelbild: öffnet sich aus der Fuge, eckige Kanten */
.bs .bs-photo{position:relative;margin:0;display:flex;flex-direction:column;gap:12px}
.bs .bs-photo__frame{position:relative;width:100%;overflow:hidden;background:var(--bs-relief)}
.bs .bs-photo__img{display:block;width:100%;height:100%;max-width:none;object-fit:cover}
.bs .bs-photo__cap{display:flex;align-items:center;gap:10px;margin:0;font-size:14px;font-weight:500;line-height:1.4;color:var(--bs-schildtief)}
.bs .bs-photo__cap::before{content:'';flex:0 0 20px;height:1px;background:var(--bs-schild)}
.bs-js .bs-photo.bs-rv{opacity:1;transform:none}
.bs-js .bs-photo .bs-photo__frame{transition:clip-path 1.6s var(--bs-ease-io)}
.bs-js .bs-photo .bs-open{clip-path:inset(0 50% 0 50%)}
.bs-js .bs-photo .bs-open-l{clip-path:inset(0 0 0 100%)}
.bs-js .bs-photo .bs-open-r{clip-path:inset(0 100% 0 0)}
.bs-js .bs-photo.is-in .bs-photo__frame{clip-path:inset(0 0 0 0)}
.bs-js .bs-photo .bs-photo__img{transform:scale(1.14);transition:transform 2.2s var(--bs-ease)}
.bs-js .bs-photo.is-in .bs-photo__img{transform:none}
.bs-js .bs-photo .bs-photo__cap{opacity:0;transition:opacity .8s var(--bs-ease) .6s}
.bs-js .bs-photo.is-in .bs-photo__cap{opacity:1}
.bs-js .bs-photo.bs-delay .bs-photo__frame,.bs-js .bs-photo.bs-delay .bs-photo__img{transition-delay:.15s}

.bs .bs-services .bs-half__media{padding-bottom:32px}
.bs .bs-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:32px}
.bs .bs-process .bs-process__media{padding-top:16px}

/* Panorama: der Schild öffnet sich zur Landschaft */
.bs .bs-pano-sec{padding:0;gap:0;background:var(--bs-kalk)}
.bs .bs-pano-sec>.elementor-element{width:100%;max-width:none;margin:0}
.bs .bs-pano{position:relative;margin:0;width:100%;height:clamp(320px,46vw,680px);overflow:hidden;--e:clamp(0,(var(--p,1) - .05) * 2.4,1)}
.bs .bs-pano__clip{position:absolute;inset:0;background:var(--bs-relief);clip-path:inset(0 calc((1 - var(--e)) * 50%) 0 calc((1 - var(--e)) * 50%))}
.bs .bs-pano__img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;transform:scale(calc(1.14 - var(--e) * .14))}
.bs .bs-pano__shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(14,27,31,.5) 0%,rgba(14,27,31,0) 38%)}
.bs .bs-pano__seam{position:absolute;top:0;bottom:0;left:calc(50% - .5px);width:1px;background:var(--bs-schild);opacity:calc(1 - var(--e))}
.bs .bs-pano__cap{position:absolute;left:0;right:0;bottom:0;margin:0}
.bs .bs-pano__cap-in{display:flex;align-items:center;gap:12px;max-width:var(--bs-max);margin:0 auto;padding:0 var(--bs-gutter) clamp(20px,2.6vw,36px);font-size:14px;font-weight:500;line-height:1.4;color:#fff}
.bs .bs-pano__cap-in::before{content:'';flex:0 0 28px;height:1px;background:#fff}

/* Werte-Band: Granit im Hintergrund */
.bs .bs-values>.elementor-element.bs-band{position:absolute;inset:0;z-index:0;width:auto;max-width:none;margin:0;pointer-events:none}
.bs .bs-band::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,#0e1b1f 0%,rgba(14,27,31,.45) 24%,rgba(14,27,31,.35) 58%,rgba(14,27,31,.85) 88%,#0e1b1f 100%)}
.bs .bs-band__move{position:absolute;left:0;right:0;top:-12%;bottom:-12%;transform:translateY(calc((var(--p,.5) - .5) * -14%))}
.bs .bs-band__img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 45%;opacity:.62}

/* ---------- Kontakt: WhatsApp als dunkle Hälfte neben dem Formular ---------- */
.bs .bs-contact .bs-contact__grid{align-items:stretch}
.bs .bs-contact .bs-contact__info{align-self:stretch}
.bs .bs-contact .bs-wa-panel{position:relative;overflow:hidden;flex:1 1 auto;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:40px;width:100%;padding:clamp(28px,3.4vw,48px);border-radius:28px;background:var(--bs-nacht);color:#fff}
.bs .bs-contact .bs-wa-panel::after{content:'';position:absolute;right:-10%;bottom:-16%;width:64%;aspect-ratio:370/400;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%2716%200%20370%20400%27%3E%3Cg%20fill%3D%27%231b3036%27%20fill-rule%3D%27evenodd%27%3E%3Cpath%20d%3D%27M192%200.3%20C187.5%200.59%20184.75%200.51%20178.5%201.17%20C172.25%201.83%20163.17%202.54%20154.5%204.27%20C145.83%205.99%20135.83%208.61%20126.5%2011.54%20C117.17%2014.48%20107.5%2018.25%2098.5%2021.87%20C89.5%2025.49%2080.5%2029.51%2072.5%2033.28%20C64.5%2037.06%2057.17%2040.92%2050.5%2044.5%20C43.83%2048.08%2038.25%2051.3%2032.5%2054.75%20C26.75%2058.2%2021.5%2061.73%2016%2065.23%20L39%2093%20L39%20297%20L188%20400%20L192%20400%20L192%20206%20L166%20162%20L192%20161.5%20Z%20M75.5%2077.91%20A215.65%20215.65%200%200%201%20155.5%2042.48%20L155.5%20143%20L75.5%20143%20Z%20M75.5%20187%20L155.5%20187%20L155.5%20326%20L75.5%20271.5%20Z%27%2F%3E%3Cpath%20d%3D%27M210%200.3%20L210%20400%20L214%20400%20L363%20297%20L363%2093%20L386%2065.23%20C380.5%2061.73%20375.25%2058.2%20369.5%2054.75%20C363.75%2051.3%20358.17%2048.08%20351.5%2044.5%20C344.83%2040.92%20337.5%2037.06%20329.5%2033.28%20C321.5%2029.51%20312.5%2025.49%20303.5%2021.87%20C294.5%2018.25%20284.83%2014.48%20275.5%2011.54%20C266.17%208.61%20256.17%205.99%20247.5%204.27%20C238.83%202.54%20229.75%201.83%20223.5%201.17%20C217.25%200.51%20214.5%200.59%20210%200.3%20Z%20M246.5%2042.48%20A215.65%20215.65%200%200%201%20326.5%2077.91%20L326.5%20271.5%20L246.5%20326%20Z%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center/contain no-repeat;pointer-events:none;z-index:0}
.bs .bs-contact .bs-wa-panel>.elementor-element{position:relative;z-index:1}
.bs .bs-contact .bs-wa-panel__head{display:flex;flex-direction:column;gap:16px;padding:0}
.bs .bs-wa-panel__title .elementor-heading-title{font-size:clamp(28px,2.6vw,38px);font-weight:400;line-height:1.12;letter-spacing:-.03em;color:#fff}
.bs .bs-wa-panel__title .elementor-heading-title span{color:var(--bs-eis)}
.bs .bs-wa-panel__text{font-size:16px;line-height:1.6;color:var(--bs-nebel)}
.bs .bs-wa-panel__text p{max-width:24em;margin:0}

/* ---------- Ruhiger: weniger Bewegung beim Scrollen (Wunsch Kunde, Okt. 2026) ---------- */
.bs .bs-hero .bs-hero__inner{transform:none;opacity:1}
.bs-hero__hl,.bs-hero__hr{transform:none}
.bs-hero__scan{display:none}
.bs-js .bs-statement .bs-w{opacity:1;transition:none}
.bs-mid__hl,.bs-mid__hr{transform:none}
.bs-mid__light{opacity:1}
.bs-marquee__row--1{transform:translateX(calc(var(--p,.5) * -8%))}
.bs-marquee__row--2{transform:translateX(calc(-8% + var(--p,.5) * 8%))}
.bs .bs-band__move{transform:none}
.bs-js .bs-rv{transform:translateY(14px);transition:opacity .9s var(--bs-ease),transform .9s var(--bs-ease)}
.bs-js .bs-photo .bs-photo__img{transform:scale(1.05)}

/* Header über dem Hero: dunkles Glas, sobald gescrollt wird (Text bleibt jetzt stehen) */
.bs-head.is-glass{background:rgba(14,27,31,.8);border-bottom-color:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}

/* ---------- Tablet / Handy ---------- */
@media (max-width:900px){
  .bs .bs-services .bs-split{grid-template-columns:minmax(0,1fr);row-gap:72px}
  .bs .bs-services .bs-split-mid{display:none}
  .bs .bs-process .bs-process__head{position:static}
}
@media (max-width:760px){
  .bs-hero__shield{right:auto;left:50%;width:58%;top:0;bottom:0;align-items:flex-start;padding-top:104px;transform:translateX(-50%)}
  .bs-hero__glow{left:50%;top:230px;width:120%}
  .bs-hero__line{bottom:auto;height:430px}
  .bs .bs-hero .bs-hero__copy{padding-top:390px}
}

/* ---------- Im Elementor-Editor: alles sichtbar, keine Animation ---------- */
.elementor-editor-active .bs-rv,.elementor-editor-active .bs-mask-lines .bs-ml__in{opacity:1 !important;transform:none !important}
.elementor-editor-active .bs-load,.elementor-editor-active .bs-ml__in,.elementor-editor-active .bs-hero-art *{animation:none !important}

/* ---------- Weniger Bewegung (Systemeinstellung) ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .bs-intro{display:none}
  .bs .bs-load,.bs .bs-ml__in,.bs-hero-art *,.bs .bs-btn--chip .elementor-button::before{animation:none !important}
  .bs-hero__hl,.bs-hero__hr,.bs .bs-hero .bs-hero__inner,.bs-marquee__row,.bs-mid__hl,.bs-mid__hr{transform:none !important}
  .bs .bs-hero .bs-hero__inner{opacity:1 !important}
}