html:has(.lp-root) {
  --color-white: #ffffff;
  --color-ink: #000000;
  --color-accent: #f6771c;
  --color-navy: #18223e;
  --color-placeholder: #dddddd;
  --gradient-soft: linear-gradient(121.289deg, rgba(78, 220, 255, 0.2) 0%, rgba(55, 88, 249, 0.2) 100%);
  --gradient-card: linear-gradient(150.813deg, rgba(78, 220, 255, 0.2) 0%, rgba(55, 88, 249, 0.2) 100%);
  --hero-lock-height: 100vh;
  --lp-header-height: 7.2rem;
  --lp-content-max: 100rem;
  font-size: 10px;
  scroll-behavior: smooth;
}

html:has(.lp-root) *,
html:has(.lp-root) *::before,
html:has(.lp-root) *::after {
  box-sizing: border-box;
}

html:has(.lp-root),
html:has(.lp-root) body {
  margin: 0;
  width: 100%;
  overflow-x: hidden;
}

html:has(.lp-root) body {
  overflow-x: hidden;
  background: var(--color-white);
  color: var(--color-ink);
  font-family: "M PLUS 1p", sans-serif;
}

html:has(.lp-root) img {
  display: block;
  max-width: 100%;
}

html:has(.lp-root) a {
  color: inherit;
  text-decoration: none;
}

html:has(.lp-root) button,
html:has(.lp-root) a {
  transition: transform 0.2s ease, opacity 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

html:has(.lp-root) button {
  font: inherit;
}

html:has(.lp-root) p,
html:has(.lp-root) h1,
html:has(.lp-root) h2,
html:has(.lp-root) h3,
html:has(.lp-root) ul {
  margin: 0;
}

html:has(.lp-root) .page {
  width: 100%;
}

html:has(.lp-root) .page--lp {
  padding-top: var(--lp-header-height);
}

html:has(.lp-root) .lp-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 40;
  pointer-events: none;
}

html:has(.lp-root) .lp-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.4rem;
  width: min(100%, 157.6rem);
  margin: 0 auto;
  padding: 2.4rem 3.2rem 2.8rem;
}

html:has(.lp-root) .lp-header__brand {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  flex: 0 0 auto;
  padding: 0;
  border: 0;
  background: transparent;
  pointer-events: auto;
  cursor: pointer;
}

html:has(.lp-root) .lp-header__brand-image {
  display: block;
  width: 16.8rem;
  height: auto;
}

html:has(.lp-root) .lp-header__brand--mobile {
  display: none;
}

html:has(.lp-root) .lp-header__symbol {
  display: block;
  width: 4.4rem;
  height: auto;
}

html:has(.lp-root) .lp-header__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1.2rem;
  pointer-events: auto;
}

