@import url("https://fonts.googleapis.com/css2?family=Geist:wght@100..900&display=swap");
:root {
  --brand-solid: #6fe9ff;
  --brand-surface: #6fe9ff1a;
  --brand-border-solid: #6fe9ff33;
  --dark-surface: #000f27;
  --dark-subtle: #081a36;
  --dark-brand: #043663;
  --dark-enable: #071c34;
  --pixel-off: #0b1d38;
  --pixel-on: #1e4a61;
  --pixel-border: #3a8097;
  --slate-200: #f0f5f9;
  --slate-300: #e1e8f1;
  --slate-400: #90a5ba;
  --slate-500: #60768d;
  --slate-600: #43566b;
  --slate-700: #2f4258;
  --slate-800: #1b293e;
  --slate-900: #0b172b;
  --neutral-700: #4a5565;
  --neutral-900: #101828;
  --bg-surface: #ffffff;
  --bg-subtle: #f3f4f6;
  --text-default: #101828;
  --text-secondary: #4a5565;
  --text-supporting: #6a7282;
  --text-soft: #b1b6bf;
  --border-default: #d1d5dc;
  --bg-enable: #e5e7eb;
  --status-error: #d53827;
  --status-error-soft: #f05644;
  --pure-white: #ffffff;
  --pure-black: #030712;
  --font-size-body-sm: 12px;
  --font-size-body-md: 14px;
  --font-size-body-lg: 16px;
  --font-size-heading-xs: 18px;
  --font-size-heading-sm: 20px;
  --font-size-heading-md: 24px;
  --font-size-heading-lg: 28px;
  --font-size-heading-2xl: 32px;
  --font-size-heading-xl: 32px;
  --font-size-display: 40px;
  --font-size-display-sm: 56px;
  --gap-2: 2px;
  --gap-4: 4px;
  --gap-8: 8px;
  --gap-10: 10px;
  --gap-12: 12px;
  --gap-16: 16px;
  --gap-24: 24px;
  --gap-32: 32px;
  --gap-48: 48px;
  --padding-0: 0;
  --padding-12: 12px;
  --padding-20: 20px;
  --radius-10: 10px;
  --radius-32: 32px;
  --radius-full: 999px;
  --shadow-xs: 0 1px 2px 0 rgba(13, 13, 13, 0.04);
  --ease-out: cubic-bezier(0.25, 1, 0.5, 1);
  --duration: 300ms;
  --content-size: 1280px;
  --gutter: 24px;
  --card-inset: 8px;
  --grid-columns: 4;
  --grid-gap: 16px;
}
@media (min-width: 768px) {
  :root {
    --font-size-heading-lg: 32px;
    --font-size-heading-2xl: 40px;
    --font-size-heading-xl: 40px;
    --font-size-display: 56px;
    --gutter: 40px;
    --card-inset: 16px;
    --grid-columns: 8;
    --grid-gap: 24px;
  }
}
@media (min-width: 1024px) {
  :root {
    --font-size-heading-2xl: 48px;
    --font-size-display: 72px;
    --gutter: 80px;
    --card-inset: 24px;
    --grid-columns: 12;
    --grid-gap: 24px;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  overflow-y: scroll;
  scrollbar-gutter: stable;
}

body {
  background: var(--dark-surface);
  color: var(--pure-white);
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-lg);
  font-weight: 400;
  line-height: 1.5;
  font-feature-settings: "liga" 0;
  -webkit-font-smoothing: antialiased;
}

[hidden] {
  display: none !important;
}

picture {
  display: contents;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

a,
button,
label:has(input:not([type=text], [type=email], [type=tel])),
input[type=range],
input[type=file],
summary,
[role=button] {
  cursor: pointer;
}

button:disabled {
  cursor: not-allowed;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.container {
  width: 100%;
  max-width: calc(var(--content-size) + var(--gutter) * 2);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.grid {
  display: grid;
  grid-template-columns: repeat(var(--grid-columns), minmax(0, 1fr));
  column-gap: var(--grid-gap);
}

.loader {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--dark-surface);
  will-change: transform;
  backface-visibility: hidden;
  animation: loader-exit 900ms cubic-bezier(0.76, 0, 0.24, 1) 1400ms forwards;
}
.no-loader .loader {
  display: none;
}
.loader-reveal .loader {
  animation: loader-exit 900ms cubic-bezier(0.76, 0, 0.24, 1) 100ms forwards;
}
.loader-reveal .loader__name {
  display: none;
}
.loader__name {
  display: flex;
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-md);
  font-weight: 500;
  line-height: 1.35;
  color: var(--pure-white);
  white-space: nowrap;
}
.loader__char {
  display: inline-block;
  transform: translateY(var(--offset));
  animation: loader-char 700ms var(--ease-out) var(--delay) forwards;
}

.is-loading .page,
.is-loading .page *,
.is-loading .page *::before,
.is-loading .page *::after {
  animation-play-state: paused !important;
}

.page-cover {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: var(--dark-surface);
  will-change: transform;
  backface-visibility: hidden;
  animation: page-cover-enter 600ms cubic-bezier(0.76, 0, 0.24, 1) forwards;
}

@keyframes loader-char {
  to {
    transform: translateY(0);
  }
}
@keyframes loader-exit {
  to {
    transform: translateY(-100%);
  }
}
@keyframes page-cover-enter {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}
.header {
  background: var(--dark-surface);
}
.header__inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  column-gap: var(--gap-16);
  height: 72px;
}
@media (min-width: 1024px) {
  .header__inner {
    grid-template-columns: 1fr auto 1fr;
  }
}
.header__brand {
  justify-self: start;
  display: flex;
}
.header__nav {
  display: none;
  gap: 40px;
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-md);
  font-weight: 500;
  line-height: 1.5;
  white-space: nowrap;
}
@media (min-width: 1024px) {
  .header__nav {
    display: flex;
  }
}
.header__nav a {
  display: block;
  margin: -8px;
  padding: 8px;
  transition: color var(--duration) var(--ease-out);
}
.header__nav a:hover {
  color: var(--brand-solid);
}
.header__actions {
  grid-column: 2;
  justify-self: end;
  display: flex;
  align-items: center;
  gap: var(--gap-12);
}
@media (min-width: 1024px) {
  .header__actions {
    grid-column: 3;
    gap: var(--gap-16);
  }
}
.header__actions .header__cta {
  padding-inline: 10px;
  font-size: 13px;
}
@media (max-width: 379px) {
  .header__actions .header__cta {
    display: none;
  }
}
@media (min-width: 768px) {
  .header__actions .header__cta {
    padding-inline: var(--padding-12);
    font-size: var(--font-size-body-md);
    display: inline-flex;
  }
}
.header__lang {
  display: block;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: var(--radius-full);
  transition: transform var(--duration) var(--ease-out);
}
.header__lang:hover {
  transform: scale(1.08);
}
.header__lang:focus-visible {
  outline: 2px solid var(--brand-solid);
  outline-offset: 2px;
}
.header__lang img {
  width: 100%;
  height: 100%;
}

.contact-drawer {
  --drawer-top: max(20vh, 200px);
  --drawer-side: var(--card-inset);
  --drawer-radius: 48px;
  --drawer-expand: 240px;
  --drawer-progress: 0;
  --drawer-scroll: 0px;
  --drawer-rest: calc(1 - var(--drawer-progress));
  position: fixed;
  inset: 0;
  z-index: 500;
  visibility: hidden;
  pointer-events: none;
  transition: visibility 0s linear 700ms;
}
.contact-drawer.is-active {
  position: absolute;
  inset: 0 0 auto;
}
.contact-drawer.is-open {
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
}
.contact-drawer__backdrop {
  position: fixed;
  inset: 0;
  background: rgba(2, 6, 24, 0.5);
  opacity: 0;
  transition: opacity 700ms cubic-bezier(0.76, 0, 0.24, 1);
}
.contact-drawer.is-open .contact-drawer__backdrop {
  opacity: 1;
}
.contact-drawer__sheet {
  position: relative;
  padding-top: var(--drawer-top);
  transform: translateY(100vh);
  transition: transform 700ms cubic-bezier(0.76, 0, 0.24, 1);
  pointer-events: none;
}
.contact-drawer.is-open .contact-drawer__sheet {
  transform: none;
}
.contact-drawer__panel {
  min-height: calc(100vh + var(--drawer-expand));
  background: var(--bg-surface);
  outline: none;
  pointer-events: auto;
  clip-path: inset(0 calc(var(--drawer-side) * var(--drawer-rest)) 0 round calc(var(--drawer-radius) * var(--drawer-rest)) calc(var(--drawer-radius) * var(--drawer-rest)) 0 0);
}
.contact-drawer__content {
  padding: 76px 32px 100px;
}
@media (min-width: 768px) {
  .contact-drawer__content {
    padding: 64px var(--gutter) 100px;
  }
}
.contact-drawer__close {
  position: fixed;
  top: max(16px, var(--drawer-top) + 20px - var(--drawer-scroll));
  right: calc(var(--drawer-side) * var(--drawer-rest) + 16px);
  display: grid;
  place-items: center;
  border: 0;
  background: none;
  color: #a2a8b7;
  cursor: pointer;
  padding: 12px;
  margin: -12px;
  transform: translateY(100vh);
  transition: transform 700ms cubic-bezier(0.76, 0, 0.24, 1), color var(--duration) var(--ease-out);
}
@media (min-width: 768px) {
  .contact-drawer__close {
    top: max(24px, var(--drawer-top) + 48px - var(--drawer-scroll));
    right: calc(var(--drawer-side) * var(--drawer-rest) + 48px);
  }
}
.contact-drawer__close:hover {
  color: var(--text-supporting);
}
.contact-drawer.is-open .contact-drawer__close {
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .contact-drawer, .contact-drawer__backdrop, .contact-drawer__sheet, .contact-drawer__close {
    transition-duration: 0s;
    transition-delay: 0s;
  }
}

