/* Inner marketing pages — same chrome as home-v3. Do not load on live index.html. */

@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;0,700&family=Newsreader:ital,opsz,wght@1,6..72,400;1,6..72,500&display=swap");

html:has(body.v3),
body.v3 {
  background: #ffffff !important;
  color: #111111 !important;
  font-family: "IBM Plex Sans", Inter, sans-serif !important;
  /* style.css's :root redefines --text/-2/-3 near-white for dark sections.
     Every body.v3 page is committed to a white background, so put the
     light-theme values back in scope here — anything using var(--text*)
     without its own override should read dark-on-white, not white-on-white. */
  --text: #1a1a1a;
  --text-2: #4a4a4a;
  --text-3: #767676;
}

body.v3 .ambient-bg,
body.v3 #orbFx,
body.v3 #particles-bg,
body.v3 .scroll-text,
body.v3 .cur-dot,
body.v3 .cur-ring,
body.v3 .scroll-progress,
body.v3 .hero-glow {
  display: none !important;
}

body.v3,
body.v3 .sec-p,
body.v3 .nav-link,
body.v3 .btn-ghost,
body.v3 .btn-black,
body.v3 .page-hero p,
body.v3 .dev-hero-sub,
body.v3 .dev-intro,
body.v3 .dev-text {
  font-family: "IBM Plex Sans", Inter, sans-serif !important;
}

body.v3 h1,
body.v3 h2:not(.pilot-h),
body.v3 h3,
body.v3 .sec-h,
body.v3 .page-hero h1,
body.v3 .dev-h1,
body.v3 .dev-h2,
body.v3 .sub-h {
  font-family: "IBM Plex Sans", Inter, sans-serif !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
}

body.v3 .sec-p,
body.v3 .page-hero p,
body.v3 .dev-hero-sub,
body.v3 .dev-intro,
body.v3 .dev-text,
body.v3 .legal-body p,
body.v3 .legal-body li {
  color: #3f3f46 !important;
  -webkit-text-fill-color: #3f3f46 !important;
}
body.v3 .legal-body strong {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}
body.v3 .legal-date {
  color: #767676 !important;
  -webkit-text-fill-color: #767676 !important;
}

body.v3 .sec-tag,
body.v3 .glow-pill,
body.v3 .center-tag,
body.v3 .dev-accent,
body.v3 .dev-section-label {
  color: #00c27a !important;
}

body.v3 .page-hero,
body.v3 .dev-hero-inner,
body.v3 section.sec,
body.v3 .section-off,
body.v3 .section-plain,
body.v3 .legal-body {
  background: #ffffff !important;
  border-color: rgba(17, 17, 17, 0.08) !important;
}

body.v3 .page-hero,
body.v3 .detail-page-hero,
body.v3 #hero:not(.lg-hero) {
  background:
    radial-gradient(ellipse 120% 80% at 50% -20%, rgba(40, 150, 245, 0.34) 0%, rgba(120, 200, 252, 0.12) 42%, rgba(255, 255, 255, 0) 70%),
    #ffffff !important;
  padding-top: 140px !important;
  min-height: 0 !important;
}

body.v3 .btn-green,
body.v3 .nav-right .btn-black,
body.v3 .btn-signup,
body.v3 .dev-cta-primary,
body.v3 .dev-cta-final,
body.v3 .btn-hero-p {
  background: #00c27a !important;
  color: #04150e !important;
  -webkit-text-fill-color: #04150e !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
}

body.v3 .btn-hero-s,
body.v3 .dev-cta-outline {
  background: #f5f5f7 !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  border: 0 !important;
  border-radius: 999px !important;
}
body.v3 #nav .btn-ghost,
body.v3 #nav .btn-login {
  background: transparent !important;
  color: #f4f1ea !important;
  -webkit-text-fill-color: #f4f1ea !important;
  border: 0 !important;
}
body.v3 #nav .btn-signup,
body.v3 #nav .btn-black {
  background: #00c27a !important;
  color: #04150e !important;
  -webkit-text-fill-color: #04150e !important;
}

body.v3 .four-col > *,
body.v3 .three-col > *,
body.v3 .prod-card,
body.v3 .comp-card,
body.v3 .price-card,
body.v3 .faq-item,
body.v3 .serve-card,
body.v3 .corr-tile,
body.v3 .test-card,
body.v3 .prob-card,
body.v3 .clarity-card,
body.v3 .metric-item,
body.v3 .story-card,
body.v3 .api-card,
body.v3 .dev-note-indigo,
body.v3 .dev-delivery-note {
  background: #f5f5f7 !important;
  border: 0 !important;
  border-radius: 30px !important;
  box-shadow: none !important;
  color: #111111 !important;
}

body.v3 .code-block,
body.v3 .api-card-dark,
body.v3 .graph-frame {
  background: #0b1020 !important;
  border-radius: 30px !important;
  color: #e8edf2 !important;
}

/* Hanging nav */
body.v3 #nav {
  position: fixed !important;
  top: -2px !important;
  left: 0 !important;
  right: 0 !important;
  height: auto !important;
  padding: 0 16px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  overflow: visible !important;
  display: flex;
  justify-content: center;
  pointer-events: none;
  z-index: 100;
}
body.v3 #nav .nav-inner,
body.v3 #nav .nav-mobile-menu { pointer-events: auto; }
body.v3 #nav .nav-inner {
  width: max-content !important;
  max-width: calc(100% - 40px) !important;
  height: 58px !important;
  margin: 0 auto !important;
  padding: 2px 16px 0 !important;
  background: #070b14 !important;
  border: 0 !important;
  border-radius: 0 0 22px 22px !important;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.32);
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  position: relative;
  top: 0;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  column-gap: 24px !important;
  align-items: center !important;
}
body.v3 #nav .nav-links {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 2px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}
body.v3 #nav .nav-right {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-left: 0 !important;
  min-width: max-content !important;
  flex: 0 0 auto !important;
}
@media (min-width: 1400px) {
  body.v3 #nav .nav-inner {
    min-width: 1253px !important;
  }
}
body.v3 #nav .btn-login {
  min-width: 92px !important;
  justify-content: center !important;
}
body.v3 #nav .nav-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  flex-shrink: 0;
}
body.v3 #nav .nav-hamburger span {
  display: block;
  width: 22px;
  height: 2px;
  background: #f4f1ea;
  border-radius: 2px;
}
body.v3 #nav .nav-inner::before,
body.v3 #nav .nav-inner::after {
  content: "";
  position: absolute;
  top: 0;
  width: 28px;
  height: 28px;
  pointer-events: none;
  z-index: 0;
}
body.v3 #nav .nav-inner::before {
  left: -28px;
  background: radial-gradient(circle at 0 28px, transparent 27.5px, #070b14 28px);
}
body.v3 #nav .nav-inner::after {
  right: -28px;
  background: radial-gradient(circle at 28px 28px, transparent 27.5px, #070b14 28px);
}
body.v3 #nav .nav-logo {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-right: 0 !important;
  text-decoration: none !important;
  flex-shrink: 0 !important;
}
body.v3 #nav .nav-logo-mark {
  width: 34px !important;
  height: 34px !important;
  border-radius: 9px !important;
  overflow: hidden !important;
  background: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
body.v3 #nav .nav-logo-mark img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 9px !important;
}
body.v3 #nav .nav-logo-text {
  font-family: "IBM Plex Sans", Inter, sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
  color: #f4f1ea !important;
  -webkit-text-fill-color: #f4f1ea !important;
  line-height: 1 !important;
}
body.v3 #nav .nav-link,
body.v3 #nav .btn-ghost,
body.v3 #nav .nav-sub {
  color: #f4f1ea !important;
  -webkit-text-fill-color: #f4f1ea !important;
  background: transparent !important;
  border: 0 !important;
  text-decoration: none !important;
  white-space: nowrap;
  font-size: 14px !important;
  font-weight: 500 !important;
  padding: 8px 11px !important;
  font-family: "IBM Plex Sans", Inter, sans-serif !important;
}
body.v3 #nav .nav-right .btn-contact,
body.v3 #nav .solutions-mobile-dropdown {
  display: none !important;
}
body.v3 #nav .btn-signup,
body.v3 #nav .nav-right .btn-black {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 248px !important;
  padding: 9px 18px !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  white-space: nowrap !important;
}
body.v3 #nav .nav-sub {
  color: rgba(244, 241, 234, 0.55) !important;
  -webkit-text-fill-color: rgba(244, 241, 234, 0.55) !important;
}
/* Never paint the full-width #nav — that turns the hanging island into a bar. */
body.v3 #nav.scrolled {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.v3 #nav.scrolled .nav-inner {
  background: #070b14 !important;
  border: 0 !important;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.32) !important;
}

body.v3 .ticker {
  display: block !important;
  position: sticky !important;
  top: 56px !important;
  z-index: 99;
  height: 40px;
  background: rgba(7, 11, 20, 0.97) !important;
}
body.v3 .ticker-item {
  color: #e8edf2 !important;
  -webkit-text-fill-color: #e8edf2 !important;
}

@media (max-width: 1280px) {
  body.v3 #nav { padding: 0 36px !important; }
  body.v3 #nav .nav-inner {
    width: max-content !important;
    max-width: calc(100vw - 72px) !important;
    height: 54px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    grid-template-columns: none !important;
    padding: 2px 12px 0 14px !important;
  }
  body.v3 #nav:has(.nav-hamburger) .nav-links,
  body.v3 #nav:has(.nav-hamburger) .nav-right { display: none !important; }
  body.v3 #nav .nav-logo {
    margin-right: 0 !important;
  }
  body.v3 #nav:has(.nav-hamburger) .nav-hamburger {
    display: flex !important;
    position: static !important;
    transform: none !important;
    margin-left: 2px !important;
    width: 40px !important;
    height: 40px !important;
    background: transparent !important;
    border: 0 !important;
  }
  body.v3 #nav:not(:has(.nav-hamburger)) .nav-links { display: none !important; }
}

