:root {
  --font-from: 18;
  --font-to: 20;
  --vw-from: calc(1920 / 100);
  --vw-to: calc(2400 / 100);
  --coefficient: calc((var(--font-to) - var(--font-from)) / (var(--vw-to) - var(--vw-from)));
  --base: calc((var(--font-from) - var(--vw-from) * var(--coefficient)) / 16);
  --font-display: 'Jost', 'Futura PT', Futura, ui-sans-serif, system-ui, sans-serif;
  --font-body: 'Jost', 'Futura PT', Futura, ui-sans-serif, system-ui, sans-serif;
  --font-accent: 'Jost', 'Futura PT', Futura, ui-sans-serif, sans-serif;
  --font-label: 'Jost', 'Futura PT', Futura, ui-sans-serif, sans-serif;
  --type-scale: 1;
  --size-display: calc(var(--size-display-base) * var(--type-scale));
  --size-h1: calc(var(--size-h1-base) * var(--type-scale));
  --size-h2: calc(var(--size-h2-base) * var(--type-scale));
  --size-h3: calc(var(--size-h3-base) * var(--type-scale));
  --size-h4: var(--size-h4-base);
  --size-h5: var(--size-h5-base);
  --size-h6: var(--size-h6-base);
  --size-text-large: var(--size-text-large-base);
  --size-text-medium: var(--size-text-medium-base);
  --size-text-regular: var(--size-text-regular-base);
  --size-text-small: var(--size-text-small-base);
  --size-text-tiny: var(--size-text-tiny-base);
  --size-number: calc(var(--size-number-base) * var(--type-scale));
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --chrome-fill: linear-gradient(180deg, #ffffff 0%, #e4e9f4 45%, #8f9ab3 100%);
  --blue-fill: linear-gradient(120deg, #7cc8ff 0%, #4d86ff 45%, #2563ff 100%);
}

@media screen and (max-width: 1920px) {
  :root {
  --breakpoint: 1920;
  --font-from: 16;
  --font-to: 18;
  --vw-from: calc(1440 / 100);
  --vw-to: calc(1920 / 100);
  }
}

@media screen and (max-width: 1440px) {
  :root {
  --breakpoint: 1440;
  --font-from: 16;
  --font-to: 16;
  --vw-from: calc(479 / 100);
  --vw-to: calc(1440 / 100);
  }
}

@media screen and (max-width: 1439px) {
  :root {
  --breakpoint: 1439;
  }
}

@media screen and (max-width: 1279px) {
  :root {
  --breakpoint: 1279;
  }
}

@media screen and (max-width: 1199px) {
  :root {
  --breakpoint: 1199;
  }
}

@media screen and (max-width: 1099px) {
  :root {
  --breakpoint: 1099;
  }
}

@media screen and (max-width: 991px) {
  :root {
  --breakpoint: 991;
  --type-scale: 0.82;
  }
}

@media screen and (max-width: 767px) {
  :root {
  --breakpoint: 767;
  --type-scale: 0.66;
  }
}

@media screen and (max-width: 479px) {
  :root {
  --breakpoint: 479;
  --font-from: 12;
  --font-to: 16;
  --vw-from: calc(320 / 100);
  --vw-to: calc(479 / 100);
  --type-scale: 0.6;
  }
}

@media screen and (max-width: 478px) {
  :root {
  --breakpoint: 478;
  }
}

@media screen and (max-width: 419px) {
  :root {
  --breakpoint: 419;
  }
}

@media screen and (min-width: 992px) {
  :root {
  --breakpoint-up: 992;
  }
}

@media screen and (min-width: 1280px) {
  :root {
  --breakpoint-up: 1280;
  }
}

@media screen and (min-width: 768px) and (max-height: 820px) {
  :root {
  --short: 768;
  }
}

@media screen and (min-width: 992px) and (max-height: 820px) {
  :root {
  --short: 992;
  }
}

@media (prefers-reduced-motion: no-preference) {
  :root {
  --motion: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  :root {
  --motion: 0;
  }
}

@media (hover: hover) and (pointer: fine) {
  :root {
  --hover: 1;
  }
}

@media (orientation: portrait) {
  :root {
  --portrait: 1;
  }
}

html {
  font-size: calc(var(--base) * 1rem + var(--coefficient) * 1vw);
}

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

body, h1, h2, h3, h4, h5, h6, p, figure, blockquote, ul, ol, dl, dd {
  margin: 0px;
  padding: 0px;
}

ul, ol {
  list-style: none;
}

img {
  display: block;
  width: 100%;
  height: auto;
}

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

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

button {
  font-style: inherit;
  font-variant: inherit;
  font-weight: inherit;
  font-stretch: inherit;
  font-size: inherit;
  line-height: inherit;
  font-family: inherit;
  color: inherit;
  background-image: none;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: initial;
  border-top-width: 0px;
  border-right-width: 0px;
  border-bottom-width: 0px;
  border-left-width: 0px;
  border-top-style: initial;
  border-right-style: initial;
  border-bottom-style: initial;
  border-left-style: initial;
  border-top-color: initial;
  border-right-color: initial;
  border-bottom-color: initial;
  border-left-color: initial;
  border-image-source: initial;
  border-image-slice: initial;
  border-image-width: initial;
  border-image-outset: initial;
  border-image-repeat: initial;
  padding: 0px;
  cursor: pointer;
}

input, select, textarea {
  font-style: inherit;
  font-variant: inherit;
  font-weight: inherit;
  font-stretch: inherit;
  font-size: inherit;
  line-height: inherit;
  font-family: inherit;
}

table {
  border-collapse: collapse;
  width: 100%;
}

summary {
  list-style: none;
  cursor: pointer;
}

summary::-webkit-details-marker {
  display: none;
}

body {
  font-family: var(--font-body);
  font-size: var(--size-text-regular);
  line-height: 1.65;
  color: var(--fg);
  background-color: var(--bg);
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 400;
}

::selection {
  background-color: var(--accent-flat);
  color: #111111;
}

h1 {
  font-family: var(--font-display);
  font-size: var(--size-h1);
  line-height: 0.98;
  letter-spacing: -0.03em;
  color: var(--fg);
}

h2 {
  font-family: var(--font-display);
  font-size: var(--size-h2);
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--fg);
}

h3 {
  font-family: var(--font-display);
  font-size: var(--size-h3);
  line-height: 1.02;
  letter-spacing: -0.02em;
  color: var(--fg);
}

h4 {
  font-family: var(--font-display);
  font-size: var(--size-h4);
  line-height: 1.1;
  color: var(--fg);
}

h5 {
  font-family: var(--font-display);
  font-size: var(--size-h5);
  line-height: 1.12;
  color: var(--fg);
}

h6 {
  font-family: var(--font-display);
  font-size: var(--size-h6);
  line-height: 1.15;
  color: var(--fg);
}

.page-wrapper {
  position: relative;
  overflow-x: clip;
}

.main-wrapper {
  display: block;
}

.padding-global {
  padding-left: 5%;
  padding-right: 5%;
}

@media screen and (max-width: 767px) {
  .padding-global {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  }
}

.container-large {
  width: 100%;
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
}

.container-medium {
  width: 100%;
  max-width: 64rem;
  margin-left: auto;
  margin-right: auto;
}

.container-small {
  width: 100%;
  max-width: 48rem;
  margin-left: auto;
  margin-right: auto;
}

.padding-section-small {
  padding-top: var(--space-large);
  padding-bottom: var(--space-large);
}

.padding-section-medium {
  padding-top: var(--space-xxlarge);
  padding-bottom: var(--space-xxlarge);
}

@media screen and (max-width: 991px) {
  .padding-section-medium {
  padding-top: var(--space-xlarge);
  padding-bottom: var(--space-xlarge);
  }
}

.padding-section-large {
  padding-top: var(--space-xhuge);
  padding-bottom: var(--space-xhuge);
}

@media screen and (max-width: 991px) {
  .padding-section-large {
  padding-top: var(--space-huge);
  padding-bottom: var(--space-huge);
  }
}

@media screen and (max-width: 767px) {
  .padding-section-large {
  padding-top: var(--space-xxlarge);
  padding-bottom: var(--space-xxlarge);
  }
}

.padding-0 {
  padding: var(--space-0);
}

.padding-tiny {
  padding: var(--space-tiny);
}

.padding-xxsmall {
  padding: var(--space-xxsmall);
}

.padding-xsmall {
  padding: var(--space-xsmall);
}

.padding-small {
  padding: var(--space-small);
}

.padding-medium {
  padding: var(--space-medium);
}

.padding-large {
  padding: var(--space-large);
}

.padding-xlarge {
  padding: var(--space-xlarge);
}

.padding-xxlarge {
  padding: var(--space-xxlarge);
}

.padding-huge {
  padding: var(--space-huge);
}

.padding-xhuge {
  padding: var(--space-xhuge);
}

.padding-xxhuge {
  padding: var(--space-xxhuge);
}

.padding-vertical {
  padding-left: 0px;
  padding-right: 0px;
}

.padding-horizontal {
  padding-top: 0px;
  padding-bottom: 0px;
}

.padding-top {
  padding-bottom: 0px;
  padding-left: 0px;
  padding-right: 0px;
}

.padding-bottom {
  padding-top: 0px;
  padding-left: 0px;
  padding-right: 0px;
}

.padding-left {
  padding-top: 0px;
  padding-bottom: 0px;
  padding-right: 0px;
}

.padding-right {
  padding-top: 0px;
  padding-bottom: 0px;
  padding-left: 0px;
}

.margin-0 {
  margin: var(--space-0);
}

.margin-tiny {
  margin: var(--space-tiny);
}

.margin-xxsmall {
  margin: var(--space-xxsmall);
}

.margin-xsmall {
  margin: var(--space-xsmall);
}

.margin-small {
  margin: var(--space-small);
}

.margin-medium {
  margin: var(--space-medium);
}

.margin-large {
  margin: var(--space-large);
}

.margin-xlarge {
  margin: var(--space-xlarge);
}

.margin-xxlarge {
  margin: var(--space-xxlarge);
}

.margin-huge {
  margin: var(--space-huge);
}

.margin-xhuge {
  margin: var(--space-xhuge);
}

.margin-xxhuge {
  margin: var(--space-xxhuge);
}

.margin-vertical {
  margin-left: 0px;
  margin-right: 0px;
}

.margin-horizontal {
  margin-top: 0px;
  margin-bottom: 0px;
}

.margin-top {
  margin-bottom: 0px;
  margin-left: 0px;
  margin-right: 0px;
}

.margin-bottom {
  margin-top: 0px;
  margin-left: 0px;
  margin-right: 0px;
}

.margin-left {
  margin-top: 0px;
  margin-bottom: 0px;
  margin-right: 0px;
}

.margin-right {
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
}

.spacer-tiny {
  width: 100%;
  padding-top: var(--space-tiny);
}

.spacer-xxsmall {
  width: 100%;
  padding-top: var(--space-xxsmall);
}

.spacer-xsmall {
  width: 100%;
  padding-top: var(--space-xsmall);
}

.spacer-small {
  width: 100%;
  padding-top: var(--space-small);
}

.spacer-medium {
  width: 100%;
  padding-top: var(--space-medium);
}

.spacer-large {
  width: 100%;
  padding-top: var(--space-large);
}

.spacer-xlarge {
  width: 100%;
  padding-top: var(--space-xlarge);
}

.spacer-xxlarge {
  width: 100%;
  padding-top: var(--space-xxlarge);
}

.spacer-huge {
  width: 100%;
  padding-top: var(--space-huge);
}

.heading-style-h1 {
  font-family: var(--font-display);
  font-size: var(--size-h1);
  font-weight: 300;
  line-height: 1.02;
  letter-spacing: -0.018em;
  color: var(--fg);
}

.heading-style-h2 {
  font-family: var(--font-display);
  font-size: var(--size-h2);
  font-weight: 300;
  line-height: 1.08;
  letter-spacing: -0.014em;
  color: var(--fg);
}

.heading-style-h3 {
  font-family: var(--font-display);
  font-size: var(--size-h3);
  font-weight: 400;
  line-height: 1.14;
  letter-spacing: -0.01em;
  color: var(--fg);
}

.heading-style-h4 {
  font-family: var(--font-display);
  font-size: var(--size-h4);
  font-weight: 400;
  line-height: 1.22;
  color: var(--fg);
}

.heading-style-h5 {
  font-family: var(--font-body);
  font-size: var(--size-h5);
  font-weight: 500;
  line-height: 1.35;
  color: var(--fg);
}

.heading-style-h6 {
  font-family: var(--font-body);
  font-size: var(--size-h6);
  font-weight: 600;
  line-height: 1.4;
  color: var(--fg);
}

.text-size-large {
  font-size: var(--size-text-large);
  line-height: 1.6;
}

.text-size-medium {
  font-size: var(--size-text-medium);
  line-height: 1.65;
}

.text-size-regular {
  font-size: var(--size-text-regular);
  line-height: 1.65;
}

.text-size-small {
  font-size: var(--size-text-small);
  line-height: 1.6;
}

.text-size-tiny {
  font-size: var(--size-text-tiny);
  line-height: 1.5;
}

.text-weight-light {
  font-weight: 300;
}

.text-weight-normal {
  font-weight: 400;
}

.text-weight-medium {
  font-weight: 500;
}

.text-weight-semibold {
  font-weight: 600;
}

.text-weight-bold {
  font-weight: 700;
}

.text-weight-xbold {
  font-weight: 800;
}

.text-style-allcaps {
  text-transform: uppercase;
  letter-spacing: 0.18em;
}

.text-style-italic {
  font-style: italic;
}

.text-style-nowrap {
  white-space: nowrap;
}

.text-style-strikethrough {
  text-decoration: line-through;
}

.text-style-muted {
  color: var(--fg-mute);
}

.text-style-quote {
  font-family: var(--font-display);
  font-size: var(--size-text-large);
  font-style: italic;
  line-height: 1.5;
}

.text-style-link {
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1px;
  text-decoration-color: var(--line-strong);
}

.text-style-link:hover {
  text-decoration-color: currentColor;
}

.text-style-2lines {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.text-style-3lines {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

.text-align-center {
  text-align: center;
}

.text-align-left {
  text-align: left;
}

.text-align-right {
  text-align: right;
}

.text-color-primary {
  color: var(--fg);
}

.text-color-secondary {
  color: var(--fg-body);
}

.text-color-muted {
  color: var(--fg-mute);
}

.text-color-accent {
  color: var(--accent);
}

.text-color-alternate {
  color: var(--white);
}

.text-style-tagline {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  font-weight: 600;
  font-family: var(--font-label);
  font-size: var(--size-text-tiny);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent);
}

.text-style-tagline.is-center {
  justify-content: center;
}

.text-rich-text > * + * {
  margin-top: 1em;
}

.text-rich-text h2, .text-rich-text h3 {
  margin-top: 1.6em;
}

.text-rich-text a {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.max-width-xxsmall {
  width: 100%;
  max-width: 16rem;
}

.max-width-xsmall {
  width: 100%;
  max-width: 20rem;
}

.max-width-small {
  width: 100%;
  max-width: 26rem;
}

.max-width-medium {
  width: 100%;
  max-width: 35rem;
}

.max-width-large {
  width: 100%;
  max-width: 48rem;
}

.max-width-xlarge {
  width: 100%;
  max-width: 64rem;
}

.max-width-xxlarge {
  width: 100%;
  max-width: 80rem;
}

.max-width-full {
  width: 100%;
  max-width: none;
}

@media screen and (max-width: 991px) {
  .max-width-full-tablet {
  width: 100%;
  max-width: none;
  }
}

@media screen and (max-width: 767px) {
  .max-width-full-mobile-landscape {
  width: 100%;
  max-width: none;
  }
}

@media screen and (max-width: 478px) {
  .max-width-full-mobile-portrait {
  width: 100%;
  max-width: none;
  }
}

.align-center {
  margin-left: auto;
  margin-right: auto;
}

.layer {
  position: absolute;
  inset: 0;
}

.z-index-1 {
  position: relative;
  z-index: 1;
}

.z-index-2 {
  position: relative;
  z-index: 2;
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-auto {
  overflow: auto;
}

.overflow-scroll {
  overflow: scroll;
}

.pointer-events-none {
  pointer-events: none;
}

.pointer-events-auto {
  pointer-events: auto;
}

.aspect-ratio-square {
  aspect-ratio: 1 / 1;
}

.aspect-ratio-portrait {
  aspect-ratio: 2 / 3;
}

.aspect-ratio-landscape {
  aspect-ratio: 3 / 2;
}

.aspect-ratio-widescreen {
  aspect-ratio: 16 / 9;
}

.hide {
  display: none;
}

@media screen and (max-width: 991px) {
  .hide-tablet {
  display: none;
  }
}

@media screen and (max-width: 767px) {
  .hide-mobile-landscape {
  display: none;
  }
}

@media screen and (max-width: 478px) {
  .hide-mobile-portrait {
  display: none;
  }
}

.hide-visually {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-top-width: 0px;
  border-right-width: 0px;
  border-bottom-width: 0px;
  border-left-width: 0px;
  border-top-style: initial;
  border-right-style: initial;
  border-bottom-style: initial;
  border-left-style: initial;
  border-top-color: initial;
  border-right-color: initial;
  border-bottom-color: initial;
  border-left-color: initial;
  border-image-source: initial;
  border-image-slice: initial;
  border-image-width: initial;
  border-image-outset: initial;
  border-image-repeat: initial;
}

.background-color-primary {
  background-color: var(--bg);
}

.background-color-secondary {
  background-color: var(--bg-alt);
}

.background-color-alternate {
  background-color: var(--bg-deep);
}

.background-color-white {
  background-color: var(--white);
}

.icon-1x1-xxsmall {
  width: 1rem;
  height: 1rem;
}

.icon-1x1-xsmall {
  width: 1.5rem;
  height: 1.5rem;
}

.icon-1x1-small {
  width: 2rem;
  height: 2rem;
}

.icon-1x1-medium {
  width: 3rem;
  height: 3rem;
}

.icon-1x1-large {
  width: 4rem;
  height: 4rem;
}

.icon-1x1-xlarge {
  width: 5rem;
  height: 5rem;
}

.button {
  border: 1px solid var(--accent-flat);
  font-family: var(--font-body);
  line-height: 1;
  text-transform: uppercase;
  cursor: pointer;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xsmall);
  padding: 0.95rem 1.6rem;
  border-radius: var(--radius);
  background-image: linear-gradient(180deg, #3b74ff 0%, #2054f0 100%);
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: initial;
  color: var(--btn-ink);
  font-size: var(--size-text-small);
  font-weight: 500;
  letter-spacing: 0.01em;
  box-shadow: 0 0 0 1px rgba(124, 200, 255, 0.35) inset, 0 0.6rem 2rem -0.6rem rgba(37, 99, 255, 0.85);
  transition: box-shadow 0.4s var(--ease), transform 0.4s var(--ease), background-color 0.4s var(--ease);
  white-space: nowrap;
}

.button:hover {
  background-color: var(--accent-hover);
  border-color: var(--accent-hover);
  color: var(--white);
  box-shadow: 0 0 0 1px rgba(124, 200, 255, 0.6) inset, 0 0.8rem 2.6rem -0.4rem rgba(77, 134, 255, 1);
}

.button.is-secondary {
  border-color: var(--accent-flat);
  background-image: initial;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: rgba(255, 255, 255, 0.04);
  color: var(--chrome);
  box-shadow: 0 0 0 1px rgba(201, 209, 226, 0.22) inset;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.button.is-secondary:hover {
  color: var(--btn-ink);
  box-shadow: 0 0 0 1px rgba(201, 209, 226, 0.5) inset;
  background-image: initial;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: rgba(255, 255, 255, 0.08);
}

.button.is-alternate {
  background-color: var(--white);
  border-color: var(--white);
  color: var(--fg);
}

.button.is-alternate:hover {
  background-color: transparent;
  color: var(--white);
  border-color: var(--white);
}

.button.is-small {
  padding: 0.7rem 1.2rem;
}

.button.is-link {
  padding: 0px;
  border-top-color: transparent;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: transparent;
  background-color: transparent;
  color: var(--accent);
}

.button.is-link:hover {
  background-color: transparent;
  border-top-color: transparent;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: transparent;
  color: var(--fg);
}

.button.is-icon {
  width: 3.25rem;
  height: 3.25rem;
  padding: 0px;
  background-color: transparent;
  border-color: var(--line-strong);
  color: var(--fg);
}

.button.is-icon:hover {
  background-color: var(--accent-flat);
  border-color: var(--accent-flat);
  color: var(--btn-ink);
}

.button-group {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-small);
}

.button-group.is-center {
  justify-content: center;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 3px;
}

.text-style-accent:has(.split_word) {
  background-image: none;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: initial;
}

.text-style-accent .split_word {
  background: var(--blue-fill);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  padding-right: 0.06em;
  padding-bottom: 0.22em;
  margin-bottom: -0.22em;
}

.text-style-accent {
  font-family: var(--font-accent);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.01em;
  background: var(--blue-fill);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  padding-right: 0.06em;
  padding-bottom: 0.22em;
}

.skip-link_component {
  position: fixed;
  top: var(--space-small);
  left: var(--space-small);
  z-index: 100;
  padding: var(--space-xsmall) var(--space-small);
  background-color: var(--chrome);
  color: var(--void);
  border-radius: var(--radius-small);
  transform: translateY(-200%);
}

.skip-link_component:focus {
  transform: none;
}

.progress_component {
  position: fixed;
  top: 0px;
  left: 0px;
  right: 0px;
  height: 2px;
  z-index: 90;
  pointer-events: none;
}

.progress_fill {
  display: block;
  height: 100%;
  width: 100%;
  background: var(--blue-fill);
  transform-origin: 0 50%;
  transform: scaleX(0);
}

.button:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 3px;
}

.button.is-large {
  padding: 1.15rem 2rem;
  font-size: var(--size-text-regular);
}

.navbar_component {
  position: fixed;
  top: 0px;
  left: 0px;
  right: 0px;
  z-index: 80;
  transition: background-color 0.5s var(--ease), border-color 0.5s var(--ease), transform 0.5s var(--ease);
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: transparent;
}

.navbar_component.is-scrolled {
  background-color: rgba(3, 4, 9, 0.62);
  border-bottom-color: var(--line);
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
}

.navbar_container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-medium);
  height: 4.5rem;
  max-width: 90rem;
  margin: 0px auto;
}

@media screen and (max-width: 1199px) {
  .navbar_container {
  gap: var(--space-small);
  }
}

.navbar_logo-link {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
}

.navbar_logo-mark {
  width: 2.1rem;
  height: auto;
  aspect-ratio: 55 / 34;
  filter: drop-shadow(0 0 0.6rem rgba(77, 134, 255, 0.55));
}

.navbar_logo-text {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: -0.03em;
  color: var(--chrome);
}

.navbar_list {
  display: flex;
  align-items: center;
  gap: var(--space-medium);
}

@media screen and (max-width: 1199px) {
  .navbar_list {
  gap: var(--space-small);
  }
}

@media screen and (max-width: 991px) {
  .navbar_list {
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-small);
  }
}

.navbar_link {
  font-size: var(--size-text-small);
  color: var(--fg-body);
  white-space: nowrap;
  transition: color 0.3s var(--ease);
}

@media screen and (max-width: 991px) {
  .navbar_link {
  font-family: var(--font-display);
  font-size: 2rem;
  color: var(--chrome);
  letter-spacing: -0.03em;
  }
}

.navbar_link:hover {
  color: var(--chrome);
}

.navbar_actions {
  display: flex;
  align-items: center;
  gap: var(--space-small);
}

.navbar_menu-button {
  display: none;
  width: 2.75rem;
  height: 2.75rem;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
  position: relative;
  box-shadow: 0 0 0 1px var(--line-strong) inset;
}

@media screen and (max-width: 991px) {
  .navbar_menu-button {
  display: block;
  }
}

.navbar_menu-line {
  position: absolute;
  left: 0.85rem;
  right: 0.85rem;
  height: 1.5px;
  background-color: var(--chrome);
  transition: transform 0.4s var(--ease);
}

.navbar_menu-line:first-child {
  top: 1.1rem;
}

.navbar_menu-line:last-child {
  top: 1.55rem;
}

.navbar_menu-button[aria-expanded="true"] .navbar_menu-line:first-child {
  transform: translateY(0.225rem) rotate(45deg);
}

.navbar_menu-button[aria-expanded="true"] .navbar_menu-line:last-child {
  transform: translateY(-0.225rem) rotate(-45deg);
}

.navbar_lang {
  display: inline-flex;
  align-items: center;
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
  padding: 0.2rem;
  border-radius: var(--radius);
  box-shadow: 0 0 0 1px var(--line-strong) inset;
}

.navbar_lang-link {
  min-width: 2.4rem;
  padding: 0.55rem 0.6rem;
  border-radius: var(--radius);
  font-family: var(--font-label);
  font-size: var(--size-text-tiny);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.12em;
  text-align: center;
  color: var(--fg-mute);
  transition: color 0.3s var(--ease), background-color 0.3s var(--ease);
}

.navbar_lang-link:hover {
  color: var(--chrome);
}

.navbar_lang-link.is-current {
  color: var(--chrome);
  background-color: rgba(37, 99, 255, 0.22);
}

@media screen and (max-width: 991px) {
  .navbar_menu {
  position: fixed;
  inset: 4.5rem 0 auto 0;
  padding: var(--space-medium) 1.25rem var(--space-large);
  background-color: rgba(3, 4, 9, 0.96);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  transform: translateY(-110%);
  visibility: hidden;
  transition: transform 0.5s var(--ease), visibility 0s linear 0.5s;
  }
}

@media screen and (max-width: 991px) {
  .navbar_menu.is-open {
  transform: none;
  visibility: visible;
  transition: transform 0.5s var(--ease);
  }
}

@media screen and (max-width: 479px) {
  .navbar_actions .button {
  display: none;
  }
}

.footer_component {
  position: relative;
  border-top: 1px solid var(--line);
  background-color: var(--void);
}

.footer_inner {
  padding-top: var(--space-xxlarge);
  padding-bottom: var(--space-large);
}

.footer_top {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: var(--space-large);
}

@media screen and (max-width: 991px) {
  .footer_top {
  grid-template-columns: 1fr 1fr;
  }
}

@media screen and (max-width: 479px) {
  .footer_top {
  grid-template-columns: 1fr;
  }
}

.footer_brand {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: -0.03em;
  color: var(--chrome);
}

.footer_brand-mark {
  width: 2.4rem;
  height: auto;
  aspect-ratio: 55 / 34;
}

.footer_text {
  margin-top: var(--space-small);
  max-width: 22rem;
  font-size: var(--size-text-small);
  color: var(--fg-mute);
}

.footer_title {
  font-family: var(--font-label);
  font-size: var(--size-text-tiny);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--steel-dim);
  margin-bottom: var(--space-small);
}

