/* BAM Website Polish v1.0.19 – corrected professional visual layer. No workflow/form logic. */
:root{--bamfx-blue:#1f5eff;--bamfx-cyan:#67cbff;--bamfx-ink:#071522;--bamfx-line:rgba(31,94,255,.18)}

/* Global responsive safety: no mid-word breaks, no horizontal drift. */
.bamv5,.bamv5 *,.bamkp-elementor-enabled,.bamkp-elementor-enabled *{box-sizing:border-box}
.bamv5 h1,.bamv5 h2,.bamv5 h3,.bamkp-elementor-enabled h1,.bamkp-elementor-enabled h2,.bamkp-elementor-enabled h3{word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;text-wrap:balance}
.bamv5 p,.bamv5 li,.bamkp-elementor-enabled p,.bamkp-elementor-enabled li{word-break:normal!important;overflow-wrap:break-word!important;hyphens:none!important}
.bamv5 img,.bamv5 video,.bamv5 svg,.bamkp-elementor-enabled img,.bamkp-elementor-enabled video,.bamkp-elementor-enabled svg{max-width:100%;height:auto}

/* Underpage hero: image is added ONLY to pageheads that did not already have a real image. */
.bamv5 .pagehero.bamfx-hero{
 position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:clamp(320px,36vw,500px);
 background-color:#071522!important;
 background-image:linear-gradient(90deg,rgba(5,17,31,.95) 0%,rgba(7,28,54,.83) 48%,rgba(7,35,63,.50) 100%),var(--bamfx-hero-image)!important;
 background-size:cover!important;background-repeat:no-repeat!important;background-position:var(--bamfx-hero-position,center)!important
}
.bamv5 .pagehero.bamfx-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 82% 24%,rgba(87,199,255,.14),transparent 31%);z-index:0}
.bamv5 .pagehero.bamfx-hero>.shell{position:relative;z-index:1;width:min(calc(100% - 40px),1180px)}
.bamv5 .pagehero.bamfx-hero .eyebrow{color:#67cbff!important}
.bamv5 .pagehero.bamfx-hero h1{color:#fff;max-width:15ch;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important}
.bamv5 .pagehero.bamfx-hero .lead{color:#dce8f7;max-width:720px;text-wrap:pretty}

/* Career hero gets the same photographic depth but keeps its exact Elementor layout. */
body.bamkp-elementor-enabled .bamkp-hero.bamfx-career-hero{
 position:relative;isolation:isolate;overflow:hidden;
 background-image:linear-gradient(90deg,rgba(7,17,31,.985) 0%,rgba(8,29,56,.90) 48%,rgba(8,39,69,.55) 100%),var(--bamfx-hero-image)!important;
 background-size:cover!important;background-position:center 44%!important;background-repeat:no-repeat!important
}
body.bamkp-elementor-enabled .bamkp-hero.bamfx-career-hero>.shell{position:relative;z-index:1}

/* Calm but visible scroll reveal. Transform does not affect document flow. */
.bamfx-animate{opacity:0;transform:translate3d(0,12px,0);transition:opacity .56s cubic-bezier(.2,.72,.2,1),transform .56s cubic-bezier(.2,.72,.2,1),box-shadow .24s ease,border-color .24s ease;transition-delay:var(--bamfx-delay,0ms);will-change:opacity,transform}
.bamfx-animate.bamfx-in{opacity:1;transform:none;will-change:auto}

/* Cards: clean depth, no movement / no spotlight. */
.bamfx-card{position:relative;transition:box-shadow .25s ease,border-color .25s ease,background-color .25s ease!important;transform:none!important}
.bamfx-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.35);opacity:.55}
@media(hover:hover) and (pointer:fine){
 .bamfx-card:hover{border-color:rgba(31,94,255,.30)!important;box-shadow:0 20px 48px rgba(14,34,65,.12)!important;transform:none!important}
}

/* Existing service images: subtle polish, no image replacement. */
.bamv5 .service .image{overflow:hidden}
.bamv5 .service img{transition:transform .35s ease,filter .35s ease!important}
@media(hover:hover) and (pointer:fine){.bamv5 .service:hover img{transform:scale(1.025)!important;filter:saturate(1.02)}}

/* Ablauf: restrained animated progress line. */
.bamv5 .steps{position:relative;isolation:isolate}
.bamv5 .steps.bamfx-flow::before{content:"";position:absolute;z-index:0;left:5.5%;right:5.5%;top:23px;height:2px;background:rgba(31,94,255,.12);border-radius:99px;pointer-events:none}
.bamv5 .steps.bamfx-flow::after{content:"";position:absolute;z-index:0;left:5.5%;top:23px;width:calc(89% * var(--bamfx-flow,0));height:2px;border-radius:99px;background:linear-gradient(90deg,var(--bamfx-blue),var(--bamfx-cyan));pointer-events:none;transition:width 1s cubic-bezier(.2,.72,.2,1)}
.bamv5 .steps.bamfx-flow .step{z-index:1}
.bamv5 .step .n{position:relative;z-index:2;transition:box-shadow .35s ease,filter .35s ease}
.bamv5 .step.bamfx-in .n{box-shadow:0 0 0 6px rgba(31,94,255,.07),0 8px 22px rgba(31,94,255,.14)}

/* Buttons: one quiet sheen; size/position never changes. */
.bamv5 .btn,body.bamkp-elementor-enabled .bamkp-submit{position:relative;isolation:isolate;overflow:hidden;transform:none!important;transition:box-shadow .22s ease,filter .22s ease!important}
.bamv5 .btn::after,body.bamkp-elementor-enabled .bamkp-submit::after{content:"";position:absolute;inset:-2px auto -2px -45%;width:28%;pointer-events:none;background:linear-gradient(105deg,transparent,rgba(255,255,255,.22),transparent);transform:skewX(-18deg);transition:left .55s ease}
@media(hover:hover) and (pointer:fine){.bamv5 .btn:hover::after,body.bamkp-elementor-enabled .bamkp-submit:hover::after{left:118%}.bamv5 .btn:hover,body.bamkp-elementor-enabled .bamkp-submit:hover{filter:brightness(1.035);box-shadow:0 12px 30px rgba(31,94,255,.18)!important}}

/* Homepage metrics: factual labels; optional customer count from BAM Rezensionen. */
.bamv5 .proofbar.bamfx-metrics .inner{gap:10px}
.bamv5 .proofbar.bamfx-metrics .proof{position:relative;overflow:hidden;border:1px solid rgba(31,94,255,.10);border-radius:15px;padding:15px 16px;background:rgba(255,255,255,.94);box-shadow:0 10px 28px rgba(14,34,65,.055);min-width:0}
.bamv5 .proofbar.bamfx-metrics .proof i{font-style:normal;color:#1f5eff;font-size:clamp(20px,2.5vw,28px);font-weight:900;letter-spacing:-.04em;min-width:auto;width:auto;height:auto;background:none;border:0;box-shadow:none}
.bamv5 .proofbar.bamfx-metrics .proof b{display:block;color:#0c1424;font-size:14px;line-height:1.25;text-wrap:balance}
.bamv5 .proofbar.bamfx-metrics .proof span:empty{display:none}
.bamv5 .proofbar.bamfx-metrics .proof span{color:#667085;font-size:11px;margin-top:3px}

/* Header / footer micro interactions only. */
.bamv5 .header{transition:box-shadow .24s ease,background-color .24s ease}
.bamv5 .header.bamfx-scrolled{box-shadow:0 12px 32px rgba(7,21,34,.10)}
.bamv5 .footer a{position:relative;width:max-content;max-width:100%}
.bamv5 .footer a::after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:#67cbff;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
@media(hover:hover) and (pointer:fine){.bamv5 .footer a:hover::after{transform:scaleX(1)}}

/* Responsive guarantees. */
@media(max-width:920px){.bamv5 .steps.bamfx-flow::before,.bamv5 .steps.bamfx-flow::after{display:none}}
@media(max-width:760px){
 .bamv5 .pagehero.bamfx-hero{min-height:320px;padding-top:clamp(54px,12vw,72px)!important;padding-bottom:clamp(46px,10vw,62px)!important;background-position:center!important}
 .bamv5 .pagehero.bamfx-hero>.shell{width:100%;padding-left:20px;padding-right:20px}
 .bamv5 .pagehero.bamfx-hero h1{font-size:clamp(34px,9.4vw,50px)!important;line-height:1.02!important;max-width:100%;letter-spacing:-.042em!important}
 .bamv5 .pagehero.bamfx-hero .lead{font-size:clamp(14px,4vw,17px)!important;line-height:1.58!important;max-width:100%}
 .bamv5 .proofbar.bamfx-metrics .inner{grid-template-columns:1fr 1fr!important}
 .bamv5 .proofbar.bamfx-metrics .proof{padding:13px 12px}
 body.bamkp-elementor-enabled .bamkp-hero h1{font-size:clamp(34px,9.3vw,50px)!important;line-height:1.02!important;letter-spacing:-.042em!important;max-width:100%!important}
 body.bamkp-elementor-enabled .bamkp-hero p{font-size:clamp(15px,4vw,18px)!important;line-height:1.58!important;max-width:100%!important}
}
@media(max-width:460px){
 .bamv5 .pagehero.bamfx-hero>.shell{padding-left:16px;padding-right:16px}
 .bamv5 .proofbar.bamfx-metrics .inner{grid-template-columns:1fr!important}
 body.bamkp-elementor-enabled .bamkp-hero h1{font-size:clamp(32px,9.2vw,44px)!important}
}
@media(prefers-reduced-motion:reduce){
 .bamfx-animate{opacity:1!important;transform:none!important;transition:none!important}
 .bamv5 .btn::after,body.bamkp-elementor-enabled .bamkp-submit::after{display:none!important}
 .bamv5 .steps.bamfx-flow::after{transition:none!important;width:89%!important}
}
