/* =========================================================
   BOOKFELS V3 — PATCH 001.5
   Asset Integration & Brand Alignment
   StructuredTrust™ Hero Intelligence Layer
   ========================================================= */

:root {
  color-scheme: dark;

  --bf-background: #050914;
  --bf-deep-space: #07101b;
  --bf-surface: #0e1726;
  --bf-surface-light: #152336;

  --bf-primary: #79a8ff;
  --bf-primary-glow: #5c92ff;
  --bf-accent-blue: #5acbff;
  --bf-accent-cyan: #7debff;

  --bf-success: #43d98c;
  --bf-warning: #f8c15a;
  --bf-danger: #ff6b7a;

  --bf-text: #f4f7fc;
  --bf-white: #eaf6ff;
  --bf-muted: #a9b6d3;

  --bf-glass: rgba(18, 26, 44, 0.68);
  --bf-glass-strong: rgba(15, 24, 40, 0.84);
  --bf-glass-inset: rgba(3, 9, 18, 0.32);
  --bf-border: rgba(255, 255, 255, 0.08);
  --bf-border-strong: rgba(255, 255, 255, 0.14);

  --bf-radius-sm: 12px;
  --bf-radius-md: 18px;
  --bf-radius-lg: 22px;
  --bf-radius-xl: 30px;
  --bf-radius-pill: 999px;

  --bf-shadow-soft: 0 20px 60px rgba(0, 0, 0, 0.35);
  --bf-shadow-focus: 0 0 0 4px rgba(121, 168, 255, 0.18);

  --bf-fast: 300ms;
  --bf-medium: 500ms;
  --bf-slow: 800ms;
  --bf-ease-standard: cubic-bezier(0.22, 0.61, 0.36, 1);
  --bf-ease-emphasized: cubic-bezier(0.16, 1, 0.3, 1);

  --bf-container: 1280px;
  --bf-gutter: clamp(20px, 4vw, 48px);
}

* , *::before, *::after { box-sizing: border-box; }
html { background: var(--bf-background); scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  color: var(--bf-text);
  background: var(--bf-background);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
img, svg, canvas { display: block; max-width: 100%; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible {
  outline: 2px solid var(--bf-primary);
  outline-offset: 4px;
  box-shadow: var(--bf-shadow-focus);
}
::selection { color: var(--bf-white); background: rgba(121,168,255,.28); }

.bf-shell {
  width: min(var(--bf-container), calc(100% - (2 * var(--bf-gutter))));
  margin-inline: auto;
}

.bf-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.bf-skip-link {
  position: fixed;
  z-index: 9999;
  top: 10px;
  left: 10px;
  padding: 10px 14px;
  border-radius: 10px;
  color: var(--bf-deep-space);
  background: var(--bf-accent-cyan);
  font-weight: 800;
  text-decoration: none;
  transform: translateY(-150%);
  transition: transform var(--bf-fast) var(--bf-ease-standard);
}
.bf-skip-link:focus { transform: translateY(0); }

/* Token-driven icon masks generated from BookFels Icon System V3.3 */
.bf-icon {
  width: 1.25em;
  height: 1.25em;
  display: inline-block;
  flex: 0 0 auto;
  color: var(--bf-accent-cyan);
  background: currentColor;
  -webkit-mask: var(--bf-icon-url) center / contain no-repeat;
  mask: var(--bf-icon-url) center / contain no-repeat;
}
.bf-icon--arrow-right { --bf-icon-url: url("../assets/icons/arrow-right.svg"); }
.bf-icon--check { --bf-icon-url: url("../assets/icons/check.svg"); }
.bf-icon--shield { --bf-icon-url: url("../assets/icons/shield.svg"); }
.bf-icon--analytics { --bf-icon-url: url("../assets/icons/analytics.svg"); }
.bf-icon--bot { --bf-icon-url: url("../assets/icons/bot.svg"); }
.bf-icon--document { --bf-icon-url: url("../assets/icons/document.svg"); }
.bf-icon--sparkles { --bf-icon-url: url("../assets/icons/sparkles.svg"); }
.bf-icon--lock { --bf-icon-url: url("../assets/icons/lock.svg"); }
.bf-icon--globe { --bf-icon-url: url("../assets/icons/globe.svg"); }
.bf-icon--users { --bf-icon-url: url("../assets/icons/users.svg"); }
.bf-icon--governance { --bf-icon-url: url("../assets/icons/governance.svg"); }
.bf-icon--government { --bf-icon-url: url("../assets/icons/government.svg"); }
.bf-icon--enterprise { --bf-icon-url: url("../assets/icons/enterprise.svg"); }
.bf-icon--research { --bf-icon-url: url("../assets/icons/research.svg"); }
.bf-icon--infrastructure { --bf-icon-url: url("../assets/icons/infrastructure.svg"); }

/* HERO */
.bf-hero {
  position: relative;
  isolation: isolate;
  min-height: 100svh;
  display: grid;
  align-items: center;
  overflow: hidden;
  padding: max(88px, env(safe-area-inset-top)) 0 max(82px, env(safe-area-inset-bottom));
  background:
    radial-gradient(900px 620px at 14% -8%, rgba(121,168,255,.12), transparent 64%),
    radial-gradient(780px 580px at 92% 12%, rgba(77,230,230,.07), transparent 66%),
    linear-gradient(180deg, var(--bf-background), var(--bf-deep-space));
}
.bf-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: auto 0 0;
  height: 240px;
  pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(5,9,20,.92));
}

/* ATMOSPHERE */
.bf-hero__atmosphere,
.bf-hero__grid,
.bf-hero__stars-fallback,
.bf-hero__vignette,
.bf-hero__star-canvas {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.bf-hero__atmosphere { z-index: -2; overflow: hidden; }
.bf-hero__universe {
  position: absolute;
  width: min(92vw, 1280px);
  height: auto;
  top: 50%;
  right: -24%;
  opacity: .18;
  mix-blend-mode: screen;
  transform: translateY(-50%);
  filter: saturate(.9) contrast(1.04);
}
.bf-hero__star-canvas { width: 100%; height: 100%; opacity: .8; }
.bf-hero__stars-fallback {
  opacity: .25;
  background-image:
    radial-gradient(circle at 12% 18%, rgba(234,246,255,.8) 0 1px, transparent 1.5px),
    radial-gradient(circle at 72% 22%, rgba(125,235,255,.68) 0 1px, transparent 1.5px),
    radial-gradient(circle at 48% 68%, rgba(121,168,255,.65) 0 1px, transparent 1.5px),
    radial-gradient(circle at 86% 74%, rgba(234,246,255,.56) 0 1px, transparent 1.5px),
    radial-gradient(circle at 30% 86%, rgba(125,235,255,.42) 0 1px, transparent 1.5px);
  background-size: 320px 280px, 420px 360px, 520px 440px, 610px 520px, 730px 620px;
}
.bf-hero__grid {
  opacity: .18;
  background-image:
    linear-gradient(rgba(121,168,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(121,168,255,.055) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to bottom, transparent 0%, black 24%, black 72%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 24%, black 72%, transparent 100%);
  transform: perspective(900px) rotateX(58deg) translateY(30%);
  transform-origin: center bottom;
}
.bf-hero__network {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: .08;
  pointer-events: none;
}
.bf-network__lines {
  fill: none;
  stroke: rgba(121,168,255,.24);
  stroke-width: .8;
  stroke-dasharray: 5 16;
  animation: bf-network-flow 28s linear infinite;
}
.bf-network__nodes { fill: var(--bf-accent-cyan); opacity: .46; }
@keyframes bf-network-flow { to { stroke-dashoffset: -210; } }
.bf-hero__vignette { background: radial-gradient(circle at 50% 42%, transparent 36%, rgba(1,4,10,.56) 100%); }
.bf-hero__orb {
  position: absolute;
  width: min(58vw, 760px);
  aspect-ratio: 1;
  border-radius: 50%;
  filter: blur(52px);
  will-change: transform, opacity;
}
.bf-hero__orb--primary { top: -34%; left: -16%; background: radial-gradient(circle, rgba(92,146,255,.2), transparent 68%); }
.bf-hero__orb--cyan { right: -28%; bottom: -44%; opacity: .62; background: radial-gradient(circle, rgba(77,230,230,.12), transparent 70%); }
[data-bf-ambient] { animation: bf-ambient-drift 16s var(--bf-ease-standard) infinite alternate; }
@keyframes bf-ambient-drift {
  from { transform: translate3d(-2px,2px,0) scale(1); opacity: .72; }
  to { transform: translate3d(6px,-4px,0) scale(1.012); opacity: .9; }
}

/* LAYOUT */
.bf-hero__layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(430px, .94fr);
  gap: clamp(44px, 6.5vw, 92px);
  align-items: center;
}
.bf-hero__content { min-width: 0; display: grid; gap: 24px; }

/* NO-JS SAFE STORY STAGES */
[data-bf-stage] { opacity: 1; transform: none; filter: none; }
.js .bf-hero[data-state="prepared"] [data-bf-stage] {
  opacity: 0;
  transform: translate3d(0, 15px, 0);
  filter: blur(5px);
}
.js .bf-hero[data-state="prepared"] [data-bf-stage="dashboard"] { transform: translate3d(16px,0,0) scale(.99); }
.js .bf-hero [data-bf-stage][data-visible="true"] {
  opacity: 1;
  transform: translate3d(0,0,0) scale(1);
  filter: blur(0);
  transition:
    opacity var(--bf-slow) var(--bf-ease-emphasized),
    transform var(--bf-slow) var(--bf-ease-emphasized),
    filter var(--bf-slow) var(--bf-ease-emphasized);
}

/* BRAND */
.bf-hero__brand { width: fit-content; display: inline-flex; gap: 13px; align-items: center; }
.bf-hero__brand-mark { width: 48px; height: 48px; filter: drop-shadow(0 0 14px rgba(92,146,255,.18)); }
.bf-hero__brand-copy { display: grid; gap: 2px; }
.bf-hero__brand-name { font-family: "Inter Tight", Inter, system-ui, sans-serif; font-size: 1.1rem; font-weight: 800; letter-spacing: -.025em; }
.bf-hero__brand-meta { color: var(--bf-muted); font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.bf-hero__leitmotif { margin-top: 3px; color: rgba(234,246,255,.74); font-size: .74rem; font-weight: 700; letter-spacing: .025em; }

/* HEADLINE */
.bf-hero__headline {
  margin: 0;
  font-family: "Inter Tight", Inter, system-ui, sans-serif;
  font-size: clamp(2.85rem, 5.1vw, 4.75rem);
  font-weight: 720;
  line-height: .98;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.bf-hero__headline-visual { display: grid; gap: .08em; }
.bf-hero__headline-line { display: block; min-height: 1em; }
.bf-hero__headline-line--accent {
  color: transparent;
  background: linear-gradient(135deg, var(--bf-primary), var(--bf-accent-cyan));
  -webkit-background-clip: text;
  background-clip: text;
}
.js .bf-hero[data-typing="true"] .bf-hero__headline-line[data-active="true"]::after {
  content: "";
  display: inline-block;
  width: .06em;
  height: .8em;
  margin-left: .08em;
  vertical-align: -.03em;
  border-radius: 999px;
  background: currentColor;
  animation: bf-cursor 900ms steps(2,end) infinite;
}
.bf-hero__headline-line--accent[data-active="true"]::after { background: var(--bf-accent-cyan) !important; }
@keyframes bf-cursor { 50% { opacity: 0; } }

.bf-hero__statement {
  max-width: 65ch;
  margin: 0;
  color: var(--bf-muted);
  font-size: clamp(.98rem, 1.25vw, 1.08rem);
  line-height: 1.7;
}

/* INTELLIGENCE STRIP */
.bf-intelligence-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.bf-intel-card {
  min-width: 0;
  display: grid;
  grid-template-columns: 28px 1fr;
  grid-template-areas: "icon label" "icon value";
  gap: 3px 10px;
  align-items: center;
  padding: 13px 14px;
  border: 1px solid var(--bf-border);
  border-radius: var(--bf-radius-md);
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
    rgba(18,26,44,.5);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  transition:
    transform var(--bf-medium) var(--bf-ease-standard),
    border-color var(--bf-medium) var(--bf-ease-standard),
    box-shadow var(--bf-medium) var(--bf-ease-standard);
}
.bf-intel-card:hover {
  transform: translateY(-3px);
  border-color: rgba(121,168,255,.22);
  box-shadow: 0 16px 36px rgba(0,0,0,.22), 0 0 20px rgba(92,146,255,.08);
}
.bf-intel-card__icon { grid-area: icon; width: 24px; height: 24px; color: var(--bf-accent-cyan); opacity: .88; }
.bf-intel-card__label { grid-area: label; color: var(--bf-muted); font-size: .64rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.bf-intel-card__value {
  grid-area: value;
  font-size: .9rem;
  letter-spacing: -.01em;
  transition: opacity 250ms var(--bf-ease-standard), transform 250ms var(--bf-ease-standard);
}
.bf-intel-card[data-changing="true"] .bf-intel-card__value { opacity: 0; transform: translateY(3px); }

/* CTA */
.bf-hero__actions { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.bf-button {
  min-height: 50px;
  display: inline-flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  padding-inline: 20px;
  border: 1px solid transparent;
  border-radius: var(--bf-radius-pill);
  font-size: .91rem;
  font-weight: 800;
  text-decoration: none;
  transition:
    transform var(--bf-fast) var(--bf-ease-standard),
    border-color var(--bf-fast) var(--bf-ease-standard),
    background var(--bf-fast) var(--bf-ease-standard),
    box-shadow var(--bf-fast) var(--bf-ease-standard);
}
.bf-button:hover { transform: translateY(-2px); }
.bf-button:active { transform: translateY(0); }
.bf-button .bf-icon { width: 19px; height: 19px; }
.bf-button--primary { color: var(--bf-deep-space); background: linear-gradient(135deg, var(--bf-primary), var(--bf-accent-cyan)); box-shadow: 0 12px 32px rgba(92,146,255,.18); }
.bf-button--primary .bf-icon { color: var(--bf-deep-space); }
.bf-button--primary:hover { box-shadow: 0 15px 38px rgba(92,146,255,.23); }
.bf-button--secondary {
  color: var(--bf-text);
  border-color: var(--bf-border);
  background: linear-gradient(135deg, rgba(255,255,255,.055), transparent), rgba(18,26,44,.54);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.bf-button--secondary:hover { border-color: rgba(121,168,255,.24); background: linear-gradient(135deg, rgba(255,255,255,.075), transparent), rgba(18,26,44,.68); }

/* TRUST NETWORK */
.bf-trust-network { display: grid; gap: 10px; padding-top: 2px; }
.bf-trust-network__label { margin: 0; color: rgba(169,182,211,.74); font-size: .68rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.bf-trust-network__items {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.bf-trust-network__items li {
  min-width: 0;
  display: flex;
  gap: 7px;
  align-items: center;
  color: var(--bf-muted);
  font-size: .7rem;
  font-weight: 700;
  line-height: 1.25;
}
.bf-trust-network__items .bf-icon { width: 18px; height: 18px; color: rgba(125,235,255,.82); }

/* VISUAL / PARALLAX */
.bf-hero__visual {
  --bf-pointer-x: 0px;
  --bf-pointer-y: 0px;
  position: relative;
  min-width: 0;
  display: grid;
  place-items: center;
  perspective: 1000px;
}
[data-bf-parallax-layer] {
  transform: translate3d(
    calc(var(--bf-pointer-x) * var(--bf-layer-strength, 1)),
    calc(var(--bf-pointer-y) * var(--bf-layer-strength, 1)),
    0
  );
  transition: transform var(--bf-medium) var(--bf-ease-standard);
  will-change: transform;
}
[data-bf-parallax-layer="3"] { --bf-layer-strength: .6; }
[data-bf-parallax-layer="4"] { --bf-layer-strength: .8; }
[data-bf-parallax-layer="5"] { --bf-layer-strength: 1; }

/* LIVE ENGINE PANEL */
.bf-engine-panel {
  position: relative;
  isolation: isolate;
  width: min(100%, 580px);
  overflow: hidden;
  padding: clamp(22px, 3vw, 30px);
  border: 1px solid var(--bf-border-strong);
  border-radius: var(--bf-radius-xl);
  background:
    linear-gradient(135deg, rgba(255,255,255,.095), rgba(255,255,255,.018) 28%, transparent 48%),
    var(--bf-glass-strong);
  box-shadow: 0 30px 84px rgba(0,0,0,.44), inset 0 1px 0 rgba(255,255,255,.09);
  backdrop-filter: blur(24px) saturate(118%);
  -webkit-backdrop-filter: blur(24px) saturate(118%);
}
.bf-engine-panel::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0;
  pointer-events: none;
  opacity: .035;
  background: url("../assets/images/noise-128.webp") repeat;
  mix-blend-mode: soft-light;
}
.bf-engine-panel::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(520px 280px at 0% 0%, rgba(121,168,255,.11), transparent 68%);
}
.bf-engine-panel__scan {
  position: absolute;
  z-index: 3;
  inset: -18% 0 auto;
  height: 24%;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(180deg, transparent, rgba(125,235,255,.055), transparent);
  transform: translateY(-120%);
  animation: bf-engine-scan 10s var(--bf-ease-standard) infinite;
}
@keyframes bf-engine-scan {
  0%, 72% { opacity: 0; transform: translateY(-120%); }
  78% { opacity: .7; }
  94% { opacity: .3; transform: translateY(620%); }
  100% { opacity: 0; transform: translateY(620%); }
}
.bf-engine-panel__header { display: flex; gap: 18px; align-items: flex-start; justify-content: space-between; margin-bottom: 24px; }
.bf-engine-panel__identity { display: flex; gap: 12px; align-items: center; }
.bf-engine-panel__sentinel {
  width: 52px;
  height: 52px;
  object-fit: contain;
  border: 1px solid rgba(121,168,255,.15);
  border-radius: 15px;
  background: rgba(3,9,18,.28);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 0 18px rgba(92,146,255,.09);
}
.bf-engine-panel__eyebrow { display: block; margin-bottom: 3px; color: var(--bf-accent-cyan); font-size: .66rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.bf-engine-panel__title { margin: 0; font-family: "Inter Tight", Inter, system-ui, sans-serif; font-size: 1.28rem; letter-spacing: -.03em; }
.bf-live-status { min-height: 30px; display: inline-flex; gap: 8px; align-items: center; padding: 0 11px; border: 1px solid rgba(67,217,140,.17); border-radius: var(--bf-radius-pill); color: var(--bf-success); background: rgba(67,217,140,.045); font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.bf-live-status__dot { width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: var(--bf-success); box-shadow: 0 0 12px rgba(67,217,140,.68); animation: bf-live-pulse 2s var(--bf-ease-standard) infinite; }
@keyframes bf-live-pulse { 0%,100% { opacity: .7; transform: scale(.9); } 50% { opacity: 1; transform: scale(1.12); } }
.bf-engine-panel__section-head { display: flex; justify-content: space-between; gap: 16px; padding-bottom: 12px; color: var(--bf-muted); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; border-bottom: 1px solid rgba(255,255,255,.055); }
.bf-engine-panel__section-head strong { color: var(--bf-success); }
.bf-engine-metrics { display: grid; gap: 15px; padding-block: 18px; }
.bf-engine-metric { display: grid; gap: 8px; }
.bf-engine-metric__top { display: flex; gap: 14px; align-items: center; justify-content: space-between; }
.bf-engine-metric__name { display: inline-flex; gap: 9px; align-items: center; color: var(--bf-muted); font-size: .78rem; font-weight: 700; }
.bf-engine-metric__name .bf-icon { width: 19px; height: 19px; color: var(--bf-accent-cyan); }
.bf-engine-metric__top strong { font-family: "Inter Tight", Inter, system-ui, sans-serif; font-size: .95rem; }
.bf-engine-progress { height: 4px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.055); }
.bf-engine-progress span {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--bf-primary), var(--bf-accent-cyan));
  box-shadow: 0 0 12px rgba(125,235,255,.2);
  transform: scaleX(var(--bf-progress, 0));
  transform-origin: left center;
  transition: transform 1600ms var(--bf-ease-emphasized);
}
.bf-engine-operations { display: grid; border-block: 1px solid rgba(255,255,255,.055); }
.bf-engine-operation { min-height: 48px; display: flex; gap: 16px; align-items: center; justify-content: space-between; }
.bf-engine-operation + .bf-engine-operation { border-top: 1px solid rgba(255,255,255,.05); }
.bf-engine-operation__name { display: inline-flex; gap: 9px; align-items: center; color: var(--bf-muted); font-size: .77rem; font-weight: 700; }
.bf-engine-operation__name .bf-icon { width: 18px; height: 18px; }
.bf-engine-operation strong { color: var(--bf-text); font-size: .75rem; transition: opacity 220ms var(--bf-ease-standard), transform 220ms var(--bf-ease-standard); }
.bf-engine-operation strong[data-changing="true"] { opacity: 0; transform: translateY(3px); }
.bf-engine-panel__footer { display: flex; gap: 16px; align-items: center; justify-content: space-between; padding-top: 18px; }
.bf-engine-panel__footer > div { display: grid; gap: 3px; }
.bf-engine-panel__footer span { color: var(--bf-muted); font-size: .67rem; font-weight: 700; }
.bf-engine-panel__footer strong { font-size: .76rem; }
.bf-engine-panel__report { display: inline-flex; gap: 8px; align-items: center; color: var(--bf-accent-cyan); font-size: .72rem; font-weight: 800; text-decoration: none; }
.bf-engine-panel__report .bf-icon { width: 18px; height: 18px; }

/* FLOATING CARDS */
.bf-floating-card {
  position: absolute;
  z-index: 2;
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 13px 15px;
  border: 1px solid var(--bf-border-strong);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(255,255,255,.08), transparent), rgba(15,24,40,.78);
  box-shadow: 0 18px 50px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.07);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.bf-floating-card > .bf-icon { width: 22px; height: 22px; }
.bf-floating-card div { display: grid; gap: 2px; }
.bf-floating-card div span { color: var(--bf-muted); font-size: .65rem; font-weight: 700; }
.bf-floating-card div strong { font-family: "Inter Tight", Inter, system-ui, sans-serif; font-size: 1.25rem; letter-spacing: -.04em; }
.bf-floating-card--governance { top: 11%; right: -7%; }
.bf-floating-card--verified { left: -8%; bottom: 10%; }
.bf-floating-card--verified strong { font-size: .78rem; }

/* SCROLL */
.bf-scroll-indicator {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: max(22px, env(safe-area-inset-bottom));
  display: inline-flex;
  gap: 12px;
  align-items: center;
  color: var(--bf-muted);
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-decoration: none;
  text-transform: uppercase;
  transform: translateX(-50%);
}
.bf-scroll-indicator__track { position: relative; width: 1px; height: 44px; overflow: hidden; background: linear-gradient(to bottom, rgba(255,255,255,.2), rgba(255,255,255,.03)); }
.bf-scroll-indicator__point { position: absolute; top: 0; left: 50%; width: 5px; height: 5px; border-radius: 50%; background: var(--bf-accent-cyan); box-shadow: 0 0 12px rgba(125,235,255,.68); transform: translateX(-50%); animation: bf-scroll-point 2.2s var(--bf-ease-standard) infinite; }
@keyframes bf-scroll-point {
  0% { transform: translate(-50%,-5px); opacity: 0; }
  25%,75% { opacity: 1; }
  100% { transform: translate(-50%,44px); opacity: 0; }
}

/* FOLLOW SECTIONS */
.bf-follow-section { min-height: 74vh; display: grid; align-items: center; padding-block: clamp(80px,10vw,124px); color: var(--bf-text); background: radial-gradient(700px 420px at 80% 20%, rgba(121,168,255,.06), transparent 68%), var(--bf-deep-space); border-top: 1px solid var(--bf-border); }
.bf-follow-section--compact { min-height: 54vh; background: var(--bf-background); }
.bf-follow-section__eyebrow { color: var(--bf-accent-cyan); font-size: .78rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.bf-follow-section h2 { max-width: 16ch; margin: 16px 0 20px; font-family: "Inter Tight", Inter, system-ui, sans-serif; font-size: clamp(2.4rem,5vw,4rem); line-height: 1; letter-spacing: -.045em; }
.bf-follow-section p { max-width: 62ch; margin: 0; color: var(--bf-muted); line-height: 1.7; }

/* TABLET */
@media (max-width: 1100px) {
  .bf-hero { min-height: auto; padding-top: max(86px, env(safe-area-inset-top)); padding-bottom: 110px; }
  .bf-hero__layout { grid-template-columns: 1fr; gap: 52px; }
  .bf-hero__content { max-width: 860px; }
  .bf-hero__visual { width: min(100%, 720px); margin-inline: auto; }
  .bf-floating-card--governance { right: 1%; }
  .bf-floating-card--verified { left: 1%; }
  .bf-trust-network__items { max-width: 760px; }
}

/* MOBILE: Brand → Headline → Engine → Lead → Intelligence → CTA → Trust */
@media (max-width: 720px) {
  .bf-hero { padding-top: max(64px, env(safe-area-inset-top)); padding-bottom: 108px; }
  .bf-hero__layout { display: flex; flex-direction: column; gap: 30px; }
  .bf-hero__content { display: contents; }
  .bf-hero__brand { order: 1; align-self: flex-start; }
  .bf-hero__headline { order: 2; font-size: clamp(2.5rem, 11.6vw, 3.9rem); }
  .bf-hero__visual { order: 3; width: 100%; margin-top: 2px; }
  .bf-hero__statement { order: 4; font-size: 1rem; }
  .bf-intelligence-strip { order: 5; width: 100%; }
  .bf-hero__actions { order: 6; width: 100%; display: grid; grid-template-columns: 1fr; }
  .bf-button { width: 100%; }
  .bf-trust-network { order: 7; width: 100%; }
  .bf-trust-network__items { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
  .bf-engine-panel { padding: 18px; border-radius: 24px; }
  .bf-floating-card { display: none; }
  .bf-scroll-indicator__label { display: none; }
  .bf-hero__grid { background-size: 52px 52px; opacity: .14; }
  .bf-hero__network { opacity: .055; }
  .bf-hero__universe { width: 150vw; right: -72%; opacity: .14; }
}

@media (max-width: 460px) {
  .bf-hero__brand-meta { font-size: .6rem; }
  .bf-hero__leitmotif { font-size: .68rem; }
  .bf-intelligence-strip { grid-template-columns: 1fr; }
  .bf-engine-panel__header { align-items: center; }
  .bf-engine-panel__sentinel { width: 46px; height: 46px; }
  .bf-engine-panel__footer { align-items: flex-start; flex-direction: column; }
  .bf-trust-network__items li { font-size: .68rem; }
}

@media (hover: none), (pointer: coarse) {
  .bf-button:hover, .bf-intel-card:hover { transform: none; }
  [data-bf-parallax-layer] { transform: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  [data-bf-stage] { opacity: 1 !important; transform: none !important; filter: none !important; }
  [data-bf-parallax-layer] { transform: none !important; }
  .bf-network__lines, .bf-engine-panel__scan { animation: none !important; }
}

@media (prefers-contrast: more) {
  .bf-engine-panel, .bf-intel-card, .bf-button--secondary, .bf-floating-card {
    background: var(--bf-surface);
    border-color: rgba(255,255,255,.2);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .bf-engine-panel, .bf-intel-card, .bf-button--secondary, .bf-floating-card { background: var(--bf-surface); }
}

@supports not ((mask: url("") center / contain no-repeat) or (-webkit-mask: url("") center / contain no-repeat)) {
  .bf-icon { border: 1px solid currentColor; border-radius: 50%; background: transparent; }
}


/* =========================================================
   BOOKFELS V3 — PATCH 002
   BF-HEADER MENU FOUNDATION
   ========================================================= */
#hero,
#capabilities,
#platform,
#contact {
  scroll-margin-top: 112px;
}

.bf-site-header {
  position: fixed;
  z-index: 1200;
  inset:
    max(12px, env(safe-area-inset-top))
    0
    auto;
  pointer-events: none;
}

.bf-header__bar {
  width: min(var(--bf-container), calc(100% - (2 * var(--bf-gutter))));
  min-height: 72px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: 9px 10px 9px 16px;
  border: 1px solid var(--bf-border);
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.085), transparent 28%),
    rgba(10, 17, 30, .68);
  box-shadow:
    0 14px 40px rgba(0, 0, 0, .18),
    inset 0 1px 0 rgba(255,255,255,.07);
  backdrop-filter: blur(22px) saturate(118%);
  -webkit-backdrop-filter: blur(22px) saturate(118%);
  pointer-events: auto;
  transition:
    min-height var(--bf-fast) var(--bf-ease-standard),
    background var(--bf-fast) var(--bf-ease-standard),
    border-color var(--bf-fast) var(--bf-ease-standard),
    box-shadow var(--bf-fast) var(--bf-ease-standard);
}

.bf-site-header[data-scrolled="true"] .bf-header__bar {
  min-height: 62px;
  border-color: rgba(255,255,255,.11);
  background:
    linear-gradient(135deg, rgba(255,255,255,.07), transparent 28%),
    rgba(8, 14, 26, .86);
  box-shadow:
    0 18px 52px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.07);
  backdrop-filter: blur(28px) saturate(118%);
  -webkit-backdrop-filter: blur(28px) saturate(118%);
}

.bf-header__brand {
  min-width: 0;
  display: inline-flex;
  gap: 11px;
  align-items: center;
  color: var(--bf-text);
  text-decoration: none;
}

.bf-header__beacon {
  position: relative;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(121,168,255,.14);
  border-radius: 13px;
  background: rgba(255,255,255,.035);
  overflow: hidden;
  transition:
    transform var(--bf-medium) var(--bf-ease-emphasized),
    border-color var(--bf-medium) var(--bf-ease-standard),
    box-shadow var(--bf-medium) var(--bf-ease-standard);
}

.bf-header__beacon::after {
  content: "";
  position: absolute;
  inset: -35%;
  background:
    linear-gradient(
      110deg,
      transparent 38%,
      rgba(234,246,255,.42) 49%,
      transparent 60%
    );
  transform: translateX(-120%) rotate(8deg);
  animation: bf-beacon-sweep 14s var(--bf-ease-standard) infinite;
}

.bf-header__beacon img {
  width: 34px;
  height: 34px;
}

.bf-site-header[data-menu-open="true"] .bf-header__beacon {
  transform: scale(1.05);
  border-color: rgba(125,235,255,.28);
  box-shadow: 0 0 20px rgba(92,146,255,.18);
}

@keyframes bf-beacon-sweep {
  0%,
  90%,
  100% {
    transform: translateX(-120%) rotate(8deg);
    opacity: 0;
  }

  93% {
    opacity: .75;
  }

  97% {
    transform: translateX(120%) rotate(8deg);
    opacity: 0;
  }
}

.bf-header__wordmark {
  display: grid;
  gap: 1px;
}

.bf-header__wordmark strong {
  font-family: "Inter Tight", Inter, system-ui, sans-serif;
  font-size: .98rem;
  letter-spacing: -.025em;
}

.bf-header__wordmark small {
  color: var(--bf-muted);
  font-size: .61rem;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
  white-space: nowrap;
}

.bf-header__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
}

.bf-header__nav a {
  position: relative;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  padding-inline: 13px;
  border-radius: 11px;
  color: var(--bf-muted);
  font-size: .82rem;
  font-weight: 750;
  text-decoration: none;
  transition:
    color var(--bf-fast) var(--bf-ease-standard),
    background var(--bf-fast) var(--bf-ease-standard);
}

.bf-header__nav a::after {
  content: "";
  position: absolute;
  left: 13px;
  right: 13px;
  bottom: 6px;
  height: 1px;
  border-radius: 999px;
  background: var(--bf-accent-cyan);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 220ms var(--bf-ease-standard);
}

.bf-header__nav a:hover,
.bf-header__nav a[aria-current="page"] {
  color: var(--bf-text);
  background: rgba(255,255,255,.035);
}

.bf-header__nav a:hover::after,
.bf-header__nav a[aria-current="page"]::after {
  transform: scaleX(1);
}

.bf-header__actions {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.bf-header__cta {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  padding-inline: 15px;
  border: 1px solid var(--bf-border);
  border-radius: var(--bf-radius-pill);
  color: var(--bf-text);
  background: rgba(255,255,255,.035);
  font-size: .8rem;
  font-weight: 800;
  text-decoration: none;
  transition:
    transform var(--bf-fast) var(--bf-ease-standard),
    border-color var(--bf-fast) var(--bf-ease-standard),
    background var(--bf-fast) var(--bf-ease-standard);
}

.bf-header__cta:hover {
  transform: translateY(-2px);
  border-color: rgba(121,168,255,.22);
  background: rgba(255,255,255,.06);
}

.bf-menu-button {
  min-width: 104px;
  min-height: 46px;
  display: inline-flex;
  gap: 11px;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  border: 1px solid var(--bf-border);
  border-radius: 14px;
  color: var(--bf-text);
  background: rgba(255,255,255,.045);
  cursor: pointer;
  transition:
    transform var(--bf-fast) var(--bf-ease-standard),
    border-color var(--bf-fast) var(--bf-ease-standard),
    background var(--bf-fast) var(--bf-ease-standard),
    box-shadow var(--bf-fast) var(--bf-ease-standard);
}

.bf-menu-button:hover {
  transform: translateY(-2px);
  border-color: rgba(125,235,255,.22);
  background: rgba(255,255,255,.065);
}

.bf-menu-button__label {
  font-size: .78rem;
  font-weight: 800;
}

.bf-menu-button__icon {
  position: relative;
  width: 22px;
  height: 18px;
  display: block;
}

.bf-menu-button__icon span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transform-origin: center;
  transition:
    transform 320ms cubic-bezier(.19,.9,.2,1),
    opacity var(--bf-fast) var(--bf-ease-standard),
    width var(--bf-fast) var(--bf-ease-standard);
}

.bf-menu-button__icon span:nth-child(1) { top: 1px; }
.bf-menu-button__icon span:nth-child(2) {
  top: 8px;
  width: 74%;
  right: 0;
  left: auto;
  background: var(--bf-accent-cyan);
}
.bf-menu-button__icon span:nth-child(3) { top: 15px; }

.bf-menu-button[aria-expanded="true"] .bf-menu-button__icon span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.bf-menu-button[aria-expanded="true"] .bf-menu-button__icon span:nth-child(2) {
  width: 0;
  opacity: 0;
}

.bf-menu-button[aria-expanded="true"] .bf-menu-button__icon span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.bf-menu-overlay {
  position: fixed;
  z-index: 1280;
  inset: 0;
  border: 0;
  padding: 0;
  background: rgba(2, 6, 13, .66);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 320ms var(--bf-ease-standard),
    visibility 320ms linear;
}

.bf-menu-overlay[data-open="true"] {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.bf-menu-drawer {
  position: fixed;
  z-index: 1300;
  top: max(10px, env(safe-area-inset-top));
  right: max(10px, env(safe-area-inset-right));
  bottom: max(10px, env(safe-area-inset-bottom));
  width: min(430px, calc(100vw - 20px));
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
  border: 1px solid var(--bf-border-strong);
  border-radius: 26px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.09), transparent 29%),
    rgba(9, 16, 29, .91);
  box-shadow:
    0 30px 90px rgba(0,0,0,.58),
    inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(28px) saturate(120%);
  -webkit-backdrop-filter: blur(28px) saturate(120%);
  transform: translate3d(calc(100% + 30px), 0, 0);
  visibility: hidden;
  transition:
    transform 320ms cubic-bezier(.19,.9,.2,1),
    visibility 320ms linear;
}

.bf-menu-drawer[data-open="true"] {
  transform: translate3d(0, 0, 0);
  visibility: visible;
}

.bf-menu-drawer__header,
.bf-menu-drawer__footer {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  padding: 18px;
}

.bf-menu-drawer__identity {
  display: flex;
  gap: 12px;
  align-items: center;
}

.bf-menu-drawer__beacon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(121,168,255,.16);
  border-radius: 15px;
  background: rgba(255,255,255,.035);
  box-shadow: 0 0 20px rgba(92,146,255,.09);
}

.bf-menu-drawer__identity > div {
  display: grid;
  gap: 2px;
}

.bf-menu-drawer__identity span {
  color: var(--bf-accent-cyan);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.bf-menu-drawer__identity strong {
  font-family: "Inter Tight", Inter, system-ui, sans-serif;
  font-size: 1rem;
  letter-spacing: -.02em;
}

.bf-menu-drawer__close {
  position: relative;
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  border: 1px solid var(--bf-border);
  border-radius: 14px;
  color: var(--bf-text);
  background: rgba(255,255,255,.04);
  cursor: pointer;
}

.bf-menu-drawer__close span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 19px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
}

.bf-menu-drawer__close span:first-child {
  transform: translate(-50%, -50%) rotate(45deg);
}

.bf-menu-drawer__close span:last-child {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.bf-menu-drawer__body {
  min-height: 0;
  overflow-y: auto;
  padding: 10px 18px 24px;
  border-block: 1px solid rgba(255,255,255,.055);
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.bf-menu-drawer__eyebrow {
  margin: 10px 0 14px;
  color: var(--bf-muted);
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.bf-menu-drawer__nav {
  display: grid;
  gap: 8px;
}

.bf-menu-drawer__nav a {
  min-height: 72px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 4px 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid transparent;
  border-radius: 17px;
  color: var(--bf-muted);
  text-decoration: none;
  transition:
    color var(--bf-fast) var(--bf-ease-standard),
    border-color var(--bf-fast) var(--bf-ease-standard),
    background var(--bf-fast) var(--bf-ease-standard),
    transform var(--bf-fast) var(--bf-ease-standard);
}

.bf-menu-drawer__nav a:hover,
.bf-menu-drawer__nav a[aria-current="page"] {
  color: var(--bf-text);
  border-color: rgba(121,168,255,.16);
  background:
    linear-gradient(135deg, rgba(121,168,255,.11), rgba(77,230,230,.025));
  transform: translateX(3px);
}

.bf-menu-drawer__nav a > span {
  grid-row: 1 / 3;
  color: var(--bf-accent-cyan);
  font-size: .69rem;
  font-weight: 800;
  letter-spacing: .12em;
}

.bf-menu-drawer__nav a strong {
  align-self: end;
  font-size: .95rem;
}

.bf-menu-drawer__nav a small {
  align-self: start;
  color: var(--bf-muted);
  font-size: .72rem;
  line-height: 1.4;
}

.bf-menu-drawer__footer {
  align-items: stretch;
  flex-direction: column;
}

.bf-menu-drawer__status {
  display: flex;
  gap: 10px;
  align-items: center;
}

.bf-menu-drawer__status > span {
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--bf-success);
  box-shadow: 0 0 12px rgba(67,217,140,.62);
}

.bf-menu-drawer__status > div {
  display: grid;
  gap: 2px;
}

.bf-menu-drawer__status strong {
  font-size: .78rem;
}

.bf-menu-drawer__status small {
  color: var(--bf-muted);
  font-size: .68rem;
}

.bf-menu-drawer__footer .bf-button {
  width: 100%;
}

.bf-noscript-menu {
  position: fixed;
  z-index: 1400;
  top: 12px;
  right: 12px;
  width: min(300px, calc(100vw - 24px));
  padding: 12px;
  border: 1px solid var(--bf-border);
  border-radius: 16px;
  background: var(--bf-surface);
}

.bf-noscript-menu summary {
  cursor: pointer;
  font-weight: 800;
}

.bf-noscript-menu nav {
  display: grid;
  gap: 8px;
  padding-top: 12px;
}

.bf-noscript-menu nav a {
  padding: 10px;
  border-radius: 10px;
  background: rgba(255,255,255,.04);
  text-decoration: none;
}

/* =========================================================
   BOOKFELS V3 — PATCH 002
   ENTERPRISE CAPABILITY GRID
   ========================================================= */
.bf-capabilities {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(92px, 11vw, 144px);
  background:
    radial-gradient(
      820px 500px at 12% 18%,
      rgba(121,168,255,.075),
      transparent 68%
    ),
    radial-gradient(
      740px 520px at 88% 78%,
      rgba(77,230,230,.045),
      transparent 70%
    ),
    linear-gradient(180deg, var(--bf-deep-space), var(--bf-background));
}

.bf-capabilities__atmosphere {
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  opacity: .095;
}

.bf-capabilities__atmosphere svg {
  width: 100%;
  height: 100%;
}

.bf-capabilities__atmosphere path {
  fill: none;
  stroke: rgba(121,168,255,.28);
  stroke-width: 1;
  stroke-dasharray: 4 18;
}

.bf-capabilities__atmosphere circle {
  fill: var(--bf-accent-cyan);
  opacity: .52;
}

.bf-capabilities__header {
  max-width: 800px;
  margin: 0 auto clamp(48px, 7vw, 78px);
  text-align: center;
}

.bf-capabilities__eyebrow {
  display: inline-block;
  margin-bottom: 15px;
  color: var(--bf-accent-cyan);
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.bf-capabilities__header h2 {
  margin: 0;
  font-family: "Inter Tight", Inter, system-ui, sans-serif;
  font-size: clamp(2.6rem, 6vw, 4.9rem);
  line-height: .98;
  letter-spacing: -.05em;
  text-wrap: balance;
}

.bf-capabilities__header p {
  max-width: 64ch;
  margin: 22px auto 0;
  color: var(--bf-muted);
  font-size: clamp(1rem, 1.4vw, 1.12rem);
  line-height: 1.72;
}

.bf-capability-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.bf-capability {
  position: relative;
  min-width: 0;
  min-height: 310px;
  display: grid;
  grid-template-rows: auto auto auto 1fr;
  gap: 18px;
  padding: 22px;
  border: 1px solid var(--bf-border);
  border-radius: var(--bf-radius-lg);
  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.062),
      rgba(255,255,255,.014) 32%,
      transparent 54%
    ),
    rgba(14, 23, 38, .53);
  box-shadow:
    0 18px 48px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.055);
  backdrop-filter: blur(18px) saturate(116%);
  -webkit-backdrop-filter: blur(18px) saturate(116%);
  transition:
    transform var(--bf-medium) var(--bf-ease-standard),
    border-color var(--bf-medium) var(--bf-ease-standard),
    background var(--bf-medium) var(--bf-ease-standard),
    box-shadow var(--bf-medium) var(--bf-ease-standard);
}

.bf-capability::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background:
    radial-gradient(
      280px 170px at 0% 0%,
      rgba(255,255,255,.055),
      transparent 72%
    );
}

.bf-capability:hover {
  transform: translateY(-3px);
  border-color: rgba(125,235,255,.22);
  box-shadow:
    0 22px 54px rgba(0,0,0,.27),
    0 0 20px rgba(92,146,255,.08),
    inset 0 1px 0 rgba(255,255,255,.065);
}

.bf-capability__topline {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.bf-capability__status {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  color: var(--bf-muted);
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.bf-capability__status > span {
  width: 6px;
  height: 6px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--bf-success);
  box-shadow: 0 0 10px rgba(67,217,140,.5);
}

.bf-capability__index {
  color: rgba(169,182,211,.48);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .15em;
}

.bf-capability__icon {
  position: relative;
  z-index: 1;
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(121,168,255,.14);
  border-radius: 20px;
  color: var(--bf-accent-cyan);
  background:
    linear-gradient(135deg, rgba(121,168,255,.09), rgba(77,230,230,.025));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.055),
    0 0 20px rgba(92,146,255,.06);
}

.bf-capability__icon .bf-icon {
  width: 34px;
  height: 34px;
}

.bf-capability h3 {
  position: relative;
  z-index: 1;
  margin: 0;
  font-family: "Inter Tight", Inter, system-ui, sans-serif;
  font-size: 1.35rem;
  letter-spacing: -.025em;
}

.bf-capability p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--bf-muted);
  font-size: .91rem;
  line-height: 1.65;
}

.bf-capability-trust {
  margin-top: clamp(48px, 7vw, 76px);
  display: flex;
  gap: 24px;
  align-items: center;
  justify-content: center;
  padding: 18px 22px;
  border: 1px solid var(--bf-border);
  border-radius: var(--bf-radius-pill);
  background: rgba(255,255,255,.027);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.bf-capability-trust > span {
  color: var(--bf-accent-cyan);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  white-space: nowrap;
}

.bf-capability-trust ul {
  display: flex;
  gap: 10px 20px;
  flex-wrap: wrap;
  justify-content: center;
  padding: 0;
  margin: 0;
  list-style: none;
}

.bf-capability-trust li {
  color: var(--bf-muted);
  font-size: .75rem;
  font-weight: 750;
}

.bf-capability-trust li::before {
  content: "•";
  margin-right: 8px;
  color: var(--bf-accent-cyan);
}

.bf-capabilities__divider {
  height: 1px;
  margin-top: clamp(44px, 6vw, 70px);
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(121,168,255,.22),
      transparent
    );
}

/* Reveal is activated only after JS is ready. */
[data-bf-section-reveal],
[data-bf-capability][data-bf-reveal] {
  opacity: 1;
  transform: none;
  filter: none;
}

.js[data-bf-capabilities-ready="true"]
[data-bf-section-reveal]:not([data-bf-revealed="true"]),
.js[data-bf-capabilities-ready="true"]
[data-bf-capability][data-bf-reveal]:not([data-bf-revealed="true"]) {
  opacity: 0;
  transform: translate3d(0, 18px, 0);
  filter: blur(5px);
}

.js[data-bf-capabilities-ready="true"]
[data-bf-revealed="true"] {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: blur(0);
  transition:
    opacity var(--bf-slow) var(--bf-ease-emphasized),
    transform var(--bf-slow) var(--bf-ease-emphasized),
    filter var(--bf-slow) var(--bf-ease-emphasized);
  transition-delay: var(--bf-capability-delay, 0ms);
}

@media (max-width: 1060px) {
  .bf-header__nav {
    display: none;
  }

  .bf-header__bar {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .bf-capability-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .bf-site-header {
    inset:
      max(8px, env(safe-area-inset-top))
      0
      auto;
  }

  .bf-header__bar {
    min-height: 62px;
    padding: 7px;
    border-radius: 18px;
  }

  .bf-header__wordmark small,
  .bf-header__cta,
  .bf-menu-button__label {
    display: none;
  }

  .bf-menu-button {
    min-width: 46px;
    width: 46px;
    height: 46px;
    padding: 0 12px;
  }

  .bf-header__beacon {
    width: 38px;
    height: 38px;
  }

  .bf-menu-drawer {
    top: max(8px, env(safe-area-inset-top));
    right: 8px;
    bottom: max(8px, env(safe-area-inset-bottom));
    width: calc(100vw - 16px);
    border-radius: 22px;
  }

  .bf-capability-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .bf-capability {
    min-height: 0;
  }

  .bf-capability-trust {
    align-items: flex-start;
    flex-direction: column;
    border-radius: var(--bf-radius-lg);
  }

  .bf-capability-trust ul {
    justify-content: flex-start;
  }
}

@media (hover: none), (pointer: coarse) {
  .bf-header__cta:hover,
  .bf-menu-button:hover,
  .bf-capability:hover,
  .bf-menu-drawer__nav a:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bf-header__beacon::after {
    animation: none !important;
  }

  .bf-menu-drawer,
  .bf-menu-overlay,
  .bf-menu-button__icon span {
    transition: none !important;
  }

  [data-bf-section-reveal],
  [data-bf-capability][data-bf-reveal] {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
}

@supports not (
  (backdrop-filter: blur(1px)) or
  (-webkit-backdrop-filter: blur(1px))
) {
  .bf-header__bar,
  .bf-menu-drawer,
  .bf-capability,
  .bf-capability-trust {
    background: var(--bf-surface);
  }
}


/* =========================================================
   BOOKFELS V3 — PATCH 003
   PLATFORM OVERVIEW ENGINE
   ========================================================= */
.bf-platform-overview {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(96px, 12vw, 156px);
  background:
    radial-gradient(
      900px 620px at 8% 18%,
      rgba(121, 168, 255, .085),
      transparent 68%
    ),
    radial-gradient(
      760px 560px at 92% 70%,
      rgba(77, 230, 230, .045),
      transparent 72%
    ),
    linear-gradient(180deg, var(--bf-background), var(--bf-deep-space));
}

.bf-platform-overview__atmosphere {
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  opacity: .085;
}

.bf-platform-overview__atmosphere svg {
  width: 100%;
  height: 100%;
}

.bf-platform-network__paths {
  fill: none;
  stroke: rgba(121, 168, 255, .28);
  stroke-width: 1;
  stroke-dasharray: 5 20;
}

.bf-platform-network__nodes {
  fill: var(--bf-accent-cyan);
  opacity: .52;
}

.bf-platform-overview__layout {
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(560px, 1.22fr);
  gap: clamp(48px, 8vw, 104px);
  align-items: center;
}

.bf-platform-overview__copy {
  min-width: 0;
}

.bf-platform-overview__eyebrow {
  display: inline-block;
  margin-bottom: 18px;
  color: var(--bf-accent-cyan);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.bf-platform-overview__copy h2 {
  max-width: 13ch;
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: clamp(2.7rem, 5.6vw, 5rem);
  line-height: .98;
  letter-spacing: -.052em;
  text-wrap: balance;
}

.bf-platform-overview__lead {
  max-width: 58ch;
  margin: 26px 0 0;
  color: var(--bf-muted);
  font-size: clamp(1rem, 1.35vw, 1.12rem);
  line-height: 1.72;
}

.bf-platform-overview__principles {
  display: grid;
  gap: 12px;
  margin-top: 38px;
}

.bf-platform-overview__principles > div {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 2px 13px;
  align-items: center;
  padding: 14px 15px;
  border: 1px solid rgba(255, 255, 255, .065);
  border-radius: 16px;
  background: rgba(255, 255, 255, .025);
}

.bf-platform-overview__principles .bf-icon {
  grid-row: 1 / 3;
  width: 24px;
  height: 24px;
  color: var(--bf-accent-cyan);
}

.bf-platform-overview__principles strong {
  font-size: .82rem;
}

.bf-platform-overview__principles small {
  color: var(--bf-muted);
  font-size: .72rem;
  line-height: 1.45;
}

.bf-platform-overview__statement {
  display: grid;
  gap: 7px;
  margin-top: 34px;
  padding-top: 26px;
  border-top: 1px solid var(--bf-border);
}

.bf-platform-overview__statement span {
  color: var(--bf-muted);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.bf-platform-overview__statement strong {
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  letter-spacing: -.035em;
}

/* SYSTEM SHELL */
.bf-platform-system {
  --bf-platform-progress: 0;

  position: relative;
  isolation: isolate;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--bf-border-strong);
  border-radius: var(--bf-radius-xl);
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, .09),
      rgba(255, 255, 255, .014) 30%,
      transparent 52%
    ),
    rgba(12, 20, 35, .79);
  box-shadow:
    0 32px 90px rgba(0, 0, 0, .42),
    inset 0 1px 0 rgba(255, 255, 255, .075);
  backdrop-filter: blur(24px) saturate(118%);
  -webkit-backdrop-filter: blur(24px) saturate(118%);
}

.bf-platform-system::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(
      500px 280px at 0% 0%,
      rgba(121, 168, 255, .095),
      transparent 70%
    ),
    radial-gradient(
      420px 300px at 100% 100%,
      rgba(77, 230, 230, .04),
      transparent 72%
    );
}

.bf-platform-system__header {
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  padding: 20px 22px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.bf-platform-system__identity {
  min-width: 0;
  display: flex;
  gap: 13px;
  align-items: center;
}

.bf-platform-system__beacon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(121, 168, 255, .15);
  border-radius: 15px;
  background: rgba(255, 255, 255, .035);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .05),
    0 0 20px rgba(92, 146, 255, .07);
}

.bf-platform-system__beacon img {
  width: 38px;
  height: 38px;
}

.bf-platform-system__identity > div {
  min-width: 0;
}

.bf-platform-system__identity span {
  display: block;
  margin-bottom: 3px;
  color: var(--bf-accent-cyan);
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.bf-platform-system__identity h3 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: 1.08rem;
  letter-spacing: -.025em;
}

.bf-platform-system__status {
  min-height: 30px;
  display: inline-flex;
  gap: 8px;
  align-items: center;
  padding-inline: 11px;
  border: 1px solid var(--bf-border);
  border-radius: var(--bf-radius-pill);
  color: var(--bf-success);
  background: rgba(67, 217, 140, .045);
  font-size: .68rem;
  font-weight: 800;
  white-space: nowrap;
}

.bf-platform-system__status > span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 12px rgba(67, 217, 140, .62);
}

.bf-platform-system__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, .62fr);
  gap: 18px;
  padding: 22px;
}

/* MAP */
.bf-platform-map {
  position: relative;
  min-width: 0;
  padding-left: 4px;
}

.bf-platform-map__track {
  position: absolute;
  z-index: 0;
  top: 34px;
  bottom: 34px;
  left: 30px;
  width: 2px;
}

.bf-platform-map__track-base,
.bf-platform-map__track-progress {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  transform-origin: top;
}

.bf-platform-map__track-base {
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, .04),
      rgba(255, 255, 255, .12),
      rgba(255, 255, 255, .04)
    );
}

.bf-platform-map__track-progress {
  background:
    linear-gradient(
      180deg,
      var(--bf-primary),
      var(--bf-accent-cyan)
    );
  box-shadow: 0 0 14px rgba(125, 235, 255, .24);
  transform: scaleY(var(--bf-platform-progress));
  transition:
    transform var(--bf-slow) var(--bf-ease-emphasized);
}

.bf-platform-map__nodes {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.bf-platform-node {
  width: 100%;
  min-height: 84px;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  gap: 13px;
  align-items: center;
  padding: 10px 12px 10px 0;
  border: 1px solid transparent;
  border-radius: 18px;
  color: var(--bf-muted);
  text-align: left;
  background: transparent;
  cursor: pointer;
  transition:
    color var(--bf-fast) var(--bf-ease-standard),
    border-color var(--bf-fast) var(--bf-ease-standard),
    background var(--bf-fast) var(--bf-ease-standard),
    opacity var(--bf-fast) var(--bf-ease-standard),
    transform var(--bf-fast) var(--bf-ease-standard);
}

.bf-platform-node:hover,
.bf-platform-node:focus-visible,
.bf-platform-node[aria-pressed="true"] {
  color: var(--bf-text);
  border-color: rgba(121, 168, 255, .14);
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .09),
      rgba(77, 230, 230, .018)
    );
}

.bf-platform-node:hover {
  transform: translateX(3px);
}

.bf-platform-map[data-context-active="true"]
.bf-platform-node:not([aria-pressed="true"]) {
  opacity: .42;
}

.bf-platform-node__marker {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .075);
  border-radius: 18px;
  color: var(--bf-muted);
  background: rgba(8, 15, 27, .92);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .045);
  transition:
    color var(--bf-fast) var(--bf-ease-standard),
    border-color var(--bf-fast) var(--bf-ease-standard),
    background var(--bf-fast) var(--bf-ease-standard),
    box-shadow var(--bf-fast) var(--bf-ease-standard);
}

.bf-platform-node__marker .bf-icon {
  width: 26px;
  height: 26px;
}

.bf-platform-node[aria-pressed="true"] .bf-platform-node__marker {
  color: var(--bf-accent-cyan);
  border-color: rgba(125, 235, 255, .24);
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .14),
      rgba(77, 230, 230, .035)
    ),
    rgba(8, 15, 27, .96);
  box-shadow:
    0 0 18px rgba(92, 146, 255, .12),
    inset 0 1px 0 rgba(255, 255, 255, .055);
}

.bf-platform-node__content {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.bf-platform-node__content small {
  color: var(--bf-accent-cyan);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.bf-platform-node__content strong {
  overflow: hidden;
  color: inherit;
  font-size: .88rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bf-platform-node__content > span {
  overflow: hidden;
  color: var(--bf-muted);
  font-size: .7rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bf-platform-node__state {
  min-height: 26px;
  display: inline-flex;
  align-items: center;
  padding-inline: 9px;
  border: 1px solid var(--bf-border);
  border-radius: var(--bf-radius-pill);
  color: var(--bf-muted);
  font-size: .61rem;
  font-weight: 800;
  white-space: nowrap;
}

.bf-platform-node[aria-pressed="true"] .bf-platform-node__state {
  color: var(--bf-success);
  border-color: rgba(67, 217, 140, .15);
  background: rgba(67, 217, 140, .04);
}

/* DETAIL PANEL */
.bf-platform-detail {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, .07);
  border-radius: var(--bf-radius-lg);
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, .05),
      transparent 42%
    ),
    rgba(3, 9, 18, .28);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .04);
}

.bf-platform-detail__topline {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 28px;
}

.bf-platform-detail__icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(121, 168, 255, .16);
  border-radius: 14px;
  color: var(--bf-accent-cyan);
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .11),
      rgba(77, 230, 230, .025)
    );
}

.bf-platform-detail__icon .bf-icon {
  width: 24px;
  height: 24px;
}

.bf-platform-detail__status {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  padding-inline: 10px;
  border: 1px solid var(--bf-border);
  border-radius: var(--bf-radius-pill);
  color: var(--bf-success);
  font-size: .62rem;
  font-weight: 800;
  white-space: nowrap;
}

.bf-platform-detail__eyebrow {
  color: var(--bf-accent-cyan);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.bf-platform-detail h4 {
  margin: 9px 0 13px;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: clamp(1.35rem, 2.2vw, 1.8rem);
  letter-spacing: -.035em;
}

.bf-platform-detail p {
  margin: 0;
  color: var(--bf-muted);
  font-size: .8rem;
  line-height: 1.63;
}

.bf-platform-detail__outcome {
  margin-top: auto;
  padding-top: 28px;
}

.bf-platform-detail__outcome span {
  display: block;
  margin-bottom: 6px;
  color: var(--bf-muted);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.bf-platform-detail__outcome strong {
  color: var(--bf-text);
  font-size: .82rem;
}

/* SYSTEM FOOTER */
.bf-platform-system__footer {
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  padding: 17px 22px;
  border-top: 1px solid rgba(255, 255, 255, .06);
}

.bf-platform-system__footer > span {
  color: var(--bf-accent-cyan);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  white-space: nowrap;
}

.bf-platform-system__footer ul {
  display: flex;
  gap: 9px 14px;
  flex-wrap: wrap;
  justify-content: flex-end;
  padding: 0;
  margin: 0;
  list-style: none;
}

.bf-platform-system__footer li {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  color: var(--bf-muted);
  font-size: .65rem;
  font-weight: 700;
}

.bf-platform-system__footer .bf-icon {
  width: 13px;
  height: 13px;
  color: var(--bf-success);
}

/* SIGNATURE BRIDGE */
.bf-complexity-bridge {
  display: grid;
  grid-template-columns: auto minmax(90px, 1fr) auto;
  gap: 22px;
  align-items: center;
  margin-top: clamp(64px, 9vw, 108px);
  color: var(--bf-muted);
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: clamp(1.25rem, 2.8vw, 2.25rem);
  letter-spacing: -.035em;
}

.bf-complexity-bridge strong {
  color: var(--bf-text);
}

.bf-complexity-bridge__line {
  position: relative;
  height: 1px;
  overflow: visible;
  background:
    linear-gradient(
      90deg,
      rgba(121, 168, 255, .12),
      rgba(125, 235, 255, .32),
      rgba(121, 168, 255, .12)
    );
}

.bf-complexity-bridge__line span {
  position: absolute;
  top: 50%;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--bf-accent-cyan);
  box-shadow: 0 0 12px rgba(125, 235, 255, .56);
  transform: translate(-50%, -50%);
}

/* Reveal is JS-enhanced only. Content remains visible without JS. */
.js[data-bf-platform-ready="true"]
.bf-platform-overview[data-bf-revealed="false"]
.bf-platform-overview__copy,
.js[data-bf-platform-ready="true"]
.bf-platform-overview[data-bf-revealed="false"]
.bf-platform-system,
.js[data-bf-platform-ready="true"]
.bf-platform-overview[data-bf-revealed="false"]
.bf-complexity-bridge {
  opacity: 0;
  transform: translate3d(0, 20px, 0);
  filter: blur(5px);
}

.js[data-bf-platform-ready="true"]
.bf-platform-overview[data-bf-revealed="true"]
.bf-platform-overview__copy,
.js[data-bf-platform-ready="true"]
.bf-platform-overview[data-bf-revealed="true"]
.bf-platform-system,
.js[data-bf-platform-ready="true"]
.bf-platform-overview[data-bf-revealed="true"]
.bf-complexity-bridge {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: blur(0);
  transition:
    opacity var(--bf-slow) var(--bf-ease-emphasized),
    transform var(--bf-slow) var(--bf-ease-emphasized),
    filter var(--bf-slow) var(--bf-ease-emphasized);
}

.js[data-bf-platform-ready="true"]
.bf-platform-overview[data-bf-revealed="true"]
.bf-platform-system {
  transition-delay: 120ms;
}

.js[data-bf-platform-ready="true"]
.bf-platform-overview[data-bf-revealed="true"]
.bf-complexity-bridge {
  transition-delay: 260ms;
}

.js[data-bf-platform-ready="true"]
.bf-platform-overview[data-bf-revealed="false"]
.bf-platform-map__track-progress {
  transform: scaleY(0);
}

.js[data-bf-platform-ready="true"]
.bf-platform-overview[data-bf-revealed="true"]
.bf-platform-map__track-progress {
  transform: scaleY(var(--bf-platform-progress));
}

@media (max-width: 1120px) {
  .bf-platform-overview__layout {
    grid-template-columns: 1fr;
  }

  .bf-platform-overview__copy {
    max-width: 840px;
  }

  .bf-platform-overview__copy h2 {
    max-width: 15ch;
  }
}

@media (max-width: 760px) {
  .bf-platform-overview {
    padding-block: 92px;
  }

  .bf-platform-overview__copy h2 {
    font-size: clamp(2.45rem, 11vw, 3.8rem);
  }

  .bf-platform-overview__principles {
    grid-template-columns: 1fr;
  }

  .bf-platform-system {
    border-radius: 24px;
  }

  .bf-platform-system__header {
    align-items: flex-start;
    flex-direction: column;
    padding: 18px;
  }

  .bf-platform-system__body {
    grid-template-columns: 1fr;
    padding: 18px;
  }

  .bf-platform-node {
    grid-template-columns: 50px minmax(0, 1fr);
    padding-right: 8px;
  }

  .bf-platform-node__state {
    display: none;
  }

  .bf-platform-map__track {
    left: 28px;
  }

  .bf-platform-system__footer {
    align-items: flex-start;
    flex-direction: column;
    padding: 16px 18px;
  }

  .bf-platform-system__footer ul {
    justify-content: flex-start;
  }

  .bf-platform-detail {
    min-height: 240px;
  }

  .bf-complexity-bridge {
    grid-template-columns: 1fr;
    gap: 14px;
    text-align: center;
  }

  .bf-complexity-bridge__line {
    width: 100%;
  }
}

@media (hover: none), (pointer: coarse) {
  .bf-platform-node:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bf-platform-overview__copy,
  .bf-platform-system,
  .bf-complexity-bridge {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }

  .bf-platform-map__track-progress {
    transition: none !important;
  }
}

@supports not (
  (backdrop-filter: blur(1px)) or
  (-webkit-backdrop-filter: blur(1px))
) {
  .bf-platform-system {
    background: var(--bf-surface);
  }
}


/* =========================================================
   BOOKFELS V3 — PATCH 004
   ENTERPRISE PROCESS ENGINE
   ========================================================= */
#solutions {
  scroll-margin-top: 112px;
}

.bf-process-engine {
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding-block: clamp(100px, 12vw, 160px);
  background:
    radial-gradient(
      900px 620px at 92% 14%,
      rgba(121, 168, 255, .075),
      transparent 70%
    ),
    radial-gradient(
      760px 560px at 6% 78%,
      rgba(77, 230, 230, .04),
      transparent 72%
    ),
    linear-gradient(180deg, var(--bf-deep-space), var(--bf-background));
}

.bf-process-engine__atmosphere {
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  opacity: .075;
}

.bf-process-engine__atmosphere svg {
  width: 100%;
  height: 100%;
}

.bf-process-network__paths {
  fill: none;
  stroke: rgba(121, 168, 255, .28);
  stroke-width: 1;
  stroke-dasharray: 5 20;
}

.bf-process-network__nodes {
  fill: var(--bf-accent-cyan);
  opacity: .52;
}

.bf-process-engine__header {
  max-width: 860px;
  margin: 0 auto clamp(64px, 9vw, 108px);
  text-align: center;
}

.bf-process-engine__eyebrow {
  display: inline-block;
  margin-bottom: 17px;
  color: var(--bf-accent-cyan);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.bf-process-engine__header h2 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: clamp(2.8rem, 6vw, 5.2rem);
  line-height: .98;
  letter-spacing: -.052em;
  text-wrap: balance;
}

.bf-process-engine__header p {
  max-width: 68ch;
  margin: 24px auto 0;
  color: var(--bf-muted);
  font-size: clamp(1rem, 1.4vw, 1.12rem);
  line-height: 1.72;
}

.bf-process-engine__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(390px, .72fr);
  gap: clamp(40px, 7vw, 92px);
  align-items: start;
}

/* STORY CHAPTERS */
.bf-process-story {
  display: grid;
  gap: 26px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.bf-process-chapter {
  min-height: min(58vh, 520px);
  display: flex;
  align-items: center;
  scroll-margin-top: 130px;
  opacity: .58;
  transition:
    opacity var(--bf-medium) var(--bf-ease-standard),
    transform var(--bf-medium) var(--bf-ease-standard);
}

.bf-process-chapter[data-active="true"] {
  opacity: 1;
}

.bf-process-chapter > article {
  width: 100%;
  min-height: 330px;
  display: grid;
  align-content: center;
  gap: 28px;
  padding: clamp(24px, 4vw, 38px);
  border: 1px solid var(--bf-border);
  border-radius: var(--bf-radius-xl);
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, .066),
      rgba(255, 255, 255, .012) 34%,
      transparent 58%
    ),
    rgba(14, 23, 38, .48);
  box-shadow:
    0 22px 64px rgba(0, 0, 0, .25),
    inset 0 1px 0 rgba(255, 255, 255, .055);
  backdrop-filter: blur(18px) saturate(116%);
  -webkit-backdrop-filter: blur(18px) saturate(116%);
  transition:
    border-color var(--bf-medium) var(--bf-ease-standard),
    background var(--bf-medium) var(--bf-ease-standard),
    box-shadow var(--bf-medium) var(--bf-ease-standard),
    transform var(--bf-medium) var(--bf-ease-standard);
}

.bf-process-chapter[data-active="true"] > article {
  border-color: rgba(125, 235, 255, .19);
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .09),
      rgba(77, 230, 230, .018) 40%,
      transparent 64%
    ),
    rgba(14, 23, 38, .62);
  box-shadow:
    0 28px 72px rgba(0, 0, 0, .31),
    0 0 20px rgba(92, 146, 255, .07),
    inset 0 1px 0 rgba(255, 255, 255, .065);
  transform: translateX(4px);
}

.bf-process-chapter__topline {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
}

.bf-process-chapter__status {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  color: var(--bf-muted);
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.bf-process-chapter__status > span {
  width: 7px;
  height: 7px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--bf-muted);
  box-shadow: 0 0 10px rgba(169, 182, 211, .18);
}

.bf-process-chapter[data-active="true"]
.bf-process-chapter__status {
  color: var(--bf-success);
}

.bf-process-chapter[data-active="true"]
.bf-process-chapter__status > span {
  background: var(--bf-success);
  box-shadow: 0 0 12px rgba(67, 217, 140, .55);
}

.bf-process-chapter__index {
  color: rgba(169, 182, 211, .18);
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: clamp(3.8rem, 7vw, 6rem);
  font-weight: 800;
  line-height: .7;
  letter-spacing: -.055em;
}

.bf-process-chapter__body {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}

.bf-process-chapter__icon {
  width: 68px;
  height: 68px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(121, 168, 255, .14);
  border-radius: 21px;
  color: var(--bf-accent-cyan);
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .11),
      rgba(77, 230, 230, .025)
    );
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .055);
}

.bf-process-chapter__icon .bf-icon {
  width: 34px;
  height: 34px;
}

.bf-process-chapter h3 {
  margin: 0 0 10px;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: clamp(1.8rem, 3.2vw, 2.7rem);
  line-height: 1;
  letter-spacing: -.043em;
}

.bf-process-chapter p {
  max-width: 56ch;
  margin: 0;
  color: var(--bf-muted);
  font-size: .96rem;
  line-height: 1.66;
}

.bf-process-chapter__signals {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}

.bf-process-chapter__signals > div {
  min-width: 0;
  padding: 15px;
  border: 1px solid rgba(255, 255, 255, .06);
  border-radius: 16px;
  background: rgba(3, 9, 18, .22);
}

.bf-process-chapter__signals dt {
  margin-bottom: 5px;
  color: var(--bf-accent-cyan);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.bf-process-chapter__signals dd {
  margin: 0;
  color: var(--bf-muted);
  font-size: .74rem;
  line-height: 1.45;
}

/* STICKY PROCESS CONSOLE */
.bf-process-console {
  --bf-process-progress: 0;

  position: sticky;
  top: 112px;
  overflow: hidden;
  border: 1px solid var(--bf-border-strong);
  border-radius: var(--bf-radius-xl);
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, .09),
      rgba(255, 255, 255, .014) 31%,
      transparent 55%
    ),
    rgba(10, 18, 31, .86);
  box-shadow:
    0 32px 90px rgba(0, 0, 0, .43),
    inset 0 1px 0 rgba(255, 255, 255, .075);
  backdrop-filter: blur(24px) saturate(118%);
  -webkit-backdrop-filter: blur(24px) saturate(118%);
}

.bf-process-console::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(
      430px 260px at 0% 0%,
      rgba(121, 168, 255, .1),
      transparent 72%
    );
}

.bf-process-console__header {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  padding: 19px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.bf-process-console__identity {
  min-width: 0;
  display: flex;
  gap: 12px;
  align-items: center;
}

.bf-process-console__beacon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(121, 168, 255, .15);
  border-radius: 15px;
  background: rgba(255, 255, 255, .035);
}

.bf-process-console__beacon img {
  width: 38px;
  height: 38px;
}

.bf-process-console__identity > div {
  min-width: 0;
}

.bf-process-console__identity span {
  display: block;
  margin-bottom: 3px;
  color: var(--bf-accent-cyan);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.bf-process-console__identity h3 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: 1.03rem;
  letter-spacing: -.025em;
}

.bf-process-console__live {
  min-height: 29px;
  display: inline-flex;
  gap: 7px;
  align-items: center;
  padding-inline: 10px;
  border: 1px solid rgba(67, 217, 140, .14);
  border-radius: var(--bf-radius-pill);
  color: var(--bf-success);
  background: rgba(67, 217, 140, .04);
  font-size: .63rem;
  font-weight: 800;
  white-space: nowrap;
}

.bf-process-console__live > span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 12px rgba(67, 217, 140, .6);
}

.bf-process-console__track {
  position: relative;
  padding: 24px 20px 18px;
}

.bf-process-console__track-base,
.bf-process-console__track-progress {
  position: absolute;
  top: 49px;
  left: 41px;
  right: 41px;
  height: 2px;
  border-radius: 999px;
  transform-origin: left;
}

.bf-process-console__track-base {
  background: rgba(255, 255, 255, .075);
}

.bf-process-console__track-progress {
  background:
    linear-gradient(
      90deg,
      var(--bf-primary),
      var(--bf-accent-cyan)
    );
  box-shadow: 0 0 14px rgba(125, 235, 255, .25);
  transform: scaleX(var(--bf-process-progress));
  transition:
    transform var(--bf-slow) var(--bf-ease-emphasized);
}

.bf-process-console__nodes {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.bf-process-console__node {
  min-width: 0;
  display: grid;
  justify-items: center;
  gap: 9px;
  padding: 0;
  border: 0;
  color: var(--bf-muted);
  text-align: center;
  background: transparent;
  cursor: pointer;
}

.bf-process-console__node > span {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 16px;
  color: inherit;
  background: rgba(7, 13, 24, .96);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .045);
  font-size: .69rem;
  font-weight: 800;
  transition:
    color var(--bf-fast) var(--bf-ease-standard),
    border-color var(--bf-fast) var(--bf-ease-standard),
    background var(--bf-fast) var(--bf-ease-standard),
    box-shadow var(--bf-fast) var(--bf-ease-standard),
    transform var(--bf-fast) var(--bf-ease-standard);
}

.bf-process-console__node strong {
  overflow: hidden;
  max-width: 100%;
  font-size: .62rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bf-process-console__node:hover > span,
.bf-process-console__node:focus-visible > span,
.bf-process-console__node[aria-pressed="true"] > span {
  color: var(--bf-accent-cyan);
  border-color: rgba(125, 235, 255, .24);
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .14),
      rgba(77, 230, 230, .035)
    ),
    rgba(7, 13, 24, .98);
  box-shadow:
    0 0 18px rgba(92, 146, 255, .12),
    inset 0 1px 0 rgba(255, 255, 255, .055);
  transform: translateY(-2px);
}

.bf-process-console__node[aria-pressed="true"] {
  color: var(--bf-text);
}

.bf-process-console__detail {
  min-height: 286px;
  display: flex;
  flex-direction: column;
  margin: 0 20px 20px;
  padding: 20px;
  border: 1px solid rgba(255, 255, 255, .065);
  border-radius: var(--bf-radius-lg);
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, .045),
      transparent 44%
    ),
    rgba(3, 9, 18, .28);
}

.bf-process-console__detail-topline {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 27px;
}

.bf-process-console__detail-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(121, 168, 255, .16);
  border-radius: 15px;
  color: var(--bf-accent-cyan);
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .11),
      rgba(77, 230, 230, .025)
    );
}

.bf-process-console__detail-icon .bf-icon {
  width: 25px;
  height: 25px;
}

.bf-process-console__detail-status {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  padding-inline: 10px;
  border: 1px solid var(--bf-border);
  border-radius: var(--bf-radius-pill);
  color: var(--bf-success);
  font-size: .62rem;
  font-weight: 800;
}

.bf-process-console__detail-eyebrow {
  color: var(--bf-accent-cyan);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.bf-process-console__detail h4 {
  margin: 9px 0 13px;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: clamp(1.5rem, 2.8vw, 2.15rem);
  letter-spacing: -.04em;
}

.bf-process-console__detail p {
  margin: 0;
  color: var(--bf-muted);
  font-size: .82rem;
  line-height: 1.64;
}

.bf-process-console__outcome {
  margin-top: auto;
  padding-top: 28px;
}

.bf-process-console__outcome span {
  display: block;
  margin-bottom: 6px;
  color: var(--bf-muted);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.bf-process-console__outcome strong {
  font-size: .8rem;
}

.bf-process-console__loop {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 17px 20px;
  border-top: 1px solid rgba(255, 255, 255, .06);
  background:
    linear-gradient(
      90deg,
      rgba(121, 168, 255, .05),
      rgba(77, 230, 230, .018)
    );
}

.bf-process-console__loop-icon {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(121, 168, 255, .14);
  border-radius: 12px;
  color: var(--bf-accent-cyan);
  transform: rotate(180deg);
}

.bf-process-console__loop-icon .bf-icon {
  width: 18px;
  height: 18px;
}

.bf-process-console__loop > div {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.bf-process-console__loop strong {
  font-size: .75rem;
}

.bf-process-console__loop small {
  color: var(--bf-muted);
  font-size: .66rem;
  line-height: 1.4;
}

/* CONTINUOUS CYCLE SIGNATURE */
.bf-process-cycle {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: clamp(66px, 9vw, 110px);
  color: var(--bf-muted);
  font-size: .72rem;
  font-weight: 760;
}

.bf-process-cycle span,
.bf-process-cycle strong {
  white-space: nowrap;
}

.bf-process-cycle strong {
  color: var(--bf-text);
}

.bf-process-cycle i {
  width: clamp(30px, 5vw, 72px);
  height: 1px;
  background:
    linear-gradient(
      90deg,
      rgba(121, 168, 255, .12),
      rgba(125, 235, 255, .34)
    );
}

.bf-process-cycle__return {
  position: relative;
  background:
    linear-gradient(
      90deg,
      rgba(125, 235, 255, .34),
      rgba(121, 168, 255, .12)
    ) !important;
}

.bf-process-cycle__return::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 6px;
  height: 6px;
  border-top: 1px solid var(--bf-accent-cyan);
  border-right: 1px solid var(--bf-accent-cyan);
  transform: translateY(-50%) rotate(45deg);
}

/* JS-enhanced reveal only. */
.js[data-bf-process-ready="true"]
.bf-process-engine[data-bf-revealed="false"]
[data-bf-process-reveal],
.js[data-bf-process-ready="true"]
.bf-process-engine[data-bf-revealed="false"]
.bf-process-engine__layout,
.js[data-bf-process-ready="true"]
.bf-process-engine[data-bf-revealed="false"]
.bf-process-cycle {
  opacity: 0;
  transform: translate3d(0, 20px, 0);
  filter: blur(5px);
}

.js[data-bf-process-ready="true"]
.bf-process-engine[data-bf-revealed="true"]
[data-bf-process-reveal],
.js[data-bf-process-ready="true"]
.bf-process-engine[data-bf-revealed="true"]
.bf-process-engine__layout,
.js[data-bf-process-ready="true"]
.bf-process-engine[data-bf-revealed="true"]
.bf-process-cycle {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: blur(0);
  transition:
    opacity var(--bf-slow) var(--bf-ease-emphasized),
    transform var(--bf-slow) var(--bf-ease-emphasized),
    filter var(--bf-slow) var(--bf-ease-emphasized);
}

.js[data-bf-process-ready="true"]
.bf-process-engine[data-bf-revealed="true"]
.bf-process-engine__layout {
  transition-delay: 120ms;
}

.js[data-bf-process-ready="true"]
.bf-process-engine[data-bf-revealed="true"]
.bf-process-cycle {
  transition-delay: 250ms;
}

@media (max-width: 1080px) {
  .bf-process-engine__layout {
    grid-template-columns: 1fr;
  }

  .bf-process-story {
    gap: 18px;
  }

  .bf-process-chapter {
    min-height: 0;
  }

  .bf-process-console {
    position: relative;
    top: auto;
    order: -1;
  }
}

@media (max-width: 720px) {
  .bf-process-engine {
    padding-block: 92px;
  }

  .bf-process-engine__header h2 {
    font-size: clamp(2.5rem, 12vw, 4rem);
  }

  .bf-process-chapter > article {
    min-height: 0;
    padding: 22px;
    border-radius: 24px;
  }

  .bf-process-chapter[data-active="true"] > article {
    transform: none;
  }

  .bf-process-chapter__body {
    grid-template-columns: 1fr;
  }

  .bf-process-chapter__signals {
    grid-template-columns: 1fr;
  }

  .bf-process-chapter__index {
    font-size: 4rem;
  }

  .bf-process-console {
    border-radius: 24px;
  }

  .bf-process-console__header {
    align-items: flex-start;
    flex-direction: column;
  }

  .bf-process-console__track {
    overflow-x: auto;
    padding-bottom: 22px;
    scrollbar-width: thin;
  }

  .bf-process-console__nodes {
    min-width: 440px;
  }

  .bf-process-console__track-base,
  .bf-process-console__track-progress {
    min-width: 358px;
  }

  .bf-process-cycle {
    align-items: flex-start;
    flex-direction: column;
  }

  .bf-process-cycle i {
    width: 1px;
    height: 24px;
    margin-left: 4px;
    background:
      linear-gradient(
        180deg,
        rgba(121, 168, 255, .12),
        rgba(125, 235, 255, .34)
      );
  }

  .bf-process-cycle__return::after {
    top: auto;
    right: auto;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0) rotate(135deg);
  }
}

@media (hover: none), (pointer: coarse) {
  .bf-process-chapter[data-active="true"] > article,
  .bf-process-console__node:hover > span {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bf-process-engine [data-bf-process-reveal],
  .bf-process-engine__layout,
  .bf-process-cycle {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }

  .bf-process-console__track-progress {
    transition: none !important;
  }
}

@supports not (
  (backdrop-filter: blur(1px)) or
  (-webkit-backdrop-filter: blur(1px))
) {
  .bf-process-chapter > article,
  .bf-process-console {
    background: var(--bf-surface);
  }
}


/* =========================================================
   BOOKFELS V3 — PATCH 005
   ENTERPRISE SOLUTION MODULES
   ========================================================= */
#industries {
  scroll-margin-top: 112px;
}

.bf-solutions {
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding-block: clamp(100px, 12vw, 164px);
  background:
    radial-gradient(
      900px 620px at 8% 16%,
      rgba(121, 168, 255, .075),
      transparent 70%
    ),
    radial-gradient(
      760px 560px at 94% 76%,
      rgba(77, 230, 230, .04),
      transparent 72%
    ),
    linear-gradient(180deg, var(--bf-background), var(--bf-deep-space));
}

.bf-solutions__atmosphere {
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  opacity: .075;
}

.bf-solutions__atmosphere svg {
  width: 100%;
  height: 100%;
}

.bf-solutions-network__paths {
  fill: none;
  stroke: rgba(121, 168, 255, .28);
  stroke-width: 1;
  stroke-dasharray: 5 20;
}

.bf-solutions-network__nodes {
  fill: var(--bf-accent-cyan);
  opacity: .52;
}

.bf-solutions__header {
  max-width: 900px;
  margin: 0 auto clamp(58px, 8vw, 96px);
  text-align: center;
}

.bf-solutions__eyebrow {
  display: inline-block;
  margin-bottom: 17px;
  color: var(--bf-accent-cyan);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.bf-solutions__header h2 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: clamp(2.7rem, 5.8vw, 5.1rem);
  line-height: .98;
  letter-spacing: -.052em;
  text-wrap: balance;
}

.bf-solutions__header p {
  max-width: 70ch;
  margin: 24px auto 0;
  color: var(--bf-muted);
  font-size: clamp(1rem, 1.4vw, 1.12rem);
  line-height: 1.72;
}

.bf-solutions__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(390px, .78fr);
  gap: clamp(36px, 6vw, 76px);
  align-items: start;
}

/* MODULE CATALOG */
.bf-solution-catalog {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.bf-solution-module {
  position: relative;
  min-width: 0;
  min-height: 390px;
  display: flex;
  flex-direction: column;
  gap: 22px;
  padding: 24px;
  border: 1px solid var(--bf-border);
  border-radius: var(--bf-radius-xl);
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, .063),
      rgba(255, 255, 255, .012) 34%,
      transparent 58%
    ),
    rgba(14, 23, 38, .5);
  box-shadow:
    0 22px 64px rgba(0, 0, 0, .24),
    inset 0 1px 0 rgba(255, 255, 255, .055);
  backdrop-filter: blur(18px) saturate(116%);
  -webkit-backdrop-filter: blur(18px) saturate(116%);
  transition:
    transform var(--bf-medium) var(--bf-ease-standard),
    border-color var(--bf-medium) var(--bf-ease-standard),
    background var(--bf-medium) var(--bf-ease-standard),
    box-shadow var(--bf-medium) var(--bf-ease-standard),
    opacity var(--bf-medium) var(--bf-ease-standard);
}

.bf-solution-module::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background:
    radial-gradient(
      320px 190px at 0% 0%,
      rgba(255, 255, 255, .045),
      transparent 72%
    );
}

.bf-solution-module:hover {
  transform: translateY(-3px);
  border-color: rgba(125, 235, 255, .18);
  box-shadow:
    0 26px 72px rgba(0, 0, 0, .29),
    0 0 20px rgba(92, 146, 255, .06),
    inset 0 1px 0 rgba(255, 255, 255, .06);
}

.bf-solution-module[data-selected="true"] {
  border-color: rgba(125, 235, 255, .23);
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .105),
      rgba(77, 230, 230, .018) 42%,
      transparent 68%
    ),
    rgba(14, 23, 38, .64);
  box-shadow:
    0 28px 78px rgba(0, 0, 0, .31),
    0 0 20px rgba(92, 146, 255, .075),
    inset 0 1px 0 rgba(255, 255, 255, .065);
}

.bf-solution-module__topline {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.bf-solution-module__category {
  color: var(--bf-accent-cyan);
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.bf-solution-module__index {
  color: rgba(169, 182, 211, .42);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .15em;
}

.bf-solution-module__identity {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.bf-solution-module__icon {
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(121, 168, 255, .14);
  border-radius: 20px;
  color: var(--bf-accent-cyan);
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .11),
      rgba(77, 230, 230, .025)
    );
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .055);
}

.bf-solution-module__icon .bf-icon {
  width: 33px;
  height: 33px;
}

.bf-solution-module h3 {
  margin: 1px 0 9px;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: 1.45rem;
  line-height: 1.05;
  letter-spacing: -.034em;
}

.bf-solution-module p {
  margin: 0;
  color: var(--bf-muted);
  font-size: .88rem;
  line-height: 1.62;
}

.bf-solution-module__capabilities {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.bf-solution-module__capabilities li {
  display: flex;
  gap: 8px;
  align-items: center;
  color: var(--bf-muted);
  font-size: .74rem;
  font-weight: 700;
}

.bf-solution-module__capabilities li::before {
  content: "";
  width: 5px;
  height: 5px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--bf-accent-cyan);
  box-shadow: 0 0 8px rgba(125, 235, 255, .32);
}

.bf-solution-module__toggle {
  position: relative;
  z-index: 1;
  min-height: 46px;
  display: inline-flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  margin-top: auto;
  padding-inline: 14px;
  border: 1px solid var(--bf-border);
  border-radius: 14px;
  color: var(--bf-muted);
  background: rgba(255, 255, 255, .025);
  font-size: .74rem;
  font-weight: 800;
  cursor: pointer;
  transition:
    color var(--bf-fast) var(--bf-ease-standard),
    border-color var(--bf-fast) var(--bf-ease-standard),
    background var(--bf-fast) var(--bf-ease-standard),
    transform var(--bf-fast) var(--bf-ease-standard);
}

.bf-solution-module__toggle:hover {
  transform: translateY(-2px);
  color: var(--bf-text);
  border-color: rgba(125, 235, 255, .19);
  background: rgba(255, 255, 255, .045);
}

.bf-solution-module__toggle-mark {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border: 1px solid var(--bf-border);
  border-radius: 8px;
  color: transparent;
  background: rgba(3, 9, 18, .28);
  transition:
    color var(--bf-fast) var(--bf-ease-standard),
    border-color var(--bf-fast) var(--bf-ease-standard),
    background var(--bf-fast) var(--bf-ease-standard);
}

.bf-solution-module__toggle-mark .bf-icon {
  width: 13px;
  height: 13px;
}

.bf-solution-module__toggle[aria-pressed="true"] {
  color: var(--bf-text);
  border-color: rgba(125, 235, 255, .22);
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .1),
      rgba(77, 230, 230, .025)
    );
}

.bf-solution-module__toggle[aria-pressed="true"]
.bf-solution-module__toggle-mark {
  color: var(--bf-deep-space);
  border-color: transparent;
  background:
    linear-gradient(
      135deg,
      var(--bf-primary),
      var(--bf-accent-cyan)
    );
}

/* SOLUTION COMPOSER */
.bf-solution-composer {
  position: sticky;
  top: 112px;
  overflow: hidden;
  border: 1px solid var(--bf-border-strong);
  border-radius: var(--bf-radius-xl);
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, .09),
      rgba(255, 255, 255, .014) 31%,
      transparent 55%
    ),
    rgba(10, 18, 31, .87);
  box-shadow:
    0 32px 90px rgba(0, 0, 0, .43),
    inset 0 1px 0 rgba(255, 255, 255, .075);
  backdrop-filter: blur(24px) saturate(118%);
  -webkit-backdrop-filter: blur(24px) saturate(118%);
}

.bf-solution-composer::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(
      440px 280px at 0% 0%,
      rgba(121, 168, 255, .1),
      transparent 72%
    );
}

.bf-solution-composer__header {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  padding: 19px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.bf-solution-composer__identity {
  min-width: 0;
  display: flex;
  gap: 12px;
  align-items: center;
}

.bf-solution-composer__beacon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(121, 168, 255, .15);
  border-radius: 15px;
  background: rgba(255, 255, 255, .035);
}

.bf-solution-composer__beacon img {
  width: 38px;
  height: 38px;
}

.bf-solution-composer__identity > div {
  min-width: 0;
}

.bf-solution-composer__identity span {
  display: block;
  margin-bottom: 3px;
  color: var(--bf-accent-cyan);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.bf-solution-composer__identity h3 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: 1.03rem;
  letter-spacing: -.025em;
}

.bf-solution-composer__status {
  min-height: 29px;
  display: inline-flex;
  gap: 7px;
  align-items: center;
  padding-inline: 10px;
  border: 1px solid rgba(67, 217, 140, .14);
  border-radius: var(--bf-radius-pill);
  color: var(--bf-success);
  background: rgba(67, 217, 140, .04);
  font-size: .62rem;
  font-weight: 800;
  white-space: nowrap;
}

.bf-solution-composer__status > span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 12px rgba(67, 217, 140, .6);
}

.bf-solution-composer__summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 18px 20px;
}

.bf-solution-composer__summary > div {
  min-width: 0;
  display: grid;
  gap: 5px;
  padding: 13px;
  border: 1px solid rgba(255, 255, 255, .06);
  border-radius: 15px;
  background: rgba(3, 9, 18, .22);
}

.bf-solution-composer__summary span {
  color: var(--bf-muted);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.bf-solution-composer__summary strong {
  overflow: hidden;
  font-size: .82rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bf-solution-composer__selected,
.bf-solution-composer__coverage {
  padding: 4px 20px 20px;
}

.bf-solution-composer__eyebrow {
  display: block;
  margin-bottom: 13px;
  color: var(--bf-accent-cyan);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.bf-solution-composer__module-list {
  display: grid;
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.bf-solution-composer__module-list li {
  min-height: 39px;
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: 12px;
  color: var(--bf-muted);
  background: rgba(255, 255, 255, .018);
  font-size: .71rem;
  font-weight: 700;
}

.bf-solution-composer__module-list .bf-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  color: var(--bf-accent-cyan);
}

.bf-solution-composer__module-list-empty {
  color: var(--bf-muted);
  font-size: .72rem;
  line-height: 1.55;
}

.bf-coverage-row + .bf-coverage-row {
  margin-top: 13px;
}

.bf-coverage-row > div {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 7px;
  color: var(--bf-muted);
  font-size: .68rem;
  font-weight: 750;
}

.bf-coverage-row strong {
  color: var(--bf-text);
  font-size: .67rem;
}

.bf-coverage-track {
  display: block;
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, .06);
}

.bf-coverage-track > span {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background:
    linear-gradient(
      90deg,
      var(--bf-primary),
      var(--bf-accent-cyan)
    );
  box-shadow: 0 0 12px rgba(125, 235, 255, .2);
  transform: scaleX(var(--bf-coverage, 0));
  transform-origin: left;
  transition:
    transform var(--bf-slow) var(--bf-ease-emphasized);
}

.bf-coverage-track [data-bf-coverage-bar="clarity"] {
  --bf-coverage: .76;
}

.bf-coverage-track [data-bf-coverage-bar="governance"] {
  --bf-coverage: .54;
}

.bf-coverage-track [data-bf-coverage-bar="safety"] {
  --bf-coverage: .30;
}

.bf-coverage-track [data-bf-coverage-bar="adaptability"] {
  --bf-coverage: .38;
}

.bf-solution-composer__insight {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  margin: 0 20px 20px;
  padding: 15px;
  border: 1px solid rgba(121, 168, 255, .12);
  border-radius: 16px;
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .075),
      rgba(77, 230, 230, .018)
    );
}

.bf-solution-composer__insight-icon {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(121, 168, 255, .14);
  border-radius: 12px;
  color: var(--bf-accent-cyan);
}

.bf-solution-composer__insight-icon .bf-icon {
  width: 19px;
  height: 19px;
}

.bf-solution-composer__insight > div {
  min-width: 0;
}

.bf-solution-composer__insight span {
  display: block;
  margin-bottom: 5px;
  color: var(--bf-accent-cyan);
  font-size: .6rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.bf-solution-composer__insight p {
  margin: 0;
  color: var(--bf-muted);
  font-size: .71rem;
  line-height: 1.5;
}

.bf-solution-composer__footer {
  display: grid;
  gap: 10px;
  padding: 18px 20px 20px;
  border-top: 1px solid rgba(255, 255, 255, .06);
}

.bf-solution-composer__reset {
  min-height: 42px;
  border: 1px solid var(--bf-border);
  border-radius: 13px;
  color: var(--bf-muted);
  background: rgba(255, 255, 255, .025);
  font-size: .72rem;
  font-weight: 800;
  cursor: pointer;
  transition:
    color var(--bf-fast) var(--bf-ease-standard),
    border-color var(--bf-fast) var(--bf-ease-standard),
    background var(--bf-fast) var(--bf-ease-standard);
}

.bf-solution-composer__reset:hover {
  color: var(--bf-text);
  border-color: rgba(125, 235, 255, .18);
  background: rgba(255, 255, 255, .045);
}

.bf-solution-composer__footer .bf-button {
  width: 100%;
}

.bf-solutions__footer {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 28px;
  align-items: center;
  margin-top: clamp(58px, 8vw, 96px);
  padding-top: 30px;
  border-top: 1px solid var(--bf-border);
}

.bf-solutions__footer span {
  color: var(--bf-accent-cyan);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
  white-space: nowrap;
}

.bf-solutions__footer p {
  max-width: 74ch;
  margin: 0;
  color: var(--bf-muted);
  font-size: .84rem;
  line-height: 1.58;
}

/* Reveal remains progressive enhancement. */
.js[data-bf-solutions-ready="true"]
.bf-solutions[data-bf-revealed="false"]
[data-bf-solutions-reveal],
.js[data-bf-solutions-ready="true"]
.bf-solutions[data-bf-revealed="false"]
.bf-solutions__layout {
  opacity: 0;
  transform: translate3d(0, 20px, 0);
  filter: blur(5px);
}

.js[data-bf-solutions-ready="true"]
.bf-solutions[data-bf-revealed="true"]
[data-bf-solutions-reveal],
.js[data-bf-solutions-ready="true"]
.bf-solutions[data-bf-revealed="true"]
.bf-solutions__layout {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: blur(0);
  transition:
    opacity var(--bf-slow) var(--bf-ease-emphasized),
    transform var(--bf-slow) var(--bf-ease-emphasized),
    filter var(--bf-slow) var(--bf-ease-emphasized);
}

.js[data-bf-solutions-ready="true"]
.bf-solutions[data-bf-revealed="true"]
.bf-solutions__layout {
  transition-delay: 120ms;
}

@media (max-width: 1120px) {
  .bf-solutions__layout {
    grid-template-columns: 1fr;
  }

  .bf-solution-composer {
    position: relative;
    top: auto;
    order: -1;
  }
}

@media (max-width: 760px) {
  .bf-solutions {
    padding-block: 92px;
  }

  .bf-solutions__header h2 {
    font-size: clamp(2.45rem, 11vw, 3.9rem);
  }

  .bf-solution-catalog {
    grid-template-columns: 1fr;
  }

  .bf-solution-module {
    min-height: 0;
    padding: 22px;
    border-radius: 24px;
  }

  .bf-solution-module__identity {
    grid-template-columns: 1fr;
  }

  .bf-solution-composer {
    border-radius: 24px;
  }

  .bf-solution-composer__header {
    align-items: flex-start;
    flex-direction: column;
  }

  .bf-solution-composer__summary {
    grid-template-columns: 1fr;
  }

  .bf-solutions__footer {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .bf-solutions__footer span {
    white-space: normal;
  }
}

@media (hover: none), (pointer: coarse) {
  .bf-solution-module:hover,
  .bf-solution-module__toggle:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bf-solutions [data-bf-solutions-reveal],
  .bf-solutions__layout {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }

  .bf-coverage-track > span {
    transition: none !important;
  }
}

@supports not (
  (backdrop-filter: blur(1px)) or
  (-webkit-backdrop-filter: blur(1px))
) {
  .bf-solution-module,
  .bf-solution-composer {
    background: var(--bf-surface);
  }
}


/* =========================================================
   BOOKFELS V3 — PATCH 006
   INDUSTRY ENVIRONMENTS ENGINE
   ========================================================= */
#evidence {
  scroll-margin-top: 112px;
}

.bf-industries {
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding-block: clamp(100px, 12vw, 164px);
  background:
    radial-gradient(
      900px 620px at 92% 16%,
      rgba(121, 168, 255, .075),
      transparent 70%
    ),
    radial-gradient(
      760px 560px at 7% 78%,
      rgba(77, 230, 230, .04),
      transparent 72%
    ),
    linear-gradient(180deg, var(--bf-deep-space), var(--bf-background));
}

.bf-industries__atmosphere {
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  opacity: .075;
}

.bf-industries__atmosphere svg {
  width: 100%;
  height: 100%;
}

.bf-industries-network__paths {
  fill: none;
  stroke: rgba(121, 168, 255, .28);
  stroke-width: 1;
  stroke-dasharray: 5 20;
}

.bf-industries-network__nodes {
  fill: var(--bf-accent-cyan);
  opacity: .52;
}

.bf-industries__header {
  max-width: 920px;
  margin: 0 auto clamp(60px, 8vw, 98px);
  text-align: center;
}

.bf-industries__eyebrow {
  display: inline-block;
  margin-bottom: 17px;
  color: var(--bf-accent-cyan);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.bf-industries__header h2 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: clamp(2.7rem, 5.8vw, 5.1rem);
  line-height: .98;
  letter-spacing: -.052em;
  text-wrap: balance;
}

.bf-industries__header p {
  max-width: 72ch;
  margin: 24px auto 0;
  color: var(--bf-muted);
  font-size: clamp(1rem, 1.4vw, 1.12rem);
  line-height: 1.72;
}

.bf-industries__layout {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(470px, 1.1fr);
  gap: clamp(38px, 6vw, 82px);
  align-items: start;
}

/* ENVIRONMENT SELECTOR */
.bf-environment-selector {
  display: grid;
  gap: 14px;
}

.bf-environment-option {
  width: 100%;
  min-height: 122px;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  gap: 17px;
  align-items: center;
  padding: 18px;
  border: 1px solid var(--bf-border);
  border-radius: var(--bf-radius-lg);
  color: var(--bf-muted);
  text-align: left;
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, .052),
      rgba(255, 255, 255, .01) 36%,
      transparent 60%
    ),
    rgba(14, 23, 38, .48);
  box-shadow:
    0 18px 52px rgba(0, 0, 0, .22),
    inset 0 1px 0 rgba(255, 255, 255, .05);
  backdrop-filter: blur(16px) saturate(114%);
  -webkit-backdrop-filter: blur(16px) saturate(114%);
  cursor: pointer;
  transition:
    transform var(--bf-fast) var(--bf-ease-standard),
    color var(--bf-fast) var(--bf-ease-standard),
    border-color var(--bf-fast) var(--bf-ease-standard),
    background var(--bf-fast) var(--bf-ease-standard),
    box-shadow var(--bf-fast) var(--bf-ease-standard),
    opacity var(--bf-fast) var(--bf-ease-standard);
}

.bf-environment-option:hover,
.bf-environment-option:focus-visible,
.bf-environment-option[aria-selected="true"] {
  color: var(--bf-text);
  border-color: rgba(125, 235, 255, .21);
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .1),
      rgba(77, 230, 230, .018) 44%,
      transparent 68%
    ),
    rgba(14, 23, 38, .62);
  box-shadow:
    0 24px 66px rgba(0, 0, 0, .28),
    0 0 20px rgba(92, 146, 255, .065),
    inset 0 1px 0 rgba(255, 255, 255, .06);
}

.bf-environment-option:hover {
  transform: translateX(3px);
}

.bf-environment-option__icon {
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(121, 168, 255, .14);
  border-radius: 20px;
  color: var(--bf-accent-cyan);
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .11),
      rgba(77, 230, 230, .025)
    );
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .055);
}

.bf-environment-option__icon .bf-icon {
  width: 32px;
  height: 32px;
}

.bf-environment-option__content {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.bf-environment-option__content small {
  color: var(--bf-accent-cyan);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.bf-environment-option__content strong {
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: 1.2rem;
  letter-spacing: -.025em;
}

.bf-environment-option__content > span {
  color: var(--bf-muted);
  font-size: .74rem;
  line-height: 1.48;
}

.bf-environment-option__state {
  min-height: 27px;
  display: inline-flex;
  align-items: center;
  padding-inline: 9px;
  border: 1px solid var(--bf-border);
  border-radius: var(--bf-radius-pill);
  color: var(--bf-muted);
  font-size: .6rem;
  font-weight: 800;
  white-space: nowrap;
}

.bf-environment-option[aria-selected="true"]
.bf-environment-option__state {
  color: var(--bf-success);
  border-color: rgba(67, 217, 140, .15);
  background: rgba(67, 217, 140, .04);
}

/* ENVIRONMENT CONSOLE */
.bf-environment-console {
  position: sticky;
  top: 112px;
  overflow: hidden;
  border: 1px solid var(--bf-border-strong);
  border-radius: var(--bf-radius-xl);
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, .09),
      rgba(255, 255, 255, .014) 31%,
      transparent 55%
    ),
    rgba(10, 18, 31, .88);
  box-shadow:
    0 34px 96px rgba(0, 0, 0, .44),
    inset 0 1px 0 rgba(255, 255, 255, .075);
  backdrop-filter: blur(24px) saturate(118%);
  -webkit-backdrop-filter: blur(24px) saturate(118%);
}

.bf-environment-console::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(
      470px 300px at 0% 0%,
      rgba(121, 168, 255, .1),
      transparent 72%
    );
}

.bf-environment-console__header {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  padding: 19px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.bf-environment-console__identity {
  min-width: 0;
  display: flex;
  gap: 12px;
  align-items: center;
}

.bf-environment-console__beacon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(121, 168, 255, .15);
  border-radius: 15px;
  background: rgba(255, 255, 255, .035);
}

.bf-environment-console__beacon img {
  width: 38px;
  height: 38px;
}

.bf-environment-console__identity > div {
  min-width: 0;
}

.bf-environment-console__identity span {
  display: block;
  margin-bottom: 3px;
  color: var(--bf-accent-cyan);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.bf-environment-console__identity h3 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: 1.02rem;
  letter-spacing: -.025em;
}

.bf-environment-console__status {
  min-height: 29px;
  display: inline-flex;
  gap: 7px;
  align-items: center;
  padding-inline: 10px;
  border: 1px solid rgba(67, 217, 140, .14);
  border-radius: var(--bf-radius-pill);
  color: var(--bf-success);
  background: rgba(67, 217, 140, .04);
  font-size: .61rem;
  font-weight: 800;
  white-space: nowrap;
}

.bf-environment-console__status > span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 12px rgba(67, 217, 140, .6);
}

.bf-environment-console__profile {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 20px 20px 10px;
}

.bf-environment-console__profile-icon {
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(121, 168, 255, .16);
  border-radius: 20px;
  color: var(--bf-accent-cyan);
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .12),
      rgba(77, 230, 230, .025)
    );
}

.bf-environment-console__profile-icon .bf-icon {
  width: 33px;
  height: 33px;
}

.bf-environment-console__profile > div:last-child {
  min-width: 0;
}

.bf-environment-console__profile span {
  display: block;
  margin-bottom: 4px;
  color: var(--bf-accent-cyan);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.bf-environment-console__profile h4 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: clamp(1.55rem, 3vw, 2.2rem);
  letter-spacing: -.04em;
}

.bf-environment-console__summary {
  margin: 0;
  padding: 8px 20px 20px;
  color: var(--bf-muted);
  font-size: .84rem;
  line-height: 1.62;
}

.bf-environment-console__conditions {
  padding: 18px 20px;
  border-block: 1px solid rgba(255, 255, 255, .06);
  background: rgba(3, 9, 18, .17);
}

.bf-environment-console__conditions-head {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 15px;
}

.bf-environment-console__conditions-head > span {
  color: var(--bf-accent-cyan);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.bf-environment-console__conditions-head small {
  color: rgba(169, 182, 211, .66);
  font-size: .58rem;
  text-align: right;
}

.bf-environment-metric + .bf-environment-metric {
  margin-top: 13px;
}

.bf-environment-metric > div {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 7px;
  color: var(--bf-muted);
  font-size: .67rem;
  font-weight: 750;
}

.bf-environment-metric strong {
  color: var(--bf-text);
  font-size: .66rem;
}

.bf-environment-metric__track {
  display: block;
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, .06);
}

.bf-environment-metric__track > span {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background:
    linear-gradient(
      90deg,
      var(--bf-primary),
      var(--bf-accent-cyan)
    );
  box-shadow: 0 0 12px rgba(125, 235, 255, .2);
  transform: scaleX(var(--bf-environment-value, 0));
  transform-origin: left;
  transition:
    transform var(--bf-slow) var(--bf-ease-emphasized);
}

.bf-environment-console__architecture,
.bf-environment-console__deployment {
  padding: 18px 20px 0;
}

.bf-environment-console__eyebrow {
  display: block;
  margin-bottom: 13px;
  color: var(--bf-accent-cyan);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.bf-environment-console__modules {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
  list-style: none;
}

.bf-environment-console__modules li {
  min-height: 34px;
  display: inline-flex;
  gap: 7px;
  align-items: center;
  padding: 6px 10px;
  border: 1px solid rgba(255, 255, 255, .06);
  border-radius: var(--bf-radius-pill);
  color: var(--bf-muted);
  background: rgba(255, 255, 255, .025);
  font-size: .67rem;
  font-weight: 750;
}

.bf-environment-console__modules .bf-icon {
  width: 15px;
  height: 15px;
  color: var(--bf-accent-cyan);
}

.bf-environment-console__deployment ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.bf-environment-console__deployment li {
  min-width: 0;
  display: grid;
  gap: 6px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .06);
  border-radius: 14px;
  background: rgba(3, 9, 18, .2);
}

.bf-environment-console__deployment li span {
  color: var(--bf-accent-cyan);
  font-size: .59rem;
  font-weight: 800;
  letter-spacing: .12em;
}

.bf-environment-console__deployment li strong {
  font-size: .67rem;
  line-height: 1.42;
}

.bf-environment-console__insight {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  margin: 18px 20px;
  padding: 15px;
  border: 1px solid rgba(121, 168, 255, .12);
  border-radius: 16px;
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .075),
      rgba(77, 230, 230, .018)
    );
}

.bf-environment-console__insight-icon {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(121, 168, 255, .14);
  border-radius: 12px;
  color: var(--bf-accent-cyan);
}

.bf-environment-console__insight-icon .bf-icon {
  width: 19px;
  height: 19px;
}

.bf-environment-console__insight > div {
  min-width: 0;
}

.bf-environment-console__insight span {
  display: block;
  margin-bottom: 5px;
  color: var(--bf-accent-cyan);
  font-size: .6rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.bf-environment-console__insight p {
  margin: 0;
  color: var(--bf-muted);
  font-size: .71rem;
  line-height: 1.5;
}

.bf-environment-console__footer {
  display: grid;
  gap: 10px;
  padding: 18px 20px 20px;
  border-top: 1px solid rgba(255, 255, 255, .06);
}

.bf-environment-console__apply {
  min-height: 44px;
  border: 1px solid var(--bf-border);
  border-radius: 13px;
  color: var(--bf-muted);
  background: rgba(255, 255, 255, .025);
  font-size: .71rem;
  font-weight: 800;
  cursor: pointer;
  transition:
    color var(--bf-fast) var(--bf-ease-standard),
    border-color var(--bf-fast) var(--bf-ease-standard),
    background var(--bf-fast) var(--bf-ease-standard);
}

.bf-environment-console__apply:hover {
  color: var(--bf-text);
  border-color: rgba(125, 235, 255, .18);
  background: rgba(255, 255, 255, .045);
}

.bf-environment-console__footer .bf-button {
  width: 100%;
}

.bf-industries__shared-core {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 28px;
  align-items: center;
  margin-top: clamp(58px, 8vw, 96px);
  padding-top: 30px;
  border-top: 1px solid var(--bf-border);
}

.bf-industries__shared-core > span {
  color: var(--bf-accent-cyan);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
  white-space: nowrap;
}

.bf-industries__shared-core ul {
  display: flex;
  gap: 10px 20px;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
  list-style: none;
}

.bf-industries__shared-core li {
  color: var(--bf-muted);
  font-size: .74rem;
  font-weight: 750;
}

.bf-industries__shared-core li::before {
  content: "•";
  margin-right: 8px;
  color: var(--bf-accent-cyan);
}

/* Progressive reveal only after JS initialized successfully. */
.js[data-bf-industries-ready="true"]
.bf-industries[data-bf-revealed="false"]
[data-bf-industries-reveal],
.js[data-bf-industries-ready="true"]
.bf-industries[data-bf-revealed="false"]
.bf-industries__layout {
  opacity: 0;
  transform: translate3d(0, 20px, 0);
  filter: blur(5px);
}

.js[data-bf-industries-ready="true"]
.bf-industries[data-bf-revealed="true"]
[data-bf-industries-reveal],
.js[data-bf-industries-ready="true"]
.bf-industries[data-bf-revealed="true"]
.bf-industries__layout {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: blur(0);
  transition:
    opacity var(--bf-slow) var(--bf-ease-emphasized),
    transform var(--bf-slow) var(--bf-ease-emphasized),
    filter var(--bf-slow) var(--bf-ease-emphasized);
}

.js[data-bf-industries-ready="true"]
.bf-industries[data-bf-revealed="true"]
.bf-industries__layout {
  transition-delay: 120ms;
}

@media (max-width: 1120px) {
  .bf-industries__layout {
    grid-template-columns: 1fr;
  }

  .bf-environment-console {
    position: relative;
    top: auto;
  }

  .bf-environment-selector {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bf-environment-option:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .bf-industries {
    padding-block: 92px;
  }

  .bf-industries__header h2 {
    font-size: clamp(2.45rem, 11vw, 3.9rem);
  }

  .bf-environment-selector {
    grid-template-columns: 1fr;
  }

  .bf-environment-option:last-child {
    grid-column: auto;
  }

  .bf-environment-option {
    grid-template-columns: 58px minmax(0, 1fr);
    min-height: 112px;
    padding: 16px;
  }

  .bf-environment-option__state {
    display: none;
  }

  .bf-environment-console {
    border-radius: 24px;
  }

  .bf-environment-console__header {
    align-items: flex-start;
    flex-direction: column;
  }

  .bf-environment-console__conditions-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }

  .bf-environment-console__conditions-head small {
    text-align: left;
  }

  .bf-environment-console__deployment ol {
    grid-template-columns: 1fr;
  }

  .bf-industries__shared-core {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .bf-industries__shared-core > span {
    white-space: normal;
  }
}

@media (hover: none), (pointer: coarse) {
  .bf-environment-option:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bf-industries [data-bf-industries-reveal],
  .bf-industries__layout {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }

  .bf-environment-metric__track > span {
    transition: none !important;
  }
}

@supports not (
  (backdrop-filter: blur(1px)) or
  (-webkit-backdrop-filter: blur(1px))
) {
  .bf-environment-option,
  .bf-environment-console {
    background: var(--bf-surface);
  }
}


/* =========================================================
   BOOKFELS V3 — PATCH 007
   TRUST & EVIDENCE ENGINE
   ========================================================= */
#assistant {
  scroll-margin-top: 112px;
}

.bf-evidence {
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding-block: clamp(100px, 12vw, 164px);
  background:
    radial-gradient(
      900px 620px at 8% 15%,
      rgba(121, 168, 255, .075),
      transparent 70%
    ),
    radial-gradient(
      760px 560px at 94% 78%,
      rgba(77, 230, 230, .04),
      transparent 72%
    ),
    linear-gradient(180deg, var(--bf-background), var(--bf-deep-space));
}

.bf-evidence__atmosphere {
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  opacity: .075;
}

.bf-evidence__atmosphere svg {
  width: 100%;
  height: 100%;
}

.bf-evidence-network__paths {
  fill: none;
  stroke: rgba(121, 168, 255, .28);
  stroke-width: 1;
  stroke-dasharray: 5 20;
}

.bf-evidence-network__nodes {
  fill: var(--bf-accent-cyan);
  opacity: .52;
}

.bf-evidence__header {
  max-width: 920px;
  margin: 0 auto clamp(60px, 8vw, 98px);
  text-align: center;
}

.bf-evidence__eyebrow {
  display: inline-block;
  margin-bottom: 17px;
  color: var(--bf-accent-cyan);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.bf-evidence__header h2 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: clamp(2.7rem, 5.8vw, 5.1rem);
  line-height: .98;
  letter-spacing: -.052em;
  text-wrap: balance;
}

.bf-evidence__header p {
  max-width: 72ch;
  margin: 24px auto 0;
  color: var(--bf-muted);
  font-size: clamp(1rem, 1.4vw, 1.12rem);
  line-height: 1.72;
}

.bf-evidence__layout {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(500px, 1.12fr);
  gap: clamp(38px, 6vw, 82px);
  align-items: start;
}

/* EVIDENCE DOMAINS */
.bf-evidence-domains {
  display: grid;
  gap: 14px;
}

.bf-evidence-domain {
  width: 100%;
  min-height: 116px;
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr) auto;
  gap: 17px;
  align-items: center;
  padding: 18px;
  border: 1px solid var(--bf-border);
  border-radius: var(--bf-radius-lg);
  color: var(--bf-muted);
  text-align: left;
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, .052),
      rgba(255, 255, 255, .01) 36%,
      transparent 60%
    ),
    rgba(14, 23, 38, .48);
  box-shadow:
    0 18px 52px rgba(0, 0, 0, .22),
    inset 0 1px 0 rgba(255, 255, 255, .05);
  backdrop-filter: blur(16px) saturate(114%);
  -webkit-backdrop-filter: blur(16px) saturate(114%);
  cursor: pointer;
  transition:
    transform var(--bf-fast) var(--bf-ease-standard),
    color var(--bf-fast) var(--bf-ease-standard),
    border-color var(--bf-fast) var(--bf-ease-standard),
    background var(--bf-fast) var(--bf-ease-standard),
    box-shadow var(--bf-fast) var(--bf-ease-standard);
}

.bf-evidence-domain:hover,
.bf-evidence-domain:focus-visible,
.bf-evidence-domain[aria-selected="true"] {
  color: var(--bf-text);
  border-color: rgba(125, 235, 255, .21);
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .1),
      rgba(77, 230, 230, .018) 44%,
      transparent 68%
    ),
    rgba(14, 23, 38, .62);
  box-shadow:
    0 24px 66px rgba(0, 0, 0, .28),
    0 0 20px rgba(92, 146, 255, .065),
    inset 0 1px 0 rgba(255, 255, 255, .06);
}

.bf-evidence-domain:hover {
  transform: translateX(3px);
}

.bf-evidence-domain__icon {
  width: 60px;
  height: 60px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(121, 168, 255, .14);
  border-radius: 19px;
  color: var(--bf-accent-cyan);
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .11),
      rgba(77, 230, 230, .025)
    );
}

.bf-evidence-domain__icon .bf-icon {
  width: 31px;
  height: 31px;
}

.bf-evidence-domain__content {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.bf-evidence-domain__content small {
  color: var(--bf-accent-cyan);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.bf-evidence-domain__content strong {
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: 1.16rem;
  letter-spacing: -.025em;
}

.bf-evidence-domain__content > span {
  color: var(--bf-muted);
  font-size: .73rem;
  line-height: 1.48;
}

.bf-evidence-domain__state {
  min-height: 27px;
  display: inline-flex;
  align-items: center;
  padding-inline: 9px;
  border: 1px solid var(--bf-border);
  border-radius: var(--bf-radius-pill);
  color: var(--bf-muted);
  font-size: .6rem;
  font-weight: 800;
  white-space: nowrap;
}

.bf-evidence-domain[aria-selected="true"]
.bf-evidence-domain__state {
  color: var(--bf-success);
  border-color: rgba(67, 217, 140, .15);
  background: rgba(67, 217, 140, .04);
}

/* EVIDENCE CONSOLE */
.bf-evidence-console {
  position: sticky;
  top: 112px;
  overflow: hidden;
  border: 1px solid var(--bf-border-strong);
  border-radius: var(--bf-radius-xl);
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, .09),
      rgba(255, 255, 255, .014) 31%,
      transparent 55%
    ),
    rgba(10, 18, 31, .89);
  box-shadow:
    0 34px 96px rgba(0, 0, 0, .44),
    inset 0 1px 0 rgba(255, 255, 255, .075);
  backdrop-filter: blur(24px) saturate(118%);
  -webkit-backdrop-filter: blur(24px) saturate(118%);
}

.bf-evidence-console::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(
      470px 300px at 0% 0%,
      rgba(121, 168, 255, .1),
      transparent 72%
    );
}

.bf-evidence-console__header {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  padding: 19px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.bf-evidence-console__identity {
  min-width: 0;
  display: flex;
  gap: 12px;
  align-items: center;
}

.bf-evidence-console__beacon,
.bf-report-dialog__beacon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(121, 168, 255, .15);
  border-radius: 15px;
  background: rgba(255, 255, 255, .035);
}

.bf-evidence-console__beacon img,
.bf-report-dialog__beacon img {
  width: 38px;
  height: 38px;
}

.bf-evidence-console__identity > div {
  min-width: 0;
}

.bf-evidence-console__identity span {
  display: block;
  margin-bottom: 3px;
  color: var(--bf-accent-cyan);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.bf-evidence-console__identity h3 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: 1.02rem;
  letter-spacing: -.025em;
}

.bf-evidence-console__status {
  min-height: 29px;
  display: inline-flex;
  gap: 7px;
  align-items: center;
  padding-inline: 10px;
  border: 1px solid rgba(67, 217, 140, .14);
  border-radius: var(--bf-radius-pill);
  color: var(--bf-success);
  background: rgba(67, 217, 140, .04);
  font-size: .61rem;
  font-weight: 800;
  white-space: nowrap;
}

.bf-evidence-console__status > span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 12px rgba(67, 217, 140, .6);
}

.bf-evidence-console__context {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 4px 12px;
  align-items: center;
  margin: 16px 20px 0;
  padding: 13px 14px;
  border: 1px solid rgba(121, 168, 255, .1);
  border-radius: 15px;
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .065),
      rgba(77, 230, 230, .014)
    );
}

.bf-evidence-console__context > span {
  grid-row: 1 / 3;
  color: var(--bf-accent-cyan);
  font-size: .59rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.bf-evidence-console__context strong {
  font-size: .76rem;
}

.bf-evidence-console__context small {
  color: var(--bf-muted);
  font-size: .65rem;
}

.bf-evidence-console__profile {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 20px 20px 10px;
}

.bf-evidence-console__profile-icon {
  width: 60px;
  height: 60px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(121, 168, 255, .16);
  border-radius: 19px;
  color: var(--bf-accent-cyan);
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .12),
      rgba(77, 230, 230, .025)
    );
}

.bf-evidence-console__profile-icon .bf-icon {
  width: 32px;
  height: 32px;
}

.bf-evidence-console__profile > div {
  min-width: 0;
}

.bf-evidence-console__profile > div > span {
  display: block;
  margin-bottom: 4px;
  color: var(--bf-accent-cyan);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.bf-evidence-console__profile h4 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: clamp(1.48rem, 3vw, 2.1rem);
  letter-spacing: -.04em;
}

.bf-evidence-console__profile-status {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  padding-inline: 10px;
  border: 1px solid var(--bf-border);
  border-radius: var(--bf-radius-pill);
  color: var(--bf-success);
  font-size: .62rem;
  font-weight: 800;
  white-space: nowrap;
}

.bf-evidence-console__summary {
  margin: 0;
  padding: 8px 20px 20px;
  color: var(--bf-muted);
  font-size: .83rem;
  line-height: 1.62;
}

.bf-evidence-console__metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 18px 20px;
  border-block: 1px solid rgba(255, 255, 255, .06);
  background: rgba(3, 9, 18, .17);
}

.bf-evidence-metric {
  min-width: 0;
  padding: 13px;
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: 14px;
  background: rgba(255, 255, 255, .018);
}

.bf-evidence-metric > div {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  color: var(--bf-muted);
  font-size: .64rem;
  font-weight: 750;
}

.bf-evidence-metric strong {
  color: var(--bf-text);
  font-size: .65rem;
}

.bf-evidence-metric__track {
  display: block;
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, .06);
}

.bf-evidence-metric__track > span {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background:
    linear-gradient(
      90deg,
      var(--bf-primary),
      var(--bf-accent-cyan)
    );
  box-shadow: 0 0 12px rgba(125, 235, 255, .2);
  transform: scaleX(var(--bf-evidence-value, 0));
  transform-origin: left;
  transition:
    transform var(--bf-slow) var(--bf-ease-emphasized);
}

.bf-evidence-console__records,
.bf-evidence-console__chain {
  padding: 18px 20px 0;
}

.bf-evidence-console__section-head {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.bf-evidence-console__section-head > span {
  color: var(--bf-accent-cyan);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.bf-evidence-console__section-head small {
  color: rgba(169, 182, 211, .65);
  font-size: .58rem;
  text-align: right;
}

.bf-evidence-console__records ul {
  display: grid;
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.bf-evidence-console__records li {
  min-height: 52px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 9px 11px;
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: 13px;
  background: rgba(255, 255, 255, .018);
}

.bf-evidence-console__records li > .bf-icon {
  width: 18px;
  height: 18px;
  color: var(--bf-accent-cyan);
}

.bf-evidence-console__records li > div {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.bf-evidence-console__records li strong {
  font-size: .71rem;
}

.bf-evidence-console__records li small {
  color: var(--bf-muted);
  font-size: .62rem;
}

.bf-evidence-console__records li > span:last-child {
  min-height: 25px;
  display: inline-flex;
  align-items: center;
  padding-inline: 8px;
  border: 1px solid rgba(67, 217, 140, .13);
  border-radius: var(--bf-radius-pill);
  color: var(--bf-success);
  font-size: .57rem;
  font-weight: 800;
  white-space: nowrap;
}

.bf-evidence-console__chain ol {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.bf-evidence-console__chain li {
  position: relative;
  min-width: 0;
  display: grid;
  gap: 5px;
  padding: 11px;
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: 13px;
  background: rgba(3, 9, 18, .2);
}

.bf-evidence-console__chain li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -9px;
  width: 10px;
  height: 1px;
  background: rgba(125, 235, 255, .28);
}

.bf-evidence-console__chain li span {
  color: var(--bf-accent-cyan);
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .11em;
}

.bf-evidence-console__chain li strong {
  overflow: hidden;
  font-size: .65rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bf-evidence-console__ownership {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 18px 20px 0;
}

.bf-evidence-console__ownership > div {
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: 13px;
  background: rgba(255, 255, 255, .018);
}

.bf-evidence-console__ownership span {
  color: var(--bf-muted);
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.bf-evidence-console__ownership strong {
  font-size: .69rem;
}

.bf-evidence-console__notice {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin: 18px 20px;
  padding: 13px;
  border: 1px solid rgba(248, 193, 90, .12);
  border-radius: 14px;
  background: rgba(248, 193, 90, .025);
}

.bf-evidence-console__notice .bf-icon {
  width: 18px;
  height: 18px;
  color: var(--bf-warning);
}

.bf-evidence-console__notice p {
  margin: 0;
  color: var(--bf-muted);
  font-size: .64rem;
  line-height: 1.5;
}

.bf-evidence-console__footer {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 10px;
  padding: 18px 20px 20px;
  border-top: 1px solid rgba(255, 255, 255, .06);
}

.bf-evidence-console__secondary {
  min-height: 46px;
  border: 1px solid var(--bf-border);
  border-radius: 14px;
  color: var(--bf-muted);
  background: rgba(255, 255, 255, .025);
  font-size: .7rem;
  font-weight: 800;
  cursor: pointer;
  transition:
    color var(--bf-fast) var(--bf-ease-standard),
    border-color var(--bf-fast) var(--bf-ease-standard),
    background var(--bf-fast) var(--bf-ease-standard);
}

.bf-evidence-console__secondary:hover {
  color: var(--bf-text);
  border-color: rgba(125, 235, 255, .18);
  background: rgba(255, 255, 255, .045);
}

.bf-evidence-console__footer .bf-button {
  width: 100%;
  border: 0;
  cursor: pointer;
}

.bf-evidence__trust-line {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 28px;
  align-items: center;
  margin-top: clamp(58px, 8vw, 96px);
  padding-top: 30px;
  border-top: 1px solid var(--bf-border);
}

.bf-evidence__trust-line > span {
  color: var(--bf-accent-cyan);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
  white-space: nowrap;
}

.bf-evidence__trust-line ul {
  display: flex;
  gap: 10px 20px;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
  list-style: none;
}

.bf-evidence__trust-line li {
  color: var(--bf-muted);
  font-size: .74rem;
  font-weight: 750;
}

.bf-evidence__trust-line li::before {
  content: "•";
  margin-right: 8px;
  color: var(--bf-accent-cyan);
}

/* EXECUTIVE REPORT DIALOG */
.bf-report-dialog {
  width: min(760px, calc(100vw - 28px));
  max-height: calc(100svh - 28px);
  padding: 0;
  border: 0;
  color: var(--bf-text);
  background: transparent;
}

.bf-report-dialog::backdrop {
  background: rgba(2, 6, 13, .76);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.bf-report-dialog__surface {
  overflow: hidden;
  border: 1px solid var(--bf-border-strong);
  border-radius: 26px;
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, .09),
      rgba(255, 255, 255, .014) 31%,
      transparent 55%
    ),
    rgba(9, 16, 29, .97);
  box-shadow:
    0 36px 110px rgba(0, 0, 0, .62),
    inset 0 1px 0 rgba(255, 255, 255, .075);
}

.bf-report-dialog__header {
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  padding: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.bf-report-dialog__identity {
  min-width: 0;
  display: flex;
  gap: 12px;
  align-items: center;
}

.bf-report-dialog__identity > div {
  min-width: 0;
}

.bf-report-dialog__identity span {
  display: block;
  margin-bottom: 3px;
  color: var(--bf-accent-cyan);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.bf-report-dialog__identity h2 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: 1.22rem;
  letter-spacing: -.03em;
}

.bf-report-dialog__close {
  position: relative;
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  border: 1px solid var(--bf-border);
  border-radius: 14px;
  color: var(--bf-text);
  background: rgba(255, 255, 255, .04);
  cursor: pointer;
}

.bf-report-dialog__close span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 19px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
}

.bf-report-dialog__close span:first-child {
  transform: translate(-50%, -50%) rotate(45deg);
}

.bf-report-dialog__close span:last-child {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.bf-report-dialog__body {
  max-height: calc(100svh - 190px);
  overflow-y: auto;
  padding: 20px;
  overscroll-behavior: contain;
}

.bf-report-dialog__meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 24px;
}

.bf-report-dialog__meta > div,
.bf-report-dialog__decision > div {
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: 13px;
  background: rgba(255, 255, 255, .018);
}

.bf-report-dialog__meta span,
.bf-report-dialog__decision span {
  color: var(--bf-muted);
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.bf-report-dialog__meta strong,
.bf-report-dialog__decision strong {
  font-size: .69rem;
}

.bf-report-dialog__body section + section {
  margin-top: 24px;
}

.bf-report-dialog__eyebrow {
  display: block;
  margin-bottom: 10px;
  color: var(--bf-accent-cyan);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.bf-report-dialog__body p {
  margin: 0;
  color: var(--bf-muted);
  font-size: .83rem;
  line-height: 1.65;
}

.bf-report-dialog__body ul {
  display: grid;
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.bf-report-dialog__body li {
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: 12px;
  color: var(--bf-muted);
  background: rgba(255, 255, 255, .018);
  font-size: .72rem;
}

.bf-report-dialog__decision {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.bf-report-dialog__decision .bf-report-dialog__eyebrow {
  grid-column: 1 / -1;
}

.bf-report-dialog__disclaimer {
  margin-top: 24px;
  padding: 12px;
  border: 1px solid rgba(248, 193, 90, .12);
  border-radius: 12px;
  color: var(--bf-muted);
  background: rgba(248, 193, 90, .025);
  font-size: .63rem;
  line-height: 1.5;
}

.bf-report-dialog__footer {
  display: grid;
  grid-template-columns: .75fr 1.25fr;
  gap: 10px;
  padding: 18px 20px 20px;
  border-top: 1px solid rgba(255, 255, 255, .06);
}

.bf-report-dialog__footer .bf-button {
  width: 100%;
  border: 0;
  cursor: pointer;
}

/* Progressive reveal */
.js[data-bf-evidence-ready="true"]
.bf-evidence[data-bf-revealed="false"]
[data-bf-evidence-reveal],
.js[data-bf-evidence-ready="true"]
.bf-evidence[data-bf-revealed="false"]
.bf-evidence__layout {
  opacity: 0;
  transform: translate3d(0, 20px, 0);
  filter: blur(5px);
}

.js[data-bf-evidence-ready="true"]
.bf-evidence[data-bf-revealed="true"]
[data-bf-evidence-reveal],
.js[data-bf-evidence-ready="true"]
.bf-evidence[data-bf-revealed="true"]
.bf-evidence__layout {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: blur(0);
  transition:
    opacity var(--bf-slow) var(--bf-ease-emphasized),
    transform var(--bf-slow) var(--bf-ease-emphasized),
    filter var(--bf-slow) var(--bf-ease-emphasized);
}

.js[data-bf-evidence-ready="true"]
.bf-evidence[data-bf-revealed="true"]
.bf-evidence__layout {
  transition-delay: 120ms;
}

@media (max-width: 1120px) {
  .bf-evidence__layout {
    grid-template-columns: 1fr;
  }

  .bf-evidence-console {
    position: relative;
    top: auto;
  }

  .bf-evidence-domains {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bf-evidence-domain:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .bf-evidence {
    padding-block: 92px;
  }

  .bf-evidence__header h2 {
    font-size: clamp(2.45rem, 11vw, 3.9rem);
  }

  .bf-evidence-domains {
    grid-template-columns: 1fr;
  }

  .bf-evidence-domain:last-child {
    grid-column: auto;
  }

  .bf-evidence-domain {
    grid-template-columns: 56px minmax(0, 1fr);
    min-height: 108px;
    padding: 16px;
  }

  .bf-evidence-domain__state {
    display: none;
  }

  .bf-evidence-console {
    border-radius: 24px;
  }

  .bf-evidence-console__header {
    align-items: flex-start;
    flex-direction: column;
  }

  .bf-evidence-console__profile {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .bf-evidence-console__profile-status {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .bf-evidence-console__metrics,
  .bf-evidence-console__ownership {
    grid-template-columns: 1fr;
  }

  .bf-evidence-console__chain ol {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bf-evidence-console__chain li:nth-child(2)::after {
    display: none;
  }

  .bf-evidence-console__footer,
  .bf-report-dialog__footer {
    grid-template-columns: 1fr;
  }

  .bf-evidence__trust-line {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .bf-evidence__trust-line > span {
    white-space: normal;
  }

  .bf-report-dialog__meta,
  .bf-report-dialog__decision {
    grid-template-columns: 1fr;
  }
}

@media (hover: none), (pointer: coarse) {
  .bf-evidence-domain:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bf-evidence [data-bf-evidence-reveal],
  .bf-evidence__layout {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }

  .bf-evidence-metric__track > span {
    transition: none !important;
  }
}

@media print {
  body:has(.bf-report-dialog[open]) > *:not(.bf-report-dialog) {
    display: none !important;
  }

  .bf-report-dialog[open] {
    position: static;
    width: 100%;
    max-height: none;
    color: #111;
    background: #fff;
  }

  .bf-report-dialog[open]::backdrop,
  .bf-report-dialog__close,
  .bf-report-dialog__footer {
    display: none !important;
  }

  .bf-report-dialog__surface {
    border: 0;
    color: #111;
    background: #fff;
    box-shadow: none;
  }

  .bf-report-dialog__body {
    max-height: none;
    overflow: visible;
  }
}

@supports not (
  (backdrop-filter: blur(1px)) or
  (-webkit-backdrop-filter: blur(1px))
) {
  .bf-evidence-domain,
  .bf-evidence-console,
  .bf-report-dialog__surface {
    background: var(--bf-surface);
  }
}


/* PATCH 008A — accessible kernel announcements */
.bf-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}


/* =========================================================
   BOOKFELS V3 — PATCH 008B
   EXPERIENCE ENGINE V1
   ========================================================= */
:root {
  --bf-motion-fast: 120ms;
  --bf-motion-normal: 240ms;
  --bf-motion-smooth: 420ms;
  --bf-motion-flow: 700ms;
  --bf-document-progress: 0;
  --bf-section-progress: 0;
  --bf-attention-level: .22;
  --bf-light-shift-x: 0px;
  --bf-light-shift-y: 0px;
  --bf-header-progress: 0;
}

html[data-bf-experience="operational"] {
  scroll-behavior: smooth;
}

html[data-bf-interaction-mode="keyboard"] :focus-visible {
  outline: 2px solid rgba(125, 235, 255, .9);
  outline-offset: 4px;
}

html[data-bf-interaction-mode="pointer"] :focus:not(:focus-visible),
html[data-bf-interaction-mode="touch"] :focus:not(:focus-visible) {
  outline: none;
}

/* GLOBAL EXPERIENCE LAYER */
.bf-experience-layer {
  position: fixed;
  z-index: 2147480000;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  contain: strict;
}

.bf-experience-layer__light,
.bf-experience-layer__reflection {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.bf-experience-layer__light {
  opacity: var(--bf-light-opacity, .028);
  background:
    radial-gradient(
      720px 540px at
      calc(7% + var(--bf-light-shift-x))
      calc(4% + var(--bf-light-shift-y)),
      rgba(125, 235, 255, .26),
      rgba(121, 168, 255, .08) 31%,
      transparent 72%
    );
  mix-blend-mode: screen;
  transition:
    opacity var(--bf-motion-smooth) ease;
}

.bf-experience-layer__reflection {
  opacity: var(--bf-global-reflection-opacity, .014);
  background:
    linear-gradient(
      118deg,
      rgba(255, 255, 255, .09),
      transparent 20%,
      transparent 80%,
      rgba(125, 235, 255, .035)
    );
}

.bf-experience-progress {
  position: absolute;
  top: 20%;
  right: max(12px, env(safe-area-inset-right));
  width: 2px;
  height: 60%;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, .06);
  opacity: .7;
}

.bf-experience-progress::before,
.bf-experience-progress::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 6px;
  height: 6px;
  border: 1px solid rgba(125, 235, 255, .24);
  border-radius: 50%;
  transform: translateX(-50%);
}

.bf-experience-progress::before {
  top: 0;
}

.bf-experience-progress::after {
  bottom: 0;
}

.bf-experience-progress__fill {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background:
    linear-gradient(
      180deg,
      var(--bf-primary),
      var(--bf-accent-cyan)
    );
  box-shadow: 0 0 12px rgba(125, 235, 255, .34);
  transform: scaleY(0);
  transform-origin: top;
  transition:
    transform var(--bf-motion-normal)
    cubic-bezier(.22, .8, .2, 1);
}

/* HEADER STATE RESPONSE */
.bf-site-header {
  --bf-header-attention: var(--bf-attention-level);
}

.bf-site-header::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  pointer-events: none;
  background:
    linear-gradient(
      90deg,
      var(--bf-primary),
      var(--bf-accent-cyan)
    );
  box-shadow: 0 0 12px rgba(125, 235, 255, .18);
  transform: scaleX(var(--bf-header-progress));
  transform-origin: left;
  opacity: var(--bf-header-line-opacity, .43);
  transition:
    transform var(--bf-motion-normal)
    cubic-bezier(.22, .8, .2, 1),
    opacity var(--bf-motion-normal) ease;
}

.bf-site-header[data-bf-attention="review"] .bf-header__beacon,
.bf-site-header[data-bf-attention="warning"] .bf-header__beacon {
  filter:
    drop-shadow(
      0 0 12px
      rgba(125, 235, 255, .18)
    );
}

[data-bf-nav-link][data-bf-experience-current="true"] {
  color: var(--bf-text);
}

[data-bf-nav-link][data-bf-experience-current="true"]::after {
  transform: scaleX(1);
  opacity: 1;
}

/* SECTION LIFECYCLE */
section[id][data-bf-section-state="active"] {
  --bf-section-focus: 1;
}

section[id][data-bf-section-state="enter"] {
  --bf-section-focus: .72;
}

section[id][data-bf-section-state="leave"] {
  --bf-section-focus: .42;
}

section[id][data-bf-section-state="inactive"],
section[id][data-bf-section-state="idle"] {
  --bf-section-focus: .16;
}

section[id] {
  --bf-section-focus: .16;
}

/* REVEAL SYSTEM V2 */
html[data-bf-experience-ready="true"]
[data-bf-experience-reveal] {
  transition:
    opacity var(--bf-motion-smooth)
      cubic-bezier(.22, .8, .2, 1)
      var(--bf-reveal-delay, 0ms),
    transform var(--bf-motion-smooth)
      cubic-bezier(.22, .8, .2, 1)
      var(--bf-reveal-delay, 0ms),
    filter var(--bf-motion-smooth)
      cubic-bezier(.22, .8, .2, 1)
      var(--bf-reveal-delay, 0ms);
  will-change: opacity, transform, filter;
}

html[data-bf-experience-ready="true"]
[data-bf-experience-reveal][data-bf-reveal-state="pending"] {
  opacity: 0;
  filter: blur(var(--bf-reveal-blur, 4px));
}

html[data-bf-experience-ready="true"]
[data-bf-experience-reveal="depth"][data-bf-reveal-state="pending"],
html[data-bf-experience-ready="true"]
[data-bf-experience-reveal="cascade"][data-bf-reveal-state="pending"] {
  transform:
    translate3d(
      0,
      var(--bf-reveal-distance, 16px),
      0
    )
    scale(.992);
}

html[data-bf-experience-ready="true"]
[data-bf-experience-reveal="layer"][data-bf-reveal-state="pending"] {
  transform:
    translate3d(
      var(--bf-reveal-distance, 14px),
      0,
      0
    );
}

html[data-bf-experience-ready="true"]
[data-bf-experience-reveal="confidence"][data-bf-reveal-state="pending"] {
  transform: none;
}

html[data-bf-experience-ready="true"]
[data-bf-experience-reveal][data-bf-reveal-state="visible"] {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
}

/* GLASS SURFACE SYSTEM V2 */
[data-bf-glass-level] {
  position: relative;
  isolation: isolate;
}

[data-bf-glass-level="1"] {
  --bf-glass-reflection-opacity: .018;
}

[data-bf-glass-level="2"] {
  --bf-glass-reflection-opacity: .028;
}

[data-bf-glass-level="3"] {
  --bf-glass-reflection-opacity: var(--bf-glass-level-3-opacity, .04);
}

.bf-glass-reflection {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  border-radius: inherit;
  pointer-events: none;
  opacity: var(--bf-glass-reflection-opacity, .02);
  background:
    linear-gradient(
      126deg,
      rgba(255, 255, 255, .38),
      transparent 20%,
      transparent 74%,
      rgba(125, 235, 255, .12)
    );
  transform:
    translate3d(
      var(--bf-reflection-shift-x, 0px),
      var(--bf-reflection-shift-y, 0px),
      0
    );
  transition:
    opacity var(--bf-motion-smooth) ease,
    transform var(--bf-motion-normal) ease;
}

[data-bf-glass-level] > :not(.bf-glass-reflection) {
  position: relative;
  z-index: 1;
}

/* INTERACTION LANGUAGE */
button[data-bf-pressed="true"],
a[data-bf-pressed="true"],
[role="button"][data-bf-pressed="true"],
[role="tab"][data-bf-pressed="true"] {
  transform: translateY(1px) scale(.99) !important;
  transition-duration: var(--bf-motion-fast) !important;
}

/* ATTENTION STATES */
html[data-bf-attention="review"] .bf-evidence-console,
html[data-bf-attention="review"] .bf-process-console {
  border-color: rgba(125, 235, 255, .22);
}

html[data-bf-attention="warning"] {
  --bf-attention-level: .82;
}

html[data-bf-attention="warning"] .bf-site-header::after {
  background:
    linear-gradient(
      90deg,
      var(--bf-primary),
      var(--bf-warning)
    );
}

/* HERO DEPTH RESPONSE */
html[data-bf-active-section="hero"] .bf-hero__universe {
  opacity: var(--bf-hero-universe-opacity-active, .33);
}

html[data-bf-active-section="hero"] .bf-hero__orb {
  transform:
    translate3d(
      var(--bf-orb-shift-x, 0px),
      var(--bf-orb-shift-y, 0px),
      0
    );
}

/* VIEWPORT PAUSING */
html[data-bf-viewport-active="false"] *,
html[data-bf-viewport-active="false"] *::before,
html[data-bf-viewport-active="false"] *::after {
  animation-play-state: paused !important;
}

/* TOUCH AND SMALL VIEWPORTS */
@media (max-width: 900px) {
  .bf-experience-progress {
    display: none;
  }
}

@media (hover: none), (pointer: coarse) {
  .bf-experience-layer__light {
    transform: none;
  }

  .bf-glass-reflection {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  .bf-experience-layer__light,
  .bf-experience-layer__reflection,
  .bf-experience-progress__fill,
  .bf-site-header::after,
  [data-bf-experience-reveal],
  .bf-glass-reflection {
    transition: none !important;
  }

  [data-bf-experience-reveal] {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }

  .bf-hero__orb {
    transform: none !important;
  }
}


/* =========================================================
   BOOKFELS V3 — PATCH 009
   TRUST INTELLIGENCE ENGINE
   ========================================================= */
.bf-intelligence {
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding-block: clamp(104px, 12vw, 170px);
  background:
    radial-gradient(
      860px 620px at 92% 14%,
      rgba(121, 168, 255, .08),
      transparent 72%
    ),
    radial-gradient(
      720px 560px at 6% 82%,
      rgba(77, 230, 230, .04),
      transparent 74%
    ),
    linear-gradient(180deg, var(--bf-deep-space), var(--bf-background));
}

.bf-intelligence__atmosphere {
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  opacity: .075;
}

.bf-intelligence__atmosphere svg {
  width: 100%;
  height: 100%;
}

.bf-intelligence-network__paths {
  fill: none;
  stroke: rgba(121, 168, 255, .28);
  stroke-width: 1;
  stroke-dasharray: 5 20;
}

.bf-intelligence-network__nodes {
  fill: var(--bf-accent-cyan);
  opacity: .52;
}

.bf-intelligence__header {
  max-width: 980px;
  margin: 0 auto clamp(62px, 8vw, 100px);
  text-align: center;
}

.bf-intelligence__eyebrow {
  display: inline-block;
  margin-bottom: 17px;
  color: var(--bf-accent-cyan);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.bf-intelligence__header h2 {
  margin: 0;
  font-family: "Inter Tight", Inter, system-ui, sans-serif;
  font-size: clamp(2.8rem, 6vw, 5.35rem);
  line-height: .97;
  letter-spacing: -.055em;
  text-wrap: balance;
}

.bf-intelligence__header h2 span {
  display: block;
  color: var(--bf-muted);
  font-size: .62em;
  line-height: 1.08;
  letter-spacing: -.035em;
}

.bf-intelligence__header p {
  max-width: 74ch;
  margin: 25px auto 0;
  color: var(--bf-muted);
  font-size: clamp(1rem, 1.4vw, 1.12rem);
  line-height: 1.72;
}

.bf-intelligence__layout {
  display: grid;
  grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
  grid-template-areas: "pipeline console";
  gap: clamp(36px, 5vw, 72px);
  align-items: start;
}

.bf-intelligence-pipeline {
  grid-area: pipeline;
  position: sticky;
  top: 112px;
}

.bf-intelligence-console {
  grid-area: console;
  position: relative;
  overflow: hidden;
  border: 1px solid var(--bf-border-strong);
  border-radius: var(--bf-radius-xl);
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, .09),
      rgba(255, 255, 255, .014) 31%,
      transparent 55%
    ),
    rgba(9, 17, 30, .9);
  box-shadow:
    0 34px 96px rgba(0, 0, 0, .44),
    inset 0 1px 0 rgba(255, 255, 255, .075);
  backdrop-filter: blur(24px) saturate(118%);
  -webkit-backdrop-filter: blur(24px) saturate(118%);
}

.bf-intelligence-console::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(
      520px 320px at 0% 0%,
      rgba(121, 168, 255, .11),
      transparent 72%
    );
}

.bf-intelligence-console__header {
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  padding: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.bf-intelligence-console__identity {
  min-width: 0;
  display: flex;
  gap: 12px;
  align-items: center;
}

.bf-intelligence-console__beacon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(121, 168, 255, .15);
  border-radius: 16px;
  background: rgba(255, 255, 255, .035);
}

.bf-intelligence-console__beacon img {
  width: 39px;
  height: 39px;
}

.bf-intelligence-console__identity > div {
  min-width: 0;
}

.bf-intelligence-console__identity span {
  display: block;
  margin-bottom: 3px;
  color: var(--bf-accent-cyan);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.bf-intelligence-console__identity h3 {
  margin: 0;
  font-family: "Inter Tight", Inter, system-ui, sans-serif;
  font-size: 1.04rem;
  letter-spacing: -.025em;
}

.bf-intelligence-console__status-group {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.bf-intelligence-console__classification,
.bf-intelligence-console__status {
  min-height: 29px;
  display: inline-flex;
  gap: 7px;
  align-items: center;
  padding-inline: 10px;
  border-radius: var(--bf-radius-pill);
  font-size: .6rem;
  font-weight: 800;
  white-space: nowrap;
}

.bf-intelligence-console__classification {
  color: var(--bf-accent-cyan);
  border: 1px solid rgba(121, 168, 255, .14);
  background: rgba(121, 168, 255, .04);
}

.bf-intelligence-console__status {
  color: var(--bf-success);
  border: 1px solid rgba(67, 217, 140, .14);
  background: rgba(67, 217, 140, .04);
}

.bf-intelligence-console__status > span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 12px rgba(67, 217, 140, .56);
}

.bf-intelligence[data-bf-intelligence-status="analysing"]
.bf-intelligence-console__status {
  color: var(--bf-accent-cyan);
  border-color: rgba(125, 235, 255, .16);
  background: rgba(125, 235, 255, .04);
}

.bf-intelligence[data-bf-intelligence-status="analysing"]
.bf-intelligence-console__status > span {
  animation: bf-intelligence-status-pulse 1.4s ease-in-out infinite;
}

.bf-intelligence[data-bf-intelligence-status="error"]
.bf-intelligence-console__status {
  color: var(--bf-warning);
  border-color: rgba(248, 193, 90, .16);
  background: rgba(248, 193, 90, .04);
}

.bf-intelligence-console__context {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, .8fr) auto;
  gap: 10px;
  padding: 16px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
  background: rgba(3, 9, 18, .15);
}

.bf-intelligence-console__context > div {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, .05);
  border-radius: 13px;
  background: rgba(255, 255, 255, .018);
}

.bf-intelligence-console__context span {
  color: var(--bf-muted);
  font-size: .57rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.bf-intelligence-console__context strong {
  overflow: hidden;
  font-size: .69rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bf-intelligence-console__provenance-button {
  min-height: 48px;
  display: inline-flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  padding-inline: 13px;
  border: 1px solid var(--bf-border);
  border-radius: 13px;
  color: var(--bf-muted);
  background: rgba(255, 255, 255, .025);
  font-size: .67rem;
  font-weight: 800;
  cursor: pointer;
  transition:
    color var(--bf-motion-normal) ease,
    border-color var(--bf-motion-normal) ease,
    background var(--bf-motion-normal) ease;
}

.bf-intelligence-console__provenance-button:hover,
.bf-intelligence-console__provenance-button[aria-expanded="true"] {
  color: var(--bf-text);
  border-color: rgba(125, 235, 255, .18);
  background: rgba(125, 235, 255, .045);
}

.bf-intelligence-console__provenance-button .bf-icon {
  width: 17px;
  height: 17px;
  color: var(--bf-accent-cyan);
}

.bf-intelligence-console__metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.bf-intelligence-console__metrics article {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: 15px;
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .055),
      rgba(255, 255, 255, .012)
    );
}

.bf-intelligence-console__metrics span {
  color: var(--bf-muted);
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.bf-intelligence-console__metrics strong {
  font-family: "Inter Tight", Inter, system-ui, sans-serif;
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  line-height: 1;
  letter-spacing: -.045em;
}

.bf-intelligence-console__metrics small {
  color: rgba(169, 182, 211, .62);
  font-size: .58rem;
}

.bf-intelligence-console__body {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(250px, .7fr);
}

.bf-intelligence-graph {
  padding: 20px;
  border-right: 1px solid rgba(255, 255, 255, .06);
}

.bf-intelligence-graph > header {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 12px;
}

.bf-intelligence-graph > header > div:first-child > span,
.bf-intelligence-console__section-eyebrow {
  display: block;
  margin-bottom: 5px;
  color: var(--bf-accent-cyan);
  font-size: .6rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.bf-intelligence-graph h4 {
  margin: 0;
  font-family: "Inter Tight", Inter, system-ui, sans-serif;
  font-size: 1.04rem;
  letter-spacing: -.025em;
}

.bf-intelligence-graph__relations {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.bf-intelligence-graph__relations span {
  min-height: 28px;
  display: inline-flex;
  gap: 5px;
  align-items: center;
  padding-inline: 8px;
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: var(--bf-radius-pill);
  color: var(--bf-muted);
  background: rgba(255, 255, 255, .018);
  font-size: .56rem;
  font-weight: 750;
}

.bf-intelligence-graph__relations strong {
  color: var(--bf-text);
  font-size: .61rem;
}

.bf-intelligence-graph__canvas {
  min-height: 340px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .045);
  border-radius: 18px;
  background:
    radial-gradient(
      circle at 50% 50%,
      rgba(121, 168, 255, .055),
      transparent 62%
    ),
    rgba(3, 9, 18, .22);
}

.bf-intelligence-graph__canvas svg {
  width: 100%;
  height: auto;
}

.bf-intelligence-graph__links {
  fill: none;
  stroke: rgba(121, 168, 255, .22);
  stroke-width: 1.2;
  stroke-dasharray: 4 9;
}

.bf-intelligence[data-bf-intelligence-status="analysing"]
.bf-intelligence-graph__links {
  animation: bf-intelligence-flow 3.6s linear infinite;
}

.bf-intelligence-graph__node circle {
  fill: rgba(14, 23, 38, .96);
  stroke: rgba(121, 168, 255, .18);
  stroke-width: 1.2;
  transition:
    fill var(--bf-motion-smooth) ease,
    stroke var(--bf-motion-smooth) ease,
    filter var(--bf-motion-smooth) ease,
    transform var(--bf-motion-smooth) cubic-bezier(.22, .8, .2, 1);
  transform-box: fill-box;
  transform-origin: center;
}

.bf-intelligence-graph__node text {
  fill: var(--bf-muted);
  font-size: 11px;
  font-weight: 750;
  text-anchor: middle;
  transition: fill var(--bf-motion-smooth) ease;
}

.bf-intelligence-graph__node[data-active="true"] circle {
  fill: rgba(121, 168, 255, .12);
  stroke: rgba(125, 235, 255, .72);
  filter: drop-shadow(0 0 12px rgba(125, 235, 255, .18));
  transform: scale(1.04);
}

.bf-intelligence-graph__node[data-active="true"] text {
  fill: var(--bf-text);
}

.bf-intelligence-console__interpretation {
  display: flex;
  flex-direction: column;
  padding: 20px;
  background:
    linear-gradient(
      145deg,
      rgba(121, 168, 255, .045),
      transparent 48%
    );
}

.bf-intelligence-console__interpretation-title {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  margin-top: 9px;
}

.bf-intelligence-console__interpretation-title .bf-icon {
  width: 24px;
  height: 24px;
  color: var(--bf-accent-cyan);
}

.bf-intelligence-console__interpretation h4 {
  margin: 0;
  font-family: "Inter Tight", Inter, system-ui, sans-serif;
  font-size: 1.35rem;
  letter-spacing: -.035em;
}

.bf-intelligence-console__interpretation > p {
  margin: 15px 0 20px;
  color: var(--bf-muted);
  font-size: .73rem;
  line-height: 1.58;
}

.bf-intelligence-console__human-action,
.bf-intelligence-console__decision-status {
  display: grid;
  gap: 6px;
  padding: 13px;
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: 14px;
  background: rgba(255, 255, 255, .018);
}

.bf-intelligence-console__human-action {
  margin-top: auto;
}

.bf-intelligence-console__decision-status {
  margin-top: 9px;
}

.bf-intelligence-console__human-action span,
.bf-intelligence-console__decision-status span {
  color: var(--bf-muted);
  font-size: .57rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.bf-intelligence-console__human-action strong,
.bf-intelligence-console__decision-status strong {
  font-size: .67rem;
  line-height: 1.48;
}

.bf-intelligence-console__decision-status strong[data-state="ready"] {
  color: var(--bf-success);
}

.bf-intelligence-console__decision-status strong[data-state="review-required"] {
  color: var(--bf-warning);
}

.bf-intelligence-console__footer {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 10px;
  padding: 18px 20px 20px;
  border-top: 1px solid rgba(255, 255, 255, .06);
}

.bf-intelligence-console__run {
  min-height: 46px;
  border: 1px solid var(--bf-border);
  border-radius: 14px;
  color: var(--bf-muted);
  background: rgba(255, 255, 255, .025);
  font-size: .7rem;
  font-weight: 800;
  cursor: pointer;
  transition:
    color var(--bf-motion-normal) ease,
    border-color var(--bf-motion-normal) ease,
    background var(--bf-motion-normal) ease;
}

.bf-intelligence-console__run:hover:not(:disabled) {
  color: var(--bf-text);
  border-color: rgba(125, 235, 255, .18);
  background: rgba(125, 235, 255, .045);
}

.bf-intelligence-console__run:disabled {
  cursor: wait;
  opacity: .68;
}

.bf-intelligence-console__footer .bf-button {
  width: 100%;
}

.bf-intelligence-provenance {
  position: absolute;
  z-index: 8;
  top: 96px;
  right: 20px;
  width: min(430px, calc(100% - 40px));
  padding: 17px;
  border: 1px solid var(--bf-border-strong);
  border-radius: 18px;
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, .075),
      rgba(255, 255, 255, .012)
    ),
    rgba(8, 15, 27, .98);
  box-shadow:
    0 28px 84px rgba(0, 0, 0, .52),
    inset 0 1px 0 rgba(255, 255, 255, .06);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
}

.bf-intelligence-provenance[hidden] {
  display: none;
}

.bf-intelligence-provenance header {
  display: grid;
  gap: 3px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.bf-intelligence-provenance header span {
  color: var(--bf-accent-cyan);
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.bf-intelligence-provenance header strong {
  font-size: .84rem;
}

.bf-intelligence-provenance dl {
  display: grid;
  gap: 9px;
  margin: 13px 0 0;
}

.bf-intelligence-provenance dl > div {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.bf-intelligence-provenance dt {
  color: var(--bf-muted);
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.bf-intelligence-provenance dd {
  margin: 0;
  color: var(--bf-text);
  font-size: .64rem;
  line-height: 1.48;
}

/* PIPELINE */
.bf-intelligence-pipeline__intro {
  margin-bottom: 24px;
}

.bf-intelligence-pipeline__intro > span {
  display: block;
  margin-bottom: 7px;
  color: var(--bf-accent-cyan);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.bf-intelligence-pipeline__intro h3 {
  margin: 0;
  font-family: "Inter Tight", Inter, system-ui, sans-serif;
  font-size: clamp(1.55rem, 3vw, 2.2rem);
  line-height: 1.04;
  letter-spacing: -.04em;
}

.bf-intelligence-pipeline__intro p {
  margin: 13px 0 0;
  color: var(--bf-muted);
  font-size: .75rem;
  line-height: 1.58;
}

.bf-intelligence-pipeline__flow {
  position: relative;
  padding-left: 24px;
}

.bf-intelligence-pipeline__flow > span {
  position: absolute;
  top: 20px;
  bottom: 20px;
  left: 7px;
  width: 2px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, .06);
}

.bf-intelligence-pipeline__flow > span > span {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background:
    linear-gradient(
      180deg,
      var(--bf-primary),
      var(--bf-accent-cyan)
    );
  box-shadow: 0 0 12px rgba(125, 235, 255, .24);
  transform: scaleY(0);
  transform-origin: top;
  transition:
    transform var(--bf-motion-flow) cubic-bezier(.22, .8, .2, 1);
}

.bf-intelligence-pipeline ol {
  display: grid;
  gap: 10px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.bf-intelligence-step {
  width: 100%;
  min-height: 72px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 10px;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: 16px;
  color: var(--bf-muted);
  text-align: left;
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, .035),
      rgba(255, 255, 255, .008)
    ),
    rgba(14, 23, 38, .4);
  cursor: pointer;
  transition:
    color var(--bf-motion-normal) ease,
    transform var(--bf-motion-normal) cubic-bezier(.22, .8, .2, 1),
    border-color var(--bf-motion-normal) ease,
    background var(--bf-motion-normal) ease,
    box-shadow var(--bf-motion-normal) ease;
}

.bf-intelligence-step:hover,
.bf-intelligence-step:focus-visible,
.bf-intelligence-step[data-active="true"] {
  color: var(--bf-text);
  border-color: rgba(125, 235, 255, .18);
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .09),
      rgba(77, 230, 230, .014)
    ),
    rgba(14, 23, 38, .58);
}

.bf-intelligence-step:hover {
  transform: translateX(3px);
}

.bf-intelligence-step > span:first-child {
  color: var(--bf-accent-cyan);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .08em;
}

.bf-intelligence-step > div {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.bf-intelligence-step small {
  color: var(--bf-accent-cyan);
  font-size: .54rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.bf-intelligence-step strong {
  font-family: "Inter Tight", Inter, system-ui, sans-serif;
  font-size: .9rem;
  letter-spacing: -.02em;
}

.bf-intelligence-step > span:last-child {
  width: 8px;
  height: 8px;
  border: 1px solid rgba(169, 182, 211, .34);
  border-radius: 50%;
  background: transparent;
}

.bf-intelligence-step[data-complete="true"] > span:last-child {
  border-color: rgba(67, 217, 140, .42);
  background: var(--bf-success);
  box-shadow: 0 0 10px rgba(67, 217, 140, .24);
}

.bf-intelligence-step[data-active="true"] > span:last-child {
  border-color: rgba(125, 235, 255, .6);
  background: var(--bf-accent-cyan);
  box-shadow: 0 0 12px rgba(125, 235, 255, .32);
}

.bf-intelligence-pipeline__detail {
  margin-top: 18px;
  padding: 17px;
  border: 1px solid rgba(121, 168, 255, .12);
  border-radius: 18px;
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .065),
      rgba(77, 230, 230, .014)
    );
}

.bf-intelligence-pipeline__detail > span {
  display: block;
  margin-bottom: 5px;
  color: var(--bf-accent-cyan);
  font-size: .57rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.bf-intelligence-pipeline__detail h4 {
  margin: 0;
  font-family: "Inter Tight", Inter, system-ui, sans-serif;
  font-size: 1.12rem;
  letter-spacing: -.025em;
}

.bf-intelligence-pipeline__detail p {
  margin: 10px 0 14px;
  color: var(--bf-muted);
  font-size: .69rem;
  line-height: 1.55;
}

.bf-intelligence-pipeline__detail > div {
  display: grid;
  gap: 4px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, .06);
}

.bf-intelligence-pipeline__detail > div span {
  color: var(--bf-muted);
  font-size: .55rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.bf-intelligence-pipeline__detail > div strong {
  font-size: .67rem;
}

.bf-intelligence__trust-line {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 28px;
  align-items: center;
  margin-top: clamp(60px, 8vw, 98px);
  padding-top: 30px;
  border-top: 1px solid var(--bf-border);
}

.bf-intelligence__trust-line > span {
  color: var(--bf-accent-cyan);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
  white-space: nowrap;
}

.bf-intelligence__trust-line ul {
  display: flex;
  gap: 10px 20px;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
  list-style: none;
}

.bf-intelligence__trust-line li {
  color: var(--bf-muted);
  font-size: .74rem;
  font-weight: 750;
}

.bf-intelligence__trust-line li::before {
  content: "•";
  margin-right: 8px;
  color: var(--bf-accent-cyan);
}

@keyframes bf-intelligence-status-pulse {
  0%, 100% { opacity: .45; }
  50% { opacity: 1; }
}

@keyframes bf-intelligence-flow {
  to { stroke-dashoffset: -52; }
}

@media (max-width: 1180px) {
  .bf-intelligence__layout {
    grid-template-columns: 1fr;
    grid-template-areas:
      "console"
      "pipeline";
  }

  .bf-intelligence-pipeline {
    position: relative;
    top: auto;
  }

  .bf-intelligence-pipeline__flow ol {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bf-intelligence-pipeline__flow > span {
    display: none;
  }

  .bf-intelligence-pipeline__flow {
    padding-left: 0;
  }

  .bf-intelligence-step:hover {
    transform: translateY(-3px);
  }
}

@media (max-width: 860px) {
  .bf-intelligence-console__metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bf-intelligence-console__body {
    grid-template-columns: 1fr;
  }

  .bf-intelligence-graph {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .06);
  }

  .bf-intelligence-console__context {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bf-intelligence-console__provenance-button {
    grid-column: 1 / -1;
  }
}

@media (max-width: 680px) {
  .bf-intelligence {
    padding-block: 94px;
  }

  .bf-intelligence__header h2 {
    font-size: clamp(2.45rem, 11vw, 3.9rem);
  }

  .bf-intelligence-console {
    border-radius: 24px;
  }

  .bf-intelligence-console__header {
    align-items: flex-start;
    flex-direction: column;
  }

  .bf-intelligence-console__status-group {
    justify-content: flex-start;
  }

  .bf-intelligence-console__context,
  .bf-intelligence-console__metrics,
  .bf-intelligence-pipeline__flow ol,
  .bf-intelligence-console__footer {
    grid-template-columns: 1fr;
  }

  .bf-intelligence-graph > header {
    align-items: flex-start;
    flex-direction: column;
  }

  .bf-intelligence-graph__relations {
    justify-content: flex-start;
  }

  .bf-intelligence-graph__canvas {
    min-height: 250px;
  }

  .bf-intelligence__trust-line {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .bf-intelligence__trust-line > span {
    white-space: normal;
  }

  .bf-intelligence-provenance {
    top: 164px;
    right: 14px;
    width: calc(100% - 28px);
  }

  .bf-intelligence-provenance dl > div {
    grid-template-columns: 1fr;
    gap: 3px;
  }
}

@media (hover: none), (pointer: coarse) {
  .bf-intelligence-step:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bf-intelligence[data-bf-intelligence-status="analysing"]
  .bf-intelligence-console__status > span,
  .bf-intelligence[data-bf-intelligence-status="analysing"]
  .bf-intelligence-graph__links {
    animation: none !important;
  }

  .bf-intelligence-step,
  .bf-intelligence-graph__node circle,
  .bf-intelligence-graph__node text,
  .bf-intelligence-pipeline__flow > span > span {
    transition: none !important;
  }
}

@supports not (
  (backdrop-filter: blur(1px)) or
  (-webkit-backdrop-filter: blur(1px))
) {
  .bf-intelligence-console,
  .bf-intelligence-provenance {
    background: var(--bf-surface);
  }
}


/* =========================================================
   BOOKFELS V3 — PATCH 010
   STRUCTURED TRUST™ DESIGN CORRECTIONS
   ========================================================= */

/* 1. Header glass must remain visually present and structurally isolated. */
.bf-header__bar {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-color: rgba(255, 255, 255, .11);
  background:
    linear-gradient(
      132deg,
      rgba(255, 255, 255, .11),
      rgba(255, 255, 255, .025) 24%,
      transparent 48%
    ),
    rgba(8, 15, 27, .74);
  box-shadow:
    0 20px 60px rgba(0, 0, 0, .35),
    inset 0 1px 0 rgba(255, 255, 255, .09);
  backdrop-filter: blur(24px) saturate(122%);
  -webkit-backdrop-filter: blur(24px) saturate(122%);
}

.bf-header__bar::before,
.bf-header__bar::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.bf-header__bar::before {
  z-index: 0;
  inset: 0;
  border-radius: inherit;
  background:
    radial-gradient(
      420px 120px at 8% 0%,
      rgba(125, 235, 255, .095),
      transparent 72%
    ),
    linear-gradient(
      118deg,
      rgba(255, 255, 255, .08),
      transparent 26%
    );
}

.bf-header__bar::after {
  z-index: 1;
  inset: 0;
  border: 1px solid rgba(255, 255, 255, .025);
  border-radius: inherit;
  box-shadow:
    inset 0 -1px 0 rgba(121, 168, 255, .045);
}

.bf-header__bar > * {
  position: relative;
  z-index: 2;
}

.bf-site-header[data-scrolled="true"] .bf-header__bar {
  background:
    linear-gradient(
      132deg,
      rgba(255, 255, 255, .09),
      rgba(255, 255, 255, .018) 25%,
      transparent 50%
    ),
    rgba(7, 13, 24, .88);
  box-shadow:
    0 20px 60px rgba(0, 0, 0, .4),
    inset 0 1px 0 rgba(255, 255, 255, .08);
}

/* The primary navigation stays calm; the complete architecture lives in the drawer. */
.bf-header__nav {
  gap: 5px;
}

.bf-header__nav a {
  padding-inline: 14px;
}

/* 2. Shared dashboard headers use the same top-left glass light. */
.bf-platform-system__header,
.bf-intelligence-console__header,
.bf-decision-console__header,
.bf-evidence-console__header {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    linear-gradient(
      126deg,
      rgba(255, 255, 255, .055),
      rgba(255, 255, 255, .012) 28%,
      transparent 55%
    ),
    rgba(255, 255, 255, .008);
}

.bf-platform-system__header::before,
.bf-intelligence-console__header::before,
.bf-decision-console__header::before,
.bf-evidence-console__header::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(
      360px 130px at 5% 0%,
      rgba(125, 235, 255, .085),
      transparent 72%
    );
}

.bf-platform-system__header > *,
.bf-intelligence-console__header > *,
.bf-decision-console__header > *,
.bf-evidence-console__header > * {
  position: relative;
  z-index: 1;
}

/* 3. Complexity → Clarity: copy scrolls, architecture dashboard stays with it. */
.bf-platform-overview__layout {
  grid-template-columns:
    minmax(320px, .72fr)
    minmax(0, 1.28fr);
  gap: clamp(34px, 5vw, 76px);
  align-items: start;
}

.bf-platform-system {
  position: sticky;
  top: 112px;
  align-self: start;
  min-width: 0;
}

.bf-complexity-bridge {
  width: 100%;
  min-width: 0;
  grid-template-columns: max-content minmax(80px, 1fr) max-content;
}

.bf-complexity-bridge__line {
  min-width: 0;
  overflow: hidden;
  background: transparent;
}

.bf-complexity-bridge__line::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(121, 168, 255, .12),
      rgba(125, 235, 255, .36),
      rgba(121, 168, 255, .12)
    );
}

/* 4. Trust & Evidence remains a true side-by-side architecture. */
.bf-evidence__layout {
  grid-template-columns:
    minmax(300px, .72fr)
    minmax(0, 1.28fr);
  gap: clamp(28px, 4.2vw, 64px);
  align-items: start;
  min-width: 0;
}

.bf-evidence-domains,
.bf-evidence-console {
  min-width: 0;
}

.bf-evidence-console {
  position: sticky;
  top: 112px;
  align-self: start;
}

.bf-evidence__trust-line {
  position: relative;
  width: 100%;
  border-top: 0;
}

.bf-evidence__trust-line::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 1px;
  background:
    linear-gradient(
      90deg,
      rgba(121, 168, 255, .08),
      rgba(125, 235, 255, .28),
      rgba(121, 168, 255, .08)
    );
}

/* Global scroll offset for the connected platform sequence. */
main section[id] {
  scroll-margin-top: 112px;
}

@media (max-width: 1280px) {
  .bf-header__nav {
    display: none;
  }

  .bf-header__bar {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}

@media (max-width: 1040px) {
  .bf-platform-overview__layout,
  .bf-evidence__layout {
    grid-template-columns: 1fr;
  }

  .bf-platform-system,
  .bf-evidence-console {
    position: relative;
    top: auto;
  }

  .bf-evidence-domains {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bf-evidence-domain:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 680px) {
  .bf-complexity-bridge {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .bf-complexity-bridge__line {
    width: 100%;
    height: 1px;
  }

  .bf-evidence-domains {
    grid-template-columns: 1fr;
  }

  .bf-evidence-domain:last-child {
    grid-column: auto;
  }
}

/* =========================================================
   PATCH 010 — DECISION WORKSPACE
   ========================================================= */
.bf-decision {
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding-block: clamp(104px, 12vw, 170px);
  background:
    radial-gradient(
      820px 580px at 90% 14%,
      rgba(121, 168, 255, .075),
      transparent 72%
    ),
    radial-gradient(
      680px 520px at 8% 84%,
      rgba(77, 230, 230, .035),
      transparent 74%
    ),
    linear-gradient(
      180deg,
      var(--bf-background),
      var(--bf-deep-space)
    );
}

.bf-decision__atmosphere {
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  opacity: .07;
}

.bf-decision__atmosphere svg {
  width: 100%;
  height: 100%;
}

.bf-decision-network__paths {
  fill: none;
  stroke: rgba(121, 168, 255, .27);
  stroke-width: 1;
  stroke-dasharray: 5 20;
}

.bf-decision-network__nodes {
  fill: var(--bf-accent-cyan);
  opacity: .5;
}

.bf-decision__header {
  max-width: 980px;
  margin: 0 auto clamp(62px, 8vw, 100px);
  text-align: center;
}

.bf-decision__eyebrow {
  display: inline-block;
  margin-bottom: 17px;
  color: var(--bf-accent-cyan);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.bf-decision__header h2 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: clamp(2.8rem, 6vw, 5.25rem);
  line-height: .97;
  letter-spacing: -.055em;
  text-wrap: balance;
}

.bf-decision__header h2 span {
  display: block;
  color: var(--bf-muted);
  font-size: .68em;
  line-height: 1.08;
  letter-spacing: -.038em;
}

.bf-decision__header p {
  max-width: 74ch;
  margin: 25px auto 0;
  color: var(--bf-muted);
  font-size: clamp(1rem, 1.4vw, 1.12rem);
  line-height: 1.72;
}

.bf-decision__layout {
  display: grid;
  grid-template-columns:
    minmax(280px, .62fr)
    minmax(0, 1.38fr);
  grid-template-areas: "rail console";
  gap: clamp(34px, 5vw, 74px);
  align-items: start;
}

.bf-decision-rail {
  grid-area: rail;
  position: sticky;
  top: 112px;
}

.bf-decision-rail__intro {
  margin-bottom: 24px;
}

.bf-decision-rail__intro > span {
  display: block;
  margin-bottom: 7px;
  color: var(--bf-accent-cyan);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.bf-decision-rail__intro h3 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: clamp(1.55rem, 3vw, 2.2rem);
  line-height: 1.04;
  letter-spacing: -.04em;
}

.bf-decision-rail__intro p {
  margin: 13px 0 0;
  color: var(--bf-muted);
  font-size: .75rem;
  line-height: 1.58;
}

.bf-decision-rail ol {
  position: relative;
  display: grid;
  gap: 10px;
  padding: 0 0 0 24px;
  margin: 0;
  list-style: none;
}

.bf-decision-rail ol::before {
  content: "";
  position: absolute;
  top: 28px;
  bottom: 28px;
  left: 7px;
  width: 2px;
  border-radius: 999px;
  background:
    linear-gradient(
      180deg,
      rgba(121, 168, 255, .18),
      rgba(125, 235, 255, .07)
    );
}

.bf-decision-rail li {
  position: relative;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 15px;
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: 17px;
  color: var(--bf-muted);
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, .035),
      rgba(255, 255, 255, .008)
    ),
    rgba(14, 23, 38, .42);
  transition:
    color var(--bf-motion-normal) ease,
    border-color var(--bf-motion-normal) ease,
    background var(--bf-motion-normal) ease,
    transform var(--bf-motion-normal)
      cubic-bezier(.22, .8, .2, 1);
}

.bf-decision-rail li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -21px;
  width: 9px;
  height: 9px;
  border: 1px solid rgba(169, 182, 211, .32);
  border-radius: 50%;
  background: var(--bf-background);
  transform: translateY(-50%);
}

.bf-decision-rail li[data-active="true"],
.bf-decision-rail li[data-complete="true"] {
  color: var(--bf-text);
  border-color: rgba(125, 235, 255, .17);
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .08),
      rgba(77, 230, 230, .012)
    ),
    rgba(14, 23, 38, .56);
}

.bf-decision-rail li[data-active="true"]::before {
  border-color: rgba(125, 235, 255, .62);
  background: var(--bf-accent-cyan);
  box-shadow: 0 0 12px rgba(125, 235, 255, .3);
}

.bf-decision-rail li[data-complete="true"]::before {
  border-color: rgba(67, 217, 140, .52);
  background: var(--bf-success);
  box-shadow: 0 0 10px rgba(67, 217, 140, .2);
}

.bf-decision-rail li > span {
  color: var(--bf-accent-cyan);
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .08em;
}

.bf-decision-rail li > div {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.bf-decision-rail li small {
  color: var(--bf-accent-cyan);
  font-size: .54rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.bf-decision-rail li strong {
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: .9rem;
  letter-spacing: -.02em;
}

.bf-decision-rail li p {
  margin: 4px 0 0;
  color: var(--bf-muted);
  font-size: .65rem;
  line-height: 1.45;
}

.bf-decision-rail__principle {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin-top: 18px;
  padding: 15px;
  border: 1px solid rgba(121, 168, 255, .12);
  border-radius: 17px;
  background: rgba(121, 168, 255, .035);
}

.bf-decision-rail__principle .bf-icon {
  width: 25px;
  height: 25px;
  color: var(--bf-accent-cyan);
}

.bf-decision-rail__principle div {
  display: grid;
  gap: 3px;
}

.bf-decision-rail__principle small {
  color: var(--bf-accent-cyan);
  font-size: .55rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.bf-decision-rail__principle strong {
  font-size: .7rem;
}

.bf-decision-console {
  grid-area: console;
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--bf-border-strong);
  border-radius: var(--bf-radius-xl);
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, .09),
      rgba(255, 255, 255, .014) 31%,
      transparent 55%
    ),
    rgba(9, 17, 30, .9);
  box-shadow:
    0 34px 96px rgba(0, 0, 0, .44),
    inset 0 1px 0 rgba(255, 255, 255, .075);
  backdrop-filter: blur(24px) saturate(118%);
  -webkit-backdrop-filter: blur(24px) saturate(118%);
}

.bf-decision-console::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(
      520px 320px at 0% 0%,
      rgba(121, 168, 255, .105),
      transparent 72%
    );
}

.bf-decision-console__header {
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  padding: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.bf-decision-console__identity {
  min-width: 0;
  display: flex;
  gap: 12px;
  align-items: center;
}

.bf-decision-console__beacon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(121, 168, 255, .15);
  border-radius: 16px;
  background: rgba(255, 255, 255, .035);
}

.bf-decision-console__beacon img {
  width: 39px;
  height: 39px;
}

.bf-decision-console__identity > div {
  min-width: 0;
}

.bf-decision-console__identity span {
  display: block;
  margin-bottom: 3px;
  color: var(--bf-accent-cyan);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.bf-decision-console__identity h3 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: 1.04rem;
  letter-spacing: -.025em;
}

.bf-decision-console__status-group {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.bf-decision-console__classification,
.bf-decision-console__status {
  min-height: 29px;
  display: inline-flex;
  gap: 7px;
  align-items: center;
  padding-inline: 10px;
  border-radius: var(--bf-radius-pill);
  font-size: .6rem;
  font-weight: 800;
  white-space: nowrap;
}

.bf-decision-console__classification {
  color: var(--bf-accent-cyan);
  border: 1px solid rgba(121, 168, 255, .14);
  background: rgba(121, 168, 255, .04);
}

.bf-decision-console__status {
  color: var(--bf-warning);
  border: 1px solid rgba(248, 193, 90, .14);
  background: rgba(248, 193, 90, .04);
}

.bf-decision-console__status > span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 12px rgba(248, 193, 90, .38);
}

.bf-decision[data-bf-decision-status="ready-to-prepare"]
.bf-decision-console__status,
.bf-decision[data-bf-decision-status="prepared-for-human-review"]
.bf-decision-console__status {
  color: var(--bf-success);
  border-color: rgba(67, 217, 140, .15);
  background: rgba(67, 217, 140, .04);
}

.bf-decision-console__context-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.bf-decision-console__context-grid article {
  min-width: 0;
  display: grid;
  gap: 5px;
  padding: 13px;
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: 14px;
  background: rgba(255, 255, 255, .018);
}

.bf-decision-console__context-grid span {
  color: var(--bf-muted);
  font-size: .56rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.bf-decision-console__context-grid strong {
  overflow: hidden;
  font-size: .68rem;
  line-height: 1.42;
  text-overflow: ellipsis;
}

.bf-decision-brief,
.bf-decision-paths,
.bf-decision-gates,
.bf-decision-rationale {
  padding: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.bf-decision-brief > header,
.bf-decision-paths > header,
.bf-decision-gates > header {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 16px;
}

.bf-decision-brief > header > div:first-child > span,
.bf-decision-paths > header > span,
.bf-decision-gates > header > span {
  display: block;
  margin-bottom: 5px;
  color: var(--bf-accent-cyan);
  font-size: .6rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.bf-decision-brief h4,
.bf-decision-paths h4,
.bf-decision-gates h4 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: 1.04rem;
  letter-spacing: -.025em;
}

.bf-decision-readiness {
  min-width: 154px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px 10px;
  align-items: center;
}

.bf-decision-readiness > span:first-child {
  color: var(--bf-muted);
  font-size: .56rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.bf-decision-readiness > strong {
  font-size: .72rem;
}

.bf-decision-readiness > span:last-child {
  grid-column: 1 / -1;
  height: 3px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, .06);
}

.bf-decision-readiness > span:last-child > span {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background:
    linear-gradient(
      90deg,
      var(--bf-primary),
      var(--bf-accent-cyan)
    );
  box-shadow: 0 0 12px rgba(125, 235, 255, .2);
  transform: scaleX(0);
  transform-origin: left;
  transition:
    transform var(--bf-motion-smooth)
      cubic-bezier(.22, .8, .2, 1);
}

.bf-decision-brief > p {
  margin: 0 0 16px;
  color: var(--bf-muted);
  font-size: .73rem;
  line-height: 1.58;
}

.bf-decision-brief__evidence {
  display: grid;
  grid-template-columns: .58fr .58fr 1.84fr;
  gap: 10px;
}

.bf-decision-brief__evidence > div {
  display: grid;
  gap: 5px;
  padding: 13px;
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: 14px;
  background: rgba(255, 255, 255, .018);
}

.bf-decision-brief__evidence span {
  color: var(--bf-muted);
  font-size: .56rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.bf-decision-brief__evidence strong {
  font-size: .69rem;
  line-height: 1.42;
}

.bf-decision-brief__evidence > div:nth-child(-n + 2) strong {
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: 1.45rem;
  letter-spacing: -.035em;
}

.bf-decision-brief__uncertainty {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 11px;
  align-items: center;
  margin-top: 10px;
  padding: 13px;
  border: 1px solid rgba(248, 193, 90, .12);
  border-radius: 14px;
  background: rgba(248, 193, 90, .025);
}

.bf-decision-brief__uncertainty .bf-icon {
  width: 22px;
  height: 22px;
  color: var(--bf-warning);
}

.bf-decision-brief__uncertainty div {
  display: grid;
  gap: 3px;
}

.bf-decision-brief__uncertainty small {
  color: var(--bf-warning);
  font-size: .55rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.bf-decision-brief__uncertainty strong {
  font-size: .65rem;
  line-height: 1.45;
}

.bf-decision-paths__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.bf-decision-path {
  min-width: 0;
  min-height: 162px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) 10px;
  gap: 11px;
  align-items: start;
  padding: 15px;
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: 16px;
  color: var(--bf-muted);
  text-align: left;
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, .035),
      rgba(255, 255, 255, .008)
    ),
    rgba(14, 23, 38, .42);
  cursor: pointer;
  transition:
    color var(--bf-motion-normal) ease,
    transform var(--bf-motion-normal)
      cubic-bezier(.22, .8, .2, 1),
    border-color var(--bf-motion-normal) ease,
    background var(--bf-motion-normal) ease,
    box-shadow var(--bf-motion-normal) ease;
}

.bf-decision-path:hover:not(:disabled),
.bf-decision-path:focus-visible,
.bf-decision-path[data-selected="true"] {
  color: var(--bf-text);
  border-color: rgba(125, 235, 255, .2);
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .09),
      rgba(77, 230, 230, .014)
    ),
    rgba(14, 23, 38, .58);
}

.bf-decision-path:hover:not(:disabled) {
  transform: translateY(-3px);
}

.bf-decision-path[data-recommended="true"] {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .045),
    0 0 20px rgba(92, 146, 255, .055);
}

.bf-decision-path:disabled {
  cursor: not-allowed;
  opacity: .48;
}

.bf-decision-path > .bf-icon {
  width: 24px;
  height: 24px;
  color: var(--bf-accent-cyan);
}

.bf-decision-path > div {
  min-width: 0;
  display: grid;
  gap: 5px;
}

.bf-decision-path small {
  color: var(--bf-accent-cyan);
  font-size: .53rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.bf-decision-path strong {
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: .84rem;
  letter-spacing: -.02em;
}

.bf-decision-path p {
  margin: 0;
  color: var(--bf-muted);
  font-size: .63rem;
  line-height: 1.47;
}

.bf-decision-path > span:last-child {
  width: 9px;
  height: 9px;
  margin-top: 5px;
  border: 1px solid rgba(169, 182, 211, .34);
  border-radius: 50%;
}

.bf-decision-path[data-selected="true"] > span:last-child {
  border-color: rgba(125, 235, 255, .62);
  background: var(--bf-accent-cyan);
  box-shadow: 0 0 12px rgba(125, 235, 255, .3);
}

.bf-decision-gates__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.bf-decision-gates label {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 13px;
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: 14px;
  background: rgba(255, 255, 255, .018);
  cursor: pointer;
}

.bf-decision-gates input {
  width: 18px;
  height: 18px;
  margin: 1px 0 0;
  accent-color: var(--bf-accent-cyan);
}

.bf-decision-gates label > span {
  display: grid;
  gap: 4px;
}

.bf-decision-gates strong {
  font-size: .68rem;
}

.bf-decision-gates small {
  color: var(--bf-muted);
  font-size: .6rem;
  line-height: 1.42;
}

.bf-decision-rationale {
  display: grid;
  gap: 8px;
}

.bf-decision-rationale label {
  color: var(--bf-accent-cyan);
  font-size: .6rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.bf-decision-rationale textarea {
  width: 100%;
  resize: vertical;
  min-height: 104px;
  padding: 13px;
  border: 1px solid rgba(255, 255, 255, .075);
  border-radius: 14px;
  color: var(--bf-text);
  background: rgba(3, 9, 18, .32);
  font: inherit;
  font-size: .7rem;
  line-height: 1.55;
}

.bf-decision-rationale textarea:focus {
  border-color: rgba(125, 235, 255, .3);
  outline: 2px solid rgba(125, 235, 255, .16);
  outline-offset: 2px;
}

.bf-decision-rationale > small {
  color: var(--bf-muted);
  font-size: .58rem;
}

.bf-decision-console__footer {
  display: grid;
  grid-template-columns:
    minmax(0, .78fr)
    minmax(0, 1.22fr);
  gap: 10px;
  padding: 18px 20px 20px;
}

.bf-decision-console__secondary {
  min-height: 46px;
  border: 1px solid var(--bf-border);
  border-radius: 14px;
  color: var(--bf-muted);
  background: rgba(255, 255, 255, .025);
  font-size: .7rem;
  font-weight: 800;
  cursor: pointer;
  transition:
    color var(--bf-motion-normal) ease,
    border-color var(--bf-motion-normal) ease,
    background var(--bf-motion-normal) ease;
}

.bf-decision-console__secondary:hover {
  color: var(--bf-text);
  border-color: rgba(125, 235, 255, .18);
  background: rgba(125, 235, 255, .045);
}

.bf-decision-console__footer .bf-button {
  width: 100%;
  border: 0;
  cursor: pointer;
}

.bf-decision-console__footer .bf-button:disabled {
  cursor: not-allowed;
  opacity: .46;
}

.bf-decision-prepared {
  position: absolute;
  z-index: 8;
  right: 20px;
  bottom: 20px;
  width: min(470px, calc(100% - 40px));
  padding: 17px;
  border: 1px solid rgba(67, 217, 140, .18);
  border-radius: 18px;
  background:
    linear-gradient(
      135deg,
      rgba(67, 217, 140, .055),
      rgba(255, 255, 255, .012)
    ),
    rgba(8, 15, 27, .98);
  box-shadow:
    0 28px 84px rgba(0, 0, 0, .52),
    inset 0 1px 0 rgba(255, 255, 255, .06);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
}

.bf-decision-prepared[hidden] {
  display: none;
}

.bf-decision-prepared > header {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  justify-content: space-between;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.bf-decision-prepared > header span {
  color: var(--bf-success);
  font-size: .57rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.bf-decision-prepared h4 {
  margin: 4px 0 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: 1rem;
}

.bf-decision-prepared > header button {
  width: 32px;
  height: 32px;
  border: 1px solid var(--bf-border);
  border-radius: 10px;
  color: var(--bf-muted);
  background: rgba(255, 255, 255, .025);
  cursor: pointer;
}

.bf-decision-prepared dl {
  display: grid;
  gap: 8px;
  margin: 13px 0 0;
}

.bf-decision-prepared dl > div {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 10px;
}

.bf-decision-prepared dt {
  color: var(--bf-muted);
  font-size: .56rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.bf-decision-prepared dd {
  margin: 0;
  font-size: .64rem;
  line-height: 1.45;
}

.bf-decision-prepared > p {
  margin: 13px 0 0;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, .06);
  color: var(--bf-muted);
  font-size: .6rem;
  line-height: 1.45;
}

.bf-decision__trust-line {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 28px;
  align-items: center;
  margin-top: clamp(60px, 8vw, 98px);
  padding-top: 30px;
}

.bf-decision__trust-line::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 1px;
  background:
    linear-gradient(
      90deg,
      rgba(121, 168, 255, .08),
      rgba(125, 235, 255, .28),
      rgba(121, 168, 255, .08)
    );
}

.bf-decision__trust-line > span {
  color: var(--bf-accent-cyan);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
  white-space: nowrap;
}

.bf-decision__trust-line ul {
  display: flex;
  gap: 10px 20px;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
  list-style: none;
}

.bf-decision__trust-line li {
  color: var(--bf-muted);
  font-size: .74rem;
  font-weight: 750;
}

.bf-decision__trust-line li::before {
  content: "•";
  margin-right: 8px;
  color: var(--bf-accent-cyan);
}

@media (max-width: 1120px) {
  .bf-decision__layout {
    grid-template-columns: 1fr;
    grid-template-areas:
      "console"
      "rail";
  }

  .bf-decision-rail {
    position: relative;
    top: auto;
  }

  .bf-decision-rail ol {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
    padding-left: 0;
  }

  .bf-decision-rail ol::before,
  .bf-decision-rail li::before {
    display: none;
  }
}

@media (max-width: 860px) {
  .bf-decision-console__context-grid,
  .bf-decision-paths__grid,
  .bf-decision-gates__grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .bf-decision-path:last-child,
  .bf-decision-gates label:last-child {
    grid-column: 1 / -1;
  }

  .bf-decision-brief__evidence {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .bf-decision-brief__evidence > div:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 680px) {
  .bf-decision {
    padding-block: 94px;
  }

  .bf-decision__header h2 {
    font-size:
      clamp(2.4rem, 11vw, 3.8rem);
  }

  .bf-decision-console {
    border-radius: 24px;
  }

  .bf-decision-console__header {
    align-items: flex-start;
    flex-direction: column;
  }

  .bf-decision-console__status-group {
    justify-content: flex-start;
  }

  .bf-decision-console__context-grid,
  .bf-decision-paths__grid,
  .bf-decision-gates__grid,
  .bf-decision-brief__evidence,
  .bf-decision-console__footer,
  .bf-decision-rail ol {
    grid-template-columns: 1fr;
  }

  .bf-decision-path:last-child,
  .bf-decision-gates label:last-child,
  .bf-decision-brief__evidence > div:last-child {
    grid-column: auto;
  }

  .bf-decision-brief > header,
  .bf-decision-paths > header,
  .bf-decision-gates > header {
    flex-direction: column;
  }

  .bf-decision-readiness {
    width: 100%;
  }

  .bf-decision__trust-line {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .bf-decision__trust-line > span {
    white-space: normal;
  }

  .bf-decision-prepared {
    right: 14px;
    bottom: 14px;
    width: calc(100% - 28px);
  }

  .bf-decision-prepared dl > div {
    grid-template-columns: 1fr;
    gap: 3px;
  }
}

@media (hover: none), (pointer: coarse) {
  .bf-decision-path:hover:not(:disabled) {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bf-decision-rail li,
  .bf-decision-path,
  .bf-decision-readiness > span:last-child > span {
    transition: none !important;
  }
}

@supports not (
  (backdrop-filter: blur(1px)) or
  (-webkit-backdrop-filter: blur(1px))
) {
  .bf-header__bar,
  .bf-platform-system,
  .bf-intelligence-console,
  .bf-decision-console,
  .bf-evidence-console,
  .bf-decision-prepared {
    background: var(--bf-surface);
  }
}


/* PATCH 010 visual QA refinement: continuous signature connector */
.bf-complexity-bridge__line {
  height: 2px;
  background:
    linear-gradient(
      90deg,
      rgba(121, 168, 255, .18),
      rgba(125, 235, 255, .62),
      rgba(121, 168, 255, .18)
    );
}

.bf-complexity-bridge__line::before {
  display: none;
}

/* =========================================================
   BOOKFELS V3 — PATCH 011
   STRUCTURED TRUST™ NAVIGATION & LAYOUT CONTROL
   ========================================================= */

/* The injected reflection must never become a grid item. */
.bf-header__bar > .bf-glass-reflection {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block;
  pointer-events: none;
}

.bf-header__bar > :not(.bf-glass-reflection) {
  position: relative;
  z-index: 2;
}

.bf-header__bar {
  width: min(1560px, calc(100% - 24px));
  min-height: 70px;
  grid-template-columns:
    minmax(176px, max-content)
    minmax(0, 1fr)
    max-content;
  grid-template-rows: 1fr;
  gap: clamp(8px, 1vw, 18px);
  align-items: center;
  padding: 8px 9px 8px 14px;
}

.bf-header__brand,
.bf-header__actions,
.bf-menu-button,
.bf-header__cta {
  align-self: center;
}

.bf-header__brand {
  min-width: 0;
  white-space: nowrap;
}

.bf-header__actions {
  min-width: max-content;
  flex-wrap: nowrap;
  white-space: nowrap;
}

.bf-header__cta,
.bf-menu-button {
  flex: 0 0 auto;
}

.bf-header__nav {
  min-width: 0;
  display: flex;
  flex-wrap: nowrap;
  gap: clamp(0px, .22vw, 4px);
  align-items: center;
  justify-content: center;
  overflow: visible;
  white-space: nowrap;
}

.bf-header__nav a {
  min-width: 0;
  min-height: 40px;
  flex: 0 1 auto;
  padding-inline: clamp(5px, .42vw, 9px);
  font-size: clamp(.64rem, .61vw, .77rem);
  white-space: nowrap;
}

.bf-header__nav a::after {
  left: 7px;
  right: 7px;
}

.bf-menu-button {
  min-width: 96px;
  min-height: 46px;
}

@media (max-width: 1500px) {
  .bf-header__wordmark small {
    display: none;
  }
}

@media (max-width: 1160px) {
  .bf-header__nav {
    display: none;
  }

  .bf-header__bar {
    grid-template-columns: minmax(0, 1fr) max-content;
  }
}

@media (max-width: 760px) {
  .bf-header__cta,
  .bf-menu-button__label,
  .bf-header__wordmark small {
    display: none;
  }

  .bf-header__bar {
    width: calc(100% - 16px);
    min-height: 62px;
    grid-template-columns: minmax(0, 1fr) 46px;
    gap: 8px;
    padding: 7px;
  }

  .bf-header__actions {
    width: 46px;
  }

  .bf-menu-button {
    width: 46px;
    min-width: 46px;
    height: 46px;
    padding: 0 12px;
  }
}

@media (max-width: 420px) {
  .bf-header__wordmark strong {
    font-size: .9rem;
  }

  .bf-header__beacon {
    width: 36px;
    height: 36px;
  }
}

/* Keep the full drawer architecture scrollable and visible. */
.bf-menu-drawer__body {
  scrollbar-gutter: stable;
}

.bf-menu-drawer__nav a {
  min-height: 68px;
}

/* Platform and Evidence keep their dashboards beside the narrative until 920px. */
.bf-platform-overview {
  overflow: clip;
}

.bf-platform-overview__layout {
  grid-template-columns:
    minmax(280px, .64fr)
    minmax(0, 1.36fr);
  gap: clamp(26px, 4.2vw, 68px);
  align-items: start;
}

.bf-platform-system {
  position: sticky;
  top: 104px;
  align-self: start;
  min-width: 0;
}

.bf-complexity-bridge {
  grid-template-columns: max-content minmax(72px, 1fr) max-content;
  min-width: 0;
}

.bf-complexity-bridge__line {
  width: 100%;
  min-width: 0;
  height: 2px;
  overflow: visible;
  background:
    linear-gradient(
      90deg,
      rgba(121, 168, 255, .16),
      rgba(125, 235, 255, .62),
      rgba(121, 168, 255, .16)
    );
}

.bf-complexity-bridge__line::before {
  display: none;
}

.bf-evidence__layout {
  grid-template-columns:
    minmax(260px, .66fr)
    minmax(0, 1.34fr);
  gap: clamp(24px, 4vw, 62px);
  align-items: start;
}

.bf-evidence-domains {
  grid-template-columns: 1fr;
  min-width: 0;
}

.bf-evidence-domain:last-child {
  grid-column: auto;
}

.bf-evidence-console {
  position: sticky;
  top: 104px;
  align-self: start;
  min-width: 0;
}

.bf-evidence__trust-line {
  position: relative;
  width: 100%;
  border-top: 0;
}

.bf-evidence__trust-line::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 1px;
  background:
    linear-gradient(
      90deg,
      rgba(121, 168, 255, .08),
      rgba(125, 235, 255, .3),
      rgba(121, 168, 255, .08)
    );
}

@media (max-width: 920px) {
  .bf-platform-overview__layout,
  .bf-evidence__layout {
    grid-template-columns: 1fr;
  }

  .bf-platform-system,
  .bf-evidence-console {
    position: relative;
    top: auto;
  }

  .bf-evidence-domains {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bf-evidence-domain:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 680px) {
  .bf-evidence-domains {
    grid-template-columns: 1fr;
  }

  .bf-evidence-domain:last-child {
    grid-column: auto;
  }
}

/* Shared console header language now includes the Dashboard Bridge. */
.bf-dashboard-console__header {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    linear-gradient(
      126deg,
      rgba(255, 255, 255, .055),
      rgba(255, 255, 255, .012) 28%,
      transparent 55%
    ),
    rgba(255, 255, 255, .008);
}

.bf-dashboard-console__header::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(
      360px 130px at 5% 0%,
      rgba(125, 235, 255, .085),
      transparent 72%
    );
}

.bf-dashboard-console__header > * {
  position: relative;
  z-index: 1;
}

/* =========================================================
   PATCH 011 — ENTERPRISE DASHBOARD BRIDGE
   ========================================================= */
.bf-dashboard {
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding-block: clamp(104px, 12vw, 170px);
  background:
    radial-gradient(
      860px 620px at 91% 16%,
      rgba(121, 168, 255, .075),
      transparent 72%
    ),
    radial-gradient(
      700px 540px at 7% 84%,
      rgba(77, 230, 230, .035),
      transparent 74%
    ),
    linear-gradient(180deg, var(--bf-deep-space), var(--bf-background));
}

.bf-dashboard__atmosphere {
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  opacity: .07;
}

.bf-dashboard__atmosphere svg {
  width: 100%;
  height: 100%;
}

.bf-dashboard-network__paths {
  fill: none;
  stroke: rgba(121, 168, 255, .27);
  stroke-width: 1;
  stroke-dasharray: 5 20;
}

.bf-dashboard-network__nodes {
  fill: var(--bf-accent-cyan);
  opacity: .5;
}

.bf-dashboard__header {
  max-width: 980px;
  margin: 0 auto clamp(62px, 8vw, 100px);
  text-align: center;
}

.bf-dashboard__eyebrow {
  display: inline-block;
  margin-bottom: 17px;
  color: var(--bf-accent-cyan);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.bf-dashboard__header h2 {
  margin: 0;
  font-family: "Inter Tight", Inter, system-ui, sans-serif;
  font-size: clamp(2.8rem, 6vw, 5.25rem);
  line-height: .97;
  letter-spacing: -.055em;
  text-wrap: balance;
}

.bf-dashboard__header h2 span {
  display: block;
  color: var(--bf-muted);
  font-size: .68em;
  line-height: 1.08;
  letter-spacing: -.038em;
}

.bf-dashboard__header p {
  max-width: 75ch;
  margin: 25px auto 0;
  color: var(--bf-muted);
  font-size: clamp(1rem, 1.4vw, 1.12rem);
  line-height: 1.72;
}

.bf-dashboard__layout {
  display: grid;
  grid-template-columns:
    minmax(270px, .58fr)
    minmax(0, 1.42fr);
  grid-template-areas: "views console";
  gap: clamp(30px, 4.8vw, 72px);
  align-items: start;
}

.bf-dashboard-views {
  grid-area: views;
  position: sticky;
  top: 104px;
}

.bf-dashboard-views__intro {
  margin-bottom: 24px;
}

.bf-dashboard-views__intro > span {
  display: block;
  margin-bottom: 7px;
  color: var(--bf-accent-cyan);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.bf-dashboard-views__intro h3 {
  margin: 0;
  font-family: "Inter Tight", Inter, system-ui, sans-serif;
  font-size: clamp(1.55rem, 3vw, 2.2rem);
  line-height: 1.04;
  letter-spacing: -.04em;
}

.bf-dashboard-views__intro p {
  margin: 13px 0 0;
  color: var(--bf-muted);
  font-size: .75rem;
  line-height: 1.58;
}

.bf-dashboard-views__list {
  display: grid;
  gap: 10px;
}

.bf-dashboard-views__list button {
  width: 100%;
  min-height: 76px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 10px;
  gap: 12px;
  align-items: center;
  padding: 13px 14px;
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: 16px;
  color: var(--bf-muted);
  text-align: left;
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, .035),
      rgba(255, 255, 255, .008)
    ),
    rgba(14, 23, 38, .42);
  cursor: pointer;
  transition:
    color var(--bf-motion-normal) ease,
    transform var(--bf-motion-normal) cubic-bezier(.22, .8, .2, 1),
    border-color var(--bf-motion-normal) ease,
    background var(--bf-motion-normal) ease;
}

.bf-dashboard-views__list button:hover,
.bf-dashboard-views__list button:focus-visible,
.bf-dashboard-views__list button[data-active="true"] {
  color: var(--bf-text);
  border-color: rgba(125, 235, 255, .2);
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .09),
      rgba(77, 230, 230, .014)
    ),
    rgba(14, 23, 38, .58);
}

.bf-dashboard-views__list button:hover {
  transform: translateX(3px);
}

.bf-dashboard-views__list button > span:first-child {
  color: var(--bf-accent-cyan);
  font-size: .62rem;
  font-weight: 800;
}

.bf-dashboard-views__list button > div {
  display: grid;
  gap: 3px;
}

.bf-dashboard-views__list small {
  color: var(--bf-accent-cyan);
  font-size: .54rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.bf-dashboard-views__list strong {
  font-family: "Inter Tight", Inter, system-ui, sans-serif;
  font-size: .9rem;
}

.bf-dashboard-views__list button > span:last-child {
  width: 8px;
  height: 8px;
  border: 1px solid rgba(169, 182, 211, .34);
  border-radius: 50%;
}

.bf-dashboard-views__list button[data-active="true"] > span:last-child {
  border-color: rgba(125, 235, 255, .62);
  background: var(--bf-accent-cyan);
  box-shadow: 0 0 12px rgba(125, 235, 255, .3);
}

.bf-dashboard-views__principle {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin-top: 18px;
  padding: 15px;
  border: 1px solid rgba(121, 168, 255, .12);
  border-radius: 17px;
  background: rgba(121, 168, 255, .035);
}

.bf-dashboard-views__principle .bf-icon {
  width: 25px;
  height: 25px;
  color: var(--bf-accent-cyan);
}

.bf-dashboard-views__principle div {
  display: grid;
  gap: 3px;
}

.bf-dashboard-views__principle small {
  color: var(--bf-accent-cyan);
  font-size: .55rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.bf-dashboard-views__principle strong {
  font-size: .7rem;
}

.bf-dashboard-console {
  grid-area: console;
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--bf-border-strong);
  border-radius: var(--bf-radius-xl);
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, .09),
      rgba(255, 255, 255, .014) 31%,
      transparent 55%
    ),
    rgba(9, 17, 30, .9);
  box-shadow:
    0 34px 96px rgba(0, 0, 0, .44),
    inset 0 1px 0 rgba(255, 255, 255, .075);
  backdrop-filter: blur(24px) saturate(118%);
  -webkit-backdrop-filter: blur(24px) saturate(118%);
}

.bf-dashboard-console__header {
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  padding: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.bf-dashboard-console__identity {
  min-width: 0;
  display: flex;
  gap: 12px;
  align-items: center;
}

.bf-dashboard-console__beacon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(121, 168, 255, .15);
  border-radius: 16px;
  background: rgba(255, 255, 255, .035);
}

.bf-dashboard-console__beacon img {
  width: 39px;
  height: 39px;
}

.bf-dashboard-console__identity > div {
  min-width: 0;
}

.bf-dashboard-console__identity span {
  display: block;
  margin-bottom: 3px;
  color: var(--bf-accent-cyan);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.bf-dashboard-console__identity h3 {
  margin: 0;
  font-family: "Inter Tight", Inter, system-ui, sans-serif;
  font-size: 1.04rem;
  letter-spacing: -.025em;
}

.bf-dashboard-console__status-group {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.bf-dashboard-console__classification,
.bf-dashboard-console__status {
  min-height: 29px;
  display: inline-flex;
  gap: 7px;
  align-items: center;
  padding-inline: 10px;
  border-radius: var(--bf-radius-pill);
  font-size: .6rem;
  font-weight: 800;
  white-space: nowrap;
}

.bf-dashboard-console__classification {
  color: var(--bf-accent-cyan);
  border: 1px solid rgba(121, 168, 255, .14);
  background: rgba(121, 168, 255, .04);
}

.bf-dashboard-console__status {
  color: var(--bf-success);
  border: 1px solid rgba(67, 217, 140, .14);
  background: rgba(67, 217, 140, .04);
}

.bf-dashboard-console__status > span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 12px rgba(67, 217, 140, .5);
}

.bf-dashboard[data-bf-dashboard-status="awaiting-intelligence"]
.bf-dashboard-console__status {
  color: var(--bf-warning);
  border-color: rgba(248, 193, 90, .14);
  background: rgba(248, 193, 90, .04);
}

.bf-dashboard-sources,
.bf-dashboard-view,
.bf-dashboard-console__lower {
  padding: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.bf-dashboard-sources > header,
.bf-dashboard-view > header,
.bf-dashboard-priorities > header {
  margin-bottom: 15px;
}

.bf-dashboard-sources > header > span,
.bf-dashboard-view > header span,
.bf-dashboard-priorities > header span {
  display: block;
  margin-bottom: 5px;
  color: var(--bf-accent-cyan);
  font-size: .6rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.bf-dashboard-sources h4,
.bf-dashboard-view h4,
.bf-dashboard-priorities h4 {
  margin: 0;
  font-family: "Inter Tight", Inter, system-ui, sans-serif;
  font-size: 1.04rem;
  letter-spacing: -.025em;
}

.bf-dashboard-sources__flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.bf-dashboard-sources__flow article {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) 8px;
  gap: 9px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: 14px;
  background: rgba(255, 255, 255, .018);
}

.bf-dashboard-sources__flow .bf-icon {
  width: 20px;
  height: 20px;
  color: var(--bf-accent-cyan);
}

.bf-dashboard-sources__flow article > div {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.bf-dashboard-sources__flow small {
  color: var(--bf-muted);
  font-size: .53rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.bf-dashboard-sources__flow strong {
  overflow: hidden;
  font-size: .65rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bf-dashboard-sources__flow article > span:last-child {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--bf-warning);
  box-shadow: 0 0 10px rgba(248, 193, 90, .28);
}

.bf-dashboard-sources__flow article[data-state="connected"] > span:last-child {
  background: var(--bf-success);
  box-shadow: 0 0 10px rgba(67, 217, 140, .34);
}

.bf-dashboard-console__context {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.bf-dashboard-console__context > div {
  min-width: 0;
  display: grid;
  gap: 5px;
  padding: 13px;
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: 14px;
  background: rgba(255, 255, 255, .018);
}

.bf-dashboard-console__context span {
  color: var(--bf-muted);
  font-size: .56rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.bf-dashboard-console__context strong {
  overflow: hidden;
  font-size: .68rem;
  line-height: 1.42;
  text-overflow: ellipsis;
}

.bf-dashboard-view > header {
  display: grid;
  grid-template-columns: minmax(0, .7fr) minmax(240px, 1.3fr);
  gap: 20px;
  align-items: start;
}

.bf-dashboard-view > header p,
.bf-dashboard-view__summary {
  margin: 0;
  color: var(--bf-muted);
  font-size: .7rem;
  line-height: 1.55;
}

.bf-dashboard-view__summary {
  margin-bottom: 16px;
  padding: 13px;
  border: 1px solid rgba(121, 168, 255, .1);
  border-radius: 14px;
  background: rgba(121, 168, 255, .025);
}

.bf-dashboard-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.bf-dashboard-metrics article {
  min-width: 0;
  display: grid;
  gap: 5px;
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: 15px;
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .05),
      rgba(255, 255, 255, .01)
    );
}

.bf-dashboard-metrics article[data-tone="positive"] {
  border-color: rgba(67, 217, 140, .13);
}

.bf-dashboard-metrics article[data-tone="warning"] {
  border-color: rgba(248, 193, 90, .13);
}

.bf-dashboard-metrics span {
  color: var(--bf-muted);
  font-size: .55rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.bf-dashboard-metrics strong {
  overflow-wrap: anywhere;
  font-family: "Inter Tight", Inter, system-ui, sans-serif;
  font-size: clamp(1.15rem, 2.3vw, 1.8rem);
  line-height: 1.05;
  letter-spacing: -.04em;
}

.bf-dashboard-metrics small {
  color: rgba(169, 182, 211, .65);
  font-size: .57rem;
  line-height: 1.35;
}

.bf-dashboard-console__lower {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(230px, .75fr);
  gap: 14px;
}

.bf-dashboard-priorities ol {
  display: grid;
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
  counter-reset: bf-dashboard-priority;
}

.bf-dashboard-priorities li {
  counter-increment: bf-dashboard-priority;
  min-height: 48px;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, .05);
  border-radius: 13px;
  color: var(--bf-muted);
  background: rgba(255, 255, 255, .016);
  font-size: .64rem;
  line-height: 1.42;
}

.bf-dashboard-priorities li::before {
  content: counter(bf-dashboard-priority, decimal-leading-zero);
  color: var(--bf-accent-cyan);
  font-size: .56rem;
  font-weight: 800;
}

.bf-dashboard-human-action {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 15px;
  border: 1px solid rgba(248, 193, 90, .12);
  border-radius: 16px;
  background: rgba(248, 193, 90, .025);
}

.bf-dashboard-human-action .bf-icon {
  width: 24px;
  height: 24px;
  color: var(--bf-warning);
}

.bf-dashboard-human-action div {
  display: grid;
  gap: 5px;
}

.bf-dashboard-human-action small {
  color: var(--bf-warning);
  font-size: .55rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.bf-dashboard-human-action strong {
  font-size: .66rem;
  line-height: 1.48;
}

.bf-dashboard-console__footer {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 12px;
  align-items: center;
  padding: 18px 20px 20px;
}

.bf-dashboard-console__footer > div {
  display: grid;
  gap: 4px;
}

.bf-dashboard-console__footer > div span {
  color: var(--bf-muted);
  font-size: .55rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.bf-dashboard-console__footer > div strong {
  font-size: .65rem;
}

.bf-dashboard-console__footer .bf-button {
  width: 100%;
}

.bf-dashboard__trust-line {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 28px;
  align-items: center;
  margin-top: clamp(60px, 8vw, 98px);
  padding-top: 30px;
}

.bf-dashboard__trust-line::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 1px;
  background:
    linear-gradient(
      90deg,
      rgba(121, 168, 255, .08),
      rgba(125, 235, 255, .28),
      rgba(121, 168, 255, .08)
    );
}

.bf-dashboard__trust-line > span {
  color: var(--bf-accent-cyan);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
  white-space: nowrap;
}

.bf-dashboard__trust-line ul {
  display: flex;
  gap: 10px 20px;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
  list-style: none;
}

.bf-dashboard__trust-line li {
  color: var(--bf-muted);
  font-size: .74rem;
  font-weight: 750;
}

.bf-dashboard__trust-line li::before {
  content: "•";
  margin-right: 8px;
  color: var(--bf-accent-cyan);
}

@media (max-width: 1080px) {
  .bf-dashboard__layout {
    grid-template-columns: 1fr;
    grid-template-areas:
      "console"
      "views";
  }

  .bf-dashboard-views {
    position: relative;
    top: auto;
  }

  .bf-dashboard-views__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .bf-dashboard-sources__flow,
  .bf-dashboard-console__context,
  .bf-dashboard-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bf-dashboard-console__lower {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .bf-dashboard {
    padding-block: 94px;
  }

  .bf-dashboard__header h2 {
    font-size: clamp(2.4rem, 11vw, 3.8rem);
  }

  .bf-dashboard-console {
    border-radius: 24px;
  }

  .bf-dashboard-console__header {
    align-items: flex-start;
    flex-direction: column;
  }

  .bf-dashboard-console__status-group {
    justify-content: flex-start;
  }

  .bf-dashboard-views__list,
  .bf-dashboard-sources__flow,
  .bf-dashboard-console__context,
  .bf-dashboard-metrics,
  .bf-dashboard-view > header,
  .bf-dashboard-console__footer {
    grid-template-columns: 1fr;
  }

  .bf-dashboard__trust-line {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .bf-dashboard__trust-line > span {
    white-space: normal;
  }
}

@media (hover: none), (pointer: coarse) {
  .bf-dashboard-views__list button:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bf-dashboard-views__list button {
    transition: none !important;
  }
}

@supports not (
  (backdrop-filter: blur(1px)) or
  (-webkit-backdrop-filter: blur(1px))
) {
  .bf-header__bar,
  .bf-dashboard-console {
    background: var(--bf-surface);
  }
}

/* PATCH 011 final visual QA refinements */
.bf-platform-overview__layout {
  grid-template-columns:
    minmax(300px, .72fr)
    minmax(0, 1.28fr);
}

.bf-platform-overview__copy h2 {
  max-width: 100%;
  font-size: clamp(2.7rem, 3.9vw, 3.5rem);
  overflow-wrap: normal;
}

.bf-menu-drawer__nav {
  gap: 5px;
}

.bf-menu-drawer__nav a {
  min-height: 58px;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 2px 10px;
  padding: 8px 10px;
  border-radius: 14px;
}

.bf-menu-drawer__nav a strong {
  font-size: .86rem;
}

.bf-menu-drawer__nav a small {
  font-size: .64rem;
  line-height: 1.3;
}

.bf-menu-drawer__nav a > span {
  font-size: .64rem;
}

@media (max-width: 920px) {
  .bf-platform-overview__copy h2 {
    max-width: 13ch;
    font-size: clamp(2.65rem, 7.4vw, 4.2rem);
  }
}

/* Final breakpoint guard after the typography refinement. */
@media (max-width: 920px) {
  .bf-platform-overview__layout,
  .bf-evidence__layout {
    grid-template-columns: 1fr;
  }

  .bf-platform-system,
  .bf-evidence-console {
    position: relative;
    top: auto;
  }
}


/* =========================================================
   PATCH 011 — FINAL MOBILE HERO GUARD
   Prevent the fixed header and long German headline from
   colliding or escaping the viewport.
   ========================================================= */
@media (max-width: 720px) {
  .bf-hero {
    padding-top:
      max(
        96px,
        calc(env(safe-area-inset-top) + 88px)
      );
  }

  .bf-hero__layout,
  .bf-hero__headline,
  .bf-hero__headline-visual,
  .bf-hero__headline-line {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .bf-hero__headline {
    font-size:
      clamp(
        2.15rem,
        9.4vw,
        3.4rem
      );
    line-height: 1.01;
    letter-spacing: -.058em;
    text-wrap: pretty;
  }

  .bf-hero__headline-line {
    overflow-wrap: normal;
    word-break: normal;
  }
}

@media (max-width: 390px) {
  .bf-hero__headline {
    font-size:
      clamp(
        2.08rem,
        9.1vw,
        2.35rem
      );
  }
}


/* =========================================================
   BOOKFELS V3 — PATCH 012
   REAL DATA ADAPTER LAYER
   ========================================================= */

/* Header keeps the complete architecture map at desktop widths. */
.bf-header__nav {
  gap: clamp(0px, .14vw, 3px);
}

.bf-header__nav a {
  padding-inline: clamp(4px, .33vw, 7px);
  font-size: clamp(.6rem, .565vw, .72rem);
}

@media (max-width: 1260px) {
  .bf-header__wordmark small {
    display: none;
  }

  .bf-header__nav a {
    padding-inline: 4px;
    font-size: .61rem;
  }
}

@media (max-width: 1180px) {
  .bf-header__nav {
    display: none;
  }

  .bf-header__bar {
    grid-template-columns: minmax(0, 1fr) max-content;
  }
}

.bf-data-layer {
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding-block: clamp(104px, 12vw, 170px);
  background:
    radial-gradient(
      860px 620px at 91% 13%,
      rgba(121, 168, 255, .075),
      transparent 72%
    ),
    radial-gradient(
      700px 520px at 7% 84%,
      rgba(77, 230, 230, .035),
      transparent 74%
    ),
    linear-gradient(
      180deg,
      var(--bf-deep-space),
      var(--bf-background)
    );
}

.bf-data-layer__atmosphere {
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  opacity: .07;
}

.bf-data-layer__atmosphere svg {
  width: 100%;
  height: 100%;
}

.bf-data-network__paths {
  fill: none;
  stroke: rgba(121, 168, 255, .27);
  stroke-width: 1;
  stroke-dasharray: 5 20;
}

.bf-data-network__nodes {
  fill: var(--bf-accent-cyan);
  opacity: .5;
}

.bf-data-layer__header {
  max-width: 980px;
  margin: 0 auto clamp(62px, 8vw, 100px);
  text-align: center;
}

.bf-data-layer__eyebrow {
  display: inline-block;
  margin-bottom: 17px;
  color: var(--bf-accent-cyan);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.bf-data-layer__header h2 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: clamp(2.8rem, 6vw, 5.2rem);
  line-height: .97;
  letter-spacing: -.055em;
  text-wrap: balance;
}

.bf-data-layer__header h2 span {
  display: block;
  color: var(--bf-muted);
  font-size: .68em;
  line-height: 1.08;
  letter-spacing: -.038em;
}

.bf-data-layer__header p {
  max-width: 74ch;
  margin: 25px auto 0;
  color: var(--bf-muted);
  font-size: clamp(1rem, 1.4vw, 1.12rem);
  line-height: 1.72;
}

.bf-data-layer__layout {
  display: grid;
  grid-template-columns:
    minmax(300px, .7fr)
    minmax(0, 1.3fr);
  grid-template-areas: "sources console";
  gap: clamp(34px, 5vw, 72px);
  align-items: start;
}

.bf-data-sources {
  grid-area: sources;
  position: sticky;
  top: 112px;
  min-width: 0;
}

.bf-data-sources__intro {
  margin-bottom: 24px;
}

.bf-data-sources__intro > span {
  display: block;
  margin-bottom: 7px;
  color: var(--bf-accent-cyan);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.bf-data-sources__intro h3 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: clamp(1.55rem, 3vw, 2.2rem);
  line-height: 1.04;
  letter-spacing: -.04em;
}

.bf-data-sources__intro p {
  margin: 13px 0 0;
  color: var(--bf-muted);
  font-size: .75rem;
  line-height: 1.58;
}

.bf-data-sources__list {
  display: grid;
  gap: 10px;
}

.bf-data-source-card {
  width: 100%;
  min-height: 108px;
  display: grid;
  grid-template-columns:
    28px
    24px
    minmax(0, 1fr)
    10px;
  gap: 10px;
  align-items: start;
  padding: 15px;
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: 17px;
  color: var(--bf-muted);
  text-align: left;
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, .035),
      rgba(255, 255, 255, .008)
    ),
    rgba(14, 23, 38, .42);
  cursor: pointer;
  transition:
    color var(--bf-motion-normal) ease,
    transform var(--bf-motion-normal)
      cubic-bezier(.22, .8, .2, 1),
    border-color var(--bf-motion-normal) ease,
    background var(--bf-motion-normal) ease,
    box-shadow var(--bf-motion-normal) ease;
}

.bf-data-source-card:hover,
.bf-data-source-card:focus-visible,
.bf-data-source-card[data-selected="true"] {
  color: var(--bf-text);
  border-color: rgba(125, 235, 255, .2);
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .09),
      rgba(77, 230, 230, .014)
    ),
    rgba(14, 23, 38, .58);
}

.bf-data-source-card:hover {
  transform: translateY(-3px);
}

.bf-data-source-card > span:first-child {
  color: var(--bf-accent-cyan);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .08em;
}

.bf-data-source-card > .bf-icon {
  width: 23px;
  height: 23px;
  color: var(--bf-accent-cyan);
}

.bf-data-source-card > div {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.bf-data-source-card small {
  color: var(--bf-accent-cyan);
  font-size: .53rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.bf-data-source-card strong {
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: .9rem;
  letter-spacing: -.02em;
}

.bf-data-source-card p {
  margin: 0;
  color: var(--bf-muted);
  font-size: .62rem;
  line-height: 1.46;
}

.bf-data-source-card > span:last-child {
  width: 9px;
  height: 9px;
  margin-top: 5px;
  border: 1px solid rgba(169, 182, 211, .34);
  border-radius: 50%;
}

.bf-data-source-card[data-active="true"] > span:last-child {
  border-color: rgba(67, 217, 140, .56);
  background: var(--bf-success);
  box-shadow: 0 0 10px rgba(67, 217, 140, .24);
}

.bf-data-source-card[data-selected="true"]:not([data-active="true"])
> span:last-child {
  border-color: rgba(125, 235, 255, .62);
  background: var(--bf-accent-cyan);
  box-shadow: 0 0 12px rgba(125, 235, 255, .3);
}

.bf-data-pipeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
  padding: 18px 0 0;
  margin: 18px 0 0;
  border-top: 1px solid rgba(255, 255, 255, .06);
  list-style: none;
}

.bf-data-pipeline li {
  display: grid;
  gap: 4px;
  justify-items: center;
  color: var(--bf-muted);
  text-align: center;
}

.bf-data-pipeline li span {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(169, 182, 211, .25);
  border-radius: 50%;
  font-size: .53rem;
  font-weight: 800;
}

.bf-data-pipeline li strong {
  font-size: .53rem;
}

.bf-data-pipeline li[data-complete="true"] span {
  color: var(--bf-background);
  border-color: var(--bf-success);
  background: var(--bf-success);
}

.bf-data-pipeline li[data-active="true"] {
  color: var(--bf-text);
}

.bf-data-pipeline li[data-active="true"] span {
  color: var(--bf-background);
  border-color: var(--bf-accent-cyan);
  background: var(--bf-accent-cyan);
  box-shadow: 0 0 12px rgba(125, 235, 255, .25);
}

.bf-data-console {
  grid-area: console;
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--bf-border-strong);
  border-radius: var(--bf-radius-xl);
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, .09),
      rgba(255, 255, 255, .014) 31%,
      transparent 55%
    ),
    rgba(9, 17, 30, .9);
  box-shadow:
    0 34px 96px rgba(0, 0, 0, .44),
    inset 0 1px 0 rgba(255, 255, 255, .075);
  backdrop-filter: blur(24px) saturate(118%);
  -webkit-backdrop-filter: blur(24px) saturate(118%);
}

.bf-data-console::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(
      520px 320px at 0% 0%,
      rgba(121, 168, 255, .105),
      transparent 72%
    );
}

.bf-data-console__header {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  padding: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
  background:
    linear-gradient(
      126deg,
      rgba(255, 255, 255, .055),
      rgba(255, 255, 255, .012) 28%,
      transparent 55%
    ),
    rgba(255, 255, 255, .008);
}

.bf-data-console__header::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(
      360px 130px at 5% 0%,
      rgba(125, 235, 255, .085),
      transparent 72%
    );
}

.bf-data-console__header > * {
  position: relative;
  z-index: 1;
}

.bf-data-console__identity {
  min-width: 0;
  display: flex;
  gap: 12px;
  align-items: center;
}

.bf-data-console__beacon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(121, 168, 255, .15);
  border-radius: 16px;
  background: rgba(255, 255, 255, .035);
}

.bf-data-console__beacon img {
  width: 39px;
  height: 39px;
}

.bf-data-console__identity > div {
  min-width: 0;
}

.bf-data-console__identity span {
  display: block;
  margin-bottom: 3px;
  color: var(--bf-accent-cyan);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.bf-data-console__identity h3 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: 1.04rem;
  letter-spacing: -.025em;
}

.bf-data-console__status-group {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.bf-data-console__classification,
.bf-data-console__status {
  min-height: 29px;
  display: inline-flex;
  gap: 7px;
  align-items: center;
  padding-inline: 10px;
  border-radius: var(--bf-radius-pill);
  font-size: .6rem;
  font-weight: 800;
  white-space: nowrap;
}

.bf-data-console__classification {
  color: var(--bf-accent-cyan);
  border: 1px solid rgba(121, 168, 255, .14);
  background: rgba(121, 168, 255, .04);
}

.bf-data-console__status {
  color: var(--bf-success);
  border: 1px solid rgba(67, 217, 140, .14);
  background: rgba(67, 217, 140, .04);
}

.bf-data-console__status > span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 12px rgba(67, 217, 140, .45);
}

.bf-data-layer[data-bf-data-status="validating"]
.bf-data-console__status {
  color: var(--bf-accent-cyan);
  border-color: rgba(125, 235, 255, .16);
  background: rgba(125, 235, 255, .04);
}

.bf-data-layer[data-bf-data-status="error"]
.bf-data-console__status {
  color: var(--bf-warning);
  border-color: rgba(248, 193, 90, .16);
  background: rgba(248, 193, 90, .04);
}

.bf-data-console__context {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 16px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.bf-data-console__context > div {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, .05);
  border-radius: 13px;
  background: rgba(255, 255, 255, .018);
}

.bf-data-console__context span {
  color: var(--bf-muted);
  font-size: .57rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.bf-data-console__context strong {
  overflow: hidden;
  font-size: .69rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bf-data-console__selected,
.bf-data-config,
.bf-data-quality,
.bf-data-validation {
  padding: 18px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.bf-data-console__selected > span {
  display: block;
  margin-bottom: 5px;
  color: var(--bf-accent-cyan);
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.bf-data-console__selected h4 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: 1.25rem;
  letter-spacing: -.03em;
}

.bf-data-console__selected p {
  margin: 8px 0 0;
  color: var(--bf-muted);
  font-size: .69rem;
  line-height: 1.52;
}

.bf-data-config__panel {
  display: grid;
  gap: 12px;
}

.bf-data-config__panel[hidden] {
  display: none;
}

.bf-data-config__reference {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 11px;
  align-items: start;
  padding: 13px;
  border: 1px solid rgba(67, 217, 140, .12);
  border-radius: 14px;
  background: rgba(67, 217, 140, .025);
}

.bf-data-config__reference .bf-icon {
  width: 22px;
  height: 22px;
  color: var(--bf-success);
}

.bf-data-config__reference strong {
  font-size: .7rem;
}

.bf-data-config__reference p {
  margin: 4px 0 0;
  color: var(--bf-muted);
  font-size: .62rem;
  line-height: 1.46;
}

.bf-data-file {
  display: grid;
  gap: 8px;
  padding: 15px;
  border: 1px dashed rgba(125, 235, 255, .22);
  border-radius: 15px;
  background: rgba(125, 235, 255, .025);
}

.bf-data-file > span,
.bf-data-rest-form label > span {
  color: var(--bf-accent-cyan);
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.bf-data-file input {
  width: 100%;
  color: var(--bf-muted);
  font-size: .68rem;
}

.bf-data-file small,
.bf-data-rest-form__note {
  color: var(--bf-muted);
  font-size: .58rem;
  line-height: 1.45;
}

.bf-data-config__sample {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  width: fit-content;
  color: var(--bf-text);
  font-size: .66rem;
  font-weight: 800;
  text-decoration: none;
}

.bf-data-config__sample .bf-icon {
  width: 16px;
  height: 16px;
  color: var(--bf-accent-cyan);
}

.bf-data-rest-form {
  display: grid;
  grid-template-columns:
    minmax(0, 1.35fr)
    minmax(0, .8fr)
    auto;
  gap: 10px;
  align-items: end;
}

.bf-data-rest-form label {
  min-width: 0;
  display: grid;
  gap: 7px;
}

.bf-data-rest-form input {
  width: 100%;
  min-height: 46px;
  padding-inline: 12px;
  border: 1px solid rgba(255, 255, 255, .075);
  border-radius: 13px;
  color: var(--bf-text);
  background: rgba(3, 9, 18, .32);
  font: inherit;
  font-size: .68rem;
}

.bf-data-rest-form input:focus {
  border-color: rgba(125, 235, 255, .3);
  outline: 2px solid rgba(125, 235, 255, .14);
  outline-offset: 2px;
}

.bf-data-console__secondary {
  min-height: 46px;
  padding-inline: 14px;
  border: 1px solid var(--bf-border);
  border-radius: 13px;
  color: var(--bf-muted);
  background: rgba(255, 255, 255, .025);
  font-size: .66rem;
  font-weight: 800;
  cursor: pointer;
  transition:
    color var(--bf-motion-normal) ease,
    border-color var(--bf-motion-normal) ease,
    background var(--bf-motion-normal) ease;
}

.bf-data-console__secondary:hover:not(:disabled) {
  color: var(--bf-text);
  border-color: rgba(125, 235, 255, .18);
  background: rgba(125, 235, 255, .045);
}

.bf-data-console__secondary:disabled {
  cursor: not-allowed;
  opacity: .45;
}

.bf-data-console__metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.bf-data-console__metrics article {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 13px;
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: 14px;
  background: rgba(255, 255, 255, .018);
}

.bf-data-console__metrics span {
  color: var(--bf-muted);
  font-size: .56rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.bf-data-console__metrics strong {
  overflow: hidden;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: clamp(1.25rem, 2.4vw, 1.9rem);
  line-height: 1;
  letter-spacing: -.035em;
  text-overflow: ellipsis;
}

.bf-data-console__metrics small {
  color: rgba(169, 182, 211, .62);
  font-size: .56rem;
}

.bf-data-quality {
  display: grid;
  grid-template-columns:
    minmax(180px, .72fr)
    minmax(0, 1.28fr);
  gap: 16px;
}

.bf-data-quality__progress {
  display: grid;
  gap: 9px;
  align-content: start;
  padding: 13px;
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: 14px;
  background: rgba(255, 255, 255, .018);
}

.bf-data-quality__progress > div {
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.bf-data-quality__progress span {
  color: var(--bf-muted);
  font-size: .57rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.bf-data-quality__progress strong {
  font-size: .7rem;
}

.bf-data-quality__progress > span {
  width: 100%;
  height: 3px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, .06);
}

.bf-data-quality__progress > span > span {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background:
    linear-gradient(
      90deg,
      var(--bf-primary),
      var(--bf-accent-cyan)
    );
  transform: scaleX(1);
  transform-origin: left;
  transition:
    transform var(--bf-motion-smooth)
      cubic-bezier(.22, .8, .2, 1);
}

.bf-data-quality dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.bf-data-quality dl > div {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 11px;
  border: 1px solid rgba(255, 255, 255, .05);
  border-radius: 13px;
  background: rgba(255, 255, 255, .015);
}

.bf-data-quality dt {
  color: var(--bf-muted);
  font-size: .54rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.bf-data-quality dd {
  overflow-wrap: anywhere;
  margin: 0;
  font-size: .62rem;
  line-height: 1.43;
}

.bf-data-validation {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 11px;
  align-items: center;
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .04),
      transparent
    );
}

.bf-data-validation .bf-icon {
  width: 23px;
  height: 23px;
  color: var(--bf-accent-cyan);
}

.bf-data-validation div {
  display: grid;
  gap: 3px;
}

.bf-data-validation small {
  color: var(--bf-accent-cyan);
  font-size: .55rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.bf-data-validation strong {
  font-size: .66rem;
  line-height: 1.47;
}

.bf-data-console__footer {
  display: grid;
  grid-template-columns:
    minmax(0, .8fr)
    minmax(0, 1.2fr);
  gap: 10px;
  padding: 18px 20px 20px;
}

.bf-data-console__footer .bf-button {
  width: 100%;
  border: 0;
  cursor: pointer;
}

.bf-data-layer__trust-line {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 28px;
  align-items: center;
  margin-top: clamp(60px, 8vw, 98px);
  padding-top: 30px;
}

.bf-data-layer__trust-line::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 1px;
  background:
    linear-gradient(
      90deg,
      rgba(121, 168, 255, .08),
      rgba(125, 235, 255, .28),
      rgba(121, 168, 255, .08)
    );
}

.bf-data-layer__trust-line > span {
  color: var(--bf-accent-cyan);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
  white-space: nowrap;
}

.bf-data-layer__trust-line ul {
  display: flex;
  gap: 10px 20px;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
  list-style: none;
}

.bf-data-layer__trust-line li {
  color: var(--bf-muted);
  font-size: .74rem;
  font-weight: 750;
}

.bf-data-layer__trust-line li::before {
  content: "•";
  margin-right: 8px;
  color: var(--bf-accent-cyan);
}

@media (max-width: 1080px) {
  .bf-data-layer__layout {
    grid-template-columns: 1fr;
    grid-template-areas:
      "console"
      "sources";
  }

  .bf-data-sources {
    position: relative;
    top: auto;
  }

  .bf-data-sources__list {
    grid-template-columns:
      repeat(3, minmax(0, 1fr));
  }

  .bf-data-source-card {
    grid-template-columns:
      26px
      22px
      minmax(0, 1fr);
  }

  .bf-data-source-card > span:last-child {
    display: none;
  }
}

@media (max-width: 820px) {
  .bf-data-sources__list,
  .bf-data-console__metrics,
  .bf-data-console__context {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .bf-data-source-card:last-child,
  .bf-data-console__context > div:last-child {
    grid-column: 1 / -1;
  }

  .bf-data-rest-form,
  .bf-data-quality {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .bf-data-layer {
    padding-block: 94px;
  }

  .bf-data-layer__header h2 {
    font-size:
      clamp(2.4rem, 11vw, 3.8rem);
  }

  .bf-data-console {
    border-radius: 24px;
  }

  .bf-data-console__header {
    align-items: flex-start;
    flex-direction: column;
  }

  .bf-data-console__status-group {
    justify-content: flex-start;
  }

  .bf-data-sources__list,
  .bf-data-console__metrics,
  .bf-data-console__context,
  .bf-data-quality dl,
  .bf-data-console__footer {
    grid-template-columns: 1fr;
  }

  .bf-data-source-card:last-child,
  .bf-data-console__context > div:last-child {
    grid-column: auto;
  }

  .bf-data-pipeline {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .bf-data-pipeline li {
    grid-template-columns: 28px minmax(0, 1fr);
    justify-items: start;
    align-items: center;
    text-align: left;
  }

  .bf-data-layer__trust-line {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .bf-data-layer__trust-line > span {
    white-space: normal;
  }
}

@media (hover: none), (pointer: coarse) {
  .bf-data-source-card:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bf-data-source-card,
  .bf-data-quality__progress > span > span {
    transition: none !important;
  }
}

@supports not (
  (backdrop-filter: blur(1px)) or
  (-webkit-backdrop-filter: blur(1px))
) {
  .bf-data-console {
    background: var(--bf-surface);
  }
}


/* PATCH 012 dashboard source bridge now carries five shared states. */
.bf-dashboard-sources__flow {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

@media (max-width: 1080px) {
  .bf-dashboard-sources__flow {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .bf-dashboard-sources__flow article:nth-child(n + 4) {
    grid-column: auto;
  }
}

@media (max-width: 820px) {
  .bf-dashboard-sources__flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bf-dashboard-sources__flow article:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 680px) {
  .bf-dashboard-sources__flow {
    grid-template-columns: 1fr;
  }

  .bf-dashboard-sources__flow article:last-child {
    grid-column: auto;
  }
}


/* =========================================================
   BOOKFELS V3 — PATCH 013
   TENANT & IDENTITY BOUNDARY
   ========================================================= */

/* Twelve-item architecture map without displacing CTA or menu. */
.bf-header__bar {
  grid-template-columns:
    minmax(164px, .82fr)
    minmax(0, 3.18fr)
    max-content;
  gap: clamp(7px, .8vw, 12px);
}

.bf-header__nav {
  min-width: 0;
  gap: 0;
  justify-content: center;
}

.bf-header__nav a {
  min-width: 0;
  padding-inline: clamp(3px, .28vw, 6px);
  font-size: clamp(.55rem, .52vw, .66rem);
  white-space: nowrap;
}

.bf-header__actions {
  gap: 8px;
}

.bf-header__cta {
  padding-inline: 12px;
}

@media (max-width: 1220px) {
  .bf-header__nav {
    display: none;
  }

  .bf-header__bar {
    grid-template-columns:
      minmax(0, 1fr)
      max-content;
  }
}

.bf-identity-boundary {
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding-block: clamp(104px, 12vw, 170px);
  background:
    radial-gradient(
      860px 620px at 90% 13%,
      rgba(121, 168, 255, .075),
      transparent 72%
    ),
    radial-gradient(
      720px 540px at 7% 84%,
      rgba(77, 230, 230, .035),
      transparent 74%
    ),
    linear-gradient(
      180deg,
      var(--bf-background),
      var(--bf-deep-space)
    );
}

.bf-identity-boundary__atmosphere {
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  opacity: .07;
}

.bf-identity-boundary__atmosphere svg {
  width: 100%;
  height: 100%;
}

.bf-identity-network__paths {
  fill: none;
  stroke: rgba(121, 168, 255, .27);
  stroke-width: 1;
  stroke-dasharray: 5 20;
}

.bf-identity-network__nodes {
  fill: var(--bf-accent-cyan);
  opacity: .5;
}

.bf-identity-boundary__header {
  max-width: 1020px;
  margin: 0 auto clamp(62px, 8vw, 100px);
  text-align: center;
}

.bf-identity-boundary__eyebrow {
  display: inline-block;
  margin-bottom: 17px;
  color: var(--bf-accent-cyan);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.bf-identity-boundary__header h2 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: clamp(2.8rem, 6vw, 5.2rem);
  line-height: .97;
  letter-spacing: -.055em;
  text-wrap: balance;
}

.bf-identity-boundary__header h2 span {
  display: block;
  color: var(--bf-muted);
  font-size: .68em;
  line-height: 1.08;
  letter-spacing: -.038em;
}

.bf-identity-boundary__header p {
  max-width: 76ch;
  margin: 25px auto 0;
  color: var(--bf-muted);
  font-size: clamp(1rem, 1.4vw, 1.12rem);
  line-height: 1.72;
}

.bf-identity-boundary__layout {
  display: grid;
  grid-template-columns:
    minmax(300px, .7fr)
    minmax(0, 1.3fr);
  grid-template-areas: "rail console";
  gap: clamp(34px, 5vw, 72px);
  align-items: start;
}

.bf-identity-rail {
  grid-area: rail;
  position: sticky;
  top: 112px;
  min-width: 0;
}

.bf-identity-rail__intro {
  margin-bottom: 24px;
}

.bf-identity-rail__intro > span {
  display: block;
  margin-bottom: 7px;
  color: var(--bf-accent-cyan);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.bf-identity-rail__intro h3 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: clamp(1.55rem, 3vw, 2.2rem);
  line-height: 1.04;
  letter-spacing: -.04em;
}

.bf-identity-rail__intro p {
  margin: 13px 0 0;
  color: var(--bf-muted);
  font-size: .75rem;
  line-height: 1.58;
}

.bf-identity-providers {
  display: grid;
  gap: 10px;
}

.bf-identity-provider {
  width: 100%;
  min-height: 108px;
  display: grid;
  grid-template-columns:
    28px
    24px
    minmax(0, 1fr)
    10px;
  gap: 10px;
  align-items: start;
  padding: 15px;
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: 17px;
  color: var(--bf-muted);
  text-align: left;
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, .035),
      rgba(255, 255, 255, .008)
    ),
    rgba(14, 23, 38, .42);
  cursor: pointer;
  transition:
    color var(--bf-motion-normal) ease,
    transform var(--bf-motion-normal)
      cubic-bezier(.22, .8, .2, 1),
    border-color var(--bf-motion-normal) ease,
    background var(--bf-motion-normal) ease,
    box-shadow var(--bf-motion-normal) ease;
}

.bf-identity-provider:hover,
.bf-identity-provider:focus-visible,
.bf-identity-provider[data-selected="true"] {
  color: var(--bf-text);
  border-color: rgba(125, 235, 255, .2);
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .09),
      rgba(77, 230, 230, .014)
    ),
    rgba(14, 23, 38, .58);
}

.bf-identity-provider:hover {
  transform: translateY(-3px);
}

.bf-identity-provider > span:first-child {
  color: var(--bf-accent-cyan);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .08em;
}

.bf-identity-provider > .bf-icon {
  width: 23px;
  height: 23px;
  color: var(--bf-accent-cyan);
}

.bf-identity-provider > div {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.bf-identity-provider small {
  color: var(--bf-accent-cyan);
  font-size: .53rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.bf-identity-provider strong {
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: .9rem;
  letter-spacing: -.02em;
}

.bf-identity-provider p {
  margin: 0;
  color: var(--bf-muted);
  font-size: .62rem;
  line-height: 1.46;
}

.bf-identity-provider > span:last-child {
  width: 9px;
  height: 9px;
  margin-top: 5px;
  border: 1px solid rgba(169, 182, 211, .34);
  border-radius: 50%;
}

.bf-identity-provider[data-selected="true"] > span:last-child {
  border-color: rgba(125, 235, 255, .62);
  background: var(--bf-accent-cyan);
  box-shadow: 0 0 12px rgba(125, 235, 255, .3);
}

.bf-identity-provider-panel {
  display: grid;
  gap: 10px;
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(121, 168, 255, .11);
  border-radius: 16px;
  background: rgba(121, 168, 255, .025);
}

.bf-identity-provider-panel[hidden] {
  display: none;
}

.bf-identity-provider-panel > span {
  color: var(--bf-accent-cyan);
  font-size: .56rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.bf-identity-provider-panel p {
  margin: 0;
  color: var(--bf-muted);
  font-size: .62rem;
  line-height: 1.48;
}

.bf-identity-provider-panel code {
  color: var(--bf-text);
  font-family:
    "SFMono-Regular",
    Consolas,
    monospace;
  font-size: .62rem;
}

.bf-reference-personas {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.bf-reference-personas button,
.bf-tenant-option,
.bf-role-option {
  min-height: 40px;
  border: 1px solid rgba(255, 255, 255, .065);
  border-radius: 12px;
  color: var(--bf-muted);
  background: rgba(255, 255, 255, .022);
  font-size: .62rem;
  font-weight: 800;
  cursor: pointer;
  transition:
    color var(--bf-motion-normal) ease,
    border-color var(--bf-motion-normal) ease,
    background var(--bf-motion-normal) ease,
    transform var(--bf-motion-normal)
      cubic-bezier(.22, .8, .2, 1);
}

.bf-reference-personas button:hover:not(:disabled),
.bf-reference-personas button:focus-visible,
.bf-reference-personas button[data-selected="true"],
.bf-tenant-option:hover:not(:disabled),
.bf-tenant-option:focus-visible,
.bf-tenant-option[data-selected="true"],
.bf-role-option:hover:not(:disabled),
.bf-role-option:focus-visible,
.bf-role-option[data-selected="true"] {
  color: var(--bf-text);
  border-color: rgba(125, 235, 255, .22);
  background: rgba(125, 235, 255, .055);
}

.bf-reference-personas button:disabled,
.bf-tenant-option:disabled,
.bf-role-option:disabled {
  cursor: not-allowed;
  opacity: .43;
}

.bf-identity-pipeline {
  display: grid;
  grid-template-columns:
    repeat(5, minmax(0, 1fr));
  gap: 6px;
  padding: 18px 0 0;
  margin: 18px 0 0;
  border-top: 1px solid rgba(255, 255, 255, .06);
  list-style: none;
}

.bf-identity-pipeline li {
  display: grid;
  gap: 4px;
  justify-items: center;
  color: var(--bf-muted);
  text-align: center;
}

.bf-identity-pipeline li span {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(169, 182, 211, .25);
  border-radius: 50%;
  font-size: .53rem;
  font-weight: 800;
}

.bf-identity-pipeline li strong {
  font-size: .53rem;
}

.bf-identity-pipeline li[data-complete="true"] span {
  color: var(--bf-background);
  border-color: var(--bf-success);
  background: var(--bf-success);
}

.bf-identity-pipeline li[data-active="true"] {
  color: var(--bf-text);
}

.bf-identity-pipeline li[data-active="true"] span {
  color: var(--bf-background);
  border-color: var(--bf-accent-cyan);
  background: var(--bf-accent-cyan);
  box-shadow: 0 0 12px rgba(125, 235, 255, .25);
}

.bf-identity-console {
  grid-area: console;
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--bf-border-strong);
  border-radius: var(--bf-radius-xl);
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, .09),
      rgba(255, 255, 255, .014) 31%,
      transparent 55%
    ),
    rgba(9, 17, 30, .9);
  box-shadow:
    0 34px 96px rgba(0, 0, 0, .44),
    inset 0 1px 0 rgba(255, 255, 255, .075);
  backdrop-filter: blur(24px) saturate(118%);
  -webkit-backdrop-filter: blur(24px) saturate(118%);
}

.bf-identity-console::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(
      520px 320px at 0% 0%,
      rgba(121, 168, 255, .105),
      transparent 72%
    );
}

.bf-identity-console__header {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  padding: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
  background:
    linear-gradient(
      126deg,
      rgba(255, 255, 255, .055),
      rgba(255, 255, 255, .012) 28%,
      transparent 55%
    ),
    rgba(255, 255, 255, .008);
}

.bf-identity-console__header::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(
      360px 130px at 5% 0%,
      rgba(125, 235, 255, .085),
      transparent 72%
    );
}

.bf-identity-console__header > * {
  position: relative;
  z-index: 1;
}

.bf-identity-console__identity {
  min-width: 0;
  display: flex;
  gap: 12px;
  align-items: center;
}

.bf-identity-console__beacon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(121, 168, 255, .15);
  border-radius: 16px;
  background: rgba(255, 255, 255, .035);
}

.bf-identity-console__beacon img {
  width: 39px;
  height: 39px;
}

.bf-identity-console__identity > div {
  min-width: 0;
}

.bf-identity-console__identity span {
  display: block;
  margin-bottom: 3px;
  color: var(--bf-accent-cyan);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.bf-identity-console__identity h3 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: 1.04rem;
  letter-spacing: -.025em;
}

.bf-identity-console__status-group {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.bf-identity-console__classification,
.bf-identity-console__status {
  min-height: 29px;
  display: inline-flex;
  gap: 7px;
  align-items: center;
  padding-inline: 10px;
  border-radius: var(--bf-radius-pill);
  font-size: .6rem;
  font-weight: 800;
  white-space: nowrap;
}

.bf-identity-console__classification {
  color: var(--bf-accent-cyan);
  border: 1px solid rgba(121, 168, 255, .14);
  background: rgba(121, 168, 255, .04);
}

.bf-identity-console__status {
  color: var(--bf-success);
  border: 1px solid rgba(67, 217, 140, .14);
  background: rgba(67, 217, 140, .04);
}

.bf-identity-console__status > span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 12px rgba(67, 217, 140, .45);
}

.bf-identity-boundary[data-bf-identity-status="signed-out"]
.bf-identity-console__status,
.bf-identity-boundary[data-bf-identity-status="expired"]
.bf-identity-console__status {
  color: var(--bf-warning);
  border-color: rgba(248, 193, 90, .16);
  background: rgba(248, 193, 90, .04);
}

.bf-identity-console__context {
  display: grid;
  grid-template-columns:
    repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.bf-identity-console__context article {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .05);
  border-radius: 13px;
  background: rgba(255, 255, 255, .018);
}

.bf-identity-console__context span {
  color: var(--bf-muted);
  font-size: .56rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.bf-identity-console__context strong {
  overflow: hidden;
  font-size: .69rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bf-identity-console__context small {
  overflow: hidden;
  color: rgba(169, 182, 211, .66);
  font-size: .56rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bf-identity-context-selector,
.bf-access-matrix,
.bf-identity-provenance,
.bf-identity-integration-note {
  padding: 18px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.bf-identity-context-selector > header,
.bf-access-matrix > header,
.bf-identity-provenance > header {
  margin-bottom: 14px;
}

.bf-identity-context-selector > header span,
.bf-access-matrix > header span,
.bf-identity-provenance > header span {
  display: block;
  margin-bottom: 5px;
  color: var(--bf-accent-cyan);
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.bf-identity-context-selector h4,
.bf-access-matrix h4,
.bf-identity-provenance h4 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: 1.02rem;
  letter-spacing: -.025em;
}

.bf-tenant-options,
.bf-role-options {
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.bf-tenant-option {
  min-height: 66px;
  display: grid;
  gap: 4px;
  align-content: center;
  padding: 10px 12px;
  text-align: left;
}

.bf-tenant-option strong {
  font-size: .66rem;
}

.bf-tenant-option small {
  color: var(--bf-muted);
  font-size: .55rem;
}

.bf-role-option {
  min-height: 42px;
  padding-inline: 11px;
}

.bf-access-matrix__grid {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.bf-access-matrix__grid article {
  min-width: 0;
  display: grid;
  grid-template-columns:
    auto
    minmax(0, 1fr);
  gap: 11px;
  align-items: start;
  padding: 13px;
  border: 1px solid rgba(255, 255, 255, .055);
  border-radius: 14px;
  background: rgba(255, 255, 255, .018);
}

.bf-access-matrix__grid article[data-state="allowed"] {
  border-color: rgba(67, 217, 140, .12);
  background: rgba(67, 217, 140, .022);
}

.bf-access-matrix__grid article[data-state="denied"] {
  border-color: rgba(248, 193, 90, .11);
  background: rgba(248, 193, 90, .02);
}

.bf-access-matrix__grid .bf-icon {
  width: 23px;
  height: 23px;
  color: var(--bf-accent-cyan);
}

.bf-access-matrix__grid article[data-state="allowed"] .bf-icon {
  color: var(--bf-success);
}

.bf-access-matrix__grid article[data-state="denied"] .bf-icon {
  color: var(--bf-warning);
}

.bf-access-matrix__grid article > div {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.bf-access-matrix__grid small {
  color: var(--bf-muted);
  font-size: .55rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.bf-access-matrix__grid strong {
  font-size: .68rem;
}

.bf-access-matrix__grid article[data-state="allowed"] strong {
  color: var(--bf-success);
}

.bf-access-matrix__grid article[data-state="denied"] strong {
  color: var(--bf-warning);
}

.bf-access-matrix__grid p {
  margin: 0;
  color: var(--bf-muted);
  font-size: .58rem;
  line-height: 1.42;
}

.bf-identity-provenance dl {
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.bf-identity-provenance dl > div {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 11px;
  border: 1px solid rgba(255, 255, 255, .05);
  border-radius: 13px;
  background: rgba(255, 255, 255, .015);
}

.bf-identity-provenance dt {
  color: var(--bf-muted);
  font-size: .54rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.bf-identity-provenance dd {
  overflow-wrap: anywhere;
  margin: 0;
  font-size: .62rem;
  line-height: 1.43;
}

.bf-identity-integration-note {
  display: grid;
  grid-template-columns:
    auto
    minmax(0, 1fr);
  gap: 11px;
  align-items: center;
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .04),
      transparent
    );
}

.bf-identity-integration-note .bf-icon {
  width: 23px;
  height: 23px;
  color: var(--bf-accent-cyan);
}

.bf-identity-integration-note div {
  display: grid;
  gap: 3px;
}

.bf-identity-integration-note small {
  color: var(--bf-accent-cyan);
  font-size: .55rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.bf-identity-integration-note strong {
  font-size: .65rem;
  line-height: 1.45;
}

.bf-identity-console__footer {
  display: grid;
  grid-template-columns:
    minmax(0, .8fr)
    minmax(0, 1.2fr);
  gap: 10px;
  padding: 18px 20px 20px;
}

.bf-identity-console__secondary {
  min-height: 46px;
  padding-inline: 14px;
  border: 1px solid var(--bf-border);
  border-radius: 13px;
  color: var(--bf-muted);
  background: rgba(255, 255, 255, .025);
  font-size: .66rem;
  font-weight: 800;
  cursor: pointer;
  transition:
    color var(--bf-motion-normal) ease,
    border-color var(--bf-motion-normal) ease,
    background var(--bf-motion-normal) ease;
}

.bf-identity-console__secondary:hover:not(:disabled) {
  color: var(--bf-text);
  border-color: rgba(125, 235, 255, .18);
  background: rgba(125, 235, 255, .045);
}

.bf-identity-console__secondary:disabled {
  cursor: not-allowed;
  opacity: .45;
}

.bf-identity-console__footer .bf-button {
  width: 100%;
  border: 0;
  cursor: pointer;
}

.bf-identity-boundary__trust-line {
  position: relative;
  display: grid;
  grid-template-columns:
    auto
    minmax(0, 1fr);
  gap: 28px;
  align-items: center;
  margin-top: clamp(60px, 8vw, 98px);
  padding-top: 30px;
}

.bf-identity-boundary__trust-line::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 1px;
  background:
    linear-gradient(
      90deg,
      rgba(121, 168, 255, .08),
      rgba(125, 235, 255, .28),
      rgba(121, 168, 255, .08)
    );
}

.bf-identity-boundary__trust-line > span {
  color: var(--bf-accent-cyan);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
  white-space: nowrap;
}

.bf-identity-boundary__trust-line ul {
  display: flex;
  gap: 10px 20px;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
  list-style: none;
}

.bf-identity-boundary__trust-line li {
  color: var(--bf-muted);
  font-size: .74rem;
  font-weight: 750;
}

.bf-identity-boundary__trust-line li::before {
  content: "•";
  margin-right: 8px;
  color: var(--bf-accent-cyan);
}

/* Dashboard now exposes six shared platform states. */
.bf-dashboard-sources__flow {
  grid-template-columns:
    repeat(6, minmax(0, 1fr));
}

.bf-dashboard-console__context {
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
}

.bf-dashboard-views__list button:disabled {
  cursor: not-allowed;
  opacity: .42;
}

@media (max-width: 1080px) {
  .bf-identity-boundary__layout {
    grid-template-columns: 1fr;
    grid-template-areas:
      "console"
      "rail";
  }

  .bf-identity-rail {
    position: relative;
    top: auto;
  }

  .bf-identity-providers {
    grid-template-columns:
      repeat(3, minmax(0, 1fr));
  }

  .bf-identity-provider {
    grid-template-columns:
      25px
      22px
      minmax(0, 1fr);
  }

  .bf-identity-provider > span:last-child {
    display: none;
  }

  .bf-dashboard-sources__flow {
    grid-template-columns:
      repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .bf-identity-providers,
  .bf-identity-console__context,
  .bf-tenant-options,
  .bf-identity-provenance dl {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .bf-identity-provider:last-child {
    grid-column: 1 / -1;
  }

  .bf-access-matrix__grid {
    grid-template-columns: 1fr;
  }

  .bf-dashboard-console__context,
  .bf-dashboard-sources__flow {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .bf-identity-boundary {
    padding-block: 94px;
  }

  .bf-identity-boundary__header h2 {
    font-size:
      clamp(2.4rem, 11vw, 3.8rem);
  }

  .bf-identity-console {
    border-radius: 24px;
  }

  .bf-identity-console__header {
    align-items: flex-start;
    flex-direction: column;
  }

  .bf-identity-console__status-group {
    justify-content: flex-start;
  }

  .bf-identity-providers,
  .bf-reference-personas,
  .bf-identity-console__context,
  .bf-tenant-options,
  .bf-role-options,
  .bf-identity-provenance dl,
  .bf-identity-console__footer,
  .bf-dashboard-console__context,
  .bf-dashboard-sources__flow {
    grid-template-columns: 1fr;
  }

  .bf-identity-provider:last-child {
    grid-column: auto;
  }

  .bf-identity-pipeline {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .bf-identity-pipeline li {
    grid-template-columns:
      28px
      minmax(0, 1fr);
    justify-items: start;
    align-items: center;
    text-align: left;
  }

  .bf-identity-boundary__trust-line {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .bf-identity-boundary__trust-line > span {
    white-space: normal;
  }
}

@media (hover: none), (pointer: coarse) {
  .bf-identity-provider:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bf-identity-provider,
  .bf-reference-personas button,
  .bf-tenant-option,
  .bf-role-option {
    transition: none !important;
  }
}

@supports not (
  (backdrop-filter: blur(1px)) or
  (-webkit-backdrop-filter: blur(1px))
) {
  .bf-identity-console {
    background: var(--bf-surface);
  }
}


/* =========================================================
   PATCH 013 — COMPLETE DRAWER ARCHITECTURE MAP
   All thirteen entries remain visible at the validated
   desktop height without shrinking the primary controls.
   ========================================================= */
@media (min-height: 860px) and (min-width: 720px) {
  .bf-menu-drawer__header {
    padding-block: 12px;
  }

  .bf-menu-drawer__body {
    padding:
      6px
      14px
      10px;
    overflow-y: auto;
  }

  .bf-menu-drawer__eyebrow {
    margin:
      5px
      0
      7px;
    font-size: .58rem;
  }

  .bf-menu-drawer__nav {
    gap: 2px;
  }

  .bf-menu-drawer__nav a {
    min-height: 47px;
    grid-template-columns:
      27px
      minmax(0, 1fr);
    gap:
      1px
      8px;
    padding:
      5px
      8px;
    border-radius: 12px;
  }

  .bf-menu-drawer__nav a strong {
    font-size: .77rem;
    line-height: 1.08;
  }

  .bf-menu-drawer__nav a small {
    font-size: .56rem;
    line-height: 1.18;
  }

  .bf-menu-drawer__nav a > span {
    font-size: .58rem;
  }

  .bf-menu-drawer__footer {
    gap: 8px;
    padding:
      10px
      14px
      12px;
  }

  .bf-menu-drawer__status {
    gap: 8px;
  }

  .bf-menu-drawer__footer .bf-button {
    min-height: 44px;
  }
}


/* =========================================================
   BOOKFELS V3 — PATCH 014
   AUDIT LEDGER & TRACEABILITY ENGINE
   ========================================================= */

/* Thirteen desktop architecture points without moving actions. */
.bf-header__bar {
  grid-template-columns:
    minmax(156px, .76fr)
    minmax(0, 3.24fr)
    max-content;
  gap: clamp(6px, .7vw, 11px);
}

.bf-header__nav {
  min-width: 0;
  gap: 0;
  justify-content: center;
}

.bf-header__nav a {
  min-width: 0;
  padding-inline: clamp(2px, .22vw, 5px);
  font-size: clamp(.51rem, .475vw, .62rem);
  letter-spacing: .015em;
  white-space: nowrap;
}

.bf-header__actions {
  gap: 7px;
}

.bf-header__cta {
  padding-inline: 11px;
}

@media (max-width: 1220px) {
  .bf-header__nav {
    display: none;
  }

  .bf-header__bar {
    grid-template-columns:
      minmax(0, 1fr)
      max-content;
  }
}

.bf-audit-ledger {
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding-block: clamp(104px, 12vw, 170px);
  background:
    radial-gradient(
      860px 620px at 91% 13%,
      rgba(121, 168, 255, .075),
      transparent 72%
    ),
    radial-gradient(
      720px 540px at 7% 84%,
      rgba(77, 230, 230, .035),
      transparent 74%
    ),
    linear-gradient(
      180deg,
      var(--bf-deep-space),
      var(--bf-background)
    );
}

.bf-audit-ledger__atmosphere {
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  opacity: .07;
}

.bf-audit-ledger__atmosphere svg {
  width: 100%;
  height: 100%;
}

.bf-audit-network__paths {
  fill: none;
  stroke: rgba(121, 168, 255, .27);
  stroke-width: 1;
  stroke-dasharray: 5 20;
}

.bf-audit-network__nodes {
  fill: var(--bf-accent-cyan);
  opacity: .5;
}

.bf-audit-ledger__header {
  max-width: 1000px;
  margin: 0 auto clamp(62px, 8vw, 100px);
  text-align: center;
}

.bf-audit-ledger__eyebrow {
  display: inline-block;
  margin-bottom: 17px;
  color: var(--bf-accent-cyan);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.bf-audit-ledger__header h2 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: clamp(2.8rem, 6vw, 5.2rem);
  line-height: .97;
  letter-spacing: -.055em;
  text-wrap: balance;
}

.bf-audit-ledger__header h2 span {
  display: block;
  color: var(--bf-muted);
  font-size: .68em;
  line-height: 1.08;
  letter-spacing: -.038em;
}

.bf-audit-ledger__header p {
  max-width: 76ch;
  margin: 25px auto 0;
  color: var(--bf-muted);
  font-size: clamp(1rem, 1.4vw, 1.12rem);
  line-height: 1.72;
}

.bf-audit-ledger__layout {
  display: grid;
  grid-template-columns:
    minmax(292px, .68fr)
    minmax(0, 1.32fr);
  grid-template-areas: "rail console";
  gap: clamp(34px, 5vw, 72px);
  align-items: start;
}

.bf-audit-rail {
  grid-area: rail;
  position: sticky;
  top: 112px;
  min-width: 0;
}

.bf-audit-rail__intro {
  margin-bottom: 24px;
}

.bf-audit-rail__intro > span,
.bf-audit-filter > header span {
  display: block;
  margin-bottom: 7px;
  color: var(--bf-accent-cyan);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.bf-audit-rail__intro h3 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: clamp(1.55rem, 3vw, 2.2rem);
  line-height: 1.04;
  letter-spacing: -.04em;
}

.bf-audit-rail__intro p {
  margin: 13px 0 0;
  color: var(--bf-muted);
  font-size: .75rem;
  line-height: 1.58;
}

.bf-audit-filter {
  display: grid;
  gap: 11px;
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(121, 168, 255, .105);
  border-radius: 16px;
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .035),
      rgba(255, 255, 255, .008)
    );
}

.bf-audit-filter h4 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: .92rem;
  line-height: 1.15;
  letter-spacing: -.025em;
}

.bf-audit-filter__buttons {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.bf-audit-filter__buttons--outcomes {
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
}

.bf-audit-filter__buttons button {
  min-height: 38px;
  padding-inline: 9px;
  border: 1px solid rgba(255, 255, 255, .06);
  border-radius: 11px;
  color: var(--bf-muted);
  background: rgba(255, 255, 255, .018);
  font-size: .58rem;
  font-weight: 800;
  cursor: pointer;
  transition:
    color var(--bf-motion-normal) ease,
    border-color var(--bf-motion-normal) ease,
    background var(--bf-motion-normal) ease,
    transform var(--bf-motion-normal)
      cubic-bezier(.22, .8, .2, 1);
}

.bf-audit-filter__buttons button:hover,
.bf-audit-filter__buttons button:focus-visible,
.bf-audit-filter__buttons button[data-selected="true"] {
  color: var(--bf-text);
  border-color: rgba(125, 235, 255, .22);
  background: rgba(125, 235, 255, .055);
}

.bf-audit-filter__buttons button:hover {
  transform: translateY(-2px);
}

.bf-audit-chain-model {
  display: grid;
  gap: 8px;
  padding: 18px 0 0;
  margin: 18px 0 0;
  border-top: 1px solid rgba(255, 255, 255, .06);
  list-style: none;
}

.bf-audit-chain-model li {
  display: grid;
  grid-template-columns:
    28px
    minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 8px 0;
}

.bf-audit-chain-model li > span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(125, 235, 255, .2);
  border-radius: 50%;
  color: var(--bf-accent-cyan);
  font-size: .56rem;
  font-weight: 800;
  background: rgba(125, 235, 255, .03);
}

.bf-audit-chain-model li > div {
  display: grid;
  gap: 3px;
}

.bf-audit-chain-model strong {
  font-size: .66rem;
}

.bf-audit-chain-model small {
  color: var(--bf-muted);
  font-size: .56rem;
  line-height: 1.3;
}

.bf-audit-console {
  grid-area: console;
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--bf-border-strong);
  border-radius: var(--bf-radius-xl);
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, .09),
      rgba(255, 255, 255, .014) 31%,
      transparent 55%
    ),
    rgba(9, 17, 30, .9);
  box-shadow:
    0 34px 96px rgba(0, 0, 0, .44),
    inset 0 1px 0 rgba(255, 255, 255, .075);
  backdrop-filter: blur(24px) saturate(118%);
  -webkit-backdrop-filter: blur(24px) saturate(118%);
}

.bf-audit-console::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(
      520px 320px at 0% 0%,
      rgba(121, 168, 255, .105),
      transparent 72%
    );
}

.bf-audit-console__header {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  padding: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
  background:
    linear-gradient(
      126deg,
      rgba(255, 255, 255, .055),
      rgba(255, 255, 255, .012) 28%,
      transparent 55%
    ),
    rgba(255, 255, 255, .008);
}

.bf-audit-console__header::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(
      360px 130px at 5% 0%,
      rgba(125, 235, 255, .085),
      transparent 72%
    );
}

.bf-audit-console__header > * {
  position: relative;
  z-index: 1;
}

.bf-audit-console__identity {
  min-width: 0;
  display: flex;
  gap: 12px;
  align-items: center;
}

.bf-audit-console__beacon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(121, 168, 255, .15);
  border-radius: 16px;
  background: rgba(255, 255, 255, .035);
}

.bf-audit-console__beacon img {
  width: 39px;
  height: 39px;
}

.bf-audit-console__identity > div {
  min-width: 0;
}

.bf-audit-console__identity span {
  display: block;
  margin-bottom: 3px;
  color: var(--bf-accent-cyan);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.bf-audit-console__identity h3 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: 1.04rem;
  letter-spacing: -.025em;
}

.bf-audit-console__status-group {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.bf-audit-console__classification,
.bf-audit-console__status {
  min-height: 29px;
  display: inline-flex;
  gap: 7px;
  align-items: center;
  padding-inline: 10px;
  border-radius: var(--bf-radius-pill);
  font-size: .6rem;
  font-weight: 800;
  white-space: nowrap;
}

.bf-audit-console__classification {
  color: var(--bf-accent-cyan);
  border: 1px solid rgba(121, 168, 255, .14);
  background: rgba(121, 168, 255, .04);
}

.bf-audit-console__status {
  color: var(--bf-success);
  border: 1px solid rgba(67, 217, 140, .14);
  background: rgba(67, 217, 140, .04);
}

.bf-audit-console__status > span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 12px rgba(67, 217, 140, .45);
}

.bf-audit-ledger[data-bf-audit-status="current"]
.bf-audit-console__status {
  color: var(--bf-accent-cyan);
  border-color: rgba(125, 235, 255, .16);
  background: rgba(125, 235, 255, .04);
}

.bf-audit-ledger[data-bf-audit-status="failed"]
.bf-audit-console__status {
  color: var(--bf-warning);
  border-color: rgba(248, 193, 90, .16);
  background: rgba(248, 193, 90, .04);
}

.bf-audit-console__context,
.bf-audit-console__metrics {
  display: grid;
  grid-template-columns:
    repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.bf-audit-console__context article,
.bf-audit-console__metrics article {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .05);
  border-radius: 13px;
  background: rgba(255, 255, 255, .018);
}

.bf-audit-console__context span,
.bf-audit-console__metrics span {
  color: var(--bf-muted);
  font-size: .55rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.bf-audit-console__context strong {
  overflow: hidden;
  font-size: .67rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bf-audit-console__context small,
.bf-audit-console__metrics small {
  overflow: hidden;
  color: rgba(169, 182, 211, .64);
  font-size: .55rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bf-audit-console__metrics strong {
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: clamp(1.3rem, 2.4vw, 1.9rem);
  line-height: 1;
  letter-spacing: -.035em;
}

.bf-audit-workspace {
  display: grid;
  grid-template-columns:
    minmax(0, 1.12fr)
    minmax(250px, .88fr);
  min-height: 510px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.bf-audit-timeline-panel,
.bf-audit-detail {
  min-width: 0;
  padding: 18px 20px;
}

.bf-audit-timeline-panel {
  border-right: 1px solid rgba(255, 255, 255, .06);
}

.bf-audit-timeline-panel > header,
.bf-audit-detail > header {
  margin-bottom: 14px;
}

.bf-audit-timeline-panel > header span,
.bf-audit-detail > header span {
  display: block;
  margin-bottom: 5px;
  color: var(--bf-accent-cyan);
  font-size: .57rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.bf-audit-timeline-panel h4,
.bf-audit-detail h4 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: 1rem;
  letter-spacing: -.025em;
}

.bf-audit-timeline {
  max-height: 430px;
  display: grid;
  gap: 8px;
  overflow-y: auto;
  padding-right: 4px;
  scrollbar-width: thin;
}

.bf-audit-entry {
  width: 100%;
  display: grid;
  grid-template-columns:
    34px
    minmax(0, 1fr)
    auto;
  gap: 10px;
  align-items: center;
  padding: 11px;
  border: 1px solid rgba(255, 255, 255, .052);
  border-radius: 13px;
  color: var(--bf-muted);
  text-align: left;
  background: rgba(255, 255, 255, .016);
  cursor: pointer;
  transition:
    color var(--bf-motion-normal) ease,
    border-color var(--bf-motion-normal) ease,
    background var(--bf-motion-normal) ease,
    transform var(--bf-motion-normal)
      cubic-bezier(.22, .8, .2, 1);
}

.bf-audit-entry:hover,
.bf-audit-entry:focus-visible,
.bf-audit-entry[data-selected="true"] {
  color: var(--bf-text);
  border-color: rgba(125, 235, 255, .18);
  background: rgba(125, 235, 255, .04);
}

.bf-audit-entry:hover {
  transform: translateY(-2px);
}

.bf-audit-entry__sequence {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(125, 235, 255, .15);
  border-radius: 50%;
  color: var(--bf-accent-cyan);
  font-size: .54rem;
  font-weight: 800;
}

.bf-audit-entry__content {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.bf-audit-entry__content small {
  color: var(--bf-accent-cyan);
  font-size: .51rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.bf-audit-entry__content strong {
  overflow: hidden;
  font-size: .65rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bf-audit-entry__content > span {
  overflow: hidden;
  color: var(--bf-muted);
  font-size: .56rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bf-audit-entry__outcome {
  min-height: 25px;
  display: inline-flex;
  align-items: center;
  padding-inline: 8px;
  border: 1px solid rgba(121, 168, 255, .12);
  border-radius: 999px;
  color: var(--bf-accent-cyan);
  font-size: .51rem;
  font-weight: 800;
  white-space: nowrap;
}

.bf-audit-entry__outcome[data-state="denied"],
.bf-audit-entry__outcome[data-state="review"] {
  color: var(--bf-warning);
  border-color: rgba(248, 193, 90, .15);
}

.bf-audit-entry__outcome[data-state="allowed"],
.bf-audit-entry__outcome[data-state="success"] {
  color: var(--bf-success);
  border-color: rgba(67, 217, 140, .14);
}

.bf-audit-timeline__empty {
  margin: 0;
  padding: 18px;
  border: 1px dashed rgba(255, 255, 255, .08);
  border-radius: 14px;
  color: var(--bf-muted);
  font-size: .66rem;
  line-height: 1.5;
}

.bf-audit-detail {
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .025),
      transparent 70%
    );
}

.bf-audit-detail dl {
  display: grid;
  gap: 9px;
  margin: 0;
}

.bf-audit-detail dl > div {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, .05);
  border-radius: 12px;
  background: rgba(255, 255, 255, .014);
}

.bf-audit-detail dt {
  color: var(--bf-muted);
  font-size: .52rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.bf-audit-detail dd {
  overflow-wrap: anywhere;
  margin: 0;
  font-size: .59rem;
  line-height: 1.42;
}

.bf-audit-detail__hash {
  max-height: 4.4em;
  overflow: hidden;
  font-family:
    "SFMono-Regular",
    Consolas,
    monospace;
  color: var(--bf-accent-cyan);
}

.bf-audit-integrity {
  display: grid;
  grid-template-columns:
    auto
    minmax(0, 1fr);
  gap: 11px;
  align-items: center;
  padding: 17px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .04),
      transparent
    );
}

.bf-audit-integrity .bf-icon {
  width: 23px;
  height: 23px;
  color: var(--bf-accent-cyan);
}

.bf-audit-integrity div {
  display: grid;
  gap: 3px;
}

.bf-audit-integrity small {
  color: var(--bf-accent-cyan);
  font-size: .55rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.bf-audit-integrity strong {
  font-size: .65rem;
  line-height: 1.45;
}

.bf-audit-console__footer {
  display: grid;
  grid-template-columns:
    minmax(0, .78fr)
    minmax(0, .92fr)
    minmax(0, 1.3fr);
  gap: 10px;
  padding: 18px 20px 20px;
}

.bf-audit-console__secondary {
  min-height: 46px;
  padding-inline: 12px;
  border: 1px solid var(--bf-border);
  border-radius: 13px;
  color: var(--bf-muted);
  background: rgba(255, 255, 255, .025);
  font-size: .62rem;
  font-weight: 800;
  cursor: pointer;
  transition:
    color var(--bf-motion-normal) ease,
    border-color var(--bf-motion-normal) ease,
    background var(--bf-motion-normal) ease;
}

.bf-audit-console__secondary:hover:not(:disabled) {
  color: var(--bf-text);
  border-color: rgba(125, 235, 255, .18);
  background: rgba(125, 235, 255, .045);
}

.bf-audit-console__secondary:disabled {
  cursor: not-allowed;
  opacity: .43;
}

.bf-audit-console__footer .bf-button {
  width: 100%;
  border: 0;
  cursor: pointer;
}

.bf-audit-ledger__trust-line {
  position: relative;
  display: grid;
  grid-template-columns:
    auto
    minmax(0, 1fr);
  gap: 28px;
  align-items: center;
  margin-top: clamp(60px, 8vw, 98px);
  padding-top: 30px;
}

.bf-audit-ledger__trust-line::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 1px;
  background:
    linear-gradient(
      90deg,
      rgba(121, 168, 255, .08),
      rgba(125, 235, 255, .28),
      rgba(121, 168, 255, .08)
    );
}

.bf-audit-ledger__trust-line > span {
  color: var(--bf-accent-cyan);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
  white-space: nowrap;
}

.bf-audit-ledger__trust-line ul {
  display: flex;
  gap: 10px 20px;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
  list-style: none;
}

.bf-audit-ledger__trust-line li {
  color: var(--bf-muted);
  font-size: .74rem;
  font-weight: 750;
}

.bf-audit-ledger__trust-line li::before {
  content: "•";
  margin-right: 8px;
  color: var(--bf-accent-cyan);
}

.bf-audit-ledger__disclaimer {
  max-width: 86ch;
  margin: 20px auto 0;
  color: rgba(169, 182, 211, .62);
  font-size: .64rem;
  line-height: 1.55;
  text-align: center;
}

/* Seven shared platform states in the Dashboard Bridge. */
.bf-dashboard-sources__flow {
  grid-template-columns:
    repeat(7, minmax(0, 1fr));
}

/* Fourteen drawer entries remain visible at the validated desktop height. */
@media (min-height: 860px) and (min-width: 720px) {
  .bf-menu-drawer__header {
    padding-block: 10px;
  }

  .bf-menu-drawer__body {
    padding:
      4px
      14px
      8px;
    overflow-y: auto;
  }

  .bf-menu-drawer__eyebrow {
    margin:
      3px
      0
      5px;
    font-size: .54rem;
  }

  .bf-menu-drawer__nav {
    gap: 1px;
  }

  .bf-menu-drawer__nav a {
    min-height: 43px;
    grid-template-columns:
      25px
      minmax(0, 1fr);
    gap:
      0
      7px;
    padding:
      4px
      7px;
    border-radius: 11px;
  }

  .bf-menu-drawer__nav a strong {
    font-size: .72rem;
    line-height: 1.04;
  }

  .bf-menu-drawer__nav a small {
    font-size: .52rem;
    line-height: 1.12;
  }

  .bf-menu-drawer__nav a > span {
    font-size: .54rem;
  }

  .bf-menu-drawer__footer {
    gap: 6px;
    padding:
      8px
      14px
      10px;
  }

  .bf-menu-drawer__status {
    gap: 6px;
  }

  .bf-menu-drawer__footer .bf-button {
    min-height: 42px;
  }
}

@media (max-width: 1080px) {
  .bf-audit-ledger__layout {
    grid-template-columns: 1fr;
    grid-template-areas:
      "console"
      "rail";
  }

  .bf-audit-rail {
    position: relative;
    top: auto;
  }

  .bf-audit-filter__buttons {
    grid-template-columns:
      repeat(4, minmax(0, 1fr));
  }

  .bf-dashboard-sources__flow {
    grid-template-columns:
      repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .bf-audit-console__context,
  .bf-audit-console__metrics {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .bf-audit-workspace {
    grid-template-columns: 1fr;
  }

  .bf-audit-timeline-panel {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .06);
  }

  .bf-audit-console__footer {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .bf-audit-console__footer .bf-button {
    grid-column: 1 / -1;
  }

  .bf-dashboard-sources__flow {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .bf-dashboard-sources__flow article:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 680px) {
  .bf-audit-ledger {
    padding-block: 94px;
  }

  .bf-audit-ledger__header h2 {
    font-size:
      clamp(2.4rem, 11vw, 3.8rem);
  }

  .bf-audit-console {
    border-radius: 24px;
  }

  .bf-audit-console__header {
    align-items: flex-start;
    flex-direction: column;
  }

  .bf-audit-console__status-group {
    justify-content: flex-start;
  }

  .bf-audit-filter__buttons,
  .bf-audit-console__context,
  .bf-audit-console__metrics,
  .bf-audit-console__footer,
  .bf-dashboard-sources__flow {
    grid-template-columns: 1fr;
  }

  .bf-audit-console__footer .bf-button,
  .bf-dashboard-sources__flow article:last-child {
    grid-column: auto;
  }

  .bf-audit-entry {
    grid-template-columns:
      32px
      minmax(0, 1fr);
  }

  .bf-audit-entry__outcome {
    grid-column: 2;
    justify-self: start;
  }

  .bf-audit-ledger__trust-line {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .bf-audit-ledger__trust-line > span {
    white-space: normal;
  }
}

@media (hover: none), (pointer: coarse) {
  .bf-audit-filter__buttons button:hover,
  .bf-audit-entry:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bf-audit-filter__buttons button,
  .bf-audit-entry {
    transition: none !important;
  }
}

@supports not (
  (backdrop-filter: blur(1px)) or
  (-webkit-backdrop-filter: blur(1px))
) {
  .bf-audit-console {
    background: var(--bf-surface);
  }
}


/* =========================================================
   BOOKFELS V3 — PATCH 015
   POLICY ORCHESTRATION & CONTROL ENGINE
   ========================================================= */

/* Fourteen architecture points without displacing CTA or menu. */
.bf-header__bar {
  grid-template-columns:
    minmax(150px, .72fr)
    minmax(0, 3.28fr)
    max-content;
  gap: clamp(5px, .62vw, 10px);
}

.bf-header__nav {
  min-width: 0;
  gap: 0;
  justify-content: center;
}

.bf-header__nav a {
  min-width: 0;
  padding-inline: clamp(2px, .18vw, 4px);
  font-size: clamp(.48rem, .445vw, .59rem);
  letter-spacing: .01em;
  white-space: nowrap;
}

.bf-header__actions {
  gap: 7px;
}

.bf-header__cta {
  padding-inline: 10px;
}

@media (max-width: 1220px) {
  .bf-header__nav {
    display: none;
  }

  .bf-header__bar {
    grid-template-columns:
      minmax(0, 1fr)
      max-content;
  }
}

.bf-policy-orchestration {
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding-block: clamp(104px, 12vw, 170px);
  background:
    radial-gradient(
      900px 640px at 91% 12%,
      rgba(121, 168, 255, .08),
      transparent 72%
    ),
    radial-gradient(
      740px 560px at 7% 84%,
      rgba(77, 230, 230, .034),
      transparent 74%
    ),
    linear-gradient(
      180deg,
      var(--bf-background),
      var(--bf-deep-space)
    );
}

.bf-policy-orchestration__atmosphere {
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  opacity: .07;
}

.bf-policy-orchestration__atmosphere svg {
  width: 100%;
  height: 100%;
}

.bf-policy-network__paths {
  fill: none;
  stroke: rgba(121, 168, 255, .27);
  stroke-width: 1;
  stroke-dasharray: 5 20;
}

.bf-policy-network__nodes {
  fill: var(--bf-accent-cyan);
  opacity: .5;
}

.bf-policy-orchestration__header {
  max-width: 1030px;
  margin: 0 auto clamp(62px, 8vw, 100px);
  text-align: center;
}

.bf-policy-orchestration__eyebrow {
  display: inline-block;
  margin-bottom: 17px;
  color: var(--bf-accent-cyan);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.bf-policy-orchestration__header h2 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: clamp(2.8rem, 6vw, 5.2rem);
  line-height: .97;
  letter-spacing: -.055em;
  text-wrap: balance;
}

.bf-policy-orchestration__header h2 span {
  display: block;
  color: var(--bf-muted);
  font-size: .68em;
  line-height: 1.08;
  letter-spacing: -.038em;
}

.bf-policy-orchestration__header p {
  max-width: 78ch;
  margin: 25px auto 0;
  color: var(--bf-muted);
  font-size: clamp(1rem, 1.4vw, 1.12rem);
  line-height: 1.72;
}

.bf-policy-orchestration__layout {
  display: grid;
  grid-template-columns:
    minmax(300px, .7fr)
    minmax(0, 1.3fr);
  grid-template-areas: "catalog console";
  gap: clamp(34px, 5vw, 72px);
  align-items: start;
}

.bf-policy-catalog {
  grid-area: catalog;
  position: sticky;
  top: 112px;
  min-width: 0;
}

.bf-policy-catalog__intro {
  margin-bottom: 24px;
}

.bf-policy-catalog__intro > span {
  display: block;
  margin-bottom: 7px;
  color: var(--bf-accent-cyan);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.bf-policy-catalog__intro h3 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: clamp(1.55rem, 3vw, 2.2rem);
  line-height: 1.04;
  letter-spacing: -.04em;
}

.bf-policy-catalog__intro p {
  margin: 13px 0 0;
  color: var(--bf-muted);
  font-size: .75rem;
  line-height: 1.58;
}

.bf-policy-catalog__list {
  display: grid;
  gap: 8px;
  max-height: 760px;
  overflow-y: auto;
  padding-right: 4px;
  scrollbar-width: thin;
}

.bf-policy-card {
  width: 100%;
  min-height: 82px;
  display: grid;
  grid-template-columns:
    34px
    minmax(0, 1fr)
    10px;
  gap: 10px;
  align-items: start;
  padding: 13px;
  border: 1px solid rgba(255, 255, 255, .052);
  border-radius: 16px;
  color: var(--bf-muted);
  text-align: left;
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, .032),
      rgba(255, 255, 255, .008)
    ),
    rgba(14, 23, 38, .42);
  cursor: pointer;
  transition:
    color var(--bf-motion-normal) ease,
    transform var(--bf-motion-normal)
      cubic-bezier(.22, .8, .2, 1),
    border-color var(--bf-motion-normal) ease,
    background var(--bf-motion-normal) ease,
    box-shadow var(--bf-motion-normal) ease;
}

.bf-policy-card:hover,
.bf-policy-card:focus-visible,
.bf-policy-card[data-selected="true"] {
  color: var(--bf-text);
  border-color: rgba(125, 235, 255, .2);
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .09),
      rgba(77, 230, 230, .014)
    ),
    rgba(14, 23, 38, .58);
}

.bf-policy-card:hover {
  transform: translateY(-3px);
}

.bf-policy-card > span:first-child {
  color: var(--bf-accent-cyan);
  font-size: .59rem;
  font-weight: 800;
  letter-spacing: .08em;
}

.bf-policy-card > div {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.bf-policy-card small {
  color: var(--bf-accent-cyan);
  font-size: .51rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.bf-policy-card strong {
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: .82rem;
  letter-spacing: -.02em;
}

.bf-policy-card p {
  margin: 0;
  color: var(--bf-muted);
  font-size: .57rem;
  line-height: 1.42;
}

.bf-policy-card > span:last-child {
  width: 9px;
  height: 9px;
  margin-top: 5px;
  border: 1px solid rgba(169, 182, 211, .34);
  border-radius: 50%;
}

.bf-policy-card[data-selected="true"] > span:last-child {
  border-color: rgba(125, 235, 255, .62);
  background: var(--bf-accent-cyan);
  box-shadow: 0 0 12px rgba(125, 235, 255, .3);
}

.bf-policy-console {
  grid-area: console;
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--bf-border-strong);
  border-radius: var(--bf-radius-xl);
  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, .09),
      rgba(255, 255, 255, .014) 31%,
      transparent 55%
    ),
    rgba(9, 17, 30, .9);
  box-shadow:
    0 34px 96px rgba(0, 0, 0, .44),
    inset 0 1px 0 rgba(255, 255, 255, .075);
  backdrop-filter: blur(24px) saturate(118%);
  -webkit-backdrop-filter: blur(24px) saturate(118%);
}

.bf-policy-console::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(
      520px 320px at 0% 0%,
      rgba(121, 168, 255, .105),
      transparent 72%
    );
}

.bf-policy-console__header {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  padding: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
  background:
    linear-gradient(
      126deg,
      rgba(255, 255, 255, .055),
      rgba(255, 255, 255, .012) 28%,
      transparent 55%
    ),
    rgba(255, 255, 255, .008);
}

.bf-policy-console__header::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(
      360px 130px at 5% 0%,
      rgba(125, 235, 255, .085),
      transparent 72%
    );
}

.bf-policy-console__header > * {
  position: relative;
  z-index: 1;
}

.bf-policy-console__identity {
  min-width: 0;
  display: flex;
  gap: 12px;
  align-items: center;
}

.bf-policy-console__beacon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(121, 168, 255, .15);
  border-radius: 16px;
  background: rgba(255, 255, 255, .035);
}

.bf-policy-console__beacon img {
  width: 39px;
  height: 39px;
}

.bf-policy-console__identity > div {
  min-width: 0;
}

.bf-policy-console__identity span {
  display: block;
  margin-bottom: 3px;
  color: var(--bf-accent-cyan);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.bf-policy-console__identity h3 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: 1.04rem;
  letter-spacing: -.025em;
}

.bf-policy-console__status-group {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.bf-policy-console__mode,
.bf-policy-console__status {
  min-height: 29px;
  display: inline-flex;
  gap: 7px;
  align-items: center;
  padding-inline: 10px;
  border-radius: var(--bf-radius-pill);
  font-size: .6rem;
  font-weight: 800;
  white-space: nowrap;
}

.bf-policy-console__mode {
  color: var(--bf-accent-cyan);
  border: 1px solid rgba(121, 168, 255, .14);
  background: rgba(121, 168, 255, .04);
}

.bf-policy-console__status {
  color: var(--bf-success);
  border: 1px solid rgba(67, 217, 140, .14);
  background: rgba(67, 217, 140, .04);
}

.bf-policy-console__status > span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 12px rgba(67, 217, 140, .45);
}

.bf-policy-orchestration[data-bf-policy-status="denied"]
.bf-policy-console__status {
  color: var(--bf-warning);
  border-color: rgba(248, 193, 90, .17);
  background: rgba(248, 193, 90, .04);
}

.bf-policy-orchestration[data-bf-policy-status="allowed-by-exception"]
.bf-policy-console__status,
.bf-policy-orchestration[data-bf-policy-status="allowed-with-obligations"]
.bf-policy-console__status {
  color: var(--bf-accent-cyan);
  border-color: rgba(125, 235, 255, .17);
  background: rgba(125, 235, 255, .04);
}

.bf-policy-console__context,
.bf-policy-console__metrics {
  display: grid;
  grid-template-columns:
    repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.bf-policy-console__context article,
.bf-policy-console__metrics article {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .05);
  border-radius: 13px;
  background: rgba(255, 255, 255, .018);
}

.bf-policy-console__context span,
.bf-policy-console__metrics span {
  color: var(--bf-muted);
  font-size: .55rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.bf-policy-console__context strong {
  overflow: hidden;
  font-size: .67rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bf-policy-console__context small,
.bf-policy-console__metrics small {
  overflow: hidden;
  color: rgba(169, 182, 211, .64);
  font-size: .55rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bf-policy-console__metrics strong {
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: clamp(1.3rem, 2.4vw, 1.9rem);
  line-height: 1;
  letter-spacing: -.035em;
}

.bf-policy-definition,
.bf-policy-operation-selector,
.bf-policy-decision,
.bf-policy-exception {
  padding: 18px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.bf-policy-definition > header > span,
.bf-policy-operation-selector > header > span,
.bf-policy-decision > header span,
.bf-policy-exception > header span {
  display: block;
  margin-bottom: 5px;
  color: var(--bf-accent-cyan);
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.bf-policy-definition h4,
.bf-policy-operation-selector h4,
.bf-policy-decision h4,
.bf-policy-exception h4 {
  margin: 0;
  font-family:
    "Inter Tight",
    Inter,
    system-ui,
    sans-serif;
  font-size: 1.02rem;
  letter-spacing: -.025em;
}

.bf-policy-definition p,
.bf-policy-decision > p {
  margin: 9px 0 0;
  color: var(--bf-muted);
  font-size: .64rem;
  line-height: 1.5;
}

.bf-policy-operation-selector__grid {
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin-top: 14px;
}

.bf-policy-operation-selector__grid button {
  min-height: 66px;
  display: grid;
  grid-template-columns:
    auto
    minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  padding: 11px;
  border: 1px solid rgba(255, 255, 255, .058);
  border-radius: 13px;
  color: var(--bf-muted);
  text-align: left;
  background: rgba(255, 255, 255, .018);
  cursor: pointer;
  transition:
    color var(--bf-motion-normal) ease,
    border-color var(--bf-motion-normal) ease,
    background var(--bf-motion-normal) ease,
    transform var(--bf-motion-normal)
      cubic-bezier(.22, .8, .2, 1);
}

.bf-policy-operation-selector__grid button:hover,
.bf-policy-operation-selector__grid button:focus-visible,
.bf-policy-operation-selector__grid button[data-selected="true"] {
  color: var(--bf-text);
  border-color: rgba(125, 235, 255, .2);
  background: rgba(125, 235, 255, .05);
}

.bf-policy-operation-selector__grid button:hover {
  transform: translateY(-2px);
}

.bf-policy-operation-selector__grid .bf-icon {
  width: 23px;
  height: 23px;
  color: var(--bf-accent-cyan);
}

.bf-policy-operation-selector__grid strong {
  font-size: .63rem;
}

.bf-policy-decision > header,
.bf-policy-exception > header {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  justify-content: space-between;
}

.bf-policy-decision > header > strong,
.bf-policy-exception > header > strong {
  min-height: 27px;
  display: inline-flex;
  align-items: center;
  padding-inline: 9px;
  border: 1px solid rgba(125, 235, 255, .16);
  border-radius: 999px;
  color: var(--bf-accent-cyan);
  background: rgba(125, 235, 255, .03);
  font-size: .55rem;
  font-weight: 800;
  white-space: nowrap;
}

.bf-policy-obligations {
  display: grid;
  gap: 8px;
  margin: 14px 0;
  padding: 12px;
  border: 1px solid rgba(121, 168, 255, .11);
  border-radius: 13px;
  background: rgba(121, 168, 255, .024);
}

.bf-policy-obligations > span {
  color: var(--bf-accent-cyan);
  font-size: .53rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.bf-policy-obligations ul {
  display: grid;
  gap: 5px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.bf-policy-obligations li {
  color: var(--bf-muted);
  font-size: .59rem;
  line-height: 1.4;
}

.bf-policy-obligations li::before {
  content: "•";
  margin-right: 7px;
  color: var(--bf-accent-cyan);
}

.bf-policy-decision .bf-button {
  border: 0;
  cursor: pointer;
}

.bf-policy-exception {
  background:
    linear-gradient(
      135deg,
      rgba(121, 168, 255, .027),
      transparent 68%
    );
}

.bf-policy-exception__request,
.bf-policy-exception__review {
  display: grid;
  gap: 8px;
  margin-top: 15px;
}

.bf-policy-exception label {
  color: var(--bf-muted);
  font-size: .56rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.bf-policy-exception textarea {
  width: 100%;
  resize: vertical;
  min-height: 76px;
  padding: 11px;
  border: 1px solid rgba(255, 255, 255, .07);
  border-radius: 12px;
  color: var(--bf-text);
  background: rgba(255, 255, 255, .018);
  font: inherit;
  font-size: .62rem;
  line-height: 1.45;
}

.bf-policy-exception__record {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin: 15px 0 0;
}

.bf-policy-exception__record > div {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, .05);
  border-radius: 12px;
  background: rgba(255, 255, 255, .014);
}

.bf-policy-exception__record > div:nth-child(3) {
  grid-column: 1 / -1;
}

.bf-policy-exception__record dt {
  color: var(--bf-muted);
  font-size: .51rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.bf-policy-exception__record dd {
  overflow-wrap: anywhere;
  margin: 0;
  font-size: .59rem;
  line-height: 1.42;
}

.bf-policy-exception__review > div {
  display: grid;
  grid-template-columns:
    minmax(0, .8fr)
    minmax(0, 1.2fr);
  gap: 9px;
}

.bf-policy-console__secondary {
  min-height: 44px;
  padding-inline: 12px;
  border: 1px solid var(--bf-border);
  border-radius: 12px;
  color: var(--bf-muted);
  background: rgba(255, 255, 255, .025);
  font-size: .61rem;
  font-weight: 800;
  cursor: pointer;
  transition:
    color var(--bf-motion-normal) ease,
    border-color var(--bf-motion-normal) ease,
    background var(--bf-motion-normal) ease;
}

.bf-policy-console__secondary:hover:not(:disabled) {
  color: var(--bf-text);
  border-color: rgba(125, 235, 255, .18);
  background: rgba(125, 235, 255, .045);
}

.bf-policy-console__secondary:disabled,
.bf-policy-console .bf-button:disabled {
  cursor: not-allowed;
  opacity: .42;
}

.bf-policy-exception__review .bf-button {
  width: 100%;
  border: 0;
  cursor: pointer;
}

.bf-policy-console__footer {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    max-content;
  gap: 16px;
  align-items: center;
  padding: 18px 20px 20px;
}

.bf-policy-console__footer > div {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.bf-policy-console__footer small {
  color: var(--bf-accent-cyan);
  font-size: .54rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.bf-policy-console__footer strong {
  color: var(--bf-muted);
  font-size: .62rem;
  line-height: 1.45;
}

.bf-policy-orchestration__trust-line {
  position: relative;
  display: grid;
  grid-template-columns:
    auto
    minmax(0, 1fr);
  gap: 28px;
  align-items: center;
  margin-top: clamp(60px, 8vw, 98px);
  padding-top: 30px;
}

.bf-policy-orchestration__trust-line::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 1px;
  background:
    linear-gradient(
      90deg,
      rgba(121, 168, 255, .08),
      rgba(125, 235, 255, .28),
      rgba(121, 168, 255, .08)
    );
}

.bf-policy-orchestration__trust-line > span {
  color: var(--bf-accent-cyan);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
  white-space: nowrap;
}

.bf-policy-orchestration__trust-line ul {
  display: flex;
  gap: 10px 20px;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
  list-style: none;
}

.bf-policy-orchestration__trust-line li {
  color: var(--bf-muted);
  font-size: .74rem;
  font-weight: 750;
}

.bf-policy-orchestration__trust-line li::before {
  content: "•";
  margin-right: 8px;
  color: var(--bf-accent-cyan);
}

.bf-policy-orchestration__disclaimer {
  max-width: 88ch;
  margin: 20px auto 0;
  color: rgba(169, 182, 211, .62);
  font-size: .64rem;
  line-height: 1.55;
  text-align: center;
}

/* Eight shared platform states in the Dashboard Bridge. */
.bf-dashboard-sources__flow {
  grid-template-columns:
    repeat(8, minmax(0, 1fr));
}

/* Fifteen complete drawer entries at the validated desktop height. */
@media (min-height: 860px) and (min-width: 720px) {
  .bf-menu-drawer__header {
    padding-block: 9px;
  }

  .bf-menu-drawer__body {
    padding:
      3px
      13px
      7px;
    overflow-y: auto;
  }

  .bf-menu-drawer__eyebrow {
    margin:
      2px
      0
      4px;
    font-size: .52rem;
  }

  .bf-menu-drawer__nav {
    gap: 1px;
  }

  .bf-menu-drawer__nav a {
    min-height: 40px;
    grid-template-columns:
      24px
      minmax(0, 1fr);
    gap:
      0
      7px;
    padding:
      3px
      7px;
    border-radius: 10px;
  }

  .bf-menu-drawer__nav a strong {
    font-size: .69rem;
    line-height: 1.02;
  }

  .bf-menu-drawer__nav a small {
    font-size: .49rem;
    line-height: 1.08;
  }

  .bf-menu-drawer__nav a > span {
    font-size: .52rem;
  }

  .bf-menu-drawer__footer {
    gap: 5px;
    padding:
      7px
      13px
      9px;
  }

  .bf-menu-drawer__status {
    gap: 5px;
  }

  .bf-menu-drawer__footer .bf-button {
    min-height: 40px;
  }
}

@media (max-width: 1080px) {
  .bf-policy-orchestration__layout {
    grid-template-columns: 1fr;
    grid-template-areas:
      "console"
      "catalog";
  }

  .bf-policy-catalog {
    position: relative;
    top: auto;
  }

  .bf-policy-catalog__list {
    grid-template-columns:
      repeat(3, minmax(0, 1fr));
    max-height: none;
    overflow: visible;
  }

  .bf-dashboard-sources__flow {
    grid-template-columns:
      repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .bf-policy-catalog__list,
  .bf-policy-operation-selector__grid,
  .bf-policy-console__context,
  .bf-policy-console__metrics {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .bf-policy-exception__record {
    grid-template-columns: 1fr;
  }

  .bf-policy-exception__record > div:nth-child(3) {
    grid-column: auto;
  }

  .bf-dashboard-sources__flow {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .bf-policy-orchestration {
    padding-block: 94px;
  }

  .bf-policy-orchestration__header h2 {
    font-size:
      clamp(2.4rem, 11vw, 3.8rem);
  }

  .bf-policy-console {
    border-radius: 24px;
  }

  .bf-policy-console__header,
  .bf-policy-decision > header,
  .bf-policy-exception > header {
    align-items: flex-start;
    flex-direction: column;
  }

  .bf-policy-console__status-group {
    justify-content: flex-start;
  }

  .bf-policy-catalog__list,
  .bf-policy-operation-selector__grid,
  .bf-policy-console__context,
  .bf-policy-console__metrics,
  .bf-policy-exception__review > div,
  .bf-policy-console__footer,
  .bf-dashboard-sources__flow {
    grid-template-columns: 1fr;
  }

  .bf-policy-card {
    min-height: 76px;
  }

  .bf-policy-console__footer {
    align-items: stretch;
  }

  .bf-policy-orchestration__trust-line {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .bf-policy-orchestration__trust-line > span {
    white-space: normal;
  }
}

@media (hover: none), (pointer: coarse) {
  .bf-policy-card:hover,
  .bf-policy-operation-selector__grid button:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bf-policy-card,
  .bf-policy-operation-selector__grid button,
  .bf-policy-console__secondary {
    transition: none !important;
  }
}

@supports not (
  (backdrop-filter: blur(1px)) or
  (-webkit-backdrop-filter: blur(1px))
) {
  .bf-policy-console {
    background: var(--bf-surface);
  }
}

/* =========================================================
   BOOKFELS V3 — MILESTONE A.1
   PLATFORM GENESIS EXPERIENCE
   First BookFels Design preserved as the visible origin layer.
   ========================================================= */

html[data-bf-loader="active"],
html[data-bf-loader="active"] body {
  overflow: hidden;
}

.bf-genesis-loader {
  position: fixed;
  z-index: 10000;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: clamp(18px, 4vw, 48px);
  color: var(--bf-text);
  background: #020710;
  opacity: 1;
  visibility: visible;
  transition:
    opacity 520ms var(--bf-ease-standard),
    visibility 520ms var(--bf-ease-standard);
}

.bf-genesis-loader[hidden] {
  display: none;
}

.bf-genesis-loader[data-dismissed="true"] {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.bf-genesis-loader__background,
.bf-genesis-loader__background picture,
.bf-genesis-loader__background img,
.bf-genesis-loader__vignette,
.bf-genesis-loader__scan {
  position: absolute;
  inset: 0;
}

.bf-genesis-loader__background picture,
.bf-genesis-loader__background img {
  width: 100%;
  height: 100%;
}

.bf-genesis-loader__background img {
  object-fit: cover;
  object-position: center;
  opacity: .52;
  filter: saturate(.88) contrast(1.04) brightness(.72);
}

.bf-genesis-loader__vignette {
  background:
    linear-gradient(90deg, rgba(2,7,16,.97) 0%, rgba(2,7,16,.87) 34%, rgba(2,7,16,.38) 68%, rgba(2,7,16,.7) 100%),
    linear-gradient(180deg, rgba(2,7,16,.5), transparent 42%, rgba(2,7,16,.86));
}

.bf-genesis-loader__scan {
  top: -22%;
  height: 18%;
  opacity: .36;
  background: linear-gradient(180deg, transparent, rgba(125,235,255,.08), transparent);
  animation: bf-genesis-loader-scan 4.8s var(--bf-ease-standard) infinite;
}

@keyframes bf-genesis-loader-scan {
  0% { transform: translateY(-130%); opacity: 0; }
  15% { opacity: .45; }
  76% { transform: translateY(760%); opacity: .22; }
  100% { transform: translateY(760%); opacity: 0; }
}

.bf-genesis-loader__panel {
  position: relative;
  width: min(100%, 560px);
  margin-right: min(42vw, 620px);
  padding: clamp(24px, 4vw, 38px);
  border: 1px solid rgba(125,235,255,.14);
  border-radius: 26px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.085), transparent 34%),
    rgba(7,14,25,.8);
  box-shadow:
    0 24px 70px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(22px) saturate(118%);
  -webkit-backdrop-filter: blur(22px) saturate(118%);
}

.bf-genesis-loader__identity {
  display: flex;
  gap: 14px;
  align-items: center;
}

.bf-genesis-loader__identity img {
  width: 48px;
  height: 48px;
  filter: drop-shadow(0 0 14px rgba(92,146,255,.2));
}

.bf-genesis-loader__identity div {
  display: grid;
  gap: 3px;
}

.bf-genesis-loader__identity span,
.bf-genesis-loader__progress-copy span,
.bf-genesis-loader__footer > span {
  color: var(--bf-accent-cyan);
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.bf-genesis-loader__identity strong {
  font-family: "Inter Tight", Inter, system-ui, sans-serif;
  font-size: clamp(1.55rem, 4vw, 2.15rem);
  letter-spacing: -.045em;
}

.bf-genesis-loader__panel > p {
  max-width: 54ch;
  margin: 18px 0 22px;
  color: var(--bf-muted);
  font-size: .82rem;
  line-height: 1.58;
}

.bf-genesis-loader__progress {
  height: 4px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
}

.bf-genesis-loader__progress span {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--bf-primary), var(--bf-accent-cyan));
  box-shadow: 0 0 14px rgba(125,235,255,.2);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 300ms var(--bf-ease-standard);
}

.bf-genesis-loader__progress-copy {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: 9px;
}

.bf-genesis-loader__progress-copy strong {
  font-family: "Inter Tight", Inter, system-ui, sans-serif;
  font-size: .78rem;
}

.bf-genesis-loader__progress-copy span {
  overflow: hidden;
  color: var(--bf-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bf-genesis-loader__engines {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 0;
  margin: 22px 0;
  list-style: none;
}

.bf-genesis-loader__engines li {
  min-width: 0;
  display: grid;
  grid-template-columns: 8px minmax(0, 1fr);
  gap: 3px 8px;
  align-items: center;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 12px;
  background: rgba(255,255,255,.018);
}

.bf-genesis-loader__engines li > span {
  width: 7px;
  height: 7px;
  grid-row: 1 / 3;
  border-radius: 50%;
  background: rgba(169,182,211,.36);
  box-shadow: none;
}

.bf-genesis-loader__engines li[data-state="active"] > span {
  background: var(--bf-accent-cyan);
  box-shadow: 0 0 10px rgba(125,235,255,.5);
}

.bf-genesis-loader__engines li[data-state="ready"] > span {
  background: var(--bf-success);
  box-shadow: 0 0 10px rgba(67,217,140,.42);
}

.bf-genesis-loader__engines li[data-state="degraded"] > span {
  background: var(--bf-warning);
  box-shadow: 0 0 10px rgba(248,193,90,.35);
}

.bf-genesis-loader__engines strong {
  overflow: hidden;
  font-size: .61rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bf-genesis-loader__engines small {
  grid-column: 2;
  color: var(--bf-muted);
  font-size: .51rem;
}

.bf-genesis-loader__footer {
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
}

.bf-genesis-loader__footer button {
  min-height: 40px;
  padding-inline: 14px;
  border: 1px solid rgba(125,235,255,.16);
  border-radius: 12px;
  color: var(--bf-text);
  background: rgba(125,235,255,.04);
  font: inherit;
  font-size: .62rem;
  font-weight: 800;
  cursor: pointer;
}

/* Premium navigation controls and state line. */
.bf-header__bar {
  position: relative;
  overflow: hidden;
  grid-template-columns: minmax(145px, .7fr) minmax(0, 3.3fr) max-content;
  gap: clamp(5px, .55vw, 9px);
  border-color: rgba(125,235,255,.095);
  background:
    linear-gradient(125deg, rgba(255,255,255,.09), transparent 30%),
    rgba(7,14,26,.72);
}

.bf-header__bar::after {
  content: "";
  position: absolute;
  right: 16px;
  bottom: 0;
  left: 16px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(125,235,255,.44), transparent);
  transform: scaleX(var(--bf-header-progress, 0));
  transform-origin: left center;
  transition: transform 300ms linear;
  pointer-events: none;
}

.bf-header__nav {
  min-width: 0;
  gap: 0;
  justify-content: center;
}

.bf-header__nav a {
  position: relative;
  min-width: 0;
  padding-inline: clamp(2px, .17vw, 4px);
  font-size: clamp(.47rem, .435vw, .58rem);
  letter-spacing: .008em;
  white-space: nowrap;
}

.bf-header__nav a::after {
  content: "";
  position: absolute;
  right: 5px;
  bottom: 3px;
  left: 5px;
  height: 1px;
  border-radius: 999px;
  background: var(--bf-accent-cyan);
  box-shadow: 0 0 8px rgba(125,235,255,.25);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 300ms var(--bf-ease-standard);
}

.bf-header__nav a[data-bf-experience-current="true"] {
  color: var(--bf-text);
}

.bf-header__nav a[data-bf-experience-current="true"]::after {
  transform: scaleX(1);
}

.bf-header-runtime {
  min-height: 34px;
  display: inline-grid;
  grid-template-columns: 7px auto;
  gap: 0 7px;
  align-content: center;
  padding-inline: 10px;
  border: 1px solid rgba(125,235,255,.12);
  border-radius: 11px;
  background: rgba(125,235,255,.025);
}

.bf-header-runtime > span {
  width: 7px;
  height: 7px;
  grid-row: 1 / 3;
  align-self: center;
  border-radius: 50%;
  background: var(--bf-muted);
}

.bf-header-runtime[data-state="ready"] > span {
  background: var(--bf-success);
  box-shadow: 0 0 10px rgba(67,217,140,.45);
}

.bf-header-runtime[data-state="degraded"] > span {
  background: var(--bf-warning);
}

.bf-header-runtime strong,
.bf-header-runtime small {
  line-height: 1;
}

.bf-header-runtime strong {
  color: var(--bf-muted);
  font-size: .46rem;
  letter-spacing: .1em;
}

.bf-header-runtime small {
  margin-top: 3px;
  font-size: .56rem;
  font-weight: 800;
}

.bf-header-search {
  min-height: 38px;
  display: inline-flex;
  gap: 7px;
  align-items: center;
  padding-inline: 10px;
  border: 1px solid rgba(255,255,255,.065);
  border-radius: 11px;
  color: var(--bf-muted);
  background: rgba(255,255,255,.022);
  font: inherit;
  font-size: .56rem;
  font-weight: 750;
  cursor: pointer;
}

.bf-header-search svg,
.bf-command-palette__search svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
}

.bf-header-search kbd,
.bf-command-palette kbd {
  padding: 2px 5px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 5px;
  color: rgba(234,246,255,.72);
  background: rgba(255,255,255,.035);
  font: inherit;
  font-size: .48rem;
}

/* Command palette. */
.bf-command-palette {
  width: min(720px, calc(100vw - 28px));
  max-height: min(760px, calc(100dvh - 36px));
  padding: 0;
  border: 1px solid rgba(125,235,255,.14);
  border-radius: 24px;
  color: var(--bf-text);
  background:
    linear-gradient(135deg, rgba(255,255,255,.08), transparent 34%),
    rgba(6,13,24,.94);
  box-shadow: 0 28px 90px rgba(0,0,0,.58);
  backdrop-filter: blur(28px) saturate(120%);
  -webkit-backdrop-filter: blur(28px) saturate(120%);
}

.bf-command-palette::backdrop {
  background: rgba(1,4,10,.72);
  backdrop-filter: blur(8px);
}

.bf-command-palette__shell {
  display: grid;
  max-height: inherit;
}

.bf-command-palette__header,
.bf-command-palette__footer {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px;
}

.bf-command-palette__header {
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.bf-command-palette__header span {
  color: var(--bf-accent-cyan);
  font-size: .57rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.bf-command-palette__header h2 {
  margin: 4px 0 0;
  font-family: "Inter Tight", Inter, system-ui, sans-serif;
  font-size: 1.35rem;
  letter-spacing: -.035em;
}

.bf-command-palette__header button {
  min-width: 42px;
  min-height: 34px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 9px;
  color: var(--bf-muted);
  background: rgba(255,255,255,.025);
  font: inherit;
  font-size: .56rem;
  cursor: pointer;
}

.bf-command-palette__search {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin: 16px 20px 8px;
  padding: 13px 15px;
  border: 1px solid rgba(125,235,255,.13);
  border-radius: 14px;
  background: rgba(125,235,255,.025);
}

.bf-command-palette__search input {
  width: 100%;
  border: 0;
  outline: 0;
  color: var(--bf-text);
  background: transparent;
  font: inherit;
  font-size: .82rem;
}

.bf-command-palette__results {
  display: grid;
  gap: 5px;
  overflow-y: auto;
  padding: 8px 20px 18px;
}

.bf-command-palette__results button {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid transparent;
  border-radius: 13px;
  color: var(--bf-muted);
  text-align: left;
  background: transparent;
  font: inherit;
  cursor: pointer;
}

.bf-command-palette__results button:hover,
.bf-command-palette__results button[data-active="true"] {
  color: var(--bf-text);
  border-color: rgba(125,235,255,.13);
  background: rgba(125,235,255,.035);
}

.bf-command-palette__results button > span {
  color: var(--bf-accent-cyan);
  font-size: .54rem;
  font-weight: 800;
}

.bf-command-palette__results button div {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.bf-command-palette__results strong,
.bf-command-palette__results small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bf-command-palette__results strong { font-size: .7rem; }
.bf-command-palette__results small { font-size: .56rem; }
.bf-command-palette__results i { font-style: normal; }
.bf-command-palette__empty { padding: 28px; color: var(--bf-muted); text-align: center; }

.bf-command-palette__footer {
  justify-content: flex-start;
  border-top: 1px solid rgba(255,255,255,.06);
  color: var(--bf-muted);
  font-size: .54rem;
}

.bf-command-palette__footer span:last-child {
  margin-left: auto;
  color: var(--bf-accent-cyan);
}

/* First BookFels Hero origin layer. */
.bf-hero {
  min-height: max(940px, 100svh);
  padding-top: clamp(130px, 14vh, 180px);
  padding-bottom: 116px;
  background: #020710;
}

.bf-hero::after {
  background:
    linear-gradient(90deg, rgba(2,7,16,.98) 0%, rgba(2,7,16,.86) 31%, rgba(2,7,16,.36) 58%, rgba(2,7,16,.18) 78%, rgba(2,7,16,.44) 100%),
    linear-gradient(180deg, rgba(2,7,16,.22), transparent 45%, rgba(2,7,16,.92) 100%);
}

.bf-hero__first-design,
.bf-hero__first-design img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.bf-hero__first-design img {
  object-fit: cover;
  object-position: center center;
  opacity: .92;
  filter: saturate(.92) contrast(1.04) brightness(.86);
}

.bf-hero__universe {
  opacity: .12;
  mix-blend-mode: screen;
}

.bf-hero__star-canvas { opacity: .36; }
.bf-hero__stars-fallback { opacity: .22; }
.bf-hero__grid { opacity: .1; }
.bf-hero__network { opacity: .12; }
.bf-hero__orb--primary { opacity: .18; }
.bf-hero__orb--cyan { opacity: .14; }
.bf-hero__vignette {
  background:
    radial-gradient(circle at 76% 39%, transparent 12%, rgba(1,4,10,.08) 35%, rgba(1,4,10,.58) 100%);
}

.bf-hero__layout {
  position: relative;
  z-index: 2;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  gap: clamp(30px, 4vw, 72px);
  align-items: stretch;
}

.bf-hero__content {
  max-width: 760px;
  align-content: center;
  gap: 21px;
  padding-block: 24px;
}

.bf-genesis-phase {
  width: fit-content;
  min-height: 30px;
  display: inline-flex;
  gap: 8px;
  align-items: center;
  padding-inline: 11px;
  border: 1px solid rgba(125,235,255,.14);
  border-radius: 999px;
  color: rgba(234,246,255,.78);
  background: rgba(7,16,29,.48);
  font-size: .6rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  backdrop-filter: blur(14px);
}

.bf-genesis-phase > span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--bf-accent-cyan);
  box-shadow: 0 0 10px rgba(125,235,255,.45);
}

.bf-hero__brand {
  padding: 10px 13px;
  border: 1px solid rgba(255,255,255,.065);
  border-radius: 16px;
  background: rgba(5,12,23,.38);
  backdrop-filter: blur(14px);
}

.bf-hero__headline {
  max-width: 11.8ch;
  font-size: clamp(3.25rem, 5.35vw, 5.65rem);
  line-height: .96;
  text-shadow: 0 2px 26px rgba(0,0,0,.32);
}

.bf-hero__headline-line--accent {
  color: #d8fbff;
  background: none;
  -webkit-text-fill-color: currentColor;
  text-shadow: 0 0 20px rgba(125,235,255,.13);
}

.bf-hero__statement {
  max-width: 63ch;
  color: rgba(215,229,244,.76);
  text-shadow: 0 2px 18px rgba(0,0,0,.42);
}

.bf-genesis-inline-strip {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-color: rgba(125,235,255,.1);
  background: rgba(5,12,23,.44);
  backdrop-filter: blur(18px) saturate(112%);
}

.bf-genesis-inline-strip .bf-intel-card[data-state="ready"] strong,
.bf-genesis-inline-strip .bf-intel-card[data-state="verified"] strong,
.bf-genesis-inline-strip .bf-intel-card[data-state="connected"] strong {
  color: var(--bf-success);
}

.bf-genesis-inline-strip .bf-intel-card[data-state="reference"] strong,
.bf-genesis-inline-strip .bf-intel-card[data-state="review"] strong {
  color: var(--bf-accent-cyan);
}

.bf-hero__actions .bf-button--secondary {
  background: rgba(5,12,23,.5);
}

.bf-trust-network {
  max-width: 680px;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 14px;
  background: rgba(5,12,23,.32);
  backdrop-filter: blur(12px);
}

.bf-genesis-hero__visual {
  position: relative;
  min-height: 690px;
  align-self: stretch;
  pointer-events: none;
}

.bf-genesis-orbit {
  position: absolute;
  top: 5%;
  right: -2%;
  width: min(38vw, 570px);
  aspect-ratio: 1;
  opacity: .44;
}

.bf-genesis-orbit > span {
  position: absolute;
  inset: 14%;
  border: 1px solid rgba(125,235,255,.11);
  border-radius: 50%;
}

.bf-genesis-orbit > span:nth-child(2) { inset: 25%; opacity: .7; }
.bf-genesis-orbit > span:nth-child(3) { inset: 38%; opacity: .55; }

.bf-genesis-orbit > i {
  position: absolute;
  width: 8px;
  height: 8px;
  border: 1px solid rgba(125,235,255,.42);
  border-radius: 50%;
  background: #06111d;
  box-shadow: 0 0 12px rgba(125,235,255,.2);
}

.bf-genesis-orbit > i[data-state="ready"],
.bf-genesis-orbit > i[data-state="verified"],
.bf-genesis-orbit > i[data-state="connected"] {
  background: var(--bf-success);
  border-color: var(--bf-success);
}

.bf-genesis-orbit > i[data-node="kernel"] { top: 15%; left: 48%; }
.bf-genesis-orbit > i[data-node="identity"] { top: 46%; right: 7%; }
.bf-genesis-orbit > i[data-node="policy"] { right: 25%; bottom: 14%; }
.bf-genesis-orbit > i[data-node="audit"] { bottom: 19%; left: 20%; }

.bf-genesis-runtime-card {
  position: absolute;
  right: 0;
  bottom: 12px;
  width: min(100%, 440px);
  overflow: hidden;
  padding: 17px;
  border: 1px solid rgba(125,235,255,.13);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.075), transparent 34%),
    rgba(5,12,23,.68);
  box-shadow:
    0 22px 60px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.07);
  backdrop-filter: blur(22px) saturate(118%);
  -webkit-backdrop-filter: blur(22px) saturate(118%);
  pointer-events: auto;
}

.bf-genesis-runtime-card__header {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 13px;
  border-bottom: 1px solid rgba(255,255,255,.055);
}

.bf-genesis-runtime-card__identity {
  min-width: 0;
  display: flex;
  gap: 10px;
  align-items: center;
}

.bf-genesis-runtime-card__identity img {
  width: 39px;
  height: 39px;
}

.bf-genesis-runtime-card__identity div {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.bf-genesis-runtime-card__identity span {
  color: var(--bf-accent-cyan);
  font-size: .53rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.bf-genesis-runtime-card__identity h2 {
  overflow: hidden;
  margin: 0;
  font-family: "Inter Tight", Inter, system-ui, sans-serif;
  font-size: .86rem;
  letter-spacing: -.025em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bf-genesis-runtime-card__live {
  min-height: 27px;
  display: inline-flex;
  gap: 7px;
  align-items: center;
  padding-inline: 9px;
  border: 1px solid rgba(125,235,255,.12);
  border-radius: 999px;
  color: var(--bf-muted);
  font-size: .52rem;
  font-weight: 800;
  white-space: nowrap;
}

.bf-genesis-runtime-card__live > span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}

.bf-genesis-runtime-card__live[data-state="ready"] {
  color: var(--bf-success);
  border-color: rgba(67,217,140,.14);
}

.bf-genesis-runtime-card__engines {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  padding-block: 13px;
}

.bf-genesis-runtime-card__engines article {
  min-width: 0;
  display: grid;
  gap: 3px;
  padding: 9px;
  border: 1px solid rgba(255,255,255,.05);
  border-radius: 11px;
  background: rgba(255,255,255,.015);
}

.bf-genesis-runtime-card__engines span,
.bf-genesis-runtime-card__metrics > article > span,
.bf-genesis-runtime-card__footer span {
  color: var(--bf-muted);
  font-size: .49rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.bf-genesis-runtime-card__engines strong {
  overflow: hidden;
  font-size: .58rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bf-genesis-runtime-card__engines small {
  overflow: hidden;
  color: rgba(169,182,211,.54);
  font-size: .46rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bf-genesis-runtime-card__engines article[data-state="ready"] strong,
.bf-genesis-runtime-card__engines article[data-state="verified"] strong,
.bf-genesis-runtime-card__engines article[data-state="connected"] strong {
  color: var(--bf-success);
}

.bf-genesis-runtime-card__engines article[data-state="reference"] strong,
.bf-genesis-runtime-card__engines article[data-state="review"] strong {
  color: var(--bf-accent-cyan);
}

.bf-genesis-runtime-card__metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 12px 0;
  border-block: 1px solid rgba(255,255,255,.055);
}

.bf-genesis-runtime-card__metrics .bf-engine-metric {
  gap: 6px;
}

.bf-genesis-runtime-card__metrics strong {
  font-family: "Inter Tight", Inter, system-ui, sans-serif;
  font-size: 1rem;
}

.bf-genesis-runtime-card__footer {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 10px;
  align-items: end;
  padding-top: 12px;
}

.bf-genesis-runtime-card__footer > div {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.bf-genesis-runtime-card__footer strong {
  overflow: hidden;
  font-size: .58rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bf-genesis-runtime-card__footer a {
  color: var(--bf-accent-cyan);
  font-size: .55rem;
  font-weight: 800;
  text-decoration: none;
}

.bf-genesis-sentinel-label {
  position: absolute;
  top: 52%;
  right: 2%;
  display: flex;
  gap: 9px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid rgba(125,235,255,.11);
  border-radius: 13px;
  background: rgba(4,11,21,.44);
  backdrop-filter: blur(12px);
}

.bf-genesis-sentinel-label > span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--bf-accent-cyan);
  box-shadow: 0 0 10px rgba(125,235,255,.38);
}

.bf-genesis-sentinel-label div {
  display: grid;
  gap: 2px;
}

.bf-genesis-sentinel-label small {
  color: var(--bf-muted);
  font-size: .48rem;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.bf-genesis-sentinel-label strong { font-size: .57rem; }

/* Live state bridge between Hero and platform sections. */
.bf-live-trust-ribbon {
  position: relative;
  z-index: 4;
  margin-top: -60px;
  padding-bottom: 26px;
}

.bf-live-trust-ribbon__shell {
  display: grid;
  grid-template-columns: minmax(170px, .72fr) minmax(0, 3.28fr);
  gap: 22px;
  align-items: center;
  padding: 17px;
  border: 1px solid rgba(125,235,255,.12);
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.075), transparent 30%),
    rgba(6,13,24,.84);
  box-shadow: 0 20px 60px rgba(0,0,0,.35);
  backdrop-filter: blur(22px) saturate(116%);
  -webkit-backdrop-filter: blur(22px) saturate(116%);
}

.bf-live-trust-ribbon__header span {
  color: var(--bf-accent-cyan);
  font-size: .55rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.bf-live-trust-ribbon__header h2 {
  margin: 4px 0 2px;
  font-family: "Inter Tight", Inter, system-ui, sans-serif;
  font-size: .94rem;
  letter-spacing: -.025em;
}

.bf-live-trust-ribbon__header p {
  margin: 0;
  color: var(--bf-muted);
  font-size: .53rem;
  line-height: 1.35;
}

.bf-live-trust-ribbon__items {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 7px;
}

.bf-live-trust-ribbon__items article {
  min-width: 0;
  display: grid;
  grid-template-columns: 7px minmax(0, 1fr);
  gap: 3px 7px;
  align-items: center;
  padding: 9px;
  border: 1px solid rgba(255,255,255,.045);
  border-radius: 11px;
  background: rgba(255,255,255,.014);
}

.bf-live-trust-ribbon__items article > span {
  width: 7px;
  height: 7px;
  grid-row: 1 / 3;
  border-radius: 50%;
  background: rgba(169,182,211,.34);
}

.bf-live-trust-ribbon__items article[data-state="ready"] > span,
.bf-live-trust-ribbon__items article[data-state="verified"] > span,
.bf-live-trust-ribbon__items article[data-state="connected"] > span {
  background: var(--bf-success);
  box-shadow: 0 0 9px rgba(67,217,140,.36);
}

.bf-live-trust-ribbon__items article[data-state="reference"] > span,
.bf-live-trust-ribbon__items article[data-state="review"] > span,
.bf-live-trust-ribbon__items article[data-state="active"] > span {
  background: var(--bf-accent-cyan);
  box-shadow: 0 0 9px rgba(125,235,255,.32);
}

.bf-live-trust-ribbon__items article[data-state="degraded"] > span {
  background: var(--bf-warning);
}

.bf-live-trust-ribbon__items div {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.bf-live-trust-ribbon__items small,
.bf-live-trust-ribbon__items strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bf-live-trust-ribbon__items small {
  color: var(--bf-muted);
  font-size: .46rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.bf-live-trust-ribbon__items strong { font-size: .54rem; }

/* Section lifecycle: motion follows state, never decoration alone. */
main > section[id][data-bf-lifecycle="idle"] {
  --bf-section-light: 0;
}

main > section[id][data-bf-lifecycle="revealing"] {
  --bf-section-light: .28;
}

main > section[id][data-bf-lifecycle="visible"] {
  --bf-section-light: .58;
}

main > section[id][data-bf-lifecycle="interactive"] {
  --bf-section-light: 1;
}

main > section[id]::before {
  opacity: calc(var(--bf-section-light, 1) * .16);
  transition: opacity 500ms var(--bf-ease-standard);
}

@media (max-width: 1600px) {
  .bf-header-search span,
  .bf-header-search kbd { display: none; }
  .bf-header-search { width: 38px; justify-content: center; padding: 0; }
}

@media (max-width: 1480px) {
  .bf-header-runtime { display: none; }
}

@media (max-width: 1360px) {
  .bf-header-search { display: none; }
}

@media (max-width: 1220px) {
  .bf-header__nav { display: none; }
  .bf-header__bar { grid-template-columns: minmax(0, 1fr) max-content; }

  .bf-hero__layout {
    grid-template-columns: minmax(0, 1.08fr) minmax(300px, .72fr);
  }

  .bf-genesis-runtime-card { width: min(100%, 390px); }
  .bf-live-trust-ribbon__items { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 980px) {
  .bf-genesis-loader__panel { margin-right: 30vw; }

  .bf-hero {
    min-height: auto;
    padding-bottom: 130px;
  }

  .bf-hero__layout {
    grid-template-columns: 1fr;
  }

  .bf-hero__content { max-width: 720px; }
  .bf-genesis-hero__visual { min-height: 480px; }
  .bf-genesis-orbit { right: 0; width: min(72vw, 560px); }
  .bf-genesis-runtime-card { right: 0; bottom: 0; }

  .bf-live-trust-ribbon__shell {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .bf-genesis-loader {
    align-items: end;
    padding: 12px;
  }

  .bf-genesis-loader__background img {
    object-position: center top;
    opacity: .74;
  }

  .bf-genesis-loader__vignette {
    background:
      linear-gradient(180deg, rgba(2,7,16,.08) 0%, rgba(2,7,16,.3) 34%, rgba(2,7,16,.93) 66%, #020710 100%);
  }

  .bf-genesis-loader__panel {
    width: 100%;
    max-height: 62dvh;
    overflow-y: auto;
    margin: 0;
    padding: 20px;
    border-radius: 22px;
  }

  .bf-genesis-loader__engines { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .bf-header__actions { gap: 6px; }
  .bf-header-search,
  .bf-header-runtime { display: none; }

  .bf-command-palette {
    width: calc(100vw - 16px);
    max-height: calc(100dvh - 16px);
    border-radius: 20px;
  }

  .bf-command-palette__footer span:last-child { display: none; }

  .bf-hero {
    min-height: 1450px;
    padding-top: 560px;
    padding-bottom: 118px;
  }

  .bf-hero::after {
    background:
      linear-gradient(180deg, rgba(2,7,16,.03) 0%, rgba(2,7,16,.22) 30%, rgba(2,7,16,.9) 51%, #020710 72%, #020710 100%);
  }

  .bf-hero__first-design {
    height: 680px;
    bottom: auto;
  }

  .bf-hero__first-design img {
    object-fit: cover;
    object-position: center top;
    opacity: .98;
  }

  .bf-hero__universe,
  .bf-hero__network,
  .bf-hero__grid { opacity: .04; }

  .bf-hero__layout { gap: 34px; }
  .bf-hero__content { padding: 0; }
  .bf-genesis-phase { font-size: .52rem; }

  .bf-hero__headline {
    max-width: none;
    font-size: clamp(2.7rem, 13vw, 4rem);
  }

  .bf-genesis-inline-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bf-trust-network__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .bf-genesis-hero__visual {
    min-height: 500px;
    display: block;
  }

  .bf-genesis-orbit {
    top: -70px;
    right: -120px;
    width: 430px;
    opacity: .2;
  }

  .bf-genesis-sentinel-label {
    position: relative;
    top: auto;
    right: auto;
    width: fit-content;
    margin-bottom: 12px;
  }

  .bf-genesis-runtime-card {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
  }

  .bf-genesis-runtime-card__header { align-items: flex-start; flex-direction: column; }
  .bf-genesis-runtime-card__engines { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bf-genesis-runtime-card__metrics { grid-template-columns: 1fr; }
  .bf-genesis-runtime-card__footer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bf-genesis-runtime-card__footer a { grid-column: 1 / -1; }

  .bf-live-trust-ribbon {
    margin-top: -46px;
    padding-inline: 8px;
  }

  .bf-live-trust-ribbon__shell { padding: 14px; }
  .bf-live-trust-ribbon__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bf-live-trust-ribbon__items article:last-child { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  .bf-genesis-loader,
  .bf-genesis-loader__progress span,
  .bf-header__bar::after,
  .bf-header__nav a::after,
  main > section[id]::before {
    transition: none !important;
  }

  .bf-genesis-loader__scan { animation: none !important; }
  .bf-genesis-orbit { display: none; }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .bf-genesis-loader__panel,
  .bf-command-palette,
  .bf-genesis-runtime-card,
  .bf-live-trust-ribbon__shell {
    background: #08111f;
  }
}

/* Milestone A.1 desktop composition lock: keep the original Sentinel complete
   while preserving the three-line strategic hierarchy. */
@media (min-width: 1221px) {
  .bf-hero__first-design {
    height: max(940px, 100svh);
    bottom: auto;
  }

  .bf-hero__first-design img {
    object-position: right center;
  }

  .bf-hero__headline {
    max-width: none;
    font-size: clamp(3.15rem, 4.15vw, 4.35rem);
  }

  .bf-hero__headline-line:nth-of-type(1),
  .bf-hero__headline-line:nth-of-type(2) {
    white-space: nowrap;
  }

  .bf-hero__headline-line--accent {
    max-width: 20ch;
    font-size: .8em;
    line-height: 1.02;
  }

  .bf-genesis-hero__visual {
    height: 760px;
    min-height: 760px;
    align-self: start;
  }
}