html:has(.lp-root) .lp-header__button {
  min-height: 4.6rem;
  padding-inline: 2.4rem !important;
  border-radius: 99rem !important;
  font-family: "M PLUS 1p", sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.01rem !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

html:has(.lp-root) .lp-header__button--login {
  border: 0.4rem solid var(--color-ink) !important;
  background: var(--color-white) !important;
  color: var(--color-ink) !important;
}

html:has(.lp-root) .lp-header__button--trial {
  background: var(--color-ink) !important;
  color: var(--color-white) !important;
}

html:has(.lp-root) .lp-subpage {
  width: 100%;
  padding: 12.8rem 0;
  background: var(--color-white);
}

html:has(.lp-root) .lp-subpage__inner {
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
  width: min(calc(100% - 6.4rem), var(--lp-content-max));
  margin: 0 auto;
}

html:has(.lp-root) .lp-subpage__header {
  display: flex;
  justify-content: center;
  width: 100%;
}

html:has(.lp-root) .lp-subpage__page-title {
  width: 100%;
  font-size: 6.4rem;
  font-weight: 800;
  letter-spacing: 0.32rem;
  line-height: 1.5;
  text-align: center;
}

html:has(.lp-root) .lp-subpage__content {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  width: 100%;
}

html:has(.lp-root) .lp-subpage__h2 {
  width: 100%;
  padding: 0.8rem 2.4rem;
  border-left: 0.8rem solid var(--color-accent);
  background: #fbeee4;
  font-size: 3.6rem;
  font-weight: 800;
  letter-spacing: 0.18rem;
  line-height: 1.5;
}

html:has(.lp-root) .lp-subpage__h3 {
  width: 100%;
  padding: 3.2rem 0 0.8rem;
  border-bottom: 0.2rem solid var(--color-accent);
  font-size: 3.2rem;
  font-weight: 800;
  letter-spacing: 0.16rem;
  line-height: 1.5;
}

html:has(.lp-root) .lp-subpage__h4 {
  width: 100%;
  padding-left: 1.6rem;
  border-left: 0.4rem solid var(--color-accent);
  font-size: 2.4rem;
  font-weight: 800;
  letter-spacing: 0.12rem;
  line-height: 1.5;
}

html:has(.lp-root) .lp-subpage__body {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.08rem;
  line-height: 1.75;
}

html:has(.lp-root) .lp-subpage__body > * + * {
  margin-top: 0.8rem;
}

html:has(.lp-root) .lp-subpage__list {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

html:has(.lp-root) .lp-subpage__list-item {
  display: grid;
  align-items: start;
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.08rem;
  line-height: 1.75;
}

html:has(.lp-root) .lp-subpage__list-item--unordered {
  grid-template-columns: 2.8rem minmax(0, 1fr);
}

html:has(.lp-root) .lp-subpage__list-item--ordered {
  grid-template-columns: 2.8rem minmax(0, 1fr);
  gap: 0.4rem;
}

html:has(.lp-root) .lp-subpage__list-marker {
  display: inline-flex;
  align-items: flex-start;
  justify-content: center;
  width: 2.8rem;
}

html:has(.lp-root) .lp-subpage__list-marker--dot::before {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  margin-top: 1rem;
  border-radius: 50%;
  background: var(--color-ink);
}

html:has(.lp-root) .lp-subpage__list-marker--ordered {
  font-family: "Inter", sans-serif;
  font-size: 1.6rem;
  font-weight: 600;
  font-feature-settings: "ss01" 1, "lnum" 1, "tnum" 1;
  line-height: 1.75;
  text-align: right;
}

html:has(.lp-root) .lp-subpage__list-content {
  min-width: 0;
}

html:has(.lp-root) .lp-subpage__definition-list {
  width: 100%;
  margin: 0;
}

html:has(.lp-root) .lp-subpage__definition-list--table {
  border-top: 0.2rem solid var(--color-ink);
}

html:has(.lp-root) .lp-subpage__definition-row {
  display: grid;
  grid-template-columns: 30.5rem minmax(0, 1fr);
  width: 100%;
  border-bottom: 0.2rem solid var(--color-ink);
}

html:has(.lp-root) .lp-subpage__definition-term,
html:has(.lp-root) .lp-subpage__definition-description {
  margin: 0;
  padding: 1.2rem 1.6rem;
  font-size: 1.6rem;
  letter-spacing: 0.08rem;
  line-height: 1.75;
}

html:has(.lp-root) .lp-subpage__definition-term {
  font-weight: 700;
}

html:has(.lp-root) .lp-subpage__definition-description {
  font-weight: 500;
}

html:has(.lp-root) .lp-subpage__definition-rich {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

html:has(.lp-root) .lp-subpage__definition-rich .lp-subpage__list {
  gap: 0.4rem;
}

html:has(.lp-root).js .reveal {
  --reveal-base-transform: none;
  --reveal-offset-x: 0rem;
  --reveal-offset-y: 4rem;
  --reveal-scale: 0.98;
  --reveal-blur: 0.8rem;
  --reveal-delay: 0ms;
  --reveal-ease: cubic-bezier(0.22, 1, 0.36, 1);
  opacity: 0;
  filter: blur(var(--reveal-blur));
  transform: var(--reveal-base-transform) translate3d(var(--reveal-offset-x), var(--reveal-offset-y), 0) scale(var(--reveal-scale));
  transform-origin: center;
  transition:
    opacity 0.56s var(--reveal-ease) var(--reveal-delay),
    transform 0.82s var(--reveal-ease) var(--reveal-delay),
    filter 0.72s var(--reveal-ease) var(--reveal-delay);
  will-change: opacity, transform, filter;
}

html:has(.lp-root).js .reveal.is-revealed {
  opacity: 1;
  filter: blur(0);
  transform: var(--reveal-base-transform) translate3d(0, 0, 0) scale(1);
}

html:has(.lp-root).js .reveal--left {
  --reveal-offset-x: -4.8rem;
  --reveal-offset-y: 0rem;
}

html:has(.lp-root).js .reveal--right {
  --reveal-offset-x: 4.8rem;
  --reveal-offset-y: 0rem;
}

html:has(.lp-root).js .reveal--up {
  --reveal-offset-y: 4rem;
}

html:has(.lp-root).js .reveal--scale {
  --reveal-offset-y: 2rem;
  --reveal-scale: 0.94;
}

html:has(.lp-root) .hero {
  position: relative;
  z-index: 2;
  height: min(100vh, var(--hero-lock-height));
  min-height: 96rem;
  padding: 3.2rem;
}

html:has(.lp-root) .hero__frame {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 0;
  border-radius: 3.2rem;
  background-image: var(--gradient-soft);
  overflow: visible;
}

html:has(.lp-root) .hero__content {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  position: relative;
  width: 137.6rem;
  max-width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0 auto;
  padding: 8rem 11.8rem;
  overflow: visible;
}

html:has(.lp-root) .hero__headline {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 72rem);
  align-items: center;
  gap: 6.4rem;
  position: relative;
  z-index: 1;
  width: 100%;
  margin-top: 2.8rem;
}

html:has(.lp-root) .hero__brand {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}

html:has(.lp-root) .hero__brand-image {
  display: block;
  width: min(100%, 64rem);
  height: auto;
}

html:has(.lp-root) .hero__logo-wrap {
  display: none;
  position: absolute;
  top: 3.2rem;
  left: 3.2rem;
  z-index: 4;
  pointer-events: none;
}

html:has(.lp-root) .hero__logo {
  display: block;
  width: 18.2rem;
  height: auto;
}

html:has(.lp-root) .hero__scroll-indicator {
  position: absolute;
  left: 1.6rem;
  bottom: 1.6rem;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
  pointer-events: none;
}

html:has(.lp-root) .hero__scroll-label {
  display: inline-block;
  font-family: "Inter", sans-serif;
  font-size: 3.2rem;
  font-weight: 900;
  letter-spacing: 0.12rem;
  line-height: 1;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

html:has(.lp-root) .hero__scroll-track {
  position: relative;
  width: 3.8rem;
  height: 12.4rem;
  border: 0.5rem solid var(--color-ink);
  border-radius: 99rem;
  background: var(--color-white);
  overflow: hidden;
}

html:has(.lp-root) .hero__scroll-dot {
  position: absolute;
  top: 0.8rem;
  left: 50%;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  background: var(--color-ink);
  transform: translateX(-50%);
  animation: hero-scroll-dot 2.4s ease-in-out infinite;
}

html:has(.lp-root) .hero__copy {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  position: relative;
  z-index: 1;
  width: 100%;
  min-width: 0;
  padding: 1.6rem 0 1.6rem 5.8rem;
  border-left: 0.6rem solid var(--color-ink);
}

html:has(.lp-root) .hero__stat {
  font-size: 0;
  font-weight: 900;
  letter-spacing: 0.32rem;
  line-height: 1;
}

html:has(.lp-root) .hero__stat-number {
  font-size: 6.4rem;
}

html:has(.lp-root) .hero__stat-unit {
  font-size: 4.8rem;
}

html:has(.lp-root) .hero__title {
  font-size: 4.8rem;
  font-weight: 900;
  letter-spacing: 0.32rem;
  line-height: 1.25;
}

html:has(.lp-root) .hero__body {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.1rem;
  line-height: 1.5;
}

html:has(.lp-root) .hero__support {
  position: relative;
  z-index: 1;
  width: 100%;
  margin-top: 0.8rem;
}

html:has(.lp-root) .hero__chips {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.6rem;
  position: relative;
  z-index: 1;
  width: 100%;
}

html:has(.lp-root) .hero__scroll-indicator--mobile {
  display: none;
}

html:has(.lp-root) .hero__chip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  min-height: 5.6rem;
  padding: 1.6rem 2.4rem;
  border: 0.6rem solid var(--color-ink);
  border-radius: 99rem;
  background: var(--color-accent);
  color: var(--color-white);
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.12rem;
  line-height: 1;
}

html:has(.lp-root) .hero__chip-icon {
  flex: 0 0 auto;
  font-size: 2.6rem;
  line-height: 1;
  font-variation-settings: "FILL" 1, "wght" 700, "GRAD" 0, "opsz" 24;
}

html:has(.lp-root) .hero__visual {
  position: absolute;
  left: 50%;
  bottom: -15.1rem;
  width: 95.7rem;
  max-width: 100%;
  transform: translateX(-50%);
  z-index: 2;
  pointer-events: none;
}

html:has(.lp-root) .hero__visual-image {
  display: block;
  width: 100%;
  height: auto;
}

html:has(.lp-root) .section {
  position: relative;
  z-index: 1;
  width: 100%;
  border-top: 0.6rem solid var(--color-ink);
}

html:has(.lp-root) .section--orange,
html:has(.lp-root) .section--light,
html:has(.lp-root) .faq-section {
  padding: 12.8rem 0;
}

html:has(.lp-root) .section--navy {
  overflow: hidden;
  padding: 19.2rem 0 0;
  background: var(--color-navy);
}

html:has(.lp-root) .section--orange {
  background: var(--color-accent);
}

html:has(.lp-root) .section--light,
html:has(.lp-root) .faq-section {
  background: var(--color-white);
}

html:has(.lp-root) .section__inner {
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
  width: min(calc(100% - 6.4rem), var(--lp-content-max));
  margin: 0 auto;
}

html:has(.lp-root) .section__inner--centered {
  align-items: center;
  gap: 6.6rem;
}

html:has(.lp-root) .section-title {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

html:has(.lp-root) .section-title--center {
  align-items: center;
  text-align: center;
}

html:has(.lp-root) .eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  position: relative;
  min-height: 4rem;
  padding: 1.2rem 1.6rem 1rem;
  border-radius: 99rem;
  font-size: 1.6rem;
  font-weight: 900;
  letter-spacing: 0.08rem;
  line-height: 1;
}

html:has(.lp-root) .eyebrow::after {
  content: "";
  position: absolute;
  left: 3.2rem;
  top: calc(100% - 0.2rem);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.4rem 0 0 1.2rem;
}

html:has(.lp-root) .eyebrow--dark {
  background: var(--color-ink);
  color: var(--color-white);
}

html:has(.lp-root) .eyebrow--dark::after {
  border-color: var(--color-ink) transparent transparent transparent;
}

html:has(.lp-root) .eyebrow--accent {
  background: var(--color-accent);
  color: var(--color-white);
}

html:has(.lp-root) .eyebrow--accent::after {
  border-color: var(--color-accent) transparent transparent transparent;
}

html:has(.lp-root) .section-heading {
  font-size: 6.4rem;
  font-weight: 800;
  letter-spacing: 0.32rem;
  line-height: 1.25;
}

html:has(.lp-root) .section-heading--white {
  color: var(--color-white);
}

html:has(.lp-root) .section-heading--center {
  line-height: 1.5;
}

html:has(.lp-root) .section-lead {
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.12rem;
  line-height: 1.5;
}

html:has(.lp-root) .section-lead--white {
  color: var(--color-white);
}

html:has(.lp-root) .section-lead--center {
  line-height: 1.75;
}

html:has(.lp-root) .problem-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4.8rem;
}

html:has(.lp-root) .problem-card {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  position: relative;
  padding: 4.8rem;
  border-radius: 3.2rem;
  background: var(--color-white);
}

html:has(.lp-root) .problem-card__label {
  color: var(--color-white);
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 4.8rem;
  font-weight: 900;
  letter-spacing: 0.06rem;
  line-height: 1;
  text-shadow:
    -0.16rem -0.16rem 0 var(--color-ink),
    0.16rem -0.16rem 0 var(--color-ink),
    -0.16rem 0.16rem 0 var(--color-ink),
    0.16rem 0.16rem 0 var(--color-ink);
}

html:has(.lp-root) .problem-card__content {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  position: relative;
  z-index: 1;
}

html:has(.lp-root) .problem-card__list {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  align-items: flex-start;
  padding: 0;
  list-style: none;
}

html:has(.lp-root) .problem-card__item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  width: fit-content;
  padding: 0.3rem 0.8rem 0.3rem 0.6rem;
  background: var(--color-white);
  font-size: 1.6rem;
  font-weight: 900;
  letter-spacing: 0.08rem;
  line-height: 1.75;
}