@media (max-width: 768px) {
  body.v3 .ticker { display: none !important; }
  body.v3 .page-hero,
  body.v3 #hero:not(.lg-hero) { padding-top: 100px !important; }
  body.v3 footer { border-radius: 32px 32px 0 0; }
  /* Beat style.css `.nav-inner { width: 100% }` and `nav.scrolled` full bar. */
  body.v3 #nav,
  body.v3 #nav.scrolled {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    height: auto !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
  body.v3 #nav .nav-inner,
  body.v3 #nav.scrolled .nav-inner {
    width: max-content !important;
    max-width: calc(100vw - 28px) !important;
    min-width: 0 !important;
  }
}

/* Keep the hanging island on the phone while scrolling. */
@media (max-width: 1280px) {
  body.v3 #nav {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: auto !important;
    z-index: 4000 !important;
    transform: none !important;
    -webkit-transform: none !important;
  }
  body.v3 #nav #navHamburger.nav-hamburger {
    display: flex !important;
    position: static !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;
    width: 40px !important;
    height: 40px !important;
    margin-left: 2px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 10px !important;
  }
}

/* Footer — inverted hang */
body.v3 footer {
  position: relative;
  z-index: 6;
  margin-top: 0 !important;
  padding: 72px 0 40px !important;
  background: #070b14 !important;
  color: #f4f1ea !important;
  border: 0 !important;
  border-radius: 48px 48px 0 0;
  overflow: visible !important;
}
body.v3 footer .foot-logo-text,
body.v3 footer .foot-col-t {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
body.v3 footer .foot-desc,
body.v3 footer .foot-copy,
body.v3 footer .foot-legal a,
body.v3 footer .idx-foot-tagline {
  color: rgba(244, 241, 234, 0.55) !important;
  -webkit-text-fill-color: rgba(244, 241, 234, 0.55) !important;
}
body.v3 footer .foot-col-link {
  color: rgba(244, 241, 234, 0.78) !important;
  -webkit-text-fill-color: rgba(244, 241, 234, 0.78) !important;
}
body.v3 footer .foot-col-link:hover,
body.v3 footer .foot-legal a:hover {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
body.v3 footer .foot-bottom {
  border-top-color: rgba(255, 255, 255, 0.08) !important;
}

body.v3 .prod-t,
body.v3 .prod-card h3,
body.v3 .price-card h3,
body.v3 .comp-t,
body.v3 .faq-q,
body.v3 .faq-q-text,
body.v3 .price-name,
body.v3 .metric-n {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}
body.v3 .prod-b,
body.v3 .price-card p,
body.v3 .faq-a,
body.v3 .faq-a-inner {
  color: #3f3f46 !important;
  -webkit-text-fill-color: #3f3f46 !important;
}
body.v3 .hero-badge,
body.v3 .glow-pill,
body.v3 .page-badge {
  background: rgba(0, 194, 122, 0.1) !important;
  border: 1px solid rgba(0, 194, 122, 0.22) !important;
  color: #047857 !important;
  -webkit-text-fill-color: #047857 !important;
}

body.v3 .progress,
body.v3 #progress { background: #00c27a !important; }

/* ── Catch-all: leftover aurora copy on the white canvas ─────────────── */
body.v3 p:not(.pilot-p),
body.v3 li,
body.v3 .prod-hero-copy,
body.v3 .prod-service-copy,
body.v3 .prod-service-item,
body.v3 .prod-section-copy,
body.v3 .prod-b,
body.v3 .prod-signal-copy,
body.v3 .prod-cta-copy,
body.v3 .prod-note-copy,
body.v3 .co-hero-copy,
body.v3 .co-section-copy,
body.v3 .co-careers-copy,
body.v3 .co-card-copy,
body.v3 .co-stat-label,
body.v3 .co-job-copy,
body.v3 .co-job-meta,
body.v3 .ct-hero-p,
body.v3 .ct-form-p,
body.v3 .ct-type-desc,
body.v3 .ct-form-note,
body.v3 .page-hero-copy,
body.v3 .corr-hero-copy,
body.v3 .corr-section-intro,
body.v3 .corr-card-meta,
body.v3 .section-copy,
body.v3 .section-cta-copy,
body.v3 .pricing-tier-copy,
body.v3 .pricing-note-copy,
body.v3 .price-item,
body.v3 .login-hero-sub,
body.v3 .login-step-desc,
body.v3 .login-step-p,
body.v3 .su-hero-p,
body.v3 .su-verdict-p,
body.v3 .detail-sub,
body.v3 .detail-item p,
body.v3 .pg-404-copy,
body.v3 .sla-card-copy,
body.v3 .comp-b,
body.v3 .comp-item,
body.v3 .prob-body,
body.v3 .how-step-b,
body.v3 .metric-l,
body.v3 .stat-l,
body.v3 .actor-body,
body.v3 .check-item,
body.v3 .field-label,
body.v3 .dev-step-desc,
body.v3 .dev-step-b,
body.v3 .sub,
body.v3 .pkg-pos,
body.v3 .section-sub,
body.v3 .ws-hero p,
body.v3 .ws-purpose-label {
  color: #3f3f46 !important;
  -webkit-text-fill-color: #3f3f46 !important;
}

body.v3 .prod-service-title,
body.v3 .prod-hero-title,
body.v3 .prod-section-title,
body.v3 .prod-signal-title,
body.v3 .prod-cta-title,
body.v3 .co-hero-title,
body.v3 .co-section-title,
body.v3 .co-card-title,
body.v3 .co-job-title,
body.v3 .co-stat-number,
body.v3 .ct-hero-h,
body.v3 .ct-form-h2,
body.v3 .ct-faq-h2,
body.v3 .ct-type-title,
body.v3 .detail-title,
body.v3 .detail-head,
body.v3 .section-h2,
body.v3 .login-hero-title,
body.v3 .login-step-heading,
body.v3 .su-hero-h,
body.v3 .su-step-title,
body.v3 .corr-card-name,
body.v3 .pkg-name,
body.v3 .solution-page-title,
body.v3 .solution-detail-title,
body.v3 .ws-hero h1,
body.v3 h4,
body.v3 h5,
body.v3 h6 {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}

body.v3 .prod-accent,
body.v3 .tok-green,
body.v3 .text-green,
body.v3 .ct-hl,
body.v3 .login-accent,
body.v3 .su-hl,
body.v3 .co-stat-number {
  color: #00c27a !important;
  -webkit-text-fill-color: #00c27a !important;
}

body.v3 .card,
body.v3 .glass-card,
body.v3 .page-card,
body.v3 .dev-card,
body.v3 .contact-card,
body.v3 .wallet-card,
body.v3 .product-card,
body.v3 .corr-card,
body.v3 .detail-card,
body.v3 .detail-item,
body.v3 .protocol-arch,
body.v3 .protocol-box,
body.v3 .protocol-node,
body.v3 .protocol-list .li,
body.v3 .pricing-note-box,
body.v3 .sla-card,
body.v3 .pkg,
body.v3 .svc,
body.v3 .ws-card,
body.v3 .su-step,
body.v3 .login-card-pad,
body.v3 .su-card-pad {
  background: #f5f5f7 !important;
  border: 0 !important;
  border-radius: 30px !important;
  box-shadow: none !important;
  color: #111111 !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body.v3 .detail-page-hero,
body.v3 .detail-panel,
body.v3 .detail-panel-centered,
body.v3 .prod-section,
body.v3 .prod-section-off,
body.v3 .section-off,
body.v3 .section-faq,
body.v3 .ct-form-section,
body.v3 .ct-faq-section,
body.v3 .ws-hero,
body.v3 .ws-purpose-section,
body.v3 .ws-form-section,
body.v3 .su-form-section,
body.v3 .login-section,
body.v3 .legal-body,
body.v3 header.hero {
  background: #ffffff !important;
  background-image: none !important;
}
body.v3 .ws-card-title,
body.v3 .ws-pkg-title,
body.v3 .ws-form-title {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}
body.v3 .ws-card-desc,
body.v3 .ws-pkg-desc,
body.v3 .ws-pkg-list,
body.v3 .ws-form-sub,
body.v3 .ws-breadcrumb,
body.v3 .ws-breadcrumb button,
body.v3 .ws-breadcrumb-current {
  color: #3f3f46 !important;
  -webkit-text-fill-color: #3f3f46 !important;
}
body.v3 .ws-card-arrow {
  color: #8a8a90 !important;
}
body.v3 .ws-form-wrap,
body.v3 .ws-pkg-card {
  background: #f5f5f7 !important;
  border: 0 !important;
  color: #111111 !important;
}

/* onboard.html form controls were authored for a dark card (white labels /
   white input text). body.v3 paints the wrap #f5f5f7, so those stay
   white-on-white unless restyled here. */
body.v3 .ws-label {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}
body.v3 .ws-input,
body.v3 .ws-select,
body.v3 .ws-textarea {
  background: #ffffff !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  border: 1px solid rgba(17, 17, 17, 0.14) !important;
  box-shadow: none !important;
}
body.v3 .ws-input::placeholder,
body.v3 .ws-textarea::placeholder {
  color: #8a8a90 !important;
  -webkit-text-fill-color: #8a8a90 !important;
  opacity: 1 !important;
}
body.v3 .ws-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23111111' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: calc(100% - 14px) center !important;
  background-color: #ffffff !important;
}
body.v3 .ws-select option {
  background: #ffffff !important;
  color: #111111 !important;
}
body.v3 .ws-input:focus,
body.v3 .ws-select:focus,
body.v3 .ws-textarea:focus {
  border-color: rgba(0, 194, 122, 0.7) !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(0, 194, 122, 0.14) !important;
}
body.v3 .ws-corridor-label {
  background: #ffffff !important;
  border: 1px solid rgba(17, 17, 17, 0.12) !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}
body.v3 .ws-corridor-label:hover,
body.v3 .ws-corridor-label:has(input:checked) {
  background: rgba(0, 194, 122, 0.08) !important;
  border-color: rgba(0, 194, 122, 0.45) !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}
body.v3 .ws-form-actions {
  border-top: 1px solid rgba(17, 17, 17, 0.08) !important;
}
body.v3 .ws-form-actions .btn-ghost {
  background: #ffffff !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  border: 1px solid rgba(17, 17, 17, 0.12) !important;
}
body.v3 .ws-pkg-card.selected {
  background: rgba(0, 194, 122, 0.1) !important;
  box-shadow: inset 0 0 0 1.5px #00c27a !important;
}
body.v3 .ws-confirm-section {
  background: #ffffff !important;
}
body.v3 .ws-confirm-title,
body.v3 .ws-cred-val,
body.v3 .ws-conf-title,
body.v3 .ws-conf-strong {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}
body.v3 .ws-confirm-sub,
body.v3 .ws-queued-text,
body.v3 .ws-cred-key,
body.v3 .ws-cred-label,
body.v3 .ws-conf-note-txt,
body.v3 .ws-conf-copy,
body.v3 .ws-conf-email {
  color: #3f3f46 !important;
  -webkit-text-fill-color: #3f3f46 !important;
}
body.v3 .ws-queued-row,
body.v3 .ws-cred-box,
body.v3 .ws-conf-box {
  background: #f5f5f7 !important;
  border: 0 !important;
  color: #111111 !important;
}
body.v3 .detail-page-hero:before { display: none !important; }
body.v3 .detail-page-hero {
  padding-top: 140px !important;
  min-height: 0 !important;
}

body.v3 .pilot-status-badge,
body.v3 .detail-eyebrow,
body.v3 .ws-badge {
  background: rgba(0, 194, 122, 0.1) !important;
  border: 1px solid rgba(0, 194, 122, 0.22) !important;
  color: #047857 !important;
  -webkit-text-fill-color: #047857 !important;
  box-shadow: none !important;
}

/* Solution pages (solution-*.html): these were authored for a dark hero,
   but body.v3 .page-hero and body.v3 .card both render white. */
body.v3 .solution-chip {
  background: rgba(37, 99, 235, 0.08) !important;
  border: 1px solid rgba(37, 99, 235, 0.18) !important;
  color: #1d4ed8 !important;
  -webkit-text-fill-color: #1d4ed8 !important;
}
body.v3 .solution-card-title {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}
body.v3 .solution-card-copy,
body.v3 .solution-list-item,
body.v3 .solution-step-body {
  color: #3f3f46 !important;
  -webkit-text-fill-color: #3f3f46 !important;
}
body.v3 .solution-step-num {
  background: rgba(0, 194, 122, 0.12) !important;
  border: 1px solid rgba(0, 194, 122, 0.28) !important;
  color: #047857 !important;
  -webkit-text-fill-color: #047857 !important;
}
body.v3 .solution-back-link {
  color: #3f3f46 !important;
  -webkit-text-fill-color: #3f3f46 !important;
}
body.v3 .solution-back-link:hover {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}

/* verify-with-passid.html: legacy self-contained page, .chip authored for a dark body. */
body.v3 .chip {
  background: #f5f5f7 !important;
  border-color: rgba(17, 17, 17, 0.08) !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}

/* developers.html: sandbox banner authored for a dark section. */
body.v3 .sb-subtitle {
  color: #4a4a4a !important;
  -webkit-text-fill-color: #4a4a4a !important;
}
body.v3 .dc-dark {
  background: rgba(0, 0, 0, 0.06) !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}

/* integration-guide.html: .ig-section is a genuinely dark card; the generic
   body.v3 h1/h2/h3 darkener (site-v3.css:35) still catches its headings. */
body.v3 h2.ig-h2,
body.v3 h3.ig-h3 {
  color: #f8fafc !important;
  -webkit-text-fill-color: #f8fafc !important;
}

/* Pilot card "next move" steps — ported from home-v3's #pilot treatment
   (home-v3-overlay.css:2265) so solution-*.html gets the same roomy glass
   card grid instead of the plain style.css list-row fallback. */
body.v3 .pilot-card {
  display: grid !important;
  grid-template-columns: minmax(280px, 0.92fr) minmax(420px, 1.18fr) !important;
  align-items: start !important;
  gap: 40px 48px !important;
  padding: 48px 48px 44px !important;
  /* Keep clipping the card's own ::before/::after decorative glows (600px/
     400px, absolutely positioned past the edge) — home-v3's #pilot scope
     can afford overflow:visible because its .si is wider; solution pages
     sit closer to the viewport edge and the glow causes real horizontal
     scroll at laptop widths if left visible. */
  overflow: hidden !important;
  text-align: left !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
body.v3 .pilot-l,
body.v3 .pilot-r {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
}
body.v3 .pilot-h,
body.v3 .pilot-p,
body.v3 .idx-pilot-note {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body.v3 .pilot-h {
  max-width: 16ch;
  color: #f4f1ea !important;
  -webkit-text-fill-color: #f4f1ea !important;
}
body.v3 .pilot-p {
  color: #c4c9ce !important;
  -webkit-text-fill-color: #c4c9ce !important;
  max-width: 46ch;
}
body.v3 .pilot-steps {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: none !important;
}
body.v3 .pilot-step {
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: 12px !important;
  row-gap: 4px !important;
  align-items: start !important;
  justify-content: start !important;
  text-align: left !important;
  padding: 18px 18px 16px !important;
  min-height: 96px !important;
  min-width: 0 !important;
  border-radius: 20px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4) !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}
body.v3 .pilot-step-n {
  grid-row: 1 / span 2 !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 10px !important;
  background: #ececee !important;
  border: 0 !important;
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
  font-family: "IBM Plex Sans", Inter, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}
body.v3 .pilot-step-t {
  grid-column: 2 !important;
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  overflow: visible !important;
  margin: 0 !important;
}
body.v3 .pilot-step-s {
  grid-column: 2 !important;
  margin-left: 0 !important;
  justify-self: start !important;
  color: #52525b !important;
  -webkit-text-fill-color: #52525b !important;
  font-size: 12px !important;
  letter-spacing: 0.02em !important;
  white-space: nowrap !important;
}
@media (max-width: 980px) {
  body.v3 .pilot-card {
    grid-template-columns: 1fr !important;
    padding: 32px 22px !important;
    gap: 28px !important;
  }
  body.v3 .pilot-h { max-width: none; }
  body.v3 .pilot-steps { grid-template-columns: 1fr !important; }
}

/* login-user.html / signup-user.html: shared auth side-panel, authored for a
   dark card, now sitting on the light .card / .auth-side-item background. */
body.v3 .auth-side-title,
body.v3 .auth-prompt-title,
body.v3 .auth-metric strong {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}
body.v3 .auth-side-copy,
body.v3 .auth-prompt-body,
body.v3 .su-checkbox-label {
  color: #3f3f46 !important;
  -webkit-text-fill-color: #3f3f46 !important;
}
body.v3 .auth-chip {
  background: rgba(37, 99, 235, 0.08) !important;
  border-color: rgba(37, 99, 235, 0.18) !important;
  color: #1d4ed8 !important;
  -webkit-text-fill-color: #1d4ed8 !important;
}
body.v3 .auth-prompt-cta {
  background: #111111 !important;
  border-color: #111111 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
body.v3 .auth-footnote {
  color: #047857 !important;
  -webkit-text-fill-color: #047857 !important;
}
body.v3 .auth-footnote a {
  color: #047857 !important;
  -webkit-text-fill-color: #047857 !important;
  text-decoration: underline;
}
body.v3 .auth-inline label {
  color: #3f3f46 !important;
  -webkit-text-fill-color: #3f3f46 !important;
}

/* product.html: <b> inside .prod-note-copy has its own hardcoded light color. */
body.v3 .prod-note-copy b {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}

/* core.html / issuer.html / verifier.html: shared "detail page" template,
   authored for a dark card, now sitting on the light .card background. */
body.v3 .detail-body,
body.v3 .detail-note {
  color: #3f3f46 !important;
  -webkit-text-fill-color: #3f3f46 !important;
}

/* after.html: post-signup next-steps template, authored for a dark card. */
body.v3 .after-email-mono,
body.v3 .after-btn-secondary {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}
body.v3 .after-step-num-blue {
  background: rgba(56, 189, 248, 0.14) !important;
  color: #0369a1 !important;
  -webkit-text-fill-color: #0369a1 !important;
}

body.v3 .btn-ghost {
  background: #f5f5f7 !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  border: 0 !important;
  border-radius: 999px !important;
}
body.v3 #nav .btn-ghost,
body.v3 #nav .btn-login {
  background: transparent !important;
  color: #f4f1ea !important;
  -webkit-text-fill-color: #f4f1ea !important;
  border: 0 !important;
}
body.v3 .btn-black,
body.v3 .ct-submit,
body.v3 .login-btn-primary,
body.v3 .login-btn-reset,
body.v3 .login-sent-btn,
body.v3 .su-submit,
body.v3 .pricing-tier-cta-primary,
body.v3 .prod-cta-primary,
body.v3 .pg-404-btn-primary {
  background: #00c27a !important;
  color: #04150e !important;
  -webkit-text-fill-color: #04150e !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
}
body.v3 .pricing-tier-cta,
body.v3 .prod-cta-secondary,
body.v3 .ct-type-link,
body.v3 .co-job-apply,
body.v3 .pg-404-btn-secondary {
  background: #f5f5f7 !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  border: 0 !important;
  border-radius: 999px !important;
}

body.v3 .field-input,
body.v3 .field-select,
body.v3 .field-textarea {
  background: #ffffff !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  border: 1px solid rgba(17, 17, 17, 0.12) !important;
  box-shadow: none !important;
}
body.v3 .field-input::placeholder,
body.v3 .field-textarea::placeholder {
  color: #8a8a90 !important;
}

body.v3 .section-label {
  color: #00c27a !important;
  -webkit-text-fill-color: #00c27a !important;
}
body.v3 .section-label::before,
body.v3 .section-label::after {
  background: #00c27a !important;
}

body.v3 .detail-kicker,
body.v3 .protocol-arch-title,
body.v3 .protocol-node .n-h,
body.v3 .protocol-box h3,
body.v3 .protocol-box .k,
body.v3 .protocol-node .n-k,
body.v3 .protocol-list .li b,
body.v3 .detail-item h4 {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}
body.v3 .protocol-arch-sub,
body.v3 .protocol-node .n-p,
body.v3 .protocol-box p,
body.v3 .protocol-list .li span {
  color: #3f3f46 !important;
  -webkit-text-fill-color: #3f3f46 !important;
}

body.v3 .qs-tab-bar,
body.v3 .node-tab-bar {
  border-color: rgba(17, 17, 17, 0.08) !important;
}
body.v3 .qs-btn,
body.v3 .qs-btn-last,
body.v3 .node-btn,
body.v3 .node-btn-last,
body.v3 .tab-inactive {
  background: #f5f5f7 !important;
  color: #3f3f46 !important;
  -webkit-text-fill-color: #3f3f46 !important;
  border-color: rgba(17, 17, 17, 0.08) !important;
}
body.v3 .tab-active {
  background: #111111 !important;
  color: #00c27a !important;
  -webkit-text-fill-color: #00c27a !important;
}

body.v3 .pricing-jump {
  background: #f5f5f7 !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  border: 0 !important;
}
body.v3 .pricing-jump.is-active {
  background: #111111 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Dark modules stay dark (code, terminals, API windows) */
body.v3 .code-block,
body.v3 .api-card-dark,
body.v3 .detail-mono,
body.v3 .protocol-mono,
body.v3 .cw-no-top,
body.v3 .cw-mb20,
body.v3 .sb-card,
body.v3 .node-panel,
body.v3 pre {
  background: #0b1020 !important;
  color: #e8edf2 !important;
  -webkit-text-fill-color: #e8edf2 !important;
  border: 0 !important;
  border-radius: 22px !important;
}
body.v3 .code-block,
body.v3 .code-block *,
body.v3 .code-body,
body.v3 .code-body *,
body.v3 pre,
body.v3 pre * {
  text-align: left !important;
  font-family: "JetBrains Mono", ui-monospace, monospace !important;
}
body.v3 .code-body,
body.v3 .code-block .code-body {
  color: #d7e0ea !important;
  -webkit-text-fill-color: #d7e0ea !important;
  line-height: 1.8 !important;
  font-size: 12.5px !important;
  padding: 18px 20px !important;
}
body.v3 .api-card-dark *,
body.v3 .detail-mono *,
body.v3 .protocol-mono *,
body.v3 .cw-body,
body.v3 .cw-body-11,
body.v3 .cw-body-sm,
body.v3 .cw-webhook-body,
body.v3 .sb-card *,
body.v3 pre {
  color: #d7e0ea !important;
  -webkit-text-fill-color: #d7e0ea !important;
}
body.v3 .c-k,
body.v3 .idx-code-arg { color: #7dd3c0 !important; -webkit-text-fill-color: #7dd3c0 !important; }
body.v3 .c-s { color: #00c27a !important; -webkit-text-fill-color: #00c27a !important; }
body.v3 .c-b,
body.v3 .idx-code-var { color: #7eb8ff !important; -webkit-text-fill-color: #7eb8ff !important; }
body.v3 .code-ttl {
  color: #9aa8bc !important;
  -webkit-text-fill-color: #9aa8bc !important;
  font-family: "JetBrains Mono", ui-monospace, monospace !important;
}
body.v3 .code-body [style*="color:#475569"],
body.v3 .code-body [style*="color:#64748b"],
body.v3 .code-body [style*="color:rgba(255,255,255,.3)"] {
  color: #a8b6c9 !important;
  -webkit-text-fill-color: #a8b6c9 !important;
}
body.v3 .code-body [style*="color:#22c55e"] {
  color: #00c27a !important;
  -webkit-text-fill-color: #00c27a !important;
}
body.v3 .sb-token { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }

/* Footer copy must stay light on the inverted hang */
body.v3 footer p,
body.v3 footer li,
body.v3 footer .foot-desc,
body.v3 footer .idx-foot-tagline,
body.v3 footer .foot-tagline,
body.v3 footer .su-foot-tagline,
body.v3 footer .ct-foot-tagline {
  color: rgba(244, 241, 234, 0.55) !important;
  -webkit-text-fill-color: rgba(244, 241, 234, 0.55) !important;
}

body.v3 #nav .nav-dropdown { position: relative; }
body.v3 #nav .nav-links > a.nav-link[href="/status"] { display: none !important; }
body.v3 #nav .nav-dropdown-menu {
  position: absolute !important;
  top: calc(100% + 12px) !important;
  left: 0 !important;
  min-width: 320px !important;
  padding: 12px !important;
  display: grid !important;
  gap: 6px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(8px);
  z-index: 180;
  border-radius: 18px !important;
}
body.v3 #nav .nav-dropdown:hover .nav-dropdown-menu,
body.v3 #nav .nav-dropdown:focus-within .nav-dropdown-menu,
body.v3 #nav .nav-dropdown.open .nav-dropdown-menu {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateY(0);
}
/* Nav dropdown on the hanging island */
body.v3 #nav .nav-dropdown-menu {
  background: #0f1524 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35) !important;
}
body.v3 #nav .nav-dd-label { color: #00c27a !important; }
body.v3 #nav .nav-dd-title,
body.v3 #nav .nav-dropdown-menu a {
  color: #f4f1ea !important;
  -webkit-text-fill-color: #f4f1ea !important;
}
body.v3 #nav .nav-dd-desc {
  color: rgba(244, 241, 234, 0.55) !important;
  -webkit-text-fill-color: rgba(244, 241, 234, 0.55) !important;
}
body.v3 #nav .nav-dropdown-menu a:hover {
  background: rgba(255, 255, 255, 0.06) !important;
}
body.v3 #navMobileMenu,
body.v3 .nav-mobile-menu {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: auto !important;
  width: min(392px, 86vw) !important;
  max-width: min(392px, 86vw) !important;
  height: 100% !important;
  height: 100dvh !important;
  z-index: 10020 !important;
  display: flex !important;
  flex-direction: column !important;
  background: #070b14 !important;
  color: #f4f1ea !important;
  border: 0 !important;
  border-radius: 28px 0 0 28px !important;
  box-shadow: -28px 0 80px rgba(0, 0, 0, 0.42) !important;
  transform: translateX(110%) !important;
  transition: transform 0.42s cubic-bezier(0.22, 1, 0.36, 1) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  padding: env(safe-area-inset-top) 0 env(safe-area-inset-bottom) !important;
  pointer-events: none !important;
  visibility: hidden;
}
body.v3 #navMobileMenu.open,
body.v3 .nav-mobile-menu.open {
  transform: translateX(0) !important;
  pointer-events: auto !important;
  visibility: visible;
}
body.v3 .nav-mobile-backdrop {
  position: fixed !important;
  inset: 0 !important;
  z-index: 10010 !important;
  background: rgba(7, 11, 20, 0.52) !important;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 0.32s ease;
}
body.v3 .nav-mobile-backdrop.open {
  opacity: 1 !important;
  pointer-events: auto !important;
}
body.v3 .nav-mobile-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 22px 20px 16px 22px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  flex-shrink: 0 !important;
  position: sticky !important;
  top: 0 !important;
  background: #070b14 !important;
  z-index: 2 !important;
}
body.v3 .nav-mobile-header .nav-logo {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  text-decoration: none !important;
}
body.v3 .nav-mobile-header .nav-logo-text {
  color: #f4f1ea !important;
  -webkit-text-fill-color: #f4f1ea !important;
  font-family: "IBM Plex Sans", Inter, sans-serif !important;
  font-weight: 600 !important;
  font-size: 18px !important;
  letter-spacing: -0.03em !important;
}
body.v3 .nav-mobile-header .nav-logo-mark {
  width: 34px !important;
  height: 34px !important;
  border-radius: 9px !important;
  overflow: hidden !important;
}
body.v3 .nav-mobile-close {
  width: 40px !important;
  height: 40px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #f4f1ea !important;
  font-size: 16px !important;
  line-height: 1 !important;
  cursor: pointer;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.15s ease, color 0.15s ease;
}
body.v3 .nav-mobile-close:hover,
body.v3 .nav-mobile-close:active {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #ffffff !important;
}
body.v3 .nav-mobile-links {
  display: flex !important;
  flex-direction: column !important;
  padding: 8px 16px 32px !important;
  gap: 2px !important;
  flex: 1 1 auto !important;
}
body.v3 .nav-mobile-label {
  display: block !important;
  margin: 18px 8px 6px !important;
  padding: 0 !important;
  font-family: "IBM Plex Sans", Inter, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #00c27a !important;
  -webkit-text-fill-color: #00c27a !important;
  border: 0 !important;
}
body.v3 .nav-mobile-link {
  display: block !important;
  padding: 12px 14px !important;
  border: 0 !important;
  border-bottom: 0 !important;
  border-radius: 12px !important;
  color: #f4f1ea !important;
  -webkit-text-fill-color: #f4f1ea !important;
  font-family: "IBM Plex Sans", Inter, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  letter-spacing: -0.02em;
  transition: background 0.15s ease, color 0.15s ease;
}
body.v3 .nav-mobile-link.is-active {
  color: #00c27a !important;
  -webkit-text-fill-color: #00c27a !important;
  background: rgba(0, 194, 122, 0.1) !important;
}
body.v3 .nav-mobile-link:active,
body.v3 .nav-mobile-link:hover {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: rgba(255, 255, 255, 0.07) !important;
}
body.v3 .nav-mobile-divider {
  height: 1px !important;
  margin: 14px 8px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 0 !important;
}
body.v3 .nav-mobile-cta {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 18px 4px 8px !important;
  padding: 15px 18px !important;
  border-radius: 999px !important;
  background: #00c27a !important;
  color: #04150e !important;
  -webkit-text-fill-color: #04150e !important;
  font-family: "IBM Plex Sans", Inter, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: 0 12px 28px rgba(0, 194, 122, 0.28);
}
body.v3 .nav-mobile-cta:hover {
  background: #00d488 !important;
  color: #04150e !important;
  -webkit-text-fill-color: #04150e !important;
}

