/* Public marketing lift — fonts, light, 3D cards, compact home. Last after pages-fix.
 * Does not uncap icon SVGs. Does not hide copy with overflow:hidden on text boxes. */

html body.bu-public-unified,
html body.bu-landing-page {
  --bu-display: "Fraunces", "Times New Roman", serif;
  --bu-sans: "Manrope", "Plus Jakarta Sans", Inter, system-ui, sans-serif;
  font-family: var(--bu-sans) !important;
}

html body.bu-public-unified :is(h1, h2, h3, .bu-neon-live-title, .bu-pro-hero h1, .bu-stage-head h2),
html body.bu-landing-page :is(h1, h2, h3, .bu-neon-live-title) {
  font-family: var(--bu-display) !important;
  font-optical-sizing: auto;
  letter-spacing: -0.03em;
  font-weight: 650 !important;
}

html body.bu-public-unified :is(h1, h2, .bu-neon-live-title, .bu-stage-head h2, .bu-pro-hero h1, .bu-home-net-head h2, .bu-neon-headtxt h2, .bu-pub-foot-col strong),
html body.bu-landing-page :is(h1, h2, .bu-neon-live-title, .bu-neon-headtxt h2) {
  background-image: none !important;
  text-decoration: none !important;
}

html body.bu-public-unified :is(h1, h2, .bu-neon-live-title, .bu-stage-head h2, .bu-pro-hero h1, .bu-neon-headtxt h2),
html body.bu-landing-page :is(.bu-neon-live-title, .bu-neon-headtxt h2, .bu-home-net-head h2, #bh-title, #explore-title, #bots-title, #board-title, #landing-entry-title) {
  position: relative !important;
}

html body.bu-landing-page .bu-neon-live-title span,
html body.bu-public-unified .bu-pro-hero h1,
html body.bu-public-unified .bu-stage-head h2,
html body.bu-landing-page .bu-neon-headtxt h2 {
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

html body.bu-landing-page .bu-neon-headtxt h2:after,
html body.bu-landing-page .bu-home-net-head h2:after,
html body.bu-landing-page #bh-title:after,
html body.bu-landing-page #explore-title:after,
html body.bu-landing-page #bots-title:after,
html body.bu-landing-page #board-title:after,
html body.bu-public-unified .bu-pro-hero h1:after,
html body.bu-public-unified .bu-stage-head h2:after,
html body.bu-public-unified .bu-appdl-hero h1:after {
  content: "" !important;
  display: block !important;
  width: min(7.2rem, 42%) !important;
  height: 4px !important;
  margin-top: 10px !important;
  border-radius: 99px !important;
  background: linear-gradient(90deg, #7af0ff, #19bd89 55%, rgba(242, 165, 20, .15)) !important;
  box-shadow: 0 0 18px rgba(122, 240, 255, .55) !important;
}

html body.bu-landing-page .bu-neon-hero-copy,
html body.bu-public-unified .bu-pro-hero-inner {
  position: relative !important;
}

html body.bu-landing-page .bu-hero-preview .bu-neon-hero-inner:before,
html body.bu-public-unified .bu-pro-hero:before {
  content: "" !important;
  pointer-events: none !important;
  position: absolute !important;
  inset: auto auto 8% 8% !important;
  width: min(42vw, 420px) !important;
  height: min(42vw, 420px) !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(122, 240, 255, .28), transparent 68%) !important;
  filter: blur(8px) !important;
  z-index: 1 !important;
}

html body.bu-landing-page .bu-hero-preview .bu-neon-hero-copy {
  transform: perspective(1200px) rotateX(2deg) !important;
  box-shadow:
    0 30px 80px rgba(0, 10, 30, .35),
    inset 0 1px 0 rgba(255, 255, 255, .22) !important;
}

@media (min-width: 901px) {
  html body.bu-landing-page .bu-home-net.bu-home-compact {
    min-height: 0 !important;
    padding: 42px 0 36px !important;
  }
  html body.bu-landing-page .bu-home-net.bu-home-compact .bu-home-net-scene {
    opacity: .42 !important;
  }
  html body.bu-landing-page .bu-net-compact {
    display: grid !important;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr) !important;
    gap: 16px !important;
    align-items: stretch !important;
  }
  html body.bu-landing-page .bu-home-compact .bu-net-twin {
    margin: 0 !important;
  }
  html body.bu-landing-page .bu-home-compact .bu-net-soon {
    margin: 0 !important;
    min-height: 0 !important;
    padding: 22px !important;
  }
  html body.bu-landing-page .bu-home-twin-wrap {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
  }
  html body.bu-landing-page .bu-home-twin-wrap > section {
    min-height: 0 !important;
    padding: 40px 0 32px !important;
  }
  html body.bu-landing-page .bu-home-twin-wrap .bu-neon-wrap {
    width: min(100% - 28px, 560px) !important;
  }
}