.page.is-held {
  position: fixed;
  top: calc(var(--page-offset, 0px) * -1);
  inset-inline: 0;
}

.footer {
  padding-inline: var(--card-inset);
}
.footer__container {
  padding-block: 64px;
}
@media (min-width: 1024px) {
  .footer__container {
    padding-block: 88px;
  }
}
.footer__inner {
  box-sizing: content-box;
  max-width: var(--content-size);
  margin-inline: auto;
  padding-inline: calc(var(--gutter) - var(--card-inset));
}
.footer__top {
  row-gap: 48px;
  align-items: start;
}
.footer__brand {
  grid-column: 1/-1;
  display: flex;
  align-items: center;
  height: 21px;
  padding-top: 2px;
}
@media (min-width: 1024px) {
  .footer__brand {
    grid-column: span 4;
  }
}
.footer__group {
  grid-column: span 2;
  display: flex;
  flex-direction: column;
  gap: var(--padding-20);
  min-width: 0;
}
@media (min-width: 768px) {
  .footer__group {
    grid-column: span 3;
  }
}
@media (min-width: 1024px) {
  .footer__group {
    grid-column: span 3;
  }
}
.footer__group--social {
  grid-column: 1/-1;
}
@media (min-width: 768px) {
  .footer__group--social {
    grid-column: span 2;
  }
}
@media (min-width: 1024px) {
  .footer__group--social {
    grid-column: span 2;
    align-items: flex-end;
  }
}
.footer__title {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-md);
  font-weight: 500;
  line-height: 1.5;
  color: var(--brand-solid);
}
.footer__word {
  margin-top: 64px;
}
@media (min-width: 1024px) {
  .footer__word {
    margin-top: 110px;
  }
}
.footer__links {
  display: flex;
  flex-direction: column;
  gap: var(--gap-12);
  list-style: none;
}
.footer__link {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-md);
  font-weight: 600;
  line-height: 1.5;
  line-height: 1.2;
  color: var(--pure-white);
  transition: color var(--duration) var(--ease-out);
}
.footer__link:hover {
  color: var(--brand-solid);
}
.footer__social {
  display: flex;
  gap: var(--gap-16);
  list-style: none;
}
.footer__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--brand-border-solid);
  border-radius: var(--radius-10);
  background: var(--dark-subtle);
  transition: background-color var(--duration) var(--ease-out);
}
.footer__social-link:hover {
  background: var(--brand-surface);
}
.footer__social-link img {
  width: auto;
  height: auto;
}
.footer__bottom {
  row-gap: 32px;
  align-items: start;
  margin-top: 64px;
}
@media (min-width: 1024px) {
  .footer__bottom {
    margin-top: 110px;
  }
}
.footer__legal {
  grid-column: 1/-1;
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-sm);
  font-weight: 400;
  line-height: 1.5;
  color: var(--slate-500);
  font-style: normal;
}
@media (min-width: 1024px) {
  .footer__legal {
    grid-column: span 6;
  }
}
.footer__legal a {
  transition: color var(--duration) var(--ease-out);
}
.footer__legal a:hover {
  color: var(--pure-white);
}
.footer__meta {
  grid-column: 1/-1;
  display: flex;
  flex-direction: column;
  gap: var(--gap-16);
}
@media (min-width: 1024px) {
  .footer__meta {
    grid-column: span 6;
    align-items: flex-end;
  }
}
.footer__policies {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-12) var(--gap-32);
  list-style: none;
}
.footer__policy {
  display: flex;
  align-items: center;
  gap: var(--gap-8);
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-md);
  font-weight: 400;
  line-height: 1.5;
  color: var(--pure-white);
  transition: color var(--duration) var(--ease-out);
}
.footer__policy:hover {
  color: var(--brand-solid);
}
.footer__copy {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-md);
  font-weight: 400;
  line-height: 1.5;
  color: var(--slate-500);
}

.float-bar {
  position: fixed;
  inset: auto 0 0;
  z-index: 100;
  background: var(--pure-white);
  box-shadow: 0 -4px 44px rgba(85, 87, 101, 0.15);
  visibility: hidden;
  transform: translateY(100%);
  transition: transform 500ms var(--ease-out), visibility 0s linear 500ms;
}
.float-bar.is-visible {
  visibility: visible;
  transform: none;
  transition-delay: 0s;
}
@media (prefers-reduced-motion: reduce) {
  .float-bar {
    transition-duration: 0s;
  }
}
.float-bar__inner {
  align-items: center;
  padding-block: 12px;
}
@media (min-width: 768px) {
  .float-bar__inner {
    padding-block: 24px;
  }
}
.float-bar__title {
  display: none;
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-lg);
  font-weight: 500;
  line-height: 1.5;
  color: var(--slate-900);
  white-space: pre-line;
}
@media (min-width: 1024px) {
  .float-bar__title {
    display: block;
    grid-column: span 4;
  }
}
.float-bar__actions {
  grid-column: 1/-1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 40px;
}
@media (min-width: 1024px) {
  .float-bar__actions {
    grid-column: span 8;
  }
}
.float-bar__label {
  display: none;
  flex-direction: column;
  gap: var(--gap-2);
  text-align: right;
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-md);
  font-weight: 400;
  line-height: 1.5;
  color: var(--slate-500);
}
@media (min-width: 768px) {
  .float-bar__label {
    display: flex;
  }
}
.float-bar__label strong {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-md);
  font-weight: 600;
  line-height: 1.5;
  color: var(--slate-900);
}
.float-bar__buttons {
  display: flex;
  flex: 1;
  gap: var(--gap-24);
}
@media (min-width: 768px) {
  .float-bar__buttons {
    flex: none;
  }
}
.float-bar__secondary {
  display: none;
}
@media (min-width: 768px) {
  .float-bar__secondary {
    display: inline-flex;
  }
}
.float-bar__primary {
  flex: 1;
}
@media (min-width: 768px) {
  .float-bar__primary {
    flex: none;
  }
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--gap-8);
  border: 1px solid transparent;
  border-radius: var(--radius-full);
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-md);
  font-weight: 500;
  line-height: 1.5;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color var(--duration) var(--ease-out), border-color var(--duration) var(--ease-out);
}
.button--sm {
  height: 36px;
  padding: var(--padding-0) var(--padding-12);
}
.button--md {
  height: 48px;
  padding: var(--padding-0) var(--padding-20);
}
.button--lg {
  height: 48px;
  padding: var(--padding-0) var(--padding-20);
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-lg);
  font-weight: 500;
  line-height: 1.5;
}
.button--xl {
  height: 48px;
  padding: var(--padding-0) var(--padding-20);
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-xs);
  font-weight: 500;
  line-height: 1.35;
}
.button--outline {
  border-color: var(--brand-border-solid);
  color: var(--brand-solid);
}
.button--outline:hover {
  background: var(--brand-surface);
}
.button--filled {
  background: var(--brand-solid);
  color: var(--dark-surface);
}
.button--filled:hover {
  background: var(--pure-white);
}
.button--light {
  background: var(--bg-subtle);
  color: var(--pure-black);
}
.button--light:hover {
  background: var(--bg-enable);
}
.button--tint {
  background: var(--brand-border-solid);
  color: var(--brand-solid);
}
.button--tint:hover {
  background: color-mix(in srgb, var(--brand-solid) 30%, transparent);
}
.button--dark {
  background: var(--dark-brand);
  color: var(--pure-white);
}
.button--dark:hover {
  background: var(--dark-enable);
}

