html {
  -webkit-text-size-adjust: 100%;
  line-height: 1.15;
}
body {
  margin: 0;
}
main {
  display: block;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
pre {
  font-family: monospace, monospace;
  font-size: 1em;
}
a {
  background-color: transparent;
}
abbr[title] {
  border-bottom: 0;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}
b,
strong {
  font-weight: bolder;
}
code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
img {
  border-style: none;
}
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: inherit;
  margin: 0;
}
button,
input {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
[type="button"],
[type="reset"],
[type="submit"],
button {
  -webkit-appearance: button;
}
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner,
button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring,
button:-moz-focusring {
  outline: 1px dotted ButtonText;
}
fieldset {
  padding: 0.35em 0.75em 0.625em;
}
progress {
  vertical-align: baseline;
}
textarea {
  overflow: auto;
}
[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}
details {
  display: block;
}
[hidden],
template {
  display: none;
}
html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 1.5;
}
*,
:after,
:before {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}
embed,
iframe,
image,
video {
  vertical-align: baseline;
}
figure {
  margin: 0;
}
h1,
h2,
h3,
h4,
h5,
h6,
ol,
p,
pre,
ul {
  margin-top: 0;
}
img,
svg {
  height: auto;
  max-width: 100%;
}
a,
button {
  -webkit-tap-highlight-color: transparent;
}
@font-face {
  font-display: swap;
  font-family: PPNeueMontreal;
  font-style: normal;
  font-weight: 200;
  src: url(../fonts/PPNeueMontreal-Light.woff2?6b8baf9c2be548c40ad3d89e520b72ac)
      format("woff2"),
    url(../fonts/PPNeueMontreal-Light.woff?190f0059eba8a672a10c0a445313f03b)
      format("woff");
}
@font-face {
  font-display: swap;
  font-family: PPNeueMontreal;
  font-style: normal;
  font-weight: 400;
  src: url(../fonts/PPNeueMontreal-Regular.woff2?e975bf8371aec1efabce9f2164d14431)
      format("woff2"),
    url(../fonts/PPNeueMontreal-Regular.woff?11e3b547be00780a6b56f2be1574012c)
      format("woff");
}
@font-face {
  font-display: swap;
  font-family: PPNeueMontreal;
  font-style: normal;
  font-weight: 600;
  src: url(../fonts/PPNeueMontreal-SemiBold.woff2?82363d624b471941cd6b3f2e06777e06)
      format("woff2"),
    url(../fonts/PPNeueMontreal-SemiBold.woff?11ce7260119bd987ca5a92a82ed3d6f4)
      format("woff");
}
html {
  -webkit-font-smoothing: antialiased;
  font-size: clamp(12px, 375px, 0.8333333vw);
  -webkit-font-variant-ligatures: none;
  font-variant-ligatures: none;
}
body {
  color: #fff;
  font-family: PPNeueMontreal, system-ui, -apple-system, BlinkMacSystemFont,
    Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif;
}
p {
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.8);
}
[asscroll-container] {
  z-index: 0;
}
html:not(.is-touch) [asscroll-container] {
  overflow: hidden;
}
html:not(.is-touch) [asscroll-container] [asscroll] {
  -ms-overflow-style: none;
  overflow-x: hidden;
  overflow-y: visible !important;
  scrollbar-width: none !important;
}
html:not(.is-touch) [asscroll-container] [asscroll]::-webkit-scrollbar {
  height: 0 !important;
  width: 0 !important;
}
.asscrollbar {
  height: 100%;
  position: fixed;
  right: 0;
  top: 0;
  width: 20px;
  z-index: 9999;
}
.asscrollbar__handle {
  height: 0;
  margin: 0 auto;
  padding: 6px 0;
  visibility: hidden;
  width: 10px;
}
.asscrollbar__handle > div {
  background-color: #fff;
  border-radius: 10px;
  height: 100%;
  opacity: 0.3;
  width: 100%;
}
.asscrollbar.show .asscrollbar__handle {
  visibility: visible;
}
body {
  background-color: #000;
}
.section {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-box-pack: center;
  display: -webkit-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: calc(var(--vh) * 50);
  overflow: hidden;
  padding: 3.125rem 2.5rem;
}
@media (min-width: 768px) {
  .section {
    padding: 3.125rem 3rem;
  }
}
@media (min-width: 1024px) {
  .section {
    padding: 4rem;
  }
}
@media (min-width: 1366px) {
  .section {
    min-height: calc(var(--vh) * 100);
    padding: 5rem 10rem;
  }
}
.section--tall {
  min-height: calc(var(--vh) * 100);
}
@media (min-width: 1366px) {
  .section--tall {
    min-height: calc(var(--vh) * 150);
  }
}
.header {
  overflow: visible;
  top: 0;
  top: 1px;
}
.header,
.header-blur-block {
  left: 0;
  position: fixed;
  width: 100%;
  z-index: 1000;
}
.header-blur-block {
  background-color: #000;
  display: block;
  height: 1px;
  top: 0;
}
.header__inner {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-box-align: center;
  -webkit-box-pack: justify;
  align-items: center;
  display: -webkit-box;
  display: flex;
  flex-direction: row;
  height: 100%;
  justify-content: space-between;
  padding: 1.25rem;
  pointer-events: none;
  position: relative;
  width: 100%;
  z-index: 1;
}
@media (min-width: 768px) {
  .header__inner {
    padding: 1.74rem 3.125rem;
  }
}
/* .header__inner двигает по вертикали GSAp-таймлайн shrink()/grow() в классе St
   (theme.js) при первом скролле — тот же приём, что и у .header__bg чуть ниже,
   фиксируем позицию через !important, чтобы хедер никогда не "подпрыгивал". */
.header__inner {
  -webkit-transform: translateY(0) !important;
  transform: translateY(0) !important;
}
.header__bg {
  height: 100%;
  left: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  top: 0;
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: center top;
  transform-origin: center top;
  width: 100%;
  z-index: 0;
}
/* Затемнение под хедером (.header__bg) обычно "проявляет" GSAP по скроллу —
   после resize окна (в т.ч. в DevTools) их внутренняя синхронизация иногда не
   пересчитывается сама, и подложка застревает прозрачной, пока пользователь не
   прокрутит страницу руками — тогда кнопка хедера сливается с кнопкой геро-блока
   (не видно тёмной подложки между ними). Программно воспроизвести "починку
   скроллом" не вышло: библиотека реагирует только на настоящие, доверенные
   (isTrusted) события колеса/тача — синтетические dispatchEvent из JS браузер
   такими не считает, поэтому обойти баг скриптом нельзя. Более надёжно —
   держать подложку всегда включённой через !important (она и так должна быть
   видна почти всегда, кроме самой первой доли секунды на самом верху страницы),
   тогда кнопки хедера никогда не окажутся без тёмного фона за ними. */
.header__bg {
  -webkit-transform: scaleY(1) !important;
  transform: scaleY(1) !important;
}
.header__bg-inner {
  -webkit-box-flex: 1;
  flex: 1 1 100%;
  height: 100%;
  -webkit-transform: scaleY(1.1);
  transform: scaleY(1.1);
  -webkit-transform-origin: bottom;
  transform-origin: bottom;
}
@supports (
  (-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))
) {
  .header__bg-inner {
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    background: -webkit-gradient(
      linear,
      left bottom,
      left top,
      from(rgba(0, 0, 0, 0.5)),
      to(rgba(0, 0, 0, 0.1))
    );
    background: linear-gradient(1turn, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.1));
  }
}
@supports not (
  (-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))
) {
  .header__bg-inner {
    background: -webkit-gradient(
      linear,
      left bottom,
      left top,
      from(rgba(0, 0, 0, 0.8)),
      to(rgba(0, 0, 0, 0.9))
    );
    background: linear-gradient(1turn, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.9));
  }
}
.header__logo {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  border: none;
  cursor: pointer;
  font-size: 0;
  height: 3rem;
  margin-bottom: 0;
  pointer-events: auto;
  text-decoration: none;
  width: 7.063rem;
  z-index: 2;
}
.header__logo svg {
  width: 100%;
}
.header__cta {
  pointer-events: auto;
  z-index: 2;
}
@media (min-width: 768px) {
  .header__cta {
    display: none;
  }
}
.nav {
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}
@media (min-width: 768px) {
  .nav {
    pointer-events: auto;
    position: relative;
    width: auto;
  }
}
.nav__list {
  -webkit-box-align: center;
  -webkit-box-pack: center;
  align-items: center;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 6.813rem 0 4.313rem;
  pointer-events: none;
}
@media (min-width: 768px) {
  .nav__list {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    justify-content: center;
    padding: 0;
    pointer-events: auto;
  }
}
.nav__item {
  -webkit-box-pack: center;
  display: -webkit-box;
  display: flex;
  justify-content: center;
  margin-bottom: 1.5rem;
  overflow: hidden;
  padding: 0 0 0.5rem;
  visibility: hidden;
}
@media (min-width: 768px) {
  .nav__item {
    margin-bottom: 0;
    margin-right: 2.5rem;
    visibility: visible;
  }
}
.nav__link {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  border: none;
  color: #fff;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.025em;
  line-height: 1.2;
  overflow: hidden;
  text-decoration: none;
  text-transform: uppercase;
  -webkit-transition: color 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  transition: color 0.5s cubic-bezier(0.5, 1, 0.89, 1);
}
@media (min-width: 768px) {
  .nav__link {
    color: #9a9a9a;
  }
  .nav__item.isActive .nav__link,
  .nav__link:hover {
    color: #fff;
  }
}
@media (min-width: 1919px) {
  .nav__link {
    font-size: 16px;
  }
}
@media (min-width: 1921px) {
  .nav__link {
    font-size: inherit;
  }
}
.nav__link__chars {
  padding-top: 0.5rem;
}
.nav__cta {
  -webkit-box-pack: center;
  display: -webkit-box;
  display: flex;
  justify-content: center;
  visibility: hidden;
}
@media (min-width: 768px) {
  .nav__cta {
    visibility: visible;
  }
}
.nav-toggle {
  -webkit-box-align: center;
  -webkit-box-pack: center;
  align-items: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #8052ff;
  border: none;
  border-radius: 50%;
  display: -webkit-box;
  display: flex;
  height: 3.25rem;
  justify-content: center;
  padding: 1rem;
  position: fixed;
  right: 1.25rem;
  top: 1.35rem;
  width: 3.25rem;
  z-index: 1001;
}
@media (min-width: 768px) {
  .nav-toggle {
    display: none;
  }
}
.nav-toggle svg {
  height: 100%;
  pointer-events: none;
  width: 100%;
}
.nav-toggle__cross {
  display: none;
}
.nav__bg {
  border-bottom: 1px solid hsla(0, 0%, 100%, 0.1);
  height: 100%;
  left: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  top: 0;
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: center top;
  transform-origin: center top;
  width: 100%;
  z-index: -1;
}
.nav__bg-inner {
  -webkit-box-flex: 1;
  flex: 1 1 100%;
  height: 100%;
  -webkit-transform: scaleY(1.1);
  transform: scaleY(1.1);
  -webkit-transform-origin: bottom;
  transform-origin: bottom;
}
@supports (
  (-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))
) {
  .nav__bg-inner {
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    background: -webkit-gradient(
      linear,
      left bottom,
      left top,
      from(rgba(0, 0, 0, 0.5)),
      to(rgba(0, 0, 0, 0.1))
    );
    background: linear-gradient(1turn, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.1));
  }
}
@supports not (
  (-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))
) {
  .nav__bg-inner {
    background: -webkit-gradient(
      linear,
      left bottom,
      left top,
      from(rgba(0, 0, 0, 0.8)),
      to(rgba(0, 0, 0, 0.9))
    );
    background: linear-gradient(1turn, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.9));
  }
}
.nav-transition-mask {
  -webkit-box-align: center;
  -webkit-box-pack: center;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 9999;
}
.nav-transition-mask,
.nav-transition-mask-bg {
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
}
.nav-transition-mask-bg {
  background-color: #000;
  visibility: hidden;
  z-index: 9998;
}
.nav-transition-mask__spinner {
  -webkit-box-pack: center;
  -webkit-box-align: center;
  align-items: center;
  display: -webkit-box;
  display: flex;
  height: 100%;
  justify-content: center;
  -webkit-transform-origin: center;
  transform-origin: center;
}
.nav-transition-mask__spinner-svg {
  height: 60px;
  -webkit-transform-origin: center;
  transform-origin: center;
  visibility: hidden;
  width: 60px;
}
@media (min-width: 768px) {
  .nav-transition-mask__spinner-svg {
    height: 100px;
    width: 100px;
  }
}
.btn {
  -webkit-box-pack: center;
  -webkit-box-align: center;
  align-items: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #8052ff;
  border: none;
  color: #fff;
  cursor: pointer;
  display: -webkit-box;
  display: flex;
  justify-content: center;
  line-height: 1rem;
  overflow: hidden;
  padding: 14.4px 15.96px;
  position: relative;
  text-decoration: none;
  -webkit-transition: background-color 0.3s ease, border-color 0.3s ease;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}
.btn:hover,
.btn:focus-visible {
  background-color: #9569ff;
}
.btn,
.btn .btn__text--hover {
  border-radius: 1.875rem;
}
@media (min-width: 1919px) {
  .btn {
    padding: 16.48px 20px;
  }
}
@media (min-width: 1921px) {
  .btn {
    padding: 1.03rem 1.25rem;
  }
}
.btn__text {
  display: -webkit-box;
  display: flex;
  font-size: 14px;
  line-height: 0.95rem;
  white-space: nowrap;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  z-index: 2;
}
/* Ниже 360px (брейкпоинт @xs) логотипу + кнопке "Начать работу" в хедере не
   хватает места на одну строку при фиксированных 16px/паддинге — текст
   переносился на 2 строки, и та же самая кнопка из-за выросшей высоты вдруг
   показывала тёмный .btn__hover оверлей (его clip-path в % посчитан под
   однострочную высоту). white-space:nowrap выше не даёт переноситься, а тут
   уменьшаем шрифт и паддинг, чтобы кнопка комфортно помещалась и на 320px.
   Кнопка-гамбургер (.nav-toggle) — position:fixed и НЕ участвует в flex-раскладке
   хедера, поэтому .header__cta её не "видит" и своим space-between-положением
   заезжает под неё справа (была реальная замеренная просадка ~32px на 286px).
   .mr-4 (margin-right:4rem) здесь не спасает, т.к. корневой font-size на этих
   ширинах через clamp() зафиксирован в 12px (4rem=48px, а не ожидаемые 64px) —
   и даже это не давало видимого зазора, поэтому резервируем место явным px.
   Плюс на самых узких экранах прячем текстовый логотип (оставляем только
   иконку) — освобождает ~90px и снимает необходимость сжимать кнопку сильнее. */
