:root {
  --app-height: 100vh;
}

[data-mobile-vh] {
  overflow-anchor: none;
}

.char-reveal {
  --progress-slice: 0;
  --char-step: 0.008;
  --char-span: 0.055;
}

.char-reveal .word {
  display: inline-block;
  white-space: nowrap;
}

.char-reveal .word-space {
  display: inline-block;
  width: 0.22em;
}

.char-reveal .char {
  --char-index: 0;
  --kerning: 0px;
  margin-right: var(--kerning);

  --char-delay: calc(var(--char-index) * var(--char-step));
  --local-progress: calc((var(--progress-slice) - var(--char-delay)) / var(--char-span));
  --animation-wave: clamp(0, var(--local-progress), 1);

  display: inline-block;
  opacity: var(--animation-wave);
  filter: blur(calc((1 - var(--animation-wave)) * 0.09em));
  transform: scale(calc(2.25 - (1.25 * var(--animation-wave))));
  transform-origin: center center;
  backface-visibility: hidden;
}

.functionality-point {
  transform: translate(-50%, -50%);
}

.functionality-point .dot-pulse {
  animation: none;
}

@keyframes pulse-custom {
  0% {
    transform: scale(0.3);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 0;
  }
}

.functionality-point.is-active .dot-core {
  transform: scale(1.3);
  box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.18);
}

.functionality-point.is-active .dot-pulse {
  animation: none;
  opacity: 0.3;
  transform: scale(1);
}

/* GENERATED_TW_CSS_START */
.abp-u001 {
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
  scroll-behavior: smooth;
}

.abp-u002 {
  border-bottom-left-radius: 1rem;
  border-bottom-right-radius: 1rem;
  overflow: hidden;
  position: relative;
  margin-bottom: 5rem;
}
@media (min-width: 768px) {
  .abp-u002 {
    margin-bottom: 5.5rem;
    border-radius: 0px;
  }
}
@media (min-width: 1024px) {
  .abp-u002 {
    margin-bottom: 7.5rem;
  }
}

.abp-u003 {
  position: absolute;
  left: 0px;
  right: 0px;
  top: 0px;
  height: 100%;
  background-image: linear-gradient(to bottom, var(--tw-gradient-from) 0%, var(--tw-gradient-from) 20%, transparent 45%);
  --tw-gradient-from: #e6e6e6;
  --tw-gradient-via: transparent;
  --tw-gradient-to: transparent;
}
@media (min-width: 768px) {
  .abp-u003 {
    display: none;
  }
}

.abp-u004 {
  position: absolute;
  inset: 0px;
  width: 100%;
  height: 100%;
  padding-top: 2rem;
}
@media (min-width: 768px) {
  .abp-u004 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 0px;
  }
}

.abp-u005 {
  text-align: center;
}
@media (min-width: 768px) {
  .abp-u005 {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    text-align: left;
    width: 100%;
  }
}
@media (min-width: 1024px) {
  .abp-u005 {
    max-width: 1254px;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 1.25rem;
  }
}
@media (min-width: 1536px) {
  .abp-u005 {
    max-width: 1173px;
  }
}

.abp-u006 {
  margin-bottom: 1rem;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) {
  .abp-u006 {
    margin-left: 0px;
    margin-right: 0px;
    max-width: 25rem;
  }
}
@media (min-width: 1024px) {
  .abp-u006 {
    max-width: 35rem;
  }
}

.abp-u007 {
  color: #23272a;
  font-weight: 700;
  font-size: 32px;
  line-height: 32px;
}
@media (min-width: 768px) {
  .abp-u007 {
    font-size: 40px;
    line-height: 40px;
  }
}
@media (min-width: 1024px) {
  .abp-u007 {
    font-size: 48px;
    line-height: 3rem;
  }
}

.abp-u008 {
  color: #e73446;
  font-style: italic;
  display: inline-block;
}

.abp-u009 {
  max-width: 17.5rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .abp-u009 {
    margin-left: 0px;
    margin-right: 0px;
  }
}
@media (min-width: 1024px) {
  .abp-u009 {
    margin-bottom: 2rem;
    max-width: 28rem;
  }
}
@media (min-width: 1536px) {
  .abp-u009 {
    margin-bottom: 3.625rem;
  }
}

.abp-u010 {
  color: #23272a;
  font-size: 1rem;
  line-height: 19px;
}
@media (min-width: 1024px) {
  .abp-u010 {
    font-size: 1.125rem;
    line-height: 22px;
  }
}

.abp-u011 {
  width: 100%;
  max-width: 21.25rem;
  height: 3rem;
  border-radius: 1.5rem;
  font-weight: 500;
  color: #ffffff;
}
@media (min-width: 768px) {
  .abp-u011 {
    max-width: 211px;
  }
}

.abp-u012 {
  width: 100%;
  object-fit: cover;
  min-height: 35rem;
}
@media (min-width: 768px) {
  .abp-u012 {
    min-height: 430px;
  }
}
@media (min-width: 1024px) {
  .abp-u012 {
    min-height: 43.75rem;
  }
}

.abp-u013 {
  display: flex;
  flex-wrap: wrap;
  column-gap: 1rem;
  row-gap: 1.25rem;
  margin-bottom: 5rem;
}
@media (min-width: 768px) {
  .abp-u013 {
    gap: 1rem;
    margin-bottom: 5.5rem;
  }
}
@media (min-width: 1024px) {
  .abp-u013 {
    margin-bottom: 11rem;
  }
}
@media (min-width: 1280px) {
  .abp-u013 {
    gap: 1.25rem;
  }
}
@media (min-width: 1536px) {
  .abp-u013 {
    margin-bottom: 11.25rem;
    gap: 1.5rem;
  }
}

.abp-u014 {
  position: relative;
  width: 100%;
  border-radius: 1rem;
  overflow: hidden;
}
@media (min-width: 768px) {
  .abp-u014 {
    border-radius: 1.5rem;
  }
}
@media (min-width: 1280px) {
  .abp-u014 {
    width: calc(29% - 14px);
  }
}
@media (min-width: 1536px) {
  .abp-u014 {
    width: calc(33.333% - 16px);
  }
}