.footer_list {
  display: grid;
  gap: 0.55rem;
}

.footer_link {
  font-size: var(--size-text-small);
  color: var(--fg-body);
  transition: color 0.3s var(--ease);
}

.footer_link:hover {
  color: var(--chrome);
}

.footer_bottom {
  display: flex;
  justify-content: space-between;
  gap: var(--space-small);
  margin-top: var(--space-xxlarge);
  padding-top: var(--space-medium);
  border-top: 1px solid var(--line);
}

.footer_copyright {
  font-size: var(--size-text-tiny);
  color: var(--steel-dim);
}

.footer_legal {
  display: flex;
  gap: var(--space-small);
}

@media screen and (max-width: 991px) {
  .footer_brand-column {
  grid-column: 1 / -1;
  }
}

.beam_component {
  position: absolute;
  inset: 0;
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
  pointer-events: none;
  z-index: 2;
}

.beam_glow {
  position: absolute;
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
  inset: -2px;
  filter: blur(10px);
  opacity: 0.9;
}

.beam_line {
  position: absolute;
  inset: 0;
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
}

.beam_glow::before {
  content: '';
  position: absolute;
  inset: 0;
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
  background: conic-gradient(
    from var(--beam-angle),
    rgba(37, 99, 255, 0) 0deg,
    rgba(37, 99, 255, 0) 110deg,
    #2563ff 140deg,
    #7cc8ff 160deg,
    #ffffff 172deg,
    rgba(124, 200, 255, 0) 180deg,
    rgba(37, 99, 255, 0) 290deg,
    #2563ff 320deg,
    #7cc8ff 340deg,
    #ffffff 352deg,
    rgba(124, 200, 255, 0) 360deg
  );
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  animation: beam-spin var(--beam-speed, 6s) linear infinite;
  animation-delay: var(--beam-delay, 0s);
  padding: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .beam_glow::before {
  animation: none;
  --beam-angle: 35deg;
  }
}

