:root {
  --base-color-neutral--neutral-lightest: #f8f8f9;
  --text-color--text-primary: var(--base-color-neutral--neutral-darkest);
  --link-color--link-primary: var(--base-color-brand--blue);
  --background-color--background-primary: var(--base-color-brand--orange);
  --text-color--text-alternate: var(--base-color-neutral--white);
  --text-color--text-secondary: var(--base-color-neutral--neutral-dark);
  --background-color--background-success: var(--base-color-system--success-green);
  --text-color--text-success: var(--base-color-system--success-green-dark);
  --border-color--border-primary: var(--base-color-neutral--neutral-lighter);
  --base-color-neutral--neutral-light: #aaa;
  --base-color-neutral--neutral: #625b57;
  --background-color--background-alternate: var(--base-color-neutral--neutral-darkest);
  --background-color--background-secondary: var(--base-color-brand--blue);
  --base-color-neutral--neutral-darkest: #0c0d0f;
  --background-color--background-tertiary: var(--base-color-neutral--neutral-lightest);
  --background-color--background-error: var(--base-color-system--error-red);
  --text-color--text-error: var(--base-color-system--error-red-dark);
  --base-color-brand--orange: #f56200;
  --base-color-brand--orange-dark: #c54f00;
  --background-color--background-warning: var(--base-color-system--warning-yellow);
  --text-color--text-warning: var(--base-color-system--warning-yellow-dark);
  --base-color-brand--blue: #006fff;
  --base-color-neutral--neutral-lighter: #cbcbcb;
  --base-color-brand--blue-light: #d9e5ff;
  --base-color-brand--orange-light: #feb27f;
  --base-color-neutral--white: #fff;
  --base-color-brand--blue-dark: #080331;
  --base-color-neutral--black: #000;
  --base-color-neutral--neutral-dark: #444;
  --base-color-neutral--neutral-darker: #222;
  --base-color-system--success-green: #cef5ca;
  --base-color-system--success-green-dark: #114e0b;
  --base-color-system--warning-yellow: #fcf8d8;
  --base-color-system--warning-yellow-dark: #5e5515;
  --base-color-system--error-red: #f8e4e4;
  --base-color-system--error-red-dark: #3b0b0b;
  --base-color-system--focus-state: #2d62ff;
  --border-color--border-secondary: var(--base-color-brand--blue);
  --border-color--border-alternate: var(--base-color-neutral--neutral-darker);
  --link-color--link-secondary: var(--base-color-brand--orange);
  --link-color--link-alternate: var(--base-color-neutral--white);
  /* Main page vertical rhythm (gaps between sections + interior band padding) */
  --section-gap-y: 11.25rem;
  --section-pad-y: 4.25rem;
  --title-block-space-bottom: 2.75rem;
}

.w-layout-hflex {
  flex-direction: row;
  align-items: flex-start;
  display: flex;
}

.w-layout-vflex {
  flex-direction: column;
  align-items: flex-start;
  display: flex;
}

.w-checkbox {
  margin-bottom: 5px;
  padding-left: 20px;
  display: block;
}

.w-checkbox:before {
  content: " ";
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-checkbox:after {
  content: " ";
  clear: both;
  grid-area: 1 / 1 / 2 / 2;
  display: table;
}

.w-checkbox-input {
  float: left;
  margin: 4px 0 0 -20px;
  line-height: normal;
}

.w-checkbox-input--inputType-custom {
  border: 1px solid #ccc;
  border-radius: 2px;
  width: 12px;
  height: 12px;
}

.w-checkbox-input--inputType-custom.w--redirected-checked {
  background-color: #3898ec;
  background-image: url('https://d3e54v103j8qbb.cloudfront.net/static/custom-checkbox-checkmark.589d534424.svg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  border-color: #3898ec;
}

.w-checkbox-input--inputType-custom.w--redirected-focus {
  box-shadow: 0 0 3px 1px #3898ec;
}

.w-form-formradioinput--inputType-custom {
  border: 1px solid #ccc;
  border-radius: 50%;
  width: 12px;
  height: 12px;
}

.w-form-formradioinput--inputType-custom.w--redirected-focus {
  box-shadow: 0 0 3px 1px #3898ec;
}

.w-form-formradioinput--inputType-custom.w--redirected-checked {
  border-width: 4px;
  border-color: #3898ec;
}

body {
  background-color: var(--base-color-neutral--neutral-lightest);
  color: var(--text-color--text-primary);
  font-family: Inter, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}

/* Scroll-linked pattern: fills .page-wrapper (document height); isolation keeps z-index:-1 inside the wrapper stack */
.page-wrapper {
  position: relative;
  isolation: isolate;
}

#page-pattern-overlay {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-color: color-mix(in srgb, var(--base-color-neutral--neutral-darkest) 4%, var(--base-color-neutral--neutral-lightest));
  background-image: url('../images/logo-pattern-cell.svg');
  background-repeat: repeat;
  background-size: auto;
  opacity: 0;
  transition: opacity 1.15s cubic-bezier(0.45, 0, 0.25, 1);
}

@media (prefers-reduced-motion: reduce) {
  #page-pattern-overlay {
    transition-duration: 0.01ms;
  }
}

body.body--solutions-active #page-pattern-overlay {
  opacity: 1;
}

/* One full-page pattern layer (#page-pattern-overlay); body must not paint an opaque layer over it */
body.body--solutions-active {
  background-color: transparent;
}

/* Let the fixed overlay show through the section (no local pattern — avoids a band that differs from the rest of the viewport) */
body.body--solutions-active .section_solutions {
  background: transparent;
}

h1 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.1;
}

h2 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.2;
}

h3 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
}

h4 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
}

h5 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
}

h6 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
}

p {
  margin-bottom: 0;
}

a {
  color: var(--link-color--link-primary);
}

ul, ol {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 1.5rem;
}

li {
  margin-bottom: .25rem;
}

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

label {
  margin-bottom: .25rem;
  font-weight: 500;
}

blockquote {
  border-left: .25rem solid #e2e2e2;
  margin-bottom: 0;
  padding: 0 1.25rem;
  font-size: 1.25rem;
  line-height: 1.5;
}