.stat-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--gap-24);
  padding: var(--gap-48) 40px;
  border: 1px solid var(--brand-border-solid);
  border-radius: var(--radius-32);
  background: var(--dark-subtle);
  text-align: center;
}
.stat-card__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--gap-12);
}
.stat-card__title {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-xs);
  font-weight: 600;
  line-height: 1.35;
  color: var(--pure-white);
}
.stat-card__text {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-lg);
  font-weight: 400;
  line-height: 1.5;
  color: var(--slate-400);
  text-wrap: balance;
}

.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--gap-8) 14px;
  border-radius: var(--radius-32);
  background: var(--brand-surface);
  color: var(--brand-solid);
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-xs);
  font-weight: 500;
  line-height: 1.35;
  white-space: nowrap;
}

.logo-mark {
  width: 100px;
  height: 100px;
  border-radius: 24px;
  animation: logo-pulse 3.8s linear infinite;
}
.logo-mark img {
  width: 100%;
  height: 100%;
}

.compare-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 64px;
  height: 100%;
  padding: 24px;
  border-radius: 40px;
  overflow: hidden;
}
@media (min-width: 768px) {
  .compare-card {
    padding: 40px;
  }
}
@media (min-width: 1024px) {
  .compare-card {
    gap: 140px;
  }
}
.compare-card__header {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.compare-card__brand {
  display: flex;
  flex-direction: column;
  gap: var(--gap-16);
}
.compare-card__label {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-md);
  font-weight: 500;
  line-height: 1.5;
}
.compare-card__title {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-xl);
  font-weight: 500;
  line-height: 1.1;
  color: var(--pure-white);
  white-space: pre-line;
}
.compare-card__bar {
  width: 24px;
  height: 3px;
}
.compare-card__list {
  display: flex;
  flex-direction: column;
  gap: var(--gap-32);
  list-style: none;
}
.compare-card__item {
  display: flex;
  align-items: center;
  gap: var(--padding-20);
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-lg);
  font-weight: 400;
  line-height: 1.5;
}
.compare-card__icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: var(--radius-full);
}
.compare-card--before {
  background: var(--dark-subtle);
}
.compare-card--before .compare-card__label,
.compare-card--before .compare-card__item {
  color: var(--slate-400);
}
.compare-card--before .compare-card__bar,
.compare-card--before .compare-card__icon {
  background: var(--slate-500);
}
.compare-card--after {
  background: var(--dark-brand);
}
.compare-card--after .compare-card__label {
  color: var(--pure-white);
  opacity: 0.6;
}
.compare-card--after .compare-card__item {
  color: var(--pure-white);
}
.compare-card--after .compare-card__bar,
.compare-card--after .compare-card__icon {
  background: var(--brand-solid);
}

.form-field {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.form-field__label {
  font-family: "Geist", system-ui, sans-serif;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.35;
  color: var(--text-default);
  transition: color var(--duration) var(--ease-out);
}
.form-field__control {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.form-field__input {
  width: 100%;
  padding: 0 0 15px;
  border: 0;
  border-bottom: 1px solid var(--border-default);
  border-radius: 0;
  background: transparent;
  font-family: "Geist", system-ui, sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--text-secondary);
  outline: none;
  resize: none;
  field-sizing: content;
  transition: border-color var(--duration) var(--ease-out);
}
.form-field__input::placeholder {
  color: var(--text-soft);
  opacity: 1;
}
.form-field__input:hover, .form-field__input:focus {
  border-color: var(--text-supporting);
}
.form-field__error {
  display: none;
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-md);
  font-weight: 400;
  line-height: 1.5;
  color: var(--status-error-soft);
}
.form-field.is-invalid .form-field__label {
  color: var(--status-error);
}
.form-field.is-invalid .form-field__input {
  color: color-mix(in srgb, var(--status-error) 50%, transparent);
}
.form-field.is-invalid .form-field__input::placeholder {
  color: color-mix(in srgb, var(--status-error) 50%, transparent);
}
.form-field.is-invalid .form-field__error {
  display: block;
}

.choice-group {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.choice-group--hint {
  gap: 28px;
}
.choice-group__prompt {
  display: flex;
  flex-direction: column;
  gap: var(--gap-8);
  line-height: 1.35;
}
.choice-group__label {
  font-family: "Geist", system-ui, sans-serif;
  font-size: 22px;
  font-weight: 500;
  color: var(--text-default);
  transition: color var(--duration) var(--ease-out);
}
.choice-group__hint {
  font-size: 18px;
  color: var(--text-supporting);
}
.choice-group__control {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.choice-group__options {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-16);
}

.choice-group__error {
  display: none;
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-md);
  font-weight: 400;
  line-height: 1.5;
  color: var(--status-error-soft);
}

.choice-group.is-invalid .choice-group__label {
  color: var(--status-error);
}
.choice-group.is-invalid .choice-group__error {
  display: block;
}

.choice {
  position: relative;
  cursor: pointer;
}
.choice__input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}
.choice__label {
  display: block;
  padding: 9px 17px;
  border: 1px solid var(--border-default);
  border-radius: 40px;
  background: var(--bg-surface);
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  color: var(--text-secondary);
  white-space: nowrap;
  transition: background-color var(--duration) var(--ease-out), border-color var(--duration) var(--ease-out), color var(--duration) var(--ease-out);
}
.choice:hover .choice__label {
  background: var(--bg-subtle);
}
.choice__input:checked + .choice__label {
  border-color: var(--dark-enable);
  background: var(--dark-enable);
  color: var(--brand-solid);
}
.choice__input:focus-visible + .choice__label {
  outline: 2px solid var(--text-supporting);
  outline-offset: 2px;
}

.contact-form {
  display: flex;
  flex-direction: column;
  gap: 64px;
  max-width: 1200px;
  margin-inline: auto;
}
.contact-form__info {
  order: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--gap-16);
}
@media (min-width: 768px) {
  .contact-form__info {
    order: 0;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    column-gap: var(--gap-24);
    row-gap: var(--gap-12);
  }
}
@media (min-width: 1024px) {
  .contact-form__info {
    column-gap: 80px;
  }
}
.contact-form__info {
  list-style: none;
}
.contact-form__info li {
  display: flex;
  align-items: center;
  gap: var(--gap-8);
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-lg);
  font-weight: 500;
  line-height: 1.5;
  color: var(--text-default);
}
.contact-form__info svg {
  flex: none;
}
.contact-form__info a {
  padding-block: 6px;
}
.contact-form__info a:hover {
  color: var(--text-supporting);
}
.contact-form__body, .contact-form__fields {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 44px;
}
@media (min-width: 768px) {
  .contact-form__body, .contact-form__fields {
    gap: 56px;
  }
}
.contact-form__fields {
  align-self: stretch;
  align-items: stretch;
}
.contact-form__interests .choice-group__options {
  max-width: 1070px;
}
.contact-form__submit {
  align-self: stretch;
  height: 56px;
}
.contact-form__title {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-display-sm);
  font-weight: 600;
  line-height: normal;
  font-size: 40px;
  color: var(--text-default);
}
@media (min-width: 768px) {
  .contact-form__title {
    font-size: var(--font-size-display-sm);
  }
}
.contact-form__submit[data-state=sending] {
  cursor: progress;
  opacity: 0.6;
}
.contact-form__submit[data-state=success] {
  background: var(--brand-solid);
  color: var(--dark-surface);
  cursor: default;
}
.contact-form__submit[data-state=error] {
  background: var(--status-error);
  color: var(--pure-white);
}
.contact-form__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: 44px;
}
@media (min-width: 768px) {
  .contact-form__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 40px;
    row-gap: 56px;
  }
}
@media (min-width: 1024px) {
  .contact-form__row {
    column-gap: 80px;
  }
}

