/*
Theme Name: FBA Easy (GeneratePress Child)
Template: generatepress
Author: smartsolution-4u
Version: 0.24
Description: Design-Nachbau von fba-easy.de - hell, editorial, Orange-Akzent
*/

:root{
  --fba-bg:#ffffff;
  --fba-bg-2:#f5f5f4;
  --fba-ink:#0a0a0a;
  --fba-ink-2:#525252;
  --fba-accent:#ff4f00;
  --fba-accent-2:#ff6b35;
  --fba-dark:#0a0a0a;
  --fba-line:#e7e5e4;
  --fba-line-dark:#262626;
  --fba-mono:"JetBrains Mono",ui-monospace,monospace;
  --fba-sans:"Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif;
}

/* ---------- Grundlayout: HELL ---------- */
body{
  background:var(--fba-bg);
  color:#262626;
  font-family:var(--fba-sans);
  -webkit-font-smoothing:antialiased;
  letter-spacing:-.01em;
}
.site-content,.entry-content{background:var(--fba-bg);}
p{color:#404040;font-size:1.0625rem;line-height:1.75;}
h1,h2,h3,h4{font-family:var(--fba-sans);color:var(--fba-ink);font-weight:800;line-height:1.05;letter-spacing:-.025em;}

/* Sektionen standardmaessig hell; abwechselnd leichtes Grau */
.entry-content > .wp-block-group{background:var(--fba-bg);}
.entry-content > .wp-block-group.is-style-soft{background:var(--fba-bg-2);}

/* Dunkle Akzent-Sektion */
.wp-block-group.has-black-background-color,.fba-dark{background:var(--fba-dark)!important;}
.has-black-background-color h1,.has-black-background-color h2,.has-black-background-color h3,
.fba-dark h1,.fba-dark h2,.fba-dark h3{color:#fff;}
.has-black-background-color p,.fba-dark p{color:#a3a3a3;}

/* Akzent fuer hervorgehobene Woerter */
.fba-accent-text{color:var(--fba-accent)!important;}

/* ---------- HERO ---------- */
.fba-hero{position:relative;overflow:hidden;}
.fba-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.fba-hero-eyebrow{font-family:var(--fba-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--fba-accent);font-size:12px;}
/* FBA EASY: 128px wie Original */
.fba-hero-title{font-size:clamp(3.5rem,13vw,128px);font-weight:700;letter-spacing:-.02em;text-transform:uppercase;line-height:.9;color:var(--fba-ink);margin:0;}
/* KREATIVAGENTUR: getippt, 64px, weight 500, tracking 0.1em (wie Original) */
.fba-hero-typed{display:flex;align-items:center;justify-content:center;font-family:var(--fba-sans);font-weight:500;
  font-size:clamp(2rem,5vw,4rem);letter-spacing:.1em;text-transform:uppercase;color:var(--fba-ink);opacity:.9;margin-top:1rem;min-height:1.2em;}
.fba-cursor{display:inline-block;margin-left:.04em;font-weight:300;color:var(--fba-accent);animation:fba-blink 1s step-end infinite;}
@keyframes fba-blink{0%,100%{opacity:1}50%{opacity:0}}
/* DESIGN x DATA */
.fba-hero-dd{font-family:var(--fba-mono);letter-spacing:.3em;text-transform:uppercase;color:var(--fba-ink);font-size:16px;margin:2.2rem 0;}
/* Claim "Die meisten Agenturen raten. / Wir konstruieren." - 7rem, bold, eng, zweizeilig (wie Original) */
.fba-claim{font-size:clamp(2.6rem,8vw,7rem)!important;font-weight:700!important;letter-spacing:-.03em!important;line-height:1.1!important;}
/* "konstruieren." mit orangem Balken-Unterstrich (wie Original: h-2 bg-orange rounded-full) */
.fba-claim .fba-accent-text{position:relative;display:inline-block;}
.fba-claim .fba-accent-text::after{content:"";position:absolute;left:0;bottom:-.02em;width:100%;height:8px;background:var(--fba-accent);border-radius:9999px;}

/* ---------- BUTTONS ---------- */
.wp-block-button__link,.fba-btn{
  border-radius:0!important;font-family:var(--fba-mono);text-transform:uppercase;
  letter-spacing:.15em;font-size:13px;font-weight:600;padding:1.1em 2.4em;
  transition:all .25s ease;border:1px solid var(--fba-ink);
  background:var(--fba-ink)!important;color:#fff!important;text-decoration:none;display:inline-block;
}
.wp-block-button__link:hover,.fba-btn:hover{background:transparent!important;color:var(--fba-ink)!important;}
/* Buttons in dunklen Sektionen */
.fba-dark .wp-block-button__link,.has-black-background-color .wp-block-button__link{background:var(--fba-accent)!important;border-color:var(--fba-accent);}
.fba-dark .wp-block-button__link:hover,.has-black-background-color .wp-block-button__link:hover{background:transparent!important;color:var(--fba-accent)!important;}

/* ---------- ARSENAL-KARTEN (SEO/Kreativitaet dunkel, PPC orange) ---------- */
.fba-arsenal .wp-block-column{padding:48px 36px;transition:transform .25s ease;}
.fba-arsenal .wp-block-column:hover{transform:translateY(-6px);}
.fba-card-dark{background:var(--fba-dark);}
.fba-card-dark h3{color:#fff;font-family:var(--fba-mono);text-transform:uppercase;letter-spacing:.12em;font-size:1.1rem;}
.fba-card-dark p{color:#a3a3a3;}
.fba-card-orange{background:var(--fba-accent);}
.fba-card-orange h3{color:#fff;font-family:var(--fba-mono);text-transform:uppercase;letter-spacing:.12em;font-size:1.1rem;}
.fba-card-orange p{color:#fff;}

/* Helle Karten (Case Studies etc.) */
.wp-block-column.has-border-color{border-color:var(--fba-line)!important;transition:border-color .25s ease,transform .25s ease;}
.wp-block-column.has-border-color:hover{border-color:var(--fba-accent)!important;transform:translateY(-4px);}
.wp-block-column.has-border-color h3{font-family:var(--fba-mono);text-transform:uppercase;letter-spacing:.1em;font-size:1.1rem;color:var(--fba-ink);}

/* ---------- Sektions-Titel-System (großer Titel + kleiner Untertitel, wie Original) ---------- */
.fba-section-title{font-size:clamp(2.4rem,6vw,72px)!important;font-weight:700!important;color:var(--fba-ink)!important;letter-spacing:-.02em;line-height:1.05;margin:0 0 18px!important;}
.fba-section-sub{font-size:20px!important;font-weight:300!important;color:rgba(0,0,0,.7)!important;max-width:36rem;margin:0 auto 54px!important;line-height:1.5;}

/* ---------- EYEBROW-Label-System ---------- */
.fba-eyebrow{font-family:var(--fba-mono)!important;color:var(--fba-accent)!important;text-transform:uppercase;
  letter-spacing:.3em!important;font-size:12px!important;margin-bottom:1rem!important;display:block;}

/* ---------- TIMELINE-LISTE ---------- */
.entry-content ul.wp-block-list{list-style:none;margin-left:0;padding-left:0;max-width:760px;margin-inline:auto;}
.entry-content ul.wp-block-list li{border-left:2px solid var(--fba-accent);padding:14px 0 14px 28px;margin:0 0 10px;}
.has-black-background-color ul.wp-block-list li{color:#d4d4d4;}
.entry-content ul.wp-block-list li strong{font-family:var(--fba-mono);letter-spacing:.04em;}
.has-black-background-color ul.wp-block-list li strong{color:#fff;}

/* ---------- FAQ (Accordion, Original: weiß, schwarze Fragen, graue Card beim Öffnen) ---------- */
.fba-faq{background:var(--fba-bg)!important;}
.fba-faq-title{font-family:var(--fba-sans)!important;font-weight:700!important;letter-spacing:-.02em!important;font-size:clamp(2rem,4.5vw,3rem)!important;line-height:1.1!important;color:var(--fba-ink)!important;}
.wp-block-details{border-bottom:1px solid var(--fba-line);border-radius:16px;padding:0 24px;margin:0;transition:background .3s ease,border-color .3s ease;}
.wp-block-details[open]{background:#f5f5f4;border-bottom-color:transparent;}
.wp-block-details summary{cursor:pointer;font-family:var(--fba-sans);font-weight:600;font-size:1.25rem;color:var(--fba-ink);list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 0;transition:color .25s ease;}
.wp-block-details summary::-webkit-details-marker{display:none;}
.wp-block-details summary:hover{color:var(--fba-accent);}
.wp-block-details summary::after{content:"";flex:0 0 auto;width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-4px;transition:transform .3s ease;}
.wp-block-details[open] summary::after{transform:rotate(-135deg);margin-top:4px;}
.wp-block-details p{color:rgba(10,10,10,.6);font-weight:300;font-size:1.05rem;line-height:1.65;margin:0;padding:0 0 22px;}
.fba-faq .has-text-align-center{color:rgba(10,10,10,.6);font-weight:500;}

/* ---------- HEADER: zentrierte schwebende Nav-Pill (wie Original: fixed top-6 left-1/2 -translate-x-1/2) ---------- */
html{scroll-behavior:smooth;scroll-padding-top:120px;}
.site-header{background:transparent!important;position:fixed;top:42px;left:50%;transform:translateX(-50%);
  width:auto!important;z-index:50;border:0!important;box-shadow:none!important;transition:top .3s ease;}
body.admin-bar .site-header{top:74px;}
.site-header .inside-header{padding:0!important;display:block;max-width:none;width:auto;}
/* Logo/Branding ausblenden - Original-Header hat kein Logo */
.site-branding,.site-logo,.site-header .site-branding,.site-title,.main-title{display:none!important;}
/* Navigation = die Pille */
/* Nav-Pille. WICHTIG: KEIN backdrop-filter:blur mehr!
   Der blur(14px) auf dieser position:fixed-Pille war die HAUPTURSACHE des Scroll-Ruckelns:
   Bei jedem Scroll-Frame musste der durchlaufende Seiteninhalt hinter der Pille neu geblurrt
   werden -> auf integrierten/schwächeren GPUs Renderer-Freeze beim Durchscrollen (per Chrome
   DevTools/Long-Task-Messung isoliert: blur an = 45s-Freeze, blur weg = flüssig <80ms).
   Ersatz: opakerer weißer Hintergrund (.85) hält den Text über buntem Content lesbar,
   dezenter Schatten gibt der Pille Abhebung ohne Blur-Last. */
.main-navigation{float:none!important;width:auto!important;position:static;
  background:rgba(255,255,255,.85)!important;
  border:1px solid rgba(0,0,0,.06);border-radius:9999px;box-shadow:0 2px 14px rgba(0,0,0,.07)!important;}
.main-navigation .inside-navigation{padding:0 30px;background:transparent;}
.main-navigation .main-nav>ul,.main-navigation .menu{display:flex!important;align-items:center;background:transparent!important;}
.main-navigation .menu>li{border:0!important;}
/* GeneratePress nav-Höhe (line-height/min-height) überschreiben -> dünne Pille */
.main-navigation,.main-navigation .inside-navigation,.main-navigation .main-nav,.main-navigation .main-nav>ul,.main-navigation .menu>li{min-height:0!important;}
.main-navigation .menu>li>a{color:rgba(0,0,0,.8)!important;font-family:var(--fba-sans)!important;font-weight:500!important;
  font-size:14px!important;letter-spacing:.35px;text-transform:none!important;padding:9px 14px!important;line-height:1!important;height:auto!important;}
.main-navigation .menu>li>a:hover,.main-navigation .current-menu-item>a{color:#0a0a0a!important;}
/* aktiver Menüpunkt: orange Punkt darunter (wie Original) */
.main-navigation .current-menu-item>a{position:relative;}
.main-navigation .current-menu-item>a::after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:5px;height:5px;border-radius:50%;background:var(--fba-accent);}
/* Sprachumschalter ("ENG"/"DE") mit Trennstrich davor, wie Original */
.main-navigation .menu>li.fba-lang-switch{margin-left:6px;padding-left:14px;border-left:1px solid rgba(0,0,0,.18);}
.main-navigation .menu>li.fba-lang-switch>a{font-family:var(--fba-mono)!important;font-size:12px!important;letter-spacing:.12em;text-transform:uppercase;color:rgba(0,0,0,.6)!important;}
.main-navigation .menu>li.fba-lang-switch>a:hover{color:var(--fba-accent)!important;}

/* ---------- SCROLL-REVEAL ---------- */
.js-reveal .fba-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);}
.js-reveal .fba-reveal.fba-in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.js-reveal .fba-reveal{opacity:1!important;transform:none!important;transition:none;}}

/* ---------- FOOTER (weiß, abgerundete obere Ecken — Original-Stil) ---------- */
.site-footer .inside-site-info,.site-footer .copyright-bar{max-width:100%!important;width:100%!important;padding:0!important;float:none!important;}
/* Footer: EXAKT wie Original (rounded-t-[64px], weicher Schatten, overflow hidden, hoher z-index) */
.site-footer{background:#fff!important;color:#0a0a0a;border-top:0;border-radius:64px 64px 0 0!important;position:relative;z-index:20;margin-top:-64px;overflow:hidden;
  box-shadow:0 -20px 40px 0 rgba(0,0,0,.10)!important;}
.fba-footer{max-width:none;width:100%;margin:0;padding:80px 5vw 34px;}
.fba-footer-main{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;max-width:1280px;margin:0 auto;}
.fba-footer-brand{display:flex;flex-direction:column;}
.fba-footer-logo{font-family:var(--fba-sans);font-weight:700;font-size:clamp(3.5rem,11vw,8rem);letter-spacing:-.04em;line-height:.78;color:#0a0a0a;}
.fba-footer-slogan{font-family:var(--fba-sans);font-weight:300;font-size:clamp(1.2rem,2.6vw,1.9rem);letter-spacing:-.01em;color:rgba(10,10,10,.8);margin-top:18px;position:relative;width:fit-content;cursor:pointer;transform-origin:left center;transition:transform .3s ease;}
.fba-footer-wave{display:block;width:min(360px,100%);height:14px;margin-top:3px;}
.fba-footer-slogan:hover{animation:fba-slogan-pulse 1.1s ease-in-out infinite;}
@keyframes fba-slogan-pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.06);}}
@media(prefers-reduced-motion:reduce){.fba-footer-slogan:hover{animation:none;}}
.fba-footer-right{display:flex;flex-direction:column;align-items:flex-end;gap:28px;padding-bottom:60px;}
.fba-footer-status{display:inline-flex;align-items:center;gap:11px;background:rgba(10,10,10,.05);border:1px solid rgba(10,10,10,.1);border-radius:999px;padding:11px 24px;font-family:var(--fba-mono);font-size:13px;text-transform:uppercase;letter-spacing:.14em;color:rgba(10,10,10,.8);}
.fba-footer-status .fba-dot{position:relative;display:inline-block;width:10px;height:10px;flex:0 0 auto;}
.fba-footer-status .fba-dot::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--fba-accent);}
.fba-footer-status .fba-dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--fba-accent);animation:fba-ping 1.4s cubic-bezier(0,0,.2,1) infinite;}
@keyframes fba-ping{0%{transform:scale(1);opacity:.75;}75%,100%{transform:scale(2.4);opacity:0;}}
@media(prefers-reduced-motion:reduce){.fba-footer-status .fba-dot::after{animation:none;}}
.fba-footer-social a{color:#0a0a0a;margin-left:32px;font-size:1.125rem;font-weight:500;text-decoration:none;transition:color .3s;}
.fba-footer-social a:first-child{margin-left:0;}
.fba-footer-social a:hover{color:var(--fba-accent);}
.fba-footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;align-items:center;max-width:1280px;margin:48px auto 0;
  padding-top:24px;border-top:1px solid rgba(10,10,10,.1);font-family:var(--fba-mono);font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:rgba(10,10,10,.4);}
.fba-footer-bottom > span:first-child,.fba-footer-legal{display:inline-flex;}
.fba-footer-legal a{color:rgba(10,10,10,.4);text-decoration:none;margin:0 10px;transition:color .25s;}
.fba-footer-legal a:hover{color:var(--fba-accent);}
.fba-footer-credit{text-transform:none!important;letter-spacing:normal!important;}
@media(max-width:780px){.fba-footer-main{flex-direction:column;align-items:flex-start;}.fba-footer-right{align-items:flex-start;padding-bottom:0;}.fba-footer-bottom{flex-direction:column;align-items:flex-start;}}

/* Unterseiten (Impressum etc.): Abstand wegen fixed Header + lesbare Breite */
.page:not(.home) .site-content,.single .site-content,.error404 .site-content,.search .site-content{padding-top:130px;padding-bottom:80px;}
.page:not(.home) .entry-title,.single .entry-title{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:30px;}
.page:not(.home) .entry-content h2{margin-top:2em;font-size:1.4rem;}

/* Front-Page: Seitentitel ("Startseite") + Header-Bereich ausblenden (OnePager) */
.home .entry-header,.home .page-hero,.home .entry-title,
.home .entry-header,.home .entry-title{display:none!important;}
.home .entry-content{margin-top:0;}

::selection{background:var(--fba-accent);color:#fff;}

/* ============ KOMPONENTEN (v0.3) ============ */

/* ---------- ARSENAL: volle-Breite-Zeilen (Text links, Bild rechts) ---------- */
.fba-arsenal-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0;min-height:440px;overflow:hidden;
  position:sticky;top:100px;border-radius:24px;border:4px solid rgba(0,0,0,.08);box-shadow:0 24px 60px rgba(0,0,0,.18);}
.fba-arsenal-row .fba-arsenal-text{padding:64px;}
.fba-arsenal-row .fba-arsenal-media{height:100%;min-height:420px;background-size:cover;background-position:center;}
.fba-arsenal-row h3{font-family:var(--fba-mono);text-transform:uppercase;letter-spacing:.12em;font-size:1.6rem;margin:0 0 1rem;}
.fba-arsenal-row.dark{background:var(--fba-dark);} .fba-arsenal-row.dark h3{color:#fff;} .fba-arsenal-row.dark p{color:#a3a3a3;}
.fba-arsenal-row.orange{background:var(--fba-accent);} .fba-arsenal-row.orange h3,.fba-arsenal-row.orange p{color:#fff;}
.fba-arsenal-row.flip .fba-arsenal-text{order:2;} .fba-arsenal-row.flip .fba-arsenal-media{order:1;}

/* ---------- CASE-STUDY-KARTEN (bunte Karten + Logo) ---------- */
.fba-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-top:50px;}
.fba-card{position:relative;aspect-ratio:3/4;border-radius:14px;overflow:hidden;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;box-shadow:0 18px 40px rgba(0,0,0,.12);transition:transform .3s ease;}
.fba-card:hover{transform:translateY(-8px) scale(1.02);}
.fba-card::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.18);}
.fba-card img{position:relative;z-index:2;max-width:62%;max-height:90px;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.25));}

