/* BOBPERFORMANCE — header & footer wordmarks (overrides Tailwind sizing) */

.bobp-brand-name {
  font-style: italic;
}

footer .redline,
.redline {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  background: none !important;
  background-image: none !important;
}

/* Footer — left fade + bottom fade starts just above social icons (logo column) */
footer.bg-ink > .hero-grid {
  z-index: 0;
  pointer-events: none;
  inset: 0;
  opacity: 0.88;
  -webkit-mask-image: var(--bobp-hero-grid-mask-x), var(--bobp-footer-grid-mask-y);
  -webkit-mask-composite: source-in;
  mask-image: var(--bobp-hero-grid-mask-x), var(--bobp-footer-grid-mask-y);
  mask-composite: intersect;
}
@media (min-width: 768px) {
  footer.bg-ink > .hero-grid {
    -webkit-mask-image: var(--bobp-hero-grid-mask-x), var(--bobp-footer-grid-mask-y-md);
    mask-image: var(--bobp-hero-grid-mask-x), var(--bobp-footer-grid-mask-y-md);
  }
}
footer.bg-ink > .container {
  position: relative;
  z-index: 1;
}

/* Ruler tick strips — off in main content; use full-bleed .hero-grid mesh instead */
section.bobp-home-hero > .redline,
main#main-content .redline,
.page-hero::after,
.form-hero::after,
main#main-content section.page-hero::after,
main#main-content section.form-hero::after {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  background: none !important;
  background-image: none !important;
  content: none !important;
}

/* Hero grid mesh — strong left, fade right + bottom (matches homepage hero) */
:root {
  --bobp-hero-grid-mask-x: linear-gradient(
    to right,
    #000 0%,
    #000 32%,
    rgb(0 0 0 / 0.8) 40%,
    rgb(0 0 0 / 0.42) 47%,
    rgb(0 0 0 / 0.14) 53%,
    transparent 58%
  );
  --bobp-hero-grid-mask-y: linear-gradient(
    to bottom,
    #000 0%,
    #000 72%,
    rgb(0 0 0 / 0.35) 88%,
    transparent 100%
  );
  /* Footer: solid through tagline; fade from just above social row (mt-8, size-11) */
  --bobp-footer-grid-mask-y: linear-gradient(
    to bottom,
    #000 0%,
    #000 40%,
    rgb(0 0 0 / 0.82) 44%,
    rgb(0 0 0 / 0.45) 52%,
    rgb(0 0 0 / 0.12) 60%,
    transparent 70%
  );
  --bobp-footer-grid-mask-y-md: linear-gradient(
    to bottom,
    #000 0%,
    #000 44%,
    rgb(0 0 0 / 0.85) 48%,
    rgb(0 0 0 / 0.42) 56%,
    rgb(0 0 0 / 0.1) 64%,
    transparent 74%
  );
}

main#main-content > section.page-hero > div.absolute.inset-0 {
  z-index: 0;
}
main#main-content > section.page-hero > .hero-grid,
main#main-content > section.form-hero > .hero-grid {
  z-index: 1;
  pointer-events: none;
  inset: 0;
  height: auto;
  opacity: 0.88;
  -webkit-mask-image: var(--bobp-hero-grid-mask-x), var(--bobp-hero-grid-mask-y);
  -webkit-mask-composite: source-in;
  mask-image: var(--bobp-hero-grid-mask-x), var(--bobp-hero-grid-mask-y);
  mask-composite: intersect;
}
main#main-content > section.page-hero > .container {
  z-index: 2;
}

/* Alpine mobile nav — utility missing from compiled Tailwind bundle */
@media (max-width: 1279px) {
  .site-nav #navigation.hidden.max-xl\:block {
    display: block !important;
  }
}

/* Hide sticky header while footer content is in view */
.site-nav#topnav {
  transition: transform 0.28s ease, opacity 0.28s ease, visibility 0.28s;
}
body.bobp-footer-in-view .site-nav#topnav {
  transform: translateY(-100%);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .site-nav#topnav {
    transition: none;
  }
}

.site-nav > .container {
  min-height: 4.5rem !important;
}
@media (min-width: 640px) {
  .site-nav > .container {
    min-height: 4.75rem !important;
  }
}