.budget {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.budget__label {
  font-family: "Geist", system-ui, sans-serif;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.35;
  color: var(--text-default);
  transition: color var(--duration) var(--ease-out);
}
.budget__error {
  display: none;
  margin-top: -10px;
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-md);
  font-weight: 400;
  line-height: 1.5;
  color: var(--status-error-soft);
}
.budget.is-invalid .budget__label {
  color: var(--status-error);
}
.budget.is-invalid .budget__error {
  display: block;
}
.budget__range {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 24px;
}
@media (min-width: 768px) {
  .budget__range {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
}
.budget__limit {
  font-size: 18px;
  line-height: 1.35;
  color: var(--text-supporting);
  white-space: nowrap;
}
.budget__track {
  position: relative;
  order: -1;
  flex: 1 1 100%;
  height: 38px;
  border-radius: 48px;
  background: var(--bg-enable);
}
@media (min-width: 768px) {
  .budget__track {
    order: 0;
    flex: 1;
  }
}
.budget__fill {
  position: absolute;
  top: 4px;
  left: calc(var(--budget-from) * (100% - 38px) + 4px);
  width: calc((var(--budget-to) - var(--budget-from)) * (100% - 38px) + 30px);
  height: 30px;
  border-radius: 32px;
  background: var(--dark-brand);
}
.budget__fill::before, .budget__fill::after {
  content: "";
  position: absolute;
  top: 6px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--pure-white);
}
.budget__fill::before {
  left: 6px;
}
.budget__fill::after {
  right: 6px;
}
.budget__input {
  position: absolute;
  inset: 4px;
  width: calc(100% - 8px);
  height: 30px;
  margin: 0;
  background: none;
  appearance: none;
  pointer-events: none;
}
.budget__input::-webkit-slider-runnable-track {
  height: 30px;
  background: none;
}
.budget__input::-moz-range-track {
  height: 30px;
  background: none;
}
.budget__input::-webkit-slider-thumb {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: transparent;
  appearance: none;
  cursor: grab;
  pointer-events: auto;
}
.budget__input::-moz-range-thumb {
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: grab;
  pointer-events: auto;
}
.budget__input:focus-visible::-webkit-slider-thumb {
  outline: 2px solid var(--text-supporting);
  outline-offset: 2px;
}
.budget__input:focus-visible::-moz-range-thumb {
  outline: 2px solid var(--text-supporting);
  outline-offset: 2px;
}

.accordion {
  display: flex;
  flex-direction: column;
  gap: var(--padding-20);
}
.accordion__item {
  border-radius: 20px;
  background: var(--pure-white);
  box-shadow: var(--shadow-xs);
  overflow: clip;
}
.accordion__heading {
  font: inherit;
}
.accordion__trigger {
  display: flex;
  align-items: center;
  gap: var(--gap-24);
  width: 100%;
  padding: var(--gap-24) var(--gap-32);
  border: 0;
  background: none;
  color: var(--slate-900);
  text-align: left;
  cursor: pointer;
}
.accordion__question {
  flex: 1;
  min-width: 0;
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-xs);
  font-weight: 500;
  line-height: 1.35;
}
.accordion__icon {
  position: relative;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border-radius: var(--radius-full);
  background: var(--dark-brand);
  transition: background-color var(--duration) var(--ease-out);
}
.accordion__trigger:hover .accordion__icon {
  background: var(--dark-enable);
}
.accordion__plus, .accordion__minus {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  transition: opacity 400ms var(--ease-out), rotate 400ms var(--ease-out);
}
.accordion__minus {
  opacity: 0;
  rotate: -90deg;
}
.accordion__item.is-open .accordion__plus {
  opacity: 0;
  rotate: 90deg;
}
.accordion__item.is-open .accordion__minus {
  opacity: 1;
  rotate: 0deg;
}
.accordion__panel {
  display: grid;
  grid-template-rows: 0fr;
  visibility: hidden;
  transition: grid-template-rows 400ms var(--ease-out), visibility 0s linear 400ms;
}
.accordion__item.is-open .accordion__panel {
  grid-template-rows: 1fr;
  visibility: visible;
  transition-delay: 0s;
}
.accordion__panel-inner {
  min-height: 0;
  overflow: hidden;
}
.accordion__answer {
  max-width: 640px;
  padding: 0 var(--gap-32) var(--gap-24);
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-lg);
  font-weight: 400;
  line-height: 1.5;
  color: var(--slate-600);
  opacity: 0;
  transition: opacity 400ms var(--ease-out);
}
.accordion__item.is-open .accordion__answer {
  opacity: 0.8;
}
@media (prefers-reduced-motion: reduce) {
  .accordion__plus, .accordion__minus, .accordion__panel, .accordion__answer {
    transition-duration: 0s;
    transition-delay: 0s;
  }
}

.cta-banner {
  padding: 0 var(--card-inset) 24px;
}
.cta-banner__card {
  position: relative;
  display: flex;
  justify-content: center;
  padding: 64px calc(var(--gutter) - var(--card-inset));
  overflow: hidden;
  border-radius: var(--radius-32);
  background: var(--dark-brand);
}
@media (min-width: 1024px) {
  .cta-banner__card {
    padding-block: 80px;
  }
}
.cta-banner__ring {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  border: 1px solid var(--pure-white);
  border-radius: 50%;
  opacity: 0.08;
  pointer-events: none;
}
.cta-banner__ring--outer {
  width: 1232px;
  height: 1194px;
}
.cta-banner__ring--inner {
  width: 874px;
  height: 848px;
}
.cta-banner__glow {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 318px;
  height: 318px;
  border-radius: 50%;
  background: var(--brand-solid);
  opacity: 0.3;
  filter: blur(200px);
  translate: -50% -50%;
  pointer-events: none;
}
.cta-banner__galaxy {
  position: absolute;
  inset: 0 0 auto;
  height: 432px;
  pointer-events: none;
}
.cta-banner__dot {
  position: absolute;
  top: 438px;
  left: var(--x);
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  background: var(--pure-white);
  opacity: var(--alpha);
  animation: galaxy-rise 12s linear var(--delay) infinite;
}
.cta-banner__content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--gap-48);
  max-width: 600px;
  text-align: center;
}
.cta-banner__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}
.cta-banner__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: var(--brand-surface);
}
.cta-banner__text {
  display: flex;
  flex-direction: column;
  gap: var(--gap-24);
  text-wrap: balance;
}
.cta-banner__title {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-lg);
  font-weight: 500;
  line-height: 1.15;
  color: var(--pure-white);
}
.cta-banner__description {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-xs);
  font-weight: 400;
  line-height: 1.5;
  color: var(--slate-400);
}

@keyframes galaxy-rise {
  from {
    translate: 0 0;
  }
  to {
    translate: 0 -444px;
  }
}
.pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--gap-8);
  padding: 8px 20px 9px;
  border-radius: 40px;
  background: var(--bg-subtle);
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-md);
  font-weight: 600;
  line-height: 1.5;
  color: var(--text-default);
  white-space: nowrap;
}

.text-link {
  padding-bottom: 4px;
  background: linear-gradient(currentColor, currentColor) no-repeat 0 100%/0 2px;
  color: var(--text-default);
  transition: background-size 400ms var(--ease-out);
}
.text-link:hover {
  background-size: 100% 2px;
}
@media (prefers-reduced-motion: reduce) {
  .text-link {
    transition: none;
  }
}

.company-media {
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 32px;
  background: var(--bg-enable);
}
.company-media__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  scale: var(--media-scale, 1);
}
.company-media__placeholder {
  font-family: "Geist", system-ui, sans-serif;
  font-size: 32px;
  font-weight: 500;
  color: var(--text-soft);
}