/* ---------- GRÜNDER-SPLIT (Foto links, Zitat rechts) ---------- */
.fba-founder{display:grid;grid-template-columns:0.9fr 1.1fr;gap:60px;align-items:center;max-width:1100px;margin:0 auto;}
/* Foto: rotierender konischer Gradient-Rand (border-beam, wie Original animate-spin 8s) */
.fba-founder-photo{position:relative;border-radius:28px;padding:3px;overflow:hidden;background:#fff;box-shadow:0 24px 60px rgba(0,0,0,.16);}
/* Rotierende Umrandung: oranger Akzent-Glanz, der ums Foto läuft. (Das Original nutzte einen
   dunklen conic-Sektor — der war auf dem weißen Rand praktisch unsichtbar; Akzent-Orange ist
   klar erkennbar UND markengerecht.) */
.fba-founder-photo::before{content:"";position:absolute;inset:-100%;z-index:0;background:conic-gradient(from 0deg, transparent 0deg, transparent 170deg, rgba(255,79,0,.95) 250deg, rgba(255,160,110,.9) 300deg, transparent 360deg);animation:fba-spin 5s linear infinite;}
.fba-founder-photo img{position:relative;z-index:1;width:100%;display:block;border-radius:25px;object-fit:cover;object-position:top;aspect-ratio:4/5;background:#f0efed;}
@keyframes fba-spin{to{transform:rotate(360deg);}}
@media(prefers-reduced-motion:reduce){.fba-founder-photo::before{animation:none;}}
/* orange Anführungszeichen-Icon über dem Zitat */
.fba-quote-icon{width:48px;height:48px;color:rgba(255,79,0,.2);margin-bottom:1.5rem;}
.fba-founder blockquote{margin:0;font-size:1.3rem;font-weight:300;line-height:1.6;color:rgba(0,0,0,.8);border:0;padding:0;}
.fba-founder-meta{margin-top:1.8rem;padding-top:1.6rem;border-top:1px solid rgba(0,0,0,.1);}
.fba-founder-name{display:flex;align-items:center;gap:12px;font-family:var(--fba-sans);font-weight:700;font-size:1.85rem;color:var(--fba-ink);}
.fba-founder-name a{display:inline-flex;padding:6px;border-radius:8px;color:rgba(0,0,0,.5);transition:all .2s;}
.fba-founder-name a:hover{color:var(--fba-ink);background:rgba(0,0,0,.05);transform:scale(1.1);}
.fba-founder-role{display:block;margin-top:.4rem;color:var(--fba-accent);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.9rem;}

/* ---------- TEAM: Foto-Mosaik (versetzte Spalten) + kategorisierte Namensliste ---------- */
.fba-team-box{max-width:1400px;margin:50px auto 0;background:rgba(0,0,0,.02);border:1px solid rgba(0,0,0,.05);border-radius:3rem;padding:48px;}
.fba-team-inner{display:flex;gap:56px;justify-content:center;align-items:flex-start;flex-wrap:wrap;}
.fba-team-photos{display:flex;gap:12px;flex-shrink:0;}
.fba-team-pcol{display:flex;flex-direction:column;gap:12px;}
.fba-team-pcol-2{margin-top:71px;}
.fba-team-pcol-3{margin-top:34px;}
.fba-team-photo{border-radius:12px;overflow:hidden;box-shadow:0 18px 38px rgba(0,0,0,.16);background:#e7e5e4;}
.fba-team-pcol-1 .fba-team-photo{width:134px;height:172px;}
.fba-team-pcol-2 .fba-team-photo{width:148px;height:188px;}
.fba-team-pcol-3 .fba-team-photo{width:140px;height:178px;}
.fba-team-photo img{width:100%;height:100%;object-fit:cover;border-radius:8px;filter:brightness(.9);transition:filter .4s ease,transform .4s ease;}
.fba-team-photo:hover img{filter:brightness(1.05);transform:scale(1.04);}
.fba-team-list{display:flex;flex-direction:column;gap:38px;}
.fba-team-cat h3{font-family:var(--fba-mono);font-weight:700;color:#ff6b35;text-transform:uppercase;letter-spacing:.2em;font-size:14px;margin:0 0 20px;}
.fba-team-member{margin-bottom:18px;transition:opacity .3s ease;cursor:pointer;}
.fba-team-photo{transition:opacity .3s ease,transform .3s ease,box-shadow .3s ease;cursor:pointer;}
/* Hover über Name ODER Foto: alle dimmen, verknüpften Partner (Name+Foto) hervorheben */
.fba-team-active .fba-team-member,.fba-team-active .fba-team-photo{opacity:.28;}
.fba-team-active .fba-team-member.fba-team-hl{opacity:1;}
.fba-team-active .fba-team-photo.fba-team-hl{opacity:1;transform:scale(1.06);box-shadow:0 0 0 3px var(--fba-accent),0 18px 40px rgba(0,0,0,.22);}
.fba-team-active .fba-team-photo.fba-team-hl img{filter:brightness(1.05)!important;}
.fba-team-member-name{display:flex;align-items:center;gap:10px;font-family:var(--fba-sans);font-weight:700;font-size:21px;letter-spacing:-.01em;color:rgba(0,0,0,.8);line-height:1;}
.fba-team-member-name::before{content:"";width:16px;height:12px;border-radius:5px;background:rgba(0,0,0,.1);flex:0 0 auto;}
.fba-team-member-name a{display:inline-flex;padding:4px;border-radius:5px;color:rgba(0,0,0,.5);transition:all .2s;}
.fba-team-member-name a:hover{color:#000;background:rgba(0,0,0,.05);}
.fba-team-member-role{margin:6px 0 0 26px;font-family:var(--fba-mono);font-weight:700;text-transform:uppercase;letter-spacing:.2em;font-size:11.5px;color:rgba(0,0,0,.6);}
@media(max-width:900px){.fba-team-inner{gap:30px;}.fba-team-photos{flex-wrap:wrap;justify-content:center;}}

/* ---------- TRUST-LOGOS ---------- */
/* "Arbeiten Sie mit uns": Hover skaliert die Überschrift (wie Original hover:scale-105) */
.fba-hover-title{display:inline-block;transition:transform .4s cubic-bezier(.22,1,.36,1);cursor:default;}
.fba-hover-title:hover{transform:scale(1.05);}
/* Trust: "Die Besten sind schon hier" - hellgrau, uppercase, tracking-widest (slate-500) */
.fba-brands-eyebrow{font-family:var(--fba-sans);color:#64748b;text-transform:uppercase;letter-spacing:.2em;font-size:13px;font-weight:500;margin:0 0 1rem;}
/* Trust-Logos: 4er-Batch-Karussell, Wellen-Einblendung von rechts, Pause, dann nächste 4 */
.fba-brands{display:grid;grid-template-columns:repeat(4,1fr);gap:50px;align-items:center;max-width:1050px;margin:10px auto 0;min-height:130px;}
.fba-brand-slot{display:flex;align-items:center;justify-content:center;opacity:0;transform:translateX(45px);transition:opacity .6s ease,transform .6s cubic-bezier(.22,1,.36,1);}
.fba-brand-slot.in{opacity:1;transform:none;}
.fba-brand-slot img{max-height:72px;max-width:100%;object-fit:contain;filter:drop-shadow(0 12px 22px rgba(0,0,0,.12));}
@media(max-width:700px){.fba-brands{grid-template-columns:repeat(2,1fr);gap:30px;}}

/* ---------- GLOBALE EXPANSION: Text + rotierende Weltkugel (cobe) ---------- */
.fba-globe-sec{background:var(--fba-bg);padding:64px 24px;overflow:hidden;}
.fba-globe-wrap{max-width:1200px;margin:0 auto;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:40px;}
.fba-globe-text{max-width:560px;flex:1 1 0;}
.fba-globe-title{color:var(--fba-ink)!important;text-align:left;font-family:var(--fba-sans);font-weight:800;letter-spacing:-.02em;font-size:clamp(2rem,4.5vw,3.5rem)!important;line-height:1.05;margin:0 0 24px!important;}
.fba-globe-title span{color:var(--fba-accent);}
.fba-globe-sub{color:rgba(10,10,10,.6);font-weight:300;font-size:clamp(1.05rem,2.2vw,1.25rem);line-height:1.65;max-width:480px;margin:0 0 32px;}
.fba-globe-pills{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 40px;}
.fba-globe-pills span{padding:5px 14px;background:rgba(10,10,10,.05);color:rgba(10,10,10,.8);border:1px solid rgba(10,10,10,.1);border-radius:9999px;font-family:var(--fba-mono);font-size:12px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;}
.fba-globe-btn{display:inline-flex;align-items:center;gap:10px;height:56px;padding:0 32px;background:var(--fba-ink);color:#fff;border-radius:9999px;font-weight:700;font-size:1.05rem;text-decoration:none;box-shadow:0 1px 3px rgba(0,0,0,.1);transition:background .25s ease,transform .25s ease;}
.fba-globe-btn:hover{background:#27272a;transform:translateY(-2px);}
.fba-globe-btn svg{transition:transform .25s ease;}
.fba-globe-btn:hover svg{transform:translateX(4px);}
.fba-globe-canvas-wrap{position:relative;flex:1 1 0;max-width:500px;height:520px;display:flex;align-items:center;justify-content:center;}
#fba-globe{width:100%;max-width:520px;aspect-ratio:1/1;transform:scale(1.18);opacity:0;transition:opacity .6s ease;contain:layout paint size;}
#fba-globe.fba-globe-on{opacity:1;}
/* Globe = statisches Bild (von header.js per Klasse gesetzt, ALLE Breakpoints).
   Ersetzt die animierte WebGL-Kugel -> kein Main-Thread-Block, kein GPU-Ruckeln. */
.fba-globe-canvas-wrap.fba-globe-static{background:url(/wp-content/uploads/2026/06/globe-final.png) center/contain no-repeat;}
.fba-globe-canvas-wrap.fba-globe-static #fba-globe{display:none!important;}
@media(min-width:901px){.fba-globe-canvas-wrap.fba-globe-static{background-size:118% auto;}}
@media(max-width:900px){
  .fba-globe-wrap{flex-direction:column-reverse;gap:24px;}
  .fba-globe-text,.fba-globe-sub{max-width:none;}
  .fba-globe-canvas-wrap{height:380px;width:100%;}
  #fba-globe{transform:scale(1.25);}
}

/* ---------- THE JOURNEY: dunkle sticky-Scroll-Timeline ---------- */
/* The Journey – Timeline (Original: weiß, schwarze Schrift, blassgraue Jahre, orange Bullets) */
.fba-journey{background:var(--fba-bg);padding:80px 24px 120px;}
.fba-journey-head{max-width:1200px;margin:0 auto 40px;padding:0 8px;}
.fba-journey-title{color:var(--fba-ink)!important;text-align:left;font-family:var(--fba-sans);font-weight:800;text-transform:uppercase;letter-spacing:-.03em;font-size:clamp(1.75rem,4vw,3rem)!important;line-height:1.02;margin:0 0 16px!important;}
.fba-journey-sub{color:rgba(10,10,10,.7);font-weight:300;font-size:clamp(1rem,2.2vw,1.15rem);line-height:1.6;max-width:720px;margin:0;}
.fba-timeline{max-width:1200px;margin:0 auto;position:relative;}
.fba-tl-item{display:grid;grid-template-columns:300px 1fr;gap:40px;padding-top:96px;position:relative;}
.fba-tl-item:first-child{padding-top:40px;}
.fba-tl-left{position:sticky;top:140px;align-self:start;display:flex;align-items:center;gap:28px;height:40px;z-index:2;}
.fba-tl-dot{width:40px;height:40px;border-radius:50%;background:var(--fba-bg);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.fba-tl-dot::after{content:"";width:14px;height:14px;border-radius:50%;background:var(--fba-bg);border:1px solid #e5e7eb;}
.fba-tl-year{font-family:var(--fba-sans);font-weight:800;font-size:clamp(1.8rem,4.5vw,3rem);color:rgba(10,10,10,.2);letter-spacing:-.02em;line-height:1;}
.fba-tl-content{padding-top:2px;}
.fba-tl-content h3{color:var(--fba-ink);font-family:var(--fba-sans);font-size:clamp(1.3rem,3vw,1.9rem);font-weight:700;margin:0 0 18px;letter-spacing:-.01em;}
.fba-tl-content ul{list-style:none;margin:0;padding:0;}
.fba-tl-content li{color:rgba(10,10,10,.7);padding-left:26px;position:relative;margin-bottom:16px;line-height:1.6;font-weight:300;font-size:clamp(1rem,2.2vw,1.125rem);}
.fba-tl-content li::before{content:"•";position:absolute;left:0;top:-.05em;color:var(--fba-accent);font-size:1.15rem;line-height:1.6;}
/* durchgehende Linie + scroll-aktivierter Fortschritt (Dot-Mitte = 20px) */
.fba-tl-line{position:absolute;left:19px;top:8px;bottom:8px;width:2px;
  background:linear-gradient(to bottom,transparent,rgba(10,10,10,.1) 8%,rgba(10,10,10,.1) 92%,transparent);}
.fba-tl-progress{position:absolute;left:0;top:0;width:2px;height:0;border-radius:2px;
  background:linear-gradient(to top,var(--fba-accent),rgba(255,79,0,.15));}
@media(max-width:760px){
  .fba-tl-item{grid-template-columns:1fr;gap:8px;padding-left:48px;padding-top:56px;}
  .fba-tl-left{position:static;height:auto;gap:14px;}
  .fba-tl-dot{position:absolute;left:0;}
  .fba-tl-year{font-size:1.7rem;}
  .fba-tl-line{left:19px;}
}

/* ---------- TESTIMONIALS: 3 vertikale Lauf-Spalten (links runter, mitte hoch, rechts runter) ---------- */
.fba-testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1150px;margin:50px auto 0;height:620px;overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 13%,#000 87%,transparent);mask-image:linear-gradient(180deg,transparent,#000 13%,#000 87%,transparent);}
/* kein gap (sonst Loop-Sprung); margin-bottom je Karte -> nahtloser Loop bei translateY(-50%) */
.fba-tcol{display:flex;flex-direction:column;will-change:transform;}
.fba-tcol-down{animation:fba-vdown 38s linear infinite;}
.fba-tcol-up{animation:fba-vup 38s linear infinite;}
@keyframes fba-vdown{from{transform:translateY(-50%);}to{transform:translateY(0);}}
@keyframes fba-vup{from{transform:translateY(0);}to{transform:translateY(-50%);}}
@media(prefers-reduced-motion:reduce){.fba-tcol{animation:none;}}
@media(max-width:700px){.fba-testimonials{grid-template-columns:1fr;height:520px;}.fba-tcol:nth-child(n+2){display:none;}}
.fba-tcard{background:#fff;border:1px solid var(--fba-line);border-radius:14px;padding:24px;text-align:left;flex:0 0 auto;margin-bottom:18px;}
.fba-tcard .fba-stars{color:var(--fba-accent);font-size:13px;letter-spacing:2px;margin-bottom:10px;}
.fba-tcard p{font-size:.95rem;color:#404040;margin:0 0 14px;}
.fba-tcard .fba-tauthor{display:flex;align-items:center;gap:10px;font-family:var(--fba-mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--fba-ink);}
.fba-tcard .fba-tauthor .fba-tavatar{width:48px;height:48px;border-radius:50%;object-fit:cover;background:#f0efed;flex:0 0 auto;border:1px solid rgba(0,0,0,.05);}

/* ---------- CASE-STUDY 3D-BÜHNE (schräger Coverflow, wie Original: große Karten, kompakt gefächert) ---------- */
.fba-stage{perspective:1100px;max-width:1300px;margin:60px auto 0;}
.fba-stage-cards{position:relative;height:600px;transform-style:preserve-3d;}
.fba-stage-card{position:absolute;top:0;left:50%;width:740px;max-width:90vw;aspect-ratio:16/10;margin-left:-370px;
  border-radius:24px;overflow:hidden;background-size:cover;background-position:center;
  display:flex;align-items:center;justify-content:center;box-shadow:0 40px 90px rgba(0,0,0,.34);
  transition:transform .6s cubic-bezier(.22,1,.36,1),opacity .6s ease;will-change:transform;cursor:pointer;}
.fba-stage-card::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.18);}
.fba-stage-card img{position:relative;z-index:2;max-width:50%;max-height:150px;object-fit:contain;filter:drop-shadow(0 6px 16px rgba(0,0,0,.3));}
.fba-stage-cap{position:absolute;z-index:3;bottom:18px;left:0;width:100%;text-align:center;font-family:var(--fba-mono);
  text-transform:uppercase;letter-spacing:.1em;font-size:11px;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.6);padding:0 16px;}
.fba-stage-dots{display:flex;gap:10px;justify-content:center;margin-top:36px;}
.fba-stage-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#d4d2ce;cursor:pointer;transition:all .3s ease;}
.fba-stage-dots button.active{background:var(--fba-accent);width:26px;border-radius:5px;}
@media(max-width:800px){.fba-stage-cards{height:300px;}.fba-stage-card{width:78vw;margin-left:-39vw;}
  /* Coverflow-Seitenkarten ragen per translateX seitlich raus -> mobil clippen (sonst horizontaler Body-Overflow ~812px). Desktop behält den Fächer. */
  .fba-stage{overflow-x:clip;}}


/* ---------- RESPONSIVE ---------- */
@media(max-width:900px){
  .fba-stack{max-width:100%;}
  .fba-stack-card{top:90px;}
  .fba-arsenal-row{grid-template-columns:1fr;}
  .fba-arsenal-row .fba-arsenal-media{min-height:240px;order:2!important;}
  .fba-arsenal-row .fba-arsenal-text{order:1!important;padding:40px 28px;}
  .fba-founder{grid-template-columns:1fr;gap:30px;}
  .fba-testimonials{columns:1;}
}

/* ---------- MOBILE NAVIGATION: Hamburger-Dropdown (v0.7) ----------
   Fix: Desktop hatte .menu per display:flex!important global erzwungen ->
   Links blieben mobil sichtbar. GP-Toggle-JS funktioniert (setzt .toggled),
   daher reiner CSS-Fix: Links mobil verstecken, per Hamburger als Dropdown zeigen. */
@media(max-width:768px){
  /* Pille oben RECHTS statt zentriert (left:50%/translateX schob den Hamburger aus dem Viewport) */
  .site-header{left:auto!important;right:12px!important;transform:none!important;top:18px;}
  body.admin-bar .site-header{top:64px;}
  /* Nur EINEN Hamburger zeigen: primärer (control-wrapper); internen Nav-Toggle ausblenden (sonst doppelt) */
  #site-navigation .menu-toggle{display:none!important;}
  #mobile-menu-control-wrapper .menu-toggle{width:48px;height:48px;display:flex!important;align-items:center;justify-content:center;
    background:#fff!important;border-radius:999px;box-shadow:0 6px 22px rgba(0,0,0,.14);color:#0a0a0a!important;padding:0;}
  #mobile-menu-control-wrapper .menu-toggle .gp-icon{color:#0a0a0a!important;font-size:20px;}
  #mobile-menu-control-wrapper .menu-toggle .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);}
  /* Menü-Links standardmäßig versteckt -> nur das Hamburger-Icon sichtbar */
  #site-navigation .menu{display:none!important;}
  /* Aufgeklappt (.toggled von GP gesetzt): schwebendes Dropdown-Panel oben rechts unter der Pille */
  #site-navigation.toggled .menu{
    display:flex!important;flex-direction:column!important;align-items:stretch!important;
    position:fixed;top:74px;right:12px;left:auto;
    background:#fff!important;border:1px solid var(--fba-line);border-radius:16px;padding:10px;min-width:212px;max-width:82vw;
    box-shadow:0 16px 48px rgba(0,0,0,.18);gap:2px;z-index:9999;
  }
  #site-navigation.toggled .menu>li{width:100%;border:0!important;}
  #site-navigation.toggled .menu>li>a{display:block;padding:11px 16px!important;border-radius:10px;text-align:left;line-height:1.3!important;}
  #site-navigation.toggled .menu>li>a:hover{background:var(--fba-bg-2);}
  /* Sprachumschalter mobil: eigener Block statt vertikalem Trenner */
  #site-navigation.toggled .menu>li.fba-lang-switch{margin-left:0;padding-left:16px;border-left:0;
    border-top:1px solid rgba(0,0,0,.1);margin-top:4px;padding-top:6px;}
  /* aktiver Menüpunkt: Punkt-Indikator links statt mittig */
  #site-navigation.toggled .menu .current-menu-item>a::after{left:16px;transform:none;}
}

/* ---------- MOBILE FEINSCHLIFF: Globe + Team (v0.9) ---------- */
@media(max-width:600px){
  .fba-globe-sec{padding:48px 20px;}

  /* TEAM: 3 Foto-Spalten (446px, flex-shrink:0) ragten über die Box (Innenbreite nur ~246px
     wegen padding:48px) -> Bilder am Rand abgeschnitten. Mobil: weniger Padding, kleinere Fotos,
     sauber zentriert mit Rand, gleichmäßiger Versatz statt großer Desktop-Staffelung. */
  .fba-team-box{padding:20px 14px;border-radius:26px;margin:40px 0 0;}
  .fba-team-inner{gap:22px;}
  /* Fotos als 3-Spalten-Grid das sich an die Box-Innenbreite anpasst (kein Überlauf, immer Rand) */
  .fba-team-photos{display:grid!important;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;flex-wrap:nowrap;}
  .fba-team-pcol{margin-top:0!important;display:flex;flex-direction:column;gap:8px;}
  .fba-team-pcol-1 .fba-team-photo,
  .fba-team-pcol-2 .fba-team-photo,
  .fba-team-pcol-3 .fba-team-photo{width:100%!important;height:auto!important;aspect-ratio:134/172;}
}

/* ---------- WELTKUGEL responsive (v0.17) ----------
   Tablet 801-1024px: animierter WebGL-Globe (header.js baut ihn >800px), nur kleiner/scale raus.
   ≤800px: WebGL-Globe wird NICHT gebaut (header.js, Performance auf schwachen GPUs) -> Canvas
   ausblenden + STATISCHES Bild zeigen (kein Ruckeln/Freeze beim Scrollen). */
@media(max-width:1024px) and (min-width:801px){
  #fba-globe{transform:none!important;width:100%!important;max-width:360px!important;}
  .fba-globe-canvas-wrap{height:auto!important;width:100%!important;max-width:360px;margin:0 auto;aspect-ratio:1/1;}
}
@media(max-width:800px){
  #fba-globe{display:none!important;}
  .fba-globe-canvas-wrap{
    height:auto!important;width:100%!important;max-width:300px;margin:0 auto;aspect-ratio:1/1;
    background:url(/wp-content/uploads/2026/06/globe-final.png) center/contain no-repeat;
  }
}
