.tx-body { --tx-card-ratio: 1 / .92; }

.tx-body::before {
  background-image:
    radial-gradient(1px 1px at 12% 18%, rgba(255, 255, 255, .55), transparent 60%),
    radial-gradient(1px 1px at 72% 12%, rgba(255, 255, 255, .45), transparent 60%),
    radial-gradient(1.4px 1.4px at 38% 64%, rgba(255, 255, 255, .4), transparent 60%),
    radial-gradient(1px 1px at 88% 48%, rgba(255, 255, 255, .5), transparent 60%),
    radial-gradient(1px 1px at 22% 82%, rgba(255, 255, 255, .35), transparent 60%),
    radial-gradient(1.2px 1.2px at 58% 34%, rgba(255, 255, 255, .45), transparent 60%),
    radial-gradient(1px 1px at 94% 86%, rgba(255, 255, 255, .35), transparent 60%),
    radial-gradient(1px 1px at 6% 52%, rgba(255, 255, 255, .4), transparent 60%);
  background-size: 420px 420px;
  opacity: .7;
}

.tx-hero-centered { padding-block: clamp(96px, 15vw, 190px) clamp(72px, 10vw, 130px); }
.tx-hero-title { font-size: clamp(2.8em, 7vw, 5.8em); letter-spacing: -0.045em; line-height: .95; }
.tx-hero-centered.has-image .tx-hero-bg img { object-position: center 30%; }
.tx-eyebrow {
  padding: 7px 14px;
  border-radius: 999px;
  border: 1px solid var(--tx-accent-line);
  background: color-mix(in srgb, var(--tx-bg) 60%, transparent);
  color: color-mix(in srgb, var(--tx-accent) 60%, #ffffff);
  text-transform: none;
  letter-spacing: .01em;
  font-size: .85em;
}

.tx-card, .tx-cat, .tx-panel, .tx-widget, .tx-feature, .tx-buybox, .tx-summary, .tx-stats, .tx-cta, .tx-line {
  background: linear-gradient(180deg, color-mix(in srgb, var(--tx-surface) 97%, #ffffff), var(--tx-surface));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 18px 40px -26px rgba(0, 0, 0, .8);
}
.tx-card-media, .tx-cats-mosaic .tx-cat-media { background: radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--tx-accent) 16%, var(--tx-surface-2)), var(--tx-surface) 72%); }
.tx-card:hover, .tx-cat:hover { border-color: var(--tx-accent-line); }
.tx-card-body { padding: 16px 18px 18px; }

.tx-cats-mosaic { grid-auto-rows: 190px; }
.tx-cats-mosaic .tx-cat:first-child .tx-cat-name { font-size: 1.8em; }

.tx-stat dd { color: color-mix(in srgb, var(--tx-accent) 55%, #ffffff); }
.tx-feature-icon { border-radius: 50%; }
.tx-pill.is-active { background: var(--tx-accent); border-color: var(--tx-accent); color: var(--tx-accent-ink); }
.tx-nav-bar > .tx-nav-item.is-active > .tx-nav-link::after { left: 50%; right: auto; width: 5px; height: 5px; margin-left: -2.5px; border-radius: 50%; bottom: 0; }

.tx-cta { text-align: center; flex-direction: column; justify-content: center; padding-block: clamp(40px, 6vw, 72px); }
.tx-cta-text { margin-inline: auto; }
.tx-cta-title { font-size: clamp(1.8em, 4vw, 3em); letter-spacing: -0.035em; }
.tx-price-xl { color: color-mix(in srgb, var(--tx-accent) 45%, #ffffff); }