html:has(.lp-root) .problem-card__icon {
  flex: 0 0 auto;
  font-size: 2rem;
  line-height: 1.4;
  font-variation-settings:
    "FILL" 0,
    "wght" 700,
    "GRAD" 0,
    "opsz" 24;
}

html:has(.lp-root) .problem-card__icon--before {
  color: #ff1601;
}

html:has(.lp-root) .problem-card__icon--after {
  color: #00d739;
}

html:has(.lp-root) .problem-card__text {
  flex: 1 1 auto;
}

html:has(.lp-root) .problem-card__visual {
  position: absolute;
  right: 0;
  bottom: 0;
  pointer-events: none;
}

html:has(.lp-root) .problem-card__visual img {
  display: block;
  width: 100%;
  height: auto;
}

html:has(.lp-root) .problem-card__visual--before {
  right: -1rem;
  bottom: -2.1rem;
  width: 30rem;
}

html:has(.lp-root) .problem-card__visual--after {
  right: -1.6rem;
  bottom: -3.9rem;
  width: 28rem;
}

html:has(.lp-root) .feature-stack {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3.2rem;
}

html:has(.lp-root) .feature-block {
  width: 100%;
  min-height: 27rem;
  border-radius: 3.2rem;
}

html:has(.lp-root) .feature-block--wide {
  grid-column: span 2;
}

html:has(.lp-root) .feature-block--narrow {
  grid-column: span 1;
}

html:has(.lp-root) .feature-block--text {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  justify-content: flex-start;
  padding: 6.4rem;
  background-image: var(--gradient-card);
}

html:has(.lp-root) .feature-block--placeholder {
  background: var(--color-placeholder);
}

html:has(.lp-root) .feature-block--video {
  overflow: hidden;
}

html:has(.lp-root) .feature-block__video {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 27rem;
  object-fit: cover;
  transform: scale(1.03);
  transform-origin: center;
}

html:has(.lp-root) .feature-block__title {
  display: flex;
  align-items: center;
  gap: 2.4rem;
  font-size: 3.2rem;
  font-weight: 800;
  letter-spacing: 0.16rem;
  line-height: 1.75;
}

html:has(.lp-root) .feature-block__dot {
  flex: 0 0 auto;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  background: var(--color-accent);
}

