/* Benevolate homepage — canonical visual system */

*,
*::before,
*::after { box-sizing: border-box; }

html {
  --neb-vibe: 0;
  scroll-behavior: auto;
  -webkit-text-size-adjust: 100%;
}

html:focus-within {
  scroll-behavior: smooth;
}

body.bv-page {
  margin: 0;
  font-family: var(--bv-font);
  font-size: 16px;
  line-height: 1.6;
  color: var(--bv-ink);
  background: color-mix(in srgb, var(--bv-cream) calc((1 - var(--neb-vibe)) * 100%), #05060c calc(var(--neb-vibe) * 100%));
  color-scheme: light;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}
body.bv-page::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 24;
  pointer-events: none;
  opacity: calc(var(--neb-vibe) * 0.78);
  background:
    radial-gradient(ellipse 80% 62% at 72% 40%, rgba(56, 28, 110, 0.38), transparent 58%),
    rgba(3, 4, 10, 0.58);
  mix-blend-mode: multiply;
}

body.bv-page.bv-lock { overflow: hidden; }

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

img { max-width: 100%; height: auto; display: block; }
button, input { font-family: inherit; }
a { color: inherit; }

.bv-skip {
  position: absolute;
  left: 12px;
  top: -48px;
  z-index: 1000;
  padding: 8px 12px;
  background: var(--bv-ink);
  color: var(--bv-cream);
  border-radius: 4px;
  text-decoration: none;
  font-size: 14px;
}
.bv-skip:focus { top: 12px; }

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

#main > section[id] {
  scroll-margin-top: calc(var(--bv-nav-h) + 12px);
}

.bv-wrap--wide {
  width: min(var(--bv-wrap-wide), calc(100% - var(--bv-gutter) * 2));
}

.bv-kicker {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--bv-green);
  background: var(--bv-green-soft);
  padding: 6px 14px;
  border-radius: 100px;
  margin: 0 0 16px;
}
button.bv-kicker {
  font: inherit;
  border: 0;
  cursor: pointer;
}

.bv-display {
  font-family: var(--bv-display);
  font-weight: 400;
  letter-spacing: -0.02em;
}

.bv-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 0 22px;
  border-radius: 100px;
  border: 1px solid transparent;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: -0.01em;
  text-decoration: none;
  cursor: pointer;
  background: none;
  transition: background 160ms var(--bv-ease), color 160ms var(--bv-ease), border-color 160ms var(--bv-ease), transform 160ms var(--bv-ease), box-shadow 160ms var(--bv-ease);
}
.bv-btn:hover { transform: translateY(-2px); }
.bv-btn:active { transform: none; }
.bv-btn:focus-visible {
  outline: 2px solid var(--bv-blue);
  outline-offset: 3px;
}

.bv-btn--primary {
  background: var(--bv-gradient);
  color: #fff;
  box-shadow: 0 4px 20px rgba(79, 160, 234, 0.28);
}
.bv-btn--primary:hover {
  box-shadow: 0 8px 32px rgba(55, 198, 160, 0.35);
}

.bv-btn--ghost {
  border-color: var(--bv-line-strong);
  color: var(--bv-ink);
  background: rgba(255, 255, 255, 0.55);
}
.bv-btn--ghost:hover { background: #fff; }

.bv-btn--invert {
  background: var(--bv-cream);
  color: var(--bv-ink);
}
.bv-btn--invert:hover { background: #fff; }

.bv-btn--ghost-invert {
  border-color: rgba(250, 248, 239, 0.28);
  color: var(--bv-cream);
}
.bv-btn--ghost-invert:hover { background: rgba(250, 248, 239, 0.06); }

.bv-btn--text {
  min-height: auto;
  padding: 0;
  border: 0;
  color: var(--bv-ink);
  font-weight: 600;
  gap: 6px;
}
.bv-btn--text:hover { color: var(--bv-ink-soft); }
.bv-btn--text svg { width: 14px; height: 14px; }

/* ---------- NAV ---------- */
.bv-nav {
  position: sticky;
  top: 0;
  z-index: 50;
  height: var(--bv-nav-h);
  background: rgba(250, 248, 239, 0.86);
  border-bottom: 1px solid transparent;
  transition: border-color 200ms var(--bv-ease), background 200ms var(--bv-ease);
}
.bv-nav.is-scrolled {
  border-bottom-color: var(--bv-line);
  background: rgba(250, 248, 239, 0.94);
}

.bv-nav__inner {
  height: 100%;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
  position: relative;
  backdrop-filter: saturate(1.2) blur(14px);
}

.bv-nav__logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  justify-self: start;
}
.bv-nav__mark {
  width: 28px;
  height: 28px;
  object-fit: contain;
}
.bv-nav__word {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -0.03em;
}

.bv-nav__links {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: nowrap;
  white-space: nowrap;
}

.bv-nav__item { position: relative; }
.bv-nav__item:has(.bv-nav__mega) { position: static; }

.bv-nav__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  font-size: 14px;
  font-weight: 500;
  color: var(--bv-ink-soft);
  text-decoration: none;
  border-radius: 6px;
  background: none;
  border: 0;
  cursor: pointer;
}
.bv-nav__link i {
  font-size: 15px;
  line-height: 1;
  opacity: 0.72;
}
.bv-nav__link:hover,
.bv-nav__link.is-active,
.bv-nav__link[aria-expanded="true"],
.bv-nav__item.is-open > .bv-nav__link { background: rgba(17, 24, 39, 0.05); }
.bv-nav__link.is-active { color: var(--bv-ink); }
.bv-nav__link:focus-visible {
  outline: 2px solid var(--bv-blue);
  outline-offset: 2px;
}
.bv-nav__caret {
  width: 10px;
  height: 10px;
  opacity: 0.55;
  transition: transform 180ms var(--bv-ease);
}
.bv-nav__item.is-open .bv-nav__caret,
.bv-nav__item:hover .bv-nav__caret { transform: rotate(180deg); }
.bv-nav__item > .bv-nav__link:hover {
  color: var(--bv-ink);
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
}

.bv-nav__menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 240px;
  padding: 12px 0 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  display: none;
}
.bv-nav__item.is-open .bv-nav__menu,
.bv-nav__item:focus-within .bv-nav__menu { display: grid; }
@media (hover: hover) and (pointer: fine) {
  .bv-nav__item:hover .bv-nav__menu { display: grid; }
}

.bv-nav__menu a {
  display: grid;
  gap: 2px;
  padding: 10px 12px;
  border-radius: 8px;
  text-decoration: none;
}
.bv-nav__menu a:hover { background: var(--bv-cream); }
.bv-nav__menu strong {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.02em;
}
.bv-nav__menu span {
  font-size: 12px;
  color: var(--bv-muted);
  font-weight: 400;
}

.bv-nav__mega {
  width: min(840px, calc(100vw - 32px));
  left: 50%;
  transform: translateX(-50%);
  padding: 18px 20px 16px;
  gap: 16px;
  z-index: 60;
  background: var(--bv-paper);
  border: 1px solid var(--bv-line);
  border-radius: 12px;
  box-shadow: 0 16px 40px rgba(17, 24, 39, 0.08);
}
.bv-nav__mega-section h4 {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--bv-muted);
}
.bv-nav__mega-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 2px;
}
.bv-nav__mega a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: -0.02em;
}
.bv-nav__mega a i {
  flex: 0 0 auto;
  font-size: 16px;
  color: #1f8a72;
  opacity: 0.9;
}

.bv-nav__cta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
.bv-nav__cta .bv-btn { white-space: nowrap; }
.bv-nav__login {
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  padding: 8px 12px;
  border-radius: 6px;
  color: var(--bv-ink-soft);
}
.bv-nav__login:hover { background: rgba(17, 24, 39, 0.05); }
.bv-nav__login:focus-visible {
  outline: 2px solid var(--bv-blue);
  outline-offset: 2px;
}

.bv-nav__toggle {
  display: none;
  width: 44px;
  height: 44px;
  border: 0;
  background: none;
  padding: 0;
  cursor: pointer;
  justify-self: end;
}
.bv-nav__toggle span {
  display: block;
  width: 18px;
  height: 1.5px;
  margin: 5px auto;
  background: var(--bv-ink);
  transition: transform 200ms var(--bv-ease), opacity 200ms;
}
.bv-nav.is-open .bv-nav__toggle span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.bv-nav.is-open .bv-nav__toggle span:nth-child(2) { opacity: 0; }
.bv-nav.is-open .bv-nav__toggle span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

.bv-nav__mobile {
  display: none;
}

@media (max-width: 1080px) {
  .bv-nav__inner { grid-template-columns: 1fr auto; }
  .bv-nav__links,
  .bv-nav__cta { display: none; }
  .bv-nav__toggle { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; }
  .bv-nav__mobile[hidden] { display: none !important; }
  .bv-nav.is-open + .bv-nav__mobile {
    display: block;
    position: fixed;
    inset: var(--bv-nav-h) 0 0 0;
    background: #faf8ef;
    z-index: 40;
    padding: 12px var(--bv-gutter) 32px;
    overflow: auto;
    pointer-events: auto;
  }
  .bv-nav__mobile a,
  .bv-nav__mobile button.bv-nav__mhead,
  .bv-nav__msplit > a {
    display: block;
    width: 100%;
    text-align: left;
    padding: 14px 0;
    border: 0;
    border-bottom: 1px solid var(--bv-line);
    background: none;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: -0.02em;
    text-decoration: none;
    color: var(--bv-ink);
    cursor: pointer;
  }
  .bv-nav__msplit {
    display: flex;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid var(--bv-line);
  }
  .bv-nav__msplit > a { border-bottom: 0; flex: 1; }
  .bv-nav__mcaret {
    width: 44px;
    height: 44px;
    border: 0;
    background: none;
    color: var(--bv-ink);
    font-size: 18px;
    cursor: pointer;
  }
  .bv-nav__msub {
    display: none;
    padding: 4px 0 12px 8px;
  }
  .bv-nav__msub.is-open { display: grid; }
  .bv-nav__msub a {
    font-size: 15px;
    font-weight: 450;
    color: var(--bv-muted);
    border: 0;
    padding: 10px 0;
  }
  .bv-nav__mobile-cta {
    display: grid;
    gap: 10px;
    margin-top: 24px;
  }
}

/* ---------- BLOBS ---------- */
.bv-blobs {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}
.bv-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.55;
  animation: bv-blob-drift 14s ease-in-out infinite;
}
.bv-blob--blue { background: var(--bv-blue-glow); }
.bv-blob--teal { background: var(--bv-teal-glow); }
.bv-blob--1 { width: 620px; height: 820px; top: -200px; left: -160px; opacity: 0.72; }
.bv-blob--2 { width: 560px; height: 780px; top: 0; right: -180px; animation-delay: -5s; opacity: 0.68; }
.bv-blob--3 { width: 520px; height: 700px; bottom: -180px; left: 28%; animation-delay: -8s; opacity: 0.48; }

@keyframes bv-blob-drift {
  0%, 100% { transform: translate(0, 0) scale(1); }
  33% { transform: translate(22px, -26px) scale(1.06); }
  66% { transform: translate(-18px, 14px) scale(0.96); }
}

@keyframes bv-node {
  to { opacity: 1; transform: none; }
}

/* ---------- HERO ---------- */
.bv-hero {
  --hero-p: 0;
  position: relative;
  overflow: visible;
  display: flex;
  align-items: center;
  min-height: calc(100vh - var(--bv-nav-h));
  padding: 56px 0 72px;
}
.bv-hero__pin {
  position: relative;
  z-index: 1;
  width: 100%;
}

.bv-hero__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(320px, 1.32fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
}

.bv-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 22px;
  padding: 6px 16px;
  border-radius: 100px;
  background: linear-gradient(135deg, var(--bv-blue-soft), var(--bv-green-soft));
  border: 1px solid rgba(55, 198, 160, 0.22);
  color: #1f8a72;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.01em;
}
.bv-hero__badge i {
  font-size: 15px;
  line-height: 1;
}

.bv-hero h1 {
  margin: 0;
  font-size: clamp(2.2rem, 4.5vw, 3.85rem);
  font-weight: 600;
  letter-spacing: -0.045em;
  line-height: 1.06;
}

.bv-hero h1 em {
  font-style: normal;
  background: var(--bv-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.bv-hero__lede {
  margin: 18px 0 0;
  max-width: 22em;
  font-size: 16px;
  line-height: 1.6;
  color: var(--bv-muted);
}

.bv-hero__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 12px;
  margin-top: 28px;
}

.bv-hero__stage {
  position: relative;
  width: 100%;
  min-width: 0;
  min-height: 0;
  padding: 52px 24px 36px;
}

.bv-hero__glow {
  position: absolute;
  left: 50%;
  top: 8%;
  bottom: 4%;
  width: 92%;
  height: auto;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at center, var(--bv-teal-glow), var(--bv-blue-glow), transparent 70%);
  filter: blur(18px);
  pointer-events: none;
  z-index: 0;
}

.bv-hero:not(.is-on) .bv-hero__copy,
.bv-hero:not(.is-on) .bv-film,
.bv-hero:not(.is-on) .bv-hfloat {
  opacity: 0;
  transform: translateY(18px) scale(0.96);
}
.bv-hero.is-on .bv-hero__copy {
  animation: bv-ease-in 780ms var(--bv-ease) backwards;
}
.bv-hero.is-on .bv-film {
  animation: bv-ease-in 900ms var(--bv-ease) 0.12s backwards;
}
.bv-hero.is-on .bv-hfloat {
  animation: bv-card-in 900ms var(--bv-ease) backwards;
}
.bv-hero.is-on .bv-hfloat--gift { animation-delay: 0.38s; }
.bv-hero.is-on .bv-hfloat--check { animation-delay: 0.52s; }
.bv-hero.is-on .bv-hfloat--mail { animation-delay: 0.66s; }
.bv-hero.is-on .bv-hfloat--form { animation-delay: 0.8s; }
.bv-hero.is-on .bv-hfloat--board { animation-delay: 0.94s; }

@keyframes bv-ease-in {
  from { opacity: 0; transform: translateY(18px) scale(0.96); }
  to { opacity: 1; transform: none; }
}
@keyframes bv-card-in {
  from { opacity: 0; transform: translateY(22px) scale(0.82); }
  to { opacity: 1; transform: none; }
}

.bv-film {
  position: relative;
  z-index: 2;
  overflow: visible;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(17, 24, 39, 0.08);
  box-shadow:
    0 24px 80px rgba(79, 160, 234, 0.16),
    0 8px 24px rgba(17, 24, 39, 0.08);
}

.bv-film__bar {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 14px;
  background: #f6f4ea;
  border-bottom: 1px solid var(--bv-line);
}
.bv-film__bar > span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #d8d3c6;
}
.bv-film__bar > span:nth-child(1) { background: #e8b4b4; }
.bv-film__bar > span:nth-child(2) { background: #e6d48a; }
.bv-film__bar > span:nth-child(3) { background: #b5dcc8; }
.bv-film__search {
  margin-left: 10px;
  flex: 1;
  padding: 6px 10px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid var(--bv-line);
  font-size: 11px;
  color: var(--bv-faint);
}

.bv-film__body {
  display: grid;
  grid-template-columns: 132px 1fr;
  min-height: 0;
}
.bv-film__rail {
  padding: 14px 10px;
  background: #faf8ef;
  border-right: 1px solid var(--bv-line);
}
.bv-film__brand {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 16px;
  letter-spacing: -0.02em;
}
.bv-film__brand img { width: 16px; height: 16px; }
.bv-film__rail ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 4px;
}
.bv-film__rail li {
  font-size: 12px;
  padding: 8px 10px;
  border-radius: 8px;
  color: var(--bv-muted);
  transition: background 420ms var(--bv-ease), color 420ms var(--bv-ease), transform 420ms var(--bv-ease);
}
.bv-film__rail li.is-on {
  background: linear-gradient(135deg, var(--bv-blue-soft), var(--bv-green-soft));
  color: var(--bv-ink);
  font-weight: 600;
  transform: scale(1.04);
}

.bv-film__main { padding: 20px 18px 22px; }
.bv-film__kicker {
  margin: 0 0 12px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--bv-green);
}

.bv-hkpis {
  display: none;
}
.bv-hkpis span {
  padding: 7px 8px;
  border-radius: 9px;
  background: linear-gradient(180deg, #fff, #f4fbf8);
  border: 1px solid rgba(55, 198, 160, 0.22);
  font-size: 10px;
  color: var(--bv-muted);
}
.bv-hkpis b {
  display: block;
  font-size: 13px;
  letter-spacing: -0.03em;
  color: var(--bv-ink);
}

.bv-hcards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.bv-hcard {
  position: relative;
  text-align: left;
  padding: 16px 12px 15px;
  border-radius: 12px;
  border: 1px solid var(--bv-line);
  background: #fff;
  cursor: pointer;
  overflow: hidden;
  color: inherit;
  font-family: inherit;
  transform-origin: center;
  transition: transform 560ms var(--bv-ease), box-shadow 560ms var(--bv-ease), border-color 560ms var(--bv-ease), background 560ms var(--bv-ease);
}
.bv-hcard small {
  display: block;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--bv-faint);
  margin-bottom: 6px;
}
.bv-hcard b {
  display: block;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -0.03em;
}
.bv-hcard p {
  margin: 4px 0 0;
  font-size: 11px;
  line-height: 1.35;
  color: var(--bv-muted);
}
.bv-hcard.is-hot {
  transform: scale(1.03);
  z-index: 2;
  border-color: rgba(55, 198, 160, 0.45);
  background: linear-gradient(180deg, #fff, #f3fbf8);
  box-shadow: 0 16px 36px rgba(55, 198, 160, 0.22);
  animation: bv-hot-pop 520ms var(--bv-ease);
}
.bv-hcard.is-click::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 50%, rgba(79, 160, 234, 0.28), transparent 58%);
  animation: bv-ripple 520ms var(--bv-ease) both;
  pointer-events: none;
}
@keyframes bv-ripple {
  from { opacity: 0.9; transform: scale(0.6); }
  to { opacity: 0; transform: scale(1.4); }
}

