/* @cle-edit */
/* Generado por tools/v2-port/build-css.mjs — NO editar a mano */

/* ===== container (components/layout/Container.module.scss) ===== */
.v2-container__container {
  margin: auto;
  width: calc(100% - 1.5rem * 2);
}
@media only screen and (min-width: 768px) {
  .v2-container__container {
    width: calc(100% - 8rem * 2);
  }
}
@media only screen and (min-width: 1640px) {
  .v2-container__container {
    width: 1580px;
  }
}

/* ===== button (components/common/Button/Button.module.scss) ===== */
.v2-button__label {
  display: inline-flex;
  align-items: center;
  opacity: 1;
  transition: none;
}

.v2-button__labelWrapper {
  display: inline-flex;
  align-items: flex-start;
  justify-content: center;
  overflow: hidden;
  height: 1.8rem;
}

.v2-button__labelSlide {
  display: flex;
  flex-direction: column;
  align-items: center;
  transform: translateY(0);
  transition: none;
}

.v2-button__label,
.v2-button__labelDuplicate {
  flex-shrink: 0;
  height: 1.8rem;
  display: inline;
  align-items: center;
  justify-content: center;
}

.v2-button__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.v2-button__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.v2-button__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  border: 0.5px solid transparent;
  border-radius: 5rem;
  cursor: pointer;
  font-family: "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  user-select: none;
  padding: 1.5rem 2.4rem;
  font-size: 1.6rem;
  line-height: 1;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