html:has(.lp-root) .feature-block__body {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.1rem;
  line-height: 1.75;
}

html:has(.lp-root) .usecase-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3.2rem;
  width: 100%;
}

html:has(.lp-root) .usecase-card {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  min-height: 56rem;
  padding: 4.8rem;
  border-radius: 3.2rem;
  background: var(--color-white);
  color: var(--color-ink);
  overflow: hidden;
}

html:has(.lp-root) .usecase-card__title {
  font-size: 3.2rem;
  font-weight: 800;
  letter-spacing: 0.16rem;
  line-height: 1.75;
  text-align: center;
}

html:has(.lp-root) .usecase-pills {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}

html:has(.lp-root) .usecase-pill {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  min-height: 5.8rem;
  padding: 1.6rem 3.2rem;
  border-radius: 99rem;
  background: var(--color-navy);
  color: var(--color-white);
  font-size: 1.8rem;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
}

html:has(.lp-root) .usecase-pill::after {
  content: "";
  position: absolute;
  bottom: -1.1rem;
  width: 1.2rem;
  height: 1.2rem;
  background: var(--color-navy);
}

html:has(.lp-root) .usecase-pill:nth-child(odd)::after {
  left: 4rem;
  clip-path: polygon(0 0, 100% 0, 100% 100%);
}

html:has(.lp-root) .usecase-pill:nth-child(even)::after {
  right: 4rem;
  clip-path: polygon(0 0, 100% 0, 0 100%);
}

html:has(.lp-root) .usecase-card__visual {
  width: calc(100% + 9.6rem);
  margin: auto -4.8rem -4.8rem;
}

html:has(.lp-root) .usecase-card__visual img {
  display: block;
  width: 100%;
  height: auto;
}

html:has(.lp-root) .city-divider {
  position: relative;
  height: 31rem;
  margin-top: 6.4rem;
  margin-bottom: -1rem;
  background: transparent;
  overflow: hidden;
}

html:has(.lp-root) .city-divider__layer {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
}

html:has(.lp-root) .city-divider__layer--back {
  z-index: 1;
  height: 24rem;
}

html:has(.lp-root) .city-divider__layer--mid {
  z-index: 2;
  height: 21rem;
}

html:has(.lp-root) .city-divider__layer--front {
  z-index: 3;
  height: 23rem;
}

html:has(.lp-root) .city-divider__track {
  display: flex;
  width: max-content;
  height: 100%;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  will-change: transform;
}

html:has(.lp-root) .city-divider__track img {
  display: block;
  flex: 0 0 auto;
  width: auto;
  height: 100%;
  max-width: none;
}

html:has(.lp-root) .city-divider__layer--back .city-divider__track {
  animation: city-scroll-back 74.667s linear infinite;
}

html:has(.lp-root) .city-divider__layer--mid .city-divider__track {
  animation: city-scroll-mid 53.333s linear infinite;
}

html:has(.lp-root) .city-divider__layer--front .city-divider__track {
  animation: city-scroll-front 37.333s linear infinite;
}

html:has(.lp-root) .section--pricing {
  border-top: 0;
  padding-bottom: 12.8rem;
}

html:has(.lp-root) .pricing-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.2rem;
}

html:has(.lp-root) .pricing-card {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  padding: 3.2rem;
  border-radius: 3.2rem;
  background: var(--color-navy);
  color: var(--color-white);
}

html:has(.lp-root) .pricing-card__header {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

html:has(.lp-root) .pricing-card__title {
  font-size: 3.2rem;
  font-weight: 900;
  letter-spacing: 0.04rem;
  line-height: 1.15;
}

html:has(.lp-root) .pricing-card__note {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.08rem;
  line-height: 1.55;
}

html:has(.lp-root) .pricing-card__price {
  font-family: "Inter", sans-serif;
  font-size: 4.6rem;
  font-weight: 900;
  letter-spacing: 0.04rem;
  line-height: 1;
  white-space: nowrap;
}

html:has(.lp-root) .pricing-card__price-unit,
html:has(.lp-root) .pricing-card__price-suffix {
  font-size: 2rem;
  font-weight: 900;
}

html:has(.lp-root) .pricing-card__button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 5.6rem;
  padding: 0 6rem;
  border: 0;
  border-radius: 99rem;
  background: var(--color-white);
  color: var(--color-navy);
  cursor: pointer;
  font-size: 2rem;
  font-weight: 900;
  letter-spacing: 0.04rem;
  line-height: 1;
}

html:has(.lp-root) .pricing-card__button-label {
  display: block;
  width: 100%;
  text-align: center;
}

html:has(.lp-root) .pricing-card__button-icon {
  position: absolute;
  top: 50%;
  right: 2.4rem;
  font-size: 3rem;
  transform: translateY(-50%);
  font-variation-settings: "FILL" 0, "wght" 700, "GRAD" 0, "opsz" 24;
}

html:has(.lp-root) .pricing-card__features {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

html:has(.lp-root) .pricing-card__feature {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 1.2rem;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.04rem;
  line-height: 1.4;
}

html:has(.lp-root) .pricing-card__feature-icon {
  color: #00d739;
  font-size: 2.8rem;
  font-variation-settings: "FILL" 1, "wght" 700, "GRAD" 0, "opsz" 24;
}

html:has(.lp-root) .faq-section {
  padding-bottom: 25.6rem;
}

html:has(.lp-root) .faq-list {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}

html:has(.lp-root) .faq-item {
  overflow: hidden;
  border: 0.6rem solid var(--color-ink);
  border-radius: 3.2rem;
  background: var(--color-white);
}

html:has(.lp-root) .faq-question-heading {
  margin: 0;
}

html:has(.lp-root) .faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.4rem;
  width: 100%;
  padding: 2.8rem 3.2rem;
  border: 0;
  background: transparent;
  cursor: pointer;
  text-align: left;
}

html:has(.lp-root) .faq-question__main {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 2.4rem;
  min-width: 0;
}

html:has(.lp-root) .faq-question__icon {
  position: relative;
  flex: 0 0 3.2rem;
  width: 3.2rem;
  height: 3.2rem;
}

html:has(.lp-root) .faq-question__icon::before,
html:has(.lp-root) .faq-question__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2.4rem;
  height: 0.4rem;
  border-radius: 99rem;
  background: var(--color-ink);
  transform: translate(-50%, -50%);
  transition: transform 0.32s ease, opacity 0.24s ease;
}

