@font-face {
  font-family: Outfit Variablefont Wght;
  src: url('../fonts/Outfit-VariableFont_wght.ttf') format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Outfit;
  src: url('../fonts/Outfit-Bold.ttf') format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Outfit;
  src: url('../fonts/Outfit-ExtraBold.ttf') format("truetype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

:root {
  --gold: #cea42c;
  --almost-white: #fdfdfd;
  --super-dark: #091d1d;
  --darkblue: #1b3233;
  --walsh--black: #2c2c2c;
  --walsh--walsh-dark-green: #204f58;
  --border-radius: 10px;
  --font-family: "Outfit Variablefont Wght", Verdana, sans-serif;
  --white: white;
  --black: #000;
  --waves-library--dark-elevation: #ede0d8;
  --walsh--walsh-light-green: #c2ecd5;
}

.w-layout-grid {
  grid-row-gap: 16px;
  grid-column-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

body {
  color: #333;
  font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
  font-size: 14px;
  line-height: 20px;
}

.menga-menu-carrot {
  z-index: -1;
  background-color: #fff;
  border-radius: 1px;
  width: 16px;
  height: 16px;
  position: absolute;
  top: -8px;
  transform: rotate(45deg);
  box-shadow: 0 0 0 10px #fff;
}

.menga-menu-carrot.no-shadow {
  box-shadow: none;
}

.outline-wrap {
  z-index: -1;
  opacity: .2;
  border-radius: 5px;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
  top: 0;
  box-shadow: 0 0 0 10px #fff;
}

.nav-button {
  background-color: #091d1dbf;
  justify-content: space-between;
  padding: 12px 24px;
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 15px;
  font-weight: 500;
}

.nav-button:hover {
  color: var(--gold);
}

.nav-mid {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  justify-content: center;
  align-items: center;
  display: flex;
}

.popup-bg {
  background-color: #091d1deb;
  position: fixed;
  inset: 0%;
}

.nav-contain {
  justify-content: space-between;
  align-items: center;
  width: 1300px;
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  position: relative;
}

.nav-brand {
  z-index: 2;
  position: absolute;
}

.nav-dropdown {
  margin-left: 0;
  margin-right: 0;
}

.nav-dropdown.login-mobile {
  display: none;
}

.popup-content {
  color: #1b3233;
  background-color: #fff;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  width: 875px;
  max-width: 90%;
  margin: auto;
  padding: 51px;
  display: flex;
  position: relative;
}

.megamenu-program-h {
  color: #1b3233;
  margin-top: 5px;
  font-size: 18px;
  font-weight: 600;
  line-height: 145%;
}

.mega-menu-link {
  border-radius: 2px;
  flex-direction: column;
  align-items: flex-start;
  width: 205px;
  padding: 10px 16px;
  text-decoration: none;
  transition: all .2s;
  display: flex;
}

.mega-menu-link:hover {
  color: #cea42c;
  background-color: #f0f0f0;
}

.header {
  z-index: 99;
  background-color: #ddd0;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 100vw;
  height: 100px;
  display: flex;
  position: fixed;
}

.nav-item {
  color: #fdfdfd;
  margin-left: 0;
  margin-right: 0;
  font-size: 15px;
  text-decoration: none;
  transition: all .2s;
}

.nav-item:hover, .nav-item.w--current, .nav-item.w--open {
  color: #cea42c;
}

.nav-item.norightpadding {
  grid-column-gap: 5px;
  grid-row-gap: 5px;
  background-color: var(--gold);
  padding-right: 20px;
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  display: flex;
}

.popup-book-img {
  width: 250px;
}

.nav-bg {
  background-color: #091d1d;
  border-bottom: 1px solid #ffffff14;
  position: absolute;
  inset: 0%;
}

.nav-right {
  grid-column-gap: 5px;
  grid-row-gap: 5px;
  justify-content: flex-end;
  align-items: center;
  display: flex;
  position: absolute;
  right: 0;
}

.nav-menu {
  justify-content: center;
  align-items: center;
  width: 100%;
  font-size: 15px;
  display: flex;
}

.popup-code {
  display: none;
}

.megamenu-eyebrow {
  font-size: 13px;
  font-weight: 600;
  line-height: 120%;
}

.popup {
  z-index: 999999;
  justify-content: center;
  align-items: center;
  max-height: 100vh;
  padding-top: 45px;
  padding-bottom: 45px;
  display: none;
  position: fixed;
  inset: 0%;
  overflow: auto;
}

.pu-content-content {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.popup-grid {
  grid-column-gap: 60px;
  grid-row-gap: 60px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.popup-close {
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  display: flex;
  position: absolute;
  top: 20px;
  right: 20px;
}

.hamburger-icon {
  z-index: 9;
}

.nav-mega.w--open {
  background-color: #fff;
  border-radius: 5px;
  flex-direction: column;
  align-items: center;
  padding: 10px;
  display: flex;
  top: 120%;
  left: 50%;
  transform: translate(-50%);
}

.button {
  background-color: var(--gold);
  color: var(--almost-white);
  -webkit-text-stroke-color: var(--almost-white);
  -webkit-text-fill-color: inherit;
  vertical-align: middle;
  background-clip: border-box;
  border: 6px #000;
  border-radius: 2px;
  flex: 0 auto;
  align-self: auto;
  font-family: Outfit, Verdana, sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 175%;
  transition: color .2s;
  display: flex;
}

.button:hover {
  color: var(--super-dark);
}

.container {
  float: right;
  clear: none;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  flex-flow: row;
  justify-content: flex-start;
  align-items: stretch;
  min-width: 500px;
  margin-left: auto;
  display: flex;
  position: static;
}

.text-block {
  background-color: var(--gold);
  -webkit-text-fill-color: inherit;
  mix-blend-mode: normal;
  background-clip: padding-box;
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 18px;
}

.text-block:hover, .text-block:active {
  color: var(--darkblue);
}

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

.text-block-2 {
  color: var(--almost-white);
  font-family: Outfit, Verdana, sans-serif;
  font-size: 22px;
}

.home-hero-wrap {
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  display: flex;
}

.logo-carousel-track {
  z-index: 1;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  flex-flow: row;
  flex: none;
  justify-content: flex-start;
  align-items: center;
  max-width: none;
  display: flex;
  position: relative;
}

.home-hero-gradients {
  z-index: 1;
  background-image: linear-gradient(94deg, #091d1d, #091d1d80), linear-gradient(#091d1d00 58%, #091d1d);
  position: absolute;
  inset: 0%;
}

.contain {
  z-index: 1;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  width: 1300px;
  max-width: none;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 18px;
  line-height: 175%;
  display: flex;
  position: relative;
}

.carousel-logo {
  z-index: 1;
  opacity: .25;
  object-fit: contain;
  flex: none;
  justify-content: center;
  align-items: center;
  margin-right: 75px;
  transition: opacity .4s;
  display: flex;
  position: relative;
}

.carousel-logo:hover {
  opacity: .75;
}

.logo-carousel-track-track {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  align-items: center;
  max-width: 100%;
  display: flex;
  overflow: hidden;
}

.pixel {
  width: 1px;
  height: 1px;
}

.home-hero-content {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  flex-direction: column;
  flex: 1;
  justify-content: center;
  align-items: flex-start;
  max-width: 550px;
  height: 100%;
  padding-top: 350px;
  padding-bottom: 200px;
  padding-left: 20px;
  display: flex;
}

.logo-carousel-logo {
  object-fit: contain;
  flex: 0 auto;
  width: 100%;
  max-width: 170px;
  height: 100%;
  max-height: 60px;
  position: relative;
}

.home-hero-sec {
  color: #fdfdfd;
  background-color: #a76d6d00;
  background-image: linear-gradient(112deg, #091d1d 22%, #091d1d00), linear-gradient(#091d1d00 58%, #1b3233);
  min-height: 0;
  display: block;
  position: relative;
}

.homehero-video {
  z-index: 0;
  opacity: 1;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
}

.outline {
  margin-top: 0;
}

.logo-carousel {
  z-index: 1;
  align-items: flex-start;
  width: 100%;
  display: flex;
  position: relative;
}

.heading {
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 58px;
  font-weight: 600;
  line-height: 115%;
}

.bold-text {
  line-height: 115px;
}

.paragraph {
  margin-bottom: 5px;
  padding-bottom: 0;
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 18px;
  line-height: 175%;
}

.paragraph-2 {
  margin-top: 0;
  margin-bottom: -10px;
  padding-top: 0;
  display: block;
}

.button-cta {
  background-color: var(--gold);
  color: var(--almost-white);
  text-align: center;
  -webkit-text-stroke-color: var(--almost-white);
  -webkit-text-fill-color: inherit;
  vertical-align: middle;
  background-clip: border-box;
  border: 6px #000;
  border-radius: 2px;
  flex-flow: column;
  flex: 0 auto;
  justify-content: center;
  align-self: auto;
  align-items: center;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Outfit, Verdana, sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 175%;
  text-decoration: none;
  transition: color .2s;
  display: inline-block;
  position: static;
  inset: 0% 0% auto;
}

.button-cta:hover {
  color: var(--super-dark);
}

.lb-play {
  z-index: 3;
  opacity: 1;
  justify-content: center;
  align-items: center;
  width: 90px;
  height: 90px;
  display: flex;
  position: relative;
}

.secondary-intro-wrap {
  grid-column-gap: 30px;
  grid-row-gap: 30px;
  text-align: center;
  background-color: #fdfdfd;
  border-radius: 10px;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 60px;
  padding-bottom: 60px;
  display: flex;
}

.middle {
  grid-column-gap: 48px;
  grid-row-gap: 48px;
  text-align: center;
  flex-flow: column;
  grid-template: ". Area"
  / 1.25fr 1.25fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  min-width: 0;
  padding: 0;
  display: flex;
}

.contain-2 {
  z-index: 1;
  flex-flow: column;
  width: 1300px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.maxwidth800 {
  text-align: left;
  max-width: 800px;
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 18px;
}

.secondary-intro-sec {
  margin-left: 20px;
  margin-right: 20px;
}

.ss-lb-link {
  aspect-ratio: 16 / 9;
  flex-flow: row;
  justify-content: center;
  align-items: center;
  width: 71%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  position: relative;
  overflow: hidden;
}

.cover-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
}

.spacer-25px {
  width: 25px;
  height: 25px;
}

.div-block-2 {
  background-color: var(--super-dark);
  justify-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
  padding-top: 60px;
  padding-bottom: 60px;
  display: block;
  position: static;
  top: 121px;
}

.heading-2 {
  text-align: center;
  margin-top: 10px;
  margin-left: auto;
  margin-right: auto;
  padding: 10px 0 0;
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 32px;
  font-weight: 700;
  display: block;
}

.heading-3 {
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 20px;
  font-weight: 700;
}

.walsh-container {
  z-index: 2;
  flex: none;
  width: 100%;
  max-width: 1480px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
}

.walsh-main-grid {
  grid-column-gap: 2.2em;
  grid-row-gap: 2.2em;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-flow: column dense;
  align-items: start;
  width: 100%;
  position: relative;
}

.walsh-image-logo {
  object-fit: contain;
  width: 100%;
  max-width: 132px;
  max-height: 24px;
}

.walsh-heading-regular {
  color: var(--walsh--black);
  margin-top: 0;
  margin-bottom: 0;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  font-size: 1.8em;
  font-weight: 700;
  line-height: 1.2;
}

.walsh-main-paragraph {
  color: #0009;
  letter-spacing: 0;
  font-family: Merriweather, serif;
  font-size: 1.45em;
  line-height: 1.5;
}

.walsh-heading-small {
  margin-top: 0;
  margin-bottom: 0;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  font-size: 1.25em;
  font-weight: 700;
  line-height: 1.25;
}

.walsh-cover-image {
  object-fit: cover;
  flex: 1;
  width: 100%;
  height: 100%;
}

.walsh-content-wrapper-center {
  grid-row-gap: 1.5em;
  text-align: center;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  display: flex;
  position: relative;
}

.walsh-circle-image {
  background-color: #dfdfdf;
  border-radius: 200px;
  width: 60px;
  height: 60px;
  overflow: hidden;
}

.walsh-text-small-left {
  color: #00000080;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  font-size: 14px;
  line-height: 1.5;
}

.walsh-profile-v-wrapper {
  grid-column-gap: 20px;
  grid-row-gap: 25px;
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.walsh-info-wrap-center {
  text-align: center;
}

.walsh-rounded-box {
  grid-row-gap: 1.2em;
  background-color: #fff;
  border-radius: 15px;
  flex-direction: column;
  padding: 40px;
  display: flex;
}

.walsh-ratings-wrapper {
  align-items: center;
  padding-top: 7px;
  padding-bottom: 7px;
  display: flex;
}

.walsh-image-ratings {
  max-height: 16px;
  margin-right: 5px;
}

.walsh-quote-image {
  opacity: .26;
  height: 56px;
}

.walsh-quote-inner-center {
  grid-row-gap: 1.25em;
  flex-direction: column;
  align-items: center;
  display: flex;
}

.waves---subtitle {
  font-size: 24px;
  line-height: 40px;
}

.waves---main-container {
  text-align: center;
  max-width: 1352px;
  padding: 40px;
  display: block;
}

.waves---section-medium {
  margin-right: auto;
  padding-top: 0;
  padding-bottom: 0;
}

.waves---heading-2-no-margins {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 48px;
  line-height: 130%;
}

.waves---heading-3-no-margins {
  color: var(--almost-white);
  text-align: center;
  margin: 0 auto;
  padding-left: 0;
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 24px;
  font-weight: 500;
  line-height: 120%;
}

.waves---paragraph-big {
  color: var(--almost-white);
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 20px;
  font-weight: 200;
  line-height: 130%;
  transition: all .2s;
}

.waves---center-heading {
  grid-row-gap: 16px;
  text-align: center;
  flex-direction: column;
  align-items: center;
  display: flex;
}

.waves-grid-testimonials-3 {
  grid-column-gap: 32px;
  grid-row-gap: 0px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  margin-top: 20px;
  padding-left: 200px;
  padding-right: 200px;
}

.waves-tile-testimonial-3 {
  grid-row-gap: 32px;
  background-color: var(--darkblue);
  border-radius: 12px;
  flex-direction: column;
  align-items: flex-start;
  padding: 32px;
  transition: background-color .25s ease-out;
  display: flex;
}

.waves-tile-testimonial-3:hover {
  background-color: var(--walsh--walsh-dark-green);
}

.waves-name-wrap-testimonial-3 {
  grid-row-gap: 8px;
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  max-width: 29%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.grid {
  grid-template-columns: .5fr .5fr;
  padding-top: 43px;
}

.grid-2 {
  grid-column-gap: 32px;
  grid-row-gap: 32px;
  grid-template-rows: auto;
  padding-top: 32px;
  padding-left: 0;
  padding-right: 0;
}

.button-cta-2 {
  background-color: var(--gold);
  color: var(--almost-white);
  text-align: center;
  -webkit-text-stroke-color: var(--almost-white);
  -webkit-text-fill-color: inherit;
  vertical-align: middle;
  background-clip: border-box;
  border: 6px #000;
  border-radius: 2px;
  flex: 0 auto;
  align-self: auto;
  margin: 33px;
  font-family: Outfit, Verdana, sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 175%;
  transition: color .2s;
  display: block;
  position: static;
  inset: auto auto 0% 0%;
}

.button-cta-2:hover {
  color: var(--super-dark);
}

.button-2 {
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.button-3 {
  vertical-align: middle;
  line-height: 175%;
}

.heading-2-copy {
  color: #fff;
  text-align: center;
  text-align: center;
  width: 70%;
  margin-top: 10px;
  margin-left: auto;
  margin-right: auto;
  padding: 10px 0;
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 32px;
  font-style: normal;
  font-weight: 300;
  line-height: 36px;
  display: block;
}

.h1 {
  color: var(--almost-white);
  margin-top: 0;
  margin-bottom: 0;
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 2.34em;
}

.video-gradient {
  z-index: 0;
  filter: blur(25px);
  width: 90%;
  height: 90%;
  margin: auto;
  padding-left: 8px;
  position: absolute;
  inset: 0%;
}

.section.bg-gainsboro {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  background-color: var(--super-dark);
  flex-flow: column;
  justify-content: center;
  align-items: center;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 60px;
  padding-bottom: 60px;
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  display: flex;
}

.h_tab-1_col {
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 30%;
  height: 34em;
  margin-left: .5em;
  margin-right: .5em;
  display: flex;
  position: relative;
  overflow: hidden;
}

.h_tab-1_col.is--3 {
  bottom: -20%;
}

.h_tab-1_col.is--1st {
  justify-content: flex-end;
  top: -20%;
}

.main-container {
  background-color: var(--darkblue);
  -webkit-text-fill-color: inherit;
  background-clip: border-box;
  border-radius: 12px;
  width: 1300px;
  max-width: 100em;
  margin-left: auto;
  margin-right: auto;
  padding: 40px 6em;
  font-weight: 400;
  transition: opacity .2s;
}

.main-container.waves-tile-testimonial-4-copy {
  width: auto;
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

.home-tab-wrapper {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
  overflow: hidden;
}

.home-tab-wrapper.iss-graphs {
  justify-content: center;
  align-items: flex-end;
}

.home-tab-wrapper.iss-video {
  justify-content: flex-end;
  align-items: center;
}

.graphs-img {
  z-index: 1;
  object-fit: cover;
  object-position: 50% 0%;
  border-radius: 60px 60px 0 0;
  width: 93%;
  height: 97%;
  position: relative;
}

.video-wrapper {
  z-index: 1;
  justify-content: center;
  align-items: center;
  width: 95%;
  height: 75%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  position: relative;
  overflow: visible;
}

.graphs-frame {
  z-index: 2;
  background-image: url('../images/628d2c8c943e5c359cb024de_iPhone-mockup.png');
  background-position: 50% 0;
  background-repeat: no-repeat;
  background-size: 100%;
  border-radius: 40px 40px 0 0;
  width: 100%;
  height: 100%;
  position: absolute;
}

.btn {
  color: #2a1468;
  background-color: #fff;
  border: 1px solid #0000;
  border-radius: 9px;
  justify-content: center;
  align-items: center;
  min-width: 7.81em;
  padding: .5em 2.08em;
  font-size: 1.04em;
  font-weight: 700;
  display: inline-block;
  box-shadow: 0 3px 5px -2px #8966ea80;
}

.btn.secondary {
  color: #2a1468;
  background-color: #0000;
  border: 0 #0000;
  border-bottom: 2px solid #0000;
  border-radius: 0;
  min-width: 0;
  padding: .4em 0;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  overflow: hidden;
  box-shadow: inset 0 -2px #fbac4b;
}

.btn.secondary.animate-line {
  margin-top: 24px;
}

.sol_tab-text {
  color: var(--almost-white);
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: .8em;
}

.graphs-wrapper {
  z-index: 1;
  justify-content: center;
  align-items: flex-end;
  width: 65%;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  position: relative;
  overflow: visible;
}

.graphs-gradient {
  z-index: 0;
  filter: blur(25px);
  width: 65%;
  height: 90%;
  margin: auto;
  padding-left: 8px;
  position: absolute;
  inset: 0%;
}

.solution-tab {
  justify-content: flex-start;
  align-items: stretch;
  padding-bottom: 0;
  display: flex;
}

.grid-item {
  width: 100%;
}

.grid-item.all-in-top {
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  max-width: 85%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.grid-item.all-in-bottom {
  margin-top: auto;
  margin-bottom: auto;
  padding-top: 20px;
}

.overlay-phone {
  z-index: 4;
  background-image: linear-gradient(#fcfcfc 16%, #0000);
  width: 30%;
  height: 9.9em;
  position: absolute;
  inset: -1% auto auto 3%;
}

.overlay-phone.is--graphs {
  opacity: 1;
  background-image: linear-gradient(to top, #fcfcfc 2%, #0000 40%);
  width: 65%;
  height: 65%;
  margin-left: auto;
  margin-right: auto;
  top: auto;
  left: auto;
}

.overlay-phone.is--2nd {
  inset: auto 3% -1% auto;
  transform: rotate(180deg);
}

.overlay-phone.is--video {
  opacity: .5;
  background-image: linear-gradient(to left, #fcfcfc 11%, #0000);
  width: 65%;
  height: 75%;
  margin-left: auto;
  margin-right: auto;
  top: auto;
  left: auto;
}

.sol-tab-link {
  color: #2a1468;
  background-color: #0000;
  padding: .26em 0;
  font-size: 2.6em;
  font-weight: 100;
  line-height: 1.2;
}

.sol-tab-link.w--current {
  background-color: #0000;
  font-weight: 500;
  box-shadow: inset 0 -2px #fbac4b;
}

.sol-tab-link.animate-line {
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
}

.sol-tab-link.animate-line.w--current {
  color: var(--gold);
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-weight: 300;
  transition-property: none;
}

.divider {
  z-index: 2;
  background-color: #fcfcfc;
  flex: none;
  width: 100%;
  height: 0;
  position: relative;
}

.divider.is--1st {
  height: 0;
}

.sol-tab_pane {
  width: 100%;
  height: 100%;
}

.tabs-cta {
  z-index: 2;
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  align-items: center;
  padding-top: 0;
  display: flex;
  position: relative;
}

.tabs-cta.video-cta {
  margin-top: -2em;
}

.tabs-cta.graphs-cta {
  text-align: center;
  margin-top: 1em;
}

.fixed-img {
  mix-blend-mode: darken;
  object-fit: cover;
  object-position: 50% 0%;
  border-radius: 18px;
  flex: none;
  width: 100%;
  height: 200%;
}

.fixed-img.is--33 {
  object-position: 50% 0%;
  margin-top: auto;
  margin-bottom: auto;
  position: relative;
}

.fixed-img.is--1st {
  object-position: 50% 10%;
  margin-top: auto;
  margin-bottom: auto;
  position: relative;
}

.fixed-img.is--22 {
  object-position: 50% 25%;
  margin-top: auto;
  margin-bottom: auto;
  position: relative;
}

.sol-tabs_menu {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 32%;
  margin-bottom: 40px;
  margin-right: 20px;
  display: flex;
}

.h_tab-1_col-inner {
  z-index: 2;
  background-image: none;
  background-position: 50%;
  background-size: contain;
  width: 100%;
  height: 100%;
  position: relative;
}

.h_tab-1_col-inner.is--img {
  z-index: 1;
  background-image: linear-gradient(#fcfcfc, #fcfcfc 20%, #0000 50%, #fcfcfc 80%, #fcfcfc);
  border-radius: 0;
  flex-direction: column;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 88%;
  height: 100%;
  max-height: 34em;
  margin: auto;
  padding-top: .78em;
  padding-bottom: .7em;
  display: flex;
  position: absolute;
  inset: auto;
  overflow: hidden;
}

.h_tab-1_col-inner.is--cover {
  z-index: 3;
  background-image: url('../images/628d2c8c943e5c359cb024de_iPhone-mockup.png');
  background-repeat: no-repeat;
  background-size: contain;
  flex: none;
  display: flex;
  position: relative;
  bottom: 0%;
  left: 0%;
  right: 0%;
}

.video {
  z-index: 1;
  border-radius: 55px;
  width: 98%;
  height: 90%;
  position: relative;
}

.video-frame {
  z-index: 2;
  background-image: url('../images/628d2c1f6e76bc43feef529d_iPhone-mockup.png');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: 0;
  width: 100%;
  height: 100%;
  position: absolute;
}

.grid-3 {
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  display: flex;
}

.grid-3._2-col {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  flex-flow: wrap;
  height: auto;
}

.sol-tabs_content {
  width: 65%;
}

.paragraph-3 {
  color: var(--almost-white);
  margin-top: 20px;
  margin-bottom: 20px;
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 18px;
  font-weight: 200;
}

.video-2 {
  opacity: 1;
  border-radius: 0;
  margin-top: 0;
  margin-bottom: 0;
}

.div-block-3 {
  grid-column-gap: 25px;
  grid-row-gap: 25px;
  flex-flow: row;
  justify-content: center;
  align-items: center;
  padding-top: 0;
  display: flex;
}

.image {
  max-width: 20%;
}

.contain-3 {
  z-index: 1;
  flex-flow: column;
  width: auto;
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.ifq-if-grid {
  grid-column-gap: 80px;
  grid-row-gap: 80px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  place-items: center start;
  display: grid;
}

.ifq-if-content {
  grid-column-gap: 15px;
  grid-row-gap: 15px;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  display: flex;
}

.maxwidth750 {
  max-width: 750px;
  color: var(--almost-white);
  font-size: 2.34em;
}

.ifq-grid-image {
  object-fit: cover;
  border-radius: 6px;
  width: 100%;
  max-width: 100%;
  height: 100%;
}

.paragraph-4 {
  color: var(--almost-white);
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 18px;
}

.div-block-4 {
  background-color: var(--super-dark);
}

.div-block-5 {
  background-color: var(--super-dark);
  text-align: center;
  flex: 0 auto;
  width: 1300px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 40px;
  padding-right: 40px;
}

.waves-tile-testimonial-3-copy {
  grid-column-gap: 16px;
  grid-row-gap: 32px;
  background-color: var(--darkblue);
  border-radius: 12px;
  flex-direction: column;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  align-items: center;
  padding: 32px;
  transition: background-color .25s ease-out;
  display: flex;
}

.waves-tile-testimonial-3-copy:hover {
  background-color: var(--walsh--walsh-dark-green);
}

.waves-grid-testimonials-3-copy {
  grid-column-gap: 32px;
  grid-row-gap: 0px;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  margin-top: 20px;
  padding-left: 200px;
  padding-right: 200px;
}

.waves---main-container-2 {
  text-align: center;
  max-width: 1300px;
  padding-left: 0;
  padding-right: 0;
  display: block;
}

.waves---heading-3-no-margins-2 {
  color: #fdfdfd;
  text-align: center;
  margin: 0 auto;
  padding-left: 0;
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 24px;
  font-weight: 500;
  line-height: 120%;
}

.div-block-6 {
  background-color: #091d1d;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 0;
  display: flex;
  position: static;
  top: 121px;
}

.button-cta-3 {
  color: #fdfdfd;
  text-align: center;
  -webkit-text-stroke-color: #fdfdfd;
  -webkit-text-fill-color: inherit;
  vertical-align: middle;
  background-color: #cea42c;
  background-clip: border-box;
  border: 6px #000;
  border-radius: 2px;
  flex-flow: column;
  flex: 0 auto;
  justify-content: center;
  align-self: auto;
  align-items: center;
  margin-top: 20px;
  margin-bottom: 10px;
  font-family: Outfit, Verdana, sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 175%;
  text-decoration: none;
  transition: color .2s;
  display: inline-block;
  position: static;
  inset: 0% 0% auto;
}

.button-cta-3:hover {
  color: #091d1d;
}

.heading-2-copy-2 {
  color: #fff;
  text-align: center;
  margin-top: 20px;
  margin-bottom: 20px;
  padding: 0;
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 32px;
  display: block;
}

.waves-grid-testimonials-4 {
  grid-column-gap: 32px;
  grid-row-gap: 0px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  margin-top: 64px;
  padding-left: 200px;
  padding-right: 200px;
}

.waves---paragraph-big-2 {
  color: #fdfdfd;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 20px;
  font-weight: 200;
  line-height: 130%;
  transition: all .2s;
}

.waves-tile-testimonial-4 {
  grid-row-gap: 32px;
  background-color: #1b3233;
  border-radius: 12px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 32px;
  transition: background-color .25s ease-out;
  display: flex;
}

.waves-tile-testimonial-4:hover {
  background-color: #204f58;
}

.waves-name-wrap-testimonial-4 {
  grid-row-gap: 8px;
  text-align: center;
  flex-direction: column;
  align-items: flex-start;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.waves-grid-testimonials-4-copy {
  grid-column-gap: 32px;
  grid-row-gap: 0px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  margin-top: 20px;
}

.waves---paragraph-big-2-copy {
  color: #fdfdfd;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 20px;
  font-weight: 200;
  line-height: 130%;
  transition: all .2s;
}

.waves-name-wrap-testimonial-4-copy {
  grid-row-gap: 8px;
  text-align: center;
  flex-direction: column;
  align-items: flex-start;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.air-text-2 {
  color: var(--almost-white);
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.8em;
}

.air-heading-1 {
  background-color: var(--darkblue);
  width: 723px;
  color: var(--almost-white);
  margin-top: 0;
  margin-bottom: 0;
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 32px;
  font-weight: 500;
  line-height: 45px;
}

.air-wrap-2 {
  grid-column-gap: 3em;
  grid-row-gap: 3em;
  flex-direction: column;
  flex: 0 60%;
  justify-content: center;
  align-items: center;
  padding-left: 50px;
  padding-right: 50px;
  display: flex;
}

.air-pic-1 {
  width: 196%;
  max-width: 100%;
}

.air-container-1 {
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 85em;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.air-section-1 {
  background-color: var(--darkblue);
  border-radius: 12px;
  margin-top: 20px;
  padding: 5px;
  font-size: 1vw;
}

.air-wrap-1 {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  flex-flow: row;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  align-items: center;
  display: flex;
}

.air-wrap-4 {
  z-index: 5;
  width: 99.9999%;
}

.air-text-1 {
  color: var(--almost-white);
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 24px;
  line-height: var(--border-radius);
  font-weight: 700;
}

.air-wrap-3 {
  flex: 1;
  padding-left: 0;
}

.air-wrap-5 {
  grid-column-gap: .3em;
  grid-row-gap: .3em;
  flex-direction: column;
  display: flex;
}

.waves-tile-testimonial-4-copy {
  grid-row-gap: 32px;
  background-color: #1b3233;
  border-radius: 12px;
  flex-direction: column;
  align-items: flex-start;
  padding: 32px;
  transition: background-color .25s ease-out;
  display: flex;
}

.waves-tile-testimonial-4-copy:hover {
  background-color: #204f58;
}

.air-text-2-2 {
  color: var(--almost-white);
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 1.5em;
  font-weight: 400;
  line-height: 1.3em;
}

.air-heading-1-2 {
  color: var(--almost-white);
  margin-top: 0;
  margin-bottom: 0;
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.3;
}

.air-section-1-2 {
  background-color: #eee;
  margin-top: 10em;
  padding: 5em;
  font-size: 1vw;
}

.air-text-1-2 {
  color: var(--almost-white);
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 1.5em;
  font-weight: 600;
  line-height: 1.3em;
}

.cta-delivery {
  color: #fff;
  text-align: center;
  margin-top: 10px;
  padding: 0;
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 24px;
  font-weight: 300;
  display: block;
}

.italic-text {
  font-size: 18px;
}

.mask-horizontal {
  border-radius: 12px;
  overflow: visible;
}

.right-arrow {
  background-color: var(--gold);
  border-radius: 100px;
  width: 45px;
  height: 45px;
  font-size: 14px;
  transition: all .2s;
  top: 17px;
  right: -17px;
}

.right-arrow:hover {
  transform: translate(2px);
}

.slider-horizontal {
  background-color: #0000;
  border-radius: 12px;
  width: 100%;
  height: 100%;
}

.horizontal-content-block {
  background-color: var(--almost-white);
  border-top-right-radius: 12px;
  border-bottom-right-radius: 12px;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 60%;
  padding: 20px 75px;
  display: flex;
}

.testimonial-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.slide-nav {
  background-color: #fff;
  border-radius: 500px;
  max-width: 150px;
  display: none;
  top: 575.901px;
  box-shadow: 1px 1px 3px #0000000d;
}

.author-job {
  color: var(--darkblue);
}

.column-wrap {
  border-radius: 12px;
  display: flex;
}

.container-2 {
  border-radius: 12px;
  width: 100%;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
}

.horizontal-fixed-height {
  min-height: 50px;
}

.testimonial-card {
  border-radius: 12px;
  height: 100%;
  display: flex;
  box-shadow: 17px 88px 60px -100px #4f5e782e, 11px 0 20px -9px #4f5e781a;
}

.testimonial-section {
  background-color: var(--super-dark);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: auto;
  padding: 60px 3%;
  display: flex;
  overflow: hidden;
}

.author-block {
  align-items: center;
  margin-top: 25px;
  display: flex;
}

.horizontal-quote-h4 {
  color: #151c34;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
}

.testimonial-image-wrap {
  border-top-left-radius: 12px;
  border-bottom-left-radius: 12px;
  justify-content: center;
  align-items: center;
  width: 40%;
  height: 350px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.left-arrow {
  background-color: var(--gold);
  border-radius: 100px;
  justify-content: center;
  align-items: center;
  width: 45px;
  height: 45px;
  padding: 10px;
  font-size: 14px;
  transition: all .2s;
  display: flex;
  top: 17px;
  left: -17px;
}

.left-arrow:hover {
  transform: translate(-2px);
}

.div-block-7 {
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
}

.footer-bottombar {
  text-align: center;
  justify-content: center;
  align-items: center;
  padding-top: 24px;
  padding-bottom: 24px;
  display: flex;
}

.footer-right {
  grid-column-gap: 15px;
  grid-row-gap: 15px;
  justify-content: flex-end;
  align-items: center;
  display: flex;
}

.footer-wrap {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  min-height: 100px;
  display: flex;
}

.unlinkify {
  color: #fdfdfd;
  text-decoration: none;
}

.social-link-svg {
  justify-content: center;
  align-items: center;
  display: flex;
}

.linknostyle {
  color: #fdfdfd;
  text-decoration: none;
}

.social-link-block {
  color: #fdfdfd;
}

.social-link-block:hover {
  color: #cea42c;
}

.footer-brand {
  width: 200px;
  position: relative;
}

.footercredits {
  opacity: .4;
  text-align: left;
  max-width: 90%;
  font-size: 13px;
  line-height: 150%;
}

.footer-mid {
  grid-column-gap: 60px;
  grid-row-gap: 60px;
  align-items: center;
  display: flex;
}

.div-block-8 {
  background-color: var(--super-dark);
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
}

.up {
  grid-column-gap: 25px;
  grid-row-gap: 25px;
  text-align: center;
  flex-flow: column;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding-top: 0;
  padding-bottom: 0;
  display: flex;
}

.text-block-3 {
  font-family: Outfit, Verdana, sans-serif;
  font-size: 21px;
}

.text-block-4 {
  font-family: Outfit, Verdana, sans-serif;
  font-size: 18px;
}

.rtb1 {
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 18px;
}

.heading-4 {
  font-size: 32px;
}

.paragraph-5 {
  font-size: 18px;
  font-weight: 400;
}

.image-2 {
  max-width: 80%;
}

.down {
  grid-column-gap: 25px;
  grid-row-gap: 25px;
  text-align: center;
  flex-flow: column;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding-top: 0;
  padding-bottom: 0;
  display: flex;
}

.rtb2 {
  padding-left: 60px;
  padding-right: 60px;
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 18px;
}

.wrapper {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  width: 80%;
  max-width: 1024px;
  font-family: var(--font-family);
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  place-items: start;
  padding-top: 16px;
  padding-bottom: 16px;
  font-weight: 700;
  display: grid;
  position: relative;
}

.ratio-box {
  background-color: #dee8eb;
  border-radius: 8px;
  width: 100%;
  padding-top: 100%;
  position: relative;
  overflow: hidden;
}

.ratio-box._4-3 {
  padding-top: 75%;
}

.ratio-box._3-2 {
  padding-top: 66.66%;
}

.ratio-box._8-5 {
  padding-top: 62.5%;
}

.ratio-box._16-9 {
  padding-top: 56.25%;
}

.ratio-box._21-9 {
  background-color: var(--darkblue);
  color: var(--almost-white);
  padding-top: 42.85%;
}

.content-block {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 16px;
  display: flex;
  position: absolute;
  inset: 0%;
}

.heading-5 {
  font-family: var(--font-family);
  margin-top: 10px;
  font-weight: 400;
}

.heading-6, .heading-7 {
  margin-top: 10px;
  font-weight: 400;
}

.delivery {
  color: #fff;
  text-align: center;
  margin-top: 0;
  margin-bottom: 20px;
  padding: 0;
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 32px;
  line-height: 36px;
  display: block;
}

.testimonials {
  color: #fff;
  text-align: center;
  margin-top: 20px;
  margin-bottom: 0;
  padding: 0;
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 32px;
  line-height: 36px;
  display: block;
}

.quotes {
  color: #fff;
  text-align: center;
  margin-top: 20px;
  margin-bottom: 10px;
  padding: 0;
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 32px;
  font-weight: 300;
  line-height: 36px;
  display: block;
}

.rich-text-block {
  padding-bottom: 10px;
  font-size: 32px;
}

.heading-8 {
  width: auto;
  color: var(--almost-white);
  margin-top: 10px;
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
  font-size: 20px;
  font-weight: 400;
}

.heading-9 {
  color: var(--almost-white);
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
}

.div-block-9 {
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
}

.div-block-10 {
  background-color: var(--super-dark);
  text-align: center;
}

.bridge {
  width: 77%;
  color: var(--almost-white);
  margin-left: auto;
  margin-right: auto;
  font-size: 32px;
  line-height: 36px;
}

.paragraph-6 {
  width: 46%;
  color: var(--almost-white);
  margin-left: auto;
  margin-right: auto;
}

.body {
  background-color: var(--super-dark);
  font-family: Outfit Variablefont Wght, Verdana, sans-serif;
}

.image-3 {
  max-width: 60%;
}

.dropdown {
  display: none;
}

.cover-image-2 {
  aspect-ratio: auto;
  text-align: center;
  object-fit: cover;
  border-radius: 12px;
  width: 100%;
  max-width: 162%;
  height: 100%;
  position: absolute;
}

.spacer-10px {
  width: 10px;
  height: 40px;
}

.button-cta-4 {
  color: #fdfdfd;
  text-align: center;
  -webkit-text-stroke-color: #fdfdfd;
  -webkit-text-fill-color: inherit;
  vertical-align: middle;
  background-color: #cea42c;
  background-clip: border-box;
  border: 6px #000;
  border-radius: 2px;
  flex-flow: column;
  flex: 0 auto;
  justify-content: center;
  align-self: auto;
  align-items: center;
  margin-top: 20px;
  margin-bottom: 10px;
  font-family: Outfit, Verdana, sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 175%;
  text-decoration: none;
  transition: color .2s;
  display: inline-block;
  position: static;
  inset: 0% 0% auto;
}

.button-cta-4:hover {
  color: #091d1d;
}

@media screen and (min-width: 1440px) {
  .button-cta {
    margin-top: 0;
  }

  .div-block-2 {
    padding-bottom: 20px;
  }

  .grid-2 {
    padding-left: 0;
    padding-right: 0;
  }

  .section.bg-gainsboro {
    grid-column-gap: 17px;
    grid-row-gap: 17px;
    text-align: left;
    justify-content: center;
    align-items: center;
    max-width: 1300px;
    padding-top: 40px;
    padding-bottom: 20px;
    text-decoration: none;
    display: flex;
  }

  .contain-3 {
    max-width: 90%;
  }

  .div-block-5 {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    text-align: center;
    flex: 0 auto;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    align-self: auto;
    padding-left: 0;
    padding-right: 0;
    display: block;
  }

  .button-cta-3 {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .heading-2-copy-2 {
    margin-bottom: 0;
  }

  .air-pic-1 {
    max-width: 80%;
  }

  .air-container-1 {
    width: 1300px;
    max-width: 100%;
  }

  .air-section-1 {
    font-size: 14px;
    display: block;
  }

  .air-text-2-2 {
    color: var(--almost-white);
    font-family: Outfit Variablefont Wght, Verdana, sans-serif;
    font-size: 20px;
    line-height: 1.3;
  }

  .air-heading-1-2 {
    outline-offset: 0px;
    color: var(--almost-white);
    outline: 3px #fdfdfd;
    font-family: Outfit Variablefont Wght, Verdana, sans-serif;
    font-weight: 400;
  }

  .air-section-1-2 {
    margin-top: auto;
    font-size: 14px;
  }

  .air-text-1-2 {
    color: var(--almost-white);
    font-family: Outfit Variablefont Wght, Verdana, sans-serif;
    font-size: 24px;
    line-height: 1.3;
  }

  .cta-delivery {
    padding-top: 0;
    font-family: Outfit Variablefont Wght, Verdana, sans-serif;
    font-weight: 300;
  }

  .delivery, .testimonials, .quotes {
    margin-bottom: 0;
  }

  .div-block-11 {
    text-align: left;
    justify-content: center;
    align-items: center;
    max-width: 1300px;
    margin-left: auto;
    margin-right: auto;
    display: block;
  }

  .button-cta-4 {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

@media screen and (max-width: 991px) {
  .menga-menu-carrot.no-shadow, .outline-wrap {
    display: none;
  }

  .nav-mid {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    background-color: #091d1d;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    min-height: 100vh;
    padding: 100px 20px 441px;
  }

  .nav-brand {
    z-index: 99;
  }

  .nav-dropdown {
    width: 100%;
  }

  .nav-dropdown.login-mobile {
    display: block;
  }

  .nav-dropdown.login {
    display: none;
  }

  .megamenu-program-h {
    color: #fdfdfd;
  }

  .mega-menu-link {
    width: 100%;
  }

  .mega-menu-link:hover {
    background-color: #f0f0f000;
  }

  .nav-item {
    width: 100%;
    font-size: 32px;
  }

  .nav-item.footer {
    width: auto;
    font-size: 15px;
  }

  .nav-right {
    grid-column-gap: 20px;
    grid-row-gap: 20px;
  }

  .nav-menu {
    min-height: 100vh;
    position: fixed;
    inset: 0%;
    overflow: auto;
  }

  .hamburger-icon {
    padding-right: 0;
  }

  .hamburger-icon.w--open {
    background-color: #c8c8c800;
  }

  .nav-mega.w--open {
    background-color: #ffffff14;
    align-items: flex-start;
    position: relative;
  }

  .contain {
    width: auto;
    padding-left: 34px;
    padding-right: 34px;
    display: block;
  }

  .carousel-logo {
    margin-right: 50px;
  }

  .logo-carousel-logo {
    max-width: 150px;
    max-height: 50px;
  }

  .home-hero-sec {
    min-height: auto;
  }

  .homehero-video {
    top: 0;
  }

  .secondary-intro-wrap {
    justify-content: center;
    align-items: center;
    padding-left: 6vw;
    padding-right: 6vw;
  }

  .middle {
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
  }

  .contain-2 {
    width: auto;
    max-width: 720px;
    display: block;
  }

  .secondary-intro-sec {
    margin-left: auto;
    margin-right: auto;
    display: block;
  }

  .walsh-container {
    flex: 0 auto;
    width: auto;
  }

  .walsh-main-grid {
    grid-template-columns: 1fr 1fr;
  }

  .walsh-image-logo {
    max-width: 120px;
    height: 100%;
    max-height: 50px;
  }

  .waves---main-container {
    max-width: none;
  }

  .waves---section-medium {
    margin-left: auto;
  }

  .waves-grid-testimonials-3 {
    grid-row-gap: 32px;
    grid-template-columns: 1fr;
    width: 100%;
    max-width: 480px;
    margin-top: 40px;
    margin-left: auto;
    margin-right: auto;
  }

  .grid-2 {
    grid-column-gap: 32px;
    grid-row-gap: 32px;
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    width: 100%;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
  }

  .heading-2-copy {
    width: 100%;
  }

  .video-gradient {
    filter: blur(17px);
  }

  .section.bg-gainsboro {
    max-width: 720px;
  }

  .main-container {
    justify-content: center;
    align-items: center;
    width: 1300px;
    max-width: 720px;
    padding-left: 6vw;
    display: block;
  }

  .main-container.waves-tile-testimonial-4-copy {
    justify-content: center;
    align-items: center;
  }

  .home-tab-wrapper {
    font-size: 1vw;
  }

  .grid-item.all-in-top {
    max-width: 98%;
  }

  .video {
    border-radius: 43px;
  }

  .grid-3._2-col {
    grid-column-gap: .75em;
    grid-row-gap: .75em;
  }

  .ifq-if-grid {
    grid-template-columns: 1fr;
  }

  .paragraph-4 {
    margin-bottom: 0;
  }

  .waves-grid-testimonials-3-copy {
    grid-row-gap: 32px;
    grid-template-columns: 1fr;
    width: 100%;
    max-width: 480px;
    margin-top: 40px;
    margin-left: auto;
    margin-right: auto;
  }

  .waves---main-container-2 {
    max-width: 720px;
  }

  .waves-grid-testimonials-4 {
    grid-row-gap: 32px;
    grid-template-columns: 1fr;
    width: 100%;
    max-width: 480px;
    margin-top: 40px;
    margin-left: auto;
    margin-right: auto;
  }

  .waves-tile-testimonial-4.waves-tile-testimonial-4-copy {
    justify-content: center;
    align-items: center;
    margin-left: auto;
    margin-right: auto;
    padding-left: 6vw;
    padding-right: 6vw;
  }

  .waves-grid-testimonials-4-copy {
    grid-row-gap: 32px;
    grid-template-columns: 1fr;
    width: 100%;
    max-width: 480px;
    margin-top: 40px;
    margin-left: auto;
    margin-right: auto;
  }

  .air-wrap-2 {
    padding-left: 0;
    padding-right: 0;
  }

  .air-pic-1 {
    max-width: 63%;
  }

  .air-container-1 {
    justify-content: center;
    align-items: center;
  }

  .air-section-1 {
    margin-left: auto;
    margin-right: auto;
    font-size: 1.3vw;
  }

  .air-wrap-1 {
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    flex-flow: column;
  }

  .air-wrap-4 {
    background-position: 0%;
  }

  .air-wrap-3 {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .air-section-1-2 {
    font-size: 1.3vw;
  }

  .horizontal-content-block {
    padding-left: 25px;
    padding-right: 40px;
  }

  .testimonial-image {
    position: relative;
  }

  .column-wrap {
    flex-wrap: wrap;
  }

  .container-2 {
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .footer-bottombar {
    justify-content: flex-start;
    max-width: 90%;
    margin-left: auto;
    margin-right: auto;
  }

  .footer-wrap {
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    flex-direction: column;
    align-items: flex-start;
  }

  .footer-brand {
    padding-left: 0;
  }

  .footercredits {
    max-width: none;
  }

  .footer-mid {
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    flex-flow: wrap;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    width: 100%;
    display: grid;
  }

  .up, .down {
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
  }

  .wrapper {
    grid-template-columns: 1fr;
    place-items: center;
    width: 100%;
    max-width: 720px;
    padding: 16px;
  }

  .ratio-box._21-9 {
    max-width: 400px;
    max-height: 0;
    padding-top: 15%;
    padding-bottom: 14.85%;
  }

  .rich-text-block, .heading-8 {
    font-size: 18px;
  }

  .div-block-10 {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
  }

  .dropdown {
    display: none;
  }

  .cover-image-2 {
    width: 63%;
    max-width: 100%;
    height: 100%;
    inset: 0% 15%;
  }
}

@media screen and (max-width: 767px) {
  .nav-contain {
    flex-flow: row;
    display: flex;
  }

  .nav-item {
    font-size: 32px;
  }

  .popup-grid {
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .home-hero-wrap {
    justify-content: flex-start;
  }

  .home-hero-content {
    flex: 0 auto;
    padding-top: 243px;
    padding-bottom: 243px;
  }

  .home-hero-sec {
    height: auto;
    min-height: auto;
  }

  .button-cta {
    margin-top: 30px;
    margin-bottom: 30px;
  }

  .secondary-intro-wrap {
    padding: 30px;
  }

  .walsh-main-grid {
    grid-column-gap: 1em;
    grid-row-gap: 2em;
  }

  .walsh-heading-regular {
    font-size: 1.8em;
  }

  .walsh-rounded-box {
    grid-row-gap: 1.5em;
  }

  .waves---subtitle {
    font-size: 22px;
    line-height: 34px;
  }

  .waves---main-container {
    padding-left: 16px;
    padding-right: 16px;
  }

  .waves---section-medium {
    padding-top: 0;
    padding-bottom: 80px;
  }

  .waves---heading-2-no-margins {
    font-size: 44px;
    line-height: 125%;
  }

  .grid-2, .section.bg-gainsboro {
    max-width: 720px;
  }

  .home-tab-wrapper {
    font-size: 1.5vw;
  }

  .solution-tab {
    grid-column-gap: 2em;
    grid-row-gap: 2em;
    flex-wrap: wrap;
  }

  .grid-item.all-in-top {
    max-width: 100%;
  }

  .divider {
    height: 0;
  }

  .sol-tabs_menu {
    align-items: center;
    width: 100%;
  }

  .video {
    border-radius: 30px;
  }

  .grid-3._2-col {
    grid-column-gap: 2em;
    grid-row-gap: 2em;
  }

  .sol-tabs_content {
    width: 100%;
  }

  .waves---main-container-2 {
    padding-left: 16px;
    padding-right: 16px;
  }

  .button-cta-3 {
    margin-top: 30px;
    margin-bottom: 30px;
  }

  .air-wrap-2 {
    padding-right: 0;
  }

  .air-section-1 {
    padding-left: 3em;
    padding-right: 3em;
    font-size: 1.69vw;
  }

  .air-wrap-1 {
    grid-column-gap: 5em;
    grid-row-gap: 5em;
    flex-direction: column;
  }

  .air-wrap-3 {
    padding-left: 0;
  }

  .air-section-1-2 {
    padding-left: 3em;
    padding-right: 3em;
    font-size: 1.69vw;
  }

  .slider-horizontal {
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
  }

  .horizontal-content-block {
    width: 100%;
    padding: 45px;
  }

  .testimonial-card {
    flex-wrap: wrap;
  }

  .testimonial-section {
    padding-top: 70px;
    padding-bottom: 70px;
  }

  .testimonial-image-wrap {
    width: 100%;
    height: 280px;
  }

  .wrapper {
    grid-template-columns: 1fr;
  }

  .div-block-9 {
    max-width: 720px;
  }

  .dropdown {
    display: none;
  }

  .button-cta-4 {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}

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

  .nav-mid {
    padding-left: 0;
    padding-right: 0;
  }

  .nav-brand {
    width: 160px;
    padding-left: 0;
  }

  .popup-content {
    padding: 26px;
  }

  .header {
    flex-flow: column;
    justify-content: space-between;
    align-items: center;
    height: 70px;
  }

  .nav-item {
    font-size: 28px;
  }

  .popup-book-img {
    width: 150px;
  }

  .hamburger-icon {
    padding-right: 0;
  }

  .button {
    display: none;
  }

  .home-hero-gradients {
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    height: 100%;
    min-height: 100%;
    max-height: 100%;
    inset: 0%;
  }

  .carousel-logo {
    margin-right: 20px;
  }

  .home-hero-content {
    padding-top: 132px;
  }

  .logo-carousel-logo {
    max-width: 130px;
    max-height: 40px;
  }

  .home-hero-sec {
    position: relative;
  }

  .homehero-video {
    height: 100%;
    min-height: 100%;
    top: 0;
  }

  .button-cta {
    vertical-align: middle;
    margin-top: 10px;
    margin-bottom: 10px;
    display: block;
  }

  .secondary-intro-wrap {
    padding: 22px;
  }

  .contain-2 {
    max-width: 480px;
  }

  .ss-lb-link {
    width: 90%;
  }

  .div-block-2 {
    padding: 0 16px;
  }

  .walsh-container {
    flex: 0 auto;
    width: 100%;
  }

  .walsh-image-logo {
    max-width: none;
    max-height: 20px;
  }

  .walsh-heading-regular {
    font-size: 1.4em;
    line-height: 1.2;
  }

  .walsh-main-paragraph, .walsh-heading-small {
    font-size: 1em;
  }

  .walsh-content-wrapper-center {
    grid-row-gap: 1.2em;
  }

  .walsh-circle-image {
    flex: none;
  }

  .walsh-text-small-left {
    font-size: 13px;
  }

  .walsh-rounded-box {
    padding: 30px;
  }

  .waves---subtitle {
    font-size: 20px;
  }

  .waves---section-medium {
    padding-top: 0;
    padding-bottom: 64px;
  }

  .waves---heading-2-no-margins {
    font-size: 34px;
  }

  .waves---heading-3-no-margins {
    font-size: 22px;
  }

  .grid-2 {
    grid-column-gap: 32px;
    grid-row-gap: 32px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 20px;
    padding-left: 0;
    padding-right: 0;
  }

  .heading-2-copy {
    font-weight: 700;
  }

  .h1 {
    font-size: 2em;
  }

  .section.bg-gainsboro {
    padding-left: 30px;
    padding-right: 30px;
  }

  .main-container {
    width: auto;
    max-width: 480px;
    padding-left: 10px;
    padding-right: 10px;
  }

  .graphs-img {
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
  }

  .btn {
    padding-left: 1em;
    padding-right: 1em;
    font-size: 1.3em;
  }

  .solution-tab {
    grid-column-gap: 0em;
    grid-row-gap: 0em;
    align-items: flex-start;
  }

  .grid-item.all-in-bottom {
    margin-top: 0;
  }

  .sol-tab-link {
    font-size: 1.8em;
  }

  .tabs-cta {
    text-align: center;
    margin-top: 20px;
  }

  .tabs-cta.video-cta {
    text-align: center;
    margin-top: 0;
  }

  .tabs-cta.graphs-cta {
    text-align: center;
    max-width: 75%;
    margin-top: 2em;
    margin-left: auto;
    margin-right: auto;
  }

  .sol-tabs_menu {
    text-align: center;
    justify-content: center;
    align-items: center;
  }

  .video {
    border-radius: 25px;
  }

  .sol-tabs_content {
    margin-top: 2em;
  }

  .paragraph-3 {
    font-weight: 300;
  }

  .div-block-3 {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    text-align: center;
    flex-flow: column;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    justify-content: space-between;
    align-items: center;
    text-decoration: none;
    display: flex;
  }

  .image {
    max-width: 30%;
  }

  .waves---main-container-2 {
    max-width: 480px;
  }

  .waves---heading-3-no-margins-2 {
    font-size: 22px;
  }

  .div-block-6 {
    max-width: 480px;
    padding-top: 0;
  }

  .waves-tile-testimonial-4.waves-tile-testimonial-4-copy {
    padding-left: 0;
    padding-right: 0;
  }

  .air-heading-1 {
    text-align: center;
  }

  .air-pic-1 {
    max-width: 76%;
  }

  .air-section-1 {
    padding: 0 0;
    font-size: 2.5vw;
  }

  .air-wrap-1 {
    grid-column-gap: 2.3em;
    grid-row-gap: 2.3em;
    margin-left: 20px;
    margin-right: 20px;
  }

  .air-wrap-4 {
    background-position: 25% 43%;
  }

  .air-wrap-3 {
    padding-left: 0;
  }

  .air-wrap-5 {
    align-items: center;
  }

  .air-heading-1-2 {
    text-align: center;
  }

  .air-section-1-2 {
    font-size: 2.5vw;
  }

  .right-arrow {
    inset: auto 20% -3% auto;
  }

  .horizontal-content-block {
    padding-bottom: 70px;
    padding-left: 15px;
    padding-right: 15px;
  }

  .container-2 {
    padding-bottom: 20px;
  }

  .author-block {
    margin-top: 15px;
  }

  .testimonial-image-wrap {
    height: 260px;
  }

  .left-arrow {
    inset: auto auto -3% 20%;
  }

  .footer-bottombar {
    padding-bottom: 84px;
  }

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

  .heading-8 {
    margin-bottom: 0;
  }

  .div-block-10 {
    margin-top: 40px;
    margin-bottom: 60px;
  }

  .bridge {
    width: 87%;
    line-height: 36px;
  }

  .paragraph-6 {
    width: 90%;
    margin-bottom: 0;
  }

  .dropdown {
    z-index: auto;
    background-color: var(--gold);
    margin-right: 65%;
    display: block;
  }

  .cover-image-2 {
    width: 100%;
    inset: 0%;
  }
}

#w-node-_8cca80e6-4b44-15a9-f9fd-96e0886f812e-7e67e288 {
  place-self: center;
}

#w-node-_07b8ca63-b243-bfe1-9379-a3c8d345c81c-7e67e288, #w-node-_07b8ca63-b243-bfe1-9379-a3c8d345c824-7e67e288, #w-node-_1b183d91-a47e-952f-7a74-153d69918c4a-7e67e288, #w-node-_1b183d91-a47e-952f-7a74-153d69918c52-7e67e288, #w-node-_51e4b1b1-302d-1d3e-023d-e69d22d18f34-7e67e288, #w-node-e6d92f6b-c2b4-d524-dea6-abc1079e38d9-7e67e288, #w-node-_8d262b65-b527-e4a2-2312-355e16b5021f-7e67e288 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}


@font-face {
  font-family: 'Outfit Variablefont Wght';
  src: url('../fonts/Outfit-VariableFont_wght.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Outfit';
  src: url('../fonts/Outfit-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Outfit';
  src: url('../fonts/Outfit-ExtraBold.ttf') format('truetype');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
/* ============================================================
   M1.5 additions (2026-07-29) — legacy site-builder runtime removed.
   Self-hosted fonts + vanilla replacements for the behaviors
   the removed runtime used to provide. Consumed by js/site.js.
   ============================================================ */

/* Merriweather, self-hosted (variable font, latin subset).
   Replaces the Google WebFont loader. Declared for the full
   300–900 range the old WebFont config requested. */
@font-face {
  font-family: Merriweather;
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url('../fonts/Merriweather-Variable.woff2') format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Merriweather;
  font-style: italic;
  font-weight: 300 900;
  font-display: swap;
  src: url('../fonts/Merriweather-Italic-Variable.woff2') format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Hero headline entrance — replaces the IX2 letters-slide-up
   interaction that shipped the h1 with inline opacity:0.
   CSS-only, so the headline is never invisible without JS. */
.home-hero-content .heading {
  animation: site-hero-in 800ms cubic-bezier(.25, .46, .45, .94) 150ms both;
}

@keyframes site-hero-in {
  from {
    opacity: 0;
    transform: translateY(24px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

/* Tab pane entrance — replaces the old tabs fade (duration-in 300). */
.sol-tabs_content .w-tab-pane.w--tab-active {
  animation: site-tab-fade 300ms ease;
}

@keyframes site-tab-fade {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* Testimonial slider — cross-fade (the old data-animation="cross",
   duration 500). Slides stack via position:absolute inside the
   already position:relative mask: the first slide stays in flow to
   give the mask its height, the rest overlay it exactly. No
   transforms, no residual layout width — the old translateX
   stacking left 5x-wide layout boxes behind the overflow:visible
   mask (engine-dependent horizontal overflow) and inter-slide
   whitespace offsets (ghost/doubled text during crossfades).
   Before init (or with JS disabled) only the first slide renders. */
.slider-horizontal:not(.site-slider-init) .w-slide:nth-child(n+2) {
  display: none;
}

.slider-horizontal.site-slider-init .w-slide {
  opacity: 0;
  visibility: hidden;
  transition: opacity 500ms ease, visibility 0s linear 500ms;
}

.slider-horizontal.site-slider-init .w-slide:not(:first-child) {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.slider-horizontal.site-slider-init .w-slide.site-slide-active {
  opacity: 1;
  visibility: visible;
  z-index: 1;
  transition: opacity 500ms ease;
}

/* Video lightbox — sizing + fade for the modal js/site.js builds
   out of the w-lightbox-* classes that base.css already styles. */
.w-lightbox-backdrop {
  transition: opacity 300ms ease;
}

.w-lightbox-figure.site-lightbox-video {
  width: min(940px, 94vw, 170.9vh);
  aspect-ratio: 940 / 528;
}

@media (prefers-reduced-motion: reduce) {
  .home-hero-content .heading,
  .sol-tabs_content .w-tab-pane.w--tab-active {
    animation: none;
  }
}
