html {
  margin: 0;
  padding: 0;
}

body.is-v2-shell {
  min-width: 320px;
  margin: 0;
  padding: 0;
  overflow-x: clip;
}

body.is-home-v2 *,
body.is-home-v2 *::before,
body.is-home-v2 *::after,
.home-v2 *,
.home-v2 *::before,
.home-v2 *::after {
  box-sizing: border-box;
}

.home-v2 .container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad);
}

.v2-header .v2-header__inner {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad);
}

@media (min-width: 1024px) {
  .home-v2 .container,
  .v2-header .v2-header__inner {
    width: var(--layout-width);
    max-width: var(--container-max);
    padding-inline: 0;
  }
}

.home-v2 .v2-section {
  padding-block: clamp(48px, 6vw, 120px);
}

@media (max-width: 1023px) {
  .home-v2 .v2-section {
    padding-top: var(--v2-section-gap);
    padding-bottom: 0;
  }

  .home-v2 .v2-section--hero,
  .home-v2 .v2-section--techhub,
  .home-v2 .v2-section--ceo,
  .home-v2 .v2-section--system,
  .home-v2 .v2-section--services-hero,
  .home-v2 .v2-section--meta-hero {
    padding-top: 0;
    padding-bottom: 0;
  }

  .home-v2 .v2-section--faq {
    padding-bottom: calc(100vw * 100 / 390);
  }
}

.home-v2__notice {
  padding: 1rem;
  border: 1px dashed var(--color-green);
  background: rgba(100, 219, 105, 0.08);
  font-size: 14px;
}

.home-v2 .v2-section-heading {
  font-size: var(--text-section);
  font-weight: 500;
  line-height: 1;
  margin: 0 0 1.5rem;
}

.home-v2 .v2-section-heading--green {
  color: var(--color-green);
}

.home-v2 .v2-section-heading--light {
  color: var(--color-white);
}

.home-v2 .v2-descriptor {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 1rem;
  font-size: var(--text-caption);
  color: var(--text-40);
}

.home-v2 .v2-descriptor__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--color-green-dot);
  flex-shrink: 0;
}

.home-v2 .v2-chip {
  display: inline-flex;
  align-items: center;
  padding: 6px 14px;
  border-radius: var(--radius-chip);
  border: 1px dotted rgba(32, 32, 32, 0.1);
  background: rgba(0, 0, 0, 0.04);
  font-size: 14px;
  color: var(--text-40);
}

@media (max-width: 1023px) {
  .home-v2 .v2-section :is(
    .v2-system__heading,
    .v2-system__heading-line,
    .v2-system__heading-accent,
    .v2-how__heading,
    .v2-how__heading-line,
    .v2-how__heading-accent,
    .v2-advantages__heading,
    .v2-advantages__heading-line,
    .v2-advantages__heading-accent,
    .v2-platform-access__heading,
    .v2-platform-access__heading-line,
    .v2-platform-access__heading-accent,
    .v2-techhub__heading,
    .v2-techhub__heading-line,
    .v2-niches__heading,
    .v2-client-impact__heading,
    .v2-client-impact__heading-main,
    .v2-client-impact__heading-accent,
    .v2-contact__heading,
    .v2-contact__heading-accent,
    .v2-contact__heading-rest,
    .v2-faq__heading,
    .v2-faq__heading-line,
    .v2-faq__heading-main,
    .v2-faq__heading-accent
  ) {
    letter-spacing: -0.03em;
  }
}

html.lenis,
html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: clip;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}
