/* Berufshafen Core – Design-System (aus Onepager ausgelagert) */
.bh-page, body {
    --bh-rot:        #781613;
    --bh-rot-hell:   #a01e1a;
    --bh-rot-dunkel: #5a100e;
    --bh-rot-tief:   #3d0908;
    --bh-weiss:      #ffffff;
    --bh-creme:      #f5f2ee;
    --bh-creme-warm: #faf7f2;
    --bh-dunkel:     #1a1210;
    --bh-grau:       #6b6560;
    --bh-grau-hell:  #e8e4df;
    --bh-radius:     14px;
    --bh-radius-lg:  20px;
    --bh-shadow-sm:  0 4px 12px rgba(120, 22, 19, 0.08);
    --bh-shadow:     0 12px 32px rgba(120, 22, 19, 0.12);
    --bh-shadow-lg:  0 24px 60px rgba(120, 22, 19, 0.18);
    --bh-font:       'Poppins', system-ui, -apple-system, sans-serif;
    --bh-ease:       cubic-bezier(0.22, 1, 0.36, 1);
    --bh-ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Hello-Theme Reset & Title-Ausblendung (mehrere Selektoren für verschiedene HE-Versionen) */
body.page-template-page-berufshafen .page-content,
body.page-template-page-berufshafen .site-main,
body.page-template-page-berufshafen main.site-main,
body.bh-template-active .page-content,
body.bh-template-active .site-main { padding: 0 !important; margin: 0 !important; max-width: 100% !important; }

body.page-template-page-berufshafen .entry-title,
body.page-template-page-berufshafen .entry-header,
body.page-template-page-berufshafen header.entry-header,
body.page-template-page-berufshafen .page-header,
body.page-template-page-berufshafen .page-title,
body.page-template-page-berufshafen h1.entry-title,
body.page-template-page-berufshafen h1.page-title,
body.bh-template-active .entry-title,
body.bh-template-active .entry-header,
body.bh-template-active header.entry-header,
body.bh-template-active .page-header,
body.bh-template-active .page-title,
body.bh-template-active h1.entry-title,
body.bh-template-active h1.page-title { display: none !important; visibility: hidden !important; height: 0 !important; }

body.page-template-page-berufshafen { overflow-x: hidden; margin: 0; padding-top: 0 !important; }

.bh-page, .bh-page *, .bh-header, .bh-header *, .bh-footer, .bh-footer * { box-sizing: border-box; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body { font-family: var(--bh-font); color: var(--bh-dunkel); line-height: 1.6; font-size: 17px; margin: 0; }
.bh-page img, .bh-header img, .bh-footer img { max-width: 100%; height: auto; display: block; }
.bh-container { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 24px; position: relative; }

[data-bh-animate] { opacity: 0; transition: opacity 0.8s var(--bh-ease), transform 0.8s var(--bh-ease); will-change: opacity, transform; }
[data-bh-animate="fade-up"]    { transform: translateY(40px); }
[data-bh-animate="fade-left"]  { transform: translateX(40px); }
[data-bh-animate="fade-right"] { transform: translateX(-40px); }
[data-bh-animate].bh-in { opacity: 1; transform: translate(0, 0); }

.bh-kicker { display: inline-block; font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--bh-rot); margin-bottom: 18px; position: relative; padding-left: 32px; }
.bh-kicker::before { content: ''; position: absolute; left: 0; top: 50%; width: 24px; height: 2px; background: var(--bh-rot); transform: translateY(-50%); }
.bh-kicker--light { color: rgba(255,255,255,0.85); }
.bh-kicker--light::before { background: rgba(255,255,255,0.85); }
.bh-h2 { font-size: clamp(28px, 4.5vw, 46px); font-weight: 800; line-height: 1.15; margin: 0 0 24px; letter-spacing: -0.01em; color: var(--bh-dunkel); }
.bh-h2--light { color: var(--bh-weiss); }
.bh-text { font-size: 17px; line-height: 1.7; margin: 0 0 18px; color: var(--bh-grau); }
.bh-text--big { font-size: 19px; }
.bh-text--light { color: rgba(255,255,255,0.85); }
.bh-text--center { text-align: center; max-width: 720px; margin-left: auto; margin-right: auto; }

.bh-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 16px 32px; font-family: var(--bh-font); font-size: 16px; font-weight: 700; text-decoration: none; border-radius: 12px; border: 2px solid transparent; cursor: pointer; transition: all 0.5s var(--bh-ease); position: relative; overflow: hidden; white-space: nowrap; }
.bh-btn--primary {
    background: linear-gradient(135deg, var(--bh-rot) 0%, var(--bh-rot-hell) 100%);
    color: var(--bh-weiss) !important;
    box-shadow: 0 8px 24px rgba(120, 22, 19, 0.35);
    transition: background 0.5s var(--bh-ease), transform 0.5s var(--bh-ease), box-shadow 0.5s var(--bh-ease), color 0.5s var(--bh-ease);
}
.bh-btn--primary:hover,
.bh-btn--primary:focus {
    background: linear-gradient(135deg, var(--bh-rot-hell) 0%, var(--bh-rot) 100%);
    transform: translateY(-3px);
    box-shadow: 0 14px 32px rgba(120, 22, 19, 0.5);
    color: var(--bh-creme) !important;
}
.bh-btn--ghost { background: transparent; color: var(--bh-weiss); border-color: rgba(255,255,255,0.5); }
.bh-btn--ghost:hover { background: var(--bh-weiss); color: var(--bh-rot); border-color: var(--bh-weiss); transform: translateY(-3px); }
.bh-btn--full { width: 100%; }
.bh-btn__loader { width: 18px; height: 18px; border: 2px solid rgba(255,255,255,0.3); border-top-color: var(--bh-weiss); border-radius: 50%; display: none; animation: bh-spin 0.8s linear infinite; }
.bh-btn.is-loading .bh-btn__label { opacity: 0.5; }
.bh-btn.is-loading .bh-btn__loader { display: inline-block; }
@keyframes bh-spin { to { transform: rotate(360deg); } }

/* Header-Styles stehen komplett in header.php */
/* Falls Hello Elementor noch einen eigenen Header rendert: ausblenden */
body.page-template-page-berufshafen .site-header:not(.bh-header),
body.page-template-page-berufshafen #masthead:not(.bh-header),
body.bh-template-active .site-header:not(.bh-header),
body.bh-template-active #masthead:not(.bh-header) { display: none !important; }

/* HERO */
.bh-hero { position: relative; min-height: 100vh; min-height: 100dvh; display: flex; align-items: center; color: var(--bh-weiss); overflow: hidden; padding: 100px 0 200px; }
.bh-hero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; z-index: 0; animation: bh-slow-zoom 20s ease-in-out infinite alternate; }
@keyframes bh-slow-zoom { from { transform: scale(1); } to { transform: scale(1.08); } }
.bh-hero__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(58, 10, 8, 0.85) 0%, rgba(120, 22, 19, 0.7) 50%, rgba(58, 10, 8, 0.9) 100%); z-index: 1; }
.bh-hero__content { position: relative; z-index: 2; text-align: center; max-width: 980px; }