/* Cookie bar — hanging island, not a full-width slab over CTAs. */
body.v3 .passid-consent {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 16px 14px !important;
  pointer-events: none;
}
body.v3 .passid-consent-inner {
  pointer-events: auto;
  max-width: 720px !important;
  margin: 0 auto !important;
  padding: 11px 16px !important;
  background: #070b14 !important;
  border-radius: 22px !important;
  box-shadow: 0 18px 50px rgba(7, 11, 20, 0.35) !important;
  gap: 12px 16px !important;
}
body.v3 .passid-consent-copy { color: rgba(244, 241, 234, 0.72) !important; }
body.v3 .passid-consent-link { color: #86efac !important; }
body.v3 .passid-consent-decline {
  border-color: rgba(255, 255, 255, 0.16) !important;
  color: #f4f1ea !important;
  border-radius: 999px !important;
}
body.v3 .passid-consent-accept {
  background: #00c27a !important;
  color: #04150e !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
}

/* Use-cases page (inline dark :root) */
body.v3 .wrap,
body.v3 .hero,
body.v3 .band {
  background: transparent !important;
}
body.v3 .eyebrow,
body.v3 .pkg-badge,
body.v3 .section-label,
body.v3 .card .more {
  color: #00c27a !important;
}

/* Hanging home nav replaces the docs cream topbar */
body.v3 header.topbar { display: none !important; }

/* API docs keep their own cream shell */
html:has(body.v3):has(header.topbar),
body.v3:has(header.topbar) {
  background:
    radial-gradient(circle at top left, rgba(0, 194, 122, 0.12), transparent 28%),
    radial-gradient(circle at top right, rgba(15, 78, 201, 0.08), transparent 22%),
    linear-gradient(180deg, #fbfaf6 0%, #f4efe6 100%) !important;
  color: #18202c !important;
}
body.v3:has(header.topbar) h1,
body.v3:has(header.topbar) h2,
body.v3:has(header.topbar) h3,
body.v3:has(header.topbar) h4 {
  color: #09111b !important;
  -webkit-text-fill-color: #09111b !important;
}
body.v3:has(header.topbar) p {
  color: #617083 !important;
  -webkit-text-fill-color: #617083 !important;
}

/* PassID Connect diagram keeps its navy canvas */
html:has(body.v3 .flow-shell),
body.v3:has(.flow-shell) {
  background: #1e2338 !important;
  color: #4f5f7a !important;
  padding-top: 64px !important;
}
body.v3:has(.flow-shell) p,
body.v3:has(.flow-shell) h1,
body.v3:has(.flow-shell) h2,
body.v3:has(.flow-shell) h3 {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
  font-weight: inherit !important;
}

@media (max-width: 768px) {
  body.v3 .detail-page-hero { padding-top: 100px !important; }
}

/* Last copy stays on white. Sky tucks 48px under the footer curve so corners stay blue. */
body.v3 > section:last-of-type,
body.v3 .prod-section-center {
  position: relative;
  z-index: 3;
  padding-bottom: 0 !important;
  background: #ffffff !important;
  overflow: visible !important;
}
body.v3 > *:has(+ footer):not(.v3-end-glow) {
  position: relative;
  z-index: 3;
  overflow: visible !important;
}
body.v3 > *:has(+ footer):not(.v3-end-glow)::after {
  content: "";
  display: block;
  /* If the element right before the footer is itself a grid/flex container
     (e.g. passid-connect.html's .arch), this ::after becomes an implicit
     item and shrinks to one track/cell instead of spanning full width. */
  grid-column: 1 / -1;
  width: 100%;
  height: 28vh;
  margin-top: 20px;
  margin-bottom: -48px;
  pointer-events: none;
  background: linear-gradient(180deg,
    #ffffff 0%,
    rgb(186, 224, 255) 42%,
    rgb(56, 156, 246) 100%);
}
body.v3 > section:last-of-type::after,
body.v3 .prod-section-center::after {
  content: none;
  display: none;
}
body.v3 > *:has(+ footer):not(.v3-end-glow)::after {
  content: "";
  display: block;
}
body.v3 .prod-cta-title,
body.v3 .prod-cta-copy,
body.v3 > section:last-of-type h2:not(.pilot-h),
body.v3 > section:last-of-type p:not(.pilot-p) {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}
body.v3 .prod-cta-accent {
  color: #00c27a !important;
  -webkit-text-fill-color: #00c27a !important;
}
body.v3 footer::before {
  display: none !important;
}

/* Interactive buttons — PASSID green, hover, press */
body.v3 .btn-green,
body.v3 .nav-right .btn-black,
body.v3 .btn-signup,
body.v3 .btn-black,
body.v3 .dev-cta-primary,
body.v3 .dev-cta-final,
body.v3 .btn-hero-p,
body.v3 .prod-cta-primary,
body.v3 .ct-submit,
body.v3 .login-btn-primary,
body.v3 .su-submit,
body.v3 .pricing-tier-cta-primary {
  transition: background 0.15s ease, transform 0.15s ease, filter 0.15s ease !important;
  cursor: pointer;
}
body.v3 .prod-cta-primary,
body.v3 .dev-cta-primary,
body.v3 .dev-cta-final {
  background: #00c27a !important;
  color: #04150e !important;
  -webkit-text-fill-color: #04150e !important;
  opacity: 1 !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 14px 28px !important;
  font-weight: 800 !important;
  box-shadow: 0 10px 28px rgba(0, 194, 122, 0.28) !important;
}
body.v3 .btn-green:hover,
body.v3 .nav-right .btn-black:hover,
body.v3 .btn-signup:hover,
body.v3 .btn-black:hover,
body.v3 #nav .btn-signup:hover,
body.v3 #nav .btn-black:hover,
body.v3 .dev-cta-primary:hover,
body.v3 .dev-cta-final:hover,
body.v3 .btn-hero-p:hover,
body.v3 .prod-cta-primary:hover {
  background: #00d488 !important;
  color: #04150e !important;
  -webkit-text-fill-color: #04150e !important;
}
body.v3 .prod-cta-secondary,
body.v3 .dev-cta-outline {
  background: #111111 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}
body.v3 .prod-cta-primary:hover,
body.v3 .ct-submit:hover,
body.v3 .login-btn-primary:hover,
body.v3 .su-submit:hover,
body.v3 .pricing-tier-cta-primary:hover {
  background: #00d488 !important;
  filter: brightness(1.04);
}
body.v3 .btn-green:active,
body.v3 .nav-right .btn-black:active,
body.v3 .btn-signup:active,
body.v3 .btn-black:active,
body.v3 .dev-cta-primary:active,
body.v3 .prod-cta-primary:active {
  transform: translateY(1px);
  background: #00b36f !important;
}
body.v3 .prod-cta-secondary:hover,
body.v3 .dev-cta-outline:hover {
  background: #1c1c22 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
body.v3 .btn-hero-s:hover,
body.v3 .btn-ghost:hover {
  background: #ececf0 !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}
body.v3 #nav .btn-ghost:hover,
body.v3 #nav .btn-login:hover,
body.v3 #nav .nav-link:hover {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: transparent !important;
}
body.v3 a:focus-visible,
body.v3 button:focus-visible {
  outline: 2px solid #00c27a !important;
  outline-offset: 3px !important;
}

body.v3 .card,
body.v3 .price-card,
body.v3 .prod-card,
body.v3 .ws-card,
body.v3 .comp-card,
body.v3 .faq-item {
  transition: transform 0.18s ease, box-shadow 0.18s ease !important;
}
body.v3 .card:hover,
body.v3 .price-card:hover,
body.v3 .prod-card:hover,
body.v3 .ws-card:hover,
body.v3 .comp-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08) !important;
}

body.v3 .prod-accent,
body.v3 .tok-green,
body.v3 .text-green,
body.v3 .ct-hl,
body.v3 .login-accent,
body.v3 .su-hl {
  color: #00c27a !important;
  -webkit-text-fill-color: #00c27a !important;
}

body.v3 .passid-email-link,
body.v3 a.ct-type-link:hover,
body.v3 .co-job-apply:hover {
  color: #00c27a !important;
  -webkit-text-fill-color: #00c27a !important;
}

/* Phone: hanging island must stay an island while scrolling. */
@media (max-width: 1280px) {
  body.v3 #nav,
  body.v3 #nav.scrolled {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    width: 100% !important;
    max-width: none !important;
    overflow: visible !important;
    pointer-events: none !important;
  }
  body.v3 #nav .nav-inner,
  body.v3 #nav.scrolled .nav-inner {
    pointer-events: auto !important;
    width: max-content !important;
    min-width: 0 !important;
    max-width: calc(100vw - 56px) !important;
    margin: 0 auto !important;
    background: #070b14 !important;
    border: 0 !important;
    border-radius: 0 0 22px 22px !important;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.32) !important;
  }
  body.v3 #nav .nav-inner::before,
  body.v3 #nav.scrolled .nav-inner::before {
    display: block !important;
    left: -28px !important;
  }
  body.v3 #nav .nav-inner::after,
  body.v3 #nav.scrolled .nav-inner::after {
    display: block !important;
    right: -28px !important;
  }
}
@media (max-width: 768px) {
  body.v3 #nav .nav-inner,
  body.v3 #nav.scrolled .nav-inner {
    height: 52px !important;
    border-radius: 0 0 16px 16px !important;
  }
  body.v3 #nav .nav-inner::before,
  body.v3 #nav.scrolled .nav-inner::before,
  body.v3 #nav .nav-inner::after,
  body.v3 #nav.scrolled .nav-inner::after {
    width: 22px !important;
    height: 22px !important;
  }
  body.v3 #nav .nav-inner::before,
  body.v3 #nav.scrolled .nav-inner::before {
    left: -22px !important;
    background: radial-gradient(circle at 0 22px, transparent 21.5px, #070b14 22px) !important;
  }
  body.v3 #nav .nav-inner::after,
  body.v3 #nav.scrolled .nav-inner::after {
    right: -22px !important;
    background: radial-gradient(circle at 22px 22px, transparent 21.5px, #070b14 22px) !important;
  }
}


