/* freiBuilder frontend additions, loads after site CSS */
.freibuilder-root{
  --red:var(--brand-red,#AE2135);
  --red-2:var(--brand-red-dark,#8D1729);
  --gold:var(--brand-sun,#FECC00);
  --blue:var(--brand-water,#004899);
  --green:var(--brand-tool,#95B422);
  --ink2:#071a2d;
  --glass-bg:rgba(255,255,255,.76);
  --glass-bg-strong:rgba(255,255,255,.9);
  --glass-border:rgba(255,255,255,.86);
  --font-h:'Encode Sans Expanded','Encode Sans',system-ui,sans-serif;
  --font-b:'Encode Sans',system-ui,sans-serif;
  --muted:#62676d;
  --line:rgba(0,72,153,.12);
  --shadow:0 28px 70px -34px rgba(0,72,153,.34);
  width:100%;
  color:var(--ink,#17191d);
  font-family:var(--font-b);
}
.freibuilder-root *{box-sizing:border-box}
.freibuilder-root img{max-width:100%;height:auto}
.fb-element{position:relative}
.fb-section{width:100%;padding:clamp(56px,8vw,110px) 0}
.fb-section-inner{width:100%}
.fb-container{width:100%;padding-inline:24px}
.fb-container-inner{width:100%;margin-inline:auto}
.fb-grid-inner{display:grid;width:100%}
.fb-flex-inner{display:flex;width:100%}
.fb-media-placeholder,.fb-hero-placeholder{min-height:220px;display:grid;place-items:center;border:1px dashed rgba(0,72,153,.2);border-radius:22px;background:linear-gradient(135deg,#edf5f9,#fff8dc);color:#66717b;font-weight:700}
.fb-element-image img{display:block;width:100%;border-radius:24px}
.fb-element-image figcaption{padding-top:9px;color:var(--muted);font-size:.82rem}
.fb-element-video video,.fb-element-video iframe{display:block;width:100%;border:0;border-radius:24px}
.fb-video-ratio{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:24px}.fb-video-ratio iframe{position:absolute;inset:0;height:100%}
.fb-element-icon{display:inline-flex}
.fb-divider-line{display:block;background:linear-gradient(90deg,var(--brand-red),var(--brand-sun),var(--brand-water),var(--brand-tool));border-radius:99px}
.fb-glass-card{height:100%;padding:28px;border:1px solid rgba(255,255,255,.8);border-radius:26px;background:rgba(255,255,255,.76);box-shadow:var(--shadow);backdrop-filter:blur(18px) saturate(150%)}
.fb-glass-card h3{margin:14px 0 8px;font-family:var(--font-h)}
.fb-glass-card p{color:var(--muted);line-height:1.65}
.fb-glass-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;color:#fff;background:linear-gradient(135deg,var(--brand-red),var(--brand-water));box-shadow:0 12px 28px -16px rgba(0,72,153,.6)}
.fb-services-track{display:flex;gap:24px;overflow-x:auto;padding:8px 3px 26px;scroll-snap-type:x proximity}.fb-services-track .pin-card{scroll-snap-align:start;flex:0 0 min(420px,84vw)}
.fb-header-children{display:flex;align-items:center;justify-content:center;min-width:0}.fb-header-children>.fb-element{margin:0}
.fb-element-header .hs-header{position:relative!important;top:auto!important;margin:0!important;background:transparent}
.fb-element-header .hs-header-shell{width:min(var(--fb-container,1280px),calc(100% - 40px));background:rgba(255,255,255,.88)!important;border:1px solid rgba(255,255,255,.8)!important;box-shadow:0 18px 55px -30px rgba(0,48,102,.38)!important;backdrop-filter:blur(24px) saturate(165%)!important}
.fb-element-header .hs-nav-link{color:var(--hs-text)!important;text-shadow:none!important}
.fb-element-desktop-menu .hs-nav{display:flex}.fb-element-mobile-menu{display:none}
.fb-element-photo-hero .hero{min-height:760px}.fb-element-photo-hero .hero-photo-bg img{width:100%;height:100%;object-fit:cover}
.fb-element-photo-hero .fb-hero-placeholder{width:100%;height:100%;border:0;border-radius:0;background:linear-gradient(135deg,#061b30,#004899 65%,#23B0E6)}
.fb-element-photo-hero .hero-photo-in{display:flex;align-items:center;min-height:760px;padding-block:130px 80px}
.fb-element-photo-hero .hero-glass-card{width:min(680px,100%)}
.fb-element-topbar .hs-topbar{position:relative}
.fb-element-form{padding:clamp(42px,6vw,80px) 24px}.fb-element-form .formcard{margin-inline:auto}
.fb-form-status{margin-top:13px;color:var(--brand-water);font-size:.85rem;font-weight:700}
.fb-lightbox .lb-photo img{width:100%;height:100%;object-fit:cover}.fb-lightbox[aria-hidden="false"]{display:flex}
.fb-element-footer{display:block}.fb-element-footer footer{margin:0}
.fb-unknown{padding:24px;border:1px dashed #d63638;background:#fff2f2;color:#8a1f1f}
.fb-posts-date{display:block;font-size:.72rem;color:var(--muted,#62676d);margin:2px 0 0}
.fb-posts-empty{padding:20px 0;opacity:.6}
.fb-richtext-block>p{margin-bottom:var(--fb-p-gap,1em)}
.fb-richtext-block>p:last-child{margin-bottom:0}
.fb-accordion{max-width:780px}
.fb-toggle-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;text-align:left}
.fb-toggle[data-fb-toggle-icon-pos="left"] .fb-toggle-trigger{flex-direction:row-reverse;justify-content:flex-end}
.fb-toggle-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;transition:transform .25s ease}
.fb-toggle-trigger[aria-expanded="true"] .fb-toggle-icon{transform:rotate(45deg)}
.fb-toggle[data-fb-toggle-icon="chevron"] .fb-toggle-trigger[aria-expanded="true"] .fb-toggle-icon{transform:rotate(180deg)}
.fb-toggle[data-fb-toggle-icon="arrow"] .fb-toggle-trigger[aria-expanded="true"] .fb-toggle-icon{transform:rotate(90deg)}
.fb-toggle-content{margin-top:10px}
.fb-toggle[data-fb-toggle-style="boxed"]{border:1px solid var(--glass-border,rgba(0,0,0,.12));border-radius:14px;padding:16px 20px;background:var(--glass-bg,#fff)}
.fb-toggle[data-fb-toggle-style="boxed"] .fb-toggle-content{padding-top:2px}
.freibuilder-original-template{width:100%;overflow-x:clip}
.freibuilder-original-template>title,.freibuilder-original-template>meta,.freibuilder-original-template>link{display:none!important}
@media(max-width:1180px){
  .fb-element-desktop-menu{display:none}.fb-element-mobile-menu{display:block}
  .fb-header-children{justify-content:flex-end}
}
@media(max-width:900px){
  .fb-grid-inner{grid-template-columns:1fr 1fr!important}
}
@media(max-width:700px){
  .fb-section{padding:56px 0}.fb-container{padding-inline:18px}
  .fb-grid-inner{grid-template-columns:1fr!important}
  .fb-flex-inner{flex-direction:column!important}
  .fb-element-photo-hero .hero,.fb-element-photo-hero .hero-photo-in{min-height:680px}
  .fb-element-photo-hero .hero-photo-in{padding-block:110px 48px}
  .fb-element-header .hs-header-shell{width:calc(100% - 20px)}
}
.fb-shortcuts{display:flex;flex-wrap:wrap;gap:10px}
.fb-shortcut-link{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;border:1px solid var(--glass-border,rgba(0,0,0,.12));background:var(--glass-bg,#fff);color:inherit;text-decoration:none;font-weight:700;font-size:.85rem;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease,background .2s ease}
.fb-shortcut-link:hover{transform:translateY(-2px);box-shadow:0 14px 30px -14px rgba(0,0,0,.28)}
.fb-shortcut-icon{display:inline-flex;font-size:1.15em;line-height:1}
.fb-jobs-filter{display:flex;flex-direction:column;gap:20px}
.fb-jobs-tabs{display:flex;flex-wrap:wrap;gap:10px}
.fb-jobs-tab{padding:11px 20px;border:1px solid var(--glass-border,rgba(0,0,0,.12));border-radius:999px;background:#fff;color:var(--ink,#17191d);font-weight:700;font-size:.85rem;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}
.fb-jobs-tab.is-active{background:linear-gradient(100deg,var(--red,#AE2135),var(--red-2,#8D1729));border-color:transparent;color:#fff;box-shadow:0 10px 24px -12px rgba(174,33,53,.5)}
.fb-jobs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.fb-job-card{padding:26px;border-radius:20px;background:var(--glass-bg,#f4f6f8);display:flex;flex-direction:column;gap:12px}
.fb-job-card[hidden]{display:none}
.fb-job-card h3{margin:0;font-size:1.15rem}
.fb-job-badges{display:flex;flex-wrap:wrap;gap:8px}
.fb-job-badge{padding:4px 10px;border-radius:6px;background:rgba(0,0,0,.06);color:var(--muted,#62676d);font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.fb-job-card p{margin:0;color:var(--muted,#62676d);font-size:.9rem;line-height:1.5}
.fb-job-apply{align-self:flex-start;padding:11px 22px;border-radius:999px;background:linear-gradient(100deg,var(--red,#AE2135),var(--red-2,#8D1729));color:#fff;font-weight:700;font-size:.82rem;text-decoration:none}
@media(max-width:700px){.fb-jobs-grid{grid-template-columns:1fr}}
/* real form sending + "Mehr laden" pagination */
.fb-posts-loadmore-actions{display:flex;justify-content:center;margin-top:clamp(24px,4vw,40px)}
.fb-posts-loadmore-btn[disabled]{opacity:.5;pointer-events:none}
.form-status.is-success,.fb-form-message.is-success,.fb-form-status.is-success{color:#1f8a4c}
.form-status.is-error,.fb-form-message.is-error,.fb-form-status.is-error{color:#c22a2a}
.fb-hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
/* fix: avoid double-shrinking half/third-width fields */
.fld.fb-fld-w50{width:calc(50% - 10px)}
.fld.fb-fld-w33{width:calc(33.333% - 14px)}
.frow>.fld.fb-fld-w50,.frow>.fld.fb-fld-w33{width:100%}
