/*
Theme Name: Divi Child by LBM-IT GmbH
Theme URI:
Description: Child Theme fuer Divi
Author: LBM-IT GmbH
Template: Divi
Version: 1.0.0
Text Domain: divi-child
*/
/* Eigenes CSS hier einfuegen */

/* ==========================================================
   Projekt: zink-architekten  
   Stand: 2026-08-13
   ========================================================== */

/* --- Design-Tokens (aus final/css/design.css, Look ATELIER) --- */
:root {
  --zinc-900:#0D1114; --zinc-700:#26303A; --zinc-500:#6C727B;
  --zinc-300:#98A1A8; --zinc-100:#E8E6E1; --brass:#DE9E45; --patina:#5C7C77;
  --bg:#0D1114; --bg-2:#12181D; --surface:#171F25;
  --text:#E8E6E1; --head:#F3F4F6; --muted:#98A1A8; --line:#26303A;
  --accent:#DE9E45; --amber:#DE9E45;
  --font-head:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --font-text:"Inter","Segoe UI",system-ui,sans-serif;
  --grotesk:'Space Grotesk','Helvetica Neue',Arial,sans-serif;
  --mono:'IBM Plex Mono','Consolas',monospace;
  --ease:cubic-bezier(.23,1,.32,1);
  --blueprint-img:url('img/ansicht-linie.png');
  --blueprint-opacity:.07; --blueprint-blend:screen;
}

/* --- Lokale Fonts (Space Grotesk + IBM Plex Mono) --- */
@font-face{font-family:'Space Grotesk';src:url('fonts/space-grotesk-v22-latin_latin-ext-300.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:'Space Grotesk';src:url('fonts/space-grotesk-v22-latin_latin-ext-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Space Grotesk';src:url('fonts/space-grotesk-v22-latin_latin-ext-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Space Grotesk';src:url('fonts/space-grotesk-v22-latin_latin-ext-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'IBM Plex Mono';src:url('fonts/ibm-plex-mono-v20-latin_latin-ext-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'IBM Plex Mono';src:url('fonts/ibm-plex-mono-v20-latin_latin-ext-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;}

/* ==========================================================
   STUFE 2 – Utility-/Helfer-Klassen (module_class)
   ========================================================== */

/* Amber-Akzentwort (Hero-H1). Einsatz: <span> im Modulinhalt. */
.lbm-amber{color:var(--amber);}

/* Gedämpfter Absatz innerhalb eines Textmoduls. */
.lbm-muted-p{color:var(--muted);}

/* Eyebrow/Kicker: Messing, gesperrt, Versalien, mit Vorlinie. */
.lbm-kicker p{display:inline-flex;align-items:center;font-family:var(--font-text);
  font-size:.74rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;
  color:var(--accent);margin:0;}
.lbm-kicker p::before{content:"";display:inline-block;width:34px;height:1px;
  background:var(--accent);opacity:.8;margin-right:.6em;}

/* Abschnitts-Nummer (z. B. „01 — Standpunkt"). */
.lbm-section-num p{font-family:var(--font-text);font-size:.74rem;font-weight:600;
  letter-spacing:.28em;color:var(--muted);text-transform:uppercase;margin:0;}

/* Lead-Absatz (größer, ruhiger). */
.lbm-lead p{font-size:clamp(1.2rem,2vw,1.6rem);line-height:1.5;color:var(--text);
  font-weight:400;letter-spacing:-.01em;}

/* Metall-Trennlinie (Divi-Divider als Verlauf) – genau EINE feine Linie.
   Divi zeichnete zuvor mehrere Linien: Verlauf auf Container UND auf
   .et_pb_divider_internal (20px versetzt) PLUS Divis ::before-Border → Doppellinie.
   Fix: Verlauf nur auf dem Container, ::before/::after-Border weg, internal ausblenden. */
.lbm-metal-line{border:0 !important;height:1px !important;min-height:0 !important;
  background:linear-gradient(90deg,transparent,var(--accent),transparent) !important;opacity:.55;}
.lbm-metal-line::before,.lbm-metal-line::after{border:0 !important;content:none !important;}
.lbm-metal-line .et_pb_divider_internal{display:none !important;}

/* Ghost-Button-Hover (Rand + Text → Messing). Divi legt die Modul-CSS-Klasse
   DIREKT auf das <a class="et_pb_button"> (nicht auf einen Wrapper); daher .lbm-btn-ghost
   am selben Element matchen. #page-container ist nötig, um Divis ID-gescopte Basis-
   Textfarbe (#…) zu überstimmen – sonst wechselt nur der Rand, nicht der Text. */
#page-container a.et_pb_button.lbm-btn-ghost:hover{border-color:var(--accent) !important;
  color:var(--accent) !important;background:transparent !important;}

/* Bild-Figur ATELIER: entsättigt → Farbe + Zoom + feine Innenrahmen-Linie. */
.lbm-figure{position:relative;overflow:hidden;border-radius:3px;}
.lbm-figure .et_pb_image_wrap{display:block;width:100%;height:100%;overflow:hidden;}
.lbm-figure img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.04);
  transition:transform .9s var(--ease),filter .7s ease;}