.beam_line::before {
  content: '';
  position: absolute;
  inset: 0;
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
  padding: 1.5px;
  background: conic-gradient(
    from var(--beam-angle),
    rgba(37, 99, 255, 0) 0deg,
    rgba(37, 99, 255, 0) 110deg,
    #2563ff 140deg,
    #7cc8ff 160deg,
    #ffffff 172deg,
    rgba(124, 200, 255, 0) 180deg,
    rgba(37, 99, 255, 0) 290deg,
    #2563ff 320deg,
    #7cc8ff 340deg,
    #ffffff 352deg,
    rgba(124, 200, 255, 0) 360deg
  );
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  animation: beam-spin var(--beam-speed, 6s) linear infinite;
  animation-delay: var(--beam-delay, 0s);
}

@media (prefers-reduced-motion: reduce) {
  .beam_line::before {
  animation: none;
  --beam-angle: 35deg;
  }
}

@keyframes beam-spin {
  100% {
    --beam-angle: 360deg;
  }
}

.section_hero {
  position: relative;
  background-color: var(--void);
}

.hero_stage {
  position: relative;
  height: 100svh;
  min-height: 36rem;
  overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
  .hero_stage {
  height: auto;
  min-height: 100svh;
  }
}

.hero_poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 40%;
  transform: translateY(-13%);
}

@media (orientation: portrait) {
  .hero_poster {
  inset: auto;
  top: 11%;
  left: -10%;
  width: 120%;
  height: auto;
  transform: none;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 14%, #000 58%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0%, #000 14%, #000 58%, transparent 100%);
  }
}

.hero_canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 40%;
  opacity: 0;
}

.hero_canvas.is-ready {
  opacity: 1;
}

.hero_shade {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(3, 4, 9, 0.55) 0%, rgba(3, 4, 9, 0) 18%, rgba(3, 4, 9, 0.05) 34%, rgba(3, 4, 9, 0.92) 74%, #030409 100%),
    radial-gradient(120% 70% at 50% 100%, rgba(3, 4, 9, 0.75) 0%, rgba(3, 4, 9, 0) 70%);
}

.hero_layer {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding-bottom: var(--space-xlarge);
}

@media screen and (max-width: 767px) {
  .hero_layer {
  padding-bottom: var(--space-large);
  }
}

@media screen and (min-width: 992px) and (max-height: 820px) {
  .hero_layer {
  padding-bottom: var(--space-medium);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero_layer {
  position: relative;
  min-height: 100svh;
  }
}

.hero_layer > .container-large {
  position: relative;
  max-width: 90rem;
}

.hero_content {
  position: relative;
  z-index: 2;
}

.hero_tagline {
  margin-bottom: var(--space-small);
}

.hero_headline {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-family: var(--font-display);
  font-size: min(var(--size-display), 11.6vw);
  font-weight: 500;
  line-height: 0.98;
  letter-spacing: -0.035em;
}

.hero_word {
  display: inline-block;
  text-wrap: balance;
  background: var(--chrome-fill);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  padding-bottom: 0.08em;
}

.hero_word.is-accent {
  font-family: var(--font-accent);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.03em;
  background: var(--blue-fill);
  -webkit-background-clip: text;
  background-clip: text;
  padding-right: 0.08em;
}

.hero_foot {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-large);
  margin-top: var(--space-medium);
}

@media screen and (max-width: 991px) {
  .hero_foot {
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-medium);
  }
}

.hero_lead {
  max-width: 46rem;
  color: var(--fg-body);
  line-height: 1.5;
  text-wrap: pretty;
}

.hero_foot .button-group {
  flex-shrink: 0;
}

.hero_stats {
  position: absolute;
  left: 0px;
  right: 0px;
  bottom: 0px;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-small);
  visibility: hidden;
}

