:root {
  --site-background: #faf9f5;
  --site-surface: #faf9f5;
  --site-paper-white: #f4f4f0;
  --site-ink-black: #1a1a1a;
  --site-primary: #002a21;
  --site-forest-deep: #084235;
  --site-lime-accent: #a8e565;
  --site-outline: #707975;
  --site-outline-variant: #c0c9c4;
  --site-text: #1a1c1a;
  --site-muted: #404945;
  --site-section-gap: 96px;
  --site-stack-lg: 32px;
  --site-stack-md: 16px;
  --site-gutter: 24px;
  --site-margin-desktop: 64px;
  --site-container-max: min(1440px, calc(100vw - 128px));
}

html,
body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  background: var(--site-background);
  color: var(--site-text);
  font-family: Inter, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

body.elementor-page {
  background: var(--site-background);
}

.elementor,
.elementor-location-header,
.elementor-location-footer,
.elementor-section,
.elementor-container,
.elementor-column,
.elementor-widget-wrap,
.elementor-widget,
.elementor-widget-container {
  max-width: none;
}

:where(.elementor-widget:not(:last-child)) {
  margin-block-end: 0;
}

.elementor-shortcode,
.elementor-widget-shortcode,
.elementor-widget-shortcode > .elementor-widget-container {
  display: block;
  width: 100%;
}

.site-page,
.site-header,
.site-footer {
  background: var(--site-background);
  color: var(--site-text);
  font-family: Inter, sans-serif;
}

.site-page *,
.site-header *,
.site-footer * {
  box-sizing: border-box;
}

.site-page .e-con.grid {
  display: grid !important;
}

/* Elementor's container margins override Tailwind's centring utility. */
.site-page .mx-auto,
.site-header .mx-auto,
.site-footer .mx-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.site-page img,
.site-header img,
.site-footer img {
  max-width: 100%;
}

.bg-background {
  background-color: var(--site-background) !important;
}

.bg-surface {
  background-color: var(--site-surface) !important;
}

.bg-surface-container-low {
  background-color: var(--site-paper-white) !important;
}

.bg-surface-container-lowest {
  background-color: #ffffff !important;
}

.bg-surface-container {
  background-color: #eeeeea !important;
}

.bg-surface-container-high {
  background-color: #e4e6e1 !important;
}

.bg-surface-container\/50 {
  background-color: rgba(238, 238, 234, 0.5) !important;
}

.bg-paper-white {
  background-color: var(--site-paper-white) !important;
}

.bg-ink-black {
  background-color: var(--site-ink-black) !important;
}

.bg-on-primary-fixed-variant {
  background-color: #246050 !important;
}

.bg-primary,
.bg-forest-deep {
  background-color: var(--site-forest-deep) !important;
}

.bg-lime-accent {
  background-color: var(--site-lime-accent) !important;
}

.bg-lime-accent\/20 {
  background-color: rgba(168, 229, 101, 0.2) !important;
}

.bg-forest-deep\/50 {
  background-color: rgba(8, 66, 53, 0.5) !important;
}

.bg-surface-container-low\/30 {
  background-color: rgba(244, 244, 240, 0.3) !important;
}

.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops)) !important;
}

