/**
 * Berger Factoring container design system.
 * Visual-only layer for the 16 long-form factoring pages. Page CSS keeps the
 * individual information architecture; this file owns shared brand treatment.
 */
:where(.bflp-site,.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen){
  --bfc-navy:#0b2848;
  --bfc-navy-footer:#10274b;
  --bfc-gold:#a48111;
  --bfc-gold-hover:#8c6c0b;
  --bfc-ink:#173554;
  --bfc-muted:#587087;
  --bfc-soft:#f2f5f7;
  --bfc-warm:#faf9f6;
  --bfc-line:#d9e2e8;
  --bfc-shadow:0 12px 32px rgba(11,40,72,.07);
  --bfc-radius:4px;
  --bfc-primary:var(--bfc-navy);
  --bfc-primary-dark:var(--bfc-navy-footer);
  --bfc-accent:var(--bfc-gold);
  --bfc-heading:var(--bfc-navy);
  --bfc-text:var(--bfc-ink);
  --bfc-text-muted:var(--bfc-muted);
  --bfc-surface:#fff;
  --bfc-surface-alt:var(--bfc-soft);
  --bfc-dark-surface:var(--bfc-navy);
  --bfc-on-dark:#fff;
  --bfc-on-dark-accent:#f0d477;
  --bfc-border:var(--bfc-line);
  --bfc-button-primary:var(--bfc-gold);
  --bfc-button-primary-hover:var(--bfc-gold-hover);
  --bfc-button-secondary:var(--bfc-navy);
  --bfc-focus-ring:rgba(164,129,17,.48);
  --bfc-space-section:88px;
  --bfc-space-eyebrow-heading:14px;
  --bfc-space-heading-component:40px;
  --bfc-space-component-followup:36px;
  --bfc-space-card:32px;
  --bfc-space-grid:28px;
  --n:var(--bfc-navy);
  --navy:var(--bfc-navy);
  --i:var(--bfc-ink);
  --ink:var(--bfc-ink);
  --m:var(--bfc-muted);
  --s:var(--bfc-soft);
  --soft:var(--bfc-soft);
  --l:var(--bfc-line);
  --bfa-navy:var(--bfc-navy);
  --bfa-ink:var(--bfc-ink);
  --bfa-muted:var(--bfc-muted);
  --bfa-soft:var(--bfc-soft);
  --bfa-line:var(--bfc-line);
  --bft-navy:var(--bfc-navy);
  --bft-ink:var(--bfc-ink);
  --bft-muted:var(--bfc-muted);
  --bft-soft:var(--bfc-soft);
  --bft-line:var(--bfc-line);
  --eg-dark:var(--bfc-navy);
  --eg-ink:var(--bfc-ink);
  --eg-soft:var(--bfc-soft);
  --vm-dark:var(--bfc-navy);
  --vm-soft:var(--bfc-soft);
  --bf-small-navy:var(--bfc-navy);
  --bf-small-ink:var(--bfc-ink);
  --bf-small-gold:var(--bfc-gold);
  --bf-small-soft:var(--bfc-soft);
  --bf-small-line:var(--bfc-line);
  color:var(--bfc-ink);
  background:#fff;
  font-size:17px;
  line-height:1.7;
  overflow-x:clip;
}

/* Centrally assigned container hero: the picture is the full visual plane.
   Assets provide their own calm left text area, so no global overlay is used. */