@media screen and (max-width: 991px) {
  .hero_stats {
  grid-template-columns: repeat(2, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero_stats {
  visibility: visible;
  position: relative;
  margin-top: var(--space-large);
  }
}

.hero_stat {
  display: flex;
  flex-direction: column;
  gap: var(--space-xsmall);
  padding: var(--space-medium);
  border-radius: var(--radius-card);
  box-shadow: 0 0 0 1px rgba(124, 200, 255, 0.14) inset;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  background: linear-gradient(180deg, rgba(12, 17, 32, 0.66), rgba(7, 10, 20, 0.4));
}

@media screen and (max-width: 767px) {
  .hero_stat {
  padding: var(--space-small);
  }
}

@media screen and (min-width: 992px) and (max-height: 820px) {
  .hero_stat {
  gap: 0.3rem;
  padding: 1rem 1.4rem;
  }
}

.hero_stat-value {
  font-family: var(--font-display);
  font-size: var(--size-h2);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.04em;
  background: var(--chrome-fill);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

@media screen and (min-width: 992px) and (max-height: 820px) {
  .hero_stat-value {
  font-size: var(--size-h3);
  }
}

.hero_stat-label {
  font-family: var(--font-label);
  font-size: var(--size-text-tiny);
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--fg-mute);
}

.hero_scroll {
  position: absolute;
  right: 1.25rem;
  bottom: var(--space-xlarge);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-xsmall);
}

@media screen and (max-width: 991px) {
  .hero_scroll {
  display: none;
  }
}

.hero_scroll-line {
  width: 1px;
  height: 3.5rem;
  background: linear-gradient(180deg, rgba(124, 200, 255, 0), #7cc8ff);
}

.hero_scroll-text {
  font-family: var(--font-label);
  font-size: var(--size-text-tiny);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--fg-mute);
  writing-mode: vertical-rl;
}

.section_industries {
  position: relative;
  overflow: hidden;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background-color: var(--void);
}

.industries_track {
  display: flex;
  width: max-content;
}

@media (prefers-reduced-motion: no-preference) {
  .industries_track {
  animation: industries-slide 46s linear infinite;
  }
}

.industries_list {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  gap: var(--space-large);
  padding: var(--space-medium) var(--space-large) var(--space-medium) 0;
}

.industries_item {
  font-family: var(--font-display);
  font-size: var(--size-h5);
  letter-spacing: -0.01em;
  color: var(--steel);
  white-space: nowrap;
}

.industries_dot {
  width: 0.45rem;
  height: 0.45rem;
  transform: rotate(45deg);
  background: var(--blue-fill);
  box-shadow: 0 0 0.8rem rgba(77, 134, 255, 0.9);
  flex-shrink: 0;
}

@media (prefers-reduced-motion: no-preference) {
  html.js .industries_track {
  animation: none;
  }
}

@keyframes industries-slide {
  100% {
    transform: translateX(-50%);
  }
}

.services_glow {
  position: absolute;
  inset: -20% -10% auto;
  height: 80%;
  filter: blur(40px);
  pointer-events: none;
  background: radial-gradient(50% 50% at 50% 50%, rgba(37, 99, 255, 0.28) 0%, rgba(37, 99, 255, 0) 70%);
}

.pricing_glow {
  position: absolute;
  inset: -20% -10% auto;
  height: 80%;
  filter: blur(40px);
  pointer-events: none;
  background: radial-gradient(50% 50% at 50% 50%, rgba(37, 99, 255, 0.28) 0%, rgba(37, 99, 255, 0) 70%);
}

.reviews_glow {
  position: absolute;
  inset: -20% -10% auto;
  height: 80%;
  filter: blur(40px);
  pointer-events: none;
  background: radial-gradient(50% 50% at 50% 50%, rgba(37, 99, 255, 0.28) 0%, rgba(37, 99, 255, 0) 70%);
}

.section_services {
  position: relative;
  overflow: hidden;
  background-color: var(--night);
}

.services_header {
  position: relative;
  display: grid;
  gap: var(--space-small);
  max-width: 52rem;
  margin-bottom: var(--space-xlarge);
}

.services_heading {
  font-size: var(--size-h2);
  font-weight: 500;
}

.services_list {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-small);
  perspective: 1200px;
}

@media screen and (max-width: 991px) {
  .services_list {
  grid-template-columns: 1fr;
  }
}

.services_card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-medium);
  min-height: 30rem;
  padding: var(--space-large) var(--space-medium);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(124, 200, 255, 0.14) inset, 0 2rem 4rem -2rem rgba(0, 0, 0, 0.8);
  transform-style: preserve-3d;
  background: linear-gradient(160deg, rgba(20, 28, 52, 0.9) 0%, rgba(7, 10, 20, 0.95) 60%);
}

@media screen and (max-width: 991px) {
  .services_card {
  min-height: 0;
  }
}

.services_card-light {
  position: absolute;
  inset: auto -30% -40% -30%;
  height: 70%;
  pointer-events: none;
  background: radial-gradient(50% 50% at 50% 50%, rgba(77, 134, 255, 0.45) 0%, rgba(77, 134, 255, 0) 70%);
}

.services_piece {
  position: relative;
  width: 72%;
  max-width: 17rem;
  margin: calc(var(--space-medium) * -1) auto 0;
  mix-blend-mode: screen;
  pointer-events: none;
  transform: translateZ(40px);
}

@media screen and (max-width: 991px) {
  .services_piece {
  width: 50%;
  max-width: 12rem;
  }
}

.services_title {
  position: relative;
  font-size: var(--size-h3);
  font-weight: 500;
  margin-top: auto;
}

.services_includes {
  position: relative;
  display: grid;
  gap: 0.6rem;
}

.services_include {
  display: flex;
  align-items: baseline;
  gap: 0.7rem;
  font-size: var(--size-text-small);
  color: var(--fg-body);
}

.services_include::before {
  content: '';
  width: 0.4rem;
  height: 0.4rem;
  flex-shrink: 0;
  transform: translateY(-0.1rem) rotate(45deg);
  background-color: var(--accent);
}

.section_work {
  position: relative;
  padding-top: var(--space-xhuge);
  background-color: var(--void);
}

@media screen and (max-width: 991px) {
  .section_work {
  padding-top: var(--space-huge);
  }
}

.work_stage {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-small);
  padding-top: var(--space-large);
  padding-bottom: var(--space-xhuge);
}

@media screen and (min-width: 992px) {
  .work_stage {
  min-height: 100svh;
  padding-top: calc(4.5rem + var(--space-medium));
  padding-bottom: 0px;
  }
}

.work_header {
  display: grid;
  gap: var(--space-small);
}

.work_heading {
  font-size: var(--size-h2);
  font-weight: 500;
}

.work_intro {
  max-width: 40rem;
  color: var(--fg-body);
  text-wrap: balance;
}

.work_count {
  font-family: var(--font-label);
  font-size: var(--size-text-small);
  letter-spacing: 0.08em;
  color: var(--fg-mute);
  text-align: right;
}

@media screen and (max-width: 991px) {
  .work_count {
  display: none;
  }
}

.work_viewport {
  overflow: hidden;
}

@media screen and (max-width: 991px) {
  .work_viewport {
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  }
}

.work_track {
  display: flex;
  gap: var(--space-medium);
  padding-left: 5%;
  padding-right: 5%;
  width: max-content;
}

.work_item {
  width: min(46rem, 62vw);
  flex-shrink: 0;
}

@media screen and (max-width: 991px) {
  .work_item {
  width: 80vw;
  scroll-snap-align: start;
  }
}

@media screen and (min-width: 992px) {
  .work_item {
  width: min(46rem, 62vw, calc((100svh - 17rem) * 1.6));
  }
}

.work_card {
  display: block;
  outline-offset: 6px;
}

.work_figure {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-card);
  aspect-ratio: 16 / 10;
  background-color: var(--night-raised);
  box-shadow: 0 0 0 1px rgba(124, 200, 255, 0.12) inset;
  transition: box-shadow 0.6s var(--ease);
}

.work_card:hover .work_figure {
  box-shadow: 0 0 0 1px rgba(124, 200, 255, 0.5) inset, 0 1.5rem 4rem -1.5rem rgba(37, 99, 255, 0.7);
}

.work_image {
  position: absolute;
  inset: 0;
  height: 100%;
  object-fit: cover;
  object-position: 50% 0%;
  transition: transform 1.2s var(--ease);
}

.work_card:hover .work_image {
  transform: scale(1.04);
}

.work_meta {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--space-small);
  margin-top: var(--space-small);
}

.work_title {
  font-size: var(--size-h5);
  font-weight: 500;
  transition: color 0.4s var(--ease);
}

.work_card:hover .work_title {
  color: var(--cyan);
}

.work_industry {
  font-family: var(--font-label);
  font-size: var(--size-text-tiny);
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fg-mute);
  text-align: right;
}

.work_more {
  display: block;
  width: 100%;
  text-align: left;
}

.work_more .work_figure {
  display: grid;
  place-items: center;
  box-shadow: 0 0 0 1px rgba(124, 200, 255, 0.22) inset;
  background: radial-gradient(70% 80% at 50% 110%, rgba(37, 99, 255, 0.45) 0%, rgba(37, 99, 255, 0) 70%), linear-gradient(160deg, #111a35 0%, #070a14 70%);
}

.work_more-stack {
  position: absolute;
  inset: 0;
}

.work_more-thumb {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 44%;
  max-width: none;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: 50% 0%;
  border-top-left-radius: 0.6rem;
  border-top-right-radius: 0.6rem;
  border-bottom-right-radius: 0.6rem;
  border-bottom-left-radius: 0.6rem;
  opacity: 0.7;
  filter: brightness(0.4) saturate(0.7);
  box-shadow: 0 0 0 1px rgba(124, 200, 255, 0.25), 0 1.5rem 3rem -1rem rgba(0, 0, 0, 0.85);
  transform: translate(-50%, -50%) translate(var(--x, 0%), var(--y, 0%)) rotate(var(--r, 0deg));
  transition: transform 0.9s var(--ease), opacity 0.6s var(--ease), filter 0.6s var(--ease);
}

.work_more-thumb:nth-child(1) {
  --x: -42%;
  --y: 6%;
  --r: -9deg;
}

.work_more-thumb:nth-child(2) {
  --x: 42%;
  --y: 8%;
  --r: 8deg;
}

.work_more-thumb:nth-child(3) {
  --x: 0%;
  --y: -8%;
  --r: 0deg;
}

.work_more:hover .work_more-thumb, .work_more:focus-visible .work_more-thumb {
  opacity: 0.85;
  filter: brightness(0.55) saturate(0.85);
}

.work_more:hover .work_more-thumb:nth-child(1), .work_more:focus-visible .work_more-thumb:nth-child(1) {
  --x: -58%;
  --r: -13deg;
}

.work_more:hover .work_more-thumb:nth-child(2), .work_more:focus-visible .work_more-thumb:nth-child(2) {
  --x: 58%;
  --r: 12deg;
}

.work_more:hover .work_more-thumb:nth-child(3), .work_more:focus-visible .work_more-thumb:nth-child(3) {
  --y: -14%;
}

.work_more-count {
  position: relative;
  font-size: var(--size-h1);
  font-weight: 500;
  letter-spacing: -0.04em;
  background: var(--chrome-fill);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 0.2rem 0.6rem rgba(3, 4, 9, 0.9)) drop-shadow(0 0 1.5rem rgba(77, 134, 255, 0.8));
}

.work_more:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 6px;
  border-radius: var(--radius-card);
}

.cursor_component {
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 110;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6.5rem;
  height: 6.5rem;
  margin: -3.25rem 0px 0px -3.25rem;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
  background-image: radial-gradient(circle at 30% 25%, #7cc8ff 0%, #2563ff 55%, #0b2aa8 100%);
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: initial;
  box-shadow: 0 0 2.5rem rgba(37, 99, 255, 0.8);
  color: var(--white);
  font-family: var(--font-label);
  font-size: var(--size-text-tiny);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  pointer-events: none;
  transform: scale(0);
  opacity: 0;
}

.cursor_label {
  white-space: nowrap;
  opacity: 0;
  transition: opacity 0.15s ease;
}

.cursor_component.is-label .cursor_label {
  opacity: 1;
  transition: opacity 0.25s ease 0.1s;
}

.section_pricing {
  position: relative;
  overflow: hidden;
  background-color: var(--void);
}

.pricing_header {
  position: relative;
  display: grid;
  gap: var(--space-small);
  margin-bottom: var(--space-xxlarge);
}

.pricing_heading {
  font-size: var(--size-h2);
  font-weight: 500;
}

.pricing_grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-small);
  align-items: stretch;
}

@media screen and (max-width: 991px) {
  .pricing_grid {
  grid-template-columns: 1fr;
  }
}

.pricing_card {
  position: relative;
  border-radius: var(--radius-card);
}