.company-index {
  align-items: start;
}
.company-index__list {
  display: flex;
  flex-direction: column;
  gap: 120px;
  grid-column: 1/-1;
  list-style: none;
}
@media (min-width: 1024px) {
  .company-index__list {
    grid-column: 1/span 5;
    gap: 0;
  }
}
.company-index__item {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
@media (min-width: 1024px) {
  .company-index__item {
    justify-content: center;
    min-height: 600px;
  }
  .company-index__item > * {
    opacity: 0.35;
    transition: opacity var(--duration) var(--ease-out);
  }
  .company-index__item > .text-link {
    transition: opacity var(--duration) var(--ease-out), background-size 400ms var(--ease-out);
  }
  .company-index__item.is-active > * {
    opacity: 1;
  }
}
.company-index__inline-media {
  height: 320px;
}
@media (min-width: 1024px) {
  .company-index__inline-media {
    display: none;
  }
}
.company-index__text {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.company-index__heading {
  display: flex;
  flex-direction: column;
  gap: var(--gap-10);
}
.company-index__name {
  font-family: "Geist", system-ui, sans-serif;
  font-size: 32px;
  font-weight: 500;
  line-height: 1.35;
  color: var(--text-default);
}
.company-index__sector {
  color: var(--text-supporting);
}
.company-index__description {
  max-width: 488px;
  text-wrap: balance;
  font-size: 18px;
  line-height: 1.5;
  color: var(--text-secondary);
}
.company-index__link {
  align-self: flex-start;
  font-family: "Geist", system-ui, sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: normal;
}
.company-index__stage {
  display: none;
}
@media (min-width: 1024px) {
  .company-index__stage {
    position: sticky;
    top: calc(50vh - 600px / 2);
    display: block;
    grid-column: 7/-1;
    height: 600px;
  }
}
.company-index__media {
  position: absolute;
  inset: 0;
  opacity: 0;
  scale: 1.02;
  transition: opacity 500ms var(--ease-out), scale 700ms var(--ease-out);
}
.company-index__media.is-active {
  opacity: 1;
  scale: 1;
}

.simulator {
  --simulator-progress: 0;
  display: flex;
  flex-direction: column;
  gap: var(--gap-32);
  padding: 24px;
  border-radius: 32px;
  background: var(--pure-white);
  box-shadow: 0 4px 8px -4px rgba(108, 117, 125, 0.5);
}
@media (min-width: 768px) {
  .simulator {
    padding: 40px;
  }
}
.simulator__field {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.simulator__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gap-16);
}
.simulator__label {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-md);
  font-weight: 500;
  line-height: 1.5;
  color: var(--slate-500);
}
.simulator__value {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-sm);
  font-weight: 400;
  line-height: 1.35;
  font-weight: 500;
  color: var(--slate-800);
}
.simulator__slider {
  display: flex;
  flex-direction: column;
  gap: var(--gap-16);
}
.simulator__track {
  position: relative;
  height: 22px;
}
.simulator__track::before {
  content: "";
  position: absolute;
  inset: 7px 0;
  border-radius: var(--radius-full);
  background: rgba(7, 24, 51, 0.1);
}
.simulator__fill {
  position: absolute;
  top: 7px;
  left: 0;
  width: calc(var(--simulator-progress) * (100% - 22px) + 22px / 2);
  height: 8px;
  border-radius: var(--radius-full);
  background: var(--dark-brand);
}
.simulator__range {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  background: none;
  appearance: none;
  cursor: pointer;
}
.simulator__range::-webkit-slider-runnable-track {
  height: 22px;
  background: none;
}
.simulator__range::-moz-range-track {
  height: 22px;
  background: none;
}
.simulator__range::-webkit-slider-thumb {
  width: 22px;
  height: 22px;
  border: 6px solid var(--dark-brand);
  border-radius: 50%;
  background: var(--pure-white);
  appearance: none;
  cursor: grab;
}
.simulator__range::-moz-range-thumb {
  box-sizing: border-box;
  width: 22px;
  height: 22px;
  border: 6px solid var(--dark-brand);
  border-radius: 50%;
  background: var(--pure-white);
  cursor: grab;
}
.simulator__range:focus-visible {
  outline: 2px solid var(--dark-brand);
  outline-offset: 4px;
  border-radius: var(--radius-full);
}
.simulator__limits {
  display: flex;
  justify-content: space-between;
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-md);
  font-weight: 400;
  line-height: 1.5;
  color: var(--slate-500);
}
.simulator__result {
  display: flex;
  flex-direction: column;
  gap: var(--gap-32);
  padding: 24px;
  border-radius: 16px;
  background: var(--slate-200);
}
.simulator__earning {
  display: flex;
  flex-direction: column;
  gap: var(--gap-8);
}
.simulator__amount {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-lg);
  font-weight: 500;
  line-height: 1.15;
  font-weight: 600;
  color: #1c1c1c;
  font-variant-numeric: tabular-nums;
}
.simulator__divider {
  height: 1px;
  border: 0;
  background: var(--slate-400);
  opacity: 0.3;
}
.simulator__tier {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--gap-8) var(--gap-16);
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-md);
  font-weight: 500;
  line-height: 1.5;
  color: var(--slate-500);
}
.simulator__rate {
  font-weight: 600;
  color: #1c1c1c;
}

@keyframes flow-feed-opacity {
  0% {
    opacity: 0;
    animation-timing-function: ease-out;
  }
  4% {
    opacity: 1;
  }
  34% {
    opacity: 1;
    animation-timing-function: ease-in;
  }
  40%, 100% {
    opacity: 0;
  }
}
@keyframes flow-feed-trim {
  0% {
    stroke-dasharray: 0.1 1;
    stroke-dashoffset: 0;
    visibility: visible;
    animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
  }
  40% {
    stroke-dasharray: 0.1 1;
    stroke-dashoffset: -0.9;
    visibility: visible;
  }
  40.1%, 100% {
    stroke-dasharray: 0 1;
    stroke-dashoffset: -1;
    visibility: hidden;
  }
}
@keyframes logo-pulse {
  0%, 40% {
    box-shadow: 0 0 0 0 rgba(111, 233, 255, 0.06);
    animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1);
  }
  52% {
    box-shadow: 0 0 0 12px rgba(111, 233, 255, 0.06);
    animation-timing-function: cubic-bezier(0.5, 0, 0.5, 1);
  }
  66%, 100% {
    box-shadow: 0 0 0 0 rgba(111, 233, 255, 0.06);
  }
}
@keyframes flow-return-opacity {
  0%, 50% {
    opacity: 0;
    animation-timing-function: ease-out;
  }
  54% {
    opacity: 1;
  }
  72% {
    opacity: 1;
    animation-timing-function: ease-in;
  }
  78%, 100% {
    opacity: 0;
  }
}
@keyframes flow-return-trim {
  0%, 50% {
    stroke-dasharray: 0.35 1;
    stroke-dashoffset: 0;
    visibility: hidden;
  }
  50.1% {
    stroke-dasharray: 0.35 1;
    stroke-dashoffset: 0;
    visibility: visible;
    animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
  }
  78% {
    stroke-dasharray: 0.35 1;
    stroke-dashoffset: -1;
    visibility: visible;
  }
  78.1%, 100% {
    stroke-dasharray: 0 1;
    stroke-dashoffset: -1;
    visibility: hidden;
  }
}
@keyframes flow-hop {
  0% {
    opacity: 0;
    background-position: 0 100%;
  }
  1%, 9% {
    opacity: 1;
  }
  10%, 100% {
    opacity: 0;
    background-position: 0 0;
  }
}
.hero__card {
  position: relative;
}
.hero__card::before, .hero__card::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  width: 2px;
  height: var(--flow-link, 40px);
  margin-left: -1px;
  pointer-events: none;
}
@media (min-width: 768px) {
  .hero__card::before, .hero__card::after {
    display: none;
  }
}
.hero__card::after {
  background: var(--brand-solid);
  opacity: 0.08;
}
.hero__card::before {
  z-index: 1;
  background: linear-gradient(180deg, transparent 35%, var(--brand-solid) 50%, transparent 65%) 0 100%/100% 200% no-repeat;
  filter: drop-shadow(0 0 6px rgba(55, 165, 255, 0.6));
  opacity: 0;
  animation: flow-hop 3.8s linear infinite;
}
.hero__card:nth-child(2)::before {
  animation-delay: 0.38s;
}
.hero__card:nth-child(3)::before {
  animation-delay: 0.76s;
}
.hero__card:nth-child(4)::before {
  animation-delay: 1.14s;
}

.flow-lines,
.flow-line {
  display: block;
  overflow: visible;
  pointer-events: none;
}
.flow-lines__track,
.flow-line__track {
  stroke: var(--brand-solid);
  stroke-opacity: 0.08;
  stroke-width: 2;
}
.flow-lines__light,
.flow-line__light {
  stroke: var(--brand-solid);
  stroke-width: 2;
  stroke-linejoin: round;
  stroke-dasharray: 0 1;
  stroke-dashoffset: -1;
  filter: drop-shadow(0 0 6px rgba(55, 165, 255, 0.6));
  opacity: 0;
  visibility: hidden;
  animation: flow-feed-opacity 3.8s linear infinite, flow-feed-trim 3.8s linear infinite;
}
.flow-lines__light--bottom,
.flow-line__light--bottom {
  animation-name: flow-return-opacity, flow-return-trim;
}

.flow-lines {
  display: none;
  width: 100%;
  height: auto;
}
@media (min-width: 1024px) {
  .flow-lines {
    display: block;
  }
}

.flow-line {
  width: 4px;
  height: 100px;
}