section[data-bflp-container-hero="true"]{position:relative!important;display:block!important;isolation:isolate;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1200/700;padding:0!important;overflow:hidden;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
section[data-bflp-container-hero="true"]::before,section[data-bflp-container-hero="true"]::after{display:none!important;content:none!important}
[data-bflp-container-hero="true"]>.bflp-container-hero-media{position:absolute!important;z-index:0;inset:0!important;display:block!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;overflow:hidden;background:transparent!important;box-shadow:none!important;pointer-events:none}
[data-bflp-container-hero="true"]>.bflp-container-hero-media picture{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important}
[data-bflp-container-hero="true"]>.bflp-container-hero-media img{display:block!important;width:100%!important;max-width:none!important;height:100%!important;object-fit:contain!important;object-position:center!important;border:0!important;border-radius:0!important;box-shadow:none!important}
[data-bflp-container-hero="true"]>.bflp-container-hero-content{position:absolute!important;z-index:2;box-sizing:border-box;top:50%!important;bottom:auto!important;left:max(24px,calc((100% - 1180px)/2))!important;right:auto!important;width:min(44%,600px)!important;max-width:min(44%,600px)!important;margin:0!important;padding:0!important;text-align:left!important;justify-self:start!important;align-self:auto!important;order:0!important;transform:translateY(-50%)!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
[data-bflp-container-hero="true"]>.bflp-container-hero-content::before,[data-bflp-container-hero="true"]>.bflp-container-hero-content::after{display:none!important;content:none!important}
[data-bflp-container-hero="true"]>.bflp-container-hero-content>*{box-sizing:border-box;width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;padding:0!important;justify-self:start!important;text-align:left!important;transform:none!important;left:auto!important;right:auto!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
[data-bflp-container-hero="true"]>.bflp-container-hero-content>[class*="hero-grid"]{display:block!important;grid-template-columns:none!important;gap:0!important}
[data-bflp-container-hero="true"]>.bflp-container-hero-content :where([class*="hero-copy"],[class*="hero-inner"],[class*="checks"],[class*="process"],[class*="trust"]){background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
[data-bflp-container-hero="true"]>.bflp-container-hero-content :where([class*="checks"],[class*="process"]){padding-left:0!important;padding-right:0!important}
[data-bflp-container-hero="true"]>.bflp-container-hero-content :where(h1,h2,p,ul,ol){max-width:100%!important;margin-left:0!important;margin-right:0!important;text-align:left!important;white-space:normal!important}
[data-bflp-container-hero="true"]>.bflp-container-hero-content :where([class*="actions"],[class*="buttons"]){justify-content:flex-start!important;margin-left:0!important;margin-right:0!important}
[data-bflp-container-hero="true"]>.bflp-container-hero-content :where(h1,h2){overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;-webkit-hyphens:none!important}
[data-bflp-container-hero="true"]>.bflp-container-hero-content :where(h1,h2,p,span,strong){background:transparent!important;box-decoration-break:clone;box-shadow:none!important}
[data-bflp-container-hero="true"]>.bflp-container-hero-content :where(p,li,a,span){overflow-wrap:break-word}
[data-bflp-container-hero="true"]>.bflp-container-hero-content [class*="trust"]{grid-template-columns:repeat(2,minmax(0,1fr))!important;justify-items:start!important}
.bflp-container-secondary-media{width:min(1448px,calc(100% - 40px));margin:clamp(34px,6vw,72px) auto;border-radius:22px;overflow:hidden;background:#eef2f6;box-shadow:0 18px 48px rgba(10,35,61,.12)}
.bflp-container-secondary-media img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important}
@media(max-width:980px) and (min-width:768px){[data-bflp-container-hero="true"]>.bflp-container-hero-content{left:24px!important;width:min(48%,540px)!important;max-width:min(48%,540px)!important}}
@media(max-width:767px){
  section[data-bflp-container-hero="true"]{--bflp-mobile-overlay-top:.98;--bflp-mobile-overlay-mid:.78;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:4/5}
  section[data-bflp-container-hero="true"]::before{position:absolute!important;z-index:1!important;inset:0!important;display:block!important;content:""!important;pointer-events:none;background:linear-gradient(to bottom,rgba(255,255,255,var(--bflp-mobile-overlay-top)) 0%,rgba(255,255,255,.96) 30%,rgba(255,255,255,.88) 50%,rgba(255,255,255,.68) 70%,rgba(255,255,255,.38) 88%,rgba(255,255,255,.18) 100%)!important}
  [data-bflp-container-hero="true"]>.bflp-container-hero-media img{object-fit:contain!important;object-position:center!important}
  [data-bflp-container-hero="true"]>.bflp-container-hero-content{position:absolute!important;z-index:2;top:0!important;bottom:auto!important;left:16px!important;right:auto!important;width:calc(100% - 32px)!important;max-width:620px!important;margin:0!important;padding:clamp(24px,7vw,42px) 0 0!important;text-align:left!important;grid-column:auto!important;transform:none!important}
  [data-bflp-container-hero="true"]>.bflp-container-hero-content :where([class*="eye"],[class*="eyebrow"]){margin:0 0 7px!important}
  [data-bflp-container-hero="true"]>.bflp-container-hero-content :where(h1,h2){margin:0 0 11px!important;font-size:clamp(1.72rem,7.2vw,2.45rem)!important;line-height:1.06!important}
  [data-bflp-container-hero="true"]>.bflp-container-hero-content :where(p){margin:0 0 13px!important;line-height:1.42!important}
  [data-bflp-container-hero="true"]>.bflp-container-hero-content :where([class*="actions"],[class*="buttons"]){display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;gap:8px!important;margin:12px 0 0!important}
  [data-bflp-container-hero="true"]>.bflp-container-hero-content :where(a[class*="btn"],a[class*="button"]){display:inline-flex!important;width:auto!important;min-height:44px!important;padding:9px 16px!important}
  .bflp-container-secondary-media{width:calc(100% - 32px);margin:32px auto;border-radius:16px}
}
@media(max-width:480px){[data-bflp-container-hero="true"]>.bflp-container-hero-content{padding-right:0!important}}
@media(min-width:768px){.bf-handwerk-page section[data-bflp-container-hero="true"][data-bflp-hero-ratio="wide"],.bf-b2b-page section[data-bflp-container-hero="true"][data-bflp-hero-ratio="wide"],.bf-b2c-page section[data-bflp-container-hero="true"][data-bflp-hero-ratio="wide"],.bf-rechnungen-verkaufen-page section[data-bflp-container-hero="true"][data-bflp-hero-ratio="wide"]{aspect-ratio:1920/900!important}}

:where(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) :where(img,svg,video,iframe){max-width:100%;height:auto}

:where(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) :where(h1,h2,h3,h4){
  color:var(--bfc-navy);
  font-weight:650;
  letter-spacing:-.018em;
}

:where(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) h1{
  max-width:900px;
  font-size:clamp(2.65rem,5vw,4.7rem);
  line-height:1.06;
}

:where(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) h2{
  max-width:880px;
  font-size:clamp(2rem,3.5vw,3.2rem);
  line-height:1.13;
}

/* Eyebrows and compact labels */
:where(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) :where([class$="-eye"],[class$="-eyebrow"]){
  color:var(--bfc-gold)!important;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}

/* Hero surfaces follow the bright, restrained homepage treatment. */
:where(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page) [class$="-hero"]{
  padding-block:clamp(88px,10vw,136px);
  background:linear-gradient(118deg,#fff 0%,#fff 64%,var(--bfc-warm) 64%,var(--bfc-soft) 100%)!important;
}

/* Buttons: gold primary, navy outline, virtually square like the homepage. */
:is(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) :where([class$="-btn"],[class*="-btn--"],[class$="-button"],[class*="-button--"]){
  min-height:48px;
  padding:12px 22px;
  border-radius:2px!important;
  font-weight:700;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}

:is(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) :where([class$="-btn"],[class*="-btn--red"],[class*="-button--primary"],[class*="-button--gold"]){
  border-color:var(--bfc-gold)!important;
  background:var(--bfc-gold)!important;
  color:#fff!important;
}

:where(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) :where([class$="-btn"],[class*="-button--primary"],[class*="-button--gold"]):hover{
  border-color:var(--bfc-gold-hover)!important;
  background:var(--bfc-gold-hover)!important;
}

:is(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) :where([class*="-btn--line"],[class*="-button--secondary"],[class*="-button--outline"]){
  border-color:var(--bfc-navy)!important;
  background:transparent!important;
  color:var(--bfc-navy)!important;
}

/* Cards, comparison blocks and steps share one restrained surface language. */
:where(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) :where([class$="-grid"] article,[class$="-two"] article,[class$="-compare"] article,[class$="-duel"] article,[class$="-card"],[class$="-model"],[class$="-criterion"],[class$="-mini"],[class$="-combo"],[class$="-simple"],[class$="-scenario"]){
  border-color:var(--bfc-line)!important;
  border-radius:var(--bfc-radius)!important;
  background:#fff!important;
  color:var(--bfc-ink)!important;
  box-shadow:var(--bfc-shadow)!important;
}

:is(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) :where([class$="-grid"] article,[class$="-two"] article,[class$="-compare"] article,[class$="-duel"] article,[class$="-card"],[class$="-model"],[class$="-criterion"],[class$="-mini"],[class$="-combo"],[class$="-simple"],[class$="-scenario"]) :where(p,li,dd){
  color:var(--bfc-ink)!important;
}

:is(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) :where([class$="-grid"] article,[class$="-two"] article,[class$="-compare"] article,[class$="-duel"] article,[class$="-card"],[class$="-model"],[class$="-criterion"],[class$="-mini"],[class$="-combo"],[class$="-simple"],[class$="-scenario"]) :where(h2,h3,h4,strong){
  color:var(--bfc-navy)!important;
}

/*
 * Light components define their own foreground. This deliberately breaks the
 * inherited white text of a dark section and prevents white-on-white pills,
 * trust badges, cards and panels on both current and future container pages.
 */
:is(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen)
  :where([class$="-badges"],[class$="-pills"],[class$="-chips"],[class$="-trust"])
  :where(span,li){
  border:1px solid var(--bfc-line);
  background:#fff;
  color:var(--bfc-navy);
}

:is(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen)
  [class$="-final"] :where([class$="-badges"],[class$="-pills"],[class$="-chips"],[class$="-trust"]) :where(span,li){
  border-color:var(--bfc-line);
  background:#fff;
  color:var(--bfc-navy);
  box-shadow:0 4px 14px rgba(11,40,72,.08);
}

/* Explicit light-surface foregrounds; never rely on a dark parent's color. */
:is(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen)
  :where([class$="-note"],[class$="-callout"],[class$="-panel"]){color:var(--bfc-ink)}

:where(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) :where([class$="-steps"] li,[class$="-process"] li){
  border:1px solid var(--bfc-line)!important;
  border-radius:var(--bfc-radius);
  box-shadow:0 8px 24px rgba(11,40,72,.05);
}

:where(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) :where([class$="-steps"],[class$="-process"]) :where(b,strong):first-child{
  color:var(--bfc-gold);
}

:where(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) :where([class$="-portrait"] img){border-radius:var(--bfc-radius)!important}

:where(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) :where([class*="breadcrumb"],[class*="related"]){color:var(--bfc-muted);font-size:.88rem}

:where(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) :where([class$="-soft"],[class$="-section--soft"]){
  background:var(--bfc-soft)!important;
}

:where(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) :where([class$="-navy"],[class$="-dark"],[class$="-section--navy"],[class$="-red"]){
  background:var(--bfc-navy)!important;
}

/* Final calls to action are quiet navy panels; gold is reserved for the action. */
:where(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) [class$="-final"]{
  padding-block:clamp(76px,9vw,116px);
  background:var(--bfc-navy)!important;
  color:#fff;
}

:where(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) [class$="-final"] :where(h2,h3,[class$="-eye"],[class$="-eyebrow"]){color:#fff!important}

:is(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen)
  [class$="-final"] :where([class*="-btn--light"],[class*="-button--light"]){
  border-color:var(--bfc-gold)!important;
  background:var(--bfc-gold)!important;
  color:#fff!important;
}

/* Links, accents, focus states and tables. */
:where(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) :where([class$="-link"],[class$="-text-link"]){color:var(--bfc-gold)!important}
:where(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) :where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid rgba(164,129,17,.48)!important;outline-offset:3px}
:where(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) :where([class$="-table-head"]){background:var(--bfc-navy)!important;color:#fff}
:where(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) :where(details,summary,[class$="-table"],[class$="-table-row"]){border-color:var(--bfc-line)!important}
:is(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) :where(tbody,td,[class$="-table-row"]){color:var(--bfc-ink)}
:is(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) :where([class$="-faq"] details,[class$="-faq"] summary,[class$="-faq"] details p){color:var(--bfc-ink)}

@media (max-width:900px){
  :where(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen){font-size:16px}
  :where(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page) [class$="-hero"]{padding-block:72px;background:linear-gradient(145deg,#fff 0 72%,var(--bfc-soft) 72% 100%)!important}
}

@media (max-width:580px){
  :where(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) h1{font-size:clamp(2.25rem,11vw,3.1rem)}
  :where(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) h2{font-size:clamp(1.75rem,8vw,2.45rem)}
  :where(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) :where([class$="-actions"]){display:grid;gap:12px}
  :where(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) :where([class$="-btn"],[class*="-button"]){width:100%;text-align:center;justify-content:center}
}

@media (prefers-reduced-motion:reduce){
  :where(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen) *{scroll-behavior:auto!important;transition:none!important}
}

/* Central contrast contract for every page rendered inside the Berger shell.
   A hero opts into its real image model instead of inheriting a global white
   foreground. No page IDs or URL-specific selectors are involved. */
.bflp-site [data-bflp-hero-contrast="light"]{background-color:#fff!important;color:#173554!important}
.bflp-site [data-bflp-hero-contrast="light"] :where(h1,h2,h3,h4){color:#0b2848!important}
.bflp-site [data-bflp-hero-contrast="light"] :where(p,li,dd,dt){color:#173554!important}
.bflp-site [data-bflp-hero-contrast="light"] :where([class$="-eye"],[class$="-eyebrow"]){color:#a48111!important}
.bflp-site [data-bflp-hero-contrast="light"] :where([class*="hero-overlay"]){display:none!important;background:none!important}
.bflp-site [data-bflp-hero-contrast="light"] :where([class*="hero-media"] img){opacity:1!important}
.bflp-site [data-bflp-hero-contrast="light"] :where(a:not([class*="btn"]):not([class*="button"])){color:#0b2848}

@media(max-width:767px){
  .bflp-site [data-bflp-hero-contrast="light"] :where([class*="hero-overlay"]){display:block!important;background:linear-gradient(to bottom,rgba(255,255,255,.98) 0%,rgba(255,255,255,.96) 34%,rgba(255,255,255,.90) 58%,rgba(255,255,255,.72) 76%,rgba(255,255,255,0) 94%)!important;pointer-events:none}
  .bflp-site [data-bflp-hero-contrast="light"] :where([class*="hero-inner"]){align-items:flex-start!important;justify-content:flex-start!important;text-align:left!important}
  .bflp-site [data-bflp-hero-contrast="light"] :where([class*="hero-inner"] h1,[class*="hero-inner"] p){max-width:min(88%,620px)!important;margin-left:0!important;margin-right:0!important;text-align:left!important}
  .bflp-site [data-bflp-hero-contrast="light"] :where([class*="hero-inner"] h1){font-size:clamp(2rem,9vw,2.8rem)!important;line-height:1.06!important}
}

.bflp-site [data-bflp-hero-contrast="dark"]{background:var(--bfc-dark-surface)!important;color:var(--bfc-on-dark)!important}

/* Four legacy container heroes use bright editorial image areas but do not
   expose the shared contrast marker until their media decorator runs. Keep
   their complete copy readable before and after decoration. This stylesheet
   is deliberately loaded after the page-specific legacy styles. */
.bflp-site :is(
  #factoring-vergleich-hero,
  #factoring-voraussetzungen-hero,
  #reverse-factoring-hero,
  #vob-factoring-hero
) :where(h1,h2,h3,h4,h5,h6,p,li,strong,span){
  color:#0b2848!important;
  text-shadow:none!important;
}
.bflp-site :is(
  #factoring-vergleich-hero,
  #factoring-voraussetzungen-hero,
  #reverse-factoring-hero,
  #vob-factoring-hero
) :where([class$="-eye"],[class$="-eyebrow"]){
  color:#0b2848!important;
}
.bflp-site :is(
  #factoring-vergleich-hero,
  #factoring-voraussetzungen-hero,
  #reverse-factoring-hero,
  #vob-factoring-hero
) :where(a[class*="btn--ghost"],a[class*="btn--outline"],a[class*="button--ghost"],a[class*="button--outline"]){
  border-color:#0b2848!important;
  color:#0b2848!important;
}

/*
 * Global dark-surface contrast contract.
 *
 * These selectors reflect the semantic classes already used by the container
 * templates. CTA suffixes are included because the company, branch and newer
 * pillar templates use them for their navy closing bands. Explicit legacy
 * industry modules cover the remaining dark statistics/process surfaces.
 */
.bflp-site :is(
  [data-bflp-hero-contrast="dark"],
  [class$="-navy"],
  [class$="-dark"],
  [class$="-section--navy"],
  [class$="-red"],
  [class$="-final"],
  [class$="-compact-cta"],
  [class$="-cta"],
  .bf-fv-hero,
  .bf-fvs-hero,
  .bf-vob-hero,
  .bf-rf-hero,
  .bf-company-home .bf-home-trust-section,
  .bf-company-branch-industrie .bf-industry-advisor-inner,
  .bf-company-branch-industrie .bf-industry-compare,
  .bf-company-branch-industrie .bf-industry-kpis,
  .bf-company-branch-industrie .bf-industry-timeline,
  .bf-company-branch-industrie .bf-industry-trust
){color:var(--bfc-on-dark)!important}

.bflp-site :is(
  [class$="-navy"],
  [class$="-dark"],
  [class$="-section--navy"],
  [class$="-red"],
  [class$="-final"],
  [class$="-compact-cta"],
  [class$="-cta"]
){background-color:var(--bfc-dark-surface)!important}

.bflp-site :is(
  [data-bflp-hero-contrast="dark"],
  [class$="-navy"],
  [class$="-dark"],
  [class$="-section--navy"],
  [class$="-red"],
  [class$="-final"],
  [class$="-compact-cta"],
  [class$="-cta"],
  .bf-fv-hero,.bf-fvs-hero,.bf-vob-hero,.bf-rf-hero,
  .bf-company-home .bf-home-trust-section,
  .bf-company-branch-industrie .bf-industry-advisor-inner,
  .bf-company-branch-industrie .bf-industry-compare,
  .bf-company-branch-industrie .bf-industry-kpis,
  .bf-company-branch-industrie .bf-industry-timeline,
  .bf-company-branch-industrie .bf-industry-trust
) :where(h1,h2,h3,h4,h5,h6,p,li,dd,dt,th,blockquote,strong,b,label,span:not([class])){color:inherit!important}

.bflp-site :is(
  [data-bflp-hero-contrast="dark"],
  [class$="-navy"],
  [class$="-dark"],
  [class$="-section--navy"],
  [class$="-red"],
  [class$="-final"],
  [class$="-compact-cta"],
  [class$="-cta"]
) :where([class$="-eye"],[class$="-eyebrow"],[class*="-kicker"]){color:var(--bfc-on-dark-accent)!important}

.bflp-site :is(
  [data-bflp-hero-contrast="dark"],
  [class$="-navy"],
  [class$="-dark"],
  [class$="-section--navy"],
  [class$="-red"],
  [class$="-final"],
  [class$="-compact-cta"],
  [class$="-cta"]
) a:not([class*="btn"]):not([class*="button"]){color:var(--bfc-on-dark)!important;text-decoration-color:rgba(255,255,255,.68)}

.bflp-site :is(
  [data-bflp-hero-contrast="dark"],
  [class$="-navy"],
  [class$="-dark"],
  [class$="-section--navy"],
  [class$="-red"],
  [class$="-final"],
  [class$="-compact-cta"],
  [class$="-cta"]
) a:not([class*="btn"]):not([class*="button"]):hover,
.bflp-site :is(
  [data-bflp-hero-contrast="dark"],
  [class$="-navy"],[class$="-dark"],[class$="-section--navy"],[class$="-red"],[class$="-final"],[class$="-compact-cta"],[class$="-cta"]
) a:not([class*="btn"]):not([class*="button"]):focus-visible{color:var(--bfc-on-dark-accent)!important;text-decoration-color:var(--bfc-on-dark-accent)}

/* Only components with an explicit light-surface contract reset to dark text.
   A plain article is intentionally not included: many navy sections use
   transparent articles and previously received an unreadable dark foreground. */
.bflp-site :is(
  [data-bflp-hero-contrast="dark"],
  [class$="-navy"],
  [class$="-dark"],
  [class$="-section--navy"],
  [class$="-red"],
  [class$="-final"],
  [class$="-compact-cta"],
  [class$="-cta"]
) :is(
  [class$="-card"]:not([class*="--dark"]),
  [class$="-panel"],
  [class$="-note"],
  [class$="-callout"],
  [class$="-grid"] > article,
  [class$="-faq"] details,
  [class$="-steps"] > li,
  [class$="-process"] > li,
  [class$="-pills"] span,
  [class$="-chips"] span,
  [class$="-trust"] span
){color:#173554!important}

.bflp-site :is(
  [data-bflp-hero-contrast="dark"],
  [class$="-navy"],
  [class$="-dark"],
  [class$="-section--navy"],
  [class$="-red"],
  [class$="-final"],
  [class$="-compact-cta"],
  [class$="-cta"]
) :is(
  [class$="-card"]:not([class*="--dark"]),
  [class$="-panel"],
  [class$="-note"],
  [class$="-callout"],
  [class$="-grid"] > article,
  [class$="-faq"] details,
  [class$="-steps"] > li,
  [class$="-process"] > li,
  [class$="-pills"] span,
  [class$="-chips"] span,
  [class$="-trust"] span
) :where(h1,h2,h3,h4,h5,h6,p,li,dd,dt,blockquote,strong,b,label,span:not([class]),summary){color:var(--bfc-text)!important}

.bflp-site :is(
  [data-bflp-hero-contrast="dark"],
  [class$="-navy"],
  [class$="-dark"],
  [class$="-section--navy"],
  [class$="-red"],
  [class$="-final"],
  [class$="-compact-cta"],
  [class$="-cta"]
) :is(
  [class$="-card"]:not([class*="--dark"]),
  [class$="-panel"],
  [class$="-note"],
  [class$="-callout"],
  [class$="-grid"] > article,
  [class$="-faq"] details,
  [class$="-steps"] > li,
  [class$="-process"] > li
) a:not([class*="btn"]):not([class*="button"]){color:#0b557e!important;text-decoration-color:currentColor}

/* Dark cards are independent components, not light-card exceptions. */
.bflp-site :is(
  [class*="card--dark"],
  .bfvm-dark [class$="-grid"] > article,
  .bfvm-dark [class$="-two"] > article,
  .bfv-navy .bfv-grid > article,
  .bf-fv-navy .bf-fv-compare > article,
  .bf-fvs-navy .bf-fvs-compare > article
),
.bflp-site :is(
  [class*="card--dark"],
  .bfvm-dark [class$="-grid"] > article,
  .bfvm-dark [class$="-two"] > article,
  .bfv-navy .bfv-grid > article,
  .bf-fv-navy .bf-fv-compare > article,
  .bf-fvs-navy .bf-fvs-compare > article
) :where(h1,h2,h3,h4,h5,h6,p,li,dd,dt,blockquote,strong,b,label,span:not([class])){color:var(--bfc-on-dark)!important}

/* Forms on dark surfaces keep labels light and fields explicitly readable. */
.bflp-site :is(
  [class$="-navy"],[class$="-dark"],[class$="-section--navy"],[class$="-red"],[class$="-final"],[class$="-compact-cta"],[class$="-cta"]
) :where(input:not([type="button"]):not([type="submit"]),select,textarea){background:#fff;color:var(--bfc-text);border-color:rgba(255,255,255,.72)}
.bflp-site :is(
  [class$="-navy"],[class$="-dark"],[class$="-section--navy"],[class$="-red"],[class$="-final"],[class$="-compact-cta"],[class$="-cta"]
) :where(input,textarea)::placeholder{color:#587087;opacity:1}

/* A light table resets to dark copy; explicitly dark table variants inherit
   the surrounding on-dark foreground. */
.bflp-site :is(
  [class$="-navy"],[class$="-dark"],[class$="-section--navy"],[class$="-red"],[class$="-final"],[class$="-compact-cta"],[class$="-cta"]
) table:not([class*="dark"]):not([class*="navy"]){background:#fff;color:var(--bfc-text)}
.bflp-site :is(
  [class$="-navy"],[class$="-dark"],[class$="-section--navy"],[class$="-red"],[class$="-final"],[class$="-compact-cta"],[class$="-cta"]
) table:not([class*="dark"]):not([class*="navy"]) :where(td,tbody th){color:var(--bfc-text)!important}

/* Button contrast is semantic and independent of inherited section colors. */
.bflp-site :where(a,button)[class$="-button"]:not([class*="secondary"]):not([class*="outline"]):not([class*="load-more"]),
.bflp-site :where(a,button):where([class*="btn--primary"],[class*="button--primary"],[class*="button--gold"]){border-color:#a48111!important;background:#a48111!important;color:#fff!important;text-shadow:none!important}
.bflp-site :where(a,button)[class$="-button"]:not([class*="secondary"]):not([class*="outline"]):not([class*="load-more"]):hover,
.bflp-site :where(a,button):where([class*="btn--primary"],[class*="button--primary"],[class*="button--gold"]):hover{border-color:#806508!important;background:#806508!important;color:#fff!important}
.bflp-site :where([class$="-navy"],[class$="-dark"],[class$="-section--navy"],[class$="-final"]) :where(a,button):where([class*="secondary"],[class*="outline"],[class*="line"]){border-color:#fff!important;background:transparent!important;color:#fff!important}

/*
 * The four image-based container heroes have a deliberately light image plane.
 * They are not dark surfaces even though their legacy component CSS originally
 * used a navy gradient. Keep all editorial copy dark and readable over the
 * centrally assigned light hero artwork.
 */
.bflp-site :is(.bf-fv-hero,.bf-fvs-hero,.bf-vob-hero,.bf-rf-hero){color:#0b2848!important}
.bflp-site :is(.bf-fv-hero,.bf-fvs-hero,.bf-vob-hero,.bf-rf-hero) :where(h1,h2,h3,h4,h5,h6,p,li,dd,dt,blockquote,strong,b,label,span,[class$="-eye"],[class$="-eyebrow"]){color:#0b2848!important;text-shadow:none!important}
.bflp-site :is(.bf-fv-hero,.bf-fvs-hero,.bf-vob-hero,.bf-rf-hero) :where(a[class*="ghost"],a[class*="outline"]){border-color:#0b2848!important;background:transparent!important;color:#0b2848!important;text-shadow:none!important}

/* The typography contract also covers built-in heroes before an editorial
   Media Library assignment decorates them with data-bflp-container-hero. */
.bflp-site :where(section,header)[class*="-hero"] :where(h1,h2){overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;-webkit-hyphens:none!important;background:transparent!important;box-shadow:none!important}
.bflp-site :where(section,header)[class*="-hero"] :where(p,span,strong){background:transparent!important;box-shadow:none!important}

/* Blog CTA always reuses the responsive hero variables. Contain preserves the
   complete person/scene; the existing horizontal mirror remains intentional. */
.bflp-site .bf-company-blog .bf-company-blog-cta{position:relative!important;isolation:isolate!important;overflow:hidden!important;background:#0b2848!important}
.bflp-site .bf-company-blog .bf-company-blog-cta::before{position:absolute!important;z-index:-1!important;inset:0!important;display:block!important;content:""!important;background-image:var(--bflp-blog-cta-desktop-image)!important;background-repeat:no-repeat!important;background-position:right bottom!important;background-size:contain!important;opacity:.16!important;transform:scaleX(-1)!important}
.bflp-site .bf-company-blog .bf-company-blog-cta>.bf-company-blog-container{position:relative;z-index:1}
@media(max-width:680px){.bflp-site .bf-company-blog .bf-company-blog-cta::before{background-image:var(--bflp-blog-cta-mobile-image,var(--bflp-blog-cta-desktop-image))!important;background-position:center bottom!important;background-size:contain!important}}

/* A full light band separates a closing navy CTA from the navy plugin footer. */
.bflp-site>.bflp-footer{border-top:48px solid #faf9f6!important}

/* Factoring Bank's real comparison section (#vergleich): one explicit rhythm
   from eyebrow through cards and note, without changing any content. */
.bfb-page #vergleich{padding-block:var(--bfc-space-section)!important}
.bfb-page #vergleich .bfb-eye{margin:0 0 var(--bfc-space-eyebrow-heading)!important}
.bfb-page #vergleich h2{margin:0!important}
.bfb-page #vergleich .bfb-two{gap:var(--bfc-space-grid)!important;margin-top:var(--bfc-space-heading-component)!important}
.bfb-page #vergleich .bfb-two article{padding:var(--bfc-space-card)!important}
.bfb-page #vergleich .bfb-two :where(dl,ul,p){margin-bottom:0}
.bfb-page #vergleich .bfb-note{margin:var(--bfc-space-component-followup) 0 0!important}

@media(max-width:980px){
  :where(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen){--bfc-space-section:76px;--bfc-space-heading-component:34px;--bfc-space-component-followup:32px;--bfc-space-card:28px;--bfc-space-grid:22px}
  .bflp-site>.bflp-footer{border-top-width:32px!important}
}
@media(max-width:650px){
  :where(.bfa-page,.bft-page,.bef-page,.bsf-page,.bfm-page,.bfb-page,.bfv-page,.buf-page,.bfs-page,.bsel-page,.binh-page,.bof-page,.bfsb-page,.bfeg-page,.bfvm-page,.bf-company-kleine-unternehmen){--bfc-space-section:64px;--bfc-space-eyebrow-heading:12px;--bfc-space-heading-component:28px;--bfc-space-component-followup:28px;--bfc-space-card:24px;--bfc-space-grid:18px}
  .bflp-site>.bflp-footer{border-top-width:24px!important}
}