.pricing_inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: var(--space-large) var(--space-medium);
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
  box-shadow: 0 0 0 1px rgba(124, 200, 255, 0.12) inset;
  background: linear-gradient(170deg, rgba(16, 22, 42, 0.95) 0%, rgba(7, 10, 20, 0.98) 70%);
}

.pricing_card.is-featured .pricing_inner {
  background: radial-gradient(120% 60% at 50% 0%, rgba(37, 99, 255, 0.32) 0%, rgba(37, 99, 255, 0) 60%), linear-gradient(170deg, #121a36 0%, #070a14 75%);
}

.pricing_flag {
  align-self: flex-start;
  margin-bottom: var(--space-small);
  padding: 0.35rem 0.8rem;
  border-radius: var(--radius);
  background: var(--blue-fill);
  font-family: var(--font-label);
  font-size: var(--size-text-tiny);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--white);
}

.pricing_name {
  font-size: var(--size-h5);
  font-weight: 500;
}

.pricing_price {
  display: flex;
  align-items: flex-start;
  margin-top: var(--space-small);
  font-family: var(--font-display);
  font-size: var(--size-h2);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.04em;
}

.pricing_amount {
  background: var(--chrome-fill);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.pricing_plus {
  font-size: 0.5em;
  margin-left: 0.1em;
  color: var(--accent);
}

.pricing_summary {
  margin-top: var(--space-small);
  font-size: var(--size-text-small);
  color: var(--fg-body);
}

.pricing_days {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: var(--space-medium);
  padding: 0.75rem 1rem;
  border-radius: var(--radius-small);
  background-image: initial;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: rgba(37, 99, 255, 0.1);
  box-shadow: 0 0 0 1px rgba(77, 134, 255, 0.3) inset;
  font-size: var(--size-text-small);
  color: var(--fg-body);
}

.pricing_days::before {
  content: '';
  width: 0.55rem;
  height: 0.85rem;
  flex-shrink: 0;
  background: var(--blue-fill);
  clip-path: polygon(60% 0, 0 58%, 45% 58%, 35% 100%, 100% 40%, 55% 40%);
  filter: drop-shadow(0 0 0.4rem #4d86ff);
}

.pricing_days-value {
  font-weight: 600;
  color: var(--chrome);
}

.pricing_label {
  margin-top: var(--space-medium);
  font-family: var(--font-label);
  font-size: var(--size-text-tiny);
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--steel-dim);
}

.pricing_list {
  display: grid;
  gap: 0.55rem;
  margin-top: var(--space-small);
  margin-bottom: var(--space-large);
}

.pricing_item {
  display: flex;
  align-items: baseline;
  gap: 0.7rem;
  font-size: var(--size-text-small);
  color: var(--fg-body);
}

.pricing_item::before {
  content: '';
  width: 0.4rem;
  height: 0.4rem;
  flex-shrink: 0;
  transform: translateY(-0.1rem) rotate(45deg);
  background-color: var(--accent);
}

.pricing_button {
  margin-top: auto;
  align-self: stretch;
}

.section_reviews {
  position: relative;
  overflow: hidden;
  background: radial-gradient(80% 60% at 50% 0%, #0b1638 0%, var(--night) 60%);
}

.reviews_header {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: var(--space-medium);
  margin-bottom: var(--space-xxlarge);
}

.reviews_heading-group {
  display: grid;
  gap: var(--space-small);
}

.reviews_heading {
  font-size: var(--size-h2);
  font-weight: 500;
}

.reviews_note {
  max-width: 30rem;
  font-size: var(--size-text-small);
  color: var(--fg-mute);
}

.upwork-badge_component {
  position: relative;
  display: inline-flex;
  border-radius: var(--radius);
  --beam-speed: 4s;
}

.upwork-badge_component:hover .upwork-badge_inner {
  box-shadow: 0 0 0 1px rgba(124, 200, 255, 0.45) inset, 0 1rem 3rem -1rem rgba(37, 99, 255, 0.9);
}

.upwork-badge_inner {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 0.9rem;
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
  background-image: linear-gradient(180deg, #111a33 0%, #080c18 100%);
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: initial;
  box-shadow: 0 0 0 1px rgba(124, 200, 255, 0.18) inset, 0 1rem 3rem -1rem rgba(37, 99, 255, 0.6);
  box-sizing: border-box;
  height: 4.25rem;
  padding: 0px 1.2rem 0px 0.8rem;
}

.upwork-badge_logo {
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
  color: #ffffff;
  background-image: initial;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: #14a800;
  box-shadow: 0 0 1.2rem rgba(20, 168, 0, 0.55);
  width: 2.6rem;
  height: 2.6rem;
  padding: 0.5rem;
}

.upwork-badge_text {
  display: grid;
  gap: 0.15rem;
  line-height: 1.2;
}

.upwork-badge_title {
  font-weight: 600;
  color: var(--chrome);
}

.upwork-badge_rating {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: var(--size-text-small);
  color: var(--fg-body);
}

.upwork-badge_stars {
  position: relative;
  letter-spacing: 0.08em;
  background: linear-gradient(90deg, #7cc8ff calc(var(--rating, 1) * 100%), rgba(124, 200, 255, 0.25) 0);
  color: #7cc8ff;
  background-image: none;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: border-box;
  background-color: initial;
  -webkit-background-clip: border-box;
}

.upwork-badge_check {
  width: 1.4rem;
  height: 1.4rem;
  color: #4d86ff;
  filter: drop-shadow(0 0 0.5rem rgba(77, 134, 255, 0.9));
}

.reviews_grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-medium);
  perspective: 1400px;
}

@media screen and (max-width: 991px) {
  .reviews_grid {
  grid-template-columns: 1fr;
  }
}

.reviews_card {
  position: relative;
  border-radius: var(--radius-card);
  transform-style: preserve-3d;
}

.reviews_inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: var(--space-medium);
  height: 100%;
  padding: var(--space-large) var(--space-medium) var(--space-medium);
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
  box-shadow: 0 0 0 1px rgba(124, 200, 255, 0.1) inset, 0 2.5rem 5rem -2rem rgba(0, 0, 0, 0.9);
  background: radial-gradient(120% 50% at 50% 0%, rgba(37, 99, 255, 0.16) 0%, rgba(37, 99, 255, 0) 70%), linear-gradient(170deg, #0f1630 0%, #070a14 80%);
}

.reviews_top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.reviews_card-stars {
  color: #7cc8ff;
  letter-spacing: 0.12em;
  text-shadow: 0 0 0.8rem rgba(124, 200, 255, 0.8);
}

.reviews_card-upwork {
  width: 1.6rem;
  height: 1.6rem;
  color: #14a800;
}

.reviews_quote {
  font-family: var(--font-display);
  font-size: var(--size-text-large);
  font-weight: 400;
  line-height: 1.45;
  color: var(--chrome);
}

.reviews_author {
  display: flex;
  align-items: center;
  gap: var(--space-small);
  margin-top: auto;
  padding-top: var(--space-small);
  border-top: 1px solid var(--line-strong);
}

.reviews_avatar {
  width: 3rem;
  height: 3rem;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 0 2px rgba(77, 134, 255, 0.6);
}

.reviews_person {
  display: grid;
}

.reviews_name {
  font-weight: 500;
  color: var(--chrome);
}

.reviews_company {
  font-family: var(--font-label);
  font-size: var(--size-text-tiny);
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fg-mute);
}

.section_contact {
  position: relative;
  overflow: hidden;
  background-color: var(--void);
}

.contact_stage {
  position: relative;
  height: 100svh;
  min-height: 34rem;
  overflow: hidden;
}

.contact_poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.6;
}

@media (orientation: portrait) {
  .contact_poster {
  object-fit: contain;
  }
}

.contact_canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
}

@media (orientation: portrait) {
  .contact_canvas {
  object-fit: contain;
  }
}

.contact_canvas.is-ready {
  opacity: 0.6;
}

html.js .contact_poster {
  display: none;
}

.contact_shade {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(70% 60% at 50% 50%, rgba(3, 4, 9, 0.2) 0%, #030409 100%);
}

.contact_veil {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse 46% 40% at 50% 50%, rgba(3, 4, 9, 0.9) 0%, rgba(3, 4, 9, 0.78) 38%, rgba(3, 4, 9, 0.4) 70%, rgba(3, 4, 9, 0) 100%);
}

@media (orientation: portrait) {
  .contact_veil {
  background: radial-gradient(ellipse 70% 30% at 50% 50%, rgba(3, 4, 9, 0.72) 0%, rgba(3, 4, 9, 0.6) 38%, rgba(3, 4, 9, 0.3) 70%, rgba(3, 4, 9, 0) 100%);
  }
}

.contact_layer {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  padding-top: 4.5rem;
}

.contact_layer > .container-large {
  position: relative;
}

.contact_content {
  position: relative;
  display: grid;
  justify-items: center;
  gap: var(--space-medium);
  text-align: center;
}

.contact_heading {
  font-size: var(--size-h1);
  font-weight: 500;
  max-width: 14ch;
}

.section_contact.is-compact .contact_content {
  padding-top: var(--space-xhuge);
  padding-bottom: var(--space-xhuge);
}

html.js [data-reveal] {
  opacity: 0;
  transform: translateY(2.5rem);
}

html.js [data-pricing] {
  opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
  html.js [data-reveal], html.js [data-pricing] {
  opacity: 1;
  transform: none;
  }
}

.hero_poster.is-horizon {
  transform: none;
  object-position: 50% 50%;
}

@media (orientation: portrait) {
  .hero_poster.is-horizon {
  inset: auto;
  top: 50%;
  left: -30%;
  width: 160%;
  max-width: none;
  height: auto;
  transform: translateY(-50%);
  -webkit-mask-image: none;
  mask-image: none;
  }
}

.hero_shade.is-horizon {
  background: linear-gradient(90deg, rgba(3, 4, 9, 0.6) 0%, rgba(3, 4, 9, 0.25) 40%, rgba(3, 4, 9, 0) 65%),
    linear-gradient(180deg, rgba(3, 4, 9, 0.45) 0%, rgba(3, 4, 9, 0) 14%, rgba(3, 4, 9, 0) 86%, #030409 100%);
}

.hero_canvas.is-ready.is-held {
  opacity: 0;
}

.hero_stage.is-intro img.hero_poster {
  visibility: hidden;
}

@media (orientation: portrait) {
  .hero_poster.is-horizon.hero_intro {
  aspect-ratio: 16 / 9;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 14%, #000 58%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0%, #000 14%, #000 58%, transparent 100%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero_intro {
  display: none;
  }
}

.services_intro {
  max-width: 40rem;
  color: var(--fg-body);
}

.services_step {
  position: relative;
  margin-top: auto;
  font-family: var(--font-label);
  font-size: var(--size-text-tiny);
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent);
}

.services_step + .services_title {
  margin-top: 0px;
}

.services_lead {
  position: relative;
  font-size: var(--size-text-medium);
  line-height: 1.45;
  color: var(--chrome);
}

.subscription_component {
  position: relative;
  margin-top: var(--space-medium);
  border-radius: var(--radius-card);
  --beam-speed: 8s;
}

.subscription_inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  align-items: center;
  gap: var(--space-xlarge);
  padding: var(--space-xlarge);
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(124, 200, 255, 0.14) inset;
  background: radial-gradient(70% 90% at 20% 50%, rgba(37, 99, 255, 0.22) 0%, rgba(37, 99, 255, 0) 70%), linear-gradient(160deg, #111a35 0%, #070a14 70%);
}