.from-forest-deep {
  --tw-gradient-from: var(--site-forest-deep);
  --tw-gradient-to: rgba(8, 66, 53, 0);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.to-primary {
  --tw-gradient-to: var(--site-primary);
}

.site-page .bg-gradient-to-br.from-forest-deep.to-primary {
  background-color: var(--site-forest-deep) !important;
  background-image: linear-gradient(to bottom right, var(--site-forest-deep), var(--site-primary)) !important;
}

.text-on-background,
.text-on-surface {
  color: var(--site-text) !important;
}

.text-on-surface-variant,
.text-muted {
  color: var(--site-muted) !important;
}

.text-forest-deep,
.text-primary {
  color: var(--site-forest-deep) !important;
}

.text-paper-white,
.text-on-primary {
  color: var(--site-paper-white) !important;
}

.text-lime-accent {
  color: var(--site-lime-accent) !important;
}

.text-outline {
  color: var(--site-outline) !important;
}

.text-surface-variant\/60 {
  color: rgba(226, 227, 223, 0.6) !important;
}

.text-surface-variant\/80 {
  color: rgba(226, 227, 223, 0.8) !important;
}

.text-paper-white\/70 {
  color: rgba(244, 244, 240, 0.7) !important;
}

.text-paper-white\/80 {
  color: rgba(244, 244, 240, 0.8) !important;
}

.border-outline-variant {
  border-color: var(--site-outline-variant) !important;
}

.border-outline-variant\/50 {
  border-color: rgba(192, 201, 196, 0.5) !important;
}

.border-outline-variant\/20 {
  border-color: rgba(192, 201, 196, 0.2) !important;
}

.border-outline-variant\/30 {
  border-color: rgba(192, 201, 196, 0.3) !important;
}

.border-lime-accent {
  border-color: var(--site-lime-accent) !important;
}

.border-paper-white\/20 {
  border-color: rgba(244, 244, 240, 0.2) !important;
}

.border-white\/10 {
  border-color: rgba(255, 255, 255, 0.1) !important;
}

.border-forest-deep {
  border-color: var(--site-forest-deep) !important;
}

.border-surface-variant\/20 {
  border-color: rgba(226, 227, 223, 0.2) !important;
}

.from-forest-deep\/90 {
  --tw-gradient-from: rgba(8, 66, 53, 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgba(8, 66, 53, 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.font-body-md,
.font-body-lg,
.font-label-sm {
  font-family: Inter, sans-serif !important;
}

.font-display-xl,
.font-headline-lg,
.font-headline-md,
.font-headline-lg-mobile {
  font-family: Manrope, sans-serif !important;
}

.text-body-md {
  font-size: 16px !important;
  line-height: 24px !important;
}

.text-body-lg {
  font-size: 18px !important;
  line-height: 28px !important;
}

.text-label-sm {
  font-size: 14px !important;
  line-height: 20px !important;
  letter-spacing: 0.05em !important;
}

.text-display-xl {
  font-size: 64px !important;
  line-height: 72px !important;
}

.text-headline-lg {
  font-size: 48px !important;
  line-height: 56px !important;
}

.text-headline-md {
  font-size: 32px !important;
  line-height: 40px !important;
}

.gap-stack-lg {
  --gap: var(--site-stack-lg);
  --row-gap: var(--site-stack-lg);
  --column-gap: var(--site-stack-lg);
  gap: var(--site-stack-lg) !important;
}

.gap-stack-md {
  --gap: var(--site-stack-md);
  --row-gap: var(--site-stack-md);
  --column-gap: var(--site-stack-md);
  gap: var(--site-stack-md) !important;
}

.gap-stack-sm {
  --gap: 8px;
  --row-gap: 8px;
  --column-gap: 8px;
  gap: 8px !important;
}

/* Elementor's generated container rules otherwise override the spacing utilities
   stored in the page templates. Keep this bridge shared across every site page. */
.site-page .gap-1 { gap: 4px !important; }
.site-page .gap-1\.5 { gap: 6px !important; }
.site-page .gap-2 { gap: 8px !important; }
.site-page .gap-3 { gap: 12px !important; }
.site-page .gap-4 { gap: 16px !important; }
.site-page .gap-6 { gap: 24px !important; }
.site-page .gap-8 { gap: 32px !important; }
.site-page .gap-12 { gap: 48px !important; }
.site-page .gap-20 { gap: 80px !important; }
.site-page .gap-24 { gap: clamp(48px, 6vw, 96px) !important; }
.site-page .gap-gutter { gap: var(--site-gutter) !important; }

.site-page .mt-2 { margin-top: 8px !important; }
.site-page .mt-4 { margin-top: 16px !important; }
.site-page .mt-6 { margin-top: 24px !important; }
.site-page .mt-20 { margin-top: 80px !important; }
.site-page .mt-auto { margin-top: auto !important; }
.site-page .mb-1 { margin-bottom: 4px !important; }
.site-page .mb-4 { margin-bottom: 16px !important; }
.site-page .mb-6 { margin-bottom: 24px !important; }
.site-page .mb-8 { margin-bottom: 32px !important; }
.site-page .mb-16 { margin-bottom: 64px !important; }
.site-page .mb-24 { margin-bottom: 96px !important; }
.site-page .my-8 { margin-top: 32px !important; margin-bottom: 32px !important; }
.site-page .my-12 { margin-top: 48px !important; margin-bottom: 48px !important; }
.site-page .mx-2 { margin-right: 8px !important; margin-left: 8px !important; }

.site-page .p-4 { padding: 16px !important; }
.site-page .p-6 { padding: 24px !important; }
.site-page .p-8 { padding: 32px !important; }
.site-page .px-4 { padding-right: 16px !important; padding-left: 16px !important; }
.site-page .px-6 { padding-right: 24px !important; padding-left: 24px !important; }
.site-page .py-2 { padding-top: 8px !important; padding-bottom: 8px !important; }
.site-page .py-3 { padding-top: 12px !important; padding-bottom: 12px !important; }
.site-page .py-16 { padding-top: 64px !important; padding-bottom: 64px !important; }
.site-page .pt-12 { padding-top: 48px !important; }
.site-page .pt-24 { padding-top: 96px !important; }
.site-page .pb-1 { padding-bottom: 4px !important; }
.site-page .pl-8 { padding-left: 32px !important; }
.site-page .pr-6 { padding-right: 24px !important; }

.site-page .space-y-3 > :not([hidden]) ~ :not([hidden]) {
  margin-top: 12px !important;
}

.site-page .space-y-12 > :not([hidden]) ~ :not([hidden]) {
  margin-top: 48px !important;
}

/* Fixed-size Elementor containers are used for icons, dots and compact pills. */
.site-page .e-con.w-2 { --width: 8px !important; width: 8px !important; max-width: 8px !important; flex: 0 0 8px !important; }
.site-page .e-con.h-2 { height: 8px !important; min-height: 8px !important; }
.site-page .e-con.w-2\.5 { --width: 10px !important; width: 10px !important; max-width: 10px !important; flex: 0 0 10px !important; }
.site-page .e-con.h-2\.5 { height: 10px !important; min-height: 10px !important; }
.site-page .e-con.w-6 { --width: 24px !important; width: 24px !important; max-width: 24px !important; flex: 0 0 24px !important; }
.site-page .e-con.h-6 { height: 24px !important; min-height: 24px !important; }
.site-page .e-con.w-10 { --width: 40px !important; width: 40px !important; max-width: 40px !important; flex: 0 0 40px !important; }
.site-page .e-con.h-10 { height: 40px !important; min-height: 40px !important; }
.site-page .e-con.w-12 { --width: 48px !important; width: 48px !important; max-width: 48px !important; flex: 0 0 48px !important; }
.site-page .e-con.h-12 { height: 48px !important; min-height: 48px !important; }
.site-page .e-con.w-64 { --width: 256px !important; width: 256px !important; max-width: 256px !important; flex: 0 0 256px !important; }
.site-page .e-con.w-fit {
  --width: fit-content !important;
  width: fit-content !important;
  max-width: max-content !important;
  flex: 0 0 auto !important;
  align-self: flex-start !important;
}

.site-page .elementor-widget.inline-flex,
.site-page .e-con.inline-flex {
  display: inline-flex !important;
  width: max-content !important;
  max-width: 100% !important;
  flex: 0 0 auto !important;
  align-self: flex-start !important;
}

.gap-x-gutter {
  column-gap: var(--site-gutter) !important;
}

.gap-y-section-gap {
  row-gap: var(--site-section-gap) !important;
}

.p-stack-lg {
  padding: var(--site-stack-lg) !important;
}

.p-stack-md {
  padding: var(--site-stack-md) !important;
}

.px-stack-lg {
  padding-left: var(--site-stack-lg) !important;
  padding-right: var(--site-stack-lg) !important;
}

.px-margin-desktop {
  padding-left: var(--site-margin-desktop) !important;
  padding-right: var(--site-margin-desktop) !important;
}

.py-section-gap {
  padding-top: var(--site-section-gap) !important;
  padding-bottom: var(--site-section-gap) !important;
}

.pt-section-gap {
  padding-top: var(--site-section-gap) !important;
}

.pt-stack-md {
  padding-top: var(--site-stack-md) !important;
}

.py-stack-md {
  padding-top: var(--site-stack-md) !important;
  padding-bottom: var(--site-stack-md) !important;
}

.py-stack-lg {
  padding-top: var(--site-stack-lg) !important;
  padding-bottom: var(--site-stack-lg) !important;
}

.pb-section-gap {
  padding-bottom: var(--site-section-gap) !important;
}

.pb-stack-lg {
  padding-bottom: var(--site-stack-lg) !important;
}

.mb-stack-lg {
  margin-bottom: var(--site-stack-lg) !important;
}

.mb-stack-md {
  margin-bottom: var(--site-stack-md) !important;
}

.mb-stack-xl {
  margin-bottom: 48px !important;
}

.mt-section-gap {
  margin-top: var(--site-section-gap) !important;
}

.mb-section-gap {
  margin-bottom: var(--site-section-gap) !important;
}

.overflow-x-auto {
  overflow-x: auto !important;
}

.opacity-80 {
  opacity: 0.8 !important;
}

.max-w-container-max {
  max-width: var(--site-container-max) !important;
}

.site-logo-strip {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 32px 64px !important;
}

.site-page [data-id="5fabf8e"] {
  margin-top: var(--site-stack-lg) !important;
}

.site-page [data-id="0a7957b"] {
  padding-top: var(--site-section-gap) !important;
  padding-bottom: var(--site-section-gap) !important;
}

.site-page [data-id="0a7957b"] {
  margin-top: var(--site-stack-lg) !important;
}

.site-customer-logo-shell {
  width: 240px !important;
  flex: 0 0 240px !important;
}

.site-customer-logo {
  width: 240px;
}

.site-customer-logo img {
  display: block;
  width: auto;
  max-width: 240px;
  max-height: 42px;
  height: auto;
  object-fit: contain;
}

.site-page img.h-full,
.site-header img.h-full,
.site-footer img.h-full {
  height: 100% !important;
}

.site-page img.h-auto,
.site-header img.h-auto,
.site-footer img.h-auto {
  height: auto !important;
}

.site-page img.h-8,
.site-header img.h-8,
.site-footer img.h-8 {
  height: 2rem !important;
}

.site-page img.w-full,
.site-header img.w-full,
.site-footer img.w-full {
  width: 100% !important;
}

.site-page img.w-auto,
.site-header img.w-auto,
.site-footer img.w-auto {
  width: auto !important;
}

.site-page a,
.site-header a,
.site-footer a {
  text-decoration: none;
}

.site-footer .elementor-widget-button .elementor-button {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: rgba(226, 227, 223, 0.8) !important;
  font: inherit !important;
}

.site-footer .font-label-sm.elementor-widget-button .elementor-button {
  color: rgba(226, 227, 223, 0.6) !important;
}

.site-footer,
.site-footer-background,
.site-footer-inner,
.site-footer-grid,
.site-footer-bottom {
  --width: 100% !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.site-footer,
.site-footer-background,
.site-footer-background > .e-con-inner {
  background: var(--site-primary) !important;
}

.site-footer > .e-con-inner,
.site-footer-background > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

.site-footer-inner > .e-con-inner {
  display: block !important;
  width: 100% !important;
  max-width: 1440px !important;
  margin-inline: auto !important;
  padding: 72px 64px !important;
}

.site-footer-grid > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 48px;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 64px !important;
  padding: 0 !important;
}

.site-footer-grid--product-hidden > .e-con-inner {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.site-footer-product.is-temporarily-hidden {
  display: none !important;
}

.site-footer .site-footer-grid {
  display: block !important;
}

.site-footer-brand {
  --width: 100% !important;
  grid-column: span 2;
  width: 100% !important;
  padding: 0 !important;
}

.site-footer-column,
.site-footer-nav {
  --width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
}

.site-footer .site-footer-column {
  display: block !important;
}

.site-footer-brand > .e-con-inner,
.site-footer-brand-title > .e-con-inner,
.site-footer-contact > .e-con-inner,
.site-footer-column > .e-con-inner,
.site-footer-nav > .e-con-inner,
.site-footer-nav > .e-con-inner > .e-con > .e-con-inner,
.site-footer-bottom > .e-con-inner,
.site-footer-legal-links > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

.site-footer-brand > .e-con-inner,
.site-footer-column > .e-con-inner {
  display: block !important;
}

.site-footer-logo {
  display: block;
  width: 82px;
  height: 34px;
  background: url("../logos/viv-wordmark-white.svg") center / contain no-repeat;
  color: transparent !important;
  font-size: 0;
  line-height: 0;
}

.site-footer-logo:hover,
.site-footer-logo:focus-visible {
  filter: opacity(0.78);
}

.site-footer-contact > .e-con-inner {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.site-footer-nav > .e-con-inner {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

.site-footer-nav.e-con-full {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

.site-footer-nav > .e-con-inner > .e-con,
.site-footer-nav.e-con-full > .e-con {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.site-footer-bottom > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 32px !important;
  padding-top: 32px !important;
  border-top: 1px solid var(--site-forest-deep);
}

.site-footer-legal-links > .e-con-inner {
  display: flex !important;
  flex-flow: row nowrap !important;
  justify-content: flex-end !important;
  gap: 32px !important;
  width: max-content !important;
}

.site-footer .site-footer-legal-links {
  --width: auto !important;
  width: auto !important;
  padding: 0 !important;
}

.site-footer-legal-links .elementor-widget {
  width: auto !important;
  max-width: none !important;
}

@media (max-width: 1023px) {
  .site-footer-inner > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
    padding: 72px 32px !important;
  }

  .site-footer-grid > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 48px 32px;
    margin-bottom: 72px !important;
  }

  .site-footer-grid--product-hidden > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .site-footer-brand {
    grid-column: span 2;
  }
}

@media (max-width: 767px) {
  .site-footer-inner > .e-con-inner {
    padding: 64px 20px !important;
  }

  .site-footer-grid > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 24px;
    margin-bottom: 48px !important;
  }

  .site-footer-brand {
    grid-column: 1 / -1;
  }

  .site-footer-bottom > .e-con-inner {
    flex-direction: column !important;
    align-items: flex-start;
  }

  .site-footer-legal-links > .e-con-inner {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 16px 24px !important;
    width: 100% !important;
  }
}

.site-cta-secondary .elementor-button,
.site-cta-primary .elementor-button,
.site-cta-secondary-inverse .elementor-button {
  min-height: 48px;
  height: 48px;
  box-sizing: border-box;
  padding: 12px 28px !important;
  border-radius: 12px !important;
  font-family: Inter, sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 24px !important;
  letter-spacing: 0 !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

.site-cta-secondary .elementor-button {
  border: 0 !important;
  background: #ffffff !important;
  color: var(--site-forest-deep) !important;
}

.site-cta-secondary .elementor-button:hover {
  background: var(--site-paper-white) !important;
  color: var(--site-forest-deep) !important;
}

.site-cta-primary .elementor-button {
  border: 0 !important;
  background: var(--site-forest-deep) !important;
  color: var(--site-paper-white) !important;
}

.site-cta-primary .elementor-button:hover {
  background: var(--site-primary) !important;
  color: #ffffff !important;
}

.site-cta-secondary-inverse .elementor-button {
  border: 1px solid rgba(244, 244, 240, 0.72) !important;
  background: transparent !important;
  color: var(--site-paper-white) !important;
}

.site-cta-secondary-inverse .elementor-button:hover {
  border-color: var(--site-paper-white) !important;
  background: rgba(244, 244, 240, 0.12) !important;
  color: #ffffff !important;
}

.site-page .e-con:has(> .site-cta-primary):has(> .site-cta-secondary),
.site-page .e-con:has(> .site-cta-primary):has(> .site-cta-secondary-inverse) {
  gap: 16px !important;
  row-gap: 16px !important;
  column-gap: 16px !important;
}

.site-closing-cta .e-con:has(> .site-cta-primary):has(> .site-cta-secondary-inverse) {
  justify-content: center !important;
}

.site-cta-card .elementor-button {
  display: inline-flex !important;
  width: 100% !important;
  min-height: 56px;
  height: 56px;
  padding: 10px 24px !important;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.site-pricing-card > .site-cta-card {
  margin-top: auto !important;
}

.site-pricing-plan-name {
  display: inline-block !important;
  width: max-content !important;
  align-self: flex-start !important;
  flex: 0 0 auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
}

.site-pricing-popular {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  z-index: 1;
  width: auto !important;
  min-height: 32px;
  padding: 6px 16px !important;
  border-radius: 999px !important;
  background: var(--site-forest-deep) !important;
  color: var(--site-paper-white) !important;
  letter-spacing: 0.05em !important;
}

.site-pricing-billing-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  width: 100% !important;
  justify-content: flex-end !important;
  padding-top: 8px !important;
}

.site-pricing-billing-row > .e-con-inner {
  justify-content: flex-end !important;
}

.site-pricing-billing-row .elementor-widget-html {
  width: auto !important;
}

.site-pricing-billing-toggle {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--site-outline-variant);
  border-radius: 12px;
  background: var(--site-surface-container);
}

.site-pricing-billing-option {
  min-height: 40px;
  padding: 8px 16px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--site-muted);
  font-family: Inter, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: 0;
  cursor: pointer;
}

.site-pricing-billing-option:hover {
  color: var(--site-forest-deep);
}

.site-pricing-billing-option:focus-visible {
  outline: 2px solid var(--site-forest-deep);
  outline-offset: 2px;
}

.site-pricing-billing-option.is-active {
  background: var(--site-paper-white);
  color: var(--site-ink-black);
  box-shadow: 0 1px 3px rgba(8, 66, 53, 0.12);
}

.site-pricing-billing-discount {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  margin-left: 4px;
  padding: 0 8px;
  border-radius: 999px;
  background: var(--site-lime-accent);
  color: var(--site-forest-deep);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

.site-pricing-table-footer {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 16px;
  margin-top: 24px;
  text-align: center;
}

.site-pricing-table-footer p {
  margin: 0;
  color: var(--site-muted);
  font-size: 14px;
}

.site-pricing-table-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 20px;
  border-radius: 12px;
  background: var(--site-forest-deep);
  color: var(--site-paper-white);
  font-weight: 600;
  text-decoration: none;
}

.site-pricing-table-cta:hover {
  background: var(--site-primary);
  color: var(--site-paper-white);
}

.site-page .site-pricing-card > [data-id="00003f0"],
.site-page .site-pricing-card > [data-id="00003fa"],
.site-page .site-pricing-card > [data-id="0000403"] {
  padding-top: 8px !important;
  margin-bottom: 40px !important;
}

.site-page .site-pricing-card [data-id="00003ee"],
.site-page .site-pricing-card [data-id="00003f8"],
.site-page .site-pricing-card [data-id="0000401"] {
  margin-top: 20px !important;
}

.site-closing-cta {
  width: 100% !important;
  max-width: 1040px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding: 64px 32px !important;
  overflow: hidden !important;
  border-radius: 8px !important;
  background: var(--site-forest-deep) !important;
  color: var(--site-paper-white) !important;
  text-align: center !important;
}

.site-closing-cta > .e-con-inner,
.site-closing-cta > .elementor-widget-wrap {
  align-items: center !important;
  text-align: center !important;
}

.site-closing-cta .elementor-widget-heading,
.site-closing-cta .elementor-heading-title,
.site-closing-cta .elementor-widget-text-editor {
  width: 100% !important;
  text-align: center !important;
}

.site-closing-cta .site-closing-cta-heading {
  font-size: 48px !important;
  line-height: 56px !important;
}

.site-page .site-pricing-governance.site-pricing-governance {
  max-width: 1200px !important;
  padding-top: 64px !important;
  padding-bottom: 56px !important;
}

.site-pricing-governance-media {
  padding: 16px !important;
}

.site-pricing-governance-image img {
  width: 100% !important;
  height: 380px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
}

.site-pricing-governance-copy {
  padding-left: 40px !important;
}

.site-pricing-governance-heading {
  font-size: 40px !important;
  line-height: 48px !important;
}

/* The support workflow card pairs a product visual with its supporting copy. */
.site-page .site-support-workflow-image.elementor-widget {
  width: 41.666667% !important;
  flex: 0 0 41.666667% !important;
}

.site-page .site-support-cta {
  margin-top: 24px !important;
}

.site-support-workflow-image img {
  display: block !important;
  width: 100% !important;
  height: 256px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
}

.site-page .elementor-element-83a1390 {
  flex: 1 1 0% !important;
}

@media (max-width: 767px) {
  .site-page .site-support-workflow-image.elementor-widget {
    width: 100% !important;
    flex-basis: auto !important;
  }

  .site-support-workflow-image img {
    height: 224px !important;
  }
}

.site-page .site-pricing-closing-cta.site-pricing-closing-cta {
  max-width: 1040px !important;
  margin-bottom: 64px !important;
  padding: 64px 32px !important;
}

.site-pricing-closing-cta .site-closing-cta-heading {
  font-size: 44px !important;
  line-height: 52px !important;
}

.site-page .site-platform-closing-cta.site-platform-closing-cta {
  max-width: 1040px !important;
  margin-bottom: 64px !important;
  padding: 64px 32px !important;
}

.site-platform-closing-cta-background {
  display: none !important;
}

.site-platform-closing-cta .site-closing-cta-heading {
  font-size: 44px !important;
  line-height: 52px !important;
}

.site-page .elementor-element-1a6a809,
.site-page .elementor-element-2200e49 {
  text-align: center !important;
}

.site-platform-buyer-list,
.site-platform-control-list,
.site-platform-use-case-list {
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.site-platform-buyer-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 24px;
}

.site-platform-buyer-list li,
.site-platform-control-list li,
.site-platform-use-case-list li {
  position: relative;
  padding-left: 22px;
}

.site-platform-buyer-list li::before,
.site-platform-control-list li::before,
.site-platform-use-case-list li::before {
  position: absolute;
  top: 0.52em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--site-lime-accent);
  content: '';
}

.site-page .elementor-element-platform-detail-sections {
  width: min(100% - 128px, 1440px) !important;
  margin: 0 auto !important;
  padding: 0 0 96px !important;
}

.site-platform-details-shell {
  display: grid;
  gap: 24px;
}

.site-platform-details-section {
  padding: 48px;
  border: 1px solid var(--site-outline-variant);
  border-radius: 8px;
  background: var(--site-paper-white);
}

.site-platform-eyebrow {
  margin: 0 0 12px;
  color: var(--site-forest-deep);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.site-platform-details-section h2 {
  max-width: 760px;
  margin: 0;
  color: var(--site-forest-deep);
  font-size: 40px;
  font-weight: 500;
  line-height: 1.12;
}

.site-platform-details-intro {
  max-width: 720px;
  margin: 16px 0 32px;
  color: var(--site-muted);
  font-size: 18px;
  line-height: 1.5;
}

.site-platform-details .site-integration-map {
  max-width: none;
  margin: 0;
}

.site-platform-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.8fr);
  gap: 48px;
  align-items: start;
  background: var(--site-forest-deep);
  border-color: var(--site-forest-deep);
}

.site-platform-controls .site-platform-eyebrow {
  color: var(--site-lime-accent);
}

.site-platform-controls h2,
.site-platform-controls .site-platform-details-intro {
  color: var(--site-paper-white);
}

.site-platform-controls .site-platform-details-intro {
  opacity: 0.8;
}

.site-platform-control-list {
  display: grid;
  gap: 16px;
  margin-top: 0;
  color: var(--site-paper-white);
  font-size: 16px;
  line-height: 1.45;
}

.site-platform-use-case-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
  margin-top: 32px;
}

.site-platform-use-case-list li {
  min-height: 72px;
  padding: 16px 16px 16px 32px;
  border: 1px solid var(--site-outline-variant);
  border-radius: 8px;
  color: var(--site-forest-deep);
  font-weight: 600;
}

.site-platform-use-case-list li::before {
  top: 24px;
  left: 16px;
}

.site-page .elementor-element-platform-solutions-section {
  width: 100% !important;
  min-height: 100svh;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--site-paper-white);
}

