/* Preserve the captured layout, breakpoints and motion; change only brand/theme. */
html {
  background: #fff;
}
.framer-IPfk1 .framer-azy8z0 {
  display: none !important;
}
* {
  scrollbar-width: none;
}
::-webkit-scrollbar {
  display: none;
}
[data-isea-download] svg,
[data-isea-download] svg * {
  color: inherit !important;
}
h1.framer-text {
  white-space: pre-line;
}
/* A type-led hero over the default React Bits Atmosphere horizon. */
.framer-IPfk1 .framer-1nbsicx {
  justify-content: center;
  height: 100svh;
  min-height: 680px;
  overflow: hidden;
}
.framer-IPfk1 .framer-12hjm1y {
  width: 100%;
  padding: 160px 32px 100px;
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
.framer-IPfk1 .framer-165sprx {
  width: 100%;
  max-width: 1000px;
  gap: 36px;
}
.framer-IPfk1 .framer-15r8dty {
  gap: 28px;
}
.framer-IPfk1 h1.framer-text {
  font-size: clamp(52px, 6.2vw, 88px);
  line-height: 1.14;
  letter-spacing: -0.055em;
  text-wrap: balance;
  text-shadow: 0 2px 32px #0005;
}
.framer-IPfk1 .framer-v7pg01 {
  width: 100%;
  max-width: 560px;
}
.framer-IPfk1 .framer-v7pg01 p {
  font-size: 18px;
  line-height: 1.75;
  color: #ffffffb8 !important;
  text-wrap: balance;
}
.framer-IPfk1 .framer-z34nao {
  gap: 16px;
}
.framer-IPfk1 .framer-mf5z50 {
  display: none;
}
.framer-IPfk1 .isea-brand {
  padding: 8px 12px 8px 8px;
  border: 1px solid #ffffff26;
  border-radius: 999px;
  background: #080c1acc;
  backdrop-filter: blur(16px);
}
.framer-IPfk1 .framer-77ikz3-container > a {
  background-color: #080c1acc !important;
}
.framer-1ikx6br h2,
.framer-175sfx9 h2 {
  white-space: pre-line;
}
.framer-1gepkct h2,
.framer-gu752u h2 {
  white-space: pre-line;
}
/* The canvas glow uses its own shader palette; align its purple hue with blue. */
div:has(> canvas[style*="filter"]) {
  filter: hue-rotate(-45deg);
}
.isea-static-hero {
  background: radial-gradient(ellipse at 65% 22%, #3b82f6 0, #1e3a5f 40%, #0f172a 100%) !important;
}
[data-framer-name="Hero Video"] {
  background: #0f172a;
}
[data-framer-name="Hero Video"] .isea-static-hero {
  display: none;
}
.isea-background {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.isea-background--hero {
  background: #06070b;
}
.isea-background--footer {
  background: radial-gradient(ellipse at 85% 0%, #15366a, #0a1831 60%, #071225);
}
/* Keep the original phone reveal and its scroll transforms around an App capture. */
.framer-tiv019 {
  display: none !important;
}
.framer-580r7q-container {
  --isea-phone-progress: 0;
  opacity: var(--isea-phone-progress) !important;
  transform: translate3d(0, calc((1 - var(--isea-phone-progress)) * 36px), 0)
    scale(calc(0.98 + var(--isea-phone-progress) * 0.02)) !important;
  filter: blur(calc((1 - var(--isea-phone-progress)) * 3px));
}
.framer-1ivqts8 > * {
  visibility: hidden;
}
.framer-1ivqts8::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: url("/product-screens/capture.webp") top center / 100% auto no-repeat #f5f5f5;
}
/* Simulator captures already include the status bar and Dynamic Island. */
.framer-7chgl3 {
  display: none !important;
}
[data-framer-name^="Screen"]:has(> div > img[src^="/product-screens/"]) {
  border-radius: 12% / 5.5% !important;
  overflow: hidden;
}
img[src^="/product-screens/"] {
  object-position: top center !important;
}
.framer-jghjjp,
.framer-1dtxwj9,
.framer-evc5zf {
  border-radius: 28px;
  overflow: hidden;
  top: 20px !important;
  bottom: 146px !important;
  left: 20px !important;
  width: calc(100% - 40px) !important;
  height: auto !important;
  transform: none !important;
}
.framer-nxbaic {
  background: #0f172a;
}
/* Replace the photographed devices together with the old footer scenery. */
.framer-m21vlc,
.framer-1586k7z-container {
  display: none !important;
}
#x-gapp-modal,
#x-privacy-modal {
  display: none !important;
}
.isea-brand {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: inherit;
  text-decoration: none;
  font: 600 20px/1 sans-serif;
  white-space: nowrap;
}
.isea-brand img {
  width: 30px;
  height: 30px;
  border-radius: 8px;
}
.isea-brand small {
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.12em;
}
[data-isea-brand] > :not(.isea-brand) {
  display: none !important;
}
[data-isea-brand] {
  width: 150px !important;
  min-height: 32px;
  color: white !important;
  justify-content: flex-start !important;
}
a:focus-visible,
button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 5px;
}
.isea-storage-note {
  font: 12px/1.8 sans-serif;
  max-width: 400px;
  color: #777;
}
[data-framer-name="BlackFooter"] .framer-3ij04w {
  background-image: url("/brand.png") !important;
  border-radius: 7px;
}
@media (max-width: 809.98px) {
  /* Chinese glyphs need breathing room inside the original mobile layout. */
  .framer-IPfk1 .framer-175sfx9 h2,
  .framer-IPfk1 .framer-16xbf6w h2,
  .framer-IPfk1 .framer-5yzjmg h2 {
    line-height: 1.2;
  }
  .framer-IPfk1 .framer-5yzjmg {
    padding-block: 6px;
    text-wrap: balance;
  }
  /* The cleanup scroll marker overlaps the next heading on narrow screens.
     Retain its geometry and trigger; let the section underneath show through. */
  .framer-IPfk1 .framer-d06ing {
    background-color: transparent;
  }
  .framer-1e50np2 .framer-gu752u h2 {
    font-size: clamp(40px, 12vw, 48px);
    line-height: 1.12;
  }
  /* Keep the 64px clipping window and all original variant positions/transforms.
     Only fit and center the Chinese labels within that existing animation. */
  .framer-1e50np2 .framer-8uz609 > div {
    left: 0 !important;
    width: 100%;
  }
  .framer-1e50np2 .framer-8uz609 p {
    font-size: 40px;
    line-height: 56px;
    text-align: center;
  }
  /* Floating stickers keep their motion behind the readable title and pill. */
  .framer-dnlesy .framer-bso0ge {
    z-index: 20;
  }
  .framer-dnlesy .framer-vc2gk9 {
    background: #fff;
    box-shadow: 0 0 20px 12px #fff;
  }
  .framer-dnlesy .framer-vc2gk9 p {
    font-size: clamp(28px, 8.2vw, 36px);
    line-height: 1.2;
  }
  .framer-dnlesy .framer-wk3kee-container {
    background: #fff;
    border-radius: 42px;
  }
  .framer-kzlg07,
  .framer-q94zh8 {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }
  .framer-kzlg07 > *,
  .framer-q94zh8 > * {
    width: auto !important;
  }
  .framer-IPfk1 h1.framer-text {
    font-size: clamp(38px, 10.5vw, 60px) !important;
  }
  .framer-IPfk1 .framer-12hjm1y {
    padding: 140px 24px 100px;
  }
  .framer-IPfk1 .framer-165sprx {
    gap: 24px;
  }
  .framer-v7pg01 {
    min-height: 0;
  }
  .framer-IPfk1 .framer-v7pg01 p {
    font-size: 16px !important;
  }
  /* Retain the reference's reading/scroll distance after Chinese localization. */
  .framer-o8txm-container {
    min-height: 595.46875px;
  }
  .framer-1nfs7gx,
  .framer-aqpfoi,
  .framer-1680qs4 {
    min-height: 126.09375px;
  }
  .framer-1oawu8q {
    min-height: 314px;
  }
  .framer-1sq2ec0 {
    min-height: 356px;
  }
}
@media (max-width: 809.98px) and (max-height: 760px) {
  .framer-IPfk1 .framer-1nbsicx {
    min-height: 600px;
  }
  .framer-v7pg01 {
    min-height: 0;
  }
  .framer-v7pg01 p {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }
}
@media (max-width: 359.98px) {
  .framer-IPfk1 .framer-z34nao {
    gap: 8px;
    overflow: visible;
  }
  .framer-IPfk1 .framer-z34nao > div {
    flex: 1 1 0;
    min-width: 0;
  }
  .framer-IPfk1 .framer-z34nao a {
    padding-inline: 10px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .framer-580r7q-container {
    transform: none !important;
    filter: none;
  }
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
[data-isea-menu] {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: white !important;
  border-radius: 50% !important;
}
