/* Homepage reference refinement. Scoped to preserve the existing detail pages. */
.tx-reference-page {
  --tx-v2-ink: #090f35;
  --tx-title: #090f35;
  --tx-container: 1240px;
  --tx-primary: #244bff;
  --tx-inline: clamp(16px, 3vw, 40px);
}
.tx-reference-page .tx-container,
.tx-reference-page .tx-hero--reference .tx-container {
  width: min(calc(100% - 96px), 1240px) !important;
  max-width: 1240px !important;
}
.tx-reference-page .tx-header .tx-header__inner.tx-container {
  width: min(calc(100% - 96px), 1240px) !important;
  min-height: 76px !important;
  height: 76px !important;
}
.tx-reference-page .tx-header .tx-brand,
.tx-reference-page .tx-header .tx-brand__logo {
  width: 132px !important;
  max-width: 132px !important;
  min-width: 132px !important;
  height: 44px !important;
  max-height: 44px !important;
}
.tx-reference-page .tx-nav { gap: clamp(12px, 1.7vw, 26px) !important; }
.tx-reference-page .tx-nav__link { font-size: 15px !important; }
.tx-reference-page .tx-header__cta { box-shadow: none !important; }
.tx-reference-page .tx-hero.tx-v2Hero {
  padding: 76px 0 0 !important;
  background: radial-gradient(ellipse at 19% 38%, #eaeaff 0, transparent 51%),
    linear-gradient(115deg, #f2f6ff 0%, #fafbff 53%, #fff 100%) !important;
}
.tx-reference-page .tx-v2Hero__shell.tx-heroRef {
  padding: 34px 0 40px !important;
  min-height: 590px !important;
}
.tx-reference-page .tx-v2Hero__grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
  gap: 22px;
}
.tx-reference-page .tx-v2Hero__content { width: 100%; max-width: 100%; min-width: 0; padding-block: 28px; }
.tx-reference-page .tx-v2Hero__eyebrow,
.tx-reference-page .tx-v2SectionKicker {
  margin-bottom: 20px;
  color: #3d50a0;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
}
.tx-reference-page .tx-v2Hero__eyebrow::before,
.tx-reference-page .tx-v2SectionKicker::before { content: none; }
.tx-reference-page .tx-v2Hero__title {
  display: block;
  font-size: clamp(40px, 4.4vw, 62px) !important;
  line-height: 1.24 !important;
  letter-spacing: -.025em !important;
  text-wrap: initial;
}
.tx-reference-page .tx-v2Hero__title strong {
  background-image: linear-gradient(110deg, #1637aa, #0968ff 65%, #4436ef);
}
.tx-reference-page .tx-v2Hero__lead {
  margin-top: 22px !important;
  max-width: 520px !important;
  font-size: 18px !important;
  line-height: 1.8 !important;
  color: #455277 !important;
}
.tx-reference-page .tx-v2Hero__actions { margin-top: 26px; gap: 14px; }
.tx-reference-page .tx-v2Hero__primary,
.tx-reference-page .tx-v2Hero__secondary {
  min-width: 172px !important;
  min-height: 48px !important;
  border-radius: 999px !important;
  font-size: 16px !important;
}
.tx-reference-page .tx-v2Hero__primary {
  background: linear-gradient(110deg, #1735e8, #245fff) !important;
  box-shadow: 0 6px 15px #244bff18 !important;
}
.tx-reference-page .tx-v2Hero__secondary { background: #ffffffb8 !important; }
.tx-reference-page .tx-v2Hero__benefits { margin-top: 42px; gap: 0; flex-wrap: nowrap; }
.tx-reference-page .tx-v2Benefit { flex: 1; gap: 9px; font-size: 14px; font-weight: 500; }
.tx-reference-page .tx-v2Benefit + .tx-v2Benefit { border-inline-start: 1px solid #243a9210; padding-inline-start: 15px; }
.tx-reference-page .tx-v2Benefit__icon { flex: 0 0 39px; background: #e9edff; box-shadow: none; }
.tx-reference-page .tx-v2Benefit__icon img { width: 21px; height: 21px; object-fit: contain; }
.tx-reference-art { position: relative; min-width: 0; margin: 0; }
.tx-reference-art__image {
  width: 112%;
  max-width: none;
  height: auto;
  margin-inline: -6%;
  mix-blend-mode: multiply;
  mask-image: radial-gradient(ellipse at center, #000 53%, #000c 66%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse at center, #000 53%, #000c 66%, transparent 75%);
}
.tx-reference-page .tx-v2CapabilityStrip { padding: 29px 0 23px; border: 0; }
.tx-reference-strip__caption { margin: 0 0 22px; text-align: center; color: #73809a; font-size: 13px; letter-spacing: .025em; }
.tx-reference-page .tx-v2CapabilityStrip__inner { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.tx-reference-page .tx-v2Capability { gap: 9px; font-size: 15px; font-weight: 500; }
.tx-reference-page .tx-v2Capability img { width: 27px; height: 27px; filter: grayscale(1); opacity: .65; }
.tx-reference-page .tx-v2Services { padding: 62px 0 52px !important; }
.tx-reference-page .tx-v2Services__layout { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 64px; align-items: center; }
.tx-reference-page .tx-v2Services__intro { position: static; }
.tx-reference-page .tx-v2Services__intro h2 { font-size: clamp(32px, 3.4vw, 44px) !important; line-height: 1.3 !important; }
.tx-reference-page .tx-v2Services__intro .tx-sub { font-size: 17px !important; line-height: 1.8 !important; color: #5b6484 !important; margin-top: 16px !important; }
.tx-reference-page .tx-v2OutlineBtn { padding: 9px 23px; border-color: #536bff; font-size: 15px; font-weight: 500; margin-top: 27px; }
.tx-reference-page .tx-v2Services__grid { position: relative; gap: 16px !important; }
.tx-reference-page .tx-v2Services__grid::before {
  content: ''; position: absolute; inset: 0 -40px -40px;
  background: radial-gradient(ellipse, #e8efff 0, transparent 70%); z-index: -1;
}
.tx-reference-page .tx-v2Services__grid .tx-service {
  min-height: 184px; padding: 20px 22px !important; gap: 10px !important;
  border-radius: 22px !important; border-color: #eaf0fa !important;
  background: #fff !important; box-shadow: 0 12px 36px #2950a508 !important;
}
.tx-reference-page .tx-v2Services__grid .tx-service:hover { transform: translateY(-4px) !important; }
.tx-reference-page .tx-v2Services__grid .tx-service__icon-shell { width: 43px !important; height: 43px !important; border-radius: 14px !important; box-shadow: none; background: #e7f2ff !important; }
.tx-reference-page .tx-v2Services__grid .tx-service:nth-child(3n) .tx-service__icon-shell { background: #f0e6ff !important; }
.tx-reference-page .tx-v2Services__grid .tx-service__title { font-size: 19px !important; }
.tx-reference-page .tx-v2Services__grid .tx-service__text { font-size: 15px !important; line-height: 1.65 !important; color: #59637e !important; }
.tx-reference-page #why.tx-v2Why { padding: 12px 0 58px !important; }
.tx-reference-page #why > .tx-container { width: min(calc(100% - 48px), 1320px) !important; max-width: 1320px !important; }
.tx-reference-page .tx-v2Why__shell {
  min-height: 460px; padding: 42px 48px; gap: 30px;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
  border: 0; border-radius: 34px; box-shadow: none;
  background: radial-gradient(ellipse at 24% 44%, #dbeaff, transparent 65%), linear-gradient(115deg, #eaf3ff, #f4f8ff);
}
.tx-reference-page .tx-v2Why__content h2 { font-size: clamp(32px, 3.1vw, 43px) !important; line-height: 1.3 !important; }
.tx-reference-page .tx-v2Why__lead { font-size: 17px !important; margin-top: 14px !important; }
.tx-reference-page .tx-v2Why__points { margin-top: 22px; gap: 20px 18px; }
.tx-reference-page .tx-v2Why__points article { padding: 0; gap: 8px; grid-template-columns: 25px 1fr; background: none; border: 0; backdrop-filter: none; }
.tx-reference-page .tx-v2Why__points article > span { width: 24px; height: 24px; background: transparent; color: #2254ff; font-size: 17px; }
.tx-reference-page .tx-v2Why__points h3 { font-size: 16px !important; line-height: 1.5 !important; }
.tx-reference-page .tx-v2Why__points p { font-size: 14px !important; color: #606d89 !important; }
.tx-reference-globe { position: relative; min-width: 0; isolation: isolate; }
.tx-reference-globe > img { width: 120%; max-width: none; margin: -8% -10%; height: auto; mix-blend-mode: multiply; mask-image: radial-gradient(ellipse, #000 49%, transparent 73%); -webkit-mask-image: radial-gradient(ellipse, #000 49%, transparent 73%); }
.tx-reference-globe__tag { position: absolute; padding: 8px 16px; border: 1px solid #fff; border-radius: 999px; color: #fff; font-size: 14px; font-weight: 500; box-shadow: 0 4px 12px #315bb52b, inset 0 0 0 3px #ffffff25; white-space: nowrap; }
.tx-reference-globe__tag--one { top: 18%; right: 0; background: linear-gradient(120deg, #0bb6bc, #33d2d1); }
.tx-reference-globe__tag--two { top: 48%; left: 0; background: linear-gradient(120deg, #ad7bff, #643eff); }
.tx-reference-globe__tag--three { bottom: 15%; right: 4%; background: linear-gradient(120deg, #246be9, #5c95ff); }
/* Keep the original image's footprint and pedestal while the Earth turns. */
.tx-live-globe { display: none; position: absolute; width: 120%; aspect-ratio: 1; left: -10%; top: -7.6923%; pointer-events: none; }
.is-globe-live > img { visibility: hidden; }
.is-globe-live .tx-live-globe { display: block; }
.tx-live-globe::before { content: ''; position: absolute; inset: 3% 8% 24%; border-radius: 50%; background: radial-gradient(ellipse, #aacdff80, #c7dfff30 55%, transparent 72%); }
.tx-live-globe__base { position: absolute; inset: 0; width: 100%; height: 100%; mix-blend-mode: multiply; mask-image: linear-gradient(transparent 64%, #000 68%), radial-gradient(ellipse, #000 49%, transparent 73%); mask-composite: intersect; -webkit-mask-image: linear-gradient(transparent 64%, #000 68%), radial-gradient(ellipse, #000 49%, transparent 73%); -webkit-mask-composite: source-in; }
.tx-live-globe__sphere { position: absolute; left: 20%; top: 7.5%; width: 60%; height: 60%; z-index: 2; filter: drop-shadow(0 0 12px #b5ecffb0); }
.tx-live-globe__orbit { position: absolute; width: 84%; height: 31%; left: 8%; top: 24%; border: 1px solid #72acff90; border-radius: 50%; transform: rotate(-24deg); z-index: 3; box-shadow: 0 1px 1px #ffffffa0, inset 0 -1px 1px #a5eaff80; }
.tx-live-globe__orbit--2 { width: 76%; height: 40%; left: 12%; top: 19%; transform: rotate(39deg); border-color: #b0bcff80; z-index: 1; }
.tx-live-globe__orbit i { position: absolute; left: 0; top: 0; width: 10px; height: 10px; offset-path: ellipse(50% 50% at 50% 50%); offset-rotate: 0deg; animation: tx-orbit-node 18s linear infinite; animation-play-state: paused; }
.tx-live-globe__orbit i::after { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 30% 25%, #fff, #6fd6ff 25%, #2c62ff 70%); border-radius: 50%; box-shadow: 0 0 10px #5b9dff90; }
.tx-live-globe__orbit--2 i { animation-duration: 25s; animation-direction: reverse; }
.is-globe-playing .tx-live-globe__orbit i { animation-play-state: running; }
.tx-reference-globe__tag { z-index: 4; }
.tx-globe-toggle { position: absolute; bottom: 2%; left: 0; z-index: 5; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #a7c1f680; border-radius: 50%; background: #ffffffa8; color: #315ed4; font-size: 16px; cursor: pointer; }
.tx-globe-toggle:hover { background: #fff; border-color: #527cff; }
.tx-globe-toggle[hidden] { display: none; }
@keyframes tx-orbit-node { to { offset-distance: 100%; } }
@media (max-width: 980px) { .tx-live-globe { width: 100%; left: 0; top: 0; } }
.tx-reference-page .tx-processSection { padding-top: 24px !important; }
.tx-reference-page :is(.tx-processHead, .tx-productsHead) .tx-h2 { color: #090f35 !important; }
.tx-reference-page a:focus-visible,
.tx-reference-page button:focus-visible { outline: 3px solid #5474ff !important; outline-offset: 5px; }
@media (min-width: 1600px) {
  .tx-reference-page .tx-v2Hero__shell.tx-heroRef { padding-block: 48px !important; }
}
@media (max-width: 1100px) {
  .tx-reference-page .tx-container,
  .tx-reference-page .tx-hero--reference .tx-container,
  .tx-reference-page .tx-header .tx-header__inner.tx-container { width: calc(100% - 64px) !important; }
  .tx-reference-page .tx-v2Hero__title { font-size: 43px !important; }
  .tx-reference-page .tx-v2Hero__lead { font-size: 17px !important; }
  .tx-reference-page .tx-v2Hero__shell.tx-heroRef { min-height: 540px !important; }
  .tx-reference-page .tx-v2Benefit { font-size: 12px; gap: 6px; }
  .tx-reference-page .tx-v2Benefit + .tx-v2Benefit { padding-inline-start: 8px; }
  .tx-reference-page .tx-v2Capability { font-size: 12px; gap: 6px; }
  .tx-reference-page .tx-v2Services__layout { gap: 30px; }
  .tx-reference-page .tx-v2Why__shell { padding: 34px; }
}
@media (max-width: 980px) {
  .tx-reference-page .tx-v2Hero__content { text-align: right; }
  .tx-reference-page .tx-v2Hero__actions,
  .tx-reference-page .tx-v2Hero__benefits { justify-content: flex-start; }
  .tx-reference-page .tx-v2Hero__title { font-size: 39px !important; }
  .tx-reference-page .tx-v2Hero__primary,
  .tx-reference-page .tx-v2Hero__secondary { min-width: 140px !important; padding-inline: 16px !important; font-size: 15px !important; }
  .tx-reference-page .tx-v2Hero__benefits { flex-wrap: wrap; gap: 12px; margin-top: 26px; }
  .tx-reference-page .tx-v2Benefit { flex: 0 1 auto; }
  .tx-reference-page .tx-v2Benefit + .tx-v2Benefit { border: 0; }
  .tx-reference-page .tx-v2Services__intro { text-align: right; }
  .tx-reference-page .tx-v2Why__content { text-align: right; }
  .tx-reference-page .tx-v2Why__points { grid-template-columns: 1fr; gap: 12px; }
  .tx-reference-page .tx-v2Services__grid .tx-service { padding: 18px !important; }
}
@media (max-width: 980px) {
  .tx-reference-page .tx-container,
  .tx-reference-page .tx-hero--reference .tx-container,
  .tx-reference-page .tx-header .tx-header__inner.tx-container { width: calc(100% - 40px) !important; }
  .tx-reference-page .tx-v2Hero__shell.tx-heroRef { padding: 24px 0 12px !important; min-height: 0 !important; }
  .tx-reference-page .tx-v2Hero__grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .tx-reference-page .tx-v2Hero__content { padding: 18px 0 0; text-align: center; }
  .tx-reference-page .tx-v2Hero__title { font-size: clamp(36px, 7.5vw, 49px) !important; }
  .tx-reference-page .tx-v2Hero__lead { max-width: 540px !important; margin-top: 18px !important; }
  .tx-reference-page .tx-v2Hero__eyebrow { margin-bottom: 16px; }
  .tx-reference-page .tx-v2Hero__actions { justify-content: center; flex-wrap: nowrap; }
  .tx-reference-page .tx-v2Hero__primary,
  .tx-reference-page .tx-v2Hero__secondary { width: auto !important; flex: 1; max-width: 220px; min-width: 0 !important; }
  .tx-reference-page .tx-v2Hero__benefits { justify-content: center; gap: 14px; }
  .tx-reference-page .tx-v2Benefit { flex: 0 1 auto; font-size: 13px; }
  .tx-reference-page .tx-v2Benefit__icon { flex-basis: 32px; width: 32px; height: 32px; }
  .tx-reference-art { width: min(100%, 490px); margin: 0 auto; }
  .tx-reference-art__image { width: 100%; margin: 0; }
  .tx-reference-page .tx-v2CapabilityStrip { padding: 22px 0; }
  .tx-reference-page .tx-v2CapabilityStrip__inner { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .tx-reference-page .tx-v2Capability { white-space: normal; min-height: 42px; font-size: 13px; }
  .tx-reference-page .tx-v2Capability img { width: 22px; height: 22px; }
  .tx-reference-strip__caption { font-size: 12px; margin-bottom: 15px; }
  .tx-reference-page .tx-v2Services { padding: 38px 0 !important; }
  .tx-reference-page .tx-v2Services__layout { grid-template-columns: 1fr; gap: 28px; }
  .tx-reference-page .tx-v2Services__intro { text-align: center; }
  .tx-reference-page .tx-v2Services__intro h2 { font-size: 34px !important; max-width: 470px; }
  .tx-reference-page .tx-v2Services__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  .tx-reference-page #why > .tx-container { width: calc(100% - 24px) !important; }
  .tx-reference-page .tx-v2Why__shell { padding: 32px 24px 12px; grid-template-columns: 1fr; gap: 10px; border-radius: 26px; }
  .tx-reference-page .tx-v2Why__content { text-align: right; }
  .tx-reference-page .tx-v2Why__points { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 14px; }
  .tx-reference-globe { width: min(100%, 440px); margin-inline: auto; }
  .tx-reference-globe > img { width: 100%; margin: 0; }
  .tx-reference-globe__tag { font-size: 13px; }
}
/* Size content to its column, including narrow phones and browser zoom. */
.tx-reference-page .tx-v2Hero__eyebrow { max-width: 100%; flex-wrap: wrap; justify-content: inherit; gap: 4px 8px; line-height: 1.7; }
.tx-reference-page .tx-v2Hero__lead { width: 100%; }
.tx-reference-page :is(.tx-service__content, .tx-v2Why__points article > div) { min-width: 0; }
.tx-reference-page :is(.tx-v2Hero__title, .tx-service__title, .tx-v2Why__points h3) { overflow-wrap: anywhere; }
@media (max-width: 1100px) {
  .tx-reference-page .tx-v2CapabilityStrip__inner { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 20px; }
  .tx-reference-page .tx-v2Capability { white-space: normal; min-width: 0; }
}
@media (max-width: 980px) {
  .tx-reference-page .tx-header,
  .tx-reference-page .tx-header .tx-header__inner.tx-container { height: 64px !important; min-height: 64px !important; }
  .tx-reference-page .tx-header .tx-brand,
  .tx-reference-page .tx-header .tx-brand__logo { width: 112px !important; min-width: 112px !important; max-width: 112px !important; height: 38px !important; max-height: 38px !important; }
  .tx-reference-page .tx-hero.tx-v2Hero { padding-top: 64px !important; }
  .tx-reference-page .tx-v2Hero__content { max-width: 660px; }
  .tx-reference-page .tx-v2Hero__eyebrow { justify-content: center; }
  .tx-reference-page .tx-v2Services__intro { min-width: 0; }
  .tx-reference-page .tx-v2Why__content { min-width: 0; }
}
@media (max-width: 600px) {
  .tx-reference-page .tx-container,
  .tx-reference-page .tx-hero--reference .tx-container,
  .tx-reference-page .tx-header .tx-header__inner.tx-container { width: calc(100% - 32px) !important; }
  .tx-reference-page .tx-v2Hero__title { font-size: clamp(30px, 8.5vw, 44px) !important; line-height: 1.3 !important; }
  .tx-reference-page .tx-v2Hero__eyebrow { font-size: 12px; }
  .tx-reference-page .tx-v2Hero__lead { font-size: 16px !important; line-height: 1.8 !important; }
  .tx-reference-page .tx-v2Hero__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .tx-reference-page .tx-v2Hero__actions > a { width: 100% !important; max-width: none; padding-inline: 10px !important; font-size: 14px !important; }
  .tx-reference-page .tx-v2Services__intro h2,
  .tx-reference-page .tx-v2Why__content h2 { font-size: clamp(28px, 7.5vw, 34px) !important; }
  .tx-reference-page .tx-v2CapabilityStrip__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; }
  .tx-reference-page .tx-v2Capability { justify-content: flex-start; font-size: 13px; }
  .tx-reference-page .tx-v2Services__grid { grid-template-columns: minmax(0, 1fr) !important; }
  .tx-reference-page .tx-v2Services__grid .tx-service { display: grid; grid-template-columns: 43px minmax(0, 1fr); min-height: 0; align-items: start !important; }
  .tx-reference-page .tx-v2Why__shell { padding-inline: 20px; }
  .tx-reference-page .tx-v2Why__points { grid-template-columns: minmax(0, 1fr); }
  .tx-reference-globe__tag { font-size: 12px; padding: 7px 12px; }
}
@media (max-width: 360px) {
  .tx-reference-page .tx-v2Hero__actions { grid-template-columns: minmax(0, 1fr); }
  .tx-reference-page .tx-v2Hero__benefits { display: grid; grid-template-columns: minmax(0, 1fr); justify-items: center; }
}
@media (max-height: 500px) and (max-width: 980px) {
  .tx-reference-page .tx-header { position: relative !important; }
  .tx-reference-page .tx-hero.tx-v2Hero { padding-top: 0 !important; }
}
@media (max-width: 420px) {
  .tx-reference-page .tx-v2Benefit { font-size: 12px; gap: 5px; }
  .tx-reference-page .tx-v2Hero__benefits { gap: 9px; }
  .tx-reference-page .tx-v2Benefit + .tx-v2Benefit { padding: 0; }
  .tx-reference-page .tx-v2Services__grid { grid-template-columns: 1fr !important; }
  .tx-reference-page .tx-v2Services__grid .tx-service { display: grid; grid-template-columns: 43px minmax(0, 1fr); min-height: 0; align-items: start !important; }
  .tx-reference-page .tx-v2Why__points { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .tx-reference-page *, .tx-reference-page *::before, .tx-reference-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