.abp-u015 {
  position: absolute;
  inset: 0px;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  padding-left: 2rem;
  padding-right: 2rem;
}
@media (min-width: 768px) {
  .abp-u015 {
    padding-top: 2rem;
    padding-bottom: 2rem;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}

.abp-u016 {
  flex: 1 1 0%;
  max-width: 12.5rem;
}
@media (min-width: 768px) {
  .abp-u016 {
    max-width: 20rem;
  }
}

.abp-u017 {
  color: #ffffff;
  font-weight: 500;
  font-size: 20px;
  line-height: 21px;
}
@media (min-width: 768px) {
  .abp-u017 {
    font-size: 24px;
    line-height: 28px;
  }
}

.abp-u018 {
  height: 2rem;
  width: 2rem;
  border-radius: 9999px;
  border-width: 1.5px;
  color: #ffffff;
  border-color: #ffffff;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) {
  .abp-u018 {
    height: 2rem;
    width: 2rem;
    border-width: 0.5px;
  }
}
@media (min-width: 1024px) {
  .abp-u018 {
    color: #23272a;
    border-color: #23272a;
  }
}

.group:hover .abp-u019 {
  animation: bounceAlpha 0.8s ease-in alternate forwards;
}
.abp-u019 {
  color: #ffffff;
}
@media (min-width: 1024px) {
  .abp-u019 {
    color: #23272a;
  }
}

.abp-u020 {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.abp-u021 {
  position: relative;
  width: 100%;
  border-radius: 1rem;
}
@media (min-width: 768px) {
  .abp-u021 {
    border-radius: 1.5rem;
    width: calc(50% - 8px);
  }
}
@media (min-width: 1280px) {
  .abp-u021 {
    width: calc(42% - 12px);
  }
}
@media (min-width: 1536px) {
  .abp-u021 {
    width: calc(33.333% - 16px);
  }
}

.abp-u022 {
  flex: 1 1 0%;
}

.abp-u023 {
  color: #23272a;
  font-weight: 500;
  font-size: 20px;
  line-height: 21px;
}
@media (min-width: 768px) {
  .abp-u023 {
    font-size: 24px;
    line-height: 28px;
  }
}

.abp-u024 {
  height: 2rem;
  width: 2rem;
  border-radius: 9999px;
  border-width: 1.5px;
  color: #23272a;
  border-color: #23272a;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) {
  .abp-u024 {
    height: 2rem;
    width: 2rem;
    border-width: 0.5px;
  }
}

.group:hover .abp-u025 {
  animation: bounceAlpha 0.8s ease-in alternate forwards;
}

.abp-u026 {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 1rem;
  overflow: hidden;
}
@media (min-width: 768px) {
  .abp-u026 {
    border-radius: 1.5rem;
  }
}

.abp-u027 {
  position: relative;
  width: 100%;
  border-radius: 1rem;
  overflow: hidden;
}
@media (min-width: 768px) {
  .abp-u027 {
    border-radius: 1.5rem;
    width: calc(50% - 8px);
  }
}
@media (min-width: 1280px) {
  .abp-u027 {
    width: calc(29% - 14px);
  }
}
@media (min-width: 1536px) {
  .abp-u027 {
    width: calc(33.333% - 16px);
  }
}

.abp-u028 {
  flex: 1 1 0%;
}
@media (min-width: 768px) {
  .abp-u028 {
    max-width: 12.5rem;
  }
}

.abp-u029 {
  height: 2rem;
  width: 2rem;
  border-radius: 9999px;
  border-width: 1.5px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  border-color: #ffffff;
}
@media (min-width: 768px) {
  .abp-u029 {
    height: 2rem;
    width: 2rem;
    border-width: 0.5px;
  }
}

.group:hover .abp-u030 {
  animation: bounceAlpha 0.8s ease-in alternate forwards;
}
.abp-u030 {
  color: #ffffff;
}

.abp-u031 {
  overflow: clip;
  margin-bottom: 5rem;
}
@media (min-width: 768px) {
  .abp-u031 {
    margin-bottom: 5.5rem;
  }
}
@media (min-width: 1024px) {
  .abp-u031 {
    margin-bottom: 13.25rem;
  }
}
@media (min-width: 1536px) {
  .abp-u031 {
    margin-bottom: 11rem;
  }
}

.abp-u032 {
  margin-bottom: 3rem;
}
@media (min-width: 768px) {
  .abp-u032 {
    margin-bottom: 5.5rem;
  }
}
@media (min-width: 1024px) {
  .abp-u032 {
    margin-bottom: 3.25rem;
  }
}

.abp-u033 {
  width: auto;
  height: 1.75rem;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 1024px) {
  .abp-u033 {
    height: 43px;
  }
}

.abp-u034 {
  margin-bottom: 5rem;
}
@media (min-width: 768px) {
  .abp-u034 {
    margin-bottom: 4rem;
  }
}
@media (min-width: 1024px) {
  .abp-u034 {
    margin-bottom: 7.5rem;
  }
}

.abp-u035 {
  position: relative;
}

.abp-u036 {
  left: 0px;
  right: 0px;
  overflow: hidden;
  z-index: 1;
  top: 50%;
  position: absolute;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 1rem;
  transform: translate(0px, -50%);
}
@media (min-width: 1024px) {
  .abp-u036 {
    gap: 9rem;
  }
}

.abp-u037 {
  display: flex;
  gap: 1rem;
  width: max-content;
}
@media (min-width: 1024px) {
  .abp-u037 {
    gap: 9rem;
  }
}

.abp-u038 {
  flex-shrink: 0;
  will-change: auto;
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media (min-width: 1024px) {
  .abp-u038 {
    gap: 6rem;
  }
}

.abp-u039 {
  color: rgba(35, 39, 42, 0.08);
  line-height: 2rem;
  font-weight: 700;
  letter-spacing: -1.3px;
  font-style: italic;
  font-size: 64px;
  line-height: 4rem;
}
@media (min-width: 768px) {
  .abp-u039 {
    font-size: 195px;
    line-height: 195px;
    letter-spacing: -4px;
  }
}
@media (min-width: 1024px) {
  .abp-u039 {
    font-size: 237px;
    line-height: 237px;
  }
}

.abp-u040 {
  font-weight: 500;
}

.abp-u041 {
  left: 0px;
  right: 0px;
  overflow: hidden;
  z-index: 3;
  top: 50%;
  position: absolute;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 1rem;
  transform: translate(0px, -50%);
}
@media (min-width: 1024px) {
  .abp-u041 {
    gap: 9rem;
  }
}

.abp-u042 {
  color: transparent;
  font-weight: 700;
  letter-spacing: -1.3px;
  font-style: italic;
  font-size: 64px;
  line-height: 4rem;
}
@media (min-width: 768px) {
  .abp-u042 {
    font-size: 195px;
    line-height: 195px;
    letter-spacing: -4px;
  }
}
@media (min-width: 1024px) {
  .abp-u042 {
    font-size: 237px;
    line-height: 237px;
  }
}

.abp-u043 {
  margin-left: auto;
  margin-right: auto;
  padding-top: 1rem;
  position: relative;
  z-index: 2;
}
@media (min-width: 768px) {
  .abp-u043 {
    padding-top: 1.5rem;
    max-width: 90%;
  }
}
@media (min-width: 1024px) {
  .abp-u043 {
    max-width: 1083px;
  }
}
@media (min-width: 1536px) {
  .abp-u043 {
    max-width: 1383px;
  }
}

.abp-u044 {
  width: 100%;
  height: auto;
}

.abp-u045 {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}
@media (min-width: 768px) {
  .abp-u045 {
    max-width: 510px;
    margin-left: auto;
    margin-right: auto;
    row-gap: 4.5rem;
  }
}
@media (min-width: 1024px) {
  .abp-u045 {
    max-width: 936px;
  }
}

.abp-u046 {
  flex-basis: calc(50% - 16px);
  min-width: 13.5rem;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  gap: 1.5rem;
}
@media (min-width: 1024px) {
  .abp-u046 {
    flex-basis: calc(25% - 18px);
  }
}

.abp-u047 {
  color: #23272a;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 22px;
}

.abp-u048 {
  background-color: #23272a;
}

.abp-u049 {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

.abp-u050 {
  position: absolute;
  inset: 0px;
  width: 100%;
  height: 100%;
}

.abp-u051 {
  width: 100%;
  height: 100%;
}

.abp-u052 {
  width: 77%;
  height: auto;
  max-width: 350px;
  position: absolute;
  left: 50%;
  top: 33.333333%;
  transform: translate(-50%, -40%);
}
@media (min-width: 768px) {
  .abp-u052 {
    display: none;
  }
}

.abp-u053 {
  display: none;
}
@media (min-width: 768px) {
  .abp-u053 {
    display: block;
    position: absolute;
    left: 0px;
    right: 0px;
    top: 35%;
    transform: translate(0px, -165%);
  }
}
@media (min-width: 1024px) {
  .abp-u053 {
    max-width: 62.75rem;
    transform: translate(0px, -115%);
  }
}
@media (min-width: 1536px) {
  .abp-u053 {
    max-width: 67.75rem;
  }
}

.abp-u054 {
  opacity: 0;
  transform: translate(0px, 2.5rem);
}
@media (min-width: 768px) {
  .abp-u054 {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}

.abp-u055 {
  color: #ffffff;
  font-weight: 700;
  font-style: italic;
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media (min-width: 1024px) {
  .abp-u055 {
    gap: 1.5rem;
  }
}

.abp-u056 {
  font-size: 40px;
  line-height: 40px;
}
@media (min-width: 1024px) {
  .abp-u056 {
    font-size: 72px;
    line-height: 72px;
  }
}

.abp-u057 {
  font-size: 1rem;
  line-height: 19px;
}
@media (min-width: 1024px) {
  .abp-u057 {
    font-size: 32px;
    line-height: 36px;
  }
}

.abp-u058 {
  color: #ffffff;
  font-weight: 700;
  font-style: italic;
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media (min-width: 1024px) {
  .abp-u058 {
    gap: 1.5rem;
    margin-right: 5rem;
  }
}

.abp-u059 {
  position: absolute;
  inset: 0px;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
}

.abp-u060 {
  position: absolute;
  inset: 0px;
  width: 100%;
  height: 100%;
  z-index: 5;
}

.abp-u061 {
  position: absolute;
  inset: 0px;
  opacity: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  filter: blur(4px);
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
}
@media (min-width: 768px) {
  .abp-u061 {
    justify-content: center;
  }
}
@media (min-width: 1024px) {
  .abp-u061 {
    padding-bottom: 0px;
    bottom: 6rem;
    max-width: 1162px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 1536px) {
  .abp-u061 {
    max-width: 1216px;
  }
}

.abp-u062 {
  color: #ffffff;
  font-weight: 700;
  font-size: 24px;
  line-height: 26px;
  margin-bottom: 1rem;
  max-width: calc(100% - 70px);
}
@media (min-width: 768px) {
  .abp-u062 {
    max-width: 25rem;
    font-size: 32px;
    line-height: 35px;
  }
}

.abp-u063 {
  font-style: italic;
}

.abp-u064 {
  color: #ffffff;
  font-size: 1rem;
  line-height: 19px;
  max-width: calc(100% - 70px);
  text-wrap: balance;
}
@media (min-width: 768px) {
  .abp-u064 {
    max-width: 25rem;
  }
}
@media (min-width: 1024px) {
  .abp-u064 {
    font-size: 1.125rem;
    line-height: 22px;
  }
}

.abp-u065 {
  position: relative;
  height: 100%;
  width: 100%;
  z-index: 2;
}

.abp-u066 {
  width: 100%;
  height: 100%;
  object-position: bottom;
  object-fit: cover;
}

.abp-u067 {
  z-index: 1;
  position: relative;
  min-height: 100vh;
}

.abp-u068 {
  position: relative;
  width: 100%;
  height: 100vh;
  background-color: #23272a;
  overflow: hidden;
}

.abp-u069 {
  position: absolute;
  inset: 0px;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.abp-u070 {
  display: flex;
  height: 100%;
  flex-direction: column;
  align-items: center;
  max-width: 18.75rem;
  margin-left: auto;
  margin-right: auto;
  justify-content: center;
}
@media (min-width: 768px) {
  .abp-u070 {
    max-width: 30rem;
  }
}
@media (min-width: 1024px) {
  .abp-u070 {
    max-width: 50rem;
  }
}

.abp-u071 {
  will-change: auto;
  color: #ffffff;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.5rem;
  text-align: center;
}
@media (min-width: 768px) {
  .abp-u071 {
    font-size: 32px;
    line-height: 2rem;
  }
}
@media (min-width: 1024px) {
  .abp-u071 {
    font-size: 64px;
    line-height: 4rem;
  }
}

.abp-u072 {
  display: block;
  color: #e73446;
  font-style: italic;
}

.abp-u073 {
  position: absolute;
  inset: 0px;
  z-index: 10;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  pointer-events: none;
}

.abp-u074 {
  width: 100%;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.5);
  margin-bottom: 2rem;
}

.abp-u075 {
  background-color: #ffffff;
  height: 100%;
  width: 0px;
}

.abp-u076 {
  position: relative;
  z-index: 20;
  display: flex;
  justify-content: space-between;
  padding-left: 19px;
  padding-right: 19px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) {
  .abp-u076 {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media (min-width: 1024px) {
  .abp-u076 {
    padding-left: 0px;
    padding-right: 0px;
    max-width: 67.25rem;
  }
}
@media (min-width: 1536px) {
  .abp-u076 {
    max-width: 1417px;
  }
}

.abp-u077 {
  color: #ffffff;
  font-size: 1rem;
  line-height: 19px;
  pointer-events: auto;
}
@media (min-width: 768px) {
  .abp-u077 {
    font-size: 24px;
    line-height: 26px;
  }
}
@media (min-width: 1024px) {
  .abp-u077 {
    font-size: 32px;
    line-height: 35px;
  }
}

.group.is-active .abp-u078 {
  font-weight: 700;
}

.abp-u079 {
  position: absolute;
  inset: 0px;
  z-index: 0;
  width: 100%;
  height: 100%;
  display: flex;
}

.abp-u080 {
  width: 33.333333%;
  height: 100%;
}

.abp-u081 {
  padding-top: 3rem;
  padding-bottom: 5.25rem;
  margin-bottom: 5rem;
  background-color: #eeeeee;
  position: relative;
}
@media (min-width: 768px) {
  .abp-u081 {
    padding-bottom: 6.25rem;
    margin-bottom: 5.5rem;
  }
}
@media (min-width: 1024px) {
  .abp-u081 {
    margin-bottom: 10rem;
    padding-top: 0px;
    padding-bottom: 0px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    height: 100vh;
  }
}

.abp-u082 {
  width: 100%;
}
@media (min-width: 1024px) {
  .abp-u082 {
    display: grid;
    grid-template-columns: 1fr 455px;
    justify-content: space-between;
    position: absolute;
    left: 0px;
    right: 0px;
    top: 50%;
    padding-left: 69px;
    padding-right: 69px;
    padding-top: 5rem;
    column-gap: 1.25rem;
    align-items: flex-start;
    transform: translate(0px, -50%);
  }
}
@media (min-width: 1536px) {
  .abp-u082 {
    padding-left: 19px;
    padding-right: 19px;
    grid-template-columns: 1fr 455px;
  }
}

@media (min-width: 1024px) {
  .abp-u083 {
    grid-column-start: 2;
    padding-top: 2.5rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    margin-bottom: 2rem;
  }
}
@media (min-width: 1536px) {
  .abp-u083 {
    padding-top: 3.75rem;
  }
}

.abp-u084 {
  margin-bottom: 1rem;
}

.abp-u085 {
  color: #23272a;
  font-weight: 700;
  font-size: 24px;
  line-height: 26px;
}
@media (min-width: 1024px) {
  .abp-u085 {
    font-size: 32px;
    line-height: 35px;
  }
}

.abp-u086 {
  margin-bottom: 1.5rem;
  max-width: 28.5rem;
}
@media (min-width: 768px) {
  .abp-u086 {
    margin-bottom: 3rem;
  }
}
@media (min-width: 1024px) {
  .abp-u086 {
    margin-bottom: 0px;
  }
}

.abp-u087 {
  color: #23272a;
  font-size: 1rem;
  line-height: 19px;
}

.abp-u088 {
  display: none;
  overflow: hidden;
  margin-left: -19px;
  margin-right: -19px;
  padding-left: 19px;
  padding-right: 19px;
}
@media (min-width: 768px) {
  .abp-u088 {
    margin-left: -2.5rem;
    margin-right: -2.5rem;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}
@media (min-width: 1024px) {
  .abp-u088 {
    padding-left: 0px;
    padding-right: 0px;
    margin-left: 0px;
    margin-right: 0px;
    grid-column-start: 1;
    grid-row-start: 1;
    grid-row-end: 3;
    display: flex;
    align-items: center;
  }
}

.abp-u089 {
  width: 100%;
}
@media (min-width: 1024px) {
  .abp-u089 {
    display: block;
    position: relative;
    height: 100%;
    max-width: 460px;
    aspect-ratio: 288 / 265;
    max-height: 424px;
  }
}
@media (min-width: 1536px) {
  .abp-u089 {
    max-width: 653px;
    max-height: 576px;
  }
}

.abp-u090 {
  position: relative;
  height: 100%;
}

.abp-u091 {
  border-radius: 1rem;
  overflow: hidden;
  position: absolute;
  inset: 0px;
  width: 100%;
  height: 100%;
}

.abp-u092 {
  padding-top: 2rem;
  margin-bottom: 1.5rem;
}
@media (min-width: 1024px) {
  .abp-u092 {
    grid-column-start: 2;
    padding: 0px;
    bottom: -1.25rem;
    position: absolute;
  }
}
@media (min-width: 1536px) {
  .abp-u092 {
    bottom: 2.5rem;
  }
}

.abp-u093 {
  overflow: hidden;
  padding-left: 19px;
  padding-right: 19px;
  margin-left: -19px;
  margin-right: -19px;
}
@media (min-width: 768px) {
  .abp-u093 {
    margin-left: -2.5rem;
    margin-right: -2.5rem;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}
@media (min-width: 1024px) {
  .abp-u093 {
    margin: 0px;
    padding: 0px;
  }
}

@media (min-width: 1024px) {
  .abp-u094 {
    display: block !important;
  }
}

.abp-u095 {
  width: 73.9% !important;
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .abp-u095 {
    width: 62% !important;
  }
}
@media (min-width: 1024px) {
  .abp-u095 {
    width: 100% !important;
    flex-shrink: 1;
    margin-bottom: 1.5rem;
  }
}

.abp-u096 {
  margin-bottom: 2rem;
}
@media (min-width: 1024px) {
  .abp-u096 {
    display: none;
  }
}

.abp-u097 {
  border-radius: 1rem;
  overflow: hidden;
}

.abp-u098 {
  color: #23272a;
  font-weight: 400;
  font-size: 1rem;
  line-height: 19px;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  transition-duration: 200ms;
}
.group.is-active .abp-u098 {
  font-weight: 700;
}
@media (min-width: 768px) {
  .abp-u098 {
    font-size: 24px;
    line-height: 26px;
  }
}

.abp-u099 {
  max-height: 0px;
  overflow: hidden;
}

.abp-u100 {
  margin-top: 0.5rem;
  max-width: 95%;
}
@media (min-width: 768px) {
  .abp-u100 {
    margin-top: 1rem;
  }
}

.abp-u101 {
  color: #031420;
  font-size: 1rem;
  line-height: 19px;
}

.abp-u102 {
  width: 73.9% !important;
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .abp-u102 {
    width: 62% !important;
  }
}
@media (min-width: 1024px) {
  .abp-u102 {
    width: 100% !important;
    flex-shrink: 1;
  }
}

.abp-u103 {
  margin-bottom: 5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
@media (min-width: 768px) {
  .abp-u103 {
    margin-bottom: 5.5rem;
  }
}
@media (min-width: 1024px) {
  .abp-u103 {
    gap: 1.25rem;
  }
}
@media (min-width: 1536px) {
  .abp-u103 {
    margin-bottom: 10rem;
    gap: 1.5rem;
  }
}

.abp-u104 {
  width: 100%;
  overflow: hidden;
  border-radius: 1rem;
}
@media (min-width: 768px) {
  .abp-u104 {
    border-radius: 1.5rem;
  }
}
@media (min-width: 1024px) {
  .abp-u104 {
    flex: 1 1 0%;
    order: 9999;
    flex-basis: calc(50% - 10px);
  }
}
@media (min-width: 1536px) {
  .abp-u104 {
    flex-basis: calc(50% - 12px);
  }
}

.abp-u105 {
  min-height: 339px;
  max-height: 30rem;
  width: 100%;
  object-fit: cover;
}
@media (min-width: 1024px) {
  .abp-u105 {
    max-height: none;
    height: 29.25rem;
  }
}
@media (min-width: 1536px) {
  .abp-u105 {
    height: 40rem;
  }
}

.abp-u106 {
  width: 100%;
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
  background-color: #eeeeee;
  padding: 2rem;
  padding-top: 1.5rem;
}
@media (min-width: 768px) {
  .abp-u106 {
    border-radius: 1.5rem;
    padding: 2.5rem;
    padding-bottom: 3.75rem;
    padding-top: 4rem;
  }
}
@media (min-width: 1024px) {
  .abp-u106 {
    flex: 1 1 0%;
    flex-basis: calc(50% - 10px);
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
@media (min-width: 1536px) {
  .abp-u106 {
    flex-basis: calc(50% - 12px);
  }
}

.abp-u107 {
  position: relative;
  z-index: 2;
  width: 100%;
}
@media (min-width: 1024px) {
  .abp-u107 {
    max-width: 29.25rem;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 1536px) {
  .abp-u107 {
    max-width: 28.5rem;
  }
}

.abp-u108 {
  color: #23272a;
  font-weight: 700;
  font-size: 24px;
  line-height: 26px;
}
@media (min-width: 768px) {
  .abp-u108 {
    font-size: 32px;
    line-height: 35px;
  }
}

.abp-u109 {
  color: #e73446;
}

.abp-u110 {
  color: #23272a;
  padding-left: 1.75rem;
  font-size: 1rem;
  line-height: 19px;
}
.abp-u110 {
  margin-bottom: 0.5rem;
}
.abp-u110::marker {
  font-size: 12px;
}
.abp-u110 {
  margin-bottom: 0px;
}
@media (min-width: 768px) {
  .abp-u110 {
    font-size: 1.125rem;
    line-height: 22px;
  }
}
@media (min-width: 768px) {
  .abp-u110 {
    margin-bottom: 0px;
  }
}
@media (min-width: 1024px) {
  .abp-u110 {
    margin-bottom: 0.625rem;
  }
}

.abp-u111 {
  display: none;
  position: absolute;
  top: 0px;
  left: 0px;
}
@media (min-width: 1024px) {
  .abp-u111 {
    display: block;
  }
}

.abp-u112 {
  position: absolute;
  display: none;
  bottom: -6.25rem;
  right: -1rem;
}
@media (min-width: 768px) {
  .abp-u112 {
    display: block;
  }
}
@media (min-width: 1024px) {
  .abp-u112 {
    right: -3.25rem;
    bottom: -98px;
  }
}
@media (min-width: 1536px) {
  .abp-u112 {
    bottom: 0px;
    right: -2.5rem;
  }
}

.abp-u113 {
  margin-bottom: 5rem;
}
@media (min-width: 768px) {
  .abp-u113 {
    margin-bottom: 5.5rem;
  }
}
@media (min-width: 1024px) {
  .abp-u113 {
    margin-bottom: 10rem;
  }
}

.abp-u114 {
  height: 40rem;
  width: 100%;
  object-fit: cover;
}
@media (min-width: 768px) {
  .abp-u114 {
    object-position: center;
    height: 55rem;
  }
}

.abp-u115 {
  padding-top: 5rem;
  margin-top: -5rem;
}

.abp-u116 {
  margin-bottom: 5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
@media (min-width: 768px) {
  .abp-u116 {
    margin-bottom: 5.5rem;
  }
}
@media (min-width: 1024px) {
  .abp-u116 {
    margin-bottom: 10rem;
    gap: 1.25rem;
  }
}
@media (min-width: 1536px) {
  .abp-u116 {
    gap: 1.5rem;
  }
}

.abp-u117 {
  width: 100%;
  position: relative;
  border-radius: 1rem;
  background-color: #eeeeee;
  height: 337px;
}
@media (min-width: 768px) {
  .abp-u117 {
    border-radius: 1.5rem;
    height: 30rem;
  }
}
@media (min-width: 1024px) {
  .abp-u117 {
    flex: 1 1 0%;
    flex-basis: calc(50% - 10px);
  }
}
@media (min-width: 1536px) {
  .abp-u117 {
    flex-basis: calc(50% - 12px);
  }
}

.abp-u118 {
  position: absolute;
  inset: 0px;
  width: 100%;
  height: 100%;
  border-radius: 1rem;
  overflow: hidden;
}
@media (min-width: 768px) {
  .abp-u118 {
    border-radius: 1.5rem;
  }
}

.abp-u119 {
  position: absolute;
  top: -11.5rem;
  right: -22.75rem;
}
@media (min-width: 768px) {
  .abp-u119 {
    top: 0px;
    right: -2.5rem;
  }
}
@media (min-width: 1024px) {
  .abp-u119 {
    right: -5.5rem;
    top: -2.5rem;
  }
}
@media (min-width: 1536px) {
  .abp-u119 {
    top: -1.5rem;
    right: -3.75rem;
  }
}

.abp-u120 {
  position: absolute;
  left: 0px;
  right: 0px;
  bottom: 0px;
  max-height: 380px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) {
  .abp-u120 {
    max-height: 530px;
  }
}
@media (min-width: 1024px) {
  .abp-u120 {
    bottom: 0.5rem;
    max-height: 540px;
  }
}

.abp-u121 {
  width: 100%;
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
  background-color: #eeeeee;
  padding: 2rem;
  padding-top: 1.5rem;
}
@media (min-width: 768px) {
  .abp-u121 {
    border-radius: 1.5rem;
    padding: 2.5rem;
    padding-bottom: 3.75rem;
    padding-top: 4rem;
  }
}
@media (min-width: 1024px) {
  .abp-u121 {
    flex: 1 1 0%;
    flex-basis: calc(50% - 10px);
    display: flex;
    flex-direction: column;
    padding-top: 5.25rem;
  }
}
@media (min-width: 1536px) {
  .abp-u121 {
    padding-top: 6rem;
    flex-basis: calc(50% - 12px);
  }
}

.abp-u122 {
  color: #e73446;
  font-style: italic;
}
@media (min-width: 768px) {
  .abp-u122 {
    display: block;
  }
}

@media (min-width: 768px) {
  .abp-u123 {
    max-width: 32.5rem;
  }
}
@media (min-width: 1024px) {
  .abp-u123 {
    max-width: 25rem;
  }
}

.abp-u124 {
  color: #23272a;
  font-size: 1.125rem;
  line-height: 22px;
}

.abp-u125 {
  position: absolute;
  inset: 0px;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 1rem;
}
@media (min-width: 768px) {
  .abp-u125 {
    border-radius: 1.5rem;
  }
}

.abp-u126 {
  display: none;
}
@media (min-width: 1024px) {
  .abp-u126 {
    display: block;
    position: absolute;
    bottom: 0px;
    left: 0px;
  }
}
@media (min-width: 1536px) {
  .abp-u126 {
    bottom: -1rem;
  }
}

.abp-u127 {
  margin-bottom: 5rem;
}
@media (min-width: 768px) {
  .abp-u127 {
    margin-bottom: 5.5rem;
  }
}
@media (min-width: 1536px) {
  .abp-u127 {
    margin-bottom: 10rem;
  }
}

.abp-u128 {
  height: 100vh;
  position: relative;
  overflow: hidden;
  max-height: 40rem;
}
@media (min-width: 768px) {
  .abp-u128 {
    max-height: 55rem;
  }
}

.abp-u129 {
  position: absolute;
  inset: 0px;
  width: 100%;
  height: 100%;
  display: none;
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}
@media (min-width: 768px) {
  .abp-u129 {
    display: block;
  }
}
@media (min-width: 1024px) {
  .abp-u129 {
    z-index: 3;
    padding-top: 5rem;
  }
}

.abp-u130 {
  color: #ffffff;
  font-weight: 500;
  font-size: 24px;
  line-height: 26px;
}
@media (min-width: 1024px) {
  .abp-u130 {
    font-size: 48px;
    line-height: 53px;
  }
}

.abp-u131 {
  position: absolute;
  inset: 0px;
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  z-index: 5;
}
@media (min-width: 1024px) {
  .abp-u131 {
    flex-direction: row;
    justify-content: center;
  }
}

.abp-u132 {
  width: 100%;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  transition-duration: 150ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
}
@media (min-width: 768px) {
  .abp-u132 {
    padding-top: 6.75rem;
  }
}
@media (min-width: 1024px) {
  .abp-u132 {
    padding-top: 6.75rem;
    padding-bottom: 6.75rem;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding-top: 18%;
    justify-content: center;
    gap: 2rem;
  }
}
@media (min-width: 1536px) {
  .abp-u132 {
    padding-top: 20%;
  }
}

@media (min-width: 1024px) {
  .abp-u133 {
    flex: 1 1 0%;
  }
}

.abp-u134 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
@media (min-width: 1024px) {
  .abp-u134 {
    max-width: 22.5rem;
  }
}

.abp-u135 {
  display: flex;
  width: 100%;
  align-items: center;
}

.abp-u136 {
  color: #ffffff;
  font-size: 32px;
  line-height: 35px;
  font-weight: 400;
  flex: 1 1 0%;
}

.abp-u137 {
  flex-shrink: 0;
}
@media (min-width: 1024px) {
  .abp-u137 {
    display: none;
  }
}

.abp-u138 {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  transition-duration: 150ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.abp-u139 {
  overflow: hidden;
  max-height: 0px;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  transition-duration: 150ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.group.is-open .abp-u139 {
  max-height: 125rem;
}

.abp-u140 {
  display: flex;
  flex-direction: column;
  gap: 1.125rem;
  margin-top: 1.5rem;
}

.abp-u141 {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
}

.abp-u142 {
  width: 8.25rem;
  flex-shrink: 0;
}
@media (min-width: 1024px) {
  .abp-u142 {
    width: 9.5rem;
  }
}

.abp-u143 {
  color: #ffffff;
  font-weight: 500;
  font-size: 24px;
  line-height: 26px;
}

.abp-u144 {
  display: block;
  font-size: 8px;
  line-height: 0.5rem;
}
@media (min-width: 1024px) {
  .abp-u144 {
    font-size: 10px;
    line-height: 1rem;
  }
}

.abp-u145 {
  color: #ffffff;
  font-size: 0.875rem;
  line-height: 1.25rem;
  text-wrap: balance;
}
@media (min-width: 768px) {
  .abp-u145 {
    font-size: 1rem;
    line-height: 19px;
  }
}
@media (min-width: 1024px) {
  .abp-u145 {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}

@media (min-width: 1024px) {
  .abp-u146 {
    flex: 1 1 0%;
    max-width: 27.5rem;
  }
}

.abp-u147 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  border-top-width: 1px;
  border-top-color: #ffffff;
}
@media (min-width: 1024px) {
  .abp-u147 {
    max-width: 22.5rem;
    border-style: none;
    border-width: 0px;
  }
}

.abp-u148 {
  display: none;
}
@media (min-width: 1024px) {
  .abp-u148 {
    position: absolute;
    inset: 0px;
    width: 100%;
    height: 100%;
    display: flex;
    gap: 2rem;
    z-index: 6;
  }
}

.abp-u149 {
  display: none;
}
@media (min-width: 1024px) {
  .abp-u149 {
    display: block;
    position: absolute;
    bottom: 4.25rem;
    left: 0px;
    right: 0px;
    z-index: 4;
  }
}

.abp-u150 {
  width: 100%;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.5);
  margin-bottom: 1.125rem;
}

.abp-u151 {
  height: 100%;
  background-color: #ffffff;
}

.abp-u152 {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #ffffff;
  font-size: 1rem;
  line-height: 19px;
}

.abp-u153 {
  position: absolute;
  inset: 0px;
  width: 100%;
  height: 100%;
  background-color: #000000;
  z-index: 0;
}

.abp-u154 {
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: bottom;
}

.abp-u155 {
  position: relative;
  margin-bottom: 5rem;
  height: 577px;
}
@media (min-width: 768px) {
  .abp-u155 {
    margin-bottom: 5.5rem;
  }
}
@media (min-width: 1024px) {
  .abp-u155 {
    margin-bottom: 0px;
    height: 47.5rem;
  }
}

.abp-u156 {
  position: absolute;
  z-index: 2;
  height: 100%;
  width: 100%;
  padding-bottom: 2.75rem;
}
@media (min-width: 1024px) {
  .abp-u156 {
    padding-top: 0px;
    padding-bottom: 0px;
  }
}

.abp-u157 {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.abp-u158 {
  flex: 1 1 0%;
}
@media (min-width: 1024px) {
  .abp-u158 {
    flex: none;
    margin-bottom: 2rem;
  }
}

.abp-u159 {
  text-align: center;
  font-weight: 700;
  font-size: 24px;
  line-height: 26px;
  color: #23272a;
}
@media (min-width: 768px) {
  .abp-u159 {
    font-size: 32px;
    line-height: 35px;
  }
}

.abp-u160 {
  color: #e73446;
  font-style: italic;
  display: block;
}

.abp-u161 {
  max-width: 32.5rem;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 1024px) {
  .abp-u161 {
    max-width: 40rem;
  }
}

.abp-u162 {
  color: #031420;
  font-size: 19px;
  line-height: 24px;
  text-align: center;
}
@media (min-width: 768px) {
  .abp-u162 {
    font-size: 1rem;
    line-height: 19px;
  }
}
@media (min-width: 1024px) {
  .abp-u162 {
    font-size: 1.125rem;
    line-height: 22px;
  }
}

.abp-u163 {
  position: absolute;
  inset: 0px;
  width: 100%;
  height: 100%;
  z-index: 1;
  overflow: hidden;
}

.abp-u164 {
  width: 100%;
  position: absolute;
  z-index: 2;
  max-width: 90%;
  left: 50%;
  top: 43%;
  transform: translate(-50%, -43%);
}
@media (min-width: 768px) {
  .abp-u164 {
    max-width: 31.5rem;
  }
}
@media (min-width: 1024px) {
  .abp-u164 {
    max-width: 52.5rem;
    top: 50%;
    transform: translate(-50%, -40%);
  }
}
@media (min-width: 1536px) {
  .abp-u164 {
    transform: translate(-50%, -45%);
  }
}

.abp-u165 {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.abp-u166 {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 47%;
  z-index: 1;
  width: 60rem;
  transform: translate(-50%, -47%);
}
@media (min-width: 1024px) {
  .abp-u166 {
    width: 100%;
    top: 75%;
    transform: translate(-50%, -75%);
  }
}

.abp-u167 {
  width: 100%;
  max-width: none;
  height: auto;
}

.abp-u168 {
  height: 40rem;
  width: 100%;
  object-fit: cover;
}
@media (min-width: 768px) {
  .abp-u168 {
    height: 55rem;
  }
}

.abp-u169 {
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .abp-u169 {
    margin-bottom: 3rem;
  }
}
@media (min-width: 1024px) {
  .abp-u169 {
    margin-bottom: 5.5rem;
  }
}
@media (min-width: 1536px) {
  .abp-u169 {
    margin-bottom: 5rem;
  }
}

.abp-u170 {
  color: #23272a;
  font-weight: 700;
  font-size: 32px;
  line-height: 2rem;
}
@media (min-width: 768px) {
  .abp-u170 {
    font-size: 40px;
    line-height: 2.5rem;
  }
}
@media (min-width: 1024px) {
  .abp-u170 {
    font-size: 48px;
    line-height: 48px;
  }
}
@media (min-width: 1536px) {
  .abp-u170 {
    font-size: 64px;
    line-height: 64px;
  }
}

.abp-u171 {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (min-width: 1024px) {
  .abp-u171 {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1.25rem;
  }
}
@media (min-width: 1536px) {
  .abp-u171 {
    gap: 1.5rem;
  }
}

.abp-u172 {
  overflow: hidden;
  background-color: #eeeeee;
  border-radius: 1rem;
  padding: 2rem;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .abp-u172 {
    order: 1;
    border-radius: 1.5rem;
    padding-left: 2rem;
    padding-right: 2rem;
    padding-top: 3rem;
    padding-bottom: 4rem;
  }
}
@media (min-width: 1024px) {
  .abp-u172 {
    flex-basis: calc(50% - 10px);
    padding-left: 5rem;
    padding-right: 5rem;
    padding-top: 4rem;
    padding-bottom: 2.5rem;
    display: flex;
    flex-direction: column;
  }
}
@media (min-width: 1536px) {
  .abp-u172 {
    padding-left: 3.25rem;
    padding-right: 3.25rem;
    flex-basis: calc(50% - 12px);
    max-height: 30.5rem;
  }
}

.abp-u173 {
  margin-bottom: 1rem;
}
@media (min-width: 1024px) {
  .abp-u173 {
    margin-bottom: 1.75rem;
  }
}

.abp-u174 {
  margin-bottom: 3rem;
}
@media (min-width: 1024px) {
  .abp-u174 {
    flex: 1 1 0%;
  }
}

.abp-u175 {
  color: #23272a;
  font-size: 1rem;
  line-height: 19px;
}
@media (min-width: 768px) {
  .abp-u175 {
    font-size: 1.125rem;
    line-height: 22px;
    text-wrap: balance;
  }
}

@media (min-width: 1024px) {
  .abp-u176 {
    display: flex;
    gap: 1.25rem;
  }
}

.abp-u177 {
  margin-bottom: 0.75rem;
}
@media (min-width: 1024px) {
  .abp-u177 {
    margin-bottom: 0px;
    flex-shrink: 0;
  }
}

.abp-u178 {
  width: 4.25rem;
  height: 4.25rem;
}
@media (min-width: 1024px) {
  .abp-u178 {
    height: 6.25rem;
    width: 6.25rem;
  }
}

.abp-u179 {
  margin-bottom: 0.75rem;
}
@media (min-width: 1024px) {
  .abp-u179 {
    margin-bottom: 0.5rem;
  }
}

.abp-u180 {
  font-weight: 400;
  color: #23272a;
  font-size: 24px;
  line-height: 28px;
}

@media (min-width: 1024px) {
  .abp-u181 {
    max-width: 22.5rem;
  }
}

.abp-u182 {
  color: #4e5155;
  font-size: 1rem;
  line-height: 19px;
}

.abp-u183 {
  overflow: hidden;
  position: relative;
  border-radius: 1rem;
}
@media (min-width: 768px) {
  .abp-u183 {
    border-radius: 1.5rem;
    order: 3;
  }
}
@media (min-width: 1024px) {
  .abp-u183 {
    flex: 1 1 0%;
  }
}
@media (min-width: 1536px) {
  .abp-u183 {
    flex-basis: calc(50% - 12px);
    margin-top: -6.625rem;
  }
}

.abp-u184 {
  position: absolute;
  width: 100%;
  z-index: 1;
  height: 100%;
  inset: 0px;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  padding-left: 2rem;
  padding-right: 2rem;
}
@media (min-width: 768px) {
  .abp-u184 {
    display: flex;
    align-items: flex-end;
    padding-left: 3.25rem;
    padding-right: 3.25rem;
    padding-bottom: 4rem;
  }
}
@media (min-width: 1024px) {
  .abp-u184 {
    padding-left: 5rem;
    padding-right: 5rem;
    padding-bottom: 3rem;
  }
}
@media (min-width: 1536px) {
  .abp-u184 {
    padding-left: 3.25rem;
    padding-right: 3.25rem;
  }
}

.abp-u185 {
  color: #ffffff;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.75rem;
}
@media (min-width: 768px) {
  .abp-u185 {
    font-size: 32px;
    line-height: 35px;
    max-width: 27rem;
  }
}

@media (min-width: 768px) {
  .abp-u186 {
    display: none;
  }
}

.abp-u187 {
  position: relative;
  z-index: 0;
  height: 100%;
}

.abp-u188 {
  overflow: hidden;
  border-radius: 1rem;
}
@media (min-width: 768px) {
  .abp-u188 {
    border-radius: 1.5rem;
    order: 2;
  }
}
@media (min-width: 1024px) {
  .abp-u188 {
    flex-basis: calc(50% - 10px);
  }
}
@media (min-width: 1536px) {
  .abp-u188 {
    flex-basis: calc(50% - 12px);
  }
}

.abp-u189 {
  overflow: hidden;
  border-radius: 1rem;
}
@media (min-width: 768px) {
  .abp-u189 {
    border-radius: 1.5rem;
    order: 4;
  }
}
@media (min-width: 1024px) {
  .abp-u189 {
    flex: 1 1 0%;
    max-width: 519px;
  }
}
@media (min-width: 1536px) {
  .abp-u189 {
    flex-basis: calc(50% - 12px);
    max-width: none;
    max-height: 470px;
  }
}

.abp-u190 {
  margin-bottom: 5rem;
}
@media (min-width: 768px) {
  .abp-u190 {
    margin-bottom: 5.5rem;
  }
}
@media (min-width: 1024px) {
  .abp-u190 {
    margin-bottom: 15rem;
  }
}

.abp-u191 {
  position: relative;
  height: 100vh;
  background-color: #000000;
  overflow: hidden;
}

.abp-u192 {
  background-image: linear-gradient(to right, var(--tw-gradient-from), var(--tw-gradient-via, var(--tw-gradient-to)), var(--tw-gradient-to));
  --tw-gradient-from: rgb(0 0 0 / 0.4);
  --tw-gradient-to: transparent;
  position: absolute;
  inset: 0px;
  width: 100%;
  height: 100%;
  z-index: 2;
}

.abp-u193 {
  width: 100%;
  object-position: 20% 0;
  height: 100%;
  object-fit: cover;
  min-height: 100vh;
}
@media (min-width: 1024px) {
  .abp-u193 {
    object-position: center;
  }
}

.abp-u194 {
  pointer-events: none;
  position: absolute;
  z-index: 3;
  inset: 0px;
  top: auto;
  width: 100%;
  overflow: hidden;
}

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

.abp-u196 {
  width: 100%;
  position: absolute;
  inset: 0px;
  filter: blur(3px);
  opacity: 0;
  transform: translate(0px, 100%);
}

.abp-u197 {
  margin-bottom: 0.5rem;
}

.abp-u198 {
  font-weight: 300;
  color: #ffffff;
  font-size: 1rem;
  line-height: 19px;
}

.abp-u199 {
  color: #ffffff;
  font-weight: 300;
  font-size: 32px;
  line-height: 35px;
}
@media (min-width: 768px) {
  .abp-u199 {
    font-size: 48px;
    line-height: 53px;
  }
}

.abp-u200 {
  font-weight: 500;
  color: #ffffff;
  font-size: 32px;
  line-height: 35px;
}
@media (min-width: 768px) {
  .abp-u200 {
    font-size: 48px;
    line-height: 53px;
  }
}

.abp-u201 {
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .abp-u201 {
    margin-bottom: 1rem;
  }
}
@media (min-width: 1024px) {
  .abp-u201 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
    row-gap: 0px;
  }
}
@media (min-width: 1536px) {
  .abp-u201 {
    column-gap: 1.5rem;
    margin-bottom: 1.5rem;
    grid-template-columns: minmax(400px, 576px) auto;
    grid-template-rows: 176px 453px;
  }
}

.abp-u202 {
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .abp-u202 {
    max-width: 19.75rem;
    margin-bottom: 3rem;
  }
}
@media (min-width: 1024px) {
  .abp-u202 {
    grid-column: span 2 / span 2;
    grid-row-start: 1;
    grid-column-start: 1;
  }
}

.abp-u203 {
  color: #23272a;
  font-weight: 700;
  font-size: 32px;
  line-height: 32px;
  text-align: center;
}
@media (min-width: 768px) {
  .abp-u203 {
    text-align: left;
    font-size: 40px;
    line-height: 40px;
  }
}

.abp-u204 {
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .abp-u204 {
    border-radius: 1.5rem;
    margin-bottom: 1rem;
  }
}
@media (min-width: 1024px) {
  .abp-u204 {
    margin-bottom: 0px;
    grid-row-start: 2;
    grid-column-start: 1;
  }
}

.abp-u205 {
  position: absolute;
  inset: 0px;
  width: 100%;
  height: 100%;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .abp-u205 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}
@media (min-width: 1024px) {
  .abp-u205 {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media (min-width: 1536px) {
  .abp-u205 {
    padding-left: 54px;
    padding-right: 54px;
  }
}

.abp-u206 {
  color: #23272a;
  font-weight: 500;
  font-size: 24px;
  line-height: 26px;
}
@media (min-width: 1024px) {
  .abp-u206 {
    font-size: 32px;
    line-height: 35px;
  }
}

@media (min-width: 1024px) {
  .abp-u207 {
    display: none;
  }
}

@media (min-width: 768px) {
  .abp-u208 {
    max-width: 14rem;
  }
}
@media (min-width: 1024px) {
  .abp-u208 {
    max-width: 25rem;
  }
}

.abp-u209 {
  height: 100%;
}

.abp-u210 {
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
}
@media (min-width: 768px) {
  .abp-u210 {
    border-radius: 1.5rem;
  }
}
@media (min-width: 1024px) {
  .abp-u210 {
    grid-row: span 2 / span 2;
    grid-row-start: 1;
    grid-column-start: 2;
  }
}

.abp-u211 {
  position: absolute;
  inset: 0px;
  width: 100%;
  height: 100%;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .abp-u211 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}
@media (min-width: 1024px) {
  .abp-u211 {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }
}
@media (min-width: 1536px) {
  .abp-u211 {
    padding-left: 54px;
    padding-right: 54px;
  }
}

.abp-u212 {
  margin-bottom: 0.5rem;
}
@media (min-width: 768px) {
  .abp-u212 {
    max-width: 17rem;
  }
}
@media (min-width: 1024px) {
  .abp-u212 {
    max-width: 25rem;
  }
}
@media (min-width: 1536px) {
  .abp-u212 {
    max-width: 100%;
  }
}

.abp-u213 {
  color: #ffffff;
  font-weight: 500;
  font-size: 24px;
  line-height: 26px;
}
@media (min-width: 1024px) {
  .abp-u213 {
    font-size: 32px;
    line-height: 35px;
  }
}

@media (min-width: 768px) {
  .abp-u214 {
    max-width: 16.5rem;
  }
}
@media (min-width: 1024px) {
  .abp-u214 {
    max-width: 25rem;
  }
}

.abp-u215 {
  color: #ffffff;
  font-size: 1rem;
  line-height: 19px;
}
@media (min-width: 1024px) {
  .abp-u215 {
    font-size: 1.125rem;
    line-height: 22px;
  }
}

@media (min-width: 1024px) {
  .abp-u216 {
    display: flex;
    gap: 1.25rem;
    row-gap: 0px;
  }
}
@media (min-width: 1536px) {
  .abp-u216 {
    column-gap: 1.5rem;
  }
}

.abp-u217 {
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
  display: none;
}
@media (min-width: 768px) {
  .abp-u217 {
    border-radius: 1.5rem;
  }
}
@media (min-width: 1024px) {
  .abp-u217 {
    max-width: 736px;
    display: block;
    flex: 1 1 0%;
  }
}
@media (min-width: 1536px) {
  .abp-u217 {
    max-width: 50%;
  }
}

.abp-u218 {
  margin-bottom: 0.5rem;
}
@media (min-width: 768px) {
  .abp-u218 {
    max-width: 21rem;
  }
}
@media (min-width: 1024px) {
  .abp-u218 {
    max-width: 30rem;
  }
}

@media (min-width: 768px) {
  .abp-u219 {
    max-width: 18.5rem;
  }
}
@media (min-width: 1024px) {
  .abp-u219 {
    max-width: 25rem;
  }
}

.abp-u220 {
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
}
@media (min-width: 768px) {
  .abp-u220 {
    border-radius: 1.5rem;
  }
}
@media (min-width: 1024px) {
  .abp-u220 {
    max-width: 519px;
    flex: 1 1 0%;
  }
}
@media (min-width: 1536px) {
  .abp-u220 {
    max-width: 50%;
  }
}

.abp-u221 {
  position: absolute;
  inset: 0px;
  width: 100%;
  height: 100%;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .abp-u221 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}
@media (min-width: 1024px) {
  .abp-u221 {
    display: none;
  }
}

.abp-u222 {
  margin-bottom: 0.5rem;
}
@media (min-width: 768px) {
  .abp-u222 {
    max-width: 21rem;
  }
}

.abp-u223 {
  color: #23272a;
  font-weight: 500;
  font-size: 24px;
  line-height: 26px;
}

@media (min-width: 768px) {
  .abp-u224 {
    max-width: 18.5rem;
  }
}

@media (min-width: 1024px) {
  .abp-u225 {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    margin-bottom: 10rem;
  }
}
@media (min-width: 1536px) {
  .abp-u225 {
    gap: 1.5rem;
  }
}
.abp-u225 {
  margin-bottom: 5rem;
}
@media (min-width: 768px) {
  .abp-u225 {
    margin-bottom: 5.5rem;
  }
}

.abp-u226 {
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .abp-u226 {
    margin-bottom: 3rem;
    flex: 1 1 0%;
  }
}
@media (min-width: 1024px) {
  .abp-u226 {
    margin-bottom: 20px;
  }
}

.abp-u227 {
  color: #2f2f2f;
  text-align: center;
  font-weight: 700;
  font-size: 32px;
  line-height: 32px;
}
@media (min-width: 768px) {
  .abp-u227 {
    font-size: 56px;
    line-height: 56px;
  }
}
@media (min-width: 1024px) {
  .abp-u227 {
    text-align: left;
  }
}

.abp-u228 {
  color: #e73446;
  font-style: italic;
}

@media (min-width: 768px) {
  .abp-u229 {
    margin-left: 0px;
    margin-right: 0px;
  }
}
@media (min-width: 1024px) {
  .abp-u229 {
    max-width: 39.5rem;
  }
}
@media (min-width: 1536px) {
  .abp-u229 {
    max-width: 43.5rem;
  }
}

.abp-u230 {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
@media (min-width: 1024px) {
  .abp-u230 {
    gap: 1.25rem;
    flex-wrap: nowrap;
  }
}
@media (min-width: 1536px) {
  .abp-u230 {
    gap: 1.5rem;
  }
}

.abp-u231 {
  background-color: #23272a;
  width: 100%;
  border-radius: 1rem;
  flex-shrink: 0;
  height: 219px;
  padding: 1.5rem;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-bottom: 1.5rem;
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .abp-u231 {
    border-radius: 1.5rem;
    padding-top: 1.5rem;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    padding-bottom: 2rem;
    width: calc(50% - 8px);
    height: 13.5rem;
    flex-shrink: 1;
  }
}

.abp-u232 {
  color: #ffffff;
  font-weight: 500;
  font-size: 20px;
  line-height: 24px;
}

.abp-u233 {
  flex: 1 1 0%;
  max-width: 16.5rem;
}
@media (min-width: 1024px) {
  .abp-u233 {
    max-width: 210px;
  }
}

.abp-u234 {
  color: #ffffff;
  font-size: 1rem;
  line-height: 19px;
}

.abp-u235 {
  height: 3rem;
  width: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  background-color: #e73446;
}

.abp-u236 {
  flex: 1 1 0%;
  max-width: 16.5rem;
}
@media (min-width: 768px) {
  .abp-u236 {
    max-width: 90%;
  }
}

.abp-u237 {
  position: relative;
  margin-bottom: 5rem;
}
@media (min-width: 768px) {
  .abp-u237 {
    margin-bottom: 5.5rem;
  }
}
@media (min-width: 1024px) {
  .abp-u237 {
    margin-bottom: 7.5rem;
  }
}

.abp-u238 {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
}
@media (min-width: 768px) {
  .abp-u238 {
    background-color: #edeeee;
    flex-direction: row;
    border-radius: 1.5rem;
    position: relative;
    background-color: transparent;
  }
}
@media (min-width: 1024px) {
  .abp-u238 {
    width: 100%;
    height: 30rem;
    margin-left: auto;
    margin-right: auto;
    overflow: visible;
    background-color: #edeeee;
  }
}

.abp-u239 {
  background-color: rgba(35, 39, 42, 0.08);
  width: 100%;
  z-index: 2;
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
}
@media (min-width: 768px) {
  .abp-u239 {
    flex: 1 1 0%;
    width: 50%;
  }
}
@media (min-width: 1024px) {
  .abp-u239 {
    background-color: transparent;
    width: 100%;
    padding: 0px;
    padding-left: 15px;
    padding-right: 15px;
    max-width: 1060px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
@media (min-width: 1280px) {
  .abp-u239 {
    padding-left: 0px;
    padding-right: 0px;
  }
}
@media (min-width: 1536px) {
  .abp-u239 {
    max-width: 1176px;
  }
}

.abp-u240 {
  padding-top: 1.5rem;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-bottom: 2rem;
}
@media (min-width: 768px) {
  .abp-u240 {
    display: flex;
    flex-direction: column;
    padding: 2.5rem;
    padding-bottom: 1.5rem;
  }
}
@media (min-width: 1024px) {
  .abp-u240 {
    padding-left: 0px;
    padding-right: 0px;
    padding-top: 0px;
  }
}

.abp-u241 {
  margin-bottom: 1rem;
}
@media (min-width: 1024px) {
  .abp-u241 {
    margin-bottom: 1.125rem;
    max-width: 576px;
  }
}
@media (min-width: 768px) {
  .abp-u241 {
    max-width: 15rem;
  }
}

.abp-u242 {
  color: #23272a;
  font-weight: 700;
  font-size: 24px;
  line-height: 26px;
}
@media (min-width: 1024px) {
  .abp-u242 {
    font-size: 35px;
    line-height: 35px;
  }
}

.abp-u243 {
  margin-bottom: 1.5rem;
  max-width: 90%;
}
@media (min-width: 768px) {
  .abp-u243 {
    flex: 1 1 0%;
  }
}
@media (min-width: 1024px) {
  .abp-u243 {
    flex: none;
  }
}

.abp-u244 {
  border-radius: 1.5rem;
  height: 3rem;
  max-width: 267px;
  width: 100%;
  color: #ffffff;
  font-weight: 500;
}
@media (min-width: 1024px) {
  .abp-u244 {
    max-width: 211px;
  }
}
@media (min-width: 1536px) {
  .abp-u244 {
    max-width: 215px;
  }
}

.abp-u245 {
  width: 100%;
  height: 300px;
  background-color: #edeeee;
  position: relative;
  border-radius: 1rem;
}
@media (min-width: 768px) {
  .abp-u245 {
    flex: 1 1 0%;
    width: 50%;
  }
}
@media (min-width: 1024px) {
  .abp-u245 {
    height: 100%;
    position: absolute;
    right: 0px;
  }
}

.abp-u246 {
  position: absolute;
  z-index: 1;
  inset: 0px;
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .abp-u246 {
    border-radius: 1.5rem;
    top: auto;
    bottom: 0px;
  }
}
@media (min-width: 1024px) {
  .abp-u246 {
    right: 0px;
  }
}

.abp-u247 {
  position: absolute;
  bottom: 0px;
  left: 50%;
  height: 20rem;
  max-width: none;
  transform: translate(-50%, 0px);
}
@media (min-width: 768px) {
  .abp-u247 {
    height: 297px;
    bottom: 1.25rem;
  }
}
@media (min-width: 1024px) {
  .abp-u247 {
    width: auto;
    max-height: 550px;
    height: 572px;
    left: auto;
    bottom: 0px;
    right: 3rem;
    transform: translate(0px, 0px);
  }
}
@media (min-width: 1536px) {
  .abp-u247 {
    right: 6.5rem;
  }
}

.abp-u248 {
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  inset: 0px;
  border-radius: 1rem;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .abp-u248 {
    display: none;
  }
}

.abp-u249 {
  position: absolute;
  right: -22.5rem;
  top: 0px;
}
@media (min-width: 768px) {
  .abp-u249 {
    display: none;
  }
}

.abp-u250 {
  position: absolute;
  right: 0px;
  bottom: 0px;
}
@media (min-width: 768px) {
  .abp-u250 {
    bottom: -1.5rem;
  }
}

.abp-u251 {
  display: none;
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 100%;
  inset: 0px;
  border-radius: 1rem;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .abp-u251 {
    display: block;
  }
}

.abp-u252 {
  position: absolute;
  top: 0px;
  right: -32.5rem;
}
@media (min-width: 1536px) {
  .abp-u252 {
    right: 0px;
  }
}

.abp-u253 {
  position: absolute;
  bottom: 0px;
  right: -7.5rem;
}
@media (min-width: 1536px) {
  .abp-u253 {
    right: 0px;
  }
}
/* GENERATED_TW_CSS_END */