/* Kicker mit wechselndem Ort */
.bh-hero__kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 24px;
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.25);
    border-radius: 100px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.5px;
    margin-bottom: 32px;
    backdrop-filter: blur(8px);
}
.bh-hero__kicker-static { opacity: 0.85; }
.bh-rotator {
    position: relative;
    display: inline-block;
    vertical-align: baseline;
}
.bh-rotator__ghost {
    display: inline-block;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    white-space: nowrap;
}
.bh-rotator__item {
    position: absolute;
    top: 0;
    left: 50%;
    opacity: 0;
    transform: translateX(-50%) translateY(10px);
    transition: opacity 0.5s var(--bh-ease), transform 0.5s var(--bh-ease);
    white-space: nowrap;
    text-align: center;
}
.bh-rotator__item.is-active {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}
.bh-rotator__item.is-leaving {
    opacity: 0;
    transform: translateX(-50%) translateY(-10px);
}

/* Kicker-Rotator: Schrift in weiß, fett */
.bh-hero__kicker .bh-rotator { color: var(--bh-weiss); font-weight: 700; }

/* Hero Title + Rotator (hervorgehoben) */
.bh-hero__title { font-size: clamp(36px, 5.5vw, 64px); font-weight: 900; line-height: 1.12; letter-spacing: -0.015em; margin: 0 0 28px; color: var(--bh-weiss); text-align: center; }
.bh-hero__title-line { display: block; }
.bh-hero__title-line + .bh-hero__title-line { margin-top: 14px; }
.bh-hero__title-sub { display: block; font-weight: 600; font-size: 0.62em; opacity: 0.9; margin-top: 18px; letter-spacing: -0.005em; }

.bh-hero__hl {
    display: inline-block;
    position: relative;
    background: linear-gradient(120deg, rgba(255,255,255,0.98) 0%, rgba(255,255,255,1) 100%);
    color: var(--bh-rot);
    padding: 4px 18px;
    border-radius: 12px;
    transform: rotate(-1deg);
    box-shadow: 0 6px 24px rgba(0,0,0,0.22);
    vertical-align: baseline;
}

.bh-hero__lead { font-size: clamp(17px, 2vw, 21px); line-height: 1.6; max-width: 720px; margin: 0 auto 40px; opacity: 0.92; }
.bh-hero__cta { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.bh-hero__scroll { position: absolute; bottom: 110px; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 12px; font-size: 11px; letter-spacing: 3px; text-transform: uppercase; opacity: 0.7; z-index: 3; color: var(--bh-weiss); pointer-events: none; }
.bh-hero__scroll-line { width: 1px; height: 50px; background: linear-gradient(to bottom, var(--bh-weiss), transparent); position: relative; overflow: hidden; }
.bh-hero__scroll-line::after { content: ''; position: absolute; top: -50%; left: 0; width: 100%; height: 50%; background: var(--bh-weiss); animation: bh-scroll-line 2s ease-in-out infinite; }
@keyframes bh-scroll-line { 0% { top: -50%; } 100% { top: 100%; } }

/* ============================================================
   Wave-Divider: Drei übereinanderliegende Wellen mit Opacity-
   Staffelung für einen weichen, mehrschichtigen Look.
   Farbe = Farbe der nächsten Sektion.
   ============================================================ */
.bh-wave {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    width: 100%;
    height: 120px;
    pointer-events: none;
    line-height: 0;
    z-index: 4;
    overflow: hidden;
}
.bh-wave svg {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    display: block;
}
.bh-wave svg path { fill: var(--bh-wave-color, var(--bh-creme)); }
.bh-wave svg.bh-wave__back  { opacity: 0.35; }
.bh-wave svg.bh-wave__mid   { opacity: 0.6; }
.bh-wave svg.bh-wave__front { opacity: 1; }

.bh-wave--to-creme      { --bh-wave-color: var(--bh-creme); }
.bh-wave--to-white      { --bh-wave-color: var(--bh-weiss); }
.bh-wave--to-rot        { --bh-wave-color: var(--bh-rot); }
.bh-wave--to-rot-dunkel { --bh-wave-color: var(--bh-rot-dunkel); }
.bh-wave--to-rot-tief   { --bh-wave-color: var(--bh-rot-tief); }

.bh-section { position: relative; padding: 120px 0 200px; }
.bh-section__head { text-align: center; max-width: 760px; margin: 0 auto 72px; }
.bh-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }

/* ÜBER UNS */
.bh-section--about {
    background: var(--bh-creme);
    position: relative;
    overflow: hidden;
}
.bh-section--about::after {
    content: '';
    position: absolute;
    top: 60px;
    right: -120px;
    width: 400px;
    height: 400px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none' stroke='%23781613' stroke-width='1.2' opacity='0.06'%3E%3Cpath d='M0,100 Q25,80 50,100 T100,100 T150,100 T200,100'/%3E%3Cpath d='M0,120 Q25,100 50,120 T100,120 T150,120 T200,120'/%3E%3Cpath d='M0,140 Q25,120 50,140 T100,140 T150,140 T200,140'/%3E%3Cpath d='M0,160 Q25,140 50,160 T100,160 T150,160 T200,160'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}
.bh-section--about .bh-container { position: relative; z-index: 1; }
.bh-checklist { list-style: none; padding: 0; margin: 32px 0 0; }
.bh-checklist li { position: relative; padding: 10px 0 10px 36px; font-size: 16px; color: var(--bh-dunkel); }
.bh-checklist li::before { content: ''; position: absolute; left: 0; top: 14px; width: 22px; height: 22px; background: var(--bh-rot); border-radius: 50%; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E"); background-size: 14px; background-repeat: no-repeat; background-position: center; }

.bh-about__visual { position: relative; display: flex; flex-direction: column; gap: 28px; }

/* Bild mit dekorativen Formen dahinter */
.bh-about__hero {
    position: relative;
    padding: 24px 24px 28px 0;
}
.bh-about__shape {
    position: absolute;
    border-radius: var(--bh-radius-lg);
    z-index: 0;
    pointer-events: none;
}
/* Hauptform: gefüllter Block, oben rechts versetzt */
.bh-about__shape:not(.bh-about__shape--accent) {
    top: 0;
    right: 0;
    width: 60%;
    height: 70%;
    background: linear-gradient(135deg, var(--bh-rot) 0%, var(--bh-rot-hell) 100%);
    opacity: 0.18;
    filter: blur(1px);
}
/* Akzent: Outline-Rahmen, unten links versetzt */
.bh-about__shape--accent {
    bottom: 0;
    left: 0;
    width: 55%;
    height: 60%;
    background: transparent;
    border: 2px solid var(--bh-rot);
    opacity: 0.4;
}
.bh-about__image {
    position: relative;
    z-index: 1;
    border-radius: var(--bh-radius-lg);
    overflow: hidden;
    box-shadow: var(--bh-shadow-lg);
    aspect-ratio: 4 / 3;
    transition: transform 0.5s var(--bh-ease);
    will-change: transform;
}
.bh-about__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s var(--bh-ease);
}
.bh-about__image:hover {
    transform: rotate(-1.5deg);
}
.bh-about__image:hover img {
    transform: scale(1.04);
}

/* Founder-Karten */
.bh-founders {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.bh-founder {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px 22px;
    background: linear-gradient(145deg, var(--bh-weiss) 0%, #fbf8f4 100%);
    border-radius: var(--bh-radius);
    box-shadow: 0 6px 18px rgba(120, 22, 19, 0.06);
    border: 1px solid rgba(120, 22, 19, 0.08);
    text-decoration: none;
    color: var(--bh-dunkel);
    transition: transform 0.6s var(--bh-ease), box-shadow 0.6s var(--bh-ease), border-color 0.6s var(--bh-ease);
    will-change: transform;
    position: relative;
    overflow: hidden;
}
.bh-founder::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 100%;
    background: linear-gradient(180deg, var(--bh-rot) 0%, var(--bh-rot-hell) 100%);
    opacity: 0;
    transition: opacity 0.6s var(--bh-ease);
}
.bh-founder__img {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    background: var(--bh-grau-hell);
    transition: transform 0.6s var(--bh-ease);
    box-shadow: 0 4px 12px rgba(120, 22, 19, 0.15);
    border: 2px solid var(--bh-weiss);
}
.bh-founder__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.bh-founder__info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    flex: 1;
}
.bh-founder__label {
    font-size: 11px;
    font-weight: 700;
    color: var(--bh-rot);
    text-transform: uppercase;
    letter-spacing: 1.5px;
}
.bh-founder__name {
    font-weight: 800;
    font-size: 19px;
    color: var(--bh-dunkel);
    line-height: 1.1;
}
.bh-founder__role {
    font-size: 13px;
    color: var(--bh-grau);
    font-weight: 500;
}
.bh-founder__arrow {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(120, 22, 19, 0.08);
    color: var(--bh-rot);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.6s var(--bh-ease), transform 0.6s var(--bh-ease);
}
.bh-founder__arrow svg { width: 16px; height: 16px; }
/* Hover: Karte hebt sich, Bild kippt, Pfeil flutscht nach rechts */
.bh-founder:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 32px rgba(120, 22, 19, 0.12);
    border-color: rgba(120, 22, 19, 0.2);
}
.bh-founder:hover::before { opacity: 1; }
.bh-founder:hover .bh-founder__arrow {
    background: var(--bh-rot);
    color: var(--bh-weiss);
    transform: translateX(4px);
}
.bh-founder--left:hover .bh-founder__img {
    transform: rotate(-6deg) scale(1.06);
}
.bh-founder--right:hover .bh-founder__img {
    transform: rotate(6deg) scale(1.06);
}

/* PHOTO-STRIP-WRAP: Eigener Block mit Abstand nach oben/unten,
   Hintergrund passt zur umgebenden Sektion (creme oder weiß). */
.bh-photo-strip-wrap {
    padding: 64px 0;
    overflow: hidden;
    position: relative;
}
.bh-photo-strip-wrap--creme { background: var(--bh-creme); }
.bh-photo-strip-wrap--white { background: var(--bh-weiss); }

/* PHOTO-STRIP: Bildreihe, mittig zentriert, mit großem Abstand zum Bildschirmrand.
   Steht als eigener Block außerhalb von .bh-container, damit die volle Seitenbreite
   genutzt werden kann. */
.bh-photo-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 120px;
    max-width: 1920px;
    margin: 0 auto;
    box-sizing: border-box;
}
.bh-photo-strip__item {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    border-radius: 14px;
    box-shadow: 0 10px 28px rgba(120, 22, 19, 0.12);
    transition: transform 0.6s var(--bh-ease), box-shadow 0.6s var(--bh-ease);
    aspect-ratio: 4 / 3;
}
.bh-photo-strip__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.8s var(--bh-ease);
}
.bh-photo-strip__item:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 20px 40px rgba(120, 22, 19, 0.22);
    z-index: 2;
}
.bh-photo-strip__item:hover img { transform: scale(1.06); }

/* Versatz pro Item: unterschiedliche Höhenoffsets, Rotation, Größe */
.bh-photo-strip__item--s1 {
    flex-basis: 12%;
    transform: translateY(-18px) rotate(-2deg);
    aspect-ratio: 1 / 1;
}
.bh-photo-strip__item--s2 {
    flex-basis: 15%;
    transform: translateY(12px) rotate(1.5deg);
    aspect-ratio: 4 / 3;
}
.bh-photo-strip__item--s3 {
    flex-basis: 13%;
    transform: translateY(-8px) rotate(-1deg);
    aspect-ratio: 3 / 4;
}
.bh-photo-strip__item--s4 {
    flex-basis: 16%;
    transform: translateY(20px) rotate(2deg);
    aspect-ratio: 5 / 4;
}
.bh-photo-strip__item--s5 {
    flex-basis: 12%;
    transform: translateY(-14px) rotate(-1.5deg);
    aspect-ratio: 1 / 1;
}
.bh-photo-strip__item--s6 {
    flex-basis: 15%;
    transform: translateY(10px) rotate(1deg);
    aspect-ratio: 4 / 3;
}
.bh-photo-strip__item--s7 {
    flex-basis: 13%;
    transform: translateY(-12px) rotate(-2deg);
    aspect-ratio: 3 / 4;
}

/* Zweite Variante (leicht unterschiedlicher Rhythmus) */
.bh-photo-strip--alt .bh-photo-strip__item--s1 { flex-basis: 15%; transform: translateY(14px) rotate(1.5deg); aspect-ratio: 5 / 4; }
.bh-photo-strip--alt .bh-photo-strip__item--s2 { flex-basis: 12%; transform: translateY(-16px) rotate(-2deg); aspect-ratio: 1 / 1; }
.bh-photo-strip--alt .bh-photo-strip__item--s3 { flex-basis: 16%; transform: translateY(8px) rotate(1deg); aspect-ratio: 4 / 3; }
.bh-photo-strip--alt .bh-photo-strip__item--s4 { flex-basis: 12%; transform: translateY(-12px) rotate(-1.5deg); aspect-ratio: 1 / 1; }
.bh-photo-strip--alt .bh-photo-strip__item--s5 { flex-basis: 13%; transform: translateY(18px) rotate(2deg); aspect-ratio: 3 / 4; }
.bh-photo-strip--alt .bh-photo-strip__item--s6 { flex-basis: 14%; transform: translateY(-10px) rotate(-1deg); aspect-ratio: 4 / 3; }
.bh-photo-strip--alt .bh-photo-strip__item--s7 { flex-basis: 13%; transform: translateY(14px) rotate(1.5deg); aspect-ratio: 5 / 4; }