.site-nav a[href*="en.html"] > span,
.site-nav a.flex.min-h-11 > span {
  display: flex;
  align-items: center;
  line-height: 0;
}

/* Contact page — Chat / Email / Schedule icons (black; links stay brand) */
.bobp-contact-method-icon {
  color: #18181b;
}

/* Header tool icons — even spacing & sizing */
.site-nav > .container > ul.order-2 {
  gap: 0.375rem !important;
}
.site-nav > .container > button.order-3 {
  margin-left: 0 !important;
  flex-shrink: 0;
}
.site-nav ul.order-2 > li {
  flex-shrink: 0;
}
.site-nav ul.order-2 > li > a.inline-flex.size-10,
.site-nav ul.order-2 > li > button.inline-flex.size-10,
.site-nav ul.order-2 > li > button.inline-flex.sm\:size-11,
.site-nav ul.order-2 > li > a.inline-flex.sm\:size-11,
.site-nav > .container > button.order-3 {
  padding: 0 !important;
  box-sizing: border-box;
}
.site-nav ul.order-2 button svg {
  width: 1.25rem !important;
  height: 1.25rem !important;
}
.site-nav ul.order-2 button svg.size-\[1em\] {
  font-size: 1.25rem !important;
}

/* Mobile / tablet header — logo | icons | menu (no overlap) */
@media (max-width: 1279px) {
  .site-nav > .container.relative.grid {
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    column-gap: 0.375rem !important;
    row-gap: 0;
  }
  .site-nav > .container > a.flex.min-h-11 {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
  }
  .site-nav > .container > ul.order-2 {
    grid-column: 2;
    grid-row: 1;
    margin-left: 0 !important;
    width: auto;
    max-width: none;
    justify-content: flex-end;
    gap: 0.375rem !important;
  }
  .site-nav > .container > button.order-3 {
    grid-column: 3;
    grid-row: 1;
    margin-left: 0 !important;
  }
  .site-nav > .container > #navigation {
    grid-column: 1 / -1;
    grid-row: 2;
  }
}

@media (max-width: 1279px) and (min-width: 360px) {
  .site-nav > .container.relative.grid {
    column-gap: 0.5rem !important;
  }
  .site-nav > .container > ul.order-2 {
    gap: 0.5rem !important;
  }
}

@media (max-width: 1279px) and (max-width: 479px) {
  .site-nav img.bobp-header-logo,
  .site-nav img[src*="bobp-header-light"] {
    max-width: min(120px, 36vw) !important;
  }
  .site-nav ul.order-2 > li > a.inline-flex.size-10,
  .site-nav ul.order-2 > li > a.inline-flex.sm\:size-11,
  .site-nav ul.order-2 > li > button.inline-flex.size-10,
  .site-nav ul.order-2 > li > button.inline-flex.sm\:size-11,
  .site-nav > .container > button.order-3 {
    width: 2.25rem !important;
    height: 2.25rem !important;
    min-width: 2.25rem;
    min-height: 2.25rem;
  }
  .site-nav > .container.relative.grid {
    column-gap: 0.25rem !important;
  }
  .site-nav > .container > ul.order-2 {
    gap: 0.25rem !important;
  }
  .site-nav button[aria-controls="language-menu"] > img,
  .site-nav img.bobp-nav-flag {
    width: 1.25rem !important;
    height: 1.25rem !important;
    min-width: 1.25rem;
    min-height: 1.25rem;
  }
}

/* Language flag — rounded square tile (matches nav icon row mockup) */
.site-nav button[aria-controls="language-menu"] > img,
.site-nav img.bobp-nav-flag {
  display: block;
  width: 1.375rem !important;
  height: 1.375rem !important;
  max-width: none !important;
  min-width: 1.375rem;
  min-height: 1.375rem;
  border-radius: 0.375rem;
  object-fit: cover;
  object-position: center;
  border: 2px solid #18181b;
  box-sizing: border-box;
  box-shadow:
    0 2px 5px rgba(0, 0, 0, 0.2),
    0 1px 2px rgba(0, 0, 0, 0.14);
  background-color: #fff;
}
@media (min-width: 640px) {
  .site-nav button[aria-controls="language-menu"] > img,
  .site-nav img.bobp-nav-flag {
    width: 1.5rem !important;
    height: 1.5rem !important;
    min-width: 1.5rem;
    min-height: 1.5rem;
    border-radius: 0.4375rem;
  }
}
.site-nav #language-menu a img[src*="/images/flags/"] {
  width: 1.375rem !important;
  height: 0.6875rem !important;
  border-radius: 2px;
  object-fit: cover;
  box-shadow: inset 0 0 0 1px rgba(24, 24, 27, 0.1);
}