html:has(.lp-root) .faq-question__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

html:has(.lp-root) .faq-item.is-open .faq-question__icon::after {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(90deg) scaleX(0);
}

html:has(.lp-root) .faq-answer-panel {
  height: 0;
  overflow: hidden;
  will-change: height;
  transition: height 0.42s cubic-bezier(0.22, 1, 0.36, 1);
}

html:has(.lp-root) .faq-answer {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: flex-start;
  gap: 2.4rem;
  padding: 0 3.2rem 3.2rem;
}

html:has(.lp-root) .faq-label {
  font-family: "Inter", sans-serif;
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 1.2;
}

html:has(.lp-root) .faq-answer > .faq-label {
  opacity: 0;
  transform: translateY(-0.8rem);
  transition: transform 0.42s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.24s ease;
}

html:has(.lp-root) .faq-item.is-open .faq-answer > .faq-label {
  opacity: 1;
  transform: translateY(0);
}

html:has(.lp-root) .faq-question__text {
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.12rem;
  line-height: 1.3;
}

html:has(.lp-root) .faq-answer__content {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  opacity: 0;
  transform: translateY(-0.8rem);
  transition: transform 0.42s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.24s ease;
}

html:has(.lp-root) .faq-item.is-open .faq-answer__content {
  opacity: 1;
  transform: translateY(0);
}

html:has(.lp-root) .faq-answer__lead {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.08rem;
  line-height: 1.75;
}

html:has(.lp-root) .faq-answer__body {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.08rem;
  line-height: 1.75;
}

html:has(.lp-root) .faq-question:hover {
  opacity: 0.88;
}

html:has(.lp-root) .faq-question:focus-visible {
  outline: 0.3rem solid var(--color-accent);
  outline-offset: -0.3rem;
}

html:has(.lp-root) .footer {
  position: relative;
  padding: 12.8rem 0 4.8rem;
  border-top: 0.6rem solid var(--color-ink);
  background: var(--color-navy);
  color: var(--color-white);
}

html:has(.lp-root) .footer__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12.8rem;
  width: min(calc(100% - 6.4rem), var(--lp-content-max));
  margin: 0 auto;
}

html:has(.lp-root) .back-to-top {
  position: absolute;
  top: 0;
  right: max(3.2rem, calc((100% - var(--lp-content-max)) / 2));
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 11.6rem;
  height: 11.6rem;
  border: 0.6rem solid var(--color-ink);
  border-radius: 2.8rem;
  background: var(--color-white);
  cursor: pointer;
  transform: translateY(-50%);
}

html:has(.lp-root) .back-to-top__icon {
  font-size: 5.2rem;
  line-height: 1;
  color: var(--color-ink);
  font-variation-settings: "FILL" 0, "wght" 700, "GRAD" 0, "opsz" 48;
  transition: transform 0.2s ease;
}

html:has(.lp-root) .footer-cta {
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
}

html:has(.lp-root) .footer-cta__lead-line {
  display: inline-block;
  white-space: nowrap;
  letter-spacing: 0;
  font-size: clamp(1rem, 2.6vw, 2.4rem);
}

html:has(.lp-root) .footer-cta__heading {
  white-space: nowrap;
}

html:has(.lp-root) .footer-cta__heading-break {
  display: none;
}

html:has(.lp-root) .footer-actions {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.2rem;
}

html:has(.lp-root) .cta-button {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 8rem;
  padding: 2.4rem;
  border: 0.4rem solid var(--color-white);
  border-radius: 99rem;
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 1;
}

html:has(.lp-root) .cta-button--secondary {
  background: transparent;
  color: var(--color-white);
}

html:has(.lp-root) .cta-button--primary {
  background: var(--color-white);
  color: var(--color-ink);
}

html:has(.lp-root) .footer-meta {
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
}

html:has(.lp-root) .footer-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6.4rem;
}

html:has(.lp-root) .footer-links a {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
}

html:has(.lp-root) .footer-copy {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1;
  text-align: center;
}

html:has(.lp-root) .cta-button:hover,
html:has(.lp-root) .footer-links a:hover {
  opacity: 0.88;
}

html:has(.lp-root) .cta-button:hover {
  transform: translateY(-0.2rem);
}

html:has(.lp-root) .back-to-top:hover .back-to-top__icon {
  transform: scale(1.12);
}

html:has(.lp-root) .back-to-top:focus-visible,
html:has(.lp-root) .cta-button:focus-visible,
html:has(.lp-root) .footer-links a:focus-visible {
  outline: 0.3rem solid var(--color-accent);
  outline-offset: 0.4rem;
}

@keyframes city-scroll-front {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(-50%, 0, 0);
  }
}

@keyframes city-scroll-mid {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(-50%, 0, 0);
  }
}

@keyframes city-scroll-back {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(-50%, 0, 0);
  }
}

@keyframes hero-scroll-dot {
  0% {
    opacity: 0;
    top: 0.8rem;
    transform: translateX(-50%) scale(0.9);
  }

  15% {
    opacity: 1;
    top: 0.8rem;
    transform: translateX(-50%) scale(1);
  }

  75% {
    opacity: 1;
    top: calc(100% - 2.4rem);
    transform: translateX(-50%) scale(1);
  }

  100% {
    opacity: 0;
    top: calc(100% - 2.4rem);
    transform: translateX(-50%) scale(0.9);
  }
}