@keyframes pixel-early {
  0% {
    fill: var(--pixel-on);
    stroke: var(--pixel-border);
    animation-timing-function: ease-in-out;
  }
  28.571% {
    fill: var(--pixel-off);
    stroke: rgba(58, 128, 151, 0);
    animation-timing-function: ease-in-out;
  }
  57.143% {
    fill: var(--pixel-on);
    stroke: var(--pixel-border);
  }
  100% {
    fill: var(--pixel-on);
    stroke: var(--pixel-border);
  }
}
@keyframes pixel-late {
  0% {
    fill: var(--pixel-on);
    stroke: var(--pixel-border);
    animation-timing-function: ease-in-out;
  }
  28.571% {
    fill: var(--pixel-off);
    stroke: rgba(58, 128, 151, 0);
  }
  71.429% {
    fill: var(--pixel-off);
    stroke: rgba(58, 128, 151, 0);
    animation-timing-function: linear;
  }
  100% {
    fill: var(--pixel-on);
    stroke: var(--pixel-border);
  }
}
.pixel-word {
  display: block;
  width: 100%;
  height: auto;
  pointer-events: none;
}
.pixel-word__cell {
  fill: var(--pixel-off);
}
.pixel-word__cell--on {
  fill: var(--pixel-on);
  stroke: var(--pixel-border);
  stroke-width: 1.405;
}
.pixel-word__cell--early, .pixel-word__cell--late {
  animation: 7s linear infinite;
}
.pixel-word__cell--early {
  animation-name: pixel-early;
}
.pixel-word__cell--late {
  animation-name: pixel-late;
}

.hero {
  padding-inline: var(--card-inset);
}
.hero__container {
  padding-block: 48px;
  border-radius: 40px;
  background: linear-gradient(180deg, var(--dark-surface), var(--dark-subtle));
  overflow: hidden;
}
@media (min-width: 768px) {
  .hero__container {
    padding-block: 64px;
  }
}
@media (min-width: 1024px) {
  .hero__container {
    padding-block: 80px;
  }
}
.hero__content {
  box-sizing: content-box;
  display: flex;
  flex-direction: column;
  gap: 64px;
  max-width: var(--content-size);
  margin-inline: auto;
  padding-inline: calc(var(--gutter) - var(--card-inset));
}
@media (min-width: 1024px) {
  .hero__content {
    gap: 100px;
  }
}
.hero__headline {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--gap-32);
  text-align: center;
}
.hero__title {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-display);
  font-weight: 500;
  line-height: 1.15;
  color: var(--pure-white);
}
.hero__line {
  display: block;
}
.hero__accent {
  color: var(--brand-solid);
}
.hero__subtitle {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-xs);
  font-weight: 400;
  line-height: 1.5;
  color: var(--slate-400);
  text-wrap: balance;
}
.hero__cta {
  margin-top: var(--gap-16);
}
.hero__flow {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.hero__cards {
  row-gap: 40px;
}
@media (min-width: 768px) {
  .hero__cards {
    row-gap: var(--grid-gap);
  }
}
.hero__card {
  grid-column: span 4;
}
@media (min-width: 1024px) {
  .hero__card {
    grid-column: span 3;
  }
}
.hero__card .stat-card {
  height: 100%;
}
.hero__logo {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}
@media (min-width: 768px) {
  .hero__logo {
    margin-top: var(--gap-48);
  }
}
@media (min-width: 1024px) {
  .hero__logo {
    margin-top: 0;
  }
}
.hero .flow-line {
  align-self: center;
  margin-bottom: 50px;
}
.hero__operations {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--gap-32);
}
@media (min-width: 1024px) {
  .hero__operations {
    gap: 40px;
  }
}
.hero__operations-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--gap-16);
  text-align: center;
  text-wrap: balance;
}
.hero__operations-title {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-xs);
  font-weight: 600;
  line-height: 1.35;
  color: var(--pure-white);
}
.hero__operations-subtitle {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-md);
  font-weight: 400;
  line-height: 1.5;
  color: var(--slate-400);
}
.hero__badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--gap-16);
  max-width: 960px;
  list-style: none;
}

.before-after {
  padding-inline: var(--card-inset);
}
.before-after__container {
  position: relative;
  isolation: isolate;
  padding-block: 64px;
  border-radius: var(--radius-32);
  overflow: clip;
}
@media (min-width: 768px) {
  .before-after__container {
    padding-block: 96px;
  }
}
@media (min-width: 1024px) {
  .before-after__container {
    padding-block: 140px;
  }
}
.before-after__inner {
  box-sizing: content-box;
  display: flex;
  flex-direction: column;
  gap: 64px;
  max-width: var(--content-size);
  margin-inline: auto;
  padding-inline: calc(var(--gutter) - var(--card-inset));
}
@media (min-width: 1024px) {
  .before-after__inner {
    gap: 180px;
  }
}
.before-after__stage {
  --intro: 1;
  --fade: 1;
  --spread: 1;
  --cards-height: 634px;
}
@media (min-width: 1024px) and (prefers-reduced-motion: no-preference) {
  .before-after__stage {
    height: calc(var(--cards-height) + 200vh);
  }
}
@media (min-width: 1024px) and (prefers-reduced-motion: no-preference) {
  .before-after__sticky {
    position: sticky;
    top: max(24px, (100vh - var(--cards-height)) / 2);
  }
}
.before-after__cards {
  row-gap: var(--grid-gap);
  width: 100%;
}
.before-after__card {
  grid-column: span 4;
}
@media (min-width: 768px) {
  .before-after__card {
    grid-column: span 8;
  }
}
@media (min-width: 1024px) {
  .before-after__card {
    grid-column: span 6;
  }
}
.before-after__card--before {
  position: relative;
  z-index: 1;
}
@media (min-width: 1024px) and (prefers-reduced-motion: no-preference) {
  .before-after__card--before {
    translate: calc((1 - var(--spread)) * (50% + var(--grid-gap) / 2)) 0;
    scale: calc(0.5 + 0.5 * var(--intro));
    opacity: calc(0.1 + 0.9 * var(--fade));
  }
}
@media (min-width: 1024px) and (prefers-reduced-motion: no-preference) {
  .before-after__card--after {
    translate: calc((1 - var(--spread)) * (-50% - var(--grid-gap) / 2)) 0;
    scale: calc(0.92 + 0.08 * var(--spread));
    opacity: var(--spread);
  }
}
.before-after__cta {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--gap-48);
  text-align: center;
}
.before-after__glow {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  width: 800px;
  height: 800px;
  translate: -50% -50%;
  background: url("/_astro/glow.BU8XPKXc.png") center/100% 100% no-repeat;
  pointer-events: none;
}
.before-after__cta-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: var(--brand-surface);
}
.before-after__cta-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--gap-24);
  margin-top: calc(40px - var(--gap-48));
  text-wrap: balance;
}
.before-after__cta-title {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-lg);
  font-weight: 500;
  line-height: 1.15;
  color: var(--pure-white);
}
.before-after__cta-subtitle {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-xs);
  font-weight: 400;
  line-height: 1.5;
  color: var(--slate-400);
}

.faq {
  padding: 12px var(--card-inset);
}
@media (min-width: 768px) {
  .faq {
    padding-block: 24px;
  }
}
.faq__container {
  padding-block: 64px;
  border-radius: 40px;
  background: var(--slate-300);
}
@media (min-width: 768px) {
  .faq__container {
    padding-block: 96px;
  }
}
@media (min-width: 1024px) {
  .faq__container {
    padding-block: 140px;
  }
}
.faq__inner {
  box-sizing: content-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
  max-width: var(--content-size);
  margin-inline: auto;
  padding-inline: calc(var(--gutter) - var(--card-inset));
}
@media (min-width: 768px) {
  .faq__inner {
    gap: 64px;
  }
}
.faq__headline {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--gap-32);
  text-align: center;
  text-wrap: balance;
}
.faq__title {
  max-width: 555px;
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-2xl);
  font-weight: 500;
  line-height: 1.1;
  color: var(--text-default);
}
.faq__subtitle {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-sm);
  font-weight: 400;
  line-height: 1.35;
  color: var(--text-secondary);
}
.faq__items {
  width: 100%;
  max-width: 800px;
}