.site-page .elementor-element-platform-solutions-section > .e-con-inner {
  display: flex;
  width: min(100% - 128px, 1440px);
  min-height: 100svh;
  align-items: center;
  margin: 0 auto;
}

.site-platform-solutions-hero {
  padding: 64px 48px;
  border: 1px solid var(--site-outline-variant);
  border-radius: 8px;
  background: var(--site-paper-white);
}

.site-platform-solutions-hero h2 {
  max-width: 760px;
  margin: 0;
  color: var(--site-forest-deep);
  font-size: 48px;
  font-weight: 500;
  line-height: 1.1;
}

.site-cookie-consent {
  position: fixed;
  z-index: 99999;
  right: 24px;
  bottom: 24px;
  display: flex;
  width: min(100% - 48px, 520px);
  align-items: end;
  gap: 24px;
  padding: 24px;
  border: 1px solid var(--site-outline-variant);
  border-radius: 8px;
  background: var(--site-paper-white);
  box-shadow: 0 16px 48px rgb(15 76 62 / 18%);
}

.site-cookie-consent[hidden] {
  display: none;
}

.site-cookie-consent__content {
  flex: 1 1 auto;
}

.site-cookie-consent__eyebrow {
  margin: 0 0 8px;
  color: var(--site-forest-deep);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.site-cookie-consent h2 {
  margin: 0 0 8px;
  color: var(--site-forest-deep);
  font-size: 24px;
  font-weight: 600;
  line-height: 1.2;
}

.site-cookie-consent__content > p:not(.site-cookie-consent__eyebrow) {
  margin: 0;
  color: var(--site-on-surface-variant);
  font-size: 14px;
  line-height: 1.5;
}

.site-cookie-consent__policy {
  margin-top: 10px !important;
}

.site-cookie-consent__policy a {
  color: var(--site-forest-deep);
  font-weight: 600;
  text-underline-offset: 3px;
}

.site-cookie-consent__actions {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 8px;
}

.site-cookie-consent__button {
  min-width: 170px;
  min-height: 44px;
  padding: 10px 16px;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
}

.site-cookie-consent__button--primary {
  background: var(--site-forest-deep);
  color: var(--site-paper-white);
}

.site-cookie-consent__button--secondary {
  background: var(--site-paper-white);
  color: var(--site-forest-deep);
  box-shadow: inset 0 0 0 1px var(--site-forest-deep);
}

.site-cookie-consent__button:hover,
.site-cookie-consent__button:focus-visible {
  filter: brightness(0.95);
}

@media (max-width: 767px) {
  .site-platform-buyer-list,
  .site-platform-use-case-list,
  .site-platform-controls {
    grid-template-columns: 1fr;
  }

  .site-page .elementor-element-platform-detail-sections {
    width: min(100% - 32px, 1440px) !important;
    padding-bottom: 64px !important;
  }

  .site-page .elementor-element-platform-solutions-section {
    min-height: 100svh;
  }

  .site-page .elementor-element-platform-solutions-section > .e-con-inner {
    width: min(100% - 32px, 1440px);
    min-height: 100svh;
  }

  .site-platform-details-section {
    padding: 32px 24px;
  }

  .site-platform-details-section h2 {
    font-size: 32px;
  }

  .site-platform-solutions-hero {
    padding: 40px 24px;
  }

  .site-platform-solutions-hero h2 {
    font-size: 32px;
  }

  .site-platform-controls {
    gap: 24px;
  }
}

.comparison-scroll {
  -webkit-overflow-scrolling: touch;
}

.site-page .bg-ink-black .site-cta-primary .elementor-button,
.site-page .bg-forest-deep .site-cta-primary .elementor-button {
  border: 0 !important;
  background: var(--site-paper-white) !important;
  color: var(--site-forest-deep) !important;
}

.site-footer .elementor-button,
.site-footer .elementor-widget-text-editor {
  color: rgba(244, 244, 240, 0.8) !important;
}

.site-footer .elementor-button:hover {
  color: var(--site-paper-white) !important;
}

.site-footer .site-footer-nav > .e-con + .e-con {
  margin-top: 8px !important;
}

.site-footer .site-footer-group-heading {
  margin-bottom: 8px !important;
}

.site-blog-grid-section {
  padding-top: 56px !important;
  padding-bottom: 72px !important;
}

.site-blog-post-grid {
  row-gap: 48px !important;
}

.site-page main {
  display: block;
}

.site-page .elementor-widget-heading .elementor-heading-title,
.site-header .elementor-widget-heading .elementor-heading-title,
.site-footer .elementor-widget-heading .elementor-heading-title {
  margin: 0;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
}

.site-page .elementor-widget-text-editor p,
.site-header .elementor-widget-text-editor p,
.site-footer .elementor-widget-text-editor p {
  margin: 0;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
}

.site-page .elementor-widget-image.w-full img,
.site-header .elementor-widget-image.w-full img,
.site-footer .elementor-widget-image.w-full img {
  width: 100%;
}

.site-page .elementor-widget-image.h-full,
.site-page .elementor-widget-image.h-full > .elementor-widget-container,
.site-page .elementor-widget-image.h-full img {
  height: 100%;
}

.site-page .elementor-widget-image.object-cover img {
  object-fit: cover;
}

.site-system-map {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.site-system-map div {
  min-height: 90px;
  padding: 16px;
  border: 1px solid rgba(0, 42, 33, 0.12);
  border-radius: 12px;
  background: #fff;
}

.site-system-map strong {
  display: block;
  color: #002a21;
  font: 800 15px/1.2 Inter, system-ui, sans-serif;
}

.site-system-map span {
  display: block;
  margin-top: 7px;
  color: #66716b;
  font: 500 13px/1.4 Inter, system-ui, sans-serif;
}

.site-system-map .wide {
  grid-column: 1 / -1;
  background: #eef3ef;
}

.site-integration-map .site-integration-stage {
  display: flex;
  min-height: 108px;
  flex-direction: column;
  justify-content: space-between;
  padding: 16px;
}

.site-integration-map .site-integration-stage.wide {
  min-height: 96px;
  background: #eef3ef;
}

.site-integration-map .site-integration-logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
}

.site-integration-map .site-integration-logo {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  color: #33423d;
  font: 650 11px/1.2 Inter, Arial, sans-serif;
  white-space: nowrap;
}

.site-integration-map .site-integration-logo img {
  display: block;
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border-radius: 0;
  object-fit: contain;
}

.site-integration-map .site-integration-logo--wordmark img {
  width: 46px;
  height: 24px;
}

.site-integration-map .site-integration-logo--docusign img {
  width: 68px;
  height: 28px;
}

.site-integration-map img[src$="/twpayz.png"] {
  width: 58px;
}

.site-integration-map img[src$="/bskt-finance.png"],
.site-integration-map img[src$="/marsh-finance.png"] {
  width: 54px;
}

.site-integration-map .site-integration-stage.wide .site-integration-logo img {
  width: 38px;
  height: 30px;
}

.site-integration-map .site-integration-stage.wide .site-integration-logo--wordmark img {
  width: 58px;
}

.site-integration-map .site-integration-stage.wide .site-integration-logo:has(img[src$="/netsuite.svg"]) {
  width: 72px;
  height: 30px;
  justify-content: center;
  overflow: hidden;
}

.site-integration-map .site-integration-stage.wide img[src$="/netsuite.svg"] {
  width: 32px;
  height: 32px;
  transform: scale(2.25);
}

.site-header {
  position: sticky !important;
  top: 0;
  z-index: 1000 !important;
  display: block !important;
  width: 100% !important;
  min-height: 80px;
}

/* Keep the global navigation independent of Tailwind's runtime utility output. */
.site-header nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 80px;
  min-height: 80px;
}