@media (max-width: 1023px) {
  html:has(.lp-root) {
    --lp-header-height: 9.6rem;
  }

  html:has(.lp-root) .lp-header__inner {
    width: auto;
    gap: 2.4rem;
    padding: 2.8rem 3.2rem 3.2rem;
  }

  html:has(.lp-root) .lp-header__brand-image {
    width: 18.8rem;
  }

  html:has(.lp-root) .lp-header__actions {
    gap: 1.6rem;
  }

  html:has(.lp-root) .lp-header__button {
    min-height: 6.8rem;
    padding-inline: 3.2rem !important;
    border-width: 0.5rem !important;
    font-size: 2rem !important;
  }

  html:has(.lp-root) .lp-subpage__inner {
    width: auto;
    padding-inline: 3.2rem;
  }

  html:has(.lp-root) .lp-subpage__page-title {
    font-size: 7.2rem;
    letter-spacing: 0.08rem;
  }

  html:has(.lp-root) .lp-subpage__h2 {
    padding: 1.2rem 2.4rem;
    font-size: 5.6rem;
    letter-spacing: 0.08rem;
  }

  html:has(.lp-root) .lp-subpage__h3 {
    font-size: 4.8rem;
    letter-spacing: 0.08rem;
  }

  html:has(.lp-root) .lp-subpage__h4 {
    font-size: 3.8rem;
    letter-spacing: 0.08rem;
  }

  html:has(.lp-root) .lp-subpage__body,
  html:has(.lp-root) .lp-subpage__list-item,
  html:has(.lp-root) .lp-subpage__list-marker--ordered,
  html:has(.lp-root) .lp-subpage__definition-term,
  html:has(.lp-root) .lp-subpage__definition-description {
    font-size: 2.8rem;
    letter-spacing: 0.04rem;
  }

  html:has(.lp-root) .lp-subpage__list-item--unordered,
  html:has(.lp-root) .lp-subpage__list-item--ordered {
    grid-template-columns: 3.6rem minmax(0, 1fr);
  }

  html:has(.lp-root) .lp-subpage__list-marker {
    width: 3.6rem;
  }

  html:has(.lp-root) .lp-subpage__list-marker--dot::before {
    width: 1rem;
    height: 1rem;
    margin-top: 1.8rem;
  }

  html:has(.lp-root) .lp-subpage__definition-row {
    grid-template-columns: 26rem minmax(0, 1fr);
  }

  html:has(.lp-root) .hero {
    padding: 3.2rem;
  }

  html:has(.lp-root) .hero__headline {
    display: block;
    margin-top: 0;
  }

  html:has(.lp-root) .hero__brand {
    display: block;
    width: 100%;
    margin-bottom: 4rem;
  }

  html:has(.lp-root) .hero__brand-image {
    width: min(100%, 44rem);
  }

  html:has(.lp-root) .hero__logo-wrap {
    display: none;
  }

  html:has(.lp-root) .hero__content {
    width: auto;
    gap: 3.2rem;
    padding: 4rem 4rem 0;
  }

  html:has(.lp-root) .hero__copy {
    width: 100%;
    gap: 2.4rem;
    padding: 0;
    border-left: 0;
  }

  html:has(.lp-root) .hero__stat {
    letter-spacing: 0.12rem;
  }

  html:has(.lp-root) .hero__stat-number {
    font-size: 5.6rem;
  }

  html:has(.lp-root) .hero__stat-unit {
    font-size: 4.6rem;
  }

  html:has(.lp-root) .hero__title {
    font-size: 4.4rem;
    letter-spacing: 0.12rem;
    line-height: 1.32;
  }

  html:has(.lp-root) .hero__body {
    font-size: 1.8rem;
    letter-spacing: 0.06rem;
    line-height: 1.6;
  }

  html:has(.lp-root) .hero__support {
    margin-top: 0;
  }

  html:has(.lp-root) .hero__chips {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: center;
    gap: 1.4rem;
  }

  html:has(.lp-root) .hero__chip {
    gap: 0.6rem;
    min-height: 7rem;
    padding: 1.6rem 2.2rem;
    border-width: 0.5rem;
    font-size: 2.4rem;
    letter-spacing: 0.02rem;
    line-height: 1.1;
  }

  html:has(.lp-root) .hero__chip-icon {
    font-size: 2.6rem;
  }

  html:has(.lp-root) .section__inner,
  html:has(.lp-root) .footer__inner {
    width: auto;
    padding-inline: 3.2rem;
  }

  html:has(.lp-root) .section__inner--centered {
    align-items: stretch;
  }

  html:has(.lp-root) .problem-cards,
  html:has(.lp-root) .usecase-cards,
  html:has(.lp-root) .pricing-cards {
    grid-template-columns: 1fr;
    justify-items: stretch;
  }

  html:has(.lp-root) .feature-stack {
    display: flex;
    flex-direction: column;
  }

  html:has(.lp-root) .feature-block--wide,
  html:has(.lp-root) .feature-block--narrow {
    grid-column: auto;
  }

  html:has(.lp-root) .feature-block--placeholder {
    min-height: 0;
    aspect-ratio: 359 / 270;
  }

  html:has(.lp-root) .feature-stack > :nth-child(1) {
    order: 1;
  }

  html:has(.lp-root) .feature-stack > :nth-child(2) {
    order: 2;
  }

  html:has(.lp-root) .feature-stack > :nth-child(3) {
    order: 4;
  }

  html:has(.lp-root) .feature-stack > :nth-child(4) {
    order: 3;
  }

  html:has(.lp-root) .feature-stack > :nth-child(5) {
    order: 5;
  }

  html:has(.lp-root) .feature-stack > :nth-child(6) {
    order: 6;
  }

  html:has(.lp-root) .problem-card {
    width: 100%;
  }

  html:has(.lp-root) .problem-card__label {
    font-size: 6.4rem;
  }

  html:has(.lp-root) .section-heading {
    font-size: 7.2rem;
  }

  html:has(.lp-root) .footer-cta__heading {
    white-space: normal;
    text-align: center;
  }

  html:has(.lp-root) .footer-cta__heading-break {
    display: block;
  }

  html:has(.lp-root) .section-lead {
    font-size: 3.2rem;
  }

  html:has(.lp-root) .eyebrow {
    min-height: 5.6rem;
    padding: 1.6rem 2.2rem 1.2rem;
    font-size: 2.2rem;
  }

  html:has(.lp-root) .eyebrow::after {
    left: 4rem;
    border-width: 1.6rem 0 0 1.4rem;
  }

  html:has(.lp-root) .problem-card__item {
    font-size: 2.8rem;
  }

  html:has(.lp-root) .problem-card__icon {
    font-size: 2.4rem;
  }

  html:has(.lp-root) .feature-block__title {
    font-size: 4.2rem;
  }

  html:has(.lp-root) .feature-block__body {
    font-size: 3.2rem;
  }

  html:has(.lp-root) .usecase-card {
    width: 100%;
  }

  html:has(.lp-root) .usecase-card__title {
    font-size: 4.8rem;
  }

  html:has(.lp-root) .usecase-pill {
    font-size: 3.2rem;
    min-height: 8rem;
    padding-inline: 4rem;
  }

  html:has(.lp-root) .pricing-card {
    width: 100%;
  }

  html:has(.lp-root) .pricing-card__title {
    font-size: 4.8rem;
  }

  html:has(.lp-root) .pricing-card__note {
    font-size: 2.4rem;
  }

  html:has(.lp-root) .pricing-card__price {
    font-size: 6.4rem;
  }

  html:has(.lp-root) .pricing-card__price-unit,
  html:has(.lp-root) .pricing-card__price-suffix {
    font-size: 2.8rem;
  }

  html:has(.lp-root) .pricing-card__button {
    min-height: 7.2rem;
    font-size: 2.8rem;
  }

  html:has(.lp-root) .pricing-card__button-icon {
    right: 2.8rem;
    font-size: 3.6rem;
  }

  html:has(.lp-root) .pricing-card__feature {
    gap: 1.6rem;
    font-size: 2.6rem;
  }

  html:has(.lp-root) .pricing-card__feature-icon {
    font-size: 3.4rem;
  }

  html:has(.lp-root) .faq-question__text {
    font-size: 4rem;
  }

  html:has(.lp-root) .faq-label {
    font-size: 4rem;
  }

  html:has(.lp-root) .faq-answer__lead {
    font-size: 2.8rem;
  }

  html:has(.lp-root) .faq-answer__body {
    font-size: 2.8rem;
  }

  html:has(.lp-root) .back-to-top {
    right: 3.2rem;
  }

  html:has(.lp-root) .hero__chip {
    white-space: nowrap;
  }
}

