/* Final native-shell polish: interaction, responsive chrome and small-screen resilience. */
html,
body { max-width: 100%; overflow-x: clip; }
body.mx-rebuild-site,
.mx-native-shell { font-family: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.screen-reader-text:focus {
  position: fixed !important;
  top: 12px;
  left: 12px;
  z-index: 100000;
  width: auto !important;
  height: auto !important;
  padding: 10px 14px !important;
  margin: 0 !important;
  clip: auto !important;
  color: #fff;
  background: var(--mx-ink);
}

.mx-native-pagination,
.navigation.pagination { margin-top: 38px; }
.mx-native-pagination ul,
.navigation.pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.mx-native-pagination .page-numbers,
.navigation.pagination .page-numbers {
  display: inline-flex;
  min-width: 42px;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border: 1px solid var(--mx-line);
  border-radius: 10px;
  color: var(--mx-ink);
  background: #fff;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
}
.mx-native-pagination .page-numbers.current,
.navigation.pagination .page-numbers.current {
  color: #fff;
  border-color: var(--mx-pink);
  background: var(--mx-pink);
}
.mx-native-pagination a.page-numbers:hover,
.navigation.pagination a.page-numbers:hover {
  border-color: rgba(222, 9, 127, .3);
  color: var(--mx-pink);
  transform: translateY(-1px);
}

.mx-native-shell :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid rgba(222, 9, 127, .34);
  outline-offset: 3px;
}
.mx-native-header--dark :where(a, button):focus-visible,
.mx-native-section--dark :where(a, button):focus-visible,
.mx-native-trial-hero :where(a, button, input, select, textarea):focus-visible {
  outline-color: rgba(20, 224, 192, .62);
}

.mx-native-header__logo,
.mx-native-header__actions a,
.mx-native-header__toggle,
.mx-native-nav a,
.mx-native-footer a,
.mx-native-home-hero .mx-button,
.mx-native-commercial-actions .mx-button,
.mx-native-cta .mx-button {
  transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.mx-native-header__logo:hover { transform: translateY(-1px); }
.mx-native-header__actions a:hover,
.mx-native-home-hero .mx-button:hover,
.mx-native-commercial-actions .mx-button:hover,
.mx-native-cta .mx-button:hover { transform: translateY(-2px); }
.mx-native-nav a[aria-current="page"] {
  color: var(--mx-pink);
  background: rgba(222, 9, 127, .07);
}
.mx-native-header--dark .mx-native-nav a[aria-current="page"] {
  color: #fff;
  background: rgba(255, 255, 255, .11);
}

.mx-native-header__toggle { gap: 8px; }
.mx-native-header__toggle svg { width: 18px; height: 18px; flex: 0 0 18px; }
.mx-native-header__toggle svg path { stroke: currentColor; }

.mx-native-trust__logos {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  align-items: center;
  gap: 22px 34px;
}
.mx-native-trust__logo {
  display: flex;
  min-height: 64px;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
}
.mx-native-trust__logo img {
  display: block;
  width: auto;
  max-width: min(160px, 100%);
  max-height: 52px;
  object-fit: contain;
  filter: grayscale(1);
  opacity: .72;
  transition: filter .18s ease, opacity .18s ease, transform .18s ease;
}

.mx-native-metrics {
  padding: 30px 24px;
  border-top: 1px solid var(--mx-line);
  border-bottom: 1px solid var(--mx-line);
  background: #fff;
}
.mx-native-metrics__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
}
.mx-native-metric {
  display: grid;
  gap: 7px;
  min-height: 112px;
  align-content: center;
  padding: 16px 30px;
  border-right: 1px solid var(--mx-line);
}
.mx-native-metric:first-child { padding-left: 0; }
.mx-native-metric:last-child { padding-right: 0; border-right: 0; }
.mx-native-metric strong {
  color: var(--mx-ink);
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 850;
  line-height: 1;
  letter-spacing: -.045em;
}
.mx-native-metric span {
  max-width: 260px;
  color: #6c6174;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
}

.mx-native-methodology { position: relative; overflow: hidden; }
.mx-native-methodology::after {
  content: '';
  position: absolute;
  right: -130px;
  bottom: -180px;
  width: 440px;
  height: 440px;
  border: 1px solid rgba(222,9,127,.10);
  border-radius: 50%;
  box-shadow: 0 0 0 48px rgba(222,9,127,.025), 0 0 0 96px rgba(20,224,192,.018);
  pointer-events: none;
}
.mx-native-methodology > * { position: relative; z-index: 1; }