@media (max-width: 1200px) {
    .bh-photo-strip { padding: 20px 60px; gap: 14px; }
}
@media (max-width: 900px) {
    .bh-photo-strip { padding: 20px 30px; gap: 10px; }
}
@media (max-width: 768px) {
    .bh-photo-strip {
        padding: 20px;
        gap: 8px;
        flex-wrap: wrap;
        justify-content: center;
    }
    .bh-photo-strip__item { transform: none !important; flex-basis: 22%; }
    .bh-photo-strip-wrap { padding: 40px 0; }
}

/* PROBLEM */
.bh-section--problem { background: var(--bh-rot-dunkel); color: var(--bh-weiss); overflow: hidden; }
.bh-section--problem::before { content: ''; position: absolute; inset: 0; background-image: radial-gradient(circle at 20% 30%, rgba(255,255,255,0.07) 0%, transparent 45%), radial-gradient(circle at 80% 70%, rgba(0,0,0,0.15) 0%, transparent 50%); pointer-events: none; z-index: 1; }
.bh-section--problem .bh-container { position: relative; z-index: 2; }
.bh-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.bh-card {
    background: linear-gradient(145deg, rgba(255,255,255,0.12) 0%, rgba(255,255,255,0.05) 100%);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: var(--bh-radius-lg);
    padding: 36px 32px;
    transition: all 0.6s var(--bh-ease);
    position: relative;
    overflow: hidden;
    box-shadow: 0 12px 32px rgba(0,0,0,0.18);
}
.bh-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,0.18) 0%, transparent 60%);
    opacity: 0;
    transition: opacity 0.6s var(--bh-ease);
    pointer-events: none;
}
.bh-card::after {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 3px;
    background: linear-gradient(90deg, var(--bh-weiss) 0%, rgba(255,255,255,0.3) 100%);
    opacity: 0;
    transition: opacity 0.6s var(--bh-ease);
}
.bh-card:hover {
    transform: translateY(-8px);
    border-color: rgba(255,255,255,0.4);
    box-shadow: 0 24px 48px rgba(0,0,0,0.32);
    background: linear-gradient(145deg, rgba(255,255,255,0.16) 0%, rgba(255,255,255,0.08) 100%);
}
.bh-card:hover::before { opacity: 1; }
.bh-card:hover::after { opacity: 1; }
.bh-card > * { position: relative; z-index: 1; }
.bh-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 22px;
}
.bh-card__num {
    font-size: 56px;
    font-weight: 900;
    line-height: 1;
    opacity: 0.25;
    letter-spacing: -0.015em;
    margin: 0;
}
.bh-card__icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: rgba(255,255,255,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--bh-weiss);
    flex-shrink: 0;
    transition: transform 0.6s var(--bh-ease-bounce), background 0.4s var(--bh-ease);
}
.bh-card__icon svg { width: 24px; height: 24px; }
.bh-card:hover .bh-card__icon {
    transform: rotate(-6deg) scale(1.08);
    background: rgba(255,255,255,0.25);
}
.bh-card__title { font-size: 22px; font-weight: 800; margin: 0 0 14px; line-height: 1.25; color: var(--bh-weiss); }
.bh-card__text { font-size: 15px; opacity: 0.88; line-height: 1.65; margin: 0; color: var(--bh-weiss); }

.bh-section--truth {
    background:
        radial-gradient(circle at 90% 10%, rgba(120, 22, 19, 0.06) 0%, transparent 50%),
        radial-gradient(circle at 10% 90%, rgba(120, 22, 19, 0.04) 0%, transparent 50%),
        var(--bh-creme);
    padding: 100px 0;
    position: relative;
    overflow: hidden;
}
.bh-section--truth::before {
    content: '';
    position: absolute;
    top: 0;
    right: -100px;
    width: 400px;
    height: 400px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none' stroke='%23781613' stroke-width='1.2' opacity='0.08'%3E%3Ccircle cx='100' cy='100' r='90'/%3E%3Ccircle cx='100' cy='100' r='65'/%3E%3Ccircle cx='100' cy='100' r='40'/%3E%3Cpath d='M100,10 L100,190 M10,100 L190,100 M30,30 L170,170 M170,30 L30,170'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
}
.bh-truth { max-width: 1100px; margin: 0 auto; text-align: center; position: relative; z-index: 1; }
.bh-truth__quote {
    position: relative;
    padding: 0 20px;
    margin: 28px 0 48px;
}
.bh-truth__quote-mark {
    width: 64px;
    height: 64px;
    margin: 0 auto 18px;
    display: block;
    fill: var(--bh-rot);
    opacity: 0.18;
}
.bh-truth__headline {
    font-size: clamp(28px, 4.2vw, 44px);
    line-height: 1.2;
    letter-spacing: -0.01em;
    margin: 0;
}
.bh-truth__hl {
    background: linear-gradient(120deg, var(--bh-rot) 0%, var(--bh-rot-hell) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-weight: 900;
}
.bh-truth__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-top: 16px;
    text-align: left;
}
.bh-truth__col p { margin: 0; }
.bh-truth__col em { font-style: italic; color: var(--bh-rot); font-weight: 600; }
.bh-truth__cta {
    margin-top: 48px;
    padding: 36px 40px;
    background: linear-gradient(135deg, rgba(120, 22, 19, 0.06) 0%, rgba(120, 22, 19, 0.02) 100%);
    border: 1px solid rgba(120, 22, 19, 0.12);
    border-radius: var(--bh-radius-lg);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    flex-wrap: wrap;
    text-align: left;
}
.bh-truth__cta-text {
    font-size: 18px;
    font-weight: 600;
    color: var(--bh-dunkel);
    margin: 0;
    flex: 1;
    min-width: 260px;
    line-height: 1.4;
}
.bh-btn--large { padding: 18px 36px; font-size: 17px; }