.partner-hero {
  padding: 0 var(--card-inset) 24px;
}
@media (min-width: 1024px) {
  .partner-hero {
    padding-bottom: 48px;
  }
}
.partner-hero__container {
  display: flex;
  flex-direction: column;
  gap: 80px;
  padding-block: 48px 80px;
  border-radius: 40px;
  background: linear-gradient(180deg, var(--dark-surface), var(--dark-subtle));
  overflow: hidden;
}
@media (min-width: 768px) {
  .partner-hero__container {
    gap: 100px;
    padding-block: 64px 100px;
  }
}
@media (min-width: 1024px) {
  .partner-hero__container {
    gap: 140px;
    padding-block: 80px 140px;
  }
}
.partner-hero__content, .partner-hero__steps {
  width: 100%;
  max-width: calc(var(--content-size) + 2 * (var(--gutter) - var(--card-inset)));
  margin-inline: auto;
  padding-inline: calc(var(--gutter) - var(--card-inset));
}
.partner-hero__content {
  display: flex;
  flex-direction: column;
  gap: 64px;
}
@media (min-width: 1024px) {
  .partner-hero__content {
    gap: 100px;
  }
}
.partner-hero__headline {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--gap-48);
  text-align: center;
}
.partner-hero__text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--gap-32);
}
.partner-hero__title {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-display);
  font-weight: 500;
  line-height: 1.15;
  color: var(--pure-white);
}
.partner-hero__line {
  display: block;
}
.partner-hero__accent {
  color: var(--brand-solid);
}
.partner-hero__subtitle {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-xs);
  font-weight: 400;
  line-height: 1.5;
  color: var(--slate-400);
  text-wrap: balance;
}
.partner-hero__banner {
  position: relative;
  height: 280px;
  border-radius: 24px;
  background: var(--bg-enable);
  overflow: hidden;
}
@media (min-width: 768px) {
  .partner-hero__banner {
    height: 440px;
  }
}
@media (min-width: 1024px) {
  .partner-hero__banner {
    height: 640px;
    border-radius: 32px;
  }
}
.partner-hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scaleX(-1);
}
.partner-hero__steps {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
}
@media (min-width: 1024px) {
  .partner-hero__steps {
    gap: 72px;
  }
}
.partner-hero__steps-title {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-lg);
  font-weight: 500;
  line-height: 1.15;
  color: var(--pure-white);
  text-align: center;
}
.partner-hero__list {
  width: 100%;
  row-gap: 48px;
  list-style: none;
}
.partner-hero__step {
  grid-column: 1/-1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--gap-32);
}
@media (min-width: 1024px) {
  .partner-hero__step {
    grid-column: span 4;
  }
}
.partner-hero__indicator {
  display: flex;
  padding: 8px;
  border: 1px solid var(--brand-border-solid);
  border-radius: 99px;
}
.partner-hero__number {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-md);
  font-weight: 500;
  line-height: 1.35;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 48px;
  background: var(--brand-surface);
  color: var(--brand-solid);
  font-weight: 600;
}
.partner-hero__step-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  max-width: 240px;
  text-align: center;
}
.partner-hero__step-title {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-md);
  font-weight: 500;
  line-height: 1.35;
  color: var(--pure-white);
  font-weight: 600;
}
.partner-hero__step-text {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-lg);
  font-weight: 400;
  line-height: 1.5;
  color: var(--slate-400);
  opacity: 0.8;
  text-wrap: balance;
}
.partner-hero__divider {
  height: 1px;
  max-width: var(--content-size);
  margin-inline: auto;
  width: calc(100% - 2 * (var(--gutter) - var(--card-inset)));
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.08), transparent);
}

.partner-benefits {
  row-gap: 48px;
  width: 100%;
  max-width: calc(var(--content-size) + 2 * (var(--gutter) - var(--card-inset)));
  margin-inline: auto;
  padding-inline: calc(var(--gutter) - var(--card-inset));
}
@media (min-width: 1024px) {
  .partner-benefits {
    row-gap: 80px;
  }
}
.partner-benefits__text {
  grid-column: 1/-1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--gap-32);
  text-align: center;
}
.partner-benefits__title {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-2xl);
  font-weight: 500;
  line-height: 1.1;
  color: var(--pure-white);
  white-space: pre-line;
}
.partner-benefits__description {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-xs);
  font-weight: 400;
  line-height: 1.5;
  max-width: 472px;
  color: var(--slate-400);
}
.partner-benefits__simulator {
  grid-column: 1/-1;
  justify-self: center;
  width: 100%;
  max-width: 515px;
}
@media (min-width: 1024px) {
  .partner-benefits__simulator {
    grid-column: 4/span 6;
  }
}
.partner-benefits__cta {
  width: 100%;
  height: 56px;
  transition: background-color var(--duration) var(--ease-out), color var(--duration) var(--ease-out);
}
.partner-benefits__cta:hover {
  background: var(--dark-surface);
  color: var(--brand-solid);
}

.companies-hero {
  padding: 0 var(--card-inset) 24px;
}
.companies-hero__container {
  display: flex;
  flex-direction: column;
  gap: 80px;
  padding-block: 48px 80px;
  border-radius: 40px;
  background: linear-gradient(180deg, var(--dark-surface), var(--dark-subtle));
  overflow: hidden;
}
@media (min-width: 768px) {
  .companies-hero__container {
    gap: 100px;
    padding-block: 64px 100px;
  }
}
@media (min-width: 1024px) {
  .companies-hero__container {
    gap: 140px;
    padding-block: 80px 140px;
  }
}
.companies-hero__content, .companies-hero__intro {
  width: 100%;
  max-width: calc(var(--content-size) + 2 * (var(--gutter) - var(--card-inset)));
  margin-inline: auto;
  padding-inline: calc(var(--gutter) - var(--card-inset));
}
.companies-hero__content {
  display: flex;
  flex-direction: column;
  gap: 64px;
}
@media (min-width: 1024px) {
  .companies-hero__content {
    gap: 100px;
  }
}
.companies-hero__headline {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--gap-48);
  text-align: center;
}
.companies-hero__text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--gap-32);
}
.companies-hero__title {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-display);
  font-weight: 500;
  line-height: 1.15;
  max-width: 894px;
  color: var(--pure-white);
}
.companies-hero__accent {
  color: var(--brand-solid);
}
.companies-hero__subtitle {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-xs);
  font-weight: 400;
  line-height: 1.5;
  color: var(--slate-400);
  text-wrap: balance;
}
.companies-hero__banner {
  height: 280px;
  border-radius: 24px;
  background: var(--bg-enable);
  overflow: hidden;
}
@media (min-width: 768px) {
  .companies-hero__banner {
    height: 440px;
  }
}
@media (min-width: 1024px) {
  .companies-hero__banner {
    height: 640px;
    border-radius: 32px;
  }
}
.companies-hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 3%;
}
.companies-hero__intro {
  row-gap: 40px;
}
@media (min-width: 1024px) {
  .companies-hero__intro {
    row-gap: 80px;
  }
}
.companies-hero__label {
  grid-column: 1/-1;
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-lg);
  font-weight: 400;
  line-height: 1.5;
  color: var(--slate-400);
}
@media (min-width: 1024px) {
  .companies-hero__label {
    grid-column: 1/span 3;
  }
}
.companies-hero__description {
  grid-column: 1/-1;
  display: flex;
  flex-direction: column;
  gap: var(--gap-32);
}
@media (min-width: 1024px) {
  .companies-hero__description {
    grid-column: 4/span 6;
  }
}
.companies-hero__headline-text {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-lg);
  font-weight: 500;
  line-height: 1.15;
  line-height: 1.35;
  color: var(--pure-white);
}
.companies-hero__paragraph {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-xs);
  font-weight: 400;
  line-height: 1.5;
  max-width: 531px;
  color: var(--slate-400);
}
.companies-hero__stats {
  grid-column: 1/-1;
  display: flex;
  flex-wrap: wrap;
  gap: 32px 80px;
}
@media (min-width: 1024px) {
  .companies-hero__stats {
    grid-column: 4/span 9;
  }
}
.companies-hero__stat {
  display: flex;
  flex-direction: column;
  gap: var(--gap-16);
}
.companies-hero__stat dt {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-lg);
  font-weight: 500;
  line-height: 1.5;
  color: var(--slate-400);
}
.companies-hero__stat dd {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-lg);
  font-weight: 500;
  line-height: 1.15;
  line-height: 1.35;
  font-weight: 500;
  color: var(--pure-white);
}

.companies-built {
  padding: 0 var(--card-inset) 24px;
}
.companies-built__container {
  padding-block: 64px;
  border-radius: 40px;
  background: var(--bg-surface);
}
@media (min-width: 768px) {
  .companies-built__container {
    padding-block: 96px;
  }
}
@media (min-width: 1024px) {
  .companies-built__container {
    padding-block: 140px;
  }
}
.companies-built__inner {
  box-sizing: content-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 80px;
  max-width: var(--content-size);
  margin-inline: auto;
  padding-inline: calc(var(--gutter) - var(--card-inset));
}
@media (min-width: 1024px) {
  .companies-built__inner {
    gap: 80px;
  }
}
.companies-built__headline {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--gap-32);
  text-align: center;
}
.companies-built__title {
  max-width: 578px;
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-2xl);
  font-weight: 500;
  line-height: 1.1;
  color: var(--text-default);
  text-wrap: balance;
}
.companies-built .company-index {
  align-self: stretch;
}