/* ── Sections relocated from home-v3.html to product/company/verify-with-passid/developers pages (2026-08-20 IA restructure). Selectors kept ID-scoped to match the section ids carried over verbatim. ── */

#passid-connect.pc-section {
  background: transparent !important;
  border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
  padding: 80px 0 64px !important;
}

#passid-connect .pc-wrap {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 24px !important;
}

#passid-connect .pc-wrap > div[style*="text-align:center"] {
  margin-bottom: 28px !important;
}

#passid-connect .pc-wrap > div[style*="text-align:center"] h2 {
  max-width: 920px !important;
}

.pc-demo {
  margin-bottom: 36px;
}

.pc-demo-shell {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 28px;
  padding: 12px 12px 0;
  box-shadow:
    0 22px 56px rgba(0, 0, 0, 0.26),
    0 2px 0 rgba(255, 255, 255, 0.55) inset;
}

.pc-demo-frame {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 20px;
  background: #0b1020;
}

#passid-connect iframe,
#pid-showcase-frame {
  position: absolute;
  top: 0;
  left: 0;
  width: 1600px !important;
  height: 900px !important;
  border: 0;
  transform-origin: top left;
  pointer-events: auto !important;
  max-width: none !important;
}

.pc-demo-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 8px 12px 4px;
}