.bh-section--leistungen {
    background: var(--bh-weiss);
    position: relative;
    overflow: hidden;
}
.bh-section--leistungen::before {
    content: '';
    position: absolute;
    bottom: -80px;
    left: -80px;
    width: 320px;
    height: 320px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none' stroke='%23781613' stroke-width='1' opacity='0.08'%3E%3Cpath d='M100,20 C140,20 170,50 170,90 C170,140 100,180 100,180 C100,180 30,140 30,90 C30,50 60,20 100,20 Z'/%3E%3Cpath d='M85,80 L115,80 L115,110 L85,110 Z'/%3E%3Cline x1='100' y1='80' x2='100' y2='30'/%3E%3Cpath d='M100,30 L130,45 L100,55'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}
.bh-section--leistungen .bh-container { position: relative; z-index: 1; }
.bh-leistungen { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.bh-leistung {
    background: var(--bh-creme);
    border-radius: var(--bh-radius-lg);
    padding: 36px 32px;
    transition: background 0.4s var(--bh-ease);
    position: relative;
    overflow: hidden;
}
.bh-leistung:not(.bh-leistung--hero):hover { background: #efe9e2; }

/* Hero-Karte: zweispaltig mit Bild rechts */
.bh-leistung--hero {
    grid-column: span 3;
    background: linear-gradient(135deg, var(--bh-rot) 0%, var(--bh-rot-hell) 60%, var(--bh-rot-dunkel) 100%);
    color: var(--bh-weiss);
    padding: 0;
    border: none;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    min-height: 380px;
    overflow: hidden;
    position: relative;
}
.bh-leistung--hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 20% 20%, rgba(255,255,255,0.1) 0%, transparent 40%),
        radial-gradient(circle at 80% 80%, rgba(0,0,0,0.15) 0%, transparent 40%);
    pointer-events: none;
    z-index: 1;
}
.bh-leistung--hero::after { display: none; }
.bh-leistung__hero-content {
    padding: 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    z-index: 2;
}
.bh-leistung--hero h3 { font-size: 28px; color: var(--bh-weiss); margin: 0 0 14px; line-height: 1.2; }
.bh-leistung--hero p { color: rgba(255,255,255,0.92); margin: 0 0 24px; font-size: 16px; line-height: 1.65; }
.bh-leistung__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 10px;
}
.bh-leistung__list li {
    position: relative;
    padding-left: 28px;
    font-size: 14px;
    font-weight: 600;
    color: rgba(255,255,255,0.95);
}
.bh-leistung__list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    top: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: rgba(255,255,255,0.18);
    color: var(--bh-weiss);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 900;
}
.bh-leistung__hero-media {
    position: relative;
    overflow: hidden;
    min-height: 320px;
}
.bh-leistung__hero-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s var(--bh-ease);
}
.bh-leistung--hero:hover .bh-leistung__hero-media img {
    transform: scale(1.04);
}
.bh-leistung__hero-badge {
    position: absolute;
    bottom: 24px;
    right: 24px;
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(8px);
    color: var(--bh-rot);
    padding: 10px 18px;
    border-radius: 100px;
    font-size: 13px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.18);
    z-index: 2;
}
.bh-leistung--hero:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 40px rgba(120, 22, 19, 0.3);
}

.bh-leistung__icon {
    display: flex;
    align-items: center;
    color: var(--bh-rot);
    margin-bottom: 20px;
}
.bh-leistung__icon svg { width: 34px; height: 34px; }
.bh-leistung--hero .bh-leistung__icon {
    color: var(--bh-weiss);
    margin-bottom: 22px;
}
.bh-leistung--hero .bh-leistung__icon svg { width: 32px; height: 32px; }
.bh-leistung__title { font-size: 20px; font-weight: 800; margin: 0 0 12px; color: var(--bh-dunkel); }
.bh-leistung p { font-size: 15px; color: var(--bh-grau); margin: 0; line-height: 1.6; }
.bh-leistung--hero p { color: rgba(255,255,255,0.92); }

.bh-section--ablauf { background: var(--bh-rot); color: var(--bh-weiss); overflow: hidden; }
.bh-section--ablauf::before { content: ''; position: absolute; inset: 0; background-image: radial-gradient(circle at 80% 20%, rgba(255,255,255,0.08) 0%, transparent 55%), radial-gradient(circle at 20% 80%, rgba(0,0,0,0.15) 0%, transparent 50%); pointer-events: none; z-index: 1; }
.bh-ablauf__bg-img {
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
    opacity: 0.18;
    mix-blend-mode: screen;
    -webkit-mask-image: linear-gradient(to left, rgba(0,0,0,1) 30%, rgba(0,0,0,0) 100%);
    mask-image: linear-gradient(to left, rgba(0,0,0,1) 30%, rgba(0,0,0,0) 100%);
}
.bh-ablauf__bg-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.bh-section--ablauf .bh-container { position: relative; z-index: 2; }
.bh-steps { max-width: 900px; margin: 0 auto; position: relative; }
.bh-steps::before { content: ''; position: absolute; left: 44px; top: 50px; bottom: 50px; width: 2px; background: rgba(255,255,255,0.2); }
.bh-step { display: flex; gap: 32px; align-items: flex-start; padding: 24px 0; position: relative; }
.bh-step__num { flex-shrink: 0; width: 88px; height: 88px; background: var(--bh-weiss); color: var(--bh-rot); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 28px; font-weight: 900; box-shadow: 0 8px 24px rgba(0,0,0,0.25); position: relative; z-index: 2; transition: transform 0.5s var(--bh-ease); }
.bh-step:hover .bh-step__num { transform: scale(1.08) rotate(-5deg); }
.bh-step__content { flex: 1; padding-top: 18px; }
.bh-step__content h3 { font-size: 24px; font-weight: 800; margin: 0 0 10px; color: var(--bh-weiss); }
.bh-step__content p { font-size: 16px; line-height: 1.65; opacity: 0.85; margin: 0; color: var(--bh-weiss); }

.bh-section--benefits {
    background: var(--bh-creme);
    position: relative;
    overflow: hidden;
}
.bh-section--benefits::before {
    content: '';
    position: absolute;
    top: 40px;
    right: -100px;
    width: 360px;
    height: 360px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none' stroke='%23781613' stroke-width='1.2' opacity='0.08'%3E%3Ccircle cx='100' cy='100' r='60'/%3E%3Ccircle cx='100' cy='100' r='40'/%3E%3Ccircle cx='100' cy='100' r='10' fill='%23781613'/%3E%3Cline x1='100' y1='20' x2='100' y2='180'/%3E%3Cline x1='20' y1='100' x2='180' y2='100'/%3E%3Cline x1='43' y1='43' x2='157' y2='157'/%3E%3Cline x1='157' y1='43' x2='43' y2='157'/%3E%3Ccircle cx='100' cy='20' r='4' fill='%23781613'/%3E%3Ccircle cx='100' cy='180' r='4' fill='%23781613'/%3E%3Ccircle cx='20' cy='100' r='4' fill='%23781613'/%3E%3Ccircle cx='180' cy='100' r='4' fill='%23781613'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}
.bh-section--benefits .bh-container { position: relative; z-index: 1; }
.bh-benefits { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.bh-benefit {
    text-align: center;
    border-radius: var(--bh-radius-lg);
    background: var(--bh-weiss);
    transition: all 0.6s var(--bh-ease);
    border: 2px solid transparent;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.bh-benefit:hover { transform: translateY(-6px); border-color: var(--bh-rot); box-shadow: var(--bh-shadow-lg); }
.bh-benefit__media {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--bh-grau-hell);
}
.bh-benefit__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s var(--bh-ease);
}
.bh-benefit__media::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 50%, rgba(120, 22, 19, 0.18) 100%);
    pointer-events: none;
}
.bh-benefit:hover .bh-benefit__media img { transform: scale(1.06); }
.bh-benefit__body { padding: 32px 24px 36px; }
.bh-benefit__icon { font-size: 40px; margin-bottom: 16px; display: inline-block; transition: transform 0.6s var(--bh-ease-bounce); }
.bh-benefit:hover .bh-benefit__icon { transform: scale(1.15) rotate(-8deg); }
.bh-benefit h3 { font-size: 20px; font-weight: 800; margin: 0 0 14px; color: var(--bh-dunkel); }
.bh-benefit p { font-size: 15px; color: var(--bh-grau); margin: 0; line-height: 1.65; }