@media (max-width: 639px) {
  html:has(.lp-root) {
    --lp-header-height: 16rem;
  }

  html:has(.lp-root) .lp-header__inner {
    gap: 2.4rem;
    padding: 2.4rem 3.2rem 4.8rem;
  }

  html:has(.lp-root) .lp-header__brand--desktop {
    display: none;
  }

  html:has(.lp-root) .lp-header__brand--mobile {
    display: inline-flex;
  }

  html:has(.lp-root) .lp-header__symbol {
    width: 10rem;
  }

  html:has(.lp-root) .lp-header__actions {
    gap: 1.6rem;
    margin-left: auto;
  }

  html:has(.lp-root) .lp-header__button {
    min-height: 12.4rem;
    padding-inline: 3.2rem !important;
    border-width: 0.6rem !important;
    font-size: 3.6rem !important;
  }

  html:has(.lp-root) .lp-header__button--login {
    min-width: 26rem;
  }

  html:has(.lp-root) .lp-header__button--trial {
    min-width: 36rem;
  }

  html:has(.lp-root) .lp-subpage {
    padding: 9.6rem 0;
  }

  html:has(.lp-root) .lp-subpage__inner {
    gap: 4.8rem;
    padding-inline: 1.6rem;
  }

  html:has(.lp-root) .lp-subpage__content {
    gap: 2.4rem;
  }

  html:has(.lp-root) .lp-subpage__page-title {
    font-size: 8.2rem;
    line-height: 1.3;
  }

  html:has(.lp-root) .lp-subpage__h2 {
    padding: 1.6rem 2rem;
    border-left-width: 0.6rem;
    font-size: 6.4rem;
    line-height: 1.4;
  }

  html:has(.lp-root) .lp-subpage__h3 {
    padding-top: 2.4rem;
    font-size: 5.6rem;
    line-height: 1.4;
  }

  html:has(.lp-root) .lp-subpage__h4 {
    padding-left: 1.2rem;
    border-left-width: 0.4rem;
    font-size: 4.8rem;
    line-height: 1.45;
  }

  html:has(.lp-root) .lp-subpage__body,
  html:has(.lp-root) .lp-subpage__list-item,
  html:has(.lp-root) .lp-subpage__list-marker--ordered,
  html:has(.lp-root) .lp-subpage__definition-term,
  html:has(.lp-root) .lp-subpage__definition-description {
    font-size: 4rem;
    line-height: 1.7;
  }

  html:has(.lp-root) .lp-subpage__list-item--unordered,
  html:has(.lp-root) .lp-subpage__list-item--ordered {
    grid-template-columns: 4.4rem minmax(0, 1fr);
  }

  html:has(.lp-root) .lp-subpage__list-marker {
    width: 4.4rem;
  }

  html:has(.lp-root) .lp-subpage__list-marker--dot::before {
    width: 1.2rem;
    height: 1.2rem;
    margin-top: 2.4rem;
  }

  html:has(.lp-root) .lp-subpage__definition-row {
    grid-template-columns: 1fr;
    gap: 0.8rem;
    padding: 1.6rem 0;
  }

  html:has(.lp-root) .lp-subpage__definition-term,
  html:has(.lp-root) .lp-subpage__definition-description {
    padding: 0 1.2rem;
  }

  html:has(.lp-root) .hero {
    height: auto;
    min-height: 0;
    padding: 1.6rem;
  }

  html:has(.lp-root) .hero__frame {
    aspect-ratio: 1 / 1.68;
    height: 100%;
    min-height: 0;
    border-radius: 3.2rem;
    overflow: visible;
  }

  html:has(.lp-root) .hero__content {
    width: auto;
    height: 100%;
    gap: 4rem;
    padding: 4.4rem 3.2rem 0;
  }

  html:has(.lp-root) .hero__brand {
    display: flex;
    justify-content: flex-start;
    width: 100%;
    padding: 0 2rem;
    margin-bottom: 7.2rem;
  }

  html:has(.lp-root) .hero__brand-image {
    width: 100%;
    max-width: 80rem;
  }

  html:has(.lp-root) .hero__logo-wrap {
    display: none;
  }

  html:has(.lp-root) .hero__copy {
    width: 100%;
    gap: 3.2rem;
    padding: 0;
    border-left: 0;
  }

  html:has(.lp-root) .hero__stat {
    letter-spacing: 0.08rem;
  }

  html:has(.lp-root) .hero__stat-number {
    font-size: 11rem;
  }

  html:has(.lp-root) .hero__stat-unit {
    font-size: 9rem;
  }

  html:has(.lp-root) .hero__title {
    font-size: 9rem;
    letter-spacing: 0.08rem;
    line-height: 1.25;
  }

  html:has(.lp-root) .hero__body {
    font-size: 4.8rem;
    line-height: 1.55;
    letter-spacing: 0.02rem;
  }

  html:has(.lp-root) .hero__body-break {
    display: none;
  }

  html:has(.lp-root) .hero__support {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 6.8rem;
    align-items: stretch;
    gap: 2.4rem;
    position: relative;
    z-index: 1;
  }

  html:has(.lp-root) .hero__chips {
    grid-template-columns: 1fr;
    gap: 2.4rem;
    width: 100%;
  }

  html:has(.lp-root) .hero__chip {
    min-height: 11.2rem;
    padding: 2.4rem 3.2rem;
    font-size: 5.2rem;
    border-width: 0.6rem;
    border-radius: 99rem;
  }

  html:has(.lp-root) .hero__chip-icon {
    font-size: 5.2rem;
  }

  html:has(.lp-root) .hero__scroll-indicator--desktop {
    display: none;
  }

  html:has(.lp-root) .hero__scroll-indicator--mobile {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    align-self: stretch;
    height: 100%;
  }

  html:has(.lp-root) .hero__scroll-label {
    font-size: 4rem;
    letter-spacing: 0.08rem;
  }

  html:has(.lp-root) .hero__scroll-track {
    width: 4.8rem;
    flex: 1 1 auto;
    height: auto;
    min-height: 12.8rem;
    border-width: 0.5rem;
  }

  html:has(.lp-root) .hero__scroll-dot {
    top: 0.8rem;
    width: 1.6rem;
    height: 1.6rem;
  }

  html:has(.lp-root) .hero__visual {
    position: relative;
    left: auto;
    bottom: auto;
    z-index: 0;
    align-self: center;
    flex: 0 0 auto;
    min-height: 0;
    width: calc(100% + 17.6rem);
    max-width: none;
    margin: auto -9.6rem -18rem -8rem;
    transform: none;
    pointer-events: none;
  }

  html:has(.lp-root) .hero__visual-image {
    width: 100%;
    max-width: none;
    max-height: none;
    object-fit: initial;
    object-position: initial;
  }

  html:has(.lp-root) .section-heading {
    font-size: 8.2rem;
    letter-spacing: 0.08rem;
    line-height: 1.3;
  }

  html:has(.lp-root) .section-lead {
    font-size: 4rem;
    letter-spacing: 0.02rem;
    line-height: 1.7;
  }

  html:has(.lp-root) .eyebrow {
    min-height: 6.8rem;
    padding: 1.8rem 2.6rem 1.4rem;
    font-size: 3.2rem;
  }

  html:has(.lp-root) .eyebrow::after {
    left: 4.8rem;
    border-width: 1.8rem 0 0 1.6rem;
  }

  html:has(.lp-root) .problem-card__label {
    font-size: 12rem;
  }

  html:has(.lp-root) .problem-card__item {
    gap: 0.8rem;
    padding: 0.8rem 1.4rem 0.8rem 1.2rem;
    font-size: 4.8rem;
    line-height: 1.55;
  }

  html:has(.lp-root) .problem-card__icon {
    font-size: 4.4rem;
  }

  html:has(.lp-root) .feature-block__title {
    gap: 2rem;
    font-size: 6.4rem;
    line-height: 1.45;
  }

  html:has(.lp-root) .feature-block__dot {
    width: 3.2rem;
    height: 3.2rem;
  }

  html:has(.lp-root) .feature-block__body {
    font-size: 4.8rem;
    line-height: 1.7;
  }

  html:has(.lp-root) .usecase-card__title {
    font-size: 7.2rem;
    line-height: 1.45;
  }

  html:has(.lp-root) .usecase-pill {
    min-height: 9.6rem;
    padding: 2.2rem 4rem;
    font-size: 4rem;
    line-height: 1.35;
  }

  html:has(.lp-root) .usecase-pill::after {
    bottom: -1.4rem;
    width: 1.6rem;
    height: 1.6rem;
  }

  html:has(.lp-root) .usecase-pill:nth-child(odd)::after {
    left: 4.8rem;
  }

  html:has(.lp-root) .usecase-pill:nth-child(even)::after {
    right: 4.8rem;
  }

  html:has(.lp-root) .pricing-card__title {
    font-size: 7.2rem;
  }

  html:has(.lp-root) .pricing-card {
    padding: 5.6rem;
    gap: 4.8rem;
  }

  html:has(.lp-root) .pricing-card__note {
    font-size: 4.8rem;
    line-height: 1.6;
  }

  html:has(.lp-root) .pricing-card__price {
    font-size: 8.8rem;
  }

  html:has(.lp-root) .pricing-card__price-unit,
  html:has(.lp-root) .pricing-card__price-suffix {
    font-size: 4.2rem;
  }

  html:has(.lp-root) .pricing-card__button {
    min-height: 8.8rem;
    font-size: 4.8rem;
  }

  html:has(.lp-root) .pricing-card__button-icon {
    right: 3.2rem;
    font-size: 4.8rem;
  }

  html:has(.lp-root) .pricing-card__feature {
    gap: 2rem;
    font-size: 4.4rem;
    line-height: 1.5;
  }

  html:has(.lp-root) .pricing-card__feature-icon {
    font-size: 4.8rem;
  }

  html:has(.lp-root) .faq-question {
    gap: 3.2rem;
    padding: 3.2rem 4rem;
  }

  html:has(.lp-root) .faq-question__main {
    gap: 3.2rem;
  }

  html:has(.lp-root) .faq-question__icon {
    flex-basis: 4.8rem;
    width: 4.8rem;
    height: 4.8rem;
  }

  html:has(.lp-root) .faq-question__icon::before,
  html:has(.lp-root) .faq-question__icon::after {
    width: 3.6rem;
    height: 0.6rem;
  }

  html:has(.lp-root) .faq-answer {
    gap: 3.2rem;
    padding: 0 4rem 4rem;
  }

  html:has(.lp-root) .faq-label {
    font-size: 5.2rem;
  }

  html:has(.lp-root) .faq-question__text {
    font-size: 5.2rem;
    line-height: 1.4;
  }

  html:has(.lp-root) .faq-answer__lead,
  html:has(.lp-root) .faq-answer__body {
    font-size: 4.8rem;
    line-height: 1.7;
  }

  html:has(.lp-root) .footer-actions {
    grid-template-columns: 1fr;
  }

  html:has(.lp-root) .cta-button {
    min-height: 10rem;
    font-size: 4.8rem;
  }

  html:has(.lp-root) .footer-links {
    flex-direction: column;
    gap: 2.4rem;
  }

  html:has(.lp-root) .footer-links a {
    font-size: 4rem;
  }

  html:has(.lp-root) .footer-copy {
    font-size: 3.6rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  html:has(.lp-root) {
    scroll-behavior: auto;
  }

  html:has(.lp-root) button,
  html:has(.lp-root) a {
    transition: none;
  }

  html:has(.lp-root) .city-divider__track {
    animation: none;
  }
}