.site-header nav > .px-margin-desktop {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  height: 80px;
  min-height: 80px;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

/* The brand remains a labelled home link while the visible treatment uses the local mark. */
.site-header .site-brand-mark,
.site-header .elementor-element-fe5c9f3 {
  width: 72px !important;
  min-width: 72px !important;
}

.site-header .site-brand-mark .elementor-button,
.site-header .elementor-element-fe5c9f3 .elementor-button {
  display: block !important;
  width: 72px !important;
  min-width: 72px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  background-image: url("../logos/viv-wordmark.svg") !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: contain !important;
  color: transparent !important;
  font-size: 0 !important;
  box-shadow: none !important;
}

.site-header .site-brand-mark .elementor-button:hover,
.site-header .site-brand-mark .elementor-button:focus-visible,
.site-header .elementor-element-fe5c9f3 .elementor-button:hover,
.site-header .elementor-element-fe5c9f3 .elementor-button:focus-visible {
  background-color: transparent !important;
  filter: opacity(0.72);
}

.site-mobile-menu {
  display: none;
}

.admin-bar .site-header .sticky,
.admin-bar .site-page .sticky {
  top: 32px;
}

.material-symbols-outlined {
  display: inline-block;
  line-height: 1;
  vertical-align: middle;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}

.clock-icon {
  position: relative;
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 1.7px solid currentColor;
  border-radius: 9999px;
  vertical-align: -2px;
}

.clock-icon::before,
.clock-icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 1.7px;
  border-radius: 9999px;
  background: currentColor;
  transform-origin: 50% 0;
}

.clock-icon::before {
  height: 4.5px;
  transform: translate(-50%, -100%);
}

.clock-icon::after {
  height: 3.5px;
  transform: translate(-50%, -1px) rotate(90deg);
}

.hero-underline {
  background-image: url("data:image/svg+xml,%3Csvg width='244' height='18' viewBox='0 0 244 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 15.5C45.5 5.5 142.5 -4.5 242 15.5' stroke='%23A8E565' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: bottom center;
  padding-bottom: 8px;
}

.product-circle-highlight {
  position: relative;
  z-index: 1;
}

.product-circle-highlight::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  width: 120%;
  height: 140%;
  opacity: 0.8;
  transform: translate(-50%, -50%);
  background-image: url("data:image/svg+xml,%3Csvg width='216' height='90' viewBox='0 0 216 90' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M213.5 45C213.5 68.4721 166.714 87.5 108.5 87.5C50.286 87.5 3.5 68.4721 3.5 45C3.5 21.5279 50.286 2.5 108.5 2.5C166.714 2.5 213.5 21.5279 213.5 45Z' stroke='%23A8E565' stroke-width='3'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.home-hero-wide {
  left: 50%;
  width: 85vw;
  max-width: 85vw;
  transform: translateX(-50%);
}

.site-page .home-hero-section {
  padding-top: clamp(56px, 6vw, 88px) !important;
  padding-bottom: clamp(56px, 6vw, 80px) !important;
}

.site-page .home-hero-section h1,
.site-page .home-hero-section .elementor-widget-text-editor {
  text-align: center;
}

.site-page .home-hero-actions {
  gap: 16px !important;
}

.home-workflow-hero {
  height: clamp(420px, 32vw, 520px) !important;
  min-height: 0 !important;
  margin-top: clamp(40px, 4vw, 56px) !important;
  aspect-ratio: auto !important;
  overflow: hidden !important;
}

.home-workflow-hero > .elementor-widget-shortcode,
.home-workflow-hero > .elementor-widget-shortcode > .elementor-widget-container,
.home-workflow-hero .elementor-shortcode {
  display: block;
  width: 100%;
  height: 100%;
}

.home-workflow-frame {
  display: block;
  width: 100%;
  height: 100% !important;
  min-height: 0;
  border: 0;
  background: #f6f4ee;
}

.site-page .home-logo-section {
  padding-top: 48px !important;
  padding-bottom: 48px !important;
}

.site-page .home-product-section {
  padding-top: var(--site-section-gap) !important;
  padding-bottom: var(--site-section-gap) !important;
  scroll-margin-top: 80px;
}

.site-page .home-product-row {
  display: grid !important;
  grid-template-columns: minmax(320px, 5fr) minmax(0, 7fr) !important;
  gap: 32px !important;
  align-items: stretch !important;
  margin-bottom: 64px !important;
}

.site-page .home-product-row > .e-con {
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  border-radius: 8px !important;
}

.site-page .home-product-row > .e-con:first-child {
  grid-column: 1 !important;
  min-height: 90vh !important;
  min-height: 90svh !important;
  align-self: stretch !important;
  justify-content: space-between !important;
}

.site-page .home-product-row > .e-con:first-child .mt-auto {
  margin-top: auto !important;
}

.site-page .home-product-row > .home-product-media {
  grid-column: 2 !important;
}

.site-page #demo-approve {
  margin-bottom: 0 !important;
}