.pc-demo-live {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 12px;
  color: #4b4b50;
}

.pc-demo-live span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 6px rgba(34, 197, 94, 0.5);
}

.pc-demo-open {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  background: #111;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.pc-demo-open:hover { opacity: 0.88; }

.pc-split {
  display: grid !important;
  grid-template-columns: minmax(300px, 0.95fr) minmax(380px, 1.15fr) !important;
  gap: 28px 32px !important;
  align-items: start !important;
  margin-bottom: 28px !important;
}

.pc-stage > div {
  border-radius: 22px !important;
}

.pc-feats {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.pc-feat {
  min-height: 180px;
  padding: 26px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  border-radius: 28px !important;
  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.22),
    0 2px 0 rgba(255, 255, 255, 0.55) inset !important;
}

.pc-feat > div:nth-of-type(2) {
  color: #111 !important;
}

.pc-feat > div:nth-of-type(3) {
  color: #4b4b50 !important;
}

@media (max-width: 980px) {
  .pc-split,
  .pc-feats {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  #passid-connect .pc-wrap { padding: 0 16px !important; }

  .pc-demo-bar { flex-direction: column; align-items: flex-start; }
}

body.v3 section:not(#hero) .si,
body.v3 section .inner,
body.v3 .trust-inner,
body.v3 .story-wrap {
  max-width: none !important;
  width: 100% !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

body.v3 .idx-hdr-sm,
body.v3 .idx-hdr-md,
body.v3 .idx-hdr-lx,
body.v3 .idx-test-hdr,
body.v3 .idx-cmp-grid,
body.v3 .clarity-grid {
  max-width: none !important;
}

body.v3 .four-col,
body.v3 .three-col,
body.v3 .corr-grid,
body.v3 .serve-grid,
body.v3 .idx-cmp-grid,
body.v3 .clarity-grid,
body.v3 .prob-grid,
body.v3 .idx-wf-4col {
  width: 100% !important;
  max-width: none !important;
  background: transparent !important;
  border: 0 !important;
  gap: 16px !important;
}

body.v3 #testimonials .three-col { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }

body.v3 .idx-cmp-grid { grid-template-columns: 1fr 1fr !important; }

body.v3 .clarity-grid { grid-template-columns: 1fr 1fr !important; }

body.v3 .serve-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }

body.v3 .wf-step,
body.v3 .clarity-card,
body.v3 .metric-item,
body.v3 .prob-card,
body.v3 .serve-card,
body.v3 .corr-tile,
body.v3 .comp-card,
body.v3 .test-card,
body.v3 .tech-feat,
body.v3 .arch-node,
body.v3 .idx-cmp-bad,
body.v3 .idx-cmp-good,
body.v3 .trusted-logo-pill,
body.v3 .trust-bar span,
body.v3 .solutions-mini-chip,
body.v3 .pilot-step,
body.v3 .story-card,
body.v3 .story-ladder-item,
body.v3 .zk-card.idx-zk-left {
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  border-radius: 28px !important;
  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.22),
    0 2px 0 rgba(255, 255, 255, 0.55) inset !important;
  color: #111 !important;
  -webkit-backdrop-filter: blur(20px) saturate(150%);
  backdrop-filter: blur(20px) saturate(150%);
}

body.v3 .wf-title,
body.v3 .clarity-head,
body.v3 .clarity-item,
body.v3 .metric-n,
body.v3 .metric-l,
body.v3 .metric-l strong,
body.v3 .prob-title,
body.v3 .serve-card-title,
body.v3 .serve-card-type,
body.v3 .comp-t,
body.v3 .test-q,
body.v3 .tft,
body.v3 .arch-n-name,
body.v3 .idx-cmp-title,
body.v3 .idx-feat-t,
body.v3 .trusted-name,
body.v3 .pilot-step-t,
body.v3 .story-card h3,
body.v3 .story-ladder-item strong,
body.v3 .zk-card.idx-zk-left h3 {
  color: #111 !important;
}

body.v3 .wf-body,
body.v3 .metric-l,
body.v3 .prob-body,
body.v3 .serve-card-copy,
body.v3 .comp-b,
body.v3 .comp-item,
body.v3 .test-card,
body.v3 .tfb,
body.v3 .arch-n-sub,
body.v3 .idx-cmp-txt,
body.v3 .idx-feat-b,
body.v3 .pilot-step-s,
body.v3 .story-card p,
body.v3 .story-ladder-item span,
body.v3 .zk-card.idx-zk-left p {
  color: #4b4b50 !important;
}

body.v3 .code-block,
body.v3 .graph-frame,
body.v3 .zk-visual,
body.v3 .pilot-card {
  border-radius: 28px !important;
  box-shadow: 0 22px 56px rgba(0, 0, 0, 0.28) !important;
  overflow: hidden;
}

body.v3 .serve-card-btn-primary {
  background: #111 !important;
  color: #fff !important;
  border-radius: 999px !important;
}

body.v3 .serve-card-btn-secondary {
  background: #ececee !important;
  color: #111 !important;
  border-radius: 999px !important;
}

body.v3 #dev > .si > div[style*="padding:28px"] {
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  border-radius: 28px !important;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.22) !important;
}

