/* FIB Startseite: Mischung aus Richtung A (Behörden-Hightech) und B (Cinematic), gewählt von Leon am 26.10.2026.
   Grundlage A: Glasflächen, Lichtkanten, Farben, FIB Sans, Hologramm-Siegel. Von B: Vollbild-Szene mit dem Hauptquartier, Parallax, Filmkorn,
   Letterbox, große Versalien, sich füllende Leitsätze, Besetzungsliste, GESUCHT-Plakate.
   Die Klassen und IDs für landing.js bleiben unverändert: .leadership-*, .public-wanted-*, data-*-report-open, Dialog-IDs.
   Bilder lokal (WebP in mehreren Breiten), keine externen Ressourcen. Animiert werden nur transform und opacity. */

/* Kopfzeile: schwebende Glasleiste */
.fib-a > header { position: sticky; top: 14px; z-index: 50; width: min(1480px, calc(100vw - 48px)); height: auto; margin: 14px auto 0; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 12px 10px 16px; border-radius: 20px; border: 1px solid var(--a-line); background: linear-gradient(180deg, rgba(14, 38, 78, .86), rgba(6, 20, 44, .86)); backdrop-filter: blur(18px) saturate(1.3); -webkit-backdrop-filter: blur(18px) saturate(1.3); box-shadow: 0 20px 50px -20px #000c, inset 0 1px 0 rgba(255, 255, 255, .14); }
.fib-a .brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: inherit; }
.fib-a .brand img { width: 44px; height: 44px; object-fit: contain; filter: drop-shadow(0 0 12px rgba(110, 190, 255, .55)); }
.fib-a .brand picture { display: flex; flex: none; }
.fib-a .hero .photo picture, .fib-a .band .layer picture { display: block; width: 100%; height: 100%; }
.fib-a .brand strong { display: block; font-weight: 700; letter-spacing: .16em; font-size: 17px; line-height: 1.1; color: var(--a-text); }
.fib-a .brand small { display: block; color: var(--a-muted); font-size: 12px; letter-spacing: .04em; white-space: nowrap; margin: 0; }
.fib-a .brand { flex: none; }
.fib-a > header nav { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.fib-a > header nav a { white-space: nowrap; padding: 9px 10px; border-radius: 10px; color: var(--a-text2); text-decoration: none; font-size: 14.5px; font-weight: 500; border: 1px solid transparent; transition: background .2s, color .2s; }
.fib-a > header nav a:hover, .fib-a > header nav a[aria-current="true"] { color: #fff; background: rgba(130, 200, 255, .14); }
.fib-a > header nav .sep { width: 1px; height: 24px; background: var(--a-line); margin: 0 8px; flex: none; }
.fib-a > header nav a.login { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 15px; border-radius: 12px; border-color: var(--a-line2); background: rgba(130, 200, 255, .08); color: var(--a-text); font-weight: 600; }
.fib-a > header nav a.login:hover { background: rgba(130, 200, 255, .18); box-shadow: 0 10px 30px -10px rgba(110, 190, 255, .6); }
.fib-a > header nav a.login:last-child { border-color: rgba(255, 255, 255, .7); background: linear-gradient(180deg, #c3e8ff, #7cc2f5); color: var(--a-ink); }
.fib-a > header nav a.login:last-child:hover { background: linear-gradient(180deg, #dcf1ff, #98d0ff); }
.fib-a > header nav a.login span { color: inherit; opacity: .8; }
.nav-toggle { display: none; width: 46px; height: 46px; border-radius: 14px; border: 1px solid var(--a-line2); background: rgba(130, 200, 255, .1); color: var(--a-text); cursor: pointer; place-items: center; }
.nav-toggle svg { width: 22px; height: 22px; }

/* Abschnitte */
.fib-a main { max-width: none; margin: 0; padding: 0; }
.fib-a .wrap { width: min(1320px, calc(100vw - 48px)); margin: 0 auto; }
.fib-a .section { padding: clamp(72px, 10vw, 150px) 0 0; }
.fib-a h2 { font-size: clamp(32px, 4.2vw, 62px); line-height: 1.06; background: linear-gradient(180deg, #fff 30%, #a9c7ea); -webkit-background-clip: text; background-clip: text; color: transparent; padding-bottom: .1em; }
.fib-a .lede { color: var(--a-muted); max-width: 60ch; margin: 18px 0 0; }
.fib-a .sec-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; flex-wrap: wrap; }
.fib-a .sec-head .lede { margin: 0; max-width: 46ch; }
.js [data-reveal] { transition: opacity .8s cubic-bezier(.2, .7, .2, 1), transform .8s cubic-bezier(.2, .7, .2, 1); transition-delay: calc(var(--d, 0) * 90ms); }
.js [data-reveal]:not(.in) { opacity: 0; transform: translateY(28px); }
/* Oben in der Szene erscheinen die Texte per CSS-Animation (unabhängig davon, wann die Skripte geladen sind); das Einblenden per Skript gilt nur weiter unten */
.js .hero [data-reveal]:not(.in) { opacity: 1; transform: none; }
.fib-a .hero [data-reveal] { animation: fa-up .8s cubic-bezier(.2, .7, .2, 1) both; animation-delay: calc(var(--d, 0) * 90ms); }
@keyframes fa-up { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }

/* Hero (Mischung A+B): Vollbild-Szene mit dem nächtlichen Hauptquartier, Parallax, Filmkorn und Letterbox; darauf das Hologramm-Siegel aus A */
.fib-a { --hh: 80px; }
.grain { position: fixed; inset: -50%; z-index: 90; pointer-events: none; opacity: .06; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"); animation: fa-grain 1.2s steps(6) infinite; will-change: transform; }
@keyframes fa-grain { 0% { transform: translate(0, 0); } 20% { transform: translate(-3%, 2%); } 40% { transform: translate(2%, -4%); } 60% { transform: translate(-2%, 3%); } 80% { transform: translate(4%, 1%); } 100% { transform: translate(0, 0); } }
.fib-a .hero { position: relative; isolation: isolate; overflow: hidden; border: 0; width: auto; max-width: none; margin: calc(var(--hh) * -1) 0 0; min-height: max(100vh, 760px); min-height: max(100svh, 760px); padding: 0; display: grid; align-items: end; }
.fib-a .hero .layer { position: absolute; z-index: -3; inset: -6% -3%; will-change: transform; pointer-events: none; }
.fib-a .hero .photo { transform: translate3d(0, calc(var(--sy, 0) * .22px), 0) scale(1.06); }
.fib-a .hero .photo img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 52% 40%; }
.fib-a .hero .tint { z-index: -2; inset: 0; background: linear-gradient(180deg, rgba(3, 11, 26, .85) 0%, rgba(3, 11, 26, .18) 30%, rgba(3, 11, 26, .5) 66%, var(--a-bg) 100%), radial-gradient(60% 50% at 78% 28%, rgba(90, 170, 255, .28), transparent 70%), radial-gradient(70% 70% at 12% 62%, rgba(20, 70, 160, .5), transparent 70%); }
.fib-a .hero .vig { z-index: -2; inset: 0; background: radial-gradient(120% 90% at 50% 40%, transparent 40%, rgba(2, 6, 16, .8) 100%); }
.fib-a .hero .fog { z-index: -2; inset: auto -10% 0 -10%; height: 60%; background: radial-gradient(60% 100% at 30% 100%, rgba(120, 170, 230, .26), transparent 70%), radial-gradient(50% 100% at 75% 100%, rgba(120, 170, 230, .18), transparent 70%); animation: fa-fog 22s ease-in-out infinite alternate; }
@keyframes fa-fog { to { translate: 6% 0; } }
.fib-a .bars::before, .fib-a .bars::after { content: ""; position: absolute; left: 0; right: 0; height: clamp(8px, 1.8vw, 26px); background: #000; z-index: 3; pointer-events: none; }
.fib-a .bars::before { top: 0; }
.fib-a .bars::after { bottom: 0; }
.fib-a .hero-in { position: relative; z-index: 2; width: min(1320px, calc(100vw - 48px)); margin: 0 auto; padding: calc(var(--hh) + 60px) 0 clamp(34px, 6vh, 64px); display: grid; gap: clamp(28px, 5vh, 56px); }
.fib-a .hero-copy { max-width: 100%; }
.fib-a .chip { display: inline-flex; align-items: center; gap: 10px; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--a-line2); background: rgba(6, 20, 44, .55); font: 500 12.5px/1.2 var(--a-mono); letter-spacing: .18em; text-transform: uppercase; color: var(--a-text2); }
.fib-a .chip .dot { position: relative; isolation: isolate; width: 8px; height: 8px; border-radius: 50%; background: var(--a-ok); }
/* Ping-Ring: wächst und blendet aus, nur transform und opacity (läuft auf dem Compositor). Vorher wurde box-shadow animiert; das zeichnet jedes Bild
   im Hauptthread neu und hat auf Handys die ganze Seite ausgebremst. Gleiches Bild: Ring von 8 px auf 28 px, Deckkraft .6 auf 0, dann Pause. */
.fib-a .chip .dot::after { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: 50%; background: rgba(111, 219, 166, .6); will-change: transform, opacity; animation: fa-ping 2.4s infinite; }
@keyframes fa-ping { 0% { transform: scale(1); opacity: 1; } 70%, 100% { transform: scale(3.5); opacity: 0; } }
.fib-a .hero h1 { margin: clamp(18px, 3vh, 30px) 0 clamp(16px, 2.6vh, 26px); font: 800 clamp(44px, 8vw, 142px)/.9 var(--a-ui); letter-spacing: -.035em; text-transform: uppercase; color: #fff; filter: drop-shadow(0 10px 40px rgba(0, 0, 0, .55)); background: none; -webkit-text-fill-color: currentColor; }
.fib-a .hero h1 .line { display: block; overflow: hidden; padding-bottom: .04em; }
.fib-a .hero h1 .line > i { display: block; font-style: normal; animation: fa-rise 1.1s cubic-bezier(.2, .8, .2, 1) both; }
.fib-a .hero h1 .line:nth-child(2) > i { animation-delay: .12s; font-size: .86em; letter-spacing: -.04em; background: linear-gradient(100deg, #7cc2f5 0%, #d6efff 38%, #5aa9ff 62%, #9fd6ff 100%); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.fib-a .hero h1 .line:nth-child(3) > i { animation-delay: .24s; }
@keyframes fa-rise { from { transform: translateY(105%); } to { transform: none; } }
.fib-a .hero .lead { font-size: clamp(19px, 2vw, 30px); font-weight: 600; color: #fff; margin: 0 0 12px; letter-spacing: .01em; }
.fib-a .hero .intro { max-width: 54ch; color: var(--a-text2); margin: 0 0 26px; }
.fib-a .hero .cta { display: flex; flex-wrap: wrap; gap: 12px; }
.fib-a .hero .cta .primary { position: relative; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 0 24px; border-radius: 14px; border: 1px solid rgba(255, 255, 255, .7); background: linear-gradient(180deg, #c3e8ff, #7cc2f5); color: var(--a-ink); font: 700 15px/1.2 var(--a-ui); text-decoration: none; box-shadow: 0 0 0 1px rgba(255, 255, 255, .4) inset, 0 12px 40px -10px rgba(110, 190, 255, .75); transition: transform .2s, background .2s; }
.fib-a .hero .cta .primary::after { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, .7) 50%, transparent 65%); transform: translateX(-120%); animation: fa-sheen 5s 1.5s infinite; pointer-events: none; }
.fib-a .hero .cta .primary:hover { background: linear-gradient(180deg, #dcf1ff, #98d0ff); transform: translateY(-2px); }
.fib-a .hero .cta svg { width: 16px; height: 16px; }

/* Meldewege als Glasleiste am Fuß der Szene (ein Container .actions, damit landing.js und die Tests ihn wie bisher finden) */
.fib-a .actions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--a-line2); border-radius: 22px; background: linear-gradient(150deg, rgba(14, 40, 80, .72), rgba(6, 20, 44, .62)); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: 0 30px 60px -30px #000d, inset 0 1px 0 rgba(255, 255, 255, .16); overflow: hidden; }
.fib-a .report-label { grid-column: 1 / -1; margin: 0; padding: 12px 22px 0; font: 500 12px/1 var(--a-mono); letter-spacing: .22em; color: var(--a-accent); text-transform: uppercase; }
.fib-a .actions > .report-tile { appearance: none; position: relative; text-align: left; cursor: pointer; display: grid; grid-template-columns: auto minmax(0, 1fr); align-content: start; gap: 4px 14px; align-items: center; margin: 0; padding: 18px 22px; min-height: 0; border: 0; border-radius: 0; border-left: 1px solid var(--a-line); background: none; box-shadow: none; color: var(--a-text); font: inherit; text-decoration: none; transition: background .3s; }
.fib-a .actions > .report-tile:nth-child(2) { border-left: 0; }
.fib-a .actions > .report-tile:hover { background: linear-gradient(90deg, rgba(150, 200, 255, .13), transparent); transform: none; }
.fib-a .actions > .report-tile:focus-visible { outline: 2px solid var(--a-accent); outline-offset: -4px; border-radius: 0; }
.fib-a .report-tile .ic { grid-row: span 2; width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: rgba(130, 200, 255, .14); border: 1px solid var(--a-line); color: var(--a-accent); }
.fib-a .report-tile .ic svg { width: 22px; height: 22px; }
.fib-a .report-tile strong { font-size: 15.5px; line-height: 1.25; font-weight: 600; padding-right: 22px; }
.fib-a .report-tile small { font-size: 13px; color: var(--a-muted); line-height: 1.4; }
.fib-a .report-tile .go { position: absolute; right: 16px; top: 16px; color: var(--a-accent); opacity: .7; transition: .25s; }
.fib-a .report-tile:hover .go { opacity: 1; transform: translate(2px, -2px); }
.fib-a .report-tile .go svg { width: 16px; height: 16px; }

/* Hologramm-Siegel: dezent rechts in der Szene */
.fib-a .hero-visual { position: absolute; z-index: 1; right: max(24px, calc((100vw - 1320px) / 2)); top: 48%; width: min(40vw, 540px); aspect-ratio: 1; transform: translate3d(0, calc(-50% + var(--sy, 0) * .1px), 0); opacity: .82; pointer-events: none; }
.fib-a .stage { position: relative; aspect-ratio: 1; width: 100%; margin: 0 auto; perspective: 1100px; }
.fib-a .stage .tilt { position: absolute; inset: 0; transform-style: preserve-3d; transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform .15s ease-out; }
.fib-a .stage .halo { position: absolute; inset: 6%; border-radius: 50%; background: radial-gradient(circle, rgba(70, 160, 255, .55), rgba(70, 120, 255, .12) 55%, transparent 70%); filter: blur(30px); animation: fa-breathe 6s ease-in-out infinite; }
@keyframes fa-breathe { 50% { opacity: .6; transform: scale(1.06); } }
.fib-a .stage svg.ring { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.fib-a .ring .spin1 { transform-origin: 300px 300px; animation: fa-spin 90s linear infinite; }
.fib-a .ring .spin2 { transform-origin: 300px 300px; animation: fa-spin 60s linear infinite reverse; }
.fib-a .ring text { font: 500 14.5px var(--a-mono); letter-spacing: .35em; fill: var(--a-accent); }
.fib-a .sweep { position: absolute; inset: 7%; border-radius: 50%; background: conic-gradient(from 0deg, transparent 0 70%, rgba(130, 210, 255, 0) 70%, rgba(130, 210, 255, .5) 99%, transparent 100%); -webkit-mask: radial-gradient(circle, transparent 66%, #000 67%, #000 70%, transparent 71%); mask: radial-gradient(circle, transparent 66%, #000 67%, #000 70%, transparent 71%); animation: fa-spin 6s linear infinite; }
.fib-a .seal { position: absolute; left: 50%; top: 50%; width: 54%; aspect-ratio: 1; transform: translate(-50%, -50%) translateZ(60px); animation: fa-float 7s ease-in-out infinite; }
@keyframes fa-float { 50% { transform: translate(-50%, -53%) translateZ(60px); } }
.fib-a .seal img, .fib-a .seal picture img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 0 40px rgba(110, 190, 255, .6)) drop-shadow(0 20px 30px rgba(0, 0, 0, .6)); }
.fib-a .seal .holo { position: absolute; inset: 2%; border-radius: 50%; overflow: hidden; mix-blend-mode: color-dodge; opacity: .5; pointer-events: none; }
/* Schimmer als echte Endlosschleife, nur mit transform (läuft auf dem Compositor, nicht im Hauptthread): Das Band (Maske) wandert über das Siegel und
   die Farben (conic) stehen dabei still. Die Maskenkachel ist 1,7 Siegelbreiten lang und die Bewegung genau eine Kachel: Wenn ein Band rechts austritt,
   tritt das nächste links ein, Anfang und Ende der Schleife sind bildgleich (kein Sprung, keine Lücke). */
.fib-a .seal .holo i { position: absolute; top: 0; bottom: 0; left: -170%; width: 340%; will-change: transform; -webkit-mask: linear-gradient(115deg, transparent 21.2%, #000 50%, transparent 78.8%) 0 0 / 50% 100% repeat-x; mask: linear-gradient(115deg, transparent 21.2%, #000 50%, transparent 78.8%) 0 0 / 50% 100% repeat-x; animation: fa-holo-band 2.8s linear infinite; }
.fib-a .seal .holo i::before { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 29.4118%; background: conic-gradient(from 20deg, #6ee7ff, #8a7bff, #ff9be3, #ffe58a, #6ee7ff); will-change: transform; animation: fa-holo-color 2.8s linear infinite; }
@keyframes fa-holo-band { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(50%, 0, 0); } }
@keyframes fa-holo-color { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(-170%, 0, 0); } }
.fib-a .seal .scan { position: absolute; inset: 3%; border-radius: 50%; overflow: hidden; pointer-events: none; }
/* Scan-Linie: läuft ohne Pause durch (kein Stillstand wie ein Abbruch) und nur per transform */
.fib-a .seal .scan::after { content: ""; position: absolute; left: 0; right: 0; height: 22%; top: -22%; background: linear-gradient(180deg, transparent, rgba(160, 225, 255, .45), transparent); will-change: transform; animation: fa-scan 3.5s linear infinite; }
@keyframes fa-scan { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(0, 554.55%, 0); } }

/* Szene aus dem Sichtfeld: Animationen des Siegels stehen still (spart Akku und Rechenzeit), beim Zurückscrollen laufen sie weiter */
.fib-a .hero-visual.off *, .fib-a .hero-visual.off *::before, .fib-a .hero-visual.off *::after { animation-play-state: paused !important; }

/* Zahlen */
.fib-a .stats { max-width: none; margin: clamp(30px, 4vw, 52px) auto 0; width: min(1320px, calc(100vw - 48px)); padding: 0; border: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.fib-a .stats > div { position: relative; padding: 26px 28px; display: flex; align-items: center; gap: 20px; border-radius: 24px; border: 1px solid var(--a-line); background: var(--a-glass); box-shadow: 0 30px 60px -30px #000d, inset 0 1px 0 rgba(255, 255, 255, .14); }
.fib-a .stats strong { font: 800 clamp(40px, 4.4vw, 64px)/1 var(--a-ui); letter-spacing: .04em; color: #fff; background: linear-gradient(180deg, #fff, #7cb6f0); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.fib-a .stats span { color: var(--a-muted); font-size: 15px; line-height: 1.35; margin: 0; }

/* Leitsätze: füllen sich beim Scrollen (ohne Skript und bei reduzierter Bewegung stehen sie voll) */
.fib-a .motto { width: min(1320px, calc(100vw - 48px)); margin: clamp(60px, 9vw, 130px) auto 0; }
.fib-a .motto .fill { display: block; font: 800 clamp(34px, 9.3vw, 124px)/1.02 var(--a-ui); letter-spacing: -.03em; text-transform: uppercase; color: transparent; -webkit-text-stroke: 1px rgba(190, 225, 255, .55); background: linear-gradient(90deg, #fff calc(var(--p, 100) * 1%), transparent calc(var(--p, 100) * 1% + .01%)); -webkit-background-clip: text; background-clip: text; }
.fib-a .motto .fill:nth-child(3) { padding-left: clamp(0px, 9vw, 150px); }

/* Mission als Fotoband */
.fib-a .band { position: relative; margin-top: clamp(70px, 9vw, 130px); min-height: clamp(520px, 56vw, 780px); overflow: hidden; display: grid; align-items: center; isolation: isolate; }
.fib-a .band .layer { position: absolute; inset: -12% 0; z-index: -3; will-change: transform; transform: translate3d(0, calc(var(--bo, 0) * .1px), 0); }
.fib-a .band .layer img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 100% 70%; }
.fib-a .band::before { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(3, 11, 26, .94) 0%, rgba(3, 11, 26, .66) 42%, rgba(3, 11, 26, .1) 80%), linear-gradient(180deg, var(--a-bg), transparent 24%, transparent 70%, var(--a-bg)); }
.fib-a .band-in { width: min(1320px, calc(100vw - 48px)); margin: 0 auto; padding: 60px 0 clamp(90px, 10vw, 150px); }
.fib-a .band h2 { max-width: 14em; }
.fib-a .band .band-text { max-width: 46ch; margin: 24px 0 0; font-size: clamp(17px, 1.6vw, 22px); line-height: 1.6; color: var(--a-text2); }

/* Leitwerte (Glas), überlappen das Fotoband */
.fib-a .values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: clamp(-120px, -8vw, -60px); position: relative; z-index: 2; }
.fib-a .values .glass { padding: 26px; background: linear-gradient(150deg, rgba(24, 62, 118, .72), rgba(8, 26, 56, .68)); }
.fib-a .values .ic, .fib-a .ic-box { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; background: rgba(130, 200, 255, .14); border: 1px solid var(--a-line); color: var(--a-accent); margin-bottom: 18px; }
.fib-a .values .ic svg { width: 24px; height: 24px; }
.fib-a .values h3 { font-size: 22px; margin-bottom: 8px; }
.fib-a .values p { margin: 0; color: var(--a-text2); font-size: 15.5px; }

/* Abteilungen (Bento) */
.fib-a .bento { display: grid; grid-template-columns: repeat(12, 1fr); gap: 16px; margin-top: 40px; }
.fib-a .bento .glass { padding: 30px; min-height: 230px; display: flex; flex-direction: column; justify-content: flex-end; gap: 10px; }
.fib-a .bento .glass:nth-child(1) { grid-column: span 7; }
.fib-a .bento .glass:nth-child(2) { grid-column: span 5; }
.fib-a .bento .glass:nth-child(3) { grid-column: span 5; }
.fib-a .bento .glass:nth-child(4) { grid-column: span 7; }
.fib-a .bento .abbr { position: absolute; right: 22px; top: 6px; font: 800 clamp(64px, 8vw, 120px)/1 var(--a-ui); letter-spacing: .02em; color: transparent; -webkit-text-stroke: 1px rgba(150, 215, 255, .32); pointer-events: none; }
.fib-a .bento h3 { font-size: 24px; position: relative; }
.fib-a .bento p { margin: 0; color: var(--a-muted); max-width: 46ch; position: relative; font-size: 15.5px; }
.fib-a .bento .k { font: 500 12px var(--a-mono); letter-spacing: .2em; color: var(--a-accent); text-transform: uppercase; position: relative; }

/* Überschriften der Abschnitte: große Versalien (B) in der Schrift und Farbe von A, nummerierte Kicker */
.fib-a h2 { font-size: clamp(34px, 5.6vw, 88px); line-height: .98; letter-spacing: -.025em; text-transform: uppercase; font-weight: 800; }
.fib-a .eyebrow[data-no]::before { content: attr(data-no); width: auto; height: auto; background: none; color: var(--a-text2); }
.fib-a .sec-head .lede, .fib-a .public-wanted-heading > p { max-width: 44ch; }

/* Leitung als Besetzungsliste im Abspann-Stil (Karten kommen aus landing.js; Fotos bleiben vollständig sichtbar) */
.fib-a .leadership-section { display: block; }
.fib-a .leadership-grid { margin-top: 56px; display: grid; gap: 52px; }
.fib-a .leadership-row { position: relative; display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; padding-top: 38px; }
.fib-a .leadership-row::before { position: absolute; top: 0; left: 0; right: 0; text-align: center; font: 500 12px/1 var(--a-mono); letter-spacing: .34em; text-transform: uppercase; color: var(--a-accent); }
.fib-a .leadership-directors::before { content: "\25C6   In den Hauptrollen   \25C6"; }
.fib-a .leadership-members::before { content: "\25C6   Weitere Besetzung   \25C6"; }
.fib-a .leadership-card { position: relative; display: flex; flex-direction: column; flex: 0 1 calc((100% - 40px) / 3); min-width: 0; min-height: 0; text-align: center; border: 0; border-radius: 0; background: none; box-shadow: none; overflow: visible; transition: transform .35s; }
.fib-a .leadership-card:hover { transform: translateY(-6px); border: 0; box-shadow: none; }
.fib-a .leadership-card img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 4.6; object-fit: contain; object-position: center; border: 1px solid var(--a-line2); border-radius: 8px; background: radial-gradient(circle at 50% 35%, #0e2a55, #050f22); filter: grayscale(.45) contrast(1.05); box-shadow: 0 30px 60px -34px #000d; transition: filter .5s, border-color .35s; }
.fib-a .leadership-card:hover img { filter: none; border-color: var(--a-accent); }
.fib-a .leadership-card > div { padding: 22px 8px 0; border: 0; }
.fib-a .leadership-card > div::before { content: ""; display: block; width: 44px; height: 2px; margin: 0 auto 16px; background: linear-gradient(90deg, transparent, var(--a-accent), transparent); }
.fib-a .leadership-card .eyebrow { display: block; margin: 0 0 8px; font-size: 12px; letter-spacing: .24em; }
.fib-a .leadership-card .eyebrow::before { display: none; }
.fib-a .leadership-card h3 { font: 800 22px/1.15 var(--a-ui); letter-spacing: .02em; text-transform: uppercase; margin: 0; }
.fib-a .leadership-card > div > p:last-child { margin: 10px auto 0; max-width: 34ch; color: var(--a-muted); font-size: 15px; line-height: 1.55; }
.fib-a .leadership-card.director { flex-basis: calc((100% - 20px) / 2); }
.fib-a .leadership-card.director img { aspect-ratio: 16 / 11; height: auto; }
.fib-a .leadership-card.director h3 { font-size: clamp(26px, 3.2vw, 46px); line-height: 1.05; }
.fib-a .leadership-empty, .fib-a .public-wanted-empty { grid-column: 1 / -1; margin: 0; padding: 26px; border-radius: 18px; border: 1px dashed var(--a-line2); background: rgba(130, 200, 255, .06); color: var(--a-text2); text-align: center; }

/* Fahndungen als GESUCHT-Plakate (Karten kommen aus landing.js; Gefahrenstufe steht als Text im Stempel) */
.fib-a .public-wanted-section { display: block; }
.fib-a .public-wanted-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; flex-wrap: wrap; grid-template-columns: none; }
.fib-a .public-wanted-heading > p { margin: 0; color: var(--a-muted); line-height: 1.65; }
.fib-a .public-wanted-grid { margin-top: 48px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 480px), 1fr)); gap: 20px; }
.fib-a .public-wanted-card { position: relative; display: grid; grid-template-columns: 42% 1fr; border-radius: 10px; border: 1px solid rgba(255, 143, 136, .45); background: linear-gradient(160deg, rgba(48, 12, 22, .62), rgba(3, 11, 26, .9)); overflow: hidden; box-shadow: 0 30px 60px -34px rgba(255, 80, 80, .55); }
.fib-a .public-wanted-card::before { content: "GESUCHT"; position: absolute; left: 0; right: 0; top: 0; z-index: 3; padding: 8px 18px; background: linear-gradient(90deg, #b3262e, #7d1a21); color: #fff; font: 600 12.5px/1 var(--a-mono); letter-spacing: .5em; }
.fib-a .public-wanted-image { position: relative; min-height: 340px; background: #05101f; overflow: hidden; }
.fib-a .public-wanted-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.15); }
.fib-a .public-wanted-image::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(0deg, rgba(0, 0, 0, .18) 0 1px, transparent 1px 3px); pointer-events: none; }
.fib-a .public-wanted-placeholder { position: absolute; inset: 0; width: auto; height: auto; display: grid; place-items: center; font: 800 56px var(--a-ui); letter-spacing: .1em; color: rgba(159, 214, 255, .4); background: radial-gradient(circle at 50% 40%, #12315f, #050f22); }
.fib-a .public-wanted-image span { position: absolute; left: 14px; right: auto; bottom: 16px; top: auto; z-index: 2; padding: 7px 12px; border-radius: 3px; border: 2px solid var(--a-danger); background: rgba(30, 6, 10, .88); color: #ffd2cf; font: 600 12.5px/1 var(--a-mono); letter-spacing: .16em; text-transform: uppercase; transform: rotate(-4deg); }
.fib-a .public-wanted-image span::before { content: "\25B2  Gefahr \00B7  "; }
.fib-a .public-wanted-copy { padding: 58px 26px 26px; display: grid; gap: 12px; align-content: start; }
.fib-a .public-wanted-copy .eyebrow { color: var(--a-danger); margin: 0; font-size: 11.5px; }
.fib-a .public-wanted-copy .eyebrow::before { background: linear-gradient(90deg, transparent, var(--a-danger)); }
.fib-a .public-wanted-copy h3 { font: 800 clamp(24px, 2.4vw, 34px)/1.05 var(--a-ui); text-transform: uppercase; margin: 0; letter-spacing: .01em; }
.fib-a .public-wanted-copy dl { margin: 0; display: grid; gap: 10px; }
.fib-a .public-wanted-copy dl div { padding: 0; border: 0; }
.fib-a .public-wanted-copy dt { font: 500 11.5px var(--a-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--a-accent); }
.fib-a .public-wanted-copy dd { margin: 2px 0 0; color: var(--a-text); }
.fib-a .public-wanted-copy > p:not(.eyebrow) { margin: 0; color: var(--a-muted); font-size: 15px; }
.fib-a .public-wanted-copy > strong { display: block; margin: 0; padding: 12px 0 0; border: 0; border-top: 1px solid rgba(255, 143, 136, .35); background: none; font-size: 14px; color: #ffd2cf; }

/* Informationen */
.fib-a .citizen { display: block; }
.fib-a .service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 40px; }
.fib-a .service-grid article { position: relative; padding: 30px; display: flex; flex-direction: column; gap: 12px; border-radius: 24px; border: 1px solid var(--a-line); background: var(--a-glass); box-shadow: 0 30px 60px -30px #000d, inset 0 1px 0 rgba(255, 255, 255, .14); }
.fib-a .service-grid .n { font: 800 64px/1 var(--a-ui); color: transparent; -webkit-text-stroke: 1px rgba(150, 215, 255, .5); }
.fib-a .service-grid h3 { font-size: 23px; font-family: var(--a-ui); }
.fib-a .service-grid p { margin: 0; color: var(--a-muted); font-size: 15.5px; flex: 1; }
.fib-a .service-grid small { align-self: flex-start; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--a-line2); background: rgba(130, 200, 255, .1); color: var(--a-accent); font: 500 12px var(--a-mono); letter-spacing: .1em; text-transform: uppercase; }
.fib-a .steps-head { margin-top: 64px; }
.fib-a .steps { margin: 44px 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); counter-reset: s; position: relative; }
.fib-a .steps::before { content: ""; position: absolute; left: 5%; right: 5%; top: 25px; height: 1px; background: linear-gradient(90deg, transparent, var(--a-accent), transparent); opacity: .5; }
.fib-a .steps li { position: relative; padding: 0 18px; text-align: center; counter-increment: s; }
.fib-a .steps li::before { content: counter(s); display: grid; place-items: center; width: 52px; height: 52px; margin: 0 auto 16px; border-radius: 50%; background: var(--a-bg2); border: 1px solid var(--a-line2); font: 600 18px var(--a-mono); color: var(--a-accent); box-shadow: 0 0 30px rgba(90, 170, 255, .4); position: relative; }
.fib-a .steps h3 { margin: 0 0 6px; font-size: 19px; }
.fib-a .steps p { margin: 0; color: var(--a-muted); font-size: 15px; }

/* Häufige Fragen */
.fib-a .faq { margin-top: 40px; display: grid; gap: 12px; max-width: 900px; }
.fib-a .faq details { border-radius: 18px; border: 1px solid var(--a-line); background: var(--a-glass); padding: 0 22px; transition: border-color .2s; }
.fib-a .faq details[open] { border-color: var(--a-line2); }
.fib-a .faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 16px; align-items: center; min-height: 60px; font-weight: 600; font-size: 17px; }
.fib-a .faq summary::-webkit-details-marker { display: none; }
.fib-a .faq summary::after { content: "+"; font: 400 26px/1 var(--a-ui); color: var(--a-accent); transition: transform .25s; flex: none; }
.fib-a .faq details[open] summary::after { transform: rotate(45deg); }
.fib-a .faq details p { margin: 0 0 20px; color: var(--a-muted); }

/* Behördenband */
.fib-a .agency { margin-top: clamp(60px, 8vw, 110px); padding: clamp(30px, 5vw, 60px); display: grid; grid-template-columns: 1.3fr auto; gap: 30px; align-items: center; background: linear-gradient(120deg, rgba(40, 120, 230, .35), rgba(30, 60, 140, .3) 60%, rgba(110, 90, 255, .25)); border-radius: 24px; border: 1px solid var(--a-line); box-shadow: 0 30px 60px -30px #000d, inset 0 1px 0 rgba(255, 255, 255, .14); }
.fib-a .agency h2 { font-size: clamp(28px, 3.2vw, 46px); }
.fib-a .agency p { margin: 12px 0 0; color: var(--a-text2); max-width: 58ch; }
.fib-a .agency .btns { display: flex; gap: 12px; flex-wrap: wrap; }

/* Fuß */
.fib-a > footer { display: block; margin-top: clamp(70px, 9vw, 130px); padding: 0; border-top: 1px solid var(--a-line); background: linear-gradient(180deg, transparent, rgba(3, 11, 26, .9)); color: var(--a-muted); }
.fib-a .foot { width: min(1320px, calc(100vw - 48px)); margin: 0 auto; padding: 44px 0 70px; display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 32px; }
.fib-a .foot .brand img { width: 56px; height: 56px; }
.fib-a .foot p { color: var(--a-muted); font-size: 14.5px; margin: 14px 0 0; max-width: 48ch; }
.fib-a .foot h3 { margin: 0 0 12px; font: 500 12px var(--a-mono); letter-spacing: .2em; text-transform: uppercase; color: var(--a-accent); }
.fib-a .foot ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.fib-a .foot a { color: var(--a-text2); text-decoration: none; }
.fib-a .foot a:hover { color: #fff; text-decoration: underline; }
.fib-a .foot .sig { display: flex; align-items: center; gap: 10px; margin-top: 18px; color: var(--a-muted); font-size: 13px; flex-wrap: wrap; position: static; padding: 0; border: 0; background: none; box-shadow: none; }
.fib-a .foot .sig .panel-copyright { padding: 0; border: 0; color: var(--a-muted); font-size: 13px; white-space: normal; }
.fib-a .foot .sig .ver { padding: 4px 10px; border-radius: 999px; border: 1px solid var(--a-line); font: 500 11.5px var(--a-mono); color: var(--a-text2); background: none; }
.fib-a .foot .sig .panel-made-by { color: var(--a-muted); font-size: 13px; }
.fib-a .foot .sig .panel-creator { display: inline-flex; align-items: center; gap: 8px; color: var(--a-text); text-decoration: none; font-weight: 700; }
.fib-a .foot .sig .panel-creator:hover { text-decoration: underline; }
.fib-a .foot .sig .panel-creator img { width: 26px; height: 26px; border-radius: 50%; border: 1px solid var(--a-line); object-fit: cover; }
.fib-a .foot-bottom { width: min(1320px, calc(100vw - 48px)); margin: 0 auto; padding: 0 0 36px; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 13px; color: var(--a-faint); }

/* Meldeformulare (Dialoge); Klassen und IDs unverändert für landing.js, form-drafts.js und file-drop.js */
.fib-a .corruption-report-dialog { width: min(720px, calc(100vw - 24px)); max-width: none; max-height: calc(100dvh - 24px); padding: 0; border: 1px solid rgba(150, 215, 255, .38); border-radius: 20px; background: #07172f; color: var(--a-text); box-shadow: 0 40px 120px -20px #000c, 0 0 0 1px #ffffff0a inset; overflow: auto; font-family: var(--a-ui); }
.fib-a .corruption-report-dialog::backdrop { background: rgba(2, 8, 20, .78); }
.fib-a .corruption-report-dialog[open] { animation: fa-dlg .28s cubic-bezier(.2, .8, .2, 1); }
@keyframes fa-dlg { from { opacity: 0; transform: translateY(14px) scale(.985); } to { opacity: 1; transform: none; } }
.fib-a .corruption-report-dialog form { display: grid; gap: 14px; padding: clamp(18px, 3vw, 30px); }
.fib-a .corruption-report-head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }
.fib-a .corruption-report-head .eyebrow { margin: 0 0 6px; font-size: 12px; }
.fib-a .corruption-report-head .eyebrow::before { display: none; }
.fib-a .corruption-report-head h2 { margin: 0; font: 650 clamp(22px, 3vw, 30px)/1.15 var(--a-ui); background: none; color: var(--a-text); -webkit-text-fill-color: currentColor; }
.fib-a .corruption-report-close { flex: none; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(150, 215, 255, .38); background: transparent; color: inherit; font-size: 24px; line-height: 1; cursor: pointer; }
.fib-a .corruption-report-close:hover { background: rgba(130, 200, 255, .14); }
.fib-a .corruption-report-intro { margin: 0; color: var(--a-muted); line-height: 1.6; font-size: 15px; }
.fib-a .corruption-report-contact { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.fib-a .corruption-report-dialog label { display: grid; gap: 6px; font-size: 14px; font-weight: 600; color: var(--a-text); }
.fib-a .corruption-report-dialog label small, .fib-a .corruption-report-dialog label span { font-weight: 400; font-size: 12px; color: var(--a-muted); }
.fib-a .corruption-report-dialog label span { color: var(--a-accent); }
.fib-a .corruption-report-dialog input, .fib-a .corruption-report-dialog textarea, .fib-a .corruption-report-dialog select { width: 100%; padding: 12px 14px; border-radius: 10px; border: 1px solid rgba(150, 215, 255, .38); background: rgba(3, 12, 28, .8); color: var(--a-text); font: 400 15px/1.4 var(--a-ui); }
.fib-a .corruption-report-dialog textarea { min-height: 120px; resize: vertical; }
.fib-a .corruption-report-dialog input:focus-visible, .fib-a .corruption-report-dialog textarea:focus-visible, .fib-a .corruption-report-dialog select:focus-visible { outline: 2px solid var(--a-accent); outline-offset: 1px; border-color: var(--a-accent); }
.fib-a .corruption-report-dialog ::placeholder { color: var(--a-faint); opacity: 1; }
.fib-a .corruption-report-honeypot { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.fib-a .corruption-report-actions { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.fib-a .corruption-report-actions button { min-height: 46px; padding: 0 20px; border-radius: 12px; font: 600 15px var(--a-ui); cursor: pointer; border: 1px solid rgba(150, 215, 255, .38); background: transparent; color: var(--a-text); }
.fib-a .corruption-report-actions button:hover { background: rgba(130, 200, 255, .12); }
.fib-a .corruption-report-actions button.primary { background: linear-gradient(180deg, #b6e2ff, #7cc2f5); color: var(--a-ink); border-color: transparent; }
.fib-a .corruption-report-actions button.primary:hover { background: linear-gradient(180deg, #cdeaff, #92ceff); }
.fib-a .corruption-report-actions button[disabled] { opacity: .6; cursor: progress; }
.fib-a .corruption-report-status { min-height: 1.4em; margin: 0; font-size: 14px; color: var(--a-muted); }
.fib-a .corruption-report-status.success { color: var(--a-ok); }

/* Fuß: riesiges Schriftbild als Abspann */
.fib-a > footer .big { margin: 0 0 -.12em; font: 800 clamp(120px, 34vw, 560px)/.8 var(--a-ui); letter-spacing: .04em; color: transparent; -webkit-text-stroke: 1px rgba(190, 225, 255, .2); text-align: center; user-select: none; pointer-events: none; overflow: hidden; }

/* Mobil */
@media (max-width: 1560px) { .fib-a > header .brand small { display: none; } }
@media (max-width: 1280px) { .fib-a > header nav .sep { margin: 0 2px; } .fib-a > header nav a { font-size: 13.5px; padding: 9px 7px; } .fib-a > header nav a.login { padding: 0 12px; } }
@media (max-width: 1100px) {
  /* Das Menü ist von Anfang an eingeklappt (nicht erst, wenn das Skript die Klasse .js setzt): sonst stand es beim Laden offen und die Seite sprang um über 200 px. Ohne Skript zeigt <noscript> in index.html es wieder. */
  .nav-toggle { display: grid; }
  .fib-a > header nav { position: absolute; left: 0; right: 0; top: calc(100% + 10px); flex-direction: column; align-items: stretch; padding: 14px; border-radius: 20px; border: 1px solid var(--a-line); background: rgba(6, 20, 44, .97); backdrop-filter: blur(18px); display: none; }
  .fib-a > header nav.open { display: flex; }
  .fib-a > header nav { flex-wrap: wrap; justify-content: flex-end; }
  .fib-a > header nav .sep { width: auto; height: 1px; margin: 6px 0; }
  .fib-a > header nav a { padding: 13px 14px; font-size: 16px; }
  .fib-a > header nav a.login { justify-content: center; }
  .fib-a .hero { min-height: 0; }
  .fib-a .hero-in { padding-top: calc(var(--hh) + 36px); }
  .fib-a .hero-visual { position: relative; right: auto; top: auto; transform: none; width: min(62vw, 300px); margin: calc(var(--hh) + 20px) auto -10px; opacity: .9; z-index: 2; }
  .fib-a .hero-in { padding-top: 24px; }
  .fib-a .actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fib-a .actions > .report-tile:nth-child(2) { border-left: 0; }
  .fib-a .actions > .report-tile:nth-child(4) { border-left: 0; border-top: 1px solid var(--a-line); }
  .fib-a .actions > .report-tile:nth-child(5) { border-top: 1px solid var(--a-line); }
  .fib-a .sec-head, .fib-a .public-wanted-heading { align-items: flex-start; }
  .fib-a .bento .glass:nth-child(n) { grid-column: span 12; }
  .fib-a .public-wanted-grid { grid-template-columns: 1fr; }
  .fib-a .foot { grid-template-columns: 1fr 1fr; }
  .fib-a .foot > div:first-child { grid-column: 1 / -1; }
  .fib-a .agency { grid-template-columns: 1fr; }
  .fib-a .leadership-card { flex-basis: calc((100% - 20px) / 2); }
}
@media (max-width: 760px) {
  .fib-a { font-size: 16.5px; --hh: 68px; }
  .fib-a > header { top: 8px; margin-top: 8px; width: calc(100vw - 24px); padding: 8px 8px 8px 12px; }
  .fib-a .brand small { display: none; }
  /* Handy: weniger Rechenarbeit bei gleichem Bild. Körnung steht still und deckt nur den Bildschirm (nicht das Vierfache davon), die Weichzeichner auf
     den Leuchtflecken entfallen (die Verläufe laufen von selbst weich aus), Glas-Hintergrundunschärfe wird durch etwas dichteren Grund ersetzt. */
  .grain { animation: none; inset: 0; will-change: auto; }
  .fib-a .fx i { filter: none; opacity: .32; }
  .fib-a .stage .halo { filter: none; }
  .fib-a > header { -webkit-backdrop-filter: none; backdrop-filter: none; background: linear-gradient(180deg, rgba(14, 38, 78, .94), rgba(6, 20, 44, .94)); }
  .fib-a .actions { -webkit-backdrop-filter: none; backdrop-filter: none; background: linear-gradient(150deg, rgba(14, 40, 80, .86), rgba(6, 20, 44, .8)); }
  .fib-a .wrap, .fib-a .stats, .fib-a .foot, .fib-a .foot-bottom, .fib-a .motto, .fib-a .band-in, .fib-a .hero-in { width: calc(100vw - 32px); }
  .fib-a .hero-in { gap: 26px; padding-bottom: 28px; }
  .fib-a .hero h1 { font-size: clamp(40px, 12.4vw, 64px); }
  .fib-a .hero .intro { font-size: 16.5px; }
  .fib-a .hero .cta .primary { width: 100%; }
  .fib-a .actions { grid-template-columns: 1fr; border-radius: 18px; }
  .fib-a .actions > .report-tile, .fib-a .actions > .report-tile:nth-child(n) { border-left: 0; border-top: 1px solid var(--a-line); padding: 15px 18px; }
  .fib-a .actions > .report-label + .report-tile { border-top: 0; }
  .fib-a .stats, .fib-a .values, .fib-a .service-grid, .fib-a .steps { grid-template-columns: 1fr; }
  .fib-a .stats > div { padding: 20px 22px; }
  .fib-a .motto .fill { font-size: 8.2vw; padding-left: 0 !important; }
  .fib-a .band { min-height: 520px; }
  .fib-a .band::before { background: linear-gradient(180deg, rgba(3, 11, 26, .55), rgba(3, 11, 26, .92)), linear-gradient(180deg, var(--a-bg), transparent 20%, transparent 80%, var(--a-bg)); }
  .fib-a .band .layer img { object-position: 62% 60%; }
  .fib-a .values { margin-top: -48px; }
  .fib-a .leadership-card.director { flex-basis: 100%; }
  .fib-a .leadership-members .leadership-card { flex-basis: calc((100% - 16px) / 2); }
  .fib-a .leadership-members { gap: 28px 16px; }
  .fib-a .leadership-members .leadership-card h3 { font-size: 15px; }
  .fib-a .leadership-members .leadership-card .eyebrow { font-size: 10.5px; letter-spacing: .14em; }
  .fib-a .leadership-card img { aspect-ratio: 4 / 4.4; }
  .fib-a .leadership-grid { gap: 44px; }
  .fib-a .steps { gap: 26px; }
  .fib-a .steps::before { display: none; }
  .fib-a .public-wanted-card { grid-template-columns: 1fr; }
  .fib-a .public-wanted-image { min-height: 320px; }
  .fib-a .foot { grid-template-columns: 1fr; }
  .fib-a .corruption-report-contact { grid-template-columns: 1fr; }
  .fib-a .corruption-report-actions button { flex: 1; }
  .fib-a .agency .btns .btn { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .grain { display: none; }
  .fib-a .seal .holo { display: none; }
  .fib-a .hero .photo, .fib-a .band .layer, .fib-a .hero-visual { transform: none !important; }
  .fib-a .hero-visual { transform: translateY(-50%) !important; }
  .js [data-reveal]:not(.in) { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) and (max-width: 1100px) { .fib-a .hero-visual { transform: none !important; } }
