@charset "UTF-8";html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  padding: 0;
  margin: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
  border: 0;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote::before, blockquote::after {
  content: none;
}

q::before, q::after {
  content: none;
}

table {
  border-spacing: 0;
  border-collapse: collapse;
}
@font-face {
  font-family: "Inter";
  src: url("../fonts/Inter-Thin.woff2") format("woff2"), url("../fonts/Inter-Thin.woff") format("woff");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("../fonts/Inter-ExtraLight.woff2") format("woff2"), url("../fonts/Inter-ExtraLight.woff") format("woff");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("../fonts/Inter-Light.woff2") format("woff2"), url("../fonts/Inter-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("../fonts/Inter-Regular.woff2") format("woff2"), url("../fonts/Inter-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("../fonts/Inter-Medium.woff2") format("woff2"), url("../fonts/Inter-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("../fonts/Inter-SemiBold.woff2") format("woff2"), url("../fonts/Inter-SemiBold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("../fonts/Inter-Bold.woff2") format("woff2"), url("../fonts/Inter-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("../fonts/Inter-ExtraBold.woff2") format("woff2"), url("../fonts/Inter-ExtraBold.woff") format("woff");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("../fonts/Inter-Heavy.woff2") format("woff2"), url("../fonts/Inter-Heavy.woff") format("woff");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
/*! 
 * OverlayScrollbars
 * Version: 2.16.0
 * 
 * Copyright (c) Rene Haas | KingSora.
 * https://github.com/KingSora
 * 
 * Released under the MIT license.
 */
.os-size-observer,
.os-size-observer-listener {
  scroll-behavior: auto !important;
  direction: inherit;
  pointer-events: none;
  overflow: hidden;
  visibility: hidden;
  box-sizing: border-box;
}

.os-size-observer,
.os-size-observer-listener,
.os-size-observer-listener-item,
.os-size-observer-listener-item-final {
  writing-mode: horizontal-tb;
  position: absolute;
  left: 0;
  top: 0;
}

.os-size-observer {
  z-index: -1;
  contain: strict;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  padding: inherit;
  border: inherit;
  box-sizing: inherit;
  margin: -133px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: scale(0.1);
}

.os-size-observer::before {
  content: "";
  flex: none;
  box-sizing: inherit;
  padding: 10px;
  width: 10px;
  height: 10px;
}

.os-size-observer-appear {
  animation: os-size-observer-appear-animation 1ms forwards;
}

.os-size-observer-listener {
  box-sizing: border-box;
  position: relative;
  flex: auto;
  padding: inherit;
  border: inherit;
  margin: -133px;
  transform: scale(10);
}

.os-size-observer-listener.ltr {
  margin-right: -266px;
  margin-left: 0;
}

.os-size-observer-listener.rtl {
  margin-left: -266px;
  margin-right: 0;
}

.os-size-observer-listener:empty::before {
  content: "";
  width: 100%;
  height: 100%;
}

.os-size-observer-listener:empty::before, .os-size-observer-listener > .os-size-observer-listener-item {
  display: block;
  position: relative;
  padding: inherit;
  border: inherit;
  box-sizing: content-box;
  flex: auto;
}

.os-size-observer-listener-scroll {
  box-sizing: border-box;
  display: flex;
}

.os-size-observer-listener-item {
  right: 0;
  bottom: 0;
  overflow: hidden;
  direction: ltr;
  flex: none;
}

.os-size-observer-listener-item-final {
  transition: none;
}

@keyframes os-size-observer-appear-animation {
  from {
    cursor: auto;
  }
  to {
    cursor: none;
  }
}
.os-trinsic-observer {
  flex: none;
  box-sizing: border-box;
  position: relative;
  max-width: 0px;
  max-height: 1px;
  padding: 0;
  margin: 0;
  border: none;
  overflow: hidden;
  z-index: -1;
  height: 0;
  top: calc(100% + 1px);
  contain: strict;
}

.os-trinsic-observer:not(:empty) {
  height: calc(100% + 1px);
  top: -1px;
}

.os-trinsic-observer:not(:empty) > .os-size-observer {
  width: 1000%;
  height: 1000%;
  min-height: 1px;
  min-width: 1px;
}

/**
 * hide native scrollbars
 * changes to this styles need to be reflected in the environment styles to correctly detect scrollbar hiding
 */
/**
 * body element
 */
html[data-overlayscrollbars-body] {
  overflow: hidden;
}

html[data-overlayscrollbars-body],
html[data-overlayscrollbars-body] > body {
  width: 100%;
  height: 100%;
  margin: 0;
}

html[data-overlayscrollbars-body] > body {
  overflow: visible;
  margin: 0;
}

/**
 * structure setup 
 */
[data-overlayscrollbars] {
  position: relative;
}

[data-overlayscrollbars~=host],
[data-overlayscrollbars-padding] {
  display: flex;
  align-items: stretch !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  scroll-behavior: auto !important;
}

[data-overlayscrollbars-padding],
[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]) {
  box-sizing: inherit;
  position: relative;
  flex: auto;
  height: auto;
  width: 100%;
  min-width: 0;
  padding: 0;
  margin: 0;
  border: none;
  z-index: 0;
}

[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]) {
  --os-vaw: 0;
  --os-vah: 0;
  outline: none;
}

[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]):focus {
  outline: none;
}

[data-overlayscrollbars-viewport][data-overlayscrollbars-viewport~=arrange]::before {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: -1;
  min-width: 1px;
  min-height: 1px;
  width: var(--os-vaw);
  height: var(--os-vah);
}

/**
 * wrapper elements overflow:
 */
[data-overlayscrollbars~=host],
[data-overlayscrollbars-padding] {
  overflow: hidden !important;
}

[data-overlayscrollbars~=host][data-overlayscrollbars~=noClipping],
[data-overlayscrollbars-padding~=noClipping] {
  overflow: visible !important;
}

/**
 * viewport overflow:
 */
[data-overlayscrollbars-viewport] {
  --os-viewport-overflow-x: hidden;
  --os-viewport-overflow-y: hidden;
  overflow-x: var(--os-viewport-overflow-x);
  overflow-y: var(--os-viewport-overflow-y);
}

[data-overlayscrollbars-viewport~=overflowXVisible] {
  --os-viewport-overflow-x: visible;
}

[data-overlayscrollbars-viewport~=overflowXHidden] {
  --os-viewport-overflow-x: hidden;
}

[data-overlayscrollbars-viewport~=overflowXScroll] {
  --os-viewport-overflow-x: scroll;
}

[data-overlayscrollbars-viewport~=overflowYVisible] {
  --os-viewport-overflow-y: visible;
}

[data-overlayscrollbars-viewport~=overflowYHidden] {
  --os-viewport-overflow-y: hidden;
}

[data-overlayscrollbars-viewport~=overflowYScroll] {
  --os-viewport-overflow-y: scroll;
}

[data-overlayscrollbars-viewport~=overflowImportant] {
  overflow-x: var(--os-viewport-overflow-x) !important;
  overflow-y: var(--os-viewport-overflow-y) !important;
}

/**
 * viewport state modifiers:
 */
[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId) {
  font-size: 0 !important;
  line-height: 0 !important;
}

[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)::before,
[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)::after,
[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId) > *:not(#osFakeId) {
  display: none !important;
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border-width: 0 !important;
}

[data-overlayscrollbars-viewport~=measuring],
[data-overlayscrollbars-viewport~=scrolling] {
  scroll-behavior: auto !important;
  scroll-snap-type: none !important;
}

[data-overlayscrollbars-viewport~=measuring][data-overlayscrollbars-viewport~=overflowXVisible] {
  overflow-x: hidden !important;
}

[data-overlayscrollbars-viewport~=measuring][data-overlayscrollbars-viewport~=overflowYVisible] {
  overflow-y: hidden !important;
}

/**
 * content element:
 */
[data-overlayscrollbars-content] {
  box-sizing: inherit;
}

/**
 * Display contents to bridge any flickering during deferred initialization.
 */
[data-overlayscrollbars-contents]:not(#osFakeId):not([data-overlayscrollbars-padding]):not([data-overlayscrollbars-viewport]):not([data-overlayscrollbars-content]) {
  display: contents;
}

/**
 * optional & experimental grid mode
 */
[data-overlayscrollbars-grid],
[data-overlayscrollbars-grid] [data-overlayscrollbars-padding] {
  display: grid;
  grid-template: 1fr/1fr;
}

[data-overlayscrollbars-grid] > [data-overlayscrollbars-padding],
[data-overlayscrollbars-grid] > [data-overlayscrollbars-viewport],
[data-overlayscrollbars-grid] > [data-overlayscrollbars-padding] > [data-overlayscrollbars-viewport] {
  height: auto !important;
  width: auto !important;
}

@property --os-scroll-percent {
  syntax: "<number>";
  inherits: true;
  initial-value: 0;
}
@property --os-viewport-percent {
  syntax: "<number>";
  inherits: true;
  initial-value: 0;
}
.os-scrollbar {
  --os-viewport-percent: 0;
  --os-scroll-percent: 0;
  --os-scroll-direction: 0;
  --os-scroll-percent-directional: calc(
    var(--os-scroll-percent) - (var(--os-scroll-percent) + (1 - var(--os-scroll-percent)) * -1) *
      var(--os-scroll-direction)
  );
}

.os-scrollbar {
  contain: size layout;
  contain: size layout style;
  transition: opacity 0.15s, visibility 0.15s, top 0.15s, right 0.15s, bottom 0.15s, left 0.15s;
  pointer-events: none;
  position: absolute;
  opacity: 0;
  visibility: hidden;
}

body > .os-scrollbar {
  position: fixed;
  z-index: 99999;
}

.os-scrollbar-transitionless {
  transition: none !important;
}

.os-scrollbar-track {
  position: relative;
  padding: 0 !important;
  border: none !important;
}

.os-scrollbar-handle {
  position: absolute;
}

.os-scrollbar-track,
.os-scrollbar-handle {
  pointer-events: none;
  width: 100%;
  height: 100%;
}

.os-scrollbar.os-scrollbar-track-interactive .os-scrollbar-track,
.os-scrollbar.os-scrollbar-handle-interactive .os-scrollbar-handle {
  pointer-events: auto;
  touch-action: none;
}

.os-scrollbar-horizontal {
  bottom: 0;
  left: 0;
}

.os-scrollbar-vertical {
  top: 0;
  right: 0;
}

.os-scrollbar-rtl.os-scrollbar-horizontal {
  right: 0;
}

.os-scrollbar-rtl.os-scrollbar-vertical {
  right: auto;
  left: 0;
}

.os-scrollbar-visible {
  opacity: 1;
  visibility: visible;
}

.os-scrollbar-auto-hide.os-scrollbar-auto-hide-hidden {
  opacity: 0;
  visibility: hidden;
}

.os-scrollbar-interaction.os-scrollbar-visible {
  opacity: 1;
  visibility: visible;
}

.os-scrollbar-unusable,
.os-scrollbar-unusable *,
.os-scrollbar-wheel,
.os-scrollbar-wheel * {
  pointer-events: none !important;
}

.os-scrollbar-unusable .os-scrollbar-handle {
  opacity: 0 !important;
  transition: none !important;
}

.os-scrollbar-horizontal .os-scrollbar-handle {
  bottom: 0;
  left: calc(var(--os-scroll-percent-directional) * 100%);
  transform: translateX(calc(var(--os-scroll-percent-directional) * -100%));
  width: calc(var(--os-viewport-percent) * 100%);
}

.os-scrollbar-vertical .os-scrollbar-handle {
  right: 0;
  top: calc(var(--os-scroll-percent-directional) * 100%);
  transform: translateY(calc(var(--os-scroll-percent-directional) * -100%));
  height: calc(var(--os-viewport-percent) * 100%);
}

@supports (container-type: size) {
  .os-scrollbar-track {
    container-type: size;
  }
  .os-scrollbar-horizontal .os-scrollbar-handle {
    left: auto;
    transform: translateX(calc(var(--os-scroll-percent-directional) * 100cqw + var(--os-scroll-percent-directional) * -100%));
  }
  .os-scrollbar-vertical .os-scrollbar-handle {
    top: auto;
    transform: translateY(calc(var(--os-scroll-percent-directional) * 100cqh + var(--os-scroll-percent-directional) * -100%));
  }
  .os-scrollbar-rtl.os-scrollbar-horizontal .os-scrollbar-handle {
    right: auto;
    left: 0;
  }
}
.os-scrollbar-rtl.os-scrollbar-vertical .os-scrollbar-handle {
  right: auto;
  left: 0;
}

.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless,
.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless.os-scrollbar-rtl {
  left: 0;
  right: 0;
}

.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless,
.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless.os-scrollbar-rtl {
  top: 0;
  bottom: 0;
}

@media print {
  .os-scrollbar {
    display: none;
  }
}
.os-scrollbar {
  --os-size: 0;
  --os-padding-perpendicular: 0;
  --os-padding-axis: 0;
  --os-track-border-radius: 0;
  --os-track-bg: none;
  --os-track-bg-hover: none;
  --os-track-bg-active: none;
  --os-track-border: none;
  --os-track-border-hover: none;
  --os-track-border-active: none;
  --os-handle-border-radius: 0;
  --os-handle-bg: none;
  --os-handle-bg-hover: none;
  --os-handle-bg-active: none;
  --os-handle-border: none;
  --os-handle-border-hover: none;
  --os-handle-border-active: none;
  --os-handle-min-size: 33px;
  --os-handle-max-size: none;
  --os-handle-perpendicular-size: 100%;
  --os-handle-perpendicular-size-hover: 100%;
  --os-handle-perpendicular-size-active: 100%;
  --os-handle-interactive-area-offset: 0;
}

.os-scrollbar-track {
  border: var(--os-track-border);
  border-radius: var(--os-track-border-radius);
  background: var(--os-track-bg);
  transition: opacity 0.15s, background-color 0.15s, border-color 0.15s;
}

.os-scrollbar-track:hover {
  border: var(--os-track-border-hover);
  background: var(--os-track-bg-hover);
}

.os-scrollbar-track:active {
  border: var(--os-track-border-active);
  background: var(--os-track-bg-active);
}

.os-scrollbar-handle {
  border: var(--os-handle-border);
  border-radius: var(--os-handle-border-radius);
  background: var(--os-handle-bg);
}

.os-scrollbar-handle:hover {
  border: var(--os-handle-border-hover);
  background: var(--os-handle-bg-hover);
}

.os-scrollbar-handle:active {
  border: var(--os-handle-border-active);
  background: var(--os-handle-bg-active);
}

.os-scrollbar-track:before,
.os-scrollbar-handle:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: block;
}

.os-scrollbar-horizontal {
  padding: var(--os-padding-perpendicular) var(--os-padding-axis);
  right: var(--os-size);
  height: var(--os-size);
}

.os-scrollbar-horizontal.os-scrollbar-rtl {
  left: var(--os-size);
  right: 0;
}

.os-scrollbar-horizontal .os-scrollbar-track:before {
  top: calc(var(--os-padding-perpendicular) * -1);
  bottom: calc(var(--os-padding-perpendicular) * -1);
}

.os-scrollbar-horizontal .os-scrollbar-handle {
  min-width: var(--os-handle-min-size);
  max-width: var(--os-handle-max-size);
  height: var(--os-handle-perpendicular-size);
  transition: opacity 0.15s, background-color 0.15s, border-color 0.15s, height 0.15s;
}

.os-scrollbar-horizontal .os-scrollbar-handle:before {
  top: calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);
  bottom: calc(var(--os-padding-perpendicular) * -1);
}

.os-scrollbar-horizontal:hover .os-scrollbar-handle {
  height: var(--os-handle-perpendicular-size-hover);
}

.os-scrollbar-horizontal:active .os-scrollbar-handle {
  height: var(--os-handle-perpendicular-size-active);
}

.os-scrollbar-vertical {
  padding: var(--os-padding-axis) var(--os-padding-perpendicular);
  bottom: var(--os-size);
  width: var(--os-size);
}

.os-scrollbar-vertical .os-scrollbar-track:before {
  left: calc(var(--os-padding-perpendicular) * -1);
  right: calc(var(--os-padding-perpendicular) * -1);
}

.os-scrollbar-vertical .os-scrollbar-handle {
  min-height: var(--os-handle-min-size);
  max-height: var(--os-handle-max-size);
  width: var(--os-handle-perpendicular-size);
  transition: opacity 0.15s, background-color 0.15s, border-color 0.15s, width 0.15s;
}

.os-scrollbar-vertical .os-scrollbar-handle:before {
  left: calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);
  right: calc(var(--os-padding-perpendicular) * -1);
}

.os-scrollbar-vertical.os-scrollbar-rtl .os-scrollbar-handle:before {
  right: calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset)) * -1);
  left: calc(var(--os-padding-perpendicular) * -1);
}

.os-scrollbar-vertical:hover .os-scrollbar-handle {
  width: var(--os-handle-perpendicular-size-hover);
}

.os-scrollbar-vertical:active .os-scrollbar-handle {
  width: var(--os-handle-perpendicular-size-active);
}

/* NONE THEME: */
[data-overlayscrollbars-viewport~=measuring] > .os-scrollbar,
.os-theme-none.os-scrollbar {
  display: none !important;
}

/* DARK & LIGHT THEME: */
.os-theme-dark,
.os-theme-light {
  box-sizing: border-box;
  --os-size: 10px;
  --os-padding-perpendicular: 2px;
  --os-padding-axis: 2px;
  --os-track-border-radius: 10px;
  --os-handle-interactive-area-offset: 4px;
  --os-handle-border-radius: 10px;
}

.os-theme-dark {
  --os-handle-bg: rgba(0, 0, 0, 0.44);
  --os-handle-bg-hover: rgba(0, 0, 0, 0.55);
  --os-handle-bg-active: rgba(0, 0, 0, 0.66);
}

.os-theme-light {
  --os-handle-bg: rgba(255, 255, 255, 0.44);
  --os-handle-bg-hover: rgba(255, 255, 255, 0.55);
  --os-handle-bg-active: rgba(255, 255, 255, 0.66);
}

[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport]),
[data-overlayscrollbars-viewport~=scrollbarHidden],
html[data-overlayscrollbars-viewport~=scrollbarHidden] > body {
  scrollbar-width: none !important;
}

[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport])::-webkit-scrollbar,
[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport])::-webkit-scrollbar-corner,
[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar,
[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar-corner,
html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar,
html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar-corner {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

[data-overlayscrollbars-initialize]:not([data-overlayscrollbars]):not(html):not(body) {
  overflow: auto;
}

/**
 * Swiper 14.0.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2026 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 26, 2026
 */
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
  .swiper-slide,
  .swiper-cube-shadow {
    transform-style: preserve-3d;
  }
}

/* CSS Mode */
.swiper-css-mode {
  > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none; /* For Firefox */
    -ms-overflow-style: none; /* For Internet Explorer and Edge */
    &::-webkit-scrollbar {
      display: none;
    }
  }
  > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
  }
  &.swiper-horizontal {
    > .swiper-wrapper {
      scroll-snap-type: x mandatory;
    }
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-inline-start: var(--swiper-slides-offset-before);
      scroll-margin-inline-start: var(--swiper-slides-offset-before);
    }
    > .swiper-wrapper > .swiper-slide:last-child {
      margin-inline-end: var(--swiper-slides-offset-after);
    }
  }
  &.swiper-vertical {
    > .swiper-wrapper {
      scroll-snap-type: y mandatory;
    }
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-block-start: var(--swiper-slides-offset-before);
      scroll-margin-block-start: var(--swiper-slides-offset-before);
    }
    > .swiper-wrapper > .swiper-slide:last-child {
      margin-block-end: var(--swiper-slides-offset-after);
    }
  }
  &.swiper-free-mode {
    > .swiper-wrapper {
      scroll-snap-type: none;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: none;
    }
  }
  &.swiper-centered {
    > .swiper-wrapper::before {
      content: "";
      flex-shrink: 0;
      order: 9999;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: center center;
      scroll-snap-stop: always;
    }
  }
  &.swiper-centered.swiper-horizontal {
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-inline-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper::before {
      height: 100%;
      min-height: 1px;
      width: var(--swiper-centered-offset-after);
    }
  }
  &.swiper-centered.swiper-vertical {
    > .swiper-wrapper > .swiper-slide:first-child {
      margin-block-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper::before {
      width: 100%;
      min-width: 1px;
      height: var(--swiper-centered-offset-after);
    }
  }
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d {
  .swiper-slide-shadow,
  .swiper-slide-shadow-left,
  .swiper-slide-shadow-right,
  .swiper-slide-shadow-top,
  .swiper-slide-shadow-bottom,
  .swiper-slide-shadow,
  .swiper-slide-shadow-left,
  .swiper-slide-shadow-right,
  .swiper-slide-shadow-top,
  .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
  }
  .swiper-slide-shadow {
    background: rgba(0, 0, 0, 0.15);
  }
  .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress),
.swiper-watch-progress .swiper-slide-visible {
  .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear;
  }
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode {
  .swiper-wrapper::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
  }
}

.swiper-virtual.swiper-css-mode.swiper-horizontal {
  .swiper-wrapper::after {
    height: 1px;
    width: var(--swiper-virtual-size);
  }
}

.swiper-virtual.swiper-css-mode.swiper-vertical {
  .swiper-wrapper::after {
    width: 1px;
    height: var(--swiper-virtual-size);
  }
}

:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-top-offset: 50%;
  --swiper-navigation-sides-offset: 4px;
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  width: var(--swiper-navigation-size);
  height: var(--swiper-navigation-size);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
  &.swiper-button-disabled {
    opacity: 0.35;
    cursor: auto;
    pointer-events: none;
  }
  &.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none;
  }
  .swiper-navigation-disabled & {
    display: none !important;
  }
  ::slotted(svg),
  svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform-origin: center;
    fill: currentColor;
    pointer-events: none;
  }
}

.swiper-button-lock {
  display: none;
}

.swiper-button-prev,
.swiper-button-next {
  top: var(--swiper-navigation-top-offset, 50%);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
}

.swiper-button-prev {
  left: var(--swiper-navigation-sides-offset, 4px);
  right: auto;
  ::slotted(.swiper-navigation-icon),
  .swiper-navigation-icon {
    transform: rotate(180deg);
  }
}

.swiper-button-next {
  right: var(--swiper-navigation-sides-offset, 4px);
  left: auto;
}

.swiper-horizontal {
  .swiper-button-prev,
  .swiper-button-next,
  ~ .swiper-button-prev,
  ~ .swiper-button-next {
    top: var(--swiper-navigation-top-offset, 50%);
    margin-top: calc(0px - var(--swiper-navigation-size) / 2);
    margin-left: 0;
  }
  .swiper-button-prev,
  & ~ .swiper-button-prev,
  &.swiper-rtl .swiper-button-next,
  &.swiper-rtl ~ .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 4px);
    right: auto;
  }
  .swiper-button-next,
  & ~ .swiper-button-next,
  &.swiper-rtl .swiper-button-prev,
  &.swiper-rtl ~ .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 4px);
    left: auto;
  }
  .swiper-button-prev,
  & ~ .swiper-button-prev,
  &.swiper-rtl .swiper-button-next,
  &.swiper-rtl ~ .swiper-button-next {
    ::slotted(.swiper-navigation-icon),
    .swiper-navigation-icon {
      transform: rotate(180deg);
    }
  }
  &.swiper-rtl .swiper-button-prev,
  &.swiper-rtl ~ .swiper-button-prev {
    ::slotted(.swiper-navigation-icon),
    .swiper-navigation-icon {
      transform: rotate(0deg);
    }
  }
}

.swiper-vertical {
  .swiper-button-prev,
  .swiper-button-next,
  ~ .swiper-button-prev,
  ~ .swiper-button-next {
    left: var(--swiper-navigation-top-offset, 50%);
    right: auto;
    margin-left: calc(0px - var(--swiper-navigation-size) / 2);
    margin-top: 0;
  }
  .swiper-button-prev,
  ~ .swiper-button-prev {
    top: var(--swiper-navigation-sides-offset, 4px);
    bottom: auto;
    ::slotted(.swiper-navigation-icon),
    .swiper-navigation-icon {
      transform: rotate(-90deg);
    }
  }
  .swiper-button-next,
  ~ .swiper-button-next {
    bottom: var(--swiper-navigation-sides-offset, 4px);
    top: auto;
    ::slotted(.swiper-navigation-icon),
    .swiper-navigation-icon {
      transform: rotate(90deg);
    }
  }
}

:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-left: auto;
  --swiper-pagination-right: 8px;
  --swiper-pagination-bottom: 8px;
  --swiper-pagination-top: auto;
  --swiper-pagination-fraction-color: inherit;
  --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
  --swiper-pagination-progressbar-size: 4px;
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-border-radius: 50%;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
  */
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
  &.swiper-pagination-hidden {
    opacity: 0;
  }
  .swiper-pagination-disabled > &,
  &.swiper-pagination-disabled {
    display: none !important;
  }
}

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
  .swiper-pagination-bullet {
    transform: scale(0.33);
    position: relative;
  }
  .swiper-pagination-bullet-active {
    transform: scale(1);
  }
  .swiper-pagination-bullet-active-main {
    transform: scale(1);
  }
  .swiper-pagination-bullet-active-prev {
    transform: scale(0.66);
  }
  .swiper-pagination-bullet-active-prev-prev {
    transform: scale(0.33);
  }
  .swiper-pagination-bullet-active-next {
    transform: scale(0.66);
  }
  .swiper-pagination-bullet-active-next-next {
    transform: scale(0.33);
  }
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
  button& {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    appearance: none;
  }
  .swiper-pagination-clickable & {
    cursor: pointer;
  }
  &:only-child {
    display: none !important;
  }
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
  .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
    display: block;
  }
  &.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    .swiper-pagination-bullet {
      display: inline-block;
      transition: 200ms transform, 200ms top;
    }
  }
}

.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-horizontal.swiper-pagination-bullets {
  .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
  }
  &.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    .swiper-pagination-bullet {
      transition: 200ms transform, 200ms left;
    }
  }
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right;
}

/* Fraction */
.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

/* Progress */
.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
  .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top;
  }
  .swiper-rtl & .swiper-pagination-progressbar-fill {
    transform-origin: right top;
  }
  .swiper-horizontal > &,
  &.swiper-pagination-horizontal,
  .swiper-vertical > &.swiper-pagination-progressbar-opposite,
  &.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: var(--swiper-pagination-progressbar-size, 4px);
    left: 0;
    top: 0;
  }
  .swiper-vertical > &,
  &.swiper-pagination-vertical,
  .swiper-horizontal > &.swiper-pagination-progressbar-opposite,
  &.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
    width: var(--swiper-pagination-progressbar-size, 4px);
    height: 100%;
    left: 0;
    top: 0;
  }
}

.swiper-pagination-lock {
  display: none;
}

:root {
  /*
  --swiper-scrollbar-border-radius: 10px;
  --swiper-scrollbar-top: auto;
  --swiper-scrollbar-bottom: 4px;
  --swiper-scrollbar-left: auto;
  --swiper-scrollbar-right: 4px;
  --swiper-scrollbar-sides-offset: 1%;
  --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1);
  --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5);
  --swiper-scrollbar-size: 4px;
  */
}

.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
  .swiper-scrollbar-disabled > &,
  &.swiper-scrollbar-disabled {
    display: none !important;
  }
  .swiper-horizontal > &,
  &.swiper-scrollbar-horizontal {
    position: absolute;
    left: var(--swiper-scrollbar-sides-offset, 1%);
    bottom: var(--swiper-scrollbar-bottom, 4px);
    top: var(--swiper-scrollbar-top, auto);
    z-index: 50;
    height: var(--swiper-scrollbar-size, 4px);
    width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
  }
  .swiper-vertical > &,
  &.swiper-scrollbar-vertical {
    position: absolute;
    left: var(--swiper-scrollbar-left, auto);
    right: var(--swiper-scrollbar-right, 4px);
    top: var(--swiper-scrollbar-sides-offset, 1%);
    z-index: 50;
    width: var(--swiper-scrollbar-size, 4px);
    height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
  }
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

/* Zoom container styles start */
.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  > img,
  > svg,
  > canvas {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }
}

/* Zoom container styles end */
.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}

/* a11y */
.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-thumbs {
  .swiper-slide-thumb-active {
    /* Styles for active thumb slide */
  }
}

.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-fade {
  &.swiper-free-mode {
    .swiper-slide {
      transition-timing-function: ease-out;
    }
  }
  .swiper-slide {
    pointer-events: none;
    transition-property: opacity;
    .swiper-slide {
      pointer-events: none;
    }
  }
  .swiper-slide-active {
    pointer-events: auto;
    & .swiper-slide-active {
      pointer-events: auto;
    }
  }
}

.swiper.swiper-cube {
  overflow: visible;
}

.swiper-cube {
  .swiper-slide {
    pointer-events: none;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    transform-origin: 0 0;
    width: 100%;
    height: 100%;
    .swiper-slide {
      pointer-events: none;
    }
  }
  &.swiper-rtl .swiper-slide {
    transform-origin: 100% 0;
  }
  .swiper-slide-active {
    &,
    & .swiper-slide-active {
      pointer-events: auto;
    }
  }
  .swiper-slide-active,
  .swiper-slide-next,
  .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible;
  }
  .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 100%;
    height: 100%;
    opacity: 0.6;
    z-index: 0;
    &:before {
      content: "";
      background: #000;
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      right: 0;
      filter: blur(50px);
    }
  }
}

.swiper-cube {
  .swiper-slide-next + .swiper-slide {
    pointer-events: auto;
    visibility: visible;
  }
}

/* Cube slide shadows start */
.swiper-cube {
  .swiper-slide-shadow-cube.swiper-slide-shadow-top,
  .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
  .swiper-slide-shadow-cube.swiper-slide-shadow-left,
  .swiper-slide-shadow-cube.swiper-slide-shadow-right {
    z-index: 0;
    backface-visibility: hidden;
  }
}

/* Cube slide shadows end */
.swiper.swiper-flip {
  overflow: visible;
}

.swiper-flip {
  .swiper-slide {
    pointer-events: none;
    backface-visibility: hidden;
    z-index: 1;
    .swiper-slide {
      pointer-events: none;
    }
  }
  .swiper-slide-active {
    &,
    & .swiper-slide-active {
      pointer-events: auto;
    }
  }
}

/* Flip slide shadows start */
.swiper-flip {
  .swiper-slide-shadow-flip.swiper-slide-shadow-top,
  .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
  .swiper-slide-shadow-flip.swiper-slide-shadow-left,
  .swiper-slide-shadow-flip.swiper-slide-shadow-right {
    z-index: 0;
    backface-visibility: hidden;
  }
}

/* Flip slide shadows end */
.swiper-creative {
  .swiper-slide {
    backface-visibility: hidden;
    overflow: hidden;
    transition-property: transform, opacity, height;
  }
}

.swiper.swiper-cards {
  overflow: visible;
}

.swiper-cards {
  .swiper-slide {
    transform-origin: center bottom;
    backface-visibility: hidden;
    overflow: hidden;
  }
}

.air-datepicker-cell.-year-.-other-decade-, .air-datepicker-cell.-day-.-other-month- {
  color: var(--adp-color-other-month);
}

.air-datepicker-cell.-year-.-other-decade-:hover, .air-datepicker-cell.-day-.-other-month-:hover {
  color: var(--adp-color-other-month-hover);
}

.-disabled-.-focus-.air-datepicker-cell.-year-.-other-decade-, .-disabled-.-focus-.air-datepicker-cell.-day-.-other-month- {
  color: var(--adp-color-other-month);
}

.-selected-.air-datepicker-cell.-year-.-other-decade-, .-selected-.air-datepicker-cell.-day-.-other-month- {
  color: #fff;
  background: var(--adp-background-color-selected-other-month);
}

.-selected-.-focus-.air-datepicker-cell.-year-.-other-decade-, .-selected-.-focus-.air-datepicker-cell.-day-.-other-month- {
  background: var(--adp-background-color-selected-other-month-focused);
}

.-in-range-.air-datepicker-cell.-year-.-other-decade-, .-in-range-.air-datepicker-cell.-day-.-other-month- {
  background-color: var(--adp-background-color-in-range);
  color: var(--adp-color);
}

.-in-range-.-focus-.air-datepicker-cell.-year-.-other-decade-, .-in-range-.-focus-.air-datepicker-cell.-day-.-other-month- {
  background-color: var(--adp-background-color-in-range-focused);
}

.air-datepicker-cell.-year-.-other-decade-:empty, .air-datepicker-cell.-day-.-other-month-:empty {
  background: none;
  border: none;
}

.air-datepicker-cell {
  border-radius: var(--adp-cell-border-radius);
  box-sizing: border-box;
  cursor: pointer;
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  z-index: 1;
}

.air-datepicker-cell.-focus- {
  background: var(--adp-cell-background-color-hover);
}

.air-datepicker-cell.-current- {
  color: var(--adp-color-current-date);
}

.air-datepicker-cell.-current-.-focus- {
  color: var(--adp-color);
}

.air-datepicker-cell.-current-.-in-range- {
  color: var(--adp-color-current-date);
}

.air-datepicker-cell.-disabled- {
  cursor: default;
  color: var(--adp-color-disabled);
}

.air-datepicker-cell.-disabled-.-focus- {
  color: var(--adp-color-disabled);
}

.air-datepicker-cell.-disabled-.-in-range- {
  color: var(--adp-color-disabled-in-range);
}

.air-datepicker-cell.-disabled-.-current-.-focus- {
  color: var(--adp-color-disabled);
}

.air-datepicker-cell.-in-range- {
  background: var(--adp-cell-background-color-in-range);
  border-radius: 0;
}

.air-datepicker-cell.-in-range-:hover, .air-datepicker-cell.-in-range-.-focus- {
  background: var(--adp-cell-background-color-in-range-hover);
}

.air-datepicker-cell.-range-from- {
  border: 1px solid var(--adp-cell-border-color-in-range);
  background-color: var(--adp-cell-background-color-in-range);
  border-radius: var(--adp-cell-border-radius) 0 0 var(--adp-cell-border-radius);
}

.air-datepicker-cell.-range-to- {
  border: 1px solid var(--adp-cell-border-color-in-range);
  background-color: var(--adp-cell-background-color-in-range);
  border-radius: 0 var(--adp-cell-border-radius) var(--adp-cell-border-radius) 0;
}

.air-datepicker-cell.-range-to-.-range-from- {
  border-radius: var(--adp-cell-border-radius);
}

.air-datepicker-cell.-selected- {
  color: #fff;
  border: none;
  background: var(--adp-cell-background-color-selected);
}

.air-datepicker-cell.-selected-.-current- {
  color: #fff;
  background: var(--adp-cell-background-color-selected);
}

.air-datepicker-cell.-selected-.-focus- {
  background: var(--adp-cell-background-color-selected-hover);
}

.air-datepicker-body {
  transition: all var(--adp-transition-duration) var(--adp-transition-ease);
}

.air-datepicker-body.-hidden- {
  display: none;
}

.air-datepicker-body--day-names {
  display: grid;
  grid-template-columns: repeat(7, var(--adp-day-cell-width));
  margin: 8px 0 3px;
}

.air-datepicker-body--day-name {
  color: var(--adp-day-name-color);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  text-align: center;
  text-transform: uppercase;
  font-size: 0.8em;
}

.air-datepicker-body--day-name.-clickable- {
  cursor: pointer;
}

.air-datepicker-body--day-name.-clickable-:hover {
  color: var(--adp-day-name-color-hover);
}

.air-datepicker-body--cells {
  display: grid;
}

.air-datepicker-body--cells.-days- {
  grid-template-columns: repeat(7, var(--adp-day-cell-width));
  grid-auto-rows: var(--adp-day-cell-height);
}

.air-datepicker-body--cells.-months- {
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: var(--adp-month-cell-height);
}

.air-datepicker-body--cells.-years- {
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: var(--adp-year-cell-height);
}

.air-datepicker-nav {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid var(--adp-border-color-inner);
  min-height: var(--adp-nav-height);
  padding: var(--adp-padding);
  box-sizing: content-box;
}

.-only-timepicker- .air-datepicker-nav {
  display: none;
}

.air-datepicker-nav--title, .air-datepicker-nav--action {
  display: flex;
  cursor: pointer;
  align-items: center;
  justify-content: center;
}

.air-datepicker-nav--action {
  width: var(--adp-nav-action-size);
  border-radius: var(--adp-border-radius);
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.air-datepicker-nav--action:hover {
  background: var(--adp-background-color-hover);
}

.air-datepicker-nav--action:active {
  background: var(--adp-background-color-active);
}

.air-datepicker-nav--action.-disabled- {
  visibility: hidden;
}

.air-datepicker-nav--action svg {
  width: 32px;
  height: 32px;
}

.air-datepicker-nav--action path {
  fill: none;
  stroke: var(--adp-nav-arrow-color);
  stroke-width: 2px;
}

.air-datepicker-nav--title {
  border-radius: var(--adp-border-radius);
  padding: 0 8px;
}

.air-datepicker-nav--title i {
  font-style: normal;
  color: var(--adp-nav-color-secondary);
  margin-left: 0.3em;
}

.air-datepicker-nav--title:hover {
  background: var(--adp-background-color-hover);
}

.air-datepicker-nav--title:active {
  background: var(--adp-background-color-active);
}

.air-datepicker-nav--title.-disabled- {
  cursor: default;
  background: none;
}

.air-datepicker-buttons {
  display: grid;
  grid-auto-columns: 1fr;
  grid-auto-flow: column;
}

.air-datepicker-button {
  display: inline-flex;
  color: var(--adp-btn-color);
  border-radius: var(--adp-btn-border-radius);
  cursor: pointer;
  height: var(--adp-btn-height);
  border: none;
  background: rgba(255, 255, 255, 0);
}

.air-datepicker-button:hover {
  color: var(--adp-btn-color-hover);
  background: var(--adp-btn-background-color-hover);
}

.air-datepicker-button:focus {
  color: var(--adp-btn-color-hover);
  background: var(--adp-btn-background-color-hover);
  outline: none;
}

.air-datepicker-button:active {
  background: var(--adp-btn-background-color-active);
}

.air-datepicker-button span {
  outline: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.air-datepicker-time {
  display: grid;
  grid-template-columns: max-content 1fr;
  grid-column-gap: 12px;
  align-items: center;
  position: relative;
  padding: 0 var(--adp-time-padding-inner);
}

.-only-timepicker- .air-datepicker-time {
  border-top: none;
}

.air-datepicker-time--current {
  display: flex;
  align-items: center;
  flex: 1;
  font-size: 14px;
  text-align: center;
}

.air-datepicker-time--current-colon {
  margin: 0 2px 3px;
  line-height: 1;
}

.air-datepicker-time--current-hours, .air-datepicker-time--current-minutes {
  line-height: 1;
  font-size: 19px;
  font-family: "Century Gothic", CenturyGothic, AppleGothic, sans-serif;
  position: relative;
  z-index: 1;
}

.air-datepicker-time--current-hours:after, .air-datepicker-time--current-minutes:after {
  content: "";
  background: var(--adp-background-color-hover);
  border-radius: var(--adp-border-radius);
  position: absolute;
  left: -2px;
  top: -3px;
  right: -2px;
  bottom: -2px;
  z-index: -1;
  opacity: 0;
}

.air-datepicker-time--current-hours.-focus-:after, .air-datepicker-time--current-minutes.-focus-:after {
  opacity: 1;
}

.air-datepicker-time--current-ampm {
  text-transform: uppercase;
  align-self: flex-end;
  color: var(--adp-time-day-period-color);
  margin-left: 6px;
  font-size: 11px;
  margin-bottom: 1px;
}

.air-datepicker-time--row {
  display: flex;
  align-items: center;
  font-size: 11px;
  height: 17px;
  background: linear-gradient(to right, var(--adp-time-track-color), var(--adp-time-track-color)) left 50%/100% var(--adp-time-track-height) no-repeat;
}

.air-datepicker-time--row:first-child {
  margin-bottom: 4px;
}

.air-datepicker-time--row input[type=range] {
  background: none;
  cursor: pointer;
  flex: 1;
  height: 100%;
  width: 100%;
  padding: 0;
  margin: 0;
  -webkit-appearance: none;
}

.air-datepicker-time--row input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
}

.air-datepicker-time--row input[type=range]::-ms-tooltip {
  display: none;
}

.air-datepicker-time--row input[type=range]:hover::-webkit-slider-thumb {
  border-color: var(--adp-time-track-color-hover);
}

.air-datepicker-time--row input[type=range]:hover::-moz-range-thumb {
  border-color: var(--adp-time-track-color-hover);
}

.air-datepicker-time--row input[type=range]:hover::-ms-thumb {
  border-color: var(--adp-time-track-color-hover);
}

.air-datepicker-time--row input[type=range]:focus {
  outline: none;
}

.air-datepicker-time--row input[type=range]:focus::-webkit-slider-thumb {
  background: var(--adp-cell-background-color-selected);
  border-color: var(--adp-cell-background-color-selected);
}

.air-datepicker-time--row input[type=range]:focus::-moz-range-thumb {
  background: var(--adp-cell-background-color-selected);
  border-color: var(--adp-cell-background-color-selected);
}

.air-datepicker-time--row input[type=range]:focus::-ms-thumb {
  background: var(--adp-cell-background-color-selected);
  border-color: var(--adp-cell-background-color-selected);
}

.air-datepicker-time--row input[type=range]::-webkit-slider-thumb {
  box-sizing: border-box;
  height: 12px;
  width: 12px;
  border-radius: 3px;
  border: 1px solid var(--adp-time-track-color);
  background: #fff;
  cursor: pointer;
  -webkit-transition: background var(--adp-transition-duration);
  transition: background var(--adp-transition-duration);
}

.air-datepicker-time--row input[type=range]::-moz-range-thumb {
  box-sizing: border-box;
  height: 12px;
  width: 12px;
  border-radius: 3px;
  border: 1px solid var(--adp-time-track-color);
  background: #fff;
  cursor: pointer;
  -moz-transition: background var(--adp-transition-duration);
  transition: background var(--adp-transition-duration);
}

.air-datepicker-time--row input[type=range]::-ms-thumb {
  box-sizing: border-box;
  height: 12px;
  width: 12px;
  border-radius: 3px;
  border: 1px solid var(--adp-time-track-color);
  background: #fff;
  cursor: pointer;
  -ms-transition: background var(--adp-transition-duration);
  transition: background var(--adp-transition-duration);
}

.air-datepicker-time--row input[type=range]::-webkit-slider-thumb {
  margin-top: calc(var(--adp-time-thumb-size) / 2 * -1);
}

.air-datepicker-time--row input[type=range]::-webkit-slider-runnable-track {
  border: none;
  height: var(--adp-time-track-height);
  cursor: pointer;
  color: rgba(0, 0, 0, 0);
  background: rgba(0, 0, 0, 0);
}

.air-datepicker-time--row input[type=range]::-moz-range-track {
  border: none;
  height: var(--adp-time-track-height);
  cursor: pointer;
  color: rgba(0, 0, 0, 0);
  background: rgba(0, 0, 0, 0);
}

.air-datepicker-time--row input[type=range]::-ms-track {
  border: none;
  height: var(--adp-time-track-height);
  cursor: pointer;
  color: rgba(0, 0, 0, 0);
  background: rgba(0, 0, 0, 0);
}

.air-datepicker-time--row input[type=range]::-ms-fill-lower {
  background: rgba(0, 0, 0, 0);
}

.air-datepicker-time--row input[type=range]::-ms-fill-upper {
  background: rgba(0, 0, 0, 0);
}

.air-datepicker {
  --adp-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  --adp-font-size: 14px;
  --adp-width: 246px;
  --adp-z-index: 100;
  --adp-padding: 4px;
  --adp-grid-areas: "nav" "body" "timepicker" "buttons";
  --adp-transition-duration: .3s;
  --adp-transition-ease: ease-out;
  --adp-transition-offset: 8px;
  --adp-background-color: #fff;
  --adp-background-color-hover: #f0f0f0;
  --adp-background-color-active: #eaeaea;
  --adp-background-color-in-range: rgba(92, 196, 239, .1);
  --adp-background-color-in-range-focused: rgba(92, 196, 239, .2);
  --adp-background-color-selected-other-month-focused: #8ad5f4;
  --adp-background-color-selected-other-month: #a2ddf6;
  --adp-color: #4a4a4a;
  --adp-color-secondary: #9c9c9c;
  --adp-accent-color: #4eb5e6;
  --adp-color-current-date: var(--adp-accent-color);
  --adp-color-other-month: #dedede;
  --adp-color-disabled: #aeaeae;
  --adp-color-disabled-in-range: #939393;
  --adp-color-other-month-hover: #c5c5c5;
  --adp-border-color: #dbdbdb;
  --adp-border-color-inner: #efefef;
  --adp-border-radius: 4px;
  --adp-border-color-inline: #d7d7d7;
  --adp-nav-height: 32px;
  --adp-nav-arrow-color: var(--adp-color-secondary);
  --adp-nav-action-size: 32px;
  --adp-nav-color-secondary: var(--adp-color-secondary);
  --adp-day-name-color: #ff9a19;
  --adp-day-name-color-hover: #8ad5f4;
  --adp-day-cell-width: 1fr;
  --adp-day-cell-height: 32px;
  --adp-month-cell-height: 42px;
  --adp-year-cell-height: 56px;
  --adp-pointer-size: 10px;
  --adp-poiner-border-radius: 2px;
  --adp-pointer-offset: 14px;
  --adp-cell-border-radius: 4px;
  --adp-cell-background-color-hover: var(--adp-background-color-hover);
  --adp-cell-background-color-selected: #5cc4ef;
  --adp-cell-background-color-selected-hover: #45bced;
  --adp-cell-background-color-in-range: rgba(92, 196, 239, 0.1);
  --adp-cell-background-color-in-range-hover: rgba(92, 196, 239, 0.2);
  --adp-cell-border-color-in-range: var(--adp-cell-background-color-selected);
  --adp-btn-height: 32px;
  --adp-btn-color: var(--adp-accent-color);
  --adp-btn-color-hover: var(--adp-color);
  --adp-btn-border-radius: var(--adp-border-radius);
  --adp-btn-background-color-hover: var(--adp-background-color-hover);
  --adp-btn-background-color-active: var(--adp-background-color-active);
  --adp-time-track-height: 1px;
  --adp-time-track-color: #dedede;
  --adp-time-track-color-hover: #b1b1b1;
  --adp-time-thumb-size: 12px;
  --adp-time-padding-inner: 10px;
  --adp-time-day-period-color: var(--adp-color-secondary);
  --adp-mobile-font-size: 16px;
  --adp-mobile-nav-height: 40px;
  --adp-mobile-width: 320px;
  --adp-mobile-day-cell-height: 38px;
  --adp-mobile-month-cell-height: 48px;
  --adp-mobile-year-cell-height: 64px;
}

.air-datepicker-overlay {
  --adp-overlay-background-color: rgba(0, 0, 0, .3);
  --adp-overlay-transition-duration: .3s;
  --adp-overlay-transition-ease: ease-out;
  --adp-overlay-z-index: 99;
}

.air-datepicker {
  background: var(--adp-background-color);
  border: 1px solid var(--adp-border-color);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  border-radius: var(--adp-border-radius);
  box-sizing: content-box;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(4, max-content);
  grid-template-areas: var(--adp-grid-areas);
  font-family: var(--adp-font-family), sans-serif;
  font-size: var(--adp-font-size);
  color: var(--adp-color);
  width: var(--adp-width);
  position: absolute;
  transition: opacity var(--adp-transition-duration) var(--adp-transition-ease), transform var(--adp-transition-duration) var(--adp-transition-ease);
  z-index: var(--adp-z-index);
}

.air-datepicker:not(.-custom-position-) {
  opacity: 0;
}

.air-datepicker.-from-top- {
  transform: translateY(calc(var(--adp-transition-offset) * -1));
}

.air-datepicker.-from-right- {
  transform: translateX(var(--adp-transition-offset));
}

.air-datepicker.-from-bottom- {
  transform: translateY(var(--adp-transition-offset));
}

.air-datepicker.-from-left- {
  transform: translateX(calc(var(--adp-transition-offset) * -1));
}

.air-datepicker.-active-:not(.-custom-position-) {
  transform: translate(0, 0);
  opacity: 1;
}

.air-datepicker.-active-.-custom-position- {
  transition: none;
}

.air-datepicker.-inline- {
  border-color: var(--adp-border-color-inline);
  box-shadow: none;
  position: static;
  left: auto;
  right: auto;
  opacity: 1;
  transform: none;
}

.air-datepicker.-inline- .air-datepicker--pointer {
  display: none;
}

.air-datepicker.-is-mobile- {
  --adp-font-size: var(--adp-mobile-font-size);
  --adp-day-cell-height: var(--adp-mobile-day-cell-height);
  --adp-month-cell-height: var(--adp-mobile-month-cell-height);
  --adp-year-cell-height: var(--adp-mobile-year-cell-height);
  --adp-nav-height: var(--adp-mobile-nav-height);
  --adp-nav-action-size: var(--adp-mobile-nav-height);
  position: fixed;
  width: var(--adp-mobile-width);
  border: none;
}

.air-datepicker.-is-mobile- * {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.air-datepicker.-is-mobile- .air-datepicker--pointer {
  display: none;
}

.air-datepicker.-is-mobile-:not(.-custom-position-) {
  transform: translate(-50%, calc(-50% + var(--adp-transition-offset)));
}

.air-datepicker.-is-mobile-.-active-:not(.-custom-position-) {
  transform: translate(-50%, -50%);
}

.air-datepicker.-custom-position- {
  transition: none;
}

.air-datepicker-global-container {
  position: absolute;
  left: 0;
  top: 0;
}

.air-datepicker--pointer {
  --pointer-half-size: calc(var(--adp-pointer-size) / 2);
  position: absolute;
  width: var(--adp-pointer-size);
  height: var(--adp-pointer-size);
  z-index: -1;
}

.air-datepicker--pointer:after {
  content: "";
  position: absolute;
  background: #fff;
  border-top: 1px solid var(--adp-border-color-inline);
  border-right: 1px solid var(--adp-border-color-inline);
  border-top-right-radius: var(--adp-poiner-border-radius);
  width: var(--adp-pointer-size);
  height: var(--adp-pointer-size);
  box-sizing: border-box;
}

.-top-left- .air-datepicker--pointer, .-top-center- .air-datepicker--pointer, .-top-right- .air-datepicker--pointer, [data-popper-placement^=top] .air-datepicker--pointer {
  top: calc(100% - var(--pointer-half-size) + 1px);
}

.-top-left- .air-datepicker--pointer:after, .-top-center- .air-datepicker--pointer:after, .-top-right- .air-datepicker--pointer:after, [data-popper-placement^=top] .air-datepicker--pointer:after {
  transform: rotate(135deg);
}

.-right-top- .air-datepicker--pointer, .-right-center- .air-datepicker--pointer, .-right-bottom- .air-datepicker--pointer, [data-popper-placement^=right] .air-datepicker--pointer {
  right: calc(100% - var(--pointer-half-size) + 1px);
}

.-right-top- .air-datepicker--pointer:after, .-right-center- .air-datepicker--pointer:after, .-right-bottom- .air-datepicker--pointer:after, [data-popper-placement^=right] .air-datepicker--pointer:after {
  transform: rotate(225deg);
}

.-bottom-left- .air-datepicker--pointer, .-bottom-center- .air-datepicker--pointer, .-bottom-right- .air-datepicker--pointer, [data-popper-placement^=bottom] .air-datepicker--pointer {
  bottom: calc(100% - var(--pointer-half-size) + 1px);
}

.-bottom-left- .air-datepicker--pointer:after, .-bottom-center- .air-datepicker--pointer:after, .-bottom-right- .air-datepicker--pointer:after, [data-popper-placement^=bottom] .air-datepicker--pointer:after {
  transform: rotate(315deg);
}

.-left-top- .air-datepicker--pointer, .-left-center- .air-datepicker--pointer, .-left-bottom- .air-datepicker--pointer, [data-popper-placement^=left] .air-datepicker--pointer {
  left: calc(100% - var(--pointer-half-size) + 1px);
}

.-left-top- .air-datepicker--pointer:after, .-left-center- .air-datepicker--pointer:after, .-left-bottom- .air-datepicker--pointer:after, [data-popper-placement^=left] .air-datepicker--pointer:after {
  transform: rotate(45deg);
}

.-top-left- .air-datepicker--pointer, .-bottom-left- .air-datepicker--pointer {
  left: var(--adp-pointer-offset);
}

.-top-right- .air-datepicker--pointer, .-bottom-right- .air-datepicker--pointer {
  right: var(--adp-pointer-offset);
}

.-top-center- .air-datepicker--pointer, .-bottom-center- .air-datepicker--pointer {
  left: calc(50% - var(--adp-pointer-size) / 2);
}

.-left-top- .air-datepicker--pointer, .-right-top- .air-datepicker--pointer {
  top: var(--adp-pointer-offset);
}

.-left-bottom- .air-datepicker--pointer, .-right-bottom- .air-datepicker--pointer {
  bottom: var(--adp-pointer-offset);
}

.-left-center- .air-datepicker--pointer, .-right-center- .air-datepicker--pointer {
  top: calc(50% - var(--adp-pointer-size) / 2);
}

.air-datepicker--navigation {
  grid-area: nav;
}

.air-datepicker--content {
  box-sizing: content-box;
  padding: var(--adp-padding);
  grid-area: body;
}

.-only-timepicker- .air-datepicker--content {
  display: none;
}

.air-datepicker--time {
  grid-area: timepicker;
}

.air-datepicker--buttons {
  grid-area: buttons;
}

.air-datepicker--buttons, .air-datepicker--time {
  padding: var(--adp-padding);
  border-top: 1px solid var(--adp-border-color-inner);
}

.air-datepicker-overlay {
  position: fixed;
  background: var(--adp-overlay-background-color);
  left: 0;
  top: 0;
  width: 0;
  height: 0;
  opacity: 0;
  transition: opacity var(--adp-overlay-transition-duration) var(--adp-overlay-transition-ease), left 0s, height 0s, width 0s;
  transition-delay: 0s, var(--adp-overlay-transition-duration), var(--adp-overlay-transition-duration), var(--adp-overlay-transition-duration);
  z-index: var(--adp-overlay-z-index);
}

.air-datepicker-overlay.-active- {
  opacity: 1;
  width: 100%;
  height: 100%;
  transition: opacity var(--adp-overlay-transition-duration) var(--adp-overlay-transition-ease), height 0s, width 0s;
}

/* Media */
/** <picture> mobile artboards (mobileImage / *-mobile.*) */
/* Container */
/* Fonts */
/* Global */
/* UI */
:root {
  --white: #fff;
  --black: #2B2B2B;
  --lime: #DAE666;
  --lime-light: #F0F8B7;
  --lilac-100: #DAE666;
  --lilac-200: #c9d65a;
  --lilac-300: #2B2B2B;
  --pink-100: #2B2B2B;
  --pink-200: #91918E;
  --pink-300: #91918E;
  --pink-700: #F1F1F1;
  --pink-800: #F5F5F5;
  --pink-900: #2B2B2B;
  --pink-1100: #F5F5F5;
  --gray-100: #2B2B2B;
  --gray-200: #91918E;
  --gray-300: #CCCCCC;
  --gray-400: #F1F1F1;
  --gray-500: #F5F5F5;
  --gray-600: #1B1B1B;
  --gray-800: #CCCCCC;
  --gray-900: #F1F1F1;
  --error: #E5483F;
  --success: #3CC567;
}

:root[data-theme=light] {
  --white: #fff;
  --black: #2B2B2B;
  --lime: #DAE666;
  --lime-light: #F0F8B7;
  --lilac-100: #DAE666;
  --lilac-200: #c9d65a;
  --lilac-300: #2B2B2B;
  --pink-100: #2B2B2B;
  --pink-200: #91918E;
  --pink-300: #91918E;
  --pink-700: #F1F1F1;
  --pink-800: #F5F5F5;
  --pink-900: #2B2B2B;
  --pink-1100: #F5F5F5;
  --gray-100: #2B2B2B;
  --gray-200: #91918E;
  --gray-300: #CCCCCC;
  --gray-400: #F1F1F1;
  --gray-500: #F5F5F5;
  --gray-600: #1B1B1B;
  --gray-800: #CCCCCC;
  --gray-900: #F1F1F1;
  --error: #E5483F;
  --success: #3CC567;
}

:root {
  --color-main: var(--black);
  --bg-color-main: #f1f1f1;
  --color-accent: var(--lime);
  --color-muted: var(--gray-200);
  --error-diff: var(--error);
  --transparent-bg-black: rgba(109, 109, 109, 0.5);
  --desktop-point: 1920;
  --mobile-point: 1024;
  --ps: calc(max(100vw, 1024px) / var(--desktop-point));
  --swiper-theme-color: var(--black);
  --header-height: 5rem;
}
@media (max-width: 1024px) {
  :root {
    --header-height: 4rem;
  }
}

html {
  color: var(--color-main);
  background-color: var(--bg-color-main);
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: background-color, color;
}

picture {
  display: block;
}
picture img {
  width: 100%;
}

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

.svg {
  width: 1em;
  height: 1em;
  flex-shrink: 0;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: color;
}

[data-tabs-panel]:not(.active) {
  display: none;
}

.sticky-block {
  position: relative;
}

[tabindex="-1"]:focus {
  outline: none;
}

* {
  box-sizing: border-box;
}

html:not(.is-ready) * {
  transition-duration: 0s !important;
}
html.scroll-locked, html.with-fancybox {
  overflow: hidden;
}
html.scroll-locked body, html.with-fancybox body {
  padding-right: var(--scrollbar-width);
}
html.scroll-locked .header, html.with-fancybox .header {
  width: calc(100% - var(--scrollbar-width));
}

html,
body {
  width: 100%;
  min-height: 100%;
  min-height: 100dvh;
}

@media (max-width: 1024px) {
  html {
    overflow-x: clip;
  }
}
body {
  font-family: "Inter", "Arial", sans-serif;
  font-feature-settings: "liga" off, "clig" off;
  color: var(--black);
  background-color: #f1f1f1;
}

.main {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding-top: var(--header-height);
}

.container {
  --container-padding-native: 32px;
  --container-max-width-native: 100.5rem;
  --container-padding: 0 var(--container-padding-native);
  --container-max-width: calc(var(--container-max-width-native) + (2 * var(--container-padding-native)));
  width: 100%;
  min-width: 320px;
  max-width: var(--container-max-width);
  padding: var(--container-padding);
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .container {
    --container-padding-native: 14px;
  }
}
.container--wide {
  --container-max-width-native: 106rem;
}

.section {
  margin: var(--section-margin);
  padding: var(--section-padding);
  border-radius: var(--section-border-radius);
  overflow: hidden;
  --section-header-margin: 0 0 4rem;
  --section-footer-margin: 3rem 0 0;
  --section-margin: 0;
  --section-padding: 4.6875rem 0;
  --section-border-radius: 0;
}
@media (max-width: 1024px) {
  .section {
    --section-padding: 1.25rem 0;
  }
}
.section--first {
  --section-padding: 0 0 4.6875rem;
}
@media (max-width: 1024px) {
  .section--first {
    --section-padding: 0 0 1.25rem;
  }
}
.section--last {
  --section-padding: 4.6875rem 0 9.375rem;
}
@media (max-width: 1024px) {
  .section--last {
    --section-padding: 1.25rem 0 2.5rem;
  }
}
.section--pink {
  background: var(--pink-1100);
  --section-border-radius: 1rem;
  --section-margin: 2.5rem 0 3.75rem;
  --section-padding: 5rem 0;
}
@media (max-width: 1024px) {
  .section--pink {
    --section-footer-margin: 1.5rem 0 0;
    --section-margin: 1.125rem 0 1.5rem;
    --section-padding: 2.5rem 0;
    --section-border-radius: 0.625rem;
  }
}
@media (max-width: 768px) {
  .section--pink {
    --section-header-margin: 0 0 1.5rem;
  }
}
.section--lilac {
  background: var(--lilac-100);
  color: var(--white);
  --section-border-radius: 1rem;
  --section-margin: 3.75rem 0;
  --section-padding: 4.375rem 0;
}
@media (max-width: 1024px) {
  .section--lilac {
    --section-margin: 1.75rem 0;
    --section-padding: 3rem 0.375rem;
    --section-border-radius: 0.625rem;
  }
}
.section__header {
  margin: var(--section-header-margin);
}
.section__footer {
  margin: var(--section-footer-margin);
}

*::selection {
  color: var(--black);
  background: var(--white);
}

html {
  font-family: "Inter", "Arial", sans-serif;
  font-size: calc(var(--ps) * 16);
  line-height: 1.2;
}
@media (max-width: 1024px) {
  html {
    font-size: 100% !important;
  }
}

h1,
.h1 {
  margin: 0;
  font-size: 2.625rem;
  line-height: 1.05;
  font-weight: 400;
  color: var(--black);
  font-family: "Inter", "Arial", sans-serif;
}
@media (max-width: 1024px) {
  h1,
  .h1 {
    font-size: 1.875rem;
  }
}

h2,
.h2 {
  margin: 0;
  font-size: 2.625rem;
  line-height: 1.05;
  font-weight: 400;
  color: var(--black);
  font-family: "Inter", "Arial", sans-serif;
}
@media (max-width: 1024px) {
  h2,
  .h2 {
    font-size: 1.5rem;
  }
}

h3,
.h3 {
  margin: 0;
  font-size: 2.25rem;
  line-height: 1.05;
  font-weight: 500;
  color: var(--black);
}
@media (max-width: 1024px) {
  h3,
  .h3 {
    font-size: 1.25rem;
  }
}

h4,
.h4 {
  margin: 0;
  font-size: 1.375rem;
  line-height: 1.3;
  font-weight: 600;
  color: var(--black);
}
@media (max-width: 1024px) {
  h4,
  .h4 {
    font-size: 1.125rem;
  }
}
@media (max-width: 768px) {
  h4,
  .h4 {
    font-size: 0.8125rem;
  }
}

h5,
.h5 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 500;
  color: var(--gray-100);
}

.h1--white, .h2--white, .h3--white, .h4--white, .h5--white, .h6--white {
  color: var(--white);
}

a,
.a {
  --color: var(--white);
  --color-hover: var(--black);
  color: var(--color, inherit);
  text-decoration: none;
  cursor: pointer;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: color, background-color;
}
@media (hover: hover) {
  a:hover,
  .a:hover {
    color: var(--color-hover);
  }
}

a[x-apple-data-detectors],
a[href^="tel:"] {
  color: inherit !important;
  text-decoration: none !important;
}

.os-scrollbar.os-theme-gray {
  --os-size: 14px;
  --os-padding-perpendicular: 4px;
  --os-track-border-radius: 10px;
  --os-track-border: none;
  --os-track-border-hover: none;
  --os-track-border-active: none;
  --os-handle-border-radius: 10px;
  --os-handle-min-size: 33px;
  --os-handle-max-size: none;
  --os-handle-perpendicular-size: 100%;
  --os-handle-perpendicular-size-hover: 100%;
  --os-handle-perpendicular-size-active: 100%;
  --os-handle-interactive-area-offset: 4px;
  --os-track-bg: transparent;
  --os-track-bg-hover: transparent;
  --os-track-bg-active: transparent;
  --os-handle-bg: var(--gray-900);
  --os-handle-bg-hover: var(--gray-900);
  --os-handle-bg-active: var(--gray-900);
  --os-handle-border: var(--gray-900);
  --os-handle-border-hover: var(--gray-900);
  --os-handle-border-active: var(--gray-900);
  --os-padding-axis: 6px;
}

.default-layout {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  min-height: 100dvh;
  background-color: #f1f1f1;
}

button {
  cursor: pointer;
}

.button {
  --color: var(--black);
  --color-hover: var(--white);
  --color-disabled: var(--gray-200);
  --bg-color: var(--lime);
  --bg-color-hover: var(--black);
  --bg-color-disabled: var(--gray-400);
  --border-color: transparent;
  --border-color-hover: transparent;
  --border-color-disabled: transparent;
  --outline-color: var(--black);
  --icon-bg: var(--gray-400);
  --icon-color: var(--black);
  --icon-size: 1.75rem;
  --gap: 0.5rem;
  --height: 3.5rem;
  --pad-t: 0.75rem;
  --pad-r: 2.5rem;
  --pad-b: 0.75rem;
  --pad-l: 2.5rem;
  --font-size: 1rem;
  --font-weight: 400;
  --line-height: 1.25;
  --border-width: 0;
  --border-radius: 7.4375rem;
  position: relative;
  z-index: 1;
  display: inline-flex;
  gap: var(--gap);
  align-items: center;
  justify-content: center;
  min-height: var(--height);
  padding: var(--pad-t) var(--pad-r) var(--pad-b) var(--pad-l);
  font-family: "Inter", "Arial", sans-serif;
  font-size: var(--font-size);
  font-weight: var(--font-weight);
  line-height: var(--line-height);
  color: var(--color);
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  background-color: var(--bg-color);
  border: var(--border-width) solid var(--border-color);
  border-radius: var(--border-radius);
  outline: transparent solid 2px;
  outline-offset: 2px;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: color, background-color, border-color, opacity, visibility;
  appearance: none;
}
@media (max-width: 768px) {
  .button {
    --height: 3rem;
    --pad-r: 1.75rem;
    --pad-l: 1.75rem;
    --font-size: 0.875rem;
  }
}
@media (max-width: 480px) {
  .button {
    --pad-r: 1.25rem;
    --pad-l: 1.25rem;
  }
}
@media (hover: hover) {
  .button:hover, .button.hover {
    color: var(--color-hover);
    background-color: var(--bg-color-hover);
    border-color: var(--border-color-hover);
  }
}
.button:focus-visible {
  outline-color: var(--outline-color);
}
.button:disabled, .button[disabled], .button.disabled {
  color: var(--color-disabled);
  cursor: not-allowed;
  background-color: var(--bg-color-disabled);
  border-color: var(--border-color-disabled);
  pointer-events: none;
}
.button__text {
  display: inline-flex;
  align-items: center;
}
.button__icon {
  flex-shrink: 0;
  width: var(--icon-size);
  min-width: var(--icon-size);
  height: var(--icon-size);
  min-height: var(--icon-size);
  color: var(--icon-color);
}
.button__icon-wrap {
  box-sizing: border-box;
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 4.75rem;
  min-width: 4.75rem;
  height: 3.5rem;
  min-height: 3.5rem;
  padding: 0 1.5rem;
  color: var(--icon-color);
  pointer-events: none;
  background-color: var(--icon-bg);
  border-radius: var(--border-radius);
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: background-color, color;
}
@media (max-width: 768px) {
  .button__icon-wrap {
    width: 3.75rem;
    min-width: 3.75rem;
    height: 2.75rem;
    min-height: 2.75rem;
    padding: 0 1rem;
  }
}
@media (max-width: 1024px) {
  .button--arrow .button__icon-wrap, .button--arrow-dark .button__icon-wrap {
    width: 3.25rem;
    min-width: 3.25rem;
    height: 2.25rem;
    min-height: 2.25rem;
    padding: 0 1rem;
  }
}
.button--52 {
  --height: 3.25rem;
  --font-size: 1.125rem;
  --line-height: 1.75rem;
  --pad-t: 0.75rem;
  --pad-b: 0.75rem;
  --pad-r: 2.5rem;
  --pad-l: 2.5rem;
}
.button--56 {
  --height: 3.5rem;
}
.button--60 {
  --height: 3.75rem;
  --font-size: 1.125rem;
}
.button--uppercase {
  text-transform: uppercase;
}
.button--primary {
  --color: var(--black);
  --color-hover: var(--white);
  --bg-color: var(--lime);
  --bg-color-hover: var(--black);
}
.button--dark {
  --color: var(--white);
  --color-hover: var(--black);
  --bg-color: var(--black);
  --bg-color-hover: var(--lime);
}
.button--gray {
  --color: var(--black);
  --color-hover: var(--black);
  --bg-color: transparent;
  --bg-color-hover: transparent;
  --icon-color: var(--black);
}
.button--white {
  --color: var(--black);
  --color-hover: var(--white);
  --bg-color: var(--white);
  --bg-color-hover: var(--black);
}
.button--look {
  --gap: 0.5rem;
  --pad-t: 0.875rem;
  --pad-b: 0.9375rem;
  --pad-r: 1.25rem;
  --pad-l: 1.5rem;
  --color: var(--black);
  --color-hover: var(--black);
  --bg-color: var(--lime-light);
  --bg-color-hover: var(--lime);
  --icon-size: 1.25rem;
  --icon-color: var(--black);
  text-transform: uppercase;
}
.button--look-dark {
  --gap: 0.5rem;
  --pad-t: 0.875rem;
  --pad-b: 0.9375rem;
  --pad-r: 1.25rem;
  --pad-l: 1.5rem;
  --color: var(--white);
  --color-hover: var(--black);
  --bg-color: var(--black);
  --bg-color-hover: var(--lime);
  --icon-size: 1.25rem;
  --icon-color: currentColor;
  text-transform: uppercase;
}
.button--arrow, .button--arrow-dark {
  --gap: 1rem;
  --height: 3.75rem;
  --pad-t: 0.125rem;
  --pad-b: 0.125rem;
  --pad-r: 0.125rem;
  --pad-l: 2rem;
  --font-size: 1.125rem;
  --line-height: 1.75rem;
  --icon-size: 1.75rem;
  --icon-bg: var(--gray-400);
  --icon-color: var(--black);
}
@media (max-width: 1024px) {
  .button--arrow, .button--arrow-dark {
    --height: 2.5rem;
    --pad-l: 1.25rem;
    --gap: 0.75rem;
    --font-size: 1rem;
    --line-height: 1.5rem;
    --icon-size: 1.25rem;
  }
}
.button--arrow {
  --color: var(--black);
  --color-hover: var(--white);
  --bg-color: var(--white);
  --bg-color-hover: var(--black);
  --border-width: 0;
  --border-color: transparent;
  --border-color-hover: transparent;
}
@media (hover: hover) {
  .button--arrow:hover, .button--arrow.hover {
    --icon-bg: var(--gray-400);
    --icon-color: var(--black);
  }
}
.button--arrow-dark {
  --color: var(--white);
  --color-hover: var(--white);
  --bg-color: var(--black);
  --bg-color-hover: var(--black);
  --border-width: 0;
  --border-color: transparent;
  --border-color-hover: transparent;
}
.button--icon {
  --pad-t: 0;
  --pad-r: 0;
  --pad-b: 0;
  --pad-l: 0;
  --height: auto;
  --size: 3.5rem;
  width: var(--size);
  min-width: var(--size);
  height: var(--size);
  min-height: var(--size);
}
@media (max-width: 768px) {
  .button--icon {
    --size: 3rem;
    width: var(--size);
    min-width: var(--size);
    height: var(--size);
    min-height: var(--size);
  }
}
.button--icon._24 {
  --size: 1.625rem;
  width: var(--size);
  min-width: var(--size);
  height: var(--size);
  min-height: var(--size);
}
.button--icon._24 .button__icon {
  --size: 1.625rem;
  width: var(--size);
  min-width: var(--size);
  height: var(--size);
  min-height: var(--size);
}
@media (max-width: 768px) {
  .button--icon._24 {
    --size: 1.5rem;
    width: var(--size);
    min-width: var(--size);
    height: var(--size);
    min-height: var(--size);
  }
  .button--icon._24 .button__icon {
    --size: 1.5rem;
    width: var(--size);
    min-width: var(--size);
    height: var(--size);
    min-height: var(--size);
  }
}

.burger {
  --burger-size: 1.5rem;
  --burger-line-height: 0.125rem;
  --burger-line-gap: 0.3125rem;
  --burger-duration: 0.35s;
  --burger-ease: cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  display: none;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  min-width: 2.75rem;
  height: 2.75rem;
  min-height: 2.75rem;
  padding: 0;
  color: var(--black);
  cursor: pointer;
  background: transparent;
  border: 0;
}
@media (max-width: 1024px) {
  .burger {
    display: inline-flex;
  }
}
.burger__box {
  position: relative;
  display: block;
  width: var(--burger-size);
  height: calc(var(--burger-line-height) * 3 + var(--burger-line-gap) * 2);
}
.burger__line {
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  height: var(--burger-line-height);
  background-color: currentColor;
  border-radius: 0.0625rem;
  transition: transform var(--burger-duration) var(--burger-ease), opacity calc(var(--burger-duration) * 0.7) var(--burger-ease), top var(--burger-duration) var(--burger-ease);
}
.burger__line:nth-child(1) {
  top: 0;
}
.burger__line:nth-child(2) {
  top: calc(50% - var(--burger-line-height) / 2);
}
.burger__line:nth-child(3) {
  top: calc(100% - var(--burger-line-height));
}
.burger.active .burger__line:nth-child(1) {
  top: calc(50% - var(--burger-line-height) / 2);
  transform: rotate(45deg);
}
.burger.active .burger__line:nth-child(2) {
  opacity: 0;
  transform: scaleX(0.4);
}
.burger.active .burger__line:nth-child(3) {
  top: calc(50% - var(--burger-line-height) / 2);
  transform: rotate(-45deg);
}

.tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1.25rem;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  color: var(--black);
  text-transform: uppercase;
  white-space: nowrap;
  background-color: var(--lime-light);
  border-radius: 6.25rem;
}
@media (max-width: 768px) {
  .tag {
    padding: 0.375rem 0.875rem;
    font-size: 0.875rem;
  }
}

.menu-item {
  position: relative;
  display: inline-flex;
  align-items: center;
  color: var(--black);
  text-decoration: none;
  transition: color 0.3s ease-out;
}
@media (hover: hover) {
  .menu-item:hover, .menu-item.hover {
    color: var(--gray-200);
  }
  .menu-item:hover .menu-item__counter, .menu-item.hover .menu-item__counter {
    opacity: 0.55;
  }
}
.menu-item__label {
  font-family: "Inter", "Arial", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}
.menu-item__counter {
  position: absolute;
  top: -0.5313rem;
  right: -0.8125rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  --size: 0.875rem;
  width: var(--size);
  min-width: var(--size);
  height: var(--size);
  min-height: var(--size);
  font-family: "Inter", "Arial", sans-serif;
  font-size: 0.5rem;
  font-weight: 700;
  line-height: 1;
  color: var(--black);
  text-transform: uppercase;
  background-color: var(--lime);
  border-radius: 6.25rem;
  transition: opacity 0.3s ease-out;
}
.menu-item--active {
  color: var(--black);
}

.social-button {
  --bg-color: var(--white);
  --bg-color-hover: var(--black);
  --color: var(--black);
  --color-hover: var(--white);
  --box-size: 3.5rem;
  --icon-frame: 1.5rem;
  position: relative;
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: var(--box-size);
  min-width: var(--box-size);
  height: var(--box-size);
  min-height: var(--box-size);
  padding: 0;
  color: var(--color);
  text-decoration: none;
  cursor: pointer;
  background-color: var(--bg-color);
  border: 0;
  border-radius: 1.75rem;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: color, background-color;
}
@media (max-width: 768px) {
  .social-button {
    --box-size: 3rem;
    --icon-frame: 1.25rem;
    border-radius: 1.5rem;
  }
}
@media (hover: hover) {
  .social-button:hover, .social-button.hover {
    color: var(--color-hover);
    background-color: var(--bg-color-hover);
  }
}
.social-button__icon {
  position: relative;
  display: block;
  width: var(--icon-frame);
  height: var(--icon-frame);
  color: inherit;
}
.social-button--tg .social-button__icon {
  width: 1.25rem;
  height: 1.0313rem;
}
@media (max-width: 768px) {
  .social-button--tg .social-button__icon {
    width: 1.0625rem;
    height: 0.875rem;
  }
}

.icon-button {
  --bg-color: var(--gray-400);
  --bg-color-hover: var(--black);
  --color: var(--black);
  --color-hover: var(--white);
  --box-size: 3.5rem;
  --icon-size: 1.75rem;
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: var(--box-size);
  min-width: var(--box-size);
  height: var(--box-size);
  min-height: var(--box-size);
  padding: 0;
  color: var(--color);
  cursor: pointer;
  background-color: var(--bg-color);
  border: 0;
  border-radius: 7.4375rem;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: color, background-color;
}
@media (max-width: 768px) {
  .icon-button {
    --box-size: 3rem;
    --icon-size: 1.5rem;
  }
}
@media (hover: hover) {
  .icon-button:hover, .icon-button.hover {
    color: var(--color-hover);
    background-color: var(--bg-color-hover);
  }
}
.icon-button__icon {
  width: var(--icon-size);
  min-width: var(--icon-size);
  height: var(--icon-size);
  min-height: var(--icon-size);
  color: inherit;
}
.icon-button--light {
  --bg-color: var(--white);
  --bg-color-hover: var(--black);
  --color: var(--black);
  --color-hover: var(--white);
}
.icon-button--dark {
  --bg-color: var(--black);
  --bg-color-hover: var(--lime);
  --color: var(--white);
  --color-hover: var(--black);
}
.icon-button--gray {
  --bg-color: var(--gray-400);
  --bg-color-hover: var(--black);
  --color: var(--black);
  --color-hover: var(--white);
}

.approach-card {
  --radius: 1.25rem;
  --media-radius: 0.75rem;
  --pad: 0.75rem;
  --value-size: clamp(7.5rem, 22vh, 18.75rem);
  --value-line: 1.05;
  --suffix-size: clamp(1.75rem, 4.2vh, 3.5rem);
  --desc-size: 1.25rem;
  --desc-line: 1.875rem;
  --aside-width: 17.5rem;
  --aside-min-height: clamp(8.75rem, 24vh, 17.875rem);
  --aside-pad-bottom: 1.625rem;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  height: 100%;
  min-height: 35rem;
  background-color: var(--white);
  border-radius: var(--radius);
}
@media (max-width: 1024px) {
  .approach-card {
    --radius: 0.75rem;
    --media-radius: 0.625rem;
    --pad: 0.375rem;
    --value-size: 6.25rem;
    --value-line: 5rem;
    --suffix-size: 1.5rem;
    --desc-size: 0.75rem;
    --desc-line: 1.125rem;
    --aside-width: auto;
    --aside-min-height: 5.6875rem;
    --aside-pad-bottom: 0;
    min-height: 0;
  }
}
.approach-card__media {
  position: absolute;
  inset: var(--pad) var(--pad) auto;
  overflow: hidden;
  border-radius: var(--media-radius);
  height: calc(100% - var(--pad) * 2);
}
@media (max-width: 1024px) {
  .approach-card__media {
    height: calc(100% - var(--pad) * 2);
  }
}
.approach-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom;
}
.approach-card__fade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.76) 42%, #fff 67%);
  border-radius: inherit;
  pointer-events: none;
}
.approach-card__content {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  width: 100%;
  padding: var(--pad);
}
@media (max-width: 1024px) {
  .approach-card__content {
    padding: 1rem;
  }
}
.approach-card__value-row {
  display: flex;
  gap: clamp(0.75rem, 1.4vw, 1.5625rem);
  align-items: center;
  width: 100%;
  min-width: 0;
}
@media (max-width: 1024px) {
  .approach-card__value-row {
    gap: 0.5rem;
    align-items: flex-end;
    height: 5.6875rem;
  }
}
.approach-card__value {
  flex: 0 0 auto;
  margin: 0;
  font-family: "Inter", "Arial", sans-serif;
  font-size: var(--value-size);
  font-weight: 400;
  line-height: var(--value-line);
  color: var(--gray-300);
  white-space: nowrap;
}
.approach-card__aside {
  display: flex;
  flex: 0 1 var(--aside-width);
  flex-direction: column;
  justify-content: space-between;
  width: var(--aside-width);
  max-width: 45%;
  min-width: 0;
  min-height: var(--aside-min-height);
  padding-bottom: var(--aside-pad-bottom);
}
.approach-card__aside:not(:has(.approach-card__suffix)) {
  justify-content: flex-end;
  gap: clamp(1.5rem, 8vh, 9.1875rem);
}
@media (max-width: 1024px) {
  .approach-card__aside {
    flex: 1 1 auto;
    max-width: none;
    justify-content: space-between;
  }
  .approach-card__aside:not(:has(.approach-card__suffix)) {
    justify-content: flex-end;
    gap: 0.5rem;
  }
}
.approach-card__suffix {
  margin: 0;
  font-family: "Inter", "Arial", sans-serif;
  font-size: var(--suffix-size);
  font-weight: 400;
  line-height: 1;
  color: var(--gray-300);
}
.approach-card__description {
  margin: 0;
  font-family: "Inter", "Arial", sans-serif;
  font-size: var(--desc-size);
  font-weight: 400;
  line-height: var(--desc-line);
  overflow-wrap: normal;
  color: var(--black);
}

.contour-card {
  --radius: 1.25rem;
  --media-radius: 0.75rem;
  --pad: 0.75rem;
  --content-pad-x: 3rem;
  --gap: 3rem;
  --media-aspect: 2021 / 1194;
  display: flex;
  flex-direction: column;
  gap: var(--gap);
  width: 100%;
  height: 100%;
  min-height: 35rem;
  padding: var(--pad) var(--pad) 3rem;
  overflow: hidden;
  background-color: var(--white);
  border-radius: var(--radius);
}
@media (max-width: 1024px) {
  .contour-card {
    --radius: 1rem;
    --media-radius: 0.625rem;
    --pad: 0.5rem;
    --content-pad-x: 1rem;
    --gap: 1rem;
    height: auto;
    min-height: 0;
    padding-bottom: 1.25rem;
  }
}
@media (max-width: 768px) {
  .contour-card {
    --radius: 0.75rem;
    --media-radius: 0.625rem;
    --pad: 0.375rem;
    --content-pad-x: 0.625rem;
    --gap: 1rem;
    padding-bottom: 1rem;
  }
}
.contour-card__media {
  position: relative;
  flex: 0 0 auto;
  width: 100%;
  overflow: hidden;
  border-radius: var(--media-radius);
  aspect-ratio: var(--media-aspect);
}
@media (max-width: 768px) {
  .contour-card__media {
    flex: 0 0 11rem;
    height: 11rem;
    aspect-ratio: auto;
  }
}
.contour-card__image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
}
.contour-card__overlay {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  mix-blend-mode: color;
}
.contour-card__content {
  display: flex;
  flex: 1 0 auto;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
  min-height: 0;
  padding-inline: var(--content-pad-x);
  color: var(--black);
}
@media (max-width: 768px) {
  .contour-card__content {
    gap: 0.5rem;
  }
}
.contour-card__title {
  margin: 0;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 2.5rem;
  color: inherit;
}
@media (max-width: 1024px) {
  .contour-card__title {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}
@media (max-width: 768px) {
  .contour-card__title {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}
.contour-card__description {
  margin: 0;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.875rem;
  color: inherit;
}
@media (max-width: 1024px) {
  .contour-card__description {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}
@media (max-width: 768px) {
  .contour-card__description {
    font-size: 0.75rem;
    line-height: 1.125rem;
  }
}

@media (min-width: 1025px) {
  .contour-card {
    --content-pad-x: 3rem;
    --gap: 3rem;
    min-height: 0;
  }
  .contour-card__media {
    flex: 0 0 auto;
    aspect-ratio: 863/457;
  }
  .contour-card__content {
    flex: 0 0 auto;
    min-height: 0;
  }
  .contour-card__title {
    font-size: 2rem;
    line-height: 2.5rem;
  }
  .contour-card__description {
    font-size: 1.25rem;
    line-height: 1.875rem;
  }
}
.request-card {
  --radius: 1.25rem;
  --inner-radius: 0.75rem;
  --pad: 0.75rem;
  --inner-pad: 2.5625rem;
  --min-height: 29.875rem;
  display: block;
  width: 100%;
  padding: var(--pad);
  text-decoration: none;
  background-color: var(--white);
  border-radius: var(--radius);
}
@media (max-width: 1024px) {
  .request-card {
    --radius: 1rem;
    --inner-radius: 0.625rem;
    --pad: 0.625rem;
    --inner-pad: 1.75rem;
    --min-height: 20rem;
  }
}
@media (max-width: 768px) {
  .request-card {
    --radius: 0.7313rem;
    --inner-radius: 0.4375rem;
    --pad: 0.4375rem;
    --inner-pad: 1.5rem;
    --min-height: 17.5rem;
  }
}
@media (hover: hover) {
  .request-card:hover .request-card__image {
    filter: blur(0.3125rem);
  }
  .request-card:hover .request-card__action {
    color: var(--white);
    background-color: var(--black);
  }
}
.request-card__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  min-height: var(--min-height);
  padding: var(--inner-pad);
  overflow: hidden;
  background-color: #f5f5f5;
  border-radius: var(--inner-radius);
  aspect-ratio: 568/478;
}
@media (max-width: 1024px) {
  .request-card__inner {
    aspect-ratio: auto;
    height: var(--min-height);
  }
}
.request-card__image {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
  pointer-events: none;
  filter: blur(0);
  transition: filter 0.3s ease-out;
  will-change: filter;
  transform: translateZ(0);
}
.request-card__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  justify-content: space-between;
  gap: 1.5rem;
  min-height: 0;
}
.request-card__title {
  margin: 0;
  max-width: 20rem;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 2.25rem;
  font-weight: 400;
  line-height: 2.75rem;
  color: var(--black);
  letter-spacing: -0.045rem;
}
@media (max-width: 1024px) {
  .request-card__title {
    max-width: 16.25rem;
    font-size: 1.5rem;
    line-height: 2rem;
    letter-spacing: -0.03rem;
  }
}
@media (max-width: 768px) {
  .request-card__title {
    max-width: 12.5rem;
    font-size: 1.25rem;
    line-height: 1.875rem;
    letter-spacing: 0;
  }
}
.request-card__action {
  --box-size: 3rem;
  --icon-size: 1.1875rem;
  pointer-events: none;
  transition-property: color, background-color;
}
@media (max-width: 768px) {
  .request-card__action {
    --box-size: 2rem;
    --icon-size: 0.875rem;
  }
}

.entry-item {
  --bg-color: transparent;
  --color: var(--white);
  --title-size: 5rem;
  --title-line: 6rem;
  --radius: 1.5rem;
  --pad-y: 2.5rem;
  --pad-x: 2rem;
  --blur: 0;
  --detail-opacity: 0;
  --detail-visibility: hidden;
  position: relative;
  display: flex;
  gap: 1.5rem;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: var(--pad-y) var(--pad-x);
  color: var(--color);
  text-decoration: none;
  background-color: var(--bg-color);
  border: 0.0625rem solid rgba(255, 255, 255, 0.35);
  border-radius: var(--radius);
  backdrop-filter: blur(var(--blur));
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: background-color, color, border-color, backdrop-filter;
}
@media (max-width: 1024px) {
  .entry-item {
    --title-size: 2rem;
    --title-line: 2.25rem;
    --radius: 1rem;
    --pad-y: 1.25rem;
    --pad-x: 1rem;
    --detail-opacity: 1;
    --detail-visibility: visible;
    --bg-color: rgba(255, 255, 255, 0.55);
    --color: var(--black);
    --blur: 0.75rem;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 1rem;
    align-items: flex-start;
    justify-content: space-between;
    border-color: transparent;
    backdrop-filter: blur(var(--blur));
  }
}
@media (max-width: 768px) {
  .entry-item {
    gap: 0.75rem;
    --pad-y: 1.125rem;
    --pad-x: 0.875rem;
  }
}
.entry-item__main {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  gap: 1.5rem;
  align-items: center;
  min-width: 0;
}
@media (max-width: 1024px) {
  .entry-item__main {
    flex-direction: column;
    gap: 0.75rem;
    align-items: flex-start;
    width: 100%;
  }
}
.entry-item__heading {
  display: flex;
  flex: 1 1 auto;
  gap: 1.5rem;
  align-items: center;
  min-width: 0;
}
@media (max-width: 1024px) {
  .entry-item__heading {
    flex: none;
    flex-direction: column;
    gap: 0;
    align-items: flex-start;
    width: 100%;
  }
}
.entry-item__index {
  flex-shrink: 0;
  width: 2rem;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
}
.entry-item__title {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  font-family: "Inter", "Arial", sans-serif;
  font-size: var(--title-size);
  font-weight: 400;
  line-height: var(--title-line);
  text-transform: uppercase;
  white-space: normal;
}
.entry-item__description {
  flex: 0 0 auto;
  flex-shrink: 0;
  max-width: 27rem;
  margin: 0;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75rem;
  color: var(--black);
  opacity: var(--detail-opacity);
  visibility: var(--detail-visibility);
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: opacity, visibility;
}
@media (max-width: 1024px) {
  .entry-item__description {
    max-width: none;
    font-size: 0.875rem;
    line-height: 1.25rem;
    opacity: 1;
    visibility: visible;
  }
}
.entry-item__action {
  flex-shrink: 0;
  opacity: var(--detail-opacity);
  visibility: var(--detail-visibility);
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: opacity, visibility;
}
@media (max-width: 1024px) {
  .entry-item__action {
    width: auto;
    margin-left: 0;
    opacity: 1;
    visibility: visible;
  }
}
.entry-item__button {
  pointer-events: auto;
}
.entry-item--active, .entry-item--active-alt {
  --detail-opacity: 1;
  --detail-visibility: visible;
  --color: var(--black);
  --blur: 0.9375rem;
  border-color: transparent;
}
.entry-item--active {
  --bg-color: rgba(255, 255, 255, 0.4);
}
.entry-item--active-alt {
  --bg-color: rgba(213, 213, 213, 0.4);
}
@media (hover: hover) {
  .entry-item:hover, .entry-item.hover {
    --bg-color: rgba(255, 255, 255, 0.4);
    --color: var(--black);
    --blur: 0.9375rem;
    --detail-opacity: 1;
    --detail-visibility: visible;
    border-color: transparent;
  }
}
@media (hover: none) {
  .entry-item--default {
    --detail-opacity: 1;
    --detail-visibility: visible;
    --bg-color: rgba(255, 255, 255, 0.4);
    --color: var(--black);
    --blur: 0.75rem;
    border-color: transparent;
  }
}

.entry-item.is-scroll-active {
  --bg-color: rgba(255, 255, 255, 0.4);
  --color: var(--black);
  --blur: 0.9375rem;
  --detail-opacity: 1;
  --detail-visibility: visible;
  border-color: transparent;
}

.video-card {
  --radius: 0.5rem;
  --play-size: 5.875rem;
  --thumb-play-w: 5.5rem;
  --thumb-play-h: 3.5rem;
  --max-width: 26.75rem;
  --aspect: 428 / 270;
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: var(--max-width);
  aspect-ratio: var(--aspect);
  cursor: pointer;
  background-color: var(--gray-600);
  border-radius: var(--radius);
  transition: border-radius 0.32s ease-out;
}
@media (max-width: 1024px) {
  .video-card {
    --play-size: 3rem;
    --thumb-play-w: 3.8125rem;
    --thumb-play-h: 2.4375rem;
  }
}
.video-card--expanded {
  --radius: 0.625rem;
  --max-width: 93.75rem;
  --aspect: 1500 / 843;
  cursor: default;
}
.video-card.is-closing {
  --radius: 0.625rem;
  cursor: default;
}
.video-card__media {
  position: absolute;
  inset: 0;
}
.video-card__poster, .video-card__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.video-card__poster {
  position: absolute;
  inset: 0;
  z-index: 1;
  transition: opacity 0.72s ease-out;
}
.video-card__video {
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.24s ease-out;
}
.video-card--expanded .video-card__video {
  z-index: 1;
  opacity: 1;
  pointer-events: auto;
}
.video-card--expanded .video-card__poster {
  opacity: 0;
  pointer-events: none;
}
.video-card.is-closing .video-card__video {
  z-index: 1;
  opacity: 1;
  pointer-events: none;
}
.video-card.is-closing .video-card__poster {
  opacity: 0;
  pointer-events: none;
}
.video-card__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  background-color: rgba(0, 0, 0, 0.3);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease-out;
}
@media (hover: hover) {
  .video-card:not(.video-card--expanded):hover .video-card__overlay {
    opacity: 1;
  }
}
.video-card__play-thumb {
  position: absolute;
  right: 0.5rem;
  bottom: 0.5rem;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--thumb-play-w);
  height: var(--thumb-play-h);
  padding: 0;
  color: var(--black);
  cursor: pointer;
  background-color: var(--white);
  border: 0;
  border-radius: 0.5rem;
  transition: opacity 0.72s ease-out, transform 0.72s ease-out;
}
@media (max-width: 1024px) {
  .video-card__play-thumb {
    right: 0.375rem;
    bottom: 0.375rem;
    border-radius: 0.375rem;
  }
}
.video-card--expanded .video-card__play-thumb, .video-card.is-closing .video-card__play-thumb {
  opacity: 0;
  pointer-events: none;
  transform: scale(0.9);
}
.video-card__play-thumb-icon {
  width: 1.75rem;
  min-width: 1.75rem;
  height: 1.75rem;
  min-height: 1.75rem;
}
@media (max-width: 1024px) {
  .video-card__play-thumb-icon {
    width: 1.25rem;
    min-width: 1.25rem;
    height: 1.25rem;
    min-height: 1.25rem;
  }
}
.video-card__play {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 4;
  display: none;
  align-items: center;
  justify-content: center;
  width: var(--play-size);
  min-width: var(--play-size);
  height: var(--play-size);
  min-height: var(--play-size);
  padding: 0.5rem;
  color: var(--black);
  cursor: pointer;
  background-color: var(--white);
  border: 0;
  border-radius: 6.25rem;
  transform: translate(-50%, -50%);
  transition: opacity 0.3s ease-out;
}
.video-card--expanded:not(.is-idle) .video-card__play {
  display: inline-flex;
}
.video-card__play-icon {
  width: 1.875rem;
  min-width: 1.875rem;
  height: 1.875rem;
  min-height: 1.875rem;
}
@media (max-width: 1024px) {
  .video-card__play-icon {
    width: 1rem;
    min-width: 1rem;
    height: 1rem;
    min-height: 1rem;
  }
}
.video-card__play-icon--play {
  display: none;
}
.video-card__play-icon--pause {
  display: block;
}
.video-card.is-paused .video-card__play-icon--play {
  display: block;
}
.video-card.is-paused .video-card__play-icon--pause {
  display: none;
}
.video-card.is-playing .video-card__play-icon--play {
  display: none;
}
.video-card.is-playing .video-card__play-icon--pause {
  display: block;
}
.video-card__controls {
  position: absolute;
  right: 1.25%;
  bottom: 1.25rem;
  left: 1.25%;
  z-index: 4;
  display: none;
  gap: 0.8125rem;
  align-items: center;
  height: 2.375rem;
  padding: 0.5rem 0.625rem;
  background-color: var(--black);
  border-radius: 6.25rem;
  transition: opacity 0.3s ease-out;
}
.video-card--expanded:not(.is-idle) .video-card__controls {
  display: flex;
}
.video-card__time {
  flex-shrink: 0;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1;
  color: var(--white);
  text-transform: uppercase;
  font-variant-numeric: tabular-nums;
}
.video-card__track {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  height: 0.25rem;
  cursor: pointer;
  background-color: var(--gray-200);
  border-radius: 6.25rem;
}
.video-card__progress {
  position: relative;
  height: 100%;
  min-width: 0.75rem;
  background-color: var(--lime);
  border-radius: 6.25rem;
  will-change: width;
}
.video-card__handle {
  position: absolute;
  top: 50%;
  right: 0;
  width: 0.75rem;
  min-width: 0.75rem;
  height: 0.75rem;
  min-height: 0.75rem;
  background-color: var(--lime);
  border-radius: 50%;
  transform: translate(50%, -50%);
  pointer-events: none;
}
.video-card__close {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  z-index: 5;
  display: none;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  min-width: 2.5rem;
  height: 2.5rem;
  min-height: 2.5rem;
  padding: 0;
  color: var(--white);
  cursor: pointer;
  background-color: var(--black);
  border: 0;
  border-radius: 0.5rem;
}
.video-card--expanded .video-card__close {
  display: inline-flex;
}
.video-card__close-icon {
  width: 1.5rem;
  min-width: 1.5rem;
  height: 1.5rem;
  min-height: 1.5rem;
}
@media (max-width: 1024px) {
  .video-card--expanded, .video-card.is-closing {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 400;
    width: 100vw;
    max-width: none;
    height: 100dvh;
    aspect-ratio: auto;
    overflow: visible;
    cursor: default;
    background-color: #000;
    border-radius: 0;
  }
  .video-card--expanded .video-card__media, .video-card.is-closing .video-card__media {
    top: calc(50% - 2.125rem);
    right: 0;
    bottom: auto;
    left: 0;
    width: 100%;
    height: auto;
    aspect-ratio: 375/211;
    transform: translateY(-50%);
  }
  .video-card--expanded .video-card__play, .video-card.is-closing .video-card__play {
    top: calc(50% - 2.125rem);
    padding: 0.25rem 0.1875rem 0.25rem 0.375rem;
  }
  .video-card--expanded .video-card__controls, .video-card.is-closing .video-card__controls {
    top: calc(50% - 2.125rem + 28.1333333333vw + 0.5rem);
    right: 0.125rem;
    bottom: auto;
    left: 0.125rem;
    gap: 1rem;
    height: 1.25rem;
    padding: 0.5rem 0.75rem;
    background-color: transparent;
    border-radius: 7.25rem;
  }
  .video-card--expanded .video-card__close, .video-card.is-closing .video-card__close {
    top: 1rem;
    right: 1rem;
    width: 1.5rem;
    min-width: 1.5rem;
    height: 1.5rem;
    min-height: 1.5rem;
    padding: 0.125rem;
    background-color: transparent;
    border-radius: 0.5rem;
  }
  .video-card--expanded .video-card__close-icon, .video-card.is-closing .video-card__close-icon {
    width: 1.25rem;
    min-width: 1.25rem;
    height: 1.25rem;
    min-height: 1.25rem;
  }
  .video-card--expanded .video-card__handle, .video-card.is-closing .video-card__handle {
    width: 0.875rem;
    min-width: 0.875rem;
    height: 0.875rem;
    min-height: 0.875rem;
  }
  .video-card--expanded .video-card__progress, .video-card.is-closing .video-card__progress {
    min-width: 0.875rem;
  }
}

.next-cta {
  --radius: 1.25rem;
  --min-height: min(35.625rem, 29.69vw);
  --content-width: 39.875rem;
  --title-size: 3rem;
  --title-line: 3.75rem;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-height: var(--min-height);
  border-radius: var(--radius);
}
.next-cta__media {
  position: absolute;
  inset: 0;
}
.next-cta__media::after {
  position: absolute;
  inset: -4.375rem 0;
  content: "";
  pointer-events: none;
  background-color: rgba(255, 255, 255, 0.08);
}
.next-cta__picture {
  display: block;
  width: 100%;
  height: 100%;
}
.next-cta__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
}
.next-cta__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 3rem;
  width: var(--content-width);
  max-width: 100%;
  padding: 3.75rem 3.125rem 3.75rem 0;
  margin-right: 6.75rem;
  border-radius: 1rem;
}
.next-cta__texts {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.next-cta__eyebrow {
  width: 13rem;
  margin: 0;
  padding-block: 0.75rem;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  color: var(--gray-200);
  text-transform: uppercase;
}
.next-cta__title {
  margin: 0;
  font-family: "Inter", "Arial", sans-serif;
  font-size: var(--title-size);
  font-weight: 400;
  line-height: var(--title-line);
  color: var(--black);
  letter-spacing: -0.02em;
}
.next-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
}
@media (max-width: 1024px) {
  .next-cta {
    --radius: 1.25rem;
    --min-height: 22.5rem;
    --content-width: 100%;
    --title-size: 1.75rem;
    --title-line: 2rem;
    align-items: stretch;
    justify-content: stretch;
  }
  .next-cta__media::after {
    inset: 0;
    background-color: rgba(12, 14, 10, 0.12);
  }
  .next-cta__image {
    transform: scale(1.05);
    transform-origin: center;
  }
  .next-cta__content {
    flex: 1 1 auto;
    gap: 1.25rem;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 1.75rem 1.25rem;
    background-color: transparent;
    border-radius: 0;
    justify-content: flex-end;
    backdrop-filter: none;
  }
  .next-cta__eyebrow {
    width: auto;
    padding: 0;
    font-size: 0.8125rem;
  }
  .next-cta__actions {
    flex-direction: column;
    align-items: stretch;
    gap: 0.625rem;
  }
  .next-cta__actions .button {
    width: 100%;
    justify-content: center;
  }
}
@media (max-width: 768px) {
  .next-cta {
    --radius: 1rem;
    --min-height: 20rem;
    --title-size: 1.625rem;
    --title-line: 1.875rem;
  }
  .next-cta__media::after {
    background-color: rgba(12, 14, 10, 0.14);
  }
  .next-cta__image {
    transform: scale(1.04);
  }
  .next-cta__content {
    gap: 1rem;
    padding: 1.5rem 1rem;
  }
  .next-cta__eyebrow {
    font-size: 0.75rem;
  }
}

.document-card {
  display: flex;
  gap: 1rem;
  align-items: center;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 5.25rem;
  padding: 1rem;
  color: var(--black);
  text-decoration: none;
  background-color: var(--white);
  border-radius: 0.75rem;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: color;
}
.document-card__icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  height: 3.25rem;
  color: var(--gray-200);
  background-color: #f1f1f1;
  border-radius: 1.625rem;
}
.document-card__file {
  width: 1.375rem;
  height: 1.375rem;
}
.document-card__info {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 0.25rem;
  align-items: flex-start;
  min-width: 0;
  max-width: 100%;
  padding-block: 0.125rem;
}
.document-card__title {
  display: -webkit-box;
  max-width: 100%;
  max-height: 3rem;
  overflow: hidden;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
  color: var(--black);
  text-overflow: ellipsis;
  overflow-wrap: anywhere;
  word-break: break-word;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  transition-property: color;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.document-card__meta {
  max-width: 100%;
  overflow: hidden;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.125rem;
  color: var(--gray-200);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.document-card__arrow {
  display: inline-flex;
  flex-shrink: 0;
  align-items: flex-start;
  align-self: stretch;
  justify-content: center;
  width: 1.5rem;
  color: var(--black);
  transition-property: color;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
.document-card__arrow-icon {
  width: 1rem;
  height: 1rem;
}
@media (hover: hover) {
  .document-card:hover .document-card__title,
  .document-card:hover .document-card__arrow {
    color: #6d6d6d;
  }
}
@media (max-width: 1024px) {
  .document-card {
    align-items: flex-start;
    min-height: 0;
    padding: 0.875rem 0.75rem;
  }
  .document-card__icon {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 1.375rem;
  }
  .document-card__file {
    width: 1.25rem;
    height: 1.25rem;
  }
  .document-card__title {
    font-size: 0.9375rem;
    line-height: 1.375rem;
    max-height: 2.75rem;
  }
  .document-card__arrow {
    width: 1.25rem;
    padding-top: 0.125rem;
  }
  .document-card__arrow-icon {
    width: 0.875rem;
    height: 0.875rem;
  }
}
@media (max-width: 768px) {
  .document-card {
    gap: 1rem;
    align-items: center;
    padding: 0.75rem;
    border-radius: 0.5rem;
  }
  .document-card__icon {
    width: 3rem;
    height: 3rem;
    border-radius: 1.5rem;
  }
  .document-card__file {
    width: 1.25rem;
    height: 1.25rem;
  }
  .document-card__title {
    max-height: 3.75rem;
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .document-card__meta {
    font-size: 0.75rem;
    line-height: 1.125rem;
  }
  .document-card__arrow {
    width: 1rem;
    padding-top: 0;
  }
  .document-card__arrow-icon {
    width: 1rem;
    height: 1rem;
  }
}

.modal {
  position: fixed;
  inset: 0;
  background: var(--transparent-bg-black);
  --modal-padding: 0.625rem;
  padding: var(--modal-padding);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: opacity, visibility;
}
@media (max-width: 1024px) {
  .modal {
    padding: var(--modal-padding);
  }
}
@media (max-width: 640px) {
  .modal {
    padding: var(--modal-padding) 0 0;
  }
}
@media (max-width: 768px) {
  .modal:has(.modal__main--map) {
    padding: 0;
  }
}
@media (min-width: 769px) {
  .modal:has(.modal__main--dialog) {
    padding: var(--modal-padding) calc(var(--scrollbar-width) + var(--modal-padding)) var(--modal-padding) var(--modal-padding);
  }
}
@media (max-width: 640px) {
  .modal:has(.modal__main--dialog) {
    padding: 1rem;
  }
}
@media (max-width: 640px) {
  .modal:has(.modal__main--full-mobile) {
    padding: 0;
  }
}
@media (max-width: 768px) {
  .modal:has(.modal__main--callback), .modal:has(.modal__main--success) {
    padding: 0;
  }
}
.modal:has(.modal__main--drawer) {
  justify-content: flex-end;
  padding: 0;
  background: rgba(109, 109, 109, 0.2);
}
@media (max-width: 768px) {
  .modal:has(.modal__main--drawer) {
    padding: 0;
  }
}
.modal:not(.active) {
  opacity: 0;
  visibility: hidden;
}
@media (max-width: 768px) {
  .modal:not(.active) .modal__main {
    translate: 0 100%;
  }
}
@media (max-width: 768px) {
  .modal:not(.active) .modal__main--dialog {
    translate: unset;
    scale: 0;
  }
}
@media (max-width: 768px) {
  .modal:not(.active) .modal__main--callback, .modal:not(.active) .modal__main--success {
    translate: unset;
    scale: unset;
  }
}
.modal:not(.active) .modal__main--drawer {
  translate: 100% 0;
}
@media (max-width: 768px) {
  .modal:not(.active) .modal__main--drawer {
    translate: 100% 0;
  }
}
.modal.active {
  opacity: 1;
  visibility: visible;
}
.modal.active .modal__main--drawer {
  translate: 0 0;
}
.modal__main {
  position: relative;
  max-height: 100%;
  --modal-padding-y: 2.75rem;
  --modal-padding-x: 3.5rem;
  padding: var(--modal-padding-y) var(--modal-padding-x);
  background: var(--white);
  border-radius: 0.875rem;
  max-width: 38rem;
  width: 100%;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: translate, scale;
}
@media (max-width: 768px) {
  .modal__main {
    --modal-padding-y: 2.5rem;
    --modal-padding-x: 0.875rem;
  }
}
@media (max-width: 640px) {
  .modal__main {
    margin-top: auto;
    border-radius: 0.625rem 0.625rem 0 0;
  }
}
@media (max-width: 768px) {
  .modal__main--delivery-date .modal__footer {
    margin-top: -1.25rem;
  }
}
.modal__main--big {
  max-width: 50.5rem;
}
.modal__main--small {
  max-width: 28.6875rem;
}
.modal__main--small .modal__buttons {
  gap: 1rem;
}
.modal__main--center {
  text-align: center;
}
@media (max-width: 768px) {
  .modal__main--center .modal__header {
    margin-right: auto;
  }
}
.modal__main--center .modal__wrapper {
  align-items: center;
}
.modal__main--center .modal__footer {
  justify-content: center;
}
.modal__main--dialog:not(.modal__main--callback):not(.modal__main--success) {
  max-width: 31.25rem;
}
@media (max-width: 768px) {
  .modal__main--dialog:not(.modal__main--callback):not(.modal__main--success) .modal__title, .modal__main--dialog:not(.modal__main--callback):not(.modal__main--success) .modal__description {
    text-align: center;
  }
}
@media (max-width: 768px) {
  .modal__main--dialog:not(.modal__main--callback):not(.modal__main--success) {
    padding: 3.5rem 0.875rem 0.875rem;
  }
}
@media (max-width: 640px) {
  .modal__main--dialog:not(.modal__main--callback):not(.modal__main--success) {
    margin: 0;
    border-radius: 0.625rem 0.625rem;
  }
}
@media (max-width: 768px) {
  .modal__main--dialog:not(.modal__main--callback):not(.modal__main--success) .modal__header {
    padding-right: 0;
    margin-right: unset;
  }
}
.modal__main--dialog:not(.modal__main--callback):not(.modal__main--success) .modal__wrapper {
  gap: 1.5rem;
}
.modal__main--dialog:not(.modal__main--callback):not(.modal__main--success) .modal__title {
  font-size: 1.75rem;
  line-height: 1.05;
  font-weight: 400;
  letter-spacing: unset;
}
.modal__main--dialog:not(.modal__main--callback):not(.modal__main--success) .modal__footer {
  width: 100%;
}
@media (max-width: 640px) {
  .modal__main--dialog:not(.modal__main--callback):not(.modal__main--success) .modal__title {
    font-size: 1.5rem;
  }
}
@media (max-width: 640px) {
  .modal__main--dialog:not(.modal__main--callback):not(.modal__main--success) .modal__description {
    font-size: 0.875rem;
  }
}
.modal__main--medium {
  max-width: 39.9375rem;
}
@media (max-width: 1024px) {
  .modal__main--medium .modal__wrapper {
    gap: 1.5rem;
  }
}
.modal__main--medium .modal__description {
  --descr-offset: 1.125rem;
}
@media (max-width: 768px) {
  .modal__main--medium .modal__description {
    --descr-offset: 1rem;
  }
}
.modal__main--medium.modal__main--dialog .modal__title {
  font-size: 2.625rem;
}
.modal__main--small-title .modal__title {
  font-size: 1.75rem;
  line-height: 1.05;
  font-weight: 400;
  letter-spacing: unset;
}
@media (max-width: 768px) {
  .modal__main--small-title .modal__title {
    font-size: 1.5rem;
  }
}
.modal__main--filters {
  display: flex;
  flex-direction: column;
  padding: 0;
}
.modal__main--filters .modal__wrapper {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  gap: 0;
}
.modal__main--filters .modal__header {
  flex-shrink: 0;
  padding: var(--modal-padding-y) var(--modal-padding-x) 2.25rem;
}
@media (max-width: 1024px) {
  .modal__main--filters .modal__header {
    padding: 2rem 1rem 2.25rem;
  }
}
.modal__main--filters .modal__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  padding: 0 var(--modal-padding-x);
}
.modal__main--filters .modal__footer {
  flex-shrink: 0;
  padding: var(--modal-padding-y) var(--modal-padding-x) var(--modal-padding-y);
}
@media (max-width: 1024px) {
  .modal__main--filters .modal__footer {
    padding: 1rem 0.875rem 1.5rem;
  }
}
@media (max-width: 640px) {
  .modal__main--filters .modal__footer {
    box-shadow: 0 -4px 15px 0 rgba(47, 42, 40, 0.1);
  }
}
.modal__main--filters .modal__scroll-body {
  flex: 1 1 auto;
  min-height: 0;
  margin-right: calc(var(--modal-padding-x) * -1);
  padding-right: var(--modal-padding-x);
}
@media (max-width: 640px) {
  .modal__main--full-mobile {
    border-radius: 0;
    height: 100%;
  }
  .modal__main--full-mobile .modal__header {
    margin-top: 1rem;
    padding-right: 0;
  }
  .modal__main--full-mobile .modal__title, .modal__main--full-mobile .modal__description {
    text-align: center;
  }
  .modal__main--full-mobile .modal__description {
    --descr-offset: 2rem;
    margin-top: -0.75rem;
    font-size: 0.875rem;
    max-width: unset;
  }
  .modal__main--full-mobile .modal__wrapper {
    gap: 2rem;
  }
}
.modal__main--map {
  max-width: 62.5rem;
  --modal-padding-x: 2.75rem;
  min-height: 36.125rem;
}
@media (max-width: 1024px) {
  .modal__main--map {
    --modal-padding-y: 2rem;
    --modal-padding-x: 0.875rem;
    min-height: 29.875rem;
  }
}
@media (max-width: 768px) {
  .modal__main--map {
    min-height: unset;
    height: 100%;
    border-radius: 0;
  }
}
.modal__main--map .modal__wrapper {
  position: relative;
}
@media (min-width: 769px) {
  .modal__main--map .modal__wrapper::before {
    display: none;
  }
}
.modal__main--map .modal__wrapper::before {
  content: "";
  position: absolute;
  top: -1.875rem;
  left: calc(var(--modal-padding-x) * -1);
  height: 1.5rem;
  translate: 0 -50%;
  width: calc(100% + var(--modal-padding-x) * 2);
  background: var(--white);
  border-radius: 0.625rem 0.625rem 0 0;
  box-shadow: 0 -0.25rem 0.25rem 0 rgba(47, 42, 40, 0.1);
  z-index: -1;
}
.modal__main--map .modal__main-inner {
  display: flex;
  gap: 2.75rem;
  height: 100%;
  isolation: isolate;
}
@media (max-width: 768px) {
  .modal__main--map .modal__main-inner {
    flex-direction: column-reverse;
    gap: 1.25rem;
  }
}
.modal__main--map .modal__title {
  font-size: 1.75rem;
}
.modal__main--map .modal__footer {
  margin-top: auto;
}
.modal__main--drawer {
  display: flex;
  flex-direction: column;
  width: min(100%, 44.4375rem);
  max-width: 44.4375rem;
  height: 100%;
  max-height: 100%;
  margin-top: 0;
  --modal-padding-y: 3rem;
  --modal-padding-x: 3rem;
  padding: var(--modal-padding-y) var(--modal-padding-x);
  border-radius: 0;
}
@media (max-width: 1024px) {
  .modal__main--drawer {
    --modal-padding-y: 2rem;
    --modal-padding-x: 1.5rem;
    width: min(100%, 32.5rem);
  }
}
@media (max-width: 768px) {
  .modal__main--drawer {
    --modal-padding-y: 3rem;
    --modal-padding-x: 0.875rem;
    width: 100%;
    max-width: none;
  }
}
.modal__main--drawer .modal__main-inner,
.modal__main--drawer .modal__wrapper,
.modal__main--drawer .modal__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
  height: 100%;
}
.modal__main--drawer .modal__body {
  overflow: auto;
}
.modal__main--drawer .modal__close {
  --pos: 1rem;
  top: var(--pos);
  right: var(--pos);
  width: 1.625rem;
  min-width: 1.625rem;
  height: 1.625rem;
  min-height: 1.625rem;
  padding: 0;
  background: transparent;
}
@media (max-width: 768px) {
  .modal__main--drawer .modal__close {
    --pos: 0.875rem;
  }
}
.modal__main--drawer .modal__close .button__icon {
  width: 1.625rem;
  min-width: 1.625rem;
  height: 1.625rem;
  min-height: 1.625rem;
}
.modal__main--callback, .modal__main--success {
  max-width: 34.75rem;
  --modal-padding-y: 3rem;
  --modal-padding-x: 3rem;
  padding: var(--modal-padding-y) var(--modal-padding-x);
  border-radius: 1.25rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 100%), linear-gradient(90deg, #daec9b 0%, #daec9b 100%), #fff;
  box-shadow: 0 1.5rem 4rem rgba(43, 43, 43, 0.12);
}
@media (max-width: 768px) {
  .modal__main--callback, .modal__main--success {
    --modal-padding-y: 3rem;
    --modal-padding-x: 0.875rem;
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: 100%;
    margin: 0;
    padding: var(--modal-padding-y) var(--modal-padding-x);
    overflow: auto;
    border-radius: 0;
    box-shadow: none;
  }
}
.modal__main--callback .modal__wrapper, .modal__main--success .modal__wrapper {
  gap: 3.5rem;
  width: 100%;
}
@media (max-width: 768px) {
  .modal__main--callback .modal__wrapper, .modal__main--success .modal__wrapper {
    gap: 3rem;
  }
}
.modal__main--callback .modal__title, .modal__main--success .modal__title {
  font-size: 3rem;
  line-height: 3.75rem;
  font-weight: 400;
  letter-spacing: -0.06rem;
  color: var(--black);
  text-align: left;
}
@media (max-width: 768px) {
  .modal__main--callback .modal__title, .modal__main--success .modal__title {
    font-size: 2rem;
    line-height: 2.5rem;
    letter-spacing: 0;
  }
}
.modal__main--callback .modal__description, .modal__main--success .modal__description {
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 400;
  color: var(--black);
  margin: 0;
  --descr-offset: 0;
  text-align: left;
}
@media (max-width: 768px) {
  .modal__main--callback .modal__description, .modal__main--success .modal__description {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}
.modal__main--callback .modal__body, .modal__main--success .modal__body {
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
  width: 100%;
}
@media (max-width: 768px) {
  .modal__main--callback .modal__body, .modal__main--success .modal__body {
    gap: 3rem;
  }
}
.modal__main--callback .modal__footer, .modal__main--success .modal__footer {
  gap: 0;
  width: 100%;
}
.modal__main--callback .modal__button, .modal__main--success .modal__button {
  width: 100%;
}
@media (max-width: 768px) {
  .modal__main--callback .modal__button, .modal__main--success .modal__button {
    --height: 2.5rem;
    --pad-t: 0.75rem;
    --pad-b: 0.75rem;
    --pad-r: 1.5rem;
    --pad-l: 1.5rem;
    --font-size: 0.875rem;
    --line-height: 1;
    min-height: 2.5rem;
  }
}
.modal__main--callback .modal__close, .modal__main--success .modal__close {
  --pos: 1rem;
  top: var(--pos);
  right: var(--pos);
  width: 1.625rem;
  min-width: 1.625rem;
  height: 1.625rem;
  min-height: 1.625rem;
  padding: 0;
  background: transparent;
  color: var(--black);
}
@media (max-width: 768px) {
  .modal__main--callback .modal__close, .modal__main--success .modal__close {
    --pos: 0.875rem;
  }
}
.modal__main--callback .modal__close .button__icon, .modal__main--success .modal__close .button__icon {
  width: 1.625rem;
  min-width: 1.625rem;
  height: 1.625rem;
  min-height: 1.625rem;
}
.modal__main--callback .callback-modal__intro, .modal__main--success .callback-modal__intro {
  margin-bottom: 3.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
}
@media (max-width: 768px) {
  .modal__main--callback .callback-modal__intro, .modal__main--success .callback-modal__intro {
    gap: 1.25rem;
    margin-bottom: 3rem;
  }
}
.modal__main--callback .callback-modal__form, .modal__main--success .callback-modal__form {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  width: 100%;
}
@media (max-width: 768px) {
  .modal__main--callback .callback-modal__form, .modal__main--success .callback-modal__form {
    gap: 3rem;
  }
}
.modal__main--callback .callback-modal__fields, .modal__main--success .callback-modal__fields {
  --gap: 1.25rem;
  width: 100%;
}
@media (max-width: 768px) {
  .modal__main--callback .callback-modal__fields, .modal__main--success .callback-modal__fields {
    --gap: 0.75rem;
  }
  .modal__main--callback .callback-modal__fields .input, .modal__main--success .callback-modal__fields .input {
    --font-size: 1rem;
    --line-height: 1.5rem;
    --padding-y: 0.875rem;
    --padding-x: 1.375rem;
  }
}
.modal__main--callback .callback-modal__agree, .modal__main--success .callback-modal__agree {
  width: 100%;
}
.modal__main--success {
  text-align: center;
}
.modal__main--success .modal__wrapper {
  align-items: center;
  gap: 2.5rem;
}
@media (max-width: 768px) {
  .modal__main--success .modal__wrapper {
    gap: 3rem;
  }
}
.modal__main--success .modal__header {
  padding-right: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: center;
}
@media (max-width: 768px) {
  .modal__main--success .modal__header {
    gap: 1.25rem;
  }
}
.modal__main--success .modal__title {
  font-size: 2.25rem;
  line-height: 2.75rem;
  font-weight: 400;
  letter-spacing: -0.045rem;
  text-align: center;
}
@media (max-width: 768px) {
  .modal__main--success .modal__title {
    font-size: 2rem;
    line-height: 2.5rem;
    letter-spacing: 0;
  }
}
.modal__main--success .modal__description {
  text-align: center;
  margin: 0;
}
.modal__main--success .modal__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6.25rem;
  height: 6.25rem;
  margin: 0 auto;
  flex-shrink: 0;
}
.modal__main--success .modal__icon img {
  width: 6.25rem;
  height: 6.25rem;
  object-fit: contain;
  mix-blend-mode: luminosity;
}
.modal__main--success .modal__body {
  width: 100%;
}
.modal__main--success .modal__footer {
  width: 100%;
}
.modal__wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media (max-width: 768px) {
  .modal__wrapper {
    gap: 2.125rem;
  }
}
.modal__handle {
  display: none;
}
@media (max-width: 768px) {
  .modal__handle {
    display: block;
    position: absolute;
    top: -1.875rem;
    left: 0;
    translate: 0 -50%;
    width: 100%;
    height: 1.5rem;
    z-index: 1;
  }
  .modal__handle::after {
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 3rem;
    height: 0.375rem;
    content: "";
    background-color: var(--gray-900);
    border-radius: 0.25rem;
  }
}
@media (max-width: 768px) {
  .modal__header {
    padding-right: 3.875rem;
  }
}
.modal__footer {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (max-width: 768px) {
  .modal__footer {
    gap: 0.75rem;
  }
}
.modal__title {
  letter-spacing: unset;
}
.modal__close {
  position: absolute;
  --pos: 1rem;
  top: var(--pos);
  right: var(--pos);
}
@media (max-width: 768px) {
  .modal__close {
    --pos: 0.875rem;
  }
}
.modal__button {
  display: flex;
  gap: 0.625rem;
}
.modal__more-btn {
  --color: var(--pink-900);
  --color-hover: var(--pink-900);
  --color-pressed: var(--pink-900);
  min-height: 1.5rem;
  font-size: 0.875rem;
}
.modal__filters-layout {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.modal__filter-item {
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--gray-900);
}
.modal__filter-item:last-child {
  border-bottom: none;
}
@media (max-width: 480px) {
  .modal__filter-item--discount .switch {
    width: 100%;
  }
}
.modal__filter-item--discount .switch__wrap {
  justify-content: flex-end;
}
@media (max-width: 480px) {
  .modal__filter-item--discount .switch__wrap {
    justify-content: space-between;
  }
}
.modal__filter-tags {
  display: flex;
  gap: 0.25rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
.modal__filter-tags:empty {
  display: none;
}
.modal__filter-tags > div {
  display: contents;
}
.modal__filter-tags .select__tag {
  display: flex;
  align-items: center;
  padding: 0.625rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.3;
  font-weight: 500;
  color: var(--lilac-100);
  background-color: var(--lilac-300);
  border-radius: 0.375rem;
  white-space: nowrap;
}
.modal__filter-tags .select__tag .checkbox__color-box {
  --size: 1.25rem;
  flex-shrink: 0;
  margin: 0 0.375rem 0 0;
}
.modal__filter-tags .select__tag span {
  display: initial;
  overflow: visible;
  white-space: unset;
  text-overflow: unset;
}
.modal__option-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem 0.1875rem;
  padding-top: 1.125rem;
}
.modal__option-tags .select__tag {
  padding: 0.625rem 0.75rem;
  margin: 0;
  cursor: pointer;
  color: var(--gray-200);
  background-color: var(--white);
  border: 1px solid var(--gray-900);
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: color, background-color, border-color;
}
.modal__option-tags .select__tag .select__tag-close {
  display: none;
}
.modal__option-tags .select__tag.checked {
  color: var(--lilac-100);
  background-color: var(--lilac-300);
  border-color: transparent;
}
.modal__option-tags .select__tag.checked .select__tag-close {
  display: flex;
}
.modal__option-tags .range {
  --offset: 0.25rem;
  padding: 0 var(--offset) var(--offset);
}
.modal__option-tags .range__inputs {
  margin-left: calc(var(--offset) * -1);
  margin-right: calc(var(--offset) * -1);
}
.modal__option-tags .select__content-gap {
  width: 100%;
}
.modal__option-tags .select__option.radio {
  cursor: pointer;
}
.modal__option-tags .select__option.radio.checked .radio__text {
  color: var(--pink-900);
}
.modal__accordion-title {
  font-size: 1.5rem;
  line-height: 1.3;
  font-weight: 500;
  color: var(--gray-100);
}
@media (max-width: 1024px) {
  .modal__accordion-title {
    font-size: 1.125rem;
  }
}
.modal__accordion-arrow {
  --size: 1.25rem;
  width: var(--size);
  min-width: var(--size);
  height: var(--size);
  min-height: var(--size);
  color: var(--gray-400);
  flex-shrink: 0;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: transform;
}
.accordion.active .modal__accordion-arrow {
  transform: rotate(180deg);
}
.modal__buttons {
  width: 100%;
  display: flex;
  gap: 1.25rem;
}
.modal__buttons-col {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media (max-width: 640px) {
  .modal__buttons-col .button--56 {
    min-height: 2.75rem;
    padding: 0.625rem;
  }
}
@media (max-width: 640px) {
  .modal__buttons-col .button--56.button--flat, .modal__buttons-col .button--56.button--flat-2 {
    min-height: 1.75rem;
    padding: 0rem;
  }
}
.modal__buttons-group {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.modal__buttons-check {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.modal__buttons > * {
  width: 100%;
}
.modal__button {
  width: 100%;
}
@media (max-width: 1024px) {
  .modal__button {
    min-height: 2.75rem;
    --padding-y: 0.5rem;
  }
}
.modal__description {
  font-size: 1.125rem;
  line-height: 1.3;
  font-weight: 500;
  color: var(--gray-200);
  --descr-offset: 1.5rem;
  margin: 0 0 var(--descr-offset);
}
.modal__description:only-child {
  margin: 0;
}
@media (max-width: 1024px) {
  .modal__description {
    font-size: 1rem;
    --descr-offset: 2.125rem;
  }
}
.modal__description.hidden {
  display: none;
}
.modal__textarea {
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 500;
  color: var(--gray-300);
}
.modal__textarea p + p {
  margin-top: 0.75rem;
}
.modal__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.modal__col {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.modal__map {
  position: relative;
  max-width: 35.3125rem;
  width: 100%;
  margin: calc(var(--modal-padding-y) * -1) calc(var(--modal-padding-x) * -1) calc(var(--modal-padding-y) * -1) 0;
}
@media (max-width: 1024px) {
  .modal__map {
    max-width: 22.8125rem;
  }
}
@media (max-width: 768px) {
  .modal__map {
    position: relative;
    z-index: -2;
    height: 100%;
    max-width: unset;
    width: calc(100% + var(--modal-padding-x) * 2);
    margin: calc(var(--modal-padding-y) * -1) calc(var(--modal-padding-x) * -1) 1.125rem;
  }
}
.modal__calendar {
  display: flex;
  justify-content: center;
}

.program-request-drawer {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 3.375rem;
  align-items: flex-start;
  width: 100%;
  min-height: 0;
  padding-right: 1.5rem;
}
@media (max-width: 1024px) {
  .program-request-drawer {
    gap: 2.5rem;
    padding-right: 1rem;
  }
}
@media (max-width: 768px) {
  .program-request-drawer {
    gap: 2rem;
    padding-right: 0;
  }
}
.program-request-drawer__texts {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  width: 100%;
}
@media (max-width: 768px) {
  .program-request-drawer__texts {
    gap: 1.25rem;
  }
}
.program-request-drawer__intro {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
}
@media (max-width: 768px) {
  .program-request-drawer__intro {
    gap: 0.5rem;
  }
}
.program-request-drawer__title {
  margin: 0;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 3rem;
  font-weight: 400;
  line-height: 3.75rem;
  color: var(--black);
  letter-spacing: -0.06rem;
}
@media (max-width: 1024px) {
  .program-request-drawer__title {
    font-size: 2.5rem;
    line-height: 3rem;
    letter-spacing: -0.05rem;
  }
}
@media (max-width: 768px) {
  .program-request-drawer__title {
    font-size: 2.25rem;
    line-height: 2.75rem;
    letter-spacing: -0.045rem;
  }
}
.program-request-drawer__lead {
  margin: 0;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.875rem;
  color: #91918e;
}
@media (max-width: 768px) {
  .program-request-drawer__lead {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}
.program-request-drawer__body {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: 100%;
}
@media (max-width: 768px) {
  .program-request-drawer__body {
    gap: 0.75rem;
  }
}
.program-request-drawer__paragraph {
  margin: 0;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2rem;
  color: var(--black);
}
@media (max-width: 1024px) {
  .program-request-drawer__paragraph {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}
@media (max-width: 768px) {
  .program-request-drawer__paragraph {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}
.program-request-drawer__button {
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .program-request-drawer__button {
    --height: 2.5rem;
    --pad-t: 0.75rem;
    --pad-b: 0.75rem;
    --pad-r: 1.5rem;
    --pad-l: 1.5rem;
    --font-size: 0.875rem;
    --line-height: 1;
    width: auto;
    min-height: 2.5rem;
  }
}

.toast-container {
  position: fixed;
  right: calc((100vw - 100.5rem - 32px / 2) / 2);
  bottom: 1.5rem;
  z-index: 1100;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  min-width: 19.1875rem;
  max-width: 21.5rem;
}
@media (max-width: 768px) {
  .toast-container {
    right: 0.875rem;
    bottom: 0.875rem;
    left: 0.875rem;
  }
}

.toast {
  --toast-bg: var(--white);
  --toast-color: var(--gray-100);
  --toast-timer-bg: var(--white);
  --toast-ring-color: var(--gray-100);
  --toast-radius: 0.625rem;
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem 0.75rem 0.75rem;
  background: var(--toast-bg);
  color: var(--toast-color);
  border-radius: var(--toast-radius);
  box-shadow: 0 0 0.125rem 0 rgba(0, 0, 0, 0.08), 0 0 1.5rem 0 rgba(0, 0, 0, 0.16);
  opacity: 1;
  translate: 0 0;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: opacity, translate;
}
.toast::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 200%;
  height: 200%;
  border: 0.0625rem solid rgba(255, 255, 255, 0.12);
  border-radius: calc(var(--toast-radius) * 2);
  transform: scale(0.5);
  transform-origin: top left;
  pointer-events: none;
}
.toast:not(.active) {
  opacity: 0;
  translate: 0 1rem;
  pointer-events: none;
}
.toast--lilac {
  --toast-bg: var(--lilac-100);
  --toast-color: var(--white);
  --toast-timer-bg: transparent;
  --toast-close-color: var(--gray-400);
  --toast-ring-color: var(--white) ;
}
.toast--success {
  --toast-icon-color: var(--pink-900);
  --toast-close-color: var(--gray-600);
  position: fixed;
  right: max(1.5rem, (100vw - 106rem) / 2);
  bottom: 3.5rem;
  width: max-content;
  max-width: calc(100vw - 1.75rem);
}
@media (max-width: 768px) {
  .toast--success {
    right: auto;
    bottom: 1.25rem;
    left: 50%;
    transform: translateX(-50%);
  }
}
.toast--confirmation {
  position: fixed;
  right: max(1.5rem, (100vw - 106rem) / 2);
  bottom: 3.5rem;
  gap: 0.5rem;
  width: max-content;
  max-width: calc(100vw - 1.75rem);
  padding: 0.75rem;
}
.toast--confirmation .toast__body {
  padding: 0 0.25rem;
}
@media (max-width: 768px) {
  .toast--confirmation {
    right: auto;
    bottom: 1.25rem;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media (max-width: 640px) {
  .toast--confirmation {
    bottom: 0.75rem;
  }
}
.toast__timer {
  position: relative;
  flex-shrink: 0;
  --size: 1.5rem;
  width: var(--size);
  min-width: var(--size);
  height: var(--size);
  min-height: var(--size);
  border-radius: 100%;
  background: var(--toast-timer-bg);
}
.toast__timer-ring {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.toast__timer-ring-progress {
  fill: none;
  stroke: var(--toast-ring-color);
  stroke-width: 1.5;
  stroke-linecap: round;
  transition: stroke-dashoffset linear var(--toast-duration, 5000ms);
}
.toast__timer-count {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  font-size: 0.75rem;
  line-height: 1;
  font-weight: 500;
  text-align: center;
}
.toast__icon {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  font-size: 1.5rem;
  color: var(--toast-icon-color, var(--toast-color));
}
.toast__body {
  flex: 1 1 auto;
  min-width: 0;
}
.toast__text {
  font-size: 0.9375rem;
  line-height: 1.3;
  font-weight: 500;
}
.toast__description {
  font-size: 0.875rem;
  line-height: 1.3;
  font-weight: 400;
  color: var(--gray-600);
  margin-top: 0.125rem;
}
.toast__close {
  --size: 1.5rem;
  width: var(--size);
  min-width: var(--size);
  height: var(--size);
  min-height: var(--size);
  font-size: 1.25rem;
  color: var(--toast-close-color, var(--toast-color));
  cursor: pointer;
}

.swiper {
  --swiper-pagination-top: unset;
  --swiper-pagination-bottom: 0.875rem;
  --swiper-pagination-bullet-size: 0.375rem;
  --swiper-pagination-bullet-horizontal-gap: 0.125rem;
  --swiper-pagination-bullet-border-radius: 1.125rem;
  --swiper-pagination-bullet-inactive-color: var(--gray-800);
  --swiper-pagination-color: var(--gray-300);
  --swiper-pagination-bullet-inactive-opacity: 1;
}
@media (max-width: 1024px) {
  .swiper {
    --swiper-pagination-bullet-size: 0.25rem;
    --swiper-pagination-bullet-horizontal-gap: 0.1563rem;
  }
}

.swiper-pagination-bullets {
  position: absolute;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.swiper-pagination-bullet {
  transition: width 0.3s linear;
  margin: calc((var(--swiper-pagination-bullet-horizontal-gap) - 0.125rem) * -1);
  padding: calc(var(--swiper-pagination-bullet-horizontal-gap) - 0.125rem);
  transition-duration: 0.3s;
  transition-property: width, background;
  transition-timing-function: ease-out;
}

.swiper-pagination-bullet-active {
  width: 0.875rem;
}

.link {
  --color: var(--gray-600);
  --color-hover: var(--pink-300);
  font-size: 0.9375rem;
  line-height: 1.3;
  font-weight: 500;
}
@media (hover: hover) {
  .link:hover .link__icon {
    color: var(--color-hover);
  }
}
.link:has(.link__icon) {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.link--dark {
  --color: var(--gray-100);
  --color-hover: var(--pink-100);
}
.link--14 {
  font-size: 0.875rem;
}
.link--16 {
  font-size: 1rem;
}
.link--inherit {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  color: inherit;
}
@media (hover: hover) {
  .link--inherit:hover {
    color: var(--color-hover);
  }
}
.link--phone {
  font-size: 1.25rem;
  line-height: 1.3;
  font-weight: 600;
  --color: var(--gray-100);
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.link--phone._vertical {
  font-size: 2.25rem;
  flex-direction: column;
  align-items: flex-start;
}
.link--phone._vertical .link__subtext {
  margin-top: 0;
  font-size: 1.125rem;
  color: var(--gray-1200);
}
.link--phone .link__icon {
  line-height: 1.5rem;
  color: var(--gray-500);
}
.link--phone .link__subtext {
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 500;
  color: var(--gray-400);
  margin-top: 0.0625rem;
}
.link--phone-col {
  font-size: 2rem;
  line-height: 1.3;
  font-weight: 600;
  --color: var(--gray-100);
  white-space: nowrap;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}
.link--phone-col .link__subtext {
  display: inline-flex;
  gap: 0.3125rem;
  font-size: 0.875rem;
  line-height: 1.3;
  font-weight: 500;
}
.link--phone-col .link__subtext .gray {
  color: var(--gray-1200);
}
.link__icon {
  font-size: 1.0938rem;
}
.link__icon--365 {
  --width: 4.5rem;
  --height: 1.0938rem;
  width: var(--width);
  min-width: var(--width);
  height: var(--height);
  min-height: var(--height);
}

.accordion__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  user-select: none;
}
.accordion__body {
  display: grid;
  grid-template-rows: 0fr;
  transition-timing-function: ease-out;
  transition-duration: 0.35s;
  transition-property: grid-template-rows;
}
.accordion__content {
  min-height: 0;
  overflow: hidden;
}
.accordion.active .accordion__body {
  grid-template-rows: 1fr;
}
.accordion--faq {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 3rem 1rem 3rem 0;
  border-top: 1px solid #e5e5e0;
  border-bottom: 1px solid #e5e5e0;
  margin-bottom: -1px;
}
.accordion--faq .accordion__header {
  gap: 1.25rem;
  align-items: flex-start;
  width: 100%;
  min-width: 0;
}
.accordion--faq .accordion__content {
  padding-top: 0;
}
.accordion--faq .faq-item__title {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  font-size: 2.25rem;
  font-weight: 400;
  line-height: 2.75rem;
  color: var(--black);
  letter-spacing: -0.045rem;
  overflow-wrap: anywhere;
  word-break: break-word;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: color;
}
.accordion--faq .faq-item__icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  margin-top: 0.25rem;
  color: var(--black);
  transform-origin: center;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: color, transform;
}
.accordion--faq .faq-item__plus {
  display: block;
  width: 2.25rem;
  height: 2.25rem;
}
.accordion--faq .faq-item__answer {
  margin: 0;
  max-width: 61.25rem;
  padding-top: 1rem;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75rem;
  color: #6d6d6d;
}
@media (hover: hover) {
  .accordion--faq:hover:not(.active) .faq-item__title,
  .accordion--faq:hover:not(.active) .faq-item__icon {
    color: #6d6d6d;
  }
}
.accordion--faq.active .faq-item__icon {
  transform: rotate(45deg);
}
@media (max-width: 1280px) {
  .accordion--faq {
    padding-block: 2.25rem;
  }
  .accordion--faq .faq-item__title {
    font-size: 1.75rem;
    line-height: 2.25rem;
    letter-spacing: -0.035rem;
  }
  .accordion--faq .faq-item__icon {
    margin-top: 0;
  }
}
@media (max-width: 1024px) {
  .accordion--faq {
    padding: 1.25rem 0;
  }
  .accordion--faq .accordion__header {
    gap: 0.75rem;
  }
  .accordion--faq .faq-item__title {
    font-size: 1.25rem;
    line-height: 1.625rem;
    letter-spacing: -0.025rem;
  }
  .accordion--faq .faq-item__icon {
    width: 1.5rem;
    height: 1.5rem;
    margin-top: 0.0625rem;
  }
  .accordion--faq .faq-item__plus {
    width: 1.5rem;
    height: 1.5rem;
  }
  .accordion--faq .faq-item__answer {
    padding-top: 0.75rem;
    font-size: 0.9375rem;
    line-height: 1.375rem;
  }
}
@media (max-width: 768px) {
  .accordion--faq {
    padding: 1rem 0;
  }
  .accordion--faq .accordion__header {
    gap: 0.75rem;
  }
  .accordion--faq .faq-item__title {
    font-size: 1.5rem;
    line-height: 2rem;
    letter-spacing: 0;
  }
  .accordion--faq .faq-item__icon {
    width: 1.5rem;
    height: 1.5rem;
    margin-top: 0.25rem;
  }
  .accordion--faq .faq-item__plus {
    width: 1.5rem;
    height: 1.5rem;
  }
  .accordion--faq .faq-item__answer {
    padding-top: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}

.dropdown__content {
  position: relative;
  z-index: 10;
  min-width: 15.375rem;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: opacity, visibility, translate;
}
@media (max-width: 640px) {
  .dropdown__content {
    position: fixed;
    inset: 0 !important;
    display: flex;
    align-items: flex-end;
    transform: unset !important;
    background: var(--transparent-bg-black);
    z-index: 1000;
  }
}
.dropdown__content:not(.active) {
  opacity: 0;
  visibility: hidden;
  translate: 0 0.5rem;
}
.dropdown__inners {
  position: relative;
  padding: 1.25rem 1rem;
  border-radius: 0.5rem;
  background: var(--white);
  box-shadow: 0 5px 18px 0 rgba(47, 42, 40, 0.12);
  width: 100%;
}
@media (max-width: 640px) {
  .dropdown__inners {
    padding: 2rem 0.875rem 2.5rem;
    border-radius: 0.625rem 0.625rem 0 0;
    box-shadow: 0 -0.25rem 0.9375rem 0 rgba(47, 42, 40, 0.1);
  }
}
.dropdown__list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (min-width: 641px) {
  .dropdown__header, .dropdown__footer {
    display: none;
  }
}
.dropdown__title {
  font-size: 1.5rem;
  line-height: 1.3;
  font-weight: 500;
  color: var(--gray-100);
  margin-bottom: 1.5rem;
}
.dropdown__footer {
  margin-top: 1.5rem;
}
.dropdown__show-btn {
  width: 100%;
}
.dropdown__handle {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1.5rem;
  padding: 0.5625rem 0;
}
@media (min-width: 641px) {
  .dropdown__handle {
    display: none;
  }
}
.dropdown__handle::after {
  content: "";
  position: absolute;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 3rem;
  height: 0.375rem;
  border-radius: 0.25rem;
  background: var(--gray-900);
}

select[data-select] {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  visibility: hidden;
}
select[data-select].button {
  overflow: hidden;
  font-size: inherit;
  color: transparent;
  pointer-events: none;
}
select[data-select].button option {
  visibility: hidden;
}
select[data-select][readonly] ~ .select__button-wrapper .select__button,
select[data-select] .readonly ~ .select__button-wrapper .select__button {
  pointer-events: none;
  background: var(--bg-color-disabled);
  border-color: var(--border-color-disabled);
}

.select {
  position: relative;
  display: inline-flex;
  width: 100%;
  margin: 0;
}
.select.tags .select__tags-wrapper {
  display: block;
}
.select.tags .select__title-wrapper {
  display: none;
}
.select.tags .select__template-title {
  display: none;
}
.select.template .select__template-title {
  display: flex;
}
.select.template .select__title-wrapper {
  display: none;
}
.select.template .select__tags-wrapper {
  display: none;
}
.select.template .select__title {
  display: none;
}
.select.counter .select__counter {
  display: inline-flex;
}
.select.counter .select__template-title {
  display: none;
}
.select.counter .select__tags-wrapper {
  display: none;
}
.select.selected:has(.select__clear) .select__arrow {
  display: none;
}
.select.selected:has(.select__clear) .select__clear {
  display: flex;
}
.select.active::before {
  z-index: 5;
}
.select.active .select__button-wrapper {
  z-index: 4;
}
.select.active .select__button-wrapper .select__search {
  display: block;
}
.select.active .select__button {
  color: var(--color-active);
  background-color: var(--bg-color-active);
  border-color: var(--border-color-active);
}
.select.active .select__popper {
  pointer-events: all;
}
.select.active .select__content {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}
.select.active .select__arrow {
  transform: rotateX(-180deg);
}
.select.loading {
  cursor: wait;
}
.select.loading::before {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  display: block;
  width: 1em;
  min-width: 1em;
  height: 1em;
  min-height: 1em;
  font-size: 20px;
  color: var(--gray-100);
  content: "";
  background-color: currentColor;
  transform: translate(-50%, -50%);
  mask-image: url(../../components/ui/img/svg/spinner.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center center;
  -webkit-mask-image: url(../../components/ui/img/svg/spinner.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  animation: spinner 0.5s linear infinite;
}
.select.loading > * {
  pointer-events: none;
  user-select: none;
}
.select.loading .select__button > *,
.select.loading .select__content > * {
  opacity: 0;
}
.select.disabled, .select[disabled] {
  cursor: not-allowed;
}
.select.disabled::before, .select[disabled]::before {
  opacity: 0.5;
}
.select.disabled .select__button, .select[disabled] .select__button {
  --color-disabled: var(--gray-700);
  --bg-color-disabled: var(--gray-1000);
  --border-color-disabled: var(--gray-900);
  color: var(--color-disabled);
  background-color: var(--bg-color-disabled);
  border-color: var(--border-color-disabled);
}
.select.disabled .select__tag, .select[disabled] .select__tag {
  background-color: var(--gray-1000);
  border-color: var(--gray-900);
}
.select.disabled .select__tag .button-icon, .select[disabled] .select__tag .button-icon {
  --color: currentColor;
}
.select.disabled .select__counter, .select[disabled] .select__counter {
  background-color: var(--gray-900);
}
.select.disabled .select__arrow, .select[disabled] .select__arrow {
  color: var(--gray-600);
}
.select.disabled > *, .select[disabled] > * {
  pointer-events: none;
  user-select: none;
}
.select.invalid .select__button {
  border-color: var(--error);
}
.select--56 .select__button {
  min-height: 3.5rem;
  --padding-y: 0.4375rem;
  --padding-x: 1rem;
}
@media (max-width: 1024px) {
  .select--56 .select__button {
    min-height: 2.5rem;
    --padding-y: 0.5625rem;
    --padding-x: 0.6875rem;
  }
}
.select--56 .select__title {
  font-size: 1rem;
  line-height: 1.3;
}
@media (max-width: 1024px) {
  .select--56 .select__title {
    font-size: 0.875rem;
  }
}
.select--44-mobile .select__button {
  min-height: 3.5rem;
  --padding-y: 0.4375rem;
  --padding-x: 1rem;
}
@media (max-width: 1024px) {
  .select--44-mobile .select__button {
    min-height: 2.75rem;
    --padding-y: 0.5625rem;
    --padding-x: 0.875rem;
  }
}
.select--44 .select__button {
  min-height: 2.75rem;
  --padding-y: 0.4375rem;
  --padding-x: 0.9375rem;
}
.select--44 .select__title {
  margin-top: 0.0625rem;
  font-size: 0.875rem;
  line-height: 1.125rem;
}
.select--44 .select__search .input {
  --border-radius: 0.375rem;
  --padding-y: 0.4375rem;
  --padding-x: 0.9375rem;
  --font-size: 0.875rem;
  --line-height: 1.125rem;
}
@media (max-width: 1024px) {
  .select--44 .select__search .input {
    --font-size: 1rem;
    --line-height: 1.5rem;
  }
}
.select--44 .select__search .input__field {
  min-height: 2.75rem;
}
.select--address .select__arrow {
  display: none;
}
.select--gray-title:not(.selected) .select__title {
  color: var(--gray-600);
}
.select > select {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  visibility: hidden;
  user-select: none;
}
.select__button-wrapper {
  position: relative;
  width: 100%;
}
.select__button-wrapper .select__search {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  display: none;
  width: 100%;
  height: 100%;
  margin: 0;
  background-color: var(--bg-color-main);
}
.select__button {
  position: relative;
  width: 100%;
}
.select__title-wrapper {
  display: flex;
  flex-grow: 1;
  overflow: hidden;
}
.select__title {
  display: block;
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 500;
  min-height: 1.25rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.select__title sup {
  color: var(--error);
}
@media (max-width: 1024px) {
  .select__title {
    font-size: 0.875rem;
  }
}
.select__counter {
  display: none;
  align-items: center;
  justify-content: center;
  min-width: 12px;
  min-height: 12px;
  padding: 2px 3px;
  margin: auto 0 auto 4px;
  font-size: 10px;
  line-height: 8px;
  color: var(--white);
  text-align: center;
  background-color: var(--gray-100);
  border-radius: 50%;
}
.select__tags-wrapper {
  --tag-padding-v: 0.625rem;
  --tag-padding-h: 0.75rem;
  display: none;
  width: 100%;
  min-width: 0;
  margin: calc(-1 * (var(--tag-padding-v))) 0 calc(-1 * (var(--tag-padding-v))) -1rem;
  overflow: hidden;
}
.select__tags {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  min-width: 0;
  --tags-offset: -0.25rem;
}
.select__tag {
  display: inline-flex;
  min-width: 3rem;
  flex-shrink: 1;
  align-items: center;
  max-width: calc(100% - 4px);
  padding: var(--tag-padding-v) var(--tag-padding-h);
  margin: calc(var(--tags-offset) * -1);
  font-size: 0.875rem;
  line-height: 1.3;
  font-weight: 500;
  color: var(--lilac-100);
  background-color: var(--lilac-300);
  border-radius: 0.375rem;
}
.select__tag .checkbox__color-box {
  --size: 1.25rem;
  flex-shrink: 0;
  margin: 0 0.375rem 0 0;
}
.select__tag span {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.select__overcounter {
  flex-shrink: 0;
  margin-left: calc(var(--tags-offset) * -1);
  font-size: 0.875rem;
  line-height: 1.3;
  font-weight: 700;
  color: var(--red);
}
.select__tag-close {
  color: var(--lilac-200);
  --size: 1rem;
  width: var(--size);
  min-width: var(--size);
  height: var(--size);
  min-height: var(--size);
  cursor: pointer;
  margin-left: 0.375rem;
}
.select__tag-close svg {
  width: 100%;
  height: 100%;
}
.select__template-title {
  display: none;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  margin: -5px 0;
  overflow: hidden;
}
.select__template-title .select-template {
  padding: 0;
}
.select__template-title .checkbox__custom {
  display: none;
}
.select__template-title .checkbox__text {
  font-size: 1rem;
}
.select__arrow-wrapper {
  display: flex;
  flex-shrink: 0;
}
.select__arrow {
  --size: 1.25rem;
  width: var(--size);
  min-width: var(--size);
  height: var(--size);
  min-height: var(--size);
  color: var(--gray-400);
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: color, transform;
}
.select__clear {
  display: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.select__clear-icon {
  --size: 1.25rem;
  width: var(--size);
  min-width: var(--size);
  height: var(--size);
  min-height: var(--size);
  color: var(--gray-400);
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: color;
}
@media (hover: hover) {
  .select__clear:hover .select__clear-icon {
    color: var(--gray-100);
  }
}
.select__popper {
  z-index: 1000;
  pointer-events: none;
}
@media (max-width: 768px) {
  .select__popper:not(:has(.select__content._no-fullscreen)) {
    inset: 0 !important;
    transform: none !important;
    display: flex;
    align-items: flex-end;
    width: 100% !important;
  }
}
.select__popper.active {
  pointer-events: all;
}
@media (max-width: 768px) {
  .select__popper.active:not(:has(.select__content._no-fullscreen)) {
    background-color: var(--transparent-bg-black);
  }
}
@media (max-width: 768px) {
  .select__popper:has(.select__content._same) {
    width: 100% !important;
  }
}
.select__popper[data-popper-placement=top-start] .select__content {
  transform: translateY(-2rem);
  box-shadow: 0 0 0.25rem 0 rgba(10, 13, 18, 0.05), 0 -0.5rem 0.5rem 0.125rem rgba(10, 13, 18, 0.05);
}
.select__popper[data-popper-placement=top-start] .select__content.active {
  transform: translateY(0);
}
.is-ready .select__popper .select__content {
  position: static;
}
.select__content {
  --position: calc(100% + 0.25rem);
  position: absolute;
  top: var(--position);
  left: 0;
  z-index: 4;
  width: 100%;
  min-width: 19.6875rem;
  padding: 1.1875rem 0.9375rem;
  border: 1px solid var(--gray-1300);
  overflow: hidden;
  visibility: hidden;
  background-color: var(--white);
  border-radius: 0.375rem;
  box-shadow: 0 0 0.25rem 0 rgba(10, 13, 18, 0.05), 0 0.5rem 0.5rem 0.125rem rgba(10, 13, 18, 0.05);
  opacity: 0;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: opacity, visibility, transform, box-shadow;
  transform: translateY(2rem);
}
.select__content._same {
  min-width: 0;
}
.select__content.active {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}
@media (max-width: 768px) {
  .select__content.teleported:not(._no-fullscreen) {
    position: static;
    inset: 0 !important;
    z-index: 1000;
    display: flex;
    align-items: flex-end;
    min-width: 0;
    height: 100%;
    padding: 1.5rem 0 0 !important;
    background-color: unset;
    border: 0 !important;
    border-radius: 0 !important;
    transform: unset !important;
  }
}
@media (max-width: 768px) {
  .select__content:not(.teleported):not(._no-fullscreen) {
    position: fixed;
    background-color: var(--transparent-bg-black);
  }
}
.select__content--right {
  right: 0;
  left: auto;
}
.select__content--bottom {
  top: auto;
  bottom: var(--position);
}
.select__content .select__search {
  margin-bottom: 1rem;
}
.select__content-gap .select__item + .select__item {
  margin-top: var(--gap);
}
.select__content-gap._16 {
  --gap: 1rem;
}
@media (max-width: 768px) {
  .select__content:not(._no-fullscreen) .select__container {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-height: 100%;
    padding: 2rem 0.875rem 2.5rem;
    overflow: hidden;
    background-color: var(--white);
    border-radius: 0.625rem 0.625rem 0 0;
    box-shadow: 0 -0.25rem 0.9375rem 0 rgba(47, 42, 40, 0.1);
    transition-timing-function: ease-out;
    transition-duration: 0.3s;
    transition-property: transform;
  }
  .select__content:not(._no-fullscreen) .select__container > *:not(.select__list) {
    flex-shrink: 0;
  }
}
@media (max-width: 768px) {
  .select__content:not(.active):not(._no-fullscreen) .select__container {
    transform: translateY(100%);
  }
}
.select__handle {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1.5rem;
  padding: 0.5625rem 0;
}
@media (min-width: 769px) {
  .select__handle {
    display: none;
  }
}
.select__content._no-fullscreen .select__handle {
  display: none;
}
.select__handle::after {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 3rem;
  height: 0.375rem;
  content: "";
  background-color: var(--gray-900);
  border-radius: 0.25rem;
}
.select__header {
  font-size: 1.5rem;
  line-height: 1.05;
  font-weight: 400;
  color: var(--gray-100);
  margin-bottom: 1.5rem;
  font-family: "Inter", "Arial", sans-serif;
}
@media (min-width: 769px) {
  .select__header {
    display: none;
  }
}
.select__content._no-fullscreen .select__header {
  display: none;
}
.select__custom {
  display: none;
}
.select__custom-slot .select__custom {
  display: block;
}
.select__footer {
  display: flex;
  gap: 0.625rem;
  margin-top: 1rem;
}
@media (max-width: 768px) {
  .select__footer {
    margin-top: 1.5rem;
  }
}
.select__footer-btn {
  flex: 1 1 0;
  min-width: 0;
}
.select__search {
  margin-bottom: 4px;
}
.select__search .input-wrapper {
  width: 100%;
  height: 100%;
  margin: 0;
}
.select__search .input-container {
  height: 100%;
}
.select__search .input {
  height: 100%;
}
.select__list {
  max-height: 12.25rem;
  padding-bottom: 0.0625rem;
}
@media (max-width: 768px) {
  .select__content:not(._no-fullscreen) .select__list {
    max-height: unset;
    flex: 1 1 auto;
    min-height: 0;
  }
}
.select__list:has(.checkbox__color-box) {
  max-height: 12.6875rem;
}
@media (max-width: 768px) {
  .select__content:not(._no-fullscreen) .select__list:has(.checkbox__color-box) {
    max-height: unset;
    flex: 1 1 auto;
    min-height: 0;
  }
}
.select__item {
  border-radius: 0.375rem;
}
.select__item.hidden {
  display: none;
}
@media (min-width: 769px) {
  .select__item.collapsed {
    display: none;
  }
}
.select__item + .select__item {
  margin-top: 0.875rem;
}
.select__show-more {
  padding: 0.1875rem 0;
  font-size: 0.875rem;
  line-height: 1.125rem;
  font-weight: 500;
  color: var(--pink-900);
  cursor: pointer;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: color;
  margin: 1rem 0 0;
}
@media (max-width: 768px) {
  .select__show-more {
    display: none;
  }
}
.select__show-more.hidden {
  display: none;
}
@media (hover: hover) {
  .select__show-more:hover {
    color: var(--lilac-200);
  }
}
.select__option {
  width: 100%;
  margin: 0;
}
.select__option.checkbox {
  display: flex;
  --custom-size: 1.25rem;
}
.select__option.checkbox .checkbox__custom {
  display: inline-flex;
  margin: 0 0.75rem 0 0;
}
.select__option.checkbox .checkbox__wrap {
  padding: 0;
}
@media (hover: hover) {
  .select__option .checkbox__wrap:hover .checkbox__text {
    color: var(--pink-900);
  }
}
.select__option .checkbox__text {
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 500;
  color: var(--gray-200);
}
.select:not(.multiple) .select__option.checked {
  color: var(--pink-900);
}
.select__group-label {
  display: flex;
  align-items: center;
  padding: 6px 16px;
  font-weight: 600;
}
.select__label {
  display: block;
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 500;
  color: var(--gray-400);
  margin-bottom: 1rem;
}
@media (max-width: 1024px) {
  .select__label {
    color: var(--gray-100);
    font-weight: 600;
  }
}

.select-template {
  display: flex;
  cursor: pointer;
}
.select-template--size {
  gap: 0.75rem;
}
.select-template--size .radio__wrap {
  align-items: flex-start;
}
.select-template--empty-search:not(.active) {
  display: none;
}
.select-template--empty-search .select-template__title {
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 500;
}
.select-template__img-wrapper {
  width: 1em;
  min-width: 1em;
  height: 1em;
  min-height: 1em;
  margin-right: 8px;
  font-size: 30px;
  border-radius: 50%;
}
.select-template__img {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
}
.select-template__title {
  display: block;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--gray-100);
}
.select-template__title--inline {
  display: inline;
}
.select-template__title .gray {
  color: var(--gray-500);
}
.select-template__text {
  font-size: 14px;
  font-weight: 500;
  line-height: 18px;
}

.form {
  --gap: 1rem;
}
.form--24 {
  --gap: 1.5rem;
}
.form--48 {
  --gap: 3rem;
}
.form__grid {
  --cols: 2;
  display: grid;
  grid-template-columns: repeat(var(--cols), 1fr);
  gap: 1rem;
}
.form__grid-item {
  display: flex;
  flex-direction: column;
}
.form__grid-item--full {
  grid-column: 1/-1;
}
@media (max-width: 1024px) {
  .form__grid-item--full-mobile {
    grid-column: 1/-1;
  }
}
@media (max-width: 1024px) {
  .form__visibility-desktop {
    display: none;
  }
}
@media (min-width: 1025px) {
  .form__visibility-mobile {
    display: none;
  }
}
.form__inputs {
  display: flex;
  flex-direction: column;
  gap: var(--gap, 1rem);
}
.form__col {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media (max-width: 1024px) {
  .form__col {
    gap: 1.5rem;
  }
}
.form__options {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.form__options:has(.switch__input:not(:checked)) .switch__message,
.form__options:has(.switch__input:not(:checked)) .form__option-radio {
  display: none;
}
.form__footer {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-top: 2rem;
}
.form__radio-plates {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.form__option-radio {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.form__option-radio--16 {
  gap: 1rem;
}
.form__group {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.form__group + .form__group {
  margin-top: 3rem;
}
@media (max-width: 1024px) {
  .form__group + .form__group {
    margin-top: 2rem;
  }
}
.form__group-title {
  font-size: 1.25rem;
  line-height: 1.3;
  font-weight: 600;
  color: var(--gray-100);
}
@media (max-width: 1024px) {
  .form__group-title {
    font-size: 1.125rem;
  }
}
.form__message {
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 500;
  color: var(--gray-300);
}
.form__grid-label {
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 600;
  color: var(--gray-100);
  margin-bottom: 0.625rem;
}
@media (max-width: 1024px) {
  .form__grid-label {
    margin-bottom: 1rem;
    font-size: 1.125rem;
    margin-top: 0.5rem;
  }
}
.form__scroller .os-scrollbar-horizontal {
  opacity: 0 !important;
  visibility: hidden !important;
}
@media (max-width: 768px) {
  .form__scroller {
    margin-right: calc(var(--container-padding-native) * -1);
  }
}
.form__scroller .form__radio-plates {
  flex-wrap: nowrap;
  white-space: nowrap;
  position: relative;
}
.form__scroller .form__radio-plates::after {
  content: "";
  display: block;
  min-width: calc(var(--container-padding-native) - 0.5rem);
  min-height: 1px;
}
@media (min-width: 1025px) {
  .form__scroller .form__radio-plates::after {
    content: none;
  }
}

.input {
  --color: var(--black);
  --color-readonly: var(--gray-200);
  --color-disabled: var(--gray-200);
  --color-placeholder: #8c94a8;
  --color-placeholder-hover: #788095;
  --color-placeholder-disabled: var(--gray-200);
  --bg-color: var(--white);
  --bg-color-hover: var(--white);
  --bg-color-focus: var(--white);
  --bg-color-readonly: var(--gray-400);
  --bg-color-disabled: var(--gray-400);
  --border-color: transparent;
  --border-color-hover: var(--gray-300);
  --border-color-focus: var(--gray-300);
  --border-color-readonly: transparent;
  --border-color-disabled: transparent;
  --border-color-invalid: var(--error);
  --border-color-valid: var(--success);
  --border-width: 0.0625rem;
  --border-radius: 0.5rem;
  --font-family: Inter, Arial, sans-serif;
  --font-size: 1rem;
  --line-height: 1.5rem;
  --font-weight: 400;
  --padding-y: 1rem;
  --padding-x: 1.375rem;
  --icon-size: 1.5rem;
  --icon-offset: 0.5rem;
}
@media (max-width: 768px) {
  .input {
    --padding-y: 0.875rem;
    --padding-x: 1rem;
    --font-size: 1rem;
    --line-height: 1.5rem;
  }
}
.input.invalid {
  --border-color: var(--border-color-invalid);
  --border-color-hover: var(--border-color-invalid);
  --border-color-focus: var(--border-color-invalid);
}
.input.invalid .input__message--invalid {
  display: block;
}
.input.invalid .input__message--hide-on-invalid {
  display: none;
}
.input.input--success {
  --border-color: var(--border-color-valid);
  --border-color-hover: var(--border-color-valid);
  --border-color-focus: var(--border-color-valid);
}
.input--search {
  --border-radius: 0.375rem;
}
.input--44 {
  --border-radius: 0.375rem;
  --padding-y: 0.75rem;
  --padding-x: 0.9375rem;
  --font-size: 0.875rem;
  --line-height: 1.125rem;
}
@media (max-width: 1024px) {
  .input--44 {
    --font-size: 1rem;
    --line-height: 1.5rem;
  }
}
.input__wrapper {
  width: 100%;
  display: flex;
}
.input__container {
  position: relative;
  width: 100%;
}
.input__container:has(.input__icon--left) .input__field {
  padding-left: calc(var(--padding-x) + var(--border-width) + var(--icon-size) + var(--icon-offset));
}
.input__container:has(.input__icon--right) .input__field, .input__container:has(.input__control) .input__field {
  padding-right: calc(var(--padding-x) + var(--border-width) + var(--icon-size) + var(--icon-offset));
}
.input__field {
  width: 100%;
  padding: var(--padding-y) var(--padding-x);
  overflow: hidden;
  font-family: "Inter", "Arial", sans-serif;
  font-size: var(--font-size);
  font-weight: var(--font-weight);
  line-height: var(--line-height);
  color: var(--color);
  background-color: var(--bg-color);
  border-color: var(--border-color);
  border-style: solid;
  border-width: var(--border-width);
  border-radius: var(--border-radius);
  outline: transparent;
  box-shadow: none;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: border-color, background-color, color, box-shadow;
  appearance: none;
}
.input__field::-webkit-input-placeholder {
  font-family: "Inter", "Arial", sans-serif;
  font-size: var(--font-size);
  font-weight: var(--font-weight);
  line-height: var(--line-height);
  color: var(--color-placeholder);
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: color;
}
.input__field:-moz-placeholder {
  font-family: "Inter", "Arial", sans-serif;
  font-size: var(--font-size);
  font-weight: var(--font-weight);
  line-height: var(--line-height);
  color: var(--color-placeholder);
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: color;
}
.input__field::-moz-placeholder {
  font-family: "Inter", "Arial", sans-serif;
  font-size: var(--font-size);
  font-weight: var(--font-weight);
  line-height: var(--line-height);
  color: var(--color-placeholder);
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: color;
}
.input__field:-ms-input-placeholder {
  font-family: "Inter", "Arial", sans-serif;
  font-size: var(--font-size);
  font-weight: var(--font-weight);
  line-height: var(--line-height);
  color: var(--color-placeholder);
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: color;
}
@media (hover: hover) {
  .input__field:hover, .input__field.hover {
    background-color: var(--bg-color-hover);
    border-color: var(--border-color-hover);
  }
  .input__field:hover::-webkit-input-placeholder, .input__field.hover::-webkit-input-placeholder {
    color: var(--color-placeholder-hover);
  }
  .input__field:hover:-moz-placeholder, .input__field.hover:-moz-placeholder {
    color: var(--color-placeholder-hover);
  }
  .input__field:hover::-moz-placeholder, .input__field.hover::-moz-placeholder {
    color: var(--color-placeholder-hover);
  }
  .input__field:hover:-ms-input-placeholder, .input__field.hover:-ms-input-placeholder {
    color: var(--color-placeholder-hover);
  }
}
.input__field:focus, .input__field[focus], .input__field.focus {
  background-color: var(--bg-color-focus);
  border-color: var(--border-color-focus);
}
.input__field:read-only, .input__field[readonly], .input__field.readonly {
  color: var(--color-readonly);
  background-color: var(--bg-color-readonly);
  border-color: var(--border-color-readonly);
}
.input__field:disabled, .input__field[disabled], .input__field.disabled {
  color: var(--color-disabled);
  pointer-events: none;
  cursor: not-allowed;
  border-color: var(--border-color-disabled);
}
.input__field:disabled::-webkit-input-placeholder, .input__field[disabled]::-webkit-input-placeholder, .input__field.disabled::-webkit-input-placeholder {
  color: var(--color-placeholder-disabled);
}
.input__field:disabled:-moz-placeholder, .input__field[disabled]:-moz-placeholder, .input__field.disabled:-moz-placeholder {
  color: var(--color-placeholder-disabled);
}
.input__field:disabled::-moz-placeholder, .input__field[disabled]::-moz-placeholder, .input__field.disabled::-moz-placeholder {
  color: var(--color-placeholder-disabled);
}
.input__field:disabled:-ms-input-placeholder, .input__field[disabled]:-ms-input-placeholder, .input__field.disabled:-ms-input-placeholder {
  color: var(--color-placeholder-disabled);
}
.input__icon {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  color: var(--gray-200);
}
.input__icon:not(.input__icon--clickable) {
  pointer-events: none;
}
.input__icon {
  --size: var(--icon-size);
  width: var(--size);
  min-width: var(--size);
  height: var(--size);
  min-height: var(--size);
}
.input__icon--left {
  left: calc(var(--padding-x) + var(--border-width));
}
.input__icon--right {
  right: calc(var(--padding-x) + var(--border-width));
}
.input__icon--clickable {
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: opacity, visibility;
}
.input__icon--clickable.hidden {
  opacity: 0;
  visibility: hidden;
}
.input__control {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  color: var(--gray-200);
  right: calc(var(--padding-x) + var(--border-width));
  cursor: pointer;
  display: flex;
}
.input__message {
  position: relative;
  font-size: 0.75rem;
  line-height: 1.125rem;
  font-weight: 400;
  color: var(--gray-200);
  margin-top: 0.5rem;
}
.input__message--invalid {
  display: none;
  color: var(--error);
}
.input__message--invalid:empty {
  display: none;
}

.textarea {
  --color: var(--gray-200);
  --color-readonly: var(--gray-600);
  --color-disabled: var(--gray-600);
  --color-placeholder: var(--gray-600);
  --color-placeholder-disabled: var(--gray-600);
  --bg-color: var(--white);
  --bg-color-hover: var(--gray-1000);
  --bg-color-focus: var(--white);
  --bg-color-readonly: var(--gray-1000);
  --bg-color-disabled: var(--gray-1000);
  --border-color: var(--gray-900);
  --border-color-hover: var(--gray-700);
  --border-color-focus: var(--gray-700);
  --border-color-readonly: var(--gray-900);
  --border-color-disabled: var(--gray-900);
  --border-color-invalid: var(--error-diff);
  --border-color-valid: var(--success);
  --border-width: 0.0625rem;
  --border-radius: 0.625rem;
  --font-family: $main-font;
  --font-size: 1.125rem;
  --line-height: 1.5rem;
  --font-weight: 500;
  --padding-y: 0.6875rem;
  --padding-x: 1rem;
  --height: 10.5rem;
}
@media (max-width: 768px) {
  .textarea {
    --border-radius: 0.375rem;
    --font-size: 1rem;
    --line-height: 1.5rem;
    --padding-y: 0.625rem;
  }
}
@media (hover: hover) {
  .textarea:hover .textarea__container, .textarea.hover .textarea__container {
    background-color: var(--bg-color-hover);
    border-color: var(--border-color-hover);
  }
}
.textarea.focus .textarea__container, .textarea:has(.textarea__field:focus) .textarea__container {
  background-color: var(--bg-color-focus);
  border-color: var(--border-color-focus);
}
.textarea.readonly .textarea__container, .textarea:has(.textarea__field[readonly]) .textarea__container {
  color: var(--color-readonly);
  background-color: var(--bg-color-readonly);
  border-color: var(--border-color-readonly);
  cursor: not-allowed;
}
.textarea.readonly .textarea__field, .textarea:has(.textarea__field[readonly]) .textarea__field {
  cursor: not-allowed;
}
.textarea.disabled .textarea__container, .textarea:has(.textarea__field[disabled]) .textarea__container {
  color: var(--color-disabled);
  pointer-events: none;
  cursor: not-allowed;
  border-color: var(--border-color-disabled);
}
.textarea.disabled .textarea__field::-webkit-input-placeholder, .textarea:has(.textarea__field[disabled]) .textarea__field::-webkit-input-placeholder {
  color: var(--color-placeholder-disabled);
}
.textarea.disabled .textarea__field:-moz-placeholder, .textarea:has(.textarea__field[disabled]) .textarea__field:-moz-placeholder {
  color: var(--color-placeholder-disabled);
}
.textarea.disabled .textarea__field::-moz-placeholder, .textarea:has(.textarea__field[disabled]) .textarea__field::-moz-placeholder {
  color: var(--color-placeholder-disabled);
}
.textarea.disabled .textarea__field:-ms-input-placeholder, .textarea:has(.textarea__field[disabled]) .textarea__field:-ms-input-placeholder {
  color: var(--color-placeholder-disabled);
}
.textarea.disabled, .textarea:has(.textarea__field:disabled) {
  --bg-color: var(--bg-color-disabled);
}
.textarea.disabled .textarea__container, .textarea:has(.textarea__field:disabled) .textarea__container {
  border-color: var(--border-color-disabled);
}
.textarea__label {
  display: block;
  margin-bottom: 0.5rem;
  font-size: var(--font-size);
  color: var(--color);
}
.textarea__container {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: var(--bg-color);
  border: var(--border-width) solid var(--border-color);
  border-radius: var(--border-radius);
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: border-color, background-color;
}
.textarea__scroll {
  height: var(--height);
  padding: var(--padding-y) var(--padding-x);
}
.textarea__field {
  display: block;
  width: 100%;
  min-height: calc(var(--height) - var(--padding-y) * 2);
  padding: 0;
  overflow: hidden;
  font-family: "Inter", "Arial", sans-serif;
  font-size: var(--font-size);
  line-height: var(--line-height);
  font-weight: var(--font-weight);
  color: var(--color);
  background-color: transparent;
  border: 0;
  border-radius: 0;
  outline: none;
  box-shadow: none;
  resize: none;
  appearance: none;
}
.textarea__field::-webkit-input-placeholder {
  font-family: "Inter", "Arial", sans-serif;
  font-size: var(--font-size);
  font-weight: var(--font-weight);
  line-height: var(--line-height);
  color: var(--color-placeholder);
}
.textarea__field:-moz-placeholder {
  font-family: "Inter", "Arial", sans-serif;
  font-size: var(--font-size);
  font-weight: var(--font-weight);
  line-height: var(--line-height);
  color: var(--color-placeholder);
}
.textarea__field::-moz-placeholder {
  font-family: "Inter", "Arial", sans-serif;
  font-size: var(--font-size);
  font-weight: var(--font-weight);
  line-height: var(--line-height);
  color: var(--color-placeholder);
}
.textarea__field:-ms-input-placeholder {
  font-family: "Inter", "Arial", sans-serif;
  font-size: var(--font-size);
  font-weight: var(--font-weight);
  line-height: var(--line-height);
  color: var(--color-placeholder);
}
.textarea__field:disabled {
  cursor: not-allowed;
}
.textarea__field:disabled::-webkit-input-placeholder {
  color: var(--color-placeholder-disabled);
}
.textarea__field:disabled:-moz-placeholder {
  color: var(--color-placeholder-disabled);
}
.textarea__field:disabled::-moz-placeholder {
  color: var(--color-placeholder-disabled);
}
.textarea__field:disabled:-ms-input-placeholder {
  color: var(--color-placeholder-disabled);
}
.textarea__counter {
  width: 100%;
  font-size: 0.75rem;
  line-height: 1.3;
  font-weight: 400;
  color: var(--gray-400);
  text-align: right;
  margin-top: 0.375rem;
  margin-left: auto;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: color;
}
.textarea__counter.is-overfilled {
  color: var(--error);
}

.radio {
  --size: 1.25rem;
  --icon-size: 0.625rem;
  --color: transparent;
  --color-hover: var(--gray-700);
  --color-checked: var(--white);
  --color-disabled: transparent;
  --color-checked-disabled: var(--white);
  --bg-color: transparent;
  --bg-color-hover: transparent;
  --bg-color-checked: var(--lilac-100);
  --bg-color-checked-hover: var(--lilac-100);
  --bg-color-disabled: transparent;
  --bg-color-checked-disabled: var(--lilac-100);
  --border-color: var(--gray-800);
  --border-color-hover: var(--gray-700);
  --border-color-disabled: var(--gray-800);
  --border-color-checked: var(--lilac-100);
  --border-color-checked-hover: var(--lilac-100);
  --border-color-checked-disabled: var(--lilac-100);
  --border-radius: 50%;
  position: relative;
  display: block;
  margin: 0;
  cursor: pointer;
}
@media (hover: hover) {
  .radio:hover .radio__custom {
    color: var(--color-hover);
    border-color: var(--border-color-hover);
  }
}
.radio__input:checked ~ .radio__wrap .radio__custom, .radio.checked .radio__wrap .radio__custom {
  color: var(--color-checked);
  background-color: var(--bg-color-checked);
  border-color: var(--border-color-checked);
}
@media (hover: hover) {
  .radio__input:checked ~ .radio__wrap .radio__custom:hover, .radio.checked .radio__wrap .radio__custom:hover {
    background-color: var(--bg-color-checked-hover);
    border-color: var(--border-color-checked-hover);
  }
}
.radio__input:disabled ~ .radio__wrap, .radio.disabled .radio__wrap {
  color: inherit;
  cursor: not-allowed;
  background-color: inherit;
}
.radio__input:disabled ~ .radio__wrap .radio__custom, .radio.disabled .radio__wrap .radio__custom {
  color: var(--color-disabled);
  background-color: var(--bg-color-disabled);
  border-color: var(--border-color-disabled);
}
.radio__input:disabled:checked ~ .radio__wrap .radio__custom, .radio.disabled.checked .radio__wrap .radio__custom {
  color: var(--color-checked-disabled);
  background-color: var(--bg-color-checked-disabled);
  border-color: var(--border-color-checked-disabled);
}
.radio.disabled {
  cursor: not-allowed;
}
.radio.disabled .radio__wrap {
  pointer-events: none;
}
.radio.invalid .radio__custom {
  border-color: var(--error);
}
.radio.invalid .radio__text {
  color: var(--error);
}
.radio--tag {
  min-height: 2.5rem;
  padding: 0.5625rem 0.8125rem;
  border-radius: 0.5rem;
  background: var(--gray-1000);
  border: 1px solid var(--gray-1000);
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: background, border-color;
}
.radio--tag:has(.radio__input:checked) {
  border-color: var(--gray-300);
  background: var(--white);
}
.radio--tag .radio__custom {
  display: none;
}
.radio--tag .radio__text {
  font-size: 0.9375rem;
  line-height: 1.1875rem;
  font-weight: 500;
  color: var(--gray-200);
  white-space: nowrap;
}
.radio--plate {
  min-height: 2.5rem;
  border-radius: 0.5rem;
  padding: 0.5rem 0.6875rem;
  border: 0.0625rem solid var(--gray-800);
  background: var(--white);
  box-sizing: border-box;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: border-color, background-color;
}
@media (hover: hover) {
  .radio--plate:hover {
    border-color: var(--pink-300);
  }
}
.radio--plate:has(.radio__input:checked) {
  background-color: var(--pink-700);
  border-color: var(--pink-300);
}
.radio--plate:has(.radio__input:disabled) {
  background: var(--gray-1000);
  cursor: not-allowed;
}
@media (hover: hover) {
  .radio--plate:has(.radio__input:disabled):hover {
    border-color: var(--gray-800);
  }
}
.radio--plate:has(.radio__input:disabled):has(.radio__input:checked) {
  border-color: var(--lilac-100);
}
.radio--plate:has(.radio__item-icon) {
  padding: 0.375rem 0.6875rem;
}
.radio--plate:has(.radio__item-icon) .radio__text {
  display: flex;
  align-items: center;
}
.radio--plate.invalid {
  border-color: var(--error);
}
.radio--plate .radio__custom {
  display: none;
}
.radio--plate .radio__text {
  color: var(--gray-100);
}
.radio--plate .radio__text .gray {
  color: var(--gray-400);
}
.radio--plate:has(.radio__clear) .radio__wrap {
  justify-content: space-between;
}
.radio--plate:not(.can-clear) .radio__clear {
  display: none;
}
.radio__clear {
  --size: 1rem;
  width: var(--size);
  min-width: var(--size);
  height: var(--size);
  min-height: var(--size);
  margin-left: 0.5rem;
  color: var(--gray-400);
  cursor: pointer;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: color;
}
@media (hover: hover) {
  .radio__clear:hover {
    color: var(--gray-200);
  }
}
.radio__item-icon {
  --size: 1.5rem;
  width: var(--size);
  min-width: var(--size);
  height: var(--size);
  min-height: var(--size);
  margin-right: 0.5rem;
}
.radio__input {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -2;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  transform: translate(-50%, -50%);
  appearance: none;
}
.radio__wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: 100%;
  height: 100%;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: color, background-color;
}
.radio__custom {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  min-width: 1em;
  height: 1em;
  min-height: 1em;
  margin: 0 0.75rem 0 0;
  font-size: var(--size);
  color: var(--color);
  background-color: var(--bg-color);
  border-color: var(--border-color);
  border-style: solid;
  border-width: 1px;
  border-radius: var(--border-radius);
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: color, background-color, border-color;
}
.radio__custom::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1em;
  height: 1em;
  font-size: var(--icon-size);
  color: currentColor;
  content: "";
  background-color: currentColor;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
.radio__text {
  display: block;
  overflow: hidden;
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 500;
  color: var(--gray-200);
}
.radio__inner-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.radio-label {
  display: block;
  width: 100%;
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 500;
  color: var(--gray-400);
  margin-bottom: 1rem;
}

.checkbox {
  --custom-size: 1.25rem;
  --icon-size: 1rem;
  --color: transparent;
  --color-checked: var(--white);
  --color-disabled: transparent;
  --color-checked-disabled: var(--white);
  --bg-color: var(--white);
  --bg-color-hover: var(--white);
  --bg-color-checked: var(--black);
  --bg-color-checked-hover: #6d6d6d;
  --bg-color-disabled: var(--white);
  --bg-color-checked-disabled: var(--gray-300);
  --border-color: transparent;
  --border-color-hover: var(--gray-300);
  --border-color-checked: var(--black);
  --border-color-checked-hover: #6d6d6d;
  --border-color-disabled: transparent;
  --border-color-checked-disabled: var(--gray-300);
  position: relative;
  display: block;
  margin: 0;
  cursor: pointer;
}
@media (hover: hover) {
  .checkbox:hover .checkbox__border-icon {
    color: var(--border-color-hover);
    --checkbox-fill: var(--bg-color-hover);
  }
}
.checkbox:not(:has(.checkbox__text)) .checkbox__custom {
  margin: 0;
}
.checkbox__input:checked ~ .checkbox__wrap .checkbox__custom, .checkbox.checked .checkbox__wrap .checkbox__custom {
  color: var(--color-checked);
}
.checkbox__input:checked ~ .checkbox__wrap .checkbox__custom .checkbox__border-icon, .checkbox.checked .checkbox__wrap .checkbox__custom .checkbox__border-icon {
  color: var(--border-color-checked);
  --checkbox-fill: var(--bg-color-checked);
}
.checkbox__input:checked ~ .checkbox__wrap .checkbox__custom .checkbox__icon, .checkbox.checked .checkbox__wrap .checkbox__custom .checkbox__icon {
  opacity: 1;
}
@media (hover: hover) {
  .checkbox__input:checked ~ .checkbox__wrap .checkbox__custom:hover .checkbox__border-icon, .checkbox.checked .checkbox__wrap .checkbox__custom:hover .checkbox__border-icon {
    --checkbox-fill: var(--bg-color-checked-hover);
    color: var(--border-color-checked-hover);
  }
}
.checkbox__input:disabled ~ .checkbox__wrap, .checkbox.disabled .checkbox__wrap {
  cursor: not-allowed;
}
.checkbox__input:disabled ~ .checkbox__wrap .checkbox__custom, .checkbox.disabled .checkbox__wrap .checkbox__custom {
  color: var(--color-disabled);
}
.checkbox__input:disabled ~ .checkbox__wrap .checkbox__custom .checkbox__border-icon, .checkbox.disabled .checkbox__wrap .checkbox__custom .checkbox__border-icon {
  color: var(--border-color-disabled);
  --checkbox-fill: var(--bg-color-disabled);
}
@media (hover: hover) {
  .checkbox__input:disabled ~ .checkbox__wrap .checkbox__custom:hover .checkbox__border-icon, .checkbox.disabled .checkbox__wrap .checkbox__custom:hover .checkbox__border-icon {
    color: var(--border-color-disabled);
    --checkbox-fill: var(--bg-color-disabled);
  }
}
.checkbox__input:disabled:checked ~ .checkbox__wrap .checkbox__custom, .checkbox.disabled.checked .checkbox__wrap .checkbox__custom {
  color: var(--color-checked-disabled);
}
.checkbox__input:disabled:checked ~ .checkbox__wrap .checkbox__custom .checkbox__border-icon, .checkbox.disabled.checked .checkbox__wrap .checkbox__custom .checkbox__border-icon {
  color: var(--border-color-checked-disabled);
  --checkbox-fill: var(--bg-color-checked-disabled);
}
.checkbox__input:disabled:checked ~ .checkbox__wrap .checkbox__custom .checkbox__icon, .checkbox.disabled.checked .checkbox__wrap .checkbox__custom .checkbox__icon {
  opacity: 1;
}
.checkbox.disabled {
  cursor: not-allowed;
}
.checkbox.disabled .checkbox__wrap {
  pointer-events: none;
}
.checkbox.invalid .checkbox__border-icon {
  color: var(--error);
}
.checkbox--20 {
  --custom-size: 1.25rem;
}
.checkbox--20 .checkbox__text {
  font-size: 0.75rem;
  line-height: 1.125rem;
  font-weight: 400;
  margin: auto 0;
}
.checkbox--20 .checkbox__custom {
  border-radius: 0.25rem;
}
.checkbox--24 {
  --custom-size: 1.5rem;
}
@media (max-width: 768px) {
  .checkbox--24 {
    --custom-size: 1.25rem;
  }
}
.checkbox--24 .checkbox__text {
  font-size: 0.875rem;
  line-height: 1.3;
  font-weight: 400;
  margin: auto 0;
}
.checkbox--24 .checkbox__custom {
  border-radius: 0.25rem;
}
.checkbox__input {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -2;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  transform: translate(-50%, -50%);
  appearance: none;
}
.checkbox__wrap {
  position: relative;
  display: inline-flex;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  gap: 0.75rem;
}
.checkbox__custom {
  position: relative;
  flex-shrink: 0;
  margin: 0;
  --size: var(--custom-size);
  width: var(--size);
  min-width: var(--size);
  height: var(--size);
  min-height: var(--size);
  overflow: hidden;
  border-radius: 0.25rem;
}
.checkbox__border-icon {
  --checkbox-fill: var(--bg-color);
  color: var(--border-color);
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: color, --checkbox-fill;
}
.checkbox__icon {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: var(--icon-size);
  height: var(--icon-size);
  color: var(--white);
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: opacity;
  opacity: 0;
  pointer-events: none;
}
.checkbox__text {
  display: inline-block;
  font-size: 0.75rem;
  line-height: 1.125rem;
  font-weight: 400;
  color: #6d6d6d;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: color;
}
.checkbox__text a {
  color: var(--black);
  text-decoration: none;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: opacity;
}
@media (hover: hover) {
  .checkbox__text a:hover {
    opacity: 0.7;
  }
}

@property --checkbox-fill {
  syntax: "<color>";
  inherits: true;
  initial-value: transparent;
}
.switch {
  --size: 20px;
  --color: var(--white);
  --color-hover: var(--white);
  --color-checked: var(--white);
  --color-disabled: var(--gray-1100);
  --color-checked-disabled: var(--gray-1000);
  --bg-color: var(--gray-900);
  --bg-color-hover: var(--gray-800);
  --bg-color-checked: var(--lilac-100);
  --bg-color-checked-hover: var(--lilac-200);
  --bg-color-disabled: var(--gray-900);
  --bg-color-checked-disabled: var(--gray-900);
  --border-color: var(--gray-900);
  --border-color-hover: var(--gray-800);
  --border-color-checked: var(--lilac-100);
  --border-color-checked-hover: var(--lilac-200);
  --border-color-disabled: var(--gray-900);
  --border-color-checked-disabled: var(--gray-900);
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 0;
  cursor: pointer;
}
.switch.invalid .switch__custom-wrapper {
  background: var(--error) !important;
}
.switch--reversed .switch__wrap {
  flex-direction: row-reverse;
}
.switch--plate {
  padding: 0.5625rem 1rem;
  border-radius: 0.5rem;
  background: var(--pink-800);
}
.switch__input:checked ~ .switch__wrap .switch__custom-wrapper, .switch.checked .switch__wrap .switch__custom-wrapper {
  background-color: var(--bg-color-checked);
}
@media (hover: hover) {
  .switch__input:checked ~ .switch__wrap .switch__custom-wrapper:hover, .switch.checked .switch__wrap .switch__custom-wrapper:hover {
    background-color: var(--bg-color-checked-hover);
  }
}
.switch__input:checked ~ .switch__wrap .switch__custom-wrapper .switch__custom, .switch.checked .switch__wrap .switch__custom-wrapper .switch__custom {
  background-color: var(--color-checked);
  transform: translateX(calc(100% + 0.125rem));
}
.switch__input:disabled ~ .switch__wrap .switch__custom-wrapper, .switch.disabled .switch__wrap .switch__custom-wrapper {
  cursor: not-allowed;
  background-color: var(--bg-color-disabled);
}
@media (hover: hover) {
  .switch__input:disabled ~ .switch__wrap .switch__custom-wrapper:hover, .switch.disabled .switch__wrap .switch__custom-wrapper:hover {
    background-color: var(--bg-color-disabled);
  }
}
.switch__input:disabled ~ .switch__wrap .switch__custom-wrapper .switch__custom, .switch.disabled .switch__wrap .switch__custom-wrapper .switch__custom {
  color: var(--color-disabled);
}
.switch__input:disabled ~ .switch__wrap .switch__text, .switch.disabled .switch__wrap .switch__text {
  color: var(--primary-disabled-text);
}
.switch__input:disabled ~ .switch__wrap .switch__text a, .switch.disabled .switch__wrap .switch__text a {
  color: var(--primary-disabled-text);
}
.switch__input:disabled:checked ~ .switch__wrap .switch__custom-wrapper, .switch.disabled.checked .switch__wrap .switch__custom-wrapper {
  background-color: var(--bg-color-checked-disabled);
  border-color: var(--border-color-checked-disabled);
}
.switch__input:disabled:checked ~ .switch__wrap .switch__custom, .switch.disabled.checked .switch__wrap .switch__custom {
  color: var(--color-checked-disabled);
}
.switch.disabled {
  cursor: not-allowed;
}
.switch.disabled .switch__wrap {
  pointer-events: none;
}
.switch__input {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  z-index: -2;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  appearance: none;
}
.switch__wrap {
  position: relative;
  display: inline-flex;
  gap: 0.75rem;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: color, background-color;
}
@media (hover: hover) {
  .switch__wrap:hover .switch__custom {
    border-color: var(--border-color-hover);
  }
}
.switch__custom-wrapper {
  width: calc(var(--size) * 2 + 0.25rem);
  min-width: calc(var(--size) * 2 + 0.25rem);
  height: calc((var(--size)) + 0.125rem);
  min-height: calc((var(--size)) + 0.125rem);
  padding: 0.0625rem;
  background-color: var(--bg-color);
  border-radius: 1.25rem;
  transition: background-color 0.2s ease;
}
@media (hover: hover) {
  .switch__custom-wrapper:hover {
    background-color: var(--bg-color-hover);
  }
  .switch__custom-wrapper:hover .switch__custom {
    color: var(--color-hover);
  }
}
.switch__custom {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  min-width: 1em;
  height: 1em;
  min-height: 1em;
  font-size: var(--size);
  color: var(--color);
  background-color: currentColor;
  border: 1px solid var(--border-color);
  border-radius: var(--border-radius, 50%);
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: color, background-color, border-color, transform;
  transform: translateX(-0.0625rem);
}
.switch__text {
  display: block;
  margin: auto 0;
  overflow: hidden;
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 500;
  color: var(--gray-100);
}
@media (max-width: 768px) {
  .switch__text {
    font-size: 0.875rem;
  }
}
.switch__icon {
  font-size: var(--icon-size);
  color: currentColor;
}
.switch__message {
  font-size: 0.875rem;
  line-height: 1.3;
  font-weight: 500;
  color: var(--gray-600);
}
@media (max-width: 1024px) {
  .switch__message {
    font-size: 0.8125rem;
    margin-top: 0.5rem;
  }
}

.range {
  --track-height: 0.25rem;
  --thumb-size: 1rem;
  width: 100%;
}
.range__inputs {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 1.375rem;
}
.range__field {
  display: flex;
  flex: 1 1 0;
  gap: 0.25rem;
  align-items: center;
  min-width: 0;
  padding: 0.625rem 0.9375rem;
  overflow: hidden;
  cursor: text;
  background-color: var(--white);
  border: 0.0625rem solid var(--gray-900);
  border-radius: 0.375rem;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: border-color;
}
@media (hover: hover) {
  .range__field:hover {
    border-color: var(--gray-700);
  }
}
.range__field:focus-within {
  border-color: var(--gray-700);
}
.range__input {
  width: 1ch;
  min-width: 1ch;
  max-width: 100%;
  padding: 0;
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  color: var(--gray-200);
  background-color: transparent;
  border: 0;
  outline: transparent;
  appearance: textfield;
}
.range__input::-webkit-outer-spin-button, .range__input::-webkit-inner-spin-button {
  margin: 0;
  appearance: none;
}
.range__currency {
  flex-shrink: 0;
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 500;
  color: var(--gray-200);
  pointer-events: none;
}
.range__track {
  position: relative;
  height: var(--track-height);
  margin: 0 calc(var(--thumb-size) / 2) calc((var(--thumb-size) - var(--track-height)) / 2);
  background-color: var(--gray-900);
  border-radius: 1.5rem;
  touch-action: none;
}
.range__track::before {
  content: "";
  position: absolute;
  inset: 0 calc(var(--thumb-size) / -2);
  border-radius: inherit;
  background-color: inherit;
}
.range__track::after {
  content: "";
  position: absolute;
  inset: -1rem calc(var(--thumb-size) / -2);
}
@media (max-width: 768px) {
  .range__track::after {
    top: -1.5rem;
    bottom: -1.5rem;
  }
}
.range__progress {
  position: absolute;
  top: 0;
  height: 100%;
  background-color: var(--lilac-200);
  border-radius: inherit;
}
.range__thumb {
  position: absolute;
  top: 50%;
  z-index: 1;
  --size: var(--thumb-size);
  width: var(--size);
  min-width: var(--size);
  height: var(--size);
  min-height: var(--size);
  touch-action: none;
  cursor: grab;
  background-color: var(--white);
  border-radius: 50%;
  outline: transparent;
  box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.24);
  translate: -50% -50%;
}
.range__thumb:active {
  cursor: grabbing;
}
.range__thumb:focus-visible {
  outline: 0.125rem solid var(--lilac-200);
  outline-offset: 0.125rem;
}

.list {
  --item-font-size: 1.125rem;
  --list-line-height: 1.3;
}
.list--gap-24 .list__options {
  gap: 1.5rem;
}
.list--rules {
  --item-font-size: 1.125rem;
}
.list--square .list__item {
  padding-left: 1.5rem;
}
.list--square .list__item::before {
  content: "";
  position: absolute;
  top: calc(var(--item-font-size) * var(--list-line-height) / 2);
  left: 0;
  transform: translateY(-50%);
  display: block;
  --size: 0.625rem;
  width: var(--size);
  min-width: var(--size);
  height: var(--size);
  min-height: var(--size);
  border-radius: 0.125rem;
  background: var(--pink-200);
}
.list--timeline .list__item {
  padding: 0 0 1rem 1.75rem;
  color: var(--gray-300);
}
.list--timeline .list__item::before {
  content: "";
  position: absolute;
  top: 0.125rem;
  left: 0;
  --size: 0.875rem;
  width: var(--size);
  min-width: var(--size);
  height: var(--size);
  min-height: var(--size);
  border-radius: 0.25rem;
  background: var(--gray-800);
}
.list--timeline .list__item::after {
  content: "";
  position: absolute;
  top: 0.75rem;
  left: 0.375rem;
  height: 100%;
  width: 0.0625rem;
  background: var(--gray-800);
}
.list--timeline .list__item:last-child {
  padding-bottom: 0;
}
.list--timeline .list__item:last-child::after {
  display: none;
}
.list--timeline .list__item.active {
  color: var(--gray-100);
}
.list--timeline .list__item.active::before {
  background: var(--pink-200);
}
.list--timeline .list__item.active::after {
  background: var(--pink-200);
}
.list--timeline .list__options {
  gap: 0;
}
.list--timeline .list__item-title {
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 500;
  color: var(--gray-100);
}
.list--timeline .list__item-descr {
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 500;
  color: var(--gray-300);
  margin-top: 0.25rem;
}
@media (max-width: 640px) {
  .list--timeline .list__item-descr {
    font-size: 0.875rem;
  }
}
.list__title {
  font-size: 1.25rem;
  line-height: 1.3;
  font-weight: 500;
  color: var(--gray-100);
  font-family: "Inter", "Arial", sans-serif;
  margin-bottom: 1.25rem;
}
.list__options {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.list__item {
  position: relative;
  font-size: var(--item-font-size);
  line-height: var(--list-line-height);
  font-weight: 500;
  color: var(--gray-200);
}
.list__descr {
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 500;
  color: var(--gray-300);
  margin-top: 0.625rem;
}
@media (max-width: 1024px) {
  .list__descr {
    font-size: 0.875rem;
    margin-top: 0.375rem;
  }
}

.breadcrumbs__list {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 640px) {
  .breadcrumbs__list {
    overflow-y: hidden;
    flex-wrap: nowrap;
  }
}
.breadcrumbs__list::-webkit-scrollbar {
  display: none;
}
.breadcrumbs__item {
  padding-right: 1.25rem;
  position: relative;
}
.breadcrumbs__item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: 0.5rem;
  --size: 0.25rem;
  width: var(--size);
  min-width: var(--size);
  height: var(--size);
  min-height: var(--size);
  border-radius: 0.0625rem;
  background: var(--gray-600);
}
@media (max-width: 640px) {
  .breadcrumbs__item {
    white-space: nowrap;
  }
}
.breadcrumbs__link {
  --color: var(--gray-300);
  --color-hover: var(--lilac-100);
}
.breadcrumbs__link.active {
  --color: var(--lilac-100);
}
@media (max-width: 640px) {
  .breadcrumbs__link {
    font-size: 0.8125rem;
  }
}

.alert {
  padding: 0.9375rem;
  border-radius: 0.5rem;
  border: 0.0625rem solid var(--gray-1100);
  background: var(--alert-bg);
  width: 100%;
  --alert-bg: var(--gray-1100);
  --alert-icon: var(--gray-300);
}
.alert--large .alert__title {
  font-size: 1.25rem;
}
.alert--large .alert__title + .alert__descr {
  margin-top: 0.5rem;
}
.alert--large .alert__descr {
  font-size: 1rem;
}
.alert--neutral {
  --alert-bg: #FFFDFB;
  --alert-icon: var(--gray-300);
}
.alert--success {
  --alert-bg: var(--functional-success-ultra-light);
  --alert-icon: var(--success);
}
.alert--error {
  --alert-bg: var(--functional-error-ultra-light-tables);
  --alert-icon: var(--error-dark);
}
.alert--warning {
  --alert-bg: var(--functional-light);
  --alert-icon: var(--warning-dark);
}
.alert__body {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
}
.alert__wrapper {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.alert__icon {
  --size: 1.5rem;
  width: var(--size);
  min-width: var(--size);
  height: var(--size);
  min-height: var(--size);
  color: var(--alert-icon);
  align-self: flex-start;
}
.alert__title {
  font-size: 1.125rem;
  line-height: 1.3;
  font-weight: 600;
  color: var(--gray-100);
}
.alert__title + .alert__descr {
  margin-top: 0.25rem;
}
.alert__descr {
  font-size: 0.875rem;
  line-height: 1.3;
  font-weight: 500;
  color: var(--gray-300);
}
.alert__close {
  --size: 1.5rem;
  width: var(--size);
  min-width: var(--size);
  height: var(--size);
  min-height: var(--size);
  color: var(--gray-600) !important;
  align-self: flex-start;
  --icon-size: var(--size);
}

.stepper {
  counter-reset: steps;
}
.stepper__header {
  display: flex;
  align-items: center;
  gap: 1rem 2rem;
  flex-wrap: wrap;
}
.stepper__control {
  counter-increment: steps;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 1.25rem;
  line-height: 1.3;
  font-weight: 600;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: color;
  color: var(--control-color);
  --control-color: var(--gray-600);
  --num-color: var(--gray-600);
  --num-bg: var(--white);
  --num-border: var(--gray-600);
}
.stepper__control::before {
  content: counter(steps);
  --size: 3rem;
  width: var(--size);
  min-width: var(--size);
  height: var(--size);
  min-height: var(--size);
  box-sizing: border-box;
  border-radius: 50%;
  padding: 0.375rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--num-color);
  border: 0.0625rem solid var(--num-border);
  background-color: var(--num-bg);
  font-size: 1.25rem;
  line-height: 1.3;
  font-weight: 500;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: color, border-color, background-color;
}
.stepper__control.finished {
  --control-color: var(--gray-200);
  --num-color: var(--pink-300);
  --num-border: var(--pink-300);
}
.stepper__control.current {
  --control-color: var(--pink-300);
  --num-color: var(--white);
  --num-bg: var(--pink-300);
  --num-border: var(--pink-300);
}
.stepper__panel:not(.current) {
  display: none;
}
.stepper__body {
  margin-top: 3rem;
}
.stepper__actions {
  display: flex;
  gap: 0.75rem;
  margin-top: 3rem;
}
.stepper__action {
  min-width: 9.5rem;
}
.stepper__placeholder {
  color: var(--gray-400);
}

.air-datepicker {
  border: none;
  background: transparent;
  box-sizing: border-box;
  --adp-width: 21.75rem;
  --adp-font-size: 0.875rem;
  --adp-background-color-hover: transparent;
  --adp-day-name-color: var(--gray-600);
  --adp-font-family: Inter, Arial, sans-serif;
  --adp-cell-border-radius: 50%;
  --adp-cell-background-color-selected: var(--pink-200);
  --adp-cell-background-color-selected-hover: var(--pink-200);
  --adp-background-color-selected-other-month-focused: var(--pink-200);
  --adp-background-color-selected-other-month: var(--pink-200);
  --cols-gap: 1.2813rem;
}
.air-datepicker-nav {
  border: none;
  min-height: unset;
  padding: 0;
  box-sizing: border-box;
  margin-bottom: 0.75rem;
}
.air-datepicker-nav--action {
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: opacity;
  --size: 1.5rem;
  width: var(--size);
  min-width: var(--size);
  height: var(--size);
  min-height: var(--size);
}
.air-datepicker-nav--action.-disabled- {
  visibility: visible;
  opacity: 0.5;
}
@media (hover: hover) {
  .air-datepicker-nav--action:hover {
    background: transparent;
  }
}
.air-datepicker-nav--action svg {
  --size: 1.5rem;
  width: var(--size);
  min-width: var(--size);
  height: var(--size);
  min-height: var(--size);
  color: var(--gray-400);
}
.air-datepicker-nav--title {
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 600;
  color: var(--gray-100);
  pointer-events: none;
  cursor: default;
}
.air-datepicker--content {
  padding: 0.375rem 0 0;
}
.air-datepicker-body--day-name {
  font-size: 0.75rem;
  line-height: 1.3;
  font-weight: 500;
  min-height: 1.125rem;
}
.air-datepicker-body--day-names {
  margin: 0 0 0.5rem;
  gap: 0 var(--cols-gap);
}
.air-datepicker-body--cells {
  padding: 0.1875rem 0 0.75rem;
  gap: 0.5rem var(--cols-gap);
}
.air-datepicker-cell {
  --size: 2rem;
  width: var(--size);
  min-width: var(--size);
  height: var(--size);
  min-height: var(--size);
  font-size: 0.875rem;
  line-height: 1.3;
  font-weight: 500;
  color: var(--gray-100);
  border: 0.0625rem solid transparent;
}
.air-datepicker-cell.-current- {
  color: var(--pink-200);
  border-color: var(--pink-200);
}
.air-datepicker-cell.-selected- {
  color: var(--white);
  border-color: var(--pink-200);
}
.air-datepicker-cell.-other-month-, .air-datepicker-cell.-disabled- {
  color: var(--gray-800);
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 20;
  width: 100%;
}
.header__bar {
  position: relative;
  z-index: 26;
  height: 5rem;
  padding: 0.375rem 2rem;
  background-color: transparent;
  border-radius: 0 0 1.25rem 1.25rem;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: background-color, backdrop-filter, border-radius;
}
@media (max-width: 1024px) {
  .header__bar {
    height: 4rem;
    padding: 0.75rem 0.875rem;
    border-radius: 0 0 1.25rem 1.25rem;
  }
}
.header--scrolled .header__bar {
  background-color: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(0.9375rem);
}
.header__inner {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  max-width: 116rem;
  margin-inline: auto;
}
.header__left {
  display: flex;
  gap: 9.5rem;
  align-items: center;
  min-width: 0;
}
.header__logo {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  width: 10.1875rem;
  height: 3.875rem;
}
@media (max-width: 1024px) {
  .header__logo {
    width: 8.0625rem;
    height: 1.8125rem;
  }
}
.header__logo-img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
  object-position: left center;
}
.header__right {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  flex-shrink: 0;
}
@media (max-width: 1024px) {
  .header__right {
    gap: 0.75rem;
  }
}
.header__phone {
  font-family: "Inter", "Arial", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75rem;
  color: var(--black);
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.3s ease-out;
}
@media (hover: hover) {
  .header__phone:hover {
    color: var(--gray-200);
  }
}
@media (max-width: 1024px) {
  .header__phone {
    display: none;
  }
}
@media (max-width: 1024px) {
  .header__cta {
    --height: 2.125rem;
    --pad-t: 0.5rem;
    --pad-b: 0.5rem;
    --pad-r: 1rem;
    --pad-l: 1rem;
    --font-size: 0.75rem;
    --line-height: 1.125rem;
    min-height: 2.125rem;
  }
}
@media (max-width: 1024px) {
  .header__burger {
    width: 1.5rem;
    min-width: 1.5rem;
    height: 1.5rem;
    min-height: 1.5rem;
  }
}
.header:has(.menu.active) {
  z-index: 30;
}
.header:has(.menu.active) .header__bar {
  background-color: #fff;
  border-radius: 0;
  backdrop-filter: none;
}

.nav__list {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
.nav__item {
  margin: 0;
}
.nav--footer .nav__list {
  flex-direction: column;
  gap: 1.75rem;
  align-items: flex-start;
}
@media (max-width: 768px) {
  .nav--footer .nav__list {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1.25rem;
    align-items: center;
    justify-content: center;
  }
}
.nav--footer .menu-item__label {
  font-size: 1rem;
}
.nav--mobile .nav__list {
  flex-direction: column;
  gap: 2rem;
  align-items: flex-start;
}
.nav--mobile .menu-item__label {
  font-size: 0.875rem;
}
@media (max-width: 1024px) {
  .nav--header {
    display: none;
  }
}

.footer {
  position: relative;
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  margin-top: auto;
  overflow-x: clip;
  background-color: #f1f1f1;
  color: var(--black);
}
.footer::before {
  position: absolute;
  top: 0;
  right: 1rem;
  left: 1rem;
  height: 0.0625rem;
  content: "";
  background-color: #e5e5e0;
}
.footer__main {
  display: flex;
  gap: 3rem;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  max-width: 120rem;
  margin-inline: auto;
  padding: 5.5rem 2.875rem;
}
.footer__brand {
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  gap: 1rem;
}
.footer__logo {
  display: block;
  width: 25.5625rem;
  max-width: 100%;
  height: 8.1875rem;
}
.footer__logo-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center;
}
.footer__socials {
  display: flex;
  gap: 1rem;
  align-items: center;
}
.footer__socials--mobile {
  display: none;
}
.footer__cta--mobile {
  display: none;
}
.footer__cols {
  display: flex;
  flex: 0 1 auto;
  gap: 16.875rem;
  align-items: flex-start;
  justify-content: flex-end;
  min-width: 0;
}
.footer__nav {
  flex-shrink: 0;
  padding-block: 0.375rem;
}
.footer__contacts {
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  gap: 3.125rem;
  align-items: flex-end;
}
.footer__contacts-top {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  align-items: flex-end;
}
.footer__email {
  font-family: "Inter", "Arial", sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.875rem;
  color: #6d6d6d;
  text-decoration: none;
  transition: color 0.3s ease-out;
}
@media (hover: hover) {
  .footer__email:hover {
    color: var(--black);
  }
}
.footer__phone {
  font-family: "Inter", "Arial", sans-serif;
  font-size: 3rem;
  font-weight: 500;
  line-height: 3.75rem;
  letter-spacing: -0.06rem;
  color: var(--black);
  text-decoration: none;
  white-space: nowrap;
  transition: opacity 0.3s ease-out;
}
@media (hover: hover) {
  .footer__phone:hover {
    opacity: 0.72;
  }
}
.footer__bottom {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 120rem;
  margin-inline: auto;
  padding: 1.75rem 2.875rem;
  border-top: 0.0625rem solid #e5e5e0;
}
.footer__copy, .footer__legal, .footer__dev-label {
  font-family: "Inter", "Arial", sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.25rem;
  color: var(--gray-200);
}
.footer__copy {
  margin: 0;
}
.footer__meta {
  display: flex;
  gap: 2rem;
  align-items: center;
}
.footer__legal, .footer__dev {
  text-decoration: none;
  transition: color 0.3s ease-out;
}
@media (hover: hover) {
  .footer__legal:hover, .footer__dev:hover {
    color: var(--black);
  }
}
.footer__dev {
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
  color: var(--gray-200);
}
.footer__dev-logo {
  display: block;
  flex-shrink: 0;
  width: 6.0625rem;
  height: 0.6875rem;
  margin-top: 0.125rem;
  color: currentColor;
}
@media (max-width: 1024px) {
  .footer__main {
    flex-direction: column;
    gap: 2.5rem;
    padding: 3rem 1.5rem;
  }
  .footer__brand {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
  .footer__logo {
    width: min(17.5rem, 100%);
    height: auto;
    aspect-ratio: 409/131;
  }
  .footer__cols {
    justify-content: space-between;
    width: 100%;
    max-width: 100%;
    gap: 2rem;
    flex-wrap: wrap;
  }
  .footer__nav, .footer__contacts {
    min-width: 0;
  }
  .footer__contacts {
    align-items: flex-end;
    max-width: 100%;
  }
  .footer__contacts-top {
    align-items: flex-end;
    max-width: 100%;
  }
  .footer__phone {
    font-size: clamp(1.75rem, 4.6vw, 2.25rem);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0;
    max-width: 100%;
  }
  .footer__email {
    font-size: 1.125rem;
    line-height: 1.75rem;
    max-width: 100%;
    overflow-wrap: anywhere;
  }
  .footer__bottom {
    flex-direction: column;
    gap: 0.75rem;
    align-items: flex-start;
    padding: 1.125rem 1.5rem;
  }
  .footer__legal {
    max-width: 100%;
    overflow-wrap: anywhere;
  }
}
@media (max-width: 768px) {
  .footer::before {
    right: 0.875rem;
    left: 0.875rem;
  }
  .footer__main {
    gap: 2.5rem;
    align-items: center;
    padding: 2.5rem 0.875rem 2.5rem;
  }
  .footer__brand {
    gap: 2rem;
    align-items: center;
    width: 100%;
    padding-bottom: 2.5rem;
    border-bottom: 0.0625rem solid #e5e5e0;
  }
  .footer__logo {
    width: 16rem;
    height: auto;
    aspect-ratio: 256.433/58.519;
  }
  .footer__logo-img {
    object-position: center;
  }
  .footer__socials--desktop {
    display: none;
  }
  .footer__socials--mobile {
    display: flex;
    gap: 0.5rem;
    justify-content: center;
  }
  .footer__socials--mobile .social-button {
    --bg-color: var(--white);
    --box-size: 2.5rem;
    --icon-frame: 1.0625rem;
    border-radius: 1.75rem;
  }
  .footer__cta--desktop {
    display: none;
  }
  .footer__cta--mobile {
    display: inline-flex;
    --height: 3rem;
    --pad-t: 0.5rem;
    --pad-b: 0.5rem;
    --pad-r: 2rem;
    --pad-l: 2rem;
    --font-size: 0.875rem;
    --line-height: 1.25rem;
    min-height: 3rem;
  }
  .footer__cols {
    flex-direction: column;
    gap: 2.5rem;
    align-items: center;
    width: 100%;
  }
  .footer__nav {
    width: 100%;
    padding: 0 0 2.5rem;
    border-bottom: 0.0625rem solid #e5e5e0;
  }
  .footer__contacts {
    gap: 1.5rem;
    align-items: center;
    width: 100%;
  }
  .footer__contacts-top {
    flex-direction: column-reverse;
    gap: 0.5rem;
    align-items: center;
    width: 100%;
  }
  .footer__email {
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .footer__phone {
    font-size: 2rem;
    font-weight: 400;
    line-height: 2.5rem;
    letter-spacing: 0;
    white-space: nowrap;
    max-width: none;
  }
  .footer__bottom {
    gap: 0.5rem;
    align-items: center;
    padding: 1rem 0.875rem;
  }
  .footer__meta {
    flex-direction: column;
    gap: 0.5rem;
    align-items: center;
  }
  .footer__copy, .footer__legal, .footer__dev-label {
    line-height: 1.125rem;
    text-align: center;
  }
  .footer__dev {
    justify-content: center;
  }
}

.menu {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 25;
  padding-top: var(--header-height);
  background: #fff;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: opacity, visibility;
}
@media (min-width: 1025px) {
  .menu {
    display: none;
  }
}
.menu:not(.active) {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.menu__content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  padding: 3.4375rem 1rem 1.5rem;
}
.menu__contacts {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  align-items: flex-start;
  padding-top: 2rem;
  border-top: 0.0625rem solid #e5e5e0;
}
.menu__phone {
  font-family: "Inter", "Arial", sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.875rem;
  color: var(--black);
  text-decoration: none;
}
.menu__socials {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}
.menu__social {
  --bg-color: #f1f1f1;
  --box-size: 2.5rem;
  --icon-frame: 1.0625rem;
  border-radius: 1.75rem;
}

.loaders .loader {
  position: fixed;
  inset: 0;
  border-radius: 0;
}

.loader-wrap {
  position: relative;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: opacity, visibility;
}

.loader {
  position: absolute;
  inset: -0.25rem;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(6px);
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: opacity, visibility;
  border-radius: 0.375rem;
}
.loader:not(.active) {
  opacity: 0;
  visibility: hidden;
}
.loader__spinner {
  --color-1: var(--pink-300);
  --size: 1px;
  color: var(--color-1);
  position: relative;
  font-size: calc(11 * var(--size));
  background: var(--color-1);
  animation: escaleY 1s infinite ease-in-out;
  width: 1em;
  height: 4em;
  animation-delay: -0.16s;
}
.loader__spinner::before, .loader__spinner::after {
  content: "";
  position: absolute;
  top: 0;
  left: 2em;
  background: var(--color-1);
  width: 1em;
  height: 4em;
  animation: escaleY 1s infinite ease-in-out;
}
.loader__spinner::before {
  left: -2em;
  animation-delay: -0.32s;
}

@keyframes escaleY {
  0%, 80%, 100% {
    box-shadow: 0 0;
    height: 4em;
  }
  40% {
    box-shadow: 0 -2em;
    height: 5em;
  }
}
.cookie-banner {
  position: fixed;
  right: 0.8125rem;
  bottom: 1.6875rem;
  z-index: 1100;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  align-items: flex-start;
  width: 39.4375rem;
  max-width: calc(100vw - 1.625rem);
  padding: 2rem;
  background-color: var(--white);
  border: 0.0625rem solid var(--gray-400);
  border-radius: 0.75rem;
  opacity: 0;
  translate: 0 0.75rem;
  pointer-events: none;
  transition-timing-function: ease-out;
  transition-duration: 0.3s;
  transition-property: opacity, translate;
}
.cookie-banner.active {
  opacity: 1;
  translate: 0 0;
  pointer-events: auto;
}
.cookie-banner[hidden] {
  display: none;
}
.cookie-banner__close {
  position: absolute;
  top: 0.6875rem;
  right: 0.6875rem;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.875rem;
  height: 1.875rem;
  padding: 0.25rem;
  color: var(--black);
  cursor: pointer;
  background: transparent;
  border: 0;
  appearance: none;
}
.cookie-banner__close-icon {
  --size: 1rem;
  width: var(--size);
  min-width: var(--size);
  height: var(--size);
  min-height: var(--size);
}
.cookie-banner__text {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
  color: #6d6d6d;
}
.cookie-banner__accent {
  color: var(--black);
  cursor: pointer;
}
.cookie-banner__accent:hover {
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.cookie-banner__accept.button {
  --height: 2.5rem;
  --pad-t: 0.75rem;
  --pad-b: 0.75rem;
  --pad-r: 1.5rem;
  --pad-l: 1.5rem;
  --font-size: 0.875rem;
  --line-height: 1;
  flex-shrink: 0;
  min-height: 2.5rem;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .cookie-banner {
    right: 0;
    bottom: 0;
    left: 0;
    gap: 0.875rem;
    width: 100%;
    max-width: none;
    padding: 1.25rem 0.875rem;
    border-radius: 0.625rem 0.625rem 0 0;
    translate: 0 1rem;
  }
  .cookie-banner.active {
    translate: 0 0;
  }
  .cookie-banner__close {
    top: 0.3125rem;
    right: 0.4375rem;
  }
  .cookie-banner__accept.button {
    width: 100%;
  }
}

.bread {
  padding: 1.75rem 0 2.75rem;
}
@media (max-width: 768px) {
  .bread {
    padding: 1.25rem 0 1.25rem;
  }
}
@media (max-width: 1024px) {
  .bread:has(+ .lk--index) {
    padding: 0.875rem 0.875rem 0 0;
    position: absolute;
    top: var(--header-height);
    left: 0;
    width: 100%;
    z-index: 1;
  }
}
@media (max-width: 1024px) {
  .bread:has(+ .lk--index) .breadcrumbs__link {
    font-size: 0.875rem;
  }
}
.bread + .section {
  padding-top: 0;
}

.home-hero {
  --section-padding: 0;
  --home-hero-radius: 1.5rem;
  --home-hero-pad-x: 0.8125rem;
  --home-hero-height: calc(100svh - var(--header-height) - 1.5rem);
  --home-hero-content-top: 7rem;
  --home-hero-cta-bottom: 4.5rem;
  --home-hero-anim-duration: 1.6s;
  --home-hero-anim-ease: cubic-bezier(0.33, 0, 0.2, 1);
  margin-top: 0.75rem;
  margin-bottom: 9.375rem;
  padding-inline: var(--home-hero-pad-x);
  overflow: visible;
}
@media (max-width: 1024px) {
  .home-hero {
    --home-hero-pad-x: 0.875rem;
    --home-hero-height: 37.5rem;
    --home-hero-radius: 1rem;
    --home-hero-content-top: 3.75rem;
    --home-hero-cta-bottom: 2.5rem;
    margin-top: 0;
    margin-bottom: 0;
  }
}
@media (max-width: 768px) {
  .home-hero {
    --home-hero-height: 37.5rem;
    --home-hero-content-top: 3.75rem;
    --home-hero-cta-bottom: 2.5rem;
  }
}
.home-hero__shell {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: var(--home-hero-height);
  min-height: var(--home-hero-height);
  overflow: hidden;
  border-radius: var(--home-hero-radius);
}
.home-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-color: #e4ebc0;
}
.home-hero__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  transition: opacity 0.7s var(--home-hero-anim-ease);
}
.home-hero__video.is-ready {
  opacity: 1;
}
.home-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.12) 27%, rgba(255, 255, 255, 0) 55%);
  backdrop-filter: blur(0);
}
.home-hero__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 2.9375rem;
  align-items: center;
  width: min(100%, 76.125rem);
  margin-top: var(--home-hero-content-top);
  padding-inline: 1rem;
  text-align: center;
  color: var(--white);
}
@media (max-width: 1024px) {
  .home-hero__content {
    gap: 1rem;
    padding-inline: 0;
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
@media (max-width: 640px) {
  .home-hero__content {
    gap: 1rem;
  }
}
.home-hero__title {
  margin: 0;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 4.75rem;
  font-weight: 400;
  line-height: 5.5rem;
  color: var(--white);
}
@media (max-width: 1024px) {
  .home-hero__title {
    font-size: 2rem;
    line-height: 2.5rem;
  }
}
.home-hero__subtitle {
  margin: 0;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 2.5rem;
  color: var(--white);
}
@media (max-width: 1024px) {
  .home-hero__subtitle {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}
.home-hero__cta-wrap {
  position: absolute;
  bottom: var(--home-hero-cta-bottom);
  left: 50%;
  z-index: 1;
  translate: -50% 0;
}
.home-hero__title, .home-hero__subtitle, .home-hero__cta-wrap {
  opacity: 0;
  animation: home-hero-fade-in var(--home-hero-anim-duration) var(--home-hero-anim-ease) forwards;
}
.home-hero__title {
  animation-delay: 0.35s;
}
.home-hero__subtitle {
  animation-delay: 0.85s;
}
.home-hero__cta-wrap {
  animation-delay: 1.35s;
}

@keyframes home-hero-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .home-hero__video {
    opacity: 1;
    transition: none;
  }
  .home-hero__title, .home-hero__subtitle, .home-hero__cta-wrap {
    opacity: 1;
    animation: none;
  }
}
.home-approach {
  --section-padding: 0;
  --approach-pad-y: 3rem;
  --approach-pad-x: 2.875rem;
  --approach-head-gap: 5.875rem;
  --approach-card-gap: 1.5rem;
  position: relative;
  overflow: visible;
  background-color: #f1f1f1;
}
@media (max-width: 1024px) {
  .home-approach {
    --approach-pad-y: 0;
    --approach-pad-x: 0.875rem;
    --approach-head-gap: 2.5rem;
    --approach-card-gap: 1rem;
    overflow: visible;
  }
}
.home-approach__pin {
  display: flex;
  flex-direction: column;
  height: calc(100svh - var(--header-height));
  min-height: 0;
  padding: var(--approach-pad-y) 0;
  overflow: hidden;
  background-color: #f1f1f1;
}
.home-approach__frame {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  min-height: 0;
}
.home-approach__inner {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 116rem;
  height: 100%;
  min-height: 0;
  margin-inline: auto;
  padding-inline: var(--approach-pad-x);
}
.home-approach__head {
  display: flex;
  flex-shrink: 0;
  gap: 3rem;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: var(--approach-head-gap);
}
@media (max-width: 1024px) {
  .home-approach__head {
    flex-direction: column;
    gap: 1.5rem;
  }
}
.home-approach__title {
  margin: 0;
  max-width: 36.4375rem;
  font-family: "Inter", "Arial", sans-serif;
  font-size: clamp(2.5rem, 5.2vw, 6rem);
  font-weight: 400;
  line-height: 1;
  color: var(--black);
}
@media (max-width: 1024px) {
  .home-approach__title {
    max-width: none;
    font-size: 2.25rem;
    line-height: 2.75rem;
    letter-spacing: -0.02em;
  }
}
.home-approach__text {
  margin: 0;
  max-width: 36.5rem;
  padding-block: 2rem;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.875rem;
  color: #6d6d6d;
}
@media (max-width: 1024px) {
  .home-approach__text {
    max-width: none;
    padding-block: 0;
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}
.home-approach__viewport {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
.home-approach__track {
  display: flex;
  gap: var(--approach-card-gap);
  align-items: stretch;
  width: max-content;
  height: 100%;
  will-change: transform;
}
.home-approach__slide {
  flex: 0 0 auto;
  width: min(55.4375rem, (100vw - var(--approach-pad-x) * 2 - var(--approach-card-gap)) / 2);
  height: 100%;
  min-height: 0;
}
.home-approach__slide .approach-card {
  height: 100%;
  min-height: 0;
}
@media (max-width: 1024px) {
  .home-approach .home-approach__pin {
    height: auto;
    min-height: 0;
    overflow: visible;
    padding-bottom: 0;
  }
  .home-approach .home-approach__frame,
  .home-approach .home-approach__inner {
    flex: none;
    height: auto;
    min-height: 0;
  }
  .home-approach .home-approach__viewport {
    flex: none;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
    scroll-padding-inline: var(--approach-pad-x);
  }
  .home-approach .home-approach__viewport::-webkit-scrollbar {
    display: none;
  }
  .home-approach .home-approach__track {
    gap: var(--approach-card-gap);
    height: auto;
    padding-inline: var(--approach-pad-x);
    transform: none !important;
    will-change: auto;
  }
  .home-approach .home-approach__slide {
    flex: 0 0 19.375rem;
    width: 19.375rem;
    height: 16rem;
    scroll-snap-align: start;
  }
  .home-approach .home-approach__slide .approach-card {
    height: 100%;
    min-height: 0;
  }
}
@media (max-width: 480px) {
  .home-approach .home-approach__slide {
    flex-basis: min(19.375rem, 100vw - 2.625rem);
    width: min(19.375rem, 100vw - 2.625rem);
  }
}

.home-program {
  --section-padding: 4.6875rem 0;
  background-color: #f1f1f1;
}
@media (max-width: 1024px) {
  .home-program {
    --section-padding: 0;
  }
}
.home-program__inner {
  width: 100%;
  max-width: 116rem;
  margin-inline: auto;
  padding-inline: 2.875rem;
}
@media (max-width: 1024px) {
  .home-program__inner {
    padding-inline: 0.875rem;
  }
}
.home-program__head {
  display: flex;
  gap: 6.25rem;
  align-items: flex-start;
  margin-bottom: 4rem;
}
@media (max-width: 1024px) {
  .home-program__head {
    flex-direction: column;
    gap: 0.75rem;
    margin-bottom: 2.5rem;
  }
}
.home-program__label {
  flex-shrink: 0;
  width: 13rem;
  margin: 0;
  padding-block: 1.25rem;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: normal;
  color: var(--gray-200);
  text-transform: uppercase;
}
@media (max-width: 1024px) {
  .home-program__label {
    width: auto;
    padding-block: 0;
    font-size: 0.625rem;
    letter-spacing: 0;
  }
}
.home-program__title {
  margin: 0;
  max-width: 46.0625rem;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 6rem;
  font-weight: 400;
  line-height: 6rem;
  color: var(--black);
}
@media (max-width: 1024px) {
  .home-program__title {
    max-width: none;
    font-size: 2.25rem;
    line-height: 2.75rem;
    letter-spacing: -0.02em;
  }
}
.home-program__stage {
  position: relative;
  overflow: hidden;
  border-radius: 1.25rem;
}
@media (max-width: 1024px) {
  .home-program__stage {
    border-radius: 0.75rem;
  }
}
.home-program__media {
  position: absolute;
  inset: 0;
}
.home-program__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 350ms ease;
}
.home-program__image--default {
  opacity: 1;
}
.home-program__stage:has(.entry-item:nth-child(1):is(:hover, :focus-visible)) .home-program__image:nth-child(2) {
  opacity: 1;
}
.home-program__stage:has(.entry-item:nth-child(2):is(:hover, :focus-visible)) .home-program__image:nth-child(3) {
  opacity: 1;
}
.home-program__stage:has(.entry-item:nth-child(3):is(:hover, :focus-visible)) .home-program__image:nth-child(4) {
  opacity: 1;
}
.home-program__stage:has(.entry-item:nth-child(4):is(:hover, :focus-visible)) .home-program__image:nth-child(5) {
  opacity: 1;
}
.home-program__stage:has(.entry-item:nth-child(5):is(:hover, :focus-visible)) .home-program__image:nth-child(6) {
  opacity: 1;
}
.home-program__stage:has(.entry-item:nth-child(6):is(:hover, :focus-visible)) .home-program__image:nth-child(7) {
  opacity: 1;
}
.home-program__stage:has(.entry-item:nth-child(7):is(:hover, :focus-visible)) .home-program__image:nth-child(8) {
  opacity: 1;
}
.home-program__stage:has(.entry-item:nth-child(8):is(:hover, :focus-visible)) .home-program__image:nth-child(9) {
  opacity: 1;
}
.home-program__stage:has(.entry-item:nth-child(9):is(:hover, :focus-visible)) .home-program__image:nth-child(10) {
  opacity: 1;
}
.home-program__stage:has(.entry-item:nth-child(10):is(:hover, :focus-visible)) .home-program__image:nth-child(11) {
  opacity: 1;
}
.home-program__stage:has(.entry-item:nth-child(11):is(:hover, :focus-visible)) .home-program__image:nth-child(12) {
  opacity: 1;
}
.home-program__stage:has(.entry-item:nth-child(12):is(:hover, :focus-visible)) .home-program__image:nth-child(13) {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .home-program__image {
    transition: none;
  }
}
.home-program__shade {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.1);
}
.home-program__list {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  padding: 5.3125rem 2rem;
}
@media (max-width: 1024px) {
  .home-program .home-program__list {
    flex-direction: column;
    gap: 0.5rem;
    width: 100%;
    padding: 2rem 1rem;
    overflow: visible;
  }
  .home-program .home-program__list .entry-item {
    --title-size: 2.5rem;
    --title-line: 3.75rem;
    --radius: 0.75rem;
    --pad-y: 1.5rem;
    --pad-x: 1.5rem;
    --blur: 0.625rem;
    --bg-color: rgba(213, 213, 213, 0.7);
    --color: var(--black);
    flex: none;
    width: 100%;
    min-height: 0;
    gap: 1.875rem;
    border-color: transparent;
    border-top: 0.0625rem solid var(--white);
    border-bottom: 0.0625rem solid var(--white);
  }
  .home-program .home-program__list .entry-item__main {
    gap: 0.5rem;
    width: 100%;
  }
  .home-program .home-program__list .entry-item__heading {
    flex-direction: column;
    gap: 0;
    align-items: flex-start;
    width: 100%;
  }
  .home-program .home-program__list .entry-item__index {
    width: auto;
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .home-program .home-program__list .entry-item__title {
    letter-spacing: -0.02em;
  }
  .home-program .home-program__list .entry-item__description {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .home-program .home-program__list .entry-item__button {
    --gap: 0.25rem;
    --height: 2.5rem;
    --pad-t: 0.75rem;
    --pad-b: 0.75rem;
    --pad-r: 1rem;
    --pad-l: 1.25rem;
    --font-size: 0.875rem;
    --line-height: 1;
    --icon-size: 1rem;
  }
}

.home-position {
  --section-padding: clamp(4.5rem, 5.21vw, 6.25rem) 0;
  background-color: #f1f1f1;
}
.home-position__inner {
  display: flex;
  gap: clamp(4.5rem, 6.25vw, 7.5rem);
  align-items: flex-start;
  width: calc(100% - 7.5rem);
  max-width: 112.5rem;
  margin-inline: auto;
}
.home-position__label {
  flex: 0 0 clamp(10.5rem, 10.83vw, 13rem);
  width: clamp(10.5rem, 10.83vw, 13rem);
  margin: 0;
  padding-block: 0.75rem;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  color: var(--gray-200);
  text-transform: uppercase;
}
.home-position__quote {
  display: flex;
  flex: 0 1 74.5625rem;
  flex-direction: column;
  gap: clamp(2.375rem, 3.33vw, 4rem);
  width: 74.5625rem;
  max-width: 100%;
}
.home-position__line {
  margin: 0;
  font-family: "Inter", "Arial", sans-serif;
  font-size: clamp(2.625rem, 2.92vw, 3.5rem);
  font-weight: 400;
  line-height: 1.14;
  color: var(--black);
}
@media (max-width: 1024px) {
  .home-position {
    --section-padding: 0;
  }
  .home-position__inner {
    flex-direction: column;
    gap: 1.5rem;
    width: 100%;
    padding-inline: 0;
  }
  .home-position__label {
    flex: none;
    width: auto;
    padding: 0;
    font-size: 0.625rem;
  }
  .home-position__quote {
    gap: 1rem;
    width: 100%;
    flex: unset;
  }
  .home-position__line {
    font-size: 1.5rem;
    line-height: 2rem;
  }
  .home-position__line br {
    display: none;
  }
}

.home-interview {
  --section-padding: 0;
  overflow: visible;
  background-color: #f1f1f1;
}
.home-interview__inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1rem;
  width: calc(100% - 2rem);
  max-width: 118rem;
  aspect-ratio: 1888/900;
  margin-inline: auto;
}
.home-interview__panel {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  min-width: 0;
  height: 100%;
  padding: clamp(2.125rem, 2.5vw, 3rem) clamp(3rem, 4.17vw, 5rem) clamp(2.125rem, 2.5vw, 3rem) clamp(2.125rem, 2.5vw, 3rem);
  background-color: #fdfcf7;
  border-radius: 0.75rem;
  backdrop-filter: blur(0.9375rem);
  transition: opacity 0.42s cubic-bezier(0.33, 0, 0.2, 1);
}
.home-interview__quote-block {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: clamp(1.5rem, 1.72vw, 2.0625rem);
  width: 100%;
}
.home-interview__quote-mark {
  position: absolute;
  top: -3.25rem;
  left: 0;
  z-index: 0;
  width: 6.8125rem;
  height: 5.1875rem;
  pointer-events: none;
}
.home-interview__quote {
  position: relative;
  z-index: 1;
  margin: 0;
  font-family: "Inter", "Arial", sans-serif;
  font-size: clamp(1.75rem, 1.875vw, 2.25rem);
  font-weight: 400;
  line-height: 1.22;
  letter-spacing: -0.02em;
  color: var(--black);
}
.home-interview__author {
  margin: 0;
  font-family: "Inter", "Arial", sans-serif;
  font-size: clamp(1.375rem, 1.46vw, 1.75rem);
  font-weight: 400;
  line-height: 1.14;
  color: var(--black);
}
.home-interview__side {
  overflow: hidden;
  min-width: 0;
  height: 100%;
  border-radius: 0.75rem;
  transition: opacity 0.42s cubic-bezier(0.33, 0, 0.2, 1);
}
.home-interview__side-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: opacity 0.72s cubic-bezier(0.33, 0, 0.2, 1);
}
.home-interview__video {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  width: clamp(20.625rem, 22.3vw, 26.75rem);
  transform: translate(-50%, -50%);
}
.home-interview__video::before {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  width: calc(100% + 24.25rem);
  height: calc(100% + 3.5625rem);
  content: "";
  pointer-events: none;
  background-color: var(--white);
  border-radius: 0.75rem;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.97);
  transition: opacity 0.36s cubic-bezier(0.33, 0, 0.2, 1), transform 0.62s cubic-bezier(0.33, 0, 0.2, 1);
}
.home-interview__video-card {
  width: 100%;
  max-width: none;
}
.home-interview.is-video-expanded .home-interview__video {
  width: min(93.75rem, 100% - 22.25rem);
}
.home-interview.is-video-expanded .home-interview__video::before {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
.home-interview.is-video-expanded .home-interview__panel,
.home-interview.is-video-expanded .home-interview__side {
  opacity: 0.15;
}
@media (max-width: 1024px) {
  .home-interview {
    overflow: visible;
  }
  .home-interview__inner {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas: "tag" "video" "quote";
    gap: 2rem;
    row-gap: 2rem;
    width: 100%;
    max-width: none;
    aspect-ratio: auto;
    margin-inline: auto;
    padding: 1.5rem;
    background-color: #fdfcf7;
    border-radius: 0.75rem;
    backdrop-filter: blur(0.9375rem);
  }
  .home-interview__panel {
    display: contents;
    height: auto;
    min-height: 0;
    padding: 0;
    background: transparent;
    border-radius: 0;
    backdrop-filter: none;
  }
  .home-interview__panel > .tag {
    grid-area: tag;
    justify-self: start;
    padding: 0.375rem 1rem;
    font-size: 0.625rem;
  }
  .home-interview__quote-block {
    grid-area: quote;
    gap: 1rem;
    margin-top: 1.875rem;
  }
  .home-interview__quote-mark {
    position: absolute;
    top: -1.5625rem;
    left: 0;
    width: 3.5625rem;
    height: 2.6875rem;
    margin: 0;
  }
  .home-interview__quote {
    font-size: 1.125rem;
    line-height: 1.75rem;
    letter-spacing: 0;
  }
  .home-interview__author {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .home-interview__side {
    display: none;
  }
  .home-interview__video {
    grid-area: video;
    position: relative;
    top: auto;
    left: auto;
    z-index: 1;
    width: 100%;
    aspect-ratio: 299/189;
    transform: none;
  }
  .home-interview__video::before {
    display: none;
  }
  .home-interview__video-card {
    --radius: 0.375rem;
    --max-width: none;
    --aspect: auto;
    --thumb-play-w: 3.8125rem;
    --thumb-play-h: 2.4375rem;
    width: 100%;
    height: 100%;
    max-width: none;
    aspect-ratio: auto;
    border-radius: var(--radius);
  }
  .home-interview__video-card.video-card--expanded {
    border-radius: 0;
  }
  .home-interview.is-video-expanded .home-interview__video {
    width: 100%;
    aspect-ratio: 299/189;
  }
  .home-interview.is-video-expanded .home-interview__panel,
  .home-interview.is-video-expanded .home-interview__side {
    opacity: 1;
  }
  .home-interview.is-video-expanded .home-interview__side-image {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-interview__video,
  .home-interview__video-card,
  .home-interview__video::before,
  .home-interview__panel,
  .home-interview__side,
  .home-interview__side-image {
    transition: none !important;
  }
}
.home-next {
  --section-padding: 0;
  background-color: #f1f1f1;
}
.home-next__inner {
  width: calc(100% - 5.8125rem);
  max-width: 114.1875rem;
  margin-inline: auto;
  padding: 0;
}

.error-404 {
  --section-padding: 9.375rem 0 9.375rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: center;
  background-color: #f1f1f1;
}
.error-404__inner {
  display: flex;
  flex-direction: column;
  gap: 3.75rem;
  align-items: center;
  width: 100%;
  margin-inline: auto;
}
.error-404__number {
  position: relative;
  flex-shrink: 0;
  width: 52.9375rem;
  max-width: calc(100% - 2rem);
  aspect-ratio: 847/392;
  container-type: inline-size;
}
.error-404__petri {
  position: absolute;
  top: 9.6939%;
  left: 31.6411%;
  width: 37.7804%;
  aspect-ratio: 1;
  object-fit: cover;
  object-position: center bottom;
  border-radius: 50%;
  pointer-events: none;
  user-select: none;
}
.error-404__digit {
  position: absolute;
  top: 0;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 39.92cqw;
  font-weight: 400;
  line-height: 46.22cqw;
  color: var(--black);
  white-space: nowrap;
  user-select: none;
}
.error-404__digit--left {
  left: 4.3684%;
}
.error-404__digit--right {
  left: 69.8937%;
}
.error-404__text {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  align-items: center;
  width: 100%;
  max-width: 52.875rem;
  padding-inline: 1rem;
}
.error-404__copy {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  align-items: center;
  width: 100%;
}
.error-404__title {
  margin: 0;
  font-size: 3.75rem;
  font-weight: 400;
  line-height: 4.5rem;
  color: var(--black);
  text-align: center;
  letter-spacing: -0.075rem;
}
.error-404__message {
  margin: 0;
  max-width: 52.875rem;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75rem;
  color: #6d6d6d;
  text-align: center;
}
.error-404__cta {
  flex-shrink: 0;
}
@media (max-width: 1280px) {
  .error-404__title {
    font-size: 3rem;
    line-height: 3.5rem;
    letter-spacing: -0.06rem;
  }
}
@media (max-width: 1024px) {
  .error-404 {
    --section-padding: 4rem 0 5rem;
  }
  .error-404__number {
    max-width: calc(100% - 2rem);
  }
  .error-404__text {
    gap: 1.5rem;
    max-width: 35rem;
  }
  .error-404__copy {
    gap: 1rem;
  }
  .error-404__title {
    font-size: 2.25rem;
    line-height: 2.75rem;
    letter-spacing: -0.045rem;
  }
  .error-404__message {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}
@media (max-width: 768px) {
  .error-404 {
    --section-padding: 3.75rem 0 3.75rem;
  }
  .error-404__inner {
    gap: 2.5rem;
    padding-inline: 0.875rem;
  }
  .error-404__number {
    width: 17.9375rem;
    max-width: 100%;
    aspect-ratio: 287/132.826;
  }
  .error-404__text {
    gap: 1.5rem;
    max-width: 100%;
    padding-inline: 0;
  }
  .error-404__copy {
    gap: 0.75rem;
  }
  .error-404__title {
    font-size: 1.5rem;
    line-height: 2rem;
    letter-spacing: 0;
  }
  .error-404__message {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .error-404__cta {
    --height: 2.5rem;
    --pad-t: 0.75rem;
    --pad-b: 0.75rem;
    --pad-r: 1.5rem;
    --pad-l: 1.5rem;
    --font-size: 0.875rem;
    --line-height: 1;
    min-height: 2.5rem;
    width: auto;
  }
}

.page-banner {
  --page-banner-height: 35.625rem;
  --page-banner-radius: 1.5rem;
  --page-banner-pad-x: 0.8125rem;
  --page-banner-title-size: 4.75rem;
  --page-banner-title-lh: 5.5rem;
  --page-banner-title-max: 79.6875rem;
  width: 100%;
  max-width: 100%;
  padding-inline: var(--page-banner-pad-x);
  overflow-x: clip;
}
.page-banner__shell {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--page-banner-height);
  min-height: var(--page-banner-height);
  overflow: hidden;
  border-radius: var(--page-banner-radius);
}
.page-banner__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  background-color: #e8e8ec;
}
.page-banner__media-inner {
  position: absolute;
  inset: 0;
}
.page-banner__picture {
  display: block;
  width: 100%;
  height: 100%;
}
.page-banner__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
}
.page-banner__overlay {
  position: absolute;
  inset: 0;
  background-color: #d9d9e1;
  mix-blend-mode: color;
}
.page-banner__title {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: var(--page-banner-title-max);
  margin: 0;
  padding-inline: 2.5rem;
  font-size: var(--page-banner-title-size);
  font-weight: 400;
  line-height: var(--page-banner-title-lh);
  color: var(--black);
  text-align: center;
}
.page-banner--legal .page-banner__media-inner {
  transform: rotate(180deg);
}
.page-banner--legal .page-banner__image {
  position: absolute;
  top: 0;
  left: -29.27%;
  width: 181.43%;
  height: 148.93%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}
@media (max-width: 1024px) {
  .page-banner--legal .page-banner__media-inner {
    transform: none;
  }
  .page-banner--legal .page-banner__image {
    position: static;
    inset: auto;
    left: auto;
    width: 100%;
    height: 100%;
  }
}
@media (max-width: 1280px) {
  .page-banner {
    --page-banner-height: 26.25rem;
    --page-banner-title-size: 3.5rem;
    --page-banner-title-lh: 4rem;
    --page-banner-title-max: 57.5rem;
  }
}
@media (max-width: 1024px) {
  .page-banner {
    --page-banner-height: 20rem;
    --page-banner-radius: 1rem;
    --page-banner-pad-x: 0.75rem;
    --page-banner-title-size: 2.25rem;
    --page-banner-title-lh: 2.75rem;
  }
  .page-banner__title {
    padding-inline: 1.5rem;
  }
}
@media (max-width: 768px) {
  .page-banner {
    --page-banner-height: 17.5rem;
    --page-banner-title-size: 1.75rem;
    --page-banner-title-lh: 2rem;
    --page-banner-pad-x: 0.875rem;
  }
  .page-banner__title {
    padding-inline: 1.5rem;
  }
}
@media (max-width: 480px) {
  .page-banner {
    --page-banner-height: 17.5rem;
    --page-banner-title-size: 1.75rem;
    --page-banner-title-lh: 2rem;
  }
}

.text-page {
  --text-page-gap: 7.5rem;
  --text-page-title-gap: 3.5rem;
  --text-page-list-gap: 1.5rem;
  --text-page-pad-y: 7.5rem 0 9.375rem;
  --text-page-max: 80.8125rem;
  padding: var(--text-page-pad-y);
}
.text-page__inner {
  width: 100%;
  max-width: var(--text-page-max);
  margin-inline: auto;
  padding-inline: 1rem;
}
.text-page__content {
  color: #6d6d6d;
}
.text-page__content > *:first-child {
  margin-top: 0;
}
.text-page__content > *:last-child {
  margin-bottom: 0;
}
.text-page__content h1,
.text-page__content h2,
.text-page__content h3,
.text-page__content h4,
.text-page__content h5,
.text-page__content h6 {
  margin: 0;
  font-weight: 400;
  color: var(--black);
}
.text-page__content h2 {
  margin-top: var(--text-page-gap);
  margin-bottom: var(--text-page-title-gap);
  font-size: 3.5rem;
  line-height: 4rem;
}
.text-page__content h3 {
  margin-top: 2.5rem;
  margin-bottom: 1.5rem;
  font-size: 2rem;
  line-height: 2.5rem;
}
.text-page__content p,
.text-page__content li {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75rem;
  color: #6d6d6d;
}
.text-page__content p {
  margin: 0;
}
.text-page__content p + p {
  margin-top: 1.5rem;
}
.text-page__content a {
  --color: var(--black);
  --color-hover: var(--gray-200);
  text-decoration: underline;
  text-underline-offset: 0.1875rem;
}
.text-page__content ul {
  display: flex;
  flex-direction: column;
  gap: 0rem;
  margin: 1.125rem 0 0;
  padding: 0;
  list-style: none;
}
.text-page__content ul li {
  position: relative;
  padding-left: 1.6875rem;
}
.text-page__content ul li::before {
  content: "";
  position: absolute;
  top: 0.65em;
  left: 0.625rem;
  width: 0.3125rem;
  height: 0.3125rem;
  border-radius: 50%;
  background-color: currentColor;
  transform: translateY(-50%);
}
.text-page__content strong,
.text-page__content b {
  font-weight: 500;
  color: var(--black);
}
.text-page__numbered {
  display: flex;
  flex-direction: column;
  gap: var(--text-page-gap);
  margin: var(--text-page-gap) 0 0;
  padding: 0;
  counter-reset: section;
  list-style: none;
}
.text-page__numbered > li {
  counter-increment: section;
}
.text-page__numbered > li > h2 {
  margin: 0 0 var(--text-page-title-gap);
  font-size: 3.5rem;
  line-height: 4rem;
}
.text-page__numbered > li > h2::before {
  content: counter(section) ". ";
}
.text-page__numbered > li > p {
  margin: 0;
}
.text-page__numbered > li > ol {
  display: flex;
  flex-direction: column;
  gap: var(--text-page-list-gap);
  margin: 0;
  padding: 0;
  counter-reset: subsection;
  list-style: none;
}
.text-page__numbered > li > ol > li {
  position: relative;
  counter-increment: subsection;
  padding-left: 0;
  font-size: 1.125rem;
  line-height: 1.75rem;
  color: #6d6d6d;
}
.text-page__numbered > li > ol > li::before {
  content: counter(section) "." counter(subsection) ". ";
}
.text-page__numbered > li > ol > li > ul {
  margin-top: 1.125rem;
}
.text-page--document .text-page__content > p:first-child {
  margin-bottom: 0;
}
@media (max-width: 1280px) {
  .text-page {
    --text-page-gap: 5rem;
    --text-page-title-gap: 2.5rem;
    --text-page-pad-y: 5rem 0 6.25rem;
  }
  .text-page__content h2 {
    font-size: 2.625rem;
    line-height: 3.125rem;
  }
  .text-page__numbered > li > h2 {
    font-size: 2.625rem;
    line-height: 3.125rem;
  }
}
@media (max-width: 1024px) {
  .text-page {
    --text-page-gap: 3.5rem;
    --text-page-title-gap: 1.75rem;
    --text-page-list-gap: 1rem;
    --text-page-pad-y: 3rem 0 4rem;
    --text-page-max: 45rem;
  }
  .text-page__content h2 {
    font-size: 1.75rem;
    line-height: 2.125rem;
  }
  .text-page__content h3 {
    font-size: 1.375rem;
    line-height: 1.75rem;
  }
  .text-page__content p,
  .text-page__content li {
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .text-page__content ul li {
    padding-left: 1.5rem;
  }
  .text-page__content ul li::before {
    left: 0.5rem;
    width: 0.25rem;
    height: 0.25rem;
  }
  .text-page__numbered > li > h2 {
    font-size: 1.75rem;
    line-height: 2.125rem;
  }
  .text-page__numbered > li > ol > li {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}
@media (max-width: 768px) {
  .text-page {
    --text-page-gap: 3.75rem;
    --text-page-title-gap: 1.5rem;
    --text-page-list-gap: 1.5rem;
    --text-page-pad-y: 2.5rem 0 3.75rem;
    --text-page-max: 100%;
  }
  .text-page__inner {
    padding-inline: 0.875rem;
  }
  .text-page__content h2 {
    font-size: 2rem;
    line-height: 2.5rem;
  }
  .text-page__content h3 {
    font-size: 1.5rem;
    line-height: 2rem;
  }
  .text-page__content p,
  .text-page__content li {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .text-page__content ul {
    margin-top: 0.625rem;
  }
  .text-page__content ul li {
    padding-left: 1.3125rem;
  }
  .text-page__content ul li::before {
    left: 0.375rem;
    width: 0.25rem;
    height: 0.25rem;
  }
  .text-page__numbered > li > h2 {
    font-size: 2rem;
    line-height: 2.5rem;
  }
  .text-page__numbered > li > ol > li {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}

.start-cta {
  --start-cta-height: 35.625rem;
  --start-cta-radius: 1.25rem;
  --start-cta-pad-x: 2.875rem;
  width: 100%;
  max-width: 100%;
  padding-inline: var(--start-cta-pad-x);
  overflow-x: clip;
}
.start-cta__shell {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: var(--start-cta-height);
  min-height: var(--start-cta-height);
  overflow: hidden;
  border-radius: var(--start-cta-radius);
}
.start-cta__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-color: #dae666;
}
.start-cta__picture {
  display: block;
  width: 100%;
  height: 100%;
}
.start-cta__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.start-cta__overlay {
  position: absolute;
  inset: 0;
  background-color: #56670c;
  mix-blend-mode: color;
}
.start-cta__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 3rem;
  align-items: center;
  width: 100%;
  max-width: 46.125rem;
  padding: 3.75rem 1.5rem;
  text-align: center;
}
.start-cta__texts {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  align-items: center;
  width: 100%;
}
.start-cta__title {
  margin: 0;
  font-size: 3rem;
  font-weight: 400;
  line-height: 3.75rem;
  color: var(--black);
  letter-spacing: -0.06rem;
}
.start-cta__description {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2rem;
  color: var(--black);
}
.start-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  justify-content: center;
}
@media (max-width: 1280px) {
  .start-cta {
    --start-cta-height: 22.5rem;
    --start-cta-pad-x: 2rem;
  }
  .start-cta__content {
    gap: 1.75rem;
    max-width: 35rem;
    padding-block: 2.5rem;
  }
  .start-cta__texts {
    gap: 1rem;
  }
  .start-cta__title {
    font-size: 2.5rem;
    line-height: 3rem;
  }
  .start-cta__description {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}
@media (max-width: 1024px) {
  .start-cta {
    --start-cta-height: auto;
    --start-cta-radius: 1rem;
    --start-cta-pad-x: 1.25rem;
  }
  .start-cta__shell {
    height: auto;
    min-height: 18.75rem;
  }
  .start-cta__content {
    gap: 1.75rem;
    max-width: 26.25rem;
    padding: 3rem 2rem;
  }
  .start-cta__texts {
    gap: 0.75rem;
  }
  .start-cta__actions {
    flex-direction: column;
    gap: 1rem;
    width: auto;
    max-width: none;
  }
  .start-cta__button {
    width: auto;
  }
  .start-cta__title {
    font-size: 2rem;
    line-height: 2.375rem;
    letter-spacing: -0.04rem;
  }
  .start-cta__description {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}
@media (max-width: 600px) {
  .start-cta__overlay {
    display: none;
  }
  .start-cta__image {
    object-fit: cover;
    object-position: center center;
  }
}
@media (max-width: 768px) {
  .start-cta {
    --start-cta-radius: 0.75rem;
    --start-cta-pad-x: 0.875rem;
  }
  .start-cta__shell {
    min-height: 26.75rem;
  }
  .start-cta__content {
    gap: 2rem;
    max-width: 18.6875rem;
    padding: 3rem 1.5rem;
  }
  .start-cta__texts {
    gap: 1rem;
  }
  .start-cta__actions {
    gap: 1rem;
  }
  .start-cta__title {
    font-size: 1.75rem;
    line-height: 2rem;
    letter-spacing: 0;
  }
  .start-cta__description {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .start-cta__button {
    --height: 2.5rem;
    --pad-t: 0.75rem;
    --pad-b: 0.75rem;
    --pad-r: 1.25rem;
    --pad-l: 1.25rem;
    --font-size: 0.875rem;
    --line-height: 1;
    width: auto;
    min-height: 2.5rem;
  }
}

.location-contacts {
  --location-pad-x: 0.8125rem;
  --location-gap: 1rem;
  --location-radius: 0.75rem;
  --location-height: 55.3125rem;
  width: 100%;
  max-width: 100%;
  padding-inline: var(--location-pad-x);
  overflow-x: clip;
}
.location-contacts__inner {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--location-gap);
  align-items: stretch;
}
.location-contacts__card {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  min-height: var(--location-height);
  padding: 3rem 5rem 3rem 3rem;
  background-color: #fdfcf7;
  border-radius: var(--location-radius);
  backdrop-filter: blur(0.9375rem);
}
.location-contacts__eyebrow {
  margin: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  color: var(--gray-200);
  text-transform: uppercase;
}
.location-contacts__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  justify-content: space-between;
  gap: 3rem;
  min-height: 0;
}
.location-contacts__main {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 3rem;
  justify-content: center;
}
.location-contacts__city {
  margin: 0;
  font-size: 6rem;
  font-weight: 400;
  line-height: 6rem;
  color: var(--black);
}
.location-contacts__links {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.location-contacts__phone, .location-contacts__email {
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 2rem;
  color: var(--black);
  text-decoration: none;
  transition: opacity 0.3s ease-out;
}
@media (hover: hover) {
  .location-contacts__phone:hover, .location-contacts__email:hover {
    opacity: 0.72;
  }
}
.location-contacts__email {
  text-decoration: underline;
  text-underline-offset: 0.25rem;
}
.location-contacts__note {
  display: flex;
  flex-direction: column;
  gap: 0rem;
}
.location-contacts__note-line {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2rem;
  color: #6d6d6d;
}
.location-contacts__media {
  position: relative;
  overflow: hidden;
  min-height: var(--location-height);
  border-radius: var(--location-radius);
  background-color: #e8e8ec;
}
.location-contacts__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media (max-width: 1280px) {
  .location-contacts {
    --location-height: 40rem;
    --location-pad-x: 1.5rem;
  }
  .location-contacts__card {
    padding: 2.5rem 2.5rem 2.5rem 2rem;
  }
  .location-contacts__city {
    font-size: 4rem;
    line-height: 4.25rem;
  }
  .location-contacts__phone, .location-contacts__email {
    font-size: 1.375rem;
    line-height: 1.75rem;
  }
  .location-contacts__note-line {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}
@media (max-width: 1024px) {
  .location-contacts {
    --location-height: auto;
    --location-pad-x: 1rem;
  }
  .location-contacts__inner {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  .location-contacts__card {
    min-height: 0;
    padding: 1.75rem 1.25rem;
    gap: 1.75rem;
  }
  .location-contacts__body {
    gap: 1.75rem;
  }
  .location-contacts__main {
    gap: 1.25rem;
    flex: 0 0 auto;
  }
  .location-contacts__city {
    font-size: 2.625rem;
    line-height: 2.875rem;
  }
  .location-contacts__links {
    gap: 0.625rem;
  }
  .location-contacts__phone, .location-contacts__email {
    font-size: 1.125rem;
    line-height: 1.625rem;
  }
  .location-contacts__note {
    gap: 0.25rem;
  }
  .location-contacts__note-line {
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .location-contacts__media {
    min-height: 0;
    aspect-ratio: 1/1;
  }
}
@media (max-width: 768px) {
  .location-contacts {
    --location-pad-x: 0.875rem;
    --location-radius: 0.5rem;
    --location-gap: 1rem;
  }
  .location-contacts__card {
    gap: 0.75rem;
    min-height: 20.4375rem;
    padding: 1.125rem;
  }
  .location-contacts__eyebrow {
    font-size: 0.625rem;
  }
  .location-contacts__body {
    gap: 1.125rem;
  }
  .location-contacts__main {
    gap: 1.125rem;
  }
  .location-contacts__city {
    font-size: 2.25rem;
    line-height: 2.75rem;
    letter-spacing: -0.045rem;
  }
  .location-contacts__links {
    gap: 0.375rem;
  }
  .location-contacts__phone, .location-contacts__email {
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .location-contacts__note-line {
    font-size: 0.75rem;
    line-height: 1.125rem;
  }
  .location-contacts__media {
    aspect-ratio: 347/327;
  }
}

.booking-hero {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-height: 60.6875rem;
  margin-top: calc(var(--header-height) * -1);
  overflow: hidden;
}
.booking-hero__media {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 61.75rem;
  pointer-events: none;
}
.booking-hero__media-flip {
  flex: none;
  width: 100%;
  height: 100%;
  transform: scaleY(-1) rotate(180deg);
}
.booking-hero__media-crop {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.booking-hero__image {
  position: absolute;
  top: -71.67%;
  left: -32.56%;
  width: 132.57%;
  max-width: none;
  height: 171.68%;
  object-fit: cover;
}
.booking-hero__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 6rem;
  width: 100%;
  max-width: 112.5625rem;
  margin-inline: auto;
  padding: calc(var(--header-height) + 6.8125rem) 3.625rem 6rem;
}
.booking-hero__title {
  max-width: 56.3125rem;
  margin: 0;
  font-size: 6rem;
  font-weight: 400;
  line-height: 6rem;
  color: var(--black);
}
.booking-hero__steps {
  display: flex;
  flex-wrap: nowrap;
  gap: 1rem;
  align-items: stretch;
  justify-content: flex-end;
  width: 100%;
}
.booking-hero__step {
  display: flex;
  flex: 0 0 24.125rem;
  flex-direction: column;
  justify-content: space-between;
  gap: 1.5rem;
  width: 24.125rem;
  min-height: 30.875rem;
  padding: 2rem;
  border: 0.375rem solid var(--white);
  border-radius: 1.25rem;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%), linear-gradient(90deg, var(--step-tone) 0%, var(--step-tone) 100%);
}
.booking-hero__step--gray {
  --step-tone: #cbcfd3;
}
.booking-hero__step--peach {
  --step-tone: #ffca8b;
}
.booking-hero__step--green {
  --step-tone: #daec9b;
}
.booking-hero__index {
  margin: 0;
  font-size: 4.75rem;
  font-weight: 400;
  line-height: 5.5rem;
  color: var(--white);
}
.booking-hero__step-body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.booking-hero__step-title {
  margin: 0;
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 2rem;
  color: var(--black);
}
.booking-hero__step-text {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75rem;
  color: #6d6d6d;
}
@media (max-width: 1280px) {
  .booking-hero {
    min-height: 0;
  }
  .booking-hero__media {
    height: 40rem;
  }
  .booking-hero__content {
    gap: 2.5rem;
    padding: calc(var(--header-height) + 4rem) 2rem 3rem;
  }
  .booking-hero__title {
    max-width: 40rem;
    font-size: 3.5rem;
    line-height: 4rem;
  }
  .booking-hero__steps {
    gap: 0.75rem;
  }
  .booking-hero__step {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    min-height: 17.5rem;
    padding: 1.5rem;
    border-width: 0.25rem;
  }
  .booking-hero__index {
    font-size: 3rem;
    line-height: 3.5rem;
  }
  .booking-hero__step-title {
    font-size: 1.375rem;
    line-height: 1.75rem;
  }
  .booking-hero__step-text {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}
@media (max-width: 1024px) {
  .booking-hero {
    min-height: 0;
    margin-top: 0;
  }
  .booking-hero__media {
    top: -2.5rem;
    left: auto;
    right: -5rem;
    width: 22.5rem;
    height: 17.5rem;
    opacity: 1;
  }
  .booking-hero__content {
    gap: 1.5rem;
    padding: calc(var(--header-height) + 1.5rem) 1rem 1.5rem;
  }
  .booking-hero__title {
    max-width: 26.25rem;
    font-size: 2.5rem;
    line-height: 3rem;
  }
  .booking-hero__steps {
    flex-direction: column;
    gap: 0.75rem;
    justify-content: stretch;
  }
  .booking-hero__step {
    flex: none;
    gap: 1rem;
    justify-content: flex-start;
    width: 100%;
    min-height: 11.25rem;
    padding: 1.5rem;
    border-width: 0.1875rem;
    border-radius: 1.25rem;
  }
  .booking-hero__index {
    font-size: 3rem;
    line-height: 3.5rem;
    letter-spacing: -0.06rem;
  }
  .booking-hero__step-body {
    gap: 0.5rem;
  }
  .booking-hero__step-title {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
  .booking-hero__step-text {
    font-size: 0.9375rem;
    line-height: 1.375rem;
  }
}
@media (max-width: 768px) {
  .booking-hero {
    margin-top: 0;
    min-height: 0;
    overflow: visible;
  }
  .booking-hero__media {
    top: -4.5rem;
    left: -9.125rem;
    width: 25.125rem;
    height: 20.25rem;
    opacity: 1;
  }
  .booking-hero__image {
    top: -71.67%;
    left: -107.41%;
    width: 207.43%;
    height: 171.68%;
  }
  .booking-hero__content {
    gap: 0;
    padding: 0;
  }
  .booking-hero__title {
    max-width: 17.6875rem;
    font-size: 2rem;
    line-height: 2.5rem;
  }
  .booking-hero__steps {
    flex-direction: column;
    gap: 1rem;
    justify-content: stretch;
    padding-top: 2.5rem;
  }
  .booking-hero__step {
    flex: none;
    gap: 1rem;
    justify-content: flex-start;
    width: 100%;
    min-height: 12.5rem;
    padding: 1.5rem;
    border-width: 0.2279rem;
    border-radius: 1.25rem;
  }
  .booking-hero__index {
    font-size: 3rem;
    line-height: 3.75rem;
    letter-spacing: -0.06rem;
  }
  .booking-hero__step-body {
    gap: 0.5rem;
  }
  .booking-hero__step-title {
    font-size: 1.25rem;
    line-height: 1.875rem;
  }
  .booking-hero__step-text {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}

.booking-rules {
  --booking-rules-pad-x: 2.875rem;
  width: 100%;
  max-width: 100%;
  padding-inline: var(--booking-rules-pad-x);
  overflow-x: clip;
}
.booking-rules__inner {
  display: flex;
  flex-direction: column;
  gap: 6rem;
  width: 100%;
  max-width: 118.3125rem;
  margin-inline: auto;
}
.booking-rules__title {
  max-width: 56.3125rem;
  margin: 0;
  font-size: 6rem;
  font-weight: 400;
  line-height: 6rem;
  color: var(--black);
}
.booking-rules__panel {
  position: relative;
  width: 100%;
  aspect-ratio: 1801/963;
  overflow: clip;
  background-color: #fdfcf7;
  border-radius: 1.25rem;
}
.booking-rules__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.booking-rules__bullet {
  display: none;
}
.booking-rules__text-body {
  display: contents;
}
.booking-rules__visual {
  position: absolute;
  top: 17.1339563863%;
  left: 50%;
  z-index: 1;
  width: 36.3686840644%;
  aspect-ratio: 1;
  transform: translateX(-50%);
}
.booking-rules__visual > picture {
  display: contents;
}
.booking-rules__ring {
  position: absolute;
  top: 50.9160305344%;
  left: 50%;
  z-index: 0;
  width: 159.5419847328%;
  height: 165.3435114504%;
  max-width: none;
  object-fit: fill;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.booking-rules__image {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  pointer-events: none;
}
.booking-rules__text {
  position: absolute;
  z-index: 2;
  margin: 0;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2rem;
  color: #2b2b2b;
}
.booking-rules__text--top-left {
  top: 13.811007269%;
  left: 10.2720710716%;
  width: 23.653525819%;
}
.booking-rules__text--mid-right {
  top: 45.1713395639%;
  left: 73.7368128817%;
  width: 21.3770127707%;
}
.booking-rules__text--bottom-right {
  top: 77.2585669782%;
  left: 67.7401443642%;
  width: 25.2637423654%;
}
@media (max-width: 1280px) {
  .booking-rules {
    --booking-rules-pad-x: 2rem;
  }
  .booking-rules__inner {
    gap: 2.5rem;
  }
  .booking-rules__title {
    max-width: none;
    font-size: 3.5rem;
    line-height: 4rem;
    letter-spacing: -0.045rem;
  }
  .booking-rules__panel {
    display: flex;
    flex-direction: column;
    gap: 0;
    align-items: stretch;
    aspect-ratio: auto;
    height: auto;
    min-height: 0;
    padding: 2.5rem 2.5rem 0;
    border-radius: 1.25rem;
  }
  .booking-rules__list {
    position: static;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    order: 1;
    width: 100%;
    max-width: 40rem;
  }
  .booking-rules__visual {
    position: relative;
    top: auto;
    left: auto;
    order: 2;
    width: 100%;
    max-width: none;
    height: 17.5rem;
    margin: 2rem 0 0;
    overflow: clip;
    aspect-ratio: auto;
    transform: none;
  }
  .booking-rules__ring {
    top: 1.5rem;
    left: 50%;
    width: 26.25rem;
    height: 26.25rem;
    max-width: none;
    aspect-ratio: auto;
    object-fit: fill;
    transform: translateX(-50%);
  }
  .booking-rules__image {
    top: 4.375rem;
    right: auto;
    bottom: auto;
    left: 50%;
    width: 17.5rem;
    height: 17.5rem;
    object-fit: cover;
    object-position: center center;
    transform: translateX(-50%);
  }
  .booking-rules__text {
    position: static;
    top: auto;
    left: auto;
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    width: 100%;
    max-width: none;
    margin: 0;
    font-size: 1.25rem;
    line-height: 1.875rem;
    text-align: left;
  }
  .booking-rules__text--top-left, .booking-rules__text--mid-right, .booking-rules__text--bottom-right {
    top: auto;
    left: auto;
    width: 100%;
  }
  .booking-rules__bullet {
    display: block;
    flex-shrink: 0;
    width: 0.375rem;
    height: 1.75rem;
  }
  .booking-rules__text-body {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
  }
}
@media (max-width: 1024px) {
  .booking-rules {
    --booking-rules-pad-x: 1.25rem;
  }
  .booking-rules__inner {
    gap: 1.75rem;
  }
  .booking-rules__title {
    font-size: 2.75rem;
    line-height: 3.25rem;
  }
  .booking-rules__panel {
    padding: 2rem 1.75rem 0;
    border-radius: 1rem;
  }
  .booking-rules__list {
    gap: 1rem;
    max-width: none;
  }
  .booking-rules__visual {
    height: 15rem;
    margin-top: 1.5rem;
  }
  .booking-rules__ring {
    width: 22.5rem;
    height: 22.5rem;
  }
  .booking-rules__image {
    top: 3.75rem;
    width: 15rem;
    height: 15rem;
  }
  .booking-rules__text {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}
@media (max-width: 768px) {
  .booking-rules {
    --booking-rules-pad-x: 0;
  }
  .booking-rules__inner {
    gap: 1.5rem;
  }
  .booking-rules__title {
    font-size: 2.25rem;
    line-height: 2.75rem;
    letter-spacing: -0.045rem;
  }
  .booking-rules__panel {
    display: block;
    height: 43.1875rem;
    padding: 0;
    border-radius: 1rem;
    overflow: clip;
  }
  .booking-rules__list {
    position: absolute;
    top: 2rem;
    right: 1.25rem;
    left: 1.25rem;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    order: unset;
    width: auto;
    max-width: none;
  }
  .booking-rules__visual {
    position: absolute;
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    order: unset;
    width: 100%;
    max-width: none;
    height: 13.25rem;
    margin: 0;
    overflow: clip;
    aspect-ratio: auto;
    transform: none;
  }
  .booking-rules__ring {
    top: 1.125rem;
    left: 50%;
    width: 23.6875rem;
    height: 23.6875rem;
    max-width: none;
    aspect-ratio: auto;
    object-fit: fill;
    transform: translateX(-50%);
  }
  .booking-rules__image {
    top: 5.4375rem;
    right: auto;
    bottom: auto;
    left: 50%;
    width: 15.6875rem;
    height: 15.625rem;
    object-fit: cover;
    object-position: center bottom;
    transform: translateX(-50%);
  }
  .booking-rules__text {
    position: static;
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    width: 100%;
    font-size: 1.125rem;
    line-height: 1.75rem;
    text-align: left;
  }
  .booking-rules__text--top-left, .booking-rules__text--mid-right, .booking-rules__text--bottom-right {
    top: auto;
    left: auto;
    width: 100%;
  }
  .booking-rules__bullet {
    display: block;
    flex-shrink: 0;
    width: 0.375rem;
    height: 1.75rem;
  }
  .booking-rules__text-body {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
  }
}

.pre-record {
  --pre-record-pad-x: 3.75rem;
  width: 100%;
  max-width: 100%;
  padding-inline: var(--pre-record-pad-x);
  overflow-x: clip;
}
.pre-record__inner {
  display: flex;
  flex-direction: column;
  gap: 6.25rem;
  width: 100%;
  max-width: 112.5rem;
  margin-inline: auto;
}
.pre-record__header {
  display: grid;
  grid-template-columns: 13.125rem minmax(0, 1fr);
  gap: 7.5rem;
  align-items: start;
  width: 100%;
}
.pre-record__eyebrow {
  margin: 0;
  padding-block: 1.25rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  color: #91918e;
  text-transform: uppercase;
}
.pre-record__title {
  margin: 0;
  font-size: 6rem;
  font-weight: 400;
  line-height: 6rem;
  color: var(--black);
}
.pre-record__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3rem 6.25rem;
  width: 100%;
  max-width: 91.875rem;
  margin-left: auto;
}
.pre-record__item {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 0 2.5rem 3rem 0;
  border-bottom: 1px solid #e5e5e0;
}
.pre-record__item-title {
  margin: 0;
  font-size: 2.25rem;
  font-weight: 400;
  line-height: 2.75rem;
  color: var(--black);
  letter-spacing: -0.045rem;
}
.pre-record__item-text {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75rem;
  color: #6d6d6d;
}
.pre-record__link {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75rem;
  color: #6d6d6d;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.25rem;
  text-decoration-skip-ink: none;
  text-underline-position: under;
  transition-property: color, text-decoration-color;
  transition-duration: 0.3s;
  transition-timing-function: ease-out;
}
@media (hover: hover) {
  .pre-record__link:hover {
    color: var(--black);
  }
}
@media (max-width: 1280px) {
  .pre-record {
    --pre-record-pad-x: 1.5rem;
  }
  .pre-record__inner {
    gap: 3.5rem;
  }
  .pre-record__header {
    grid-template-columns: 10rem minmax(0, 1fr);
    gap: 2.5rem;
  }
  .pre-record__title {
    font-size: 4rem;
    line-height: 4.25rem;
  }
  .pre-record__grid {
    gap: 2rem 3rem;
    max-width: none;
  }
  .pre-record__item {
    padding-right: 1rem;
    padding-bottom: 2rem;
  }
  .pre-record__item-title {
    font-size: 1.75rem;
    line-height: 2.125rem;
    letter-spacing: -0.035rem;
  }
}
@media (max-width: 1024px) {
  .pre-record {
    --pre-record-pad-x: 1rem;
  }
  .pre-record__inner {
    gap: 1.75rem;
  }
  .pre-record__header {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  .pre-record__eyebrow {
    padding-block: 0;
    font-size: 0.75rem;
  }
  .pre-record__title {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
  .pre-record__grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .pre-record__item {
    padding: 1.25rem 0;
  }
  .pre-record__item-title {
    font-size: 1.375rem;
    line-height: 1.75rem;
    letter-spacing: -0.025rem;
  }
  .pre-record__item-text, .pre-record__link {
    font-size: 0.9375rem;
    line-height: 1.375rem;
  }
}
@media (max-width: 768px) {
  .pre-record {
    --pre-record-pad-x: 0;
  }
  .pre-record__inner {
    gap: 2rem;
  }
  .pre-record__header {
    gap: 0.75rem;
  }
  .pre-record__eyebrow {
    font-size: 0.625rem;
  }
  .pre-record__title {
    font-size: 2rem;
    line-height: 2.5rem;
  }
  .pre-record__grid {
    gap: 1.5rem;
  }
  .pre-record__item {
    gap: 0.5rem;
    padding: 0 0 1.5rem;
  }
  .pre-record__item-title {
    font-size: 1.25rem;
    line-height: 1.875rem;
    letter-spacing: 0;
  }
  .pre-record__item-text, .pre-record__link {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}

.programs-hero {
  --programs-hero-radius: 1.5rem;
  --programs-hero-pad-x: 0.8125rem;
  --programs-hero-height: calc(100svh - var(--header-height) - 1.5rem);
  --programs-hero-content-top: 7.0625rem;
  width: 100%;
  max-width: 100%;
  margin-top: 0.75rem;
  padding-inline: var(--programs-hero-pad-x);
  overflow: visible;
}
@media (max-width: 1280px) {
  .programs-hero {
    --programs-hero-height: 40rem;
    --programs-hero-radius: 1.25rem;
    --programs-hero-content-top: 4.5rem;
    --programs-hero-pad-x: 1.5rem;
    margin-top: 0.5rem;
  }
}
@media (max-width: 1024px) {
  .programs-hero {
    --programs-hero-pad-x: 1rem;
    --programs-hero-height: 36.25rem;
    --programs-hero-radius: 1rem;
    --programs-hero-content-top: 3.5rem;
  }
}
@media (max-width: 768px) {
  .programs-hero {
    --programs-hero-pad-x: 0;
    --programs-hero-height: 37.5rem;
    --programs-hero-radius: 1rem;
    --programs-hero-content-top: 3.75rem;
    margin-top: 0;
  }
}
.programs-hero__shell {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: var(--programs-hero-height);
  min-height: var(--programs-hero-height);
  overflow: hidden;
  border-radius: var(--programs-hero-radius);
}
.programs-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-color: #f5efd0;
}
.programs-hero__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom center;
}
.programs-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.28) 0%, rgba(255, 255, 255, 0.12) 24%, rgba(255, 255, 255, 0) 70%), linear-gradient(0deg, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 27%);
  mix-blend-mode: normal;
  pointer-events: none;
}
.programs-hero__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 5rem;
  align-items: center;
  width: min(100%, 79.625rem);
  margin-top: var(--programs-hero-content-top);
  padding: 0 1.5rem 4rem;
  text-align: center;
}
@media (max-width: 1280px) {
  .programs-hero__content {
    gap: 2.5rem;
    padding-inline: 2rem;
    padding-bottom: 3rem;
  }
}
@media (max-width: 1024px) {
  .programs-hero__content {
    gap: 2rem;
    padding-inline: 1.5rem;
    padding-bottom: 2.5rem;
  }
}
@media (max-width: 768px) {
  .programs-hero__content {
    gap: 1.5rem;
    width: 17.6875rem;
    max-width: calc(100% - 4rem);
    padding: 0;
  }
}
.programs-hero__texts {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  align-items: center;
  width: 100%;
}
@media (max-width: 1280px) {
  .programs-hero__texts {
    gap: 1.5rem;
  }
}
@media (max-width: 1024px) {
  .programs-hero__texts {
    gap: 1rem;
  }
}
@media (max-width: 768px) {
  .programs-hero__texts {
    gap: 0.75rem;
  }
}
.programs-hero__eyebrow {
  margin: 0;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1;
  color: #6d6d6d;
  text-transform: uppercase;
}
@media (max-width: 1024px) {
  .programs-hero__eyebrow {
    font-size: 0.75rem;
    color: #91918e;
  }
}
@media (max-width: 768px) {
  .programs-hero__eyebrow {
    font-size: 0.625rem;
  }
}
.programs-hero__title {
  margin: 0;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 4.75rem;
  font-weight: 400;
  line-height: 5.5rem;
  color: var(--black);
}
@media (max-width: 1280px) {
  .programs-hero__title {
    font-size: 3rem;
    line-height: 3.5rem;
  }
}
@media (max-width: 1024px) {
  .programs-hero__title {
    font-size: 2.5rem;
    line-height: 3rem;
  }
}
@media (max-width: 768px) {
  .programs-hero__title {
    font-size: 2rem;
    line-height: 2.5rem;
  }
}
.programs-hero__description {
  margin: 0;
  max-width: 68.75rem;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 2.5rem;
  color: #6d6d6d;
}
@media (max-width: 1280px) {
  .programs-hero__description {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}
@media (max-width: 1024px) {
  .programs-hero__description {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}
@media (max-width: 768px) {
  .programs-hero__description {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}
@media (max-width: 768px) {
  .programs-hero__button {
    --height: 2.5rem;
    --pad-t: 0.75rem;
    --pad-b: 0.75rem;
    --pad-r: 1.5rem;
    --pad-l: 1.5rem;
    --font-size: 0.875rem;
    --line-height: 1;
    min-height: 2.5rem;
  }
}

.programs-contours {
  --section-padding: 0;
  --contours-pad-y: 3rem;
  --contours-pad-x: 2.875rem;
  --contours-head-gap: 5.875rem;
  --contours-card-gap: 1.5rem;
  position: relative;
  overflow: visible;
  background-color: #f1f1f1;
}
@media (max-width: 1024px) {
  .programs-contours {
    overflow: visible;
  }
}
@media (max-width: 1024px) {
  .programs-contours {
    --contours-pad-y: 0rem;
    --contours-pad-x: 1rem;
    --contours-head-gap: 1.5rem;
    --contours-card-gap: 1rem;
  }
}
@media (max-width: 768px) {
  .programs-contours {
    --contours-pad-x: 0;
    --contours-head-gap: 1.5rem;
    --contours-card-gap: 1rem;
  }
}
.programs-contours__pin {
  display: flex;
  flex-direction: column;
  height: calc(100svh - var(--header-height));
  min-height: 0;
  padding: var(--contours-pad-y) 0;
  overflow: hidden;
  background-color: #f1f1f1;
}
.programs-contours__frame {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  min-height: 0;
}
.programs-contours__inner {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 116rem;
  height: 100%;
  min-height: 0;
  margin-inline: auto;
  padding-inline: var(--contours-pad-x);
}
.programs-contours__head {
  display: flex;
  flex-shrink: 0;
  gap: 7.5rem;
  align-items: flex-start;
  margin-bottom: var(--contours-head-gap);
}
@media (max-width: 1024px) {
  .programs-contours__head {
    gap: 2rem;
  }
}
@media (max-width: 768px) {
  .programs-contours__head {
    flex-direction: column;
    gap: 0.875rem;
  }
}
.programs-contours__eyebrow {
  flex: 0 0 13.125rem;
  margin: 0;
  padding-block: 1.25rem;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  color: #91918e;
  text-transform: uppercase;
}
@media (max-width: 1024px) {
  .programs-contours__eyebrow {
    flex: 0 0 auto;
    padding-block: 0.5rem;
    font-size: 0.875rem;
  }
}
@media (max-width: 768px) {
  .programs-contours__eyebrow {
    padding-block: 0;
  }
}
.programs-contours__title {
  margin: 0;
  max-width: 56.25rem;
  font-family: "Inter", "Arial", sans-serif;
  font-size: clamp(2.5rem, 5.2vw, 6rem);
  font-weight: 400;
  line-height: 1;
  color: var(--black);
}
@media (max-width: 1024px) {
  .programs-contours__title {
    max-width: none;
    font-size: 2.5rem;
    line-height: 3rem;
  }
}
@media (max-width: 768px) {
  .programs-contours__title {
    font-size: 2rem;
    line-height: 2.5rem;
  }
}
@media (max-width: 768px) {
  .programs-contours__title-break {
    display: none;
  }
}
.programs-contours__viewport {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
.programs-contours__track {
  display: flex;
  gap: var(--contours-card-gap);
  align-items: stretch;
  width: max-content;
  height: 100%;
  will-change: transform;
}
.programs-contours__slide {
  flex: 0 0 auto;
  width: min(55.4375rem, (100vw - var(--contours-pad-x) * 2 - var(--contours-card-gap)) / 2);
  height: 100%;
  min-height: 0;
}
.programs-contours__slide .contour-card {
  height: 100%;
  min-height: 0;
}
@media (max-width: 1024px) {
  .programs-contours .programs-contours__pin {
    position: relative;
    top: auto;
    height: auto;
    min-height: 0;
    overflow: visible;
    padding-bottom: 0;
  }
  .programs-contours .programs-contours__frame,
  .programs-contours .programs-contours__inner {
    flex: none;
    height: auto;
    min-height: 0;
    overflow: visible;
  }
  .programs-contours .programs-contours__eyebrow {
    font-size: 0.75rem;
    color: #91918e;
  }
  .programs-contours .programs-contours__viewport {
    flex: none;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    scroll-snap-type: none;
  }
  .programs-contours .programs-contours__viewport::-webkit-scrollbar {
    display: none;
  }
  .programs-contours .programs-contours__track {
    align-items: stretch;
    gap: var(--contours-card-gap);
    height: auto;
    padding-inline: max(1rem, (100vw - 100%) / 2 + 1rem);
    padding-right: 1rem;
    transform: none !important;
    will-change: auto;
  }
  .programs-contours .programs-contours__slide {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    width: min(21.25rem, 100vw - 3.5rem);
    height: auto;
    min-height: 21.25rem;
    scroll-snap-align: unset;
    scroll-snap-stop: normal;
  }
  .programs-contours .programs-contours__slide .contour-card {
    flex: 1 1 auto;
    width: 100%;
    height: auto;
    min-height: 21.25rem;
  }
}
@media (max-width: 768px) {
  .programs-contours .programs-contours__head {
    flex-direction: column;
    gap: 0.5rem;
  }
  .programs-contours .programs-contours__eyebrow {
    font-size: 0.625rem;
    padding-block: 0;
  }
  .programs-contours .programs-contours__track {
    padding-inline: 0.875rem;
    padding-right: 0.875rem;
  }
  .programs-contours .programs-contours__slide {
    width: 19.375rem;
    min-height: 21.25rem;
  }
}
@media (max-width: 480px) {
  .programs-contours .programs-contours__slide {
    width: min(19.375rem, 100vw - 3.125rem);
  }
}

@media (min-width: 1025px) {
  .programs-contours.is-pin-enhanced {
    width: 100%;
  }
  .programs-contours.is-pin-enhanced .contours-travel {
    position: relative;
    width: 100%;
  }
  .programs-contours__pin {
    position: sticky;
    top: var(--header-height);
    display: block;
    height: calc(100svh - var(--header-height));
    min-height: 42.5rem;
    padding: 0;
    overflow: hidden;
  }
  .programs-contours__frame {
    position: absolute;
    top: 2.5rem;
    left: 50%;
    flex: none;
    width: 112.5rem;
    max-width: none;
    height: 62.4375rem;
    min-height: 0;
    margin-left: calc(112.5rem / -2);
    overflow: visible;
    transform-origin: 50% 0;
    will-change: transform;
  }
  .programs-contours__inner {
    position: relative;
    display: block;
    width: 112.5rem;
    max-width: none;
    height: 62.4375rem;
    min-height: 0;
    margin: 0;
    padding: 0;
  }
  .programs-contours__head {
    position: absolute;
    inset: 0 0 auto;
    z-index: 2;
    display: flex;
    gap: 7.5rem;
    align-items: flex-start;
    width: 100%;
    height: auto;
    min-height: 12rem;
    margin: 0;
    overflow: visible;
  }
  .programs-contours__eyebrow {
    flex: 0 0 13.125rem;
    padding-block: 1.25rem;
    font-size: 1rem;
  }
  .programs-contours__title {
    max-width: none;
    font-size: 6rem;
    line-height: 6rem;
  }
  .programs-contours__viewport {
    position: absolute;
    top: 17.875rem;
    left: 0;
    z-index: 1;
    flex: none;
    width: 112.5rem;
    height: 44.4375rem;
    min-height: 0;
    overflow: hidden;
  }
  .programs-contours__track {
    display: flex;
    gap: 1.5rem;
    align-items: stretch;
    width: max-content;
    height: 44.4375rem;
    min-height: 0;
    will-change: transform;
  }
  .programs-contours__slide {
    flex: 0 0 55.4375rem;
    width: 55.4375rem;
    height: 44.4375rem;
    min-height: 0;
  }
  .programs-contours__slide .contour-card {
    width: 55.4375rem;
    height: 44.4375rem;
    min-height: 0;
  }
}
.programs-requests {
  --section-padding: 0;
  --requests-pad-x: 2.875rem;
  --requests-gap: 5.875rem;
  --requests-card-gap: 1.5rem;
  position: relative;
  z-index: 0;
  width: 100%;
  max-width: 100%;
  padding-inline: var(--requests-pad-x);
  overflow-x: clip;
  background-color: #f1f1f1;
}
@media (max-width: 1280px) {
  .programs-requests {
    --requests-pad-x: 1.5rem;
    --requests-gap: 3rem;
    --requests-card-gap: 1rem;
  }
}
@media (max-width: 1024px) {
  .programs-requests {
    --requests-pad-x: 1rem;
    --requests-gap: 2rem;
    --requests-card-gap: 1rem;
    overflow-x: visible;
  }
}
@media (max-width: 768px) {
  .programs-requests {
    --requests-pad-x: 0;
    --requests-gap: 1.5rem;
    --requests-card-gap: 1rem;
  }
}
.programs-requests__inner {
  display: flex;
  flex-direction: column;
  gap: var(--requests-gap);
  width: 100%;
  max-width: 114.1875rem;
  margin-inline: auto;
}
.programs-requests__head {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  max-width: 57.0625rem;
}
@media (max-width: 1024px) {
  .programs-requests__head {
    gap: 1.25rem;
    max-width: none;
  }
}
@media (max-width: 768px) {
  .programs-requests__head {
    gap: 1.5rem;
  }
}
.programs-requests__title {
  margin: 0;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 6rem;
  font-weight: 400;
  line-height: 6rem;
  color: var(--black);
}
@media (max-width: 1280px) {
  .programs-requests__title {
    font-size: 3.5rem;
    line-height: 4rem;
  }
}
@media (max-width: 1024px) {
  .programs-requests__title {
    font-size: 2.5rem;
    line-height: 3rem;
  }
}
@media (max-width: 768px) {
  .programs-requests__title {
    font-size: 2.25rem;
    line-height: 2.75rem;
    letter-spacing: -0.045rem;
  }
}
.programs-requests__text {
  margin: 0;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2rem;
  color: #6d6d6d;
}
@media (max-width: 1024px) {
  .programs-requests__text {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}
@media (max-width: 768px) {
  .programs-requests__text {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}
.programs-requests__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--requests-card-gap);
  width: 100%;
}
@media (max-width: 1280px) {
  .programs-requests__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 1024px) {
  .programs-requests__grid {
    grid-template-columns: 1fr;
  }
}

.principles-hero {
  --principles-hero-radius: 1.5rem;
  --principles-hero-pad-x: 0.8125rem;
  --principles-hero-max-h: calc(100svh - var(--header-height) - 1.5rem);
  width: 100%;
  max-width: 100%;
  margin-top: 0.75rem;
  padding-inline: var(--principles-hero-pad-x);
}
@media (max-width: 1024px) {
  .principles-hero {
    --principles-hero-pad-x: 0.75rem;
    --principles-hero-radius: 1rem;
    margin-top: 0.5rem;
  }
}
@media (max-width: 600px) {
  .principles-hero {
    --principles-hero-pad-x: 0;
    --principles-hero-radius: 1rem;
    margin-top: 0;
  }
}
.principles-hero__shell {
  position: relative;
  width: min(100%, var(--principles-hero-max-h) * 1893 / 860);
  aspect-ratio: 1893/860;
  height: auto;
  margin-inline: auto;
  overflow: hidden;
  border-radius: var(--principles-hero-radius);
  background-color: #eaeaec;
}
@media (max-width: 1024px) {
  .principles-hero__shell {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    aspect-ratio: auto;
    min-height: clamp(35rem, 72svh, 45rem);
  }
}
@media (max-width: 600px) {
  .principles-hero__shell {
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 347/600;
    border-radius: 1rem;
  }
}
.principles-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.principles-hero__picture {
  display: block;
  width: 100%;
  height: 100%;
}
.principles-hero__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
}
.principles-hero__content {
  position: absolute;
  top: 14.0697674419%;
  left: 50%;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  align-items: center;
  width: min(100% - 3rem, 50.9244585314%);
  text-align: center;
  translate: -50% 0;
}
@media (max-width: 1024px) {
  .principles-hero__content {
    position: relative;
    top: auto;
    left: auto;
    flex: 1 1 auto;
    justify-content: center;
    width: min(100% - 2.5rem, 40rem);
    margin: 3rem auto 1rem;
    padding: 0 1.25rem clamp(11.25rem, 32%, 16.25rem);
    translate: none;
    gap: 1.25rem;
  }
}
@media (max-width: 600px) {
  .principles-hero__content {
    position: absolute;
    top: 10%;
    left: 50%;
    flex: none;
    justify-content: flex-start;
    width: 81.5561959654%;
    max-width: none;
    margin: 0;
    padding: 0;
    translate: -50% 0;
    gap: 0.75rem;
  }
}
.principles-hero__title {
  margin: 0;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 4.75rem;
  font-weight: 400;
  line-height: 5.5rem;
  color: #2b2b2b;
}
@media (max-width: 1280px) {
  .principles-hero__title {
    font-size: clamp(2.5rem, 4vw, 4rem);
    line-height: 1.15;
  }
}
@media (max-width: 1024px) {
  .principles-hero__title {
    font-size: 2.25rem;
    line-height: 2.625rem;
  }
}
@media (max-width: 600px) {
  .principles-hero__title {
    font-size: 2rem;
    line-height: 2.5rem;
  }
}
.principles-hero__description {
  margin: 0;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 2.5rem;
  color: #6d6d6d;
}
@media (max-width: 1280px) {
  .principles-hero__description {
    font-size: clamp(1rem, 1.7vw, 1.75rem);
    line-height: 1.3;
  }
}
@media (max-width: 1024px) {
  .principles-hero__description {
    font-size: 1.125rem;
    line-height: 1.625rem;
  }
}
@media (max-width: 600px) {
  .principles-hero__description {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}
.principles-hero__gauge {
  position: absolute;
  top: 50.1162790698%;
  left: 18.2250396197%;
  z-index: 2;
  width: 63.6555731643%;
  height: 31.8604651163%;
  pointer-events: none;
}
@media (max-width: 1024px) {
  .principles-hero__gauge {
    position: absolute;
    top: auto;
    left: 50%;
    bottom: clamp(10.5rem, 20%, 17.5rem);
    flex: none;
    width: min(88%, 40rem);
    height: auto;
    aspect-ratio: 1205/274;
    margin: 0;
    translate: -50% 0;
  }
}
@media (max-width: 600px) {
  .principles-hero__gauge {
    position: absolute;
    top: 46.81%;
    bottom: auto;
    left: 7.204610951%;
    flex: none;
    width: 85.878962536%;
    height: auto;
    max-width: none;
    aspect-ratio: 298/96.2769;
    margin: 0;
    translate: none;
  }
  .principles-hero__gauge .principles-hero__gauge-ticks--desktop {
    display: none;
  }
  .principles-hero__gauge .principles-hero__gauge-ticks--mobile {
    display: block;
  }
  .principles-hero__gauge .principles-hero__gauge-dot {
    top: 32.7416026066%;
    left: 31.8791946309%;
    width: 4.2307718121%;
  }
}
.principles-hero__gauge-ticks {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
}
.principles-hero__gauge-ticks--mobile {
  display: none;
}
.principles-hero__gauge-dot {
  position: absolute;
  top: 36.1313868613%;
  left: 34.2738589212%;
  width: 1.8257261411%;
  aspect-ratio: 1;
  background: #2b2b2b;
  border-radius: 50%;
  translate: -50% -50%;
}

.principles-goals {
  --section-padding: 0;
  --goals-pad-y: 3rem;
  --goals-pad-x: 2.875rem;
  --goals-head-gap: 5.875rem;
  --goals-card-gap: 1.5rem;
  position: relative;
  overflow: visible;
  background-color: #f1f1f1;
}
@media (max-width: 1024px) {
  .principles-goals {
    --goals-pad-y: 0rem;
    --goals-pad-x: 1rem;
    --goals-head-gap: 1.5rem;
    --goals-card-gap: 1rem;
    overflow: visible;
  }
}
@media (max-width: 768px) {
  .principles-goals {
    --goals-pad-x: 0;
    --goals-head-gap: 1.5rem;
    --goals-card-gap: 1rem;
  }
}
.principles-goals__pin {
  display: flex;
  flex-direction: column;
  height: calc(100svh - var(--header-height));
  min-height: 0;
  padding: var(--goals-pad-y) 0;
  overflow: hidden;
  background-color: #f1f1f1;
}
.principles-goals__frame {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  min-height: 0;
}
.principles-goals__inner {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 116rem;
  height: 100%;
  min-height: 0;
  margin-inline: auto;
  padding-inline: var(--goals-pad-x);
}
.principles-goals__head {
  display: flex;
  flex-shrink: 0;
  gap: 7.5rem;
  align-items: flex-start;
  margin-bottom: var(--goals-head-gap);
}
@media (max-width: 1024px) {
  .principles-goals__head {
    gap: 2rem;
  }
}
@media (max-width: 768px) {
  .principles-goals__head {
    flex-direction: column;
    gap: 0.5rem;
  }
}
.principles-goals__eyebrow {
  flex: 0 0 13.125rem;
  margin: 0;
  padding-block: 1.25rem;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  color: #91918e;
  text-transform: uppercase;
}
@media (max-width: 1024px) {
  .principles-goals__eyebrow {
    flex: 0 0 auto;
    padding-block: 0.5rem;
    font-size: 0.75rem;
  }
}
@media (max-width: 768px) {
  .principles-goals__eyebrow {
    padding-block: 0;
    font-size: 0.625rem;
  }
}
.principles-goals__title {
  margin: 0;
  max-width: 56.25rem;
  font-family: "Inter", "Arial", sans-serif;
  font-size: clamp(2.5rem, 5.2vw, 6rem);
  font-weight: 400;
  line-height: 1;
  color: var(--black);
}
@media (max-width: 1024px) {
  .principles-goals__title {
    max-width: none;
    font-size: 2.5rem;
    line-height: 3rem;
  }
}
@media (max-width: 768px) {
  .principles-goals__title {
    font-size: 2rem;
    line-height: 2.5rem;
  }
}
.principles-goals__viewport {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
.principles-goals__track {
  display: flex;
  gap: var(--goals-card-gap);
  align-items: stretch;
  width: max-content;
  height: 100%;
  will-change: transform;
}
.principles-goals__slide {
  flex: 0 0 auto;
  width: min(55.4375rem, (100vw - var(--goals-pad-x) * 2 - var(--goals-card-gap)) / 2);
  height: 100%;
  min-height: 0;
}
.principles-goals__slide .contour-card {
  height: 100%;
  min-height: 0;
}
@media (max-width: 1024px) {
  .principles-goals .principles-goals__pin {
    position: relative;
    top: auto;
    height: auto;
    min-height: 0;
    overflow: visible;
    padding-bottom: 0;
  }
  .principles-goals .principles-goals__frame,
  .principles-goals .principles-goals__inner {
    flex: none;
    height: auto;
    min-height: 0;
    overflow: visible;
  }
  .principles-goals .principles-goals__viewport {
    flex: none;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    scroll-snap-type: none;
  }
  .principles-goals .principles-goals__viewport::-webkit-scrollbar {
    display: none;
  }
  .principles-goals .principles-goals__track {
    align-items: stretch;
    gap: var(--goals-card-gap);
    height: auto;
    padding-inline: max(1rem, (100vw - 100%) / 2 + 1rem);
    padding-right: 1rem;
    transform: none !important;
    will-change: auto;
  }
  .principles-goals .principles-goals__slide {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    width: min(21.25rem, 100vw - 3.5rem);
    height: auto;
    min-height: 16.75rem;
    scroll-snap-align: unset;
    scroll-snap-stop: normal;
  }
  .principles-goals .principles-goals__slide .contour-card {
    flex: 1 1 auto;
    width: 100%;
    height: auto;
    min-height: 16.75rem;
  }
}
@media (max-width: 768px) {
  .principles-goals .principles-goals__head {
    flex-direction: column;
    gap: 0.5rem;
  }
  .principles-goals .principles-goals__track {
    padding-inline: 0.875rem;
    padding-right: 0.875rem;
  }
  .principles-goals .principles-goals__slide {
    width: 19.375rem;
    min-height: 16.75rem;
  }
}
@media (max-width: 480px) {
  .principles-goals .principles-goals__slide {
    width: min(19.375rem, 100vw - 3.125rem);
  }
}

@media (min-width: 1025px) {
  .principles-goals.is-pin-enhanced {
    width: 100%;
  }
  .principles-goals.is-pin-enhanced .contours-travel {
    position: relative;
    width: 100%;
  }
  .principles-goals__pin {
    position: sticky;
    top: var(--header-height);
    display: block;
    height: calc(100svh - var(--header-height));
    min-height: 42.5rem;
    padding: 0;
    overflow: hidden;
  }
  .principles-goals__frame {
    position: absolute;
    top: 2.5rem;
    left: 50%;
    flex: none;
    width: 112.5rem;
    max-width: none;
    height: 62.4375rem;
    min-height: 0;
    margin-left: calc(112.5rem / -2);
    overflow: visible;
    transform-origin: 50% 0;
    will-change: transform;
  }
  .principles-goals__inner {
    position: relative;
    display: block;
    width: 112.5rem;
    max-width: none;
    height: 62.4375rem;
    min-height: 0;
    margin: 0;
    padding: 0;
  }
  .principles-goals__head {
    position: absolute;
    inset: 0 0 auto;
    z-index: 2;
    display: flex;
    gap: 7.5rem;
    align-items: flex-start;
    width: 100%;
    height: auto;
    min-height: 12rem;
    margin: 0;
    overflow: visible;
  }
  .principles-goals__eyebrow {
    flex: 0 0 13.125rem;
    padding-block: 1.25rem;
    font-size: 1rem;
  }
  .principles-goals__title {
    max-width: none;
    font-size: 6rem;
    line-height: 6rem;
  }
  .principles-goals__viewport {
    position: absolute;
    top: 17.875rem;
    left: 0;
    z-index: 1;
    flex: none;
    width: 112.5rem;
    height: 44.4375rem;
    min-height: 0;
    overflow: hidden;
  }
  .principles-goals__track {
    display: flex;
    gap: 1.5rem;
    align-items: center;
    width: max-content;
    height: 44.4375rem;
    min-height: 0;
    will-change: transform;
  }
  .principles-goals__slide {
    flex: 0 0 55.4375rem;
    width: 55.4375rem;
    height: 44.4375rem;
    min-height: 0;
  }
  .principles-goals__slide .contour-card {
    width: 55.4375rem;
    height: 44.4375rem;
    min-height: 0;
  }
}
.principles-position {
  --section-padding: 0;
  --position-pad-x: 2.875rem;
  --position-stage-radius: 62.5rem;
  --position-stage-border: 0.75rem;
  --position-title-size: 3rem;
  --position-title-lh: 3.75rem;
  --position-text-size: 1.5rem;
  --position-text-lh: 2rem;
  width: 100%;
  max-width: 100%;
  padding-inline: var(--position-pad-x);
}
@media (max-width: 1280px) {
  .principles-position {
    --position-title-size: 2.5rem;
    --position-title-lh: 3rem;
    --position-text-size: 1.25rem;
    --position-text-lh: 1.75rem;
  }
}
@media (max-width: 1024px) {
  .principles-position {
    --position-pad-x: 0;
    --position-stage-radius: 62.5rem;
    --position-title-size: clamp(1.5rem, 4.2vw, 2rem);
    --position-title-lh: 1.25;
    --position-text-size: clamp(0.875rem, 2.4vw, 1.125rem);
    --position-text-lh: 1.4;
  }
}
@media (max-width: 768px) {
  .principles-position {
    --position-title-size: 1.5rem;
    --position-title-lh: 2rem;
    --position-text-size: 0.875rem;
    --position-text-lh: 1.25rem;
  }
}
.principles-position__inner {
  display: flex;
  flex-direction: column;
  gap: 3.125rem;
  width: 100%;
  max-width: 112.5rem;
  margin-inline: auto;
}
@media (max-width: 1024px) {
  .principles-position__inner {
    gap: 1.75rem;
  }
}
@media (max-width: 768px) {
  .principles-position__inner {
    gap: 2rem;
  }
}
.principles-position__eyebrow {
  margin: 0;
  padding-block: 0.75rem;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  color: #91918e;
  text-transform: uppercase;
}
@media (max-width: 1024px) {
  .principles-position__eyebrow {
    padding-block: 0;
    font-size: 0.75rem;
  }
}
@media (max-width: 768px) {
  .principles-position__eyebrow {
    font-size: 0.625rem;
  }
}
.principles-position__stage {
  position: relative;
  width: 100%;
  aspect-ratio: 1800/770;
  overflow: hidden;
  border: 0;
  border-radius: var(--position-stage-radius);
  background-color: #f5f5f5;
}
.principles-position__stage::after {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  content: "";
  border-radius: inherit;
  box-shadow: inset 0 0 0 var(--position-stage-border) var(--white);
}
@media (max-width: 1024px) {
  .principles-position__stage {
    width: 100%;
    max-width: none;
    aspect-ratio: 347/753;
    height: auto;
    min-height: 0;
    padding: 1.7291066282%;
    margin-inline: auto;
    background-color: #fff;
    max-width: 30rem;
  }
  .principles-position__stage::after {
    box-shadow: inset 0 0 0 6px var(--white);
  }
}
.principles-position__bg {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
  border-radius: inherit;
  background-color: #f5f5f5;
}
@media (max-width: 1024px) {
  .principles-position__bg {
    object-position: center bottom;
  }
}
.principles-position__circles {
  position: absolute;
  inset: 0;
  z-index: 1;
  margin: 0;
  padding: 0;
  list-style: none;
}
.principles-position__circle {
  position: absolute;
  top: 6.7532467532%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 35.6111111111%;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 50%;
  background-color: #f8f8f8;
  -webkit-backdrop-filter: blur(13px);
  backdrop-filter: blur(13px);
}
.principles-position__circle::before {
  position: absolute;
  inset: 0;
  content: "";
  border-radius: inherit;
  background-image: linear-gradient(90deg, var(--circle-tone) 0%, transparent 100%);
  pointer-events: none;
}
.principles-position__circle--data {
  --circle-tone: #cbcfd3;
  left: 2.8888888889%;
  z-index: 1;
}
.principles-position__circle--protocol {
  --circle-tone: #ffca8b;
  left: 50%;
  z-index: 2;
  translate: -50% 0;
}
.principles-position__circle--curator {
  --circle-tone: #daec9b;
  left: 60.1666666667%;
  z-index: 3;
}
@media (max-width: 1024px) {
  .principles-position__circle {
    top: auto;
    left: 50%;
    width: 89.2537313433%;
    translate: -50% 0;
  }
  .principles-position__circle::before {
    background-image: linear-gradient(0deg, transparent 0%, var(--circle-tone) 100%);
  }
  .principles-position__circle--data {
    top: 2.4291497976%;
    z-index: 1;
  }
  .principles-position__circle--protocol {
    top: 29.8245614035%;
    z-index: 2;
  }
  .principles-position__circle--curator {
    top: 57.2199730094%;
    z-index: 3;
  }
}
.principles-position__circle-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  align-items: center;
  width: min(21.875rem, 72%);
  text-align: center;
}
@media (max-width: 1024px) {
  .principles-position__circle-content {
    gap: 0.5rem;
    width: 73.2441471572%;
    max-width: none;
  }
}
.principles-position__circle-title {
  margin: 0;
  font-family: "Inter", "Arial", sans-serif;
  font-size: var(--position-title-size);
  font-weight: 400;
  line-height: var(--position-title-lh);
  color: var(--white);
  letter-spacing: -0.02em;
}
.principles-position__circle-text {
  margin: 0;
  font-family: "Inter", "Arial", sans-serif;
  font-size: var(--position-text-size);
  font-weight: 400;
  line-height: var(--position-text-lh);
  color: #6d6d6d;
}

.principles-science {
  --section-padding: 0;
  --science-pad-x: 2.875rem;
  width: 100%;
  max-width: 100%;
  padding-inline: var(--science-pad-x);
}
@media (max-width: 1024px) {
  .principles-science {
    --science-pad-x: 1.5rem;
  }
}
@media (max-width: 768px) {
  .principles-science {
    --science-pad-x: 0;
  }
}
.principles-science__inner {
  display: flex;
  flex-direction: column;
  gap: 6.25rem;
  width: 100%;
  max-width: 112.5rem;
  margin-inline: auto;
}
@media (max-width: 1024px) {
  .principles-science__inner {
    gap: 3rem;
  }
}
@media (max-width: 768px) {
  .principles-science__inner {
    gap: 1.5rem;
  }
}
.principles-science__head {
  display: flex;
  gap: 7.5rem;
  align-items: flex-start;
}
@media (max-width: 1024px) {
  .principles-science__head {
    gap: 2rem;
  }
}
@media (max-width: 768px) {
  .principles-science__head {
    flex-direction: column;
    gap: 0.5rem;
  }
}
.principles-science__eyebrow {
  flex: 0 0 13.125rem;
  margin: 0;
  padding-block: 1.25rem;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  color: var(--gray-200);
  text-transform: uppercase;
}
@media (max-width: 1024px) {
  .principles-science__eyebrow {
    flex: 0 0 auto;
    padding-block: 0.5rem;
    font-size: 0.875rem;
  }
}
@media (max-width: 768px) {
  .principles-science__eyebrow {
    padding-block: 0;
    font-size: 0.625rem;
  }
}
.principles-science__title {
  margin: 0;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 6rem;
  font-weight: 400;
  line-height: 6rem;
  color: var(--black);
}
@media (max-width: 1280px) {
  .principles-science__title {
    font-size: 4rem;
    line-height: 4.25rem;
  }
}
@media (max-width: 1024px) {
  .principles-science__title {
    font-size: 2.5rem;
    line-height: 2.75rem;
  }
}
@media (max-width: 768px) {
  .principles-science__title {
    font-size: 2rem;
    line-height: 2.5rem;
  }
}
.principles-science__list {
  width: 100%;
  max-width: 91.8125rem;
  margin-left: auto;
}
@media (max-width: 768px) {
  .principles-science__list {
    max-width: none;
    margin-left: 0;
  }
}
.principles-science__item-main {
  display: flex;
  flex: 1 1 auto;
  gap: 1.25rem;
  align-items: flex-start;
  min-width: 0;
}
@media (max-width: 768px) {
  .principles-science__item-main {
    gap: 0.5rem;
  }
}
.principles-science__index {
  flex-shrink: 0;
  width: 1.875rem;
  margin-top: 1rem;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75rem;
  color: var(--gray-200);
}
@media (max-width: 1024px) {
  .principles-science__index {
    margin-top: 0.25rem;
    font-size: 0.875rem;
    line-height: 1.375rem;
  }
}
@media (max-width: 768px) {
  .principles-science__index {
    width: 1.125rem;
    margin-top: 0.5rem;
    font-size: 0.625rem;
    line-height: 1;
    text-transform: uppercase;
  }
}
.principles-science .accordion--faq .faq-item__title {
  font-size: 3rem;
  line-height: 3.75rem;
  letter-spacing: -0.06rem;
}
.principles-science .accordion--faq .faq-item__icon {
  width: 3rem;
  height: 3rem;
  margin-top: 0.375rem;
}
.principles-science .accordion--faq .faq-item__plus {
  width: 3rem;
  height: 3rem;
}
.principles-science .accordion--faq .faq-item__answer {
  padding-top: 0.75rem;
  padding-left: 3.125rem;
}
@media (max-width: 1280px) {
  .principles-science .accordion--faq .faq-item__title {
    font-size: 2.25rem;
    line-height: 2.75rem;
    letter-spacing: -0.045rem;
  }
  .principles-science .accordion--faq .faq-item__icon,
  .principles-science .accordion--faq .faq-item__plus {
    width: 2.25rem;
    height: 2.25rem;
  }
  .principles-science .accordion--faq .faq-item__answer {
    padding-left: 3.125rem;
  }
}
@media (max-width: 1024px) {
  .principles-science .accordion--faq .faq-item__title {
    font-size: 1.5rem;
    line-height: 1.875rem;
    letter-spacing: -0.03rem;
  }
  .principles-science .accordion--faq .faq-item__icon,
  .principles-science .accordion--faq .faq-item__plus {
    width: 1.75rem;
    height: 1.75rem;
  }
  .principles-science .accordion--faq .faq-item__answer {
    padding-left: 2.25rem;
  }
}
@media (max-width: 768px) {
  .principles-science .accordion--faq .faq-item {
    gap: 0.5rem;
    padding-block: 1rem;
  }
  .principles-science .accordion--faq .faq-item__title {
    font-size: 1.5rem;
    line-height: 2rem;
    letter-spacing: 0;
  }
  .principles-science .accordion--faq .faq-item__icon,
  .principles-science .accordion--faq .faq-item__plus {
    width: 1.5rem;
    height: 1.5rem;
    margin-top: 0;
  }
  .principles-science .accordion--faq .faq-item__answer {
    padding-top: 0.5rem;
    padding-left: 1.625rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    color: #6d6d6d;
  }
}

.principles-manifesto {
  --section-padding: 0;
  --manifesto-pad-x: 2.0625rem;
  --manifesto-radius: 1.5rem;
  width: 100%;
  max-width: 100%;
  padding-inline: var(--manifesto-pad-x);
  overflow-x: clip;
}
@media (max-width: 1280px) {
  .principles-manifesto {
    --manifesto-pad-x: 1.5rem;
  }
}
@media (max-width: 1024px) {
  .principles-manifesto {
    --manifesto-pad-x: 0;
    --manifesto-radius: 1rem;
  }
}
.principles-manifesto__panel {
  position: relative;
  width: 100%;
  max-width: 114.1875rem;
  aspect-ratio: 1827/1003;
  margin-inline: auto;
  overflow: clip;
  background-color: #ececec;
  border-radius: var(--manifesto-radius);
}
@media (max-width: 1024px) {
  .principles-manifesto__panel {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: none;
    aspect-ratio: auto;
    min-height: 46.25rem;
    padding: 2rem 1.25rem 0;
    background-color: #e7e7e7;
    background-image: linear-gradient(107deg, #fff 11%, rgba(255, 255, 255, 0) 71%);
  }
}
.principles-manifesto__content {
  display: contents;
}
@media (max-width: 1024px) {
  .principles-manifesto__content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
    gap: 1.75rem;
    width: 100%;
    max-width: 40rem;
  }
}
.principles-manifesto__visual {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  width: 44.8823207444%;
  aspect-ratio: 1;
  pointer-events: none;
  isolation: isolate;
  translate: -50% -50%;
}
@media (max-width: 1024px) {
  .principles-manifesto__visual {
    position: relative;
    top: auto;
    left: auto;
    z-index: 1;
    flex: 0 0 auto;
    width: calc(100% + 2.5rem);
    max-width: none;
    height: auto;
    aspect-ratio: 347/212;
    max-height: 25rem;
    margin-top: auto;
    margin-inline: -1.25rem;
    translate: none;
    isolation: auto;
  }
}
.principles-manifesto__ring {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;
  width: 155%;
  max-width: none;
  height: auto;
  aspect-ratio: 1290/1336;
  object-fit: contain;
  opacity: 0.67;
  translate: -50% -50%;
}
@media (max-width: 1024px) {
  .principles-manifesto__ring {
    display: none;
  }
}
.principles-manifesto__molecule-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  width: 88%;
  aspect-ratio: 754/954;
  translate: -50% -48%;
  rotate: -24deg;
}
@media (max-width: 1024px) {
  .principles-manifesto__molecule-wrap {
    display: none;
  }
}
.principles-manifesto__molecule {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  mix-blend-mode: screen;
}
.principles-manifesto__shot {
  display: none;
}
@media (max-width: 1024px) {
  .principles-manifesto__shot {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
  }
}
.principles-manifesto__lead {
  position: absolute;
  top: 8.8733798604%;
  left: 3.8314176245%;
  z-index: 2;
  width: 39.9014778325%;
  margin: 0;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 2.25rem;
  font-weight: 400;
  line-height: 2.75rem;
  color: #2b2b2b;
  letter-spacing: -0.02em;
}
@media (max-width: 1280px) {
  .principles-manifesto__lead {
    font-size: 1.75rem;
    line-height: 2.25rem;
  }
}
@media (max-width: 1024px) {
  .principles-manifesto__lead {
    position: static;
    top: auto;
    left: auto;
    width: 100%;
    font-size: clamp(1.25rem, 2.4vw, 1.75rem);
    line-height: 1.45;
    letter-spacing: 0;
  }
}
@media (max-width: 768px) {
  .principles-manifesto__lead {
    font-size: 1.25rem;
    line-height: 1.875rem;
  }
}
.principles-manifesto__aside {
  position: absolute;
  top: 62.0139581256%;
  left: 63.711001642%;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  width: 32.4575807334%;
}
@media (max-width: 1280px) {
  .principles-manifesto__aside {
    gap: 1.5rem;
  }
}
@media (max-width: 1024px) {
  .principles-manifesto__aside {
    position: static;
    top: auto;
    left: auto;
    width: 100%;
    gap: 1.5rem;
  }
}
.principles-manifesto__texts {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.principles-manifesto__texts p {
  margin: 0;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75rem;
  color: #2b2b2b;
}
@media (max-width: 1280px) {
  .principles-manifesto__texts p {
    font-size: 1.0625rem;
    line-height: 1.625rem;
  }
}
@media (max-width: 1024px) {
  .principles-manifesto__texts {
    gap: 1rem;
  }
  .principles-manifesto__texts p {
    font-size: clamp(0.875rem, 1.7vw, 1.125rem);
    line-height: 1.45;
  }
}
@media (max-width: 768px) {
  .principles-manifesto__texts p {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}
.principles-manifesto__author {
  margin: 0;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  color: #2b2b2b;
  text-transform: uppercase;
}
@media (max-width: 1024px) {
  .principles-manifesto__author {
    font-size: 0.75rem;
  }
}
@media (max-width: 768px) {
  .principles-manifesto__author {
    font-size: 0.625rem;
  }
}

.clinic-hero {
  position: relative;
  height: 73.1875rem;
  margin-top: calc(var(--header-height) * -1);
  overflow: hidden;
  isolation: isolate;
}
.clinic-hero__orb {
  position: absolute;
  z-index: -1;
  pointer-events: none;
}
.clinic-hero__orb img {
  display: block;
  max-width: none;
  object-fit: cover;
}
.clinic-hero__orb--left {
  top: -24.3125rem;
  left: -40.9375rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 75.5583rem;
  height: 75.5583rem;
}
.clinic-hero__orb--left img {
  width: 55.3125rem;
  height: 55.3125rem;
  opacity: 0.2;
  transform: rotate(150deg);
}
.clinic-hero__mosaic, .clinic-hero__col {
  display: contents;
}
.clinic-hero__copy {
  position: absolute;
  top: 15.8125rem;
  left: 3.8125rem;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  width: 36.5rem;
}
.clinic-hero__title {
  margin: 0;
  font-size: 4.75rem;
  font-weight: 400;
  line-height: 5.5rem;
  color: #2b2b2b;
  letter-spacing: 0;
}
.clinic-hero__lead {
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.875rem;
  color: #6d6d6d;
}
.clinic-hero__card {
  position: absolute;
  overflow: hidden;
  width: 22.5rem;
  height: 28.125rem;
  border-radius: 1.25rem;
  background: #e8e8e4;
}
.clinic-hero__card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: none;
}
.clinic-hero__card--1 {
  top: 9.375rem;
  left: 47.625rem;
}
.clinic-hero__card--2 {
  top: 38.125rem;
  left: 47.625rem;
}
.clinic-hero__card--3 {
  top: 45.0625rem;
  left: 24.5rem;
}
.clinic-hero__card--4 {
  top: 23.5625rem;
  left: 70.75rem;
  height: 31.5625rem;
  background: linear-gradient(134.37deg, #3e3e3e 4.95%, #828282 36.82%);
}
.clinic-hero__card--4 img {
  position: absolute;
  top: 3.4375rem;
  left: -0.25rem;
  width: 22.8125rem;
  height: 28.5rem;
  max-width: none;
  border-radius: 1.25rem;
}
.clinic-hero__card--5 {
  top: 15.75rem;
  left: 93.875rem;
}
.clinic-hero__card--6 {
  top: 44.5rem;
  left: 93.875rem;
}
.clinic-hero__feature-shade {
  position: absolute;
  inset: 0;
  background: rgba(21, 21, 21, 0.22);
  backdrop-filter: blur(3.125rem);
}
.clinic-hero__feature-copy {
  position: absolute;
  right: 1.875rem;
  bottom: 1.5rem;
  left: 1.875rem;
  color: #fff;
}
.clinic-hero__feature-copy h2 {
  margin: 0 0 0.5rem;
  font-size: 2rem;
  font-weight: 400;
  line-height: 2.25rem;
  color: inherit;
}
.clinic-hero__feature-copy p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.5rem;
  color: #ccc;
}
.clinic-hero__stat {
  position: absolute;
  top: 66.8125rem;
  left: 3.8125rem;
  display: flex;
  flex-direction: column;
  width: 13.0625rem;
}
.clinic-hero__stat strong {
  font-size: 3.75rem;
  font-weight: 400;
  line-height: 4.5rem;
  letter-spacing: -0.02em;
}
.clinic-hero__stat span {
  font-size: 1.25rem;
  line-height: 1.875rem;
  color: #6d6d6d;
}
@media (max-width: 1024px) {
  .clinic-hero {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    height: auto;
    padding: 5.5rem 0 0;
    overflow-x: clip;
  }
  .clinic-hero__orb--left {
    display: none;
  }
  .clinic-hero__copy {
    position: relative;
    inset: auto;
    z-index: 2;
    gap: 1rem;
    align-items: center;
    width: 100%;
    max-width: none;
    text-align: center;
  }
  .clinic-hero__title {
    font-size: clamp(2rem, 5vw, 2.75rem);
    line-height: 1.25;
  }
  .clinic-hero__lead {
    max-width: 35rem;
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .clinic-hero__mosaic {
    display: flex;
    gap: 0.5rem;
    width: 100%;
  }
  .clinic-hero__col {
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    gap: 0.5rem;
    min-width: 0;
  }
  .clinic-hero__col--right {
    padding-top: 1.5rem;
  }
  .clinic-hero__card {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 170/213;
    border-radius: 0.75rem;
  }
  .clinic-hero__card--3, .clinic-hero__card--4 {
    display: none;
  }
  .clinic-hero__card--4 {
    background: #e8e8e4;
  }
  .clinic-hero__card--4 img {
    position: static;
    width: 100%;
    height: 100%;
    border-radius: inherit;
  }
  .clinic-hero__card--2, .clinic-hero__card--5 {
    aspect-ratio: 170/212;
  }
  .clinic-hero__feature-shade {
    backdrop-filter: blur(1.5rem);
    background: rgba(21, 21, 21, 0.2);
  }
  .clinic-hero__feature-copy {
    right: 0.875rem;
    bottom: 0.75rem;
    left: 0.875rem;
  }
  .clinic-hero__feature-copy h2 {
    margin-bottom: 0.25rem;
    font-size: 1.125rem;
    line-height: 1.25rem;
  }
  .clinic-hero__feature-copy p {
    font-size: 0.6875rem;
    line-height: 0.875rem;
  }
  .clinic-hero__stat {
    display: none;
  }
}
@media (max-width: 768px) {
  .clinic-hero {
    gap: 2.5rem;
    padding: 5.5rem 0 0;
  }
  .clinic-hero__title {
    font-size: 2rem;
    line-height: 2.5rem;
  }
  .clinic-hero__lead {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .clinic-hero__mosaic {
    gap: 0.4375rem;
  }
  .clinic-hero__col {
    gap: 0.4375rem;
  }
  .clinic-hero__col--right {
    padding-top: 1.875rem;
  }
  .clinic-hero__card {
    border-radius: 0.625rem;
  }
  .clinic-hero__feature-copy {
    right: 0.875rem;
    bottom: 0.625rem;
    left: 0.875rem;
  }
  .clinic-hero__feature-copy h2 {
    margin-bottom: 0.25rem;
    font-size: 0.9375rem;
    line-height: 1.0625rem;
  }
  .clinic-hero__feature-copy p {
    font-size: 0.5rem;
    line-height: 0.6875rem;
  }
}

.clinic-gallery {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: calc(100% - 7.5rem);
  max-width: 112.5rem;
  margin-inline: auto;
}
.clinic-gallery__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
.clinic-gallery__item {
  position: relative;
  height: 50rem;
  margin: 0;
  overflow: hidden;
  border-radius: 1.25rem;
  background: #e8e8e4;
}
.clinic-gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.clinic-gallery__tag {
  position: absolute;
  top: 1.25rem;
  left: 1.25rem;
}
.clinic-gallery__tag--white {
  background: #fff;
}
.clinic-gallery__tag--gray {
  color: #fff;
  background: #6d6d6d;
}
.clinic-gallery__tag--dark {
  color: #fff;
  background: #2b2b2b;
}
@media (max-width: 1024px) {
  .clinic-gallery {
    width: 100%;
    gap: 0.625rem;
  }
  .clinic-gallery__row {
    gap: 0.625rem;
  }
  .clinic-gallery__item {
    height: auto;
    aspect-ratio: 347/220;
    border-radius: 0.875rem;
  }
  .clinic-gallery__item--wide {
    aspect-ratio: 347/220;
  }
  .clinic-gallery__tag {
    top: 0.75rem;
    left: 0.75rem;
    padding: 0.375rem 1rem;
    font-size: 0.6875rem;
  }
}
@media (max-width: 768px) {
  .clinic-gallery {
    gap: 0.375rem;
  }
  .clinic-gallery__row {
    grid-template-columns: 1fr 1fr;
    gap: 0.375rem;
  }
  .clinic-gallery__item, .clinic-gallery__item--wide {
    aspect-ratio: auto;
    height: 13.75rem;
    border-radius: 0.75rem;
  }
  .clinic-gallery__tag, .clinic-gallery__tag--white, .clinic-gallery__tag--gray, .clinic-gallery__tag--dark {
    top: 0.75rem;
    left: 0.75rem;
    padding: 0.375rem 1rem;
    font-size: 0.625rem;
    color: #2b2b2b;
    background: #f0f8b7;
  }
}

.clinic-infrastructure {
  --section-padding: 0;
  --infra-pad-y: 3rem;
  --infra-pad-x: 2.875rem;
  --infra-head-gap: 5.875rem;
  --infra-card-gap: 1.5rem;
  position: relative;
  overflow: visible;
  background-color: #f1f1f1;
}
@media (max-width: 1024px) {
  .clinic-infrastructure {
    --infra-pad-y: 1.25rem;
    --infra-pad-x: 1.5rem;
    --infra-head-gap: 1.75rem;
    --infra-card-gap: 1rem;
  }
}
@media (max-width: 768px) {
  .clinic-infrastructure {
    --infra-pad-x: 1rem;
    --infra-head-gap: 1.25rem;
    --infra-card-gap: 0.75rem;
  }
}
.clinic-infrastructure__pin {
  display: flex;
  flex-direction: column;
  height: calc(100svh - var(--header-height));
  min-height: 0;
  padding: var(--infra-pad-y) 0;
  overflow: hidden;
  background-color: #f1f1f1;
}
.clinic-infrastructure__frame {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  min-height: 0;
}
.clinic-infrastructure__inner {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 116rem;
  height: 100%;
  min-height: 0;
  margin-inline: auto;
  padding-inline: var(--infra-pad-x);
}
.clinic-infrastructure__head {
  display: flex;
  flex-shrink: 0;
  gap: 7.5rem;
  align-items: flex-start;
  margin-bottom: var(--infra-head-gap);
}
@media (max-width: 1024px) {
  .clinic-infrastructure__head {
    gap: 2rem;
  }
}
@media (max-width: 768px) {
  .clinic-infrastructure__head {
    flex-direction: column;
    gap: 0.875rem;
  }
}
.clinic-infrastructure__eyebrow {
  flex: 0 0 13.125rem;
  margin: 0;
  padding-block: 1.25rem;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  color: #91918e;
  text-transform: uppercase;
}
@media (max-width: 1024px) {
  .clinic-infrastructure__eyebrow {
    flex: 0 0 auto;
    padding-block: 0.5rem;
    font-size: 0.75rem;
  }
}
@media (max-width: 768px) {
  .clinic-infrastructure__eyebrow {
    padding-block: 0;
    font-size: 0.625rem;
  }
}
.clinic-infrastructure__title {
  margin: 0;
  max-width: 91.9375rem;
  font-family: "Inter", "Arial", sans-serif;
  font-size: clamp(2.5rem, 5.2vw, 6rem);
  font-weight: 400;
  line-height: 1;
  color: #2b2b2b;
}
@media (max-width: 1024px) {
  .clinic-infrastructure__title {
    max-width: none;
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
}
@media (max-width: 768px) {
  .clinic-infrastructure__title {
    font-size: 2rem;
    line-height: 2.5rem;
  }
}
.clinic-infrastructure__viewport {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
.clinic-infrastructure__track {
  display: flex;
  gap: var(--infra-card-gap);
  align-items: stretch;
  width: max-content;
  height: 100%;
  will-change: transform;
}
.clinic-infrastructure__slide {
  flex: 0 0 auto;
  width: min(55.4375rem, (100vw - var(--infra-pad-x) * 2 - var(--infra-card-gap)) / 2);
  height: 100%;
  min-height: 0;
}
.clinic-infrastructure__slide .contour-card {
  height: 100%;
  min-height: 0;
}
@media (max-width: 1024px) {
  .clinic-infrastructure .clinic-infrastructure__pin {
    position: relative;
    top: auto;
    height: auto;
    min-height: 0;
    overflow: visible;
    padding-bottom: var(--infra-pad-y);
  }
  .clinic-infrastructure .clinic-infrastructure__frame,
  .clinic-infrastructure .clinic-infrastructure__inner {
    flex: none;
    height: auto;
    min-height: 0;
  }
  .clinic-infrastructure .clinic-infrastructure__viewport {
    flex: none;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 1rem;
  }
  .clinic-infrastructure .clinic-infrastructure__viewport::-webkit-scrollbar {
    display: none;
  }
  .clinic-infrastructure .clinic-infrastructure__track {
    align-items: stretch;
    gap: var(--infra-card-gap);
    height: auto;
    padding-inline: 1rem;
    transform: none !important;
    will-change: auto;
  }
  .clinic-infrastructure .clinic-infrastructure__slide {
    display: flex;
    flex-direction: column;
    width: min(26.25rem, 100vw - 3.5rem);
    height: auto;
    min-height: 25rem;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
  .clinic-infrastructure .clinic-infrastructure__slide .contour-card {
    flex: 1 1 auto;
    width: 100%;
    height: auto;
    min-height: 25rem;
  }
}
@media (max-width: 768px) {
  .clinic-infrastructure .clinic-infrastructure__head {
    flex-direction: column;
    gap: 0.75rem;
    margin-bottom: 2.5rem;
  }
  .clinic-infrastructure .clinic-infrastructure__track {
    padding-inline: 0.875rem;
  }
  .clinic-infrastructure .clinic-infrastructure__viewport {
    scroll-padding-inline: 0.875rem;
  }
  .clinic-infrastructure .clinic-infrastructure__slide {
    width: 19.375rem;
    min-height: 16.75rem;
  }
  .clinic-infrastructure .clinic-infrastructure__slide .contour-card {
    --radius: 0.75rem;
    --media-radius: 0.625rem;
    --pad: 0.375rem;
    --content-pad-x: 1rem;
    --gap: 1rem;
    min-height: 16.75rem;
    padding: 0.375rem 0.375rem 1rem;
  }
  .clinic-infrastructure .clinic-infrastructure__slide .contour-card__media {
    flex: 0 0 auto;
    aspect-ratio: 298/176;
    height: auto;
  }
  .clinic-infrastructure .clinic-infrastructure__slide .contour-card__description {
    font-size: 0.75rem;
    line-height: 1.125rem;
  }
}
@media (max-width: 480px) {
  .clinic-infrastructure .clinic-infrastructure__slide {
    width: min(19.375rem, 100vw - 3.125rem);
  }
}

@media (min-width: 1025px) {
  .clinic-infrastructure.is-pin-enhanced {
    width: 100%;
  }
  .clinic-infrastructure.is-pin-enhanced .contours-travel {
    position: relative;
    width: 100%;
  }
  .clinic-infrastructure__pin {
    position: sticky;
    top: var(--header-height);
    display: block;
    height: calc(100svh - var(--header-height));
    min-height: 42.5rem;
    padding: 0;
    overflow: hidden;
  }
  .clinic-infrastructure__frame {
    position: absolute;
    top: 2.5rem;
    left: 50%;
    flex: none;
    width: 112.5rem;
    max-width: none;
    height: 62.4375rem;
    min-height: 0;
    margin-left: calc(112.5rem / -2);
    overflow: visible;
    transform-origin: 50% 0;
    will-change: transform;
  }
  .clinic-infrastructure__inner {
    position: relative;
    display: block;
    width: 112.5rem;
    max-width: none;
    height: 62.4375rem;
    min-height: 0;
    margin: 0;
    padding: 0;
  }
  .clinic-infrastructure__head {
    position: absolute;
    inset: 0 0 auto;
    z-index: 2;
    display: flex;
    gap: 7.5rem;
    align-items: flex-start;
    width: 100%;
    height: auto;
    min-height: 12rem;
    margin: 0;
    overflow: visible;
  }
  .clinic-infrastructure__eyebrow {
    flex: 0 0 13.125rem;
    padding-block: 1.25rem;
    font-size: 1rem;
  }
  .clinic-infrastructure__title {
    max-width: none;
    font-size: 6rem;
    line-height: 6rem;
    color: #2b2b2b;
  }
  .clinic-infrastructure__viewport {
    position: absolute;
    top: 17.875rem;
    left: 0;
    z-index: 1;
    flex: none;
    width: 112.5rem;
    height: 44.4375rem;
    min-height: 0;
    overflow: hidden;
  }
  .clinic-infrastructure__track {
    display: flex;
    gap: 1.5rem;
    align-items: center;
    width: max-content;
    height: 44.4375rem;
    min-height: 0;
    will-change: transform;
  }
  .clinic-infrastructure__slide {
    flex: 0 0 55.4375rem;
    width: 55.4375rem;
    height: 44.4375rem;
    min-height: 0;
  }
  .clinic-infrastructure__slide .contour-card {
    width: 55.4375rem;
    height: 44.4375rem;
    min-height: 0;
  }
}
.clinic-doctors {
  --doctors-pad-x: 2.875rem;
  --doctors-rail: min(112.5625rem, calc(100% - (var(--doctors-pad-x) * 2)));
  width: 100%;
  max-width: none;
  margin-inline: 0;
}
.clinic-doctors__head {
  display: flex;
  gap: 2.5rem;
  align-items: flex-end;
  width: var(--doctors-rail);
  max-width: 112.5625rem;
  margin-inline: auto;
  margin-bottom: 3.75rem;
}
.clinic-doctors__titles {
  flex: 1;
  min-width: 0;
}
.clinic-doctors__eyebrow {
  display: none;
  margin: 0 0 0.75rem;
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1;
  color: #91918e;
  text-transform: uppercase;
}
.clinic-doctors__head h2 {
  flex: 1;
  margin: 0;
  font-size: 6rem;
  font-weight: 400;
  line-height: 6rem;
  color: #2b2b2b;
}
.clinic-doctors__nav {
  display: flex;
  gap: 0.9375rem;
  padding-bottom: 0.0625rem;
}
.clinic-doctors__nav .icon-button {
  --box-size: 4.125rem;
  --icon-size: 1.625rem;
}
.clinic-doctors__nav .icon-button:disabled {
  cursor: default;
  opacity: 0.35;
  pointer-events: none;
}
.clinic-doctors__viewport {
  overflow: hidden;
  width: 100%;
}
.clinic-doctors__track {
  display: flex;
  gap: 1.5rem;
  padding-left: calc((100% - var(--doctors-rail)) / 2);
  will-change: transform;
}

.clinic-doctor-card {
  position: relative;
  flex: 0 0 calc((var(--doctors-rail) - 3rem) / 3);
  height: 48.125rem;
  padding: 1rem;
  overflow: hidden;
  background: #e5e1e0;
  border-radius: 1.25rem;
  cursor: pointer;
}
.clinic-doctor-card__photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
  transition: transform 0.55s ease;
}
.clinic-doctor-card__play {
  position: absolute;
  top: 17.5625rem;
  left: 50%;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 7.125rem;
  height: 7.125rem;
  padding: 0;
  color: #2b2b2b;
  background: #fff;
  border: 0;
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%, 0) scale(0.92);
  transition: opacity 0.3s ease, transform 0.3s ease, background-color 0.3s ease;
  pointer-events: none;
}
.clinic-doctor-card__play .svg {
  width: 2.25rem;
  height: 2.25rem;
  margin-left: 0.125rem;
}
.clinic-doctor-card__info {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  z-index: 2;
  display: flex;
  align-items: stretch;
  height: 19.25rem;
  overflow: hidden;
  background: #fff;
  border-radius: 0.75rem;
}
.clinic-doctor-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 1.25rem;
  align-self: stretch;
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: 100%;
  padding: 2rem 1rem 2rem 1.5rem;
  overflow: hidden;
  background: transparent;
}
.clinic-doctor-card__body h3 {
  margin: 0;
  font-size: 2.25rem;
  font-weight: 400;
  line-height: 2.75rem;
  letter-spacing: -0.02em;
  color: #2b2b2b;
}
.clinic-doctor-card__heading {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
  min-width: 0;
  min-height: 8.25rem;
}
.clinic-doctor-card__meta {
  display: block;
  flex: 0 0 1.5rem;
  width: 100%;
  min-width: 0;
  height: 1.5rem;
  overflow: hidden;
  font-size: 1rem;
  line-height: 1.5rem;
  color: #91918e;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: auto;
}
.clinic-doctor-card__meta i {
  display: inline-block;
  width: 0.1875rem;
  height: 0.1875rem;
  margin-inline: 0.5rem;
  vertical-align: middle;
  border-radius: 50%;
  background: #91918e;
}
.clinic-doctor-card__quote {
  flex: 0 0 3.75rem;
  width: 100%;
  height: 3.75rem;
  margin: 0;
  margin-top: auto;
  font-size: 1.25rem;
  font-style: italic;
  line-height: 1.875rem;
  color: #2b2b2b;
  --lines: 2;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: var(--lines);
  line-clamp: var(--lines);
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
}
.clinic-doctor-card__arrow {
  display: flex;
  flex: 0 0 4.875rem;
  align-items: center;
  align-self: stretch;
  justify-content: center;
  width: 4.875rem;
  height: 100%;
  padding: 0 0.75rem;
  color: #2b2b2b;
  background: transparent;
  border-left: 1px solid #e5e5e0;
  transition: background-color 0.3s ease;
  pointer-events: none;
}
.clinic-doctor-card__arrow .svg {
  width: 3.375rem;
  height: 3.375rem;
}
@media (hover: hover) {
  .clinic-doctor-card:hover .clinic-doctor-card__photo {
    transform: scale(1.015);
  }
  .clinic-doctor-card:hover:not(:has(.clinic-doctor-card__info:hover)) .clinic-doctor-card__play {
    opacity: 1;
    transform: translate(-50%, 0) scale(1);
  }
  .clinic-doctor-card:hover .clinic-doctor-card__info {
    background: #f8f8f8;
  }
  .clinic-doctor-card:hover .clinic-doctor-card__arrow {
    background: #f1f1f1;
  }
}

.clinic-doctor-drawer {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: block;
}
.clinic-doctor-drawer[hidden] {
  display: none;
}
.clinic-doctor-drawer__backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: rgba(109, 109, 109, 0.2);
  cursor: pointer;
}
.clinic-doctor-drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  width: min(44.4375rem, 100vw);
  height: 100%;
  padding: 3rem;
  overflow: auto;
  background: #fff;
  scrollbar-width: thin;
  scrollbar-color: #f1f1f1 transparent;
  animation: clinic-drawer-in 0.35s ease both;
}
.clinic-doctor-drawer__panel::-webkit-scrollbar {
  width: 0.375rem;
}
.clinic-doctor-drawer__panel::-webkit-scrollbar-track {
  background: transparent;
}
.clinic-doctor-drawer__panel::-webkit-scrollbar-thumb {
  background: #f1f1f1;
  border-radius: 0.625rem;
}
.clinic-doctor-drawer__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 3;
  display: flex;
  width: 1.625rem;
  height: 1.625rem;
  padding: 0;
  color: #2b2b2b;
  background: none;
  border: 0;
  cursor: pointer;
}
.clinic-doctor-drawer__close .svg {
  width: 100%;
  height: 100%;
}
.clinic-doctor-drawer__media {
  position: relative;
  flex: 0 0 auto;
  overflow: hidden;
  width: 38.4375rem;
  max-width: 100%;
  height: 48.125rem;
  background: #e5e1de;
  border-radius: 1.25rem;
}
.clinic-doctor-drawer__media.has-video {
  cursor: pointer;
}
.clinic-doctor-drawer__image, .clinic-doctor-drawer__video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
}
.clinic-doctor-drawer__image[hidden], .clinic-doctor-drawer__video[hidden] {
  display: none !important;
}
.clinic-doctor-drawer__video {
  z-index: 1;
  background: #151515;
}
.clinic-doctor-drawer__image {
  z-index: 0;
}
.clinic-doctor-drawer__play {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  display: none;
  align-items: center;
  justify-content: center;
  width: 7.125rem;
  height: 7.125rem;
  padding: 0;
  color: #2b2b2b;
  background: #fff;
  border: 0;
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.92);
  transition: opacity 0.3s ease, transform 0.3s ease, background-color 0.3s ease;
  pointer-events: none;
}
.clinic-doctor-drawer__play-icon {
  width: 2.25rem;
  height: 2.25rem;
}
.clinic-doctor-drawer__play-icon--pause {
  display: none;
}
.clinic-doctor-drawer__media.has-video .clinic-doctor-drawer__play {
  display: flex;
}
.clinic-doctor-drawer__media.has-video.is-playing .clinic-doctor-drawer__play {
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(0.92);
}
.clinic-doctor-drawer__media.is-playing .clinic-doctor-drawer__play-icon--play {
  display: none;
}
.clinic-doctor-drawer__media.is-playing .clinic-doctor-drawer__play-icon--pause {
  display: block;
}
@media (hover: none) {
  .clinic-doctor-drawer__media.has-video:not(.is-playing) .clinic-doctor-drawer__play {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
    pointer-events: auto;
  }
}
.clinic-doctor-drawer__content {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 1.25rem;
  width: 100%;
}
.clinic-doctor-drawer__content h3 {
  margin: 0;
  font-size: 2.25rem;
  font-weight: 400;
  line-height: 2.75rem;
  letter-spacing: -0.02em;
  color: #2b2b2b;
}
.clinic-doctor-drawer__heading {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
}
.clinic-doctor-drawer__meta {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  font-size: 1rem;
  line-height: 1.5rem;
  color: #91918e;
}
.clinic-doctor-drawer__meta i {
  width: 0.1875rem;
  height: 0.1875rem;
  border-radius: 50%;
  background: #91918e;
}
.clinic-doctor-drawer__quote {
  margin: 0;
  font-size: 1.25rem;
  font-style: italic;
  line-height: 1.875rem;
  color: #2b2b2b;
}
.clinic-doctor-drawer__description {
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.875rem;
  color: #6d6d6d;
  white-space: pre-line;
}
@media (hover: hover) {
  .clinic-doctor-drawer__media.has-video:not(.is-playing):hover .clinic-doctor-drawer__play {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
  .clinic-doctor-drawer__play:hover {
    background: #f1f1f1;
  }
}

@keyframes clinic-drawer-in {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}
@media (max-width: 1024px) {
  .clinic-doctors {
    --doctors-pad-x: 1rem;
  }
  .clinic-doctors__head {
    align-items: flex-end;
    margin-bottom: 2.25rem;
  }
  .clinic-doctors__eyebrow {
    display: block;
    margin-bottom: 0.75rem;
    font-size: 0.75rem;
  }
  .clinic-doctors__head h2 {
    font-size: clamp(2.25rem, 5vw, 3.5rem);
    line-height: 1.15;
  }
  .clinic-doctors__nav .icon-button {
    --box-size: 3.25rem;
    --icon-size: 1.375rem;
  }
  .clinic-doctor-card {
    flex: 0 0 min(32.5rem, 82vw);
    height: 38.75rem;
  }
  .clinic-doctor-drawer__panel {
    flex-direction: row;
    align-items: flex-start;
    width: 100%;
    gap: 1.75rem;
    padding: 2.5rem 1.5rem;
    overflow: auto;
    animation: clinic-drawer-in 0.35s ease both;
  }
  .clinic-doctor-drawer__close {
    top: 1rem;
    right: 1rem;
  }
  .clinic-doctor-drawer__media {
    flex: 0 0 min(21.25rem, 42%);
    width: min(21.25rem, 42%);
    height: auto;
    max-height: calc(100vh - 5rem);
    aspect-ratio: 615/770;
    margin: 0;
    border-radius: 1rem;
  }
  .clinic-doctor-drawer__play {
    width: 4.5rem;
    height: 4.5rem;
  }
  .clinic-doctor-drawer__media.has-video:not(.is-playing) .clinic-doctor-drawer__play {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
    pointer-events: auto;
  }
  .clinic-doctor-drawer__play-icon {
    width: 1.5rem;
    height: 1.5rem;
  }
  .clinic-doctor-drawer__play-icon--pause {
    display: none;
  }
  .clinic-doctor-drawer__content {
    flex: 1 1 0;
    gap: 1rem;
    min-width: 0;
    padding-top: 0.5rem;
  }
  .clinic-doctor-drawer__content h3 {
    font-size: 1.75rem;
    line-height: 2.25rem;
    letter-spacing: -0.02em;
  }
  .clinic-doctor-drawer__heading {
    gap: 0.375rem;
  }
  .clinic-doctor-drawer__meta {
    gap: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.375rem;
  }
  .clinic-doctor-drawer__quote, .clinic-doctor-drawer__description {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}
@media (max-width: 600px) {
  .clinic-doctor-drawer__panel {
    flex-direction: column;
    gap: 2rem;
    padding: 3rem 0.875rem;
    animation: clinic-drawer-in-mobile 0.35s ease both;
  }
  .clinic-doctor-drawer__close {
    top: 0.875rem;
    right: 0.875rem;
  }
  .clinic-doctor-drawer__media {
    flex: 0 0 auto;
    width: 100%;
    max-height: none;
    border-radius: 0.75rem;
  }
  .clinic-doctor-drawer__play {
    width: 3.5rem;
    height: 3.5rem;
  }
  .clinic-doctor-drawer__play-icon {
    width: 1.125rem;
    height: 1.125rem;
  }
  .clinic-doctor-drawer__content {
    gap: 0.75rem;
    padding-top: 0;
  }
  .clinic-doctor-drawer__content h3 {
    font-size: 1.25rem;
    line-height: 1.875rem;
    letter-spacing: 0;
  }
  .clinic-doctor-drawer__heading {
    gap: 0.25rem;
  }
  .clinic-doctor-drawer__meta {
    gap: 0.375rem;
    font-size: 0.75rem;
    line-height: 1.125rem;
  }
  .clinic-doctor-drawer__quote, .clinic-doctor-drawer__description {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}
@media (max-width: 768px) {
  .clinic-doctors {
    --doctors-pad-x: 0.875rem;
  }
  .clinic-doctors__head {
    flex-direction: column;
    gap: 0rem;
    align-items: stretch;
    margin-bottom: 2.5rem;
  }
  .clinic-doctors__eyebrow {
    font-size: 0.625rem;
  }
  .clinic-doctors__head h2 {
    font-size: 2rem;
    line-height: 2.5rem;
  }
  .clinic-doctors__nav {
    display: none;
  }
  .clinic-doctors__viewport {
    overflow: visible;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
  }
  .clinic-doctors__track {
    gap: 1rem;
    padding-left: 0.875rem;
    padding-right: 0.875rem;
    overflow-x: auto;
    transform: none !important;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 0.875rem;
    scroll-padding-right: 0.875rem;
    scrollbar-width: none;
  }
  .clinic-doctors__track::-webkit-scrollbar {
    display: none;
  }
  .clinic-doctor-card {
    flex: 0 0 19.375rem;
    width: 19.375rem;
    height: 25.5rem;
    scroll-snap-align: start;
    scroll-margin-inline: 0.875rem;
    padding: 0;
    border-radius: 0.75rem;
  }
  .clinic-doctor-card__photo {
    inset: -1px;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
  }
  .clinic-doctor-card__play {
    display: none;
  }
  .clinic-doctor-card__info {
    right: 0.5rem;
    bottom: 0.5rem;
    left: 0.5rem;
    height: 12.75rem;
    overflow: hidden;
    background: #fff;
    border-radius: 0.5rem;
  }
  .clinic-doctor-card__body {
    gap: 0.75rem;
    padding: 1.25rem 0.5rem 1.25rem 1rem;
  }
  .clinic-doctor-card__body h3 {
    font-size: 1.25rem;
    line-height: 1.875rem;
  }
  .clinic-doctor-card__heading {
    gap: 0.25rem;
    min-height: 5.625rem;
  }
  .clinic-doctor-card__meta {
    flex-basis: 1.125rem;
    height: 1.125rem;
    font-size: 0.75rem;
    line-height: 1.125rem;
  }
  .clinic-doctor-card__meta i {
    margin-inline: 0.375rem;
  }
  .clinic-doctor-card__quote {
    flex-basis: 2.5rem;
    height: 2.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .clinic-doctor-card__arrow {
    flex-basis: 2.75rem;
    width: 2.75rem;
    padding: 0 0.375rem;
    border-left-color: #e5e5e0;
  }
  .clinic-doctor-card__arrow .svg {
    width: 2rem;
    height: 2rem;
  }
}
@keyframes clinic-drawer-in-mobile {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}
.clinic-partners {
  display: grid;
  grid-template-columns: 13.125rem 1fr;
  gap: 7.5rem;
  align-items: start;
  width: calc(100% - 5.75rem);
  max-width: 112.5rem;
  min-height: 37.5rem;
  margin-inline: auto;
  padding-block: 6.25rem;
}
.clinic-partners__eyebrow {
  margin: 0;
  padding-block: 0.75rem;
  font-size: 1rem;
  line-height: 1;
  color: #91918e;
  text-transform: uppercase;
}
.clinic-partners__grid {
  display: grid;
  grid-template-columns: repeat(4, 18.75rem);
  gap: 2.5rem 2rem;
}
.clinic-partners__item {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 11.25rem;
  padding: 1.75rem;
  border-radius: 0.75rem;
  background: #fff;
  transition: transform 0.3s ease;
}
.clinic-partners__item img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}
@media (hover: hover) {
  .clinic-partners__item:hover {
    transform: translateY(-0.25rem);
  }
}
@media (max-width: 1280px) {
  .clinic-partners__grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 1024px) {
  .clinic-partners {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    align-items: stretch;
    width: 100%;
    min-height: 0;
    padding-block: 0;
  }
  .clinic-partners__eyebrow {
    padding: 0;
    font-size: 0.625rem;
    line-height: 1;
  }
  .clinic-partners__grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    width: 100%;
  }
  .clinic-partners__item {
    flex: 0 0 calc((100% - 0.375rem) / 2);
    width: calc((100% - 0.375rem) / 2);
    height: 3.25rem;
    padding: 0.75rem;
    border-radius: 0.75rem;
    box-sizing: border-box;
  }
  .clinic-partners__item img {
    max-width: 5.625rem;
    width: auto;
    height: auto;
    object-fit: contain;
  }
}

.home-section-deck {
  width: 100%;
}
.home-section-deck__panel, .home-section-deck__surface {
  width: 100%;
}

@media (min-width: 1025px) {
  .home-section-deck.is-enhanced {
    position: relative;
    height: calc(100svh - var(--header-height));
    min-height: 42.5rem;
    overflow: visible;
    clip-path: inset(calc(var(--header-height) * -1) 0 0 0);
    background-color: #f1f1f1;
    isolation: isolate;
  }
  .home-section-deck.is-enhanced .home-section-deck__panel {
    --deck-overlap-shade: 0;
    position: absolute;
    inset: 0;
    height: 100%;
    overflow: visible;
    visibility: hidden;
    background-color: #f1f1f1;
    will-change: transform, opacity;
  }
  .home-section-deck.is-enhanced .home-section-deck__surface {
    position: relative;
    isolation: isolate;
    height: 100%;
    overflow: hidden;
    background-color: #f1f1f1;
    transform: translateZ(0);
    transform-origin: 50% 50%;
    backface-visibility: hidden;
    will-change: transform, opacity;
  }
  .home-section-deck.is-enhanced .home-section-deck__panel::after {
    content: "";
    position: absolute;
    z-index: 50;
    top: calc(var(--header-height) * -1);
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(180deg, rgba(12, 14, 10, 0.28) 0%, rgba(12, 14, 10, 0.24) 34%, rgba(12, 14, 10, 0.18) 70%, rgba(12, 14, 10, 0.12) 100%);
    opacity: var(--deck-overlap-shade);
    pointer-events: none;
    will-change: opacity;
  }
  .home-section-deck.is-enhanced .home-section-deck__panel[data-home-section-key=hero]::after {
    content: none;
  }
  .home-section-deck.is-enhanced .section {
    position: relative;
    z-index: 1;
    max-height: 100%;
  }
  .home-section-deck.is-enhanced .home-hero {
    height: 100%;
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 0.75rem;
    padding-bottom: 1.6875rem;
    box-sizing: border-box;
  }
  .home-section-deck.is-enhanced .home-hero__shell {
    height: 100%;
    min-height: 0;
  }
  .home-section-deck.is-enhanced .home-approach {
    height: 100%;
  }
  .home-section-deck.is-enhanced .home-approach__pin {
    height: 100%;
  }
  .home-section-deck.is-enhanced .home-approach__track {
    will-change: transform;
  }
}
@media (prefers-reduced-motion: reduce) {
  .home-section-deck,
  .home-section-deck__panel,
  .home-section-deck__surface {
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}
@media (min-width: 1025px) {
  .home-section-deck.is-enhanced .home-approach__pin {
    position: relative;
    display: block;
    height: 100%;
    min-height: 0;
    padding: 0;
    overflow: hidden;
  }
  .home-section-deck.is-enhanced .home-approach__frame {
    position: absolute;
    top: 2.5rem;
    left: 50%;
    flex: none;
    width: 112.5rem;
    max-width: none;
    height: 62.4375rem;
    min-height: 0;
    margin-left: calc(112.5rem / -2);
    overflow: visible;
    transform-origin: 50% 0;
    will-change: transform;
  }
  .home-section-deck.is-enhanced .home-approach__inner {
    position: relative;
    display: block;
    width: 112.5rem;
    max-width: none;
    height: 62.4375rem;
    min-height: 0;
    margin: 0;
    padding: 0;
  }
  .home-section-deck.is-enhanced .home-approach__head {
    position: absolute;
    inset: 0 0 auto;
    z-index: 2;
    display: block;
    width: 100%;
    height: auto;
    min-height: 12rem;
    margin: 0;
    overflow: visible;
  }
  .home-section-deck.is-enhanced .home-approach__title {
    position: absolute;
    top: 0;
    left: 0;
    width: 36.4375rem;
    max-width: 36.4375rem;
    margin: 0;
    font-size: 6rem;
    line-height: 6rem;
  }
  .home-section-deck.is-enhanced .home-approach__text {
    position: absolute;
    top: 1.6875rem;
    right: 0;
    width: 36.5rem;
    max-width: 36.5rem;
    margin: 0;
    padding: 0;
    font-size: 1.25rem;
    line-height: 1.875rem;
  }
  .home-section-deck.is-enhanced .home-approach__viewport {
    position: absolute;
    top: 17.875rem;
    left: 0;
    z-index: 1;
    width: 112.5rem;
    height: 44.4375rem;
    min-height: 0;
    overflow: hidden;
  }
  .home-section-deck.is-enhanced .home-approach__track {
    display: flex;
    gap: 1.5rem;
    align-items: center;
    width: max-content;
    height: 44.4375rem;
    min-height: 0;
    will-change: transform;
  }
  .home-section-deck.is-enhanced .home-approach__slide {
    flex: 0 0 55.4375rem;
    width: 55.4375rem;
    height: 44.4375rem;
    min-height: 0;
  }
  .home-section-deck.is-enhanced .home-approach .approach-card {
    --radius: 1.25rem;
    --media-radius: 0.75rem;
    --pad: 0.75rem;
    --value-size: 18.75rem;
    --value-line: 20rem;
    --suffix-size: 3.5rem;
    --desc-size: 1.25rem;
    --desc-line: 1.875rem;
    --aside-width: 17.5rem;
    --aside-min-height: 17.875rem;
    --aside-pad-bottom: 1.625rem;
    width: 55.4375rem;
    height: 44.4375rem;
    min-height: 0;
  }
  .home-section-deck.is-enhanced .home-approach .approach-card__media {
    top: 0.75rem;
    right: 0.75rem;
    left: 0.75rem;
    height: 42.625rem;
  }
  .home-section-deck.is-enhanced .home-approach .approach-card__content {
    position: absolute;
    top: 24.4375rem;
    right: 0.75rem;
    bottom: auto;
    left: 0.75rem;
    width: auto;
    padding: 0;
  }
  .home-section-deck.is-enhanced .home-approach .approach-card__value-row {
    gap: 1.5625rem;
    align-items: center;
    height: 20rem;
  }
  .home-section-deck.is-enhanced .home-approach .approach-card__value {
    line-height: 20rem;
  }
  .home-section-deck.is-enhanced .home-approach .approach-card__aside {
    flex: 0 0 17.5rem;
    width: 17.5rem;
    max-width: 17.5rem;
    min-height: 17.875rem;
    padding-bottom: 1.625rem;
  }
}
@media (min-width: 1025px) {
  .home-section-deck.is-enhanced .home-program {
    --section-padding: 0;
    position: relative;
    height: 100%;
    max-height: none;
    padding: 0;
    overflow: hidden;
    background-color: #f1f1f1;
  }
  .home-section-deck.is-enhanced .home-program__inner {
    position: absolute;
    top: 0;
    left: 50%;
    width: 112.5625rem;
    max-width: none;
    height: auto;
    min-height: 70.4375rem;
    margin: 0 0 0 calc(112.5625rem / -2);
    padding: 0;
    transform-origin: 50% 0;
    will-change: transform;
  }
  .home-section-deck.is-enhanced .home-program__head {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    display: flex;
    gap: 6.25rem;
    align-items: flex-start;
    width: 70.5rem;
    height: auto;
    min-height: 12rem;
    margin: 0;
    overflow: visible;
  }
  .home-section-deck.is-enhanced .home-program__label {
    flex: 0 0 13rem;
    width: 13rem;
    margin: 0;
    padding-block: 1.25rem;
    font-size: 1rem;
    line-height: normal;
  }
  .home-section-deck.is-enhanced .home-program__title {
    flex: 0 0 51.25rem;
    width: 51.25rem;
    max-width: 51.25rem;
    margin: 0;
    font-size: 6rem;
    line-height: 6rem;
  }
  .home-section-deck.is-enhanced .home-program__stage {
    position: absolute;
    top: 15.9375rem;
    left: 0;
    z-index: 1;
    width: 112.5rem;
    height: auto;
    min-height: 54.4375rem;
    overflow: hidden;
    border-radius: 1.25rem;
  }
  .home-section-deck.is-enhanced .home-program__media {
    position: absolute;
    inset: 0;
    overflow: hidden;
    border-radius: inherit;
  }
  .home-section-deck.is-enhanced .home-program__image {
    position: absolute;
    top: -18.81%;
    left: -0.8%;
    width: 101.6%;
    height: 139.94%;
    max-width: none;
    object-fit: cover;
  }
  .home-section-deck.is-enhanced .home-program__shade {
    background-color: rgba(0, 0, 0, 0.1);
  }
  .home-section-deck.is-enhanced .home-program__list {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: 108.5rem;
    height: auto;
    min-height: 43.8125rem;
    margin: 5.3125rem 0 5.3125rem 2.0625rem;
    padding: 0;
  }
  .home-section-deck.is-enhanced .home-program .entry-item {
    --title-size: 5rem;
    --title-line: 6rem;
    --radius: 1.5rem;
    --pad-y: 2.5rem;
    --pad-x: 2rem;
    flex: 0 0 auto;
    gap: 1.5rem;
    align-items: center;
    min-height: 11rem;
    height: auto;
    margin-bottom: -0.0625rem;
  }
  .home-section-deck.is-enhanced .home-program .entry-item:last-child {
    margin-bottom: 0;
  }
  .home-section-deck.is-enhanced .home-program .entry-item__index {
    flex: 0 0 2rem;
    width: 2rem;
    margin-right: 17.125rem;
  }
  .home-section-deck.is-enhanced .home-program .entry-item__main {
    flex: 1 1 auto;
    flex-wrap: nowrap;
    gap: 1.5rem;
    align-items: center;
    width: auto;
    min-width: 0;
    max-width: 87.5rem;
  }
  .home-section-deck.is-enhanced .home-program .entry-item__heading {
    flex: 1 1 auto;
    min-width: 0;
  }
  .home-section-deck.is-enhanced .home-program .entry-item__title {
    flex: 1 1 auto;
    width: auto;
    max-width: 36.5rem;
    min-width: 0;
    font-size: 5rem;
    line-height: 6rem;
    white-space: normal;
  }
  .home-section-deck.is-enhanced .home-program .entry-item__description {
    flex: 0 0 27rem;
    flex-shrink: 0;
    width: 27rem;
    max-width: 27rem;
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
  .home-section-deck.is-enhanced .home-program .entry-item__action {
    margin-left: auto;
  }
  .home-section-deck.is-enhanced .home-program .entry-item__button {
    min-width: 10.0625rem;
    height: 3.5rem;
  }
}
.home-free-flow {
  display: flex;
  flex-direction: column;
  gap: 9.375rem;
  background-color: #f1f1f1;
}

body:has(.home-free-flow) .footer {
  margin-top: 9.375rem;
}

@media (max-width: 1024px) {
  .home-free-flow {
    gap: 3.75rem;
    margin-top: 3.75rem;
    padding-inline: 0.875rem;
  }
  body:has(.home-free-flow) .footer {
    margin-top: 0;
  }
  .home-section-deck {
    display: flex;
    flex-direction: column;
    gap: 3.75rem;
    padding-inline: 0.875rem;
    overflow-x: clip;
  }
  .home-hero {
    --home-hero-pad-x: 0px;
    --home-hero-height: 37.5rem;
  }
  .home-program__inner {
    padding-inline: 0;
  }
  .home-position__inner,
  .home-next__inner {
    width: 100%;
    padding-inline: 0;
  }
  .home-interview__inner {
    width: 100%;
  }
  .home-next {
    --section-padding: 0 0 2.5rem;
  }
  .home-next .next-cta {
    --radius: 0.75rem;
    --min-height: 26.75rem;
    --title-size: 1.75rem;
    --title-line: 2rem;
    align-items: flex-start;
    justify-content: center;
  }
  .home-next .next-cta .next-cta__media::after {
    display: none;
  }
  .home-next .next-cta .next-cta__image {
    transform: none;
    object-position: center bottom;
  }
  .home-next .next-cta .next-cta__content {
    gap: 2rem;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    margin-inline: auto;
    padding: 2.5625rem 1.5rem 1.5rem;
    text-align: center;
  }
  .home-next .next-cta .next-cta__texts {
    gap: 1rem;
    align-items: center;
  }
  .home-next .next-cta .next-cta__eyebrow {
    width: auto;
    font-size: 0.625rem;
    color: #91918e;
  }
  .home-next .next-cta .next-cta__actions {
    width: 100%;
    max-width: 21.25rem;
    flex-direction: column;
    gap: 1rem;
    align-items: center;
  }
  .home-next .next-cta .next-cta__actions .button {
    width: 100%;
    min-height: 2.5rem;
    --height: 2.5rem;
    --pad-t: 0.75rem;
    --pad-b: 0.75rem;
    --pad-r: 1.25rem;
    --pad-l: 1.25rem;
    --font-size: 0.875rem;
    --line-height: 1;
  }
}
@media (max-width: 425px) {
  .home-next .next-cta .next-cta__actions .button {
    width: auto;
  }
}
@media (min-width: 1025px) {
  .home-free-flow {
    overflow-x: clip;
  }
  .default-layout:has(.home-section-deck.is-enhanced) .header {
    z-index: 100;
    isolation: isolate;
    background-color: #f1f1f1;
  }
  .default-layout:has(.home-section-deck.is-enhanced) .header__bar {
    position: relative;
    z-index: 1;
  }
  .default-layout:has(.home-section-deck.is-enhanced) .header--scrolled .header__bar {
    background-color: #f7f7f7;
    backdrop-filter: none;
  }
}
.policy-page {
  display: flex;
  flex-direction: column;
  gap: 7.5rem;
}
@media (max-width: 1280px) {
  .policy-page {
    gap: 5rem;
  }
}
@media (max-width: 1024px) {
  .policy-page {
    gap: 3rem;
  }
}
@media (max-width: 768px) {
  .policy-page {
    gap: 3.75rem;
    padding-inline: 0.875rem;
    padding-bottom: 3.75rem;
  }
  .policy-page .page-banner {
    --page-banner-pad-x: 0;
    --page-banner-height: 17.5rem;
    --page-banner-radius: 1rem;
    --page-banner-title-size: 1.75rem;
    --page-banner-title-lh: 2rem;
  }
  .policy-page .page-banner .page-banner__title {
    padding-inline: 1.5rem;
  }
  .policy-page .text-page {
    --text-page-gap: 3.75rem;
    --text-page-title-gap: 1.5rem;
    --text-page-list-gap: 1.5rem;
    --text-page-pad-y: 0;
    --text-page-max: 100%;
  }
  .policy-page .text-page .text-page__inner {
    padding-inline: 0;
  }
  .policy-page .text-page .text-page__content h2 {
    font-size: 2rem;
    line-height: 2.5rem;
  }
  .policy-page .text-page .text-page__content p,
  .policy-page .text-page .text-page__content li {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .policy-page .text-page .text-page__content ul {
    margin-top: 0.625rem;
  }
  .policy-page .text-page .text-page__content ul li {
    padding-left: 1.3125rem;
  }
  .policy-page .text-page .text-page__content ul li::before {
    left: 0.375rem;
    width: 0.25rem;
    height: 0.25rem;
  }
  .policy-page .text-page .text-page__numbered > li > h2 {
    font-size: 2rem;
    line-height: 2.5rem;
  }
  .policy-page .text-page .text-page__numbered > li > ol > li {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}
.policy-page .text-page {
  --text-page-pad-y: 0 0 9.375rem;
}
@media (max-width: 1280px) {
  .policy-page .text-page {
    --text-page-pad-y: 0 0 6.25rem;
  }
}
@media (max-width: 1024px) {
  .policy-page .text-page {
    --text-page-pad-y: 0 0 4rem;
  }
}
@media (max-width: 768px) {
  .policy-page .text-page {
    --text-page-pad-y: 0;
  }
}

.legal-page {
  display: flex;
  flex-direction: column;
  gap: 7.5rem;
  width: 100%;
  max-width: 100%;
  padding-bottom: 9.375rem;
  overflow-x: clip;
}
.legal-page__section {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.legal-page__container {
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
  width: 100%;
  max-width: min(80.8125rem, 100%);
  margin-inline: auto;
  padding-inline: 1rem;
  min-width: 0;
}
.legal-page__heading {
  margin: 0;
  font-size: 3.5rem;
  font-weight: 400;
  line-height: 4rem;
  color: var(--black);
}
.legal-page__requisites {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 0;
}
.legal-page__row {
  display: flex;
  gap: 12.5rem;
  align-items: flex-start;
  padding: 0 1rem 1rem;
  border-bottom: 1px solid #e5e5e0;
}
.legal-page__label {
  flex: 0 0 18.4375rem;
  width: 18.4375rem;
  padding-top: 0.375rem;
  margin: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.2;
  color: #8e8e93;
  text-transform: uppercase;
}
.legal-page__value {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75rem;
  color: #1c1c1e;
}
.legal-page__value a {
  --color: inherit;
  color: inherit;
}
.legal-page__docs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.legal-page__faq {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
@media (max-width: 1280px) {
  .legal-page {
    gap: 5rem;
    padding-bottom: 6.25rem;
  }
  .legal-page__container {
    gap: 2.5rem;
    padding-inline: 1.5rem;
  }
  .legal-page__heading {
    font-size: 2.625rem;
    line-height: 3.125rem;
  }
  .legal-page__row {
    gap: 4rem;
  }
  .legal-page__label {
    flex-basis: 12.5rem;
    width: 12.5rem;
    font-size: 0.875rem;
  }
}
@media (max-width: 1024px) {
  .legal-page {
    gap: 2.5rem;
    padding-bottom: 3.5rem;
  }
  .legal-page__container {
    gap: 1.5rem;
    max-width: none;
    padding-inline: 1rem;
  }
  .legal-page__heading {
    font-size: 1.75rem;
    line-height: 2.125rem;
  }
  .legal-page__requisites {
    gap: 0.75rem;
  }
  .legal-page__row {
    flex-direction: column;
    gap: 0.375rem;
    padding: 0 0 0.75rem;
  }
  .legal-page__label {
    flex-basis: auto;
    width: auto;
    padding-top: 0;
    font-size: 0.75rem;
    letter-spacing: 0.02em;
  }
  .legal-page__value {
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .legal-page__docs {
    grid-template-columns: 1fr;
    gap: 0.625rem;
  }
}
@media (max-width: 768px) {
  .legal-page {
    gap: 3.75rem;
    padding-inline: 0.875rem;
    padding-bottom: 3.75rem;
  }
  .legal-page .page-banner {
    --page-banner-pad-x: 0;
    --page-banner-height: 17.5rem;
    --page-banner-radius: 1rem;
    --page-banner-title-size: 1.75rem;
    --page-banner-title-lh: 2rem;
  }
  .legal-page .page-banner .page-banner__title {
    padding-inline: 3rem;
  }
  .legal-page .start-cta {
    --start-cta-pad-x: 0;
    --start-cta-radius: 0.75rem;
  }
  .legal-page .start-cta .start-cta__shell {
    min-height: 26.75rem;
  }
  .legal-page .start-cta .start-cta__content {
    gap: 2rem;
    max-width: 18.6875rem;
    padding: 3rem 1.5rem;
  }
  .legal-page .start-cta .start-cta__texts {
    gap: 1rem;
  }
  .legal-page .start-cta .start-cta__title {
    font-size: 1.75rem;
    line-height: 2rem;
    letter-spacing: 0;
  }
  .legal-page .start-cta .start-cta__description {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .legal-page .start-cta .start-cta__actions {
    max-width: none;
  }
  .legal-page .start-cta .start-cta__button {
    --height: 2.5rem;
    --pad-t: 0.75rem;
    --pad-b: 0.75rem;
    --pad-r: 1.25rem;
    --pad-l: 1.25rem;
    --font-size: 0.875rem;
    --line-height: 1;
    width: auto;
    min-height: 2.5rem;
  }
  .legal-page .location-contacts {
    --location-pad-x: 0;
    --location-radius: 0.5rem;
    --location-gap: 1rem;
  }
  .legal-page .location-contacts .location-contacts__card {
    gap: 0.75rem;
    min-height: 20.4375rem;
    padding: 1.125rem;
  }
  .legal-page .location-contacts .location-contacts__eyebrow {
    font-size: 0.625rem;
  }
  .legal-page .location-contacts .location-contacts__body {
    gap: 1.125rem;
  }
  .legal-page .location-contacts .location-contacts__main {
    gap: 1.125rem;
  }
  .legal-page .location-contacts .location-contacts__city {
    font-size: 2.25rem;
    line-height: 2.75rem;
    letter-spacing: -0.045rem;
  }
  .legal-page .location-contacts .location-contacts__links {
    gap: 0.375rem;
  }
  .legal-page .location-contacts .location-contacts__phone,
  .legal-page .location-contacts .location-contacts__email {
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .legal-page .location-contacts .location-contacts__note-line {
    font-size: 0.75rem;
    line-height: 1.125rem;
  }
  .legal-page .location-contacts .location-contacts__media {
    aspect-ratio: 347/327;
  }
  .legal-page__container {
    gap: 1.5rem;
    padding-inline: 0;
  }
  .legal-page__heading {
    font-size: 2rem;
    line-height: 2.5rem;
  }
  .legal-page__requisites {
    gap: 0;
  }
  .legal-page__row {
    gap: 0.375rem;
    padding: 0.875rem 0;
  }
  .legal-page__label {
    font-size: 0.625rem;
    line-height: normal;
    color: var(--gray-200);
    letter-spacing: 0;
  }
  .legal-page__value {
    font-size: 0.875rem;
    line-height: 1.25rem;
    color: var(--black);
  }
  .legal-page__docs {
    gap: 0.75rem;
  }
  .legal-page .accordion--faq {
    padding: 1rem 0;
  }
  .legal-page .accordion--faq .accordion__header {
    gap: 0.75rem;
  }
  .legal-page .accordion--faq .faq-item__title {
    font-size: 1.5rem;
    line-height: 2rem;
    letter-spacing: 0;
  }
  .legal-page .accordion--faq .faq-item__icon {
    width: 1.5rem;
    height: 1.5rem;
    margin-top: 0.25rem;
  }
  .legal-page .accordion--faq .faq-item__plus {
    width: 1.5rem;
    height: 1.5rem;
  }
  .legal-page .accordion--faq .faq-item__answer {
    padding-top: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .legal-page .document-card {
    gap: 1rem;
    align-items: center;
    padding: 0.75rem;
    border-radius: 0.5rem;
  }
  .legal-page .document-card .document-card__icon {
    width: 3rem;
    height: 3rem;
    border-radius: 1.5rem;
  }
  .legal-page .document-card .document-card__file {
    width: 1.25rem;
    height: 1.25rem;
  }
  .legal-page .document-card .document-card__title {
    max-height: 3.75rem;
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .legal-page .document-card .document-card__meta {
    font-size: 0.75rem;
    line-height: 1.125rem;
  }
  .legal-page .document-card .document-card__arrow {
    width: 1rem;
    padding-top: 0;
  }
  .legal-page .document-card .document-card__arrow-icon {
    width: 1rem;
    height: 1rem;
  }
}

.booking-page {
  display: flex;
  flex-direction: column;
  gap: 9.375rem;
  width: 100%;
  max-width: 100%;
  padding-bottom: 9.375rem;
  overflow-x: clip;
}
@media (max-width: 1280px) {
  .booking-page {
    gap: 5rem;
    padding-inline: 0.5rem;
    padding-bottom: 5rem;
  }
  .booking-page .start-cta {
    --start-cta-pad-x: 1.5rem;
  }
  .booking-page .booking-rules {
    --booking-rules-pad-x: 1.5rem;
  }
  .booking-page .location-contacts {
    --location-pad-x: 1.5rem;
  }
}
@media (max-width: 1024px) {
  .booking-page {
    gap: 4rem;
    padding-inline: 1rem;
    padding-bottom: 4rem;
  }
  .booking-page .start-cta {
    --start-cta-pad-x: 0;
  }
  .booking-page .booking-rules {
    --booking-rules-pad-x: 0;
  }
  .booking-page .location-contacts {
    --location-pad-x: 0;
  }
}
@media (max-width: 768px) {
  .booking-page {
    gap: 3.75rem;
    padding-inline: 0.875rem;
    padding-bottom: 3.75rem;
  }
}

.programs-page {
  display: flex;
  flex-direction: column;
  gap: 9.375rem;
  width: 100%;
  max-width: 100%;
  padding-bottom: 9.375rem;
}
@media (max-width: 1280px) {
  .programs-page {
    gap: 5rem;
    padding-inline: 0.5rem;
    padding-bottom: 5rem;
  }
  .programs-page .start-cta {
    --start-cta-pad-x: 1.5rem;
  }
  .programs-page .location-contacts {
    --location-pad-x: 1.5rem;
  }
}
@media (max-width: 1024px) {
  .programs-page {
    gap: 4rem;
    padding-inline: 1rem;
    padding-bottom: 4rem;
    overflow-x: clip;
  }
  .programs-page .start-cta {
    --start-cta-pad-x: 0;
  }
  .programs-page .location-contacts {
    --location-pad-x: 0;
  }
  .programs-page .programs-hero {
    --programs-hero-pad-x: 0;
  }
  .programs-page .programs-contours {
    --contours-pad-x: 0;
  }
  .programs-page .programs-requests {
    --requests-pad-x: 0;
  }
}
@media (max-width: 768px) {
  .programs-page {
    gap: 3.75rem;
    padding-inline: 0.875rem;
    padding-bottom: 3.75rem;
  }
}

.principles-page {
  display: flex;
  flex-direction: column;
  gap: 9.375rem;
  width: 100%;
  max-width: 100%;
  padding-bottom: 9.375rem;
}
@media (max-width: 1280px) {
  .principles-page {
    gap: 6.25rem;
    padding-bottom: 6.25rem;
  }
}
@media (max-width: 1024px) {
  .principles-page {
    gap: 4rem;
    padding-inline: 1rem;
    padding-bottom: 4rem;
    overflow-x: clip;
  }
  .principles-page .principles-hero {
    --principles-hero-pad-x: 0;
  }
  .principles-page .principles-goals {
    --goals-pad-x: 0;
  }
  .principles-page .principles-position {
    --position-pad-x: 0;
  }
  .principles-page .principles-science {
    --science-pad-x: 0;
  }
  .principles-page .principles-manifesto {
    --manifesto-pad-x: 0;
  }
  .principles-page .principles-page__next {
    padding-inline: 0;
  }
}
@media (max-width: 768px) {
  .principles-page {
    gap: 3.75rem;
    padding-inline: 0.875rem;
    padding-bottom: 3.75rem;
  }
  .principles-page .next-cta {
    --radius: 0.75rem;
    --min-height: 26.75rem;
    --title-size: 1.75rem;
    --title-line: 2rem;
    align-items: flex-start;
    justify-content: center;
  }
  .principles-page .next-cta .next-cta__media::after {
    display: none;
  }
  .principles-page .next-cta .next-cta__image {
    transform: none;
    object-position: center bottom;
  }
  .principles-page .next-cta .next-cta__content {
    gap: 2rem;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    margin-inline: auto;
    padding: 2.5625rem 1.5rem 1.5rem;
    text-align: center;
  }
  .principles-page .next-cta .next-cta__texts {
    gap: 1rem;
    align-items: center;
  }
  .principles-page .next-cta .next-cta__eyebrow {
    width: auto;
    font-size: 0.625rem;
    color: #91918e;
  }
  .principles-page .next-cta .next-cta__actions {
    width: 100%;
    max-width: 21.25rem;
    flex-direction: column;
    gap: 1rem;
    align-items: center;
  }
  .principles-page .next-cta .next-cta__actions .button {
    width: 100%;
    min-height: 2.5rem;
    --height: 2.5rem;
    --pad-t: 0.75rem;
    --pad-b: 0.75rem;
    --pad-r: 1.25rem;
    --pad-l: 1.25rem;
    --font-size: 0.875rem;
    --line-height: 1;
  }
}
@media (max-width: 425px) {
  .principles-page .next-cta .next-cta__actions .button {
    width: auto;
  }
}
.principles-page__next {
  width: 100%;
  max-width: 100%;
  padding-inline: 2.0625rem;
}
@media (max-width: 1024px) {
  .principles-page__next {
    padding-inline: 1rem;
  }
}
@media (max-width: 768px) {
  .principles-page__next {
    padding-inline: 0;
  }
}

.ui-kit-layout {
  min-height: 100vh;
  background-color: var(--gray-500);
  color: var(--black);
}

.ui-kit {
  --section-gap: 4rem;
  padding: 3rem 0 5rem;
}
@media (max-width: 768px) {
  .ui-kit {
    --section-gap: 2.5rem;
    padding: 2rem 0 3.5rem;
  }
}
.ui-kit__container {
  width: min(100% - 3rem, 100rem);
  margin-inline: auto;
}
@media (max-width: 768px) {
  .ui-kit__container {
    width: min(100% - 1.75rem, 100rem);
  }
}
.ui-kit__header {
  margin-bottom: 3rem;
}
@media (max-width: 768px) {
  .ui-kit__header {
    margin-bottom: 2rem;
  }
}
.ui-kit__title {
  margin: 0 0 0.5rem;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1.2;
}
@media (max-width: 768px) {
  .ui-kit__title {
    font-size: 1.75rem;
  }
}
.ui-kit__subtitle {
  margin: 0;
  font-size: 1rem;
  line-height: 1.4;
  color: var(--gray-200);
}
.ui-kit__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  margin-top: 1.5rem;
}
.ui-kit__nav-link {
  font-size: 0.875rem;
  color: var(--black);
  text-decoration: none;
  text-transform: uppercase;
  border-bottom: 0.0625rem solid transparent;
  transition: border-color 0.3s ease-out;
}
@media (hover: hover) {
  .ui-kit__nav-link:hover {
    border-bottom-color: var(--black);
  }
}
.ui-kit__section {
  margin-top: var(--section-gap);
  padding: 2rem;
  background-color: var(--white);
  border-radius: 1.25rem;
}
@media (max-width: 768px) {
  .ui-kit__section {
    padding: 1.25rem 1rem;
    border-radius: 1rem;
  }
}
.ui-kit__section--dark {
  background-color: #8a8a8a;
}
.ui-kit__section--muted {
  background-color: var(--gray-400);
}
.ui-kit__section-title {
  margin: 0 0 1.5rem;
  font-family: "Inter", "Arial", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.2;
}
@media (max-width: 768px) {
  .ui-kit__section-title {
    margin-bottom: 1rem;
    font-size: 1.25rem;
  }
}
.ui-kit__row {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 2rem;
  align-items: center;
}
.ui-kit__row--stack {
  flex-direction: column;
  align-items: flex-start;
}
.ui-kit__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}
@media (max-width: 1024px) {
  .ui-kit__grid {
    grid-template-columns: 1fr;
  }
}
.ui-kit__label {
  margin: 0 0 0.5rem;
  font-size: 0.75rem;
  color: var(--gray-200);
  text-transform: uppercase;
}
.ui-kit__group {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.ui-kit__swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.ui-kit__swatch {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 7.5rem;
}
.ui-kit__swatch-color {
  height: 4rem;
  border: 0.0625rem solid rgba(0, 0, 0, 0.08);
  border-radius: 0.75rem;
}
.ui-kit__swatch-name {
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.3;
  word-break: break-word;
}
.ui-kit__entries {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.ui-kit__videos {
  display: grid;
  grid-template-columns: 26.75rem minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
}
@media (max-width: 1024px) {
  .ui-kit__videos {
    grid-template-columns: 1fr;
  }
}
.ui-kit__videos-col {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.ui-kit__video-live {
  margin-inline: auto;
}

.clinic-page {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 9.375rem;
  width: 100%;
  max-width: 100%;
  padding-bottom: 9.375rem;
}
@media (max-width: 1024px) {
  .clinic-page {
    overflow-x: clip;
  }
}
.clinic-page__orb-right {
  position: absolute;
  top: calc(50.0625rem - var(--header-height));
  right: 0;
  z-index: 0;
  width: 18.4375rem;
  height: 59.125rem;
  pointer-events: none;
}
.clinic-page__orb-right img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: left center;
}
.clinic-page__orb-left-mobile {
  display: none;
}
.clinic-page__orb-right-mobile {
  display: none;
}
.clinic-page > :not(.clinic-page__orb-right):not(.clinic-page__orb-left-mobile):not(.clinic-page__orb-right-mobile) {
  z-index: 1;
}
.clinic-page__next {
  width: calc(100% - 5.75rem);
  max-width: 114.1875rem;
  margin-inline: auto;
}
.clinic-page .next-cta__title {
  white-space: pre-line;
}
@media (max-width: 1280px) {
  .clinic-page {
    gap: 6.25rem;
    padding-bottom: 6.25rem;
  }
}
@media (max-width: 1024px) {
  .clinic-page {
    gap: 4rem;
    padding-inline: 1rem;
    padding-bottom: 4rem;
    overflow-x: clip;
  }
  .clinic-page__orb-right {
    display: none;
  }
  .clinic-page__orb-left-mobile, .clinic-page__orb-right-mobile {
    position: absolute;
    z-index: 0;
    display: block;
    overflow: hidden;
    pointer-events: none;
  }
  .clinic-page__orb-left-mobile {
    top: -4rem;
    left: 0;
    width: 4.6875rem;
    height: 10.625rem;
  }
  .clinic-page__orb-left-mobile img {
    position: absolute;
    top: -7.5rem;
    left: -11.75rem;
    display: block;
    width: 19.6875rem;
    height: 19.6875rem;
    max-width: none;
    object-fit: cover;
    opacity: 0.2;
    transform: rotate(150deg);
  }
  .clinic-page__orb-right-mobile {
    top: 37.3125rem;
    right: 0;
    width: 5.6875rem;
    height: 17.625rem;
  }
  .clinic-page__orb-right-mobile img {
    position: absolute;
    top: -3.9375rem;
    left: -2.375rem;
    display: block;
    width: 26.4375rem;
    height: 26.4375rem;
    max-width: none;
    object-fit: cover;
    opacity: 0.1;
  }
  .clinic-page__next {
    width: 100%;
  }
  .clinic-page .clinic-infrastructure {
    --infra-pad-x: 0;
  }
  .clinic-page .clinic-doctors {
    --doctors-pad-x: 0;
  }
  .clinic-page .next-cta {
    --radius: 0.75rem;
    --min-height: 26.75rem;
    --title-size: 1.75rem;
    --title-line: 2rem;
    align-items: flex-start;
    justify-content: center;
  }
  .clinic-page .next-cta .next-cta__media::after {
    display: none;
  }
  .clinic-page .next-cta .next-cta__image {
    transform: none;
    object-position: center bottom;
  }
  .clinic-page .next-cta .next-cta__content {
    gap: 2rem;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    margin-inline: auto;
    padding: 2.5625rem 1.5rem 1.5rem;
    text-align: center;
  }
  .clinic-page .next-cta .next-cta__texts {
    gap: 1rem;
    align-items: center;
  }
  .clinic-page .next-cta .next-cta__eyebrow {
    width: auto;
    font-size: 0.625rem;
    color: #91918e;
  }
  .clinic-page .next-cta .next-cta__actions {
    width: 100%;
    max-width: 21.25rem;
    flex-direction: column;
    gap: 1rem;
    align-items: center;
  }
  .clinic-page .next-cta .next-cta__actions .button {
    width: 100%;
    min-height: 2.5rem;
    --height: 2.5rem;
    --pad-t: 0.75rem;
    --pad-b: 0.75rem;
    --pad-r: 1.25rem;
    --pad-l: 1.25rem;
    --font-size: 0.875rem;
    --line-height: 1;
  }
}
@media (max-width: 768px) {
  .clinic-page {
    gap: 3.75rem;
    padding-inline: 0.875rem;
    padding-bottom: 3.75rem;
  }
  .clinic-page .next-cta {
    --title-size: 2rem;
    --title-line: 2.5rem;
  }
}
@media (max-width: 425px) {
  .clinic-page .next-cta .next-cta__actions .button {
    width: auto;
  }
}