/* The controls use one fixed position on every route; the public nav reserves their space. */
html.wpb-design #root > .fixed.bottom-4.wpb-top-controls,
html.wpb-design.wpb-map-chrome #root > .fixed.bottom-4.wpb-top-controls {
  position: fixed !important;
  top: 17px !important;
  right: max(31px, calc((100vw - 1440px) / 2 + 32px)) !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 120 !important;
  gap: 7px !important;
}
html.wpb-design #root > .wpb-top-controls > button {
  height: 42px !important;
  min-height: 42px;
  border-radius: 12px !important;
  background: rgba(16, 52, 71, .94) !important;
  border: 1px solid rgba(109, 191, 219, .47) !important;
  color: #eefaff !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 12px 24px rgba(0, 12, 28, .24) !important;
  backdrop-filter: blur(14px);
}
html.wpb-design #root > .wpb-top-controls > button:hover {
  border-color: #68dbef !important;
  background: #185374 !important;
  transform: translateY(-2px);
}
html.wpb-design #root > .wpb-top-controls [role="listbox"] {
  top: calc(100% + 11px) !important;
  right: 0 !important;
  bottom: auto !important;
  left: auto !important;
  margin: 0 !important;
  z-index: 121;
}
html.wpb-design #root header nav { padding-right: 145px; }
html.wpb-design #root header .md\:hidden { padding-right: 137px; }

/* Photo: Pexels 22679416, by jason hu. This is an onshore photograph. */
html.wpb-design.wpb-home #root section.relative.pt-32 > .absolute.inset-0 {
  background-image: url('/assets/hero-pexels-22679416.webp') !important;
  background-position: center 52% !important;
  filter: saturate(1.08) contrast(1.07) !important;
}
html.wpb-design.wpb-home #root section.relative.pt-32::before {
  background: linear-gradient(90deg, rgba(2, 16, 31, .96) 0%, rgba(3, 22, 40, .87) 31%, rgba(4, 27, 43, .42) 59%, rgba(4, 23, 35, .14) 100%),
              linear-gradient(0deg, rgba(2, 17, 31, .96), transparent 49%) !important;
}
html.wpb-design.wpb-home #root section.relative.pt-32 > .absolute.inset-0 > .absolute {
  background: linear-gradient(0deg, rgba(1, 15, 29, .7), transparent 55%) !important;
}
html.wpb-design.wpb-home .wpb-ai-label { display: none !important; }
html.wpb-design.wpb-home #root section.relative.pt-32 { border: 1px solid rgba(113, 205, 231, .22); }
html.wpb-design.wpb-home #root section.relative.pt-32 .wpb-intro--hero {
  border-radius: 7px 33px 7px 33px;
  background: linear-gradient(148deg, rgba(5, 52, 79, .97), rgba(5, 31, 51, .94)) !important;
  box-shadow: 0 29px 75px rgba(0, 8, 26, .45), inset 0 1px 0 rgba(207, 246, 255, .11) !important;
}
html.wpb-design.wpb-home #root section.relative.pt-32 .wpb-intro--hero::before {
  content: '';
  position: absolute;
  width: 96px;
  height: 3px;
  top: 0;
  left: 29px;
  background: linear-gradient(90deg, #6ce4f1, transparent);
  box-shadow: 0 0 24px #43c6ed;
}
html.wpb-design.wpb-home #root section.relative.pt-32 ol li a {
  transition: transform .3s cubic-bezier(.2,.7,.2,1), border-color .3s, background .3s !important;
}
html.wpb-design.wpb-home #root section.relative.pt-32 ol li a:hover {
  border-color: rgba(115, 227, 246, .87) !important;
  transform: translateY(-7px) !important;
}