html body.bu-landing-page .bu-home-win,
html body.bu-landing-page .bu-net-soon,
html body.bu-landing-page .bu-bots-grid article,
html body.bu-landing-page .bu-split-card,
html body.bu-landing-page .bu-home-bh-card,
html body.bu-landing-page .bu-home-explore-card,
html body.bu-landing-page .bu-home-cta-id,
html body.bu-public-unified .bu-pro-card,
html body.bu-public-unified .bu-pro-tile,
html body.bu-public-unified .bu-pro-price-card,
html body.bu-public-unified .bu-appdl-pane {
  transform: perspective(900px) rotateX(1.4deg) !important;
  transform-style: preserve-3d !important;
  box-shadow:
    0 18px 40px rgba(4, 30, 48, .16),
    0 1px 0 rgba(255, 255, 255, .35) inset,
    0 0 40px rgba(122, 240, 255, .08) !important;
  transition: transform .28s ease, box-shadow .28s ease !important;
}

html body.bu-landing-page .bu-home-win:hover,
html body.bu-landing-page .bu-bots-grid article:hover,
html body.bu-landing-page .bu-split-card:hover,
html body.bu-landing-page .bu-home-explore-card:hover,
html body.bu-public-unified .bu-pro-card:hover,
html body.bu-public-unified .bu-pro-tile:hover,
html body.bu-public-unified .bu-appdl-pane:hover {
  transform: perspective(900px) rotateX(0deg) translateY(-6px) translateZ(18px) !important;
  box-shadow:
    0 28px 60px rgba(4, 30, 48, .22),
    0 0 28px rgba(25, 189, 137, .18) !important;
}

/* SEO stages */
html body.bu-public-unified .bu-stage,
html body.bu-landing-page .bu-stage {
  position: relative !important;
  isolation: isolate !important;
  width: min(1180px, calc(100% - 40px)) !important;
  margin: 8px auto 28px !important;
  padding: 28px 24px 26px !important;
  border: 1px solid rgba(163, 208, 226, .55) !important;
  border-radius: 28px !important;
  background:
    radial-gradient(1200px 240px at 10% -10%, rgba(122, 240, 255, .16), transparent 50%),
    radial-gradient(800px 200px at 90% 120%, rgba(25, 189, 137, .12), transparent 46%),
    linear-gradient(165deg, rgba(255, 255, 255, .94), rgba(232, 246, 250, .78)) !important;
  color: #23485c !important;
}

html body.bu-landing-page .bu-stage {
  background:
    radial-gradient(900px 200px at 0% 0%, rgba(122, 240, 255, .2), transparent 50%),
    rgba(6, 28, 42, .55) !important;
  color: #dff6ff !important;
  border-color: rgba(122, 240, 255, .2) !important;
}

html body.bu-stage .bu-stage-light,
.bu-stage-light {
  position: absolute !important;
  inset: -20% auto auto 40% !important;
  width: 280px !important;
  height: 280px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(255, 255, 255, .35), transparent 70%) !important;
  pointer-events: none !important;
  filter: blur(4px) !important;
}

.bu-stage-head { position: relative; z-index: 1; max-width: 52rem; }
.bu-stage-k {
  margin: 0 0 6px !important;
  color: #0a9c86 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}
html body.bu-landing-page .bu-stage-k { color: #7af0ff !important; }
.bu-stage-head h2 { margin: 0 0 8px !important; font-size: clamp(26px, 3vw, 40px) !important; color: inherit !important; }
.bu-stage-head p { margin: 0 0 18px !important; line-height: 1.55 !important; }

.bu-stage-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  perspective: 1100px !important;
}
.bu-stage-path .bu-stage-grid,
.bu-stage-desks .bu-stage-grid,
.bu-stage-slabs .bu-stage-grid,
.bu-stage-phones .bu-stage-grid,
.bu-stage-road .bu-stage-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.bu-stage-phones .bu-stage-grid { grid-template-columns: 1fr 1fr !important; }
.bu-stage-steps .bu-stage-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }

.bu-stage-card {
  position: relative !important;
  min-width: 0 !important;
  padding: 18px 16px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(163, 208, 226, .7) !important;
  background: linear-gradient(160deg, #fff, #e7f6fb) !important;
  color: #12394b !important;
  transform: rotateY(calc((var(--i, 0) - 1.2) * 4deg)) translateZ(12px) !important;
  box-shadow: 12px 18px 30px rgba(8, 40, 60, .12), inset 0 1px #fff !important;
}
html body.bu-landing-page .bu-stage-card {
  background: linear-gradient(160deg, rgba(8, 42, 62, .9), rgba(10, 70, 88, .7)) !important;
  color: #e8fbff !important;
  border-color: rgba(122, 240, 255, .22) !important;
}
.bu-stage-card h3 { margin: 0 0 8px !important; font-size: 18px !important; }
.bu-stage-card p { margin: 0 !important; font-size: 14px !important; line-height: 1.45 !important; }

.bu-stage-rail {
  overflow-x: auto !important;
  overflow-y: visible !important;
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.bu-stage-rail-track {
  display: flex !important;
  gap: 12px !important;
  width: max-content !important;
  padding: 8px 0 14px !important;
  animation: bu-seo-marquee 32s linear infinite;
  transform-style: preserve-3d;
}
.bu-stage-chip {
  flex: 0 0 auto !important;
  width: 240px !important;
  padding: 16px 16px 14px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(122, 240, 255, .28) !important;
  background: linear-gradient(145deg, rgba(7, 40, 58, .92), rgba(12, 88, 110, .55)) !important;
  color: #e7fbff !important;
  box-shadow: 0 16px 30px rgba(0, 0, 0, .22), 0 0 24px rgba(122, 240, 255, .12) !important;
  transform: rotateY(-12deg) rotateX(6deg) !important;
}
html body.bu-public-unified .bu-stage-chip {
  background: linear-gradient(145deg, #07344d, #0a6e79) !important;
}
.bu-stage-chip strong, .bu-stage-chip span { display: block !important; }
.bu-stage-chip span { margin-top: 4px !important; color: #b7eef5 !important; font-size: 13px !important; font-weight: 500 !important; }

@keyframes bu-seo-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.bu-stage-flip-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
}
.bu-stage-flip { perspective: 1000px !important; min-height: 168px !important; }
.bu-stage-flip-inner {
  position: relative !important;
  height: 168px !important;
  transform-style: preserve-3d !important;
  transition: transform .55s ease !important;
}
.bu-stage-flip:hover .bu-stage-flip-inner,
.bu-stage-flip:focus-within .bu-stage-flip-inner { transform: rotateY(180deg) !important; }
.bu-stage-flip-face {
  position: absolute !important;
  inset: 0 !important;
  padding: 18px !important;
  border-radius: 20px !important;
  backface-visibility: hidden !important;
  border: 1px solid rgba(163, 208, 226, .7) !important;
}
.bu-stage-flip-face.is-front {
  background: linear-gradient(160deg, #0a4a5c, #12897a) !important;
  color: #fff !important;
}
.bu-stage-flip-face.is-back {
  background: #fff !important;
  color: #23485c !important;
  transform: rotateY(180deg) !important;
}
.bu-stage-flip-face h3 { margin: 0 0 8px !important; font-size: 18px !important; }
.bu-stage-flip-face p { margin: 0 !important; font-size: 14px !important; line-height: 1.45 !important; }

.bu-stage-long {
  position: relative !important;
  z-index: 1 !important;
  margin: 18px 0 0 !important;
  max-width: 68ch !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

html body.bu-public-unified .bu-pro-faq,
html body.bu-landing-page .bu-home-faq {
  width: min(980px, calc(100% - 40px)) !important;
  margin: 0 auto 28px !important;
  display: grid !important;
  gap: 8px !important;
}
html body.bu-landing-page .bu-home-faq details,
html body.bu-public-unified .bu-pro-faq details {
  padding: 14px 18px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(163, 208, 226, .6) !important;
  background: rgba(255, 255, 255, .86) !important;
  color: #23485c !important;
}
html body.bu-landing-page .bu-home-faq details {
  background: rgba(6, 28, 42, .55) !important;
  color: #e8fbff !important;
  border-color: rgba(122, 240, 255, .18) !important;
}
html body.bu-public-unified .bu-pro-faq summary,
html body.bu-landing-page .bu-home-faq summary {
  cursor: pointer !important;
  font-weight: 750 !important;
  font-family: var(--bu-display) !important;
}
html body.bu-public-unified .bu-pro-faq p,
html body.bu-landing-page .bu-home-faq p { margin: 8px 0 0 !important; line-height: 1.5 !important; }

/* Footer */
html body.bu-public-unified .bu-pub-foot {
  background:
    radial-gradient(700px 220px at 15% 0%, rgba(122, 240, 255, .12), transparent 50%),
    #071018 !important;
}
html body.bu-public-unified .bu-pub-foot-seo {
  width: min(1240px, calc(100% - 48px)) !important;
  margin: 0 auto 10px !important;
  padding-top: 8px !important;
  color: #9ec0d2 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}
html body.bu-public-unified .bu-pub-foot-seo a { color: #d5e8fa !important; }
html body.bu-public-unified .bu-pub-foot-cities {
  margin: 8px 0 0 !important;
  color: #7af0ff !important;
  letter-spacing: .04em !important;
  font-size: 12px !important;
}

@media (max-width: 900px) {
  .bu-stage-grid,
  .bu-stage-path .bu-stage-grid,
  .bu-stage-desks .bu-stage-grid,
  .bu-stage-slabs .bu-stage-grid,
  .bu-stage-road .bu-stage-grid,
  .bu-stage-steps .bu-stage-grid,
  .bu-stage-flip-grid { grid-template-columns: 1fr !important; }
  html body.bu-landing-page .bu-home-twin-wrap { display: block !important; }
  html body.bu-landing-page .bu-net-compact { display: block !important; }
}

@media (prefers-reduced-motion: reduce) {
  .bu-stage-rail-track { animation: none !important; }
  html body.bu-landing-page .bu-home-win,
  html body.bu-public-unified .bu-pro-card { transform: none !important; }
}

html body.bu-public-unified .bu-blog-hub {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
  gap: 12px !important;
  width: min(1180px, calc(100% - 40px)) !important;
  margin: 0 auto 28px !important;
}
html body.bu-public-unified .bu-blog-hub-card {
  display: grid !important;
  gap: 6px !important;
  min-width: 0 !important;
  padding: 16px 16px 14px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(163, 208, 226, .7) !important;
  background: linear-gradient(160deg, #fff, #e7f6fb) !important;
  color: #12394b !important;
  text-decoration: none !important;
  box-shadow: 0 14px 28px rgba(8, 40, 60, .08) !important;
}
html body.bu-public-unified .bu-blog-hub-card.is-on,
html body.bu-public-unified .bu-blog-hub-card:hover {
  border-color: #0a9c86 !important;
  box-shadow: 0 18px 36px rgba(10, 156, 134, .16) !important;
}
html body.bu-public-unified .bu-blog-hub-card strong {
  font-family: var(--bu-display, Georgia, serif) !important;
  font-size: 17px !important;
}
html body.bu-public-unified .bu-blog-hub-card span {
  font-size: 13px !important;
  line-height: 1.4 !important;
  color: #3d5d70 !important;
}
html body.bu-public-unified .bu-crumbs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  align-items: center !important;
  width: min(920px, calc(100% - 32px)) !important;
  margin: 12px auto 0 !important;
  color: #5a7a8c !important;
  font-size: 13px !important;
}
html body.bu-public-unified .bu-crumbs a { color: #0a6e79 !important; }
html body.bu-public-unified .bu-toc {
  margin: 0 0 22px !important;
  padding: 16px 18px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(163, 208, 226, .7) !important;
  background: rgba(232, 246, 250, .7) !important;
}
html body.bu-public-unified .bu-toc p {
  margin: 0 0 8px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: #0a9c86 !important;
}
html body.bu-public-unified .bu-toc ol { margin: 0 !important; padding-left: 18px !important; }
html body.bu-public-unified .bu-toc li { margin: 4px 0 !important; color: #23485c !important; }

html body.bu-public-unified svg,
html body.bu-landing-page svg,
html body.bu-product-page svg {
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
}