@media screen and (max-width: 991px) {
  .subscription_inner {
  grid-template-columns: 1fr;
  padding: var(--space-large) var(--space-medium);
  }
}

.subscription_visual {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 1 / 1;
}

@media screen and (max-width: 991px) {
  .subscription_visual {
  width: 100%;
  max-width: 18rem;
  justify-self: center;
  }
}

.subscription_mark {
  position: absolute;
  width: 150%;
  max-width: none;
  mix-blend-mode: screen;
  -webkit-mask-image: radial-gradient(closest-side, #000 55%, transparent 100%);
  mask-image: radial-gradient(closest-side, #000 55%, transparent 100%);
}

.subscription_loop {
  position: absolute;
  inset: 4%;
  width: 92%;
  height: 92%;
}

.subscription_text {
  display: grid;
  justify-items: start;
  gap: var(--space-small);
}

.subscription_title {
  font-size: var(--size-h3);
  font-weight: 500;
}

.subscription_lead {
  font-size: var(--size-text-large);
  color: var(--chrome);
}

.subscription_price {
  display: flex;
  align-items: baseline;
  gap: 0.4rem;
  font-family: var(--font-display);
  line-height: 1;
}

.subscription_amount {
  font-size: var(--size-h3);
  font-weight: 500;
  letter-spacing: -0.04em;
  background: var(--chrome-fill);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.subscription_period {
  font-family: var(--font-label);
  font-size: var(--size-text-small);
  font-weight: 500;
  letter-spacing: 0.08em;
  color: var(--fg-mute);
}

.pricing_period {
  font-family: var(--font-label);
  font-size: var(--size-text-small);
  font-weight: 500;
  letter-spacing: 0.08em;
  color: var(--fg-mute);
}

.pricing_price.is-small {
  align-items: baseline;
  gap: 0.4rem;
  margin-top: 0px;
  font-size: var(--size-h4);
}

.hosting_note {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  font-size: var(--size-text-small);
  color: var(--fg-body);
}

.hosting_icon {
  flex-shrink: 0;
  width: 1.1rem;
  height: 1.1rem;
  color: var(--cyan);
}

.hosting_note.is-row {
  grid-column: 1 / -1;
  padding-top: var(--space-small);
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: rgba(124, 200, 255, 0.12);
}

.subscription_body {
  max-width: 34rem;
  color: var(--fg-body);
}

.subscription_list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xsmall);
  margin: var(--space-xsmall) 0 var(--space-small);
}

.subscription_item {
  padding: 0.45rem 0.9rem;
  border-radius: var(--radius);
  background-image: initial;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: rgba(37, 99, 255, 0.1);
  box-shadow: 0 0 0 1px rgba(77, 134, 255, 0.3) inset;
  font-size: var(--size-text-small);
  color: var(--fg-body);
}

.effort_component {
  position: relative;
  margin-bottom: var(--space-medium);
  border-radius: var(--radius-card);
  --beam-speed: 10s;
}

.effort_inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: var(--space-large) 0;
  padding: var(--space-xlarge);
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(124, 200, 255, 0.14) inset;
  background: radial-gradient(60% 90% at 88% 70%, rgba(37, 99, 255, 0.24) 0%, rgba(37, 99, 255, 0) 70%), linear-gradient(160deg, #111a35 0%, #070a14 70%);
}

@media screen and (max-width: 991px) {
  .effort_inner {
  grid-template-columns: 1fr;
  padding: var(--space-large) var(--space-medium);
  }
}

.effort_head {
  grid-column: 1 / -1;
  display: grid;
  gap: var(--space-xsmall);
  max-width: 44rem;
}

.effort_title {
  font-size: var(--size-h3);
  font-weight: 500;
}

.effort_title em {
  display: inline-block;
}

.effort_lead {
  color: var(--fg-body);
}

.effort_part {
  display: grid;
  align-content: start;
  gap: var(--space-small);
  padding-right: var(--space-xlarge);
}

@media screen and (max-width: 991px) {
  .effort_part {
  padding-right: 0px;
  }
}

.effort_part.is-ours {
  padding-right: 0px;
  padding-left: var(--space-xlarge);
  border-left-width: 1px;
  border-left-style: solid;
  border-left-color: rgba(124, 200, 255, 0.16);
}

@media screen and (max-width: 991px) {
  .effort_part.is-ours {
  padding-left: 0px;
  padding-top: var(--space-large);
  border-left-width: 0px;
  border-left-style: initial;
  border-left-color: initial;
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: rgba(124, 200, 255, 0.16);
  }
}

.effort_steps {
  display: grid;
}

.effort_step {
  display: flex;
  align-items: baseline;
  gap: var(--space-small);
  padding: 0.95rem 0px;
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: rgba(124, 200, 255, 0.12);
  font-size: var(--size-text-medium);
  color: var(--chrome);
}

.effort_step:last-child {
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: rgba(124, 200, 255, 0.12);
}

@media screen and (max-width: 991px) {
  .effort_step:last-child {
  border-bottom-width: 0px;
  border-bottom-style: initial;
  border-bottom-color: initial;
  }
}

.effort_text {
  display: grid;
  gap: 0.2rem;
}

.effort_detail {
  font-size: var(--size-text-small);
  color: var(--fg-mute);
}

.effort_link {
  justify-self: start;
  color: var(--chrome);
  text-decoration: underline;
  text-decoration-color: rgba(77, 134, 255, 0.7);
  text-underline-offset: 0.25em;
  text-decoration-thickness: 1px;
  transition: color 0.3s var(--ease), text-decoration-color 0.3s var(--ease);
}

.effort_link:hover {
  color: var(--cyan);
  text-decoration-color: var(--cyan);
}

.effort_link:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 3px;
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}

.effort_num {
  font-family: var(--font-label);
  font-size: var(--size-text-tiny);
  font-weight: 600;
  letter-spacing: 0.14em;
  color: var(--accent);
}

.effort_everything {
  font-size: var(--size-h4);
  font-weight: 500;
  line-height: 1.15;
  color: var(--chrome);
}

.effort_list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xsmall);
}

.effort_item {
  padding: 0.45rem 0.9rem;
  border-radius: var(--radius);
  background-image: initial;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: rgba(37, 99, 255, 0.1);
  box-shadow: 0 0 0 1px rgba(77, 134, 255, 0.3) inset;
  font-size: var(--size-text-small);
  color: var(--fg-body);
}

.effort_note {
  font-size: var(--size-text-small);
  color: var(--fg-mute);
}

.pricing_card.is-subscription {
  grid-column: 1 / -1;
}

.pricing_card.is-subscription .pricing_inner {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: var(--space-small) var(--space-large);
  padding: var(--space-medium);
  background: linear-gradient(100deg, rgba(37, 99, 255, 0.14) 0%, rgba(7, 10, 20, 0.98) 60%);
}

@media screen and (max-width: 991px) {
  .pricing_card.is-subscription .pricing_inner {
  grid-template-columns: 1fr;
  }
}

.pricing_subscription-head {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-medium);
}

@media screen and (max-width: 991px) {
  .pricing_subscription-head {
  flex-direction: column;
  align-items: flex-start;
  }
}

.pricing_list.is-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 1.4rem;
  margin: 0px;
}

.pricing_card.is-subscription .pricing_button {
  margin-top: 0px;
  align-self: center;
}

.hero_stat-value.is-text {
  font-size: var(--size-h3);
  line-height: 1.25;
  letter-spacing: -0.02em;
}

@media screen and (min-width: 992px) and (max-height: 820px) {
  .hero_stat-value.is-text {
  font-size: var(--size-h4);
  line-height: 1.33;
  }
}

.upwork-badge_group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-small);
}

.upwork-award_list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-small);
}

.upwork-award_item {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  border-radius: var(--radius);
  background-image: linear-gradient(180deg, #111a33 0%, #080c18 100%);
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: initial;
  box-shadow: 0 0 0 1px rgba(124, 200, 255, 0.18) inset, 0 1rem 3rem -1.2rem rgba(37, 99, 255, 0.6);
  box-sizing: border-box;
  height: 4.25rem;
  padding: 0px 1.2rem 0px 0.8rem;
}

.upwork-award_icon {
  width: 2.6rem;
  height: 2.6rem;
  color: #4d86ff;
  filter: drop-shadow(0 0 0.6rem rgba(77, 134, 255, 0.8));
}

.upwork-award_ring {
  width: 2.6rem;
  height: 2.6rem;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
  background: conic-gradient(#7cc8ff calc(var(--value, 100) * 1%), rgba(124, 200, 255, 0.15) 0);
  -webkit-mask: radial-gradient(closest-side, transparent 72%, #000 74%);
  mask: radial-gradient(closest-side, transparent 72%, #000 74%);
  filter: drop-shadow(0 0 0.5rem rgba(124, 200, 255, 0.7));
}

.upwork-award_text {
  display: grid;
  gap: 0.15rem;
  line-height: 1.2;
}

.upwork-award_value {
  font-weight: 600;
  color: var(--chrome);
}

.upwork-award_label {
  font-family: var(--font-label);
  font-size: var(--size-text-tiny);
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fg-mute);
}

.section_reviews .padding-section-large {
  padding-bottom: var(--space-large);
}

.section_reviews .reviews_header {
  margin-bottom: 0px;
}

.reviews-slider_component {
  position: relative;
}

.reviews-slider_viewport {
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-padding-left: max(5%, calc((100% - 80rem) / 2));
  container-type: inline-size;
  scrollbar-width: none;
  cursor: grab;
}

@media screen and (max-width: 767px) {
  .reviews-slider_viewport {
  scroll-padding-left: 1.25rem;
  }
}

.reviews-slider_viewport::-webkit-scrollbar {
  display: none;
}

.reviews-slider_viewport.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
}

.reviews-slider_viewport:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: -2px;
}

.reviews-slider_track {
  --slider-gutter: max(5cqw, calc((100cqw - 80rem) / 2));
  --slider-gap: var(--space-medium);
  --slider-per: 3;
  display: flex;
  gap: var(--slider-gap);
  width: max-content;
  padding: var(--space-small) var(--slider-gutter) var(--space-medium);
  perspective: 1400px;
}

@media screen and (max-width: 1199px) {
  .reviews-slider_track {
  --slider-per: 2;
  }
}

@media screen and (max-width: 767px) {
  .reviews-slider_track {
  --slider-per: 1;
  --slider-gutter: 1.25rem;
  --slider-gap: var(--space-small);
  }
}

.reviews-slider_slide {
  width: calc((100cqw - 2 * var(--slider-gutter) - (var(--slider-per) - 1) * var(--slider-gap)) / var(--slider-per));
  flex-shrink: 0;
  scroll-snap-align: start;
  transition: opacity 0.6s var(--ease);
}

.reviews-slider_slide .reviews_card {
  height: 100%;
}

.reviews-slider_slide .reviews_inner {
  min-height: 28rem;
}

@media screen and (max-width: 767px) {
  .reviews-slider_slide .reviews_inner {
  min-height: 24rem;
  }
}

.reviews-slider_slide .reviews_quote {
  font-size: var(--size-text-medium);
  line-height: 1.55;
}

.reviews_card.is-short .reviews_quote {
  font-size: var(--size-h4);
  line-height: 1.25;
  letter-spacing: -0.015em;
}

html.js .reviews-slider_slide:not(.is-visible) .beam_line::before {
  animation-play-state: paused;
}

html.js .reviews-slider_slide:not(.is-visible) .beam_glow::before {
  animation-play-state: paused;
}

.reviews-slider_component.is-watching .reviews-slider_slide:not(.is-visible) {
  opacity: 0;
}

.reviews_monogram {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
  background-image: radial-gradient(circle at 30% 25%, #7cc8ff 0%, #2563ff 55%, #0b2aa8 100%);
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: initial;
  box-shadow: 0 0 0 2px rgba(77, 134, 255, 0.45), 0 0 1rem rgba(37, 99, 255, 0.5);
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--white);
}

.reviews_tick {
  width: 1rem;
  height: 1rem;
  margin-left: 0.35rem;
  vertical-align: -0.12rem;
  color: #4d86ff;
}

.reviews_author-logo {
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  padding: 0.65rem;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
  color: #ffffff;
  background-image: initial;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: #14a800;
}

.reviews-slider_controls {
  display: flex;
  align-items: center;
  gap: var(--space-small);
}

.reviews-slider_button {
  display: grid;
  place-items: center;
  width: 3.25rem;
  height: 3.25rem;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
  color: var(--chrome);
  background-image: initial;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: rgba(255, 255, 255, 0.04);
  box-shadow: 0 0 0 1px var(--line-strong) inset;
  transition: box-shadow 0.4s var(--ease), background-color 0.4s var(--ease), opacity 0.3s var(--ease);
}

@media screen and (max-width: 767px) {
  .reviews-slider_button {
  width: 2.75rem;
  height: 2.75rem;
  }
}

.reviews-slider_button svg {
  width: 1.25rem;
  height: 1.25rem;
}

.reviews-slider_button:hover {
  background-image: initial;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: rgba(37, 99, 255, 0.25);
  box-shadow: 0 0 0 1px rgba(124, 200, 255, 0.6) inset, 0 0 1.5rem rgba(37, 99, 255, 0.6);
}

.reviews-slider_button:disabled {
  opacity: 0.35;
  cursor: default;
}

.reviews-slider_button:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 3px;
}