.site-nav img[src*="bobp-header-light"],
.site-nav object.bobp-header-logo,
.site-nav img.bobp-header-logo {
  display: block;
  height: 1.6875rem !important;
  width: auto !important;
  max-width: min(137px, 43.2vw) !important;
  opacity: 0.95;
  object-fit: contain;
  object-position: left center;
}
@media (min-width: 360px) {
  .site-nav img[src*="bobp-header-light"],
  .site-nav object.bobp-header-logo,
  .site-nav img.bobp-header-logo {
    height: 1.8rem !important;
    max-width: min(153px, 45vw) !important;
  }
}
@media (min-width: 640px) {
  .site-nav img[src*="bobp-header-light"],
  .site-nav object.bobp-header-logo,
  .site-nav img.bobp-header-logo {
    height: 2.025rem !important;
    max-width: min(171px, 27vw) !important;
  }
}
@media (min-width: 1280px) {
  .site-nav img[src*="bobp-header-light"],
  .site-nav object.bobp-header-logo,
  .site-nav img.bobp-header-logo {
    height: 2.25rem !important;
    max-width: min(187px, 18vw) !important;
  }
}

.site-nav #account-menu.fixed.top-20,
.site-nav #language-menu.fixed.top-20 {
  top: 4.75rem !important;
}
@media (min-width: 640px) {
  .site-nav #account-menu.fixed.top-20,
  .site-nav #language-menu.fixed.top-20 {
    top: 5rem !important;
  }
}

/* Homepage stats band (en/de/fr/es/zh home) */
dl.mt-16.grid.border-y.border-zinc-300 > div.flex.flex-col-reverse.bg-surface {
  align-items: center;
  text-align: center;
  padding-left: 1rem;
  padding-right: 1rem;
}
dl.mt-16.grid.border-y.border-zinc-300 > div.flex.flex-col-reverse.bg-surface .stat-value {
  width: 100%;
  text-align: center;
  font-stretch: normal;
}
dl.mt-16.grid.border-y.border-zinc-300 > div.flex.flex-col-reverse.bg-surface .stat-value .text-olsx {
  font-size: 1em;
  font-weight: inherit;
  font-stretch: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  color: inherit;
}
dl.mt-16.grid.border-y.border-zinc-300 > div.flex.flex-col-reverse.bg-surface .performance-gain {
  margin-left: auto;
  margin-right: auto;
}
dl.mt-16.grid.border-y.border-zinc-300 > div.flex.flex-col-reverse.bg-surface dt {
  text-align: center;
  max-width: 14rem;
  line-height: 1.35;
}
/* Footer tagline under logo (HTML uses text-lg; render one step smaller sitewide) */
footer .md\:col-span-6 > p.mt-6.max-w-sm.text-lg.leading-relaxed.text-zinc-400 {
  font-size: 0.875rem;
  line-height: 1.625;
  margin-top: 1rem;
}

footer img[src*="bobp-footer-dark"] {
  height: 3.75rem !important;
  width: auto !important;
  max-width: min(400px, 100%) !important;
  object-fit: contain;
}