@media (max-width: 359px) {
  .header__logo {
    width: auto;
  }
  .header__logo-text {
    display: none;
  }
  .header__cta {
    margin-right: 60px !important;
  }
  .header__cta .btn {
    padding: 10px 12px;
  }
  .header__cta .btn__text {
    font-size: 12px;
  }
}
@media (min-width: 1919px) {
  .btn__text {
    font-size: 16px;
  }
}
@media (min-width: 1921px) {
  .btn__text {
    font-size: inherit;
  }
}
.btn__hover {
  display: none;
}
.landing {
  -webkit-box-pack: start;
  justify-content: flex-start;
  margin-top: calc(var(--vh) * 8);
}
@media (min-width: 1024px) {
  .landing {
    margin-top: 0;
    padding-top: 8rem;
  }
}
@media (min-width: 1366px) {
  .landing {
    -webkit-box-pack: start;
    height: 100vh;
    justify-content: flex-start;
    padding-top: 8rem;
  }
}
.landing__title {
  letter-spacing: -0.04em;
}
@media (min-width: 1366px) {
  .landing__title {
    margin-top: 0;
  }
}
.landing__title span:before {
  content: "";
  display: block;
  height: 0;
  margin-bottom: -1.5%;
  width: 0;
}
@media (min-width: 360px) {
  .landing__body {
    max-width: 31.5rem;
  }
}
@media (min-width: 768px) {
  .landing__body {
    /* 35rem едва не хватало ~6px, чтобы кнопки "Открыть приложение"/"Подробнее
       о тарифах" помещались в один ряд — расширили с запасом, текст абзаца
       выше не теряет читаемость при таком небольшом увеличении колонки. */
    max-width: 38rem;
  }
}
.introduction {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-box-align: start;
  -webkit-box-pack: center;
  align-items: flex-start;
  display: -webkit-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (min-width: 768px) {
  .introduction {
    -webkit-box-align: end;
    align-items: flex-end;
  }
  .introduction__title {
    width: 50vw;
  }
}
@media (min-width: 1024px) {
  .introduction__title {
    width: 30rem;
  }
}
@media (min-width: 768px) {
  .introduction__body {
    width: 50vw;
  }
}
@media (min-width: 1024px) {
  .introduction__body {
    width: 30rem;
  }
}
.manifesto--introduction {
  -webkit-box-align: start;
  -webkit-box-pack: center;
  align-items: flex-start;
  display: -webkit-box;
  display: flex;
  justify-content: center;
  min-height: 0;
  overflow: hidden;
  padding: 0 2.5rem;
}
@media (min-width: 768px) {
  .manifesto--introduction {
    -webkit-box-align: center;
    -webkit-box-pack: center;
    align-items: center;
    justify-content: center;
    padding: 3.125rem 3rem;
  }
}
@media (min-width: 1024px) {
  .manifesto--introduction {
    min-height: calc(var(--vh) * 50);
    padding: 4rem;
  }
}
@media (min-width: 1366px) {
  .manifesto--introduction {
    min-height: calc(var(--vh) * 100);
    padding: 5rem 10rem;
  }
}
.manifesto--introduction .manifesto__body {
  margin: 0;
}
.manifesto--introduction .manifesto__body p {
  color: #fff;
}
@media (min-width: 768px) {
  .manifesto--introduction .manifesto__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-box-pack: center;
    -webkit-box-align: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: auto;
    text-align: center;
    width: 80vw;
  }
}
@media (min-width: 1024px) {
  .manifesto--introduction .manifesto__body {
    margin: auto;
    max-width: 90vw;
    width: 95rem;
  }
}
.manifesto--section {
  margin-top: 50vh;
}
.manifesto--section + .manifesto--section {
  margin-top: 0;
}
.manifesto__inner {
  display: inline-block;
}
@media (min-width: 1024px) {
  .manifesto__title {
    width: 30rem;
  }
}
.manifesto__body a {
  color: #ffb829;
  font-weight: 400;
  position: relative;
  text-decoration: none;
}
.manifesto__body a:hover:after {
  left: 0;
  right: auto;
  width: 100%;
}
.manifesto__body a:after {
  background-color: #ffb829;
  bottom: 0;
  content: "";
  height: 1px;
  left: auto;
  position: absolute;
  right: 0;
  -webkit-transition: width 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: width 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  width: 0;
}
@media (min-width: 1024px) {
  .manifesto__body {
    width: 30rem;
  }
  .manifesto--end {
    -webkit-box-align: end;
    align-items: flex-end;
  }
}
@media (max-width: 767px) {
  [anchor-target="manifesto"] {
    margin-top: -42vh;
    padding-top: 42vh;
  }
}
.search {
  -webkit-box-align: center;
  align-items: center;
  min-height: 100vh;
}
.search__bar {
  border-radius: 0.625rem;
  height: 3.375rem;
  margin: 0 auto;
  width: 20rem;
}
@media (min-width: 768px) {
  .search__bar {
    height: 3.375rem;
    width: 24.813rem;
  }
}
@media (min-width: 1024px) {
  .search__bar {
    height: 4.25rem;
    width: 42.5rem;
  }
}
.feature {
  display: -webkit-box;
  display: flex;
}
.feature,
.feature__text {
  width: 100%;
}
@media (min-width: 768px) {
  .feature__text {
    max-width: 29rem;
    width: 50%;
  }
}
.feature__image {
  width: 100%;
}
@media (min-width: 768px) {
  .feature__image {
    width: 50%;
  }
}
.feature__body {
  margin-bottom: 2.25rem;
}
@media (min-width: 768px) {
  .feature--end .feature__text {
    -webkit-box-ordinal-group: 3;
    margin-left: 2rem;
    order: 2;
  }
  .feature--end .feature__image {
    -webkit-box-ordinal-group: 2;
    order: 1;
  }
}
@media (min-width: 1024px) {
  .feature--end .feature__text {
    margin-left: 7rem;
  }
}
.team {
  margin: 5rem 0;
  pointer-events: none;
  position: relative;
  z-index: 2;
}
@media (min-width: 768px) {
  .team {
    margin: 5rem 0;
  }
}
@media (min-width: 1024px) {
  .team {
    margin: 8vw 0 25rem;
  }
}
.team h2 {
  text-align: center;
}
@media (min-width: 1024px) {
  .team h2 {
    text-align: left;
  }
}
.team__head {
  margin: 0 auto 15vw;
  text-align: left;
}
@media (min-width: 768px) {
  .team__head {
    margin: 0 auto 8vw;
    text-align: center;
  }
}
@media (min-width: 1024px) {
  .team__head {
    margin-bottom: 0;
    text-align: left;
  }
}
.team__body {
  margin: 0 0 5rem;
  max-width: 600px;
  pointer-events: auto;
  text-align: left;
  z-index: 1;
}
.team__body a {
  color: #ffb829;
  font-weight: 600;
  position: relative;
  text-decoration: none;
}
.team__body a:hover:after {
  left: 0;
  right: auto;
  width: 100%;
}
.team__body a:after {
  background-color: #ffb829;
  bottom: 0;
  content: "";
  height: 1px;
  left: auto;
  position: absolute;
  right: 0;
  -webkit-transition: width 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: width 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  width: 0;
}
@media (min-width: 768px) {
  .team__body {
    margin: 0 auto 15rem;
    max-width: noe;
    text-align: center;
    width: 30vh;
  }
}
@media (min-width: 1024px) {
  .team__body {
    margin: 0;
    text-align: left;
    width: 27rem;
  }
}
@media (min-width: 1366px) {
  .team__body {
    width: 30rem;
  }
}
.investor {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-box-align: center;
  align-items: center;
  display: -webkit-box;
  display: flex;
  flex-direction: row;
}
.investor__icon {
  height: 6rem;
  position: relative;
  width: 6rem;
}
@media (min-width: 768px) {
  .investor__icon {
    height: 8rem;
    width: 8rem;
  }
}
.investors {
  -webkit-box-align: start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  align-items: flex-start;
  display: -webkit-box;
  display: flex;
  flex-direction: column;
  margin-bottom: 15rem;
  position: relative;
}
@media (min-width: 768px) {
  .investors {
    display: grid;
    gap: 0 0;
    grid-template-areas: "body body body" "a a a" "b b b" "c c c" "d d d" "e e e";
    grid-template-areas: "body body a a" "body body b b" "body body c c" "e e d d";
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr 1fr;
  }
}
@media (min-width: 1366px) {
  .investors {
    gap: 0 0;
    grid-template-areas: "a a body body body" "b b body body body" "c c body body body" "d d e e .";
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr 1fr;
  }
}
.investors__item {
  -webkit-box-ordinal-group: 3;
  -webkit-box-flex: 1;
  -webkit-box-pack: center;
  -webkit-box-pack: start;
  display: -webkit-box;
  display: flex;
  flex: 1 1 100%;
  justify-content: center;
  justify-content: flex-start;
  margin-bottom: 1rem;
  order: 2;
}
.investors__item:first-of-type {
  grid-area: a;
}
.investors__item:nth-of-type(2) {
  grid-area: b;
}
.investors__item:nth-of-type(3) {
  grid-area: c;
}
.investors__item:nth-of-type(4) {
  grid-area: d;
}
.investors__item:nth-of-type(5) {
  grid-area: e;
}
@media (min-width: 768px) {
  .investors__item {
    margin-bottom: 1rem;
  }
  .investors__item:first-of-type {
    -webkit-box-pack: end;
    justify-content: flex-end;
  }
  .investors__item:nth-of-type(2) {
    -webkit-box-pack: start;
    justify-content: flex-start;
  }
  .investors__item:nth-of-type(3) {
    -webkit-box-pack: end;
    justify-content: flex-end;
  }
  .investors__item:nth-of-type(4) {
    -webkit-box-pack: start;
    justify-content: flex-start;
    -webkit-transform: translateY(50%);
    transform: translateY(50%);
  }
  .investors__item:nth-of-type(5) {
    -webkit-box-pack: center;
    justify-content: center;
  }
}
@media (min-width: 1024px) {
  .investors__item:first-of-type {
    -webkit-box-pack: start;
    justify-content: flex-start;
  }
  .investors__item:nth-of-type(2) {
    -webkit-box-pack: end;
    justify-content: flex-end;
  }
  .investors__item:nth-of-type(3) {
    -webkit-box-pack: start;
    justify-content: flex-start;
  }
  .investors__item:nth-of-type(4) {
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-transform: translateY(50%);
    transform: translateY(50%);
  }
  .investors__item:nth-of-type(5) {
    -webkit-box-pack: start;
    justify-content: flex-start;
  }
}
.investors__text {
  -webkit-box-ordinal-group: 2;
  grid-area: body;
  margin-bottom: 1rem;
  order: 1;
  position: relative;
  width: 100%;
}
@media (min-width: 768px) {
  .investors__text {
    margin-bottom: 2rem;
    margin-left: auto;
    max-width: 39rem;
  }
}
.investors__body {
  width: 30rem;
}
.team-slider {
  margin-bottom: 6rem;
  margin-left: -2.5rem;
  pointer-events: auto;
  position: relative;
  width: calc(100% + 5rem);
  z-index: -1;
}
@media (min-width: 768px) {
  .team-slider {
    margin-left: -3rem;
    width: calc(100% + 6rem);
  }
}
@media (min-width: 1024px) {
  .team-slider {
    height: 25vw;
    left: 0;
    margin-left: -4rem;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: calc(100% + 8rem);
  }
}
@media (min-width: 1366px) {
  .team-slider {
    margin-left: -10rem;
    width: calc(100% + 20rem);
  }
}
.team-slider__slides {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  display: -webkit-box;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
}
.team-slider__slides-container {
  -webkit-box-align: center;
  align-items: center;
  display: -webkit-box;
  display: flex;
  height: 71vw;
  overflow: hidden;
  padding-top: 0;
}
@media (min-width: 1024px) {
  .team-slider__slides-container {
    height: 30vw;
  }
}
.team-slider__content {
  height: 12rem;
  list-style: none;
  margin: 0;
  padding: 4rem 0 0;
  z-index: 2;
}
@media (min-width: 1024px) {
  .team-slider__content {
    height: auto;
    left: 60vw;
    padding: 2rem 0 0 2vw;
    position: absolute;
    top: 0;
    width: 20vw;
  }
}
.team-slider__content__item {
  margin-top: 0;
  pointer-events: none;
  position: absolute;
  width: 100%;
}
@media (min-width: 768px) {
  .team-slider__content__item {
    margin-top: 2rem;
  }
}
@media (min-width: 1024px) {
  .team-slider__content__item {
    margin-top: 0;
    top: 6rem;
    width: auto;
  }
}
.team-slider__controls {
  -webkit-box-align: center;
  -webkit-box-pack: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  align-items: center;
  display: -webkit-box;
  display: flex;
  flex-direction: row;
  justify-content: center;
  margin-top: 1rem;
}
@media (min-width: 768px) {
  .team-slider__controls {
    margin-top: 3rem;
  }
}
@media (min-width: 1024px) {
  .team-slider__controls {
    -webkit-box-align: end;
    align-items: flex-end;
    height: 100%;
    left: 50%;
    margin-top: 3rem;
    position: absolute;
    top: 0;
    -webkit-transform: translate(-50%, 10rem);
    transform: translate(-50%, 10rem);
  }
}
.team-slider__control {
  -webkit-box-align: center;
  -webkit-box-pack: center;
  align-items: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  cursor: pointer;
  display: -webkit-box;
  display: flex;
  height: 3.438rem;
  justify-content: center;
  margin: 0 0.5rem;
  padding: 1.25rem;
  position: relative;
  text-decoration: none;
  -webkit-transform-origin: center;
  transform-origin: center;
  width: 3.438rem;
}
.team-slider__control.hover-enabled:hover .team-slider__control-bg,
.team-slider__control.hover-enabled:hover .team-slider__control-hover {
  -webkit-transform: scale(1.1) translateZ(0);
  transform: scale(1.1) translateZ(0);
}
.team-slider__control.hover-enabled .team-slider__control-bg,
.team-slider__control.hover-enabled .team-slider__control-hover {
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.25, 1, 0.5, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0.25, 1, 0.5, 1);
  transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1);
  transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1),
    -webkit-transform 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}