.lbm-figure:hover img{filter:grayscale(0) contrast(1.04);transform:scale(1.04);}
.lbm-figure::before{content:"";position:absolute;inset:10px;border:1px solid var(--accent);
  opacity:0;transform:scale(1.05);transition:opacity .5s ease,transform .5s ease;
  pointer-events:none;z-index:3;}
.lbm-figure:hover::before{opacity:.9;transform:none;}
.lbm-figure-tall{aspect-ratio:4/5;}
.lbm-figure-tall .et_pb_image_wrap,.lbm-figure-tall img{height:100%;}

/* Bildunterschrift. */
.lbm-figcap p{font-size:.8rem;color:var(--muted);letter-spacing:.14em;
  text-transform:uppercase;margin:0;}

/* Fakten-Zeile (4 Spalten, mit Ober-/Unterlinie). */
.lbm-factline{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0;padding:0;}
.lbm-factline li{list-style:none;padding:clamp(16px,1.8vw,24px) clamp(14px,2vw,30px);
  border-left:1px solid var(--line);font-size:1.02rem;color:var(--head);line-height:1.4;}
.lbm-factline li:first-child{border-left:0;padding-left:0;}
.lbm-factline .k{display:block;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--accent);margin-bottom:.55em;}
@media(max-width:900px){.lbm-factline{grid-template-columns:1fr 1fr;}
  .lbm-factline li:nth-child(3){border-left:0;padding-left:0;}}
@media(max-width:520px){.lbm-factline{grid-template-columns:1fr;}
  .lbm-factline li{border-left:0;padding-left:0;}}

/* Kontakt-Karte (Definitionszeilen). */
.lbm-contact-card{border:1px solid var(--line);border-radius:3px;background:var(--surface);
  padding:clamp(26px,3.4vw,44px);}
.lbm-contact-card .contact-item{display:flex;gap:1em;padding-block:1.05rem;
  border-bottom:1px solid var(--line);}
.lbm-contact-card .contact-item:last-child{border-bottom:0;}
.lbm-contact-card .lbl{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);min-width:98px;padding-top:.2em;}
.lbm-contact-card .val{font-size:1.02rem;color:var(--head);}
.lbm-contact-card a.val:hover{color:var(--accent);}

/* Rechte Kopf-Notiz (Projekte/Team) rechtsbündig. */
.lbm-head-note .et_pb_text_inner{max-width:44ch;margin-left:auto;}

/* Textmodul-Formular: Textarea-Mindesthöhe (Feld-Optik kommt über Modul-Attribute). */
.lbm-form .et_pb_contact_message textarea{min-height:130px;}

/* Blueprint-Wasserzeichen (dezente Architektur-Zeichnung). */
.lbm-blueprint{position:relative;isolation:isolate;}
.lbm-blueprint::before{content:"";position:absolute;inset:0;z-index:0;
  background-image:var(--blueprint-img);background-size:cover;background-position:center;
  opacity:var(--blueprint-opacity,.05);mix-blend-mode:var(--blueprint-blend,multiply);
  pointer-events:none;}
.lbm-blueprint--screen{--blueprint-blend:screen;--blueprint-opacity:.06;}
.lbm-blueprint > .et_pb_row{position:relative;z-index:1;}

/* Größerer Abstand zwischen den Menüpunkten (zusätzlich zu Divis li-Padding) */
.lbm-nav .et-menu{gap:1rem;}
.lbm-nav .et-menu > li:not(.menu-item-has-children) > a{position:relative;}
.lbm-nav .et-menu > li:not(.menu-item-has-children) > a::before{content:'[';position:absolute;
  left:-.65em;opacity:0;color:var(--amber);transform:translateX(4px);
  transition:opacity 250ms var(--ease),transform 250ms var(--ease);}