.js-focus-visible .v2-button__button.focus-visible {
  outline: none;
}
.v2-button__button:focus-visible {
  outline: none;
}
.js-focus-visible .v2-button__button.focus-visible {
  outline: 2px solid #25292e;
  outline-offset: 2px;
}
.v2-button__button:focus-visible {
  outline: 2px solid #25292e;
  outline-offset: 2px;
}
.v2-button__button:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}
.v2-button__button .v2-button__icon {
  width: 2rem;
  height: 2rem;
}
@media (hover: hover) and (pointer: fine) {
  .v2-button__button:hover:hover:not(:disabled) .v2-button__labelSlide {
    transition: transform 0.3s ease;
    transform: translateY(-50%);
  }
  .v2-button__button:hover:hover:not(:disabled) .v2-button__labelSlide .v2-button__label {
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  .v2-button__button:hover:hover:not(:disabled) .v2-button__labelSlide .v2-button__labelDuplicate {
    opacity: 1;
  }
}

.v2-button__button--default {
  background-color: #25292e;
  color: #f8fafc;
}
@media (hover: hover) and (pointer: fine) {
  .v2-button__button--default:hover:hover:not(:disabled) {
    background-color: #415bff;
    color: #f8fafc;
  }
}

.v2-button__button--primary {
  background-color: #415bff;
  color: #f8fafc;
  gap: 1rem;
}
@media (hover: hover) and (pointer: fine) {
  .v2-button__button--primary:hover:hover:not(:disabled) {
    background-color: #2f48e5;
    color: #f8fafc;
  }
}

.v2-button__button--secondary {
  background-color: transparent;
  border-color: #25292e;
  color: #25292e;
  gap: 0.8rem;
}
@media (hover: hover) and (pointer: fine) {
  .v2-button__button--secondary:hover:hover:not(:disabled) {
    background-color: #415bff;
    border-color: #415bff;
    color: #ffffff;
  }
}

.v2-button__button--disabled {
  background-color: #f5f5f7;
  border-color: rgba(140, 140, 140, 0.5);
  color: #7f7f7f;
  cursor: not-allowed;
  opacity: 0.6;
}
@media (hover: hover) and (pointer: fine) {
  .v2-button__button--disabled:hover:hover {
    background-color: #f5f5f7;
    border-color: rgba(140, 140, 140, 0.5);
    color: #7f7f7f;
  }
}

.v2-button__button--small {
  min-width: 3.2rem;
  height: 3.2rem;
  padding: 0.6rem 1rem;
  font-size: 1.2rem;
  border-radius: 3.2rem;
}
.v2-button__button--small .v2-button__icon {
  width: 1.4rem;
  height: 1.4rem;
}

.v2-button__button--medium {
  padding: 2.2rem 5rem;
  font-size: 1.8rem;
  line-height: 1;
  border-radius: 5rem;
}
.v2-button__button--medium .v2-button__icon {
  width: 2.4rem;
  height: 2.4rem;
}
.v2-button__button--medium .v2-button__label {
  height: 2rem;
}
.v2-button__button--medium .v2-button__labelDuplicate {
  height: 2rem;
}
.v2-button__button--medium .v2-button__labelWrapper {
  height: 2rem;
}

.v2-button__button--large {
  padding: 2.2rem 4.3rem;
  font-size: 2.4rem;
  line-height: 1;
  border-radius: 7.4rem;
}
.v2-button__button--large .v2-button__icon {
  width: 2.4rem;
  height: 2.4rem;
}
.v2-button__button--large .v2-button__label {
  height: 2.7rem;
}
.v2-button__button--large .v2-button__labelDuplicate {
  height: 2.7rem;
}
.v2-button__button--large .v2-button__labelWrapper {
  height: 2.7rem;
}

.v2-button__button--icon-left {
  flex-direction: row;
  padding-left: 1.8rem;
}

.v2-button__button--icon-right {
  flex-direction: row;
  padding-right: 1.8rem;
}

.v2-button__button--icon-only {
  padding: 0;
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 50%;
  gap: 0;
  background-color: #ffffff;
  border: none;
}
.v2-button__button--icon-only .v2-button__icon {
  width: 1.7rem;
  height: 1.7rem;
}
.v2-button__button--icon-only.v2-button__button--small {
  width: 3.2rem;
  height: 3.2rem;
  min-width: 3.2rem;
}
.v2-button__button--icon-only.v2-button__button--small .v2-button__icon {
  width: 1.4rem;
  height: 1.4rem;
}
.v2-button__button--icon-only.v2-button__button--large {
  width: 6.4rem;
  height: 6.4rem;
}
.v2-button__button--icon-only.v2-button__button--large .v2-button__icon {
  width: 2.4rem;
  height: 2.4rem;
}

/* ===== overlay (components/common/Overlay/Overlay.module.scss) ===== */
.v2-overlay__overlay {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  animation: overlayIn 0.2s ease-out;
  min-height: 100dvh;
  min-height: 100vh;
}
@media only screen and (min-width: 768px) {
  .v2-overlay__overlay {
    padding: 1.5rem;
  }
}

.v2-overlay__overlayBackdrop {
  position: fixed;
  inset: 0;
  background-color: rgba(36, 38, 47, 0.7882352941);
  cursor: pointer;
}

.v2-overlay__overlayContent {
  position: relative;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100dvh;
  max-height: 100vh;
  margin: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 1rem;
}
@media only screen and (min-width: 768px) {
  .v2-overlay__overlayContent {
    width: auto;
    height: auto;
    max-width: 130rem;
    max-height: 90vh;
    margin: auto;
    border-radius: 1.5rem;
  }
}

.v2-overlay__overlayClose {
  position: absolute;
  top: 4rem;
  right: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border-radius: 50%;
  z-index: 2;
  transform: rotate(0deg);
  transition: transform 0.3s ease;
}
@media only screen and (min-width: 768px) {
  .v2-overlay__overlayClose {
    top: -3rem;
    right: -3rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .v2-overlay__overlayClose:hover:hover:not(:disabled) {
    background-color: #415bff;
    color: #ffffff;
    transform: rotate(90deg);
  }
  .v2-overlay__overlayClose:hover:hover:not(:disabled) svg {
    color: #ffffff;
  }
}
.v2-overlay__overlayClose svg {
  color: #25292e;
}

@keyframes overlayIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.v2-overlay__overlayClosing {
  animation: overlayOut 0.2s ease-in forwards;
}

@keyframes overlayOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

/* ===== ctavideo (components/common/CtaVideo/CtaVideo.module.scss) ===== */
.v2-ctavideo__ctaVideo {
  position: relative;
  width: 100%;
  max-width: 30.8rem;
}
.v2-ctavideo__ctaVideo.v2-ctavideo__isMegaMenu {
  max-width: none;
}
.v2-ctavideo__ctaVideo.v2-ctavideo__isSticky {
  position: fixed;
  bottom: 3.5rem;
  left: 0;
  z-index: 10;
  transform: translateX(2rem);
  pointer-events: auto;
  width: fit-content;
}
@media only screen and (min-width: 768px) {
  .v2-ctavideo__ctaVideo.v2-ctavideo__isSticky {
    transform: none;
  }
}

.v2-ctavideo__ctaVideoLink {
  position: relative;
  display: flex;
  align-items: stretch;
  min-height: 1.32rem;
  width: 100%;
  border: none;
  cursor: pointer;
  font: inherit;
  text-align: left;
  background-color: #ffffff;
  border-radius: 1rem;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: box-shadow 0.2s ease;
  box-shadow: 0px 0.97px 1.94px rgba(0, 0, 0, 0.1);
  padding: 0.5rem;
  gap: 1.3rem;
}
@media only screen and (min-width: 768px) {
  .v2-ctavideo__ctaVideoLink {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    border-radius: 2.2rem;
    padding: 0.8rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .v2-ctavideo__ctaVideoLink:hover {
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
  }
  .v2-ctavideo__ctaVideoLink:hover .v2-ctavideo__ctaVideoPlayButton {
    background-color: #415bff;
    color: #f8fafc;
  }
}
.v2-ctavideo__isMegaMenu .v2-ctavideo__ctaVideoLink {
  box-shadow: none;
}

.v2-ctavideo__ctaVideoIcon {
  position: absolute;
  width: 3.2rem;
  height: 3.2rem;
  display: flex;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.v2-ctavideo__ctaVideoImage {
  width: 10.2rem;
  height: 6.8rem;
  overflow: hidden;
  background-color: #d9d9d9;
  border-radius: 1rem;
}
.v2-ctavideo__ctaVideoImage img,
.v2-ctavideo__ctaVideoImage [data-next-image] {
  object-fit: cover;
}
@media only screen and (min-width: 768px) {
  .v2-ctavideo__ctaVideoImage {
    border-radius: 2.2rem;
    width: 17.2rem;
    height: 11.7rem;
  }
}
.v2-ctavideo__isMegaMenu .v2-ctavideo__ctaVideoImage {
  border-radius: 1.2rem;
}

.v2-ctavideo__ctaVideoLoop {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.v2-ctavideo__ctaVideoBody {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
  padding: 1rem 1rem 1rem 0rem;
  min-width: 0;
}

.v2-ctavideo__ctaVideoText {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

.v2-ctavideo__ctaVideoTitleLine {
  font: normal 600 1.6rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.02em;
}
.v2-ctavideo__ctaVideoTitleLine span {
  background: linear-gradient(90deg, #415bff 0%, #ecdf30 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  width: fit-content;
}

.v2-ctavideo__ctaVideoDuration {
  font: normal 600 1rem/1.25 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
}

.v2-ctavideo__ctaVideoPlay {
  position: absolute;
  right: 0.8rem;
  bottom: 0.8rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.v2-ctavideo__isMegaMenu .v2-ctavideo__ctaVideoPlay {
  position: relative;
  justify-content: flex-start;
  bottom: -0.5rem;
  margin-left: 0.5rem;
}

.v2-ctavideo__ctaVideoPlayButton {
  background-color: #25292e;
  transition: background-color 0.2s ease, color 0.2s ease;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-ctavideo__ctaVideoPlayButton {
    background-color: #25292e;
  }
}

.v2-ctavideo__overlayVideo {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100dvh;
  max-height: 100vh;
  border-radius: 1.4rem;
  display: block;
  object-fit: contain;
}
@media only screen and (min-width: 768px) {
  .v2-ctavideo__overlayVideo {
    width: 100%;
    height: auto;
    max-height: 90vh;
    border-radius: 3.6rem;
  }
}

/* ===== hero (components/sections/Hero/Hero.module.scss) ===== */
.v2-hero__hero {
  margin: 12rem 0 0;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .v2-hero__hero {
    overflow: visible;
    margin-top: 30vh;
    margin-bottom: 5rem;
  }
}

.v2-hero__container {
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  align-items: center;
  min-height: 65rem;
}
@media only screen and (min-width: 768px) {
  .v2-hero__container {
    padding: 0;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem;
  }
}
.v2-hero__container > * {
  grid-column: span 4/span 4;
}
@media only screen and (min-width: 768px) {
  .v2-hero__container > * {
    grid-column: span 12/span 12;
  }
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-hero__container {
    gap: 0;
    min-height: unset;
  }
}

.v2-hero__content {
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .v2-hero__content {
    grid-column-start: 1;
    grid-column: span 6/span 6;
  }
}

.v2-hero__title {
  font: normal 500 4.2rem/0.97 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.02em;
  margin-bottom: 1.9rem;
  opacity: 0;
}
@media only screen and (min-width: 768px) {
  .v2-hero__title {
    font: normal 500 11.4rem/0.97 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.02em;
  }
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-hero__title {
    margin: 0 auto;
    text-align: center;
    max-width: 80%;
  }
}
.v2-hero__title span {
  font: normal 700 6.2rem/0.97 "PP NeueBit", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.03em;
  background: linear-gradient(90deg, #415bff 0%, #ecdf30 20%, #ecdf30 30%, #415bff 50%, #ecdf30 70%, #ecdf30 80%, #415bff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  width: fit-content;
  background-size: 200% 100%;
  animation: headerLineGradient 8s linear infinite;
}
@media only screen and (min-width: 768px) {
  .v2-hero__title span {
    font: normal 700 17.6rem/0.76 "PP NeueBit", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.03em;
  }
}
.v2-hero__title span .hero-span-char {
  background: linear-gradient(90deg, #415bff 0%, #ecdf30 20%, #ecdf30 30%, #415bff 50%, #ecdf30 70%, #ecdf30 80%, #415bff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  width: fit-content;
  background-size: calc(2 * var(--span-width, 100%)) 100%;
  animation: heroCharGradient 8s linear infinite;
}

@keyframes heroCharGradient {
  from {
    background-position-x: calc(-1 * (var(--char-offset, 0px) + var(--span-width, 0px)));
  }
  to {
    background-position-x: calc(-1 * var(--char-offset, 0px));
  }
}

.v2-hero__description {
  font: normal 400 1.6rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  width: 70%;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .v2-hero__description {
    font: normal 400 2.4rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
@media only screen and (min-width: 768px) {
  .v2-hero__description {
    width: 35%;
    text-align: left;
    margin: 0;
  }
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-hero__description {
    font: normal 400 1.8rem/1.3 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
    text-align: center;
  }
}
@media only screen and (max-width: calc(768px - 1px)) and (min-width: 768px) {
  .v2-hero__description {
    font: normal 400 3.2rem/1.3 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
.v2-hero__description p {
  opacity: 0;
}

.v2-hero__ctaVideo {
  display: none;
}
@media only screen and (min-width: 768px) {
  .v2-hero__ctaVideo {
    display: block;
    margin: 10vh 0 0;
  }
}

.v2-hero__imageWrapper {
  position: relative;
  opacity: 0;
  aspect-ratio: 695/1206;
  margin-top: 1.6rem;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-hero__imageWrapper {
    display: grid;
    place-self: center;
    width: 100%;
    max-width: 45rem;
  }
}
@media only screen and (min-width: 768px) {
  .v2-hero__imageWrapper {
    grid-column: span 4/span 4;
    grid-column-start: 8;
    padding: 0 3rem 0;
    margin-top: 3.6rem;
    aspect-ratio: unset;
  }
}
@media only screen and (min-width: 768px) and (max-height: 1500px) {
  .v2-hero__imageWrapper {
    padding-top: max(0rem, 90rem - 20vh);
  }
}

.v2-hero__image {
  position: relative;
  width: 100%;
  height: 100%;
}
@media only screen and (min-width: 768px) {
  .v2-hero__image {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 124.6rem;
    height: 142.4rem;
  }
}

.v2-hero__lottieOverlay {
  display: none;
}
@media only screen and (min-width: 768px) {
  .v2-hero__lottieOverlay {
    display: block;
    position: absolute;
    transform: translate(-50%, -50%);
    z-index: 2;
  }
}

/* ===== header (components/base/Header/Header.module.scss) ===== */
.v2-header__header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  padding: 3.6rem 0 2.4rem;
  z-index: 12;
}
@media only screen and (min-width: 768px) {
  .v2-header__header {
    position: absolute;
    padding: 6.5rem 0 0;
    overflow: visible;
  }
}

.v2-header__headerLine {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1.2rem;
  background: linear-gradient(90deg, #415bff 0%, #ecdf30 20%, #ecdf30 30%, #415bff 50%, #ecdf30 70%, #ecdf30 80%, #415bff 100%);
  background-size: 200% 100%;
  animation: headerLineGradient 8s linear infinite;
  z-index: 2;
}
@media only screen and (min-width: 768px) {
  .v2-header__headerLine {
    height: 1.7rem;
    z-index: 0;
  }
}

.v2-header__container {
  position: relative;
  overflow: visible;
}

.v2-header__content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  visibility: hidden;
  position: relative;
  z-index: 0;
}
@media only screen and (min-width: 768px) {
  .v2-header__content {
    align-items: flex-start;
  }
}

.v2-header__desktopHoverZone {
  position: relative;
  z-index: 14;
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
}

.v2-header__desktopTopRow {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 2.4rem;
  flex-shrink: 0;
  min-width: 0;
}
@media only screen and (min-width: 768px) {
  .v2-header__desktopTopRow {
    position: relative;
    z-index: 25;
  }
}

.v2-header__mobileOpenUtilities {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-shrink: 0;
}

.v2-header__mobileOpenUtilityLink {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  text-decoration: none;
  color: #25292e;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.2;
  font-family: "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
@media (hover: hover) and (pointer: fine) {
  .v2-header__mobileOpenUtilityLink:hover:hover {
    color: #415bff;
  }
}
.js-focus-visible .v2-header__mobileOpenUtilityLink.focus-visible {
  outline: 2px solid #415bff;
  outline-offset: 2px;
}
.v2-header__mobileOpenUtilityLink:focus-visible {
  outline: 2px solid #415bff;
  outline-offset: 2px;
}

.v2-header__mobileOpenUtilityIcon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.6rem;
  height: 1.6rem;
  flex-shrink: 0;
  color: inherit;
}
.v2-header__mobileOpenUtilityIcon svg {
  width: 100%;
  height: 100%;
}

.v2-header__mobileOpenUtilityChevron {
  width: 0.9rem;
  height: 0.6rem;
}

.v2-header__mobileOpenUtilityText {
  white-space: nowrap;
}

.v2-header__logo {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  height: 2rem;
  width: 12rem;
  z-index: 13;
}
@media only screen and (min-width: 768px) {
  .v2-header__logo {
    gap: 1rem;
    height: 3.32rem;
    width: auto;
    z-index: 12;
    margin-left: 0.4rem;
    margin-top: -0.4rem;
  }
}
.v2-header__logo svg {
  width: auto;
  height: 100%;
}

/* Header Nav */
.v2-header__headerNav {
  display: flex;
  align-items: center;
  gap: 2.4rem;
  margin-left: auto;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-header__headerNav {
    display: none;
  }
}

.v2-header__headerNavList {
  display: flex;
  align-items: center;
  gap: 2rem;
}

.v2-header__headerNavItem {
  list-style: none;
}

.v2-header__headerNavLink {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  text-decoration: none;
  color: #25292e;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.2;
  transition: color 0.15s ease;
}
.js-focus-visible .v2-header__headerNavLink.focus-visible {
  outline: none;
}
.v2-header__headerNavLink:focus-visible {
  outline: none;
}
.js-focus-visible .v2-header__headerNavLink.focus-visible {
  outline: 2px solid #25292e;
  outline-offset: 2px;
}
.v2-header__headerNavLink:focus-visible {
  outline: 2px solid #25292e;
  outline-offset: 2px;
}
@media (hover: hover) and (pointer: fine) {
  .v2-header__headerNavLink:hover:hover {
    color: #415bff;
  }
}

.v2-header__headerNavLinkText {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.2;
}

.v2-header__headerNavLinkToggleIcon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 0.9rem;
  height: 0.6rem;
}
.v2-header__headerNavLinkToggleIcon svg {
  width: 100%;
  height: 100%;
}

.v2-header__headerNavLinkIcon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.8rem;
  height: 1.8rem;
}

.v2-header__headerNavButtons {
  display: flex;
  align-items: center;
  gap: 2rem;
  margin-left: 12.5%;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-header__headerNavButtons {
    display: none;
  }
}

.v2-header__megaTrigger {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin: 0;
  box-sizing: border-box;
  padding: 1.1rem 1rem 1.1rem 1rem;
  border: none;
  border-radius: 6rem;
  background: transparent;
  cursor: pointer;
  font-family: inherit;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.2;
  color: #25292e;
  text-decoration: none;
  transition: color 0.15s ease;
}
.js-focus-visible .v2-header__megaTrigger.focus-visible {
  outline: none;
}
.v2-header__megaTrigger:focus-visible {
  outline: none;
}
.js-focus-visible .v2-header__megaTrigger.focus-visible {
  outline: 2px solid #25292e;
  outline-offset: 2px;
}
.v2-header__megaTrigger:focus-visible {
  outline: 2px solid #25292e;
  outline-offset: 2px;
}

.v2-header__megaTriggerActive {
  background: transparent;
}

.v2-header__desktopHoverZone:not([data-mega-open]) .v2-header__megaTrigger:hover,
.v2-header__desktopHoverZone:not([data-mega-open]) .v2-header__megaTrigger:focus-visible {
  color: #415bff;
}

.v2-header__desktopHoverZone[data-mega-open] .v2-header__megaTrigger:not(.v2-header__megaTriggerActive) {
  color: #c2c2c2;
}
.v2-header__desktopHoverZone[data-mega-open] .v2-header__headerNavLink {
  color: #c2c2c2;
}
.v2-header__desktopHoverZone[data-mega-open] .v2-header__megaTriggerActive {
  color: #25292e;
}
.v2-header__desktopHoverZone[data-mega-open] .v2-header__headerNavLinkIcon,
.v2-header__desktopHoverZone[data-mega-open] .v2-header__headerNavLinkToggleIcon {
  color: inherit;
}
.v2-header__desktopHoverZone[data-mega-open] .v2-header__megaTrigger:not(.v2-header__megaTriggerActive):hover,
.v2-header__desktopHoverZone[data-mega-open] .v2-header__megaTrigger:not(.v2-header__megaTriggerActive):focus-visible {
  color: #415bff;
}
.v2-header__desktopHoverZone[data-mega-open] .v2-header__headerNavLink:hover,
.v2-header__desktopHoverZone[data-mega-open] .v2-header__headerNavLink:focus-visible {
  color: #415bff;
}

.v2-header__headerNavButton {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  text-decoration: none;
  color: #25292e;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.2;
  transition: color 0.15s ease;
}
@media (hover: hover) and (pointer: fine) {
  .v2-header__headerNavButton:hover:hover {
    color: #415bff;
  }
}

.v2-header__headerNavButtonIcon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.8rem;
  height: 1.8rem;
}
.v2-header__headerNavButtonIcon.v2-header__language {
  width: 0.9rem;
  height: 0.6rem;
}

.v2-header__headerNavButtonText {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.2;
}

/* Mobile Navigation */
.v2-header__mainNavWrapper {
  position: relative;
  z-index: 12;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  flex-shrink: 0;
  max-width: 100%;
}
@media only screen and (min-width: 768px) {
  .v2-header__mainNavWrapper {
    padding: 2rem 2.5rem;
    margin-right: -2.5rem;
  }
}

.v2-header__mainNav {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  min-width: 0;
  max-width: 100%;
}
@media only screen and (min-width: 768px) {
  .v2-header__mainNav {
    position: relative;
    gap: 1.2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 12;
  }
}

.v2-header__mainNavBarItem {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  min-width: 0;
}

.v2-header__mainNavBarRow {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 1.2rem;
  min-width: 0;
  max-width: 100%;
}

.v2-header__mainNavBarRow .v2-header__mobileOpenUtilities {
  min-width: 0;
  flex-shrink: 1;
}

.v2-header__menuButton {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.2rem;
  height: 3.4rem;
  padding: 0;
  border: 1px solid #8c8c8c;
  border-radius: 5rem;
  cursor: pointer;
  flex-direction: column;
  margin: 0;
  background-color: transparent;
  border-color: #25292e;
  color: #25292e;
  gap: 0.5rem;
  z-index: 13;
  isolation: isolate;
  transition: background-color 0.2s ease-out, border-color 0.2s ease-out, color 0.2s ease-out;
}
@media only screen and (min-width: 768px) {
  .v2-header__menuButton {
    width: 7.2rem;
    height: 4.8rem;
    gap: 0.8rem;
    margin: auto;
  }
}
.js-focus-visible .v2-header__menuButton.focus-visible {
  outline: none;
}
.v2-header__menuButton:focus-visible {
  outline: none;
}
.js-focus-visible .v2-header__menuButton.focus-visible {
  outline: 2px solid #25292e;
  outline-offset: 2px;
}
.v2-header__menuButton:focus-visible {
  outline: 2px solid #25292e;
  outline-offset: 2px;
}
@media (hover: hover) and (pointer: fine) {
  .v2-header__menuButton:hover:hover:not(:disabled) {
    background-color: #415bff;
    border-color: #415bff;
    color: #ffffff;
  }
}
.v2-header__menuButton.v2-header__menuButtonOpened {
  background-color: transparent;
  border-color: #25292e;
  color: #25292e;
}
@media (hover: hover) and (pointer: fine) {
  .v2-header__menuButton.v2-header__menuButtonOpened:hover:hover:not(:disabled) {
    background-color: #415bff;
    border-color: #415bff;
    color: #ffffff;
  }
}

.v2-header__mainNavBarRow .v2-header__menuButton {
  flex-shrink: 0;
}

.v2-header__menuButtonOpened .v2-header__button {
  background-color: transparent;
  border-color: #ffffff;
  color: #ffffff;
}
@media (hover: hover) and (pointer: fine) {
  .v2-header__menuButtonOpened .v2-header__button:hover:hover:not(:disabled) {
    background-color: #ffffff;
    border-color: #ffffff;
    color: #415bff;
  }
}

.v2-header__menuButtonOpened .v2-header__buttonTryFree {
  background-color: #2f48e5;
  color: #ffffff;
  border-color: #2f48e5;
}
@media (hover: hover) and (pointer: fine) {
  .v2-header__menuButtonOpened .v2-header__buttonTryFree:hover:hover:not(:disabled) {
    background-color: #ffffff;
    color: #415bff;
    border-color: #ffffff;
  }
}

.v2-header__menuButtonLine {
  position: absolute;
  left: 50%;
  display: block;
  width: 2.4rem;
  height: 1px;
  background-color: currentColor;
  transform-origin: 50% 50%;
  transition: transform 0.25s ease, opacity 0.2s ease, top 0.25s ease;
}
.v2-header__menuButtonLine:nth-child(1) {
  top: 30%;
  transform: translate(-50%, -50%);
}
.v2-header__menuButtonLine:nth-child(2) {
  top: 50%;
  transform: translate(-50%, -50%);
}
.v2-header__menuButtonLine:nth-child(3) {
  top: 70%;
  transform: translate(-50%, -50%);
}
@media only screen and (min-width: 768px) {
  .v2-header__menuButtonLine {
    width: 3.3rem;
    height: 1px;
  }
}
.v2-header__menuButtonOpened .v2-header__menuButtonLine:nth-child(1) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.v2-header__menuButtonOpened .v2-header__menuButtonLine:nth-child(2) {
  top: 50%;
  opacity: 0;
  transform: translate(-50%, -50%) scaleX(0);
}
.v2-header__menuButtonOpened .v2-header__menuButtonLine:nth-child(3) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}

.v2-header__height100 {
  height: 100%;
}

.v2-header__backdrop {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.12);
  z-index: 10;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.v2-header__backdrop.v2-header__backdropVisible {
  pointer-events: auto;
  opacity: 1;
}

/* ===== megamenu (components/base/Header/HeaderMegaMenu.module.scss) ===== */
.v2-megamenu__root {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 20;
  width: 100%;
  padding-top: 3.6rem;
  box-sizing: border-box;
}

.v2-megamenu__backdrop {
  position: fixed;
  inset: 0;
  z-index: 11;
  margin: 0;
  padding: 0;
  border: none;
  background: rgba(32, 33, 41, 0.8);
  cursor: default;
}

.v2-megamenu__panel {
  position: absolute;
  z-index: 2;
  width: calc(100% + 2.8rem);
  left: -1.25rem;
  margin: 0 auto;
  background-color: #ffffff;
  border-radius: 1.2rem;
  box-shadow: 0 0.8rem 3.2rem rgba(0, 0, 0, 0.08);
  overflow: hidden;
  top: -7.5rem;
  padding-top: 6.5rem;
  padding-bottom: 2.2rem;
  box-sizing: border-box;
  will-change: height;
}

.v2-megamenu__panelInner {
  padding: 3.2rem 4rem 2.4rem;
  will-change: opacity;
}
@media only screen and (min-width: 1440px) {
  .v2-megamenu__panelInner {
    padding: 3.2rem 6.4rem 5rem;
  }
}

.v2-megamenu__gradientBar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2.2rem;
  background: linear-gradient(90deg, #425cff 0%, #f0ec85 100%);
}

.v2-megamenu__linkColumns {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3.2rem 2.4rem;
}
@media only screen and (min-width: 1024px) {
  .v2-megamenu__linkColumns {
    grid-template-columns: repeat(4, 1fr);
    gap: 2.4rem 1.6rem;
    width: 102rem;
  }
}
@media only screen and (min-width: 768px) {
  .v2-megamenu__linkColumns {
    margin-left: auto;
    margin-right: 13rem;
  }
}
@media only screen and (min-width: 1440px) {
  .v2-megamenu__linkColumns {
    margin-right: 9rem;
  }
}

.v2-megamenu__linkColumn {
  min-width: 0;
  width: 22rem;
}

.v2-megamenu__columnTitle {
  margin: 0 0 2.2rem;
  font-family: "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 500;
  font-size: 1.7rem;
  line-height: 1.2;
  color: #25292e;
}

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

.v2-megamenu__linkListItem {
  margin: 0;
}

.v2-megamenu__columnLink {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem 0.8rem;
  padding: 0;
  margin: 0;
  text-decoration: none;
  color: #25292e;
  font-family: "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-size: 1.65rem;
  line-height: 3.5rem;
  transition: color 0.15s ease;
}
@media (hover: hover) and (pointer: fine) {
  .v2-megamenu__columnLink:hover:hover {
    color: #415bff;
  }
}

.v2-megamenu__columnLinkLabel {
  line-height: 3.5rem;
}

.v2-megamenu__badge {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.3rem 0.6rem;
  border-radius: 2.8rem;
  font-family: "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0.02em;
  color: #ffffff;
  background-color: #415bff;
}

.v2-megamenu__badgeNuevo {
  background-color: #fac832;
}

.v2-megamenu__linkColumnsMobileOverlay {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem 1.2rem;
  width: 100%;
  margin: 0;
}
.v2-megamenu__linkColumnsMobileOverlay .v2-megamenu__linkColumn {
  width: auto;
  min-width: 0;
}
.v2-megamenu__linkColumnsMobileOverlay .v2-megamenu__columnTitle {
  margin: 0 0 0.8rem;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.2;
}
.v2-megamenu__linkColumnsMobileOverlay .v2-megamenu__columnLink {
  font-size: 1.2rem;
  line-height: 2.2rem;
}
.v2-megamenu__linkColumnsMobileOverlay .v2-megamenu__columnLinkLabel {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 2.2rem;
}
.v2-megamenu__linkColumnsMobileOverlay .v2-megamenu__badge {
  font-size: 0.8rem;
  padding: 0.4rem 0.6rem;
  border-radius: 1.4rem;
}
.v2-megamenu__linkColumnsMobileOverlay .v2-megamenu__mobileOverlayCardDesc {
  margin: 0;
  padding: 0;
  font-family: "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 2.2rem;
  color: #25292e;
}
.v2-megamenu__linkColumnsMobileOverlay .v2-megamenu__resourceOverlayTitleRow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem 0.8rem;
  margin: 0 0 0.4rem;
}
.v2-megamenu__linkColumnsMobileOverlay .v2-megamenu__resourceOverlayTitleRow .v2-megamenu__columnTitle {
  margin: 0;
}
.v2-megamenu__linkColumnsMobileOverlay .v2-megamenu__resourceOverlayCardLink {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.2rem;
  max-width: 100%;
  text-decoration: none;
  color: #25292e;
  transition: color 0.15s ease, opacity 0.15s ease;
}
@media (hover: hover) and (pointer: fine) {
  .v2-megamenu__linkColumnsMobileOverlay .v2-megamenu__resourceOverlayCardLink:hover:hover .v2-megamenu__columnTitle,
  .v2-megamenu__linkColumnsMobileOverlay .v2-megamenu__resourceOverlayCardLink:hover:hover .v2-megamenu__mobileOverlayCardDesc {
    color: #415bff;
  }
}
.js-focus-visible .v2-megamenu__linkColumnsMobileOverlay .v2-megamenu__resourceOverlayCardLink.focus-visible {
  outline: 2px solid #415bff;
  outline-offset: 2px;
}
.v2-megamenu__linkColumnsMobileOverlay .v2-megamenu__resourceOverlayCardLink:focus-visible {
  outline: 2px solid #415bff;
  outline-offset: 2px;
}

.v2-megamenu__linkColumnsFeatured {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.2rem;
  align-items: start;
}
@media only screen and (min-width: 1024px) {
  .v2-megamenu__linkColumnsFeatured {
    grid-template-columns: 1fr minmax(18rem, 22rem);
    gap: 2.4rem 4rem;
  }
}
@media only screen and (min-width: 1024px) {
  .v2-megamenu__linkColumnsFeatured .v2-megamenu__linkColumns {
    grid-template-columns: repeat(3, 1fr);
    width: 73.4rem;
    gap: 3.4rem;
    margin-right: 11.4rem;
  }
}

.v2-megamenu__featuredInGrid {
  justify-self: end;
  width: 100%;
}
@media only screen and (min-width: 1024px) {
  .v2-megamenu__featuredInGrid {
    width: 29rem;
    min-width: 29rem;
  }
}

.v2-megamenu__cardGridFeatured {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.2rem;
  align-items: start;
}
@media only screen and (min-width: 1024px) {
  .v2-megamenu__cardGridFeatured {
    grid-template-columns: 1fr minmax(18rem, 19rem);
    gap: 2.4rem 4rem;
  }
}

.v2-megamenu__cardGrid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.4rem 1.6rem;
}
@media only screen and (min-width: 768px) {
  .v2-megamenu__cardGrid {
    grid-template-columns: repeat(3, 1fr);
    width: 100%;
  }
}
@media only screen and (min-width: 1024px) {
  .v2-megamenu__cardGrid {
    grid-template-columns: repeat(3, 1fr);
    width: 75rem;
    gap: 1.6rem 3rem;
    margin-left: 27.5%;
  }
}
@media only screen and (min-width: 768px) {
  .v2-megamenu__cardGrid {
    margin-left: auto;
    margin-right: 15.8rem;
  }
}

.v2-megamenu__resourceCard {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
  max-width: 23rem;
  text-decoration: none;
  color: #25292e;
  transition: opacity 0.15s ease;
}
@media (hover: hover) and (pointer: fine) {
  .v2-megamenu__resourceCard:hover .v2-megamenu__resourceCardTitle {
    color: #415bff;
  }
  .v2-megamenu__resourceCard:hover .v2-megamenu__resourceCardIcon svg path {
    fill: #415bff;
  }
}

.v2-megamenu__resourceCardBody {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

.v2-megamenu__resourceCardIcon {
  display: flex;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  align-items: center;
  justify-content: center;
  color: #25292e;
}
.v2-megamenu__resourceCardIcon svg {
  width: 100%;
  height: 100%;
}
.v2-megamenu__resourceCardIcon svg path {
  fill: #25292e;
  transition: fill 0.2s ease;
}

.v2-megamenu__resourceCardHeader {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem 0.8rem;
}

.v2-megamenu__resourceCardTitle {
  font-family: "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 500;
  font-size: 1.7rem;
  line-height: 1.2;
  color: #25292e;
  margin-bottom: 0.5rem;
  transition: color 0.2s ease;
}

.v2-megamenu__resourceCardDesc {
  font-family: "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  display: block;
  font-size: 1.5rem;
  line-height: 2.3rem;
  color: #25292e;
}

/* ===== menuoverlay (components/base/Header/MenuOverlay.module.scss) ===== */
.v2-menuoverlay__root {
  position: fixed;
  inset: 0;
  z-index: 11;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  max-height: 100dvh;
  min-height: 0;
}

.v2-menuoverlay__inner {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  width: 100%;
  overflow: hidden;
}

.v2-menuoverlay__panel {
  position: relative;
  flex: 1;
  min-height: 0;
  max-height: 100%;
  overflow: hidden;
  box-sizing: border-box;
  padding: 0 2rem 2rem;
  padding-top: max(10.4rem, env(safe-area-inset-top, 0px) + 9rem);
  background-color: #f5f5f7;
  color: #25292e;
  border-radius: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  align-content: stretch;
}
@media only screen and (min-width: 768px) {
  .v2-menuoverlay__panel {
    display: none;
  }
}

.v2-menuoverlay__scrollNav {
  position: relative;
  z-index: 0;
  min-height: 0;
  max-height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
}

.v2-menuoverlay__menu {
  list-style: none;
  margin: 0;
  padding: 0 0 1.6rem;
}

.v2-menuoverlay__menuItem {
  margin: 0;
  border-bottom: 1px solid rgba(37, 41, 46, 0.08);
}
.v2-menuoverlay__menuItem:last-child {
  border-bottom: none;
}

.v2-menuoverlay__accordionTrigger {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem;
  padding: 1.5rem 0;
  margin: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  font-family: "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 600;
  font-size: 1.7rem;
  line-height: 1.52;
  color: #25292e;
  text-align: left;
}
.js-focus-visible .v2-menuoverlay__accordionTrigger.focus-visible {
  outline: none;
}
.v2-menuoverlay__accordionTrigger:focus-visible {
  outline: none;
}
.js-focus-visible .v2-menuoverlay__accordionTrigger.focus-visible {
  outline: 2px solid #415bff;
  outline-offset: 2px;
}
.v2-menuoverlay__accordionTrigger:focus-visible {
  outline: 2px solid #415bff;
  outline-offset: 2px;
}

.v2-menuoverlay__accordionLabel {
  flex: 1;
  min-width: 0;
  pointer-events: none;
}

.v2-menuoverlay__accordionChevron {
  display: flex;
  flex-shrink: 0;
  width: 0.9rem;
  height: 0.6rem;
  align-items: center;
  justify-content: center;
  color: #25292e;
  transition: transform 0.2s ease;
  pointer-events: none;
}
.v2-menuoverlay__accordionChevron svg {
  width: 100%;
  height: 100%;
}

.v2-menuoverlay__accordionChevronOpen {
  transform: rotate(180deg);
}

.v2-menuoverlay__accordionPanel {
  padding: 0 0 1.6rem;
}

.v2-menuoverlay__flatLink {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1.5rem 0;
  text-decoration: none;
  font-family: "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 600;
  font-size: 1.7rem;
  line-height: 1.52;
  color: #25292e;
}
@media (hover: hover) and (pointer: fine) {
  .v2-menuoverlay__flatLink:hover:hover {
    color: #415bff;
  }
}
.js-focus-visible .v2-menuoverlay__flatLink.focus-visible {
  outline: 2px solid #415bff;
  outline-offset: 2px;
}
.v2-menuoverlay__flatLink:focus-visible {
  outline: 2px solid #415bff;
  outline-offset: 2px;
}

.v2-menuoverlay__flatLinkText {
  min-width: 0;
}

.v2-menuoverlay__flatLinkIcon {
  display: flex;
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  align-items: center;
  justify-content: flex-start;
}
.v2-menuoverlay__flatLinkIcon svg {
  width: 100%;
  height: 100%;
}

.v2-menuoverlay__footerCta {
  grid-row: 2;
  padding-top: 1.2rem;
  padding-bottom: max(1.2rem, env(safe-area-inset-bottom, 0px));
}

.v2-menuoverlay__ctaTryFree {
  width: 100%;
}

/* ===== footer (components/base/Footer/Footer.module.scss) ===== */
.v2-footer__footer {
  position: relative;
}

.v2-footer__grid {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media only screen and (min-width: 768px) {
  .v2-footer__grid {
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-footer__grid {
    padding: 0;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .v2-footer__grid > * {
    grid-column: span 4/span 4;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-footer__grid > * {
    grid-column: span 12/span 12;
  }
}

.v2-footer__colWide {
  grid-column: span 4/span 4;
}
@media only screen and (min-width: 768px) {
  .v2-footer__colWide {
    grid-column: span 12/span 12;
    margin-bottom: 4rem;
  }
}

.v2-footer__colLeft {
  grid-column: span 4/span 4;
}
@media only screen and (min-width: 768px) {
  .v2-footer__colLeft {
    grid-column: span 8/span 8;
  }
}

.v2-footer__colRight {
  grid-column: span 4/span 4;
  display: flex;
  justify-content: flex-end;
}
@media only screen and (min-width: 768px) {
  .v2-footer__colRight {
    grid-column: span 4/span 4;
  }
}

.v2-footer__navGrid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5.2rem 1.6rem;
}
@media only screen and (min-width: 768px) {
  .v2-footer__navGrid {
    grid-template-columns: repeat(4, 1fr);
    gap: 4.2rem;
  }
}

.v2-footer__logoText {
  font: normal 700 4.9rem/0.97 "PP NeueBit", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.02em;
  background: linear-gradient(90deg, #415bff 0%, #ecdf30 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  width: fit-content;
  line-height: 1;
  font-size: 2.2rem;
}
@media only screen and (min-width: 768px) {
  .v2-footer__logoText {
    font: normal 700 4.9rem/0.97 "PP NeueBit", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.02em;
  }
}

.v2-footer__logo {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  width: 10.5rem;
  height: 1.8rem;
}
@media only screen and (min-width: 768px) {
  .v2-footer__logo {
    gap: 1rem;
    height: 3.32rem;
    width: auto;
    z-index: 12;
  }
}
.v2-footer__logo svg {
  height: 100%;
}

.v2-footer__navColumn {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media only screen and (min-width: 768px) {
  .v2-footer__navColumn {
    gap: 3.2rem;
  }
}

.v2-footer__columnTitle {
  font: normal 600 1.6rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.02em;
  font-size: 1.4rem;
  font-weight: 700;
  color: #25292e;
}
@media only screen and (min-width: 768px) {
  .v2-footer__columnTitle {
    font-size: 1.9rem;
  }
}

.v2-footer__linkList {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.v2-footer__navLink {
  font: normal 400 1.2rem/1.1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  color: #25292e;
  text-decoration: none;
  transition: color 0.3s ease;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  width: fit-content;
}
@media only screen and (min-width: 768px) {
  .v2-footer__navLink {
    font: normal 400 1.6rem/1.5 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
.v2-footer__navLink:hover, .v2-footer__navLink:focus-visible {
  color: #415bff;
}
@media only screen and (min-width: 768px) {
  .v2-footer__navLink {
    gap: 1.2rem;
  }
}

.v2-footer__badge {
  font: normal 400 1.6rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-size: 0.6rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #25292e;
  font-weight: 700;
  border-radius: 0.6rem;
  background: #f4f082;
  width: 2.4rem;
  height: 1.7rem;
}
@media only screen and (min-width: 768px) {
  .v2-footer__badge {
    font: normal 400 2.4rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
@media only screen and (min-width: 768px) {
  .v2-footer__badge {
    border-radius: 0.8rem;
    font-size: 0.8rem;
    width: 3.1rem;
    height: 2.1rem;
  }
}

.v2-footer__illustrationWrapper {
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
  display: flex;
  position: relative;
  aspect-ratio: 1;
  margin-top: 3rem;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-footer__illustrationWrapper {
    max-width: 45rem;
    margin: 3rem auto 0;
  }
}
@media only screen and (min-width: 768px) {
  .v2-footer__illustrationWrapper {
    width: 37.5rem;
    height: auto;
    margin-top: -9.5rem;
    margin-right: 0.5rem;
    aspect-ratio: unset;
  }
}
.v2-footer__illustrationWrapper .v2-footer__footerLottie {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: auto;
  margin: auto;
  pointer-events: none;
}

.v2-footer__footerIllustration {
  width: 100%;
  height: 100%;
}

.v2-footer__footerBottom {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  gap: 4rem;
  margin-bottom: 4.4rem;
}
@media only screen and (min-width: 768px) {
  .v2-footer__footerBottom {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-top: 8rem;
    margin-bottom: 4.4rem;
    gap: 0;
  }
}

.v2-footer__copyright {
  font: normal 400 1.6rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 300;
  font-size: 1.4rem;
  color: #25292e;
}
@media only screen and (min-width: 768px) {
  .v2-footer__copyright {
    font: normal 400 2.4rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
@media only screen and (min-width: 768px) {
  .v2-footer__copyright {
    font-size: 1.9rem;
  }
}

.v2-footer__socialLinksWrapper {
  display: flex;
  gap: 1.2rem;
}

.v2-footer__socialLinks {
  display: flex;
  gap: 3rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media only screen and (min-width: 768px) {
  .v2-footer__socialLinks {
    gap: 3.5rem;
  }
}

.v2-footer__socialLink {
  display: inline-flex;
  aspect-ratio: 1;
}
@media (hover: hover) and (pointer: fine) {
  .v2-footer__socialLink:hover .v2-footer__socialIcon path {
    fill: #415bff;
    transition: fill 0.3s ease;
  }
}

.v2-footer__socialIcon {
  width: 1.8rem;
  height: 1.8rem;
}
.v2-footer__socialIcon path {
  transition: fill 0.3s ease;
}
@media only screen and (min-width: 768px) {
  .v2-footer__socialIcon {
    width: 2.1rem;
    height: 2.1rem;
  }
}

.v2-footer__footerLine {
  position: relative;
  bottom: 0;
  left: -1.5rem;
  width: calc(100% + 6rem);
  height: 1.2rem;
  background: linear-gradient(90deg, #415bff 0%, #ecdf30 20%, #ecdf30 30%, #415bff 50%, #ecdf30 70%, #ecdf30 80%, #415bff 100%);
  background-size: 200% 100%;
  animation: headerLineGradient 8s linear infinite;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .v2-footer__footerLine {
    height: 1.7rem;
    width: 100%;
    left: 0;
  }
}

/* ===== quote (components/sections/Quote/Quote.module.scss) ===== */
.v2-quote__quote {
  position: relative;
  margin: 2rem 0 10rem;
}
@media only screen and (min-width: 768px) {
  .v2-quote__quote {
    margin: 26.5rem 0 20rem;
  }
}

.v2-quote__container {
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  align-items: center;
}
@media only screen and (min-width: 768px) {
  .v2-quote__container {
    padding: 0;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem;
  }
}
.v2-quote__container > * {
  grid-column: span 4/span 4;
}
@media only screen and (min-width: 768px) {
  .v2-quote__container > * {
    grid-column: span 12/span 12;
  }
}

.v2-quote__content {
  display: flex;
  flex-direction: column;
  gap: 3.6rem;
}
@media only screen and (min-width: 768px) {
  .v2-quote__content {
    grid-column-start: 0;
    grid-column: span 12/span 12;
  }
}

.v2-quote__text {
  font: normal 500 3.2rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
}
@media only screen and (min-width: 768px) {
  .v2-quote__text {
    font: normal 500 7rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-quote__textSegment {
  display: inline;
}

.v2-quote__inlineImage {
  display: inline-block;
  vertical-align: middle;
  width: 1.2em;
  height: 1.2em;
  margin: 0 0.15em;
  object-fit: contain;
  opacity: 0.5;
  filter: grayscale(100%);
}

.v2-quote__inlineImageWide {
  width: 8rem;
  height: auto;
}
@media only screen and (min-width: 768px) {
  .v2-quote__inlineImageWide {
    width: 16.9rem;
  }
}

/* ===== textimagefull (components/sections/TextImageFull/TextImageFull.module.scss) ===== */
.v2-textimagefull__textImageFull {
  position: relative;
  aspect-ratio: 390/229;
  display: flex;
  flex-direction: column-reverse;
  gap: 4.2rem;
}
@media only screen and (min-width: 768px) {
  .v2-textimagefull__textImageFull {
    flex-direction: row;
    aspect-ratio: 1740/1020;
    gap: 0;
  }
}

.v2-textimagefull__container {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .v2-textimagefull__container {
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    align-items: center;
    padding: 10rem 0;
    height: 100%;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-textimagefull__container {
    padding: 0;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .v2-textimagefull__container > * {
    grid-column: span 4/span 4;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-textimagefull__container > * {
    grid-column: span 12/span 12;
  }
}

.v2-textimagefull__imageWrapper {
  position: relative;
  aspect-ratio: 390/229;
  z-index: 0;
}
@media only screen and (min-width: 768px) {
  .v2-textimagefull__imageWrapper {
    inset: 0;
    position: absolute;
    left: -8rem;
    right: -8rem;
    aspect-ratio: unset;
  }
}

.v2-textimagefull__image {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.v2-textimagefull__image img,
.v2-textimagefull__image [data-next-image] {
  object-fit: cover;
}
@media only screen and (min-width: 768px) {
  .v2-textimagefull__image {
    background-color: #d9d9d9;
  }
}

.v2-textimagefull__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media only screen and (min-width: 768px) {
  .v2-textimagefull__content {
    grid-column: span 4/span 4;
    grid-column-start: 9;
    gap: 3.6rem;
    margin-bottom: 30rem;
  }
}

.v2-textimagefull__title {
  font: normal 600 2.8rem/1.14 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.02em;
  max-width: 50rem;
}
@media only screen and (min-width: 768px) {
  .v2-textimagefull__title {
    font: normal 600 5.2rem/1.08 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.02em;
  }
}
@media only screen and (min-width: 768px) {
  .v2-textimagefull__title {
    color: #ffffff;
  }
}

.v2-textimagefull__description {
  font: normal 400 1.6rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  max-width: 42.7rem;
  color: #7f7f7f;
  font-weight: 500;
  font-size: 2rem;
}
@media only screen and (min-width: 768px) {
  .v2-textimagefull__description {
    font: normal 400 2.4rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
.v2-textimagefull__description strong {
  color: #25292e;
}
@media only screen and (min-width: 768px) {
  .v2-textimagefull__description {
    color: #ffffff;
    font-weight: 400;
    font-size: 2.4rem;
    max-width: 44rem;
  }
  .v2-textimagefull__description strong {
    color: #ffffff;
  }
}

.v2-textimagefull__imageOverlay {
  position: absolute;
  inset: 0;
  background: #000000;
  opacity: 0.11;
  z-index: 1;
}

.v2-textimagefull__lottieOverlay {
  position: absolute;
  transform: translate(-50%, -50%);
  z-index: 2;
  pointer-events: none;
  height: auto;
}

/* ===== accordion (components/sections/Accordion/Accordion.module.scss) ===== */
.v2-accordion__accordion {
  position: relative;
  margin: 9.5rem 0 3rem;
}
@media only screen and (min-width: 768px) {
  .v2-accordion__accordion {
    margin: 20rem 0;
  }
}

.v2-accordion__container {
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  align-items: center;
}
@media only screen and (min-width: 768px) {
  .v2-accordion__container {
    padding: 0;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem;
  }
}
.v2-accordion__container > * {
  grid-column: span 4/span 4;
}
@media only screen and (min-width: 768px) {
  .v2-accordion__container > * {
    grid-column: span 12/span 12;
  }
}

.v2-accordion__sideDecorations {
  position: absolute;
  top: 0;
  left: 0;
  width: auto;
  height: auto;
  display: flex;
  flex-direction: column;
}

.v2-accordion__sideDecoration {
  display: none;
}
@media only screen and (min-width: 768px) {
  .v2-accordion__sideDecoration {
    display: block;
    width: 3rem;
    height: 12.5rem;
    background-color: #415bff;
  }
  .v2-accordion__sideDecoration:first-child {
    opacity: 1;
  }
  .v2-accordion__sideDecoration:nth-child(2) {
    opacity: 0.8;
  }
  .v2-accordion__sideDecoration:nth-child(3) {
    opacity: 0.4;
  }
  .v2-accordion__sideDecoration:nth-child(4) {
    opacity: 0.1;
  }
}

.v2-accordion__content {
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .v2-accordion__content {
    grid-column: span 4/span 4;
    grid-column-start: 5;
  }
}

.v2-accordion__title {
  font: normal 600 2.8rem/1.14 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.02em;
  margin-bottom: 2.4rem;
}
@media only screen and (min-width: 768px) {
  .v2-accordion__title {
    font: normal 600 5.2rem/1.08 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.02em;
  }
}
.v2-accordion__title span {
  font: normal 700 6.2rem/0.97 "PP NeueBit", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.03em;
  background: linear-gradient(90deg, #415bff 0%, #ecdf30 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  width: fit-content;
}
@media only screen and (min-width: 768px) {
  .v2-accordion__title span {
    font: normal 700 17.6rem/0.76 "PP NeueBit", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.03em;
  }
}

.v2-accordion__description {
  width: 100%;
  color: #8c8c8c;
  font-weight: 500;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-accordion__description {
    font-size: 2rem;
  }
}
.v2-accordion__description strong {
  color: #25292e;
}

.v2-accordion__accordionOuter {
  position: relative;
  margin-top: 8rem;
}
@media only screen and (min-width: 768px) {
  .v2-accordion__accordionOuter {
    margin-top: 10rem;
  }
}

.v2-accordion__accordionWrapper {
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .v2-accordion__accordionWrapper {
    padding: 0;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem;
  }
}
.v2-accordion__accordionWrapper > * {
  grid-column: span 4/span 4;
}
@media only screen and (min-width: 768px) {
  .v2-accordion__accordionWrapper > * {
    grid-column: span 12/span 12;
  }
}

.v2-accordion__accordionItems {
  display: none;
}
@media only screen and (min-width: 768px) {
  .v2-accordion__accordionItems {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    grid-column: span 3/span 3;
    grid-column-start: 2;
    width: 80%;
  }
}

.v2-accordion__item {
  display: flex;
  flex-direction: column;
}

.v2-accordion__itemTitle {
  color: #8c8c8c;
  font: normal 400 1.6rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  margin-bottom: 1.2rem;
  width: 100%;
  cursor: pointer;
  transition: color 0.2s ease, font-weight 0.2s ease;
}
@media only screen and (min-width: 768px) {
  .v2-accordion__itemTitle {
    font: normal 400 2rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
.v2-accordion__itemTitle:hover {
  color: #25292e;
  transition: color 0.2s ease, font-weight 0.2s ease;
}
.v2-accordion__itemTitle:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

.v2-accordion__itemTitleActive {
  color: #415bff;
  font-weight: 600;
}

.v2-accordion__itemTitle:disabled {
  cursor: default;
  pointer-events: none;
}

@media only screen and (min-width: 768px) {
  .v2-accordion__itemDescriptionWrap {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    transition: grid-template-rows 0.6s ease-in-out, opacity 0.4s ease-in-out;
  }
}

@media only screen and (min-width: 768px) {
  .v2-accordion__itemDescriptionWrapActive {
    grid-template-rows: 1fr;
    opacity: 1;
    transition: grid-template-rows 0.5s ease-in-out, opacity 0.8s ease-in-out;
  }
}

@media only screen and (max-width: calc(768px - 1px)) {
  .v2-accordion__itemDescriptionWrapHidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    white-space: nowrap;
    border: 0;
    opacity: 0;
    pointer-events: none;
    max-height: 0;
    margin-bottom: 0;
  }
}

.v2-accordion__itemDescription {
  font: normal 400 1.6rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 500;
  font-size: 1.6rem;
  padding-bottom: 1.2rem;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .v2-accordion__itemDescription {
    font: normal 400 2rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-accordion__imageWrapper {
  order: -1;
  margin-right: -1.5rem;
  position: relative;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-accordion__imageWrapper {
    width: 100vw;
    margin-left: -1.5rem;
    margin-right: 0;
  }
}
@media only screen and (min-width: 768px) {
  .v2-accordion__imageWrapper {
    order: unset;
    align-self: start;
    grid-column: span 8/span 8;
    grid-column-start: 5;
    margin-right: -8rem;
  }
}

@media only screen and (max-width: calc(768px - 1px)) {
  .v2-accordion__sliderTrack {
    display: flex;
    overflow-x: scroll;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .v2-accordion__sliderTrack::-webkit-scrollbar {
    display: none;
  }
}
@media only screen and (min-width: 768px) {
  .v2-accordion__sliderTrack {
    display: contents;
  }
}

.v2-accordion__imageContainer {
  position: relative;
  width: 100%;
  padding-bottom: 65.8928571429%;
  position: relative;
  width: 100%;
}
.v2-accordion__imageContainer > * {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-accordion__imageContainer {
    display: flex;
    width: auto;
    aspect-ratio: unset;
    padding-bottom: 0 !important;
  }
  .v2-accordion__imageContainer::before, .v2-accordion__imageContainer::after {
    display: none;
  }
}

.v2-accordion__image {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.6s ease;
  pointer-events: none;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-accordion__image {
    position: relative;
    inset: unset;
    flex: 0 0 100vw;
    scroll-snap-align: start;
    opacity: 1;
    pointer-events: auto;
    aspect-ratio: 1.5176151762;
    transition: none;
  }
}

.v2-accordion__imageActive {
  opacity: 1;
  pointer-events: auto;
  z-index: 1;
  animation: imageBrightnessReveal 0.85s ease-out forwards;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-accordion__imageActive {
    z-index: auto;
    animation: none;
  }
}

.v2-accordion__imageHidden {
  opacity: 0;
  z-index: 0;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-accordion__imageHidden {
    opacity: 1;
    z-index: auto;
  }
}

.v2-accordion__lottieOverlay {
  position: absolute;
  transform: translate(-50%, 0%);
  z-index: 2;
  pointer-events: none;
  height: auto;
}

.v2-accordion__mobileContent {
  display: flex;
  flex-direction: column;
  margin-top: 2rem;
  height: 28rem;
}
@media only screen and (min-width: 768px) {
  .v2-accordion__mobileContent {
    display: none;
  }
}

.v2-accordion__mobileTitle {
  font: normal 600 2rem/1.3 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  color: #415bff;
  margin-bottom: 1.2rem;
}

.v2-accordion__mobileDescription {
  font: normal 400 1.6rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 500;
  margin-bottom: 2.4rem;
  line-height: 1.5;
  max-width: 27rem;
}
@media only screen and (min-width: 768px) {
  .v2-accordion__mobileDescription {
    font: normal 400 2rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-accordion__dotsRow {
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-accordion__dotsRow {
    order: -1;
    margin-bottom: 2.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .v2-accordion__dotsRow {
    display: none;
  }
}

.v2-accordion__dots {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}

.v2-accordion__dot {
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  border: none;
  padding: 0;
  cursor: pointer;
  background-color: #d9d9d9;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.v2-accordion__dot:focus-visible {
  outline: 2px solid #415bff;
  outline-offset: 2px;
}

.v2-accordion__dotActive {
  background-color: #415bff;
  transform: scale(1.2);
}

.v2-accordion__lottieHint {
  width: 6rem;
  flex-shrink: 0;
}

/* ===== stepperslider (components/sections/StepperSlider/StepperSlider.module.scss) ===== */
.v2-stepperslider__stepperSlider {
  position: relative;
  margin: 6rem 0;
  display: flex;
  flex-direction: column-reverse;
  gap: 2.4rem;
}
@media only screen and (min-width: 768px) {
  .v2-stepperslider__stepperSlider {
    height: 100vh;
    padding: 0;
    margin: 0;
  }
}

.v2-stepperslider__container {
  display: flex;
  flex-direction: column;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .v2-stepperslider__container {
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    align-items: end;
    height: 100%;
    padding: 10rem 0;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-stepperslider__container {
    padding: 0;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .v2-stepperslider__container > * {
    grid-column: span 4/span 4;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-stepperslider__container > * {
    grid-column: span 12/span 12;
  }
}

.v2-stepperslider__content {
  display: contents;
}
@media only screen and (min-width: 768px) {
  .v2-stepperslider__content {
    display: flex;
    flex-direction: column;
    gap: 4rem;
    z-index: 2;
    min-height: 40%;
    grid-column: span 4/span 4;
  }
}

.v2-stepperslider__stepperControls {
  position: absolute;
  bottom: 2rem;
  left: 0;
  z-index: 2;
}
@media only screen and (min-width: 768px) {
  .v2-stepperslider__stepperControls {
    position: static;
    display: flex;
    align-items: center;
    gap: 1.2rem;
  }
}

.v2-stepperslider__steps {
  display: none;
}
@media only screen and (min-width: 768px) {
  .v2-stepperslider__steps {
    display: flex;
    align-items: center;
    gap: 1.2rem;
  }
}

.v2-stepperslider__step {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.4);
  background: transparent;
  color: #ffffff;
  font-weight: 800 !important;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
  font: normal 400 1.2rem/1.1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
}
@media only screen and (min-width: 768px) {
  .v2-stepperslider__step {
    font: normal 400 1.4rem/1.5 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
.v2-stepperslider__step::before {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.25);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.v2-stepperslider__step::after {
  content: "";
  position: absolute;
  inset: -4px;
  z-index: 1;
  border-radius: 50%;
  border: 2px solid #ffffff;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
  mask: conic-gradient(from -90deg, black 0deg, black calc(var(--step-progress, 0) * 360deg), transparent calc(var(--step-progress, 0) * 360deg));
  -webkit-mask: conic-gradient(from -90deg, black 0deg, black calc(var(--step-progress, 0) * 360deg), transparent calc(var(--step-progress, 0) * 360deg));
}
.v2-stepperslider__step:focus-visible {
  outline: 2px solid #415bff;
  outline-offset: 4px;
}
.v2-stepperslider__step.v2-stepperslider__stepActive {
  background: #415bff;
  border-color: #415bff;
  cursor: default;
}
.v2-stepperslider__step.v2-stepperslider__stepActive::before, .v2-stepperslider__step.v2-stepperslider__stepActive::after {
  opacity: 1;
}
.v2-stepperslider__step.v2-stepperslider__stepCompleted {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.4);
}
.v2-stepperslider__step:not(.v2-stepperslider__stepActive):not(.v2-stepperslider__stepCompleted):hover {
  border-color: rgba(255, 255, 255, 0.7);
}

.v2-stepperslider__arrows {
  display: none;
}
@media only screen and (min-width: 768px) {
  .v2-stepperslider__arrows {
    display: flex;
    gap: 1.2rem;
  }
}

.v2-stepperslider__arrow {
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  background-color: transparent !important;
}
.v2-stepperslider__arrow:hover {
  color: #ffffff !important;
  background-color: #415bff !important;
  border-color: #415bff !important;
}

.v2-stepperslider__panels {
  display: grid;
  order: -1;
}
@media only screen and (min-width: 768px) {
  .v2-stepperslider__panels {
    order: unset;
    padding-bottom: 4rem;
  }
}

.v2-stepperslider__panel {
  grid-area: 1/1;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  color: #25292e;
  visibility: hidden;
  pointer-events: none;
}
@media only screen and (min-width: 768px) {
  .v2-stepperslider__panel {
    color: #ffffff;
  }
}
.v2-stepperslider__panel.v2-stepperslider__panelActive {
  visibility: visible;
  pointer-events: auto;
}

.v2-stepperslider__title {
  margin: 0;
  font-weight: 600;
  font: normal 600 2.8rem/1.14 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.02em;
  clip-path: inset(-5% -10% -10% -10%);
}
@media only screen and (min-width: 768px) {
  .v2-stepperslider__title {
    font: normal 600 5.2rem/1.08 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.02em;
  }
}

.v2-stepperslider__description {
  font: normal 400 1.6rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  max-width: 80%;
}
@media only screen and (min-width: 768px) {
  .v2-stepperslider__description {
    font: normal 400 2.4rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
.v2-stepperslider__description p {
  margin: 0 0 0.8rem;
}
.v2-stepperslider__description p:last-child {
  margin-bottom: 0;
}
.v2-stepperslider__description ul {
  margin: 0;
  padding-left: 2rem;
  list-style: disc;
}
.v2-stepperslider__description li {
  margin-bottom: 0.4rem;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-stepperslider__description {
    font-size: 2rem;
    line-height: 1.4;
    font-weight: 500;
    color: #7f7f7f;
    max-width: none;
  }
}

.v2-stepperslider__imageOverlay {
  position: absolute;
  inset: 0;
  background: #000000;
  opacity: 0.11;
  z-index: 2;
  pointer-events: none;
}

.v2-stepperslider__imageWrapper {
  position: relative;
  aspect-ratio: 390/261;
  margin-left: -1.5rem;
  margin-right: -1.5rem;
  z-index: 0;
}
@media only screen and (min-width: 768px) {
  .v2-stepperslider__imageWrapper {
    position: absolute;
    inset: 0;
    left: -8rem;
    right: -8rem;
    aspect-ratio: unset;
    margin: 0;
    overflow: visible;
  }
}

@media only screen and (max-width: calc(768px - 1px)) {
  .v2-stepperslider__sliderTrack {
    position: absolute;
    inset: 0;
    display: flex;
    overflow-x: scroll;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .v2-stepperslider__sliderTrack::-webkit-scrollbar {
    display: none;
  }
}
@media only screen and (min-width: 768px) {
  .v2-stepperslider__sliderTrack {
    display: contents;
  }
}

.v2-stepperslider__imageContainer {
  position: relative;
  width: 100%;
  height: 100%;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-stepperslider__imageContainer {
    display: contents;
  }
}

.v2-stepperslider__image {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.v2-stepperslider__image img {
  aspect-ratio: 580/387;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-stepperslider__image {
    position: relative;
    inset: unset;
    flex: 0 0 100%;
    height: 100%;
    scroll-snap-align: start;
    opacity: 1;
    pointer-events: auto;
    transition: none;
  }
}
.v2-stepperslider__image.v2-stepperslider__imageActive {
  opacity: 1;
  z-index: 1;
  pointer-events: auto;
  animation: imageBrightnessReveal 0.85s ease-out forwards;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-stepperslider__image.v2-stepperslider__imageActive {
    z-index: auto;
    animation: none;
  }
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-stepperslider__image.v2-stepperslider__imageHidden {
    opacity: 1;
    z-index: auto;
  }
}

.v2-stepperslider__lottieOverlay {
  position: absolute;
  transform: translate(-50%, -50%);
  z-index: 2;
  pointer-events: none;
  height: auto;
}

.v2-stepperslider__dotsRow {
  display: flex;
  align-items: center;
  gap: 2rem;
  order: -1;
  margin: 0.5rem 1.5rem 0;
}
@media only screen and (min-width: 768px) {
  .v2-stepperslider__dotsRow {
    display: none;
  }
}

.v2-stepperslider__dots {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}

.v2-stepperslider__lottieHint {
  width: 6rem;
  flex-shrink: 0;
}

.v2-stepperslider__dot {
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  border: none;
  padding: 0;
  cursor: pointer;
  background-color: #d9d9d9;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.v2-stepperslider__dot:focus-visible {
  outline: 2px solid #415bff;
  outline-offset: 2px;
}

.v2-stepperslider__dotActive {
  background-color: #415bff;
  transform: scale(1.2);
}

/* ===== steppercards (components/sections/StepperCards/StepperCards.module.scss) ===== */
.v2-steppercards__stepperCards {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .v2-steppercards__stepperCards {
    margin: 0 0 20rem;
  }
}

.v2-steppercards__container {
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  position: relative;
  gap: 4rem;
  margin: 0 auto 4rem;
}
@media only screen and (min-width: 768px) {
  .v2-steppercards__container {
    padding: 0;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem;
  }
}
.v2-steppercards__container > * {
  grid-column: span 4/span 4;
}
@media only screen and (min-width: 768px) {
  .v2-steppercards__container > * {
    grid-column: span 12/span 12;
  }
}
@media only screen and (min-width: 768px) {
  .v2-steppercards__container {
    margin: 20rem auto 4rem;
    z-index: 3;
  }
}

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

.v2-steppercards__contentTitle {
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 2;
  margin-bottom: 0rem;
}
@media only screen and (min-width: 768px) {
  .v2-steppercards__contentTitle {
    grid-column: span 4/span 4;
    grid-column-start: 5;
    margin-bottom: 11.5rem;
  }
}

.v2-steppercards__title {
  font: normal 600 2.8rem/1.14 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.02em;
  margin-bottom: 1.9rem;
}
@media only screen and (min-width: 768px) {
  .v2-steppercards__title {
    font: normal 600 5.2rem/1.08 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.02em;
  }
}
.v2-steppercards__title span {
  font: normal 700 6.2rem/0.97 "PP NeueBit", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.03em;
  background: linear-gradient(90deg, #415bff 0%, #ecdf30 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  width: fit-content;
}
@media only screen and (min-width: 768px) {
  .v2-steppercards__title span {
    font: normal 700 17.6rem/0.76 "PP NeueBit", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.03em;
  }
}

.v2-steppercards__description {
  width: 100%;
  font-weight: 500;
  color: #7f7f7f;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-steppercards__description {
    font-size: 2rem !important;
    padding-right: 2rem;
  }
}
.v2-steppercards__description strong {
  color: #25292e;
}

.v2-steppercards__contentListWrapper {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .v2-steppercards__contentListWrapper {
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-steppercards__contentListWrapper {
    padding: 0;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .v2-steppercards__contentListWrapper > * {
    grid-column: span 4/span 4;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-steppercards__contentListWrapper > * {
    grid-column: span 12/span 12;
  }
}

.v2-steppercards__contentList {
  color: #8c8c8c;
  display: none;
  flex-direction: column;
  gap: 3rem;
  z-index: 2;
  min-height: 40%;
}
@media only screen and (min-width: 768px) {
  .v2-steppercards__contentList {
    display: flex;
    grid-column: span 3/span 3;
    grid-column-start: 2;
    gap: 4rem;
  }
}

.v2-steppercards__stepperControls {
  display: flex;
  align-items: center;
  gap: 2.8rem;
}

.v2-steppercards__steps {
  display: flex;
  flex-direction: column;
  gap: 2.8rem;
}

.v2-steppercards__step {
  position: relative;
  font: normal 600 2rem/1.3 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  transition: font-weight 0.2s ease, color 0.2s ease;
}
.v2-steppercards__step.v2-steppercards__stepActive {
  color: #415bff;
}
.v2-steppercards__step:hover {
  color: #25292e;
  transition: font-weight 0.2s ease, color 0.2s ease;
}

.v2-steppercards__imageWrapper {
  display: none;
}
@media only screen and (min-width: 768px) {
  .v2-steppercards__imageWrapper {
    display: block;
    position: absolute;
    inset: 0;
    top: -7rem;
    left: auto;
    right: -8rem;
    aspect-ratio: 938/855;
    width: 93.7535rem;
    height: 85.5rem;
    z-index: 0;
  }
}

.v2-steppercards__imageContainer {
  display: none;
}
@media only screen and (min-width: 768px) {
  .v2-steppercards__imageContainer {
    display: block;
    position: relative;
    height: 100%;
    width: 100%;
  }
}

.v2-steppercards__pixelatedHeart {
  display: flex;
  width: 100%;
  height: 100%;
}

.v2-steppercards__sideDecorations {
  display: none;
}
@media only screen and (min-width: 768px) {
  .v2-steppercards__sideDecorations {
    position: absolute;
    top: 0;
    left: 0;
    width: auto;
    height: auto;
    display: flex;
    flex-direction: column;
  }
}

.v2-steppercards__sideDecoration {
  display: block;
  width: 3rem;
  height: 12.5rem;
  background-color: #415bff;
}
.v2-steppercards__sideDecoration:first-child {
  opacity: 1;
}
.v2-steppercards__sideDecoration:nth-child(2) {
  opacity: 0.8;
}
.v2-steppercards__sideDecoration:nth-child(3) {
  opacity: 0.4;
}
.v2-steppercards__sideDecoration:nth-child(4) {
  opacity: 0.1;
}

.v2-steppercards__cards {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .v2-steppercards__cards {
    grid-column: span 4/span 4;
    grid-column-start: 5;
  }
}

.v2-steppercards__bubble {
  position: absolute;
  z-index: 10;
  display: none;
  pointer-events: none;
  left: calc(50% + var(--x, 0px));
  top: calc(50% + var(--y, 0px));
}
@media only screen and (min-width: 768px) {
  .v2-steppercards__bubble {
    display: block;
    width: 26rem;
  }
}

.v2-steppercards__bubbleInner {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.4rem 2rem 1.4rem 2rem;
  border-radius: 3rem;
  white-space: nowrap;
  animation: levitate 3s ease-in-out infinite;
  filter: drop-shadow(0 1.0973rem 0.1219rem rgba(68, 55, 108, 0.1));
  outline: 1px solid rgba(68, 55, 108, 0.1);
}

.v2-steppercards__bubbleDark .v2-steppercards__bubbleInner {
  background: #4b525c;
  color: #ffffff;
  width: 24.7rem;
}

.v2-steppercards__bubbleWhite .v2-steppercards__bubbleInner {
  background: #ffffff;
  color: #25292e;
}

.v2-steppercards__bubble:nth-child(3n+1) .v2-steppercards__bubbleInner {
  animation-delay: 0s;
}

.v2-steppercards__bubble:nth-child(3n+2) .v2-steppercards__bubbleInner {
  animation-delay: 1s;
}

.v2-steppercards__bubble:nth-child(3n+3) .v2-steppercards__bubbleInner {
  animation-delay: 2s;
}

.v2-steppercards__bubbleAvatar {
  width: 3.3rem;
  height: 3.3rem;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}

.v2-steppercards__bubbleText {
  font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.33rem;
  line-height: 1.4;
  font-weight: 400;
}

.v2-steppercards__cardStack {
  display: grid;
}

.v2-steppercards__card {
  grid-area: 1/1;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6rem 4rem;
  border-radius: 1.4rem;
  background: #ffffff;
  box-shadow: 0 1.1rem 0 0 rgba(37, 41, 46, 0.03);
  color: #25292e;
  transform-origin: center bottom;
}
@media only screen and (min-width: 768px) {
  .v2-steppercards__card {
    height: 64rem;
    padding: 9rem 5.6rem;
    border-radius: 3.6rem;
  }
}

.v2-steppercards__dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.6rem;
  padding-top: 6rem;
}
@media only screen and (min-width: 768px) {
  .v2-steppercards__dots {
    display: none;
  }
}

.v2-steppercards__dot {
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  background: #d9d9d9;
  transition: background 0.2s ease;
  z-index: 5;
}
.v2-steppercards__dot.v2-steppercards__dotActive {
  background: #415bff;
}

.v2-steppercards__cardContent {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 3rem;
  flex: 1;
  min-width: 0;
  height: 100%;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-steppercards__cardContent {
    gap: 4.6rem;
  }
}

.v2-steppercards__cardTitleRow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.v2-steppercards__cardTitle {
  font: normal 400 1.8rem/1.3 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 500 !important;
  line-height: 1.17;
  width: 90%;
}
@media only screen and (min-width: 768px) {
  .v2-steppercards__cardTitle {
    font: normal 400 3.2rem/1.3 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-steppercards__cardTitle {
    font-size: 2rem;
  }
}

.v2-steppercards__cardIndex {
  font: normal 400 1.6rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  flex-shrink: 0;
  font-size: 1.33rem;
}
@media only screen and (min-width: 768px) {
  .v2-steppercards__cardIndex {
    font: normal 400 2rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-steppercards__cardIndex {
    font-size: 1rem;
  }
}

.v2-steppercards__cardImage {
  position: relative;
  width: 100%;
  aspect-ratio: 387/231;
  overflow: hidden;
  flex-shrink: 0;
  margin: 0 auto;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-steppercards__cardImage {
    max-width: 45rem;
  }
}

.v2-steppercards__cardDescription {
  font: normal 400 1.6rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  max-width: 90%;
  line-height: 1.5;
}
@media only screen and (min-width: 768px) {
  .v2-steppercards__cardDescription {
    font: normal 400 2rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
.v2-steppercards__cardDescription strong {
  color: #25292e;
  font-weight: 600;
}
.v2-steppercards__cardDescription p {
  margin: 0 0 0.4rem;
}
.v2-steppercards__cardDescription p:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .v2-steppercards__cardDescription {
    max-width: 35rem;
    padding-left: 1rem;
  }
}

.v2-steppercards__cardLabel {
  font: normal 400 1.6rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
}
@media only screen and (min-width: 768px) {
  .v2-steppercards__cardLabel {
    font: normal 400 2rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-steppercards__cardIcon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
}
@media only screen and (min-width: 768px) {
  .v2-steppercards__cardIcon {
    width: 4.8rem;
    height: 4.8rem;
  }
}

/* ===== twocolumn5050 (components/sections/TwoColumn5050/TwoColumn5050.module.scss) ===== */
.v2-twocolumn5050__twoColumn5050 {
  position: relative;
}

.v2-twocolumn5050__container {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  gap: 4rem;
  margin: 10rem auto 0;
}
@media only screen and (min-width: 768px) {
  .v2-twocolumn5050__container {
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    padding: 10rem 0 0;
    margin: 0;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-twocolumn5050__container {
    padding: 0;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .v2-twocolumn5050__container > * {
    grid-column: span 4/span 4;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-twocolumn5050__container > * {
    grid-column: span 12/span 12;
  }
}
@media only screen and (min-width: 768px) {
  .v2-twocolumn5050__container > .v2-twocolumn5050__imageWrapper {
    grid-column: span 7/span 7;
  }
  .v2-twocolumn5050__container > .v2-twocolumn5050__content {
    grid-column: span 5/span 5;
  }
}

.v2-twocolumn5050__imageWrapper {
  position: relative;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twocolumn5050__imageWrapper {
    display: contents;
  }
}

.v2-twocolumn5050__image {
  position: relative;
  width: 100%;
  aspect-ratio: 1806/3016;
  overflow: hidden;
}
.v2-twocolumn5050__image img,
.v2-twocolumn5050__image [data-next-image] {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twocolumn5050__image {
    max-width: 45rem;
  }
}

.v2-twocolumn5050__content {
  display: flex;
  flex-direction: column;
  gap: 3.6rem;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twocolumn5050__content {
    gap: 1.6rem;
  }
}

.v2-twocolumn5050__cta {
  align-self: flex-start;
  margin-top: 0.5rem;
}

.v2-twocolumn5050__title {
  font: normal 600 4.6rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
}
@media only screen and (min-width: 768px) {
  .v2-twocolumn5050__title {
    font: normal 600 9.2rem/1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
.v2-twocolumn5050__title span {
  font: normal 700 6.2rem/0.97 "PP NeueBit", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.03em;
  background: linear-gradient(90deg, #415bff 0%, #ecdf30 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  width: fit-content;
  font-size: 8rem;
  vertical-align: super;
  margin-left: -1.6rem;
  display: inline-block;
  transform: translateY(0.2rem);
}
@media only screen and (min-width: 768px) {
  .v2-twocolumn5050__title span {
    font: normal 700 17.6rem/0.76 "PP NeueBit", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.03em;
  }
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twocolumn5050__title span {
    font-size: 5.2rem;
    font-weight: 700;
    line-height: 97%;
    letter-spacing: -0.104rem;
    margin-left: -1rem;
  }
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twocolumn5050__title {
    font-size: 6rem;
    line-height: 1;
  }
}

.v2-twocolumn5050__description {
  font: normal 400 1.6rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 500;
  color: #8c8c8c;
  max-width: 49rem;
}
@media only screen and (min-width: 768px) {
  .v2-twocolumn5050__description {
    font: normal 400 2.4rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
.v2-twocolumn5050__description strong {
  color: #25292e;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twocolumn5050__description {
    font-size: 2rem;
    line-height: 1.4;
    padding-right: 2rem;
  }
}

.v2-twocolumn5050__lottieOverlay {
  position: absolute;
  transform: translate(-50%, -50%);
  z-index: 2;
  pointer-events: none;
  height: auto;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twocolumn5050__lottieOverlay {
    display: none;
  }
}

/* ===== twoblocks6040 (components/sections/TwoBlocks6040/TwoBlocks6040.module.scss) ===== */
.v2-twoblocks6040__twoBlocks6040 {
  position: relative;
}

.v2-twoblocks6040__container {
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  align-items: stretch;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks6040__container {
    padding: 0;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem;
  }
}
.v2-twoblocks6040__container > * {
  grid-column: span 4/span 4;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks6040__container > * {
    grid-column: span 12/span 12;
  }
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks6040__container > .v2-twoblocks6040__firstBlock {
    grid-column: span 7/span 7;
  }
  .v2-twoblocks6040__container > .v2-twoblocks6040__secondBlock {
    grid-column: span 5/span 5;
  }
}

.v2-twoblocks6040__firstBlock {
  min-height: 25.6rem;
  border-radius: 1.4rem;
  background-color: #415bff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 2.4rem 1.8rem;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks6040__firstBlock {
    min-height: 66.2rem;
    border-radius: 3.6rem;
    padding: 4.6rem 5.6rem 5.7rem;
  }
}

.v2-twoblocks6040__secondBlock {
  min-height: 36.5rem;
  border-radius: 1.4rem;
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: stretch;
  padding: 5.6rem 2rem 2rem;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks6040__secondBlock {
    min-height: 66.2rem;
    padding: 4rem;
    border-radius: 3.6rem;
  }
}

.v2-twoblocks6040__firstBlockInner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  min-height: 0;
}

.v2-twoblocks6040__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks6040__pills {
    gap: 1.2rem;
  }
}

.v2-twoblocks6040__pill {
  display: inline-flex;
  align-items: center;
  min-height: 2.6rem;
  padding: 0.8rem;
  border-radius: 999rem;
  font: normal 400 1.5rem/1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  font-size: 1rem;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks6040__pill {
    font: normal 400 2.2rem/1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
.v2-twoblocks6040__pill--default {
  background-color: #ffffff;
  color: #25292e;
}
.v2-twoblocks6040__pill--active {
  background-color: #25292e;
  color: #ffffff;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks6040__pill {
    min-height: 5.8rem;
    padding: 1.8rem 2.4rem;
    font-size: 2.2rem;
  }
}

.v2-twoblocks6040__pillIcon {
  width: 1.6rem;
  height: 0.4rem;
  color: #25292e;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks6040__pillIcon {
    width: 2.6rem;
    height: 0.4rem;
  }
}

.v2-twoblocks6040__bottomText {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  gap: 2rem;
}

.v2-twoblocks6040__title {
  font: normal 400 1.8rem/1.3 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  color: #ffffff;
  margin: 0;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks6040__title {
    font: normal 400 3.2rem/1.3 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-twoblocks6040__subtitle {
  font: normal 400 1.2rem/1.1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  color: #ffffff;
  margin: 0;
  text-align: right;
  flex-shrink: 0;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks6040__subtitle {
    font: normal 400 1.4rem/1.5 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks6040__subtitle {
    font-size: 1.4rem;
    line-height: 1.75;
  }
}

.v2-twoblocks6040__secondBlockInner {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}

.v2-twoblocks6040__secondBlockContent {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  min-height: 0;
}

.v2-twoblocks6040__graphicWrapper {
  position: relative;
  flex: 1 1 auto;
  min-height: 20rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.v2-twoblocks6040__visual {
  position: absolute;
  width: 22rem;
  height: 21.4rem;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks6040__visual {
    width: 40rem;
    height: 39rem;
  }
}

.v2-twoblocks6040__card {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem;
  background-color: #ffffff;
  border-radius: 1rem;
  box-shadow: 0 13.233px 4.411px 0 rgba(0, 0, 0, 0.06);
  animation: levitate 3s ease-in-out infinite;
}
.v2-twoblocks6040__card:nth-child(3n+1) {
  animation-delay: 0s;
}
.v2-twoblocks6040__card:nth-child(3n+2) {
  animation-delay: 1s;
}
.v2-twoblocks6040__card:nth-child(3n+3) {
  animation-delay: 2s;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks6040__card {
    gap: 1.2rem;
    padding: 1rem;
    border-radius: 2rem;
    box-shadow: 0 24px 8px 0 rgba(37, 41, 46, 0.06);
  }
}

.v2-twoblocks6040__cards {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 6rem;
  width: 100%;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks6040__cards {
    gap: 10rem;
  }
}
.v2-twoblocks6040__cards .v2-twoblocks6040__card:first-child {
  align-self: flex-end;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twoblocks6040__cards .v2-twoblocks6040__card:first-child {
    margin-right: 1rem;
  }
}
.v2-twoblocks6040__cards .v2-twoblocks6040__card:last-child {
  align-self: flex-start;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twoblocks6040__cards .v2-twoblocks6040__card:last-child {
    margin-left: 2rem;
  }
}

.v2-twoblocks6040__cardIcon {
  flex-shrink: 0;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(65, 91, 255, 0.12);
  color: #415bff;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks6040__cardIcon {
    width: 4.4rem;
    height: 4.4rem;
  }
}
.v2-twoblocks6040__cardIcon svg,
.v2-twoblocks6040__cardIcon img {
  width: 0.8rem;
  height: 0.8rem;
  object-fit: contain;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks6040__cardIcon svg,
  .v2-twoblocks6040__cardIcon img {
    width: 2rem;
    height: 2rem;
  }
}

.v2-twoblocks6040__cardText {
  flex: 1;
  font: normal 400 1.6rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-size: 0.9rem !important;
  font-weight: 600;
  color: #25292e;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks6040__cardText {
    font: normal 400 2rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks6040__cardText {
    font-size: 1.5rem !important;
  }
}

.v2-twoblocks6040__cardArrow {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #25292e;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twoblocks6040__cardArrow {
    width: 1.2rem;
    height: 1.2rem;
    padding: 0.1rem;
    margin-right: 0.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks6040__cardArrow {
    padding: 0.8rem 0.5rem;
    width: 2.4rem;
    height: 2.4rem;
  }
}

.v2-twoblocks6040__secondBottomText {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  gap: 2rem;
  margin-top: 2rem;
}

.v2-twoblocks6040__secondTitle {
  font: normal 400 1.8rem/1.3 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  line-height: 1;
  color: #25292e;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks6040__secondTitle {
    font: normal 400 3.2rem/1.3 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-twoblocks6040__secondSubtitle {
  font: normal 400 1.2rem/1.1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  color: #25292e;
  margin: 0;
  text-align: right;
  flex-shrink: 0;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks6040__secondSubtitle {
    font: normal 400 1.4rem/1.5 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twoblocks6040__secondSubtitle {
    font-size: 1rem;
    line-height: 1.25;
  }
}

/* ===== twoblocks4060 (components/sections/TwoBlocks4060/TwoBlocks4060.module.scss) ===== */
.v2-twoblocks4060__twoBlocks4060 {
  position: relative;
}

.v2-twoblocks4060__container {
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  align-items: stretch;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks4060__container {
    padding: 0;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem;
  }
}
.v2-twoblocks4060__container > * {
  grid-column: span 4/span 4;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks4060__container > * {
    grid-column: span 12/span 12;
  }
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks4060__container > .v2-twoblocks4060__firstBlock {
    grid-column: span 5/span 5;
  }
  .v2-twoblocks4060__container > .v2-twoblocks4060__secondBlock {
    grid-column: span 7/span 7;
  }
}

.v2-twoblocks4060__firstBlock {
  min-height: 36.5rem;
  border-radius: 1.4rem;
  padding: 2rem;
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks4060__firstBlock {
    padding: 4.6rem 5.6rem 5.7rem;
    min-height: 66.2rem;
    border-radius: 3.6rem;
  }
}

.v2-twoblocks4060__secondBlock {
  min-height: 36.5rem;
  border-radius: 1.4rem;
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: stretch;
  padding: 9.5rem 4rem 2rem;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks4060__secondBlock {
    padding: 4rem;
    min-height: 66.2rem;
    border-radius: 3.6rem;
  }
}

.v2-twoblocks4060__firstBlockInner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  min-height: 0;
}

.v2-twoblocks4060__firstBlockImage {
  position: relative;
  flex: 1 1 auto;
  aspect-ratio: 4/3;
  max-width: 67.5%;
  margin: 0 auto;
}
.v2-twoblocks4060__firstBlockImage .v2-twoblocks4060__firstBlockLottie {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: auto;
  margin: auto;
  pointer-events: none;
}

.v2-twoblocks4060__firstBlockImg {
  object-fit: contain;
}

.v2-twoblocks4060__bottomText {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  gap: 2rem;
}

.v2-twoblocks4060__title {
  font: normal 400 1.8rem/1.3 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  color: #25292e;
  margin: 0;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks4060__title {
    font: normal 400 3.2rem/1.3 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twoblocks4060__title {
    font-size: 1.8rem;
  }
}

.v2-twoblocks4060__subtitle {
  font: normal 400 1.2rem/1.1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  color: #25292e;
  margin: 0;
  text-align: right;
  flex-shrink: 0;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks4060__subtitle {
    font: normal 400 1.4rem/1.5 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twoblocks4060__subtitle {
    font-size: 1rem;
    line-height: 1.25;
  }
}

.v2-twoblocks4060__secondBlockInner {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}

.v2-twoblocks4060__secondBlockContent {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  min-height: 0;
}

.v2-twoblocks4060__graphicWrapper {
  position: relative;
  flex: 1 1 auto;
  min-height: 20rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.v2-twoblocks4060__graphic {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  opacity: 0.15;
  transform: scale(1.2);
  background-image: repeating-linear-gradient(0deg, #415bff 0, #415bff 2px, transparent 2px, transparent 8px);
  mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, black 20%, transparent 70%);
  mask-size: 100% 100%;
  mask-repeat: no-repeat;
}

.v2-twoblocks4060__card {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding: 1.6rem 2rem;
  background-color: #ffffff;
  border-radius: 1.4rem;
  box-shadow: 0 24px 8px 0 rgba(37, 41, 46, 0.06);
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks4060__card {
    border-radius: 3.6rem;
  }
}

.v2-twoblocks4060__cards {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 10rem;
  width: 100%;
  margin: 0 auto;
}
.v2-twoblocks4060__cards .v2-twoblocks4060__card:first-child {
  align-self: flex-end;
}
.v2-twoblocks4060__cards .v2-twoblocks4060__card:last-child {
  align-self: flex-start;
}

.v2-twoblocks4060__cardIcon {
  flex-shrink: 0;
  width: 4.4rem;
  height: 4.4rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(65, 91, 255, 0.12);
  color: #415bff;
}
.v2-twoblocks4060__cardIcon svg,
.v2-twoblocks4060__cardIcon img {
  width: 2rem;
  height: 2rem;
  object-fit: contain;
}

.v2-twoblocks4060__cardText {
  flex: 1;
  font: normal 400 1.6rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-size: 1.5rem !important;
  font-weight: 600;
  color: #25292e;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks4060__cardText {
    font: normal 400 2rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-twoblocks4060__cardArrow {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.8rem 0.5rem;
  color: #25292e;
}

.v2-twoblocks4060__secondBottomText {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  gap: 2rem;
  margin-top: 2rem;
}

.v2-twoblocks4060__secondTitle {
  font: normal 600 4.6rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  color: #25292e;
  margin: 4rem auto 0;
  width: 75%;
  text-align: center;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks4060__secondTitle {
    font: normal 600 9.2rem/1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
.v2-twoblocks4060__secondTitle span {
  font: normal 700 6.2rem/0.97 "PP NeueBit", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.03em;
  background: linear-gradient(90deg, #415bff 0%, #ecdf30 20%, #ecdf30 30%, #415bff 50%, #ecdf30 70%, #ecdf30 80%, #415bff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  width: fit-content;
  background-size: 200% 100%;
  animation: headerLineGradient 8s linear infinite;
  font-size: 15.4rem;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks4060__secondTitle span {
    font: normal 700 17.6rem/0.76 "PP NeueBit", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.03em;
  }
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twoblocks4060__secondTitle {
    font-size: 4rem;
    line-height: 1;
    margin: 0;
    width: 95%;
  }
  .v2-twoblocks4060__secondTitle span {
    font-size: 6.7rem;
    line-height: 0;
  }
}

.v2-twoblocks4060__secondBlockListWrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 1rem;
  width: 100%;
  height: 100%;
  min-height: 0;
}
.v2-twoblocks4060__secondBlockListWrapper .v2-twoblocks4060__secondTitle {
  text-align: center;
}

.v2-twoblocks4060__secondBlockListVersion {
  font: normal 700 4.9rem/0.97 "PP NeueBit", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.02em;
  background: linear-gradient(90deg, #415bff 0%, #ecdf30 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: absolute;
  top: -1rem;
  right: 0.5rem;
  background-clip: text;
  width: fit-content;
  line-height: 1;
  font-size: 2.4rem;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks4060__secondBlockListVersion {
    font: normal 700 4.9rem/0.97 "PP NeueBit", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.02em;
    font-size: 5.4rem;
    top: -2rem;
    right: 2rem;
  }
}

.v2-twoblocks4060__secondBlockListWrapper .v2-twoblocks4060__secondBottomText {
  flex-direction: column;
  align-items: flex-start;
  gap: 1.2rem;
  margin-top: 0;
}

.v2-twoblocks4060__secondBlockList {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  width: 100%;
  flex: 1 1 auto;
  min-height: 22rem;
  z-index: 0;
}

.v2-twoblocks4060__secondBlockListItem {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  font: normal 400 1.2rem/1.1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  text-align: center;
  transition: color 0.4s ease;
  will-change: transform, opacity;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks4060__secondBlockListItem {
    font: normal 400 1.6rem/1.5 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-twoblocks4060__secondBlockListIcon {
  flex-shrink: 0;
  width: 2.4rem;
  height: 2.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #25292e;
  padding: 0.4rem;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twoblocks4060__secondBlockListIcon {
    width: 1.8rem;
    height: 1.8rem;
    padding: 0.3rem;
  }
}

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

.v2-twoblocks4060__secondBlockListItem--active {
  color: #25292e;
}
.v2-twoblocks4060__secondBlockListItem--active .v2-twoblocks4060__secondBlockListIcon {
  color: #25292e;
}

.v2-twoblocks4060__secondBlockListItem--default {
  font-weight: 400;
  color: #b0b0b0;
}

.v2-twoblocks4060__secondSubtitle {
  font: normal 400 1.2rem/1.1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  color: #25292e;
  margin: 0;
  text-align: right;
  flex-shrink: 0;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks4060__secondSubtitle {
    font: normal 400 1.4rem/1.5 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-twoblocks4060__stackedCards {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  gap: 0;
  width: 100%;
  max-width: 32rem;
  margin: 0 auto;
}

.v2-twoblocks4060__stackedCard {
  width: 100%;
  padding: 2rem 2.4rem;
  border-radius: 1.4rem;
  box-shadow: 0 8px 24px rgba(37, 41, 46, 0.08);
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  font: normal 400 1.6rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks4060__stackedCard {
    font: normal 400 2rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks4060__stackedCard {
    border-radius: 3.6rem;
  }
}
.v2-twoblocks4060__stackedCard:not(:last-child) {
  margin-bottom: -1.2rem;
}

.v2-twoblocks4060__stackedCardMain {
  background-color: #415bff;
  color: #ffffff;
  padding: 2.4rem 2.8rem;
  z-index: 2;
  order: 3;
}

.v2-twoblocks4060__stackedCardAmount {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.v2-twoblocks4060__stackedCardValue {
  font: normal 400 1.8rem/1.3 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.2;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks4060__stackedCardValue {
    font: normal 400 3.2rem/1.3 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-twoblocks4060__stackedCardLabel {
  font: normal 400 1.2rem/1.1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.9);
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks4060__stackedCardLabel {
    font: normal 400 1.4rem/1.5 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-twoblocks4060__stackedCardIcon {
  flex-shrink: 0;
  width: 4rem;
  height: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
}

.v2-twoblocks4060__stackedCardTitle {
  font-weight: 400;
  color: #25292e;
}

.v2-twoblocks4060__stackedCards .v2-twoblocks4060__stackedCard:not(.v2-twoblocks4060__stackedCardMain) {
  background-color: #f5f5f7;
}
.v2-twoblocks4060__stackedCards .v2-twoblocks4060__stackedCard:not(.v2-twoblocks4060__stackedCardMain):first-of-type {
  background-color: #f8fafc;
}

/* ===== twoblocks7030 (components/sections/TwoBlocks7030/TwoBlocks7030.module.scss) ===== */
.v2-twoblocks7030__twoBlocks7030 {
  position: relative;
}

.v2-twoblocks7030__container {
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  align-items: stretch;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks7030__container {
    padding: 0;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem;
  }
}
.v2-twoblocks7030__container > * {
  grid-column: span 4/span 4;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks7030__container > * {
    grid-column: span 12/span 12;
  }
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks7030__container > .v2-twoblocks7030__firstBlock {
    grid-column: span 8/span 8;
  }
  .v2-twoblocks7030__container > .v2-twoblocks7030__secondBlock {
    grid-column: span 4/span 4;
  }
}

.v2-twoblocks7030__firstBlock {
  min-height: 25.6rem;
  border-radius: 1.4rem;
  position: relative;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks7030__firstBlock {
    min-height: 25.6rem;
  }
}
@media only screen and (min-width: 650px) {
  .v2-twoblocks7030__firstBlock {
    min-height: 40rem;
  }
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks7030__firstBlock {
    min-height: 66.2rem;
    border-radius: 3.6rem;
  }
}

.v2-twoblocks7030__firstBlockImage {
  position: absolute;
  inset: 0;
}

.v2-twoblocks7030__firstBlockImg {
  object-fit: cover;
}

.v2-twoblocks7030__title {
  font: normal 400 1.8rem/1.3 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  line-height: 1;
  color: #ffffff;
  margin: 0;
  position: absolute;
  bottom: 5.7rem;
  left: 5.6rem;
  right: 5.6rem;
  z-index: 1;
  max-width: 38rem;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks7030__title {
    font: normal 400 3.2rem/1.3 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twoblocks7030__title {
    bottom: 2rem;
    left: 2rem;
    max-width: 22rem;
  }
}

.v2-twoblocks7030__secondBlock {
  position: relative;
  min-height: 25.6rem;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks7030__secondBlock {
    min-height: 66.2rem;
  }
}

.v2-twoblocks7030__cardStack {
  display: grid;
  height: 100%;
}

.v2-twoblocks7030__card {
  grid-area: 1/1;
  display: flex;
  flex-direction: column;
  justify-content: stretch;
  border-radius: 1.4rem;
  padding: 7.5rem 4rem 10rem;
  background-color: #ffffff;
  box-shadow: 0 1.1rem 0 0 rgba(37, 41, 46, 0.03);
  transform-origin: center bottom;
  cursor: pointer;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks7030__card {
    padding: 16rem 4rem 10rem;
    border-radius: 3.6rem;
  }
}

.v2-twoblocks7030__secondBlockContent {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  text-align: center;
  height: 100%;
  min-height: 0;
}

.v2-twoblocks7030__bottomText {
  font: normal 400 1.6rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  color: #25292e;
  text-align: center;
  margin-top: 6rem;
  margin-bottom: 1rem;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks7030__bottomText {
    font: normal 400 2rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks7030__bottomText {
    margin-top: 4.2rem;
    margin-bottom: 0;
  }
}
.v2-twoblocks7030__bottomText a {
  color: #25292e;
  position: relative;
  display: inline-block;
  text-decoration: none;
  --underline-thickness: 0.15rem;
  --underline-distance: 0.1rem;
  font-weight: 600;
}
.v2-twoblocks7030__bottomText a::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  bottom: calc(-1 * var(--underline-distance));
  height: var(--underline-thickness);
  background-color: currentcolor;
  transform: translateY(0);
  transition: transform 0.2s ease-out;
  pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
  .v2-twoblocks7030__bottomText a:hover:hover::after {
    transform: translateY(3px);
  }
}
@media (prefers-reduced-motion) {
  .v2-twoblocks7030__bottomText a::after {
    transition: none;
  }
}
@media (prefers-reduced-motion) and (hover: hover) and (pointer: fine) {
  .v2-twoblocks7030__bottomText a:hover:hover::after {
    transform: none;
  }
}
@media (hover: hover) and (pointer: fine) {
  .v2-twoblocks7030__bottomText a:hover:hover:not(:disabled) {
    color: #415bff;
  }
}

.v2-twoblocks7030__contentGroup {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  flex: 1;
  gap: 2rem;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twoblocks7030__contentGroup {
    gap: 1.2rem;
  }
}

.v2-twoblocks7030__valueWrapper {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0.6rem;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twoblocks7030__valueWrapper {
    gap: 0;
  }
}

.v2-twoblocks7030__value {
  font: normal 500 4.2rem/0.97 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.02em;
  font-size: 19rem;
  font-weight: 600;
  color: #415bff;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks7030__value {
    font: normal 500 11.4rem/0.97 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.02em;
  }
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twoblocks7030__value {
    font-size: 13.6rem;
    line-height: 1;
  }
}

.v2-twoblocks7030__suffix {
  font-size: 4.2rem;
  font-weight: 700;
  color: #415bff;
  line-height: 1;
  margin-top: 2rem;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twoblocks7030__suffix {
    font-size: 3rem;
    line-height: 1.5;
    margin: 0.6rem;
  }
}

.v2-twoblocks7030__description {
  display: flex;
  flex-direction: column;
  margin: 0;
  width: 100%;
  max-width: 25rem;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twoblocks7030__description {
    max-width: 17.6rem;
  }
}

.v2-twoblocks7030__descriptionLine1 {
  font: normal 600 2rem/1.3 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  color: #25292e;
  line-height: 1.5;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twoblocks7030__descriptionLine1 {
    font-size: 1.6rem;
    line-height: 1.5;
  }
}

.v2-twoblocks7030__descriptionLine2 {
  font: normal 600 2rem/1.3 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  color: #25292e;
  line-height: 1.5;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twoblocks7030__descriptionLine2 {
    font-size: 1.6rem;
    line-height: 1.5;
  }
}

.v2-twoblocks7030__bullets {
  position: absolute;
  bottom: 7.5rem;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  gap: 1.2rem;
  z-index: 10;
}
@media only screen and (min-width: 768px) {
  .v2-twoblocks7030__bullets {
    bottom: 8rem;
  }
}

.v2-twoblocks7030__bullet {
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  border: none;
  padding: 0;
  cursor: pointer;
  background-color: #d9d9d9;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.v2-twoblocks7030__bullet:hover {
  background-color: #8c8c8c;
}
.v2-twoblocks7030__bullet:focus-visible {
  outline: 2px solid #415bff;
  outline-offset: 2px;
}

.v2-twoblocks7030__bulletActive {
  background-color: #415bff;
  transform: scale(1.2);
}
.v2-twoblocks7030__bulletActive:hover {
  background-color: #415bff;
}

/* ===== tagcloud (components/sections/TagCloud/TagCloud.module.scss) ===== */
.v2-tagcloud__tagCloud {
  position: relative;
}

.v2-tagcloud__container {
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin: 10rem auto;
}
@media only screen and (min-width: 768px) {
  .v2-tagcloud__container {
    padding: 0;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem;
  }
}
.v2-tagcloud__container > * {
  grid-column: span 4/span 4;
}
@media only screen and (min-width: 768px) {
  .v2-tagcloud__container > * {
    grid-column: span 12/span 12;
  }
}
@media only screen and (min-width: 768px) {
  .v2-tagcloud__container {
    margin: 20rem auto 10rem;
  }
}

.v2-tagcloud__title {
  font: normal 400 1.8rem/1.3 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 500;
  color: #25292e;
  text-align: center;
  font-size: 2rem;
  line-height: 1.2;
  max-width: 24rem;
  margin: 0 auto 2rem;
}
@media only screen and (min-width: 768px) {
  .v2-tagcloud__title {
    font: normal 400 3.2rem/1.3 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
@media only screen and (min-width: 768px) {
  .v2-tagcloud__title {
    font: normal 400 1.8rem/1.3 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
    max-width: none;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-tagcloud__title {
    font: normal 400 3.2rem/1.3 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-tagcloud__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}
@media only screen and (min-width: 768px) {
  .v2-tagcloud__list {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: center;
  }
}

.v2-tagcloud__item {
  position: relative;
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  cursor: default;
}

.v2-tagcloud__item:not(:last-child)::after {
  content: none;
}

.v2-tagcloud__hoverReveal {
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 1;
  will-change: transform, filter;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-tagcloud__hoverReveal {
    left: 50%;
    top: 110%;
    translate: -50% 0;
  }
}

.v2-tagcloud__imageWrapper {
  height: 14rem;
  aspect-ratio: 2/3;
  width: auto;
  overflow: hidden;
  border-radius: 0.2rem;
  box-shadow: 0 8px 24px rgba(37, 41, 46, 0.12);
  opacity: 0;
  will-change: transform, opacity;
}

.v2-tagcloud__imageScale {
  width: 100%;
  height: 100%;
  will-change: transform;
}
.v2-tagcloud__imageScale img,
.v2-tagcloud__imageScale [data-next-image] {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.v2-tagcloud__name {
  font: normal 500 3.2rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  color: #25292e;
  transition: color 0.25s ease;
  position: relative;
  z-index: 0;
}
@media only screen and (min-width: 768px) {
  .v2-tagcloud__name {
    font: normal 500 7rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-tagcloud__name {
    transition: none;
  }
}

.v2-tagcloud__item:hover .v2-tagcloud__name {
  color: #415bff;
  z-index: 2;
}

.v2-tagcloud__separator {
  display: none;
}
@media only screen and (min-width: 768px) {
  .v2-tagcloud__separator {
    font: normal 500 3.2rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
    display: inline;
    color: #25292e;
    margin: 0.1rem 1.4rem;
    user-select: none;
    position: relative;
    z-index: 0;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-tagcloud__separator {
    font: normal 500 7rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

/* ===== ctabreaker (components/sections/CtaBreaker/CtaBreaker.module.scss) ===== */
.v2-ctabreaker__ctaBreaker {
  position: relative;
  background-color: #f5f5f7;
}
@media only screen and (min-width: 768px) {
  .v2-ctabreaker__ctaBreaker {
    margin: 28rem 0 22rem;
  }
}

.v2-ctabreaker__container {
  padding: 10rem 0 13rem;
}
@media only screen and (min-width: 768px) {
  .v2-ctabreaker__container {
    padding: 18rem 0 8rem;
  }
}

.v2-ctabreaker__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto auto auto;
  gap: 2rem;
  align-items: center;
  justify-items: center;
  max-width: 120rem;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .v2-ctabreaker__grid {
    grid-template-columns: 1fr auto 1fr;
    grid-template-rows: auto 1fr auto;
    gap: 3rem 4rem;
  }
}

.v2-ctabreaker__imageSlot {
  position: relative;
  width: 100%;
  max-width: 15rem;
}

.v2-ctabreaker__imageSlotTopLeft {
  grid-column: 1;
  grid-row: 2;
}
@media only screen and (min-width: 768px) {
  .v2-ctabreaker__imageSlotTopLeft {
    grid-column: 1;
    grid-row: 1;
    justify-self: end;
    align-self: end;
    margin-bottom: -2rem;
  }
}

.v2-ctabreaker__imageSlotTopRight {
  grid-column: 2;
  grid-row: 2;
}
@media only screen and (min-width: 768px) {
  .v2-ctabreaker__imageSlotTopRight {
    grid-column: 3;
    grid-row: 1;
    justify-self: start;
    align-self: end;
    margin-bottom: 2rem;
  }
}

.v2-ctabreaker__imageSlotBottomLeft {
  grid-column: 1;
  grid-row: 3;
}
@media only screen and (min-width: 768px) {
  .v2-ctabreaker__imageSlotBottomLeft {
    grid-column: 1;
    grid-row: 3;
    justify-self: end;
    align-self: start;
    margin-top: 2rem;
  }
}

.v2-ctabreaker__imageSlotBottomRight {
  grid-column: 2;
  grid-row: 3;
}
@media only screen and (min-width: 768px) {
  .v2-ctabreaker__imageSlotBottomRight {
    grid-column: 3;
    grid-row: 3;
    justify-self: start;
    align-self: start;
    margin-top: -2rem;
  }
}

.v2-ctabreaker__imageWrapper {
  position: relative;
  width: 100%;
  border-radius: 0.4rem;
  overflow: hidden;
  background-color: #d9d9d9;
}

.v2-ctabreaker__ctaBlock {
  grid-column: 1/-1;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  text-align: center;
  padding: 2rem 0;
  position: relative;
  z-index: 2;
}
@media only screen and (min-width: 768px) {
  .v2-ctabreaker__ctaBlock {
    grid-row: 2;
    gap: 4rem;
    padding: 4rem 0;
  }
}

.v2-ctabreaker__title {
  font: normal 600 2.8rem/1.14 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.02em;
  color: #25292e;
  max-width: 24ch;
  margin: 0;
  letter-spacing: 0;
}
@media only screen and (min-width: 768px) {
  .v2-ctabreaker__title {
    font: normal 600 5.2rem/1.08 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.02em;
  }
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-ctabreaker__title {
    font-size: 2.4rem;
    line-height: 1.16;
  }
}

.v2-ctabreaker__cta {
  flex-shrink: 0;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-ctabreaker__cta {
    display: flex;
    width: 14.8rem;
    height: 4.8rem;
    padding: 1.8rem 1.4rem 0.9rem;
    font-size: 1.4rem;
    line-height: 1.25;
  }
}

.v2-ctabreaker__medias {
  position: absolute;
  top: calc(50% - 8vw);
  width: 100vw;
  aspect-ratio: 1220/1220;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 3;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-ctabreaker__medias {
    max-width: 660px;
    min-width: 420px;
    min-height: 500px;
  }
}
@media only screen and (min-width: 768px) {
  .v2-ctabreaker__medias {
    top: calc(50% - 2vw);
    aspect-ratio: 1220/960;
    width: 80vw;
    max-width: 1220px;
  }
}
@media only screen and (min-width: 1440px) {
  .v2-ctabreaker__medias {
    top: calc(50% - 60px);
  }
}
.v2-ctabreaker__medias .v2-ctabreaker__image {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20vw;
  max-width: 240px;
  height: 20vw;
  max-height: 240px;
  transform: translate(-50%, -50%);
  backface-visibility: hidden;
  object-fit: contain;
}
@media only screen and (min-width: 768px) {
  .v2-ctabreaker__medias .v2-ctabreaker__image {
    width: 16vw;
    height: 16vw;
  }
}

.v2-ctabreaker__backgroundSvgWrapper {
  position: absolute;
  left: 50%;
  top: 5%;
  height: 30rem;
  width: 30.4rem;
  pointer-events: none;
  z-index: 0;
}
@media only screen and (min-width: 768px) {
  .v2-ctabreaker__backgroundSvgWrapper {
    top: calc(50% - 45rem);
    height: 74rem;
    width: 74rem;
  }
}

.v2-ctabreaker__backgroundSvg {
  width: 100%;
  height: 100%;
  opacity: 0.1;
}

/* ===== spacer (components/sections/Spacer/Spacer.module.scss) ===== */
.v2-spacer__spacer--s {
  height: 0.8rem;
}
@media only screen and (min-width: 768px) {
  .v2-spacer__spacer--s {
    height: 2rem;
  }
}
.v2-spacer__spacer--m {
  height: 1.6rem;
}
@media only screen and (min-width: 768px) {
  .v2-spacer__spacer--m {
    height: 4rem;
  }
}
.v2-spacer__spacer--l {
  height: 3.2em;
}
@media only screen and (min-width: 768px) {
  .v2-spacer__spacer--l {
    height: 6rem;
  }
}

/* ===== scrollreveal (components/sections/ScrollReveal/ScrollReveal.module.scss) ===== */
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-scrollreveal__stickyWrapper {
    height: calc(var(--scroll-reveal-vh, 100vh) * var(--scroll-reveal-multiplier, 1));
  }
}

.v2-scrollreveal__section {
  margin: 12rem 0;
  position: relative;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-scrollreveal__section {
    position: sticky;
    top: 0;
    min-height: var(--scroll-reveal-vh, 100vh);
    height: var(--scroll-reveal-vh, 100vh);
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
@media only screen and (min-width: 768px) {
  .v2-scrollreveal__section {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
    margin: 16rem 0;
  }
}

.v2-scrollreveal__quote {
  padding: 0 !important;
}

.v2-scrollreveal__layout {
  display: grid;
  align-items: center;
  gap: 4rem;
  position: relative;
  z-index: 1;
}

.v2-scrollreveal__imageCol {
  position: relative;
  width: 61vw;
  max-width: 50rem;
  aspect-ratio: 500/750;
  will-change: transform;
}

@media only screen and (max-width: calc(768px - 1px)) {
  .v2-scrollreveal__imageColTop {
    display: none;
  }
}
@media only screen and (min-width: 768px) {
  .v2-scrollreveal__imageColTop {
    align-self: flex-start;
  }
}

@media only screen and (max-width: calc(768px - 1px)) {
  .v2-scrollreveal__imageColBottom {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 96%;
    height: 96%;
    max-width: none;
    aspect-ratio: unset;
    z-index: 0;
    border-radius: 1rem;
    overflow: clip;
  }
  .v2-scrollreveal__imageColBottom::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.55) 100%);
  }
}
@media only screen and (min-width: 768px) {
  .v2-scrollreveal__imageColBottom {
    align-self: flex-end;
  }
}

.v2-scrollreveal__image {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 500/750;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-scrollreveal__image {
    aspect-ratio: unset;
  }
}

.v2-scrollreveal__subImage {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 44%;
  height: auto;
  z-index: 2;
  pointer-events: none;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-scrollreveal__subImage {
    display: none;
  }
}

.v2-scrollreveal__subImageLeft {
  bottom: -19vh;
  border-top-left-radius: 0.8rem;
  border-top-right-radius: 0.8rem;
  width: 17vw;
}

.v2-scrollreveal__subImageRight {
  bottom: -7.5vw;
  border-top-left-radius: 0.8rem;
  border-top-right-radius: 0.8rem;
  width: 8.5vw;
}

.v2-scrollreveal__wordList {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
}
@media only screen and (min-width: 768px) {
  .v2-scrollreveal__wordList {
    gap: 2rem;
  }
}

.v2-scrollreveal__word {
  display: block;
  font: normal 500 4.2rem/0.97 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.02em;
  line-height: 0.92;
  color: #7f7f7f;
}
@media only screen and (min-width: 768px) {
  .v2-scrollreveal__word {
    font: normal 500 clamp(9rem, 1.02rem + 20vw, 14.4rem)/0.97 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.02em;
  }
}
@media only screen and (min-width: 768px) {
  .v2-scrollreveal__word {
    color: #25292e;
  }
}

.v2-scrollreveal__cta {
  font: normal 400 1.6rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  text-align: center;
  margin-top: 4rem;
  color: #ffffff;
}
@media only screen and (min-width: 768px) {
  .v2-scrollreveal__cta {
    font: normal 400 2rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
@media only screen and (min-width: 768px) {
  .v2-scrollreveal__cta {
    margin-top: 13rem;
    color: #25292e;
  }
}

.v2-scrollreveal__ctaLink {
  font-weight: 600;
  color: inherit;
  position: relative;
  display: inline-block;
  text-decoration: none;
  --underline-thickness: 0.2rem;
  --underline-distance: 0.1rem;
}
.v2-scrollreveal__ctaLink::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  bottom: calc(-1 * var(--underline-distance));
  height: var(--underline-thickness);
  background-color: currentcolor;
  transform: translateY(0);
  transition: transform 0.2s ease-out;
  pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
  .v2-scrollreveal__ctaLink:hover:hover::after {
    transform: translateY(3px);
  }
}
@media (prefers-reduced-motion) {
  .v2-scrollreveal__ctaLink::after {
    transition: none;
  }
}
@media (prefers-reduced-motion) and (hover: hover) and (pointer: fine) {
  .v2-scrollreveal__ctaLink:hover:hover::after {
    transform: none;
  }
}
@media (hover: hover) and (pointer: fine) {
  .v2-scrollreveal__ctaLink:hover {
    color: #415bff;
  }
}

@media only screen and (max-width: calc(768px - 1px)) {
  .v2-scrollreveal__imageFigure {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
  }
}
.v2-scrollreveal__imageColTop .v2-scrollreveal__imageFigure img {
  border-top-right-radius: 0.8rem;
  border-bottom-right-radius: 0.8rem;
  overflow: clip;
}
.v2-scrollreveal__imageColBottom .v2-scrollreveal__imageFigure img {
  border-top-left-radius: 0.8rem;
  border-bottom-left-radius: 0.8rem;
  overflow: clip;
}

/* ===== heroimagehome (components/sections/HeroImageHome/HeroImageHome.module.scss) ===== */
.v2-heroimagehome__hero {
  margin: 12rem 0;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .v2-heroimagehome__hero {
    overflow: visible;
    margin-top: 21.7rem;
  }
}

.v2-heroimagehome__container {
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  align-items: center;
  min-height: 68rem;
  row-gap: 0;
}
@media only screen and (min-width: 768px) {
  .v2-heroimagehome__container {
    padding: 0;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem;
  }
}
.v2-heroimagehome__container > * {
  grid-column: span 4/span 4;
}
@media only screen and (min-width: 768px) {
  .v2-heroimagehome__container > * {
    grid-column: span 12/span 12;
  }
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-heroimagehome__container {
    gap: 0;
    min-height: unset;
  }
}

.v2-heroimagehome__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .v2-heroimagehome__content {
    grid-column: span 10/span 10;
    grid-column-start: 2;
  }
}
@media only screen and (min-width: 1024px) {
  .v2-heroimagehome__content {
    grid-column: span 8/span 8;
    grid-column-start: 3;
  }
}

.v2-heroimagehome__eyebrow {
  font: normal 400 1.4rem/normal "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  text-transform: uppercase;
  margin-bottom: 1.9rem;
  color: #415bff;
  opacity: 0;
}

.v2-heroimagehome__title {
  font: normal 500 4.2rem/0.97 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.02em;
  font-size: 8rem;
  font-weight: 600;
  line-height: 97%;
  margin-bottom: 1.9rem;
  opacity: 0;
}
@media only screen and (min-width: 768px) {
  .v2-heroimagehome__title {
    font: normal 500 11.4rem/0.97 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.02em;
  }
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-heroimagehome__title {
    margin: 0 auto 2rem;
    text-align: center;
    font-size: 5rem;
    line-height: 1;
  }
}
.v2-heroimagehome__title span {
  text-align: center;
  margin: 0 auto;
  font: normal 700 6.2rem/0.97 "PP NeueBit", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.03em;
  font-size: 13rem;
  display: block;
  opacity: 0.98;
  background: linear-gradient(90deg, #415bff 0%, #ecdf30 20%, #ecdf30 30%, #415bff 50%, #ecdf30 70%, #ecdf30 80%, #415bff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  width: fit-content;
  background-size: 200% 100%;
  animation: headerLineGradient 8s linear infinite;
}
@media only screen and (min-width: 768px) {
  .v2-heroimagehome__title span {
    font: normal 700 17.6rem/0.76 "PP NeueBit", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.03em;
  }
}
.v2-heroimagehome__title span .hero-span-char {
  background: linear-gradient(90deg, #415bff 0%, #ecdf30 20%, #ecdf30 30%, #415bff 50%, #ecdf30 70%, #ecdf30 80%, #415bff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  width: fit-content;
  background-size: calc(2 * var(--span-width, 100%)) 100%;
  animation: heroCharGradient 8s linear infinite;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-heroimagehome__title span {
    font-size: 7.5rem;
    line-height: 0.75;
  }
}


.v2-heroimagehome__description {
  font: normal 400 1.6rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  width: 90%;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .v2-heroimagehome__description {
    font: normal 400 2.4rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
@media only screen and (min-width: 768px) {
  .v2-heroimagehome__description {
    font-size: 1.8rem;
    line-height: 120%;
    width: 63rem;
    text-align: center;
    margin: 0;
  }
}

.v2-heroimagehome__buttons {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 2rem;
  margin-top: 3.2rem;
  opacity: 0;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-heroimagehome__buttons {
    flex-direction: column;
    gap: 1.6rem;
  }
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-heroimagehome__buttons button {
    width: 100%;
  }
}

@media only screen and (max-width: calc(768px - 1px)) {
  .v2-heroimagehome__ctaIcon {
    font-size: 1.6rem;
  }
}

.v2-heroimagehome__scrollingContent {
  position: relative;
  width: 100%;
  aspect-ratio: 3480/716;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-heroimagehome__scrollingContent {
    aspect-ratio: 4/2;
  }
}

.v2-heroimagehome__scrollingContentImage {
  object-fit: cover;
}

.v2-heroimagehome__overlayVideo {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100dvh;
  max-height: 100vh;
  border-radius: 1.4rem;
  display: block;
  object-fit: contain;
}
@media only screen and (min-width: 768px) {
  .v2-heroimagehome__overlayVideo {
    width: 100%;
    height: auto;
    max-height: 90vh;
    border-radius: 3.6rem;
  }
}

/* ===== mosaic (components/sections/Mosaic/Mosaic.module.scss) ===== */
.v2-mosaic__mosaic {
  position: relative;
  display: grid;
  place-content: center;
  margin-top: 7rem;
}
@media only screen and (min-width: 768px) {
  .v2-mosaic__mosaic {
    margin-top: 11.6rem;
  }
}

.v2-mosaic__gridTop {
  display: grid;
  --grid-col: 128px;
  grid-template-columns: repeat(15, var(--grid-col));
  width: max-content;
  margin-inline: auto;
  margin-left: -4rem;
  gap: 1rem;
  will-change: transform;
}
@media only screen and (min-width: 768px) {
  .v2-mosaic__gridTop {
    --grid-col: 128px;
    margin-left: 0;
    gap: 2rem;
  }
}

.v2-mosaic__gridTopItem {
  position: relative;
  border-radius: 1.3rem;
  background-color: #ffffff;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.v2-mosaic__gridTopItem .outer {
  height: 100%;
}
.v2-mosaic__gridTopItem .inner {
  height: 100%;
}
.v2-mosaic__gridTopItem img,
.v2-mosaic__gridTopItem video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.v2-mosaic__gridTopItemLabel {
  font-weight: 600;
  font-size: 1rem;
  color: #babbc4;
  text-transform: uppercase;
  padding-bottom: 6px;
}

.v2-mosaic__gridTopItemTitle {
  font: normal 400 1.6rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
}
@media only screen and (min-width: 768px) {
  .v2-mosaic__gridTopItemTitle {
    font: normal 400 2.4rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-mosaic__gridTopItem1 {
  width: 100%;
  height: 100%;
  grid-row-start: 1;
  grid-column-start: 1;
  grid-column-end: 2;
  aspect-ratio: 128/106;
}

.v2-mosaic__gridTopItem2 {
  width: 100%;
  height: 100%;
  grid-column: span 1;
  grid-row-start: 2;
  aspect-ratio: 128/106;
}

.v2-mosaic__gridTopItem3 {
  display: flex;
  flex-direction: column;
  grid-row-start: 1;
  grid-row-end: 3;
  grid-column-start: 2;
  grid-column-end: 5;
  aspect-ratio: 383/232;
  padding: 14px;
}
@media only screen and (min-width: 768px) {
  .v2-mosaic__gridTopItem3 {
    padding: 24px;
  }
}
.v2-mosaic__gridTopItem3 .v2-mosaic__gridTopItem3Label {
  font-weight: 600;
  font-size: 1rem;
  color: #babbc4;
  text-transform: uppercase;
}
.v2-mosaic__gridTopItem3 .v2-mosaic__gridTopItem3Figure {
  margin-top: auto;
  aspect-ratio: 335/123;
  width: 100%;
  object-fit: cover;
  overflow: clip;
}
.v2-mosaic__gridTopItem3 .v2-mosaic__gridTopItem3Title {
  font: normal 400 1.6rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
}
@media only screen and (min-width: 768px) {
  .v2-mosaic__gridTopItem3 .v2-mosaic__gridTopItem3Title {
    font: normal 400 2.4rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-mosaic__gridTopItem4 {
  display: flex;
  flex-direction: column;
  grid-row-start: 1;
  grid-row-end: 3;
  grid-column-start: 5;
  grid-column-end: 7;
  padding: 12px;
}
@media only screen and (min-width: 768px) {
  .v2-mosaic__gridTopItem4 {
    padding: 24px;
  }
}
.v2-mosaic__gridTopItem4 .v2-mosaic__gridTopItem4Figure {
  aspect-ratio: 335/175;
  width: 100%;
  object-fit: cover;
  border-radius: 1rem;
  overflow: clip;
  margin-top: auto;
}

.v2-mosaic__gridTopItem5 {
  grid-row-start: 1;
  grid-row-end: 2;
  grid-column-start: 7;
  grid-column-end: 8;
  aspect-ratio: 128/106;
}

.v2-mosaic__gridTopItem6 {
  grid-row-start: 1;
  grid-row-end: 2;
  grid-column-start: 8;
  grid-column-end: 9;
  aspect-ratio: 128/106;
}

.v2-mosaic__gridTopItem7 {
  grid-row-start: 1;
  grid-row-end: 2;
  grid-column-start: 9;
  grid-column-end: 10;
  aspect-ratio: 128/106;
}

.v2-mosaic__gridTopItem8,
.v2-mosaic__gridTopItem10 {
  display: flex;
  padding: 12px;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: start;
  gap: 2.4rem;
}

.v2-mosaic__gridTopItem8 {
  grid-row-start: 2;
  grid-row-end: 3;
  grid-column-start: 7;
  grid-column-end: 10;
}

.v2-mosaic__gridTopItem10 {
  grid-row-start: 1;
  grid-row-end: 2;
  grid-column-start: 13;
  grid-column-end: 16;
}

.v2-mosaic__gridTopItem8Figure,
.v2-mosaic__gridTopItem10Figure {
  aspect-ratio: 77/81;
  object-fit: cover;
  height: 100%;
  flex: 0;
  background-color: #f8f8f8;
  border-radius: 0.9rem;
  overflow: clip;
}

.v2-mosaic__gridTopItem8Content,
.v2-mosaic__gridTopItem10Content {
  margin-top: 0;
}

.v2-mosaic__gridTopItem9 {
  display: flex;
  flex-direction: column;
  grid-row-start: 1;
  grid-row-end: 3;
  grid-column-start: 10;
  grid-column-end: 13;
  position: relative;
  padding: 12px;
}
@media only screen and (min-width: 768px) {
  .v2-mosaic__gridTopItem9 {
    padding: 24px;
  }
}
.v2-mosaic__gridTopItem9 .v2-mosaic__gridTopItemLabel,
.v2-mosaic__gridTopItem9 .v2-mosaic__gridTopItemTitle {
  position: relative;
  z-index: 1;
}
.v2-mosaic__gridTopItem9 .v2-mosaic__gridTopItem9Figure {
  position: absolute;
  inset: 0;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  object-fit: cover;
  border-radius: 1rem;
  overflow: clip;
  z-index: 0;
}

.v2-mosaic__gridTopItem11 {
  grid-row-start: 2;
  grid-row-end: 3;
  grid-column-start: 13;
  grid-column-end: 14;
  aspect-ratio: 128/106;
  height: auto;
  align-self: start;
}

.v2-mosaic__gridTopItemFiller {
  grid-row-start: 2;
  grid-row-end: 3;
  grid-column-start: 14;
  grid-column-end: 16;
  background-color: #bec7ff;
  height: 100%;
  border-radius: 1.3rem;
  align-self: start;
}

.v2-mosaic__gridTopItem1,
.v2-mosaic__gridTopItem2,
.v2-mosaic__gridTopItem5,
.v2-mosaic__gridTopItem6,
.v2-mosaic__gridTopItem7,
.v2-mosaic__gridTopItem8,
.v2-mosaic__gridTopItem11,
.v2-mosaic__gridBottomItem1,
.v2-mosaic__gridBottomItem2,
.v2-mosaic__gridBottomItem3,
.v2-mosaic__gridBottomItem4,
.v2-mosaic__gridBottomItem5,
.v2-mosaic__gridBottomItem6,
.v2-mosaic__gridBottomItem7,
.v2-mosaic__gridBottomItem8,
.v2-mosaic__gridBottomItem9 {
  max-height: 106px;
}

.v2-mosaic__gridTopItem3,
.v2-mosaic__gridTopItem4,
.v2-mosaic__gridTopItem9 {
  max-height: 231px;
}

.v2-mosaic__gridBottom {
  display: grid;
  --grid-col: 128px;
  grid-template-columns: repeat(15, var(--grid-col));
  gap: 1rem;
  width: max-content;
  margin-left: -16rem;
  margin-top: 1rem;
  will-change: transform;
}
@media only screen and (min-width: 768px) {
  .v2-mosaic__gridBottom {
    --grid-col: 128px;
    gap: 2rem;
    margin-top: 2rem;
    margin-left: 0;
  }
}

.v2-mosaic__gridBottomItem {
  position: relative;
  border-radius: 1.3rem;
  background-color: #ffffff;
  overflow: hidden;
  width: 100%;
  height: 100%;
  aspect-ratio: 128/106;
}
.v2-mosaic__gridBottomItem .outer {
  height: 100%;
}
.v2-mosaic__gridBottomItem .inner {
  height: 100%;
}
.v2-mosaic__gridBottomItem img,
.v2-mosaic__gridBottomItem video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.v2-mosaic__gridBottomItemLabel {
  font-weight: 600;
  font-size: 0.75rem;
  color: #babbc4;
  text-transform: uppercase;
}

.v2-mosaic__gridBottomItemTitle {
  font: normal 400 1.6rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
}
@media only screen and (min-width: 768px) {
  .v2-mosaic__gridBottomItemTitle {
    font: normal 400 2.4rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-mosaic__gridBottomItemContent {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.v2-mosaic__gridBottomItem2,
.v2-mosaic__gridBottomItem5,
.v2-mosaic__gridBottomItem8 {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: start;
  gap: 2.4rem;
  padding: 12px;
  aspect-ratio: 384/58;
}

.v2-mosaic__gridBottomItem1,
.v2-mosaic__gridBottomItem3,
.v2-mosaic__gridBottomItem4,
.v2-mosaic__gridBottomItem6,
.v2-mosaic__gridBottomItem7,
.v2-mosaic__gridBottomItem9 {
  width: 100%;
  height: 100%;
  aspect-ratio: 128/106;
}

.v2-mosaic__gridBottomItem2Figure,
.v2-mosaic__gridBottomItem5Figure,
.v2-mosaic__gridBottomItem8Figure {
  aspect-ratio: 77/81;
  object-fit: cover;
  height: 100%;
  flex: 0;
  background-color: #f8f8f8;
  border-radius: 0.9rem;
  overflow: clip;
}

.v2-mosaic__gridBottomItem2 .v2-mosaic__gridBottomItemContent,
.v2-mosaic__gridBottomItem5 .v2-mosaic__gridBottomItemContent,
.v2-mosaic__gridBottomItem8 .v2-mosaic__gridBottomItemContent {
  margin-top: 0;
}

.v2-mosaic__gridBottomItem1 {
  grid-column-start: 2;
  grid-column-end: 3;
}

.v2-mosaic__gridBottomItem2 {
  grid-column-start: 3;
  grid-column-end: 6;
}

.v2-mosaic__gridBottomItem3 {
  grid-column-start: 6;
  grid-column-end: 7;
}

.v2-mosaic__gridBottomItem4 {
  grid-column-start: 7;
  grid-column-end: 8;
}

.v2-mosaic__gridBottomItem5 {
  grid-column-start: 8;
  grid-column-end: 11;
}

.v2-mosaic__gridBottomItem6 {
  grid-column-start: 11;
  grid-column-end: 12;
}

.v2-mosaic__gridBottomItem7 {
  grid-column-start: 12;
  grid-column-end: 13;
}

.v2-mosaic__gridBottomItem8 {
  grid-column-start: 13;
  grid-column-end: 16;
}

.v2-mosaic__gridBottomDummy {
  grid-column-start: 1;
  grid-column-end: 3;
  grid-row-start: 1;
  grid-row-end: 2;
  background-color: #bec7ff;
  height: 100%;
  border-radius: 1.3rem;
}

/* ===== featmodcarousel (components/sections/FeaturedModulesCarousel/FeaturedModulesCarousel.module.scss) ===== */
.v2-featmodcarousel__featuredModulesCarousel {
  margin: 12rem 0;
}
@media only screen and (min-width: 768px) {
  .v2-featmodcarousel__featuredModulesCarousel {
    margin: 26rem 0 12.5rem;
  }
}

.v2-featmodcarousel__header {
  margin-bottom: 3rem;
}

.v2-featmodcarousel__headerNoTitle {
  margin-bottom: 0;
}

.v2-featmodcarousel__trackViewportAnchor {
  overflow: visible;
}

.v2-featmodcarousel__title {
  margin: 0;
  color: #000000;
  font: normal 600 2.8rem/1.14 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.02em;
}
@media only screen and (min-width: 768px) {
  .v2-featmodcarousel__title {
    font: normal 600 5.2rem/1.08 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.02em;
  }
}

.v2-featmodcarousel__trackContainer {
  --track-edge-offset: 1.5rem;
  width: 100vw;
  margin-left: calc(50% - 50vw);
}
@media only screen and (min-width: 768px) {
  .v2-featmodcarousel__trackContainer {
    --track-edge-offset: max(
      8rem,
      calc((100vw - 1580px) / 2)
    );
  }
}

.v2-featmodcarousel__trackViewport {
  width: 100%;
  overflow: hidden;
  touch-action: pan-y;
  cursor: grab;
}
.v2-featmodcarousel__trackViewport:active {
  cursor: grabbing;
}
@media (hover: hover) and (pointer: fine) {
  .v2-featmodcarousel__trackViewport {
    user-select: none;
    -webkit-user-select: none;
  }
  .v2-featmodcarousel__trackViewport a[href],
  .v2-featmodcarousel__trackViewport button,
  .v2-featmodcarousel__trackViewport input,
  .v2-featmodcarousel__trackViewport textarea,
  .v2-featmodcarousel__trackViewport select,
  .v2-featmodcarousel__trackViewport label,
  .v2-featmodcarousel__trackViewport summary,
  .v2-featmodcarousel__trackViewport [role=link],
  .v2-featmodcarousel__trackViewport [role=button] {
    user-select: auto;
    -webkit-user-select: auto;
  }
  .v2-featmodcarousel__trackViewport a[href],
  .v2-featmodcarousel__trackViewport button,
  .v2-featmodcarousel__trackViewport [role=link],
  .v2-featmodcarousel__trackViewport [role=button] {
    cursor: pointer;
  }
  .v2-featmodcarousel__trackViewport img,
  .v2-featmodcarousel__trackViewport picture,
  .v2-featmodcarousel__trackViewport video {
    -webkit-user-drag: none;
  }
}

.v2-featmodcarousel__track {
  display: flex;
  gap: 4rem;
  width: max-content;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  will-change: transform;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-featmodcarousel__track {
    gap: 1.6rem;
    padding: 0 var(--track-edge-offset);
    scroll-padding-left: var(--track-edge-offset);
  }
}
@media only screen and (min-width: 768px) {
  .v2-featmodcarousel__track {
    gap: 4rem;
  }
}

.v2-featmodcarousel__card {
  flex: 0 0 auto;
  width: 32rem;
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media only screen and (min-width: 768px) {
  .v2-featmodcarousel__card {
    width: min-content;
  }
}
@media only screen and (min-width: 768px) {
  .v2-featmodcarousel__card:first-child {
    padding-left: var(--track-edge-offset);
  }
}
@media only screen and (min-width: 768px) {
  .v2-featmodcarousel__card:last-child {
    margin-right: var(--track-edge-offset);
  }
}

.v2-featmodcarousel__media {
  position: relative;
  width: 100%;
  height: 41rem;
  border-radius: 1.4rem;
  overflow: hidden;
  background: rgba(37, 41, 46, 0.03);
}
@media only screen and (min-width: 768px) {
  .v2-featmodcarousel__media {
    width: auto;
    aspect-ratio: var(--card-media-ratio, 4/5);
    border-radius: 3.6rem;
  }
}

.v2-featmodcarousel__image {
  object-fit: cover;
}

.v2-featmodcarousel__content {
  display: inline;
  gap: 0.6rem;
  width: 100%;
  max-width: 43rem;
  line-height: 1;
}

.v2-featmodcarousel__cardTitle {
  display: inline;
  color: #000000;
  font: normal 400 1.2rem/1.1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  line-height: 1;
  margin-right: 0.2rem;
}
@media only screen and (min-width: 768px) {
  .v2-featmodcarousel__cardTitle {
    font: normal 400 1.6rem/1.5 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-featmodcarousel__cardDescription {
  display: inline;
  margin: 0;
  color: #7f7f7f;
  font: normal 400 1.2rem/1.1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  line-height: 1;
  font-weight: 500;
}
@media only screen and (min-width: 768px) {
  .v2-featmodcarousel__cardDescription {
    font: normal 400 1.6rem/1.5 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-featmodcarousel__controls {
  display: none;
}
@media only screen and (min-width: 768px) {
  .v2-featmodcarousel__controls {
    display: flex;
    gap: 1rem;
    margin-top: 4rem;
  }
}

.v2-featmodcarousel__arrow {
  border-color: rgba(37, 41, 46, 0.14);
}

/* ===== cardscarousel (components/sections/CardsCarousel/CardsCarousel.module.scss) ===== */
.v2-cardscarousel__cardsCarousel {
  position: relative;
  margin: 12rem 0;
}
@media only screen and (min-width: 768px) {
  .v2-cardscarousel__cardsCarousel {
    margin: 24rem 0 26rem 0;
  }
}

.v2-cardscarousel__sideDecorations {
  display: none;
}
@media only screen and (min-width: 768px) {
  .v2-cardscarousel__sideDecorations {
    position: absolute;
    top: 0;
    left: calc(-1 * (50vw - 50%));
    width: auto;
    height: auto;
    display: flex;
    flex-direction: column;
  }
}

.v2-cardscarousel__sideDecoration {
  display: block;
  width: 3rem;
  height: 12.5rem;
  background-color: #415bff;
}
.v2-cardscarousel__sideDecoration:first-child {
  opacity: 1;
}
.v2-cardscarousel__sideDecoration:nth-child(2) {
  opacity: 0.8;
}
.v2-cardscarousel__sideDecoration:nth-child(3) {
  opacity: 0.4;
}
.v2-cardscarousel__sideDecoration:nth-child(4) {
  opacity: 0.1;
}

.v2-cardscarousel__container {
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .v2-cardscarousel__container {
    padding: 0;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem;
  }
}
.v2-cardscarousel__container > * {
  grid-column: span 4/span 4;
}
@media only screen and (min-width: 768px) {
  .v2-cardscarousel__container > * {
    grid-column: span 12/span 12;
  }
}

.v2-cardscarousel__textContent {
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 2;
  margin-bottom: 4rem;
}
@media only screen and (min-width: 768px) {
  .v2-cardscarousel__textContent {
    grid-column: span 5/span 5;
    grid-column-start: 5;
    margin-bottom: 24rem;
  }
}

.v2-cardscarousel__titleBig {
  font: normal 600 2.8rem/1.14 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.02em;
  margin: 0 0 1.9rem;
  color: #25292e;
}
@media only screen and (min-width: 768px) {
  .v2-cardscarousel__titleBig {
    font: normal 600 5.2rem/1.08 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.02em;
  }
}

.v2-cardscarousel__description {
  width: 100%;
  font-weight: 500;
  color: #7f7f7f;
}
.v2-cardscarousel__description strong {
  color: #25292e;
}
.v2-cardscarousel__description p {
  margin: 0;
}

@media only screen and (min-width: 768px) {
  .v2-cardscarousel__title {
    grid-column: span 8/span 8;
    grid-column-start: 5;
  }
}

.v2-cardscarousel__contentListWrapper {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .v2-cardscarousel__contentListWrapper {
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-cardscarousel__contentListWrapper {
    padding: 0;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .v2-cardscarousel__contentListWrapper > * {
    grid-column: span 4/span 4;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-cardscarousel__contentListWrapper > * {
    grid-column: span 12/span 12;
  }
}

.v2-cardscarousel__contentList {
  color: #8c8c8c;
  display: none;
  flex-direction: column;
  gap: 3rem;
  z-index: 2;
  min-height: 40%;
}
@media only screen and (min-width: 768px) {
  .v2-cardscarousel__contentList {
    display: flex;
    grid-column: span 3/span 3;
    grid-column-start: 2;
    gap: 4rem;
  }
}

.v2-cardscarousel__stepperControls {
  display: flex;
  align-items: center;
  gap: 2.8rem;
}

.v2-cardscarousel__steps {
  display: flex;
  flex-direction: column;
  gap: 2.8rem;
}

.v2-cardscarousel__step {
  position: relative;
  font: normal 600 2rem/1.3 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 400;
  transition: font-weight 0.2s ease, color 0.2s ease;
}
.v2-cardscarousel__step.v2-cardscarousel__stepActive {
  color: #415bff;
  font-weight: 600;
}
.v2-cardscarousel__step:hover {
  color: #25292e;
  transition: font-weight 0.2s ease, color 0.2s ease;
}

.v2-cardscarousel__imageWrapper {
  display: none;
}
@media only screen and (min-width: 768px) {
  .v2-cardscarousel__imageWrapper {
    display: block;
    position: absolute;
    inset: 0;
    top: -7rem;
    left: auto;
    right: -8rem;
    aspect-ratio: 938/855;
    width: 93.7535rem;
    height: 85.5rem;
    z-index: 0;
  }
}

.v2-cardscarousel__imageContainer {
  display: none;
}
@media only screen and (min-width: 768px) {
  .v2-cardscarousel__imageContainer {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
  }
}

.v2-cardscarousel__pixelatedHeart {
  display: flex;
  width: 100%;
  height: 100%;
}

.v2-cardscarousel__cards {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .v2-cardscarousel__cards {
    grid-column: span 8/span 8;
    grid-column-start: 5;
  }
}

.v2-cardscarousel__cardStack {
  display: grid;
}

.v2-cardscarousel__cardWrapper {
  grid-area: 1/1;
  position: relative;
  transform-origin: center bottom;
}

.v2-cardscarousel__dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.6rem;
  padding-top: 10rem;
}
@media only screen and (min-width: 768px) {
  .v2-cardscarousel__dots {
    display: none;
  }
}

.v2-cardscarousel__dot {
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  background: #d9d9d9;
  transition: background 0.2s ease;
  z-index: 5;
}
.v2-cardscarousel__dot.v2-cardscarousel__dotActive {
  background: #415bff;
}

/* ===== cardsslidercard (components/sections/CardsCarousel/CardsSliderCard.module.scss) ===== */
.v2-cardsslidercard__titleBig {
  font: normal 600 2.8rem/1.14 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.02em;
}
@media only screen and (min-width: 768px) {
  .v2-cardsslidercard__titleBig {
    font: normal 600 5.2rem/1.08 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.02em;
  }
}

.v2-cardsslidercard__cardsSliderCard {
  height: 100%;
}

.v2-cardsslidercard__meta {
  align-items: center;
  justify-content: space-between;
  gap: 1.6rem;
  padding: 1.6rem 1.6rem 1.2rem;
  border-bottom: 1px solid rgba(37, 41, 46, 0.18);
  width: 100%;
  display: none;
}
@media only screen and (min-width: 768px) {
  .v2-cardsslidercard__meta {
    padding: 9rem 5.5rem 5rem 5.5rem;
  }
}

.v2-cardsslidercard__metaLeft,
.v2-cardsslidercard__metaRight {
  font: normal 600 1rem/1.25 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  color: rgba(37, 41, 46, 0.85);
  margin: 0;
}

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

.v2-cardsslidercard__mainCard {
  position: relative;
  height: 100%;
  border-radius: 1.4rem;
  background: #ffffff;
  box-shadow: 0 1.1rem 0 0 rgba(0, 0, 0, 0.03);
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .v2-cardsslidercard__mainCard {
    border-radius: 3.6rem;
  }
}

.v2-cardsslidercard__content {
  overflow: hidden;
}

.v2-cardsslidercard__left {
  padding: 2.4rem 2rem;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media only screen and (min-width: 768px) {
  .v2-cardsslidercard__left {
    padding: 9rem 5.5rem 5.5rem 5.5rem;
    gap: 8rem;
    flex-direction: row;
  }
}

.v2-cardsslidercard__title {
  margin: 0;
  color: #25292e;
  font-family: "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.05;
  padding-bottom: 1.3rem;
}
.v2-cardsslidercard__title span {
  display: block;
}

.v2-cardsslidercard__tag {
  align-self: flex-start;
  font: normal 600 1rem/1.25 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  color: #25292e;
  border: 1px solid rgba(37, 41, 46, 0.8);
  border-radius: 99rem;
  padding: 0.5rem 1.2rem;
  margin: 0;
  width: fit-content;
}

.v2-cardsslidercard__description {
  font: normal 400 1.6rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  margin: 0;
  color: #25292e;
  max-width: 70rem;
  padding-top: 4.4rem;
}
@media only screen and (min-width: 768px) {
  .v2-cardsslidercard__description {
    font: normal 400 2.4rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-cardsslidercard__features {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 1.2rem;
  margin-top: 3.2rem;
}
@media only screen and (min-width: 768px) {
  .v2-cardsslidercard__features {
    gap: 2.4rem;
  }
}

.v2-cardsslidercard__feature {
  font: normal 400 1.2rem/1.1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  color: #25292e;
  display: flex;
  align-items: top;
  gap: 1.2rem;
}
@media only screen and (min-width: 768px) {
  .v2-cardsslidercard__feature {
    font: normal 400 1.6rem/1.5 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-cardsslidercard__featureIcon {
  width: 1.3rem;
  height: 0.9rem;
  color: #25292e;
  flex-shrink: 0;
  margin-top: 0.3rem;
}
@media only screen and (min-width: 768px) {
  .v2-cardsslidercard__featureIcon {
    width: 1.7rem;
    height: 1.3rem;
    margin-top: 0.7rem;
  }
}

.v2-cardsslidercard__right {
  position: relative;
  width: 100%;
}

.v2-cardsslidercard__mainImage {
  object-fit: cover;
}

.v2-cardsslidercard__mediaOverlay {
  position: absolute;
  inset: 0;
  background: rgba(37, 41, 46, 0.2);
  pointer-events: none;
}

.v2-cardsslidercard__imageIndicator {
  position: absolute;
  top: 17%;
  left: 50%;
  width: 10rem;
  height: auto;
  transform: translateX(-50%);
  pointer-events: none;
}
@media only screen and (min-width: 768px) {
  .v2-cardsslidercard__imageIndicator {
    top: 31%;
    left: 58%;
    width: 12.6rem;
  }
}

.v2-cardsslidercard__scanningCard {
  position: absolute;
  left: 50%;
  bottom: 2rem;
  width: min(90%, 33.2rem);
  transform: translateX(-50%);
  border-radius: 0.8rem;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 1.1rem 0.8rem rgba(0, 0, 0, 0.09);
  padding: 1.6rem;
  display: grid;
  gap: 1.2rem;
  z-index: 2;
}
@media only screen and (min-width: 768px) {
  .v2-cardsslidercard__scanningCard {
    left: auto;
    right: 50%;
    bottom: 5.2rem;
    transform: translateX(50%);
  }
}

.v2-cardsslidercard__scanningTop {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1rem;
}

.v2-cardsslidercard__hexagonBadge {
  width: 3.1rem;
  height: 3.1rem;
  border-radius: 99rem;
  background: rgba(65, 91, 255, 0.14);
  display: flex;
  align-items: center;
  justify-content: center;
}

.v2-cardsslidercard__hexagonIcon {
  width: 1.9rem;
  height: 1.9rem;
  color: #415bff;
}

.v2-cardsslidercard__scanningText {
  min-width: 0;
}

.v2-cardsslidercard__scanningLabel {
  font: normal 600 1rem/1.25 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  margin: 0;
  color: #25292e;
}

.v2-cardsslidercard__scanningName {
  font: normal 400 1.2rem/1.1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  margin: 0.2rem 0 0;
  color: rgba(37, 41, 46, 0.72);
}
@media only screen and (min-width: 768px) {
  .v2-cardsslidercard__scanningName {
    font: normal 400 1.4rem/1.5 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-cardsslidercard__scanningTime {
  font: normal 400 1.2rem/1.1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  margin: 0;
  color: rgba(37, 41, 46, 0.78);
  text-align: right;
}
@media only screen and (min-width: 768px) {
  .v2-cardsslidercard__scanningTime {
    font: normal 400 1.4rem/1.5 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-cardsslidercard__progressLabels {
  display: flex;
  justify-content: space-between;
  font: normal 400 1.2rem/1.1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  color: rgba(37, 41, 46, 0.72);
}
@media only screen and (min-width: 768px) {
  .v2-cardsslidercard__progressLabels {
    font: normal 400 1.4rem/1.5 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-cardsslidercard__progressTrack {
  height: 1.1rem;
  border-radius: 0.8rem;
  background: #e9e7e7;
  overflow: hidden;
}

.v2-cardsslidercard__progressFill {
  width: var(--scan-progress, 0%);
  height: 100%;
  background: #415bff;
  border-radius: inherit;
  transition: width 300ms ease;
}

.v2-cardsslidercard__mainImageWrapper {
  aspect-ratio: 413/474;
  border-radius: 1.6rem;
  overflow: clip;
  width: 100%;
  max-width: 41.3rem;
  height: 100%;
  margin-left: auto;
}

.v2-cardsslidercard__secondaryImageWrapper {
  position: absolute;
  z-index: 3;
  bottom: -2.6rem;
  left: -6rem;
  aspect-ratio: 332/151;
  border-radius: 0.8rem;
  background: #ffffff;
  box-shadow: 0 11px 8px 0 rgba(0, 0, 0, 0.09);
  backdrop-filter: blur(82.1px);
  -webkit-backdrop-filter: blur(82.1px);
  transition: box-shadow 260ms ease, backdrop-filter 260ms ease, -webkit-backdrop-filter 260ms ease;
  overflow: clip;
  width: 100%;
  max-width: 33.2rem;
}
.v2-cardsslidercard__secondaryImageWrapper img {
  object-fit: cover;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-cardsslidercard__secondaryImageWrapper {
    display: none;
  }
}

.v2-cardsslidercard__cardsSliderCardInactive .v2-cardsslidercard__secondaryImageWrapper {
  box-shadow: 0 11px 8px 0 rgba(0, 0, 0, 0);
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
}

.v2-cardsslidercard__index {
  font: normal 400 1.2rem/1.1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-size: 1.3rem !important;
  position: absolute;
  top: -3rem;
  right: 0;
  z-index: 2;
}
@media only screen and (min-width: 768px) {
  .v2-cardsslidercard__index {
    font: normal 400 1.6rem/1.5 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

/* ===== featfeatcarousel (components/sections/FeaturedFeaturesCarousel/FeaturedFeaturesCarousel.module.scss) ===== */
.v2-featfeatcarousel__featuredFeaturesCarousel {
  margin: 12rem 0;
}
@media only screen and (min-width: 768px) {
  .v2-featfeatcarousel__featuredFeaturesCarousel {
    margin: 26rem 0 12.5rem;
  }
}

div.v2-featfeatcarousel__header {
  margin-bottom: 7rem;
}

.v2-featfeatcarousel__headerNoTitle {
  margin-bottom: 0;
}

.v2-featfeatcarousel__trackViewportAnchor {
  overflow: visible;
}

.v2-featfeatcarousel__title {
  margin: 0;
  color: #000000;
  font: normal 600 2.8rem/1.14 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.02em;
}
@media only screen and (min-width: 768px) {
  .v2-featfeatcarousel__title {
    font: normal 600 5.2rem/1.08 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.02em;
  }
}

.v2-featfeatcarousel__trackContainer {
  --track-edge-offset: 1.5rem;
  width: 100vw;
  margin-left: calc(50% - 50vw);
}
@media only screen and (min-width: 768px) {
  .v2-featfeatcarousel__trackContainer {
    --track-edge-offset: max(
      8rem,
      calc((100vw - 1580px) / 2)
    );
  }
}

.v2-featfeatcarousel__trackViewport {
  width: 100%;
  overflow: hidden;
  touch-action: pan-y;
  cursor: grab;
}
.v2-featfeatcarousel__trackViewport:active {
  cursor: grabbing;
}
@media (hover: hover) and (pointer: fine) {
  .v2-featfeatcarousel__trackViewport {
    user-select: none;
    -webkit-user-select: none;
  }
  .v2-featfeatcarousel__trackViewport a[href],
  .v2-featfeatcarousel__trackViewport button,
  .v2-featfeatcarousel__trackViewport input,
  .v2-featfeatcarousel__trackViewport textarea,
  .v2-featfeatcarousel__trackViewport select,
  .v2-featfeatcarousel__trackViewport label,
  .v2-featfeatcarousel__trackViewport summary,
  .v2-featfeatcarousel__trackViewport [role=link],
  .v2-featfeatcarousel__trackViewport [role=button] {
    user-select: auto;
    -webkit-user-select: auto;
  }
  .v2-featfeatcarousel__trackViewport a[href],
  .v2-featfeatcarousel__trackViewport button,
  .v2-featfeatcarousel__trackViewport [role=link],
  .v2-featfeatcarousel__trackViewport [role=button] {
    cursor: pointer;
  }
  .v2-featfeatcarousel__trackViewport img,
  .v2-featfeatcarousel__trackViewport picture,
  .v2-featfeatcarousel__trackViewport video {
    -webkit-user-drag: none;
  }
}

.v2-featfeatcarousel__track {
  display: flex;
  gap: 1.6rem;
  width: max-content;
  padding: 0 var(--track-edge-offset);
  scroll-padding-left: var(--track-edge-offset);
  will-change: transform;
}
@media only screen and (min-width: 768px) {
  .v2-featfeatcarousel__track {
    gap: 4rem;
  }
}

.v2-featfeatcarousel__card {
  flex: 0 0 auto;
  width: 32rem;
  min-height: 42.5rem;
  border: 0.1rem solid #e3e3e3;
  border-radius: 1.4rem;
  overflow: hidden;
  background: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .v2-featfeatcarousel__card {
    width: 50rem;
    min-height: 66.4rem;
    border-radius: 3.6rem;
  }
}

.v2-featfeatcarousel__cardContent {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 2.4rem 2.4rem 0;
}
@media only screen and (min-width: 768px) {
  .v2-featfeatcarousel__cardContent {
    padding: 7rem 4rem 0;
  }
}

.v2-featfeatcarousel__step {
  color: #25292e;
  font: normal 400 1.8rem/1.3 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 500;
  position: absolute;
  top: 5.6rem;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .v2-featfeatcarousel__step {
    font: normal 400 3.2rem/1.3 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-featfeatcarousel__media {
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 4/3;
}

.v2-featfeatcarousel__image {
  object-fit: cover;
}

.v2-featfeatcarousel__cardDetails {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.v2-featfeatcarousel__cardTitle {
  color: #25292e;
  font: normal 400 1.6rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 500;
}
@media only screen and (min-width: 768px) {
  .v2-featfeatcarousel__cardTitle {
    font: normal 400 2.4rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-featfeatcarousel__cardDescription {
  color: #666;
  font-size: 1.8rem;
  font-style: normal;
  font-weight: 400;
  line-height: 130%;
  letter-spacing: -0.018rem;
  min-height: 9.6rem;
  padding-right: 1rem;
}

.v2-featfeatcarousel__bottomBand {
  position: relative;
  width: 100%;
  height: 7.5rem;
  margin-top: 2.6rem;
  background: #415bff;
}
@media only screen and (min-width: 768px) {
  .v2-featfeatcarousel__bottomBand {
    height: 11.7rem;
  }
}

.v2-featfeatcarousel__bandImage {
  object-fit: contain;
}

div.v2-featfeatcarousel__controls {
  display: none;
}
@media only screen and (min-width: 768px) {
  div.v2-featfeatcarousel__controls {
    display: flex;
    gap: 1rem;
    margin-top: 4rem;
  }
}

.v2-featfeatcarousel__arrow {
  border-color: rgba(37, 41, 46, 0.14);
}

/* ===== ctalink (components/sections/CtaLink/CtaLink.module.scss) ===== */
.v2-ctalink__ctaLink {
  position: relative;
  margin: 7.5rem auto;
}

.v2-ctalink__content {
  font: normal 400 1.6rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  color: #25292e;
}
@media only screen and (min-width: 768px) {
  .v2-ctalink__content {
    font: normal 400 2rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
.v2-ctalink__content a {
  font-weight: 500;
  position: relative;
  display: inline-block;
  text-decoration: none;
  --underline-thickness: 0.2rem;
  --underline-distance: 0.1rem;
}
.v2-ctalink__content a::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  bottom: calc(-1 * var(--underline-distance));
  height: var(--underline-thickness);
  background-color: currentcolor;
  transform: translateY(0);
  transition: transform 0.2s ease-out;
  pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
  .v2-ctalink__content a:hover:hover::after {
    transform: translateY(3px);
  }
}
@media (prefers-reduced-motion) {
  .v2-ctalink__content a::after {
    transition: none;
  }
}
@media (prefers-reduced-motion) and (hover: hover) and (pointer: fine) {
  .v2-ctalink__content a:hover:hover::after {
    transform: none;
  }
}
@media (hover: hover) and (pointer: fine) {
  .v2-ctalink__content a:hover {
    color: #415bff;
  }
}

/* ===== coursescarousel (components/sections/CoursesCarousel/CoursesCarousel.module.scss) ===== */
.v2-coursescarousel__coursesCarousel {
  margin: 12rem auto;
}
@media only screen and (min-width: 768px) {
  .v2-coursescarousel__coursesCarousel {
    margin: 24rem auto 24rem;
  }
}

.v2-coursescarousel__header {
  margin-bottom: 4rem;
}
@media only screen and (min-width: 768px) {
  .v2-coursescarousel__header {
    margin-bottom: 8.2rem;
  }
}

.v2-coursescarousel__headerNoTitle {
  margin-bottom: 0;
}

.v2-coursescarousel__trackViewportAnchor {
  overflow: visible;
}

.v2-coursescarousel__title {
  margin: 0;
  color: #000000;
  font: normal 600 2.8rem/1.14 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.02em;
}
@media only screen and (min-width: 768px) {
  .v2-coursescarousel__title {
    font: normal 600 5.2rem/1.08 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.02em;
  }
}

.v2-coursescarousel__trackContainer {
  --track-edge-offset: 1.5rem;
  width: 100vw;
  margin-left: calc(50% - 50vw);
}
@media only screen and (min-width: 768px) {
  .v2-coursescarousel__trackContainer {
    --track-edge-offset: max(
      8rem,
      calc((100vw - 1580px) / 2)
    );
  }
}

.v2-coursescarousel__trackViewport {
  width: 100%;
  overflow: hidden;
  touch-action: pan-y;
  cursor: grab;
}
.v2-coursescarousel__trackViewport:active {
  cursor: grabbing;
}
@media (hover: hover) and (pointer: fine) {
  .v2-coursescarousel__trackViewport {
    user-select: none;
    -webkit-user-select: none;
  }
  .v2-coursescarousel__trackViewport a[href],
  .v2-coursescarousel__trackViewport button,
  .v2-coursescarousel__trackViewport input,
  .v2-coursescarousel__trackViewport textarea,
  .v2-coursescarousel__trackViewport select,
  .v2-coursescarousel__trackViewport label,
  .v2-coursescarousel__trackViewport summary,
  .v2-coursescarousel__trackViewport [role=link],
  .v2-coursescarousel__trackViewport [role=button] {
    user-select: auto;
    -webkit-user-select: auto;
  }
  .v2-coursescarousel__trackViewport a[href],
  .v2-coursescarousel__trackViewport button,
  .v2-coursescarousel__trackViewport [role=link],
  .v2-coursescarousel__trackViewport [role=button] {
    cursor: pointer;
  }
  .v2-coursescarousel__trackViewport img,
  .v2-coursescarousel__trackViewport picture,
  .v2-coursescarousel__trackViewport video {
    -webkit-user-drag: none;
  }
}

.v2-coursescarousel__track {
  display: flex;
  gap: 1.6rem;
  width: max-content;
  padding: 0 var(--track-edge-offset);
  scroll-padding-left: var(--track-edge-offset);
  will-change: transform;
}
@media only screen and (min-width: 768px) {
  .v2-coursescarousel__track {
    gap: 4rem;
  }
}

.v2-coursescarousel__card {
  flex: 0 0 auto;
  width: 32rem;
  min-height: 20rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .v2-coursescarousel__card {
    width: 64rem;
    min-height: 42.5rem;
  }
}

.v2-coursescarousel__cardContent {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media only screen and (min-width: 768px) {
  .v2-coursescarousel__cardContent {
    gap: 3rem;
  }
}

.v2-coursescarousel__media {
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 635/413;
  border-radius: 1.4rem;
}
@media only screen and (min-width: 768px) {
  .v2-coursescarousel__media {
    border-radius: 3.6rem;
  }
}

.v2-coursescarousel__image {
  object-fit: cover;
}

.v2-coursescarousel__cardPlayButton {
  position: absolute;
  bottom: 3.2rem;
  left: 3.2rem;
  width: 4.8rem;
  height: 4.8rem;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  display: none;
}

.v2-coursescarousel__cardPlayButtonIcon {
  display: flex;
  width: 1.5113rem;
  height: 1.8395rem;
  margin-left: 4px;
}

.v2-coursescarousel__cardDetails {
  display: inline;
  font: normal 400 1.2rem/1.1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 500;
  max-width: 43rem;
  padding-bottom: 1rem;
}
@media only screen and (min-width: 768px) {
  .v2-coursescarousel__cardDetails {
    font: normal 400 1.6rem/1.5 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-coursescarousel__cardTitle {
  color: #25292e;
  font-weight: 600;
  display: inline;
  margin-right: 0.2rem;
}

.v2-coursescarousel__cardDescription {
  display: inline;
  color: #666;
  margin-right: 0.2rem;
}

.v2-coursescarousel__cardLink {
  font: normal 400 1.2rem/1.1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 600;
  position: relative;
  display: inline-block;
  text-decoration: none;
  --underline-thickness: 0.15rem;
  --underline-distance: 0.1rem;
}
@media only screen and (min-width: 768px) {
  .v2-coursescarousel__cardLink {
    font: normal 400 1.6rem/1.5 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
.v2-coursescarousel__cardLink::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  bottom: calc(-1 * var(--underline-distance));
  height: var(--underline-thickness);
  background-color: currentcolor;
  transform: translateY(0);
  transition: transform 0.2s ease-out;
  pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
  .v2-coursescarousel__cardLink:hover:hover::after {
    transform: translateY(3px);
  }
}
@media (prefers-reduced-motion) {
  .v2-coursescarousel__cardLink::after {
    transition: none;
  }
}
@media (prefers-reduced-motion) and (hover: hover) and (pointer: fine) {
  .v2-coursescarousel__cardLink:hover:hover::after {
    transform: none;
  }
}
@media (hover: hover) and (pointer: fine) {
  .v2-coursescarousel__cardLink:hover {
    color: #415bff;
  }
}

.v2-coursescarousel__bottomBand {
  position: relative;
  width: 100%;
  height: 11.7rem;
  margin-top: 2.6rem;
  background: #415bff;
}

.v2-coursescarousel__bandImage {
  object-fit: contain;
}

.v2-coursescarousel__controls {
  display: none;
}
@media only screen and (min-width: 768px) {
  .v2-coursescarousel__controls {
    display: flex;
    gap: 1rem;
    margin-top: 4rem;
  }
}

.v2-coursescarousel__arrow {
  border-color: rgba(37, 41, 46, 0.14);
}

/* ===== twocolsimagetext (components/sections/TwoColumnsImageText/TwoColumnsImageText.module.scss) ===== */
.v2-twocolsimagetext__twoColumnsImageText {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .v2-twocolsimagetext__twoColumnsImageText {
    padding: 0;
    margin-top: 30rem;
  }
}

.v2-twocolsimagetext__header {
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin-bottom: 12.5rem;
}
@media only screen and (min-width: 768px) {
  .v2-twocolsimagetext__header {
    padding: 0;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem;
  }
}
.v2-twocolsimagetext__header > * {
  grid-column: span 4/span 4;
}
@media only screen and (min-width: 768px) {
  .v2-twocolsimagetext__header > * {
    grid-column: span 12/span 12;
  }
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twocolsimagetext__header {
    margin-bottom: 4rem;
  }
}

.v2-twocolsimagetext__headline {
  grid-column: span 10/span 10;
  grid-column-start: 2;
  font: normal 600 4.6rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  margin: 0;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .v2-twocolsimagetext__headline {
    font: normal 600 9.2rem/1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
.v2-twocolsimagetext__headline strong {
  color: #415bff;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twocolsimagetext__headline {
    font-size: 5.2rem;
    line-height: 1;
    text-align: left;
    grid-column: span 6/span 6;
    grid-column-start: 1;
  }
}

.v2-twocolsimagetext__row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4rem;
  margin-bottom: 6rem;
}
@media only screen and (min-width: 768px) {
  .v2-twocolsimagetext__row {
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    padding: 10rem 0 8rem;
    margin-bottom: 16rem;
    flex-direction: column-reverse;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-twocolsimagetext__row {
    padding: 0;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .v2-twocolsimagetext__row > * {
    grid-column: span 4/span 4;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-twocolsimagetext__row > * {
    grid-column: span 12/span 12;
  }
}
@media only screen and (min-width: 768px) {
  .v2-twocolsimagetext__row > .v2-twocolsimagetext__imageWrapper {
    grid-column: span 6/span 6;
    grid-column-start: 1;
  }
  .v2-twocolsimagetext__row > .v2-twocolsimagetext__content {
    grid-column: span 6/span 6;
    grid-column-start: 7;
  }
}
@media only screen and (min-width: 1024px) {
  .v2-twocolsimagetext__row > .v2-twocolsimagetext__imageWrapper {
    grid-column: span 5/span 5;
    grid-column-start: 2;
  }
  .v2-twocolsimagetext__row > .v2-twocolsimagetext__content {
    grid-column: span 4/span 4;
    grid-column-start: 8;
  }
}

@media only screen and (min-width: 768px) {
  .v2-twocolsimagetext__rowRight > .v2-twocolsimagetext__imageWrapper {
    grid-column-start: 7;
    grid-row: 1;
  }
  .v2-twocolsimagetext__rowRight > .v2-twocolsimagetext__content {
    grid-column-start: 1;
    grid-row: 1;
  }
}
@media only screen and (min-width: 1024px) {
  .v2-twocolsimagetext__rowRight > .v2-twocolsimagetext__imageWrapper {
    grid-column-start: 7;
    grid-row: 1;
  }
  .v2-twocolsimagetext__rowRight > .v2-twocolsimagetext__content {
    grid-column-start: 2;
    grid-row: 1;
  }
}

.v2-twocolsimagetext__imageWrapper {
  position: relative;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twocolsimagetext__imageWrapper {
    width: 100%;
  }
}

.v2-twocolsimagetext__image {
  position: relative;
  aspect-ratio: 580/387;
  overflow: hidden;
  width: calc(100% + 3.2rem);
  margin-left: -1.6rem;
}
@media only screen and (min-width: 768px) {
  .v2-twocolsimagetext__image {
    width: 100%;
    aspect-ratio: 635/497;
    border-radius: 3.6rem;
    margin-left: 0;
  }
}
.v2-twocolsimagetext__image img,
.v2-twocolsimagetext__image [data-next-image] {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twocolsimagetext__image {
    max-width: 45rem;
  }
}

.v2-twocolsimagetext__content {
  display: flex;
  flex-direction: column;
  gap: 3.6rem;
  padding-top: 3rem;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twocolsimagetext__content {
    padding-top: 0;
  }
}

.v2-twocolsimagetext__cta {
  align-self: flex-start;
  margin-top: 0.5rem;
}

.v2-twocolsimagetext__title {
  font: normal 600 2.8rem/1.14 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.02em;
}
@media only screen and (min-width: 768px) {
  .v2-twocolsimagetext__title {
    font: normal 600 3.6rem/1.222 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
.v2-twocolsimagetext__title span {
  font: normal 700 6.2rem/0.97 "PP NeueBit", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.03em;
  background: linear-gradient(90deg, #415bff 0%, #ecdf30 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  width: fit-content;
  font-size: 8rem;
  vertical-align: super;
  margin-left: -1.6rem;
  display: inline-block;
  transform: translateY(0.2rem);
}
@media only screen and (min-width: 768px) {
  .v2-twocolsimagetext__title span {
    font: normal 700 17.6rem/0.76 "PP NeueBit", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.03em;
  }
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twocolsimagetext__title span {
    font-size: 5.2rem;
    font-weight: 700;
    line-height: 97%;
    letter-spacing: -0.104rem;
    margin-left: -1rem;
  }
}

.v2-twocolsimagetext__description {
  font: normal 400 1.6rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 500;
  color: #8c8c8c;
  max-width: 50rem;
}
@media only screen and (min-width: 768px) {
  .v2-twocolsimagetext__description {
    font: normal 400 2.4rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
.v2-twocolsimagetext__description p:not(:last-child) {
  margin-bottom: 3rem;
}
.v2-twocolsimagetext__description strong {
  color: #25292e;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twocolsimagetext__description {
    padding-right: 2rem;
  }
}

/* ===== twocolsiconlist (components/sections/TwoColumnsIconList/TwoColumnsIconList.module.scss) ===== */
.v2-twocolsiconlist__twoColumnsIconList {
  position: relative;
  margin: 12rem 0;
}
@media only screen and (min-width: 768px) {
  .v2-twocolsiconlist__twoColumnsIconList {
    margin-top: 16rem;
  }
}

.v2-twocolsiconlist__header {
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin-bottom: 12.5rem;
}
@media only screen and (min-width: 768px) {
  .v2-twocolsiconlist__header {
    padding: 0;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem;
  }
}
.v2-twocolsiconlist__header > * {
  grid-column: span 4/span 4;
}
@media only screen and (min-width: 768px) {
  .v2-twocolsiconlist__header > * {
    grid-column: span 12/span 12;
  }
}

.v2-twocolsiconlist__headline {
  grid-column: span 10/span 10;
  grid-column-start: 2;
  font: normal 600 4.6rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  margin: 0;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .v2-twocolsiconlist__headline {
    font: normal 600 9.2rem/1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
.v2-twocolsiconlist__headline strong {
  color: #415bff;
}

.v2-twocolsiconlist__row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4rem;
}
@media only screen and (min-width: 768px) {
  .v2-twocolsiconlist__row {
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    padding: 10rem 0 8rem;
    margin-bottom: 16rem;
    flex-direction: column-reverse;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-twocolsiconlist__row {
    padding: 0;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .v2-twocolsiconlist__row > * {
    grid-column: span 4/span 4;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-twocolsiconlist__row > * {
    grid-column: span 12/span 12;
  }
}
@media only screen and (min-width: 768px) {
  .v2-twocolsiconlist__row > .v2-twocolsiconlist__imageWrapper {
    grid-column: span 6/span 6;
    grid-column-start: 1;
  }
  .v2-twocolsiconlist__row > .v2-twocolsiconlist__content {
    grid-column: span 6/span 6;
    grid-column-start: 7;
  }
}
@media only screen and (min-width: 1024px) {
  .v2-twocolsiconlist__row > .v2-twocolsiconlist__imageWrapper {
    grid-column: span 5/span 5;
    grid-column-start: 2;
  }
  .v2-twocolsiconlist__row > .v2-twocolsiconlist__content {
    grid-column: span 4/span 4;
    grid-column-start: 8;
  }
}

@media only screen and (min-width: 768px) {
  .v2-twocolsiconlist__rowRight > .v2-twocolsiconlist__imageWrapper {
    grid-column-start: 8;
    grid-row: 1;
  }
  .v2-twocolsiconlist__rowRight > .v2-twocolsiconlist__content {
    grid-column-start: 2;
    grid-row: 1;
  }
}

.v2-twocolsiconlist__imageWrapper {
  position: relative;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twocolsiconlist__imageWrapper {
    width: 100%;
  }
}

.v2-twocolsiconlist__image {
  position: relative;
  width: 100%;
  aspect-ratio: 635/783;
  overflow: hidden;
  border-radius: 1.4rem;
}
.v2-twocolsiconlist__image img,
.v2-twocolsiconlist__image [data-next-image] {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
@media only screen and (min-width: 768px) {
  .v2-twocolsiconlist__image {
    border-radius: 3.6rem;
  }
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twocolsiconlist__image {
    max-width: 45rem;
  }
}

.v2-twocolsiconlist__content {
  display: flex;
  flex-direction: column;
  gap: 3.6rem;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twocolsiconlist__content {
    gap: 2.4rem;
  }
}

.v2-twocolsiconlist__cta {
  align-self: flex-start;
  margin-top: 2.4rem;
}

.v2-twocolsiconlist__title {
  font: normal 600 2.8rem/1.14 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.02em;
}
@media only screen and (min-width: 768px) {
  .v2-twocolsiconlist__title {
    font: normal 600 3.6rem/1.222 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-twocolsiconlist__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
  width: 100%;
  max-width: 50rem;
  margin-top: 2.4rem;
}

.v2-twocolsiconlist__listItem {
  display: flex;
  align-items: flex-start;
  gap: 2.4rem;
}

.v2-twocolsiconlist__itemIcon {
  position: relative;
  flex-shrink: 0;
  width: 3.6rem;
  height: 3.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.v2-twocolsiconlist__itemIcon img,
.v2-twocolsiconlist__itemIcon [data-next-image] {
  object-fit: contain;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twocolsiconlist__itemIcon {
    width: 2.4rem;
    height: 2.4rem;
  }
}

.v2-twocolsiconlist__itemIconImage {
  object-fit: contain !important;
}

.v2-twocolsiconlist__itemBody {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  min-width: 0;
}

.v2-twocolsiconlist__itemTitle {
  font: normal 400 1.6rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  margin: 0;
  color: #25292e;
  font-weight: 500;
}
@media only screen and (min-width: 768px) {
  .v2-twocolsiconlist__itemTitle {
    font: normal 400 2.4rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-twocolsiconlist__itemDescription {
  font: normal 400 1.2rem/1.1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  margin: 0;
  color: #25292e;
}
@media only screen and (min-width: 768px) {
  .v2-twocolsiconlist__itemDescription {
    font: normal 400 1.6rem/1.5 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
.v2-twocolsiconlist__itemDescription p {
  margin: 0;
}
.v2-twocolsiconlist__itemDescription p:not(:last-child) {
  margin-bottom: 0;
}

.v2-twocolsiconlist__description {
  font: normal 400 1.6rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-weight: 500;
  color: #8c8c8c;
  max-width: 50rem;
}
@media only screen and (min-width: 768px) {
  .v2-twocolsiconlist__description {
    font: normal 400 2.4rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
.v2-twocolsiconlist__description p:not(:last-child) {
  margin-bottom: 3rem;
}
.v2-twocolsiconlist__description strong {
  color: #25292e;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-twocolsiconlist__description {
    padding-right: 2rem;
  }
}

/* ===== benefitslist (components/sections/BenefitsList/BenefitsList.module.scss) ===== */
.v2-benefitslist__benefitsList {
  margin: 30rem 0 24rem;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-benefitslist__benefitsList {
    margin: 12rem 0;
  }
}

.v2-benefitslist__header {
  text-align: center;
  max-width: 72rem;
  margin: 0 auto 7.2rem;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-benefitslist__header {
    margin-bottom: 4rem;
  }
}

.v2-benefitslist__eyebrow {
  font: normal 700 2.4rem/145% "PP NeueBit", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  background: linear-gradient(90deg, #415bff 0%, #ecdf30 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  width: fit-content;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 700;
  text-align: center;
  margin: 0 auto 1.6rem;
}
@media only screen and (min-width: 768px) {
  .v2-benefitslist__eyebrow {
    font: normal 700 3.2rem/145% "PP NeueBit", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-benefitslist__title {
  color: #25292e;
  text-align: center;
  font-family: "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 6.4rem;
  font-weight: 600;
  line-height: 97%;
  margin-bottom: 2rem;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-benefitslist__title {
    font-size: 5.2rem;
    line-height: 1;
  }
}

.v2-benefitslist__description {
  font: normal 400 1.6rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  line-height: 145%;
  color: #25292e;
  max-width: 51rem;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .v2-benefitslist__description {
    font: normal 400 2rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-benefitslist__description {
    max-width: 90%;
  }
}

.v2-benefitslist__rating {
  font: normal 400 1.2rem/1.1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  margin: 2.4rem 0 0;
  color: #25292e;
}
@media only screen and (min-width: 768px) {
  .v2-benefitslist__rating {
    font: normal 400 1.6rem/1.5 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
.v2-benefitslist__rating strong {
  font-weight: 700;
}
@media only screen and (min-width: 768px) {
  .v2-benefitslist__rating {
    font-size: 1.8rem;
  }
}

.v2-benefitslist__ratingStars {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.v2-benefitslist__ratingStarsIcon {
  width: 7.5rem;
  height: auto;
  margin-bottom: 0.2rem;
}
@media only screen and (min-width: 768px) {
  .v2-benefitslist__ratingStarsIcon {
    width: 9.7rem;
    height: auto;
    margin-bottom: 0;
  }
}

.v2-benefitslist__trustNote {
  font: normal 400 1.2rem/1.1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  text-align: center;
  margin: 1.2rem auto 0;
  color: #25292e;
}
@media only screen and (min-width: 768px) {
  .v2-benefitslist__trustNote {
    font: normal 400 1.6rem/1.5 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
.v2-benefitslist__trustNote strong {
  font-weight: 700;
  color: #25292e;
}

.v2-benefitslist__gridContainer {
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .v2-benefitslist__gridContainer {
    padding: 0;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem;
  }
}
.v2-benefitslist__gridContainer > * {
  grid-column: span 4/span 4;
}
@media only screen and (min-width: 768px) {
  .v2-benefitslist__gridContainer > * {
    grid-column: span 12/span 12;
  }
}

.v2-benefitslist__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.6rem;
}
@media only screen and (min-width: 768px) {
  .v2-benefitslist__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-column: span 10/span 10;
    grid-column-start: 2;
    gap: 2.7rem;
  }
}

.v2-benefitslist__card {
  min-height: 33rem;
  border-radius: 0.8rem;
  padding: 3.2rem 3.8rem;
  background-color: rgba(255, 255, 255, 0.64);
  backdrop-filter: blur(2.1rem);
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-benefitslist__card {
    padding: 2.4rem 2.4rem;
  }
}

.v2-benefitslist__cardIcon {
  position: relative;
  width: 4.2rem;
  height: 4.2rem;
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-benefitslist__cardIcon {
    width: 3.2rem;
    height: 3.2rem;
    margin-bottom: 1.6rem;
  }
}

.v2-benefitslist__cardIconImage {
  object-fit: contain !important;
}

.v2-benefitslist__cardBody {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.v2-benefitslist__cardTitle {
  font-size: 2.6rem;
  font-weight: 600;
  line-height: 120%;
  margin: 0;
}

.v2-benefitslist__cardDescription {
  font: normal 400 1.2rem/1.1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  font-size: 1.5rem;
  line-height: 140%;
  color: #25292e;
}
@media only screen and (min-width: 768px) {
  .v2-benefitslist__cardDescription {
    font: normal 400 1.6rem/1.5 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
.v2-benefitslist__cardDescription p {
  margin: 0;
}

.v2-benefitslist__footer {
  display: flex;
  justify-content: center;
  margin-top: 4.8rem;
  margin-bottom: 2.4rem;
}

.v2-benefitslist__cta {
  justify-content: center;
}
@media only screen and (min-width: 768px) {
  .v2-benefitslist__cta {
    min-width: 27rem;
  }
}

/* ===== faq (components/sections/Faq/Faq.module.scss) ===== */
.v2-faq__faq {
  margin: 16rem 0;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-faq__faq {
    margin: 12rem 0;
  }
}

.v2-faq__header {
  text-align: center;
  max-width: 63rem;
  margin: 0 auto 7.2rem;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-faq__header {
    margin-bottom: 4rem;
  }
}

.v2-faq__eyebrow {
  font: normal 700 2.4rem/145% "PP NeueBit", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  background: linear-gradient(90deg, #415bff 0%, #ecdf30 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  width: fit-content;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 700;
  text-align: center;
  margin: 0 auto 1.6rem;
}
@media only screen and (min-width: 768px) {
  .v2-faq__eyebrow {
    font: normal 700 3.2rem/145% "PP NeueBit", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-faq__title {
  color: #25292e;
  text-align: center;
  font-family: "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 5.5rem;
  font-weight: 600;
  line-height: 97%;
  margin-bottom: 2rem;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-faq__title {
    font-size: 4rem;
  }
}

.v2-faq__description {
  font: normal 400 1.6rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  color: #25292e;
  max-width: 51rem;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .v2-faq__description {
    font: normal 400 2rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-faq__gridContainer {
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .v2-faq__gridContainer {
    padding: 0;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem;
  }
}
.v2-faq__gridContainer > * {
  grid-column: span 4/span 4;
}
@media only screen and (min-width: 768px) {
  .v2-faq__gridContainer > * {
    grid-column: span 12/span 12;
  }
}

.v2-faq__grid {
  margin: 0;
  padding: 0;
  list-style: none;
  grid-column: 3/span 8;
  width: 100%;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-faq__grid {
    grid-column: 1/-1;
  }
}

.v2-faq__item {
  border-bottom: 0.1rem solid #ccc;
  transition: border-color 0.2s ease;
}
@media (hover: hover) and (pointer: fine) {
  .v2-faq__item:hover {
    border-color: #25292e;
    transition: border-color 0.2s ease;
  }
}
.v2-faq__item.v2-faq__itemOpen {
  border-color: #25292e;
}

.v2-faq__itemButton {
  width: 100%;
  border: 0;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.6rem;
  text-align: left;
  cursor: pointer;
  padding: 2rem 0;
}
.v2-faq__itemButton:focus-visible {
  outline: 0.2rem solid #25292e;
  outline-offset: 0.4rem;
}

.v2-faq__itemQuestion {
  font: normal 400 1.6rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  color: #25292e;
  font-weight: 500;
}
@media only screen and (min-width: 768px) {
  .v2-faq__itemQuestion {
    font: normal 400 2.4rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
@media only screen and (min-width: 768px) {
  .v2-faq__itemQuestion {
    font-size: 2rem;
  }
}

.v2-faq__itemIcon {
  display: flex;
  width: 1.6rem;
  height: 1.6rem;
  position: relative;
  flex-shrink: 0;
  transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  transform-origin: center;
}

.v2-faq__itemIconOpen {
  transform: rotate(180deg);
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.v2-faq__itemContent {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.v2-faq__itemContentOpen {
  max-height: 30rem;
  transition: max-height 0.6s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 1;
}

.v2-faq__itemAnswer {
  color: #666;
  line-height: 145%;
  padding-bottom: 2.4rem;
  padding-right: 5%;
}
.v2-faq__itemAnswer p {
  font: normal 400 1.6rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  line-height: 1.5;
}
@media only screen and (min-width: 768px) {
  .v2-faq__itemAnswer p {
    font: normal 400 2rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
@media only screen and (min-width: 768px) {
  .v2-faq__itemAnswer p {
    font-size: 1.8rem;
    line-height: 145%;
  }
}
.v2-faq__itemAnswer p:not(:last-child) {
  margin-bottom: 1.6rem;
}
@media only screen and (min-width: 768px) {
  .v2-faq__itemAnswer p:not(:last-child) {
    margin-bottom: 2.4rem;
  }
}

/* ===== contactform (components/sections/ContactForm/ContactForm.module.scss) ===== */
.v2-contactform__contactForm {
  margin: 12rem 0;
}
@media only screen and (min-width: 768px) {
  .v2-contactform__contactForm {
    margin: 30rem 0 16rem;
  }
}

.v2-contactform__benefitsHeadingWrap {
  text-align: center;
  margin-bottom: 12rem;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-contactform__benefitsHeadingWrap {
    margin-bottom: 4rem;
  }
}

.v2-contactform__benefitsHeading {
  font: normal 600 4.6rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  margin: 0 auto;
  color: #25292e;
}
@media only screen and (min-width: 768px) {
  .v2-contactform__benefitsHeading {
    font: normal 600 9.2rem/1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
.v2-contactform__benefitsHeading strong {
  color: #b0b0b0;
  font-weight: inherit;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-contactform__benefitsHeading {
    font-size: 4rem;
    line-height: 1;
    text-align: left;
  }
}

.v2-contactform__grid {
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  align-items: start;
}
@media only screen and (min-width: 768px) {
  .v2-contactform__grid {
    padding: 0;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem;
  }
}
.v2-contactform__grid > * {
  grid-column: span 4/span 4;
}
@media only screen and (min-width: 768px) {
  .v2-contactform__grid > * {
    grid-column: span 12/span 12;
  }
}

.v2-contactform__content {
  padding-top: 2.8rem;
}
@media only screen and (min-width: 768px) {
  .v2-contactform__content {
    grid-column: span 4/span 4;
    grid-column-start: 2;
  }
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-contactform__content {
    padding-top: 0;
    margin-bottom: 3.2rem;
  }
}

.v2-contactform__heading {
  margin: 0 0 2.4rem;
  color: #25292e;
  font-family: "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 5.6rem;
  font-weight: 500;
  line-height: 106%;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-contactform__heading {
    font-size: 2.6rem;
    line-height: 1;
    text-align: left;
  }
}

.v2-contactform__body {
  font: normal 400 1.6rem/120% "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  color: #666;
  max-width: 42.7rem;
}
@media only screen and (min-width: 768px) {
  .v2-contactform__body {
    font: normal 400 1.8rem/130% "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-contactform__body {
    padding-right: 2rem;
  }
}
.v2-contactform__body p + p {
  margin-top: 1.8rem;
}

.v2-contactform__form {
  display: flex;
  flex-direction: column;
  gap: 2rem 1.6rem;
}
@media only screen and (min-width: 768px) {
  .v2-contactform__form {
    grid-column: span 5/span 5;
    grid-column-start: 7;
    gap: 3rem 1.6rem;
  }
}

.v2-contactform__rowTwo {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media only screen and (min-width: 768px) {
  .v2-contactform__rowTwo {
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    gap: 1.6rem;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-contactform__rowTwo {
    padding: 0;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .v2-contactform__rowTwo > * {
    grid-column: span 4/span 4;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-contactform__rowTwo > * {
    grid-column: span 12/span 12;
  }
}
@media only screen and (min-width: 768px) {
  .v2-contactform__rowTwo > * {
    grid-column: span 2/span 2;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-contactform__rowTwo > * {
    grid-column: span 6/span 6;
  }
}

.v2-contactform__rowPhone {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media only screen and (min-width: 768px) {
  .v2-contactform__rowPhone {
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    gap: 1.6rem;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-contactform__rowPhone {
    padding: 0;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .v2-contactform__rowPhone > * {
    grid-column: span 4/span 4;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-contactform__rowPhone > * {
    grid-column: span 12/span 12;
  }
}
.v2-contactform__rowPhone > * {
  grid-column: span 2/span 2;
}
@media only screen and (min-width: 768px) {
  .v2-contactform__rowPhone > .v2-contactform__phonePrefix {
    grid-column: span 4/span 4;
  }
}
@media only screen and (min-width: 768px) {
  .v2-contactform__rowPhone > :not(.v2-contactform__phonePrefix) {
    grid-column: span 8/span 8;
  }
}

.v2-contactform__phonePrefix {
  min-width: 0;
}

.v2-contactform__submit {
  margin-top: 0.4rem;
  align-self: flex-start;
  min-width: 18rem;
}

/* ===== textimage (components/sections/TextImage/TextImage.module.scss) ===== */
.v2-textimage__textImage {
  position: relative;
  margin: 16rem 0 12rem;
  z-index: 1;
}

.v2-textimage__container {
  position: relative;
  aspect-ratio: 1580/1053;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-textimage__container {
    width: calc(100% + 3.2rem);
    margin-left: -1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .v2-textimage__container {
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    align-items: center;
    padding: 10rem 0;
    height: 100%;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-textimage__container {
    padding: 0;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .v2-textimage__container > * {
    grid-column: span 4/span 4;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-textimage__container > * {
    grid-column: span 12/span 12;
  }
}

.v2-textimage__imageWrapper {
  position: absolute;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
}

.v2-textimage__image {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.v2-textimage__image img,
.v2-textimage__image [data-next-image] {
  object-fit: cover;
}
@media only screen and (min-width: 768px) {
  .v2-textimage__image {
    border-radius: 3.6rem;
  }
}

.v2-textimage__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 3.2rem 3.2rem 3.2rem;
}
@media only screen and (min-width: 768px) {
  .v2-textimage__content {
    grid-column: span 12/span 12;
    grid-column-start: 1;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 0 4rem;
    height: 100%;
    padding: 0;
  }
}

.v2-textimage__title {
  font: normal 600 4.6rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  color: #ffffff;
  font-size: 3.6rem;
  line-height: 1;
  margin-top: auto;
}
@media only screen and (min-width: 768px) {
  .v2-textimage__title {
    font: normal 600 9.2rem/1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
@media only screen and (min-width: 768px) {
  .v2-textimage__title {
    font: normal 600 4.6rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
    margin-top: 18rem;
    grid-column: 2/12;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-textimage__title {
    font: normal 600 9.2rem/1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-textimage__subtitle {
  font: normal 600 4.6rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  color: #ffffff;
  font-size: 3.6rem;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .v2-textimage__subtitle {
    font: normal 600 9.2rem/1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
@media only screen and (min-width: 768px) {
  .v2-textimage__subtitle {
    font: normal 600 4.6rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
    grid-column: 9/span 4;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-textimage__subtitle {
    font: normal 600 9.2rem/1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-textimage__imageOverlay {
  position: absolute;
  inset: 0;
  background: #000000;
  opacity: 0.11;
  z-index: 1;
}

.v2-textimage__lottieOverlay {
  position: absolute;
  transform: translate(-50%, -50%);
  z-index: 3;
  pointer-events: none;
  height: auto;
}

/* ===== resourcesdownload (components/sections/ResourcesDownload/ResourcesDownload.module.scss) ===== */
.v2-resourcesdownload__section {
  position: relative;
  margin: 12rem 0;
}
@media only screen and (min-width: 768px) {
  .v2-resourcesdownload__section {
    margin: 20rem 0;
  }
}

@media only screen and (min-width: 768px) {
  .v2-resourcesdownload__inner {
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    align-items: stretch;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-resourcesdownload__inner {
    padding: 0;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .v2-resourcesdownload__inner > * {
    grid-column: span 4/span 4;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-resourcesdownload__inner > * {
    grid-column: span 12/span 12;
  }
}

.v2-resourcesdownload__card {
  display: flex;
  flex-direction: column-reverse;
  align-items: stretch;
  gap: 0;
  overflow: hidden;
  background-color: #25292e;
  border-radius: 1.4rem;
}
@media only screen and (min-width: 768px) {
  .v2-resourcesdownload__card {
    grid-column: span 12/span 12;
    flex-direction: row;
    min-height: 86rem;
    border-radius: 3.6rem;
  }
}

.v2-resourcesdownload__columnText {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  justify-content: space-between;
  gap: 3.2rem;
  padding: 3.2rem 2.4rem 4rem;
}
@media only screen and (min-width: 768px) {
  .v2-resourcesdownload__columnText {
    flex: 1 1 50%;
    max-width: 50%;
    padding: 13rem 6rem 8rem 12rem;
  }
}

.v2-resourcesdownload__columnCopy {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
@media only screen and (min-width: 768px) {
  .v2-resourcesdownload__columnCopy {
    gap: 4rem;
  }
}

.v2-resourcesdownload__title {
  margin: 0;
  color: #ffffff;
  font-family: "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 500;
  font-size: 3.6rem;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .v2-resourcesdownload__title {
    font-size: 5.6rem;
    line-height: 1.1;
  }
}

.v2-resourcesdownload__description {
  margin: 0;
  max-width: 49rem;
  color: #ffffff;
  font: normal 400 1.6rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
}
@media only screen and (min-width: 768px) {
  .v2-resourcesdownload__description {
    font: normal 400 2.4rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-resourcesdownload__cta {
  align-self: flex-start;
}

.v2-resourcesdownload__caption {
  margin: 0;
  color: #ffffff;
  opacity: 0.9;
  font: normal 400 1.2rem/1.1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
}
@media only screen and (min-width: 768px) {
  .v2-resourcesdownload__caption {
    font: normal 400 1.4rem/1.5 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-resourcesdownload__columnMedia {
  position: relative;
  flex: 1 1 auto;
  width: 100%;
  min-height: 28rem;
  overflow: hidden;
  border-radius: 0;
}
@media only screen and (min-width: 768px) {
  .v2-resourcesdownload__columnMedia {
    flex: 1 1 50%;
    max-width: 50%;
    min-height: 0;
    border-radius: 0 3.6rem 3.6rem 0;
  }
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-resourcesdownload__columnMedia {
    border-radius: 3.6rem 3.6rem 0 0;
  }
}
.v2-resourcesdownload__columnMedia img,
.v2-resourcesdownload__columnMedia [data-next-image] {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.v2-resourcesdownload__mediaAsset {
  position: relative;
  width: 100%;
  aspect-ratio: 1084/813;
}
@media only screen and (min-width: 768px) {
  .v2-resourcesdownload__mediaAsset {
    position: absolute;
    inset: 0;
    height: 100%;
    aspect-ratio: auto;
  }
}

.v2-resourcesdownload__lottieRoot {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 20rem;
  padding: 2rem;
}
@media only screen and (min-width: 768px) {
  .v2-resourcesdownload__lottieRoot {
    position: absolute;
    inset: 0;
    padding: 4rem;
    min-height: 28rem;
  }
}
.v2-resourcesdownload__lottieRoot svg {
  width: 100% !important;
  height: auto !important;
  max-height: 100%;
}

/* ===== featuresheroimage (components/sections/FeaturesHeroImage/FeaturesHeroImage.module.scss) ===== */
.v2-featuresheroimage__featuresHeroImage {
  position: relative;
  padding: 5rem 0;
  z-index: 1;
  height: 100vh;
  min-height: 80rem;
}

.v2-featuresheroimage__container {
  position: relative;
  height: 100%;
}
@media only screen and (min-width: 768px) {
  .v2-featuresheroimage__container {
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    gap: 0;
    align-items: space-between;
    padding: 10rem 0;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-featuresheroimage__container {
    padding: 0;
    grid-template-columns: repeat(12, 1fr);
    gap: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .v2-featuresheroimage__container > * {
    grid-column: span 4/span 4;
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) {
  .v2-featuresheroimage__container > * {
    grid-column: span 12/span 12;
  }
}

.v2-featuresheroimage__imageWrapper {
  position: absolute;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  border-radius: 1.4rem;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .v2-featuresheroimage__imageWrapper {
    border-radius: 3.6rem;
  }
}
.v2-featuresheroimage__imageWrapper::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000000;
  z-index: 1;
  opacity: 0.38;
}
.v2-featuresheroimage__imageWrapper::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #25292e;
  z-index: 2;
  opacity: 0.2;
}

.v2-featuresheroimage__image {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 1.4rem;
}
@media only screen and (min-width: 768px) {
  .v2-featuresheroimage__image {
    border-radius: 3.6rem;
  }
}
.v2-featuresheroimage__image img,
.v2-featuresheroimage__image [data-next-image] {
  object-fit: cover;
}

.v2-featuresheroimage__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  padding: 5rem 2.4rem 3.2rem;
  gap: 1.6rem;
}
@media only screen and (min-width: 768px) {
  .v2-featuresheroimage__content {
    grid-column: span 7/span 7;
    grid-column-start: 1;
    gap: 3.2rem;
    padding-top: 10.5rem;
    padding-left: 10rem;
    padding-bottom: 0;
  }
}

.v2-featuresheroimage__eyebrow {
  font: normal 400 1.6rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  color: #ffffff;
  font-weight: 500;
}
@media only screen and (min-width: 768px) {
  .v2-featuresheroimage__eyebrow {
    font: normal 400 2rem/1.2 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-featuresheroimage__title {
  color: #ffffff;
  font-size: 4rem;
  font-weight: 500;
  line-height: 110%;
  max-width: 73rem;
}
@media only screen and (min-width: 768px) {
  .v2-featuresheroimage__title {
    font-size: 8rem;
    font-weight: 500;
    letter-spacing: -0.16rem;
    max-width: 73rem;
  }
}

.v2-featuresheroimage__description {
  font: normal 400 1.6rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  color: #ffffff;
  max-width: 57rem;
}
@media only screen and (min-width: 768px) {
  .v2-featuresheroimage__description {
    font: normal 400 2.4rem/1.33 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}

.v2-featuresheroimage__imageOverlay {
  position: absolute;
  inset: 0;
  background: #000000;
  opacity: 0.11;
  z-index: 1;
}

.v2-featuresheroimage__ctas {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-left: 2.4rem;
  gap: 1.6rem;
  z-index: 2;
}
@media only screen and (min-width: 768px) {
  .v2-featuresheroimage__ctas {
    grid-column: span 6/span 6;
    grid-column-start: 1;
    align-items: center;
    flex-direction: row;
    margin-top: auto;
    padding-bottom: 8rem;
    padding-left: 10rem;
  }
}

.v2-featuresheroimage__ctaLink {
  font: normal 400 1.5rem/1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  color: #f8fafc;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 125%;
  position: relative;
  display: inline-block;
  text-decoration: none;
  --underline-thickness: 1px;
  --underline-distance: 0.12em;
}
@media only screen and (min-width: 768px) {
  .v2-featuresheroimage__ctaLink {
    font: normal 400 2.2rem/1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
.v2-featuresheroimage__ctaLink::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  bottom: calc(-1 * var(--underline-distance));
  height: var(--underline-thickness);
  background-color: currentcolor;
  transform: translateY(0);
  transition: transform 0.2s ease-out;
  pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
  .v2-featuresheroimage__ctaLink:hover:hover::after {
    transform: translateY(3px);
  }
}
@media (prefers-reduced-motion) {
  .v2-featuresheroimage__ctaLink::after {
    transition: none;
  }
}
@media (prefers-reduced-motion) and (hover: hover) and (pointer: fine) {
  .v2-featuresheroimage__ctaLink:hover:hover::after {
    transform: none;
  }
}

.v2-featuresheroimage__ctaVideo {
  position: absolute;
  bottom: 3.2rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}
@media only screen and (min-width: 768px) {
  .v2-featuresheroimage__ctaVideo {
    bottom: 4.8rem;
    right: 4.8rem;
    left: auto;
    transform: none;
  }
}

.v2-featuresheroimage__scrollDown {
  position: absolute;
  left: 50%;
  bottom: -1.6rem;
  transform: translateX(-50%);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  height: 3.4rem;
  padding: 0 1.6rem;
  margin: 0;
  border: none;
  border-radius: 2.2rem;
  background: #415bff;
  color: #ffffff;
  cursor: pointer;
  font-family: "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  white-space: nowrap;
  transition: background-color 0.3s ease;
}
.js-focus-visible .v2-featuresheroimage__scrollDown.focus-visible {
  outline: none;
}
.v2-featuresheroimage__scrollDown:focus-visible {
  outline: none;
}
.js-focus-visible .v2-featuresheroimage__scrollDown.focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 3px;
}
.v2-featuresheroimage__scrollDown:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 3px;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-featuresheroimage__scrollDown {
    bottom: -1.6rem;
    max-width: calc(100% - 3rem);
    padding: 0 1.2rem;
    gap: 0.8rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .v2-featuresheroimage__scrollDown:hover {
    background: #2f48e5;
    transition: background-color 0.3s ease;
  }
}

.v2-featuresheroimage__scrollDownLabel {
  flex-shrink: 0;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.25;
}

.v2-featuresheroimage__scrollDownIconWrap {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  text-align: center;
}

.v2-featuresheroimage__scrollDownIcon {
  height: 1rem;
  flex-shrink: 0;
  display: flex;
}

.v2-featuresheroimage__scrollDownIconTrack {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 1.4rem;
  height: 2rem;
  border: 1px solid #ffffff;
  border-radius: 0.8rem;
}

.v2-featuresheroimage__scrollDownIconArrow {
  display: block;
  flex-shrink: 0;
  color: #ffffff;
}

.v2-featuresheroimage__scrollDownExplore {
  flex-shrink: 0;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.25;
}

.v2-featuresheroimage__scrollDownExploreAccent {
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.25;
}

/* ===== stepsrow (components/sections/StepsRow/StepsRow.module.scss) ===== */
.v2-stepsrow__stepsRow {
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: 8rem 0;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-stepsrow__stepsRow {
    margin: 12rem 0;
    padding: 0;
    align-items: flex-start;
  }
}

.v2-stepsrow__container {
  display: flex;
  flex-direction: column;
  gap: 16rem;
}
@media (min-width: 2200px) {
  .v2-stepsrow__container {
    gap: 20rem;
  }
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-stepsrow__container {
    gap: 4rem;
  }
}

.v2-stepsrow__intro {
  padding: 0;
  width: 100%;
}

.v2-stepsrow__title {
  font: normal 600 2.8rem/1.14 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -0.02em;
}
@media only screen and (min-width: 768px) {
  .v2-stepsrow__title {
    font: normal 600 5.2rem/1.08 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.02em;
  }
}

.v2-stepsrow__stepsOuter {
  position: relative;
}

.v2-stepsrow__track {
  position: absolute;
  top: calc(8rem / 2);
  height: 3px;
  width: 100%;
  background-color: #ebebeb;
  transform: translateY(-50%);
  overflow: hidden;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-stepsrow__track {
    top: 0;
    left: calc(5.6rem / 2);
    width: 3px;
    height: 100%;
    transform: translateX(-50%);
  }
}
@media (min-width: 2200px) {
  .v2-stepsrow__track {
    top: calc(10rem / 2);
  }
}

.v2-stepsrow__trackFill {
  height: 100%;
  width: 0%;
  background-color: #415bff;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-stepsrow__trackFill {
    width: 100%;
    height: 0%;
  }
}

.v2-stepsrow__steps {
  display: grid;
  grid-template-columns: repeat(var(--step-count, 4), 1fr);
  position: relative;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-stepsrow__steps {
    grid-template-columns: 1fr;
    gap: 3.2rem;
  }
}

.v2-stepsrow__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
}
@media (min-width: 2200px) {
  .v2-stepsrow__step {
    gap: 2.4rem;
  }
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-stepsrow__step {
    flex-direction: row;
    align-items: center;
    gap: 2rem;
  }
}

.v2-stepsrow__bubble {
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3.2rem;
  font-weight: 600;
  flex-shrink: 0;
  background-color: #d9d9d9;
  color: #ffffff;
  transform: scale(0.9);
  transition: transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1), background-color 0.35s ease, color 0.35s ease;
  will-change: transform;
}
.v2-stepsrow__step[data-active=true] .v2-stepsrow__bubble {
  background-color: #415bff;
  color: #ffffff;
  transform: scale(1);
}
.v2-stepsrow__step[data-active=false] .v2-stepsrow__bubble {
  background-color: #f3f3f3;
  border: 3px solid #ebebeb;
  color: #8c8c8c;
  transform: scale(0.9);
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-stepsrow__bubble {
    width: 5.6rem;
    height: 5.6rem;
    font-size: 2.2rem;
  }
}
@media (min-width: 2200px) {
  .v2-stepsrow__bubble {
    width: 10rem;
    height: 10rem;
    font-size: 3.8rem;
  }
}

.v2-stepsrow__stepBody {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-stepsrow__stepBody {
    align-items: flex-start;
    text-align: left;
  }
}

.v2-stepsrow__stepTitle {
  font-size: 2.9rem;
  font-weight: 500;
  color: #25292e;
  transition: color 0.35s ease;
}
.v2-stepsrow__step[data-active=false] .v2-stepsrow__stepTitle {
  color: #d9d9d9;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-stepsrow__stepTitle {
    font-size: 2.2rem;
  }
}
@media (min-width: 2200px) {
  .v2-stepsrow__stepTitle {
    font-size: 3.3rem;
  }
}

.v2-stepsrow__stepTime {
  font-size: 2.7rem;
  color: #ababab;
  transition: color 0.35s ease;
  margin-top: 0.5rem;
}
.v2-stepsrow__step[data-active=false] .v2-stepsrow__stepTime {
  color: #d9d9d9;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-stepsrow__stepTime {
    font-size: 2rem;
  }
}
@media (min-width: 2200px) {
  .v2-stepsrow__stepTime {
    font-size: 3.1rem;
  }
}

.v2-stepsrow__stepDesc {
  font-size: 1.8rem;
  color: #666;
  line-height: 130%;
  margin-top: 4.5rem;
  max-width: 22rem;
  transition: color 0.35s ease;
}
.v2-stepsrow__step[data-active=false] .v2-stepsrow__stepDesc {
  color: #d9d9d9;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .v2-stepsrow__stepDesc {
    font-size: 1.6rem;
    margin-top: 0.8rem;
    max-width: none;
  }
}
@media (min-width: 2200px) {
  .v2-stepsrow__stepDesc {
    font-size: 2rem;
    margin-top: 5rem;
    max-width: 26rem;
  }
}

/* ===== bulletnav (components/common/CarouselBulletNav/CarouselBulletNav.module.scss) ===== */
.v2-bulletnav__dotsRow {
  display: flex;
  align-items: center;
  gap: 2rem;
  margin-top: 2.4rem;
}
@media only screen and (min-width: 768px) {
  .v2-bulletnav__dotsRow {
    display: none;
  }
}

.v2-bulletnav__dots {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}

.v2-bulletnav__lottieHint {
  width: 6rem;
  flex-shrink: 0;
}

.v2-bulletnav__dot {
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  border: none;
  padding: 0;
  cursor: pointer;
  background-color: #d9d9d9;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.v2-bulletnav__dot:focus-visible {
  outline: 2px solid #415bff;
  outline-offset: 2px;
}

.v2-bulletnav__dotActive {
  background-color: #415bff;
  transform: scale(1.2);
}

/* ===== forminput (components/common/form/FormInput/FormInput.module.scss) ===== */
.v2-forminput__field {
  width: 100%;
}

.v2-forminput__input {
  font: normal 400 1.6rem/120% "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  width: 100%;
  height: 5.2rem;
  border: 0.1rem solid transparent;
  border-radius: 0.6rem;
  background: #ffffff;
  color: #25292e;
  padding: 1.2rem 1.6rem;
}
@media only screen and (min-width: 768px) {
  .v2-forminput__input {
    font: normal 400 1.8rem/130% "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
.v2-forminput__input::placeholder {
  color: #666;
}
[aria-invalid=true] .v2-forminput__input::placeholder {
  color: #ff2c2c;
}
.v2-forminput__input:focus {
  outline: none;
}

.v2-forminput__inputError {
  border-color: #ff2c2c;
  color: #ff2c2c;
}

.v2-forminput__error {
  position: absolute;
  width: 0.1rem;
  height: 0.1rem;
  padding: 0;
  margin: -0.1rem;
  overflow: hidden;
  clip-path: inset(50%);
  border: 0;
}

.v2-forminput__srOnly {
  position: absolute;
  width: 0.1rem;
  height: 0.1rem;
  padding: 0;
  margin: -0.1rem;
  overflow: hidden;
  clip-path: inset(50%);
  border: 0;
}

/* ===== formselect (components/common/form/FormSelect/FormSelect.module.scss) ===== */
.v2-formselect__field {
  width: 100%;
}

.v2-formselect__selectWrap {
  position: relative;
  border: 0.1rem solid transparent;
  border-radius: 0.6rem;
  background: #ffffff;
}

.v2-formselect__select {
  font: normal 400 1.6rem/120% "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  width: 100%;
  height: 5.2rem;
  border: 0;
  background: transparent;
  color: #25292e;
  padding: 1.2rem 4.8rem 1.2rem 1.6rem;
  appearance: none;
}
@media only screen and (min-width: 768px) {
  .v2-formselect__select {
    font: normal 400 1.8rem/130% "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
.v2-formselect__select:focus {
  outline: none;
}

.v2-formselect__selectWrapError {
  border-color: #ff2c2c;
}
.v2-formselect__selectWrapError .v2-formselect__select {
  color: #ff2c2c;
}

.v2-formselect__selectPlaceholder {
  color: #666;
}

.v2-formselect__icon {
  position: absolute;
  right: 1.6rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.6rem;
  height: 1.6rem;
  pointer-events: none;
  color: #666;
}
.v2-formselect__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.v2-formselect__error {
  position: absolute;
  width: 0.1rem;
  height: 0.1rem;
  padding: 0;
  margin: -0.1rem;
  overflow: hidden;
  clip-path: inset(50%);
  border: 0;
}

.v2-formselect__srOnly {
  position: absolute;
  width: 0.1rem;
  height: 0.1rem;
  padding: 0;
  margin: -0.1rem;
  overflow: hidden;
  clip-path: inset(50%);
  border: 0;
}

/* ===== formcheckbox (components/common/form/FormCheckbox/FormCheckbox.module.scss) ===== */
.v2-formcheckbox__field {
  width: 85%;
}

.v2-formcheckbox__label {
  display: flex;
  gap: 1.2rem;
  align-items: flex-start;
  cursor: pointer;
}

.v2-formcheckbox__input {
  margin-top: 0.2rem;
  width: 1.6rem;
  height: 1.6rem;
  border: 0.1rem solid #25292e;
  border-radius: 0.2rem;
  background: #ffffff;
  display: inline-grid;
  place-content: center;
  flex-shrink: 0;
}
.v2-formcheckbox__input:focus {
  outline: none;
}
.v2-formcheckbox__input::before {
  content: "";
  width: 1rem;
  height: 1rem;
  transform: scale(0);
  transition: transform 0.15s ease-in-out;
  background-color: #415bff;
}
.v2-formcheckbox__input:checked {
  border-color: #415bff;
}
.v2-formcheckbox__input:checked::before {
  transform: scale(1);
}

.v2-formcheckbox__text {
  font: normal 400 1.2rem/1.1 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0;
  color: #666;
  line-height: 1.3;
}
@media only screen and (min-width: 768px) {
  .v2-formcheckbox__text {
    font: normal 400 1.6rem/1.5 "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
  }
}
.v2-formcheckbox__text a {
  color: #666;
  position: relative;
  display: inline-block;
  text-decoration: none;
  --underline-thickness: 1px;
  --underline-distance: 0.1rem;
}
.v2-formcheckbox__text a::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  bottom: calc(-1 * var(--underline-distance));
  height: var(--underline-thickness);
  background-color: currentcolor;
  transform: translateY(0);
  transition: transform 0.2s ease-out;
  pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
  .v2-formcheckbox__text a:hover:hover::after {
    transform: translateY(3px);
  }
}
@media (prefers-reduced-motion) {
  .v2-formcheckbox__text a::after {
    transition: none;
  }
}
@media (prefers-reduced-motion) and (hover: hover) and (pointer: fine) {
  .v2-formcheckbox__text a:hover:hover::after {
    transform: none;
  }
}

.v2-formcheckbox__error {
  position: absolute;
  width: 0.1rem;
  height: 0.1rem;
  padding: 0;
  margin: -0.1rem;
  overflow: hidden;
  clip-path: inset(50%);
  border: 0;
}