.team-slider__control-bg {
  background-color: #8052ff;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.team-slider__control-bg,
.team-slider__control-hover {
  border-radius: 100%;
  height: 3.438rem;
  left: 0;
  position: absolute;
  top: 0;
  width: 3.438rem;
  z-index: 0;
}
.team-slider__control-hover {
  background-color: #15846e;
  -webkit-transform: scale(0) translateZ(0);
  transform: scale(0) translateZ(0);
}
.team-slider__control svg {
  fill: #fff;
  height: 3.438rem;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  width: 3.438rem;
}
.team-slider__control.team-slider__previous svg {
  -webkit-transform: rotate(180deg) translateZ(0);
  transform: rotate(180deg) translateZ(0);
}
.footer {
  -webkit-box-align: center;
  -webkit-box-pack: center;
  align-items: center;
  justify-content: center;
  margin-bottom: 0;
  min-height: calc(var(--vh) * 100);
  padding: 0;
}
.footer__head {
  margin: 0 1rem 25vh;
  max-width: 36rem;
  text-align: center;
}
@media (min-width: 768px) {
  .footer__head {
    max-width: none;
    width: 46rem;
  }
}
@media (min-width: 1024px) {
  .footer__head {
    margin: auto;
    width: 60rem;
  }
}
.footer__logo {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  -webkit-box-ordinal-group: 1;
  order: 0;
}
@media (min-width: 1024px) {
  .footer__logo {
    flex: 0 0 auto;
    margin-right: 1.5rem;
  }
}
.footer__logo__badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  border-radius: 12px;
  background: linear-gradient(135deg, #8052ff, #ff5ea8);
  color: #fff;
  font-size: 1.375rem;
  font-weight: 700;
}
.footer__logo__text {
  font-size: 1.125rem;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
}
.footer__bar {
  -webkit-box-align: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  align-items: center;
  border-top: 1px solid hsla(0, 0%, 100%, 0.1);
  display: -webkit-box;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 2.5rem 3.125rem;
  width: 100%;
}
@media (min-width: 1024px) {
  .footer__bar {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row;
    margin: 0;
  }
}
@supports (
  (-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))
) {
  .footer__bar {
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    background: -webkit-gradient(
      linear,
      left bottom,
      left top,
      from(rgba(0, 0, 0, 0.5)),
      to(rgba(0, 0, 0, 0.1))
    );
    background: linear-gradient(1turn, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.1));
  }
}
@supports not (
  (-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))
) {
  .footer__bar {
    background: -webkit-gradient(
      linear,
      left bottom,
      left top,
      from(rgba(0, 0, 0, 0.8)),
      to(rgba(0, 0, 0, 0.9))
    );
    background: linear-gradient(1turn, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.9));
  }
}
.footer__nav {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-box-align: center;
  -webkit-box-pack: start;
  -webkit-box-ordinal-group: 3;
  align-items: center;
  display: -webkit-box;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  list-style: none;
  margin: 2rem 0 0;
  order: 2;
  padding: 0;
  width: 60%;
}
@media (min-width: 768px) {
  .footer__nav {
    -webkit-box-pack: center;
    flex-wrap: no-wrap;
    justify-content: center;
    margin: 2rem auto;
    width: auto;
  }
}
@media (min-width: 1024px) {
  .footer__nav {
    -webkit-box-flex: 1;
    flex: 1 1 40%;
    margin: 0;
    order: 3;
  }
}
.footer__nav__item {
  margin-bottom: 1.5rem;
  overflow: hidden;
  padding: 0 0 0.1rem;
  text-align: center;
  width: 100%;
}
@media (min-width: 768px) {
  .footer__nav__item {
    margin-bottom: 0;
    width: auto;
  }
  .footer__nav__item + .footer__nav__item {
    margin-left: 1rem;
    margin-top: 0;
  }
}
@media (min-width: 1366px) {
  .footer__nav__item + .footer__nav__item {
    margin-left: 2.5rem;
    margin-top: 0;
  }
}
.footer__nav__item__chars {
  padding-top: 0.1rem;
}
.footer__nav__link {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  border: none;
  color: #fff;
  cursor: pointer;
  padding: 0;
  text-decoration: none;
  -webkit-transition: color 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  transition: color 0.5s cubic-bezier(0.5, 1, 0.89, 1);
}
@media (min-width: 768px) {
  .footer__nav__link {
    color: #9a9a9a;
  }
  .footer__nav__link:hover {
    color: #fff;
  }
}
.footer__copyright {
  -webkit-box-align: center;
  -webkit-box-pack: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-box-ordinal-group: 4;
  align-items: center;
  color: #bdbdbd;
  display: -webkit-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  order: 3;
}
@media (min-width: 768px) {
  .footer__copyright {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row;
    font-size: 0.8rem;
  }
}
@media (min-width: 1024px) {
  .footer__copyright {
    -webkit-box-pack: start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-box-ordinal-group: 2;
    -webkit-box-flex: 1;
    flex: 1 1 30%;
    flex-direction: 1;
    justify-content: flex-start;
    order: 1;
  }
}
@media (min-width: 1366px) {
  .footer__copyright {
    font-size: 1rem;
  }
}
.footer__copyright__item {
  margin-left: 0;
  white-space: nowrap;
}
@media (min-width: 768px) {
  .footer__copyright__item + .footer__copyright__item {
    margin-left: 2.5rem;
  }
}
@media (min-width: 1024px) {
  .footer__copyright__item + .footer__copyright__item {
    margin-left: 0.5rem;
  }
}
.footer__social {
  display: none;
}
@media (min-width: 1024px) {
  .footer__social {
    -webkit-box-align: center;
    -webkit-box-pack: start;
    -webkit-box-ordinal-group: 3;
    -webkit-box-flex: 1;
    align-items: center;
    display: -webkit-box;
    display: flex;
    flex: 1 1 30%;
    font-size: 0;
    justify-content: flex-start;
    order: 2;
    padding-right: 0;
  }
}
.footer__social__link {
  color: #fff;
  text-decoration: none;
}
.footer__social__link + .footer__social__link {
  margin-left: 1.3rem;
}
.footer__social__icon {
  fill: #fff;
  height: 1.5rem;
  -webkit-transition: fill 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  transition: fill 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  width: 1.5rem;
}
.footer__social__link:hover .footer__social__icon.footer__social__icon--email {
  fill: #ffb829;
}
.footer__social__link:hover
  .footer__social__icon.footer__social__icon--linkedin {
  fill: #2867b2;
}
.footer__social__link:hover
  .footer__social__icon.footer__social__icon--twitter {
  fill: #1da1f2;
}
.standard-page ~ .footer {
  min-height: 0;
}
.contact-card__body {
  font-size: 0.875rem;
  width: 20rem;
}
@media (min-width: 1366px) {
  .contact-card__body {
    font-size: 1rem;
  }
}
.contact-card__icon {
  fill: #fff;
  height: 1.5rem;
  margin-bottom: 1.625rem;
  -webkit-transition: fill 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  transition: fill 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  width: 1.5rem;
}
.contact-card__link:hover .contact-card__icon.contact-card__icon--email {
  fill: #ffb829;
}
.contact-card__link:hover .contact-card__icon.contact-card__icon--linkedin {
  fill: #2867b2;
}
.contact-card__link:hover .contact-card__icon.contact-card__icon--twitter {
  fill: #1da1f2;
}
.contact-card__link {
  color: #fff;
  text-decoration: none;
}
.value-card {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-box-align: center;
  -webkit-box-pack: start;
  align-items: center;
  background-color: #000;
  border: 1px solid hsla(0, 0%, 100%, 0.1);
  border-radius: 1.25rem;
  display: -webkit-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 3.5rem 2.5rem;
  text-align: center;
  width: 100%;
}
@media (min-width: 768px) {
  .value-card {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row;
  }
}
@media (min-width: 1366px) {
  .value-card {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
  }
}
@supports (
  (-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))
) {
  .value-card {
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    background: -webkit-gradient(
      linear,
      left bottom,
      left top,
      from(rgba(0, 0, 0, 0.5)),
      to(rgba(0, 0, 0, 0.1))
    );
    background: linear-gradient(1turn, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.1));
  }
}
@supports not (
  (-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))
) {
  .value-card {
    background: -webkit-gradient(
      linear,
      left bottom,
      left top,
      from(rgba(0, 0, 0, 0.8)),
      to(rgba(0, 0, 0, 0.9))
    );
    background: linear-gradient(1turn, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.9));
  }
}
.value-card__text {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  display: -webkit-box;
  display: flex;
  flex-direction: column;
  text-align: center;
}
@media (min-width: 768px) {
  .value-card__text {
    text-align: left;
  }
}
@media (min-width: 1366px) {
  .value-card__text {
    text-align: center;
  }
}
.value-card__image {
  margin: 0 auto 2rem;
}
@media (min-width: 768px) {
  .value-card__image {
    margin: 0 2rem 0 0;
  }
}
@media (min-width: 1366px) {
  .value-card__image {
    margin: 0 auto 2rem;
  }
}
.value-card__head {
  margin-bottom: 1rem;
}
.value-card-list {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  display: -webkit-box;
  display: flex;
  flex-direction: column;
  gap: 1.875rem;
  margin: 0 auto;
  max-width: 50rem;
}
@media (min-width: 1366px) {
  .value-card-list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row;
    max-width: 82.5rem;
  }
}
.cookie-notice {
  border: 2px solid hsla(0, 0%, 100%, 0.1);
  border-radius: 50px;
  bottom: 25px;
  left: 20px;
  max-width: 27rem;
  padding: 0.6rem 0.7rem 0.6rem 1.4rem;
  width: calc(100% - 10.2rem);
  z-index: 100;
}
@media (min-width: 1024px) {
  .cookie-notice {
    bottom: 25px;
    left: auto;
    right: 100px;
    -webkit-transform: translateX(0);
    transform: translateX(0);
    width: auto;
  }
}
@supports (
  (-webkit-backdrop-filter: blur(2px)) or (backdrop-filter: blur(2px))
) {
  .cookie-notice {
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    background: -webkit-gradient(
      linear,
      left bottom,
      left top,
      from(rgba(0, 0, 0, 0.5)),
      to(rgba(0, 0, 0, 0.1))
    );
    background: linear-gradient(1turn, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.1));
  }
}
@supports not (
  (-webkit-backdrop-filter: blur(2px)) or (backdrop-filter: blur(2px))
) {
  .cookie-notice {
    background: -webkit-gradient(
      linear,
      left bottom,
      left top,
      from(rgba(0, 0, 0, 0.8)),
      to(rgba(0, 0, 0, 0.9))
    );
    background: linear-gradient(1turn, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.9));
  }
}
.cookie-notice a {
  color: #fff;
}
.cookie-notice button {
  cursor: pointer;
  padding: 0.625rem 1rem;
}
.team-card {
  opacity: 0.9;
  position: relative;
}
.team-card__inner {
  display: -webkit-box;
  display: flex;
  margin-right: 8vw;
  width: 40vw;
}
@media (min-width: 1024px) {
  .team-card__inner {
    margin-right: 8vw;
    width: 17vw;
  }
}
.team-card__image {
  border-radius: 2rem;
  -webkit-filter: grayscale(1) brightness(0.1);
  filter: grayscale(1) brightness(0.1);
  -o-object-fit: cover;
  object-fit: cover;
  overflow: hidden;
  width: 100%;
}
.team-card__content {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  display: -webkit-box;
  display: flex;
  flex-direction: column;
  margin-bottom: 2rem;
  text-align: center;
  white-space: nowrap;
  z-index: 2;
}
@media (min-width: 1024px) {
  .team-card__content {
    margin-left: 0;
    margin-top: 0;
    text-align: left;
  }
  .team-card__content h3 {
    white-space: pre-line;
    word-spacing: 1000px;
  }
}
.team-card__social {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  display: -webkit-box;
  display: flex;
  flex-direction: row;
  margin: auto;
  -webkit-transform-origin: center;
  transform-origin: center;
}
@media (min-width: 1024px) {
  .team-card__social {
    margin: 0;
  }
}
.team-card__social__link {
  color: #fff;
  cursor: pointer;
  text-decoration: none;
  -webkit-transform: scale(0);
  transform: scale(0);
}
.team-card__social__link + .team-card__social__link {
  margin-left: 1.3rem;
}
.team-card__social__icon {
  fill: #fff;
  height: 1.5rem;
  -webkit-transition: fill 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  transition: fill 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  width: 1.5rem;
}
.team-card__social__link:hover
  .team-card__social__icon.team-card__social__icon--email {
  fill: #ffb829;
}
.team-card__social__link:hover
  .team-card__social__icon.team-card__social__icon--linkedin {
  fill: #2867b2;
}
.team-card__social__link:hover
  .team-card__social__icon.team-card__social__icon--twitter {
  fill: #1da1f2;
}
.site-loader {
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10100;
}
.site-loader__content {
  -webkit-box-align: center;
  -webkit-box-pack: center;
  align-items: center;
  display: -webkit-box;
  display: flex;
  justify-content: center;
  padding: 1.25rem;
  z-index: 2;
}
.site-loader__background,
.site-loader__content {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.site-loader__background {
  background-color: #000;
  z-index: 1;
}
.site-loader__spinner {
  -webkit-box-pack: center;
  -webkit-animation-direction: normal;
  animation-direction: normal;
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-name: spinner;
  animation-name: spinner;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  display: -webkit-box;
  display: flex;
  justify-content: center;
  -webkit-transform-origin: center;
  transform-origin: center;
}
.site-loader__spinner-svg {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
  -webkit-animation-direction: normal;
  animation-direction: normal;
  -webkit-animation-duration: 0.6s;
  animation-duration: 0.6s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-name: scaleUp;
  animation-name: scaleUp;
  -webkit-animation-timing-function: cubic-bezier(0.14, -0.14, 0.78, 0.52);
  animation-timing-function: cubic-bezier(0.14, -0.14, 0.78, 0.52);
  height: 60px;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: center;
  transform-origin: center;
  width: 60px;
}
@media (min-width: 768px) {
  .site-loader__spinner-svg {
    height: 100px;
    width: 100px;
  }
}
.site-loader__info {
  bottom: 1.125rem;
  height: 60px;
  left: 1.125rem;
  position: absolute;
  right: 1.125rem;
}
@media (min-width: 768px) {
  .site-loader__info {
    bottom: 2.125rem;
    left: 3.125rem;
    right: 3.12rem;
  }
}
.site-loader__progress {
  -webkit-box-pack: center;
  bottom: 0;
  display: -webkit-box;
  display: flex;
  font-size: 2rem;
  justify-content: center;
  opacity: 0;
  position: absolute;
  right: 0;
  visibility: hidden;
}
.site-loader__progress span {
  text-align: right;
  width: 1.3rem;
}
.site-loader__text {
  font-size: 0.8rem;
}
@media (min-width: 768px) {
  .site-loader__text {
    font-size: 1rem;
  }
}
.site-loader__text div {
  overflow: hidden;
}
.site-loader__text div span {
  -webkit-animation-direction: normal;
  animation-direction: normal;
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-name: reverseRotateWipeUp;
  animation-name: reverseRotateWipeUp;
  -webkit-animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
  animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
  display: block;
  -webkit-transform: translateY(105%) rotate(-3deg);
  transform: translateY(105%) rotate(-3deg);
}
.site-loader__loading {
  display: -webkit-box;
  display: flex;
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 0.2rem;
  text-transform: uppercase;
}
.site-loader__loading-text {
  -webkit-transform: translate(0) rotate(0);
  transform: translate(0) rotate(0);
}
.site-loader:not(.loaded) .site-loader__loading-text {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
  -webkit-animation-direction: normal;
  animation-direction: normal;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-name: rotateWipeUpIn;
  animation-name: rotateWipeUpIn;
  -webkit-animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
  animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
  display: block;
  -webkit-transform: translateY(110%) rotate(10deg);
  transform: translateY(110%) rotate(10deg);
}
.site-loader__completed {
  bottom: 0;
  font-size: 1.25rem;
  font-weight: 600;
  left: 0;
  margin-bottom: 0.2rem;
  overflow: hidden;
  position: absolute;
  text-transform: uppercase;
}
.site-loader__completed span {
  display: block;
  overflow: hidden;
  -webkit-transform: translateY(105%) rotate(-3deg);
  transform: translateY(105%) rotate(-3deg);
}
.site-loader__heading-text {
  -webkit-box-pack: center;
  display: -webkit-box;
  display: flex;
  font-size: 1.5rem;
  font-weight: 400;
  justify-content: center;
  letter-spacing: -0.05rem;
  line-height: 3.5rem;
  margin-bottom: 0;
  margin-top: 4rem;
  overflow: hidden;
  text-align: center;
}
@media (min-width: 768px) {
  .site-loader__heading-text {
    font-size: 3.5rem;
    letter-spacing: -0.14rem;
    line-height: 6.5rem;
  }
}
.site-loader__heading-text .site-loader__heading-inner {
  display: block;
}
.site-loader:not(.loaded)
  .site-loader__heading-text
  .site-loader__heading-inner {
  -webkit-animation-direction: normal;
  animation-direction: normal;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-name: rotateWipeUpIn;
  animation-name: rotateWipeUpIn;
  -webkit-animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
  animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
  -webkit-transform: translateY(110%) rotate(4deg);
  transform: translateY(110%) rotate(4deg);
}
.site-loader:not(.loaded)
  .site-loader__heading-text
  .site-loader__heading-inner:first-child {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
}
.site-loader:not(.loaded)
  .site-loader__heading-text
  .site-loader__heading-inner:nth-child(2) {
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
}
.site-loader__heading-text:nth-child(2) {
  margin-top: -1.5rem;
}
@media (min-width: 768px) {
  .site-loader__heading-text:nth-child(2) {
    margin-top: -2rem;
  }
}
.site-loader__ellipsis {
  -webkit-animation-delay: 1.5s;
  animation-delay: 1.5s;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
  display: -webkit-box;
  display: flex;
  opacity: 0;
  overflow: hidden;
}
.site-loader__ellipsis-wrapper {
  display: -webkit-box;
  display: flex;
  overflow: hidden;
  width: 10px;
}
.site-loader__ellipsis-wrapper span {
  -webkit-animation: fadeIn 1s steps(2, jump-none) infinite normal forwards;
  animation: fadeIn 1s steps(2, jump-none) infinite normal forwards;
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
  width: 3px;
}
.site-loader__ellipsis-wrapper span:nth-of-type(2) {
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}
.site-loader__ellipsis-wrapper span:nth-of-type(3) {
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}
@-webkit-keyframes opacity {
  to {
    opacity: 1;
  }
}
@keyframes opacity {
  to {
    opacity: 1;
  }
}
@-webkit-keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  25% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  50% {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  75% {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
  }
  to {
    -webkit-transform: rotate(1turn);
    transform: rotate(1turn);
  }
}
@keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  25% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  50% {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  75% {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
  }
  to {
    -webkit-transform: rotate(1turn);
    transform: rotate(1turn);
  }
}
@-webkit-keyframes scaleUp {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  to {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes scaleUp {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  to {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@-webkit-keyframes scaleDown {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  to {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
}
@keyframes scaleDown {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  to {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes charWipeUpIn {
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes charWipeUpIn {
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@-webkit-keyframes charWipeUpOut {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
  }
}
@keyframes charWipeUpOut {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
  }
}
@-webkit-keyframes rotateWipeUpIn {
  to {
    -webkit-transform: translateY(0) rotate(0);
    transform: translateY(0) rotate(0);
  }
}
@keyframes rotateWipeUpIn {
  to {
    -webkit-transform: translateY(0) rotate(0);
    transform: translateY(0) rotate(0);
  }
}
@-webkit-keyframes rotateWipeUpOut {
  to {
    -webkit-transform: translateY(-110%) rotate(2deg);
    transform: translateY(-110%) rotate(2deg);
  }
}
@keyframes rotateWipeUpOut {
  to {
    -webkit-transform: translateY(-110%) rotate(2deg);
    transform: translateY(-110%) rotate(2deg);
  }
}
@-webkit-keyframes rotateWipeUpOutReverse {
  to {
    -webkit-transform: translateY(-110%) rotate(10deg);
    transform: translateY(-110%) rotate(10deg);
  }
}
@keyframes rotateWipeUpOutReverse {
  to {
    -webkit-transform: translateY(-110%) rotate(10deg);
    transform: translateY(-110%) rotate(10deg);
  }
}
@-webkit-keyframes reverseRotateWipeUp {
  to {
    -webkit-transform: translateY(0) rotate(0);
    transform: translateY(0) rotate(0);
  }
}
@keyframes reverseRotateWipeUp {
  to {
    -webkit-transform: translateY(0) rotate(0);
    transform: translateY(0) rotate(0);
  }
}
.standard-page {
  padding: 7.5rem 2.5rem 1.25rem 4rem;
  width: 100%;
}
@media (min-width: 360px) {
  .standard-page {
    padding: 9.5rem 4.25rem 8.25rem;
  }
}
@media (min-width: 768px) {
  .standard-page {
    margin: auto;
    max-width: 47.5rem;
    padding: 9.5rem 4.25rem 8.25rem;
  }
}
@media (min-width: 1024px) {
  .standard-page {
    margin: auto;
    max-width: 47.5rem;
    padding: 12.5rem 0 11.25rem;
  }
}
.standard-page ol {
  list-style: none;
  margin: 0;
  padding: 0;
}
.standard-page ol li {
  margin-bottom: 1rem;
  padding: 0;
  position: relative;
}
.standard-page section {
  counter-reset: section;
}
.standard-page section > ol > li {
  margin-bottom: 5rem;
}
.standard-page section > ol > li:before {
  color: #bdbdbd;
  content: counter(section);
  counter-increment: section;
  display: inline-block;
  left: -3rem;
  margin-top: 0.78rem;
  position: absolute;
}
@media (min-width: 1024px) {
  .standard-page section > ol > li:before {
    left: -5rem;
  }
}
.standard-page section > ol > li > ol {
  counter-reset: sub;
}
.standard-page section > ol > li > ol > li:before {
  color: #bdbdbd;
  content: counter(section) "." counter(sub);
  counter-increment: sub;
  display: inline-block;
  left: -3rem;
  position: absolute;
}
@media (min-width: 1024px) {
  .standard-page section > ol > li > ol > li:before {
    left: -5rem;
  }
}
.standard-page section > ol > li > ol > li > ol {
  counter-reset: grandchild;
}
.standard-page section > ol > li > ol > li > ol > li {
  padding-left: 2rem;
}
.standard-page section > ol > li > ol > li > ol > li:before {
  color: #bdbdbd;
  content: counter(section) "." counter(sub) "." counter(grandchild);
  counter-increment: grandchild;
  display: inline-block;
  left: -3rem;
  position: absolute;
}
.standard-page section > ol > li > ol > li > ol > li:after {
  background-image: url(/images/dala-bullet.svg);
  background-repeat: no-repeat;
  background-size: 100% 95%;
  content: "";
  height: 0.68rem;
  left: 0;
  position: absolute;
  top: 0;
  -webkit-transform: translateY(70%);
  transform: translateY(70%);
  width: 0.68rem;
}
.standard-page ul {
  padding-left: 1.56rem;
}
.standard-page ul li {
  font-weight: 400;
  list-style-type: none;
  position: relative;
}
.standard-page ul li:before {
  background-image: url(/images/dala-bullet.svg);
  background-repeat: no-repeat;
  background-size: 100% 95%;
  content: "";
  height: 0.68rem;
  left: -1.6rem;
  position: absolute;
  -webkit-transform: translateY(70%);
  transform: translateY(70%);
  width: 0.68rem;
}
.standard-page a {
  color: #ffb829;
  font-size: inherit;
  font-weight: 600;
}
.standard-page .h1,
.standard-page h1 {
  font-size: 3rem;
  font-weight: 400;
  letter-spacing: -0.03em;
  line-height: 1.25;
}
.standard-page h2 {
  font-size: 2rem;
}
.standard-page h2,
.standard-page h3 {
  font-weight: 400;
  letter-spacing: -0.03em;
  line-height: 1.25;
}
.standard-page h3 {
  font-size: 1.5rem;
  margin-top: 4rem;
}
.standard-page h4 {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: -0.05em;
  line-height: 1.2;
  margin-bottom: 1rem;
  text-transform: uppercase;
}
.standard-page p {
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1.6;
}
.mobile-blur {
  margin: 30vh 0;
  padding: 2rem 0;
  position: relative;
}
.mobile-blur:after {
  content: "";
  height: 100%;
  left: -3.125rem;
  position: absolute;
  top: 0;
  width: calc(100% + 6.25rem);
  z-index: -1;
}
@supports (
  (-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))
) {
  .mobile-blur:after {
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    background: -webkit-gradient(
      linear,
      left bottom,
      left top,
      from(rgba(0, 0, 0, 0.5)),
      to(rgba(0, 0, 0, 0.1))
    );
    background: linear-gradient(1turn, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.1));
  }
}
@media (min-width: 1024px) {
  .mobile-blur {
    margin: 0;
    padding: 0;
  }
  .mobile-blur:after {
    display: none;
  }
}
.list-unstyled {
  list-style: none;
  margin: 0;
  padding: 0;
}
.sr {
  clip: rect(1px, 1px, 1px, 1px);
  border: 0;
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.sr--focusable:focus {
  clip: auto !important;
  -webkit-clip-path: none;
  clip-path: none;
  height: auto;
  position: static;
  width: auto;
}
@media (min-width: 360px) {
  .sr--focusable\@xs:focus {
    clip: auto !important;
    -webkit-clip-path: none;
    clip-path: none;
    height: auto;
    position: static;
    width: auto;
  }
}
@media (min-width: 768px) {
  .sr--focusable\@sm:focus {
    clip: auto !important;
    -webkit-clip-path: none;
    clip-path: none;
    height: auto;
    position: static;
    width: auto;
  }
}
@media (min-width: 1024px) {
  .sr--focusable\@md:focus {
    clip: auto !important;
    -webkit-clip-path: none;
    clip-path: none;
    height: auto;
    position: static;
    width: auto;
  }
}
@media (min-width: 1366px) {
  .sr--focusable\@lg:focus {
    clip: auto !important;
    -webkit-clip-path: none;
    clip-path: none;
    height: auto;
    position: static;
    width: auto;
  }
}
@media (min-width: 1921px) {
  .sr--focusable\@xlg:focus {
    clip: auto !important;
    -webkit-clip-path: none;
    clip-path: none;
    height: auto;
    position: static;
    width: auto;
  }
}
.aspect {
  overflow: hidden;
  position: relative;
  width: 100%;
}
.aspect__child {
  bottom: 0;
  height: 100%;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
}
.aspect--16\/9 {
  padding-top: 56.25%;
}
@media (min-width: 360px) {
  .aspect--16\/9\@xs {
    padding-top: 56.25%;
  }
}
@media (min-width: 768px) {
  .aspect--16\/9\@sm {
    padding-top: 56.25%;
  }
}
@media (min-width: 1024px) {
  .aspect--16\/9\@md {
    padding-top: 56.25%;
  }
}
@media (min-width: 1366px) {
  .aspect--16\/9\@lg {
    padding-top: 56.25%;
  }
}
@media (min-width: 1921px) {
  .aspect--16\/9\@xlg {
    padding-top: 56.25%;
  }
}
.container {
  margin: 0 auto;
  padding: 0 1rem;
  width: 100%;
}
@media (min-width: 360px) {
  .container {
    max-width: 360px;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 768px;
    padding: 0 2rem;
  }
}
@media (min-width: 1024px) {
  .container {
    max-width: 1024px;
  }
}
@media (min-width: 1366px) {
  .container {
    max-width: 1366px;
  }
}
@media (min-width: 1921px) {
  .container {
    max-width: 1921px;
  }
}
.w-1\/1 {
  max-width: 100%;
  width: 100%;
}
.grid {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  margin-left: -2rem;
}
.grid > * {
  padding-left: 2rem;
}
.gap-0 {
  margin-left: 0;
  margin-top: 0;
}
.gap-0 > * {
  padding-left: 0;
  padding-top: 0;
}
.gap-x-0 {
  margin-left: 0;
}
.gap-x-0 > * {
  padding-left: 0;
}
.gap-y-0 {
  margin-top: 0;
}
.gap-y-0 > * {
  padding-top: 0;
}
.gap-1 {
  margin-left: -1rem;
  margin-top: -1rem;
}
.gap-1 > * {
  padding-left: 1rem;
  padding-top: 1rem;
}
.gap-x-1 {
  margin-left: -1rem;
}
.gap-x-1 > * {
  padding-left: 1rem;
}
.gap-y-1 {
  margin-top: -1rem;
}
.gap-y-1 > * {
  padding-top: 1rem;
}
.gap-2 {
  margin-left: -2rem;
  margin-top: -2rem;
}
.gap-2 > * {
  padding-left: 2rem;
  padding-top: 2rem;
}
.gap-x-2 {
  margin-left: -2rem;
}
.gap-x-2 > * {
  padding-left: 2rem;
}
.gap-y-2 {
  margin-top: -2rem;
}
.gap-y-2 > * {
  padding-top: 2rem;
}
@media (min-width: 360px) {
  .gap-0\@xs {
    margin-left: 0;
    margin-top: 0;
  }
  .gap-0\@xs > * {
    padding-left: 0;
    padding-top: 0;
  }
  .gap-x-0\@xs {
    margin-left: 0;
  }
  .gap-x-0\@xs > * {
    padding-left: 0;
  }
  .gap-y-0\@xs {
    margin-top: 0;
  }
  .gap-y-0\@xs > * {
    padding-top: 0;
  }
  .gap-1\@xs {
    margin-left: -1rem;
    margin-top: -1rem;
  }
  .gap-1\@xs > * {
    padding-left: 1rem;
    padding-top: 1rem;
  }
  .gap-x-1\@xs {
    margin-left: -1rem;
  }
  .gap-x-1\@xs > * {
    padding-left: 1rem;
  }
  .gap-y-1\@xs {
    margin-top: -1rem;
  }
  .gap-y-1\@xs > * {
    padding-top: 1rem;
  }
  .gap-2\@xs {
    margin-left: -2rem;
    margin-top: -2rem;
  }
  .gap-2\@xs > * {
    padding-left: 2rem;
    padding-top: 2rem;
  }
  .gap-x-2\@xs {
    margin-left: -2rem;
  }
  .gap-x-2\@xs > * {
    padding-left: 2rem;
  }
  .gap-y-2\@xs {
    margin-top: -2rem;
  }
  .gap-y-2\@xs > * {
    padding-top: 2rem;
  }
}
@media (min-width: 768px) {
  .gap-0\@sm {
    margin-left: 0;
    margin-top: 0;
  }
  .gap-0\@sm > * {
    padding-left: 0;
    padding-top: 0;
  }
  .gap-x-0\@sm {
    margin-left: 0;
  }
  .gap-x-0\@sm > * {
    padding-left: 0;
  }
  .gap-y-0\@sm {
    margin-top: 0;
  }
  .gap-y-0\@sm > * {
    padding-top: 0;
  }
  .gap-1\@sm {
    margin-left: -1rem;
    margin-top: -1rem;
  }
  .gap-1\@sm > * {
    padding-left: 1rem;
    padding-top: 1rem;
  }
  .gap-x-1\@sm {
    margin-left: -1rem;
  }
  .gap-x-1\@sm > * {
    padding-left: 1rem;
  }
  .gap-y-1\@sm {
    margin-top: -1rem;
  }
  .gap-y-1\@sm > * {
    padding-top: 1rem;
  }
  .gap-2\@sm {
    margin-left: -2rem;
    margin-top: -2rem;
  }
  .gap-2\@sm > * {
    padding-left: 2rem;
    padding-top: 2rem;
  }
  .gap-x-2\@sm {
    margin-left: -2rem;
  }
  .gap-x-2\@sm > * {
    padding-left: 2rem;
  }
  .gap-y-2\@sm {
    margin-top: -2rem;
  }
  .gap-y-2\@sm > * {
    padding-top: 2rem;
  }
}
@media (min-width: 1024px) {
  .gap-0\@md {
    margin-left: 0;
    margin-top: 0;
  }
  .gap-0\@md > * {
    padding-left: 0;
    padding-top: 0;
  }
  .gap-x-0\@md {
    margin-left: 0;
  }
  .gap-x-0\@md > * {
    padding-left: 0;
  }
  .gap-y-0\@md {
    margin-top: 0;
  }
  .gap-y-0\@md > * {
    padding-top: 0;
  }
  .gap-1\@md {
    margin-left: -1rem;
    margin-top: -1rem;
  }
  .gap-1\@md > * {
    padding-left: 1rem;
    padding-top: 1rem;
  }
  .gap-x-1\@md {
    margin-left: -1rem;
  }
  .gap-x-1\@md > * {
    padding-left: 1rem;
  }
  .gap-y-1\@md {
    margin-top: -1rem;
  }
  .gap-y-1\@md > * {
    padding-top: 1rem;
  }
  .gap-2\@md {
    margin-left: -2rem;
    margin-top: -2rem;
  }
  .gap-2\@md > * {
    padding-left: 2rem;
    padding-top: 2rem;
  }
  .gap-x-2\@md {
    margin-left: -2rem;
  }
  .gap-x-2\@md > * {
    padding-left: 2rem;
  }
  .gap-y-2\@md {
    margin-top: -2rem;
  }
  .gap-y-2\@md > * {
    padding-top: 2rem;
  }
}
@media (min-width: 1366px) {
  .gap-0\@lg {
    margin-left: 0;
    margin-top: 0;
  }
  .gap-0\@lg > * {
    padding-left: 0;
    padding-top: 0;
  }
  .gap-x-0\@lg {
    margin-left: 0;
  }
  .gap-x-0\@lg > * {
    padding-left: 0;
  }
  .gap-y-0\@lg {
    margin-top: 0;
  }
  .gap-y-0\@lg > * {
    padding-top: 0;
  }
  .gap-1\@lg {
    margin-left: -1rem;
    margin-top: -1rem;
  }
  .gap-1\@lg > * {
    padding-left: 1rem;
    padding-top: 1rem;
  }
  .gap-x-1\@lg {
    margin-left: -1rem;
  }
  .gap-x-1\@lg > * {
    padding-left: 1rem;
  }
  .gap-y-1\@lg {
    margin-top: -1rem;
  }
  .gap-y-1\@lg > * {
    padding-top: 1rem;
  }
  .gap-2\@lg {
    margin-left: -2rem;
    margin-top: -2rem;
  }
  .gap-2\@lg > * {
    padding-left: 2rem;
    padding-top: 2rem;
  }
  .gap-x-2\@lg {
    margin-left: -2rem;
  }
  .gap-x-2\@lg > * {
    padding-left: 2rem;
  }
  .gap-y-2\@lg {
    margin-top: -2rem;
  }
  .gap-y-2\@lg > * {
    padding-top: 2rem;
  }
}
@media (min-width: 1921px) {
  .gap-0\@xlg {
    margin-left: 0;
    margin-top: 0;
  }
  .gap-0\@xlg > * {
    padding-left: 0;
    padding-top: 0;
  }
  .gap-x-0\@xlg {
    margin-left: 0;
  }
  .gap-x-0\@xlg > * {
    padding-left: 0;
  }
  .gap-y-0\@xlg {
    margin-top: 0;
  }
  .gap-y-0\@xlg > * {
    padding-top: 0;
  }
  .gap-1\@xlg {
    margin-left: -1rem;
    margin-top: -1rem;
  }
  .gap-1\@xlg > * {
    padding-left: 1rem;
    padding-top: 1rem;
  }
  .gap-x-1\@xlg {
    margin-left: -1rem;
  }
  .gap-x-1\@xlg > * {
    padding-left: 1rem;
  }
  .gap-y-1\@xlg {
    margin-top: -1rem;
  }
  .gap-y-1\@xlg > * {
    padding-top: 1rem;
  }
  .gap-2\@xlg {
    margin-left: -2rem;
    margin-top: -2rem;
  }
  .gap-2\@xlg > * {
    padding-left: 2rem;
    padding-top: 2rem;
  }
  .gap-x-2\@xlg {
    margin-left: -2rem;
  }
  .gap-x-2\@xlg > * {
    padding-left: 2rem;
  }
  .gap-y-2\@xlg {
    margin-top: -2rem;
  }
  .gap-y-2\@xlg > * {
    padding-top: 2rem;
  }
}
.h-1\/1 {
  height: 100%;
}
.h-17 {
  height: 17rem;
}
.d-none {
  display: none;
}
.d-inline-block {
  display: inline-block;
}
.d-block {
  display: block;
}
.d-flex {
  display: -webkit-box;
  display: flex;
}
.d-inline-flex {
  display: -webkit-inline-box;
  display: inline-flex;
}
@media (min-width: 360px) {
  .d-inline-block\@xs {
    display: inline-block;
  }
  .d-block\@xs {
    display: block;
  }
  .d-inline-flex\@xs {
    display: -webkit-inline-box;
    display: inline-flex;
  }
}
@media (min-width: 768px) {
  .d-none\@sm {
    display: none;
  }
  .d-inline-block\@sm {
    display: inline-block;
  }
  .d-block\@sm {
    display: block;
  }
  .d-inline-flex\@sm {
    display: -webkit-inline-box;
    display: inline-flex;
  }
}
@media (min-width: 1024px) {
  .d-inline-block\@md {
    display: inline-block;
  }
  .d-block\@md {
    display: block;
  }
  .d-inline-flex\@md {
    display: -webkit-inline-box;
    display: inline-flex;
  }
}
@media (min-width: 1366px) {
  .d-inline-block\@lg {
    display: inline-block;
  }
  .d-block\@lg {
    display: block;
  }
  .d-inline-flex\@lg {
    display: -webkit-inline-box;
    display: inline-flex;
  }
}
@media (min-width: 1921px) {
  .d-inline-block\@xlg {
    display: inline-block;
  }
  .d-block\@xlg {
    display: block;
  }
  .d-inline-flex\@xlg {
    display: -webkit-inline-box;
    display: inline-flex;
  }
}
.mb-auto {
  margin-bottom: auto !important;
}
.mt-0 {
  margin-top: 0 !important;
}
.mb-0 {
  margin-bottom: 0 !important;
}
.mx-0\.5 {
  margin-left: 0.5rem !important;
}
.mr-0\.5,
.mx-0\.5 {
  margin-right: 0.5rem !important;
}
.mb-0\.5 {
  margin-bottom: 0.5rem !important;
}
.ml-0\.5 {
  margin-left: 0.5rem !important;
}
.-mr-0\.5 {
  margin-right: -0.5rem !important;
}
.-mb-0\.5 {
  margin-bottom: -0.5rem !important;
}
.mb-1 {
  margin-bottom: 1rem !important;
}
.-mb-1 {
  margin-bottom: -1rem !important;
}
.mb-1\.5 {
  margin-bottom: 1.5rem !important;
}
.-mb-1\.5 {
  margin-bottom: -1.5rem !important;
}
.mb-2 {
  margin-bottom: 2rem !important;
}
.-mb-2 {
  margin-bottom: -2rem !important;
}
.mb-3 {
  margin-bottom: 3rem !important;
}
.-mb-3 {
  margin-bottom: -3rem !important;
}
.mr-4 {
  margin-right: 4rem !important;
}
.mb-4 {
  margin-bottom: 4rem !important;
}
.-mb-4 {
  margin-bottom: -4rem !important;
}
.mb-5 {
  margin-bottom: 5rem !important;
}
.-mb-5 {
  margin-bottom: -5rem !important;
}
.mb-6 {
  margin-bottom: 6rem !important;
}
.-mb-6 {
  margin-bottom: -6rem !important;
}
.mb-8 {
  margin-bottom: 8rem !important;
}
.-mb-8 {
  margin-bottom: -8rem !important;
}
.mb-10 {
  margin-bottom: 10rem !important;
}
.-mb-10 {
  margin-bottom: -10rem !important;
}
.mb-15 {
  margin-bottom: 15rem !important;
}
.-mb-15 {
  margin-bottom: -15rem !important;
}
.p-auto {
  padding: auto !important;
}
.px-auto {
  padding-left: auto !important;
  padding-right: auto !important;
}
.py-auto {
  padding-bottom: auto !important;
}
.pt-auto,
.py-auto {
  padding-top: auto !important;
}
.pr-auto {
  padding-right: auto !important;
}
.pb-auto {
  padding-bottom: auto !important;
}
.pl-auto {
  padding-left: auto !important;
}
.p-0 {
  padding: 0 !important;
}
.px-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.py-0 {
  padding-bottom: 0 !important;
}
.pt-0,
.py-0 {
  padding-top: 0 !important;
}
.pr-0 {
  padding-right: 0 !important;
}
.pb-0 {
  padding-bottom: 0 !important;
}
.pl-0 {
  padding-left: 0 !important;
}
.p-0\.5 {
  padding: 0.5rem !important;
}
.px-0\.5 {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}
.py-0\.5 {
  padding-bottom: 0.5rem !important;
}
.pt-0\.5,
.py-0\.5 {
  padding-top: 0.5rem !important;
}
.pr-0\.5 {
  padding-right: 0.5rem !important;
}
.pb-0\.5 {
  padding-bottom: 0.5rem !important;
}
.pl-0\.5 {
  padding-left: 0.5rem !important;
}
.p-1 {
  padding: 1rem !important;
}
.px-1 {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}
.py-1 {
  padding-bottom: 1rem !important;
}
.pt-1,
.py-1 {
  padding-top: 1rem !important;
}
.pr-1 {
  padding-right: 1rem !important;
}
.pb-1 {
  padding-bottom: 1rem !important;
}
.pl-1 {
  padding-left: 1rem !important;
}
.p-1\.5 {
  padding: 1.5rem !important;
}
.px-1\.5 {
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}
.py-1\.5 {
  padding-bottom: 1.5rem !important;
}
.pt-1\.5,
.py-1\.5 {
  padding-top: 1.5rem !important;
}
.pr-1\.5 {
  padding-right: 1.5rem !important;
}
.pb-1\.5 {
  padding-bottom: 1.5rem !important;
}
.pl-1\.5 {
  padding-left: 1.5rem !important;
}
.p-2 {
  padding: 2rem !important;
}
.px-2 {
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}
.py-2 {
  padding-bottom: 2rem !important;
}
.pt-2,
.py-2 {
  padding-top: 2rem !important;
}
.pr-2 {
  padding-right: 2rem !important;
}
.pb-2 {
  padding-bottom: 2rem !important;
}
.pl-2 {
  padding-left: 2rem !important;
}
.p-3 {
  padding: 3rem !important;
}
.px-3 {
  padding-left: 3rem !important;
  padding-right: 3rem !important;
}
.py-3 {
  padding-bottom: 3rem !important;
}
.pt-3,
.py-3 {
  padding-top: 3rem !important;
}
.pr-3 {
  padding-right: 3rem !important;
}
.pb-3 {
  padding-bottom: 3rem !important;
}
.pl-3 {
  padding-left: 3rem !important;
}
.p-4 {
  padding: 4rem !important;
}
.px-4 {
  padding-left: 4rem !important;
  padding-right: 4rem !important;
}
.py-4 {
  padding-bottom: 4rem !important;
}
.pt-4,
.py-4 {
  padding-top: 4rem !important;
}
.pr-4 {
  padding-right: 4rem !important;
}
.pb-4 {
  padding-bottom: 4rem !important;
}
.pl-4 {
  padding-left: 4rem !important;
}
.p-5 {
  padding: 5rem !important;
}
.px-5 {
  padding-left: 5rem !important;
  padding-right: 5rem !important;
}
.py-5 {
  padding-bottom: 5rem !important;
}
.pt-5,
.py-5 {
  padding-top: 5rem !important;
}
.pr-5 {
  padding-right: 5rem !important;
}
.pb-5 {
  padding-bottom: 5rem !important;
}
.pl-5 {
  padding-left: 5rem !important;
}
.p-6 {
  padding: 6rem !important;
}
.px-6 {
  padding-left: 6rem !important;
  padding-right: 6rem !important;
}
.py-6 {
  padding-bottom: 6rem !important;
}
.pt-6,
.py-6 {
  padding-top: 6rem !important;
}
.pr-6 {
  padding-right: 6rem !important;
}
.pb-6 {
  padding-bottom: 6rem !important;
}
.pl-6 {
  padding-left: 6rem !important;
}
.p-8 {
  padding: 8rem !important;
}
.px-8 {
  padding-left: 8rem !important;
  padding-right: 8rem !important;
}
.py-8 {
  padding-bottom: 8rem !important;
}
.pt-8,
.py-8 {
  padding-top: 8rem !important;
}
.pr-8 {
  padding-right: 8rem !important;
}
.pb-8 {
  padding-bottom: 8rem !important;
}
.pl-8 {
  padding-left: 8rem !important;
}
.p-10 {
  padding: 10rem !important;
}
.px-10 {
  padding-left: 10rem !important;
  padding-right: 10rem !important;
}
.py-10 {
  padding-bottom: 10rem !important;
}
.pt-10,
.py-10 {
  padding-top: 10rem !important;
}
.pr-10 {
  padding-right: 10rem !important;
}
.pb-10 {
  padding-bottom: 10rem !important;
}
.pl-10 {
  padding-left: 10rem !important;
}
.p-15 {
  padding: 15rem !important;
}
.px-15 {
  padding-left: 15rem !important;
  padding-right: 15rem !important;
}
.py-15 {
  padding-bottom: 15rem !important;
}
.pt-15,
.py-15 {
  padding-top: 15rem !important;
}
.pr-15 {
  padding-right: 15rem !important;
}
.pb-15 {
  padding-bottom: 15rem !important;
}
.pl-15 {
  padding-left: 15rem !important;
}
.trim-vertical > :first-child {
  margin-top: 0 !important;
}
.trim-vertical > :last-child {
  margin-bottom: 0 !important;
}
.trim-horizontal > :first-child {
  margin-left: 0 !important;
}
.trim-horizontal > :last-child {
  margin-right: 0 !important;
}
@media (min-width: 360px) {
  .mb-auto\@xs {
    margin-bottom: auto !important;
  }
  .mb-0\@xs {
    margin-bottom: 0 !important;
  }
  .mb-0\.5\@xs {
    margin-bottom: 0.5rem !important;
  }
  .-mb-0\.5\@xs {
    margin-bottom: -0.5rem !important;
  }
  .mb-1\@xs {
    margin-bottom: 1rem !important;
  }
  .-mb-1\@xs {
    margin-bottom: -1rem !important;
  }
  .mb-1\.5\@xs {
    margin-bottom: 1.5rem !important;
  }
  .-mb-1\.5\@xs {
    margin-bottom: -1.5rem !important;
  }
  .mb-2\@xs {
    margin-bottom: 2rem !important;
  }
  .-mb-2\@xs {
    margin-bottom: -2rem !important;
  }
  .mb-3\@xs {
    margin-bottom: 3rem !important;
  }
  .-mb-3\@xs {
    margin-bottom: -3rem !important;
  }
  .mb-4\@xs {
    margin-bottom: 4rem !important;
  }
  .-mb-4\@xs {
    margin-bottom: -4rem !important;
  }
  .mb-5\@xs {
    margin-bottom: 5rem !important;
  }
  .-mb-5\@xs {
    margin-bottom: -5rem !important;
  }
  .mb-6\@xs {
    margin-bottom: 6rem !important;
  }
  .-mb-6\@xs {
    margin-bottom: -6rem !important;
  }
  .mb-8\@xs {
    margin-bottom: 8rem !important;
  }
  .-mb-8\@xs {
    margin-bottom: -8rem !important;
  }
  .mb-10\@xs {
    margin-bottom: 10rem !important;
  }
  .-mb-10\@xs {
    margin-bottom: -10rem !important;
  }
  .mb-15\@xs {
    margin-bottom: 15rem !important;
  }
  .-mb-15\@xs {
    margin-bottom: -15rem !important;
  }
  .p-auto\@xs {
    padding: auto !important;
  }
  .px-auto\@xs {
    padding-left: auto !important;
    padding-right: auto !important;
  }
  .py-auto\@xs {
    padding-bottom: auto !important;
  }
  .pt-auto\@xs,
  .py-auto\@xs {
    padding-top: auto !important;
  }
  .pr-auto\@xs {
    padding-right: auto !important;
  }
  .pb-auto\@xs {
    padding-bottom: auto !important;
  }
  .pl-auto\@xs {
    padding-left: auto !important;
  }
  .p-0\@xs {
    padding: 0 !important;
  }
  .px-0\@xs {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .py-0\@xs {
    padding-bottom: 0 !important;
  }
  .pt-0\@xs,
  .py-0\@xs {
    padding-top: 0 !important;
  }
  .pr-0\@xs {
    padding-right: 0 !important;
  }
  .pb-0\@xs {
    padding-bottom: 0 !important;
  }
  .pl-0\@xs {
    padding-left: 0 !important;
  }
  .p-0\.5\@xs {
    padding: 0.5rem !important;
  }
  .px-0\.5\@xs {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }
  .py-0\.5\@xs {
    padding-bottom: 0.5rem !important;
  }
  .pt-0\.5\@xs,
  .py-0\.5\@xs {
    padding-top: 0.5rem !important;
  }
  .pr-0\.5\@xs {
    padding-right: 0.5rem !important;
  }
  .pb-0\.5\@xs {
    padding-bottom: 0.5rem !important;
  }
  .pl-0\.5\@xs {
    padding-left: 0.5rem !important;
  }
  .p-1\@xs {
    padding: 1rem !important;
  }
  .px-1\@xs {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .py-1\@xs {
    padding-bottom: 1rem !important;
  }
  .pt-1\@xs,
  .py-1\@xs {
    padding-top: 1rem !important;
  }
  .pr-1\@xs {
    padding-right: 1rem !important;
  }
  .pb-1\@xs {
    padding-bottom: 1rem !important;
  }
  .pl-1\@xs {
    padding-left: 1rem !important;
  }
  .p-1\.5\@xs {
    padding: 1.5rem !important;
  }
  .px-1\.5\@xs {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
  .py-1\.5\@xs {
    padding-bottom: 1.5rem !important;
  }
  .pt-1\.5\@xs,
  .py-1\.5\@xs {
    padding-top: 1.5rem !important;
  }
  .pr-1\.5\@xs {
    padding-right: 1.5rem !important;
  }
  .pb-1\.5\@xs {
    padding-bottom: 1.5rem !important;
  }
  .pl-1\.5\@xs {
    padding-left: 1.5rem !important;
  }
  .p-2\@xs {
    padding: 2rem !important;
  }
  .px-2\@xs {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
  .py-2\@xs {
    padding-bottom: 2rem !important;
  }
  .pt-2\@xs,
  .py-2\@xs {
    padding-top: 2rem !important;
  }
  .pr-2\@xs {
    padding-right: 2rem !important;
  }
  .pb-2\@xs {
    padding-bottom: 2rem !important;
  }
  .pl-2\@xs {
    padding-left: 2rem !important;
  }
  .p-3\@xs {
    padding: 3rem !important;
  }
  .px-3\@xs {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
  .py-3\@xs {
    padding-bottom: 3rem !important;
  }
  .pt-3\@xs,
  .py-3\@xs {
    padding-top: 3rem !important;
  }
  .pr-3\@xs {
    padding-right: 3rem !important;
  }
  .pb-3\@xs {
    padding-bottom: 3rem !important;
  }
  .pl-3\@xs {
    padding-left: 3rem !important;
  }
  .p-4\@xs {
    padding: 4rem !important;
  }
  .px-4\@xs {
    padding-left: 4rem !important;
    padding-right: 4rem !important;
  }
  .py-4\@xs {
    padding-bottom: 4rem !important;
  }
  .pt-4\@xs,
  .py-4\@xs {
    padding-top: 4rem !important;
  }
  .pr-4\@xs {
    padding-right: 4rem !important;
  }
  .pb-4\@xs {
    padding-bottom: 4rem !important;
  }
  .pl-4\@xs {
    padding-left: 4rem !important;
  }
  .p-5\@xs {
    padding: 5rem !important;
  }
  .px-5\@xs {
    padding-left: 5rem !important;
    padding-right: 5rem !important;
  }
  .py-5\@xs {
    padding-bottom: 5rem !important;
  }
  .pt-5\@xs,
  .py-5\@xs {
    padding-top: 5rem !important;
  }
  .pr-5\@xs {
    padding-right: 5rem !important;
  }
  .pb-5\@xs {
    padding-bottom: 5rem !important;
  }
  .pl-5\@xs {
    padding-left: 5rem !important;
  }
  .p-6\@xs {
    padding: 6rem !important;
  }
  .px-6\@xs {
    padding-left: 6rem !important;
    padding-right: 6rem !important;
  }
  .py-6\@xs {
    padding-bottom: 6rem !important;
  }
  .pt-6\@xs,
  .py-6\@xs {
    padding-top: 6rem !important;
  }
  .pr-6\@xs {
    padding-right: 6rem !important;
  }
  .pb-6\@xs {
    padding-bottom: 6rem !important;
  }
  .pl-6\@xs {
    padding-left: 6rem !important;
  }
  .p-8\@xs {
    padding: 8rem !important;
  }
  .px-8\@xs {
    padding-left: 8rem !important;
    padding-right: 8rem !important;
  }
  .py-8\@xs {
    padding-bottom: 8rem !important;
  }
  .pt-8\@xs,
  .py-8\@xs {
    padding-top: 8rem !important;
  }
  .pr-8\@xs {
    padding-right: 8rem !important;
  }
  .pb-8\@xs {
    padding-bottom: 8rem !important;
  }
  .pl-8\@xs {
    padding-left: 8rem !important;
  }
  .p-10\@xs {
    padding: 10rem !important;
  }
  .px-10\@xs {
    padding-left: 10rem !important;
    padding-right: 10rem !important;
  }
  .py-10\@xs {
    padding-bottom: 10rem !important;
  }
  .pt-10\@xs,
  .py-10\@xs {
    padding-top: 10rem !important;
  }
  .pr-10\@xs {
    padding-right: 10rem !important;
  }
  .pb-10\@xs {
    padding-bottom: 10rem !important;
  }
  .pl-10\@xs {
    padding-left: 10rem !important;
  }
  .p-15\@xs {
    padding: 15rem !important;
  }
  .px-15\@xs {
    padding-left: 15rem !important;
    padding-right: 15rem !important;
  }
  .py-15\@xs {
    padding-bottom: 15rem !important;
  }
  .pt-15\@xs,
  .py-15\@xs {
    padding-top: 15rem !important;
  }
  .pr-15\@xs {
    padding-right: 15rem !important;
  }
  .pb-15\@xs {
    padding-bottom: 15rem !important;
  }
  .pl-15\@xs {
    padding-left: 15rem !important;
  }
  .trim-vertical > :first-child {
    margin-top: 0 !important;
  }
  .trim-vertical > :last-child {
    margin-bottom: 0 !important;
  }
  .trim-horizontal > :first-child {
    margin-left: 0 !important;
  }
  .trim-horizontal > :last-child {
    margin-right: 0 !important;
  }
}
@media (min-width: 768px) {
  .mb-auto\@sm {
    margin-bottom: auto !important;
  }
  .mb-0\@sm {
    margin-bottom: 0 !important;
  }
  .mb-0\.5\@sm {
    margin-bottom: 0.5rem !important;
  }
  .-mb-0\.5\@sm {
    margin-bottom: -0.5rem !important;
  }
  .mb-1\@sm {
    margin-bottom: 1rem !important;
  }
  .-mb-1\@sm {
    margin-bottom: -1rem !important;
  }
  .mb-1\.5\@sm {
    margin-bottom: 1.5rem !important;
  }
  .-mb-1\.5\@sm {
    margin-bottom: -1.5rem !important;
  }
  .mb-2\@sm {
    margin-bottom: 2rem !important;
  }
  .-mb-2\@sm {
    margin-bottom: -2rem !important;
  }
  .mb-3\@sm {
    margin-bottom: 3rem !important;
  }
  .-mb-3\@sm {
    margin-bottom: -3rem !important;
  }
  .mb-4\@sm {
    margin-bottom: 4rem !important;
  }
  .-mb-4\@sm {
    margin-bottom: -4rem !important;
  }
  .mt-5\@sm {
    margin-top: 5rem !important;
  }
  .mb-5\@sm {
    margin-bottom: 5rem !important;
  }
  .-mb-5\@sm {
    margin-bottom: -5rem !important;
  }
  .mb-6\@sm {
    margin-bottom: 6rem !important;
  }
  .-mb-6\@sm {
    margin-bottom: -6rem !important;
  }
  .mb-8\@sm {
    margin-bottom: 8rem !important;
  }
  .-mb-8\@sm {
    margin-bottom: -8rem !important;
  }
  .mb-10\@sm {
    margin-bottom: 10rem !important;
  }
  .-mb-10\@sm {
    margin-bottom: -10rem !important;
  }
  .mb-15\@sm {
    margin-bottom: 15rem !important;
  }
  .-mb-15\@sm {
    margin-bottom: -15rem !important;
  }
  .p-auto\@sm {
    padding: auto !important;
  }
  .px-auto\@sm {
    padding-left: auto !important;
    padding-right: auto !important;
  }
  .py-auto\@sm {
    padding-bottom: auto !important;
  }
  .pt-auto\@sm,
  .py-auto\@sm {
    padding-top: auto !important;
  }
  .pr-auto\@sm {
    padding-right: auto !important;
  }
  .pb-auto\@sm {
    padding-bottom: auto !important;
  }
  .pl-auto\@sm {
    padding-left: auto !important;
  }
  .p-0\@sm {
    padding: 0 !important;
  }
  .px-0\@sm {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .py-0\@sm {
    padding-bottom: 0 !important;
  }
  .pt-0\@sm,
  .py-0\@sm {
    padding-top: 0 !important;
  }
  .pr-0\@sm {
    padding-right: 0 !important;
  }
  .pb-0\@sm {
    padding-bottom: 0 !important;
  }
  .pl-0\@sm {
    padding-left: 0 !important;
  }
  .p-0\.5\@sm {
    padding: 0.5rem !important;
  }
  .px-0\.5\@sm {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }
  .py-0\.5\@sm {
    padding-bottom: 0.5rem !important;
  }
  .pt-0\.5\@sm,
  .py-0\.5\@sm {
    padding-top: 0.5rem !important;
  }
  .pr-0\.5\@sm {
    padding-right: 0.5rem !important;
  }
  .pb-0\.5\@sm {
    padding-bottom: 0.5rem !important;
  }
  .pl-0\.5\@sm {
    padding-left: 0.5rem !important;
  }
  .p-1\@sm {
    padding: 1rem !important;
  }
  .px-1\@sm {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .py-1\@sm {
    padding-bottom: 1rem !important;
  }
  .pt-1\@sm,
  .py-1\@sm {
    padding-top: 1rem !important;
  }
  .pr-1\@sm {
    padding-right: 1rem !important;
  }
  .pb-1\@sm {
    padding-bottom: 1rem !important;
  }
  .pl-1\@sm {
    padding-left: 1rem !important;
  }
  .p-1\.5\@sm {
    padding: 1.5rem !important;
  }
  .px-1\.5\@sm {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
  .py-1\.5\@sm {
    padding-bottom: 1.5rem !important;
  }
  .pt-1\.5\@sm,
  .py-1\.5\@sm {
    padding-top: 1.5rem !important;
  }
  .pr-1\.5\@sm {
    padding-right: 1.5rem !important;
  }
  .pb-1\.5\@sm {
    padding-bottom: 1.5rem !important;
  }
  .pl-1\.5\@sm {
    padding-left: 1.5rem !important;
  }
  .p-2\@sm {
    padding: 2rem !important;
  }
  .px-2\@sm {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
  .py-2\@sm {
    padding-bottom: 2rem !important;
  }
  .pt-2\@sm,
  .py-2\@sm {
    padding-top: 2rem !important;
  }
  .pr-2\@sm {
    padding-right: 2rem !important;
  }
  .pb-2\@sm {
    padding-bottom: 2rem !important;
  }
  .pl-2\@sm {
    padding-left: 2rem !important;
  }
  .p-3\@sm {
    padding: 3rem !important;
  }
  .px-3\@sm {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
  .py-3\@sm {
    padding-bottom: 3rem !important;
  }
  .pt-3\@sm,
  .py-3\@sm {
    padding-top: 3rem !important;
  }
  .pr-3\@sm {
    padding-right: 3rem !important;
  }
  .pb-3\@sm {
    padding-bottom: 3rem !important;
  }
  .pl-3\@sm {
    padding-left: 3rem !important;
  }
  .p-4\@sm {
    padding: 4rem !important;
  }
  .px-4\@sm {
    padding-left: 4rem !important;
    padding-right: 4rem !important;
  }
  .py-4\@sm {
    padding-bottom: 4rem !important;
  }
  .pt-4\@sm,
  .py-4\@sm {
    padding-top: 4rem !important;
  }
  .pr-4\@sm {
    padding-right: 4rem !important;
  }
  .pb-4\@sm {
    padding-bottom: 4rem !important;
  }
  .pl-4\@sm {
    padding-left: 4rem !important;
  }
  .p-5\@sm {
    padding: 5rem !important;
  }
  .px-5\@sm {
    padding-left: 5rem !important;
    padding-right: 5rem !important;
  }
  .py-5\@sm {
    padding-bottom: 5rem !important;
  }
  .pt-5\@sm,
  .py-5\@sm {
    padding-top: 5rem !important;
  }
  .pr-5\@sm {
    padding-right: 5rem !important;
  }
  .pb-5\@sm {
    padding-bottom: 5rem !important;
  }
  .pl-5\@sm {
    padding-left: 5rem !important;
  }
  .p-6\@sm {
    padding: 6rem !important;
  }
  .px-6\@sm {
    padding-left: 6rem !important;
    padding-right: 6rem !important;
  }
  .py-6\@sm {
    padding-bottom: 6rem !important;
  }
  .pt-6\@sm,
  .py-6\@sm {
    padding-top: 6rem !important;
  }
  .pr-6\@sm {
    padding-right: 6rem !important;
  }
  .pb-6\@sm {
    padding-bottom: 6rem !important;
  }
  .pl-6\@sm {
    padding-left: 6rem !important;
  }
  .p-8\@sm {
    padding: 8rem !important;
  }
  .px-8\@sm {
    padding-left: 8rem !important;
    padding-right: 8rem !important;
  }
  .py-8\@sm {
    padding-bottom: 8rem !important;
  }
  .pt-8\@sm,
  .py-8\@sm {
    padding-top: 8rem !important;
  }
  .pr-8\@sm {
    padding-right: 8rem !important;
  }
  .pb-8\@sm {
    padding-bottom: 8rem !important;
  }
  .pl-8\@sm {
    padding-left: 8rem !important;
  }
  .p-10\@sm {
    padding: 10rem !important;
  }
  .px-10\@sm {
    padding-left: 10rem !important;
    padding-right: 10rem !important;
  }
  .py-10\@sm {
    padding-bottom: 10rem !important;
  }
  .pt-10\@sm,
  .py-10\@sm {
    padding-top: 10rem !important;
  }
  .pr-10\@sm {
    padding-right: 10rem !important;
  }
  .pb-10\@sm {
    padding-bottom: 10rem !important;
  }
  .pl-10\@sm {
    padding-left: 10rem !important;
  }
  .p-15\@sm {
    padding: 15rem !important;
  }
  .px-15\@sm {
    padding-left: 15rem !important;
    padding-right: 15rem !important;
  }
  .py-15\@sm {
    padding-bottom: 15rem !important;
  }
  .pt-15\@sm,
  .py-15\@sm {
    padding-top: 15rem !important;
  }
  .pr-15\@sm {
    padding-right: 15rem !important;
  }
  .pb-15\@sm {
    padding-bottom: 15rem !important;
  }
  .pl-15\@sm {
    padding-left: 15rem !important;
  }
  .trim-vertical > :first-child {
    margin-top: 0 !important;
  }
  .trim-vertical > :last-child {
    margin-bottom: 0 !important;
  }
  .trim-horizontal > :first-child {
    margin-left: 0 !important;
  }
  .trim-horizontal > :last-child {
    margin-right: 0 !important;
  }
}
@media (min-width: 1024px) {
  .mb-auto\@md {
    margin-bottom: auto !important;
  }
  .mb-0\@md {
    margin-bottom: 0 !important;
  }
  .mb-0\.5\@md {
    margin-bottom: 0.5rem !important;
  }
  .-mb-0\.5\@md {
    margin-bottom: -0.5rem !important;
  }
  .mb-1\@md {
    margin-bottom: 1rem !important;
  }
  .-mb-1\@md {
    margin-bottom: -1rem !important;
  }
  .mb-1\.5\@md {
    margin-bottom: 1.5rem !important;
  }
  .-mb-1\.5\@md {
    margin-bottom: -1.5rem !important;
  }
  .mb-2\@md {
    margin-bottom: 2rem !important;
  }
  .-mb-2\@md {
    margin-bottom: -2rem !important;
  }
  .mb-3\@md {
    margin-bottom: 3rem !important;
  }
  .-mb-3\@md {
    margin-bottom: -3rem !important;
  }
  .mb-4\@md {
    margin-bottom: 4rem !important;
  }
  .-mb-4\@md {
    margin-bottom: -4rem !important;
  }
  .mb-5\@md {
    margin-bottom: 5rem !important;
  }
  .-mb-5\@md {
    margin-bottom: -5rem !important;
  }
  .mb-6\@md {
    margin-bottom: 6rem !important;
  }
  .-mb-6\@md {
    margin-bottom: -6rem !important;
  }
  .mb-8\@md {
    margin-bottom: 8rem !important;
  }
  .-mb-8\@md {
    margin-bottom: -8rem !important;
  }
  .mb-10\@md {
    margin-bottom: 10rem !important;
  }
  .-mb-10\@md {
    margin-bottom: -10rem !important;
  }
  .mb-15\@md {
    margin-bottom: 15rem !important;
  }
  .-mb-15\@md {
    margin-bottom: -15rem !important;
  }
  .p-auto\@md {
    padding: auto !important;
  }
  .px-auto\@md {
    padding-left: auto !important;
    padding-right: auto !important;
  }
  .py-auto\@md {
    padding-bottom: auto !important;
  }
  .pt-auto\@md,
  .py-auto\@md {
    padding-top: auto !important;
  }
  .pr-auto\@md {
    padding-right: auto !important;
  }
  .pb-auto\@md {
    padding-bottom: auto !important;
  }
  .pl-auto\@md {
    padding-left: auto !important;
  }
  .p-0\@md {
    padding: 0 !important;
  }
  .px-0\@md {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .py-0\@md {
    padding-bottom: 0 !important;
  }
  .pt-0\@md,
  .py-0\@md {
    padding-top: 0 !important;
  }
  .pr-0\@md {
    padding-right: 0 !important;
  }
  .pb-0\@md {
    padding-bottom: 0 !important;
  }
  .pl-0\@md {
    padding-left: 0 !important;
  }
  .p-0\.5\@md {
    padding: 0.5rem !important;
  }
  .px-0\.5\@md {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }
  .py-0\.5\@md {
    padding-bottom: 0.5rem !important;
  }
  .pt-0\.5\@md,
  .py-0\.5\@md {
    padding-top: 0.5rem !important;
  }
  .pr-0\.5\@md {
    padding-right: 0.5rem !important;
  }
  .pb-0\.5\@md {
    padding-bottom: 0.5rem !important;
  }
  .pl-0\.5\@md {
    padding-left: 0.5rem !important;
  }
  .p-1\@md {
    padding: 1rem !important;
  }
  .px-1\@md {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .py-1\@md {
    padding-bottom: 1rem !important;
  }
  .pt-1\@md,
  .py-1\@md {
    padding-top: 1rem !important;
  }
  .pr-1\@md {
    padding-right: 1rem !important;
  }
  .pb-1\@md {
    padding-bottom: 1rem !important;
  }
  .pl-1\@md {
    padding-left: 1rem !important;
  }
  .p-1\.5\@md {
    padding: 1.5rem !important;
  }
  .px-1\.5\@md {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
  .py-1\.5\@md {
    padding-bottom: 1.5rem !important;
  }
  .pt-1\.5\@md,
  .py-1\.5\@md {
    padding-top: 1.5rem !important;
  }
  .pr-1\.5\@md {
    padding-right: 1.5rem !important;
  }
  .pb-1\.5\@md {
    padding-bottom: 1.5rem !important;
  }
  .pl-1\.5\@md {
    padding-left: 1.5rem !important;
  }
  .p-2\@md {
    padding: 2rem !important;
  }
  .px-2\@md {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
  .py-2\@md {
    padding-bottom: 2rem !important;
  }
  .pt-2\@md,
  .py-2\@md {
    padding-top: 2rem !important;
  }
  .pr-2\@md {
    padding-right: 2rem !important;
  }
  .pb-2\@md {
    padding-bottom: 2rem !important;
  }
  .pl-2\@md {
    padding-left: 2rem !important;
  }
  .p-3\@md {
    padding: 3rem !important;
  }
  .px-3\@md {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
  .py-3\@md {
    padding-bottom: 3rem !important;
  }
  .pt-3\@md,
  .py-3\@md {
    padding-top: 3rem !important;
  }
  .pr-3\@md {
    padding-right: 3rem !important;
  }
  .pb-3\@md {
    padding-bottom: 3rem !important;
  }
  .pl-3\@md {
    padding-left: 3rem !important;
  }
  .p-4\@md {
    padding: 4rem !important;
  }
  .px-4\@md {
    padding-left: 4rem !important;
    padding-right: 4rem !important;
  }
  .py-4\@md {
    padding-bottom: 4rem !important;
  }
  .pt-4\@md,
  .py-4\@md {
    padding-top: 4rem !important;
  }
  .pr-4\@md {
    padding-right: 4rem !important;
  }
  .pb-4\@md {
    padding-bottom: 4rem !important;
  }
  .pl-4\@md {
    padding-left: 4rem !important;
  }
  .p-5\@md {
    padding: 5rem !important;
  }
  .px-5\@md {
    padding-left: 5rem !important;
    padding-right: 5rem !important;
  }
  .py-5\@md {
    padding-bottom: 5rem !important;
  }
  .pt-5\@md,
  .py-5\@md {
    padding-top: 5rem !important;
  }
  .pr-5\@md {
    padding-right: 5rem !important;
  }
  .pb-5\@md {
    padding-bottom: 5rem !important;
  }
  .pl-5\@md {
    padding-left: 5rem !important;
  }
  .p-6\@md {
    padding: 6rem !important;
  }
  .px-6\@md {
    padding-left: 6rem !important;
    padding-right: 6rem !important;
  }
  .py-6\@md {
    padding-bottom: 6rem !important;
  }
  .pt-6\@md,
  .py-6\@md {
    padding-top: 6rem !important;
  }
  .pr-6\@md {
    padding-right: 6rem !important;
  }
  .pb-6\@md {
    padding-bottom: 6rem !important;
  }
  .pl-6\@md {
    padding-left: 6rem !important;
  }
  .p-8\@md {
    padding: 8rem !important;
  }
  .px-8\@md {
    padding-left: 8rem !important;
    padding-right: 8rem !important;
  }
  .py-8\@md {
    padding-bottom: 8rem !important;
  }
  .pt-8\@md,
  .py-8\@md {
    padding-top: 8rem !important;
  }
  .pr-8\@md {
    padding-right: 8rem !important;
  }
  .pb-8\@md {
    padding-bottom: 8rem !important;
  }
  .pl-8\@md {
    padding-left: 8rem !important;
  }
  .p-10\@md {
    padding: 10rem !important;
  }
  .px-10\@md {
    padding-left: 10rem !important;
    padding-right: 10rem !important;
  }
  .py-10\@md {
    padding-bottom: 10rem !important;
  }
  .pt-10\@md,
  .py-10\@md {
    padding-top: 10rem !important;
  }
  .pr-10\@md {
    padding-right: 10rem !important;
  }
  .pb-10\@md {
    padding-bottom: 10rem !important;
  }
  .pl-10\@md {
    padding-left: 10rem !important;
  }
  .p-15\@md {
    padding: 15rem !important;
  }
  .px-15\@md {
    padding-left: 15rem !important;
    padding-right: 15rem !important;
  }
  .py-15\@md {
    padding-bottom: 15rem !important;
  }
  .pt-15\@md,
  .py-15\@md {
    padding-top: 15rem !important;
  }
  .pr-15\@md {
    padding-right: 15rem !important;
  }
  .pb-15\@md {
    padding-bottom: 15rem !important;
  }
  .pl-15\@md {
    padding-left: 15rem !important;
  }
  .trim-vertical > :first-child {
    margin-top: 0 !important;
  }
  .trim-vertical > :last-child {
    margin-bottom: 0 !important;
  }
  .trim-horizontal > :first-child {
    margin-left: 0 !important;
  }
  .trim-horizontal > :last-child {
    margin-right: 0 !important;
  }
}
@media (min-width: 1366px) {
  .mb-auto\@lg {
    margin-bottom: auto !important;
  }
  .mb-0\@lg {
    margin-bottom: 0 !important;
  }
  .mb-0\.5\@lg {
    margin-bottom: 0.5rem !important;
  }
  .-mb-0\.5\@lg {
    margin-bottom: -0.5rem !important;
  }
  .mb-1\@lg {
    margin-bottom: 1rem !important;
  }
  .-mb-1\@lg {
    margin-bottom: -1rem !important;
  }
  .mb-1\.5\@lg {
    margin-bottom: 1.5rem !important;
  }
  .-mb-1\.5\@lg {
    margin-bottom: -1.5rem !important;
  }
  .mb-2\@lg {
    margin-bottom: 2rem !important;
  }
  .-mb-2\@lg {
    margin-bottom: -2rem !important;
  }
  .mb-3\@lg {
    margin-bottom: 3rem !important;
  }
  .-mb-3\@lg {
    margin-bottom: -3rem !important;
  }
  .mb-4\@lg {
    margin-bottom: 4rem !important;
  }
  .-mb-4\@lg {
    margin-bottom: -4rem !important;
  }
  .mb-5\@lg {
    margin-bottom: 5rem !important;
  }
  .-mb-5\@lg {
    margin-bottom: -5rem !important;
  }
  .mb-6\@lg {
    margin-bottom: 6rem !important;
  }
  .-mb-6\@lg {
    margin-bottom: -6rem !important;
  }
  .mb-8\@lg {
    margin-bottom: 8rem !important;
  }
  .-mb-8\@lg {
    margin-bottom: -8rem !important;
  }
  .mb-10\@lg {
    margin-bottom: 10rem !important;
  }
  .-mb-10\@lg {
    margin-bottom: -10rem !important;
  }
  .mb-15\@lg {
    margin-bottom: 15rem !important;
  }
  .-mb-15\@lg {
    margin-bottom: -15rem !important;
  }
  .p-auto\@lg {
    padding: auto !important;
  }
  .px-auto\@lg {
    padding-left: auto !important;
    padding-right: auto !important;
  }
  .py-auto\@lg {
    padding-bottom: auto !important;
  }
  .pt-auto\@lg,
  .py-auto\@lg {
    padding-top: auto !important;
  }
  .pr-auto\@lg {
    padding-right: auto !important;
  }
  .pb-auto\@lg {
    padding-bottom: auto !important;
  }
  .pl-auto\@lg {
    padding-left: auto !important;
  }
  .p-0\@lg {
    padding: 0 !important;
  }
  .px-0\@lg {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .py-0\@lg {
    padding-bottom: 0 !important;
  }
  .pt-0\@lg,
  .py-0\@lg {
    padding-top: 0 !important;
  }
  .pr-0\@lg {
    padding-right: 0 !important;
  }
  .pb-0\@lg {
    padding-bottom: 0 !important;
  }
  .pl-0\@lg {
    padding-left: 0 !important;
  }
  .p-0\.5\@lg {
    padding: 0.5rem !important;
  }
  .px-0\.5\@lg {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }
  .py-0\.5\@lg {
    padding-bottom: 0.5rem !important;
  }
  .pt-0\.5\@lg,
  .py-0\.5\@lg {
    padding-top: 0.5rem !important;
  }
  .pr-0\.5\@lg {
    padding-right: 0.5rem !important;
  }
  .pb-0\.5\@lg {
    padding-bottom: 0.5rem !important;
  }
  .pl-0\.5\@lg {
    padding-left: 0.5rem !important;
  }
  .p-1\@lg {
    padding: 1rem !important;
  }
  .px-1\@lg {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .py-1\@lg {
    padding-bottom: 1rem !important;
  }
  .pt-1\@lg,
  .py-1\@lg {
    padding-top: 1rem !important;
  }
  .pr-1\@lg {
    padding-right: 1rem !important;
  }
  .pb-1\@lg {
    padding-bottom: 1rem !important;
  }
  .pl-1\@lg {
    padding-left: 1rem !important;
  }
  .p-1\.5\@lg {
    padding: 1.5rem !important;
  }
  .px-1\.5\@lg {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
  .py-1\.5\@lg {
    padding-bottom: 1.5rem !important;
  }
  .pt-1\.5\@lg,
  .py-1\.5\@lg {
    padding-top: 1.5rem !important;
  }
  .pr-1\.5\@lg {
    padding-right: 1.5rem !important;
  }
  .pb-1\.5\@lg {
    padding-bottom: 1.5rem !important;
  }
  .pl-1\.5\@lg {
    padding-left: 1.5rem !important;
  }
  .p-2\@lg {
    padding: 2rem !important;
  }
  .px-2\@lg {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
  .py-2\@lg {
    padding-bottom: 2rem !important;
  }
  .pt-2\@lg,
  .py-2\@lg {
    padding-top: 2rem !important;
  }
  .pr-2\@lg {
    padding-right: 2rem !important;
  }
  .pb-2\@lg {
    padding-bottom: 2rem !important;
  }
  .pl-2\@lg {
    padding-left: 2rem !important;
  }
  .p-3\@lg {
    padding: 3rem !important;
  }
  .px-3\@lg {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
  .py-3\@lg {
    padding-bottom: 3rem !important;
  }
  .pt-3\@lg,
  .py-3\@lg {
    padding-top: 3rem !important;
  }
  .pr-3\@lg {
    padding-right: 3rem !important;
  }
  .pb-3\@lg {
    padding-bottom: 3rem !important;
  }
  .pl-3\@lg {
    padding-left: 3rem !important;
  }
  .p-4\@lg {
    padding: 4rem !important;
  }
  .px-4\@lg {
    padding-left: 4rem !important;
    padding-right: 4rem !important;
  }
  .py-4\@lg {
    padding-bottom: 4rem !important;
  }
  .pt-4\@lg,
  .py-4\@lg {
    padding-top: 4rem !important;
  }
  .pr-4\@lg {
    padding-right: 4rem !important;
  }
  .pb-4\@lg {
    padding-bottom: 4rem !important;
  }
  .pl-4\@lg {
    padding-left: 4rem !important;
  }
  .p-5\@lg {
    padding: 5rem !important;
  }
  .px-5\@lg {
    padding-left: 5rem !important;
    padding-right: 5rem !important;
  }
  .py-5\@lg {
    padding-bottom: 5rem !important;
  }
  .pt-5\@lg,
  .py-5\@lg {
    padding-top: 5rem !important;
  }
  .pr-5\@lg {
    padding-right: 5rem !important;
  }
  .pb-5\@lg {
    padding-bottom: 5rem !important;
  }
  .pl-5\@lg {
    padding-left: 5rem !important;
  }
  .p-6\@lg {
    padding: 6rem !important;
  }
  .px-6\@lg {
    padding-left: 6rem !important;
    padding-right: 6rem !important;
  }
  .py-6\@lg {
    padding-bottom: 6rem !important;
  }
  .pt-6\@lg,
  .py-6\@lg {
    padding-top: 6rem !important;
  }
  .pr-6\@lg {
    padding-right: 6rem !important;
  }
  .pb-6\@lg {
    padding-bottom: 6rem !important;
  }
  .pl-6\@lg {
    padding-left: 6rem !important;
  }
  .p-8\@lg {
    padding: 8rem !important;
  }
  .px-8\@lg {
    padding-left: 8rem !important;
    padding-right: 8rem !important;
  }
  .py-8\@lg {
    padding-bottom: 8rem !important;
  }
  .pt-8\@lg,
  .py-8\@lg {
    padding-top: 8rem !important;
  }
  .pr-8\@lg {
    padding-right: 8rem !important;
  }
  .pb-8\@lg {
    padding-bottom: 8rem !important;
  }
  .pl-8\@lg {
    padding-left: 8rem !important;
  }
  .p-10\@lg {
    padding: 10rem !important;
  }
  .px-10\@lg {
    padding-left: 10rem !important;
    padding-right: 10rem !important;
  }
  .py-10\@lg {
    padding-bottom: 10rem !important;
  }
  .pt-10\@lg,
  .py-10\@lg {
    padding-top: 10rem !important;
  }
  .pr-10\@lg {
    padding-right: 10rem !important;
  }
  .pb-10\@lg {
    padding-bottom: 10rem !important;
  }
  .pl-10\@lg {
    padding-left: 10rem !important;
  }
  .p-15\@lg {
    padding: 15rem !important;
  }
  .px-15\@lg {
    padding-left: 15rem !important;
    padding-right: 15rem !important;
  }
  .py-15\@lg {
    padding-bottom: 15rem !important;
  }
  .pt-15\@lg,
  .py-15\@lg {
    padding-top: 15rem !important;
  }
  .pr-15\@lg {
    padding-right: 15rem !important;
  }
  .pb-15\@lg {
    padding-bottom: 15rem !important;
  }
  .pl-15\@lg {
    padding-left: 15rem !important;
  }
  .trim-vertical > :first-child {
    margin-top: 0 !important;
  }
  .trim-vertical > :last-child {
    margin-bottom: 0 !important;
  }
  .trim-horizontal > :first-child {
    margin-left: 0 !important;
  }
  .trim-horizontal > :last-child {
    margin-right: 0 !important;
  }
}
@media (min-width: 1921px) {
  .mb-auto\@xlg {
    margin-bottom: auto !important;
  }
  .mb-0\@xlg {
    margin-bottom: 0 !important;
  }
  .mb-0\.5\@xlg {
    margin-bottom: 0.5rem !important;
  }
  .-mb-0\.5\@xlg {
    margin-bottom: -0.5rem !important;
  }
  .mb-1\@xlg {
    margin-bottom: 1rem !important;
  }
  .-mb-1\@xlg {
    margin-bottom: -1rem !important;
  }
  .mb-1\.5\@xlg {
    margin-bottom: 1.5rem !important;
  }
  .-mb-1\.5\@xlg {
    margin-bottom: -1.5rem !important;
  }
  .mb-2\@xlg {
    margin-bottom: 2rem !important;
  }
  .-mb-2\@xlg {
    margin-bottom: -2rem !important;
  }
  .mb-3\@xlg {
    margin-bottom: 3rem !important;
  }
  .-mb-3\@xlg {
    margin-bottom: -3rem !important;
  }
  .mb-4\@xlg {
    margin-bottom: 4rem !important;
  }
  .-mb-4\@xlg {
    margin-bottom: -4rem !important;
  }
  .mb-5\@xlg {
    margin-bottom: 5rem !important;
  }
  .-mb-5\@xlg {
    margin-bottom: -5rem !important;
  }
  .mb-6\@xlg {
    margin-bottom: 6rem !important;
  }
  .-mb-6\@xlg {
    margin-bottom: -6rem !important;
  }
  .mb-8\@xlg {
    margin-bottom: 8rem !important;
  }
  .-mb-8\@xlg {
    margin-bottom: -8rem !important;
  }
  .mb-10\@xlg {
    margin-bottom: 10rem !important;
  }
  .-mb-10\@xlg {
    margin-bottom: -10rem !important;
  }
  .mb-15\@xlg {
    margin-bottom: 15rem !important;
  }
  .-mb-15\@xlg {
    margin-bottom: -15rem !important;
  }
  .p-auto\@xlg {
    padding: auto !important;
  }
  .px-auto\@xlg {
    padding-left: auto !important;
    padding-right: auto !important;
  }
  .py-auto\@xlg {
    padding-bottom: auto !important;
  }
  .pt-auto\@xlg,
  .py-auto\@xlg {
    padding-top: auto !important;
  }
  .pr-auto\@xlg {
    padding-right: auto !important;
  }
  .pb-auto\@xlg {
    padding-bottom: auto !important;
  }
  .pl-auto\@xlg {
    padding-left: auto !important;
  }
  .p-0\@xlg {
    padding: 0 !important;
  }
  .px-0\@xlg {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .py-0\@xlg {
    padding-bottom: 0 !important;
  }
  .pt-0\@xlg,
  .py-0\@xlg {
    padding-top: 0 !important;
  }
  .pr-0\@xlg {
    padding-right: 0 !important;
  }
  .pb-0\@xlg {
    padding-bottom: 0 !important;
  }
  .pl-0\@xlg {
    padding-left: 0 !important;
  }
  .p-0\.5\@xlg {
    padding: 0.5rem !important;
  }
  .px-0\.5\@xlg {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }
  .py-0\.5\@xlg {
    padding-bottom: 0.5rem !important;
  }
  .pt-0\.5\@xlg,
  .py-0\.5\@xlg {
    padding-top: 0.5rem !important;
  }
  .pr-0\.5\@xlg {
    padding-right: 0.5rem !important;
  }
  .pb-0\.5\@xlg {
    padding-bottom: 0.5rem !important;
  }
  .pl-0\.5\@xlg {
    padding-left: 0.5rem !important;
  }
  .p-1\@xlg {
    padding: 1rem !important;
  }
  .px-1\@xlg {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .py-1\@xlg {
    padding-bottom: 1rem !important;
  }
  .pt-1\@xlg,
  .py-1\@xlg {
    padding-top: 1rem !important;
  }
  .pr-1\@xlg {
    padding-right: 1rem !important;
  }
  .pb-1\@xlg {
    padding-bottom: 1rem !important;
  }
  .pl-1\@xlg {
    padding-left: 1rem !important;
  }
  .p-1\.5\@xlg {
    padding: 1.5rem !important;
  }
  .px-1\.5\@xlg {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
  .py-1\.5\@xlg {
    padding-bottom: 1.5rem !important;
  }
  .pt-1\.5\@xlg,
  .py-1\.5\@xlg {
    padding-top: 1.5rem !important;
  }
  .pr-1\.5\@xlg {
    padding-right: 1.5rem !important;
  }
  .pb-1\.5\@xlg {
    padding-bottom: 1.5rem !important;
  }
  .pl-1\.5\@xlg {
    padding-left: 1.5rem !important;
  }
  .p-2\@xlg {
    padding: 2rem !important;
  }
  .px-2\@xlg {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
  .py-2\@xlg {
    padding-bottom: 2rem !important;
  }
  .pt-2\@xlg,
  .py-2\@xlg {
    padding-top: 2rem !important;
  }
  .pr-2\@xlg {
    padding-right: 2rem !important;
  }
  .pb-2\@xlg {
    padding-bottom: 2rem !important;
  }
  .pl-2\@xlg {
    padding-left: 2rem !important;
  }
  .p-3\@xlg {
    padding: 3rem !important;
  }
  .px-3\@xlg {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
  .py-3\@xlg {
    padding-bottom: 3rem !important;
  }
  .pt-3\@xlg,
  .py-3\@xlg {
    padding-top: 3rem !important;
  }
  .pr-3\@xlg {
    padding-right: 3rem !important;
  }
  .pb-3\@xlg {
    padding-bottom: 3rem !important;
  }
  .pl-3\@xlg {
    padding-left: 3rem !important;
  }
  .p-4\@xlg {
    padding: 4rem !important;
  }
  .px-4\@xlg {
    padding-left: 4rem !important;
    padding-right: 4rem !important;
  }
  .py-4\@xlg {
    padding-bottom: 4rem !important;
  }
  .pt-4\@xlg,
  .py-4\@xlg {
    padding-top: 4rem !important;
  }
  .pr-4\@xlg {
    padding-right: 4rem !important;
  }
  .pb-4\@xlg {
    padding-bottom: 4rem !important;
  }
  .pl-4\@xlg {
    padding-left: 4rem !important;
  }
  .p-5\@xlg {
    padding: 5rem !important;
  }
  .px-5\@xlg {
    padding-left: 5rem !important;
    padding-right: 5rem !important;
  }
  .py-5\@xlg {
    padding-bottom: 5rem !important;
  }
  .pt-5\@xlg,
  .py-5\@xlg {
    padding-top: 5rem !important;
  }
  .pr-5\@xlg {
    padding-right: 5rem !important;
  }
  .pb-5\@xlg {
    padding-bottom: 5rem !important;
  }
  .pl-5\@xlg {
    padding-left: 5rem !important;
  }
  .p-6\@xlg {
    padding: 6rem !important;
  }
  .px-6\@xlg {
    padding-left: 6rem !important;
    padding-right: 6rem !important;
  }
  .py-6\@xlg {
    padding-bottom: 6rem !important;
  }
  .pt-6\@xlg,
  .py-6\@xlg {
    padding-top: 6rem !important;
  }
  .pr-6\@xlg {
    padding-right: 6rem !important;
  }
  .pb-6\@xlg {
    padding-bottom: 6rem !important;
  }
  .pl-6\@xlg {
    padding-left: 6rem !important;
  }
  .p-8\@xlg {
    padding: 8rem !important;
  }
  .px-8\@xlg {
    padding-left: 8rem !important;
    padding-right: 8rem !important;
  }
  .py-8\@xlg {
    padding-bottom: 8rem !important;
  }
  .pt-8\@xlg,
  .py-8\@xlg {
    padding-top: 8rem !important;
  }
  .pr-8\@xlg {
    padding-right: 8rem !important;
  }
  .pb-8\@xlg {
    padding-bottom: 8rem !important;
  }
  .pl-8\@xlg {
    padding-left: 8rem !important;
  }
  .p-10\@xlg {
    padding: 10rem !important;
  }
  .px-10\@xlg {
    padding-left: 10rem !important;
    padding-right: 10rem !important;
  }
  .py-10\@xlg {
    padding-bottom: 10rem !important;
  }
  .pt-10\@xlg,
  .py-10\@xlg {
    padding-top: 10rem !important;
  }
  .pr-10\@xlg {
    padding-right: 10rem !important;
  }
  .pb-10\@xlg {
    padding-bottom: 10rem !important;
  }
  .pl-10\@xlg {
    padding-left: 10rem !important;
  }
  .p-15\@xlg {
    padding: 15rem !important;
  }
  .px-15\@xlg {
    padding-left: 15rem !important;
    padding-right: 15rem !important;
  }
  .py-15\@xlg {
    padding-bottom: 15rem !important;
  }
  .pt-15\@xlg,
  .py-15\@xlg {
    padding-top: 15rem !important;
  }
  .pr-15\@xlg {
    padding-right: 15rem !important;
  }
  .pb-15\@xlg {
    padding-bottom: 15rem !important;
  }
  .pl-15\@xlg {
    padding-left: 15rem !important;
  }
  .trim-vertical > :first-child {
    margin-top: 0 !important;
  }
  .trim-vertical > :last-child {
    margin-bottom: 0 !important;
  }
  .trim-horizontal > :first-child {
    margin-left: 0 !important;
  }
  .trim-horizontal > :last-child {
    margin-right: 0 !important;
  }
}
.flex-grow {
  -webkit-box-flex: 1 !important;
  flex-grow: 1 !important;
  max-width: 100%;
  width: auto;
}
.flex-shrink {
  flex-shrink: 1 !important;
}
.flex-no-shrink {
  flex-shrink: 0 !important;
}
.flex-no-wrap {
  flex-wrap: nowrap !important;
}
.flex-wrap {
  flex-wrap: wrap !important;
}
.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}
.items-start {
  -webkit-box-align: start !important;
  align-items: flex-start !important;
}
.items-center {
  -webkit-box-align: center !important;
  align-items: center !important;
}
.items-end {
  -webkit-box-align: end !important;
  align-items: flex-end !important;
}
.justify-start {
  -webkit-box-pack: start !important;
  justify-content: flex-start !important;
}
.justify-center {
  -webkit-box-pack: center !important;
  justify-content: center !important;
}
.justify-end {
  -webkit-box-pack: end !important;
  justify-content: flex-end !important;
}
.content-between {
  align-content: space-between !important;
}
.justify-between {
  -webkit-box-pack: justify !important;
  justify-content: space-between !important;
}
.justify-around {
  justify-content: space-around !important;
}
@media (min-width: 360px) {
  .flex-shrink\@xs {
    flex-shrink: 1 !important;
  }
  .flex-no-shrink\@xs {
    flex-shrink: 0 !important;
  }
  .flex-no-wrap\@xs {
    flex-wrap: nowrap !important;
  }
  .flex-wrap\@xs {
    flex-wrap: wrap !important;
  }
  .flex-wrap-reverse\@xs {
    flex-wrap: wrap-reverse !important;
  }
  .items-start\@xs {
    -webkit-box-align: start !important;
    align-items: flex-start !important;
  }
  .items-center\@xs {
    -webkit-box-align: center !important;
    align-items: center !important;
  }
  .items-end\@xs {
    -webkit-box-align: end !important;
    align-items: flex-end !important;
  }
  .justify-start\@xs {
    -webkit-box-pack: start !important;
    justify-content: flex-start !important;
  }
  .justify-center\@xs {
    -webkit-box-pack: center !important;
    justify-content: center !important;
  }
  .justify-end\@xs {
    -webkit-box-pack: end !important;
    justify-content: flex-end !important;
  }
  .content-between\@xs {
    align-content: space-between !important;
  }
  .justify-between\@xs {
    -webkit-box-pack: justify !important;
    justify-content: space-between !important;
  }
  .justify-around\@xs {
    justify-content: space-around !important;
  }
}
@media (min-width: 768px) {
  .flex-shrink\@sm {
    flex-shrink: 1 !important;
  }
  .flex-no-shrink\@sm {
    flex-shrink: 0 !important;
  }
  .flex-no-wrap\@sm {
    flex-wrap: nowrap !important;
  }
  .flex-wrap\@sm {
    flex-wrap: wrap !important;
  }
  .flex-wrap-reverse\@sm {
    flex-wrap: wrap-reverse !important;
  }
  .items-start\@sm {
    -webkit-box-align: start !important;
    align-items: flex-start !important;
  }
  .items-center\@sm {
    -webkit-box-align: center !important;
    align-items: center !important;
  }
  .items-end\@sm {
    -webkit-box-align: end !important;
    align-items: flex-end !important;
  }
  .justify-start\@sm {
    -webkit-box-pack: start !important;
    justify-content: flex-start !important;
  }
  .justify-center\@sm {
    -webkit-box-pack: center !important;
    justify-content: center !important;
  }
  .justify-end\@sm {
    -webkit-box-pack: end !important;
    justify-content: flex-end !important;
  }
  .content-between\@sm {
    align-content: space-between !important;
  }
  .justify-between\@sm {
    -webkit-box-pack: justify !important;
    justify-content: space-between !important;
  }
  .justify-around\@sm {
    justify-content: space-around !important;
  }
}
@media (min-width: 1024px) {
  .flex-shrink\@md {
    flex-shrink: 1 !important;
  }
  .flex-no-shrink\@md {
    flex-shrink: 0 !important;
  }
  .flex-no-wrap\@md {
    flex-wrap: nowrap !important;
  }
  .flex-wrap\@md {
    flex-wrap: wrap !important;
  }
  .flex-wrap-reverse\@md {
    flex-wrap: wrap-reverse !important;
  }
  .items-start\@md {
    -webkit-box-align: start !important;
    align-items: flex-start !important;
  }
  .items-center\@md {
    -webkit-box-align: center !important;
    align-items: center !important;
  }
  .items-end\@md {
    -webkit-box-align: end !important;
    align-items: flex-end !important;
  }
  .justify-start\@md {
    -webkit-box-pack: start !important;
    justify-content: flex-start !important;
  }
  .justify-center\@md {
    -webkit-box-pack: center !important;
    justify-content: center !important;
  }
  .justify-end\@md {
    -webkit-box-pack: end !important;
    justify-content: flex-end !important;
  }
  .content-between\@md {
    align-content: space-between !important;
  }
  .justify-between\@md {
    -webkit-box-pack: justify !important;
    justify-content: space-between !important;
  }
  .justify-around\@md {
    justify-content: space-around !important;
  }
}
@media (min-width: 1366px) {
  .flex-shrink\@lg {
    flex-shrink: 1 !important;
  }
  .flex-no-shrink\@lg {
    flex-shrink: 0 !important;
  }
  .flex-no-wrap\@lg {
    flex-wrap: nowrap !important;
  }
  .flex-wrap\@lg {
    flex-wrap: wrap !important;
  }
  .flex-wrap-reverse\@lg {
    flex-wrap: wrap-reverse !important;
  }
  .items-start\@lg {
    -webkit-box-align: start !important;
    align-items: flex-start !important;
  }
  .items-center\@lg {
    -webkit-box-align: center !important;
    align-items: center !important;
  }
  .items-end\@lg {
    -webkit-box-align: end !important;
    align-items: flex-end !important;
  }
  .justify-start\@lg {
    -webkit-box-pack: start !important;
    justify-content: flex-start !important;
  }
  .justify-center\@lg {
    -webkit-box-pack: center !important;
    justify-content: center !important;
  }
  .justify-end\@lg {
    -webkit-box-pack: end !important;
    justify-content: flex-end !important;
  }
  .content-between\@lg {
    align-content: space-between !important;
  }
  .justify-between\@lg {
    -webkit-box-pack: justify !important;
    justify-content: space-between !important;
  }
  .justify-around\@lg {
    justify-content: space-around !important;
  }
}
@media (min-width: 1921px) {
  .flex-shrink\@xlg {
    flex-shrink: 1 !important;
  }
  .flex-no-shrink\@xlg {
    flex-shrink: 0 !important;
  }
  .flex-no-wrap\@xlg {
    flex-wrap: nowrap !important;
  }
  .flex-wrap\@xlg {
    flex-wrap: wrap !important;
  }
  .flex-wrap-reverse\@xlg {
    flex-wrap: wrap-reverse !important;
  }
  .items-start\@xlg {
    -webkit-box-align: start !important;
    align-items: flex-start !important;
  }
  .items-center\@xlg {
    -webkit-box-align: center !important;
    align-items: center !important;
  }
  .items-end\@xlg {
    -webkit-box-align: end !important;
    align-items: flex-end !important;
  }
  .justify-start\@xlg {
    -webkit-box-pack: start !important;
    justify-content: flex-start !important;
  }
  .justify-center\@xlg {
    -webkit-box-pack: center !important;
    justify-content: center !important;
  }
  .justify-end\@xlg {
    -webkit-box-pack: end !important;
    justify-content: flex-end !important;
  }
  .content-between\@xlg {
    align-content: space-between !important;
  }
  .justify-between\@xlg {
    -webkit-box-pack: justify !important;
    justify-content: space-between !important;
  }
  .justify-around\@xlg {
    justify-content: space-around !important;
  }
}
.pointer-events-none {
  pointer-events: none;
}
.pointer-events-auto {
  pointer-events: auto;
}
@media (min-width: 360px) {
  .pointer-events-none\@xs {
    pointer-events: none;
  }
  .pointer-events-auto\@xs {
    pointer-events: auto;
  }
}
@media (min-width: 768px) {
  .pointer-events-none\@sm {
    pointer-events: none;
  }
  .pointer-events-auto\@sm {
    pointer-events: auto;
  }
}
@media (min-width: 1024px) {
  .pointer-events-none\@md {
    pointer-events: none;
  }
  .pointer-events-auto\@md {
    pointer-events: auto;
  }
}
@media (min-width: 1366px) {
  .pointer-events-none\@lg {
    pointer-events: none;
  }
  .pointer-events-auto\@lg {
    pointer-events: auto;
  }
}
@media (min-width: 1921px) {
  .pointer-events-none\@xlg {
    pointer-events: none;
  }
  .pointer-events-auto\@xlg {
    pointer-events: auto;
  }
}
.relative {
  position: relative;
}
.absolute {
  position: absolute;
}
.fixed {
  position: fixed;
}
.sticky {
  position: -webkit-sticky;
  position: sticky;
}
.top {
  top: 0;
}
.right {
  right: 0;
}
.bottom {
  bottom: 0;
}
.fill,
.left {
  left: 0;
}
.fill {
  bottom: 0;
  right: 0;
  top: 0;
}
@media (min-width: 360px) {
  .relative\@xs {
    position: relative;
  }
  .absolute\@xs {
    position: absolute;
  }
  .fixed\@xs {
    position: fixed;
  }
  .sticky\@xs {
    position: -webkit-sticky;
    position: sticky;
  }
  .top\@xs {
    top: 0;
  }
  .right\@xs {
    right: 0;
  }
  .bottom\@xs {
    bottom: 0;
  }
  .fill\@xs {
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
  }
}
@media (min-width: 768px) {
  .relative\@sm {
    position: relative;
  }
  .absolute\@sm {
    position: absolute;
  }
  .fixed\@sm {
    position: fixed;
  }
  .sticky\@sm {
    position: -webkit-sticky;
    position: sticky;
  }
  .top\@sm {
    top: 0;
  }
  .right\@sm {
    right: 0;
  }
  .bottom\@sm {
    bottom: 0;
  }
  .fill\@sm {
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
  }
}
@media (min-width: 1024px) {
  .relative\@md {
    position: relative;
  }
  .absolute\@md {
    position: absolute;
  }
  .fixed\@md {
    position: fixed;
  }
  .sticky\@md {
    position: -webkit-sticky;
    position: sticky;
  }
  .top\@md {
    top: 0;
  }
  .right\@md {
    right: 0;
  }
  .bottom\@md {
    bottom: 0;
  }
  .fill\@md {
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
  }
}
@media (min-width: 1366px) {
  .relative\@lg {
    position: relative;
  }
  .absolute\@lg {
    position: absolute;
  }
  .fixed\@lg {
    position: fixed;
  }
  .sticky\@lg {
    position: -webkit-sticky;
    position: sticky;
  }
  .top\@lg {
    top: 0;
  }
  .right\@lg {
    right: 0;
  }
  .bottom\@lg {
    bottom: 0;
  }
  .fill\@lg {
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
  }
}
@media (min-width: 1921px) {
  .relative\@xlg {
    position: relative;
  }
  .absolute\@xlg {
    position: absolute;
  }
  .fixed\@xlg {
    position: fixed;
  }
  .sticky\@xlg {
    position: -webkit-sticky;
    position: sticky;
  }
  .top\@xlg {
    top: 0;
  }
  .right\@xlg {
    right: 0;
  }
  .bottom\@xlg {
    bottom: 0;
  }
  .fill\@xlg {
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
  }
}
.fill-current {
  fill: currentColor !important;
}
.fill-black {
  fill: #000 !important;
}
.stroke-black {
  stroke: #000 !important;
}
.fill-black-light {
  fill: #070707 !important;
}
.stroke-black-light {
  stroke: #070707 !important;
}
.fill-grey {
  fill: #2f2f2f !important;
}
.fill-grey-2 {
  fill: #3d424e !important;
}
.fill-grey-3 {
  fill: #9a9a9a !important;
}
.fill-grey-4 {
  fill: #bdbdbd !important;
}
.fill-grey-5 {
  fill: #e9e9e9 !important;
}
.fill-white {
  fill: #fff !important;
}
.stroke-white {
  stroke: #fff !important;
}
.fill-purple-light {
  fill: #ecd6ff !important;
}
.stroke-purple-light {
  stroke: #ecd6ff !important;
}
.fill-purple {
  fill: #8052ff !important;
}
.stroke-purple {
  stroke: #8052ff !important;
}
.fill-green {
  fill: #189b81 !important;
}
.fill-yellow {
  fill: #ffb829 !important;
}
.fill-linkedin {
  fill: #2867b2 !important;
}
.stroke-linkedin {
  stroke: #2867b2 !important;
}
.fill-twitter {
  fill: #1da1f2 !important;
}
.stroke-twitter {
  stroke: #1da1f2 !important;
}
.bg-black {
  background-color: #000 !important;
}
.t-black {
  color: #000 !important;
}
.bg-black-light {
  background-color: #070707 !important;
}
.t-black-light {
  color: #070707 !important;
}
.bg-grey {
  background-color: #2f2f2f !important;
}
.bg-grey-2 {
  background-color: #3d424e !important;
}
.bg-grey-3 {
  background-color: #9a9a9a !important;
}
.bg-grey-4 {
  background-color: #bdbdbd !important;
}
.t-grey-4 {
  color: #bdbdbd !important;
}
.bg-grey-5 {
  background-color: #e9e9e9 !important;
}
.bg-white {
  background-color: #fff !important;
}
.t-white {
  color: #fff !important;
}
.bg-purple-light {
  background-color: #ecd6ff !important;
}
.t-purple-light {
  color: #ecd6ff !important;
}
.bg-purple {
  background-color: #8052ff !important;
}
.t-purple {
  color: #8052ff !important;
}
.bg-green {
  background-color: #189b81 !important;
}
.bg-yellow {
  background-color: #ffb829 !important;
}
.t-yellow {
  color: #ffb829 !important;
}
/* Уменьшенный размер жёлтых строк заголовка лендинга (landing__title) — чтобы
   кнопки "Открыть приложение"/"Подробнее о тарифах" оставались полностью видны
   на экране при трёх жёлтых строках вместо двух. */
.hero-yellow {
  font-size: 3rem !important;
}
@media (min-width: 360px) {
  .hero-yellow {
    font-size: 4rem !important;
  }
}
@media (min-width: 768px) {
  .hero-yellow {
    font-size: 5.25rem !important;
  }
}
@media (min-width: 1024px) {
  .hero-yellow {
    font-size: 7.5rem !important;
  }
}
.bg-linkedin {
  background-color: #2867b2 !important;
}
.t-linkedin {
  color: #2867b2 !important;
}
.bg-twitter {
  background-color: #1da1f2 !important;
}
.t-twitter {
  color: #1da1f2 !important;
}
.t-uppercase {
  text-transform: uppercase !important;
}
.t-capitalize {
  text-transform: capitalize !important;
}
.t-nowrap {
  white-space: nowrap !important;
}
.t-no-underline {
  text-decoration: none !important;
}
.t-underline {
  text-decoration: underline !important;
}
.t-serif {
  font-family: Georgia, Cambria, Times New Roman, Times, serif !important;
}
.t-right {
  text-align: right !important;
}
.t-12 {
  font-size: 0.75rem !important;
}
.t-14 {
  font-size: 0.875rem !important;
}
.t-16 {
  font-size: 1rem !important;
}
.t-18 {
  font-size: 1.125rem !important;
}
.t-20 {
  font-size: 1.25rem !important;
}
.t-22 {
  font-size: 1.375rem !important;
}
.t-24 {
  font-size: 1.5rem !important;
}
.t-32 {
  font-size: 2rem !important;
}
.t-36 {
  font-size: 2.25rem !important;
}
.t-40 {
  font-size: 2.5rem !important;
}
.t-48 {
  font-size: 3rem !important;
}
.t-56 {
  font-size: 3.5rem !important;
}
.t-60 {
  font-size: 3.75rem !important;
}
.t-64 {
  font-size: 4rem !important;
}
.t-80 {
  font-size: 5rem !important;
}
.t-104 {
  font-size: 6.5rem !important;
}
.t-150 {
  font-size: 9.375rem !important;
}
.t-200 {
  font-weight: 200 !important;
}
.t-400 {
  font-weight: 400 !important;
}
.t-600 {
  font-weight: 600 !important;
}
.t-ls-0\.025 {
  letter-spacing: 0.025em !important;
}
.t-ls-0\.05 {
  letter-spacing: 0.05em !important;
}
.t-lh-0\.9 {
  line-height: 0.9 !important;
}
.t-lh-1 {
  line-height: 1 !important;
}
.t-lh-1\.1 {
  line-height: 1.1 !important;
}
.t-lh-1\.2 {
  line-height: 1.2 !important;
}
.t-lh-1\.25 {
  line-height: 1.25 !important;
}
.t-lh-1\.3 {
  line-height: 1.3 !important;
}
.t-lh-1\.4 {
  line-height: 1.4 !important;
}
.t-lh-1\.5 {
  line-height: 1.5 !important;
}
.t-lh-1\.6 {
  line-height: 1.6 !important;
}
@media (min-width: 360px) {
  .t-right\@xs {
    text-align: right !important;
  }
  .t-14\@xs {
    font-size: 0.875rem !important;
  }
  .t-80\@xs {
    font-size: 5rem !important;
  }
  .t-lh-1\.4\@xs {
    line-height: 1.4 !important;
  }
}
@media (min-width: 768px) {
  .t-right\@sm {
    text-align: right !important;
  }
  .t-16\@sm {
    font-size: 1rem !important;
  }
  .t-48\@sm {
    font-size: 3rem !important;
  }
  .t-56\@sm {
    font-size: 3.5rem !important;
  }
  .t-64\@sm {
    font-size: 4rem !important;
  }
  .t-104\@sm {
    font-size: 6.5rem !important;
  }
  .t-lh-0\.9\@sm {
    line-height: 0.9 !important;
  }
  .t-lh-1\.2\@sm {
    line-height: 1.2 !important;
  }
}
@media (min-width: 1024px) {
  .t-right\@md {
    text-align: right !important;
  }
  .t-56\@md {
    font-size: 3.5rem !important;
  }
  .t-64\@md {
    font-size: 4rem !important;
  }
  .t-104\@md {
    font-size: 6.5rem !important;
  }
  .t-150\@md {
    font-size: 9.375rem !important;
  }
  .t-lh-0\.9\@md {
    line-height: 0.9 !important;
  }
  .t-lh-1\.1\@md {
    line-height: 1.1 !important;
  }
  .t-lh-1\.2\@md {
    line-height: 1.2 !important;
  }
}
@media (min-width: 1366px) {
  .t-right\@lg {
    text-align: right !important;
  }
}
@media (min-width: 1921px) {
  .t-right\@xlg {
    text-align: right !important;
  }
}
.opacity-0 {
  opacity: 0;
}
.opacity-1 {
  opacity: 1;
}
@media (min-width: 360px) {
  .opacity-0\@xs {
    opacity: 0;
  }
  .opacity-1\@xs {
    opacity: 1;
  }
}
@media (min-width: 768px) {
  .opacity-0\@sm {
    opacity: 0;
  }
  .opacity-1\@sm {
    opacity: 1;
  }
}
@media (min-width: 1024px) {
  .opacity-0\@md {
    opacity: 0;
  }
  .opacity-1\@md {
    opacity: 1;
  }
}
@media (min-width: 1366px) {
  .opacity-0\@lg {
    opacity: 0;
  }
  .opacity-1\@lg {
    opacity: 1;
  }
}
@media (min-width: 1921px) {
  .opacity-0\@xlg {
    opacity: 0;
  }
  .opacity-1\@xlg {
    opacity: 1;
  }
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-visible {
  overflow: visible;
}
.overflow-x-hidden {
  overflow-x: hidden;
}
.overflow-x-visible {
  overflow-x: visible;
}
.overflow-y-hidden {
  overflow-y: hidden;
}
.overflow-y-visible {
  overflow-y: visible;
}
@media (min-width: 360px) {
  .overflow-hidden\@xs {
    overflow: hidden;
  }
  .overflow-visible\@xs {
    overflow: visible;
  }
  .overflow-x-hidden\@xs {
    overflow-x: hidden;
  }
  .overflow-x-visible\@xs {
    overflow-x: visible;
  }
  .overflow-y-hidden\@xs {
    overflow-y: hidden;
  }
  .overflow-y-visible\@xs {
    overflow-y: visible;
  }
}
@media (min-width: 768px) {
  .overflow-hidden\@sm {
    overflow: hidden;
  }
  .overflow-visible\@sm {
    overflow: visible;
  }
  .overflow-x-hidden\@sm {
    overflow-x: hidden;
  }
  .overflow-x-visible\@sm {
    overflow-x: visible;
  }
  .overflow-y-hidden\@sm {
    overflow-y: hidden;
  }
  .overflow-y-visible\@sm {
    overflow-y: visible;
  }
}
@media (min-width: 1024px) {
  .overflow-hidden\@md {
    overflow: hidden;
  }
  .overflow-visible\@md {
    overflow: visible;
  }
  .overflow-x-hidden\@md {
    overflow-x: hidden;
  }
  .overflow-x-visible\@md {
    overflow-x: visible;
  }
  .overflow-y-hidden\@md {
    overflow-y: hidden;
  }
  .overflow-y-visible\@md {
    overflow-y: visible;
  }
}
@media (min-width: 1366px) {
  .overflow-hidden\@lg {
    overflow: hidden;
  }
  .overflow-visible\@lg {
    overflow: visible;
  }
  .overflow-x-hidden\@lg {
    overflow-x: hidden;
  }
  .overflow-x-visible\@lg {
    overflow-x: visible;
  }
  .overflow-y-hidden\@lg {
    overflow-y: hidden;
  }
  .overflow-y-visible\@lg {
    overflow-y: visible;
  }
}
@media (min-width: 1921px) {
  .overflow-hidden\@xlg {
    overflow: hidden;
  }
  .overflow-visible\@xlg {
    overflow: visible;
  }
  .overflow-x-hidden\@xlg {
    overflow-x: hidden;
  }
  .overflow-x-visible\@xlg {
    overflow-x: visible;
  }
  .overflow-y-hidden\@xlg {
    overflow-y: hidden;
  }
  .overflow-y-visible\@xlg {
    overflow-y: visible;
  }
}
.user-select-none {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.z-negative {
  z-index: -1;
}

/* ────────────────────────────────────────────────────────────────────────
   HopeClass-контент (замена части секций Dala на контент HopeClass) —
   цвета намеренно те же токены бренда, что уже используются на странице:
   iris #8052ff, verdant #15846e, saffron/yellow #ffb829.
   ──────────────────────────────────────────────────────────────────────── */

.btn--ghost {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: #fff;
}
.btn--ghost:hover,
.btn--ghost:focus-visible {
  border-color: #fff;
  background-color: rgba(255, 255, 255, 0.07);
}
.btn--ghost .btn__hover {
  display: none;
}

/* ── Блок бета-теста (заменил секцию тарифов) ─────────────────────────── */
.beta-panel {
  max-width: 760px;
  margin: 0 auto;
  padding: 56px 32px;
  border: 1px solid rgba(128, 82, 255, 0.28);
  border-radius: 24px;
  background: radial-gradient(
    120% 140% at 50% 0%,
    rgba(128, 82, 255, 0.12),
    rgba(128, 82, 255, 0) 70%
  );
}
.beta-badge {
  display: inline-block;
  margin-bottom: 28px;
  padding: 9px 20px;
  border-radius: 999px;
  border: 1px solid rgba(128, 82, 255, 0.55);
  background: rgba(128, 82, 255, 0.14);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  -webkit-animation: betaGlow 2.8s ease-in-out infinite;
  animation: betaGlow 2.8s ease-in-out infinite;
}
@-webkit-keyframes betaGlow {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(128, 82, 255, 0);
  }
  50% {
    box-shadow: 0 0 26px 2px rgba(128, 82, 255, 0.45);
  }
}
@keyframes betaGlow {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(128, 82, 255, 0);
  }
  50% {
    box-shadow: 0 0 26px 2px rgba(128, 82, 255, 0.45);
  }
}
@media (prefers-reduced-motion: reduce) {
  .beta-badge {
    -webkit-animation: none;
    animation: none;
  }
}

.role-cards,
.pricing-cards,
.tech-cards,
.feature-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-top: 48px;
}
.tech-cards {
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 900px) {
  .role-cards,
  .pricing-cards,
  .tech-cards,
  .feature-cards {
    grid-template-columns: 1fr;
  }
}

.role-card,
.pricing-card,
.tech-card {
  text-align: left;
  border-top: 2px solid rgba(255, 255, 255, 0.16);
  padding-top: 24px;
}
.role-card--iris,
.pricing-card--featured {
  border-top-color: #8052ff;
}
.role-card--verdant {
  border-top-color: #15846e;
}
.role-card--saffron {
  border-top-color: #ffb829;
}

.role-card__title,
.pricing-card__title,
.tech-card__title {
  font-size: 24px;
  font-weight: 400;
  letter-spacing: -0.02em;
  margin-bottom: 16px;
  color: #fff;
}

.role-card__list,
.pricing-card__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.role-card__list li,
.pricing-card__list li {
  font-weight: 200;
  font-size: 15px;
  line-height: 1.5;
  color: #e2e2e2;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.8);
  display: flex;
  gap: 8px;
}
.role-card__list li::before {
  content: "▸";
  flex-shrink: 0;
}
.pricing-card__list li::before {
  content: "✓";
  flex-shrink: 0;
  color: #8052ff;
}

.pricing-card {
  display: flex;
  flex-direction: column;
}
.pricing-card--featured {
  position: relative;
}
.pricing-card__range {
  font-size: 14px;
  color: #c9c9c9;
  margin: 0 0 20px;
}
.pricing-card__price {
  font-size: 40px;
  font-weight: 400;
  letter-spacing: -0.03em;
  color: #fff;
}
.pricing-card__period {
  font-size: 15px;
  color: #c9c9c9;
  font-weight: 200;
}
.pricing-card__list {
  margin: 20px 0 28px;
  flex: 1;
}

.tech-card__desc {
  font-weight: 200;
  font-size: 15px;
  line-height: 1.5;
  color: #e2e2e2;
  margin: 0;
}

.placeholder-scene {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 901px) {
  .placeholder-scene {
    align-items: flex-start;
  }
}

.phone-carousel {
  position: relative;
  width: min(74vw, 365px, 40.65vh);
  aspect-ratio: 580 / 1120;
}
@media (min-width: 1024px) {
  .phone-carousel {
    margin-left: 12vw;
  }
}
.phone-carousel__viewport {
  position: absolute;
  inset: 0;
  left: -60%;
  right: -60%;
  overflow: hidden;
}
.phone-wheel {
  position: absolute;
  top: 0;
  left: 50%;
  width: calc(100% / 2.2);
  height: 100%;
  overflow: visible;
  transform: translateX(-50%);
  perspective: 1400px;
}
.phone-wheel__slide {
  position: absolute;
  inset: 0;
  transition: transform 600ms ease;
  will-change: transform;
}
.phone-wheel__slide .phone-wheel__img {
  display: block;
  width: 100%;
  height: 100%;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 28px;
  -webkit-user-drag: none;
  user-select: none;
  filter: brightness(0.45);
  transition: filter 600ms ease;
}
.phone-wheel__slide[data-role="active"] {
  transform: translate3d(0, 0, 0) scale(1);
  z-index: 2;
}
.phone-wheel__slide[data-role="active"] .phone-wheel__img {
  filter: brightness(1);
}
.phone-wheel__slide[data-role="prev"] {
  transform: translate3d(-82%, 0, -260px) scale(0.82);
  z-index: 1;
}
.phone-wheel__slide[data-role="next"] {
  transform: translate3d(82%, 0, -260px) scale(0.82);
  z-index: 1;
}
.phone-wheel__slide[data-role="hidden"] {
  transform: translate3d(0, 0, -600px) scale(0.4);
  opacity: 0;
  pointer-events: none;
  z-index: 0;
}
.phone-wheel__slide[data-role].is-sweeping {
  z-index: 0;
}
.phone-carousel__btn {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(20, 20, 28, 0.75);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  color: #fff;
  cursor: pointer;
  transform: translateY(-50%);
}
.phone-carousel__btn:hover:not(:disabled) {
  border-color: rgba(255, 255, 255, 0.35);
}
.phone-carousel__btn:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
.phone-carousel__btn--prev {
  left: -1.75rem;
}
.phone-carousel__btn--next {
  right: -1.75rem;
}
@media (min-width: 640px) {
  .phone-carousel__btn {
    width: 2.5rem;
    height: 2.5rem;
  }
  .phone-carousel__btn--prev {
    left: -3rem;
  }
  .phone-carousel__btn--next {
    right: -3rem;
  }
}
/* Граница измерена напрямую через elementFromPoint (не через getBoundingClientRect,
   который врёт на 3D-трансформах с perspective). ВАЖНО: .phone-carousel { width:
   min(74vw,365px,40.65vh) } зависит и от ВЫСОТЫ окна, не только от ширины — все
   предыдущие расчёты (763/760px) держались на высоте 900px, а при реальной
   высоте окна 600px телефон физически мельче (40.65vh=~244px вместо 365px), и
   зазор на тех же порогах ширины оказывался в разы больше ожидаемого. Пересчитано
   под высоту 600px: при ширине 557px зазор ~25px, при ширине ~506px зазор равен
   нулю. Если реальная высота окна у пользователя другая — зазор при этой же
   ширине будет иным (при большей высоте телефон крупнее — зазор меньше, и
   наоборот). Ниже 557px — один активный экран во всю ширину карусели, кросс-фейд. */
@media (max-width: 557px) {
  .phone-carousel__viewport {
    left: 0;
    right: 0;
  }
  .phone-wheel {
    width: 100%;
  }
  .phone-wheel__slide {
    transition: opacity 500ms ease;
  }
  .phone-wheel__slide[data-role="active"] {
    transform: none;
    opacity: 1;
    z-index: 2;
  }
  .phone-wheel__slide[data-role="prev"],
  .phone-wheel__slide[data-role="next"],
  .phone-wheel__slide[data-role="hidden"] {
    transform: none;
    opacity: 0;
    pointer-events: none;
    z-index: 0;
  }
  /* Стрелки теперь внутри карусели (поверх экрана), а не за её пределами —
     снаружи для них тоже может не быть места на узких экранах. */
  .phone-carousel__btn--prev {
    left: 0.5rem;
  }
  .phone-carousel__btn--next {
    right: 0.5rem;
  }
}
/* На тач-устройствах в режиме одного экрана стрелки не нужны — переключение
   свайпом (см. scripts/carousel/phone-wheel.js). На мыши в этом же режиме
   (узкое окно десктопа) стрелки остаются единственным способом переключения. */
@media (max-width: 557px) and (pointer: coarse) {
  .phone-carousel__btn {
    display: none;
  }
}
.cta-card {
  border-radius: 32px;
  padding: 4rem 2rem;
  background: linear-gradient(
    135deg,
    rgba(128, 82, 255, 0.22),
    rgba(21, 132, 110, 0.12)
  );
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.footer__social__link--pill {
  display: inline-flex;
  align-items: center;
  overflow: hidden;
  padding: 0.5rem 1.25rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  text-decoration: none;
}
.footer__social__link--pill:hover {
  border-color: #fff;
}
.footer__social .js-nav-item + .js-nav-item > .footer__social__link--pill {
  margin-left: 0.75rem;
}

/* apps/web/src/app/globals.css задаёт глобальное a:hover{text-decoration:underline}
   (та же специфичность 0,1,1, что и у голых .nav__link/.btn), которое побеждает по
   порядку подключения стилей и рисует подчёркивание там, где его быть не должно —
   селектор с тегом добивает специфичность выше конкурирующего правила. */
a.nav__link:hover,
a.nav__link:focus,
a.footer__nav__link:hover,
a.footer__nav__link:focus,
a.footer__social__link--pill:hover,
a.footer__social__link--pill:focus,
a.cookie-notice__link:hover,
a.cookie-notice__link:focus,
a.btn:hover,
a.btn:focus {
  text-decoration: none;
}

/* ════════════════════════════════════════════════════════════════════════
   СВЕТЛАЯ ТЕМА (html.theme-light — переключается кнопкой .js-theme-switch,
   см. landing-page.tsx). Меняются ТОЛЬКО цвета контента/фона/фоновых панелей.
   Сами фигуры (частицы-пирамидки), их шейдеры и все анимации (в т.ч. hover)
   не трогаются нигде — только клир-цвет WebGL-канваса вокруг них (см.
   window.hcApplyLandingTheme в theme.js) и фирменные акцентные цвета
   (#8052ff, #15846e, #ffb829, соц.иконки) — те же в обеих темах.

   Палитра (инверсия серой шкалы тёмной темы):
   #fff→#17171a  #e9e9e9→#262626  #bdbdbd→#4a4a4a  #9a9a9a→#6b6b6b
   #3d424e→#b8bcc4  #2f2f2f→#cfcfcf  #070707→#fafafa  #000→#fff
   ════════════════════════════════════════════════════════════════════════ */

html.theme-light body {
  background-color: #ffffff;
  color: #17171a;
}
html.theme-light .asscrollbar__handle > div {
  background-color: #000;
}

/* ── Переключатель тем — пилюля в header__inner между логотипом и остальными
   элементами (header__inner: space-between). ─────────────────────────────── */
.theme-switch {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  align-items: center;
  background-color: hsla(0, 0%, 100%, 0.15);
  border: 1px solid hsla(0, 0%, 100%, 0.25);
  border-radius: 999px;
  cursor: pointer;
  display: flex;
  flex-shrink: 0;
  height: 1.875rem;
  padding: 3px;
  pointer-events: auto;
  position: relative;
  transition: background-color 0.25s ease, border-color 0.25s ease;
  width: 3.375rem;
  z-index: 2;
}
.theme-switch__thumb {
  align-items: center;
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  display: flex;
  height: 1.5rem;
  justify-content: center;
  position: relative;
  transition: transform 0.25s cubic-bezier(0.5, 1, 0.89, 1);
  width: 1.5rem;
}
.theme-switch__icon {
  color: #6b6b6b;
  height: 0.8rem;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%) scale(1) rotate(0deg);
  transition: opacity 0.2s ease, transform 0.3s ease, color 0.25s ease;
  width: 0.8rem;
}
.theme-switch__icon--sun {
  color: #8052ff;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.4) rotate(-60deg);
}
html.theme-light .theme-switch {
  background-color: #8052ff;
  border-color: #8052ff;
}
html.theme-light .theme-switch__thumb {
  transform: translateX(1.5rem);
}
html.theme-light .theme-switch__icon--moon {
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.4) rotate(60deg);
}
html.theme-light .theme-switch__icon--sun {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1) rotate(0deg);
}

/* ── Header / мобильное меню ──────────────────────────────────────────────── */
html.theme-light .header-blur-block {
  background-color: #ffffff;
}
html.theme-light .header__bg-inner {
  background: linear-gradient(1turn, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.1));
}
html.theme-light .header__logo-text {
  color: #17171a !important;
}
html.theme-light .nav__bg {
  border-bottom-color: hsla(0, 0%, 0%, 0.1);
}
html.theme-light .nav__bg-inner {
  background: linear-gradient(1turn, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.1));
}
html.theme-light .nav__link {
  color: #17171a;
}
@media (min-width: 768px) {
  html.theme-light .nav__link {
    color: #6b6b6b;
  }
  html.theme-light .nav__item.isActive .nav__link,
  html.theme-light .nav__link:hover {
    color: #17171a;
  }
}

/* ── Кнопки ────────────────────────────────────────────────────────────────── */
html.theme-light .btn--ghost {
  border-color: hsla(0, 0%, 0%, 0.35);
  color: #17171a;
}
html.theme-light .btn--ghost:hover,
html.theme-light .btn--ghost:focus-visible {
  border-color: #17171a;
  background-color: rgba(0, 0, 0, 0.05);
}
html.theme-light .beta-panel {
  border-color: rgba(128, 82, 255, 0.32);
}
html.theme-light .beta-badge {
  color: #6f42ff;
  background: rgba(128, 82, 255, 0.1);
  border-color: rgba(128, 82, 255, 0.45);
}

/* ── Секции контента (манифест, карточки ценностей) ──────────────────────────── */
html.theme-light .manifesto--introduction .manifesto__body p {
  color: #17171a;
}
html.theme-light .value-card {
  background: linear-gradient(1turn, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.1));
  border-color: hsla(0, 0%, 0%, 0.1);
}

/* ── Карточки ролей/тарифов/технологий (HopeClass-контент) ──────────────────── */
html.theme-light .role-card,
html.theme-light .pricing-card,
html.theme-light .tech-card {
  border-top-color: hsla(0, 0%, 0%, 0.16);
}
html.theme-light .role-card--iris,
html.theme-light .pricing-card--featured {
  border-top-color: #8052ff;
}
html.theme-light .role-card--verdant {
  border-top-color: #15846e;
}
html.theme-light .role-card--saffron {
  border-top-color: #ffb829;
}
html.theme-light .role-card__title,
html.theme-light .pricing-card__title,
html.theme-light .tech-card__title,
html.theme-light .pricing-card__price {
  color: #17171a;
}
html.theme-light .role-card__list li,
html.theme-light .pricing-card__list li,
html.theme-light .tech-card__desc {
  color: #262626;
  text-shadow: none;
}
html.theme-light .pricing-card__range,
html.theme-light .pricing-card__period {
  color: #404040;
}

/* ── Карусель телефонов (стрелки — сами скриншоты не трогаем) ────────────────── */
html.theme-light .phone-carousel__btn {
  background: rgba(255, 255, 255, 0.75);
  border-color: hsla(0, 0%, 0%, 0.16);
  color: #17171a;
}
html.theme-light .phone-carousel__btn:hover:not(:disabled) {
  border-color: hsla(0, 0%, 0%, 0.35);
}

/* ── Команда / контакты ────────────────────────────────────────────────────── */
html.theme-light .contact-card__link {
  color: #17171a;
}
html.theme-light .team-card__social__link {
  color: #17171a;
}

/* ── Cookie-уведомление ───────────────────────────────────────────────────── */
html.theme-light .cookie-notice {
  background: linear-gradient(1turn, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.1));
  border-color: hsla(0, 0%, 0%, 0.1);
}
html.theme-light .cookie-notice a {
  color: #17171a;
}

/* ── Загрузочный экран и маска перехода между секциями ───────────────────────── */
html.theme-light .site-loader__background,
html.theme-light .nav-transition-mask-bg {
  background-color: #ffffff;
}
html.theme-light .site-loader__spinner-svg rect,
html.theme-light .nav-transition-mask__spinner-svg rect {
  fill: #17171a;
}

/* ── Футер ─────────────────────────────────────────────────────────────────── */
html.theme-light .footer__bar {
  background: linear-gradient(1turn, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.1));
  border-top-color: hsla(0, 0%, 0%, 0.1);
}
html.theme-light .footer__logo__text {
  color: #17171a;
}
html.theme-light .footer__nav__link {
  color: #17171a;
}
@media (min-width: 768px) {
  html.theme-light .footer__nav__link {
    color: #6b6b6b;
  }
  html.theme-light .footer__nav__link:hover {
    color: #17171a;
  }
}
html.theme-light .footer__social__link {
  color: #17171a;
}
html.theme-light .footer__social__link--pill {
  border-color: hsla(0, 0%, 0%, 0.35);
  color: #17171a;
}
html.theme-light .footer__social__link--pill:hover {
  border-color: #17171a;
}

/* ── Мобильный блюр-фон (общий миксин, переиспользуется в разных секциях) ────── */
html.theme-light .mobile-blur:after {
  background: linear-gradient(1turn, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.1));
}

/* ── Жёлтый акцент заголовка (t-yellow) — на светлом фоне заменяем на фирменный
   фиолетовый, чтобы не терялась связь с брендом и сохранялся контраст. ──────── */
html.theme-light .t-yellow {
  color: #7c4dff !important;
}

/* ── Глобальный text-shadow (см. body p { text-shadow: 0 0 8px rgba(0,0,0,.8) })
   в тёмной теме невидим (чёрный блюр на чёрном фоне), а в светлой проявляется
   как тёмное "свечение"/ореол вокруг текста — убираем целиком. ────────────── */
html.theme-light p {
  text-shadow: none;
}

/* ── Копирайт в футере — был светло-серым (#bdbdbd), на светлом фоне сливался
   с фоном; выравниваем по тону с соседними ссылками футера. ────────────────── */
html.theme-light .footer__copyright {
  color: #4a4a4a;
}