/* Footer wordmark — scroll reveal (main column); fallback visible via JS timeout */
footer.bg-ink .container > .grid > div:first-child img.bobp-footer-logo {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  clip-path: inset(0 0 0 0);
  transform-origin: left center;
  transition:
    opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.65s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 0.75s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform, clip-path;
}
footer.bg-ink .container > .grid > div:first-child img.bobp-footer-logo:not(.is-revealed) {
  opacity: 0;
  transform: translate3d(0, 1rem, 0) scale(0.97);
  clip-path: inset(0 100% 0 0);
}
footer.bg-ink .container > .grid > div:first-child img.bobp-footer-logo.is-revealed {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  clip-path: inset(0 0 0 0);
  will-change: auto;
}
@media (prefers-reduced-motion: reduce) {
  footer.bg-ink .container > .grid > div:first-child img.bobp-footer-logo:not(.is-revealed) {
    opacity: 1;
    transform: none;
    clip-path: none;
    transition: none;
  }
}
@media (min-width: 768px) {
  footer img[src*="bobp-footer-dark"] {
    height: 4.5rem !important;
    max-width: min(460px, 100%) !important;
  }
}
@media (min-width: 1280px) {
  footer img[src*="bobp-footer-dark"] {
    height: 5.25rem !important;
    max-width: min(520px, 100%) !important;
  }
}

/* Homepage hero — motorsport telemetry: readable but recessed, one 7s sweep */
.hero-dyno-chart {
  opacity: 0.62;
  filter: saturate(1.05) contrast(1.08);
}
.hero-dyno-chart .hero-dyno-grid line,
.hero-dyno-chart .hero-dyno-track,
.hero-dyno-chart .hero-dyno-ghost,
.hero-dyno-chart .hero-curve,
.hero-dyno-chart .hero-signal {
  vector-effect: non-scaling-stroke;
}
.hero-dyno-chart .hero-dyno-ghost,
.hero-dyno-chart .hero-curve,
.hero-dyno-chart .hero-signal {
  fill: none;
}
.hero-dyno-chart .hero-dyno-grid {
  opacity: 0.55;
}
.hero-dyno-chart .hero-dyno-area {
  opacity: 0.42;
}
.hero-dyno-chart .hero-dyno-ghost {
  opacity: 0.38;
}
.hero-dyno-chart .hero-dyno-track {
  opacity: 0.72;
}
.hero-dyno-chart .hero-curve {
  stroke-dasharray: 1;
  stroke-dashoffset: 0;
  opacity: 0.52;
}
.hero-dyno-chart .hero-signal.hero-dyno-line--power {
  stroke-dasharray: 0.07 0.93;
  stroke-dashoffset: 1;
  opacity: 1;
  filter: drop-shadow(0 0 6px rgba(215, 1, 13, 0.45));
  animation: hero-dyno-telemetry 7s cubic-bezier(0.42, 0, 0.18, 1) infinite !important;
}
.hero-dyno-chart .hero-signal-secondary.hero-dyno-line--torque {
  opacity: 0.48;
}
.hero-dyno-chart .hero-dyno-peak {
  display: none;
}
@keyframes hero-dyno-telemetry {
  0% {
    stroke-dashoffset: 1;
    opacity: 0.35;
  }
  10% {
    opacity: 1;
  }
  74% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
  88% {
    stroke-dashoffset: 0;
    opacity: 0.45;
  }
  100% {
    stroke-dashoffset: 1;
    opacity: 0.35;
  }
}
.hero-banner {
  animation: hero-banner-in 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.15s both;
}
@keyframes hero-banner-in {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero-dyno-chart .hero-signal.hero-dyno-line--power,
  .hero-banner {
    animation: none !important;
    opacity: 1;
    stroke-dashoffset: 0;
    transform: none;
  }
}