.bv-hrows {
  margin-top: 18px;
  border: 1px solid var(--bv-line);
  border-radius: 12px;
  overflow: hidden;
}
.bv-hrow {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 13px 14px;
  font-size: 12px;
  border-bottom: 1px solid var(--bv-line);
  color: var(--bv-ink-soft);
  opacity: 0.45;
  transform: translateX(0);
  transition: opacity 480ms var(--bv-ease), background 480ms var(--bv-ease), transform 480ms var(--bv-ease);
}
.bv-hrow:last-child { border-bottom: 0; }
.bv-hrow em {
  font-style: normal;
  color: var(--bv-faint);
  font-size: 11px;
}
.bv-hrow.is-on {
  opacity: 1;
  background: linear-gradient(90deg, var(--bv-green-soft) 0, var(--bv-green-soft) 4px, transparent 72%);
  transform: none;
}
.bv-hrow.is-on em {
  color: var(--bv-green);
  font-weight: 600;
}

.bv-hfloat {
  position: absolute;
  z-index: 3;
  min-width: 168px;
  padding: 12px 14px;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(17, 24, 39, 0.08);
  border-radius: 14px;
  box-shadow: 0 12px 32px rgba(17, 24, 39, 0.1);
  transform-origin: center;
  transition: transform 640ms var(--bv-ease), box-shadow 640ms var(--bv-ease);
}
.bv-hfloat__dot {
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-bottom: 8px;
}
.bv-hfloat__dot--g { background: var(--bv-green); }
.bv-hfloat__dot--b { background: var(--bv-blue); }
.bv-hfloat b {
  display: block;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -0.02em;
}
.bv-hfloat i {
  display: block;
  margin-top: 3px;
  font-style: normal;
  font-size: 11px;
  color: var(--bv-muted);
}
.bv-hfloat--gift { top: 6px; right: 8px; }
.bv-hfloat--check { bottom: 8px; left: 8px; }
.bv-hfloat--mail { top: 42%; right: 6px; }
.bv-hfloat.is-hot {
  animation: bv-hot-pop 560ms var(--bv-ease);
  transform: scale(1.05);
  z-index: 5;
  box-shadow: 0 18px 40px rgba(79, 160, 234, 0.24);
}
.bv-hfloat.is-hot .bv-hfloat__dot {
  box-shadow: 0 0 0 6px rgba(55, 198, 160, 0.22);
  animation: bv-dot-ping 720ms var(--bv-ease);
}
@keyframes bv-hot-pop {
  0% { transform: scale(1); }
  42% { transform: scale(1.07); }
  100% { transform: scale(1.05); }
}
@keyframes bv-dot-ping {
  0% { box-shadow: 0 0 0 0 rgba(55, 198, 160, 0.4); }
  100% { box-shadow: 0 0 0 10px rgba(55, 198, 160, 0); }
}

.bv-orbit {
  position: absolute;
  z-index: 4;
  width: 168px;
  padding: 11px 13px;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(17, 24, 39, 0.08);
  border-radius: 14px;
  box-shadow: 0 14px 36px rgba(17, 24, 39, 0.12);
  pointer-events: none;
  --shown: clamp(0, calc((var(--hero-p, 0) - var(--appear, 0.2)) / 0.14), 1);
  opacity: var(--shown);
  transform: translate3d(0, calc((1 - var(--shown)) * 18px), 0) rotate(var(--r, 0deg)) scale(calc(0.86 + var(--shown) * 0.14));
}
.bv-orbit small {
  display: block;
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--bv-faint);
  margin-bottom: 4px;
}
.bv-orbit b {
  display: block;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -0.03em;
}
.bv-orbit span {
  display: block;
  margin-top: 3px;
  font-size: 11px;
  color: var(--bv-muted);
}
.bv-orbit--1 { top: 4%; left: -40px; z-index: 5; }
.bv-orbit--2 { top: -26px; right: 22%; }
.bv-orbit--3 { top: 16%; right: -46px; }
.bv-orbit--4 { top: 58%; left: -52px; }
.bv-orbit--5 { bottom: -22px; left: 22%; }
.bv-orbit--6 { bottom: 4%; right: -42px; }
.bv-orbit--7 { bottom: -8px; right: 26%; }
.bv-orbit--8 { top: 38%; left: -18px; z-index: 1; }

.bv-cursor {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 8;
  width: 22px;
  height: 22px;
  pointer-events: none;
  opacity: 0;
  transform: translate(-10px, -4px);
  transition: transform 480ms var(--bv-ease), opacity 240ms linear;
}
.bv-hero.is-on .bv-cursor { opacity: 1; }
.bv-cursor svg {
  width: 22px;
  height: 22px;
  filter: drop-shadow(0 2px 4px rgba(17, 24, 39, 0.28));
}
.bv-cursor svg path { fill: var(--bv-ink); }
.bv-cursor i {
  position: absolute;
  left: 2px;
  top: 2px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(55, 198, 160, 0.35);
  transform: scale(0);
  opacity: 0;
}
.bv-cursor.is-click svg { transform: scale(0.86); }
.bv-cursor.is-click i {
  animation: bv-click-pulse 420ms var(--bv-ease);
}
@keyframes bv-click-pulse {
  0% { transform: scale(0.2); opacity: 0.7; }
  100% { transform: scale(2.4); opacity: 0; }
}

/* ---------- LOGOS / TRUST ---------- */
.bv-logos {
  padding: 40px 0 48px;
  overflow: hidden;
  background: var(--bv-cream-deep);
  border-block: 1px solid rgba(17, 24, 39, 0.04);
}
.bv-logos__title {
  margin: 0 0 22px;
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 600;
  letter-spacing: -0.035em;
  line-height: 1.15;
  max-width: 16em;
}
.bv-marquee {
  position: relative;
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 40px, #000 calc(100% - 40px), transparent);
}
.bv-marquee__track {
  display: flex;
  width: max-content;
  gap: 10px;
  padding: 4px 16px 8px;
}
.bv-marquee.is-running .bv-marquee__track {
  animation: bv-marquee var(--bv-marquee-duration, 32s) linear infinite;
}
.bv-marquee.is-running:hover .bv-marquee__track,
.bv-marquee.is-running:focus-within .bv-marquee__track {
  animation-play-state: paused;
}
.bv-marquee.is-static {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  mask-image: none;
}
@keyframes bv-marquee {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(calc(-1 * var(--bv-marquee-shift, 50%)), 0, 0); }
}
.bv-trust {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 10px;
}
.bv-trust__card {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  width: 196px;
  min-height: 64px;
  padding: 8px 12px 8px 8px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(17, 24, 39, 0.06);
  text-decoration: none;
  color: inherit;
}
.bv-trust__mark {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 4px 12px rgba(17, 24, 39, 0.05);
  overflow: hidden;
}
.bv-trust__mark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 5px;
}
.bv-trust__mark--fill img {
  object-fit: cover;
  padding: 0;
}
.bv-trust__mark--photo img {
  object-fit: cover;
  padding: 0;
  object-position: 50% 18%;
}
.bv-trust__mark--logo img {
  padding: 8px 4px;
}
.bv-trust__copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.bv-trust__card strong {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.25;
  line-clamp: 2;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.bv-trust__card small {
  font-size: 10px;
  color: var(--bv-blue);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ---------- AMA ---------- */
.bv-ama {
  position: relative;
  overflow: hidden;
  background: var(--bv-ink);
  color: var(--bv-cream);
  padding: clamp(64px, 9vw, 112px) 0;
}
.bv-ama::before,
.bv-ama::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(90px);
}
.bv-ama::before {
  width: 520px;
  height: 520px;
  top: -180px;
  right: -140px;
  background: rgba(55, 198, 160, 0.28);
}
.bv-ama::after {
  width: 420px;
  height: 420px;
  bottom: -160px;
  left: -120px;
  background: rgba(79, 160, 234, 0.22);
}
.bv-ama .bv-wrap { position: relative; z-index: 1; }
.bv-ama .bv-kicker {
  color: var(--bv-green);
  background: rgba(55, 198, 160, 0.16);
}
.bv-ama__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, 0.85fr);
  gap: 22px;
  align-items: stretch;
}
.bv-ama__hero {
  margin: 0;
  min-height: 520px;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(250, 248, 239, 0.12);
}
.bv-ama__hero img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 42%;
}
.bv-ama__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}
.bv-ama h2 {
  margin: 0;
  font-size: clamp(2.2rem, 4.2vw, 3.4rem);
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 1.05;
}
.bv-ama__intro {
  margin: 16px 0 0;
  font-size: 16px;
  line-height: 1.65;
  color: rgba(250, 248, 239, 0.72);
  max-width: 32em;
}
.bv-ama__stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 28px;
  background: none;
  border: 0;
}
.bv-ama__stat {
  background: rgba(8, 12, 20, 0.45);
  padding: 18px 16px 16px;
  border-radius: 18px;
  border: 1px solid rgba(250, 248, 239, 0.14);
}
.bv-ama__stat b {
  display: block;
  font-size: clamp(1.7rem, 2.6vw, 2.4rem);
  font-weight: 600;
  letter-spacing: -0.045em;
  line-height: 1;
  color: var(--bv-cream);
}
.bv-ama__stat b em {
  font-style: normal;
  color: var(--bv-green);
}
.bv-ama__stat span {
  display: block;
  margin-top: 8px;
  font-size: 12.5px;
  line-height: 1.4;
  color: rgba(250, 248, 239, 0.62);
  max-width: 14em;
}
.bv-ama__go {
  margin: 22px 0 0;
}
.bv-ama__go a {
  color: var(--bv-cream);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}
.bv-ama__go a:hover,
.bv-ama__go a:focus-visible {
  color: var(--bv-green);
}