/* Dark, high-contrast sections, including the previous beige audience block. */
html.wpb-design.wpb-home #root section:not(.relative):nth-of-type(2) {
  background: radial-gradient(circle at 97% 0%, rgba(24, 148, 208, .22), transparent 31%),
              linear-gradient(180deg, #071a29, #071e30) !important;
}
html.wpb-design.wpb-home #root section:not(.relative):nth-of-type(3) {
  background: radial-gradient(circle at 11% 59%, rgba(30, 143, 191, .2), transparent 32%),
              linear-gradient(115deg, #082b40, #051a2d 66%, #0b2e45) !important;
}
html.wpb-design.wpb-home #root section:not(.relative):nth-of-type(4) {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: radial-gradient(circle at 92% 14%, rgba(20, 122, 190, .26), transparent 29%),
              radial-gradient(circle at 7% 100%, rgba(25, 91, 152, .18), transparent 33%),
              #061b2b !important;
}
html.wpb-design.wpb-home #root section:not(.relative):nth-of-type(4)::before {
  content: '';
  position: absolute;
  width: 650px;
  height: 650px;
  top: -300px;
  right: -160px;
  border: 1px solid rgba(103, 197, 239, .16);
  border-radius: 50%;
  box-shadow: 0 0 0 90px rgba(103, 197, 239, .024), 0 0 0 180px rgba(103, 197, 239, .016);
  pointer-events: none;
  z-index: -1;
}
html.wpb-design.wpb-home #root section:not(.relative):nth-of-type(5) {
  background: radial-gradient(circle at 14% 83%, rgba(34, 166, 211, .3), transparent 30%),
              linear-gradient(128deg, #0a3961, #082743 58%, #071e32) !important;
}
html.wpb-design.wpb-home #root section:not(.relative) > div { position: relative; z-index: 1; }
html.wpb-design.wpb-home #root section:not(.relative) h2 {
  text-shadow: 0 20px 48px rgba(0, 6, 18, .2);
}
html.wpb-design.wpb-home #root section:nth-of-type(2) .text-center.mb-16::before,
html.wpb-design.wpb-home #root section:nth-of-type(4) .text-center.mb-16::before {
  display: block;
  width: fit-content;
  margin: 0 0 19px;
  padding-bottom: 11px;
  border-bottom: 2px solid #49c9eb;
  color: #68d6ee;
  font: 800 14px/1 ui-monospace, SFMono-Regular, Consolas, monospace;
  letter-spacing: .18em;
}
html.wpb-design.wpb-home #root section:nth-of-type(2) .text-center.mb-16::before { content: '01 / 04'; }
html.wpb-design.wpb-home #root section:nth-of-type(4) .text-center.mb-16::before { content: '03 / 04'; }
html.wpb-design.wpb-home #root section:nth-of-type(3) > div > .grid > div:first-child::before,
html.wpb-design.wpb-home #root section:nth-of-type(5) .max-w-4xl::before {
  content: '02 / 04';
  display: block;
  width: fit-content;
  color: #6cdded;
  border-bottom: 2px solid #4cceef;
  padding-bottom: 11px;
  margin-bottom: 23px;
  font: 800 14px/1 ui-monospace, SFMono-Regular, Consolas, monospace;
  letter-spacing: .18em;
}
html.wpb-design.wpb-home #root section:nth-of-type(5) .max-w-4xl::before { content: '04 / 04'; margin-inline: auto; }

/* Pointer-responsive bento cards and alternating compositions. */
html.wpb-design.wpb-home #root .wpb-motion-card {
  position: relative;
  overflow: hidden;
  transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s, border-color .35s !important;
  will-change: transform;
}
html.wpb-design.wpb-home #root section:nth-of-type(2) .grid > .wpb-motion-card,
html.wpb-design.wpb-home #root section:nth-of-type(4) .grid > .wpb-motion-card,
html.wpb-design.wpb-home #root section:nth-of-type(3) .grid.sm\:grid-cols-2 > .wpb-motion-card {
  background: radial-gradient(450px circle at var(--spot-x, -200px) var(--spot-y, -200px), rgba(82, 211, 244, .22), transparent 45%),
              linear-gradient(145deg, #103449, #0b2838) !important;
  border: 1px solid rgba(96, 181, 216, .42) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 18px 45px rgba(0, 10, 25, .18) !important;
}
html.wpb-design.wpb-home #root section:nth-of-type(2) .grid > .wpb-motion-card:first-child {
  background: radial-gradient(500px circle at var(--spot-x, -200px) var(--spot-y, -200px), rgba(177, 237, 255, .25), transparent 47%),
              linear-gradient(140deg, #0c669e, #0a3c60 72%, #082b49) !important;
}
html.wpb-design.wpb-home #root section:nth-of-type(2) .grid > .wpb-motion-card:nth-child(4) {
  background: radial-gradient(440px circle at var(--spot-x, -200px) var(--spot-y, -200px), rgba(137, 224, 246, .24), transparent 47%),
              linear-gradient(135deg, #0f5677, #0c344c) !important;
}
html.wpb-design.wpb-home #root .wpb-motion-card:hover {
  transform: translateY(-9px) !important;
  border-color: #6ddbee !important;
  box-shadow: 0 29px 65px rgba(0, 7, 24, .35), 0 0 0 1px rgba(115, 215, 247, .14) !important;
}
html.wpb-design.wpb-home #root section:nth-of-type(3) .grid.sm\:grid-cols-2 > .wpb-motion-card { min-height: 220px; }
html.wpb-design.wpb-home #root section:nth-of-type(3) .grid.sm\:grid-cols-2 > .wpb-motion-card svg {
  color: #69d9ed !important;
  filter: drop-shadow(0 0 13px rgba(67, 201, 238, .27));
}
html.wpb-design.wpb-home #root section:nth-of-type(4) .grid > .wpb-motion-card:nth-child(2) {
  background: radial-gradient(450px circle at var(--spot-x, -200px) var(--spot-y, -200px), rgba(107, 224, 242, .24), transparent 47%),
              linear-gradient(145deg, #125579, #0a304b) !important;
}
html.wpb-design.wpb-home #root section:nth-of-type(4) .grid > .wpb-motion-card::after {
  position: absolute;
  right: 24px;
  top: 18px;
  color: rgba(157, 228, 251, .22);
  font: 800 clamp(60px, 7vw, 105px)/1 ui-monospace, Consolas, monospace;
  letter-spacing: -.08em;
  pointer-events: none;
}
html.wpb-design.wpb-home #root section:nth-of-type(4) .grid > .wpb-motion-card:nth-child(1)::after { content: '01'; }
html.wpb-design.wpb-home #root section:nth-of-type(4) .grid > .wpb-motion-card:nth-child(2)::after { content: '02'; }
html.wpb-design.wpb-home #root section:nth-of-type(4) .grid > .wpb-motion-card:nth-child(3)::after { content: '03'; }
html.wpb-design.wpb-home #root section:nth-of-type(4) .grid > .wpb-motion-card svg {
  color: #73def0 !important;
  filter: drop-shadow(0 0 13px rgba(66, 194, 233, .22));
}
html.wpb-design.wpb-home #root section:nth-of-type(5) a {
  transition: transform .25s, box-shadow .25s, border-color .25s !important;
}
html.wpb-design.wpb-home #root section:nth-of-type(5) a:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 19px 45px rgba(0, 10, 27, .31) !important;
}