figure {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

figcaption {
  text-align: center;
  margin-top: .25rem;
}

.utility-page_component {
  justify-content: center;
  align-items: center;
  width: 100vw;
  max-width: 100%;
  height: 100vh;
  max-height: 100%;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  display: flex;
}

.utility-page_wrapper {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  text-align: center;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  max-width: 20rem;
  display: flex;
}

.utility-page_form {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  display: flex;
}

.utility-page_image {
  margin-left: auto;
  margin-right: auto;
}

.global-styles {
  background-color: var(--base-color-neutral--neutral-lightest);
  display: block;
  position: fixed;
  inset: 0% auto auto 0%;
}

.margin-custom2 {
  margin: 2.5rem;
}

.padding-xlarge {
  padding: 4rem;
}

.margin-xlarge {
  margin: 4rem;
}

.margin-xsmall {
  margin: .5rem;
}

.padding-xhuge {
  padding: 8rem;
}

.margin-custom1 {
  margin: 1.25rem;
}

.padding-0 {
  padding: 0;
}

.padding-xxhuge {
  padding: 12rem;
}

.padding-huge {
  padding: 6rem;
}

.margin-large {
  margin: 3rem;
}

.padding-xxlarge {
  padding: 5rem;
}

.margin-xxsmall {
  margin: .25rem;
}

.padding-custom3 {
  padding: 3.5rem;
}

.padding-large {
  padding: 3rem;
}

.margin-tiny {
  margin: .125rem;
}

.padding-small {
  padding: 1rem;
}

.padding-custom2 {
  padding: 2.5rem;
}

.margin-custom3 {
  margin: 3.5rem;
}

.padding-custom1 {
  padding: 1.5rem;
}

.margin-huge {
  margin: 6rem;
}

.padding-medium {
  padding: 2rem;
}

.padding-xsmall {
  padding: .5rem;
}

.margin-xxlarge {
  margin: 5rem;
}

.padding-xxsmall {
  padding: .25rem;
}

.margin-xhuge {
  margin: 8rem;
}

.padding-tiny {
  padding: .125rem;
}

.margin-small {
  margin: 1rem;
}

.margin-medium {
  margin: 2rem;
}

.margin-xxhuge {
  margin: 12rem;
}

.margin-0 {
  margin: 0;
}

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

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

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

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

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

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

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

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

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

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

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

.form_checkbox {
  flex-direction: row;
  align-items: center;
  margin-bottom: .5rem;
  padding-left: 0;
  display: flex;
}

.form_checkbox-icon {
  border-radius: .125rem;
  width: .875rem;
  height: .875rem;
  margin: 0 .5rem 0 0;
}

.form_checkbox-icon.w--redirected-checked {
  background-size: 90%;
  border-radius: .125rem;
  width: .875rem;
  height: .875rem;
  margin: 0 .5rem 0 0;
}

.form_checkbox-icon.w--redirected-focus {
  border-radius: .125rem;
  width: .875rem;
  height: .875rem;
  margin: 0 .5rem 0 0;
  box-shadow: 0 0 .25rem 0 #3898ec;
}

.fs-styleguide_background {
  border: .0625rem solid #0000001a;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  display: flex;
}

.fs-styleguide_spacing {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  background-image: linear-gradient(to top, #2d40ea1a, #fff0);
  grid-template-rows: auto auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  place-content: start;
  place-items: start stretch;
  display: grid;
  position: relative;
}

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

.overflow-auto {
  overflow: auto;
}

.spacing-clean {
  margin: 0;
  padding: 0;
}

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

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

.fs-styleguide_background-space {
  width: .0625rem;
  height: .0625rem;
  margin: 5rem;
}

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

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

.fs-styleguide_item {
  grid-column-gap: 1.125rem;
  grid-row-gap: 1.125rem;
  border-bottom: .0625rem solid #0000001a;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  place-content: start;
  place-items: start;
  padding-bottom: 3rem;
  display: grid;
  position: relative;
}

.fs-styleguide_item.is-stretch {
  justify-items: stretch;
}

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

.fs-styleguide_item-header {
  border-bottom: .0625rem solid #0000001a;
  width: 100%;
  padding-bottom: 2rem;
}

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

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

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

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

.fs-styleguide_2-col {
  grid-column-gap: 4rem;
  grid-row-gap: 4rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  display: grid;
}

.fs-styleguide_2-col.is-align-start {
  align-items: start;
}

.form_message-success {
  background-color: var(--background-color--background-success);
  color: var(--text-color--text-success);
  padding: 1.25rem;
}

.fs-styleguide_row {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  flex-direction: row;
  grid-template-rows: auto;
  grid-template-columns: auto;
  grid-auto-columns: auto;
  grid-auto-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.heading-style-h3 {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.2;
}

.text-rich-text h1, .text-rich-text h2, .text-rich-text h3, .text-rich-text h4 {
  margin-top: 1.5rem;
  margin-bottom: 1rem;
}

.text-rich-text h5, .text-rich-text h6 {
  margin-top: 1.25rem;
  margin-bottom: 1rem;
}

.text-rich-text p {
  margin-bottom: 1rem;
}

.text-rich-text ul, .text-rich-text ol {
  margin-bottom: 1.5rem;
}

.text-rich-text blockquote {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

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

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

.icon-height-small {
  height: 1rem;
}

.icon-1x1-medium {
  width: 1.5rem;
  height: 1.5rem;
  transform: scale(1);
}

.heading-style-h1 {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.1;
}

.padding-global {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

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

.padding-section-small {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

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

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

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

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

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

.overflow-hidden {
  overflow: hidden;
}

.fs-styleguide_section-header {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  border-bottom: .0625rem solid var(--border-color--border-primary);
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  padding-bottom: 3rem;
  line-height: 1.4;
  display: grid;
}

.text-size-tiny {
  font-size: .75rem;
}

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

.fs-styleguide_1-col {
  grid-column-gap: 3rem;
  grid-row-gap: 3rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  display: grid;
}

.overflow-visible {
  overflow: visible;
}

.fs-styleguide_empty-box {
  z-index: -1;
  background-color: #2d40ea0d;
  border: .0625rem dashed #2d40ea;
  min-width: 3rem;
  height: 3rem;
  position: relative;
}

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

.fs-styleguide_heading-medium {
  font-size: 4rem;
}

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

.fs-styleguide_4-col {
  grid-column-gap: 4rem;
  grid-row-gap: 4rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  display: grid;
}

.text-size-regular {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}

.text-size-regular.text-color-secondary {
  color: #444;
}

.text-size-regular.text-color-secondary.line-height-sm {
  line-height: 1.3;
}

.text-size-regular.text-color-alternate {
  color: var(--base-color-neutral--neutral-light);
}

.text-size-regular.text-color-tertiary {
  color: var(--base-color-neutral--neutral);
}

.text-size-regular.text-color-tertiary.line-height-sm {
  line-height: 1.3;
}

.text-size-regular.text-color-tertiary.text-color-alternate {
  color: var(--base-color-neutral--neutral);
}

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

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

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

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

.fs-styleguide_item-wrapper {
  grid-column-gap: 3rem;
  grid-row-gap: 3rem;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  display: flex;
}

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

.fs-styleguide_header-block {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  place-items: center start;
  display: grid;
}

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

.text-style-muted {
  opacity: .6;
}

.text-size-small {
  font-size: .875rem;
}

.heading-style-h4 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
}

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

.form_radio-icon {
  width: .875rem;
  height: .875rem;
  margin-top: 0;
  margin-left: 0;
  margin-right: .5rem;
}

.form_radio-icon.w--redirected-checked {
  border-width: .25rem;
  width: .875rem;
  height: .875rem;
}

.form_radio-icon.w--redirected-focus {
  width: .875rem;
  height: .875rem;
  box-shadow: 0 0 .25rem 0 #3898ec;
}

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

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

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

.form_input {
  border: .0625rem solid var(--border-color--border-primary);
  background-color: #0000;
  min-height: 3rem;
  margin-bottom: .75rem;
  padding: .5rem 1rem;
  font-size: 1rem;
}

.form_input::placeholder, .form_input.is-select-input {
  color: var(--text-color--text-secondary);
}

.form_input.is-text-area {
  min-height: 8rem;
  padding-top: .75rem;
  font-size: 1rem;
}

.heading-style-h6 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
}

.padding-section-large {
  padding-top: 8rem;
  padding-bottom: 8rem;
}

.fs-styleguide_3-col {
  grid-column-gap: 4rem;
  grid-row-gap: 4rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  align-items: stretch;
  width: 100%;
  display: grid;
}

.fs-styleguide_3-col.is-align-start {
  align-items: start;
}

.text-style-link {
  color: var(--link-color--link-primary);
  text-decoration: underline;
}

.text-size-large {
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1.2;
}

.fs-styleguide_header {
  background-color: var(--base-color-neutral--neutral-darkest);
  color: var(--text-color--text-alternate);
}

.heading-style-h2 {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.2;
}

.fs-styleguide_label {
  background-color: var(--background-color--background-secondary);
  color: var(--text-color--text-alternate);
  border-radius: .25rem;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  padding: .25rem .75rem .3rem;
  font-weight: 600;
  display: flex;
}

.fs-styleguide_label.is-tag {
  background-color: var(--background-color--background-tertiary);
}

.heading-style-h5 {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
}

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

.container-large.hero {
  z-index: 1;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

.icon-height-medium {
  height: 1.5rem;
}

.text-style-allcaps {
  text-transform: uppercase;
}

.overflow-scroll {
  overflow: scroll;
}

.form_message-error {
  background-color: var(--background-color--background-error);
  color: var(--text-color--text-error);
  margin-top: .75rem;
  padding: .75rem;
}

.icon-height-large {
  height: 2.5rem;
}

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

.form_component {
  margin-bottom: 0;
}

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

.layer {
  justify-content: center;
  align-items: center;
  position: absolute;
  inset: 0%;
}

.text-style-quote {
  border-left: .25rem solid #e2e2e2;
  margin-bottom: 0;
  padding: 0 1.25rem;
  font-size: 1.25rem;
  line-height: 1.5;
}

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

.button {
  border: .125rem solid var(--border-color--border-primary);
  background-color: var(--base-color-neutral--neutral-lightest);
  height: 48px;
  color: var(--text-color--text-primary);
  text-align: center;
  border-radius: .25rem;
  padding: .75rem 1.25rem;
  font-weight: 600;
  transition: all .3s cubic-bezier(.455, .03, .515, .955);
}

.button:hover {
  border-color: var(--background-color--background-primary);
  background-color: var(--base-color-brand--orange);
  color: var(--text-color--text-alternate);
}

.button.is-text {
  color: #000;
  background-color: #0000;
  border: .125rem solid #0000;
}

.button.is-small {
  padding: .5rem 1.25rem;
}

.button.is-large {
  padding: 1rem 2rem;
}

.button.is-secondary {
  border: .125rem solid var(--base-color-neutral--neutral);
  color: var(--text-color--text-alternate);
  background-color: #0000;
}

.button.is-secondary:hover {
  border-color: var(--base-color-neutral--neutral-darkest);
  background-color: var(--background-color--background-alternate);
}

.button.is-icon {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  display: flex;
}

.button.is-brand {
  background-color: #fc7114;
  background-image: linear-gradient(180deg, #fc7114, var(--base-color-brand--orange) 31%);
  color: var(--text-color--text-alternate);
}

.button.is-brand:hover {
  border-color: var(--base-color-brand--orange-dark);
  background-color: var(--base-color-brand--orange-dark);
  background-image: none;
}

.button.is-brand.is-icon {
  border-color: var(--background-color--background-primary);
  line-height: 0;
}

.fs-styleguide_classes {
  grid-column-gap: .0625rem;
  grid-row-gap: .0625rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.text-size-medium {
  font-size: 1.25rem;
}

.fs-styleguide_section {
  grid-column-gap: 6rem;
  grid-row-gap: 6rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  place-items: start;
  display: grid;
}

.fs-styleguide_section.is-vertical {
  grid-column-gap: 4rem;
  grid-row-gap: 4rem;
  grid-template-columns: 1fr;
}

.button-group {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  flex-flow: wrap;
  justify-content: center;
  align-items: center;
  display: flex;
}

.hide {
  display: none;
}

.padding-section-medium {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

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

.form_radio {
  flex-direction: row;
  align-items: center;
  margin-bottom: .5rem;
  padding-left: 0;
  display: flex;
}

.fs-styleguide_spacing-all {
  display: none;
}

.spacer-huge {
  width: 100%;
  padding-top: 6rem;
}

.spacer-medium {
  width: 100%;
  padding-top: 2rem;
}

.fs-styleguide_spacer-box {
  background-color: #2d40ea1a;
  border: .0625rem dashed #2d40ea;
  width: 100%;
  position: relative;
}

.spacer-xsmall {
  width: 100%;
  padding-top: .5rem;
}

.spacer-small {
  width: 100%;
  padding-top: 1rem;
}

.spacer-xhuge {
  width: 100%;
  padding-top: 8rem;
}

.spacer-tiny {
  width: 100%;
  padding-top: .125rem;
}

.spacer-xxsmall {
  width: 100%;
  padding-top: .25rem;
}

.spacer-xxhuge {
  width: 100%;
  padding-top: 12rem;
}

.spacer-xlarge {
  width: 100%;
  padding-top: 4rem;
}

.spacer-large {
  padding-top: 3rem;
}

.spacer-xxlarge {
  width: 100%;
  padding-top: 5rem;
}

.fs-styleguide_message {
  background-color: var(--background-color--background-warning);
  color: var(--text-color--text-warning);
  border-radius: .25rem;
  padding: .25rem .5rem;
  font-size: .875rem;
}

.nav_component {
  background-color: var(--base-color-neutral--neutral-lightest);
  width: 100%;
  padding-top: 1rem;
  padding-bottom: 1rem;
  position: relative;
  inset: 0% 0% auto;
}

.nav_container {
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.nav_logo {
  width: 10rem;
}

.nav_menu_link {
  color: var(--base-color-neutral--neutral-darkest);
  padding: .75rem 1rem;
  font-weight: 600;
  position: relative;
  text-decoration: none;
}

.nav_menu_link::after {
  content: '';
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: 0.25rem;
  height: 2px;
  background-color: var(--base-color-brand--blue);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.25s ease;
}

.nav_menu_link:hover::after {
  transform: scaleX(1);
}

.nav_menu_link.w--current {
  color: var(--base-color-brand--blue);
}

.nav_menu_link.w--current::after {
  transform: scaleX(1);
}

.nav_menu .button.is-icon {
  color: var(--text-color--text-primary);
}

.nav_menu .button.is-icon .icon-1x1-medium {
  color: var(--base-color-neutral--neutral-darkest);
}

.nav_menu .button.is-icon .icon-1x1-medium svg path {
  fill: var(--base-color-neutral--neutral-darkest);
}

.nav_menu .button.is-icon:hover .icon-1x1-medium svg path {
  fill: var(--text-color--text-alternate);
}

/* Desktop contact button — plain div, Webflow JS ignores it */
.nav_contact_desktop {
  display: flex;
  align-items: center;
}

/* Mobile contact link inside the nav menu — hidden on desktop */
.nav_contact_mobile_link {
  display: none !important;
}

/* Mobile overlay: white background */
.w-nav-overlay {
  background-color: var(--base-color-neutral--white) !important;
}

/* Overlay link styles */
.w-nav-overlay .nav_menu_link {
  border-bottom: 0.0625rem solid var(--border-color--border-primary);
}

.w-nav-overlay .nav_menu_link::after {
  display: none;
}

.nav_button {
  padding: 1rem;
  color: var(--base-color-neutral--neutral-darkest);
}

.aspect-ratio-square {
  aspect-ratio: 1;
  object-fit: cover;
}

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

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

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

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

.fs-styleguide_hero-label {
  color: var(--text-color--text-primary);
  text-transform: uppercase;
  background-color: #eee;
  border-radius: .25rem;
  padding: .25rem .375rem;
  font-size: .75rem;
  font-weight: 500;
  text-decoration: none;
}

.hero_content {
  grid-column-gap: 1.25rem;
  grid-row-gap: 1.25rem;
  flex-flow: column;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  place-content: start;
  place-items: start;
  padding-bottom: 8rem;
  max-width: 760px;
  display: flex;
  position: relative;
}

.hero_image {
  border-radius: 1rem;
  margin-top: 0;
}

.hero_heading {
  color: var(--text-color--text-alternate);
  font-size: 4rem;
  font-weight: 800;
  line-height: 1.1;
  display: block;
}

.title_svg {
  display: none;
}

.section_hero {
  flex-direction: column;
  justify-content: flex-end;
  align-items: stretch;
  display: flex;
  position: relative;
}

.hero_grid {
  grid-column-gap: 8rem;
  grid-row-gap: 8rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  align-items: center;
  display: grid;
}

.nav_fixed {
  z-index: 2;
  position: sticky;
  top: 0;
}

.fs-styleguide_heading-header {
  font-size: 6rem;
}

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

.hero_bg_video {
  flex-flow: column;
  justify-content: flex-end;
  min-height: 87svh;
  display: flex;
}

.hero_bg_video > .padding-global {
  box-sizing: border-box;
  width: 100%;
}

.div-block {
  width: 100%;
  height: 100svh;
  position: absolute;
  inset: 0%;
}

.hero-bg-gradient {
  opacity: .12;
  mix-blend-mode: normal;
  background-image: linear-gradient(34deg, #f56200, #f5620000 46%);
  position: absolute;
  inset: 0%;
}

.hero_title {
  width: 100%;
}

.title_svg {
  width: 100%;
  max-width: 880px;
}

.hero_stats {
  background-color: var(--background-color--background-tertiary);
  border-radius: 20px 0 0 0;
  justify-content: flex-start;
  align-items: stretch;
  width: 44%;
  padding-top: 28px;
  padding-left: 32px;
  display: flex;
  position: absolute;
  inset: auto 0% 0% auto;
}

.grid_col-3 {
  grid-column-gap: 28px;
  grid-row-gap: 28px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  align-items: stretch;
  display: grid;
}

.grid_col-3.gap-sm {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
}

.hero_stats .grid_col-3 {
  grid-template-columns: max-content max-content max-content;
  grid-auto-columns: max-content;
  grid-column-gap: 3.75rem;
  justify-content: start;
  justify-items: start;
  width: max-content;
  max-width: 100%;
}

.hero-bg-mark {
  opacity: .05;
  background-image: url('../images/logomark.svg');
  background-position: 170%;
  background-repeat: no-repeat;
  background-size: auto;
  position: absolute;
  inset: 0%;
}

.hero-bg-mark.opacity20 {
  z-index: -1;
  opacity: .15;
  background-position: center center;
  background-size: contain;
  height: 100%;
  width: 100vw;
  position: absolute;
  top: -50%;
  left: 50%;
  transform: translateX(-90%);
  pointer-events: none;
}

.corner-mask {
  width: 20px;
  height: 20px;
  position: absolute;
  inset: -20px 0% auto auto;
}

.corner-mask2 {
  width: 20px;
  height: 20px;
  position: absolute;
  inset: auto 0% 0% -20px;
}

.hero_stats > .corner-mask {
  display: none;
}

.hero-bg-solid {
  background-image: radial-gradient(ellipse 160% 120% at 0% 100%, #000 0%, #00000088 50%, transparent 80%);
  mix-blend-mode: normal;
  position: absolute;
  inset: 0%;
}

.section_whyus {
  margin-top: var(--section-gap-y);
}

.section_process {
  margin-top: var(--section-gap-y);
}

.section-scroll-reveal {
  opacity: 0;
  filter: blur(1.25rem);
  -webkit-transform: translate3d(0, 1.25rem, 0);
  transform: translate3d(0, 1.25rem, 0);
  transition: opacity 0.75s ease, filter 0.75s ease, -webkit-transform 0.75s ease, transform 0.75s ease;
}

.section-scroll-reveal.section-scroll-reveal--visible {
  opacity: 1;
  filter: none;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
  .section-scroll-reveal {
    opacity: 1;
    filter: none;
    -webkit-transform: none;
    transform: none;
    transition: none;
  }
}

.process_steps {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0 1.5rem;
  position: relative;
  z-index: 0;
}

.process_steps::before {
  display: none;
}

.process_step {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: 1rem;
  row-gap: 0;
  align-items: start;
  align-content: start;
  padding: 0;
}

.process_step-number {
  grid-column: 1;
  grid-row: 1 / 3;
  align-self: start;
  font-size: 3rem;
  font-weight: 700;
  color: var(--base-color-neutral--neutral-lighter);
  margin: 0;
  letter-spacing: -0.03em;
  line-height: 1.1;
  padding-right: 0.25rem;
}

.process_step-title {
  grid-column: 2;
  grid-row: 1;
  font-size: 1.125rem;
  font-weight: 700;
  margin: 0 0 4px 0;
  color: var(--text-color--text-primary);
}

.process_step-desc {
  grid-column: 2;
  grid-row: 2;
  font-size: 1rem;
  color: var(--base-color-neutral--neutral);
  line-height: 1.5;
  margin: 0;
}

.card_info {
  grid-column-gap: 32px;
  grid-row-gap: 32px;
  background-color: var(--base-color-neutral--neutral-lighter);
  background-image: url('../images/logo-pattern-cell.svg');
  background-position: 0 0;
  background-size: auto;
  border-radius: 20px;
  padding: 32px;
}

.card_info.background-secondary-light {
  background-color: var(--base-color-brand--blue-light);
  background-image: radial-gradient(circle at 0 100%, #d9e5ff, #d9e5ffc4), url('../images/logo-pattern-cell.svg');
  background-position: 0 0, 0 0;
  background-size: auto, auto;
}

.card_info.background-secondary {
  background-color: var(--base-color-brand--blue);
  background-image: radial-gradient(circle at 0 100%, #006fff, #006ffff2), url('../images/logo-pattern-cell.svg');
  background-position: 0 0, 0 0;
  background-size: auto, auto;
}

.card_info.background-primary-light {
  background-color: var(--base-color-brand--orange-light);
  background-image: radial-gradient(circle at 0 100%, #feb27f, #feb27fde), url('../images/logo-pattern-cell.svg');
  background-position: 0 0, 0 0;
  background-size: auto, auto;
}

.title-wrapper {
  flex-flow: column;
  padding-bottom: var(--title-block-space-bottom);
}

.title-wrapper.padding-bottom-xhuge {
  padding-bottom: var(--title-block-space-bottom);
}

.footer-light {
  border-bottom: 1px solid #e4ebf3;
  padding: 80px 30px 40px;
  position: relative;
}

.container {
  width: 100%;
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}

.footer-wrapper-two {
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.footer-block-two {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.footer-title {
  font-size: 18px;
  font-weight: 500;
  line-height: 32px;
}

.footer-link-two {
  color: #1a1b1f;
  margin-top: 20px;
  text-decoration: none;
}

.footer-link-two:hover {
  color: #1a1b1fbf;
}

.footer-form {
  width: 315px;
  max-width: 100%;
  margin-bottom: 0;
}

.footer-form-block {
  justify-content: center;
  align-items: center;
  margin-top: 24px;
  display: flex;
}

.footer-form-field {
  border: 1px solid #a6b1bf;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  height: 48px;
  margin-bottom: 0;
  padding: 12px 16px;
  font-size: 14px;
  line-height: 22px;
  transition: all .2s;
}

.footer-form-field:hover, .footer-form-field:focus {
  border-color: #76879d;
}

.footer-form-field::placeholder {
  color: #1a1b1fcc;
  font-size: 14px;
  line-height: 22px;
}

.footer-form-submit {
  background-color: #1a1b1f;
  background-image: url('../images/');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: auto;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  width: 50px;
  height: 48px;
  transition: all .2s;
}

.footer-form-submit:hover {
  background-color: #3a4554;
}

.footer-divider-two {
  background-color: #e4ebf3;
  width: 100%;
  height: 1px;
  margin-top: 40px;
  margin-bottom: 40px;
}

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

.footer-copyright {
  color: #3a4554;
}

.footer-social-block-two {
  justify-content: flex-start;
  align-items: center;
  margin-top: 0;
  margin-left: -12px;
  display: flex;
}

.footer-social-link {
  margin-left: 12px;
}

.section_cta {
  background-color: var(--background-color--background-alternate);
  background-image: linear-gradient(#0c0d0fa1, #0c0d0fa1), url('../images/bg-footer-pattern.jpg');
  background-position: 0 0, 0 0;
  background-size: auto, cover;
  border-radius: 20px;
  margin-top: 6rem;
  padding: var(--section-pad-y) clamp(1.5rem, 6vw, 6.25rem);
  text-align: center;
}

.section_cta .container-small {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}

.section_footer {
  flex-flow: row;
  justify-content: space-between;
  margin-top: 2rem;
  padding-top: 0;
  padding-bottom: 1.75rem;
  display: flex;
}

.div-block-2 {
  justify-content: center;
  align-items: center;
  display: flex;
}

.headline-wrapper {
  grid-column-gap: 8px;
  grid-row-gap: 8px;
  flex-flow: row;
  display: flex;
}

.grid_col-2 {
  grid-column-gap: 28px;
  grid-row-gap: 28px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.grid_col-2.gap-sm {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
}

.grid_col-2.gap-lg {
  grid-column-gap: 56px;
  grid-row-gap: 56px;
}

.grid_col-2-stretch {
  grid-column-gap: 28px;
  grid-row-gap: 28px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  align-items: stretch;
  display: grid;
}

.grid_col-2-stretch.gap-sm {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
}

.grid_col-2-stretch.gap-lg {
  grid-column-gap: 80px;
  grid-row-gap: 80px;
}

.container-background-full {
  background-color: var(--background-color--background-alternate);
  background-image: radial-gradient(circle at 10% -30%, #0c0d0f00 90%, #de5a021c 96%, #f5620045), radial-gradient(circle at 0 0, #0c0d0f00 74%, #f562002e), linear-gradient(#0c0d0ff5, #0c0d0ff5), url('../images/logo-pattern-cell.svg');
  background-position: 0 0, 0 0, 0 0, 0 0;
  background-size: auto, auto, auto, auto;
  margin-top: calc(var(--section-gap-y) - var(--section-pad-y));
  padding-top: var(--section-pad-y);
  padding-bottom: var(--section-pad-y);
}

/* ── Solutions section ──────────────────── */
.section_solutions {
  /* Full-bleed band (viewport width even if ancestors are centered) */
  width: 100vw;
  margin-left: calc(50% - 50vw);
  box-sizing: border-box;
  /* Flat fill only — pattern while in this section comes from #page-pattern-overlay (scrolls with page) */
  background-color: var(--base-color-neutral--neutral-lightest);
  margin-top: calc(var(--section-gap-y) - var(--section-pad-y));
  padding-top: var(--section-pad-y);
  padding-bottom: 0;
  position: relative;
}

.section_solutions > .padding-global {
  position: relative;
  z-index: 1;
}

.solutions_layout {
  display: grid;
  grid-template-columns: 1.2fr 2fr;
  grid-template-areas:
    "title panes"
    "list  panes";
  column-gap: 4rem;
  row-gap: 1.5rem;
  align-items: stretch;
  margin-top: 0;
}

.solutions_layout > .solutions_title { grid-area: title; }
.solutions_layout > .solutions_list  { grid-area: list; }
.solutions_layout > .solutions_panes { grid-area: panes; }

.solutions_title {
  padding-bottom: 0;
}

.solutions_list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.solutions_item {
  appearance: none;
  -webkit-appearance: none;
  background: none;
  border: 0;
  border-bottom: 1px solid var(--base-color-neutral--neutral-lighter);
  width: 100%;
  padding: 1.25rem 0;
  text-align: left;
  font-size: 1.125rem;
  font-weight: 600;
  font-family: inherit;
  color: var(--base-color-neutral--neutral);
  cursor: pointer;
  transition: color 0.25s ease;
  line-height: 1.3;
  display: flex;
  align-items: center;
  gap: 0;
}

.solutions_item::before {
  content: '';
  flex-shrink: 0;
  height: 0.4375rem;
  width: 0;
  margin-right: 0;
  border-radius: 999rem;
  background-color: var(--base-color-brand--orange);
  clip-path: inset(0 100% 0 0 round 999rem);
  transition: width 0.45s cubic-bezier(0.4, 0, 0.2, 1),
              margin-right 0.45s cubic-bezier(0.4, 0, 0.2, 1),
              clip-path 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

.solutions_item.is-active::before {
  width: 1.75rem;
  margin-right: 0.625rem;
  clip-path: inset(0 0% 0 0 round 999rem);
}

.solutions_list li:nth-child(3n+1) .solutions_item::before { background-color: var(--base-color-brand--orange); }
.solutions_list li:nth-child(3n+2) .solutions_item::before { background-color: var(--base-color-brand--blue); }
.solutions_list li:nth-child(3n+3) .solutions_item::before { background-color: #625B57; }

.solutions_list li:first-child .solutions_item {
  border-top: 1px solid var(--base-color-neutral--neutral-lighter);
}

.solutions_item:hover,
.solutions_item.is-active {
  color: var(--text-color--text-primary);
}

.solutions_chevron {
  display: none;
}

.solutions_panes {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.solutions_pane {
  display: none;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  flex: 1;
  min-height: 0;
}

.solutions_pane > .solutions_image { margin-bottom: 1.5rem; }
.solutions_pane > h3              { margin-bottom: 0.5rem; }
.solutions_pane > p               { margin-bottom: 1.25rem; }
.solutions_pane > .solutions_capabilities { margin-bottom: 2.5rem; }
.solutions_pane > .button         { margin-top: auto; }

.solutions_pane.is-active {
  display: flex;
  animation: solutionFadeIn 0.35s ease both;
}

.solutions_pane > h3,
.solutions_pane > p,
.solutions_pane > .solutions_image,
.solutions_pane > .solutions_capabilities {
  align-self: stretch;
}

@keyframes solutionFadeIn {
  from { opacity: 0; transform: translateY(0.5rem); }
  to   { opacity: 1; transform: translateY(0); }
}

.solutions_image {
  width: 100%;
  flex: 1 1 auto;
  min-height: 12rem;
  border-radius: 1.25rem;
  background-color: var(--base-color-neutral--neutral-lighter);
  background-image: url('../images/logo-pattern-cell.svg');
  background-size: auto;
  background-repeat: repeat;
}

#solution-1 .solutions_image {
  background-color: var(--base-color-neutral--neutral-lighter);
  background-image: url('../images/services-robotics.png');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

#solution-2 .solutions_image {
  background-color: var(--base-color-neutral--neutral-lighter);
  background-image: url('../images/services-mechanical-engineering.png');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
}

#solution-3 .solutions_image {
  background-color: var(--base-color-neutral--neutral-lighter);
  background-image: url('../images/services-prototype.png');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

#solution-4 .solutions_image {
  background-color: var(--base-color-neutral--neutral-lighter);
  background-image: url('../images/services-industrial-development.png');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

#solution-5 .solutions_image {
  background-color: var(--base-color-neutral--neutral-lighter);
  background-image: url('../images/services-custom-machining.png');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

#solution-6 .solutions_image {
  background-color: var(--base-color-neutral--neutral-lighter);
  background-image: url('../images/services-production-assembly.png');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

#solution-7 .solutions_image {
  background-color: var(--base-color-neutral--neutral-lighter);
  background-image: url('../images/services-plant-optimization.png');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
}


.solutions_capabilities {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.solutions_capabilities li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.capabilities-pill {
  position: relative;
  z-index: 0;
  box-sizing: border-box;
  margin: 0;
  font: inherit;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.35;
  padding: 0.375rem 0.875rem;
  border: 1px solid var(--base-color-neutral--neutral-lighter);
  border-radius: 999px;
  background: var(--base-color-neutral--white);
  color: var(--text-color--text-primary);
  cursor: help;
  text-align: center;
  -webkit-tap-highlight-color: transparent;
}

.capabilities-pill:hover,
.capabilities-pill:focus-visible {
  z-index: 2;
}

.capabilities-pill::after {
  content: attr(data-tooltip);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 0.5rem);
  z-index: 20;
  box-sizing: border-box;
  /* max-content avoids shrink-to-fit against the narrow pill; min/max clamp reading width */
  width: max-content;
  max-width: min(22rem, calc(100vw - 2rem));
  min-width: min(18rem, calc(100vw - 2rem));
  padding: 0.625rem 0.875rem;
  border-radius: 0.5rem;
  background-color: var(--base-color-neutral--neutral-darkest);
  color: var(--text-color--text-alternate);
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.45;
  text-align: left;
  white-space: normal;
  pointer-events: none;
  opacity: 0;
  transform: translate3d(-50%, 0.25rem, 0);
  box-shadow: 0 0.25rem 0.75rem rgba(12, 13, 15, 0.28);
  transition: opacity 0.15s ease, transform 0.15s ease;
}

.capabilities-pill::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: calc(100% + 0.125rem);
  z-index: 21;
  width: 0;
  height: 0;
  border-left: 0.375rem solid transparent;
  border-right: 0.375rem solid transparent;
  border-top: 0.375rem solid var(--base-color-neutral--neutral-darkest);
  border-bottom: 0;
  pointer-events: none;
  opacity: 0;
  transform: translate3d(-50%, 0.25rem, 0);
  transition: opacity 0.15s ease, transform 0.15s ease;
}

.capabilities-pill:hover::after,
.capabilities-pill:focus-visible::after,
.capabilities-pill:hover::before,
.capabilities-pill:focus-visible::before {
  opacity: 1;
}

.capabilities-pill:hover::after,
.capabilities-pill:focus-visible::after {
  transform: translate3d(-50%, 0, 0);
}

.capabilities-pill:hover::before,
.capabilities-pill:focus-visible::before {
  transform: translate3d(-50%, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
  .capabilities-pill::after,
  .capabilities-pill::before {
    transition: none;
  }
}

/* ── /Solutions section ─────────────────── */

.img-container {
  background-color: var(--base-color-neutral--neutral-darkest);
  border-radius: 20px;
  justify-content: center;
  align-items: center;
  padding: 12px;
}

.img-container.background-color-secondary {
  background-color: var(--background-color--background-tertiary);
}

.img100 {
  width: 100%;
}

.gap4 {
  grid-column-gap: 4px;
  grid-row-gap: 4px;
  flex-flow: column;
  display: flex;
}

.icon_star {
  margin-top: 4px;
}

.headline-wrapper-vert {
  grid-column-gap: 8px;
  grid-row-gap: 8px;
  flex-flow: column;
  display: flex;
}

.section_industries {
  margin-top: var(--section-gap-y);
  padding-top: 0;
  padding-bottom: 0;
}

.slider {
  width: 100%;
}

.div-block-3 {
  width: 100%;
  display: flex;
}

.main-img {
  border-radius: 12px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.slide-content {
  z-index: 2;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-top: 1.75rem;
  margin-right: auto;
  display: flex;
}

.slide-overlay {
  z-index: 1;
  background-color: #00000073;
  width: 95%;
  margin-left: auto;
  margin-right: auto;
  display: block;
  position: absolute;
  inset: 0;
}

.slide-overlay.extra-img-overlay {
  width: auto;
}

.extra-img-content {
  z-index: 2;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  inset: 0;
}

.slider-wrap {
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  display: flex;
  position: relative;
  overflow: hidden;
}

.slide-nav {
  display: none;
}

.extra-img {
  width: 95%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -97.5%;
}

.extra-img.last-slide {
  inset: 0 -97.5% 0 auto;
}

.slider-mask {
  width: 360px;
  margin-bottom: 40px;
  margin-left: 19vw;
  display: block;
  overflow: visible;
}

.slider-arrow {
  background-color: #fff;
  width: 72px;
  height: 72px;
  top: 0;
  left: 0;
}

.slider-arrow.right {
  margin-left: 24vw;
  margin-right: 0;
  position: relative;
  top: -72px;
  left: auto;
  right: 0;
}

.slider-arrow.left {
  margin-left: 19vw;
  margin-right: 0;
  position: relative;
}

.slide {
  position: relative;
}

.slide.slide-one {
  width: 360px;
  margin-right: 20px;
}

.slider-2 {
  background-color: #0000;
  width: 100%;
  height: auto;
  overflow: hidden;
}

.slider-arrow-icon {
  color: #000;
  font-size: 22px;
}

.card_slide {
  border: 2px solid var(--base-color-neutral--neutral-lighter);
  background-color: var(--base-color-neutral--neutral-lightest);
  border-radius: 20px;
  padding: 28px;
}

.slide-item {
  height: 100%;
  margin-right: 20px;
}

.slider-container {
  z-index: 0;
  background-color: #0000;
  width: 100%;
  max-width: 1280px;
  height: 100%;
  padding-bottom: 100px;
  position: relative;
  overflow: visible;
}

.mask {
  z-index: 0;
  width: 320px;
  height: 100%;
  overflow: visible;
}

/* ── Industries infinite carousel ──────── */

.industries-viewport {
  overflow: hidden;
  width: 100%;
}

.industries-track {
  display: flex;
  align-items: stretch;
  transition: transform 0.35s ease;
  will-change: transform;
}

.industries-track.no-transition {
  transition: none;
}

.industries-slide {
  flex-shrink: 0;
  width: 20rem;
  display: flex;
  flex-direction: column;
  align-self: stretch;
  height: auto;
}

.industries-slide .card_slide {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  width: 100%;
  box-sizing: border-box;
}

.industries-slide .main-img {
  width: 100%;
  height: auto;
  flex-shrink: 0;
}

.industries-slide .slide-content {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.industries-arrow-row {
  display: flex;
  justify-content: flex-start;
  gap: 0.875rem;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.industries-prev,
.industries-next {
  background-color: var(--base-color-neutral--neutral-darkest);
  border: none;
  border-radius: 0.5rem;
  width: 4.5rem;
  height: 4.5rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.5rem;
  flex-shrink: 0;
  transition: opacity 0.15s ease;
}

.industries-prev:hover,
.industries-next:hover {
  opacity: 0.75;
}

/* ── /Industries infinite carousel ─────── */

.left-arrow {
  background-color: var(--base-color-neutral--neutral-darkest);
  border-radius: 8px;
  width: 72px;
  height: 72px;
  inset: auto auto 0% 0%;
}

.right-arrow {
  background-color: var(--base-color-neutral--neutral-darkest);
  border-radius: 8px;
  width: 72px;
  height: 72px;
  inset: auto auto 0% 86px;
}

.section_about {
  margin-top: 0;
  padding-top: 0;
  position: relative;
}

/* Space after industries slider before the about rail */
.slider-wrap + .padding-global {
  margin-top: var(--section-gap-y);
}

/* About two-column: space below section intro titles before the grid */
.section_about .grid_col-2-stretch.gap-lg.margin-top {
  margin: 0;
}

.section_about .img-container {
  padding: 0;
  overflow: hidden;
}

.livechat {
  justify-content: flex-start;
  align-items: flex-start;
  display: block;
  position: fixed;
  inset: 0% auto auto 0%;
}

/* ── Modal ─────────────────────────────── */
.modal-overlay {
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  inset: 0;
  background: rgba(8, 9, 11, 0.85);
  backdrop-filter: blur(0.5rem);
  z-index: 1000;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.modal-overlay.is-open {
  opacity: 1;
  pointer-events: all;
}

.modal-panel {
  background: var(--base-color-neutral--white);
  border-radius: 1rem;
  width: 90%;
  max-width: 32rem;
  max-height: 90vh;
  overflow-y: auto;
  padding: 2rem;
  position: relative;
  transform: translateY(1rem);
  transition: transform 0.25s ease;
}

.modal-overlay.is-open .modal-panel {
  transform: translateY(0);
}

.modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.modal-panel .heading-style-h3 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
  margin: 0;
}

.modal-close {
  background: none;
  border: none;
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
  color: var(--base-color-neutral--neutral);
  width: 2.5rem;
  height: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0;
  border-radius: 0.5rem;
  transition: color 0.15s, background-color 0.15s;
}

.modal-close:hover {
  color: var(--base-color-neutral--neutral-darkest);
  background-color: var(--base-color-neutral--neutral-lightest);
}

/* Form lives on a white panel — override the dark-band defaults */
.modal-panel .form-block {
  margin-top: 0;
  margin-bottom: 0;
  color: var(--text-color--text-primary);
  align-items: stretch;
  justify-content: flex-start;
}

.modal-panel .form-block.w-form {
  margin-bottom: 0;
}

.modal-panel .form {
  max-width: 100%;
  margin-bottom: 0;
}

.modal-panel label,
.modal-panel .w-form-label {
  display: block;
  margin-bottom: 0.375rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text-color--text-primary);
}

.modal-panel .input-container {
  margin-bottom: 0.75rem;
}

.modal-panel .inputfield,
.modal-panel .textareafield {
  margin-bottom: 0;
  border: 0.0625rem solid var(--border-color--border-primary, #d6d6d6);
  border-radius: 0.5rem;
  padding: 0.625rem 0.875rem;
  font-size: 1rem;
  color: var(--text-color--text-primary);
  transition: border-color 0.15s, box-shadow 0.15s;
}

.modal-panel .textareafield {
  height: 8rem;
  min-height: 6rem;
  resize: vertical;
}

.modal-panel .inputfield::placeholder,
.modal-panel .textareafield::placeholder {
  color: var(--base-color-neutral--neutral, #8a8a8a);
  opacity: 1;
}

.modal-panel .inputfield:focus,
.modal-panel .textareafield:focus {
  border-color: var(--base-color-brand--orange);
  box-shadow: 0 0 0 0.1875rem rgba(252, 113, 20, 0.18);
  outline: none;
}

.modal-panel .input-container.form-files {
  align-self: stretch;
  align-items: stretch;
  width: 100%;
  margin-bottom: 0.75rem;
}

.modal-panel .form-files-label {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text-color--text-primary);
}

.modal-panel .form-files-dropzone {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  border: 0.0625rem dashed var(--border-color--border-primary);
  border-radius: 0.75rem;
  background-color: var(--base-color-neutral--neutral-lightest);
  cursor: pointer;
  transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

.modal-panel .form-files-dropzone.is-dragover {
  border-color: var(--base-color-brand--orange);
  background-color: var(--base-color-brand--orange-light);
  box-shadow: 0 0 0 0.1875rem rgba(252, 113, 20, 0.12);
}

.modal-panel .form-files-dropzone.is-filled .form-files-drop-title {
  color: var(--text-color--text-primary);
}

.modal-panel .form-files-input {
  position: absolute;
  width: 0.0625rem;
  height: 0.0625rem;
  padding: 0;
  margin: -0.0625rem;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.modal-panel .form-files-dropzone-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  text-align: center;
  padding: 1.5rem 1.25rem;
  gap: 0.375rem;
}

.modal-panel .form-files-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  margin-bottom: 0.25rem;
  border-radius: 50%;
  background-color: var(--base-color-neutral--white);
  color: var(--base-color-neutral--neutral-darkest);
  box-shadow: 0 0.0625rem 0.25rem rgba(12, 13, 15, 0.08);
}

.modal-panel .form-files-drop-title {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--text-color--text-primary);
}

.modal-panel .form-files-drop-hint {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.4;
}

.modal-panel .form-files-browse {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  margin-top: 0.625rem;
  padding: 0.75rem 1.25rem;
  border: 0.125rem solid var(--border-color--border-primary);
  border-radius: 0.5rem;
  background-color: transparent;
  color: var(--text-color--text-primary);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.modal-panel .form-files-browse:hover {
  border-color: var(--base-color-brand--orange);
  background-color: var(--base-color-neutral--white);
  color: var(--text-color--text-primary);
}

.modal-panel .form-files-list {
  margin: 0.625rem 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

.modal-panel .form-files-list:not([hidden]) {
  display: flex;
}

.modal-panel .form-files-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.5rem 0.625rem;
  border: 0.0625rem solid var(--border-color--border-primary);
  border-radius: 0.5rem;
  font-size: 0.8125rem;
  color: var(--text-color--text-primary);
  background: var(--base-color-neutral--white);
}

.modal-panel .form-files-item-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  flex: 1 1 auto;
}

.modal-panel .form-files-item-meta {
  flex-shrink: 0;
  color: var(--text-color--text-secondary);
}

.modal-panel .form-files-item-remove {
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  border: none;
  border-radius: 0.25rem;
  background: transparent;
  color: var(--text-color--text-secondary);
  font-size: 1.125rem;
  line-height: 1;
  cursor: pointer;
  transition: color 0.15s ease, background-color 0.15s ease;
}

.modal-panel .form-files-item-remove:hover {
  color: var(--text-color--text-primary);
  background-color: var(--base-color-neutral--neutral-lightest);
}

.modal-panel .form-files-error {
  margin: 0.5rem 0 0;
  color: var(--base-color-brand--orange-dark, #c45a10);
  font-size: 0.8125rem;
}

.modal-panel .submit-container {
  margin-top: 1.25rem;
  margin-bottom: 0;
  display: block;
}

.modal-panel .submitbtn {
  width: 100%;
  display: block;
  margin-bottom: 0;
}

.modal-panel .w-form-done,
.modal-panel .w-form-fail {
  margin: 0;
}

@media screen and (max-width: 479px) {
  .modal-panel {
    padding: 1.5rem 1.5rem 2rem;
  }
}

/* ── /Modal ────────────────────────────── */

.form-block {
  color: var(--base-color-neutral--white);
  flex-flow: column;
  justify-content: center;
  align-items: center;
  margin-top: 2rem;
  display: flex;
}

.div-block-4 {
  text-align: center;
  justify-content: center;
  align-items: center;
  display: flex;
}

.submit-container {
  justify-content: center;
  align-items: center;
  margin-top: 1.5rem;
  display: flex;
}

.input-container {
  margin-bottom: 1rem;
}

.form {
  width: 100%;
  max-width: 600px;
}

.inputfield {
  border-radius: 8px;
  height: 44px;
}

.textareafield {
  border-radius: 8px;
  height: 200px;
  font-size: 1rem;
}

.success-message {
  background-color: #fff;
  border-radius: 1rem;
  width: 100%;
}

.error-message {
  text-align: center;
  width: 100%;
  max-width: 600px;
}

@media screen and (max-width: 767px) {
  .solutions_layout {
    grid-template-columns: 1fr;
    grid-template-areas:
      "title"
      "list"
      "panes";
    gap: 2rem;
  }

  .solutions_item {
    padding: 1rem 0;
    font-size: 1.125rem;
    text-align: left;
  }

  .solutions_item > span {
    flex: 1;
    text-align: left;
  }

  /* Chevron — hidden on desktop, visible on mobile */
  .solutions_chevron {
    display: inline-flex;
    flex-shrink: 0;
    width: 1.375rem;
    height: 1.375rem;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    color: var(--base-color-neutral--neutral);
  }

  .solutions_item.is-active .solutions_chevron {
    transform: rotate(180deg);
    color: var(--text-color--text-primary);
  }

  /* Accordion pane inside list item */
  .solutions_list .solutions_pane {
    display: block;
    overflow: hidden;
    max-height: 0;
    padding: 0;
    animation: none;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                padding 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .solutions_list .solutions_pane.is-active {
    max-height: 80rem;
    padding-top: 1.25rem;
    padding-bottom: 1.5rem;
  }

  /* Re-establish flex layout for pane content when open */
  .solutions_list .solutions_pane.is-active {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    align-items: flex-start;
  }
}

@media screen and (max-width: 991px) {
  .padding-xlarge {
    padding: 3rem;
  }

  .margin-xlarge {
    margin: 3rem;
  }

  .padding-xhuge {
    padding: 6rem;
  }

  .padding-xxhuge {
    padding: 8rem;
  }

  .padding-huge {
    padding: 5rem;
  }

  .margin-large {
    margin: 2.5rem;
  }

  .padding-xxlarge {
    padding: 4rem;
  }

  .padding-large {
    padding: 2.5rem;
  }

  .margin-huge {
    margin: 5rem;
  }

  .padding-medium {
    padding: 1.5rem;
  }

  .margin-xxlarge {
    margin: 4rem;
  }

  .margin-xhuge {
    margin: 6rem;
  }

  .margin-medium {
    margin: 1.5rem;
  }

  .margin-xxhuge {
    margin: 8rem;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .hide-tablet {
    display: none;
  }

  .fs-styleguide_2-col {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    grid-template-columns: 1fr;
  }

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

  .fs-styleguide_1-col {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
  }

  .fs-styleguide_heading-medium {
    font-size: 3rem;
  }

  .fs-styleguide_4-col {
    grid-template-columns: 1fr;
  }

  .padding-section-large {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .fs-styleguide_3-col {
    grid-template-columns: 1fr;
  }

  .fs-styleguide_section {
    grid-column-gap: 2.5rem;
    grid-template-columns: 1fr;
  }

  .padding-section-medium {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .spacer-huge {
    padding-top: 5rem;
  }

  .spacer-medium {
    padding-top: 1.5rem;
  }

  .spacer-xhuge {
    padding-top: 6rem;
  }

  .spacer-xxhuge {
    padding-top: 8rem;
  }

  .spacer-xlarge {
    padding-top: 3rem;
  }

  .spacer-large {
    padding-top: 2.5rem;
  }

  .spacer-xxlarge {
    padding-top: 4rem;
  }

  .nav_button {
    color: var(--base-color-neutral--neutral-darkest);
  }

  /* Hide the desktop contact button when hamburger is active */
  .nav_contact_desktop {
    display: none;
  }

  /* Show the contact link inside the collapsed nav menu */
  .nav_contact_mobile_link {
    display: block !important;
  }

  .hero_content {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .hero_grid {
    grid-column-gap: 4rem;
    grid-row-gap: 4rem;
    grid-template-columns: 1fr;
  }

  .fs-styleguide_heading-header {
    font-size: 4rem;
  }

  .hero_bg_video {
    grid-column-gap: 3rem;
    grid-row-gap: 3rem;
    height: 100%;
    min-height: 0;
    padding-top: 2rem;
  }

  .hero_stats {
    border-radius: 1.25rem 0 1.25rem 1.25rem;
    width: 93%;
    margin: 2rem;
    padding-bottom: 28px;
    padding-right: 32px;
    position: relative;
    inset: auto 0% 0%;
  }

  .corner-mask, .corner-mask2 {
    display: none;
  }

  .container {
    max-width: 728px;
  }

  .footer-wrapper-two {
    flex-wrap: wrap;
  }

  .footer-form {
    width: 100%;
    margin-top: 40px;
  }

  .footer-form-container {
    max-width: 350px;
  }

  .grid_col-2-stretch.gap-lg {
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    grid-template-columns: 1fr;
  }

  .grid_col-2-stretch.gap-lg.margin-top {
    flex-flow: column-reverse;
    display: flex;
  }

  .slider-wrap {
    margin-left: 2.5rem;
  }

  .slider-2 {
    height: 24vh;
  }
}

@media screen and (max-width: 767px) {
  :root {
    --section-gap-y: 7rem;
    --section-pad-y: 3rem;
    --title-block-space-bottom: 2rem;
  }

  h1 {
    font-size: 2.5rem;
  }

  h2 {
    font-size: 2rem;
  }

  h3 {
    font-size: 1.5rem;
  }

  h4 {
    font-size: 1.25rem;
  }

  h5 {
    font-size: 1rem;
  }

  h6 {
    font-size: .875rem;
  }

  .padding-xlarge {
    padding: 2rem;
  }

  .margin-xlarge {
    margin: 2rem;
  }

  .padding-xhuge {
    padding: 4rem;
  }

  .padding-xxhuge {
    padding: 4.5rem;
  }

  .padding-huge {
    padding: 3.5rem;
  }

  .margin-large {
    margin: 1.5rem;
  }

  .padding-xxlarge {
    padding: 3rem;
  }

  .padding-large {
    padding: 1.5rem;
  }

  .margin-huge {
    margin: 3.5rem;
  }

  .padding-medium {
    padding: 1.25rem;
  }

  .margin-xxlarge {
    margin: 3rem;
  }

  .margin-xhuge {
    margin: 4rem;
  }

  .margin-medium {
    margin: 1.25rem;
  }

  .margin-xxhuge {
    margin: 4.5rem;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .hide-mobile-landscape {
    display: none;
  }

  .heading-style-h3 {
    font-size: 1.5rem;
  }

  .heading-style-h1 {
    font-size: 2.5rem;
  }

  .padding-global {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .padding-section-small {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .fs-styleguide_section-header {
    font-size: .875rem;
  }

  .fs-styleguide_heading-medium {
    font-size: 2rem;
  }

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

  .heading-style-h4 {
    font-size: 1rem;
  }

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

  .heading-style-h6 {
    font-size: .75rem;
  }

  .padding-section-large {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .text-size-large {
    font-size: 1.25rem;
  }

  .heading-style-h2 {
    font-size: 2rem;
  }

  .heading-style-h5 {
    font-size: .875rem;
  }

  .button-group {
    justify-content: flex-start;
    align-items: flex-start;
  }

  .padding-section-medium {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .spacer-huge {
    padding-top: 3.5rem;
  }

  .spacer-medium {
    padding-top: 1.25rem;
  }

  .spacer-xhuge {
    padding-top: 4rem;
  }

  .spacer-xxhuge {
    padding-top: 4.5rem;
  }

  .spacer-xlarge {
    padding-top: 2rem;
  }

  .spacer-large {
    padding-top: 1.5rem;
  }

  .spacer-xxlarge {
    padding-top: 3rem;
  }

  .process_steps {
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
  }

  .process_step-number {
    font-size: 2.25rem;
  }

  .footer-light {
    padding-left: 15px;
    padding-right: 15px;
  }

  .footer-bottom {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .footer-copyright {
    font-size: 14px;
    line-height: 20px;
  }

  .footer-social-block-two {
    margin-top: 20px;
  }

  .footer-social-link {
    margin-left: 20px;
  }

  .section_cta {
    padding: var(--section-pad-y) 1.75rem;
  }

  .container-background-full {
    margin-top: calc(var(--section-gap-y) - var(--section-pad-y));
    padding-top: var(--section-pad-y);
    padding-bottom: var(--section-pad-y);
  }

  .slider-wrap {
    margin-left: 0;
  }

  .industries-arrow-row {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}

@media screen and (max-width: 479px) {
  :root {
    --section-gap-y: 5rem;
    --section-pad-y: 2.5rem;
    --title-block-space-bottom: 1.75rem;
  }

  .process_steps {
    grid-template-columns: 1fr;
    gap: 3rem 0;
  }

  .process_step-number {
    font-size: 2.5rem;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .fs-styleguide_row {
    flex-wrap: wrap;
  }

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

  .hide-mobile-portrait {
    display: none;
  }

  .hero_heading {
    font-size: 2.5rem;
  }

  .hero_stats {
    flex-flow: row;
    width: 80%;
    border-radius: 1.25rem 0 1.25rem 1.25rem;
  }

  .hero_stats .grid_col-3 {
    grid-template-columns: 1fr;
  }

  .grid_col-3 {
    grid-template-columns: 1fr;
  }

  .container {
    max-width: none;
  }

  .footer-wrapper-two {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .footer-block-two {
    margin-top: 40px;
  }

  .footer-bottom {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .footer-social-block-two {
    margin-top: 20px;
  }
}

#w-node-f63cbc6a-01b0-c56e-95d4-065080c06eda-c65cbeb3 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-d5b851fd-b2da-adb9-1416-515488c4ff89-c65cbeb3 {
  align-self: center;
}

#w-node-b224ec27-30fa-be84-48bf-7ed471542af3-c65cbeb6 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_32eadc24-e391-a089-abe0-fb5b6627ca17-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627ca1c-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627ca21-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627ca26-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627ca2c-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627ca32-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627ca38-c65cbeb6 {
  justify-self: start;
}

#w-node-_5d224905-8a1e-1460-7532-d38cb7ec37c1-c65cbeb6, #w-node-_40538c8c-870b-b365-34c4-2a06f0f8567d-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cb45-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cb5e-c65cbeb6 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_32eadc24-e391-a089-abe0-fb5b6627cb61-c65cbeb6 {
  justify-self: start;
}

#w-node-_32eadc24-e391-a089-abe0-fb5b6627cb63-c65cbeb6 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_32eadc24-e391-a089-abe0-fb5b6627cb66-c65cbeb6 {
  justify-self: start;
}

#w-node-_32eadc24-e391-a089-abe0-fb5b6627cbb8-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cbc2-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cbc3-c65cbeb6 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_32eadc24-e391-a089-abe0-fb5b6627cc31-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cc36-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cc3b-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cc40-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cc45-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cc4a-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cc54-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cc59-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cc5e-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cc63-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cc68-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cc6d-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cc72-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cc77-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cc7c-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cc81-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cc86-c65cbeb6 {
  justify-self: start;
}

#w-node-_32eadc24-e391-a089-abe0-fb5b6627cc8a-c65cbeb6 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_32eadc24-e391-a089-abe0-fb5b6627cc8b-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cc90-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cc95-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cc9a-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627ccaf-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627ccb4-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627ccb9-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627ccbe-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627ccc3-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627ccc8-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627ccd2-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627ccd7-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627ccdc-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cce1-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cce6-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cceb-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627ccf0-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627ccf5-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627ccfa-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627ccff-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cd04-c65cbeb6 {
  justify-self: start;
}

#w-node-_32eadc24-e391-a089-abe0-fb5b6627cd08-c65cbeb6 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_32eadc24-e391-a089-abe0-fb5b6627cd09-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cd0e-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cd13-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cd18-c65cbeb6, #w-node-_30684373-af34-3818-02a4-e58b3ffef3e5-c65cbeb6, #w-node-_30684373-af34-3818-02a4-e58b3ffef3ea-c65cbeb6, #w-node-_30684373-af34-3818-02a4-e58b3ffef3ef-c65cbeb6, #w-node-_30684373-af34-3818-02a4-e58b3ffef3f4-c65cbeb6, #w-node-_30684373-af34-3818-02a4-e58b3ffef3f9-c65cbeb6, #w-node-_30684373-af34-3818-02a4-e58b3ffef3fe-c65cbeb6, #w-node-_30684373-af34-3818-02a4-e58b3ffef403-c65cbeb6, #w-node-_30684373-af34-3818-02a4-e58b3ffef408-c65cbeb6, #w-node-_30684373-af34-3818-02a4-e58b3ffef40d-c65cbeb6, #w-node-_30684373-af34-3818-02a4-e58b3ffef412-c65cbeb6 {
  justify-self: start;
}

#w-node-_30684373-af34-3818-02a4-e58b3ffef416-c65cbeb6 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_30684373-af34-3818-02a4-e58b3ffef417-c65cbeb6 {
  justify-self: start;
}

#w-node-_30684373-af34-3818-02a4-e58b3ffef41a-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cd6b-c65cbeb6, #w-node-_32eadc24-e391-a089-abe0-fb5b6627cd98-c65cbeb6 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_32eadc24-e391-a089-abe0-fb5b6627cdc7-c65cbeb6 {
  justify-self: start;
}