.site-page .home-product-media {
  height: 90vh !important;
  height: 90svh !important;
  min-height: 0 !important;
  aspect-ratio: auto;
  overflow: hidden !important;
  border-radius: 8px !important;
}

.site-page .home-product-media .elementor-widget-image,
.site-page .home-product-media .elementor-widget-image > .elementor-widget-container,
.site-page .home-product-media .elementor-widget-image img {
  width: 100% !important;
  height: 100% !important;
}

.site-page .home-product-media .elementor-widget-image img {
  object-fit: cover !important;
}

.site-page .home-product-media > .e-con {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border-radius: 6px !important;
}

.site-page .home-product-media .e-con.absolute {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

.site-page .home-product-media .e-con.w-full {
  width: 100% !important;
}

.site-page .home-product-media .e-con.max-w-2xl {
  max-width: 42rem !important;
}

.site-page .home-product-media .e-con.gap-6 {
  gap: 24px !important;
}

.site-page .home-product-media .e-con.gap-1\.5 {
  gap: 6px !important;
}

.site-page .home-product-media .e-con.gap-2 {
  gap: 8px !important;
}

.site-page .home-product-media .e-con.gap-3 {
  gap: 12px !important;
}

.site-page .home-product-media .e-con.space-y-3 > * + * {
  margin-top: 12px !important;
}

.site-page .home-product-media .e-con.p-6 {
  padding: 24px !important;
}

.site-page .home-product-media .e-con.p-8 {
  padding: 32px !important;
}

.site-page .home-product-media .e-con.px-4 {
  padding-right: 16px !important;
  padding-left: 16px !important;
}

.site-page .home-product-media .e-con.py-2 {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

.site-page .home-product-media .e-con.py-2.border-b,
.site-page .home-product-media .e-con.py-2.border-surface-variant {
  border-bottom-width: 1px;
}

.site-page .home-product-media .e-con.w-2\.5 {
  width: 10px !important;
  min-width: 10px !important;
}

.site-page .home-product-media .e-con.h-2\.5 {
  height: 10px !important;
  min-height: 10px !important;
}

.site-page .home-product-metrics {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 48px !important;
  padding-top: 48px !important;
}

.site-page .home-support-grid {
  gap: 32px !important;
}

.site-page .home-support-primary {
  display: grid !important;
  grid-template-columns: minmax(260px, 5fr) minmax(0, 7fr) !important;
  align-items: stretch !important;
}

.site-page .home-support-primary > * {
  width: 100% !important;
  min-width: 0 !important;
}

.site-page .home-support-primary-media {
  min-height: 294px !important;
}

.site-page .home-support-primary-copy {
  padding: 32px !important;
}

.site-page .home-support-feature {
  padding: 32px !important;
}

.site-page .home-support-feature-inner {
  display: grid !important;
  grid-template-columns: minmax(260px, 5fr) minmax(0, 7fr) !important;
  gap: 48px !important;
  align-items: center !important;
}

.site-page .home-support-feature-inner > * {
  width: 100% !important;
  min-width: 0 !important;
}

.site-page .home-support-feature-inner .site-support-workflow-image.elementor-widget {
  width: 100% !important;
  flex: none !important;
}

.site-page .home-support-copy {
  width: 100% !important;
  min-width: 0 !important;
}

.platform-sticky-story {
  position: relative;
  min-height: calc(100svh + var(--site-platform-scroll-distance, 1440px)) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  overflow: visible !important;
  background: var(--site-forest-deep) !important;
}

.platform-sticky-inner {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: calc(100svh - 72px) !important;
  padding-top: clamp(40px, 5vh, 72px) !important;
  padding-bottom: clamp(40px, 5vh, 72px) !important;
  width: 100% !important;
  max-width: var(--site-container-max) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

.platform-sticky-story.is-pinned .platform-sticky-inner,
.platform-sticky-story.is-complete .platform-sticky-inner {
  left: 50% !important;
  transform: translateX(-50%) !important;
}

.platform-sticky-story.is-pinned .platform-sticky-inner {
  position: fixed !important;
  top: 72px !important;
  z-index: 4;
}

.platform-sticky-story.is-complete .platform-sticky-inner {
  position: absolute !important;
  top: auto !important;
  right: auto !important;
  bottom: 0 !important;
}

.admin-bar .platform-sticky-inner {
  min-height: calc(100svh - 104px) !important;
}

.admin-bar .platform-sticky-story.is-pinned .platform-sticky-inner {
  top: 104px !important;
}

.platform-sticky-intro {
  display: none !important;
  margin-bottom: 0 !important;
}

.platform-sticky-intro h2 {
  max-width: 800px;
}

.platform-sticky-stage {
  gap: clamp(56px, 7vw, 112px) !important;
  align-items: center !important;
}

.platform-sticky-list {
  display: flex;
  flex-direction: column;
  gap: clamp(28px, 4vh, 44px) !important;
}

.platform-sticky-item {
  border-left-width: 4px !important;
  transition: opacity 420ms ease, border-color 420ms ease, transform 420ms ease;
}

.platform-sticky-item:not(.is-active) {
  border-color: rgba(244, 243, 238, 0.22) !important;
  opacity: 0.46 !important;
}

.platform-sticky-item.is-active {
  border-color: var(--site-lime-accent) !important;
  opacity: 1 !important;
  transform: translateX(4px);
}

.platform-sticky-item h3 {
  color: var(--site-paper-white) !important;
  font-size: clamp(30px, 3vw, 42px) !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
}

.platform-sticky-item p {
  max-width: 520px;
  color: rgba(244, 243, 238, 0.74) !important;
}

.platform-sticky-media {
  --site-platform-media-pad: clamp(18px, 2vw, 32px);
  --site-platform-media-pad-double: clamp(36px, 4vw, 64px);
  position: relative;
  aspect-ratio: 4 / 3;
  padding: var(--site-platform-media-pad) !important;
  border-color: rgba(184, 238, 219, 0.18) !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, 0.055) !important;
  box-shadow: 0 26px 90px rgba(0, 0, 0, 0.24) !important;
}

@media (min-width: 768px) {
  .platform-sticky-stage {
    display: grid !important;
    grid-template-columns: minmax(0, 2fr) minmax(420px, 3fr) !important;
    gap: 96px !important;
    align-items: center !important;
    width: 100% !important;
  }

  .platform-sticky-list,
  .platform-sticky-media {
    width: 100% !important;
    min-width: 0 !important;
  }

  .platform-sticky-media {
    aspect-ratio: 3 / 2 !important;
  }
}

.site-page .platform-sticky-media .platform-sticky-image {
  position: absolute;
  inset: var(--site-platform-media-pad);
  display: block;
  width: calc(100% - var(--site-platform-media-pad-double)) !important;
  height: calc(100% - var(--site-platform-media-pad-double)) !important;
  max-width: none !important;
  border-radius: 14px !important;
  opacity: 0;
  transform: scale(1.025);
  transition: opacity 520ms ease, transform 700ms ease;
}

.site-page .platform-sticky-media .platform-sticky-image img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

.site-page .platform-sticky-media .platform-sticky-image.is-active {
  opacity: 1;
  transform: scale(1);
}

.platform-sticky-story + section {
  position: relative;
  z-index: 2;
}

.pricing-matrix table {
  min-width: 760px;
}

.site-page .bg-forest-deep .elementor-widget-text-editor,
.site-page .bg-primary .elementor-widget-text-editor {
  color: var(--site-paper-white) !important;
}

.pricing-matrix .matrix-row {
  transition: background-color 0.2s ease;
}

.pricing-matrix .matrix-row:hover {
  background-color: #f4f4f0;
}

@media (min-width: 1024px) {
  .site-header .max-w-container-max,
  .site-page .max-w-container-max,
  .site-footer .max-w-container-max {
    max-width: var(--site-container-max) !important;
  }
}

.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.site-insight-card-media {
  margin-bottom: 20px !important;
}

.site-insight-card-category {
  display: block !important;
  margin-bottom: 14px !important;
}

.site-insight-card-title {
  margin: 0 0 16px !important;
}

.site-insight-card-excerpt {
  margin: 0 0 32px !important;
}

.site-insight-card-meta {
  padding-top: 20px !important;
}

.site-blog-category-bar {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 224px;
  align-items: center !important;
  gap: 16px 32px !important;
}

.site-blog-category-links {
  display: flex !important;
  flex-wrap: wrap !important;
  min-width: 0 !important;
  gap: 8px !important;
}

.site-blog-category-links a {
  padding: 8px 16px !important;
}

.site-blog-category-bar form {
  width: 224px !important;
  min-width: 0 !important;
}

.site-blog-category-bar form input {
  width: 192px !important;
  min-width: 0 !important;
}

.site-newsletter-section,
.site-newsletter-section h2 {
  color: var(--site-paper-white) !important;
}

.site-newsletter-copy {
  color: rgba(244, 244, 240, 0.78) !important;
}

.site-newsletter-fine-print {
  color: rgba(244, 244, 240, 0.56) !important;
}

.site-newsletter-section form,
.site-newsletter-section input[type="email"],
.site-newsletter-section button {
  max-width: 100%;
}

.site-success-main {
  width: 100% !important;
  min-height: 560px;
  padding: 96px 32px !important;
  background: var(--site-surface) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.site-success-inner {
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column;
  align-items: center !important;
  text-align: center;
}

.site-success-kicker {
  margin-bottom: 20px !important;
  color: var(--site-forest-deep) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
}

.site-success-title {
  margin-bottom: 24px !important;
  color: var(--site-forest-deep) !important;
  font-size: 56px !important;
  line-height: 1.1 !important;
}

.site-success-copy {
  max-width: 620px;
  margin-bottom: 36px !important;
  color: var(--site-muted) !important;
  font-size: 20px !important;
  line-height: 1.55 !important;
}

.site-success-actions {
  width: auto !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  justify-content: center;
  gap: 12px !important;
}

.site-success-actions .elementor-widget-button {
  width: auto !important;
}

@media (max-width: 1023px) {
  .site-blog-category-bar {
    grid-template-columns: 1fr;
  }

  .site-blog-category-bar form {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .site-blog-category-bar {
    display: block !important;
    height: auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  section:has(> .site-blog-category-bar) {
    position: static !important;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }

  .site-blog-category-links {
    flex-wrap: nowrap !important;
    width: 100% !important;
    overflow-x: auto !important;
    padding-bottom: 4px;
    scrollbar-width: none;
  }

  .site-blog-category-links::-webkit-scrollbar {
    display: none;
  }

  .site-blog-category-links a {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .site-newsletter-panel {
    width: 100% !important;
    padding: 40px 24px !important;
    align-items: stretch !important;
    gap: 32px !important;
  }

  .site-newsletter-panel > div,
  .site-newsletter-panel form,
  .site-newsletter-panel input[type="email"],
  .site-newsletter-panel button {
    width: 100% !important;
    min-width: 0 !important;
  }

  .site-newsletter-panel h2 {
    width: 100% !important;
    font-size: 32px !important;
    line-height: 40px !important;
  }

  .site-success-main {
    min-height: 480px;
    padding: 72px 20px !important;
  }

  .site-success-title {
    font-size: 40px !important;
  }

  .site-success-actions {
    width: 100% !important;
    flex-direction: column !important;
  }

  .site-success-actions .elementor-widget-button,
  .site-success-actions .elementor-button {
    width: 100% !important;
  }
}

.site-page .site-contact-main,
.elementor-element-310ca9a {
  --container-max-width: 100%;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
}

.elementor-element-7de1c16 {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  gap: 0 !important;
}

.elementor-element-7de1c16 > .e-con-inner,
.elementor-element-310ca9a > .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  gap: 0 !important;
}

.site-page .site-contact-band,
.elementor-element-contact-intro-hero,
.elementor-element-contact-location-hero,
.elementor-element-contact-faq-hero {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  min-height: calc(100vh - 80px) !important;
  min-height: calc(100svh - 80px) !important;
  padding: 96px max(32px, calc((100vw - var(--site-container-max)) / 2 + 64px)) !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
  scroll-margin-top: 80px;
}

.site-contact-inner,
.elementor-element-contact-intro-inner,
.elementor-element-contact-location-inner,
.elementor-element-contact-faq-inner {
  width: 100% !important;
  max-width: 920px !important;
  min-width: 0 !important;
  margin: 0 auto !important;
}

.elementor-element-contact-intro-hero > .elementor-container,
.elementor-element-contact-location-hero > .elementor-container,
.elementor-element-contact-faq-hero > .elementor-container {
  width: 100% !important;
  max-width: 920px !important;
  min-width: 0 !important;
  margin: 0 auto !important;
}

.site-contact-intro-hero,
.elementor-element-contact-intro-hero {
  background: var(--site-surface) !important;
}

.elementor-element-contact-intro-inner > .elementor-widget-wrap {
  display: block !important;
}

.site-contact-location-hero,
.elementor-element-contact-location-hero {
  min-height: calc(100vh - 80px) !important;
  min-height: calc(100svh - 80px) !important;
  background: var(--site-paper-white) !important;
}

.site-contact-faq-hero,
.elementor-element-contact-faq-hero {
  min-height: calc(100vh - 80px) !important;
  min-height: calc(100svh - 80px) !important;
  background: var(--site-surface) !important;
}

.site-contact-display {
  max-width: 880px !important;
  margin: 0 0 28px !important;
  color: var(--site-forest-deep) !important;
  font-size: 64px !important;
  line-height: 1.08 !important;
}

.site-contact-lead,
.site-contact-section-copy {
  max-width: 680px !important;
  margin: 0 !important;
  color: var(--site-muted) !important;
  font-size: 20px !important;
  line-height: 1.55 !important;
}

.site-contact-intro-button {
  width: auto !important;
  margin-top: 36px !important;
}

.site-contact-intro-button .elementor-button {
  width: auto !important;
}

.site-contact-kicker {
  display: inline-block !important;
  margin-bottom: 24px !important;
  color: var(--site-lime-accent) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

.site-contact-section-title {
  max-width: 800px !important;
  margin: 0 0 24px !important;
  color: var(--site-forest-deep) !important;
  font-size: 48px !important;
  line-height: 1.15 !important;
}

.site-contact-location-inner,
.elementor-element-contact-location-inner {
  max-width: 1200px !important;
  padding: 0 !important;
}

.elementor-element-contact-location-hero > .elementor-container {
  max-width: 1200px !important;
}

.site-contact-location-title {
  max-width: none !important;
  margin: 0 0 56px !important;
  text-align: center !important;
}

.site-contact-location-grid,
.elementor-element-contact-location-grid {
  width: 100% !important;
}

.site-contact-location-grid > .elementor-container,
.elementor-element-contact-location-grid > .elementor-container {
  display: grid !important;
  grid-template-columns: minmax(0, 2fr) minmax(240px, 1fr) !important;
  gap: 64px !important;
  align-items: center !important;
  width: 100% !important;
  max-width: none !important;
}

.site-contact-location-media,
.site-contact-location-details {
  width: auto !important;
  min-width: 0 !important;
}

.site-contact-location-image,
.site-contact-location-image .elementor-widget-container {
  width: 100% !important;
}

.site-contact-location-image img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 16 / 10 !important;
  object-fit: cover !important;
  border-radius: 8px !important;
}

.site-contact-location-details > .elementor-widget-wrap {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.site-contact-location-company {
  margin-bottom: 16px !important;
  color: var(--site-forest-deep) !important;
  font-size: 24px !important;
  line-height: 1.25 !important;
}

.site-contact-address {
  margin: 0 !important;
  color: var(--site-forest-deep) !important;
  font-size: 18px !important;
  font-style: normal !important;
  line-height: 1.6 !important;
}

.site-contact-location-note {
  margin: 28px 0 0 !important;
  color: var(--site-muted) !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
}

.site-contact-faq-title {
  margin-bottom: 48px !important;
}

.site-contact-faq-list {
  border-bottom: 1px solid var(--site-outline-variant) !important;
}

.site-contact-faq-item {
  display: block;
  padding: 24px 0 !important;
  border-top: 1px solid var(--site-outline-variant) !important;
}

.site-contact-faq-item summary {
  cursor: pointer;
  color: var(--site-forest-deep);
  font-family: Manrope, sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.4;
}

.site-contact-faq-item p {
  max-width: 720px;
  margin: 16px 40px 0 0 !important;
  color: var(--site-muted);
  font-size: 17px;
  line-height: 1.65;
}

.site-contact-closing-cta-band,
.elementor-element-contact-closing-cta-band {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  min-height: calc(100vh - 80px) !important;
  min-height: calc(100svh - 80px) !important;
  padding: 64px 32px !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
  scroll-margin-top: 80px;
  background: var(--site-surface) !important;
}

.elementor-element-contact-closing-cta-band > .elementor-container {
  width: 100% !important;
  max-width: 1040px !important;
  margin: 0 auto !important;
}

.site-contact-closing-cta,
.elementor-element-contact-closing-cta {
  width: 100% !important;
  padding: 64px 32px !important;
  overflow: hidden !important;
  border-radius: 8px !important;
  background: var(--site-forest-deep) !important;
  color: var(--site-paper-white) !important;
  text-align: center !important;
}

.elementor-element-contact-closing-cta > .elementor-widget-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.elementor-element-contact-closing-title {
  margin-bottom: 20px !important;
}

.elementor-element-contact-closing-title .elementor-heading-title {
  color: var(--site-paper-white) !important;
  font-size: 44px !important;
  line-height: 52px !important;
}

.site-contact-closing-copy,
.elementor-element-contact-closing-copy {
  max-width: 640px !important;
  margin-bottom: 32px !important;
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
}

.site-contact-closing-actions,
.elementor-element-contact-closing-actions {
  width: auto !important;
}

.elementor-element-contact-closing-actions > .elementor-container {
  display: flex !important;
  justify-content: center !important;
  gap: 16px !important;
}

.elementor-element-contact-closing-demo-column,
.elementor-element-contact-closing-signup-column {
  width: auto !important;
}

.elementor-element-contact-closing-demo-column > .elementor-widget-wrap,
.elementor-element-contact-closing-signup-column > .elementor-widget-wrap {
  padding: 0 !important;
}

.elementor-element-contact-closing-cta .site-cta-primary .elementor-button {
  background: var(--site-paper-white) !important;
  color: var(--site-forest-deep) !important;
}

@media (max-width: 767px) {
  .site-page .site-contact-band,
  .elementor-element-contact-intro-hero,
  .elementor-element-contact-location-hero,
  .elementor-element-contact-faq-hero {
    min-height: calc(100vh - 121px) !important;
    min-height: calc(100svh - 121px) !important;
    padding: 64px 24px !important;
    scroll-margin-top: 121px;
  }

  .site-contact-display {
    font-size: 44px !important;
  }

  .site-contact-section-title {
    font-size: 36px !important;
  }

  .site-contact-location-title {
    margin-bottom: 36px !important;
    text-align: left !important;
  }

  .site-contact-location-grid > .elementor-container,
  .elementor-element-contact-location-grid > .elementor-container {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 32px !important;
  }

  .site-contact-location-media,
  .site-contact-location-details {
    width: 100% !important;
  }

  .site-contact-location-image img {
    aspect-ratio: 4 / 3 !important;
  }

  .site-contact-closing-cta-band,
  .elementor-element-contact-closing-cta-band {
    min-height: calc(100vh - 121px) !important;
    min-height: calc(100svh - 121px) !important;
    padding: 56px 24px !important;
    scroll-margin-top: 121px;
  }

  .site-contact-closing-cta,
  .elementor-element-contact-closing-cta {
    padding: 56px 24px !important;
  }

  .elementor-element-contact-closing-title .elementor-heading-title {
    font-size: 36px !important;
    line-height: 44px !important;
  }

  .site-contact-closing-actions,
  .elementor-element-contact-closing-actions {
    width: 100% !important;
  }

  .elementor-element-contact-closing-actions > .elementor-container {
    flex-direction: column !important;
    gap: 12px !important;
  }

  .elementor-element-contact-closing-demo-column,
  .elementor-element-contact-closing-signup-column,
  .elementor-element-contact-closing-demo,
  .elementor-element-contact-closing-signup,
  .elementor-element-contact-closing-demo .elementor-button,
  .elementor-element-contact-closing-signup .elementor-button {
    width: 100% !important;
  }

  .elementor-element-contact-intro-inner,
  .elementor-element-contact-location-inner,
  .elementor-element-contact-faq-inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 0 0 100% !important;
  }
}

.content-prose h2 {
  margin-top: 48px;
  margin-bottom: 24px;
  color: var(--site-forest-deep);
  font-family: Manrope, sans-serif;
  font-size: 32px;
  font-weight: 600;
  line-height: 40px;
}

.content-prose h3 {
  margin-top: 32px;
  margin-bottom: 16px;
  color: var(--site-forest-deep);
  font-family: Manrope, sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 32px;
}

.content-prose p {
  margin-bottom: 24px;
  color: var(--site-muted);
  font-family: Inter, sans-serif;
  font-size: 18px;
  line-height: 28px;
}

.content-prose ul {
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}

.content-prose li {
  position: relative;
  margin-bottom: 12px;
  padding-left: 28px;
  color: var(--site-muted);
  font-family: Inter, sans-serif;
  font-size: 18px;
}

.content-prose li::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 1px;
  background: var(--site-lime-accent);
}

.pull-quote,
.content-prose blockquote {
  margin: 48px 0;
  padding-left: 32px;
  border-left: 4px solid var(--site-lime-accent);
  color: var(--site-forest-deep);
  font-family: Manrope, sans-serif;
  font-size: 24px;
  font-style: italic;
  font-weight: 500;
  line-height: 34px;
}

.content-prose blockquote p {
  margin: 0;
  color: inherit;
  font: inherit;
}

.bento-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 24px;
}

.comparison-scroll {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.comparison-scroll::-webkit-scrollbar {
  display: none;
}

.honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

@media (max-width: 1023px) {
  .site-header nav > div,
  .site-page .px-margin-desktop,
  .site-footer .px-margin-desktop {
    padding-left: 32px !important;
    padding-right: 32px !important;
  }

  .site-header nav,
  .site-header nav > .px-margin-desktop {
    height: auto;
    min-height: 80px;
  }

  .site-page .text-display-xl {
    font-size: 48px !important;
    line-height: 56px !important;
  }

  .site-page .home-product-row {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  .site-page .home-product-row > .e-con:first-child,
  .site-page .home-product-row > .home-product-media {
    grid-column: 1 !important;
  }

  .site-page .home-product-media {
    height: 420px !important;
  }

  .bento-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .site-header nav > div {
    flex-wrap: wrap !important;
    gap: 12px !important;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }

  .site-header .elementor-element-620386c {
    display: contents !important;
  }

  .site-header .elementor-element-fe5c9f3 {
    order: 1;
  }

  .site-header .elementor-element-c67ce0f {
    order: 2;
    width: auto !important;
    margin-left: auto;
  }

  .site-header .site-cta-secondary .elementor-button,
  .site-header .site-cta-primary .elementor-button,
  .site-header .site-cta-secondary-inverse .elementor-button {
    min-height: 40px;
    padding: 8px 18px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    line-height: 20px !important;
  }

  .site-header .elementor-element-dbba45c {
    display: none !important;
  }

  .site-page .site-platform-closing-cta.site-platform-closing-cta {
    width: calc(100% - 64px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  /* Tablet uses the readable mobile journey instead of the pinned desktop media. */
  .platform-sticky-story {
    min-height: auto !important;
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }

  .platform-sticky-inner {
    position: relative !important;
    top: auto !important;
    display: block !important;
    min-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .platform-sticky-story.is-pinned .platform-sticky-inner,
  .platform-sticky-story.is-complete .platform-sticky-inner {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
  }

  .platform-sticky-intro {
    display: block !important;
    margin-bottom: 32px !important;
  }

  .platform-sticky-stage {
    display: block !important;
  }

  .platform-sticky-list {
    margin-bottom: 0 !important;
  }

  .site-page .platform-sticky-item {
    opacity: 1 !important;
    border-left-color: rgba(244, 244, 240, 0.5) !important;
  }

  .platform-sticky-item h3 {
    margin-bottom: 12px !important;
  }

  .platform-sticky-media {
    display: none !important;
  }
}

@media (max-width: 767px) {
  :root {
    --site-section-gap: 64px;
  }

  .site-header nav > div,
  .site-page .px-margin-desktop,
  .site-footer .px-margin-desktop {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .site-header .max-w-container-max,
  .site-page .max-w-container-max,
  .site-footer .max-w-container-max {
    width: 100% !important;
    max-width: none !important;
  }

  .site-header {
    min-height: 72px;
  }

  .site-header nav,
  .site-header nav > .px-margin-desktop {
    width: 100% !important;
    height: 72px !important;
    min-height: 72px !important;
    overflow: visible !important;
  }

  .site-header nav > div,
  .site-header nav > .px-margin-desktop {
    flex-wrap: nowrap !important;
    gap: 16px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }

  .site-header .site-brand-mark,
  .site-header .elementor-element-fe5c9f3,
  .site-header .site-brand-mark .elementor-button,
  .site-header .elementor-element-fe5c9f3 .elementor-button {
    width: 64px !important;
    min-width: 64px !important;
    height: 30px !important;
    min-height: 30px !important;
  }

  .site-header .elementor-element-c67ce0f {
    position: relative;
    display: block !important;
    width: 44px !important;
    margin-left: auto !important;
    overflow: visible !important;
  }

  .site-header .elementor-element-c67ce0f > .e-con-inner,
  .site-header .elementor-element-mobile-nav-menu,
  .site-header .elementor-element-mobile-nav-menu .elementor-widget-container {
    overflow: visible !important;
  }

  .site-header .elementor-element-a7e04cd,
  .site-header .elementor-element-b13663e {
    display: none !important;
  }

  .site-header .elementor-element-mobile-nav-menu,
  .site-header .elementor-element-mobile-nav-menu .elementor-widget-container {
    width: 44px !important;
  }

  .site-mobile-menu {
    position: relative;
    display: block;
    width: 44px;
  }

  .site-mobile-menu summary {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: var(--site-paper-white);
    color: var(--site-forest-deep);
    cursor: pointer;
    list-style: none;
  }

  .site-mobile-menu summary::-webkit-details-marker {
    display: none;
  }

  .site-mobile-menu summary:focus-visible {
    outline: 2px solid var(--site-forest-deep);
    outline-offset: 2px;
  }

  .site-mobile-menu-close,
  .site-mobile-menu[open] .site-mobile-menu-open {
    display: none;
  }

  .site-mobile-menu[open] .site-mobile-menu-close {
    display: inline-block;
  }

  .site-mobile-menu-panel {
    position: fixed;
    top: 72px;
    right: auto;
    left: 0;
    z-index: 100;
    display: flex;
    flex-direction: column;
    width: 100vw;
    padding: 20px;
    border-top: 1px solid var(--site-outline-variant);
    border-right: 0;
    border-bottom: 1px solid var(--site-outline-variant);
    border-left: 0;
    border-radius: 0;
    background: var(--site-background);
    box-shadow: 0 18px 32px rgba(8, 66, 53, 0.1);
  }

  .site-mobile-menu-panel a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 10px 12px;
    color: var(--site-text) !important;
    font-size: 15px;
    font-weight: 600;
    line-height: 20px;
  }

  .site-mobile-menu-panel a:hover,
  .site-mobile-menu-panel a:focus-visible {
    background: var(--site-paper-white);
  }

  .site-mobile-menu-panel .site-mobile-menu-secondary,
  .site-mobile-menu-panel .site-mobile-menu-primary {
    justify-content: center;
    margin-top: 8px;
    border-radius: 8px;
  }

  .site-mobile-menu-panel .site-mobile-menu-secondary {
    border: 1px solid var(--site-forest-deep);
    color: var(--site-forest-deep) !important;
  }

  .site-mobile-menu-panel .site-mobile-menu-primary {
    background: var(--site-forest-deep);
    color: var(--site-paper-white) !important;
  }

  .site-page .py-section-gap,
  .site-footer .py-section-gap {
    padding-top: 64px;
    padding-bottom: 64px;
  }

  .site-page .pt-section-gap {
    padding-top: 64px;
  }

  .site-page .pb-section-gap {
    padding-bottom: 64px;
  }

  .site-page .text-display-xl {
    font-size: 40px !important;
    line-height: 48px !important;
    letter-spacing: 0 !important;
  }

  .home-hero-wide {
    width: calc(100vw - 40px);
    max-width: calc(100vw - 40px);
  }

  .home-workflow-hero {
    height: 420px !important;
    min-height: 0 !important;
  }

  .home-workflow-frame {
    min-height: 0;
  }

  .site-page .home-hero-section {
    padding-top: 48px !important;
    padding-bottom: 56px !important;
  }

  .site-page .home-logo-section {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  .site-page .home-product-row {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    margin-bottom: 56px !important;
  }

  .site-page .home-product-row > .home-product-media {
    grid-column: 1 !important;
    height: 90vh !important;
    height: 90svh !important;
  }

  .site-page .home-product-metrics {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding-top: 32px !important;
  }

  .site-page .home-support-feature {
    padding: 24px !important;
  }

  .site-page .home-support-primary {
    grid-template-columns: 1fr !important;
  }

  .site-page .home-support-primary-media {
    height: 240px !important;
    min-height: 240px !important;
  }

  .site-page .home-support-feature-inner {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .site-page .text-headline-lg {
    font-size: 32px !important;
    line-height: 40px !important;
    letter-spacing: 0 !important;
  }

  .site-page .text-headline-md {
    font-size: 28px !important;
    line-height: 36px !important;
  }

  .pricing-matrix {
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
  }

  .pricing-matrix table {
    width: 720px !important;
    min-width: 720px !important;
    table-layout: auto;
  }

  .pricing-matrix th,
  .pricing-matrix td {
    width: auto !important;
    padding: 10px 4px !important;
    font-size: 12px !important;
    line-height: 16px !important;
    overflow-wrap: anywhere;
  }

  .pricing-matrix th:first-child,
  .pricing-matrix td:first-child:not([colspan]) {
    width: 34% !important;
    padding-left: 8px !important;
    text-align: left !important;
  }

  .pricing-matrix th:not(:first-child),
  .pricing-matrix td:not(:first-child) {
    width: 22% !important;
  }

  .pricing-matrix td[colspan] {
    padding: 10px 12px !important;
  }

  .site-closing-cta {
    padding: 64px 20px !important;
  }

  .site-closing-cta .site-closing-cta-heading {
    font-size: 40px !important;
    line-height: 48px !important;
  }

  .site-page .site-pricing-governance.site-pricing-governance {
    max-width: none !important;
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  .site-pricing-governance-media {
    height: auto !important;
    padding: 12px !important;
  }

  .site-pricing-governance-image,
  .site-pricing-governance-image .elementor-widget-container {
    height: auto !important;
    min-height: 0 !important;
  }

  .site-pricing-governance-image img {
    height: 260px !important;
  }

  .site-pricing-governance-copy {
    padding-left: 0 !important;
  }

  .site-pricing-governance-heading {
    font-size: 32px !important;
    line-height: 40px !important;
  }

  .site-page .site-pricing-closing-cta.site-pricing-closing-cta {
    max-width: none !important;
    margin-bottom: 40px !important;
    padding: 56px 20px !important;
  }

  .site-pricing-closing-cta .site-closing-cta-heading {
    font-size: 36px !important;
    line-height: 44px !important;
  }

  .site-page .site-platform-closing-cta.site-platform-closing-cta {
    max-width: none !important;
    width: calc(100% - 40px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
    margin-bottom: 40px !important;
    padding: 56px 20px !important;
  }

  .site-platform-closing-cta .site-closing-cta-heading {
    font-size: 36px !important;
    line-height: 44px !important;
  }

  .site-blog-grid-section {
    padding-top: 40px !important;
    padding-bottom: 64px !important;
  }

  .site-blog-post-grid {
    row-gap: 32px !important;
  }

  .comparison-scroll {
    margin-right: -20px;
    padding-right: 20px;
  }

  .comparison-scroll table {
    min-width: 640px !important;
  }

  .comparison-scroll th,
  .comparison-scroll td {
    padding: 14px 10px !important;
    font-size: 12px !important;
    line-height: 16px !important;
  }

  /* Keep the journey copy on mobile, without the desktop media panel. */
  .platform-sticky-story {
    min-height: auto !important;
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }

  .platform-sticky-inner {
    position: relative !important;
    top: auto !important;
    display: block !important;
    min-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .platform-sticky-intro {
    display: block !important;
    margin-bottom: 32px !important;
  }

  .platform-sticky-stage {
    display: block !important;
  }

  .platform-sticky-list {
    margin-bottom: 0 !important;
  }

  .site-page .platform-sticky-item {
    opacity: 1 !important;
    border-left-color: rgba(244, 244, 240, 0.5) !important;
  }

  .platform-sticky-item h3 {
    margin-bottom: 12px !important;
  }

  .platform-sticky-media {
    display: none !important;
  }

  .site-platform-solutions-hero {
    padding: 48px 20px !important;
  }

  .site-platform-use-case-list {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .site-page [data-id="e566299"] {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px !important;
  }

  .site-page [data-id="e566299"] > .e-con {
    width: 100% !important;
  }

  .bento-grid {
    display: block;
  }

  .bento-grid > * + * {
    margin-top: 24px;
  }
}

.sidebar-sticky {
  top: 120px;
}

.legal-content h2 {
  margin-top: 48px;
  margin-bottom: 24px;
  color: var(--site-forest-deep) !important;
  font-size: 32px !important;
  font-weight: 600 !important;
  line-height: 40px !important;
  letter-spacing: 0 !important;
}

.legal-content h3 {
  margin-top: 32px;
  margin-bottom: 16px;
  color: var(--site-forest-deep) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 30px !important;
  letter-spacing: 0 !important;
}

.site-page:has(.site-legal-layout) .mb-section-gap {
  margin-bottom: 48px !important;
}

.site-page:has(.site-legal-layout),
.site-page:has(.site-legal-layout) main > .e-con-inner > header,
.site-page:has(.site-legal-layout) .site-legal-layout,
.site-page:has(.site-legal-layout) .site-legal-content {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.legal-content p {
  margin-bottom: 16px;
}

.legal-content ul {
  margin-bottom: 24px;
  list-style: none;
  padding-left: 0;
}

.legal-content li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 12px;
}

.legal-content li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 8px;
  height: 8px;
  background-color: #A8E565;
  border-radius: 2px;
}

/* Elementor containers cannot reliably render as ul/li, so style legal lists explicitly. */
.site-legal-list > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  padding: 0 !important;
}

.site-legal-list > .e-con-inner > .e-con {
  position: relative;
  min-height: 24px;
  padding: 0 0 0 24px !important;
}

.site-legal-list > .e-con-inner > .e-con::before {
  content: "";
  position: absolute;
  top: 9px;
  left: 2px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--site-lime-accent, #a8e565);
}

.site-legal-list > .e-con-inner > .e-con > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

.site-legal-list .elementor-widget-html {
  line-height: 1.55;
}

.site-legal-note {
  margin: 24px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.site-legal-note > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

.site-legal-note > .e-con-inner > .e-con {
  margin: 0 !important;
  padding: 0 !important;
}

.site-legal-note > .e-con-inner > .e-con > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

.site-legal-note h4 {
  margin: 0 !important;
  color: var(--site-forest-deep) !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 28px !important;
}

.site-legal-note p {
  margin: 0 !important;
}

.site-legal-contact {
  margin-top: 0 !important;
  padding: 0 !important;
}

.site-legal-contact > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

.site-legal-contact > .e-con-inner > .e-con,
.site-legal-contact > .e-con-inner > .e-con > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.site-legal-contact .elementor-widget-html {
  margin: 0 !important;
  line-height: 1.55;
}

.site-legal-layout {
  width: 100% !important;
}

.site-legal-layout > .e-con-inner {
  display: grid !important;
  grid-template-columns: 256px minmax(0, 1fr);
  gap: 32px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

.site-legal-sidebar {
  position: sticky !important;
  top: 120px !important;
  width: 100% !important;
  align-self: start;
}

.site-legal-sidebar > .e-con-inner,
.site-legal-sidebar-panel > .e-con-inner,
.site-legal-nav > .e-con-inner,
.site-legal-content > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

.site-legal-sidebar-panel {
  padding: 24px 12px !important;
  border: 1px solid var(--site-outline) !important;
  border-radius: 8px !important;
  background: var(--site-surface-low) !important;
}

.site-legal-sidebar-panel > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.site-legal-sidebar-panel > .e-con-inner > :not(.site-legal-nav) {
  display: none !important;
}

.site-legal-nav > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

.site-legal-nav .elementor-widget-button {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.site-legal-nav .elementor-button {
  justify-content: flex-start !important;
  width: 100% !important;
  min-height: 0 !important;
  padding: 10px 12px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: var(--site-forest-deep) !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
  text-align: left !important;
}

.site-legal-nav .elementor-button-content-wrapper,
.site-legal-nav .elementor-button-text {
  width: 100% !important;
  justify-content: flex-start !important;
  text-align: left !important;
}

.site-legal-nav .elementor-widget-button:first-child .elementor-button {
  background: rgba(8, 66, 53, 0.08) !important;
  font-weight: 700 !important;
}

.site-legal-content {
  width: 100% !important;
  min-width: 0 !important;
}

.site-legal-content > .e-con-inner {
  display: block !important;
}

.site-legal-content > .e-con-inner > .e-con {
  width: 100% !important;
  max-width: none !important;
  margin-bottom: 48px !important;
  padding: 0 !important;
}

.site-legal-content > .e-con-inner > .e-con > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

.site-legal-content > .e-con-inner > .e-con:first-child h2 {
  margin-top: 0;
}

@media (max-width: 767px) {
  .site-legal-layout > .e-con-inner {
    grid-template-columns: 1fr;
  }

  .site-legal-sidebar {
    display: none !important;
  }
}