.bh-section--referenzen {
    background: var(--bh-weiss);
    position: relative;
    overflow: hidden;
}
.bh-section--referenzen::before {
    content: '';
    position: absolute;
    bottom: 60px;
    left: -80px;
    width: 320px;
    height: 320px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none' stroke='%23781613' stroke-width='1.2' opacity='0.08'%3E%3Ccircle cx='100' cy='50' r='10'/%3E%3Cline x1='100' y1='60' x2='100' y2='155'/%3E%3Cline x1='75' y1='85' x2='125' y2='85'/%3E%3Cpath d='M60,130 Q60,165 100,165 Q140,165 140,130'/%3E%3Cline x1='100' y1='155' x2='100' y2='180'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}
.bh-section--referenzen .bh-container { position: relative; z-index: 1; }

/* CTA-Strip zwischen Benefits und Referenzen */
.bh-cta-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    flex-wrap: wrap;
    padding: 40px 48px;
    margin-bottom: 80px;
    background: linear-gradient(135deg, var(--bh-rot) 0%, var(--bh-rot-hell) 100%);
    border-radius: var(--bh-radius-lg);
    color: var(--bh-weiss);
    position: relative;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(120, 22, 19, 0.2);
}
.bh-cta-strip::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 15% 20%, rgba(255,255,255,0.14) 0%, transparent 45%),
        radial-gradient(circle at 85% 80%, rgba(0,0,0,0.12) 0%, transparent 45%);
    pointer-events: none;
}
.bh-cta-strip > * { position: relative; z-index: 1; }
.bh-cta-strip__content { flex: 1; min-width: 280px; }
.bh-cta-strip__kicker {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    opacity: 0.85;
    margin-bottom: 8px;
}
.bh-cta-strip__title {
    font-size: clamp(22px, 2.6vw, 28px);
    font-weight: 800;
    line-height: 1.25;
    margin: 0;
    color: var(--bh-weiss);
}
.bh-cta-strip .bh-btn {
    flex-shrink: 0;
}
.bh-refs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.bh-ref { background: var(--bh-creme); border-radius: var(--bh-radius-lg); overflow: hidden; cursor: pointer; transition: all 0.6s var(--bh-ease); box-shadow: var(--bh-shadow-sm); }
.bh-ref[data-bh-video]:hover { transform: translateY(-6px); box-shadow: var(--bh-shadow-lg); }
.bh-ref__media { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--bh-dunkel); }
.bh-ref__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--bh-ease); }
.bh-ref:hover .bh-ref__media img { transform: scale(1.06); }
.bh-ref__placeholder { width: 100%; height: 100%; background: linear-gradient(135deg, var(--bh-rot-dunkel) 0%, var(--bh-rot) 100%); }
.bh-ref__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,0.75) 100%); pointer-events: none; }
.bh-ref__play { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 72px; height: 72px; background: var(--bh-weiss); border: none; border-radius: 50%; color: var(--bh-rot); cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 24px rgba(0,0,0,0.35); transition: all 0.5s var(--bh-ease-bounce); z-index: 2; }
.bh-ref__play svg { width: 32px; height: 32px; margin-left: 4px; }
.bh-ref:hover .bh-ref__play { transform: translate(-50%, -50%) scale(1.15); background: var(--bh-rot); color: var(--bh-weiss); }
.bh-ref__meta-overlay { position: absolute; bottom: 16px; left: 16px; right: 16px; display: flex; gap: 10px; z-index: 2; }
.bh-ref__year, .bh-ref__ort { background: rgba(120, 22, 19, 0.95); color: var(--bh-weiss); padding: 6px 12px; border-radius: 100px; font-size: 12px; font-weight: 700; letter-spacing: 0.5px; backdrop-filter: blur(8px); }
.bh-ref__ort { background: rgba(255,255,255,0.95); color: var(--bh-rot); }
.bh-ref__body { padding: 24px 28px 28px; }
.bh-ref__title { font-size: 19px; font-weight: 800; margin: 0 0 8px; color: var(--bh-dunkel); line-height: 1.3; }
.bh-ref__text { font-size: 14px; color: var(--bh-grau); margin: 0; line-height: 1.6; }