body.v3 #dev h3 { color: #111 !important; }

body.v3 #dev .dev-step-t { color: #111 !important; }

body.v3 #dev .dev-step-b { color: #4b4b50 !important; }

@media (max-width: 1100px) {
  body.v3 .four-col,
  body.v3 .idx-wf-4col,
  body.v3 .serve-grid { grid-template-columns: 1fr 1fr !important; }
}

@media (max-width: 700px) {
  body.v3 .four-col,
  body.v3 .three-col,
  body.v3 .idx-wf-4col,
  body.v3 .serve-grid,
  body.v3 .idx-cmp-grid,
  body.v3 .clarity-grid,
  body.v3 .corr-grid,
  body.v3 #testimonials .three-col { grid-template-columns: 1fr !important; }
}

body.v3 .idx-model-title,
body.v3 .wf-title,
body.v3 .serve-card-title,
body.v3 .clarity-head,
body.v3 .comp-t {
  font-family: "IBM Plex Sans", Inter, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
  color: #111 !important;
}

#passid-connect h2,
#passid-connect h3 {
  font-family: "IBM Plex Sans", Inter, sans-serif !important;
  font-weight: 600 !important;
  color: #f4f1ea !important;
}

#passid-connect code,
#passid-connect [style*="color:#60a5fa"],
#passid-connect [style*="color:#7dd3fc"] {
  color: #00c27a !important;
}

#passid-connect .pc-copy a[href="/institution"] {
  background: #00c27a !important;
  color: #04150e !important;
  box-shadow: none !important;
}

#positioning .clarity-card:first-child .clarity-head {
  color: #047857 !important;
}

#zk-animation.dark-immersive,
#global-story.dark-immersive {
  overflow: visible !important;
}

#zk-animation .sec-h,
#zk-animation .glow-pill,
#global-story .glow-pill {
  opacity: 1 !important;
  visibility: visible !important;
}

#zk-animation .sec-h { color: #f4f1ea !important; }

#zk-animation .sec-p { color: #c4c9ce !important; }

#zk-animation .zk-grid {
  align-items: stretch !important;
  overflow: visible !important;
}

#zk-animation .idx-zk-left,
#zk-animation .zk-card.idx-zk-left {
  background: rgba(255, 255, 255, 0.98) !important;
  color: #111 !important;
  overflow: visible !important;
}

#zk-animation .idx-zk-left h3,
#zk-animation .zk-card.idx-zk-left h3 {
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
  opacity: 1 !important;
}

#zk-animation .idx-zk-left p,
#zk-animation .zk-card.idx-zk-left p {
  color: #3f3f46 !important;
  -webkit-text-fill-color: #3f3f46 !important;
  opacity: 1 !important;
}

#zk-animation .zk-actions {
  pointer-events: auto !important;
}

#zk-animation .btn-aurora,
#zk-animation #zkRunBtn {
  background: #00c27a !important;
  color: #04150e !important;
  -webkit-text-fill-color: #04150e !important;
  box-shadow: none !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  opacity: 1 !important;
}

#zk-animation .btn-ghost-aurora,
#zk-animation #zkResetBtn {
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
  border: 1px solid rgba(15, 23, 42, 0.22) !important;
  background: #fff !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  opacity: 1 !important;
}

