/* Local restoration safeguards: keep saved Webflow media and text responsive. */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

img,
video,
canvas,
svg {
  max-width: 100%;
}

/* Keep the saved page readable if the original typewriter script is unavailable. */
.hero-title .caret {
  display: none !important;
}

/* Header items stay interactive visually but intentionally do not navigate. */
.logo-nav-video,
.pagelinks .nav-link {
  cursor: pointer;
}

.pagelinks .nav-link {
  -webkit-tap-highlight-color: transparent;
  outline: none;
  user-select: none;
  -webkit-user-select: none;
}

.pagelinks .nav-link:focus,
.pagelinks .nav-link:focus-visible,
.pagelinks .nav-link:active {
  outline: none;
}

.pagelinks .nav-link *,
.pagelinks .nav-link *::selection {
  user-select: none;
  -webkit-user-select: none;
  background: transparent;
}

.card-button-container .link-block {
  cursor: pointer;
}

.launch-app,
.hero .link-block,
.footer .link-block-2 {
  cursor: pointer;
}

button.interact-button {
  appearance: none;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: transparent;
  margin: 0;
  color: inherit;
  font: inherit;
  text-align: inherit;
  user-select: none;
  -webkit-user-select: none;
}

button.interact-button:focus,
button.interact-button:focus-visible,
button.interact-button:active {
  outline: none;
}

button.interact-button * {
  user-select: none;
  -webkit-user-select: none;
}

button.interact-button.button:not(.button-secondary) {
  border: 0;
}

.interact-button.button.button-secondary {
  background-color: transparent;
}

/* Split-text markup contains formatted whitespace between every character.
   Flex removes those artificial gaps; margins restore real word spacing. */
.reveal-type > .word {
  display: inline-flex !important;
}

.reveal-type > .word + .word {
  margin-left: 0.28em;
}

.flex-box-17-subtitle .p {
  word-spacing: 0.12em;
}

/* Recreate Webflow hover interactions after href attributes were removed. */
.logo-nav-video,
.pagelinks .nav-link,
.card-button-container .link-block,
.launch-app,
.launch-app .button,
.hero .link-block,
.hero .link-block .button,
.footer .link-block-2,
.footer .link-block-2 .button-secondary {
  transition: transform 260ms ease, filter 260ms ease, border-color 260ms ease,
    background-color 260ms ease;
}

.logo-nav-video:hover {
  filter: brightness(1.18);
  transform: translateY(-1px);
}

.pagelinks .nav-link .pricing {
  transition: color 220ms ease;
}

.pagelinks .nav-link:hover .pricing {
  color: var(--primary-text);
}

.pagelinks .nav-link .link-hover-trail,
.pagelinks .nav-link .link-hover {
  transition: width 280ms ease, opacity 220ms ease, transform 280ms ease;
}

.pagelinks .nav-link:hover .link-hover-trail {
  width: 100%;
}

.pagelinks .nav-link:hover .link-hover {
  opacity: 1;
}

.launch-app:hover,
.launch-app:hover .button,
.hero .link-block:hover,
.hero .link-block:hover .button {
  filter: brightness(1.1);
  transform: translateY(-1px);
}

.launch-app .icon-button,
.hero .link-block .icon-button,
.launch-app .vector-700,
.hero .link-block .vector-700 {
  overflow: hidden;
  transition: width 300ms ease, height 300ms ease, transform 300ms ease;
}

.launch-app:hover .icon-button.flex-left,
.hero .link-block:hover .icon-button.flex-left {
  width: 24px !important;
  height: 12px !important;
}

.launch-app:hover .icon-button.flex-left .vector-700,
.hero .link-block:hover .icon-button.flex-left .vector-700 {
  transform: translate3d(0, 0, 0) !important;
}

.launch-app:hover .icon-button.flex-right,
.hero .link-block:hover .icon-button.flex-right {
  width: 0 !important;
  height: 0 !important;
}

.launch-app:hover .icon-button.flex-right .vector-700,
.hero .link-block:hover .icon-button.flex-right .vector-700 {
  transform: translate3d(40px, 0, 0) !important;
}

.card-button-container .button-hover-bg,
.footer .link-block-2 .button-hover-bg,
.card-button-container .text-button-secondary,
.footer .link-block-2 .text-button-secondary,
.card-button-container .icon-secondary-button,
.footer .link-block-2 .icon-secondary-button {
  transition: transform 340ms ease, color 240ms ease, filter 240ms ease;
}

.card-button-container .link-block:hover .button-hover-bg,
.footer .link-block-2:hover .button-hover-bg {
  transform: translate3d(100%, 0, 0) !important;
}

.card-button-container .link-block:hover .text-button-secondary,
.footer .link-block-2:hover .text-button-secondary {
  color: #111722 !important;
}

.card-button-container .link-block:hover .icon-secondary-button,
.footer .link-block-2:hover .icon-secondary-button {
  filter: invert(1) !important;
}

/* The original hero artwork is a Rive animation. This local bitmap keeps the
   composition visible while Rive is loading or when file:// blocks scripts. */
.pro-hero-rive {
  background-image: url("68b98188c8977048233b4dab/68e97d8d8c904bc29515c79f_663fe5a0e59384abf90667f2215187f8_hero_grid_2.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

@media screen and (max-width: 767px) {
  .hero-text {
    width: calc(100vw - 72px) !important;
    max-width: calc(100vw - 72px) !important;
    min-width: 0 !important;
  }

  .hero-text > .flex {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .hero-text .p,
  .hero-tag-text {
    width: calc(100vw - 92px) !important;
    max-width: calc(100vw - 92px) !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal;
  }
}