.mx-native-proof-panel .mx-native-section__intro > p,
.mx-native-proof-panel .mx-native-split > div > p { color: #c6bbcf; }
.mx-native-proof-list { display: grid; gap: 10px; }
.mx-native-proof-list > div {
  display: grid;
  gap: 5px;
  padding: 17px 18px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 13px;
  background: rgba(255,255,255,.055);
}
.mx-native-proof-list strong { color: #fff; font-size: 14px; }
.mx-native-proof-list span { color: #b9aec5; font-size: 12px; line-height: 1.55; }

.mx-native-compliance-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.mx-native-compliance-mark {
  display: grid;
  min-height: 150px;
  place-items: center;
  align-content: center;
  gap: 12px;
  padding: 20px;
  border: 1px solid var(--mx-line);
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(18,8,29,.04);
  text-align: center;
}
.mx-native-compliance-mark img {
  display: block;
  width: auto;
  max-width: 120px;
  max-height: 62px;
  object-fit: contain;
}
.mx-native-compliance-mark span { color: #695e71; font-size: 11px; font-weight: 750; }
.mx-native-compliance-mark--text strong { color: var(--mx-pink); font-size: 28px; letter-spacing: -.04em; }

.mx-native-sector-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.mx-native-sector-card {
  display: flex;
  min-height: 210px;
  flex-direction: column;
  justify-content: flex-end;
  padding: 24px;
  overflow: hidden;
  border: 1px solid var(--mx-line);
  border-radius: 18px;
  color: var(--mx-ink);
  background: linear-gradient(150deg, #fff 15%, #f7f1fa 100%);
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.mx-native-sector-card > span { margin-bottom: auto; color: var(--mx-pink); font-size: 10px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.mx-native-sector-card strong { margin-top: 28px; font-size: 21px; letter-spacing: -.025em; }
.mx-native-sector-card p { margin: 8px 0 0; color: #6b6073; font-size: 12px; line-height: 1.58; }
.mx-native-sector-card:hover { transform: translateY(-3px); border-color: rgba(222,9,127,.24); box-shadow: 0 18px 45px rgba(18,8,29,.07); }

.mx-native-demo-section { background: #fff; }
.mx-native-demo-layout {
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
  gap: clamp(42px, 7vw, 90px);
  align-items: center;
}
.mx-native-demo-layout h2 { max-width: 520px; }
.mx-native-demo-layout p { max-width: 560px; color: #665b6d; font-size: 17px; line-height: 1.7; }
.mx-native-demo-frame {
  overflow: hidden;
  border: 1px solid var(--mx-line);
  border-radius: 22px;
  background: var(--mx-ink);
  box-shadow: 0 26px 70px rgba(18,8,29,.15);
}
.mx-native-demo-frame video { display: block; width: 100%; aspect-ratio: 16 / 9; background: var(--mx-ink); }

.mx-native-resource-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.mx-native-resource-card {
  overflow: hidden;
  border: 1px solid var(--mx-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(18,8,29,.045);
}
.mx-native-resource-card__media {
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #efe8f3;
}
.mx-native-resource-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; transition: transform .3s ease; }
.mx-native-resource-card__body { padding: 21px 20px 24px; }
.mx-native-resource-card time { color: #786c82; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.mx-native-resource-card h3 { margin: 9px 0 10px; font-size: 19px; line-height: 1.28; letter-spacing: -.025em; }
.mx-native-resource-card h3 a { color: var(--mx-ink); text-decoration: none; }
.mx-native-resource-card p { margin: 0; color: #6c6174; font-size: 12px; line-height: 1.62; }
.mx-native-resource-card:hover .mx-native-resource-card__media img { transform: scale(1.025); }
.mx-native-section-link { margin-top: 26px; }

.mx-native-home-faq__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; }
.mx-native-home-faq details {
  overflow: hidden;
  border: 1px solid var(--mx-line);
  border-radius: 14px;
  background: #fff;
}
.mx-native-home-faq summary {
  position: relative;
  padding: 17px 46px 17px 18px;
  color: var(--mx-ink);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.45;
  cursor: pointer;
  list-style: none;
}
.mx-native-home-faq summary::-webkit-details-marker { display: none; }
.mx-native-home-faq summary::after {
  content: '+';
  position: absolute;
  top: 50%;
  right: 17px;
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  color: var(--mx-pink);
  background: rgba(222,9,127,.07);
  transform: translateY(-50%);
}
.mx-native-home-faq details[open] summary::after { content: '−'; }
.mx-native-home-faq details p { margin: 0; padding: 0 18px 18px; color: #6b6073; font-size: 13px; line-height: 1.62; }

.mx-native-cta__copy { max-width: 760px; }
.mx-native-cta__copy p {
  max-width: 680px;
  margin: 16px 0 0;
  color: #c9bfd2;
  font-size: 14px;
  line-height: 1.7;
}
.mx-native-cta__actions { flex: 0 0 auto; }
.mx-native-cta__actions .mx-button { min-width: 168px; justify-content: center; }

.mx-native-footer__brand img { width: 174px; }
.mx-native-footer h2 {
  font-size: 12px;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.mx-native-footer__col { gap: 11px; }
.mx-native-footer__col a { min-height: 26px; line-height: 1.55; }
.mx-native-footer__login:hover { color: var(--mx-ink) !important; background: var(--mx-aqua); }

.mx-native-home-hero h1,
.mx-native-commercial-hero h1,
.mx-native-trial-hero h1,
.mx-native-dark-hero h1,
.mx-page-hero h1 { overflow-wrap: anywhere; }

.mx-clean-form input,
.mx-clean-form select,
.mx-clean-form textarea { scroll-margin-top: 110px; }
.mx-form-noscript {
  margin: 0 0 18px;
  padding: 13px 15px;
  border: 1px solid rgba(222,9,127,.22);
  border-radius: 11px;
  color: #5c4c63;
  background: #fff5fa;
  font-size: 13px;
  line-height: 1.55;
}
.mx-form-noscript a { color: var(--mx-pink); font-weight: 800; }

.mx-native-feature-index {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.mx-native-feature-index a {
  display: grid;
  min-height: 96px;
  align-content: space-between;
  gap: 14px;
  padding: 17px 18px;
  border: 1px solid var(--mx-line);
  border-radius: 14px;
  color: var(--mx-ink);
  background: #fff;
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.mx-native-feature-index a:hover { transform: translateY(-2px); border-color: rgba(222,9,127,.22); box-shadow: 0 12px 30px rgba(18,8,29,.06); }
.mx-native-feature-index span { color: var(--mx-pink); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.mx-native-feature-index strong { font-size: 13px; line-height: 1.3; }
.mx-native-feature-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mx-native-feature-grid--four,
.mx-native-card-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
#mx-feature-transfer,
#mx-feature-protect,
#mx-feature-asr,
#mx-feature-context,
#mx-feature-distribute,
#mx-feature-manage { scroll-margin-top: 110px; }
.mx-native-metrics--embedded { margin: 30px 0 34px; padding-block: 18px; border-radius: 18px; }
.mx-native-metrics--embedded .mx-shell { width: min(var(--mx-shell), calc(100% - 32px)); }

.mx-native-pricing-tools-wrap {
  padding: 0 24px 28px;
  background: linear-gradient(180deg, #fbf7fc 0%, #fff 100%);
}
.mx-native-pricing-tools {
  display: grid;
  grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
  gap: 28px;
  align-items: center;
  padding: 22px 24px;
  border: 1px solid var(--mx-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 40px rgba(18,8,29,.055);
}
.mx-native-billing-control { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.mx-native-billing-control > div:first-child { display: grid; gap: 8px; }
.mx-native-billing-control strong { color: var(--mx-ink); font-size: 13px; }
.mx-native-billing-toggle {
  display: inline-flex;
  padding: 4px;
  border: 1px solid var(--mx-line);
  border-radius: 12px;
  background: #f7f3f8;
}
.mx-native-billing-toggle button {
  min-height: 42px;
  padding: 8px 13px;
  border: 0;
  border-radius: 9px;
  color: #5f5368;
  background: transparent;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}
.mx-native-billing-toggle button span { display: block; margin-top: 2px; color: var(--mx-pink); font-size: 9px; letter-spacing: .03em; }
.mx-native-billing-toggle button[aria-pressed="true"] { color: #fff; background: var(--mx-ink); box-shadow: 0 7px 18px rgba(18,8,29,.14); }
.mx-native-billing-toggle button[aria-pressed="true"] span { color: var(--mx-aqua); }
.mx-native-users-control { min-width: 0; }
.mx-native-users-control label { display: flex; align-items: center; justify-content: space-between; gap: 18px; color: var(--mx-ink); font-size: 13px; font-weight: 800; }
.mx-native-users-control output { flex: 0 0 auto; color: var(--mx-pink); font-size: 15px; }
.mx-native-users-control input[type="range"] { width: 100%; margin: 14px 0 3px; accent-color: var(--mx-pink); cursor: pointer; }
.mx-native-users-control__scale { display: flex; justify-content: space-between; color: #786c82; font-size: 10px; font-weight: 750; }
.mx-native-users-control p { margin: 10px 0 0; color: #665b6d; font-size: 11px; line-height: 1.55; }
.mx-native-users-control a { color: var(--mx-pink); font-weight: 800; }
.mx-native-price-card h2,
.mx-native-home-pricing .mx-native-price-card h3 { margin: 10px 0 8px; color: var(--mx-ink); font-size: clamp(36px, 3.4vw, 44px); line-height: 1; letter-spacing: -.04em; }
.mx-native-home-pricing .mx-native-price-card--featured h3 { color: var(--mx-ink); }
.mx-native-home-pricing .mx-native-price-card { min-height: 0; }
.mx-native-home-pricing .mx-native-price-card .mx-text-link { margin-top: auto; }
.mx-native-price-card__alternate { color: #786c82; }
.mx-native-price-card__totals {
  display: grid;
  gap: 3px;
  margin-top: 0 !important;
  padding: 14px 15px;
  border: 1px solid var(--mx-line);
  border-radius: 12px;
  background: #faf7fc;
}
.mx-native-price-card__totals > span { color: #665b6d; font-size: 10px; font-weight: 750; text-transform: uppercase; letter-spacing: .07em; }
.mx-native-price-card__totals > strong { color: var(--mx-ink); font-size: 17px; }
.mx-native-price-card__totals small { color: #665b6d; font-size: 10px; line-height: 1.45; }
.mx-native-price-card__totals + div { margin-top: 20px !important; }
.mx-native-pricing-guide,
.mx-native-pricing-compare,
.mx-native-pricing-faq,
.mx-native-pricing-trial { padding-top: 26px; padding-bottom: 72px; }
.mx-native-pricing-compare,
.mx-native-pricing-faq,
.mx-native-pricing-trial { border-top: 1px solid var(--mx-line); }
.mx-native-pricing-table-wrap { overflow-x: auto; border: 1px solid var(--mx-line); border-radius: 16px; background: #fff; box-shadow: 0 12px 34px rgba(18,8,29,.04); }
.mx-native-pricing-table { width: 100%; min-width: 720px; border-collapse: collapse; }
.mx-native-pricing-table th,
.mx-native-pricing-table td { padding: 14px 16px; border-bottom: 1px solid var(--mx-line); text-align: left; vertical-align: middle; }
.mx-native-pricing-table thead th { color: var(--mx-ink); background: #f6f1f8; font-size: 11px; letter-spacing: .05em; text-transform: uppercase; }
.mx-native-pricing-table__group th { padding-top: 18px; padding-bottom: 10px; color: var(--mx-pink); background: #fbf7fc; font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.mx-native-pricing-table tbody th { color: var(--mx-ink); font-size: 13px; }
.mx-native-pricing-table td { color: #5f5368; font-size: 12px; }
.mx-native-pricing-table tr:last-child th,
.mx-native-pricing-table tr:last-child td { border-bottom: 0; }
.mx-native-pricing-table-wrap:focus-visible { outline: 3px solid rgba(222,9,127,.34); outline-offset: 4px; }
.mx-native-pricing-order-layout { padding-top: 30px; border-top: 1px solid var(--mx-line); }

@media (max-width: 900px) {
  .mx-native-feature-index { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mx-native-feature-grid--four,
  .mx-native-card-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mx-native-pricing-tools { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .mx-native-feature-index,
  .mx-native-feature-grid--two,
  .mx-native-feature-grid--four,
  .mx-native-card-grid--four { grid-template-columns: 1fr; }
  .mx-native-pricing-tools-wrap { padding-inline: 18px; }
  .mx-native-pricing-tools { padding: 18px; gap: 22px; border-radius: 15px; }
  .mx-native-billing-control { align-items: stretch; flex-direction: column; }
  .mx-native-billing-toggle { width: 100%; }
  .mx-native-billing-toggle button { flex: 1 1 50%; }
  .mx-native-users-control label { align-items: flex-start; flex-direction: column; gap: 3px; }
  .mx-native-pricing-guide,
  .mx-native-pricing-compare,
  .mx-native-pricing-faq { padding-bottom: 58px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .mx-native-shell *,
  .mx-native-shell *::before,
  .mx-native-shell *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media (hover: hover) and (pointer: fine) {
  .mx-native-trust__logo:hover img { filter: none; opacity: 1; transform: translateY(-2px); }
  .mx-native-card:hover,
  .mx-native-price-card:hover,
  .mx-native-feature-grid article:hover,
  .mx-native-feature-summary div:hover {
    transform: translateY(-3px);
    border-color: rgba(222, 9, 127, .20);
    box-shadow: 0 18px 44px rgba(18, 8, 29, .075);
  }
}

@media (max-width: 1080px) {
  .mx-native-header__inner { gap: 14px; }
  .mx-native-nav ul { gap: 1px; }
  .mx-native-trust__logos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 28px; }
}

@media (max-width: 900px) {
  .mx-native-header { z-index: 1500; }
  .mx-native-header__inner { position: relative; }
  .mx-native-header__toggle { min-width: 72px; }
  .mx-native-nav {
    top: calc(100% + 4px);
    max-height: min(68vh, 520px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .mx-native-header--dark .mx-native-nav {
    border-color: rgba(255,255,255,.12);
    background: #160b21;
    box-shadow: 0 20px 54px rgba(0,0,0,.34);
  }
  .mx-native-header--dark .mx-native-nav a { color: #fff !important; }
  .mx-native-nav a { min-height: 48px; }
  html:not(.mx-js) .mx-native-header__inner { flex-wrap: wrap; padding-bottom: 12px; }
  html:not(.mx-js) .mx-native-header__toggle { display: none !important; }
  html:not(.mx-js) .mx-native-nav {
    position: static;
    display: block !important;
    order: 4;
    flex: 0 0 100%;
    max-height: none;
    padding: 8px;
    overflow: visible;
    border: 1px solid rgba(18,8,29,.10);
    border-radius: 14px;
    background: #fff;
    box-shadow: none;
  }
  html:not(.mx-js) .mx-native-header--dark .mx-native-nav { border-color: rgba(255,255,255,.12); background: #160b21; }
  .mx-native-metrics__grid { grid-template-columns: 1fr; }
  .mx-native-metric {
    min-height: 0;
    padding: 20px 0;
    border-right: 0;
    border-bottom: 1px solid var(--mx-line);
  }
  .mx-native-metric:first-child,
  .mx-native-metric:last-child { padding-inline: 0; }
  .mx-native-metric:last-child { border-bottom: 0; }
  .mx-native-metric span { max-width: none; }
  .mx-native-compliance-grid,
  .mx-native-sector-grid,
  .mx-native-resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mx-native-demo-layout { grid-template-columns: 1fr; }
  .mx-native-demo-layout > div:first-child { max-width: 720px; }
  .mx-native-home-faq__grid { grid-template-columns: 1fr; }
  .mx-native-footer__grid { gap: 34px 46px; }
}

@media (max-width: 720px) {
  .mx-native-trust__logos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .mx-native-header__actions { display: none; }
  .mx-native-header__toggle { margin-left: auto; }
  .mx-native-home-hero__badge { max-width: 100%; white-space: normal; }
  .mx-native-home-hero__proof { display: grid; grid-template-columns: 1fr; }
  .mx-native-home-hero__proof span { width: fit-content; max-width: 100%; }
  .mx-native-console__file { align-items: flex-start; }
  .mx-native-console__status { flex: 0 0 auto; }
}

@media (max-width: 600px) {
  .mx-native-header__inner { min-height: 74px; }
  .mx-native-header__toggle { width: 44px; min-width: 44px; height: 44px; padding: 0; }
  .mx-native-header__toggle-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
  .mx-native-nav { left: 12px; right: 12px; padding: 8px; border-radius: 13px; }
  .mx-native-home-hero { padding-top: 104px; }
  .mx-native-home-hero__badge { display: flex; border-radius: 15px; line-height: 1.4; }
  .mx-native-home-hero h1,
  .mx-native-commercial-hero h1,
  .mx-native-trial-hero h1 { letter-spacing: -.04em; line-height: 1.01; }
  .mx-native-console { border-radius: 18px; }
  .mx-native-console__top { min-height: 50px; padding-inline: 14px; }
  .mx-native-console__body { padding: 16px; }
  .mx-native-console__file { padding: 15px; }
  .mx-native-console__route { padding-block: 16px; }
  .mx-native-section__intro > p,
  .mx-native-split > div > p,
  .mx-native-commercial-hero p,
  .mx-native-trial-hero__copy > p { font-size: 16px; }
  .mx-native-card-grid,
  .mx-native-feature-grid,
  .mx-native-pricing-grid { gap: 12px; }
  .mx-native-card,
  .mx-native-feature-grid article,
  .mx-native-price-card { border-radius: 16px; }
  .mx-native-compliance-grid,
  .mx-native-sector-grid,
  .mx-native-resource-grid { grid-template-columns: 1fr; }
  .mx-native-sector-card { min-height: 180px; }
  .mx-native-compliance-mark { min-height: 132px; }
  .mx-clean-form input,
  .mx-clean-form select,
  .mx-clean-form textarea { font-size: 16px; }
  .mx-native-footer__brand img { width: 164px; }
  .mx-native-footer__grid { gap: 30px; }
  .mx-native-footer__bottom { margin-top: 34px; }
}

@media (max-width: 380px) {
  .mx-native-header__inner { width: calc(100% - 20px); }
  .mx-native-header__logo,
  .mx-native-header__logo img { width: 116px; }
  .mx-native-header__logo { flex-basis: 116px; }
  .mx-native-home-hero,
  .mx-native-commercial-hero,
  .mx-native-trial-hero,
  .mx-native-section { padding-inline: 14px; }
}

/* Elementor compatibility: encrypted-file-sharing lost its base CTA rules. */
#mxe-root .mxe-hero-actions,
#mxe-root .mxe-final-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
}

#mxe-root .mxe-hero-actions { margin-top: 34px; }

#mxe-root .mxe-final-actions {
  justify-content: center;
  margin-top: 30px;
}

#mxe-root .mxe-btn {
  position: relative;
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  overflow: hidden;
  padding: 15px 28px;
  border: 1px solid transparent;
  border-radius: 12px;
  font-size: 15.5px;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
}

#mxe-root .mxe-btn > span,
#mxe-root .mxe-btn > i {
  position: relative;
  z-index: 2;
}

#mxe-root .mxe-btn > i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

#mxe-root .mxe-btn > i:last-child {
  transition: transform .2s ease;
}

#mxe-root .mxe-btn:hover > i:last-child { transform: translateX(4px); }

#mxe-root .mxe-btn:focus-visible {
  outline: 3px solid var(--mx-cta-focus-colour, var(--mxe-blue));
  outline-offset: 3px;
}

#mxe-root .mxe-btn--primary {
  color: var(--mx-cta-primary-colour, #fff);
  background: var(--mx-cta-primary-background, linear-gradient(105deg, var(--mxe-mag), var(--mxe-mag-soft)));
  box-shadow: var(--mx-cta-primary-shadow, 0 14px 34px rgba(222,9,127,.34));
}

#mxe-root .mxe-btn--primary::after {
  content: "";
  position: absolute;
  top: -50%;
  bottom: -50%;
  left: -70%;
  width: 42%;
  background: linear-gradient(105deg, transparent, rgba(255,255,255,.42), transparent);
  transform: skewX(-18deg);
  transition: left .62s ease;
  pointer-events: none;
}

#mxe-root .mxe-btn--primary:hover::after { left: 130%; }

#mxe-root .mxe-btn--ghost {
  color: var(--mx-cta-ghost-colour, var(--mxe-ink));
  border-color: var(--mx-cta-ghost-border-colour, #ded4e7);
  background: transparent;
}

#mxe-root .mxe-btn--ghost:hover {
  color: var(--mx-cta-ghost-hover-colour, var(--mxe-mag));
  border-color: var(--mx-cta-ghost-hover-border-colour, var(--mxe-mag));
  box-shadow: var(--mx-cta-ghost-hover-shadow, 0 12px 30px rgba(222,9,127,.12));
}

#mxe-root .mxe-dark .mxe-btn--ghost,
#mxe-root.mxe-dark .mxe-btn--ghost {
  color: var(--mx-cta-dark-ghost-colour, #fff);
  border-color: var(--mx-cta-dark-ghost-border-colour, rgba(255,255,255,.24));
  background: rgba(255,255,255,.03);
}

#mxe-root .mxe-dark .mxe-btn--ghost:hover,
#mxe-root.mxe-dark .mxe-btn--ghost:hover {
  color: var(--mx-cta-dark-ghost-hover-colour, var(--mxe-aqua));
  border-color: var(--mx-cta-dark-ghost-hover-border-colour, var(--mxe-aqua));
  box-shadow: var(--mx-cta-dark-ghost-hover-shadow, 0 12px 30px rgba(20,224,192,.12));
}

@media (max-width: 620px) {
  #mxe-root .mxe-hero-actions,
  #mxe-root .mxe-final-actions {
    align-items: stretch;
    flex-direction: column;
  }

  #mxe-root .mxe-hero-actions .mxe-btn,
  #mxe-root .mxe-final-actions .mxe-btn {
    width: 100%;
  }
}

/* Elementor documents mix Font Awesome 5 and 6 class syntax. Keep the
 * restored icon markup compatible with whichever bundled font Elementor ships. */
.fa-solid {
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
}
.fa-regular {
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free" !important;
  font-weight: 400 !important;
}
.fa-brands {
  font-family: "Font Awesome 6 Brands", "Font Awesome 5 Brands" !important;
  font-weight: 400 !important;
}

/* Missing hCaptcha field in the restored automotive case-study modal. */
.mx-case-hcaptcha {
  margin-top: 16px;
  padding: 14px 16px;
  border: 1px solid #eee6f2;
  border-radius: 12px;
  background: #faf7fc;
}
.mx-case-hcaptcha__widget {
  min-height: 78px;
  overflow: hidden;
}
.mx-case-hcaptcha__note {
  margin: 8px 0 0 !important;
  color: #766c82 !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
}

/* -------------------------------------------------------------------------
 * Site-wide page audit layer.
 * Keeps every hero clear of the absolute header, normalises headline rhythm
 * to the file-sharing-software benchmark, allows highlighted/underlined copy
 * to wrap naturally without changing the File Sharing Software benchmark hero.
 * ---------------------------------------------------------------------- */
.mx-site-hero {
  --mx-site-hero-safe-top: 136px;
  --mx-site-underline: #19dfbf;
  position: relative !important;
  isolation: isolate;
  /* Hero spacing remains owned by each authored template; runtime padding caused first-paint layout shifts. */
}

.admin-bar .mx-site-hero { --mx-site-hero-safe-top: 164px; }

.mx-site-hero-content {
  position: relative !important;
  z-index: 3 !important;
  min-width: 0;
}

.mx-site-hero-title { margin-inline: 0; }

/*
 * AUTHORITATIVE MAIN-H1 TYPOGRAPHY.
 * File Sharing Software is the visual source benchmark and is explicitly
 * excluded so its authored H1 remains untouched. Screenshot calibration at an
 * identical 1600px viewport shows the benchmark's effective rendered glyph
 * scale is 58/64 (0.90625) relative to the nominal page rule. Apply that exact
 * visual scale to every other main H1 rather than trusting nominal CSS alone.
 */
body.mx-rebuild-site :is(#mx-h1-authority-a#mx-h1-authority-b#mx-h1-authority-c, h1:not(#mxfs_hero_title)) {
  max-width: 800px !important;
  font-family: "Manrope", sans-serif !important;
  font-size: clamp(34.4375px, 4.621875vw, 58px) !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.025em !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

@media (max-width: 760px) {
  body.mx-rebuild-site :is(#mx-h1-authority-a#mx-h1-authority-b#mx-h1-authority-c, h1:not(#mxfs_hero_title)) {
    font-size: clamp(32.625px, 9.96875vw, 45.3125px) !important;
  }
}

/* Layout-only escape hatch for the three-line desktop rule. It changes width,
 * never typography, and is applied only after the rendered H1 exceeds 3 lines. */
.mx-site-hero-title.mx-site-hero-title--wide { max-width: 900px !important; }

.mx-site-underline {
  position: static !important;
  display: inline !important;
  white-space: normal !important;
  text-decoration-line: underline !important;
  text-decoration-color: var(--mx-site-underline) !important;
  text-decoration-thickness: .065em !important;
  text-underline-offset: .105em !important;
  text-decoration-skip-ink: none !important;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.mx-site-underline::before,
.mx-site-underline::after {
  display: none !important;
  content: none !important;
  animation: none !important;
}

.mx-site-underline > svg { display: none !important; }

/* Full-stop/orphan protection for hero headings. */
.mx-site-hero-title .mx-site-terminal-punctuation { white-space: nowrap; }

/* Theme-owned layered ambient background. */
.mx-layered-bg {
  display: none !important;
  --mx-layer-x: 0px;
  --mx-layer-y: 0px;
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  transform: translate3d(var(--mx-layer-x), var(--mx-layer-y), 0);
  transition: transform .7s cubic-bezier(.22,1,.36,1);
}

.mx-layered-bg::before {
  content: '';
  position: absolute;
  inset: -8%;
  background:
    radial-gradient(820px 520px at 82% 8%, rgba(222,8,127,.11), transparent 66%),
    radial-gradient(700px 500px at 6% 92%, rgba(25,223,191,.08), transparent 68%),
    radial-gradient(620px 420px at 44% 42%, rgba(115,87,255,.055), transparent 72%);
  opacity: .82;
}

.mx-layered-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(20,9,31,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(20,9,31,.035) 1px, transparent 1px);
  background-size: 68px 68px;
  -webkit-mask-image: radial-gradient(820px 560px at 66% 22%, #000 12%, transparent 76%);
  mask-image: radial-gradient(820px 560px at 66% 22%, #000 12%, transparent 76%);
  opacity: .62;
}

.mx-site-hero--dark .mx-layered-bg::before,
body.page-id-4713 .mx-layered-bg::before,
body.page-id-13842 .mx-layered-bg::before {
  background:
    radial-gradient(900px 600px at 78% 4%, rgba(222,8,127,.22), transparent 64%),
    radial-gradient(780px 560px at 4% 96%, rgba(25,223,191,.10), transparent 66%),
    radial-gradient(660px 460px at 44% 46%, rgba(115,87,255,.10), transparent 70%);
  opacity: .95;
}

.mx-site-hero--dark .mx-layered-bg::after,
body.page-id-4713 .mx-layered-bg::after,
body.page-id-13842 .mx-layered-bg::after {
  background-image:
    linear-gradient(rgba(255,255,255,.042) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.042) 1px, transparent 1px);
  opacity: .7;
}

.mx-layered-ring {
  position: absolute;
  right: -190px;
  top: 7%;
  width: min(760px, 66vw);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle,
    transparent 0 30%,
    rgba(222,8,127,.09) 30% 30.25%,
    transparent 30.25% 44%,
    rgba(25,223,191,.075) 44% 44.25%,
    transparent 44.25% 58%,
    rgba(115,87,255,.06) 58% 58.25%,
    transparent 58.25%);
  opacity: .62;
  animation: mxLayerRing 14s ease-in-out infinite;
}

.mx-layered-orb {
  position: absolute;
  border-radius: 50%;
  background: radial-gradient(circle at 34% 30%, rgba(222,8,127,.17), rgba(115,87,255,.045) 62%, transparent 74%);
  filter: blur(.2px);
  animation: mxLayerFloat 22s ease-in-out infinite;
}
.mx-layered-orb--1 { width: 150px; height: 150px; left: 7%; top: 17%; animation-duration: 26s; }
.mx-layered-orb--2 { width: 96px; height: 96px; left: 51%; bottom: 10%; animation-duration: 21s; animation-delay: -6s; }
.mx-layered-orb--3 { width: 120px; height: 120px; right: 14%; top: 43%; animation-duration: 29s; animation-delay: -11s; }

.mx-layered-paths {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: .28;
}
.mx-layered-paths path {
  fill: none;
  stroke: url(#mxLayerGradient);
  stroke-width: 1.2;
  stroke-linecap: round;
  stroke-dasharray: 4 18;
  animation: mxLayerFlow 30s linear infinite;
}
.mx-layered-paths path + path { opacity: .5; animation-duration: 38s; animation-direction: reverse; }

@keyframes mxLayerRing {
  0%,100% { transform: scale(.975); opacity: .5; }
  50% { transform: scale(1.025); opacity: .72; }
}
@keyframes mxLayerFloat {
  0%,100% { transform: translate3d(0,0,0) scale(.98); opacity: .36; }
  50% { transform: translate3d(9px,-11px,0) scale(1.03); opacity: .62; }
}
@keyframes mxLayerFlow { to { stroke-dashoffset: -420; } }

/* Remove rapid flashing/strobing from above-the-fold decorative elements. */
.mx-site-hero [class*="strobe" i],
.mx-site-hero [class*="flicker" i],
.mx-site-hero [class*="flash" i],
.mx-site-hero [class*="blink" i] {
  animation: none !important;
  filter: none !important;
}

/* Pricing only: opt into a dark above-the-fold treatment. */
body.page-id-4713 .mx-site-hero,
body.page-id-13842 .mx-site-hero {
  --mx-site-underline: #19dfbf;
  color: #fff !important;
  background:
    radial-gradient(900px 600px at 78% 4%, rgba(222,8,127,.23), transparent 64%),
    radial-gradient(780px 560px at 4% 96%, rgba(25,223,191,.10), transparent 66%),
    linear-gradient(154deg, #0d0714 0%, #1a0b25 54%, #100817 100%) !important;
}
body.page-id-4713 .mx-site-hero h1,
body.page-id-13842 .mx-site-hero h1 { color: #fff !important; }
body.page-id-4713 .mx-site-hero p,
body.page-id-13842 .mx-site-hero p { color: #cec3d6 !important; }
body.page-id-4713 .mx-site-hero [class*="kicker" i],
body.page-id-4713 .mx-site-hero [class*="eyebrow" i],
body.page-id-13842 .mx-site-hero [class*="kicker" i],
body.page-id-13842 .mx-site-hero [class*="eyebrow" i] { color: #19dfbf !important; }

/* Privacy pages were the only published pages whose visual hero title was not
 * a page-level H1. The runtime promotes/inserts the page title; keep the UK
 * "Introduction" heading as a subordinate section heading rather than a second
 * oversized hero headline. */
.mx-privacy-page-title { max-width: 900px; margin-inline: auto !important; }
body.page-id-3229 .privacy-hero .privacy-hero-copy > h2 {
  margin-top: 30px !important;
  font-size: clamp(22px, 2.2vw, 28px) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: -.02em !important;
}
body.page-id-3229 .privacy-hero .privacy-hero-copy > h2::after {
  width: 44px !important;
  height: 3px !important;
  margin-top: 14px !important;
}

/* Generic overflow guards for the restored Elementor HTML publications. */
.mx-elementor-page .elementor-widget-html,
.mx-elementor-page .elementor-widget-html > .elementor-widget-container { min-width: 0; max-width: 100%; }
.mx-elementor-page h1,
.mx-elementor-page h2,
.mx-elementor-page h3 { overflow-wrap: normal; word-break: normal; }

@media (max-width: 900px) {
  .mx-site-hero { --mx-site-hero-safe-top: 116px; }
  .admin-bar .mx-site-hero { --mx-site-hero-safe-top: 148px; }
}

@media (max-width: 760px) {
  .mx-site-hero { --mx-site-hero-safe-top: 102px; }
  .admin-bar .mx-site-hero { --mx-site-hero-safe-top: 136px; }
  body.mx-rebuild-site :is(#mx-h1-authority-a#mx-h1-authority-b#mx-h1-authority-c, h1:not(#mxfs_hero_title)) {
    font-size: clamp(36px, 11vw, 50px) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mx-layered-bg { transform: none !important; transition: none !important; }
  .mx-layered-ring,
  .mx-layered-orb,
  .mx-layered-paths path { animation: none !important; }
  .mx-layered-orb { opacity: .2; }
  .mx-layered-paths { opacity: .14; }
}

body.mx-rebuild-site h1:not(#mxfs_hero_title) span[class*="mark" i],
body.mx-rebuild-site h1:not(#mxfs_hero_title) span[class*="signature" i],
body.mx-rebuild-site h1:not(#mxfs_hero_title) span[class*="underline" i],
body.mx-rebuild-site h1:not(#mxfs_hero_title) span[class*="highlight" i],
body.mx-rebuild-site h1:not(#mxfs_hero_title) span[class*="accent" i],
body.mx-rebuild-site h1:not(#mxfs_hero_title) em[class*="mark" i],
body.mx-rebuild-site h1:not(#mxfs_hero_title) em[class*="accent" i] {
  position: static !important;
  display: inline !important;
  white-space: normal !important;
  text-decoration-line: underline !important;
  text-decoration-color: #19dfbf !important;
  text-decoration-thickness: .065em !important;
  text-underline-offset: .105em !important;
  text-decoration-skip-ink: none !important;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

body.mx-rebuild-site h1:not(#mxfs_hero_title) span[class*="mark" i]::after,
body.mx-rebuild-site h1:not(#mxfs_hero_title) span[class*="signature" i]::after,
body.mx-rebuild-site h1:not(#mxfs_hero_title) span[class*="underline" i]::after,
body.mx-rebuild-site h1:not(#mxfs_hero_title) span[class*="highlight" i]::after,
body.mx-rebuild-site h1:not(#mxfs_hero_title) span[class*="accent" i]::after,
body.mx-rebuild-site h1:not(#mxfs_hero_title) em[class*="mark" i]::after,
body.mx-rebuild-site h1:not(#mxfs_hero_title) em[class*="accent" i]::after,
body.mx-rebuild-site h1:not(#mxfs_hero_title) span[class*="mark" i] > svg,
body.mx-rebuild-site h1:not(#mxfs_hero_title) span[class*="signature" i] > svg,
body.mx-rebuild-site h1:not(#mxfs_hero_title) span[class*="underline" i] > svg,
body.mx-rebuild-site h1:not(#mxfs_hero_title) span[class*="highlight" i] > svg,
body.mx-rebuild-site h1:not(#mxfs_hero_title) span[class*="accent" i] > svg {
  display: none !important;
  content: none !important;
  animation: none !important;
}

/* The automotive case-study family deliberately overlaps the absolute header.
 * Keep its back-link/logo stack below the navigation at narrower desktop sizes. */
.mxv_hero-copy { padding-top: clamp(22px, 2vw, 32px) !important; }

/* Long desktop H1s are handled by the single mxWidenHeroGrid runtime in
 * site.js. It may rebalance a two-column hero, but it never changes H1 type. */

/* Pricing hero: UK uses the restrained layered YourPartner-inspired treatment.
 * The US pricing page keeps its current dark treatment. */
body.page-id-4713 .mxp_hero {
  color: #fff !important;
  background:
    radial-gradient(940px 620px at 76% 4%, rgba(139,92,246,.24), transparent 64%),
    radial-gradient(780px 560px at 6% 96%, rgba(167,139,250,.13), transparent 66%),
    radial-gradient(660px 460px at 42% 46%, rgba(239,182,90,.07), transparent 70%),
    linear-gradient(160deg, #0a0714 0%, #28153e 48%, #10091c 100%) !important;
  background-size: 112% 112%, 114% 114%, 108% 108%, 100% 100% !important;
  background-position: 74% 2%, 4% 98%, 42% 46%, 50% 50% !important;
  animation: mxPricingGradientDrift 36s ease-in-out infinite alternate !important;
}
body.page-id-4713 .mxp_hero::before {
  content: "" !important;
  position: absolute !important;
  inset: -18% -12% !important;
  width: auto !important;
  height: auto !important;
  z-index: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background:
    radial-gradient(ellipse 70% 44% at 78% 18%, rgba(139,92,246,.15), transparent 72%),
    radial-gradient(ellipse 62% 38% at 18% 78%, rgba(167,139,250,.08), transparent 74%),
    radial-gradient(ellipse 54% 34% at 48% 52%, rgba(239,182,90,.045), transparent 76%) !important;
  filter: blur(16px) !important;
  opacity: .9 !important;
  transform: translate3d(-1.5%,0,0) scale(1.04) !important;
  animation: mxPricingDepthDrift 31s ease-in-out infinite alternate !important;
  pointer-events: none !important;
}
body.page-id-4713 .mxp_hero::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  width: auto !important;
  height: auto !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  z-index: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background:
    radial-gradient(ellipse 72% 62% at 48% 38%, transparent 0 46%, rgba(4,8,16,.3) 76%, rgba(4,8,16,.62) 100%),
    linear-gradient(rgba(196,181,253,.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(196,181,253,.022) 1px, transparent 1px) !important;
  background-size: auto, 92px 92px, 92px 92px !important;
  opacity: .78 !important;
  animation: none !important;
  pointer-events: none !important;
}
body.page-id-4713 .mxp_hero-orb,
body.page-id-4713 .mxp_hero-spark {
  display: none !important;
  animation: none !important;
}
body.page-id-4713 .mxp_hero-glow {
  inset: auto 8% 4% 8% !important;
  height: 250px !important;
  border-radius: 46% !important;
  background: radial-gradient(ellipse at center, rgba(139,92,246,.11), rgba(239,182,90,.035) 50%, transparent 76%) !important;
  filter: blur(42px) !important;
  opacity: .64 !important;
  animation: mxPricingGlowDrift 34s ease-in-out infinite alternate !important;
}
body.page-id-4713 .mxp_grid-bg {
  opacity: .18 !important;
  background-size: 88px 88px !important;
  animation-duration: 68s !important;
  animation-timing-function: linear !important;
}
body.page-id-4713 .mxp_hero h1 { color: #fff !important; }
body.page-id-4713 .mxp_hero-sub { color: #cec3d6 !important; }
body.page-id-4713 .mxp_hero-sub b { color: #fff !important; }
body.page-id-4713 .mxp_badge,
body.page-id-4713 .mxp_chip {
  color: #f5eff8 !important;
  border-color: rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.065) !important;
  box-shadow: 0 8px 26px rgba(4,8,16,.12) !important;
  backdrop-filter: blur(12px);
}

@keyframes mxPricingGradientDrift {
  0% { background-position: 74% 2%, 4% 98%, 42% 46%, 50% 50%; }
  100% { background-position: 80% 8%, 9% 92%, 46% 43%, 50% 50%; }
}
@keyframes mxPricingDepthDrift {
  0% { transform: translate3d(-1.5%,0,0) scale(1.04); opacity: .84; }
  50% { transform: translate3d(1.2%,-1.4%,0) scale(1.07); opacity: .96; }
  100% { transform: translate3d(2.2%,.8%,0) scale(1.05); opacity: .88; }
}
@keyframes mxPricingGlowDrift {
  0% { transform: translate3d(-1.5%,1%,0) scale(1); opacity: .54; }
  100% { transform: translate3d(1.5%,-1%,0) scale(1.06); opacity: .68; }
}

body.page-id-13842 .mxp_hero {
  color: #fff !important;
  background:
    radial-gradient(900px 600px at 78% 4%, rgba(222,8,127,.24), transparent 64%),
    radial-gradient(780px 560px at 4% 96%, rgba(25,223,191,.11), transparent 66%),
    radial-gradient(660px 460px at 44% 46%, rgba(115,87,255,.09), transparent 70%),
    linear-gradient(154deg, #0d0714 0%, #1a0b25 54%, #100817 100%) !important;
}
body.page-id-13842 .mxp_hero h1 { color: #fff !important; }
body.page-id-13842 .mxp_hero-sub { color: #cec3d6 !important; }
body.page-id-13842 .mxp_badge,
body.page-id-13842 .mxp_chip {
  color: #f5eff8 !important;
  border-color: rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.065) !important;
  backdrop-filter: blur(12px);
}

@media (max-width: 760px) {
  body.page-id-4713 .mxp_hero {
    background-size: 130% 130%, 132% 132%, 118% 118%, 100% 100% !important;
  }
  body.page-id-4713 .mxp_hero::before { inset: -12% !important; filter: blur(12px) !important; opacity: .74 !important; }
  body.page-id-4713 .mxp_hero::after { background-size: auto, 72px 72px, 72px 72px !important; opacity: .66 !important; }
  body.page-id-4713 .mxp_hero-glow { opacity: .48 !important; }
}

@media (prefers-reduced-motion: reduce) {
  body.page-id-4713 .mxp_hero,
  body.page-id-4713 .mxp_hero::before,
  body.page-id-4713 .mxp_hero-glow,
  body.page-id-4713 .mxp_grid-bg {
    animation: none !important;
    transform: none !important;
  }
}

/* Restrain existing publication hero animation layers so they feel ambient,
 * not like flashing/strobe lighting. */
body.mx-rebuild-site section[class*="_hero" i] [class*="orb" i],
body.mx-rebuild-site section[class*="_hero" i] [class*="glow" i],
body.mx-rebuild-site section[class*="_hero" i] [class*="ray" i],
body.mx-rebuild-site section[class*="_hero" i] [class*="beam" i],
body.mx-rebuild-site section[class*="_hero" i] [class*="spark" i],
body.mx-rebuild-site section[class*="_hero" i] [class*="particle" i],
body.mx-rebuild-site section[class*="_hero" i] [class*="mote" i] {
  animation-duration: 14s !important;
  animation-timing-function: ease-in-out !important;
}
body.mx-rebuild-site section[class*="_hero" i] [class*="spark" i] { opacity: .42 !important; }

/* Cloud-storage-for-small-business had a 1.6s expanding status pulse that read
 * as a flashing light beside the hero demo. Keep the state indicator static
 * and slow the decorative transfer shards without removing the useful motion. */
#mxcs-root .mxcs_exchange-top .live::before {
  animation: none !important;
  box-shadow: 0 0 0 5px rgba(222,9,127,.10) !important;
}
#mxcs-root .mxcs_shard { animation-duration: 9.6s !important; }
#mxcs-root .mxcs_lane::after { animation-duration: 7.2s !important; }

/* All ten individual case-study pages use a deliberate negative header overlap.
 * Give the desktop hero its own CSS-only clearance as well as the measured
 * runtime safeguard, so the back-to-case-studies link cannot sit under the
 * 96px site header even if JavaScript is unavailable. */
@media (min-width: 1041px) {
  body.page-id-3282 #mxeaton-root .mxe_hero,
  body.page-id-13815 #mxeaton-root .mxe_hero,
  body.page-id-3339 #mxop-root .mxv_hero,
  body.page-id-13818 #mxop-root .mxv_hero,
  body.page-id-3340 #mxpro-root .mxv_hero,
  body.page-id-13821 #mxpro-root .mxv_hero,
  body.page-id-3341 #mxmtec-root .mxv_hero,
  body.page-id-13824 #mxmtec-root .mxv_hero,
  body.page-id-3342 #mxenv-root .mxv_hero,
  body.page-id-13827 #mxenv-root .mxv_hero {
    padding-top: calc(var(--header-overlap, 180px) + 128px) !important;
  }
}

@media (max-width: 980px) {
  #mxdm-root .mxdm-hero-grid { grid-template-columns: 1fr !important; }
  .mxv_hero-copy { padding-top: 30px !important; }
}

@media (prefers-reduced-motion: reduce) {
  body.mx-rebuild-site section[class*="_hero" i] [class*="orb" i],
  body.mx-rebuild-site section[class*="_hero" i] [class*="glow" i],
  body.mx-rebuild-site section[class*="_hero" i] [class*="ray" i],
  body.mx-rebuild-site section[class*="_hero" i] [class*="beam" i],
  body.mx-rebuild-site section[class*="_hero" i] [class*="spark" i],
  body.mx-rebuild-site section[class*="_hero" i] [class*="particle" i],
  body.mx-rebuild-site section[class*="_hero" i] [class*="mote" i] {
    animation: none !important;
    transform: none !important;
  }
}

/* Homepage hero stability: preserve the centered shell that was previously
 * imposed after paint by JavaScript, but make it part of first-pass CSS. */
body.page-id-10009 #mxr-root .mxr_hero-inner,
body.page-id-13497 #mxr-root .mxr_hero-inner {
  width: min(1240px, calc(100vw - 48px)) !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* The homepage reveal/underline state is final from first paint. This removes
 * the small text jump caused by adding reveal and underline classes after the
 * document had already rendered, while preserving button/demo interactions. */
body.page-id-10009 #mxr-root .mxr_hero .mxr_rv,
body.page-id-13497 #mxr-root .mxr_hero .mxr_rv {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  transition-delay: 0s !important;
}
body.page-id-10009 #mxr-root .mxr_h1 .mark,
body.page-id-13497 #mxr-root .mxr_h1 .mark {
  position: static !important;
  display: inline !important;
  white-space: normal !important;
  text-decoration-line: underline !important;
  text-decoration-color: #19dfbf !important;
  text-decoration-thickness: .065em !important;
  text-underline-offset: .105em !important;
  text-decoration-skip-ink: none !important;
}
body.page-id-10009 #mxr-root .mxr_h1 .mark > svg,
body.page-id-13497 #mxr-root .mxr_h1 .mark > svg {
  display: none !important;
}

@media (max-width: 760px) {
  body.page-id-10009 #mxr-root .mxr_hero-inner,
  body.page-id-13497 #mxr-root .mxr_hero-inner {
    width: min(100%, calc(100vw - 32px)) !important;
  }
}

/* Progressive reveal safety across the whole site.
 * Restored Elementor HTML widgets commonly use *_rv classes that begin hidden
 * and rely on IntersectionObserver. The head script marks those nodes --in as
 * they enter the DOM, before paint. If JavaScript is disabled entirely, this
 * fallback keeps the substantive page content readable instead of invisible. */
body.mx-rebuild-site .elementor [class*="_rv"]:not(.--in),
body.mx-rebuild-site .elementor [class*="_reveal"]:not(.--in):not(.is-visible),
body.mx-rebuild-site .elementor [class*="-reveal"]:not(.--in):not(.is-visible) {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

/* US pricing mirrors the approved UK pricing atmosphere while preserving its
 * own pricing copy, controls and CTA structure. */
body.page-id-13842 .mxp_hero {
  color: #fff !important;
  background:
    radial-gradient(940px 620px at 76% 4%, rgba(139,92,246,.24), transparent 64%),
    radial-gradient(780px 560px at 6% 96%, rgba(167,139,250,.13), transparent 66%),
    radial-gradient(660px 460px at 42% 46%, rgba(239,182,90,.07), transparent 70%),
    linear-gradient(160deg, #0a0714 0%, #28153e 48%, #10091c 100%) !important;
  background-size: 112% 112%, 114% 114%, 108% 108%, 100% 100% !important;
  background-position: 74% 2%, 4% 98%, 42% 46%, 50% 50% !important;
  animation: mxPricingGradientDrift 36s ease-in-out infinite alternate !important;
}
body.page-id-13842 .mxp_hero::before {
  content: "" !important;
  position: absolute !important;
  inset: -18% -12% !important;
  z-index: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background:
    radial-gradient(ellipse 70% 44% at 78% 18%, rgba(139,92,246,.15), transparent 72%),
    radial-gradient(ellipse 62% 38% at 18% 78%, rgba(167,139,250,.08), transparent 74%),
    radial-gradient(ellipse 54% 34% at 48% 52%, rgba(239,182,90,.045), transparent 76%) !important;
  filter: blur(16px) !important;
  opacity: .9 !important;
  transform: translate3d(-1.5%,0,0) scale(1.04) !important;
  animation: mxPricingDepthDrift 31s ease-in-out infinite alternate !important;
  pointer-events: none !important;
}
body.page-id-13842 .mxp_hero::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background:
    radial-gradient(ellipse 72% 62% at 48% 38%, transparent 0 46%, rgba(4,8,16,.3) 76%, rgba(4,8,16,.62) 100%),
    linear-gradient(rgba(196,181,253,.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(196,181,253,.022) 1px, transparent 1px) !important;
  background-size: auto, 92px 92px, 92px 92px !important;
  opacity: .78 !important;
  animation: none !important;
  pointer-events: none !important;
}
body.page-id-13842 .mxp_orbits {
  display: none !important;
  animation: none !important;
}
body.page-id-13842 .mxp_hero-glow {
  inset: auto 8% 4% 8% !important;
  height: 250px !important;
  border-radius: 46% !important;
  background: radial-gradient(ellipse at center, rgba(139,92,246,.11), rgba(239,182,90,.035) 50%, transparent 76%) !important;
  filter: blur(42px) !important;
  opacity: .64 !important;
  animation: mxPricingGlowDrift 34s ease-in-out infinite alternate !important;
}
body.page-id-13842 .mxp_grid-bg {
  opacity: .18 !important;
  background-size: 88px 88px !important;
  animation-duration: 68s !important;
  animation-timing-function: linear !important;
}
body.page-id-13842 .mxp_hero h1 { color: #fff !important; }
body.page-id-13842 .mxp_hero-sub { color: #cec3d6 !important; }
body.page-id-13842 .mxp_eyebrow { color: #c4b5fd !important; }

@media (max-width: 760px) {
  body.page-id-13842 .mxp_hero {
    background-size: 130% 130%, 132% 132%, 118% 118%, 100% 100% !important;
  }
  body.page-id-13842 .mxp_hero::before { inset: -12% !important; filter: blur(12px) !important; opacity: .74 !important; }
  body.page-id-13842 .mxp_hero::after { background-size: auto, 72px 72px, 72px 72px !important; opacity: .66 !important; }
  body.page-id-13842 .mxp_hero-glow { opacity: .48 !important; }
}

@media (prefers-reduced-motion: reduce) {
  body.page-id-13842 .mxp_hero,
  body.page-id-13842 .mxp_hero::before,
  body.page-id-13842 .mxp_hero-glow,
  body.page-id-13842 .mxp_grid-bg {
    animation: none !important;
    transform: none !important;
  }
}

/* Round-one landing-page controls: shared locale switcher and accessible
 * encrypted-file-sharing definitions. */
.mx-landing-region-switcher {
  display: flex !important;
  flex: 0 0 100% !important;
  grid-column: 1 / -1;
  align-items: center;
  justify-content: center;
  justify-self: stretch;
  align-self: center;
  gap: 10px;
  width: 100%;
  max-width: none;
  margin: 32px auto 0 !important;
  padding: 0 !important;
  border: 0;
  border-radius: 0;
  color: inherit;
  background: transparent;
  box-shadow: none;
  font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1;
}

.mx-native-cta:has(> .mx-landing-region-switcher) {
  flex-wrap: wrap;
}
.mx-landing-region-switcher__label {
  margin: 0 3px 0 0 !important;
  color: rgba(255, 255, 255, .72);
  font-size: 13px;
  font-weight: 700;
}
.mx-landing-region-switcher__flag {
  display: inline-grid !important;
  place-items: center;
  width: 42px;
  height: 28px;
  margin: 0 !important;
  padding: 3px !important;
  overflow: hidden;
  border: 1px solid rgba(18, 8, 29, .16);
  border-radius: 7px;
  background: #fff;
  box-shadow: none;
  line-height: 0;
}
.mx-landing-region-switcher__flag[aria-current="page"] {
  border-color: #de097f;
  box-shadow: 0 0 0 2px rgba(222, 9, 127, .16);
}
a.mx-landing-region-switcher__flag {
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
a.mx-landing-region-switcher__flag:hover {
  border-color: #14a98f;
  box-shadow: 0 0 0 2px rgba(20, 224, 192, .20);
  transform: translateY(-1px);
}
a.mx-landing-region-switcher__flag:focus-visible {
  outline: 3px solid rgba(20, 224, 192, .58);
  outline-offset: 3px;
}
.mx-landing-region-switcher__flag svg {
  display: block;
  width: 34px;
  height: 18px;
  margin: 0 !important;
}

#mxe-root .mxe-tooltip {
  position: relative !important;
  display: inline !important;
  margin: 0 !important;
}
#mxe-root .mxe-tooltip-term {
  display: inline !important;
  border-bottom: 1px dotted currentColor;
}
#mxe-root .mxe-tooltip-anchor {
  position: relative !important;
  display: inline-flex !important;
  align-items: center;
  margin: 0 0 0 .24em !important;
  vertical-align: .05em;
}
#mxe-root .mxe-tooltip-anchor > i {
  display: inline-grid !important;
  place-items: center;
  width: 1.15em;
  height: 1.15em;
  margin: 0 !important;
  color: #087967;
  cursor: help;
  font-size: .86em;
}
#mxe-root .mxe-tooltip-bubble {
  position: absolute !important;
  z-index: 120;
  bottom: calc(100% + 12px);
  left: 50%;
  display: block !important;
  width: min(320px, calc(100vw - 40px));
  margin: 0 !important;
  padding: 13px 15px !important;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 12px;
  color: #fff !important;
  background: #12081d;
  box-shadow: 0 16px 40px rgba(18, 8, 29, .28);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, 8px);
  transition: opacity .16s ease, transform .16s ease, visibility 0s linear .16s;
  font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 13px !important;
  font-weight: 500;
  line-height: 1.5 !important;
  text-align: left;
}
#mxe-root .mxe-tooltip-bubble::after {
  position: absolute;
  top: 100%;
  left: 50%;
  width: 10px;
  height: 10px;
  margin: -5px 0 0 -5px !important;
  background: #12081d;
  content: "";
  transform: rotate(45deg);
}
#mxe-root .mxe-tooltip:hover .mxe-tooltip-bubble,
#mxe-root .mxe-tooltip:focus .mxe-tooltip-bubble,
#mxe-root .mxe-tooltip:focus-within .mxe-tooltip-bubble {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
  transition-delay: 0s;
}
#mxe-root .mxe-tooltip:focus {
  outline: 0;
}
#mxe-root .mxe-tooltip:focus-visible .mxe-tooltip-term {
  border-radius: 3px;
  outline: 3px solid rgba(20, 224, 192, .58);
  outline-offset: 3px;
}

@media (min-width: 641px) {
  #mxe-root .mxe-question .mxe-tooltip-bubble {
    left: 0;
    transform: translate(0, 8px);
  }
  #mxe-root .mxe-question .mxe-tooltip-bubble::after {
    left: 16px;
  }
  #mxe-root .mxe-question .mxe-tooltip:hover .mxe-tooltip-bubble,
  #mxe-root .mxe-question .mxe-tooltip:focus .mxe-tooltip-bubble,
  #mxe-root .mxe-question .mxe-tooltip:focus-within .mxe-tooltip-bubble {
    transform: translate(0, 0);
  }
}

@media (max-width: 640px) {
  .mx-landing-region-switcher {
    margin-top: 26px !important;
  }
  #mxe-root .mxe-section.mx-motion-enter {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
  #mxe-root .mxe-tooltip-bubble {
    position: fixed !important;
    right: 18px;
    bottom: 18px;
    left: 18px;
    width: auto;
    transform: translateY(8px);
  }
  #mxe-root .mxe-tooltip-bubble::after {
    display: none;
  }
  #mxe-root .mxe-tooltip:hover .mxe-tooltip-bubble,
  #mxe-root .mxe-tooltip:focus .mxe-tooltip-bubble,
  #mxe-root .mxe-tooltip:focus-within .mxe-tooltip-bubble {
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  a.mx-landing-region-switcher__flag,
  #mxe-root .mxe-tooltip-bubble {
    transition: none !important;
  }
}