.bh-modal { position: fixed; inset: 0; z-index: 1000; display: none; align-items: center; justify-content: center; padding: 20px; }
.bh-modal.is-open { display: flex; animation: bh-fade-in 0.3s var(--bh-ease); }
@keyframes bh-fade-in { from { opacity: 0; } to { opacity: 1; } }
.bh-modal__backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.88); backdrop-filter: blur(10px); }
.bh-modal__inner { position: relative; width: 100%; max-width: 960px; z-index: 1; }
.bh-modal__video { aspect-ratio: 16 / 9; background: #000; border-radius: var(--bh-radius-lg); overflow: hidden; }
.bh-modal__video iframe { width: 100%; height: 100%; border: none; }
.bh-modal__close { position: absolute; top: -48px; right: 0; background: transparent; border: none; color: var(--bh-weiss); font-size: 36px; cursor: pointer; line-height: 1; padding: 8px; transition: transform 0.6s; }
.bh-modal__close:hover { transform: rotate(90deg); }

.bh-section--faq {
    background: var(--bh-creme);
    position: relative;
    overflow: hidden;
}
.bh-section--faq::before {
    content: '';
    position: absolute;
    top: 80px;
    right: -120px;
    width: 420px;
    height: 420px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none' stroke='%23781613' stroke-width='1.2' opacity='0.07'%3E%3Cpath d='M0,90 Q25,70 50,90 T100,90 T150,90 T200,90'/%3E%3Cpath d='M0,110 Q25,90 50,110 T100,110 T150,110 T200,110'/%3E%3Cpath d='M0,130 Q25,110 50,130 T100,130 T150,130 T200,130'/%3E%3Cpath d='M0,150 Q25,130 50,150 T100,150 T150,150 T200,150'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}
.bh-section--faq .bh-container { position: relative; z-index: 1; }
.bh-faq-wrap { max-width: 1100px; }
.bh-faq {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    align-items: start;
}
.bh-faq__item {
    background: var(--bh-weiss);
    border-radius: var(--bh-radius);
    overflow: hidden;
    border: 2px solid transparent;
    transition: border-color 0.5s var(--bh-ease), box-shadow 0.5s var(--bh-ease);
}
.bh-faq__item:hover { border-color: var(--bh-grau-hell); }
.bh-faq__item.is-open { border-color: var(--bh-rot); box-shadow: var(--bh-shadow); }
.bh-faq__question {
    width: 100%;
    padding: 20px 24px;
    font-size: 16px;
    font-weight: 700;
    color: var(--bh-dunkel);
    cursor: pointer;
    background: transparent;
    border: none;
    outline: none;
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    transition: color 0.5s var(--bh-ease), background-color 0.5s var(--bh-ease);
    font-family: var(--bh-font);
    -webkit-tap-highlight-color: transparent;
    -webkit-appearance: none;
    appearance: none;
}
.bh-faq__question:hover,
.bh-faq__question:focus,
.bh-faq__question:focus-visible,
.bh-faq__question:active {
    color: var(--bh-rot);
    background-color: rgba(120, 22, 19, 0.04);
    outline: none;
}
.bh-faq__item:hover .bh-faq__question { color: var(--bh-rot); }
.bh-faq__question::after {
    content: '+';
    font-size: 28px;
    font-weight: 400;
    color: var(--bh-rot);
    transition: transform 0.5s var(--bh-ease);
    flex-shrink: 0;
    line-height: 1;
}
.bh-faq__item.is-open .bh-faq__question::after { transform: rotate(45deg); }
.bh-faq__item.is-open .bh-faq__question { color: var(--bh-rot); }
.bh-faq__answer-wrap {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.5s var(--bh-ease);
}
.bh-faq__item.is-open .bh-faq__answer-wrap {
    grid-template-rows: 1fr;
}
.bh-faq__answer-inner { overflow: hidden; }
.bh-faq__answer { padding: 0 24px 22px; }
.bh-faq__answer p { margin: 0; font-size: 15px; line-height: 1.7; color: var(--bh-grau); }

@media (max-width: 768px) {
    .bh-faq { grid-template-columns: 1fr; }
}

.bh-section--kontakt { background: var(--bh-rot-dunkel); color: var(--bh-weiss); overflow: hidden; }
.bh-section--kontakt::before { content: ''; position: absolute; inset: 0; background-image: radial-gradient(circle at 20% 30%, rgba(255,255,255,0.07) 0%, transparent 45%), radial-gradient(circle at 80% 70%, rgba(0,0,0,0.15) 0%, transparent 50%); pointer-events: none; z-index: 1; }
.bh-kontakt__bg-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
    opacity: 0.18;
    mix-blend-mode: screen;
    -webkit-mask-image: linear-gradient(to right, rgba(0,0,0,1) 30%, rgba(0,0,0,0) 100%);
    mask-image: linear-gradient(to right, rgba(0,0,0,1) 30%, rgba(0,0,0,0) 100%);
}
.bh-kontakt__bg-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.bh-section--kontakt .bh-container { position: relative; z-index: 2; }
.bh-contact-info {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 40px;
}
.bh-contact-card {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 18px 22px;
    background: rgba(255,255,255,0.08);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 16px;
    color: var(--bh-weiss);
    text-decoration: none;
    transition: background 0.6s var(--bh-ease), border-color 0.4s var(--bh-ease), transform 0.4s var(--bh-ease);
}
.bh-contact-card--link:hover {
    background: rgba(255,255,255,0.14);
    border-color: rgba(255,255,255,0.3);
    transform: translateX(4px);
}
.bh-contact-card__icon {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: rgba(255,255,255,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--bh-weiss);
    flex-shrink: 0;
}
.bh-contact-card__icon svg { width: 22px; height: 22px; }
.bh-contact-card__team-imgs {
    position: relative;
    display: flex;
    flex-shrink: 0;
    width: 70px;
    height: 46px;
}
.bh-contact-card__team-imgs img {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--bh-rot-dunkel);
    position: absolute;
    top: 0;
}
.bh-contact-card__team-imgs img:nth-child(1) { left: 0; z-index: 2; }
.bh-contact-card__team-imgs img:nth-child(2) { left: 24px; z-index: 1; }
.bh-contact-card__body {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.bh-contact-card__label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.8px;
    opacity: 0.7;
    font-weight: 700;
}
.bh-contact-card__value {
    font-size: 16px;
    font-weight: 600;
    color: var(--bh-weiss);
}
.bh-contact-card--team .bh-contact-card__value { font-size: 17px; }

