/* Beißwenger – additional sections only. No theme reset, fonts or framework. */
/* Zweifarbige Ueberschriften: zentrale Farben. Referenz ist "Vorher-Nachher" (Startseite), Werte aus der Avada-Palette. */
:root{--bw-heading-neutral:var(--awb-color6,#434549);--bw-heading-accent:var(--awb-custom_color_4,#009e28);--bw-heading-neutral-light:var(--awb-color2,#f9f9fb);--bw-heading-accent-light:#a7e5b7;}
body .bw-section{--bw-dark:#304327;--bw-hover:#006922;--bw-orange:#ee7803;--bw-beige:#e7dcc9;color:#514f4b;font:18px/1.65 Akatab,Arial,sans-serif;min-width:0;box-sizing:border-box;}
.bw-section *,.bw-section *::before,.bw-section *::after{box-sizing:border-box;}
body .bw-section :is(h1,h2,h3){font-family:Parkinsans,Arial,sans-serif!important;font-weight:700!important;line-height:1.17!important;letter-spacing:-.035em;margin:0 0 24px!important;color:#575550;overflow-wrap:normal!important;word-break:normal;hyphens:manual;}
body .bw-section h1{font-size:clamp(32px,3.3vw,48px)!important;}
body .bw-section h2{font-size:clamp(30px,3.2vw,45px)!important;}
body .bw-section h3{font-size:clamp(24px,2.2vw,30px)!important;}
body .bw-section p{font:inherit!important;line-height:1.65!important;margin:0 0 20px!important;color:inherit;}
body .bw-section :is(h1,h2):has(> span){color:var(--bw-heading-neutral);}body .bw-section h2 span,body .bw-section h1 span{color:var(--bw-heading-accent);}
body .bw-section img{display:block;max-width:100%;height:auto;margin:0;border:0;box-shadow:none;}
body .bw-section a{color:inherit;text-decoration:none;}
body .bw-section button{font:inherit;cursor:pointer;}
.bw-section svg{display:block;flex-shrink:0;}
body .bw-section :is(a,button):focus-visible{outline:3px solid #006922!important;outline-offset:3px;box-shadow:0 0 0 5px white!important;}
body .bw-section .bw-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 26px;background:var(--bw-orange);color:#fff!important;font-weight:700;border:0;border-radius:0 24px 24px 24px;}
body .bw-section .bw-button:is(:hover,:focus-visible){background:var(--bw-hover)!important;color:white!important;}
/* Hero: occupies the remaining viewport below Avada's visible header. */
body .bw-hero{position:relative;isolation:isolate;overflow:hidden;min-height:max(500px,calc(100svh - var(--bw-header-height,109px)));background:#304327;color:white;}
.bw-hero>video,.bw-hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.bw-hero-shade{background:linear-gradient(90deg,#141617c2,#3043278a 42%,#1416172e);}
.bw-hero-copy{position:relative;min-height:inherit;max-width:960px;padding:70px clamp(24px,6vw,88px);display:flex;justify-content:center;flex-direction:column;}
body .bw-hero h1{font-size:clamp(36px,4.6vw,68px)!important;line-height:1.12!important;color:#fff!important;max-width:800px;text-shadow:0 3px 18px #0004;}
.bw-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;}
body .bw-hero .bw-secondary{color:#fff!important;border-bottom:1px solid #fff9;font-weight:700;}
.bw-secondary:hover{border-bottom-width:3px!important;}
body .bw-video-toggle{position:absolute;bottom:16px;right:16px;z-index:2;display:grid;place-items:center;width:36px;height:36px;padding:0;color:#fff;background:rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.4);border-radius:50%;opacity:.75;cursor:pointer;transition:opacity .2s,background-color .2s;}body .bw-video-toggle:hover,body .bw-video-toggle:focus-visible{opacity:1;background:rgba(0,0,0,.55);}body .bw-video-toggle:focus-visible{outline:2px solid #fff;outline-offset:2px;}body .bw-video-toggle svg{display:block;width:16px;height:16px;fill:currentColor;}body .bw-video-toggle .bw-icon-play,body .bw-video-toggle[aria-pressed="true"] .bw-icon-pause{display:none;}body .bw-video-toggle[aria-pressed="true"] .bw-icon-play{display:block;}
/* Team retains the approved images, wording and card style. */
.bw-team-section{max-width:1248px;margin:auto;padding:90px 24px 100px;}
.bw-team-intro{max-width:900px;margin:0 auto 50px;text-align:center;}
.bw-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;}
.bw-person-card{overflow:hidden;border-radius:0 40px 40px 40px;background:#f9f9fb;box-shadow:0 18px 32px #3043270d;}
.bw-person-card__image img{width:100%;height:390px!important;object-fit:cover;}
.bw-person-card__content{padding:30px 32px 34px;}
body .bw-person-card__content h3{margin-bottom:8px!important;}
.bw-person-card__role{color:#006922;font-weight:700;margin-bottom:16px;font-size:17px;}
/* Horizontal references: native touch scrolling; no forced snap after drag. */
.bw-references{position:relative;padding:45px 0 60px;}
.bw-rail{display:flex;gap:28px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-color:#00842b #e7e7e7;scrollbar-width:thin;padding:0 24px 18px;cursor:grab;touch-action:pan-x pan-y;scroll-behavior:auto;}
.bw-rail.is-dragging{cursor:grabbing;user-select:none;}
.bw-project-card{position:relative;isolation:isolate;flex:0 0 min(970px,80vw);min-width:0;min-height:520px;border-radius:40px 0 40px 40px;overflow:hidden;background:#304327;display:flex;align-items:flex-end;}
.bw-project-card>img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;z-index:-2;pointer-events:none;}
.bw-project-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#000d,transparent);z-index:-1;}
.bw-project-card>div{padding:50px 72px 38px 40px;width:100%;color:white;}
body .bw-project-card h2{color:#fff!important;font-size:clamp(28px,3vw,42px)!important;}
body .bw-project-card p{color:white!important;margin:0!important;}
body .bw-project-open{position:absolute;bottom:0;right:0;display:grid;place-items:center;width:54px;height:54px;color:#fff!important;background:#00842b;}
.bw-rail-controls{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 0;}
body .bw-section :is(.bw-rail-controls,.bw-history-controls) button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #d4d3ca;border-radius:50%;background:#f4f0e7;color:#006922;padding:0;}
body .bw-section :is(.bw-rail-controls,.bw-history-controls) button:not(:disabled):is(:hover,:focus-visible),body .bw-project-open:is(:hover,:focus-visible){background:#006922;color:white!important;}
.bw-rail-controls button:disabled{opacity:.4;cursor:default;}
/* Project: copy alongside the gallery, a single semantic H1, no extra hero. */
.bw-project{max-width:1328px;margin:auto;padding:55px 24px 85px;}
body .bw-back{display:inline-flex;gap:12px;align-items:center;margin-bottom:35px;min-height:44px;border-bottom:1px solid #514f4b;}
body .bw-back:is(:hover,:focus-visible){color:#00551c;background:#f4f0e7;}
.bw-project-layout{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.4fr);gap:28px;align-items:start;}
.bw-project-copy{padding:28px;background:#304327;color:#f4f0e7;border-radius:0 28px 28px 28px;min-width:0;}
body .bw-project-copy h1{color:white!important;font-size:clamp(30px,2.8vw,38px)!important;}
.bw-project-copy small{display:block;color:#d9d0b3;font-size:13px;letter-spacing:.09em;text-transform:uppercase;margin-bottom:14px;}
body .bw-project-copy p{font-size:17px!important;}
.bw-gallery{display:flex;flex-direction:column;gap:12px;min-width:0;}
.bw-photo-row{display:flex;gap:12px;min-width:0;}
.bw-photo{display:block;overflow:hidden;border-radius:12px;min-width:0;cursor:zoom-in;}
.bw-photo img{width:100%;height:100%!important;object-fit:contain;}
.bw-photo:hover img{opacity:.94;}
/* Archive: originals remain complete, including certificates. */
.bw-history{padding:70px max(24px,calc((100% - 1200px)/2)) 90px;background:#f7f7f9;}
.bw-history article{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:center;margin-bottom:70px;scroll-margin-top:130px;}
.bw-history article:nth-child(even) figure{order:2;}
.bw-history-gallery{margin:0;padding:20px;min-width:0;background:#eeece5;border-radius:12px;}
.bw-history-photo{display:block;cursor:zoom-in;}
.bw-history-photo img{width:100%;max-height:650px;object-fit:contain;}
.bw-history-gallery.is-ready .bw-history-photo:not(.is-active){display:none;}
.bw-history-controls{display:none;gap:10px;justify-content:flex-end;margin-top:14px;}
.bw-history-gallery.is-ready .bw-history-controls{display:flex;}
.bw-thumbs{display:none;gap:10px;margin-top:12px;overflow-x:auto;}
.bw-history-gallery.is-ready .bw-thumbs{display:flex;}
body .bw-thumbs button{padding:4px;border:2px solid transparent;border-radius:8px;width:68px;height:52px;flex:0 0 68px;background:white;}
.bw-thumbs button[aria-pressed="true"]{border-color:#00842b;}
.bw-thumbs img{width:100%;height:100%!important;object-fit:contain;}
.bw-history-copy{background:white;border-radius:0 40px 40px 40px;padding:36px;}
body .bw-history-copy h2{margin-bottom:16px!important;}
body .bw-history-copy h3{font-size:24px!important;color:#00842b;}
/* Jobs and contact preserve Avada's actual forms. */
.bw-jobs{max-width:1248px;margin:auto;padding:80px 24px;}
.bw-jobs header{margin-bottom:46px;}
.bw-jobs article{padding:32px 0;border-top:1px solid #d8d8d8;}
.bw-jobs article small{color:#006922;font-weight:700;}
.bw-jobs article h3{margin-top:10px!important;}
.bw-jobs article a{display:inline-flex;align-items:center;gap:12px;color:#006922;font-weight:700;min-height:44px;}
.bw-jobs article a:hover{text-decoration:underline;}
.bw-jobs-family{padding:70px max(24px,calc((100% - 1200px)/2));background:#f7f7f9;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.bw-jobs-family>img{width:100%;border-radius:40px 0 40px 40px;}
.bw-contact-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:1248px;margin:auto;padding:70px 24px 50px;}
.bw-contact-photo{position:relative;isolation:isolate;min-height:520px;display:flex;align-items:center;color:#fff!important;}
.bw-contact-photo>img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;z-index:-2;}
.bw-contact-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000b,#0003);z-index:-1;}
.bw-contact-photo>div{width:min(1248px,100%);margin:auto;padding:60px 24px;}
body .bw-contact-photo h2{max-width:620px;color:white!important;}
.bw-contact-photo p{max-width:570px;}
.bw-contact-data h2{margin-bottom:35px!important;}
.bw-contact-data>a{display:flex;gap:18px;align-items:center;margin:18px 0;}
.bw-contact-data i,.bw-jobs-mail i{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;font-style:normal;}
.bw-contact-data .bw-pin{background:#304327;color:white;border-radius:50%;}
.bw-contact-data small{display:block;font-size:15px;color:#666;}
.bw-contact-data strong{font-size:23px;font-weight:500;overflow-wrap:anywhere;}
.bw-contact-data a:hover{color:#00551c!important;background:#f4f0e7;text-decoration:underline;}
.bw-jobs-mail{color:white!important;}
body .bw-jobs-mail h3{color:inherit!important;}
.bw-jobs-mail a{display:flex;gap:15px;align-items:center;overflow-wrap:anywhere;min-height:48px;}
.bw-jobs-mail a:hover{color:#00551c!important;background:#f4f0e7;}
/* Opt-in classes assigned in Avada; no row-number targeting. */
body .bw-footer,body .bw-footer .fusion-fullwidth{background:#fff!important;--awb-background-color:#fff!important;color:#141617!important;}
body .bw-footer :is(p,span){color:#141617!important;}
body .bw-footer a,body .bw-footer a span{color:#b95700!important;}
body .bw-footer a:hover,body .bw-footer a:hover span{color:#8a3c00!important;text-decoration:underline;}
body .bw-form-panel>.fusion-column-wrapper{background:#5c5951!important;border-radius:0 40px 40px 40px;padding:40px!important;}
body .bw-form-panel :is(label,legend,p){color:white!important;}
body .bw-form-panel h2{color:var(--bw-heading-neutral-light)!important;}body .bw-form-panel h2 span{color:var(--bw-heading-accent-light)!important;}
body .bw-form-panel :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]),textarea,select){color:#304327!important;background:#f4f0e7!important;border:1px solid #8b856f!important;}
body .bw-form-panel a{color:#fff!important;}
body .bw-form-panel .fusion-form-checkbox{display:flex;align-items:flex-start;gap:10px;}
body .bw-form-panel .fusion-form-checkbox label{margin:0!important;}
body .bw-form-panel button[type=submit]{background:#ee7803!important;color:#fff!important;}
body :is(.bw-form-panel,.bw-buttons) :is(.fusion-button,button[type=submit]):is(:hover,:focus-visible),body .bw-form-panel button[type=submit]:is(:hover,:focus-visible) span{background:#006922!important;color:#fff!important;}
body .bw-buttons .fusion-button:is(:hover,:focus-visible) *{color:#fff!important;}
body .bw-start-form>.fusion-column-wrapper{background:#bfba9f!important;}
body .bw-start-form h2,body .bw-start-form h2 span{color:#009e28!important;}
body .bw-start-form button[type=submit]{background:#00842b!important;}
body .bw-native-contact a:is([href^="tel:"],[href^="mailto:"]):is(:hover,:focus-visible){color:#00551c!important;background:#f4f0e7!important;}
body .bw-tradition{margin-top:46px!important;}
body .bw-tradition .fusion-title-heading,body .bw-application .fusion-title-heading{overflow-wrap:normal!important;word-break:normal!important;hyphens:manual!important;}
/* Shared, keyboard-accessible original-image lightbox. */
body .bw-lightbox{position:fixed;inset:0;width:min(1280px,96vw);max-width:96vw;height:94dvh;max-height:94dvh;padding:18px;margin:auto;border:0;border-radius:18px;background:#f7f7f5;color:#304327;box-sizing:border-box;}
.bw-lightbox::backdrop{background:#172a1fed;}
.bw-lightbox header{display:flex;align-items:center;gap:20px;justify-content:space-between;min-height:48px;padding-bottom:12px;}
.bw-lightbox header span{font:18px/1.4 Akatab,Arial,sans-serif;}
.bw-lightbox-stage{height:calc(100% - 110px);overflow:auto;display:grid;place-items:center;}
.bw-lightbox-stage img{display:block;width:100%;height:100%;object-fit:contain;min-height:0;}
.bw-lightbox-stage.is-zoomed{display:block;}
.bw-lightbox-stage.is-zoomed img{max-width:none;width:auto;height:auto;object-fit:initial;}
.bw-lightbox-controls{display:flex;justify-content:center;gap:12px;padding-top:12px;}
.bw-lightbox button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:8px 14px;border:0;border-radius:24px;background:#304327;color:white;font:16px/1.2 Akatab,Arial,sans-serif;cursor:pointer;}
.bw-lightbox button:hover{background:#006922;}
.bw-lightbox button:focus-visible{outline:3px solid #006922;outline-offset:3px;}
@media(max-width:1000px){body .bw-tradition>.fusion-builder-row>.fusion-layout-column,body .bw-application>.fusion-builder-row>.fusion-layout-column{width:100%!important;--awb-width-large:100%!important;--awb-width-medium:100%!important;--awb-width-small:100%!important;}}
@media(max-width:900px){.bw-project-layout,.bw-jobs-family,.bw-contact-intro{grid-template-columns:1fr;gap:28px;}.bw-history article{grid-template-columns:1fr;gap:18px;}.bw-history article:nth-child(even) figure{order:0;}.bw-history-photo img{max-height:650px;}.bw-team-grid{grid-template-columns:1fr;}.bw-person-card__image img{height:430px!important;}.bw-project-copy h1{font-size:32px!important;}}
@media(max-width:600px){body .bw-section{font-size:17px;}.bw-team-section{padding:48px 20px;}.bw-person-card__image img{height:320px!important;}.bw-person-card__content{padding:26px 24px;}.bw-hero{min-height:max(480px,calc(100svh - var(--bw-header-height,86px)))!important;}.bw-hero-copy{padding:55px 24px 80px;}.bw-project-card{flex-basis:88vw;min-height:550px;}.bw-project-card>div{padding:30px 28px 70px;}.bw-rail{padding-inline:16px;gap:16px;}.bw-project{padding:24px 16px 24px;}.bw-project-copy{padding:24px;}.bw-photo-row,.bw-gallery{gap:10px;}.bw-history{padding:40px 16px;}.bw-history article{margin-bottom:32px;}.bw-history-gallery{padding:12px;}.bw-history-copy{padding:28px 24px;}.bw-history-photo img{max-height:520px;}.bw-contact-intro{padding:40px 24px 32px;}.bw-contact-photo{min-height:420px;}.bw-contact-data strong{font-size:20px;}.bw-lightbox{max-width:100vw;width:100vw;height:100dvh;max-height:100dvh;border-radius:0;padding:12px;}body .bw-form-panel>.fusion-column-wrapper{padding:26px!important;}}
@media(prefers-reduced-motion:reduce){.bw-section *{scroll-behavior:auto!important;transition:none!important;animation:none!important;}}
@media(max-width:600px){body .bw-section :is(h1,h2,h3){overflow-wrap:break-word!important;hyphens:auto!important;}body .bw-project-copy h1,body .bw-jobs-family h2{font-size:28px!important;}}

body .bw-application{position:relative;isolation:isolate;}
body .bw-application::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.35);pointer-events:none;z-index:0;}
body .bw-application>.fusion-builder-row{position:relative;z-index:1;}
body .bw-application>.fusion-builder-row>.fusion-layout-column:first-child .fusion-title-heading span{color:var(--bw-heading-accent-light)!important;}
/* Beige needs dark labels to remain readable. Dark contact panels keep white labels. */
body .bw-start-form :is(label,legend,p){color:#304327!important;}

/* Shared contact rows: identical on light and photographic backgrounds. */
:is(#bw-contact-priority#bw-contact-priority#bw-contact-priority,body) a.bw-contact-link{display:flex!important;align-items:center!important;gap:14px!important;width:100%!important;max-width:480px!important;min-height:64px!important;box-sizing:border-box!important;margin:12px 0!important;padding:10px 14px!important;border:1px solid #d6dfd1!important;border-radius:16px!important;background:#fff!important;color:#304327!important;text-decoration:none!important;box-shadow:none!important;font-family:Akatab,Arial,sans-serif!important;font-size:20px!important;font-weight:500!important;line-height:1.45!important;transition:background .18s,border-color .18s!important;}
:is(#bw-contact-priority#bw-contact-priority#bw-contact-priority,body) a.bw-contact-link .bw-contact-symbol{display:grid!important;place-items:center!important;flex:0 0 42px!important;width:42px!important;height:42px!important;border-radius:50%!important;background:#00842b!important;color:#fff!important;}
:is(#bw-contact-priority#bw-contact-priority#bw-contact-priority,body) a.bw-contact-link svg{display:block!important;width:23px!important;height:23px!important;color:inherit!important;}
:is(#bw-contact-priority#bw-contact-priority#bw-contact-priority,body) a.bw-contact-link .bw-contact-value{min-width:0!important;color:inherit!important;font:inherit!important;overflow-wrap:anywhere!important;word-break:normal!important;}
:is(#bw-contact-priority#bw-contact-priority#bw-contact-priority,body) a.bw-contact-link:hover,:is(#bw-contact-priority#bw-contact-priority#bw-contact-priority,body) a.bw-contact-link:focus-visible{background:#edf5e9!important;border-color:#00842b!important;color:#00551c!important;}
:is(#bw-contact-priority#bw-contact-priority#bw-contact-priority,body) a.bw-contact-link:focus-visible{outline:3px solid #00842b!important;outline-offset:3px!important;}
body .bw-contact-item{display:block!important;margin:0!important;padding:0!important;}
@media(max-width:600px){:is(#bw-contact-priority#bw-contact-priority#bw-contact-priority,body) a.bw-contact-link{font-size:18px!important;gap:12px!important;padding:10px 12px!important;}}
/* Einwilligungs-Checkbox der Avada-Formulare: dezent, Kaestchen auf Hoehe der ersten Zeile, Link in Textfarbe. */
body .fusion-form-checkbox > input[name="datenschutz[]"] + label{margin:0!important;font-size:14px!important;line-height:1.5!important;font-weight:400!important;}
body .fusion-form-checkbox > input[name="datenschutz[]"] + label::before,body .fusion-form-checkbox > input[name="datenschutz[]"]:checked + label::after{top:.75em!important;}
body .fusion-form-checkbox > input[name="datenschutz[]"] + label a{color:inherit!important;text-decoration:underline!important;}

/* Handy: einheitlicher vertikaler Rhythmus der Sektionen (ca. 48px je Kante). */
@media(max-width:600px){body .bw-references{padding:32px 0 48px}body .bw-jobs{padding:48px 24px}body .bw-jobs header{margin-bottom:28px}body .bw-jobs article{padding:24px 0}body .bw-jobs-family{padding:48px 24px}body .bw-contact-photo>div{padding:48px 24px}body .bw-tradition{margin-top:0!important}}