/* Homepage hero — PNG section background + left grid fade */
main#main-content > section.bobp-home-hero svg.hero-dyno-chart,
main#main-content > section.bobp-home-hero .bobp-hex-rain,
.bobp-home-hero-hex-rain {
  display: none !important;
}
main#main-content > section.bobp-home-hero > .bobp-home-hero__grid {
  z-index: 1;
  pointer-events: none;
  inset: 0;
  height: auto;
  opacity: 0.88;
  -webkit-mask-image: var(--bobp-hero-grid-mask-x), var(--bobp-hero-grid-mask-y);
  -webkit-mask-composite: source-in;
  mask-image: var(--bobp-hero-grid-mask-x), var(--bobp-hero-grid-mask-y);
  mask-composite: intersect;
}
main#main-content > section.bobp-home-hero > .container.relative {
  position: relative;
  z-index: 2;
}
main#main-content > section.bobp-home-hero .bobp-home-hero__bg-image {
  transform: scale(1.06);
  transform-origin: center center;
}
main#main-content > section.bobp-home-hero .bobp-home-hero__bg-scrim {
  backdrop-filter: blur(0);
  background-image: linear-gradient(
    to right,
    rgb(0 0 0 / 0.98) 0%,
    rgb(0 0 0 / 0.96) 20%,
    rgb(0 0 0 / 0.88) 32%,
    rgb(0 0 0 / 0.62) 42%,
    rgb(0 0 0 / 0.32) 48%,
    rgb(0 0 0 / 0.1) 54%,
    transparent 58%,
    transparent 100%
  );
}
@media (min-width: 768px) {
  main#main-content > section.bobp-home-hero .bobp-home-hero__bg-scrim {
    background-image: linear-gradient(
      to right,
      rgb(0 0 0 / 0.99) 0%,
      rgb(0 0 0 / 0.97) 18%,
      rgb(0 0 0 / 0.9) 34%,
      rgb(0 0 0 / 0.58) 44%,
      rgb(0 0 0 / 0.28) 50%,
      rgb(0 0 0 / 0.08) 55%,
      transparent 59%,
      transparent 100%
    );
  }
}
main#main-content > section.bobp-home-hero .bobp-home-hero__bg::after {
  content: none;
  display: none;
}
/* Match remapping section: text 1fr, media 1.1fr + same gaps */
@media (min-width: 768px) {
  main#main-content > section.bobp-home-hero > .container.relative > .grid.items-end {
    grid-template-columns: 1fr 1.1fr;
    gap: 2.5rem;
  }
}
@media (min-width: 1024px) {
  main#main-content > section.bobp-home-hero > .container.relative > .grid.items-end {
    gap: 6rem;
  }
}
main#main-content > section.bobp-home-hero .grid.lg\:grid-cols-\[1\.1fr_1fr\] > .relative.min-w-0 {
  overflow: hidden;
  z-index: 2;
  min-width: 0;
}
main#main-content > section.bobp-home-hero video.bobp-home-hero__media {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  transform: none;
  transform-origin: center center;
}

/* Homepage audience column titles */
.catalog-item > h3.card-title.flex {
  gap: 0.625rem;
}
.catalog-item .bobp-audience-icon {
  color: #18181b;
  flex-shrink: 0;
}

/* Homepage "Three solutions" list titles — match audience icon color & gap */
a.group h3.card-title.font-wide.flex {
  gap: 0.625rem;
}
.bobp-solution-icon {
  color: currentColor;
  flex-shrink: 0;
}

/* Database API page hero — full-bleed background video */
main#main-content > section.page-hero.page-hero--database-api {
  position: relative;
  isolation: isolate;
}
main#main-content > section.page-hero--database-api .page-hero__bg-video {
  position: absolute;
  inset: 0;
}
main#main-content > section.page-hero--database-api .page-hero__bg-video::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgb(0 0 0 / 0.38);
  pointer-events: none;
}
main#main-content > section.page-hero--database-api .page-hero__bg-video video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
main#main-content > section.page-hero--database-api > div.absolute.inset-0.z-\[1\] {
  background: linear-gradient(
    to right,
    rgb(9 9 11 / 0.97),
    rgb(9 9 11 / 0.91),
    rgb(9 9 11 / 0.62)
  ) !important;
}
main#main-content > section.page-hero--database-api > .hero-grid {
  z-index: 1;
}
main#main-content > section.page-hero--database-api > .container {
  z-index: 2;
}

/* File service feature stat on dark panel — full value white (no red %) */
.bg-ink .stat-value .text-olsx {
  color: inherit;
}

/* Headings — no red/white or red/black split; accent spans inherit title color */
.page-title .text-olsx,
.section-title .text-olsx,
.card-title .text-olsx {
  color: inherit !important;
}

section.text-white .section-title,
section.text-white .card-title,
.bg-ink.text-white .section-title,
.bg-ink.text-white .card-title,
.section-title.text-white,
.card-title.text-white {
  color: rgb(215 1 13 / 1) !important;
}