.bh-form-wrap { background: var(--bh-weiss); border-radius: var(--bh-radius-lg); padding: 48px 40px; box-shadow: var(--bh-shadow-lg); color: var(--bh-dunkel); position: relative; z-index: 1; }
.bh-form { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.bh-form__row { display: flex; flex-direction: column; gap: 6px; }
.bh-form__row--full { grid-column: 1 / -1; }
.bh-form label { font-size: 13px; font-weight: 700; color: var(--bh-dunkel); letter-spacing: 0.3px; }
.bh-form input[type="text"], .bh-form input[type="email"], .bh-form input[type="tel"], .bh-form input[type="url"], .bh-form textarea { width: 100%; padding: 14px 16px; border: 2px solid var(--bh-grau-hell); border-radius: 10px; font-family: var(--bh-font); font-size: 15px; background: var(--bh-creme-warm); color: var(--bh-dunkel); transition: all 0.6s var(--bh-ease); }
.bh-form input:focus, .bh-form textarea:focus { outline: none; border-color: var(--bh-rot); background: var(--bh-weiss); box-shadow: 0 0 0 4px rgba(120, 22, 19, 0.08); }
.bh-form textarea { resize: vertical; min-height: 120px; font-family: var(--bh-font); }
.bh-form__row--check { margin-top: 8px; }
.bh-check { display: flex; align-items: flex-start; gap: 12px; font-size: 13px; font-weight: 500; color: var(--bh-grau); cursor: pointer; line-height: 1.5; }
.bh-check input[type="checkbox"] { margin-top: 2px; accent-color: var(--bh-rot); width: 18px; height: 18px; flex-shrink: 0; }
.bh-form__status { grid-column: 1 / -1; min-height: 0; font-size: 14px; font-weight: 600; }
.bh-form__status.is-success { padding: 14px 18px; background: #e6f4ea; color: #1e6b32; border-radius: 10px; border-left: 4px solid #1e6b32; }
.bh-form__status.is-error { padding: 14px 18px; background: #fdecea; color: #a32319; border-radius: 10px; border-left: 4px solid #a32319; }
.bh-hp { position: absolute; left: -9999px; opacity: 0; pointer-events: none; }

.bh-footer { background: var(--bh-rot-tief); color: rgba(255,255,255,0.8); padding: 60px 0 0; }
.bh-footer__inner { display: grid; grid-template-columns: 1fr auto auto; gap: 48px; align-items: start; padding-bottom: 48px; }
.bh-footer__brand img { height: 40px; width: auto; margin-bottom: 16px; display: block; }
.bh-footer__brand p { font-size: 14px; line-height: 1.6; margin: 0; }
.bh-footer__nav, .bh-footer__legal { display: flex; flex-direction: column; gap: 10px; }
.bh-footer a { color: rgba(255,255,255,0.75); text-decoration: none; font-size: 14px; transition: color 0.6s; }
.bh-footer a:hover { color: var(--bh-weiss); }
.bh-footer__bottom { border-top: 1px solid rgba(255,255,255,0.12); padding: 20px 0; font-size: 13px; opacity: 0.6; }

@media (max-width: 1024px) {
    .bh-grid-2 { grid-template-columns: 1fr; gap: 48px; }
    .bh-cards, .bh-leistungen, .bh-benefits, .bh-refs { grid-template-columns: repeat(2, 1fr); }
    .bh-leistung--hero { grid-column: span 2; grid-template-columns: 1fr; min-height: 0; }
    .bh-leistung__hero-media { min-height: 280px; aspect-ratio: 16 / 9; }
    .bh-leistung__hero-content { padding: 36px; }
    .bh-ablauf__bg-img, .bh-kontakt__bg-img { width: 100%; opacity: 0.08; -webkit-mask-image: none; mask-image: none; }
    .bh-truth__grid { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 900px) {
}
@media (max-width: 768px) {
    .bh-section { padding: 80px 0 140px; }
    .bh-container { padding: 0 20px; }
    .bh-section__head { margin-bottom: 48px; }
    .bh-hero { padding: 120px 0 180px; }
    .bh-hero__scroll { display: none; }
    .bh-hero__cta { flex-direction: column; }
    .bh-hero__cta .bh-btn { width: 100%; }
    .bh-cards, .bh-leistungen, .bh-benefits, .bh-refs { grid-template-columns: 1fr; }
    .bh-leistung--hero { grid-column: span 1; }
    .bh-leistung__hero-content { padding: 32px 24px; }
    .bh-leistung__hero-media { min-height: 220px; }
    .bh-leistung__hero-badge { bottom: 16px; right: 16px; padding: 8px 14px; font-size: 12px; }
    .bh-steps::before { left: 32px; }
    .bh-step { gap: 20px; }
    .bh-step__num { width: 64px; height: 64px; font-size: 20px; }
    .bh-step__content h3 { font-size: 20px; }
    .bh-form { grid-template-columns: 1fr; }
    .bh-form-wrap { padding: 32px 24px; }
    .bh-footer__inner { grid-template-columns: 1fr; gap: 32px; }
    .bh-founders { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
    .bh-hero__title { font-size: 32px; }
    .bh-h2 { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
    [data-bh-animate] { opacity: 1 !important; transform: none !important; }
}
/* ---- Ergänzungen Okt 2026 ---- */
.bh-founders--single { grid-template-columns: minmax(0, 320px); }
.bh-benefits--2 { grid-template-columns: repeat(2, 1fr); max-width: 980px; margin: 0 auto; }
.bh-benefits--2 .bh-benefit__body { text-align: left; padding: 32px 32px 36px; }
.bh-zg__list { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 10px; }
.bh-zg__list li { position: relative; padding-left: 26px; font-size: 15px; line-height: 1.5; color: var(--bh-dunkel); }
.bh-zg__list li::before {
    content: ''; position: absolute; left: 0; top: 6px; width: 14px; height: 8px;
    border-left: 2.5px solid var(--bh-rot); border-bottom: 2.5px solid var(--bh-rot); transform: rotate(-45deg);
}
@media (max-width: 768px) {
    .bh-benefits--2 { grid-template-columns: 1fr; }
}

/* ============================================================
   Pakete & Preise (Arbeitgeberseite)
   ============================================================ */
.bh-section--pakete { padding: 110px 0 170px; background: var(--bh-rot-dunkel); color: var(--bh-weiss); position: relative; overflow: hidden; }
.bh-section--pakete .bh-text--light a { color: var(--bh-weiss); text-decoration: underline; text-underline-offset: 3px; }
.bh-pakete { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; align-items: stretch; margin-top: 8px; }
.bh-paket {
	display: flex; flex-direction: column;
	background: var(--bh-weiss); color: var(--bh-dunkel);
	border-radius: var(--bh-radius-lg); padding: 36px 32px;
}
.bh-paket--accent { background: var(--bh-rot); color: var(--bh-weiss); }
.bh-paket__name { margin: 0 0 6px; font-size: 24px; font-weight: 800; color: inherit; }
.bh-paket__for { margin: 0 0 24px; font-size: 15px; opacity: 0.75; }
.bh-paket__price { margin: 0 0 24px; padding-bottom: 24px; border-bottom: 1px solid rgba(0,0,0,0.08); display: flex; flex-direction: column; gap: 2px; }
.bh-paket--accent .bh-paket__price { border-color: rgba(255,255,255,0.2); }
.bh-paket__price strong { font-size: 34px; font-weight: 800; line-height: 1.1; letter-spacing: -0.01em; }
.bh-paket__price span { font-size: 14px; opacity: 0.7; }
.bh-paket__pre { margin: 0 0 12px; font-size: 14px; font-weight: 700; }
.bh-paket__list { list-style: none; margin: 0 0 32px; padding: 0; display: grid; gap: 12px; flex: 1; align-content: start; }
.bh-paket__list li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.45; }
.bh-paket__list .bh-ico { width: 18px; height: 18px; margin-top: 2px; color: var(--bh-rot); stroke-width: 2.4; }
.bh-paket--accent .bh-paket__list .bh-ico { color: var(--bh-weiss); }
.bh-paket__btn { width: 100%; }
.bh-pakete__note { margin: 28px 0 0; font-size: 14px; opacity: 0.75; text-align: center; }

/* Paketauswahl im Kontaktformular */
.bh-paketwahl { border: 0; margin: 0; padding: 0; min-width: 0; }
.bh-paketwahl legend { padding: 0; margin-bottom: 8px; font-size: 13px; font-weight: 700; letter-spacing: 0.3px; color: var(--bh-dunkel); }
.bh-paketwahl__opts { display: flex; flex-wrap: wrap; gap: 8px; }
.bh-paketwahl label { position: relative; cursor: pointer; margin: 0; }
.bh-paketwahl input { position: absolute; opacity: 0; pointer-events: none; }
.bh-paketwahl span {
	display: inline-block; padding: 9px 16px; border-radius: 999px;
	background: var(--bh-creme); color: var(--bh-dunkel);
	font-size: 14px; font-weight: 600; transition: background 0.3s ease, color 0.3s ease;
}
.bh-paketwahl label:hover span { background: #ebe5de; }
.bh-paketwahl input:checked + span { background: var(--bh-rot); color: var(--bh-weiss); }
.bh-paketwahl input:focus-visible + span { outline: 2px solid var(--bh-rot); outline-offset: 2px; }

@media (max-width: 1000px) {
	.bh-pakete { grid-template-columns: 1fr; max-width: 520px; margin-left: auto; margin-right: auto; }
}
@media (max-width: 768px) {
	.bh-paket { padding: 28px 22px; }
	.bh-section--pakete { padding: 72px 0 140px; }
}