/* ---------- FRAGMENTATION ---------- */
.bv-frag {
  --frag-p: 0;
  position: relative;
  overflow: hidden;
  padding: clamp(72px, 10vw, 128px) 0 clamp(28px, 4vw, 40px);
  background:
    radial-gradient(ellipse 80% 60% at 8% -10%, rgba(79, 160, 234, 0.28), transparent 58%),
    radial-gradient(ellipse 70% 50% at 100% 110%, rgba(55, 198, 160, 0.22), transparent 55%),
    radial-gradient(ellipse 40% 40% at 70% 0%, rgba(124, 92, 191, 0.1), transparent 60%),
    var(--bv-cream);
}
.bv-frag__aurora {
  position: absolute;
  inset: -20% -10% auto;
  height: 70%;
  background:
    radial-gradient(closest-side at 30% 50%, rgba(79, 160, 234, 0.32), transparent 70%),
    radial-gradient(closest-side at 70% 40%, rgba(55, 198, 160, 0.28), transparent 72%);
  filter: blur(36px);
  opacity: 0.72;
  pointer-events: none;
}
.bv-frag .bv-wrap { position: relative; z-index: 1; }
.bv-frag__head {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 40px;
  align-items: end;
  margin-bottom: 40px;
}
.bv-frag h2 {
  margin: 0;
  font-size: clamp(2.1rem, 4.4vw, 3.5rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.06;
  max-width: 12em;
  background-image: var(--bv-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.bv-frag__head p {
  margin: 0;
  color: var(--bv-ink-soft);
  max-width: 32em;
}

.bv-frag__canvas {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(260px, 0.95fr);
  gap: 20px;
  align-items: stretch;
  margin-bottom: 16px;
  padding: 22px;
  border: 1px solid transparent;
  border-radius: 24px;
  background:
    linear-gradient(#f7f4ea, #f7f4ea) padding-box,
    linear-gradient(135deg, rgba(79, 160, 234, 0.7), rgba(55, 198, 160, 0.75), rgba(124, 92, 191, 0.45)) border-box;
  box-shadow:
    0 24px 60px rgba(79, 160, 234, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.7);
  overflow: hidden;
}
.bv-frag__beams {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: var(--frag-p, 0);
}
.bv-frag__beams path {
  fill: none;
  stroke: url(#bvFragBeam);
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-dasharray: 7 11;
  opacity: calc(0.35 + var(--frag-p, 0) * 0.4);
  animation: bv-frag-dash 1.4s linear infinite;
}
@keyframes bv-frag-dash {
  to { stroke-dashoffset: -36; }
}

.bv-frag__sources {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  position: relative;
  z-index: 1;
}
.bv-frag__card {
  padding: 12px 14px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid transparent;
  border-radius: 14px;
  background-clip: padding-box;
  box-shadow: 0 10px 28px rgba(17, 24, 39, 0.06);
  transform: translate3d(var(--dx, 0), var(--dy, 0), 0) rotate(var(--r, 0deg));
  animation: bv-frag-float 3.4s ease-in-out infinite;
  animation-delay: calc(var(--i) * -0.42s);
}
.bv-frag__card:nth-child(1) { --r: -7deg; --dx: -10px; --dy: 12px; }
.bv-frag__card:nth-child(2) { --r: 8deg; --dx: 14px; --dy: -10px; }
.bv-frag__card:nth-child(3) { --r: 5deg; --dx: -8px; --dy: 16px; }
.bv-frag__card:nth-child(4) { --r: -9deg; --dx: 12px; --dy: 8px; }
.bv-frag__card:nth-child(5) { --r: 6deg; --dx: -14px; --dy: -8px; }
.bv-frag__card:nth-child(6) { --r: -5deg; --dx: 8px; --dy: 14px; }
@keyframes bv-frag-float {
  0%, 100% { transform: translate3d(var(--dx), var(--dy), 0) rotate(var(--r)); }
  50% { transform: translate3d(calc(var(--dx) * -1.35), calc(var(--dy) * -1.55), 0) rotate(calc(var(--r) * -1.15)); }
}
.bv-frag__card--crm { box-shadow: 0 10px 28px rgba(79, 160, 234, 0.16); border-color: rgba(79, 160, 234, 0.45); }
.bv-frag__card--events { box-shadow: 0 10px 28px rgba(55, 198, 160, 0.16); border-color: rgba(55, 198, 160, 0.5); }
.bv-frag__card--email { box-shadow: 0 10px 28px rgba(62, 198, 224, 0.16); border-color: rgba(62, 198, 224, 0.5); }
.bv-frag__card--acct { box-shadow: 0 10px 28px rgba(232, 160, 78, 0.16); border-color: rgba(232, 160, 78, 0.5); }
.bv-frag__card--forms { box-shadow: 0 10px 28px rgba(124, 92, 191, 0.14); border-color: rgba(124, 92, 191, 0.4); }
.bv-frag__card--sheet { box-shadow: 0 10px 28px rgba(224, 120, 154, 0.14); border-color: rgba(224, 120, 154, 0.45); }
.bv-frag__card small {
  display: block;
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 6px;
}
.bv-frag__card--crm small { color: #3b8ad4; }
.bv-frag__card--events small { color: #1aa884; }
.bv-frag__card--email small { color: #1aa8bf; }
.bv-frag__card--acct small { color: #d4892a; }
.bv-frag__card--forms small { color: #7c5cbf; }
.bv-frag__card--sheet small { color: #c45d7f; }
.bv-frag__card b {
  display: block;
  font-size: 14px;
  letter-spacing: -0.02em;
}
.bv-frag__card span {
  display: block;
  margin-top: 3px;
  font-size: 12px;
  color: var(--bv-muted);
}

.bv-frag__logo {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid transparent;
  border-radius: 16px;
  box-shadow: 0 10px 28px rgba(17, 24, 39, 0.06);
  transform:
    translate3d(
      calc(var(--dx, 0px) * (1 - var(--frag-p, 0)) + 36px * var(--frag-p, 0)),
      calc(var(--dy, 0px) * (1 - var(--frag-p, 0)) + 6px * var(--frag-p, 0)),
      0
    )
    scale(calc(1 - 0.18 * var(--frag-p, 0)))
    rotate(calc(var(--r, 0deg) * (1 - var(--frag-p, 0))));
  opacity: calc(1 - 0.7 * var(--frag-p, 0));
}
.bv-frag__logo:nth-child(1) { --r: -6deg; --dx: -10px; --dy: 12px; }
.bv-frag__logo:nth-child(2) { --r: 7deg; --dx: 14px; --dy: -10px; }
.bv-frag__logo:nth-child(3) { --r: 4deg; --dx: -8px; --dy: 16px; }
.bv-frag__logo:nth-child(4) { --r: -8deg; --dx: 12px; --dy: 8px; }
.bv-frag__logo:nth-child(5) { --r: 5deg; --dx: -14px; --dy: -8px; }
.bv-frag__logo:nth-child(6) { --r: -4deg; --dx: 8px; --dy: 14px; }
.bv-frag__glyph {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: -0.04em;
  color: #fff;
}
.bv-frag__logo b {
  display: block;
  font-size: 13px;
  letter-spacing: -0.03em;
}
.bv-frag__logo small {
  display: block;
  margin-top: 2px;
  font-size: 11px;
  color: var(--bv-muted);
  letter-spacing: 0;
  text-transform: none;
  font-weight: 500;
}
.bv-frag__logo--crm { border-color: rgba(79, 160, 234, 0.45); }
.bv-frag__logo--crm .bv-frag__glyph { background: #4fa0ea; }
.bv-frag__logo--events { border-color: rgba(55, 198, 160, 0.5); }
.bv-frag__logo--events .bv-frag__glyph { background: #37c6a0; }
.bv-frag__logo--email { border-color: rgba(124, 107, 196, 0.45); }
.bv-frag__logo--email .bv-frag__glyph { background: #7c6bc4; }
.bv-frag__logo--acct { border-color: rgba(232, 168, 74, 0.5); }
.bv-frag__logo--acct .bv-frag__glyph { background: #e08a4a; }
.bv-frag__logo--forms { border-color: rgba(105, 108, 255, 0.45); }
.bv-frag__logo--forms .bv-frag__glyph { background: #696cff; }
.bv-frag__logo--sheet { border-color: rgba(61, 68, 88, 0.35); }
.bv-frag__logo--sheet .bv-frag__glyph { background: #3d4458; }

.bv-frag__household {
  position: relative;
  z-index: 1;
  padding: 22px 22px 18px;
  color: var(--bv-cream);
  border-radius: 18px;
  background:
    radial-gradient(ellipse at 20% 0%, rgba(79, 160, 234, 0.45), transparent 50%),
    radial-gradient(ellipse at 90% 100%, rgba(55, 198, 160, 0.4), transparent 46%),
    #111827;
  border: 1px solid transparent;
  background-clip: padding-box;
  box-shadow: 0 24px 50px rgba(17, 24, 39, 0.22);
  opacity: calc(0.34 + 0.66 * var(--frag-p, 0));
  transform: translate3d(calc(-18px * (1 - var(--frag-p, 0))), calc(18px * (1 - var(--frag-p, 0))), 0) scale(calc(0.86 + 0.14 * var(--frag-p, 0)));
}
.bv-frag__household::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: 0 0 40px rgba(55, 198, 160, 0.38);
  opacity: var(--frag-p, 0);
  pointer-events: none;
}
.bv-frag__household > p {
  margin: 0 0 14px;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
  background-image: var(--bv-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.bv-hh__who {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 16px;
}
.bv-hh__who i {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--bv-gradient);
  font-style: normal;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  box-shadow: 0 0 0 4px rgba(79, 160, 234, 0.18);
}
.bv-hh__who b { display: block; font-size: 16px; letter-spacing: -0.03em; }
.bv-hh__who span { font-size: 12px; color: rgba(250, 248, 239, 0.6); }
.bv-frag__household ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
  border-top: 1px solid rgba(250, 248, 239, 0.1);
  padding-top: 14px;
}
.bv-frag__household li {
  font-size: 13px;
  color: rgba(250, 248, 239, 0.78);
  opacity: clamp(0, calc((var(--frag-p, 0) - 0.42 - var(--i) * 0.08) / 0.16), 1);
  transform: translateX(calc((1 - clamp(0, calc((var(--frag-p, 0) - 0.42 - var(--i) * 0.08) / 0.16), 1)) * -12px));
}
.bv-frag__live {
  margin: 0 0 32px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
  background-image: var(--bv-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.bv-frag__live-a,
.bv-frag__live-b {
  display: block;
}
.bv-frag__live-b {
  margin-top: 2px;
}

.bv-ones {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
  margin: 0;
  padding: 8px 0 0;
  border-top: 1px solid var(--bv-line);
  list-style: none;
}
.bv-ones li {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.02em;
  padding-top: 18px;
  min-height: 92px;
}
.bv-ones li span {
  display: block;
  margin-top: 4px;
  font-weight: 400;
  font-size: 12px;
  color: var(--bv-muted);
}

/* ---------- PLATFORM ---------- */
.bv-platform {
  position: relative;
  overflow: visible;
  padding: clamp(28px, 4vw, 40px) 0 12px;
  background: var(--bv-cream);
}
.bv-platform::before,
.bv-platform::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(90px);
}
.bv-platform::before {
  width: 420px;
  height: 420px;
  top: -140px;
  right: -80px;
  background: var(--bv-blue-glow);
  opacity: 0.85;
}
.bv-platform::after {
  width: 360px;
  height: 360px;
  bottom: 8%;
  left: -90px;
  background: var(--bv-teal-glow);
  opacity: 0.7;
}
.bv-platform .bv-wrap { position: relative; z-index: 1; }
.bv-platform__wrap {
  display: grid;
  grid-template-columns: minmax(240px, 280px) minmax(0, 1fr);
  gap: 20px 48px;
  align-items: start;
}
.bv-platform__rail {
  display: grid;
  gap: 22px;
  align-content: start;
  position: sticky;
  top: calc(var(--bv-nav-h) + 16px);
}
.bv-platform__intro {
  max-width: none;
  margin-bottom: 0;
}
.bv-platform h2 {
  margin: 0;
  font-size: clamp(1.85rem, 3.2vw, 2.55rem);
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 1.08;
}
.bv-platform__panels {
  min-width: 0;
}
.bv-platform__tabs {
  display: grid;
  gap: 4px;
  scrollbar-width: none;
}
.bv-platform__tabs::-webkit-scrollbar { display: none; }
.bv-platform__tab {
  display: grid;
  gap: 2px;
  text-align: left;
  padding: 14px 14px;
  border: 0;
  border-left: 2px solid transparent;
  background: none;
  cursor: pointer;
  color: var(--bv-muted);
  border-radius: 0 8px 8px 0;
}
.bv-platform__tab:hover { background: rgba(17, 24, 39, 0.03); }
.bv-platform__tab[aria-selected="true"] {
  color: var(--bv-ink);
  border-left-color: var(--bv-green);
  background: linear-gradient(90deg, var(--bv-green-soft), transparent 70%);
}
.bv-platform__tab:focus-visible {
  outline: 2px solid var(--bv-blue);
  outline-offset: 2px;
}
.bv-platform__tab strong {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.02em;
}
.bv-platform__tab span {
  font-size: 12px;
  font-weight: 400;
}

.bv-platform__panel {
  padding: 8px 0 88px;
  min-height: calc(100vh - var(--bv-nav-h) - 64px);
  scroll-margin-top: calc(var(--bv-nav-h) + 20px);
}
.bv-platform__panel:last-of-type {
  min-height: 0;
  padding-bottom: 8px;
}
.bv-platform__panel h3 {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
.bv-platform__panel p {
  margin: 0 0 14px;
  color: var(--bv-muted);
  max-width: 42em;
}
.bv-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}
.bv-chips li {
  font-size: 12px;
  padding: 5px 10px;
  border: 1px solid var(--bv-line-strong);
  border-radius: 4px;
  color: var(--bv-ink-soft);
}

.bv-shot {
  overflow: hidden;
  border: 1px solid var(--bv-line);
  border-radius: var(--bv-radius-lg);
  background: var(--bv-product);
  min-height: 420px;
}
.bv-shot img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  object-position: top center;
}

.bv-platform__more {
  grid-column: 2;
  position: relative;
  z-index: 8;
  margin: 20px 0 0;
  padding-top: 8px;
  isolation: isolate;
}

.bv-mod {
  position: relative;
  min-height: 520px;
  padding: 8px 28px 72px 8px;
}
.bv-mod--org { padding-bottom: 96px; }
.bv-mod--dash { min-height: 560px; padding-bottom: 48px; overflow: visible; }

.bv-dash__prompt {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 8px 8px 8px 12px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #e6e6e8;
  color: #384551;
  font-size: 12px;
  box-shadow: 0 0.25rem 1.125rem rgba(75, 70, 92, 0.06);
}
.bv-dash__prompt span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bv-dash__prompt em {
  font-style: normal;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  background: #696cff;
  padding: 6px 10px;
  border-radius: 8px;
}
.bv-dash__prompt.is-hot,
.bv-dash__prompt.is-click {
  border-color: #696cff;
  box-shadow: 0 0 0 3px rgba(105, 108, 255, 0.22);
}
.bv-dash__body { padding: 10px 12px 14px; }
.bv-dash__stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}
.bv-dash__stats article {
  padding: 8px 10px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid #e6e6e8;
  box-shadow: 0 0.25rem 1.125rem rgba(75, 70, 92, 0.08);
}
.bv-dash__stats b { display: block; font-size: 15px; color: #384551; letter-spacing: -0.03em; }
.bv-dash__stats span { font-size: 10px; color: #6d788d; }
.bv-dash__grid {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 8px;
}
.bv-dtile {
  background: #fff;
  border: 1px solid #e6e6e8;
  border-radius: 8px;
  overflow: hidden;
  min-height: 148px;
  box-shadow: 0 0.25rem 1.125rem rgba(75, 70, 92, 0.08);
  opacity: 0.22;
  transform: translateY(8px);
  transition: opacity 420ms var(--bv-ease), transform 420ms var(--bv-ease), box-shadow 420ms;
}
.bv-dtile header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-bottom: 1px solid #e6e6e8;
}
.bv-dtile header b { font-size: 12px; color: #384551; font-weight: 600; }
.bv-dtile__badge {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 2px 7px;
  border-radius: 20px;
  text-transform: capitalize;
}
.bv-dtile__badge--chart { background: rgba(105, 108, 255, 0.15); color: #696cff; }
.bv-dtile__badge--list { background: rgba(3, 195, 236, 0.15); color: #03c3ec; }
.bv-dtile__badge--score { background: rgba(113, 221, 55, 0.15); color: #71dd37; }
.bv-dtile__body { padding: 10px 12px 12px; }
.bv-dtile--score strong { display: block; font-size: 26px; letter-spacing: -0.04em; color: #384551; }
.bv-dtile--score span { color: #28c76f; font-size: 11px; }
.bv-dtile__bars {
  display: flex;
  align-items: flex-end;
  gap: 4px;
  height: 92px;
}
.bv-dtile__bars i {
  flex: 1;
  height: var(--h);
  border-radius: 3px 3px 1px 1px;
  background: linear-gradient(180deg, #696cff, #03c3ec);
}
.bv-dtile__body--split {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 10px;
  align-items: center;
}
.bv-dtile__donut {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: conic-gradient(#696cff 0 52%, #03c3ec 52% 83%, #71dd37 83% 100%);
  mask: radial-gradient(circle closest-side, transparent 52%, #000 53%);
  -webkit-mask: radial-gradient(circle closest-side, transparent 52%, #000 53%);
}
.bv-dtile__body--split ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: 11px; color: #6d788d; }
.bv-dtile__body--split li { display: flex; justify-content: space-between; gap: 8px; }
.bv-dtile__body--split i { width: 7px; height: 7px; border-radius: 50%; background: #696cff; display: inline-block; margin-right: 6px; }
.bv-dtile__body--split li:nth-child(2) i { background: #03c3ec; }
.bv-dtile__body--split li:nth-child(3) i { background: #71dd37; }
.bv-dtile--list table { width: 100%; border-collapse: collapse; font-size: 11px; color: #384551; }
.bv-dtile--list th { text-align: left; color: #6d788d; font-weight: 600; padding-bottom: 6px; }
.bv-dtile--list td { padding: 4px 0; border-top: 1px solid #e6e6e8; }
.bv-dtile--table ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.bv-dtile--table li { display: flex; justify-content: space-between; font-size: 12px; color: #384551; padding-bottom: 6px; border-bottom: 1px solid #e6e6e8; }
.bv-dtile--table span { color: #28c76f; }
.bv-dtile--table { grid-column: 1 / -1; min-height: 0; }
.bv-mod--dash .bv-dtile {
  opacity: 1;
  transform: none;
}
.bv-dtile.is-hot { box-shadow: 0 0 0 1px #696cff; }
.bv-ai-pop {
  position: absolute;
  z-index: 8;
  background: #fff;
  color: #384551;
  border-radius: 16px;
  box-shadow: 0 22px 50px rgba(75, 70, 92, 0.16);
  border: 1px solid #e6e6e8;
  opacity: 0;
  transform: translateY(14px) scale(0.94);
  pointer-events: none;
  transition: opacity 280ms var(--bv-ease), transform 320ms var(--bv-ease);
}
.bv-ai-pop.is-hot,
.bv-mod--dash.is-on .bv-ai-pop {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}
.bv-mod--dash[data-mod-on="voice"] .bv-ai-pop--voice,
.bv-mod--dash[data-mod-on="prompt"] .bv-ai-pop--chat {
  transform: none;
}
.bv-ai-pop--chat {
  right: 18px;
  top: 58px;
  width: min(248px, 54%);
}
.bv-ai-pop--chat header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px 8px;
  border-bottom: 1px solid #e6e6e8;
}
.bv-ai-pop--chat header b { font-size: 12px; }
.bv-ai-pop__thread { padding: 10px 12px 12px; display: grid; gap: 8px; }
.bv-ai-pop__q,
.bv-ai-pop__a {
  margin: 0;
  font-size: 11px;
  line-height: 1.4;
  padding: 8px 10px;
  border-radius: 12px;
}
.bv-ai-pop__q {
  background: #f5f5f9;
  color: #6d788d;
}
.bv-ai-pop__a {
  background: rgba(105, 108, 255, 0.08);
  border: 1px solid rgba(105, 108, 255, 0.2);
  color: #384551;
}
.bv-ai-pop--voice {
  left: 22px;
  bottom: 28px;
  width: min(220px, 48%);
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  background: #fff;
  color: #384551;
  border-color: rgba(40, 199, 111, 0.35);
}
.bv-mod--dash.is-on .bv-ai-pop--voice { opacity: 0.92; }
.bv-mod--dash[data-mod-on="voice"] .bv-ai-pop--voice { opacity: 1; transform: scale(1.04); }
.bv-ai-pop__mic {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 40%, #37c6a0, #1f8a72);
  box-shadow: 0 0 0 4px rgba(55, 198, 160, 0.2);
  position: relative;
  flex: 0 0 28px;
}
.bv-ai-pop__mic::after {
  content: "";
  position: absolute;
  inset: 7px 11px;
  border-radius: 6px;
  background: #fff;
}
.bv-ai-pop--voice b { display: block; font-size: 12px; }
.bv-ai-pop--voice span { display: block; font-size: 10px; color: #6d788d; }
.bv-wave {
  display: flex;
  align-items: flex-end;
  gap: 2px;
  height: 22px;
}
.bv-wave i {
  width: 3px;
  height: 8px;
  border-radius: 2px;
  background: #37c6a0;
  animation: bv-wave 900ms ease-in-out infinite;
}
.bv-wave i:nth-child(2) { animation-delay: 80ms; }
.bv-wave i:nth-child(3) { animation-delay: 160ms; }
.bv-wave i:nth-child(4) { animation-delay: 240ms; }
.bv-wave i:nth-child(5) { animation-delay: 120ms; }
.bv-wave i:nth-child(6) { animation-delay: 200ms; }
.bv-wave i:nth-child(7) { animation-delay: 40ms; }
@keyframes bv-wave {
  0%, 100% { height: 6px; opacity: 0.55; }
  50% { height: 20px; opacity: 1; }
}

.bv-mod.is-on .bv-cursor { opacity: 1; }
.bv-mod [data-mod-target].is-click::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 50%, rgba(79, 160, 234, 0.28), transparent 58%);
  animation: bv-ripple 520ms var(--bv-ease) both;
  pointer-events: none;
}

.bv-app {
  --app-canvas: #f5f5f9;
  --app-card: #fff;
  --app-ink: #3b4056;
  --app-muted: #6d788d;
  --app-line: #e5e6e8;
  --app-active: #dcf6fe;
  --app-blue: #579bd4;
  --app-teal: #42bc9c;
  position: relative;
  z-index: 2;
  display: block;
  container-type: inline-size;
  min-height: 0;
  overflow: hidden;
  border-radius: 0.5rem;
  background: var(--app-canvas);
  color: var(--app-ink);
  border: 1px solid rgba(75, 70, 92, 0.08);
  box-shadow: 0 0.25rem 0.875rem 0 rgba(38, 43, 67, 0.16), 0 18px 48px rgba(38, 43, 67, 0.1);
  font-size: 0.9375rem;
  font-family: "Public Sans", Inter, system-ui, sans-serif;
}
.bv-app__nav {
  padding: 0;
  background: #f7f7f9;
  border-right: 0;
}
.bv-app__brand {
  display: none;
}
.bv-app__nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.bv-app__nav li {
  display: flex;
  align-items: center;
}
.bv-app__nav li.is-on {
  background: transparent;
  color: inherit;
}
.bv-app__main { min-width: 0; display: flex; flex-direction: column; flex: 1; }
.bv-app__top {
  display: none;
}
.bv-app__search {
  display: none;
}
.bv-app__body {
  padding: 1.5rem 1.5rem 1.5rem;
  background: var(--app-canvas);
}
.bv-card {
  background: var(--app-card);
  border: 0;
  border-radius: 0.625rem;
  overflow: hidden;
  box-shadow: 0 0.25rem 0.875rem 0 rgba(38, 43, 67, 0.16);
}

.bv-mtabs { display: flex; gap: 2px; margin-bottom: 0; }
.bv-mtabs span {
  padding: 8px 14px;
  background: transparent;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  color: var(--app-muted);
  font-size: 13px;
  font-weight: 500;
  opacity: 1;
}
.bv-mtabs span.is-on {
  opacity: 1;
  color: #666cff;
  background: transparent;
  box-shadow: none;
  border-bottom-color: #666cff;
}

.bv-grid--pay { font-size: 11.5px; min-width: 520px; }
.bv-mod--pay .bv-card,
.bv-mod--events .bv-card,
.bv-mod--comms .bv-card,
.bv-mod--org .bv-card { border-radius: 10px; }
.bv-card__head {
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 600;
  border-bottom: 1px solid var(--app-line);
}

.bv-grid {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
}
.bv-grid th {
  text-align: left;
  font-weight: 600;
  color: var(--app-muted);
  padding: 8px 10px;
  border-bottom: 1px solid var(--app-line);
  background: #f6f7fb;
  white-space: nowrap;
}
.bv-grid td {
  padding: 8px 10px;
  border-bottom: 1px solid var(--app-line);
  color: var(--app-ink);
  white-space: nowrap;
}
.bv-grid tr:last-child td { border-bottom: 0; }
.bv-grid__row {
  position: relative;
  cursor: pointer;
  transition: background 280ms var(--bv-ease);
}
.bv-grid__row.is-hot,
.bv-grid__row.is-on {
  background: linear-gradient(90deg, rgba(102, 108, 255, 0.22), transparent 80%);
}
.bv-type {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 0.375rem;
  background: #e7e7ff;
  color: #666cff;
  font-size: 1.125rem;
  vertical-align: middle;
}
.bv-chip {
  display: inline-block;
  font-style: normal;
  font-size: 0.8125rem;
  font-weight: 500;
  padding: 0.221em 0.8em;
  border-radius: 0.25rem;
  background: #d7f5fc;
  color: #03c3ec;
}
.bv-pill {
  display: inline-block;
  font-style: normal;
  font-size: 0.8125rem;
  font-weight: 500;
  padding: 0.221em 0.8em;
  border-radius: 0.25rem;
}
.bv-pill--ok {
  background: #e8fadf;
  color: #28c76f;
}
.bv-act {
  display: inline-block;
  font-style: normal;
  font-size: 10px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 6px;
  border: 1px solid #579bd4;
  color: #8ec4ea;
  background: transparent;
}
.bv-act--warn {
  border-color: #ea5455;
  color: #ea8a8a;
}
.bv-act--qbo {
  border-color: #2ca01c;
  color: #7dce6e;
}

.bv-stats,
.bv-estats { display: flex; gap: 1rem; margin-bottom: 1.25rem; }
.bv-stats { }
.bv-estats { display: grid; grid-template-columns: 1fr 1fr; }
.bv-stats article,
.bv-estats article {
  position: relative;
  overflow: hidden;
  flex: 1 1 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 5.25rem;
  padding: 1rem 1.15rem;
  background: #fff;
  border: 1px solid #e5e6e8;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);
}
.bv-stats article i,
.bv-estats article i {
  flex: 0 0 auto;
  width: 2.65rem;
  height: 2.65rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  font-size: 1.35rem;
  color: #579bd4;
  background: rgba(87, 155, 212, 0.16);
}
.bv-stats article:nth-child(2) i { color: #faa75b; background: rgba(250, 167, 91, 0.16); }
.bv-stats article:nth-child(3) i { color: #42bc9c; background: rgba(66, 188, 156, 0.16); }
.bv-stats b,
.bv-estats b { display: block; font-size: 1.35rem; font-weight: 600; letter-spacing: -0.02em; color: #3b4056; }
.bv-stats span,
.bv-estats span { display: block; font-size: 0.8125rem; color: #6d788d; margin-top: 0.2rem; }

.bv-eventhead,
.bv-nlhead {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}
.bv-formshead {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.bv-eventhead h4,
.bv-nlhead h4,
.bv-formshead b {
  margin: 0;
  font-size: 15px;
  letter-spacing: -0.03em;
}
.bv-eventhead p,
.bv-nlhead p {
  margin: 2px 0 0;
  font-size: 11px;
  color: var(--app-muted);
}
.bv-ghost {
  font-size: 10px;
  padding: 5px 8px;
  border: 1px solid var(--app-line);
  border-radius: 6px;
  color: var(--app-muted);
}
.bv-eventgrid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 8px;
  margin-bottom: 10px;
}
.bv-einfo {
  position: relative;
  background: var(--app-card);
  border: 1px solid var(--app-line);
  border-radius: 12px;
  padding: 10px 12px 12px;
  cursor: pointer;
}
.bv-einfo.is-hot { box-shadow: 0 10px 28px rgba(102, 108, 255, 0.28); }
.bv-einfo__art {
  height: 52px;
  border-radius: 8px;
  margin-bottom: 8px;
  background: linear-gradient(135deg, rgba(87, 155, 212, 0.35), rgba(66, 188, 156, 0.3));
}
.bv-einfo b { display: block; margin-bottom: 6px; }
.bv-einfo small {
  display: block;
  font-size: 9px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--app-muted);
}
.bv-einfo span { font-size: 11px; }

.bv-scan-btn {
  font: inherit;
  font-size: 10px;
  font-weight: 600;
  color: #42bc9c;
  background: #30334e;
  border: 1px solid #42bc9c;
  border-radius: 6px;
  padding: 4px 8px;
  cursor: pointer;
  position: relative;
}
.bv-scan-btn.is-hot {
  background: #42bc9c;
  color: #fff;
  transform: scale(1.08);
}
.bv-scanned {
  display: none;
  font-style: normal;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #1f8a70;
  background: rgba(66, 188, 156, 0.16);
  padding: 3px 8px;
  border-radius: 100px;
}
.bv-scanned.is-static,
.bv-mod[data-mod-on="checkin"] .bv-scanned { display: inline-flex; }
.bv-mod[data-mod-on="checkin"] .bv-scan-btn { display: none; }

.bv-nlhead h4 em {
  font-style: normal;
  background: linear-gradient(135deg, #579bd4, #42bc9c);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.bv-create {
  font: inherit;
  font-size: 0.9375rem;
  font-weight: 500;
  color: #fff;
  border: 0;
  border-radius: 0.375rem;
  padding: 0.55rem 1.25rem;
  cursor: pointer;
  background: #666cff;
  box-shadow: 0 0.125rem 0.25rem 0 rgba(102, 108, 255, 0.4);
  position: relative;
}
.bv-create.is-hot { transform: scale(1.04); }
.bv-create--purple { background: #666cff; margin-left: auto; }
.bv-formshead {
  background: var(--app-card);
  border: 1px solid var(--app-line);
  border-radius: 12px;
  padding: 10px 12px;
}
.bv-formshead i {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: linear-gradient(135deg, #8A7CCF, #764BA2);
  box-shadow: 0 0 0 4px rgba(138, 124, 207, 0.16);
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 18px;
  font-style: normal;
  flex: 0 0 36px;
  line-height: 1;
}
.bv-formshead > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}
.bv-formshead span { display: block; font-size: 11px; color: var(--app-muted); }

.bv-layer,
.bv-ticket-stub,
.bv-phone {
  position: absolute;
  z-index: 5;
  transition: transform 560ms var(--bv-ease), box-shadow 560ms var(--bv-ease), opacity 320ms;
}
.bv-layer {
  width: min(260px, 52%);
  padding: 14px 14px 12px;
  border-radius: 16px;
  background: #30334e;
  border: 1px solid #464964;
  box-shadow: 0 18px 40px rgba(8, 9, 20, 0.45);
  color: #d7d8ee;
  font-size: 12px;
}
.bv-layer.is-hot {
  transform: scale(1.08) rotate(0deg) !important;
  z-index: 7;
  box-shadow: 0 24px 50px rgba(102, 108, 255, 0.32);
}
.bv-layer small {
  display: block;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #7b7d95;
  margin-bottom: 4px;
}
.bv-layer b { display: block; font-size: 15px; letter-spacing: -0.03em; }
.bv-layer p { margin: 4px 0 0; color: #b2b3ca; font-size: 11px; }

.bv-layer--profile { top: 28px; right: -8px; transform: rotate(4deg); }
.bv-profile { display: flex; gap: 10px; align-items: center; margin-bottom: 10px; }
.bv-profile i {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  font-style: normal;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(135deg, #579bd4, #42bc9c);
}
.bv-profile span { display: block; font-size: 11px; color: #7b7d95; }
.bv-pills {
  list-style: none;
  display: flex;
  gap: 4px;
  margin: 0 0 10px;
  padding: 0;
  font-size: 10px;
}
.bv-pills li { padding: 4px 8px; border-radius: 100px; color: #b2b3ca; background: #363a63; }
.bv-pills li.is-on { background: linear-gradient(135deg, #579bd4, #42bc9c); color: #fff; }
.bv-layer--profile dl { margin: 0; display: grid; gap: 6px; }
.bv-layer--profile div { display: flex; justify-content: space-between; gap: 8px; font-size: 11px; }
.bv-layer--profile dt { color: #7b7d95; }
.bv-layer--house { left: 118px; bottom: 12px; transform: rotate(-5deg); }
.bv-layer--house ul {
  list-style: none;
  margin: 10px 0 0;
  padding: 10px 0 0;
  border-top: 1px solid #464964;
  display: grid;
  gap: 4px;
  font-size: 11px;
}

.bv-receipt {
  top: 18px;
  right: -6px;
  width: min(210px, 46%);
  transform: rotate(5deg);
  background: #faf8ef;
  color: #111827;
  border: 0;
  border-radius: 4px;
  box-shadow: 0 18px 44px rgba(8, 9, 20, 0.4);
}
.bv-receipt::before {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  top: 32px;
  border-top: 1px dashed rgba(17, 24, 39, 0.18);
}
.bv-receipt small { color: #8b909a; padding-top: 2px; }
.bv-receipt b { color: #111827; margin-top: 18px; }
.bv-receipt p { color: #6d7185; }
.bv-receipt__sum {
  display: flex;
  justify-content: space-between;
  margin-top: 8px;
  font-size: 11px;
  color: #3b4056;
}
.bv-receipt em {
  display: block;
  margin-top: 12px;
  font-size: 10px;
  font-style: normal;
  color: #1f8a70;
}
.bv-refund {
  left: 124px;
  bottom: 16px;
  width: min(230px, 48%);
  transform: rotate(-5deg);
}
.bv-refund b { font-size: 22px; color: #ea8a8a; }
.bv-refund > span {
  display: inline-block;
  margin-top: 10px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #ea8a8a;
  background: rgba(234, 84, 85, 0.16);
  padding: 3px 8px;
  border-radius: 100px;
}
.bv-journal {
  left: 124px;
  bottom: 16px;
  width: min(250px, 52%);
  transform: rotate(-4deg);
  background: #111827;
  color: #faf8ef;
}
.bv-journal small { color: #37c6a0; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 700; }
.bv-journal b { display: block; margin-top: 8px; font-size: 13px; letter-spacing: -0.03em; }
.bv-journal p { margin: 8px 0 0; font-size: 12px; color: rgba(250, 248, 239, 0.7); }
.bv-journal span {
  display: inline-block;
  margin-top: 10px;
  font-size: 10px;
  font-weight: 600;
  color: #9ae6c9;
  background: rgba(55, 198, 160, 0.16);
  padding: 3px 8px;
  border-radius: 100px;
}
.bv-qbo {
  display: flex;
  align-items: center;
  gap: 10px;
  top: auto;
  left: 16px;
  bottom: 148px;
  right: auto;
  width: min(248px, 52%);
  transform: rotate(-6deg);
}
.bv-qbo i {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: #2ca01c;
  flex: 0 0 40px;
  position: relative;
  box-shadow: 0 6px 16px rgba(44, 160, 28, 0.35);
}
.bv-qbo i::before {
  content: "";
  position: absolute;
  inset: 9px;
  border: 2px solid #fff;
  border-radius: 3px;
}
.bv-qbo i::after {
  content: "";
  position: absolute;
  width: 7px;
  height: 7px;
  background: #fff;
  border-radius: 1px;
  top: 16px;
  left: 16px;
}

.bv-ticket-stub {
  display: flex;
  align-items: stretch;
  left: -8px;
  top: 68px;
  width: 228px;
  padding: 0;
  overflow: hidden;
  background: #faf8ef;
  border-radius: 10px;
  box-shadow: 0 18px 40px rgba(8, 9, 20, 0.4);
  transform: rotate(-8deg);
  color: #111827;
}
.bv-ticket-stub__qr {
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  margin: 12px 0 12px 12px;
  border-radius: 4px;
  background: #fff;
  object-fit: contain;
  image-rendering: pixelated;
}
.bv-ticket-stub > div {
  padding: 12px 14px 12px 12px;
  border-left: 2px dashed rgba(17, 24, 39, 0.16);
  margin: 8px 0 8px 10px;
}
.bv-ticket-stub small {
  display: block;
  font-size: 9px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #8b909a;
  margin-bottom: 4px;
}
.bv-ticket-stub b { display: block; font-size: 13px; }
.bv-ticket-stub span,
.bv-ticket-stub em { display: block; font-size: 11px; font-style: normal; color: #6d7185; }
.bv-ticket-stub.is-hot { transform: rotate(-2deg) scale(1.08); z-index: 7; }

.bv-phone {
  --ip-w: 158px;
  display: flex;
  flex-direction: column;
  right: -4px;
  bottom: 10px;
  width: var(--ip-w);
  height: calc(var(--ip-w) * 2.092);
  padding: calc(var(--ip-w) * 0.02);
  border: calc(var(--ip-w) * 0.012) solid #2c2c2e;
  border-radius: calc(var(--ip-w) * 0.168);
  background: #1c1c1e;
  box-shadow:
    0 0 0 1px #3a3a3c,
    inset 0 0 0 1px rgba(255, 255, 255, 0.06),
    0 22px 50px rgba(8, 9, 20, 0.5);
  transform: rotate(6deg);
}
.bv-phone::before {
  content: "";
  position: absolute;
  right: calc(var(--ip-w) * -0.028);
  top: calc(var(--ip-w) * 0.58);
  width: calc(var(--ip-w) * 0.018);
  height: calc(var(--ip-w) * 0.22);
  background: #3a3a3c;
  border-radius: 2px;
}
.bv-phone::after {
  content: "";
  position: absolute;
  left: calc(var(--ip-w) * -0.028);
  top: calc(var(--ip-w) * 0.5);
  width: calc(var(--ip-w) * 0.018);
  height: calc(var(--ip-w) * 0.14);
  background: #3a3a3c;
  border-radius: 2px;
  box-shadow:
    0 calc(var(--ip-w) * 0.22) 0 0 #3a3a3c,
    0 calc(var(--ip-w) * 0.4) 0 0 #3a3a3c;
}
.bv-phone__screen {
  position: relative;
  flex: 1;
  min-height: 0;
  border-radius: calc(var(--ip-w) * 0.142);
  overflow: hidden;
  background: #000;
}
.bv-phone__island {
  position: absolute;
  z-index: 4;
  top: calc(var(--ip-w) * 0.046);
  left: 50%;
  width: 32.4%;
  height: calc(var(--ip-w) * 0.092);
  margin: 0;
  transform: translateX(-50%);
  border-radius: 999px;
  background: #000;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.04);
}
.bv-phone__home {
  position: absolute;
  z-index: 4;
  left: 50%;
  bottom: calc(var(--ip-w) * 0.03);
  width: 34%;
  height: calc(var(--ip-w) * 0.02);
  transform: translateX(-50%);
  border-radius: 999px;
  background: #1c1c1e;
}
.bv-phone__cam,
.bv-phone__done,
.bv-phone__sms {
  height: 100%;
  min-height: 0;
  border-radius: 0;
}
.bv-scan {
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #0b0c10;
  color: #fff;
}
.bv-scan__feed {
  position: relative;
  flex: 1;
  margin: 18px 14px 8px;
  display: grid;
  place-items: center;
}
.bv-scan__qr {
  width: 72px;
  height: 72px;
  padding: 5px;
  background: #fff;
  border: 0;
  border-radius: 4px;
  object-fit: contain;
  image-rendering: pixelated;
  box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.1);
  opacity: 1;
}
.bv-scan__frame {
  position: absolute;
  width: 108px;
  height: 108px;
}
.bv-scan__frame em {
  position: absolute;
  width: 22px;
  height: 22px;
  border: 2.5px solid #37c6a0;
}
.bv-scan__frame em:nth-child(1) { top: 0; left: 0; border-right: 0; border-bottom: 0; }
.bv-scan__frame em:nth-child(2) { top: 0; right: 0; border-left: 0; border-bottom: 0; }
.bv-scan__frame em:nth-child(3) { bottom: 0; left: 0; border-right: 0; border-top: 0; }
.bv-scan__frame em:nth-child(4) { bottom: 0; right: 0; border-left: 0; border-top: 0; }
.bv-scan__laser {
  position: absolute;
  left: 8px;
  right: 8px;
  top: 8px;
  height: 2px;
  background: #37c6a0;
  box-shadow: 0 0 12px #37c6a0;
  opacity: 0.45;
}
.bv-phone.is-hot .bv-scan__laser,
.bv-mod[data-mod-on="scan"] .bv-scan__laser {
  opacity: 1;
  animation: bv-scan 1100ms linear infinite;
}
.bv-scan p {
  margin: 0 0 8px;
  text-align: center;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.78);
}
.bv-scan__dock {
  display: grid;
  place-items: center;
  padding: 8px 0 12px;
}
.bv-scan__dock span {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 3px solid rgba(255, 255, 255, 0.75);
  box-shadow: inset 0 0 0 3px #0b0c10;
  background: rgba(255, 255, 255, 0.12);
}
@keyframes bv-scan {
  from { transform: translateY(0); }
  to { transform: translateY(88px); }
}
.bv-phone--done { display: none; }
.bv-mod[data-mod-on="checkin"] .bv-phone--done { display: flex; }
.bv-mod[data-mod-on="checkin"] .bv-phone:not(.bv-phone--done):not(.bv-phone--sms) { display: none; }
.bv-phone__done {
  display: grid;
  align-content: center;
  gap: 6px;
  height: 100%;
  padding: 16px;
  background: #10221b;
  color: #fff;
}
.bv-phone__done em {
  font-style: normal;
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #37c6a0;
}
.bv-phone.is-hot { transform: rotate(2deg) scale(1.06); z-index: 7; }
.bv-phone--sms { background: #1c1c1e; }
.bv-mod--comms .bv-phone--sms {
  --ip-w: 164px;
  top: 36px;
  right: -10px;
  bottom: auto;
  transform: none;
}
.bv-mod--comms .bv-phone--sms.is-hot { transform: none; }
.bv-phone__sms {
  position: relative;
  height: 100%;
  background: #fff;
  display: flex;
  flex-direction: column;
  padding: calc(var(--ip-w) * 0.46) calc(var(--ip-w) * 0.04) calc(var(--ip-w) * 0.15);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", sans-serif;
}
.bv-phone__smsbar {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(var(--ip-w) * 0.15);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(var(--ip-w) * 0.012);
  text-align: center;
  color: #000;
  padding: 0 0 calc(var(--ip-w) * 0.024);
  border-bottom: 1px solid #e5e5ea;
}
.bv-phone__smsbar b {
  font-size: calc(var(--ip-w) * 0.064);
  font-weight: 600;
  letter-spacing: -0.022em;
  line-height: 1.1;
}
.bv-phone__back {
  position: absolute;
  left: calc(var(--ip-w) * 0.028);
  top: calc(var(--ip-w) * 0.046);
  width: calc(var(--ip-w) * 0.036);
  height: calc(var(--ip-w) * 0.036);
  border-left: 2px solid #007aff;
  border-bottom: 2px solid #007aff;
  transform: rotate(45deg);
}
.bv-phone__ava {
  width: calc(var(--ip-w) * 0.132);
  height: calc(var(--ip-w) * 0.132);
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #c7c7cc;
  color: #fff;
  font-size: calc(var(--ip-w) * 0.04);
  font-weight: 700;
}
.bv-phone__when {
  margin: 0 0 calc(var(--ip-w) * 0.028);
  text-align: center;
  font-size: calc(var(--ip-w) * 0.03);
  font-weight: 500;
  letter-spacing: 0.01em;
  color: #8e8e93;
}
.bv-phone__thread {
  display: flex;
  flex-direction: column;
  gap: calc(var(--ip-w) * 0.01);
  flex: 1;
  min-height: 0;
}
.bv-phone__compose {
  display: flex;
  align-items: center;
  gap: calc(var(--ip-w) * 0.024);
  margin-top: auto;
  padding-top: calc(var(--ip-w) * 0.02);
}
.bv-phone__compose i,
.bv-phone__compose em {
  flex: 0 0 calc(var(--ip-w) * 0.088);
  width: calc(var(--ip-w) * 0.088);
  height: calc(var(--ip-w) * 0.088);
  border-radius: 50%;
  background: #e9e9eb;
}
.bv-phone__compose span {
  flex: 1;
  height: calc(var(--ip-w) * 0.1);
  border: 1px solid #d1d1d6;
  border-radius: 999px;
  display: flex;
  align-items: center;
  padding: 0 calc(var(--ip-w) * 0.04);
  font-size: calc(var(--ip-w) * 0.042);
  color: #8e8e93;
}
.bv-bubble {
  align-self: flex-end;
  max-width: 78%;
  background: #007aff;
  color: #fff;
  padding: calc(var(--ip-w) * 0.026) calc(var(--ip-w) * 0.046);
  border-radius: calc(var(--ip-w) * 0.072) calc(var(--ip-w) * 0.072) calc(var(--ip-w) * 0.02) calc(var(--ip-w) * 0.072);
  font-size: calc(var(--ip-w) * 0.058);
  line-height: 1.2;
  font-weight: 400;
  letter-spacing: -0.011em;
  box-shadow: none;
  opacity: 0.35;
  transform: translateY(8px);
  transition: opacity 420ms var(--bv-ease), transform 420ms var(--bv-ease);
}
.bv-bubble--in {
  align-self: flex-start;
  background: #e9e9eb;
  color: #000;
  border-radius: calc(var(--ip-w) * 0.072) calc(var(--ip-w) * 0.072) calc(var(--ip-w) * 0.072) calc(var(--ip-w) * 0.02);
  margin-bottom: 0;
}
.bv-mod[data-mod-on="sms"] .bv-bubble,
.bv-phone--sms.is-hot .bv-bubble { opacity: 1; transform: none; }

.bv-layer--canvas {
  top: auto;
  right: auto;
  left: 12px;
  bottom: 14px;
  width: min(280px, 58%);
  transform: rotate(-3deg);
  padding: 0;
  overflow: hidden;
  background: #fff;
  color: #3b4056;
  border: 1px solid rgba(17, 24, 39, 0.1);
}
.bv-layer--canvas header {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  background: #f6f4ea;
  font-size: 11px;
}
.bv-layer--canvas header span { width: 8px; height: 8px; border-radius: 50%; background: #e8b4b4; }
.bv-layer--canvas header span:nth-child(2) { background: #e6d48a; }
.bv-layer--canvas header span:nth-child(3) { background: #b5dcc8; }
.bv-canvas { padding: 14px; }
.bv-canvas small { display: block; font-size: 10px; color: #8b909a; }
.bv-canvas b { color: #111827; }
.bv-canvas p { color: #6d7185; }
.bv-layer--canvas footer {
  padding: 8px 12px;
  font-size: 10px;
  color: #8b909a;
  border-top: 1px solid rgba(17, 24, 39, 0.08);
}

.bv-layer--builder {
  top: 24px;
  right: -10px;
  width: min(300px, 62%);
  transform: rotate(4deg);
  padding: 10px;
}
.bv-layer--builder header {
  font-size: 11px;
  font-weight: 600;
  padding-bottom: 6px;
  margin-bottom: 2px;
  border-bottom: 1px solid #464964;
}
.bv-builder { display: grid; grid-template-columns: 0.42fr 0.58fr; gap: 8px; margin-top: 8px; }
.bv-builder__els { display: grid; gap: 4px; font-size: 10px; }
.bv-builder__els span {
  padding: 6px 8px;
  border-radius: 6px;
  background: #363a63;
  border: 1px dashed rgba(138, 124, 207, 0.45);
  color: #d7d8ee;
}
.bv-builder__preview {
  background: #121212;
  color: #eee;
  border-radius: 10px;
  padding: 10px;
  min-height: 110px;
}
.bv-builder__preview b { font-size: 11px; margin-bottom: 8px; }
.bv-builder__preview i {
  display: block;
  height: 10px;
  margin-top: 8px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.12);
}
.bv-layer--school { left: 118px; bottom: 20px; transform: rotate(-5deg); width: min(280px, 58%); }
.bv-layer--school table { width: 100%; margin-top: 8px; border-collapse: collapse; font-size: 11px; }
.bv-layer--school th,
.bv-layer--school td {
  text-align: left;
  padding: 4px 0;
  border-bottom: 1px solid #464964;
}
.bv-layer--dues { right: 8px; bottom: 72px; transform: rotate(6deg); }
.bv-layer--dues span { display: inline-block; margin-top: 8px; font-size: 11px; color: #42bc9c; }

.bv-ui {
  background: var(--bv-product);
  color: var(--bv-product-text);
  border-radius: var(--bv-radius-lg);
  overflow: hidden;
  min-height: 520px;
  display: grid;
  grid-template-columns: 168px 1fr;
  border: 1px solid #111;
}
.bv-ui__rail {
  padding: 16px 12px;
  border-right: 1px solid var(--bv-product-line);
  background: #121722;
}
.bv-ui__brand {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 18px;
  color: #cfe8df;
}
.bv-ui__brand img { width: 16px; height: 16px; }
.bv-ui__rail ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 4px;
}
.bv-ui__rail li {
  font-size: 11px;
  padding: 6px 8px;
  border-radius: 6px;
  color: var(--bv-product-muted);
}
.bv-ui__rail li.is-on {
  background: rgba(79, 160, 234, 0.16);
  color: #d7e9fb;
}
.bv-ui__main { padding: 18px 18px 20px; }
.bv-ui__title {
  font-size: 13px;
  font-weight: 600;
  margin: 0 0 14px;
}
.bv-ui__grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 12px;
}
.bv-ui__card {
  background: var(--bv-product-2);
  border: 1px solid var(--bv-product-line);
  border-radius: 10px;
  padding: 12px;
}
.bv-ui__card small {
  display: block;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--bv-product-muted);
  margin-bottom: 8px;
}
.bv-ui__card b { font-size: 14px; font-weight: 600; }
.bv-ui__card p {
  margin: 6px 0 0;
  font-size: 12px;
  color: var(--bv-product-muted);
}
.bv-ui__rows { display: grid; gap: 8px; }
.bv-ui__row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 12px;
  padding: 8px 0;
  border-bottom: 1px solid var(--bv-product-line);
}
.bv-ui__row:last-child { border: 0; }
.bv-ui__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--bv-green);
  display: inline-block;
  margin-right: 8px;
}

/* ---------- CRAFT ---------- */
.bv-craft {
  position: relative;
  z-index: 2;
  padding: clamp(72px, 10vw, 120px) 0;
  background: var(--bv-paper);
}
.bv-craft__grid {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: clamp(28px, 5vw, 72px);
  align-items: start;
}
.bv-craft__photo {
  margin: 0;
  grid-column: 2;
  grid-row: 1;
}
.bv-craft__photo img {
  width: 100%;
  height: 100%;
  min-height: 280px;
  max-height: 420px;
  object-fit: cover;
  border-radius: 22px;
  border: 1px solid var(--bv-line);
  box-shadow: 0 24px 60px rgba(17, 24, 39, 0.1);
}
.bv-craft__photo figcaption {
  margin-top: 10px;
  font-size: 13px;
  color: var(--bv-muted);
}
.bv-craft h2 {
  margin: 0;
  font-size: clamp(2.1rem, 4vw, 3.3rem);
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 1.08;
}
.bv-craft__quote {
  margin: 28px 0 0;
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  line-height: 1.35;
  color: var(--bv-ink-soft);
  max-width: 16em;
}
.bv-craft .bv-steps {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
  margin-top: 8px;
}
.bv-steps {
  list-style: none;
  margin: 0;
  padding: 0;
}
.bv-steps li {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 18px 4px 0;
  border-top: 1px solid var(--bv-line);
}
.bv-steps i {
  font-style: normal;
  font-size: 12px;
  font-weight: 600;
  color: var(--bv-faint);
  padding-top: 3px;
}
.bv-steps b {
  display: block;
  font-size: 15px;
  letter-spacing: -0.02em;
}
.bv-steps span {
  display: block;
  margin-top: 3px;
  font-size: 13px;
  color: var(--bv-muted);
}

/* ---------- ATLAS ---------- */
.bv-atlas {
  --atlas-p: 0;
  position: relative;
  overflow: visible;
  min-height: 270vh;
  padding: clamp(28px, 4vw, 48px) 0 0;
  background:
    radial-gradient(ellipse 80% 55% at 0% 0%, rgba(79, 160, 234, 0.22), transparent 58%),
    radial-gradient(ellipse 70% 50% at 100% 100%, rgba(55, 198, 160, 0.2), transparent 54%),
    var(--bv-cream);
}
.bv-atlas__pin {
  position: sticky;
  top: calc(var(--bv-nav-h) + 16px);
  padding: 0 0 clamp(16px, 2vw, 24px);
}
.bv-atlas .bv-wrap { position: relative; z-index: 1; }
.bv-atlas__head {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 32px;
  align-items: end;
  margin-bottom: 36px;
}
.bv-atlas h2 {
  margin: 0;
  font-size: clamp(2.1rem, 4vw, 3.3rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.06;
  color: var(--bv-ink);
}
.bv-atlas__lede {
  margin: 0;
  color: var(--bv-ink-soft);
  max-width: 36em;
}

.bv-journey {
  --org: clamp(0, calc(var(--atlas-p) / 0.18), 1);
  --mid: clamp(0, calc((var(--atlas-p) - 0.1) / 0.28), 1);
  --split: clamp(0, calc((var(--atlas-p) - 0.36) / 0.16), 1);
  --fly: clamp(0, calc((var(--atlas-p) - 0.54) / 0.3), 1);
  --dock: clamp(0, calc((var(--atlas-p) - 0.82) / 0.16), 1);
  position: relative;
  min-height: calc(100vh - var(--bv-nav-h) - 148px);
  padding: 18px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid var(--bv-line);
  box-shadow: 0 18px 44px rgba(79, 160, 234, 0.08);
  overflow: hidden;
}
.bv-journey__tag {
  position: absolute;
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--bv-faint);
  z-index: 2;
}
.bv-journey__tag--from { top: 16px; left: 20px; }
.bv-journey__tag--to { top: 16px; right: 28px; }

.bv-ghost,
.bv-piece {
  position: absolute;
  will-change: left, top, transform, opacity;
}
.bv-ghost {
  left: var(--sx);
  top: var(--sy);
  transform: rotate(var(--r));
  opacity: calc(var(--mid) * 0.5);
  pointer-events: none;
  z-index: 1;
}
.bv-ghost--sheet,
.bv-piece--sheet {
  width: min(228px, 32%);
  padding: 10px 12px;
  border-radius: 12px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10px;
}
.bv-ghost--sheet {
  background: transparent;
  border: 1.5px dashed rgba(17, 24, 39, 0.28);
  color: rgba(17, 24, 39, 0.38);
  box-shadow: none;
}
.bv-ghost--sheet header { color: inherit; }
.bv-ghost--chip,
.bv-piece--chip {
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}
.bv-ghost--chip {
  background: transparent;
  border: 1.5px dashed rgba(154, 100, 22, 0.4);
  color: rgba(154, 100, 22, 0.45);
  box-shadow: none;
}
.bv-ghost--blue {
  border-color: rgba(29, 78, 216, 0.35);
  color: rgba(29, 78, 216, 0.42);
}

.bv-piece {
  z-index: 4;
}
.bv-piece--sheet {
  background: #faf8ef;
  border: 1px solid var(--bv-line);
  box-shadow: 0 10px 24px rgba(17, 24, 39, 0.08);
}
.bv-piece--sheet header {
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-bottom: 8px;
  color: #9a6416;
}
.bv-sheetcard__grid {
  display: grid;
  grid-template-columns: 1.4fr 0.8fr;
  gap: 4px 8px;
  color: var(--bv-ink-soft);
}
.bv-piece--chip {
  background: color-mix(in srgb, #f8ead2 calc((1 - var(--split)) * 100%), var(--mod-bg, #f8ead2) calc(var(--split) * 100%));
  color: color-mix(in srgb, #9a6416 calc((1 - var(--split)) * 100%), var(--mod-fg, #9a6416) calc(var(--split) * 100%));
  border: 1px solid color-mix(in srgb, rgba(154, 100, 22, 0.25) calc((1 - var(--split)) * 100%), var(--mod-bd, rgba(154, 100, 22, 0.25)) calc(var(--split) * 100%));
  box-shadow:
    0 8px 18px rgba(17, 24, 39, 0.08),
    0 0 calc(var(--split) * 16px) var(--mod-glow, transparent);
  z-index: 6;
}
.bv-piece--mod-members {
  --mod-bg: #dbeafe;
  --mod-fg: #1d4ed8;
  --mod-bd: rgba(29, 78, 216, 0.32);
  --mod-glow: rgba(79, 160, 234, 0.42);
}
.bv-piece--mod-payments {
  --mod-bg: #d1fae5;
  --mod-fg: #047857;
  --mod-bd: rgba(4, 120, 87, 0.32);
  --mod-glow: rgba(55, 198, 160, 0.45);
}
.bv-piece--mod-events {
  --mod-bg: #fde68a;
  --mod-fg: #b45309;
  --mod-bd: rgba(180, 83, 9, 0.32);
  --mod-glow: rgba(245, 158, 11, 0.4);
}
.bv-piece--mod-notes {
  --mod-bg: #ede9fe;
  --mod-fg: #6d28d9;
  --mod-bd: rgba(109, 40, 217, 0.32);
  --mod-glow: rgba(139, 92, 246, 0.4);
}
.bv-piece--blue {
  background: #e4eefc;
  color: #1d4ed8;
  border-color: rgba(29, 78, 216, 0.22);
}

.bv-piece--husk {
  left: calc(var(--sx) * (1 - var(--mid)) + var(--mx) * var(--mid));
  top: calc(var(--sy) * (1 - var(--mid)) + var(--my) * var(--mid));
  transform: rotate(calc(var(--r) * (1 - var(--org))));
}
.bv-piece--husk .bv-sheetcard__grid {
  opacity: calc(1 - var(--split));
  max-height: calc((1 - var(--split)) * 72px);
  overflow: hidden;
}
.bv-piece--split {
  --local-fly: clamp(0, calc((var(--atlas-p) - 0.54 - var(--d, 0) * 0.55) / 0.28), 1);
  --local-dock: clamp(0, calc((var(--atlas-p) - 0.84 - var(--d, 0) * 0.22) / 0.12), 1);
  left: calc(
    var(--sx) * (1 - var(--mid)) * (1 - var(--split)) * (1 - var(--local-fly))
    + var(--mx) * var(--mid) * (1 - var(--split)) * (1 - var(--local-fly))
    + var(--ox) * var(--split) * (1 - var(--local-fly))
    + var(--tx) * var(--local-fly)
  );
  top: calc(
    var(--sy) * (1 - var(--mid)) * (1 - var(--split)) * (1 - var(--local-fly))
    + var(--my) * var(--mid) * (1 - var(--split)) * (1 - var(--local-fly))
    + var(--oy) * var(--split) * (1 - var(--local-fly))
    + var(--ty) * var(--local-fly)
  );
  transform: rotate(calc(var(--r) * (1 - var(--org)))) scale(calc(1 + var(--split) * 0.1 - var(--local-dock) * 0.62));
  opacity: calc(var(--split) * (1 - var(--local-dock)));
}
.bv-piece--merge {
  --tx: var(--ox);
  --ty: var(--oy);
  --local-fly: clamp(0, calc((var(--atlas-p) - 0.5 - var(--d, 0)) / 0.16), 1);
  --local-dock: 0;
  opacity: calc(var(--split) * (1 - var(--local-fly)));
  transform: rotate(calc(var(--r) * (1 - var(--org)))) scale(calc(1 - var(--local-fly) * 0.2));
}

.bv-port {
  position: absolute;
  right: 16px;
  top: 36px;
  width: min(348px, 40%);
  z-index: 2;
}
.bv-port__app {
  border-radius: 16px;
  overflow: hidden;
  background: #111827;
  border: 1px solid rgba(250, 248, 239, 0.08);
  box-shadow: 0 0 calc(var(--dock) * 28px) rgba(55, 198, 160, calc(var(--dock) * 0.32));
}
.bv-port__brand {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  background: #0d121c;
  border-bottom: 1px solid rgba(250, 248, 239, 0.08);
}
.bv-port__brand img {
  width: 22px;
  height: 22px;
  display: block;
}
.bv-port__brand b {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: #faf8ef;
}
.bv-clean-hh {
  padding: 14px;
  background: #111827;
  color: #faf8ef;
}
.bv-clean-hh header {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 12px;
}
.bv-clean-hh header i {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--bv-gradient);
  font-style: normal;
  font-size: 11px;
  font-weight: 700;
  color: #111827;
}
.bv-clean-hh header span { display: block; font-size: 11px; color: rgba(250, 248, 239, 0.55); }
.bv-clean-hh ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }

.bv-slot {
  position: relative;
  min-height: 44px;
  border-radius: 10px;
  overflow: hidden;
}
.bv-slot__hole {
  position: absolute;
  inset: 0;
  border-radius: 10px;
  border: 1.5px dashed rgba(250, 248, 239, 0.28);
  background:
    repeating-linear-gradient(
      -12deg,
      rgba(250, 248, 239, 0.03) 0 6px,
      transparent 6px 12px
    );
  opacity: calc(1 - var(--fill));
}
.bv-slot__fill {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.05);
  font-size: 12px;
  opacity: var(--fill);
  transform: translateY(calc((1 - var(--fill)) * 8px));
}
.bv-slot__fill span { color: rgba(250, 248, 239, 0.55); }
.bv-slot { --fill: clamp(0, calc((var(--atlas-p) - 0.78 - var(--slot) * 0.02) / 0.14), 1); }
.bv-slot:nth-child(1) .bv-slot__fill { box-shadow: inset 3px 0 0 #4fa0ea; }
.bv-slot:nth-child(2) .bv-slot__fill { box-shadow: inset 3px 0 0 #37c6a0; }
.bv-slot:nth-child(3) .bv-slot__fill { box-shadow: inset 3px 0 0 #8b5cf6; }
.bv-slot:nth-child(4) .bv-slot__fill { box-shadow: inset 3px 0 0 #f59e0b; }

.bv-mig__steps {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.bv-mig__steps li {
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--bv-line);
  background: #fff;
  font-size: 14px;
  font-weight: 600;
  color: var(--bv-faint);
  transition: color 640ms cubic-bezier(0.16, 1, 0.3, 1), border-color 640ms cubic-bezier(0.16, 1, 0.3, 1), background 640ms cubic-bezier(0.16, 1, 0.3, 1);
}
.bv-mig__steps li.is-on {
  color: var(--bv-ink);
  border-color: rgba(55, 198, 160, 0.45);
  background: linear-gradient(180deg, #fff, #f3fbf8);
}
.bv-mig__steps span {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  font-weight: 500;
  color: var(--bv-muted);
}

/* ---------- NEBULA / INFRASTRUCTURE — same dark language as /ai ---------- */
.bv-nebula {
  --neb-p: 0;
  --ai-purple: #a78bfa;
  --ai-orange: #f0a05a;
  --ai-green: #37c6a0;
  --ai-teal: #2dd4bf;
  position: relative;
  z-index: 26;
  overflow: visible;
  isolation: isolate;
  padding: clamp(72px, 10vw, 120px) 0 clamp(48px, 7vw, 80px);
  color: #ece8f4;
  background: #07060f;
}
.bv-nebula__inner {
  position: relative;
  z-index: 1;
}
.bv-nebula__head {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 32px;
  align-items: end;
  margin-bottom: 8px;
  padding: clamp(22px, 3vw, 32px) clamp(22px, 3.2vw, 36px);
  border-radius: 22px;
  background: rgba(20, 18, 33, 0.82);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: none;
  backdrop-filter: blur(12px);
  overflow: visible;
}
.bv-nebula__head > :not(.bv-neb-glow) { position: relative; z-index: 1; }
.bv-nebula .bv-kicker,
.bv-kicker--neb {
  color: #9ae7d2;
  background: rgba(55, 198, 160, 0.14);
  border: 1px solid rgba(154, 231, 210, 0.28);
}
.bv-nebula h2 {
  margin: 0;
  font-size: clamp(2.1rem, 4vw, 3.3rem);
  font-weight: 600;
  letter-spacing: -0.045em;
  line-height: 1.06;
  color: #ece8f4;
}
.bv-nebula__lede {
  margin: 0;
  color: #b7b1c6;
  max-width: 36em;
}

.bv-neb-glow {
  position: absolute;
  inset: 18% 10%;
  z-index: 0;
  pointer-events: none;
  border-radius: 50%;
  filter: blur(42px);
  opacity: 0.7;
  transform: scale(0.94);
  animation: bv-neb-breathe 5.4s ease-in-out infinite;
}
.bv-neb-glow--core {
  inset: auto;
  left: 50%;
  top: 50%;
  width: 180px;
  height: 180px;
  margin: -90px 0 0 -90px;
  background: radial-gradient(circle, rgba(167, 139, 250, 0.95) 0%, rgba(45, 212, 191, 0.35) 42%, transparent 70%);
  animation-duration: 4.2s;
}
.bv-neb-glow--purple { background: radial-gradient(circle, rgba(167, 139, 250, 0.95), transparent 68%); }
.bv-neb-glow--orange { background: radial-gradient(circle, rgba(240, 160, 90, 0.92), transparent 68%); animation-duration: 6.2s; }
.bv-neb-glow--green { background: radial-gradient(circle, rgba(55, 198, 160, 0.92), transparent 68%); animation-duration: 4.8s; }
.bv-neb-glow--teal { background: radial-gradient(circle, rgba(45, 212, 191, 0.92), transparent 68%); animation-duration: 5.6s; }
.bv-neb-glow--mix {
  inset: 8% 18%;
  filter: blur(46px);
  background:
    radial-gradient(circle at 20% 40%, rgba(167, 139, 250, 0.88), transparent 55%),
    radial-gradient(circle at 80% 60%, rgba(55, 198, 160, 0.72), transparent 55%),
    radial-gradient(circle at 50% 90%, rgba(240, 160, 90, 0.55), transparent 50%);
  animation-duration: 3.8s;
}

.bv-tree {
  position: relative;
  margin-top: 40px;
  display: grid;
  justify-items: center;
  overflow: visible;
}
.bv-tree__hubwrap {
  position: relative;
  isolation: isolate;
  z-index: 2;
  display: grid;
  place-items: center;
  min-height: 132px;
  overflow: visible;
}
.bv-tree__hub {
  position: relative;
  z-index: 2;
  width: 132px;
  height: 132px;
  border-radius: 50%;
  border: 1px solid rgba(167, 139, 250, 0.55);
  background: #12101c;
  color: #fff;
  cursor: pointer;
  text-align: center;
  padding: 0;
  box-shadow: 0 0 0 1px rgba(45, 212, 191, 0.2);
}
.bv-tree__hub span {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #9ae7d2;
  margin-bottom: 4px;
}
.bv-tree__hub b {
  display: block;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1;
}
.bv-tree__hub:hover { color: #fff; border-color: rgba(167, 139, 250, 0.9); }
.bv-tree__arc {
  width: min(100%, 1000px);
  height: 200px;
  margin: -20px 0 0;
  overflow: visible;
}
.bv-tree__arc path {
  fill: none;
  stroke: rgba(255, 255, 255, 0.14);
  stroke-width: 1.6;
  stroke-linecap: round;
}
.bv-tree__kids {
  width: min(100%, 1000px);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: -8px;
}
.bv-tree__glowwrap {
  position: relative;
  isolation: isolate;
  overflow: visible;
  min-height: 100%;
}
.bv-tree__glowwrap > :not(.bv-neb-glow) { position: relative; z-index: 1; }
.bv-tree__node {
  appearance: none;
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(20, 18, 33, 0.78);
  backdrop-filter: blur(10px);
  color: #ece8f4;
  border-radius: 18px;
  padding: 16px 14px 14px;
  text-align: left;
  cursor: pointer;
  min-height: 132px;
  opacity: 0.38;
  transition: transform 180ms var(--bv-ease), background 180ms var(--bv-ease), border-color 180ms var(--bv-ease), box-shadow 180ms var(--bv-ease), opacity 420ms var(--bv-ease);
}
.bv-nebula.is-on .bv-tree__node {
  opacity: 1;
  animation: bv-neb-node-glow 3.8s ease-in-out infinite;
}
.bv-nebula.is-on .bv-tree__node--orange { animation-delay: 0.4s; }
.bv-nebula.is-on .bv-tree__node--green { animation-delay: 0.8s; }
.bv-nebula.is-on .bv-tree__node--teal { animation-delay: 1.2s; }
.bv-tree__node--purple { --glow: 167, 139, 250; }
.bv-tree__node--orange { --glow: 240, 160, 90; }
.bv-tree__node--green { --glow: 55, 198, 160; }
.bv-tree__node--teal { --glow: 45, 212, 191; }
.bv-tree__node:hover {
  transform: translateY(-4px);
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(var(--glow, 55, 198, 160), 0.7);
  box-shadow: 0 0 28px rgba(var(--glow, 55, 198, 160), 0.28);
}
.bv-tree__node small {
  display: block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #9ae7d2;
  margin-bottom: 6px;
}
.bv-tree__node b {
  display: block;
  font-size: 18px;
  letter-spacing: -0.03em;
  margin-bottom: 6px;
}
.bv-tree__node span {
  display: block;
  font-size: 13px;
  line-height: 1.4;
  color: #b7b1c6;
}
@keyframes bv-neb-breathe {
  0%, 100% { transform: scale(0.9); opacity: 0.45; }
  50% { transform: scale(1.12); opacity: 0.95; }
}
@keyframes bv-neb-node-glow {
  0%, 100% { box-shadow: 0 0 0 rgba(var(--glow, 55, 198, 160), 0); border-color: rgba(255, 255, 255, 0.1); }
  50% { box-shadow: 0 0 22px rgba(var(--glow, 55, 198, 160), 0.55); border-color: rgba(var(--glow, 55, 198, 160), 0.7); }
}

.bv-neb-modal {
  position: fixed;
  inset: 0;
  z-index: 90;
  visibility: hidden;
  pointer-events: none;
}
.bv-neb-modal.is-open {
  visibility: visible;
  pointer-events: auto;
}
.bv-neb-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(7, 6, 15, 0.78);
  opacity: 0;
  transition: opacity 380ms ease;
}
.bv-neb-modal.is-open .bv-neb-modal__backdrop { opacity: 1; }
.bv-neb-modal__panel {
  position: relative;
  z-index: 1;
  width: min(680px, calc(100% - 32px));
  margin: 10vh auto 0;
  padding: 22px 24px 24px;
  background: #141221;
  color: #ece8f4;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 18px;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.45), 0 0 48px rgba(167, 139, 250, 0.16);
  opacity: 0;
  transform: translateY(22px) scale(0.96);
  transition: opacity 480ms cubic-bezier(0.16, 1, 0.3, 1), transform 480ms cubic-bezier(0.16, 1, 0.3, 1);
}
.bv-neb-modal.is-open .bv-neb-modal__panel {
  opacity: 1;
  transform: none;
}
.bv-neb-modal__panel header {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px 16px;
  align-items: start;
  margin-bottom: 12px;
}
.bv-neb-modal__kicker {
  grid-column: 1;
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #9ae7d2;
}
.bv-neb-modal__panel h2 {
  grid-column: 1;
  margin: 0;
  font-size: 28px;
  letter-spacing: -0.04em;
}
.bv-neb-modal__close {
  grid-column: 2;
  grid-row: 1 / span 2;
  width: 40px;
  height: 40px;
  border: 0;
  background: none;
  color: #ece8f4;
  font-size: 24px;
  cursor: pointer;
  line-height: 1;
}
.bv-neb-modal__close:focus-visible {
  outline: 2px solid var(--bv-blue);
}
.bv-neb-modal__viz { display: none; }
.bv-viz {
  position: absolute;
  inset: 0;
}
.bv-viz__core {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 42px;
  height: 42px;
  margin: -21px 0 0 -21px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #fff, #a855f7 40%, #4fa0ea);
  box-shadow: 0 0 24px rgba(168, 85, 247, 0.6);
}
.bv-viz__orb {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 10px;
  height: 10px;
  margin: -5px 0 0 -5px;
  border-radius: 50%;
  background: #7ee7c7;
  offset-path: ellipse(38% 32% at 50% 50%);
  animation: bv-viz-orbit 4.2s linear infinite;
}
.bv-viz__orb:nth-child(3) { animation-delay: -1.4s; background: #c4b5fd; }
.bv-viz__orb:nth-child(4) { animation-delay: -2.8s; background: #4fa0ea; }
@keyframes bv-viz-orbit { to { offset-distance: 100%; } }
.bv-viz--api .bv-viz__bar {
  position: absolute;
  left: 12%;
  height: 10px;
  border-radius: 999px;
  background: linear-gradient(90deg, #4fa0ea, #a855f7);
  animation: bv-viz-bar 1.6s ease-in-out infinite;
}
.bv-viz--api .bv-viz__bar:nth-child(1) { top: 28%; width: 58%; }
.bv-viz--api .bv-viz__bar:nth-child(2) { top: 48%; width: 42%; animation-delay: 0.2s; }
.bv-viz--api .bv-viz__bar:nth-child(3) { top: 68%; width: 70%; animation-delay: 0.4s; }
@keyframes bv-viz-bar {
  0%, 100% { transform: scaleX(0.72); transform-origin: left; opacity: 0.55; }
  50% { transform: scaleX(1); opacity: 1; }
}
.bv-viz--mcp .bv-viz__node {
  position: absolute;
  top: 50%;
  width: 22px;
  height: 22px;
  margin-top: -11px;
  border-radius: 50%;
  background: #a855f7;
  box-shadow: 0 0 16px rgba(168, 85, 247, 0.5);
}
.bv-viz--mcp .bv-viz__node:first-child { left: 22%; background: #4fa0ea; }
.bv-viz--mcp .bv-viz__node:last-child { right: 22%; }
.bv-viz--mcp .bv-viz__pulse {
  position: absolute;
  top: 50%;
  left: 28%;
  right: 28%;
  height: 2px;
  margin-top: -1px;
  background: linear-gradient(90deg, transparent, #fff, transparent);
  background-size: 40% 100%;
  animation: bv-viz-pulse 1.2s linear infinite;
}
@keyframes bv-viz-pulse { to { background-position: 140% 0; } }
.bv-viz--agentic .bv-viz__step {
  position: absolute;
  top: 50%;
  width: 18px;
  height: 18px;
  margin-top: -9px;
  border-radius: 50%;
  border: 2px solid #7ee7c7;
  animation: bv-viz-step 2.4s ease-in-out infinite;
}
.bv-viz--agentic .bv-viz__step:nth-child(1) { left: 22%; }
.bv-viz--agentic .bv-viz__step:nth-child(2) { left: 46%; animation-delay: 0.4s; }
.bv-viz--agentic .bv-viz__step:nth-child(3) { left: 70%; animation-delay: 0.8s; }
@keyframes bv-viz-step {
  0%, 100% { background: transparent; transform: scale(1); }
  40% { background: #7ee7c7; transform: scale(1.15); }
}
.bv-viz--n8n .bv-viz__dot {
  position: absolute;
  top: 50%;
  width: 14px;
  height: 14px;
  margin-top: -7px;
  border-radius: 4px;
  background: #c4b5fd;
}
.bv-viz--n8n .bv-viz__dot:nth-child(1) { left: 18%; }
.bv-viz--n8n .bv-viz__dot:nth-child(2) { left: 46%; top: 32%; background: #4fa0ea; }
.bv-viz--n8n .bv-viz__dot:nth-child(3) { left: 46%; top: 68%; background: #7ee7c7; }
.bv-viz--n8n .bv-viz__dot:nth-child(4) { left: 74%; }
.bv-viz--scale .bv-viz__col {
  position: absolute;
  bottom: 22px;
  width: 18px;
  border-radius: 6px 6px 0 0;
  background: linear-gradient(180deg, #c4b5fd, #4fa0ea);
  animation: bv-viz-grow 1.8s ease-in-out infinite;
}
.bv-viz--scale .bv-viz__col:nth-child(1) { left: 24%; height: 36px; }
.bv-viz--scale .bv-viz__col:nth-child(2) { left: 42%; height: 58px; animation-delay: 0.15s; }
.bv-viz--scale .bv-viz__col:nth-child(3) { left: 60%; height: 48px; animation-delay: 0.3s; }
.bv-viz--scale .bv-viz__col:nth-child(4) { left: 78%; height: 72px; animation-delay: 0.45s; }
@keyframes bv-viz-grow {
  0%, 100% { transform: scaleY(0.7); transform-origin: bottom; }
  50% { transform: scaleY(1); }
}
.bv-neb-modal__body p {
  margin: 0 0 10px;
  color: rgba(250, 248, 239, 0.78);
  font-size: 15px;
  line-height: 1.55;
}
.bv-neb-modal__body p:last-child { margin-bottom: 0; }

/* ---------- ORGS ---------- */
.bv-orgs {
  padding: 28px 0 clamp(64px, 8vw, 96px);
  background: var(--bv-cream);
}
.bv-orgs h2 {
  margin: 0 0 28px;
  font-size: clamp(2rem, 3.6vw, 2.8rem);
  font-weight: 600;
  letter-spacing: -0.04em;
}
.bv-orgs__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.bv-orgcard {
  display: flex;
  flex-direction: column;
  padding: 18px 18px 20px;
  border: 1px solid var(--bv-line);
  border-radius: 18px;
  background: var(--bv-paper);
  text-decoration: none;
  color: inherit;
  transition: transform 200ms var(--bv-ease), box-shadow 200ms, border-color 200ms;
}
.bv-orgcard:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(17, 24, 39, 0.08);
}
.bv-orgcard__icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  font-size: 24px;
  margin-bottom: 16px;
}
.bv-orgcard--np {
  border-color: rgba(55, 198, 160, 0.32);
}
.bv-orgcard--np .bv-orgcard__icon {
  color: #0f766e;
  background: linear-gradient(135deg, rgba(79, 160, 234, 0.2), rgba(55, 198, 160, 0.32));
}
.bv-orgcard--np .bv-orgcard__kind,
.bv-orgcard--np .bv-orgcard__go { color: #0f766e; }
.bv-orgcard--mu {
  border-color: rgba(224, 138, 74, 0.4);
}
.bv-orgcard--mu .bv-orgcard__icon {
  color: #9a3412;
  background: linear-gradient(135deg, #f4c89a, #e08a4a);
}
.bv-orgcard--mu .bv-orgcard__kind,
.bv-orgcard--mu .bv-orgcard__go { color: #c2410c; }
.bv-orgcard--sy {
  border-color: rgba(79, 130, 196, 0.38);
}
.bv-orgcard--sy .bv-orgcard__icon {
  color: #1e3a5f;
  background: linear-gradient(135deg, #9bc4ea, #4c7ec9);
}
.bv-orgcard--sy .bv-orgcard__kind,
.bv-orgcard--sy .bv-orgcard__go { color: #2b5ea8; }
.bv-orgcard__kind {
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--bv-faint);
}
.bv-orgcard h3 {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.25;
}
.bv-orgcard p {
  margin: 0 0 16px;
  color: var(--bv-muted);
  font-size: 14px;
  flex: 1;
}
.bv-orgcard__go {
  font-size: 14px;
  font-weight: 600;
}

/* ---------- VOICES ---------- */
.bv-voices {
  position: relative;
  overflow: hidden;
  padding: 4px 0 40px;
  color: var(--bv-ink);
  background: var(--bv-cream);
}
.bv-voices .bv-wrap { position: relative; z-index: 1; }
.bv-voices__head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 24px;
  margin-bottom: 8px;
  max-width: none;
}
.bv-voices h2 {
  margin: 0;
  font-size: clamp(2rem, 3.8vw, 3.15rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.06;
  max-width: 12em;
}
.bv-voices__controls {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}
.bv-voices__btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid var(--bv-line);
  background: #fff;
  color: var(--bv-ink);
  cursor: pointer;
  font-size: 22px;
  line-height: 1;
}
.bv-voices__btn:hover { background: var(--bv-green-soft); }
.bv-voices__viewport {
  display: flex;
  gap: 22px;
  overflow-x: auto;
  scroll-snap-type: none;
  padding: 36px var(--bv-gutter) 52px;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.bv-voices__viewport::-webkit-scrollbar { display: none; }
.bv-review {
  flex: 0 0 min(360px, calc((100vw - var(--bv-gutter) * 2 - 44px) / 3));
  min-height: 280px;
  display: flex;
  flex-direction: column;
  padding: 22px 22px 18px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid var(--bv-line);
  box-shadow: 0 18px 40px rgba(17, 24, 39, 0.08);
  opacity: 1;
  transform: rotate(0deg) translateY(0);
  transition: transform 420ms var(--bv-ease), box-shadow 420ms var(--bv-ease);
}
.bv-review.is-left {
  transform: rotate(-5.2deg) translateY(10px);
}
.bv-review.is-center {
  transform: rotate(0deg) translateY(-8px) scale(1.02);
  box-shadow: 0 26px 52px rgba(17, 24, 39, 0.14);
  z-index: 2;
}
.bv-review.is-right {
  transform: rotate(5.2deg) translateY(10px);
}
.bv-review.is-left:hover {
  transform: rotate(-5.2deg) translateY(4px);
}
.bv-review.is-center:hover {
  transform: rotate(0deg) translateY(-12px) scale(1.03);
}
.bv-review.is-right:hover {
  transform: rotate(5.2deg) translateY(4px);
}
.bv-review header {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: center;
}
.bv-review header div { min-width: 0; }
.bv-review header strong {
  display: block;
  font-size: 15px;
  letter-spacing: -0.02em;
}
.bv-review header span {
  display: block;
  margin-top: 2px;
  font-size: 13px;
  color: var(--bv-muted);
  line-height: 1.35;
}
.bv-review__site {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  padding: 7px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid var(--bv-line);
  text-decoration: none;
  flex-shrink: 0;
  overflow: hidden;
}
.bv-review__site img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
  object-position: center;
}
.bv-review__site:hover {
  background: var(--bv-green-soft);
}
.bv-review p:not(.bv-review__stars) {
  margin: 14px 0 0;
  font-size: 14px;
  line-height: 1.55;
  color: var(--bv-ink-soft);
  flex: 1;
}
.bv-review small {
  display: block;
  margin-top: 12px;
  font-size: 12px;
  color: var(--bv-faint);
}
.bv-review__stars {
  display: flex;
  justify-content: center;
  gap: 4px;
  margin: 16px 0 0;
  color: #f5b400;
  font-size: 28px;
  line-height: 1;
  letter-spacing: 0;
}
.bv-review__stars i { font-size: inherit; }

/* ---------- FINALE ---------- */
.bv-finale {
  position: relative;
  overflow: hidden;
  background: var(--bv-ink);
  color: var(--bv-cream);
  padding: clamp(80px, 11vw, 140px) 0;
  text-align: center;
}
.bv-finale::before,
.bv-finale::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(90px);
}
.bv-finale::before {
  width: 480px;
  height: 480px;
  top: -140px;
  right: -100px;
  background: rgba(55, 198, 160, 0.3);
}
.bv-finale::after {
  width: 380px;
  height: 380px;
  bottom: -120px;
  left: -80px;
  background: rgba(79, 160, 234, 0.24);
}
.bv-finale .bv-wrap { position: relative; z-index: 1; }
.bv-finale h2 {
  margin: 0 auto;
  font-size: clamp(2.3rem, 5vw, 4rem);
  font-weight: 600;
  letter-spacing: -0.045em;
  line-height: 1.05;
  max-width: 16em;
}
.bv-finale p {
  margin: 20px auto 0;
  color: rgba(250, 248, 239, 0.68);
  max-width: 34em;
}
.bv-finale__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 36px;
}
.bv-btn--finale {
  min-height: 68px;
  padding: 0 46px;
  font-size: 20px;
  font-weight: 600;
  box-shadow: 0 12px 36px rgba(250, 248, 239, 0.16);
}

/* ---------- FOOTER ---------- */
.bv-foot {
  position: relative;
  padding: 72px 0 28px;
  border-top: 1px solid var(--bv-line);
  background: var(--bv-cream);
  overflow: hidden;
}
.bv-foot::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 20% 80%, rgba(55, 198, 160, 0.05) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, rgba(79, 160, 234, 0.04) 0%, transparent 50%);
}
.bv-foot__legacy {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: 64px;
  align-items: start;
}
.bv-foot__about { max-width: 380px; }
.bv-foot h3 {
  margin: 0 0 16px;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  text-transform: none;
  background: var(--bv-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.bv-foot__about p {
  margin: 0;
  font-size: 15px;
  line-height: 1.65;
  color: var(--bv-muted);
  max-width: none;
}
.bv-foot__social {
  display: flex;
  gap: 12px;
  margin-top: 20px;
}
.bv-foot__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid var(--bv-line);
  background: #fff;
  color: var(--bv-ink-soft);
  text-decoration: none;
  font-size: 20px;
  transition: transform 200ms var(--bv-ease), background 200ms, color 200ms, box-shadow 200ms;
}
.bv-foot__social a:hover {
  background: var(--bv-gradient);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(79, 160, 234, 0.28);
  text-decoration: none;
}
.bv-foot__cols {
  display: flex;
  gap: 64px;
  flex-wrap: wrap;
}
.bv-foot__cols > div {
  min-width: 140px;
  display: flex;
  flex-direction: column;
}
.bv-foot__cols a {
  color: var(--bv-muted);
  text-decoration: none;
  font-size: 15px;
  padding: 6px 0;
  transition: color 200ms, transform 200ms var(--bv-ease);
}
.bv-foot__cols a:hover {
  color: var(--bv-green);
  transform: translateX(5px);
  text-decoration: none;
}
.bv-foot__base {
  position: relative;
  z-index: 1;
  margin-top: 48px;
  padding-top: 22px;
  border-top: 1px solid rgba(55, 198, 160, 0.2);
  text-align: center;
  font-size: 13px;
  color: var(--bv-faint);
}
.bv-foot__base p {
  margin: 0 auto;
  max-width: none;
}
.bv-foot__base a {
  color: inherit;
  text-decoration: none;
}
.bv-foot__base a:hover { color: var(--bv-ink-soft); }

/* ---------- DEMO MODAL ---------- */
.demo-modal[hidden] { display: none; }
.demo-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
}
.demo-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(17, 24, 39, 0.55);
}
.demo-modal__panel {
  position: relative;
  z-index: 1;
  width: min(920px, calc(100% - 32px));
  max-height: calc(100vh - 40px);
  margin: 20px auto;
  background: var(--bv-paper);
  border-radius: 12px;
  overflow: auto;
  display: flex;
  flex-direction: column;
}
.demo-modal__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding: 18px 20px 12px;
  border-bottom: 1px solid var(--bv-line);
}
.demo-modal__head h2 {
  margin: 0;
  font-size: 20px;
  letter-spacing: -0.03em;
}
.demo-modal__close {
  width: 40px;
  height: 40px;
  border: 0;
  background: none;
  font-size: 22px;
  cursor: pointer;
  line-height: 1;
}
.demo-modal__close:focus-visible {
  outline: 2px solid var(--bv-blue);
}
.demo-modal__frame {
  border: 0;
  min-height: 640px;
  background: #fff;
}
.demo-modal__fallback {
  padding: 0 20px 18px;
  font-size: 13px;
  color: var(--bv-muted);
}
body.demo-modal-open,
body.webinar-modal-open { overflow: hidden; }

/* ---------- AMA WEBINAR MODAL ---------- */
.bv-webinar[hidden] { display: none; }
.bv-webinar {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: grid;
  place-items: center;
  padding: 20px;
}
.bv-webinar__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(17, 24, 39, 0.58);
}
.bv-webinar__panel {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: min(720px, 100%);
  max-height: calc(100vh - 40px);
  overflow: hidden;
  background: var(--bv-paper);
  border-radius: var(--bv-radius-lg);
  box-shadow: 0 24px 64px rgba(17, 24, 39, 0.22);
}
.bv-webinar__close {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: var(--bv-ink);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(17, 24, 39, 0.18);
}
.bv-webinar__close:focus-visible {
  outline: 2px solid var(--bv-blue);
  outline-offset: 2px;
}
.bv-webinar__art {
  margin: 0;
  flex: 0 0 auto;
  height: 200px;
  overflow: hidden;
  background: #1b2433;
}
.bv-webinar__art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
}
.bv-webinar__body {
  padding: 24px 28px 28px;
  overflow: auto;
}
.bv-webinar__body .bv-kicker { margin: 0; }
.bv-webinar__body h2 {
  margin: 8px 0 0;
  font-family: var(--bv-display);
  font-size: clamp(1.45rem, 2.4vw, 1.85rem);
  letter-spacing: -0.03em;
  line-height: 1.2;
}
.bv-webinar__host {
  margin: 10px 0 0;
  color: var(--bv-ink-soft);
  font-weight: 600;
}
.bv-webinar__meta {
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
  color: var(--bv-muted);
  font-size: 15px;
}
.bv-webinar__meta li + li { margin-top: 4px; }
.bv-webinar__lede {
  margin: 16px 0 0;
  max-width: 38em;
  color: var(--bv-ink-soft);
}
.bv-webinar__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
  position: sticky;
  bottom: 0;
  padding-top: 8px;
  background: var(--bv-paper);
}
@media (max-width: 639px) {
  .bv-webinar { padding: 12px; }
  .bv-webinar__art { height: 132px; }
  .bv-webinar__body { padding: 18px 18px 20px; }
  .bv-webinar__lede { margin-top: 12px; }
  .bv-webinar__actions .bv-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .bv-webinar__panel { box-shadow: none; }
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1100px) {
  .bv-ama__stats { grid-template-columns: repeat(2, 1fr); }
  .bv-ones { grid-template-columns: repeat(3, 1fr); }
  .bv-foot__legacy { grid-template-columns: 1fr; gap: 40px; }
}

@media (max-width: 900px) {
  .bv-hero__inner,
  .bv-ama__layout,
  .bv-frag__head,
  .bv-frag__canvas,
  .bv-craft__grid,
  .bv-atlas__head,
  .bv-nebula__head,
  .bv-tech__head,
  .bv-ask__stage,
  .bv-dash__grid {
    grid-template-columns: 1fr;
  }
  .bv-craft__photo,
  .bv-craft .bv-steps { grid-column: 1; grid-row: auto; }
  .bv-craft .bv-steps { grid-template-columns: 1fr; }
  .bv-steps li { flex-direction: row; align-items: flex-start; gap: 14px; }
  .bv-craft__photo img { max-height: 280px; min-height: 0; }
  .bv-frag__beams { display: none; }
  .bv-hero { min-height: 0; }
  .bv-hero__pin { position: static; padding: 0; }
  .bv-hero__stage { margin-top: 8px; min-height: 0; padding: 36px 12px 16px; transform: none; }
  .bv-orbit--3,
  .bv-orbit--4,
  .bv-orbit--5,
  .bv-orbit--6,
  .bv-orbit--7,
  .bv-orbit--8 { display: none; }
  .bv-film { border-radius: 16px; }
  .bv-hfloat--mail { display: none; }
  .bv-hfloat--gift { right: 8px; top: -10px; }
  .bv-hfloat--check { left: 8px; bottom: -12px; }
  .bv-platform__wrap { grid-template-columns: 1fr; }
  .bv-platform__rail { position: static; }
  .bv-platform__tabs {
    display: flex;
    gap: 0;
    overflow-x: auto;
    margin: 0 -8px 8px;
    padding-bottom: 8px;
  }
  .bv-platform__tab {
    min-width: 210px;
    border-left: 0;
    border-bottom: 2px solid transparent;
    border-radius: 8px 8px 0 0;
  }
  .bv-platform__tab[aria-selected="true"] {
    border-left-color: transparent;
    border-bottom-color: var(--bv-green);
  }
  .bv-platform__panel {
    min-height: 0;
    padding-bottom: 48px;
  }
  .bv-platform__panel h3 {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    margin: 0 0 8px;
    font-size: 1.35rem;
    letter-spacing: -0.03em;
  }
  .bv-ui { grid-template-columns: 1fr; min-height: 0; }
  .bv-ui__rail { display: none; }
  .bv-ui__grid { grid-template-columns: 1fr; }
  .bv-shot { min-height: 0; }
  .bv-shot img { height: 320px; }
  .bv-voice,
  .bv-voice--ama { grid-template-columns: 1fr; min-height: 0; }
  .bv-voice__photo,
  .bv-voice__mono,
  .bv-voice--ama .bv-voice__scene { min-height: 280px; }
  .bv-review { flex-basis: min(320px, 78vw); }
  .bv-orgs__grid { grid-template-columns: 1fr; }
  .bv-atlas__track { grid-template-columns: 1fr; min-height: 0; }
  .bv-atlas { min-height: 0; }
  .bv-atlas__pin { position: static; padding: clamp(56px, 8vw, 88px) 0; }
  .bv-port { left: 12px; right: 12px; top: auto; bottom: 12px; width: auto; }
  .bv-piece--split { --tx: 22%; --ty: 64%; }
  .bv-ghost { display: none; }
  .bv-mig__steps { grid-template-columns: 1fr 1fr; }
  .bv-nebula { margin: 0; }
  .bv-nebula__head { grid-template-columns: 1fr; }
  .bv-tree__kids { grid-template-columns: 1fr 1fr; }
  .bv-tree__arc { display: none; }
  .bv-ama__copy { order: 1; }
  .bv-ama__hero { order: 2; min-height: 360px; }
  .bv-stack__grid { grid-template-columns: 1fr 1fr; }
  .bv-app { grid-template-columns: 1fr; min-height: 0; }
  .bv-app__nav { display: none; }
  .bv-eventgrid { grid-template-columns: 1fr; }
  .bv-platform__more { grid-column: 1; }
  .bv-phone { --ip-w: 140px; right: -4px; bottom: 12px; }
  .bv-mod--comms .bv-phone--sms { --ip-w: 146px; }
}

@media (max-width: 640px) {
  .bv-hero h1 { font-size: 2.05rem; }
  .bv-hero__badge { font-size: 12px; }
  .bv-film__body { grid-template-columns: 1fr; }
  .bv-film__rail { display: none; }
  .bv-hcards { grid-template-columns: 1fr 1fr; }
  .bv-hero .bv-hcards .bv-hcard:nth-child(n+5) { display: none; }
  .bv-hfloat { display: none; }
  .bv-orbit { display: none; }
  .bv-cursor { display: none; }
  .bv-ama__stats,
  .bv-ones { grid-template-columns: 1fr 1fr; }
  .bv-foot__legacy { grid-template-columns: 1fr; }
  .bv-foot__cols { gap: 32px; }
  .bv-voices__head { align-items: start; flex-direction: column; }
  .bv-review { flex-basis: min(300px, 86vw); }
  .bv-voice { flex-basis: calc(100vw - var(--bv-gutter) * 2); padding: 18px; }
  .bv-voice__mark { font-size: 120px; top: -16px; }
  .bv-voice blockquote p { font-size: 1.35rem; }
  .bv-frag__sources { grid-template-columns: 1fr; }
  .bv-frag__card,
  .bv-frag__logo { --r: 0deg; --dx: 0px; --dy: 0px; }
  .bv-dash__stats { grid-template-columns: 1fr 1fr; }
  .bv-dash__grid { grid-template-columns: 1fr; }
  .bv-dtile--table { grid-column: 1; }
  .bv-mig__col--core { padding: 12px 0; }
  .bv-mig__steps { grid-template-columns: 1fr; }
  .bv-tree__kids { grid-template-columns: 1fr; }
  .bv-sheet__head, .bv-sheet__row { grid-template-columns: 40px 1fr 0.8fr; }
  .bv-sheet__head b:nth-child(n+4),
  .bv-sheet__row span:nth-child(n+4) { display: none; }
  .bv-blob--1, .bv-blob--2, .bv-blob--3 { width: 380px; height: 380px; }
  .bv-stack__grid { grid-template-columns: 1fr; }
  .bv-layer--profile,
  .bv-layer--house,
  .bv-receipt,
  .bv-refund,
  .bv-journal,
  .bv-layer--school,
  .bv-layer--canvas { left: 12px; right: auto; width: min(280px, calc(100% - 24px)); }
  .bv-ticket-stub { left: 8px; top: 48px; width: 190px; }
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within { scroll-behavior: auto; }
  .bv-blob,
  .bv-hero__copy,
  .bv-film,
  .bv-hfloat,
  .bv-marquee.is-running .bv-marquee__track,
  .bv-frag__card,
  .bv-frag__logo,
  .bv-frag__household,
  .bv-frag__household li,
  .bv-frag__aurora,
  .bv-frag__beams,
  .bv-frag h2,
  .bv-sheet__row,
  .bv-chip,
  .bv-atlas__aurora,
  .bv-atlas h2,
  .bv-pkt,
  .bv-atlas__modules article,
  .bv-tech__layer,
  .bv-tech [data-plx],
  .bv-tech h2,
  .bv-ask__msg,
  .bv-ask__tile,
  .bv-mig__ring span,
  .bv-nebula__galaxy,
  .bv-neb-glow,
  .bv-tree__node,
  .bv-sat,
  .bv-piece,
  .bv-ghost,
  .bv-slot__fill,
  .bv-slot__hole {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
  .bv-cursor { display: none; }
  .bv-btn:hover { transform: none; }
  .bv-hero__stage { transform: none; }
  .bv-frag .bv-frag__card,
  .bv-frag .bv-frag__logo { transition: none; }
  .bv-frag h2,
  .bv-atlas h2 {
    background: none;
    -webkit-text-fill-color: var(--bv-ink);
    color: var(--bv-ink);
  }
  .bv-pkt__raw { display: none; }
  .bv-pkt__fix {
    position: static;
    opacity: 1 !important;
    color: #d8fff2;
  }
  .bv-sat {
    offset-path: none !important;
    position: absolute;
  }
  .bv-sat--1 { left: 18%; top: 22%; }
  .bv-sat--2 { left: 78%; top: 20%; }
  .bv-sat--3 { left: 12%; top: 62%; }
  .bv-sat--4 { left: 82%; top: 58%; }
  .bv-sat--5 { left: 50%; top: 84%; }
  .bv-review { opacity: 1; transform: none; }
}

/* Audit: audience recognition and readable demo introduction. */
.bv-hero__audiences { display:flex; flex-wrap:wrap; gap: .5rem 1.25rem; margin-top:1.5rem; }
.bv-hero__audiences a { text-underline-offset: .25em; font-weight:600; }
.bv-hero__illustration-note { font-size:.8rem; line-height:1.5; margin-top:1rem; max-width:38rem; }
.demo-modal__intro { margin:.5rem 0 0; font-size:.95rem; line-height:1.5; max-width:42rem; }
.bv-hero h1 { font-size:clamp(2rem, 4.1vw, 4.5rem); }
@media(max-width: 639px) { .bv-hero__audiences { gap:.75rem 1rem; } }

.bv-ama, .bv-platform, .bv-finale, .bv-frag { overflow-x:clip; }

.bv-workflows {
  position: relative;
  overflow: hidden;
  padding: clamp(3.4rem, 7vw, 6.4rem) 0;
  color: var(--bv-cream);
  background:
    radial-gradient(ellipse 70% 55% at 8% 0%, rgba(79, 160, 234, 0.22), transparent 58%),
    radial-gradient(ellipse 60% 50% at 96% 100%, rgba(55, 198, 160, 0.16), transparent 52%),
    #1a2230;
}
.bv-workflows .bv-wrap { position: relative; z-index: 1; }
.bv-workflows .bv-kicker {
  color: #d8fff2;
  background: rgba(55, 198, 160, 0.16);
}
.bv-workflows h2 { max-width:48rem; font-size:clamp(2rem,3.3vw,3.4rem); line-height:1.1; letter-spacing:-.04em; color: var(--bv-cream); }
.bv-workflows__intro { color: rgba(250, 248, 239, 0.68); max-width:42rem; margin:1rem 0 2rem; }

.bv-scenes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.bv-scene {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 16px 16px 18px;
  border-radius: 22px;
  background: #fff;
  color: var(--bv-ink);
  border: 1px solid var(--bv-line);
  box-shadow: 0 16px 40px rgba(17, 24, 39, 0.05);
}
.bv-scene__stage {
  position: relative;
  height: 248px;
  margin: 0 0 16px;
  border-radius: 16px;
  overflow: hidden;
}
.bv-scene h3 {
  margin: 0;
  font-size: 1.2rem;
  letter-spacing: -0.03em;
}
.bv-scene p {
  margin: 8px 0 0;
  color: var(--bv-muted);
  font-size: 0.95rem;
  line-height: 1.5;
  flex: 1;
}
.bv-scene__btn {
  margin-top: 16px;
  align-self: flex-start;
  min-height: 42px;
  padding: 0 16px;
  background: #111827;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}
.bv-scene__btn:hover {
  background: #0b1220;
  color: #fff;
}
.bv-ptr {
  position: absolute;
  width: 14px;
  height: 18px;
  z-index: 4;
  background: #111827;
  clip-path: polygon(0 0, 0 100%, 36% 72%, 68% 100%, 82% 92%, 48% 62%, 100% 62%);
  filter: drop-shadow(0 2px 2px rgba(17, 24, 39, 0.25));
}

.bv-give {
  background:
    radial-gradient(circle at 16% 18%, rgba(55, 198, 160, 0.18), transparent 42%),
    #f4f7f3;
}
.bv-give__form,
.bv-give__house {
  position: absolute;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid rgba(17, 24, 39, 0.08);
  box-shadow: 0 10px 24px rgba(17, 24, 39, 0.06);
}
.bv-give__form {
  left: 18px;
  top: 34px;
  width: 126px;
  padding: 14px 14px 16px;
  border-radius: 16px;
  gap: 4px;
}
.bv-give__form small { font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--bv-faint); }
.bv-give__form b { font-size: 26px; letter-spacing: -0.04em; }
.bv-give__btn {
  margin-top: 10px;
  display: grid;
  place-items: center;
  height: 34px;
  border-radius: 999px;
  background: #111827;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}
.bv-give__house {
  right: 14px;
  bottom: 22px;
  width: 156px;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 14px;
}
.bv-give__house i {
  width: 32px; height: 32px; border-radius: 9px;
  display: grid; place-items: center;
  background: rgba(55, 198, 160, 0.16);
  color: #1c8a6c;
}
.bv-give__house b { display: block; font-size: 12px; }
.bv-give__house em {
  display: block;
  margin-top: 2px;
  font-size: 11px;
  font-style: normal;
  color: #1c8a6c;
  opacity: 0;
}
.bv-give__ptr { left: 86px; top: 18px; }
.bv-give__coin {
  position: absolute;
  left: 96px;
  top: 132px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #37c6a0;
  color: #fff;
  font-size: 22px;
  z-index: 3;
  opacity: 0;
  box-shadow: 0 8px 16px rgba(28, 138, 108, 0.28);
}

.bv-scan {
  background:
    radial-gradient(circle at 82% 16%, rgba(79, 160, 234, 0.14), transparent 46%),
    #e8edf3;
}
.bv-scan__hold {
  position: absolute;
  left: 22px;
  top: 34px;
  width: 92px;
  height: 164px;
  z-index: 2;
  pointer-events: none;
}
.bv-scan__phone {
  width: 92px;
  height: 164px;
  padding: 8px;
  border-radius: 22px;
  background: #111827;
  box-shadow: 0 16px 28px rgba(17, 24, 39, 0.22);
}
.bv-scan__notch {
  position: absolute;
  left: 50%;
  top: 12px;
  width: 28px;
  height: 5px;
  border-radius: 999px;
  background: #2a3142;
  transform: translateX(-50%);
  z-index: 1;
}
.bv-scan__glass {
  height: 100%;
  border-radius: 16px;
  background:
    radial-gradient(circle at 50% 42%, rgba(79, 160, 234, 0.18), transparent 48%),
    #0f1728;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.bv-scan__finder {
  position: relative;
  width: 58px;
  height: 58px;
}
.bv-scan__finder em {
  position: absolute;
  width: 12px;
  height: 12px;
  border: 2px solid #7ec4ff;
}
.bv-scan__finder em:nth-child(1) { top: 0; left: 0; border-right: 0; border-bottom: 0; }
.bv-scan__finder em:nth-child(2) { top: 0; right: 0; border-left: 0; border-bottom: 0; }
.bv-scan__finder em:nth-child(3) { bottom: 0; left: 0; border-right: 0; border-top: 0; }
.bv-scan__finder em:nth-child(4) { bottom: 0; right: 0; border-left: 0; border-top: 0; }
.bv-scan__line {
  position: absolute;
  left: 6px;
  right: 6px;
  top: 8px;
  height: 2px;
  background: #4fa0ea;
  box-shadow: 0 0 10px #4fa0ea;
  opacity: 0;
}
.bv-scan__glass small {
  color: #9cc9f0;
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.bv-scan__ticket {
  position: absolute;
  right: 14px;
  top: 22px;
  width: 124px;
  padding: 10px 10px 12px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(17, 24, 39, 0.08);
  box-shadow: 0 10px 24px rgba(17, 24, 39, 0.06);
  text-align: center;
}
.bv-scan__qr {
  position: relative;
  width: 46px;
  height: 46px;
  margin: 0 auto 6px;
  border-radius: 8px;
  overflow: hidden;
  color: #111827;
  font-size: 42px;
  line-height: 46px;
  text-align: center;
}
.bv-scan__qr > i { display: block; }
.bv-scan__beam {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  background: #4fa0ea;
  box-shadow: 0 0 10px #4fa0ea;
  opacity: 0;
}
.bv-scan__ticket strong { display: block; font-size: 13px; color: #111827; }
.bv-scan__ticket small { display: block; margin-top: 2px; color: #6b7280; font-size: 10px; }
.bv-scan__ticket em {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin-top: 6px;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  color: #1c8a6c;
  opacity: 0;
}

.bv-join {
  background:
    radial-gradient(circle at 50% 10%, rgba(124, 107, 196, 0.16), transparent 48%),
    #f4f1f8;
}
.bv-join__form,
.bv-join__house,
.bv-join__card {
  position: absolute;
  background: #fff;
  border: 1px solid rgba(17, 24, 39, 0.08);
  box-shadow: 0 10px 24px rgba(17, 24, 39, 0.06);
}
.bv-join__form {
  left: 16px;
  top: 28px;
  width: 128px;
  padding: 12px;
  border-radius: 14px;
}
.bv-join__form small { display: block; font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--bv-faint); }
.bv-join__form span {
  display: block;
  height: 8px;
  margin-top: 8px;
  border-radius: 999px;
  background: rgba(17, 24, 39, 0.08);
}
.bv-join__form span:nth-of-type(2) { width: 70%; }
.bv-join__btn {
  display: grid;
  place-items: center;
  margin-top: 10px;
  height: 32px;
  border-radius: 999px;
  background: #7c6bc4;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}
.bv-join__ptr { left: 88px; top: 12px; }
.bv-join__card {
  left: 42px;
  top: 104px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 700;
  z-index: 2;
  opacity: 0;
}
.bv-join__card i { color: #7c6bc4; }
.bv-join__house {
  right: 14px;
  bottom: 20px;
  width: 150px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 14px;
}
.bv-join__house i {
  width: 32px; height: 32px; border-radius: 9px;
  display: grid; place-items: center;
  background: rgba(124, 107, 196, 0.14);
  color: #7c6bc4;
}
.bv-join__house b { display: block; font-size: 12px; }
.bv-join__house em { display: block; margin-top: 2px; font-size: 11px; font-style: normal; color: var(--bv-muted); }

.bv-scenes.is-playing .bv-give__ptr,
.bv-scene.is-playing .bv-give__ptr { animation: bv-press-ptr 3.6s var(--bv-ease) infinite; }
.bv-scenes.is-playing .bv-give__btn,
.bv-scene.is-playing .bv-give__btn { animation: bv-press-btn 3.6s var(--bv-ease) infinite; }
.bv-scenes.is-playing .bv-give__coin,
.bv-scene.is-playing .bv-give__coin { animation: bv-coin-fly 3.6s var(--bv-ease) infinite; }
.bv-scenes.is-playing .bv-give__house em,
.bv-scene.is-playing .bv-give__house em { animation: bv-fade-late 3.6s var(--bv-ease) infinite; }
.bv-scenes.is-playing .bv-scan__hold,
.bv-scene.is-playing .bv-scan__hold { animation: bv-scan-reach 3.8s var(--bv-ease) infinite; }
.bv-scenes.is-playing .bv-scan__line,
.bv-scene.is-playing .bv-scan__line { animation: bv-scan-line 3.8s linear infinite; }
.bv-scenes.is-playing .bv-scan__beam,
.bv-scene.is-playing .bv-scan__beam { animation: bv-scan-beam 3.8s linear infinite; }
.bv-scenes.is-playing .bv-scan__ticket em,
.bv-scene.is-playing .bv-scan__ticket em { animation: bv-fade-late 3.8s var(--bv-ease) infinite; }
.bv-scenes.is-playing .bv-join__ptr,
.bv-scene.is-playing .bv-join__ptr { animation: bv-press-ptr 3.7s var(--bv-ease) infinite; }
.bv-scenes.is-playing .bv-join__btn,
.bv-scene.is-playing .bv-join__btn { animation: bv-press-btn 3.7s var(--bv-ease) infinite; }
.bv-scenes.is-playing .bv-join__card,
.bv-scene.is-playing .bv-join__card { animation: bv-card-slide 3.7s var(--bv-ease) infinite; }

@keyframes bv-press-ptr {
  0%, 12% { transform: translate(0, 0); }
  28%, 36% { transform: translate(6px, 92px); }
  100% { transform: translate(0, 0); }
}
@keyframes bv-press-btn {
  0%, 26% { transform: scale(1); }
  30%, 38% { transform: scale(0.92); }
  46%, 100% { transform: scale(1); }
}
@keyframes bv-coin-fly {
  0%, 30% { opacity: 0; transform: translate(0, 0) scale(0.4); }
  40% { opacity: 1; transform: translate(16px, 6px) scale(1.08); }
  62% { opacity: 1; transform: translate(92px, 46px) scale(1); }
  78%, 100% { opacity: 0; transform: translate(118px, 54px) scale(0.4); }
}
@keyframes bv-fade-late {
  0%, 48% { opacity: 0; }
  60%, 86% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes bv-scan-reach {
  0%, 16% { transform: translate(0, 8px) rotate(-8deg); }
  34%, 66% { transform: translate(28px, -6px) rotate(6deg); }
  84%, 100% { transform: translate(0, 8px) rotate(-8deg); }
}
@keyframes bv-scan-line {
  0%, 28% { opacity: 0; top: 8px; }
  36% { opacity: 1; top: 8px; }
  62% { opacity: 1; top: 46px; }
  70%, 100% { opacity: 0; top: 46px; }
}
@keyframes bv-scan-beam {
  0%, 28% { opacity: 0; top: 4px; }
  36% { opacity: 1; top: 4px; }
  62% { opacity: 1; top: 38px; }
  70%, 100% { opacity: 0; top: 38px; }
}
@keyframes bv-card-slide {
  0%, 32% { opacity: 0; transform: translate(0, 0) scale(0.9); }
  48% { opacity: 1; transform: translate(24px, 16px) scale(1); }
  70% { opacity: 1; transform: translate(86px, 58px) scale(1); }
  88%, 100% { opacity: 0; transform: translate(98px, 64px) scale(0.9); }
}

.bv-home-details > summary { max-width:var(--bv-wrap); margin:1rem auto; padding:1.25rem var(--bv-gutter); cursor:pointer; font-weight:600; border-block:1px solid var(--bv-line); }
.bv-home-details > summary:focus-visible { outline:3px solid var(--bv-blue); outline-offset:3px; }
@media (max-width: 900px) {
  .bv-scenes { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .bv-scenes.is-playing .bv-give__ptr,
  .bv-scenes.is-playing .bv-give__btn,
  .bv-scenes.is-playing .bv-give__coin,
  .bv-scenes.is-playing .bv-give__house em,
  .bv-scenes.is-playing .bv-scan__hold,
  .bv-scenes.is-playing .bv-scan__line,
  .bv-scenes.is-playing .bv-scan__beam,
  .bv-scenes.is-playing .bv-scan__ticket em,
  .bv-scenes.is-playing .bv-join__ptr,
  .bv-scenes.is-playing .bv-join__btn,
  .bv-scenes.is-playing .bv-join__card,
  .bv-scene.is-playing .bv-give__ptr,
  .bv-scene.is-playing .bv-give__btn,
  .bv-scene.is-playing .bv-give__coin,
  .bv-scene.is-playing .bv-give__house em,
  .bv-scene.is-playing .bv-scan__hold,
  .bv-scene.is-playing .bv-scan__line,
  .bv-scene.is-playing .bv-scan__beam,
  .bv-scene.is-playing .bv-scan__ticket em,
  .bv-scene.is-playing .bv-join__ptr,
  .bv-scene.is-playing .bv-join__btn,
  .bv-scene.is-playing .bv-join__card { animation: none; }
  .bv-give__house em,
  .bv-scan__ticket em { opacity: 1; }
  .bv-scan__hold { transform: translate(28px, -6px) rotate(6deg); }
  .bv-scan__line { opacity: 1; top: 28px; }
  .bv-give__coin,
  .bv-join__card { opacity: 1; }
}