.services-hero {
  padding: 0 var(--card-inset) 24px;
}
@media (min-width: 1024px) {
  .services-hero {
    padding-bottom: 48px;
  }
}
.services-hero__container {
  display: flex;
  flex-direction: column;
  gap: 80px;
  padding-block: 48px 80px;
  border-radius: 40px;
  background: linear-gradient(180deg, var(--dark-surface), var(--dark-subtle));
  overflow: hidden;
}
@media (min-width: 768px) {
  .services-hero__container {
    gap: 100px;
    padding-block: 64px 100px;
  }
}
@media (min-width: 1024px) {
  .services-hero__container {
    gap: 140px;
    padding-block: 80px 140px;
  }
}
.services-hero__content, .services-hero__list {
  width: 100%;
  max-width: calc(var(--content-size) + 2 * (var(--gutter) - var(--card-inset)));
  margin-inline: auto;
  padding-inline: calc(var(--gutter) - var(--card-inset));
}
.services-hero__content {
  display: flex;
  flex-direction: column;
  gap: 64px;
}
@media (min-width: 1024px) {
  .services-hero__content {
    gap: 100px;
  }
}
.services-hero__headline {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--gap-48);
  text-align: center;
}
.services-hero__text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--gap-32);
}
.services-hero__title {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-display);
  font-weight: 500;
  line-height: 1.15;
  max-width: 864px;
  color: var(--pure-white);
}
.services-hero__accent {
  color: var(--brand-solid);
}
.services-hero__subtitle {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-xs);
  font-weight: 400;
  line-height: 1.5;
  color: var(--slate-400);
  text-wrap: balance;
}
.services-hero__banner {
  position: relative;
  height: 280px;
  border-radius: 24px;
  background: var(--dark-brand);
  overflow: hidden;
}
@media (min-width: 768px) {
  .services-hero__banner {
    height: 440px;
  }
}
@media (min-width: 1024px) {
  .services-hero__banner {
    height: 640px;
    border-radius: 32px;
  }
}
.services-hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.services-hero__list, .services-hero__items {
  list-style: none;
}
.services-hero__list {
  display: flex;
  flex-direction: column;
  gap: 64px;
}
.services-hero__item {
  position: relative;
}
.services-hero__item + .services-hero__item {
  padding-top: 64px;
}
.services-hero__item + .services-hero__item::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.08), transparent);
}
.services-hero__link {
  align-items: start;
  row-gap: var(--gap-16);
  color: var(--pure-white);
  transition: opacity 400ms var(--ease-out);
}
.services-hero__list:has(.services-hero__link:hover) .services-hero__link:not(:hover), .services-hero__list:has(.services-hero__link:focus-visible) .services-hero__link:not(:focus-visible) {
  opacity: 0.35;
}
@media (prefers-reduced-motion: reduce) {
  .services-hero__link {
    transition: none;
  }
}
.services-hero__name {
  grid-column: 1/-1;
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-lg);
  font-weight: 500;
  line-height: 1.15;
  line-height: 1.35;
}
@media (min-width: 1024px) {
  .services-hero__name {
    grid-column: span 4;
  }
}
.services-hero__body {
  display: flex;
  flex-direction: column;
  gap: 20px;
  grid-column: 1/-1;
}
@media (min-width: 1024px) {
  .services-hero__body {
    grid-column: span 4;
    padding-top: 8px;
  }
}
.services-hero__description {
  max-width: var(--description-width);
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-xs);
  font-weight: 400;
  line-height: 1.5;
  font-weight: 500;
  line-height: 1.35;
}
.services-hero__items {
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-lg);
  font-weight: 400;
  line-height: 1.5;
  line-height: 1.35;
  color: var(--slate-400);
}
.services-hero__price {
  display: flex;
  flex-direction: column;
  gap: 8px;
  grid-column: 1/-1;
}
@media (min-width: 1024px) {
  .services-hero__price {
    grid-column: span 4;
    align-items: flex-end;
    text-align: right;
  }
}
.services-hero__amount {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-md);
  font-weight: 500;
  line-height: 1.35;
  white-space: nowrap;
}
.services-hero__duration {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-lg);
  font-weight: 400;
  line-height: 1.5;
  color: var(--slate-400);
}

.not-found {
  padding: 48px var(--gutter) 80px;
}
@media (min-width: 768px) {
  .not-found {
    padding: 80px var(--gutter) 140px;
  }
}
.not-found__chat {
  display: flex;
  flex-direction: column;
  gap: 40px;
  max-width: 560px;
  margin-inline: auto;
}
.not-found__contact {
  display: flex;
  align-items: center;
  gap: var(--gap-24);
}
.not-found__avatar {
  position: relative;
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  overflow: hidden;
  border-radius: var(--radius-full);
  background: var(--brand-solid);
}
.not-found__video {
  position: absolute;
  top: 4.45px;
  left: 50%;
  width: 43.27px;
  height: 48.36px;
  object-fit: cover;
  transform: translateX(-50%);
}
.not-found__contact-text {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.not-found__name {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-xs);
  font-weight: 500;
  line-height: 1.35;
  font-size: var(--font-size-heading-sm);
  color: var(--pure-white);
}
.not-found__status {
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-body-md);
  font-weight: 400;
  line-height: 1.5;
  color: var(--slate-400);
}
.not-found__divider {
  height: 1px;
  border: 0;
  background: rgba(255, 255, 255, 0.2);
}
.not-found__bubble {
  position: relative;
  width: 308px;
  max-width: 100%;
  padding: 12.27px 17.73px;
  border-radius: 27.27px;
  background: var(--slate-700);
  font-family: "Geist", system-ui, sans-serif;
  font-size: var(--font-size-heading-xs);
  font-weight: 400;
  line-height: 1.5;
  font-weight: 500;
  color: var(--pure-white);
  transform-origin: bottom left;
}
.not-found__bubble--tail, .not-found__bubble--sent {
  margin-bottom: 6.8px;
}
.not-found__bubble--sent {
  align-self: flex-end;
  width: auto;
  max-width: 357.83px;
  padding: 12.25px 17.69px;
  border-radius: 27.21px;
  background: var(--brand-solid);
  color: var(--dark-enable);
  transform-origin: bottom right;
  animation: message-in 500ms var(--ease-out) 300ms both;
}
.not-found__bubble--sent strong {
  font-weight: 700;
  overflow-wrap: anywhere;
}
.not-found__mark {
  font-weight: 400;
}
.not-found__tail {
  position: absolute;
  bottom: -6.8px;
  left: 0;
}
.not-found__bubble--sent .not-found__tail {
  right: 0;
  left: auto;
}
.not-found__replies {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  animation: message-in 500ms var(--ease-out) 2300ms both;
}
.not-found__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-16);
  animation: message-in 500ms var(--ease-out) 4300ms both;
}
.not-found__button {
  padding-inline: var(--gap-24);
  font-weight: 600;
}
.not-found__button--home {
  background: var(--bg-surface);
  color: var(--dark-enable);
}
.not-found__button--home:hover {
  background: var(--slate-300);
}
.not-found__button--whatsapp {
  gap: var(--gap-10);
  border-color: rgba(111, 233, 255, 0.35);
  color: var(--pure-white);
}

@keyframes message-in {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.grid-overlay__lines {
  position: fixed;
  inset: 0;
  z-index: 9998;
  pointer-events: none;
}
.grid-overlay.is-hidden .grid-overlay__lines {
  display: none;
}
.grid-overlay__inner {
  height: 100%;
}
.grid-overlay__inner span {
  background: rgba(255, 0, 0, 0.06);
}
.grid-overlay__inner span:nth-child(n+5) {
  display: none;
}
@media (min-width: 768px) {
  .grid-overlay__inner span:nth-child(n+5) {
    display: block;
  }
}
@media (min-width: 768px) {
  .grid-overlay__inner span:nth-child(n+9) {
    display: none;
  }
}
@media (min-width: 1024px) {
  .grid-overlay__inner span:nth-child(n+9) {
    display: block;
  }
}
.grid-overlay__toggle {
  position: fixed;
  top: 50%;
  right: 16px;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  translate: 0 -50%;
  border: 0;
  border-radius: var(--radius-full);
  background: var(--bg-subtle);
  cursor: pointer;
}
.grid-overlay__toggle img {
  transition: opacity var(--duration) var(--ease-out);
}
.grid-overlay.is-hidden .grid-overlay__toggle img {
  opacity: 0.4;
}