.reviews-slider_progress {
  position: relative;
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 0%;
  height: 2px;
  margin: 0 var(--space-small);
  background-color: var(--line-strong);
  overflow: hidden;
}

.reviews-slider_bar {
  position: absolute;
  inset: 0;
  background: var(--blue-fill);
  box-shadow: 0 0 0.6rem #4d86ff;
  transform-origin: 0 50%;
  transform: scaleX(0.06);
  transition: transform 0.4s var(--ease);
}

.reviews-slider_count {
  font-family: var(--font-label);
  font-size: var(--size-text-small);
  letter-spacing: 0.08em;
  color: var(--fg-mute);
}

.reviews_foot {
  position: relative;
  display: flex;
  justify-content: center;
  padding-top: var(--space-large);
  padding-bottom: var(--space-xhuge);
}

.section_craft {
  position: relative;
  overflow: hidden;
  padding-top: var(--space-xhuge);
  padding-bottom: var(--space-large);
  background: linear-gradient(180deg, var(--night) 0%, var(--void) 24rem);
}

@media screen and (max-width: 991px) {
  .section_craft {
  padding-top: var(--space-huge);
  padding-bottom: var(--space-medium);
  }
}

@media screen and (max-width: 767px) {
  .section_craft {
  padding-top: var(--space-xxlarge);
  padding-bottom: var(--space-small);
  }
}

.craft_header {
  position: relative;
  z-index: 2;
  display: grid;
  justify-items: center;
  gap: var(--space-small);
  max-width: 52rem;
  margin: 0px auto;
  text-align: center;
}

.craft_heading {
  font-size: var(--size-h2);
  font-weight: 500;
  text-wrap: balance;
}

.craft_heading em {
  display: block;
}

.craft_lead {
  max-width: 44rem;
  color: var(--fg-body);
}

.craft_proof {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-xsmall);
  margin-top: var(--space-xsmall);
}

.craft_proof-item {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.45rem 1rem 0.45rem 0.8rem;
  border-radius: var(--radius);
  background-image: initial;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: rgba(37, 99, 255, 0.1);
  box-shadow: 0 0 0 1px rgba(77, 134, 255, 0.3) inset;
  font-size: var(--size-text-small);
  color: var(--chrome);
}

.craft_proof-item::before {
  content: '';
  width: 0.45rem;
  height: 0.45rem;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
  background: var(--cyan);
  box-shadow: 0 0 0.6rem 0.1rem rgba(124, 200, 255, 0.8);
}

.craft_stage {
  position: relative;
  z-index: 1;
  width: 100%;
  aspect-ratio: 16 / 9;
  max-height: 100svh;
  margin-top: calc(var(--space-large) * -1);
}

@media screen and (max-width: 767px) {
  .craft_stage {
  aspect-ratio: 4 / 5;
  margin-top: calc(var(--space-small) * -1);
  }
}

.craft_poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media screen and (max-width: 767px) {
  .craft_poster {
  object-fit: cover;
  object-position: 50% 50%;
  }
}

.craft_canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.6s ease;
}

.craft_canvas.is-ready {
  opacity: 1;
}

html.js .craft_poster {
  display: none;
}

.craft_shade {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, #030409 0%, rgba(3, 4, 9, 0) 22%, rgba(3, 4, 9, 0) 70%, #030409 100%),
    linear-gradient(90deg, #030409 0%, rgba(3, 4, 9, 0) 14%, rgba(3, 4, 9, 0) 86%, #030409 100%);
}

@media screen and (max-width: 767px) {
  .craft_shade {
  background: linear-gradient(180deg, #030409 0%, rgba(3, 4, 9, 0) 18%, rgba(3, 4, 9, 0) 68%, #030409 100%);
  }
}

.craft_pillars {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-medium);
  margin-top: calc(var(--space-xhuge) * -1);
}

@media screen and (max-width: 991px) {
  .craft_pillars {
  grid-template-columns: 1fr;
  gap: var(--space-small);
  margin-top: calc(var(--space-xlarge) * -1);
  }
}

.craft_pillar {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-xsmall);
  padding: var(--space-large) var(--space-medium) var(--space-medium);
  border-radius: var(--radius-card);
  overflow: hidden;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  box-shadow: 0 0 0 1px rgba(124, 200, 255, 0.14) inset, 0 2.5rem 5rem -2rem rgba(0, 0, 0, 0.9);
  background: radial-gradient(120% 60% at 0% 0%, rgba(37, 99, 255, 0.18) 0%, rgba(37, 99, 255, 0) 70%), linear-gradient(170deg, rgba(15, 22, 48, 0.82) 0%, rgba(7, 10, 20, 0.92) 80%);
}

.craft_pillar::before {
  content: '';
  position: absolute;
  top: 0px;
  left: 12%;
  right: 12%;
  height: 1px;
  background: linear-gradient(90deg, rgba(124, 200, 255, 0) 0%, rgba(124, 200, 255, 0.7) 50%, rgba(124, 200, 255, 0) 100%);
}

.craft_pillar-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-small);
}

.craft_icon {
  width: 2.6rem;
  height: 2.6rem;
  padding: 0.55rem;
  border-top-left-radius: 0.8rem;
  border-top-right-radius: 0.8rem;
  border-bottom-right-radius: 0.8rem;
  border-bottom-left-radius: 0.8rem;
  color: var(--cyan);
  background-image: initial;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: rgba(37, 99, 255, 0.14);
  box-shadow: 0 0 0 1px rgba(77, 134, 255, 0.35) inset, 0 0 1.6rem -0.2rem rgba(37, 99, 255, 0.7);
  filter: drop-shadow(0 0 0.35rem rgba(124, 200, 255, 0.6));
}

.craft_num {
  font-family: var(--font-label);
  font-size: var(--size-text-tiny);
  font-weight: 600;
  letter-spacing: 0.18em;
  color: var(--accent);
}

.craft_name {
  font-size: var(--size-h4);
  font-weight: 500;
}

.craft_pillar-lead {
  font-size: var(--size-text-medium);
  line-height: 1.45;
  color: var(--chrome);
}

.craft_body {
  color: var(--fg-body);
}

.book_component {
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  margin: 0px;
  padding: var(--space-small);
  border-top-width: 0px;
  border-right-width: 0px;
  border-bottom-width: 0px;
  border-left-width: 0px;
  border-top-style: initial;
  border-right-style: initial;
  border-bottom-style: initial;
  border-left-style: initial;
  border-top-color: initial;
  border-right-color: initial;
  border-bottom-color: initial;
  border-left-color: initial;
  border-image-source: initial;
  border-image-slice: initial;
  border-image-width: initial;
  border-image-outset: initial;
  border-image-repeat: initial;
  background-image: initial;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: transparent;
  color: var(--fg);
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .book_component {
  padding: 0px;
  }
}

@media screen and (min-width: 768px) and (max-height: 820px) {
  .book_component {
  padding: 0.5rem;
  }
}

.book_component[open] {
  display: grid;
  place-items: center;
}

.book_component::backdrop {
  background-image: initial;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: rgba(3, 4, 9, 0.78);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.book_panel {
  position: relative;
  display: flex;
  flex-direction: column;
  width: min(64rem, 100%);
  height: min(52rem, 100%);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(124, 200, 255, 0.18) inset, 0 3rem 6rem -2rem rgba(0, 0, 0, 0.9), 0 0 4rem -1rem rgba(37, 99, 255, 0.45);
  background: radial-gradient(120% 50% at 50% 0%, rgba(37, 99, 255, 0.18) 0%, rgba(37, 99, 255, 0) 70%), linear-gradient(170deg, #0f1630 0%, #070a14 80%);
}

@media screen and (max-width: 767px) {
  .book_panel {
  width: 100%;
  height: 100%;
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
  }
}

@media screen and (min-width: 768px) and (max-height: 820px) {
  .book_panel {
  height: 100%;
  }
}

.book_head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-small);
  padding: var(--space-small) var(--space-small) var(--space-small) var(--space-medium);
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: rgba(124, 200, 255, 0.12);
}

@media screen and (max-width: 767px) {
  .book_head {
  padding-left: var(--space-small);
  }
}

@media screen and (min-width: 768px) and (max-height: 820px) {
  .book_head {
  align-items: center;
  padding-top: 0.6rem;
  padding-bottom: 0.6rem;
  }
}

.book_heading {
  display: grid;
  gap: 0.2rem;
  padding-top: 0.35rem;
}

@media screen and (min-width: 768px) and (max-height: 820px) {
  .book_heading {
  padding-top: 0px;
  }
}

.book_title {
  font-size: var(--size-h5);
  font-weight: 500;
  color: var(--chrome);
}

.book_sub {
  font-size: var(--size-text-small);
  color: var(--fg-mute);
}

@media screen and (min-width: 768px) and (max-height: 820px) {
  .book_sub {
  display: none;
  }
}

.book_close {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 2.75rem;
  height: 2.75rem;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
  color: var(--chrome);
  background-image: initial;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: rgba(255, 255, 255, 0.04);
  box-shadow: 0 0 0 1px var(--line-strong) inset;
  transition: background-color 0.3s var(--ease), box-shadow 0.3s var(--ease);
}

.book_close svg {
  width: 1.25rem;
  height: 1.25rem;
}

.book_close:hover {
  background-image: initial;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: rgba(37, 99, 255, 0.25);
  box-shadow: 0 0 0 1px rgba(124, 200, 255, 0.6) inset, 0 0 1.5rem rgba(37, 99, 255, 0.6);
}

.book_close:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 3px;
}

.book_frame {
  position: relative;
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 0%;
  min-height: 0;
}