/* Product and price details gain depth without altering any transaction controls. */
html.wpb-design.wpb-pricing #root section .grid.md\:grid-cols-2.lg\:grid-cols-4 > div {
  position: relative;
  overflow: hidden;
  box-shadow: 0 20px 55px rgba(0, 7, 22, .25), inset 0 1px 0 rgba(255,255,255,.07) !important;
}
html.wpb-design.wpb-pricing #root section .grid.md\:grid-cols-2.lg\:grid-cols-4 > div::before {
  content: '';
  position: absolute;
  top: 0;
  left: 29px;
  right: 29px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #73ddeb, transparent);
  opacity: .38;
  transition: opacity .25s;
}
html.wpb-design.wpb-pricing #root section .grid.md\:grid-cols-2.lg\:grid-cols-4 > div:hover::before { opacity: 1; }

/* A real day palette: toggling the existing theme control changes the whole surface. */
html.wpb-design:not(.dark) {
  --wpb-bg: #eaf3f8;
  --wpb-paper: #f8fcff;
  --wpb-ink: #0c3047;
  --wpb-muted: #466477;
  --wpb-line: #b9d6e3;
}
html.wpb-design:not(.dark) body,
html.wpb-design:not(.dark) #root > .min-h-screen { background: #eaf3f8 !important; color: #0b2c41; }
html.wpb-design:not(.dark) #root header {
  background: rgba(241, 250, 255, .94) !important;
  border-bottom-color: rgba(57, 133, 172, .27) !important;
  box-shadow: 0 10px 36px rgba(16, 69, 101, .08);
}
html.wpb-design:not(.dark) #root header span.font-bold { color: #0c3047 !important; }
html.wpb-design:not(.dark) #root header nav a:not(:last-child) { color: #36596d !important; }
html.wpb-design:not(.dark) #root > .wpb-top-controls > button {
  background: rgba(241, 250, 255, .97) !important;
  border-color: #b7d8e8 !important;
  color: #0e4e72 !important;
  box-shadow: 0 8px 24px rgba(17, 93, 132, .13) !important;
}
html.wpb-design:not(.dark) #root > .wpb-top-controls > button:hover { background: #ddf4ff !important; }
html.wpb-design:not(.dark).wpb-home #root section:not(.relative):nth-of-type(2) {
  background: radial-gradient(circle at 96% 0%, rgba(76, 190, 229, .26), transparent 29%),
              linear-gradient(160deg, #e6f3f9, #f5fbff) !important;
}
html.wpb-design:not(.dark).wpb-home #root section:not(.relative):nth-of-type(3) {
  background: radial-gradient(circle at 7% 58%, rgba(79, 186, 221, .22), transparent 31%),
              linear-gradient(120deg, #d9ecf6, #ebf7fc 62%, #d6ecf8) !important;
}
html.wpb-design:not(.dark).wpb-home #root section:not(.relative):nth-of-type(4) {
  background: radial-gradient(circle at 88% 11%, rgba(76, 175, 222, .25), transparent 30%),
              linear-gradient(165deg, #f3faff, #dfedf7) !important;
}
html.wpb-design:not(.dark).wpb-home #root section:not(.relative):nth-of-type(5) {
  background: radial-gradient(circle at 82% 20%, rgba(80, 186, 225, .24), transparent 28%),
              linear-gradient(135deg, #d6edfa, #eff9ff) !important;
}
html.wpb-design:not(.dark).wpb-home #root section:not(.relative),
html.wpb-design:not(.dark).wpb-home #root section:not(.relative) h2,
html.wpb-design:not(.dark).wpb-home #root section:not(.relative) h3 { color: #0b3049 !important; }
html.wpb-design:not(.dark).wpb-home #root section:not(.relative) p { color: #3d5e72 !important; }
html.wpb-design:not(.dark).wpb-home #root section:nth-of-type(2) .grid > .wpb-motion-card,
html.wpb-design:not(.dark).wpb-home #root section:nth-of-type(4) .grid > .wpb-motion-card,
html.wpb-design:not(.dark).wpb-home #root section:nth-of-type(3) .grid.sm\:grid-cols-2 > .wpb-motion-card {
  background: radial-gradient(450px circle at var(--spot-x, -200px) var(--spot-y, -200px), rgba(97, 193, 227, .22), transparent 47%),
              linear-gradient(145deg, #fff, #ecf8ff) !important;
  border-color: #afd3e5 !important;
  box-shadow: 0 16px 40px rgba(24, 95, 135, .1), inset 0 1px 0 #fff !important;
}
html.wpb-design:not(.dark).wpb-home #root section:nth-of-type(2) .grid > .wpb-motion-card:first-child,
html.wpb-design:not(.dark).wpb-home #root section:nth-of-type(4) .grid > .wpb-motion-card:nth-child(2) {
  background: radial-gradient(480px circle at var(--spot-x, -200px) var(--spot-y, -200px), rgba(178, 233, 252, .32), transparent 47%),
              linear-gradient(145deg, #d0ecfa, #eef9ff) !important;
}
html.wpb-design:not(.dark).wpb-home #root section:nth-of-type(2) .grid > .wpb-motion-card:nth-child(4) {
  background: linear-gradient(145deg, #daf5fb, #f4fcff) !important;
}
html.wpb-design:not(.dark).wpb-home #root section:nth-of-type(2) .grid > .wpb-motion-card h3,
html.wpb-design:not(.dark).wpb-home #root section:nth-of-type(2) .grid > .wpb-motion-card p { color: #0b3049 !important; }
html.wpb-design:not(.dark).wpb-home #root section:nth-of-type(2) .grid > .wpb-motion-card svg,
html.wpb-design:not(.dark).wpb-home #root section:nth-of-type(3) .grid.sm\:grid-cols-2 > .wpb-motion-card svg,
html.wpb-design:not(.dark).wpb-home #root section:nth-of-type(4) .grid > .wpb-motion-card svg {
  color: #087ca9 !important;
  filter: none !important;
}
html.wpb-design:not(.dark).wpb-home #root section:nth-of-type(4) .grid > .wpb-motion-card::after { color: rgba(25, 103, 148, .17); }
html.wpb-design:not(.dark).wpb-home #root section:nth-of-type(5) a { box-shadow: 0 14px 35px rgba(29, 100, 144, .15); }
html.wpb-design:not(.dark).wpb-home #root footer { background: #dceef7 !important; border-top-color: #a7cddd; }
html.wpb-design:not(.dark).wpb-pricing #root > .min-h-screen,
html.wpb-design:not(.dark).wpb-pricing #root section { background: #eaf3f8 !important; }
html.wpb-design:not(.dark).wpb-pricing #root section h1,
html.wpb-design:not(.dark).wpb-pricing #root section .grid h3,
html.wpb-design:not(.dark).wpb-pricing #root section .grid .text-4xl.font-bold { color: #0b3049 !important; }
html.wpb-design:not(.dark).wpb-pricing #root section > div > .text-center p { color: #48677b !important; }
html.wpb-design:not(.dark).wpb-pricing .wpb-intro--pricing {
  background: linear-gradient(125deg, #c8ebfb, #e7f7ff 65%, #d0f1fa) !important;
  border-color: #85c9e7 !important;
  box-shadow: 0 23px 55px rgba(25, 110, 150, .13);
}
html.wpb-design:not(.dark).wpb-pricing .wpb-intro--pricing strong { color: #0a3651 !important; }
html.wpb-design:not(.dark).wpb-pricing .wpb-intro--pricing p { color: #355b6d !important; }
html.wpb-design:not(.dark).wpb-pricing .wpb-intro--pricing .wpb-intro__eyebrow { color: #126f96 !important; }
html.wpb-design:not(.dark).wpb-pricing #root section .grid.md\:grid-cols-2.lg\:grid-cols-4 > div {
  background: linear-gradient(155deg, #fff, #eff9fe) !important;
  border-color: #b2d3e2 !important;
  color: #0b3049 !important;
}
html.wpb-design:not(.dark).wpb-pricing #root section .grid.md\:grid-cols-2.lg\:grid-cols-4 > div h3,
html.wpb-design:not(.dark).wpb-pricing #root section .grid.md\:grid-cols-2.lg\:grid-cols-4 > div .text-4xl.font-bold,
html.wpb-design:not(.dark).wpb-pricing #root section .grid.md\:grid-cols-2.lg\:grid-cols-4 > div li,
html.wpb-design:not(.dark).wpb-pricing #root section .grid.md\:grid-cols-2.lg\:grid-cols-4 > div li span,
html.wpb-design:not(.dark).wpb-pricing #root section .grid.md\:grid-cols-2.lg\:grid-cols-4 > div .text-slate-600,
html.wpb-design:not(.dark).wpb-pricing #root section .grid.md\:grid-cols-2.lg\:grid-cols-4 > div .dark\:text-slate-400 {
  color: #163d53 !important;
}
html.wpb-design:not(.dark).wpb-pricing #root section .grid.md\:grid-cols-2.lg\:grid-cols-4 > div .wpb-trial-chip,
html.wpb-design:not(.dark).wpb-pricing #root section .grid.md\:grid-cols-2.lg\:grid-cols-4 > div > .inline-block:first-child {
  color: #075d80 !important;
  background: #d4f0fa !important;
  border-color: #9bd4e7 !important;
}
html.wpb-design:not(.dark).wpb-pricing #root section .grid .text-slate-600,
html.wpb-design:not(.dark).wpb-pricing #root section .grid .dark\:text-slate-400 { color: #547185 !important; }

#wpb-scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  z-index: 200;
  transform: scaleX(0);
  transform-origin: left;
  background: linear-gradient(90deg, #198be1, #78e7f2);
  box-shadow: 0 0 16px rgba(81, 217, 246, .6);
  pointer-events: none;
}

@media (max-width: 760px) {
  html.wpb-design #root > .fixed.bottom-4.wpb-top-controls,
  html.wpb-design.wpb-map-chrome #root > .fixed.bottom-4.wpb-top-controls {
    top: 15px !important;
    right: 17px !important;
    left: auto !important;
  }
  html.wpb-design #root header nav { padding-right: 0; }
  html.wpb-design #root header .md\:hidden { padding-right: 128px; }
  html.wpb-design.wpb-home #root section.relative.pt-32 > .absolute.inset-0 { background-position: 59% center !important; }
  html.wpb-design.wpb-home #root section.relative.pt-32::before {
    background: linear-gradient(0deg, rgba(2, 16, 29, .98), rgba(2, 18, 32, .76) 60%, rgba(2, 18, 32, .3)) !important;
  }
  html.wpb-design.wpb-home #root section:not(.relative):nth-of-type(4)::before { right: -350px; }
  html.wpb-design.wpb-home #root .wpb-motion-card { will-change: auto; }
}
@media (max-width: 420px) {
  html.wpb-design #root header span.font-bold { font-size: 16px; }
  html.wpb-design #root header > div { padding-inline: 14px; }
  html.wpb-design #root header .md\:hidden { padding-right: 112px; }
  html.wpb-design #root > .wpb-top-controls > button { height: 38px !important; min-height: 38px; }
  html.wpb-design #root > .fixed.bottom-4.wpb-top-controls { top: 19px !important; right: 13px !important; gap: 4px !important; }
  html.wpb-design #root > .wpb-top-controls > button:nth-child(2) { padding-inline: 8px !important; }
}
@media (prefers-reduced-motion: reduce) {
  html.wpb-design #root .wpb-motion-card,
  html.wpb-design #root section:nth-of-type(5) a,
  html.wpb-design #root > .wpb-top-controls > button { transition: none !important; }
  html.wpb-design #root .wpb-motion-card:hover,
  html.wpb-design #root section:nth-of-type(5) a:hover,
  html.wpb-design #root > .wpb-top-controls > button:hover { transform: none !important; }
}