.lbm-nav .et-menu > li:not(.menu-item-has-children) > a::after{content:']';position:absolute;
  right:-.65em;opacity:0;color:var(--amber);transform:translateX(-4px);
  transition:opacity 250ms var(--ease),transform 250ms var(--ease);}
.lbm-nav .et-menu > li:not(.menu-item-has-children) > a:hover::before,
.lbm-nav .et-menu > li:not(.menu-item-has-children) > a:focus-visible::before,
.lbm-nav .et-menu > li:not(.menu-item-has-children) > a:hover::after,
.lbm-nav .et-menu > li:not(.menu-item-has-children) > a:focus-visible::after{opacity:1;transform:translateX(0);}

.et_pb_section--with-menu.et_pb_sticky_module{
  background-color:color-mix(in srgb,var(--bg) 68%,transparent) !important;
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.et_pb_section--with-menu.et_pb_sticky_module .et_pb_fullwidth_menu{
  background-color:transparent !important;
}

.lbm-nav-fade{position:fixed;inset:0;z-index:99999;background:var(--bg);
  opacity:0;pointer-events:none;transition:opacity 300ms ease;}
.lbm-nav-fade.is-active{opacity:1;transition:opacity 220ms ease;}


.lbm-hero{display:flex;flex-direction:column;justify-content:flex-end;
  padding-bottom:clamp(3rem,9vh,6.5rem) !important;font-family:var(--grotesk);}
.lbm-hero-titel h1{font-family:var(--grotesk);max-width:16ch;text-wrap:balance;letter-spacing:-.02em;}
.lbm-hero-lede p{margin-top:1.4rem;}
.lbm-hero-meta{margin-top:2.6rem;display:flex;gap:clamp(1.6rem,4vw,4rem);flex-wrap:wrap;}
.lbm-hero-meta .cell{border-left:1px solid var(--line);padding-left:1rem;}
.lbm-hero-meta .num{display:block;font-family:var(--mono);
  font-size:clamp(1.4rem,2.4vw,2rem);color:var(--text);font-weight:500;}
.lbm-hero-meta .lbl{display:block;font-family:var(--mono);font-size:.72rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:.2rem;}
@media(max-width:767px){.lbm-hero-meta{gap:1.2rem;}.lbm-hero-meta .cell{flex:1 1 40%;}}

.lbm-partner-row{align-items:center;}
.lbm-sigil svg{width:clamp(120px,15vw,184px);height:auto;display:block;}
.lbm-sigil .draw-path{stroke:var(--accent);stroke-width:1.4;fill:none;}

.lbm-morph-sec{border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.lbm-morph__stage{height:100vh;display:grid;place-items:center;overflow:hidden;position:relative;}
.lbm-morph__frame{position:relative;width:min(980px,80vw);aspect-ratio:3/2;overflow:hidden;
  max-height:58vh;background:var(--bg);outline:1px solid var(--line);outline-offset:12px;margin-top:1.5rem;}
.lbm-morph__frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
/* WICHTIG: Die Filterliste muss STRUKTURGLEICH zum Animationsziel in
   js/zink-effekte.js sein (dort: invert(1) blur(5px)) – deshalb steht hier
   blur(0px) explizit drin und es gibt KEIN contrast()/brightness().
   Sonst kann GSAP die Filter nicht interpolieren und springt beim ersten
   Scroll-Pixel hart auf die Ziel-Filterliste (sichtbarer Helligkeitssprung). */
.lbm-morph__frame .draw{filter:invert(1) blur(0px);opacity:.92;}
.lbm-morph__frame .photo{opacity:0;transform:scale(1.06);}
.lbm-morph__head{position:absolute;top:calc(84px + clamp(1rem,3.5vh,2.4rem));left:50%;
  transform:translateX(-50%);display:flex;align-items:baseline;gap:1.2rem;white-space:nowrap;}
.lbm-morph__head h2{font-family:var(--font-head);font-weight:600;
  font-size:clamp(1.6rem,2.8vw,2.6rem);letter-spacing:-.01em;color:var(--head);}
.lbm-morph__progress{position:absolute;bottom:clamp(1.4rem,5vh,3rem);left:50%;
  transform:translateX(-50%);width:min(320px,60vw);height:1px;background:var(--line);}
.lbm-morph__progress i{position:absolute;inset:0;background:var(--accent);
  transform:scaleX(0);transform-origin:left;display:block;}
.lbm-morph__labels{position:absolute;bottom:calc(clamp(1.4rem,5vh,3rem) + .9rem);left:50%;
  transform:translateX(-50%);width:min(320px,60vw);display:flex;justify-content:space-between;}
.lbm-morph .tlabel{font-family:var(--font-text);font-size:.74rem;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:var(--muted);}
/* Bis 980 px läuft die schlanke Fassung OHNE Pin (siehe js/zink-effekte.js,
   Schwelle 981 px). Die Grenze muss in CSS und JS dieselbe sein: Vorher stand
   hier 768 px, das JS pinnte aber schon ab 768 px – bei exakt 768 px Breite
   (iPad hochkant) galten dadurch beide Fassungen gleichzeitig und die Sektion
   wurde über 1536 px gepinnt, obwohl der Inhalt nur 670 px hoch war. */
@media(max-width:980px){
  .lbm-morph__stage{height:auto;padding:3.5rem 0 4.5rem;}
  .lbm-morph__frame{aspect-ratio:4/3;}
  .lbm-morph__head{position:static;transform:none;justify-content:center;
    margin-bottom:1.4rem;white-space:normal;text-align:center;}
}
@media(prefers-reduced-motion:reduce){
  .lbm-morph__frame .photo{opacity:1;transform:none;}
  .lbm-morph__frame .draw{opacity:0;}
}

.lbm-bento{display:grid;grid-template-columns:repeat(4,1fr);
  grid-auto-rows:clamp(140px,13.5vw,200px);grid-auto-flow:dense;gap:clamp(10px,1.1vw,16px);}
.lbm-bento__item{position:relative;overflow:hidden;border-radius:3px;background:var(--bg-2);
  isolation:isolate;cursor:pointer;border:0;padding:0;width:100%;height:100%;
  font:inherit;color:inherit;text-align:left;display:block;}
.lbm-bento__item.big{grid-column:span 2;grid-row:span 2;}
.lbm-bento__item.tall{grid-row:span 2;}
.lbm-bento__item.wide{grid-column:span 2;}
.lbm-bento__item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:grayscale(.72) contrast(1.03);transition:transform 1.2s var(--ease),filter 1s ease;}
.lbm-bento__item:hover img{transform:scale(1.07);filter:grayscale(0) contrast(1.05);}
.lbm-bento__item::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(10,11,13,0) 38%,rgba(10,11,13,.74) 100%);
  transition:opacity .5s ease;opacity:.9;}