.book_loading {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-size: var(--size-text-small);
  letter-spacing: 0.08em;
  color: var(--fg-mute);
}

.book_iframe {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  border-top-width: 0px;
  border-right-width: 0px;
  border-bottom-width: 0px;
  border-left-width: 0px;
  border-top-style: initial;
  border-right-style: initial;
  border-bottom-style: initial;
  border-left-style: initial;
  border-top-color: initial;
  border-right-color: initial;
  border-bottom-color: initial;
  border-left-color: initial;
  border-image-source: initial;
  border-image-slice: initial;
  border-image-width: initial;
  border-image-outset: initial;
  border-image-repeat: initial;
  opacity: 0;
  transition: opacity 0.4s ease;
}

.book_component.is-loaded .book_iframe {
  opacity: 1;
}

.book_component.is-loaded .book_loading {
  visibility: hidden;
}

html.is-booking {
  overflow: hidden;
}

html.is-booking .cursor_component {
  visibility: hidden !important;
}

@media (prefers-reduced-motion: no-preference) {
  .book_component[open] .book_panel {
  animation: book-in 0.45s var(--ease) both;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .book_component[open]::backdrop {
  animation: book-fade 0.35s ease both;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .book_component.is-closing .book_panel {
  animation: book-out 0.22s ease both;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .book_component.is-closing::backdrop {
  animation: book-fade 0.22s ease reverse both;
  }
}

@keyframes book-in {
  0% {
    opacity: 0;
    transform: translateY(1.5rem) scale(0.97);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}

@keyframes book-out {
  100% {
    opacity: 0;
    transform: translateY(0.75rem) scale(0.98);
  }
}

@keyframes book-fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.section_faq {
  position: relative;
  background-color: var(--void);
}

.faq_layout {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  align-items: start;
  gap: var(--space-xxlarge);
}

@media screen and (max-width: 991px) {
  .faq_layout {
  grid-template-columns: 1fr;
  gap: var(--space-large);
  }
}

.faq_header {
  display: grid;
  gap: var(--space-small);
}

.faq_heading {
  font-size: var(--size-h2);
  font-weight: 500;
  text-wrap: balance;
}

.faq_intro {
  max-width: 28rem;
  color: var(--fg-body);
}

.faq_list {
  display: grid;
  border-top: 1px solid var(--line-strong);
}

.faq_item {
  border-bottom: 1px solid var(--line-strong);
}

.faq_question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-small);
  padding: var(--space-small) 0;
  font-size: var(--size-text-large);
  font-weight: 500;
  line-height: 1.35;
  color: var(--chrome);
}

.faq_icon {
  position: relative;
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
  width: 2.25rem;
  height: 2.25rem;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
  box-shadow: 0 0 0 1px var(--line-strong) inset;
  transition: background-color 0.3s var(--ease), box-shadow 0.3s var(--ease);
}

.faq_icon::before, .faq_icon::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.75rem;
  height: 1.5px;
  margin: -0.75px 0px 0px -0.375rem;
  background-color: var(--chrome);
  transition: transform 0.4s var(--ease);
}

.faq_icon::after {
  transform: rotate(90deg);
}

.faq_question:hover .faq_icon {
  box-shadow: 0 0 0 1px rgba(77, 134, 255, 0.5) inset;
}

.faq_item[open] .faq_icon {
  background-color: rgba(37, 99, 255, 0.22);
  box-shadow: 0 0 0 1px rgba(77, 134, 255, 0.5) inset;
}

.faq_item[open] .faq_icon::after {
  transform: rotate(0deg);
}

.faq_answer {
  max-width: 44rem;
  padding: 0 3.25rem var(--space-medium) 0;
  color: var(--fg-body);
}

@media screen and (max-width: 767px) {
  .faq_answer {
  padding-right: 0px;
  }
}

.section_project-hero {
  position: relative;
  overflow: hidden;
  padding-top: 9rem;
  background: radial-gradient(70% 50% at 50% 0%, #0b1638 0%, var(--void) 70%);
}

.project-hero_glow {
  position: absolute;
  inset: 0 -10% auto;
  height: 70%;
  filter: blur(30px);
  pointer-events: none;
  background: radial-gradient(50% 50% at 50% 30%, rgba(37, 99, 255, 0.3) 0%, rgba(37, 99, 255, 0) 70%);
}

.project-hero_content {
  position: relative;
  display: grid;
  gap: var(--space-small);
  max-width: 56rem;
}

.project_back {
  justify-self: start;
  margin-bottom: var(--space-small);
  font-size: var(--size-text-small);
  color: var(--fg-mute);
  transition: color 0.3s var(--ease);
}

.project_back:hover {
  color: var(--chrome);
}

.project_eyebrow {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.4rem 1.25rem;
}

.project_eyebrow h1 {
  line-height: 1.5;
}

.project_count {
  color: var(--fg-mute);
}

.project_title {
  font-family: var(--font-display);
  font-size: var(--size-display);
  font-weight: 500;
  line-height: 0.95;
  letter-spacing: -0.035em;
  background: var(--chrome-fill);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  padding-bottom: 0.08em;
}

.project_title .split_word {
  background: var(--chrome-fill);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  padding-bottom: 0.22em;
  margin-bottom: -0.22em;
}

.project_chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xsmall);
}

.project_chip {
  padding: 0.4rem 0.9rem;
  border-radius: var(--radius);
  box-shadow: 0 0 0 1px var(--line-strong) inset;
  font-family: var(--font-label);
  font-size: var(--size-text-tiny);
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fg-body);
}

.project_summary {
  max-width: 46rem;
  color: var(--fg-body);
  line-height: 1.55;
  margin-bottom: var(--space-small);
}

.project_browser {
  position: relative;
  margin-top: var(--space-xlarge);
  margin-bottom: var(--space-xhuge);
  border-radius: var(--radius-card);
  overflow: hidden;
  background-color: var(--night-raised);
  box-shadow: 0 0 0 1px rgba(124, 200, 255, 0.2) inset, 0 3rem 8rem -2rem rgba(37, 99, 255, 0.45);
  transform-origin: 50% 0%;
}

.project_browser-bar {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  height: 2.6rem;
  padding: 0px 1rem;
  background-image: linear-gradient(180deg, #131a2e, #0c1120);
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: initial;
  border-bottom: 1px solid var(--line);
}

.project_browser-bar span {
  width: 0.65rem;
  height: 0.65rem;
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
  background-color: var(--night-line-strong);
}

.project_browser-url {
  margin-left: var(--space-small);
  padding: 0.2rem 0.9rem;
  border-radius: var(--radius);
  background-color: rgba(255, 255, 255, 0.04);
  font-style: normal;
  font-size: var(--size-text-tiny);
  color: var(--fg-mute);
}

.project_browser-image {
  width: 100%;
}

.section_project-details {
  position: relative;
  background-color: var(--night);
}

.project-details_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-xlarge);
}

@media screen and (max-width: 991px) {
  .project-details_grid {
  grid-template-columns: 1fr;
  }
}

.project-details_column {
  display: grid;
  align-content: start;
  gap: var(--space-small);
}

.project-details_heading {
  font-size: var(--size-h3);
  font-weight: 500;
  margin-bottom: var(--space-small);
}

.project-details_list {
  display: grid;
  gap: 0;
  border-top: 1px solid var(--line-strong);
}

.project-details_item {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  padding: 0.95rem 0px;
  border-bottom: 1px solid var(--line);
  color: var(--fg-body);
}

.project-details_item::before {
  content: '';
  width: 0.5rem;
  height: 0.5rem;
  flex-shrink: 0;
  transform: rotate(45deg);
  background-color: var(--accent);
  box-shadow: 0 0 0.6rem rgba(77, 134, 255, 0.8);
}

.project-details_list.is-results .project-details_item {
  color: var(--chrome);
}

.project-tools_component {
  display: grid;
  gap: var(--space-small);
  margin-top: var(--space-xlarge);
}

.project-tools_list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xsmall);
}

.project-tools_chip {
  display: inline-block;
  padding: 0.55rem 1.1rem;
  border-radius: var(--radius);
  background-image: initial;
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: rgba(255, 255, 255, 0.03);
  box-shadow: 0 0 0 1px var(--line-strong) inset;
  font-size: var(--size-text-small);
  color: var(--fg-body);
  transition: box-shadow 0.3s var(--ease), color 0.3s var(--ease);
}

.project-tools_chip:hover {
  color: var(--chrome);
  box-shadow: 0 0 0 1px rgba(124, 200, 255, 0.5) inset;
}

.section_project-mobile {
  position: relative;
  overflow: hidden;
  background-color: var(--void);
}

.project-mobile_glow {
  position: absolute;
  inset: 20% -10% auto;
  height: 70%;
  filter: blur(40px);
  pointer-events: none;
  background: radial-gradient(50% 50% at 50% 50%, rgba(37, 99, 255, 0.25) 0%, rgba(37, 99, 255, 0) 70%);
}

.project-mobile_header {
  position: relative;
  display: grid;
  gap: var(--space-small);
  margin-bottom: var(--space-xlarge);
}

.project-mobile_heading {
  font-size: var(--size-h2);
  font-weight: 500;
}

.project-mobile_row {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: var(--space-large);
}

.project_phone {
  width: min(18rem, 40vw);
  padding: 0.6rem;
  border-top-left-radius: 2.4rem;
  border-top-right-radius: 2.4rem;
  border-bottom-right-radius: 2.4rem;
  border-bottom-left-radius: 2.4rem;
  background-image: linear-gradient(160deg, #2a3350, #0c1120 60%);
  background-position-x: initial;
  background-position-y: initial;
  background-size: initial;
  background-repeat: initial;
  background-attachment: initial;
  background-origin: initial;
  background-clip: initial;
  background-color: initial;
  box-shadow: 0 0 0 1px rgba(124, 200, 255, 0.25) inset, 0 3rem 6rem -2rem rgba(37, 99, 255, 0.5);
}

.project_phone-image {
  border-top-left-radius: 1.9rem;
  border-top-right-radius: 1.9rem;
  border-bottom-right-radius: 1.9rem;
  border-bottom-left-radius: 1.9rem;
}

.project_phone + .project_phone {
  margin-top: var(--space-xxlarge);
}

.section_project-next {
  position: relative;
  border-top: 1px solid var(--line);
  background-color: var(--night);
}

.project-next_link {
  display: block;
}

.project-next_inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: var(--space-xlarge);
  padding-top: var(--space-xhuge);
  padding-bottom: var(--space-xhuge);
}

@media screen and (max-width: 991px) {
  .project-next_inner {
  grid-template-columns: 1fr;
  }
}

.project-next_text {
  display: grid;
  gap: var(--space-small);
}

.project-next_title {
  font-size: var(--size-h1);
  font-weight: 500;
  transition: color 0.4s var(--ease);
}

.project-next_link:hover .project-next_title {
  color: var(--cyan);
}

.project-next_industry {
  font-family: var(--font-label);
  font-size: var(--size-text-tiny);
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fg-mute);
}

.project-next_figure {
  overflow: hidden;
  border-radius: var(--radius-card);
  aspect-ratio: 16 / 10;
  box-shadow: 0 0 0 1px rgba(124, 200, 255, 0.15) inset;
}

.project-next_image {
  height: 100%;
  object-fit: cover;
  object-position: 50% 0%;
  transition: transform 1.2s var(--ease);
}

.project-next_link:hover .project-next_image {
  transform: scale(1.05);
}