/* H1 page titles on dark heroes — always white (Tailwind text-white) */
h1.page-title.text-white,
section.page-hero h1.page-title,
section.text-white h1.page-title,
.bobp-home-hero .page-title {
  color: rgb(255 255 255 / 1) !important;
}

/* Dark-section decoration — full-height hex / binary rain (right side of section) */
section.relative.bg-ink.text-white > .container.relative {
  z-index: 1;
}
.bobp-hex-rain {
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  opacity: 0.5;
  z-index: 0;
  -webkit-mask-image: linear-gradient(to left, #000 0%, #000 38%, transparent 78%);
  mask-image: linear-gradient(to left, #000 0%, #000 38%, transparent 78%);
}
@media (min-width: 768px) {
  .bobp-hex-rain {
    left: 52%;
    right: 0;
    width: 48%;
    -webkit-mask-image: linear-gradient(to left, #000 0%, #000 92%, transparent 100%);
    mask-image: linear-gradient(to left, #000 0%, #000 92%, transparent 100%);
  }
}
@media (max-width: 767px) {
  .bobp-hex-rain {
    left: 0;
    width: 100%;
    -webkit-mask-image: linear-gradient(
      to bottom,
      transparent 0%,
      #000 12%,
      #000 88%,
      transparent 100%
    );
    mask-image: linear-gradient(
      to bottom,
      transparent 0%,
      #000 12%,
      #000 88%,
      transparent 100%
    );
  }
}
.bobp-hex-rain__cols {
  display: flex;
  gap: 0.22rem;
  height: 100%;
  width: min(100%, 36rem);
  margin-left: auto;
  padding: 1.75rem 1.25rem 1.75rem 0;
  align-items: stretch;
  justify-content: space-between;
}
@media (min-width: 768px) {
  .bobp-hex-rain__cols {
    width: 100%;
    max-width: none;
    margin-left: 0;
    gap: 0.18rem;
    padding: 2.5rem 1rem 2.5rem 0.35rem;
  }
}
@media (min-width: 1280px) {
  .bobp-hex-rain__cols {
    gap: 0.2rem;
    padding: 3rem 1.25rem 3rem 0.5rem;
  }
}
.bobp-hex-rain__col {
  flex: 1 1 0;
  overflow: hidden;
  min-width: 0;
  min-height: 0;
  max-width: 2.65rem;
}
.bobp-hex-rain__track {
  display: flex;
  flex-direction: column;
  animation: bobp-hex-scroll-steady 5.2s linear infinite;
  will-change: transform;
}
.bobp-hex-rain__col--a .bobp-hex-rain__track {
  animation-name: bobp-hex-scroll-launch;
  animation-duration: 4.6s;
  animation-delay: -0.8s;
}
.bobp-hex-rain__col--b .bobp-hex-rain__track {
  animation-name: bobp-hex-scroll-drift;
  animation-duration: 6.4s;
  animation-delay: -2.2s;
}
.bobp-hex-rain__col--c .bobp-hex-rain__track {
  animation-name: bobp-hex-scroll-burst;
  animation-duration: 4.2s;
  animation-delay: -1.5s;
}
.bobp-hex-rain__col--d .bobp-hex-rain__track {
  animation-name: bobp-hex-scroll-wave;
  animation-duration: 5.8s;
  animation-delay: -3.4s;
}
.bobp-hex-rain__col--e .bobp-hex-rain__track {
  animation-name: bobp-hex-scroll-launch;
  animation-duration: 5.1s;
  animation-delay: -4.1s;
}
.bobp-hex-rain__col--f .bobp-hex-rain__track {
  animation-name: bobp-hex-scroll-drift;
  animation-duration: 5.5s;
  animation-delay: -0.5s;
}
.bobp-hex-rain__col--g .bobp-hex-rain__track {
  animation-name: bobp-hex-scroll-burst;
  animation-duration: 4.8s;
  animation-delay: -2.9s;
}
.bobp-hex-rain__col--h .bobp-hex-rain__track {
  animation-name: bobp-hex-scroll-wave;
  animation-duration: 6.1s;
  animation-delay: -1.2s;
}
.bobp-hex-rain__col--i .bobp-hex-rain__track {
  animation-name: bobp-hex-scroll-burst;
  animation-duration: 4.4s;
  animation-delay: -3.7s;
}
.bobp-hex-rain__col--j .bobp-hex-rain__track {
  animation-name: bobp-hex-scroll-launch;
  animation-duration: 5.4s;
  animation-delay: -2.5s;
}
.bobp-hex-rain__col--k .bobp-hex-rain__track {
  animation-name: bobp-hex-scroll-drift;
  animation-duration: 6.8s;
  animation-delay: -4.6s;
}
.bobp-hex-rain__col--l .bobp-hex-rain__track {
  animation-name: bobp-hex-scroll-wave;
  animation-duration: 5s;
  animation-delay: -0.3s;
}
.bobp-hex-rain__lines {
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
  padding-bottom: 0.28rem;
}
@media (min-width: 768px) {
  .bobp-hex-rain__lines {
    gap: 0.38rem;
    padding-bottom: 0.38rem;
  }
}
.bobp-hex-rain__lines span {
  display: block;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.6875rem;
  line-height: 1.3;
  letter-spacing: 0.07em;
  color: rgba(161, 161, 170, 0.55);
  white-space: nowrap;
}
@media (min-width: 768px) {
  .bobp-hex-rain__lines span {
    font-size: 0.8125rem;
  }
}
@media (min-width: 1280px) {
  .bobp-hex-rain__lines span {
    font-size: 0.9375rem;
  }
}
.bobp-hex-rain__lines span:nth-child(3n + 1) {
  color: rgba(212, 212, 216, 0.5);
}
.bobp-hex-rain__lines span:nth-child(3n + 2) {
  color: rgba(113, 113, 122, 0.62);
}
.bobp-hex-rain__lines span:nth-child(3n) {
  color: rgba(161, 161, 170, 0.48);
}
@keyframes bobp-hex-scroll-steady {
  to {
    transform: translateY(-50%);
  }
}
/* Fast surge then ease — columns feel like they shoot then settle */
@keyframes bobp-hex-scroll-launch {
  0% {
    transform: translateY(0);
  }
  18% {
    transform: translateY(-32%);
  }
  45% {
    transform: translateY(-40%);
  }
  100% {
    transform: translateY(-50%);
  }
}
@keyframes bobp-hex-scroll-burst {
  0% {
    transform: translateY(0);
  }
  10% {
    transform: translateY(-6%);
  }
  28% {
    transform: translateY(-34%);
  }
  52%,
  62% {
    transform: translateY(-38%);
  }
  100% {
    transform: translateY(-50%);
  }
}
@keyframes bobp-hex-scroll-drift {
  0% {
    transform: translateY(0);
  }
  35% {
    transform: translateY(-10%);
  }
  55% {
    transform: translateY(-22%);
  }
  100% {
    transform: translateY(-50%);
  }
}
/* Shared slow middle — wave columns move in step then catch up */
@keyframes bobp-hex-scroll-wave {
  0%,
  20% {
    transform: translateY(-4%);
  }
  38% {
    transform: translateY(-16%);
  }
  58%,
  68% {
    transform: translateY(-28%);
  }
  88% {
    transform: translateY(-44%);
  }
  100% {
    transform: translateY(-50%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .bobp-hex-rain__track {
    animation: bobp-hex-scroll-steady 8s linear infinite !important;
  }
}

/* No Intercom / bottom-right messenger (see bobp-disable-intercom.js) */
#intercom-container,
#intercom-frame,
#intercom-css-container,
.intercom-lightweight-app,
.intercom-app,
.intercom-messenger,
iframe[name="intercom-messenger-frame"],
iframe[data-intercom-frame] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Tools — #pricing car/van table: center Price & Credits columns */
#pricing .data-table {
  table-layout: fixed;
  width: 100%;
}
#pricing .data-table th:nth-child(2),
#pricing .data-table td:nth-child(2) {
  width: 5.5rem;
  text-align: center;
}
#pricing .data-table th:nth-child(3),
#pricing .data-table td:nth-child(3) {
  width: 6.5rem;
  text-align: center;
}