#zk-animation .zk-log {
  background: #f4f1ea !important;
  border: 1px solid rgba(15, 23, 42, 0.1) !important;
}

#zk-animation .zk-log-line {
  display: grid !important;
  grid-template-columns: 118px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: start !important;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important;
}

#zk-animation .zk-log-k {
  color: #52525b !important;
  -webkit-text-fill-color: #52525b !important;
  opacity: 1 !important;
}

#zk-animation .zk-log-v {
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
  text-align: right !important;
  white-space: normal !important;
  overflow: visible !important;
  opacity: 1 !important;
}

#zk-animation .zk-visual,
body.v3 .zk-visual {
  background: #0b1020 !important;
  overflow: visible !important;
  min-height: 560px !important;
  padding: 18px !important;
}

#zk-animation .zk-chip {
  z-index: 4 !important;
  color: #f4f1ea !important;
  -webkit-text-fill-color: #f4f1ea !important;
  background: rgba(8, 12, 24, 0.94) !important;
  border: 1px solid rgba(244, 241, 234, 0.22) !important;
  white-space: nowrap !important;
  opacity: 1 !important;
  visibility: visible !important;
}

#zk-animation .zk-chip .dot { opacity: 1 !important; }

#zk-animation .zk-center {
  z-index: 3 !important;
}

#zk-animation .zk-label,
#zk-animation .zk-main-detail {
  color: #d4dadf !important;
  -webkit-text-fill-color: #d4dadf !important;
  opacity: 1 !important;
}

#zk-animation .zk-main-state {
  color: #f4f1ea !important;
  -webkit-text-fill-color: #f4f1ea !important;
  opacity: 1 !important;
}

#global-story .story-card {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  min-height: 0 !important;
}

#global-story .story-panel,
#global-story .story-card .story-panel,
#global-story .story-card:not(.inview) .story-panel {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
  background: rgba(255, 255, 255, 0.98) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  border-radius: 28px !important;
  color: #111 !important;
}

#global-story .story-panel h3,
#global-story .story-card h3,
#global-story .story-metric strong,
#global-story .story-step {
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

#global-story .story-step {
  background: #ececee !important;
  border-color: transparent !important;
}

#global-story .story-panel p,
#global-story .story-metric span {
  color: #3f3f46 !important;
  -webkit-text-fill-color: #3f3f46 !important;
  opacity: 1 !important;
}

#global-story .story-metric {
  background: #f4f1ea !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
}

#global-story .story-sticky h2 {
  color: #f4f1ea !important;
  -webkit-text-fill-color: #f4f1ea !important;
  opacity: 1 !important;
}

#global-story .story-sticky p {
  color: #c4c9ce !important;
  -webkit-text-fill-color: #c4c9ce !important;
  opacity: 1 !important;
}

#global-story .story-visual {
  background: rgba(8, 12, 24, 0.55) !important;
  border: 1px solid rgba(244, 241, 234, 0.12) !important;
}

#global-story .story-visual-top strong {
  color: #f4f1ea !important;
  -webkit-text-fill-color: #f4f1ea !important;
  opacity: 1 !important;
}

#global-story .story-visual-top span {
  color: #00c27a !important;
  -webkit-text-fill-color: #00c27a !important;
  opacity: 1 !important;
}

#global-story .story-ladder-item {
  background: rgba(255, 255, 255, 0.98) !important;
  overflow: visible !important;
}

#global-story .story-ladder-item strong,
#global-story .story-ladder-num {
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
  opacity: 1 !important;
}

#global-story .story-ladder-item span {
  color: #3f3f46 !important;
  -webkit-text-fill-color: #3f3f46 !important;
  opacity: 1 !important;
  display: block !important;
}

#verify-flow.sec {
  padding-top: 72px !important;
  padding-bottom: 48px !important;
}

#verify-flow .two-col {
  display: grid !important;
  grid-template-columns: minmax(280px, 0.92fr) minmax(400px, 1.18fr) !important;
  align-items: start !important;
  gap: 36px 40px !important;
}

#verify-flow .rev-l .sec-h {
  max-width: 16ch;
  text-align: left !important;
  margin-left: 0 !important;
}

#verify-flow .rev-l .sec-p,
#verify-flow .rev-l .sec-tag {
  text-align: left !important;
  margin-left: 0 !important;
}

#verify-flow .hero-actions {
  justify-content: flex-start !important;
  margin-bottom: 22px !important;
}

#verify-flow .check-item {
  color: #94a3b8 !important;
}

#verify-flow .code-block {
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  border-radius: 28px !important;
  padding: 14px !important;
  box-shadow:
    0 22px 56px rgba(0, 0, 0, 0.26),
    0 2px 0 rgba(255, 255, 255, 0.55) inset !important;
}

#verify-flow .code-head,
#verify-flow .code-hdr {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 12px;
  background: transparent !important;
  border: 0 !important;
  padding: 2px 6px 10px !important;
}

#verify-flow .code-ttl {
  margin-left: 8px;
  font-family: "JetBrains Mono", ui-monospace, monospace !important;
  font-size: 11px;
  color: #4b4b50 !important;
}

#verify-flow .code-body,
#verify-flow .code-body * {
  text-align: left !important;
}

#verify-flow .code-body {
  background: #111 !important;
  border-radius: 20px !important;
  padding: 16px 18px !important;
  min-height: 280px;
}

#verify-flow .dot-red,
#verify-flow .dot-yellow,
#verify-flow .dot-green {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
}

#verify-flow .dot-red { background: #ff5f57; }

#verify-flow .dot-yellow { background: #febc2e; }

#verify-flow .dot-green { background: #28c840; }

#positioning.sec {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}

#positioning .idx-hdr-sm {
  text-align: center;
  margin: 0 auto 32px !important;
}

#positioning .clarity-grid {
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
}

#positioning .clarity-card {
  padding: 28px 28px 18px !important;
  text-align: left !important;
}

#positioning .clarity-head {
  font-size: 20px !important;
  margin-bottom: 8px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

#positioning .clarity-item {
  color: #111 !important;
  border-top-color: rgba(0, 0, 0, 0.06) !important;
  padding: 12px 0 !important;
}

#positioning .clarity-card:first-child .clarity-head { color: #047857 !important; }

#positioning .clarity-card-not .clarity-head { color: #b91c1c !important; }

#positioning .clarity-card-not .clarity-item::before {
  content: "✕" !important;
  color: #ef4444 !important;
}

@media (max-width: 980px) {
  #verify-flow .two-col,
  #institutions .four-col,
  #positioning .clarity-grid {
    grid-template-columns: 1fr !important;
  }
}

#dev.sec,
#compliance.sec,
#testimonials.sec {
  overflow: visible !important;
}

#dev .sec-h,
#compliance .sec-h,
#testimonials .sec-h,
#identity-graph .sec-h {
  color: #f4f1ea !important;
  -webkit-text-fill-color: #f4f1ea !important;
  opacity: 1 !important;
}

#dev .sec-p,
#compliance .sec-p,
#testimonials .sec-p,
#identity-graph .sec-p {
  color: #c4c9ce !important;
  -webkit-text-fill-color: #c4c9ce !important;
  opacity: 1 !important;
}

#dev .si > div[style*="grid-template-columns:1fr 1fr"] {
  width: 100% !important;
  max-width: none !important;
}

#dev .si div[style*="padding:28px"] {
  background: rgba(255, 255, 255, 0.98) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  border-radius: 24px !important;
  color: #111 !important;
  overflow: visible !important;
}

#dev h3,
#dev .si div[style*="padding:28px"] h3 {
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
  opacity: 1 !important;
}

#dev .si div[style*="padding:28px"] p {
  color: #3f3f46 !important;
  -webkit-text-fill-color: #3f3f46 !important;
  opacity: 1 !important;
}

#dev .si div[style*="letter-spacing:.08em"] {
  color: #047857 !important;
  -webkit-text-fill-color: #047857 !important;
  background: #ecfdf5 !important;
  border-color: transparent !important;
}

#dev .dev-step-n {
  background: #111 !important;
  color: #f4f1ea !important;
  -webkit-text-fill-color: #f4f1ea !important;
}

#dev .dev-step-t {
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
  opacity: 1 !important;
}

#dev .dev-step-b {
  color: #3f3f46 !important;
  -webkit-text-fill-color: #3f3f46 !important;
  opacity: 1 !important;
}

#dev .idx-dev-link {
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
  background: #ececee !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  box-shadow: none !important;
}

#dev .dev-tag {
  color: #f4f1ea !important;
  -webkit-text-fill-color: #f4f1ea !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(244, 241, 234, 0.18) !important;
  opacity: 1 !important;
}

#dev .code-block {
  background: rgba(255, 255, 255, 0.98) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  padding: 12px !important;
}

#dev .code-hdr,
#dev .code-head {
  background: transparent !important;
  border: 0 !important;
}

#dev .code-ttl {
  color: #3f3f46 !important;
  -webkit-text-fill-color: #3f3f46 !important;
}

#dev .code-body {
  background: #0b1020 !important;
  color: #d7e0ea !important;
  -webkit-text-fill-color: #d7e0ea !important;
  border-radius: 16px !important;
  padding: 18px 20px !important;
}

#dev .code-body,
#dev .code-body * {
  opacity: 1 !important;
  visibility: visible !important;
  text-align: left !important;
  font-family: "JetBrains Mono", ui-monospace, monospace !important;
  font-size: 12.5px !important;
  line-height: 1.8 !important;
}

#dev .idx-code-var { color: #7eb8ff !important; -webkit-text-fill-color: #7eb8ff !important; }

#dev .idx-code-arg { color: #7dd3c0 !important; -webkit-text-fill-color: #7dd3c0 !important; }

#dev .c-s { color: #00c27a !important; -webkit-text-fill-color: #00c27a !important; }

#dev .c-k { color: #7dd3c0 !important; -webkit-text-fill-color: #7dd3c0 !important; }