.lbm-bento__cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(14px,1.5vw,22px);
  color:#fff;transform:translateY(8px);transition:transform .5s var(--ease);}
.lbm-bento__item:hover .lbm-bento__cap,.lbm-bento__item:focus-visible .lbm-bento__cap{transform:none;}
.lbm-bento__cap .t{font-family:var(--font-head);font-weight:700;
  font-size:clamp(1rem,1.4vw,1.4rem);line-height:1.1;letter-spacing:-.01em;}
.lbm-bento__cap .m{display:flex;gap:.7em;align-items:center;margin-top:.4em;font-size:.72rem;
  letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.75);}
.lbm-bento__cap .m span{width:14px;height:1px;background:var(--accent);}
.lbm-bento__item .plus{position:absolute;top:15px;right:15px;z-index:2;width:34px;height:34px;
  border:1px solid rgba(255,255,255,.45);border-radius:50%;display:grid;place-items:center;
  color:#fff;font-size:1.1rem;opacity:0;transform:scale(.8) rotate(-30deg);transition:.5s var(--ease);}
.lbm-bento__item:hover .plus,.lbm-bento__item:focus-visible .plus{opacity:1;transform:none;}
@media(max-width:980px){.lbm-bento{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.lbm-bento{grid-template-columns:1fr;grid-auto-rows:minmax(200px,auto);}
  .lbm-bento__item,.lbm-bento__item.big,.lbm-bento__item.wide,.lbm-bento__item.tall{grid-column:span 1;grid-row:span 1;}
  .lbm-bento__cap{transform:none;}.lbm-bento__item img{filter:none !important;}}

.lbm-lightbox{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;
  background:rgba(8,9,11,.92);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s;}
.lbm-lightbox.open{opacity:1;visibility:visible;}
.lbm-lightbox__stage{position:relative;max-width:min(1200px,92vw);max-height:86vh;
  transform:scale(.96);transition:transform .45s var(--ease);}
.lbm-lightbox.open .lbm-lightbox__stage{transform:none;}
.lbm-lightbox__img{max-width:100%;max-height:80vh;object-fit:contain;display:block;
  border-radius:3px;box-shadow:0 40px 120px -40px rgba(0,0,0,.9);}
.lbm-lightbox__cap{margin-top:1rem;color:#fff;text-align:center;}
.lbm-lightbox__cap .t{font-family:var(--font-head);font-weight:700;font-size:1.25rem;}
.lbm-lightbox__cap .m{font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(255,255,255,.6);margin-top:.3em;}
.lbm-lightbox__btn{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;
  border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.06);
  color:#fff;font-size:1.4rem;cursor:pointer;display:grid;place-items:center;transition:.3s;}
.lbm-lightbox__btn:hover{background:#fff;color:#111;border-color:#fff;}
.lbm-lightbox__prev{left:-72px;}.lbm-lightbox__next{right:-72px;}
.lbm-lightbox__close{position:absolute;top:-56px;right:0;width:44px;height:44px;border-radius:50%;
  border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;font-size:1.3rem;cursor:pointer;transition:.3s;}
.lbm-lightbox__close:hover{background:#fff;color:#111;}
.lbm-lightbox__count{position:absolute;top:-48px;left:0;color:rgba(255,255,255,.6);font-size:.8rem;letter-spacing:.2em;}
@media(max-width:820px){.lbm-lightbox__prev{left:8px;}.lbm-lightbox__next{right:8px;}
  .lbm-lightbox__btn{width:42px;height:42px;}}

body.home #page-container{overflow:visible !important;}
.lbm-refs,.lbm-refs .et_pb_row,.lbm-refs .et_pb_column,
.lbm-refs .et_pb_code,.lbm-refs .et_pb_code_inner{overflow:visible;}
.lbm-sheet-stack{position:relative;}
.lbm-sheet{position:sticky;top:0;min-height:100vh;display:grid;place-items:center;
  padding:clamp(4.5rem,8vh,6rem) 0;}
.lbm-sheet .paper{position:relative;width:min(1080px,92vw);background:var(--bg-2);
  border:1px solid var(--line);padding:clamp(1.8rem,4.5vw,4rem);
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(1.5rem,4vw,4rem);
  align-items:end;box-shadow:0 -18px 60px rgba(0,0,0,.42);}
.lbm-sheet .paper::before,.lbm-sheet .paper::after,
.lbm-sheet .paper .mark::before,.lbm-sheet .paper .mark::after{content:"";position:absolute;
  width:14px;height:14px;border-color:var(--accent);border-style:solid;}
.lbm-sheet .paper::before{top:10px;left:10px;border-width:1px 0 0 1px;}
.lbm-sheet .paper::after{top:10px;right:10px;border-width:1px 1px 0 0;}
.lbm-sheet .paper .mark::before{bottom:10px;left:10px;border-width:0 0 1px 1px;}
.lbm-sheet .paper .mark::after{bottom:10px;right:10px;border-width:0 1px 1px 0;}
.lbm-sheet .plankopf{grid-column:1/-1;display:flex;justify-content:space-between;
  align-items:baseline;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:1.1rem;margin-bottom:.4rem;}
.lbm-sheet .icon{grid-column:1/-1;}
.lbm-sheet .icon svg{width:clamp(120px,18vw,190px);height:auto;display:block;}
.lbm-sheet .icon svg .ln{stroke:var(--accent);stroke-width:1.6;fill:none;stroke-linecap:square;}
.lbm-sheet .icon svg .ln.dim{stroke:var(--muted);opacity:.55;}
.lbm-sheet .body h3{font-family:var(--font-head);font-weight:600;
  font-size:clamp(1.7rem,3.4vw,2.9rem);line-height:1.08;letter-spacing:-.015em;color:var(--head);}
.lbm-sheet .body .ort{margin-top:.7rem;}
.lbm-sheet .volume{text-align:right;}
.lbm-sheet .volume .num{font-family:var(--font-head);font-weight:600;
  font-size:clamp(2rem,4.6vw,3.6rem);letter-spacing:-.02em;color:var(--accent);white-space:nowrap;line-height:1;}
.lbm-sheet .volume .lbl{display:block;margin-top:.6rem;}
.lbm-sheet .tlabel{font-family:var(--font-text);font-size:.74rem;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:var(--muted);}
@media(max-width:768px){
  .lbm-sheet .paper{grid-template-columns:1fr;align-items:start;}
  .lbm-sheet .volume{text-align:left;}
}
@media(prefers-reduced-motion:reduce){.lbm-sheet{position:static;min-height:0;}}

/* Abstand zwischen den Bildern */
.lbm-team-accordion .dipi_image_accordion_wrapper{gap:.9rem;}
/* Entsättigt (geschlossen) → volle Farbe bei Hover/aktivem Panel */
.lbm-team-accordion .dipi_image_accordion_child .dipi-ia-image-bg{
  filter:grayscale(.9) brightness(.82);transition:filter .4s ease-in-out;}
.lbm-team-accordion .dipi_image_accordion_child:hover .dipi-ia-image-bg,
.lbm-team-accordion .dipi_image_accordion_child.dipi-active .dipi-ia-image-bg{
  filter:grayscale(0) brightness(1);}
/* Typografie wie Referenz: Titel Cormorant weiß, Untertitel Inter Messing/Versalien */
.lbm-team-accordion .dipi-accordion-title{
  font-family:var(--font-head);font-size:24px;font-weight:600;color:#fff;}
.lbm-team-accordion .dipi-accordion-description,
.lbm-team-accordion .dipi-accordion-description p{
  font-family:var(--font-text);font-size:.72rem;font-weight:500;color:var(--accent);
  letter-spacing:.14em;text-transform:uppercase;margin-bottom:0;}
/* Lesbarkeits-Scrim: weicher Verlauf über das untere Bilddrittel, nur am offenen/
   gehoverten Panel (geschlossene behalten DiPis eigene dunkle Ebene). z-index 15
   sitzt hinter dem Text-Layer (z-index 20). Live verifiziert (2026-07-16). */
.lbm-team-accordion .dipi_image_accordion_child .dipi-ia-image-bg::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:52%;z-index:15;pointer-events:none;
  background:linear-gradient(to top,rgba(10,11,13,.9) 0%,rgba(10,11,13,0) 100%);
  opacity:0;transition:opacity .4s ease;}
.lbm-team-accordion .dipi_image_accordion_child:hover .dipi-ia-image-bg::after,
.lbm-team-accordion .dipi_image_accordion_child.dipi-active .dipi-ia-image-bg::after{opacity:1;}

.lbm-footer-logo{height:34px;width:auto;display:block;}
.lbm-footer-col a,.lbm-footer-bottom a{color:inherit;transition:color .3s ease;}
.lbm-footer-col a:hover,.lbm-footer-bottom a:hover{color:#fff;}
.lbm-footer-h5{font-family:var(--font-text);font-size:.76rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--zinc-500);margin-bottom:1.2rem;font-weight:600;}
.lbm-footer-nav{display:flex;flex-direction:column;gap:.7em;font-size:.95rem;}
.lbm-footer-adr{line-height:1.8;color:var(--zinc-300);}
.lbm-footer-bottom .lbm-fb-inner{display:flex;justify-content:space-between;flex-wrap:wrap;
  gap:12px;font-size:.82rem;border-top:1px solid rgba(255,255,255,.1);padding-top:24px;}

.lbm-bento2.et_pb_column{
  display:grid;grid-template-columns:repeat(6,1fr);
  grid-auto-rows:auto;grid-auto-flow:dense;
  gap:clamp(10px,1.1vw,16px);width:100% !important;margin:0 !important;}
/* height:auto – die Kachelhöhe kommt aus der aspect-ratio der Größenklasse
   (siehe unten); Grid streckt anschließend auf die Zeilenhöhe. */
.lbm-tile.et_pb_blurb{position:relative;overflow:hidden;border-radius:3px;
  background:var(--bg-2,#12181D);margin:0 !important;padding:0;isolation:isolate;
  height:auto;cursor:zoom-in;}
.lbm-tile .et_pb_blurb_content{max-width:none;height:100%;}
.lbm-tile .et_pb_blurb_content > *{margin:0;}
.lbm-tile .et_pb_main_blurb_image{margin:0;position:absolute;inset:0;z-index:0;line-height:0;}
.lbm-tile .et_pb_main_blurb_image .et_pb_image_wrap{display:block;width:100%;height:100%;}
.lbm-tile .et_pb_main_blurb_image img{width:100%;height:100%;object-fit:cover;
  filter:grayscale(.72) contrast(1.03);
  transition:transform 1.2s var(--ease,cubic-bezier(.23,1,.32,1)),filter 1s ease;}
.lbm-tile:hover .et_pb_main_blurb_image img{transform:scale(1.07);filter:grayscale(0) contrast(1.05);}
/* Abdunklung unten dauerhaft (auch ohne Hover) – für dauerhaft lesbare Caption. */
.lbm-tile::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(10,11,13,0) 26%,rgba(10,11,13,.55) 62%,rgba(10,11,13,.90) 100%);}
/* feine Innenrahmen-Akzentlinie bei Hover – identisch zu .lbm-figure (Über uns) */
.lbm-tile::before{content:"";position:absolute;inset:10px;border:1px solid var(--accent,#DE9E45);
  opacity:0;transform:scale(1.05);transition:opacity .5s ease,transform .5s ease;
  pointer-events:none;z-index:3;}
.lbm-tile:hover::before{opacity:.9;transform:none;}
.lbm-tile .et_pb_blurb_container{position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:clamp(14px,1.5vw,22px);text-align:left;
  transform:translateY(8px);transition:transform .5s var(--ease,cubic-bezier(.23,1,.32,1));}
.lbm-tile:hover .et_pb_blurb_container{transform:none;}
.lbm-tile .et_pb_module_header,.lbm-tile .et_pb_module_header span{
  font-family:var(--font-head,"Cormorant Garamond",serif);font-weight:700;color:#fff;
  font-size:clamp(1rem,1.4vw,1.4rem);line-height:1.1;letter-spacing:-.01em;margin:0;}
.lbm-tile .et_pb_blurb_description,.lbm-tile .et_pb_blurb_description p{
  margin:.4em 0 0;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--accent,#DE9E45);}
/* --- Größenklassen: Zahl = belegte Spalten von 6, Summe je Zeile = 6 ---
   c2 = Drittel  · 4:3, das Format des Bildmaterials → 0 % Beschnitt
   c3 = Hälfte   · 2,025:1 → 34 % Beschnitt (bei Häusern meist Himmel)
   c4 = Leitbild · 2,72:1  → 51 % Beschnitt, braucht ein breites Motiv
   Die krummen Werte für c3/c4 sind kein Zufall: sie ergeben sich daraus,
   dass alle drei Zeilen exakt so hoch werden wie die 4:3-Drittel-Kachel. */
.lbm-tile--c2{grid-column:span 2;aspect-ratio:4/3;}
.lbm-tile--c3{grid-column:span 3;aspect-ratio:2.025;}
.lbm-tile--c4{grid-column:span 4;aspect-ratio:2.72;}

@media(max-width:980px){
  .lbm-bento2.et_pb_column{grid-template-columns:repeat(2,1fr);}
  .lbm-tile--c2,.lbm-tile--c3{grid-column:span 1;aspect-ratio:4/3;}
  .lbm-tile--c4{grid-column:span 2;aspect-ratio:16/9;}}

/* Handy: eine Spalte, alles im 4:3-Bildformat → kein Motiv wird beschnitten. */
@media(max-width:560px){
  .lbm-bento2.et_pb_column{grid-template-columns:1fr;}
  .lbm-tile--c2,.lbm-tile--c3,.lbm-tile--c4{grid-column:span 1;aspect-ratio:4/3;}
  .lbm-tile .et_pb_blurb_container{transform:none;}
  .lbm-tile .et_pb_main_blurb_image img{filter:none;}}
/* Bild-Lightbox (schlank, self-contained, KEIN Icon) – skalierungssicher.
   Muster der bewährten alten .lbm-lightbox (lief bei 150 %-Skalierung zuverlässig):
   - stets display:flex + opacity/visibility fürs sanfte Fade (in UND out);
   - overflow:hidden am Overlay -> das fixed/inset:0-Overlay ist exakt viewport-groß
     und clippt seinen Inhalt -> kann NIE eine Dokument-Scrollbar erzeugen (jede
     Skalierung, jedes Endgerät);
   - Bildgröße über gedeckelte Stage (min(1100px,92vw)) + Bild max-width:100% statt
     vw direkt aufs Bild (Sub-Pixel-Rundung bei 150 % war die Ursache des Balkens);
   - KEINE Body-Manipulation im JS (kein overflow:hidden/kein padding-right-Hack)
     -> Reflow-/Scrollbar-Fehlerklasse komplett ausgeschlossen, auch mobil.
   Ganze Fläche klickbar zum Schließen; Esc schließt; kein Prev/Next. */
.lbm-lb{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;
  box-sizing:border-box;padding:clamp(16px,4vw,48px);
  background:rgba(8,9,11,.93);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  cursor:zoom-out;opacity:0;visibility:hidden;overflow:hidden;
  transition:opacity .38s ease,visibility .38s ease;}
.lbm-lb.open{opacity:1;visibility:visible;}
.lbm-lb__stage{display:flex;flex-direction:column;align-items:center;gap:.9rem;
  max-width:min(1100px,92vw);max-height:90vh;
  transform:scale(.985);transition:transform .38s var(--ease,cubic-bezier(.23,1,.32,1));}
.lbm-lb.open .lbm-lb__stage{transform:scale(1);}
.lbm-lb img{display:block;max-width:100%;max-height:80vh;width:auto;height:auto;object-fit:contain;
  border-radius:2px;box-shadow:0 30px 80px rgba(0,0,0,.6);}
.lbm-lb__cap{text-align:center;max-width:100%;}
.lbm-lb__cap .t{display:block;font-family:var(--font-head,"Cormorant Garamond",serif);
  color:#fff;font-size:1.25rem;line-height:1.2;}
.lbm-lb__cap .m{display:block;margin-top:.35rem;font-size:.72rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--accent,#DE9E45);}
@media(prefers-reduced-motion:reduce){.lbm-lb,.lbm-lb__stage{transition:none;}}



@media(max-width:980px){
  .lbm-sheet{top:var(--lbm-header-h,96px);
    min-height:calc(100vh - var(--lbm-header-h,96px));
    padding:1.4rem 0;}
}


@media(max-width:980px){
  .lbm-morph__head{box-sizing:border-box;padding:0 1.5rem;}
}

@media(max-width:767px){
  .lbm-factline .k,.lbm-contact-card .lbl,.lbm-hero-meta .lbl,
  .lbm-morph .tlabel,.lbm-sheet .tlabel,
  .lbm-tile .et_pb_blurb_description,.lbm-tile .et_pb_blurb_description p,
  .lbm-lb__cap .m{font-size:.78rem;}
}


@media(max-width:980px){
  .lbm-nav .mobile_menu_bar{display:inline-block;padding:6px;margin:-6px;}
}

@media(max-width:980px){
  .et_pb_section[class*="_tb_header"] .et_pb_row{padding:12px 20px !important;
    display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;}
  .et_pb_section[class*="_tb_header"] .et_pb_row::before,
  .et_pb_section[class*="_tb_header"] .et_pb_row::after{display:none;}
  .et_pb_section[class*="_tb_header"] .et_pb_row .et_pb_column{width:auto !important;margin:0 !important;}
  .et_pb_section[class*="_tb_header"] .et_pb_row .et_pb_column:first-child{flex:0 1 auto;}
  .et_pb_section[class*="_tb_header"] .et_pb_column,
  .et_pb_section[class*="_tb_header"] .et_pb_menu,
  .et_pb_section[class*="_tb_header"] .et_pb_menu_inner_container{position:static;}
  .et_pb_section[class*="_tb_header"] .et_mobile_menu{left:20px;right:20px;width:auto;top:100%;}
}

@media(max-width:767px){
  .et_pb_section[class*="_tb_header"] .et_pb_row .et_pb_column:first-child{max-width:200px;}
}

@media(max-width:980px){
 
  #page-container .lbm-team-accordion .dipi_image_accordion_wrapper{height:1050px !important;}
 
  .lbm-team-accordion .dipi_image_accordion_child:not(.dipi-active) .dipi-ia-image-bg{
    background-position:50% 25% !important;}
}

@media(max-width:980px){
 
 
  .lbm-morph__labels,.lbm-morph__progress{position:relative;bottom:auto;left:auto;
    transform:none;width:min(320px,72vw);margin-left:auto;margin-right:auto;}
  .lbm-morph__labels{margin-top:1.2rem;}
  .lbm-morph__progress{margin-top:.55rem;}
 
  .lbm-morph__stage{padding:calc(var(--lbm-header-h,96px) + 1.75rem) 0 4rem;}
  .lbm-morph__frame{margin-top:.4rem;}
}