#dev .c-b { color: #7eb8ff !important; -webkit-text-fill-color: #7eb8ff !important; }

#dev .code-body [style*="color:#475569"],
#dev .code-body [style*="color:#64748b"] {
  color: #9aa8bc !important;
  -webkit-text-fill-color: #9aa8bc !important;
}

#dev .code-body [style*="color:#22c55e"] {
  color: #00c27a !important;
  -webkit-text-fill-color: #00c27a !important;
}

#dev .code-body [style*="color:#a855f7"] {
  color: #7eb8ff !important;
  -webkit-text-fill-color: #7eb8ff !important;
}

#dev .code-body [style*="color:rgba(255,255,255,.3)"] {
  color: #94a3b8 !important;
  -webkit-text-fill-color: #94a3b8 !important;
}

#testimonials .three-col {
  max-width: none !important;
  width: 100% !important;
}

#testimonials .test-card {
  background: rgba(255, 255, 255, 0.98) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  overflow: visible !important;
  color: #3f3f46 !important;
}

#testimonials .test-q,
#testimonials .test-q * {
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
  opacity: 1 !important;
}

#testimonials .test-q code {
  color: #047857 !important;
  -webkit-text-fill-color: #047857 !important;
  background: #ecfdf5 !important;
}

#testimonials .test-card > div:not(.test-q) {
  color: #3f3f46 !important;
  -webkit-text-fill-color: #3f3f46 !important;
  opacity: 1 !important;
}

#identity-graph.dark-immersive { overflow: visible !important; }

#identity-graph .graph-frame { overflow: visible !important; }

#identity-graph .graph-title,
#identity-graph .graph-caption h4,
#identity-graph .graph-side h5 {
  color: #f4f1ea !important;
  -webkit-text-fill-color: #f4f1ea !important;
  opacity: 1 !important;
}

#identity-graph .graph-badge {
  color: #c8f5d4 !important;
  -webkit-text-fill-color: #c8f5d4 !important;
  border-color: rgba(0, 194, 122, 0.28) !important;
  background: rgba(0, 194, 122, 0.1) !important;
  opacity: 1 !important;
}

#identity-graph .graph-caption p,
#identity-graph .signal-name {
  color: #c4c9ce !important;
  -webkit-text-fill-color: #c4c9ce !important;
  opacity: 1 !important;
}

#identity-graph .signal-verified {
  color: #00c27a !important;
  -webkit-text-fill-color: #00c27a !important;
}

@media (max-width: 900px) {
  #dev .si > div[style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }
}

body.v3 .zk-log-v,
body.v3 .metric-n,
body.v3 .story-metric strong,
body.v3 .ticker-item {
  font-variant-numeric: tabular-nums;
}

body.v3 .idx-model-card,
body.v3 .comp-card,
body.v3 .test-card,
body.v3 .prob-card {
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.25s ease, background 0.25s ease;
}

body.v3 #integration-models ~ section .sec-h,
body.v3 #integration-models ~ section .pilot-h,
body.v3 #integration-models ~ section .sub-h,
body.v3 #passid-connect h2,
body.v3 #passid-connect h3,
body.v3 #tech .rev-l .sec-h,
body.v3 #tech .tft,
body.v3 #tech .tf-num,
body.v3 #zk-animation .sec-h,
body.v3 #global-story .sec-h {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}

body.v3 #integration-models ~ section .sec-p,
body.v3 #tech .tfb,
body.v3 #tech .arch-conn-lbl,
body.v3 #zk-animation .sec-p,
body.v3 #passid-connect .pc-wrap > div[style*="text-align:center"] p,
body.v3 footer .foot-desc,
body.v3 footer .foot-col-link,
body.v3 footer .idx-foot-tagline {
  color: #5c5c62 !important;
  -webkit-text-fill-color: #5c5c62 !important;
}

body.v3 .wf-step,
body.v3 .clarity-card,
body.v3 .metric-item,
body.v3 .prob-card,
body.v3 .serve-card,
body.v3 .corr-tile,
body.v3 .comp-card,
body.v3 .test-card,
body.v3 .tech-feat,
body.v3 .idx-cmp-bad,
body.v3 .idx-cmp-good,
body.v3 .trusted-logo-pill,
body.v3 .solutions-mini-chip,
body.v3 .pilot-step,
body.v3 .story-card,
body.v3 .story-ladder-item,
body.v3 .zk-card.idx-zk-left,
body.v3 .pc-feat,
body.v3 .pc-demo-shell,
body.v3 #dev > .si > div[style*="padding:28px"] {
  background: #f5f5f7 !important;
  border: 0 !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body.v3 .code-block,
body.v3 .graph-frame,
body.v3 .zk-visual,
body.v3 .pilot-card,
body.v3 .pc-demo-frame {
  background: #0b1020 !important;
  border-radius: 30px !important;
  box-shadow: none !important;
}

#passid-connect .pc-wrap > div[style*="text-align:center"] > div {
  background: rgba(0, 194, 122, 0.1) !important;
  border-color: rgba(0, 194, 122, 0.28) !important;
  color: #047857 !important;
}

body.v3 .serve-card,
body.v3 .corr-tile,
body.v3 .test-card,
body.v3 .clarity-card,
body.v3 .comp-card,
body.v3 .prob-card,
body.v3 .pilot-step,
body.v3 .pc-feat,
body.v3 .metric-item,
body.v3 .wf-step,
body.v3 .story-card {
  transition: transform 0.25s ease, background 0.25s ease !important;
}

body.v3 .serve-card:hover,
body.v3 .corr-tile:hover,
body.v3 .test-card:hover,
body.v3 .clarity-card:hover,
body.v3 .comp-card:hover,
body.v3 .prob-card:hover,
body.v3 .pilot-step:hover,
body.v3 .pc-feat:hover,
body.v3 .metric-item:hover,
body.v3 .wf-step:hover,
body.v3 .story-card:hover {
  transform: translateY(-4px);
  background: #efeff2 !important;
}

body.v3 #passid-connect .pc-copy a[href="/integration-guide"],
body.v3 #passid-connect .pc-copy a[href="/institution"]:not([style*="background:#00c27a"]):nth-of-type(n) {
  color: #111111 !important;
}

body.v3 #passid-connect .pc-copy a[href="/integration-guide"],
body.v3 #passid-connect .pc-copy a[style*="border:1px solid rgba(255,255,255"] {
  background: #f5f5f7 !important;
  border: 0 !important;
  color: #111111 !important;
}

body.v3 #passid-connect .pc-copy a[href="/institution"] {
  background: #00c27a !important;
  color: #04150e !important;
  -webkit-text-fill-color: #04150e !important;
  box-shadow: none !important;
  border-radius: 999px !important;
}

body.v3 #integration-models ~ section h2,
body.v3 #integration-models ~ section h3,
body.v3 #integration-models ~ section .sec-h,
body.v3 #integration-models ~ section .pilot-h,
body.v3 #global-story h2,
body.v3 #global-story h3,
body.v3 #tech .sec-p,
body.v3 #tech .tfb,
body.v3 #pilot .sec-p,
body.v3 #pilot .pilot-p {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}

body.v3 #integration-models ~ section .sec-p,
body.v3 #integration-models ~ section p,
body.v3 #global-story .story-sticky > p,
body.v3 #global-story .story-card p,
body.v3 #tech .tfb,
body.v3 #pilot .pilot-p,
body.v3 #passid-connect .pc-copy p,
body.v3 #passid-connect .pc-copy span[style*="color:#94a3b8"],
body.v3 #verify-flow .check-item {
  color: #5c5c62 !important;
  -webkit-text-fill-color: #5c5c62 !important;
}

body.v3 #passid-connect .pc-copy h3 {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}

body.v3 #passid-connect .pc-copy code,
body.v3 #dev code {
  background: #f5f5f7 !important;
  color: #047857 !important;
  -webkit-text-fill-color: #047857 !important;
  border-radius: 6px !important;
}

body.v3 #integration-models ~ section .idx-model-card,
body.v3 #integration-models ~ section .wf-step,
body.v3 #integration-models ~ section .clarity-card,
body.v3 #integration-models ~ section .metric-item,
body.v3 #integration-models ~ section .prob-card,
body.v3 #integration-models ~ section .serve-card,
body.v3 #integration-models ~ section .corr-tile,
body.v3 #integration-models ~ section .comp-card,
body.v3 #integration-models ~ section .test-card,
body.v3 #integration-models ~ section .pc-feat,
body.v3 #integration-models ~ section .pilot-step,
body.v3 #integration-models ~ section .story-card,
body.v3 #global-story .story-ladder-item,
body.v3 #global-story .story-card {
  background: #f5f5f7 !important;
  border: 0 !important;
  border-radius: 30px !important;
  box-shadow: none !important;
}

body.v3 #verify-flow .code-block,
body.v3 #dev .code-block,
body.v3 #integration-models ~ section .graph-frame,
body.v3 #integration-models ~ section .zk-visual,
body.v3 #integration-models ~ section .pilot-card,
body.v3 #passid-connect .pc-demo-frame {
  background: #0b1020 !important;
  border-radius: 30px !important;
  color: #e8edf2 !important;
}

body.v3 #passid-connect .pc-copy span[style*="JetBrains"],
body.v3 .zkp-pill,
body.v3 .idx-tag-blue,
body.v3 .idx-tag-purple,
body.v3 .idx-tag-green,
body.v3 .idx-tag-white,
body.v3 .wf-tag,
body.v3 .arch-badge,
body.v3 .solutions-mini-chip {
  background: #ececf1 !important;
  border: 0 !important;
  color: #3f3f46 !important;
  -webkit-text-fill-color: #3f3f46 !important;
}

/* '02 One financial history. Multiple proofs.' homepage section (2026-08-20 IA restructure) */
#financial-history .fh-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:36px}
#financial-history .fh-card{padding:24px 20px}
@media(max-width:980px){#financial-history .fh-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){#financial-history .fh-grid{grid-template-columns:repeat(2,1fr)}}
