@font-face {
  font-family: "Onest";
  src: url("/fonts/onest/Onest-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Onest";
  src: url("/fonts/onest/Onest-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Onest";
  src: url("/fonts/onest/Onest-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Onest";
  src: url("/fonts/onest/Onest-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Onest";
  src: url("/fonts/onest/Onest-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Geist Mono";
  src: url("/fonts/geist-mono/GeistMono-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
html {
  font-family: var(--ff-base);
  font-size: var(--fs-base);
  font-feature-settings: "lnum";
  line-height: var(--lh-text);
  letter-spacing: var(--lsp-base);
  font-weight: var(--fw-light);
  color: var(--color-text);
}

h1,
h2,
h3,
h4,
h5,
h6,
.section__title {
  font-weight: var(--fw-base);
  line-height: var(--lh-title);
}

button,
input,
textarea,
select,
option {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  font-feature-settings: "lnum";
}

a {
  font-size: inherit;
  text-decoration: none;
  color: inherit;
}

.reset-lh {
  line-height: 1;
  --button-lh: 1;
}

.text-bold {
  font-weight: var(--fw-base);
}

.fw-medium {
  font-weight: var(--fw-medium);
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: none;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: none; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

:root {
  --site-header-height: 56px;
  --site-scroll-width: 0;
  --site-container-width: calc(1240px + var(--site-container-padding) * 2);
  --site-container-padding: 15px;
  --site-container-big-padding: 48px;
  --site-header-padding-x: 15px;
  --site-header-padding-y: 16px;
  --section-gap: 64px;
  --section-gap-one: 80px;
  --secction-gap: var(--section-gap);
  --secction-gap-one: var(--section-gap-one);
  --grid-content-width: 1224px;
  --grid-columns: 12;
  --grid-gutter: 12px;
  --grid-columns-mobile: 4;
  --grid-gutter-mobile: 8px;
  --grid-margin-mobile: 16px;
  --ff-base: "Onest", Arial, sans-serif;
  --ff-mono: "Geist Mono", ui-monospace, monospace;
  --white: #ffffff;
  --white-rgb: 255, 255, 255;
  --gray-50: #f3f4f6;
  --gray-100: #e5e7eb;
  --gray-200: #d1d5db;
  --gray-300: #b4bac4;
  --gray-400: #989fad;
  --gray-500: #70859e;
  --gray-600: #636e7f;
  --gray-700: #4c5667;
  --gray-800: #364050;
  --gray-900: #202937;
  --gray-900-rgb: 32, 41, 55;
  --blue-50: #ebf3fe;
  --blue-100: #b6d9ff;
  --blue-200: #83bfff;
  --blue-300: #53a5ff;
  --blue-400: #218cfe;
  --blue-500: #0377f2;
  --blue-500-rgb: 3, 119, 242;
  --blue-600: #055cba;
  --blue-600-rgb: 5, 92, 186;
  --blue-700: #0c437e;
  --blue-800: #0d2f53;
  --blue-900: #091c30;
  --orange-50: #ffece0;
  --orange-100: #ffd1b4;
  --orange-200: #fdb487;
  --orange-300: #fc9c60;
  --orange-400: #f88140;
  --orange-500: #f17122;
  --orange-500-rgb: 241, 113, 34;
  --orange-600: #dd5c0c;
  --orange-700: #ba4a04;
  --orange-800: #893400;
  --orange-900: #4d1e00;
  --green-50: #eefbef;
  --green-100: #c6edc6;
  --green-200: #a2e1a3;
  --green-300: #84d289;
  --green-400: #65c174;
  --green-500: #47a863;
  --green-600: #2f925a;
  --green-700: #1e7b51;
  --green-800: #145e44;
  --green-900: #0e4632;
  --raspberry-50: #ffe0e8;
  --raspberry-100: #ffb4c7;
  --raspberry-200: #fd87a4;
  --raspberry-300: #fc658e;
  --raspberry-400: #f84b77;
  --raspberry-500: #f13564;
  --raspberry-600: #dd2653;
  --raspberry-700: #ba2148;
  --raspberry-700-rgb: 186, 33, 72;
  --raspberry-800: #891b37;
  --raspberry-900: #4d1221;
  --text-primary: var(--gray-900);
  --text-secondary: rgba(var(--gray-900-rgb), 0.75);
  --text-tertiary: rgba(var(--gray-900-rgb), 0.5);
  --text-disabled: rgba(var(--gray-900-rgb), 0.25);
  --text-accent: var(--blue-600);
  --text-error: var(--raspberry-700);
  --text-primary-inverse: var(--white);
  --text-secondary-inverse: rgba(var(--white-rgb), 0.75);
  --text-tertiary-inverse: rgba(var(--white-rgb), 0.5);
  --surface-white: var(--white);
  --surface-gray-50: var(--gray-50);
  --surface-gray-100: var(--gray-100);
  --surface-blue: var(--blue-600);
  --surface-overlay: rgba(var(--gray-900-rgb), 0.25);
  --surface-error: var(--raspberry-700);
  --surface-accent: var(--blue-50);
  --button-bg-blue: var(--blue-600);
  --button-bg-black: var(--gray-900);
  --button-bg-disabled: var(--gray-200);
  --button-bg-inverse: var(--white);
  --border-primary: rgba(var(--gray-900-rgb), 0.2);
  --border-secondary: rgba(var(--gray-900-rgb), 0.1);
  --border-primary-inverse: rgba(var(--white-rgb), 0.25);
  --border-secondary-inverse: rgba(var(--white-rgb), 0.1);
  --border-button: rgba(var(--gray-900-rgb), 0.25);
  --border-button-inverse: var(--white);
  --border-link: rgba(var(--gray-900-rgb), 0.25);
  --border-link-accent: rgba(var(--blue-500-rgb), 0.25);
  --border-input-normal: rgba(var(--gray-900-rgb), 0.25);
  --border-input-focus: var(--gray-900);
  --border-input-error: var(--raspberry-700);
  --icon-black: var(--gray-900);
  --icon-grey: var(--gray-400);
  --icon-white: var(--white);
  --icon-blue: var(--blue-600);
  --color-blue: var(--blue-600);
  --color-blue-rgba: var(--blue-600-rgb);
  --color-orange: var(--orange-500);
  --color-dark: var(--gray-900);
  --color-dark-rgb: var(--gray-900-rgb);
  --color-text-primary: var(--gray-900);
  --color-text-primary-rgb: var(--gray-900-rgb);
  --color-text-rgb: var(--gray-900-rgb);
  --color-white: var(--white);
  --color-body: var(--gray-50);
  --color-body-rgb: 243, 244, 246;
  --color-header-bg: var(--color-body);
  --color-gray: var(--gray-100);
  --color-gray-2: var(--gray-200);
  --color-surface: var(--gray-100);
  --color-surface-accent: var(--surface-accent);
  --color-accent: var(--gray-900);
  --color-accent-active: var(--gray-800);
  --color-border: var(--border-secondary);
  --color-border-strong: var(--border-button);
  --color-divider: var(--border-primary);
  --color-blue-border: var(--border-link-accent);
  --color-text: var(--text-primary);
  --color-text-muted: var(--text-secondary);
  --color-text-rgba: var(--text-secondary);
  --color-red: var(--raspberry-700);
  --color-red-rgb: var(--raspberry-700-rgb);
  --color-overlay-rgb: var(--gray-900-rgb);
  --colog-overlay-rgb: var(--color-overlay-rgb);
  --shadow-01: 0 4px 8px rgba(var(--gray-900-rgb), 0.05), 0 12px 24px rgba(var(--gray-900-rgb), 0.1);
  --shadow-02: 0 2px 4px rgba(var(--gray-900-rgb), 0.05);
  --shadow-dropdown: var(--shadow-01);
  --box-shadow: var(--shadow-01);
  --opacity-10: 0.1;
  --opacity-15: 0.15;
  --opacity-20: 0.2;
  --opacity-25: 0.25;
  --opacity-30: 0.3;
  --opacity-50: 0.5;
  --opacity-75: 0.75;
  --fw-base: 400;
  --fw-light: 300;
  --fw-medium: 500;
  --fw-sbold: 600;
  --fw-bold: 700;
  --fs-base: 16px;
  --fs-xxs: 8px;
  --fs-xs: 10px;
  --fs-sm: 12px;
  --fs-md: 14px;
  --fs-lg: 18px;
  --fs-xl: 20px;
  --fs-xxl: 24px;
  --fs-xxxl: 28px;
  --fs-h1: 32px;
  --fs-hero-title: 32px;
  --fs-section-title: 28px;
  --fs-h2: 44px;
  --fs-h3: 36px;
  --fs-h4: 32px;
  --fs-h5: 24px;
  --fs-h6: 16px;
  --type-header-1: 32px;
  --type-header-2: 28px;
  --type-header-3: 22px;
  --type-header-4: 18px;
  --type-header-5: 16px;
  --type-header-6: 14px;
  --type-text-1: 18px;
  --type-text-2: 16px;
  --type-text-3: 14px;
  --type-text-4: 12px;
  --type-label-1: 16px;
  --type-label-2: 12px;
  --type-menu-1: 18px;
  --type-menu-2: 16px;
  --type-menu-3: 14px;
  --type-menu-4: 14px;
  --type-button-1: 16px;
  --type-button-2: 14px;
  --type-button-3: 12px;
  --lh-base: 1.2;
  --lh-text: 1.42;
  --lh-big: 1.34;
  --lh-ex-big: 1.6;
  --lh-title: 1.12;
  --lsp-min: -0.02em;
  --lsp-base: -0.01em;
  --lsp-normal: normal;
  --lsp-button: 0.04em;
  --lsp-big: 0.08em;
  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-pill: 99px;
  --b-rad-min: var(--radius-xs);
  --b-rad-sm: var(--radius-sm);
  --b-rad: var(--radius-md);
  --b-rad-dropdown: var(--radius-lg);
  --b-rad-big: var(--radius-pill);
  --space-0: 0;
  --space-2: 2px;
  --space-4: 4px;
  --space-8: 8px;
  --space-12: 12px;
  --space-16: 16px;
  --space-20: 20px;
  --space-24: 24px;
  --space-32: 32px;
  --space-40: 40px;
  --space-48: 48px;
  --space-64: 64px;
  --space-96: 96px;
  --space-128: 128px;
  --s-gap: var(--space-8);
  --sm-gap: var(--space-12);
  --m-gap: var(--space-16);
  --base-gap: var(--space-32);
  --nav-gap: var(--space-8);
  --header-actions-gap: var(--space-24);
  --transition-time: 0.3s;
  --input-height-m: 48px;
  --input-height-s: 40px;
  --hero-media-height: 280px;
  --hero-search-width: 100%;
  --grid-gutter: var(--grid-gutter-mobile);
}

@keyframes shimmer-wave-a {
  0% {
    transform: translate3d(-10%, 6%, 0) scaleX(1) scaleY(1) rotate(-18deg);
    opacity: 0.7;
  }
  25% {
    transform: translate3d(2%, -8%, 0) scaleX(1.12) scaleY(0.88) rotate(-14deg);
    opacity: 0.95;
  }
  50% {
    transform: translate3d(12%, 3%, 0) scaleX(0.96) scaleY(1.15) rotate(-20deg);
    opacity: 0.8;
  }
  75% {
    transform: translate3d(0%, -5%, 0) scaleX(1.08) scaleY(0.92) rotate(-16deg);
    opacity: 1;
  }
  100% {
    transform: translate3d(-8%, 4%, 0) scaleX(1.02) scaleY(1.05) rotate(-19deg);
    opacity: 0.75;
  }
}
@keyframes shimmer-wave-b {
  0% {
    transform: translate3d(8%, -5%, 0) scaleX(1.05) scaleY(0.95) rotate(-16deg);
    opacity: 0.65;
  }
  25% {
    transform: translate3d(-4%, 7%, 0) scaleX(0.92) scaleY(1.12) rotate(-21deg);
    opacity: 0.9;
  }
  50% {
    transform: translate3d(-12%, -2%, 0) scaleX(1.1) scaleY(0.9) rotate(-15deg);
    opacity: 0.75;
  }
  75% {
    transform: translate3d(4%, 5%, 0) scaleX(0.98) scaleY(1.08) rotate(-18deg);
    opacity: 0.95;
  }
  100% {
    transform: translate3d(6%, -4%, 0) scaleX(1.04) scaleY(1) rotate(-17deg);
    opacity: 0.7;
  }
}
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  --site-body-bg: var(--color-body);
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  background-color: var(--site-body-bg);
  text-size-adjust: none;
  overflow-x: hidden;
}

body {
  margin: 0;
  --overlay-offset-top: var(--site-header-height, 0);
}
body._scroll {
  --overlay-offset-top: var(--site-header-fix-height, var(--site-header-height));
}
body._overlay-open {
  left: 0 !important;
  top: 0;
  right: 0 !important;
}
body._overlay-open:not(.touch-device) {
  padding-right: var(--site-scroll-width);
}
body:not(.touch-device) .header__fixed {
  padding-right: var(--site-scroll-width);
}

@keyframes display-3d {
  0% {
    display: none;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}
img {
  transition: opacity 0.3s, visibility 0.3s;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

::-moz-selection {
  background: var(--color-accent);
  color: var(--color-white);
}

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

.page-main {
  background-color: var(--color-header-bg);
}

.gray-bg {
  background-color: var(--color-gray);
  border-radius: var(--b-rad-min);
}

.js-close-modal svg {
  pointer-events: none;
}

.overflow-hidden {
  overflow: hidden;
}

.nowrap {
  white-space: nowrap;
}

.del-on-mob {
  display: none !important;
}

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

picture {
  display: block;
}

ol, ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

pre {
  margin: 0;
  white-space: break-spaces;
}

blockquote, q {
  quotes: none;
}

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

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset {
  margin: 0;
  padding: 0;
  border: none;
}

body main .swiper {
  display: flex;
}

input[type=checkbox], label {
  -webkit-tap-highlight-color: transparent;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.wrapper {
  position: relative;
  width: 100%;
  max-width: var(--site-container-width);
  padding: 0 var(--site-container-padding);
  margin: 0 auto;
  z-index: 10;
}

.wrapper-big {
  position: relative;
  width: 100%;
  padding: 0 var(--site-container-padding);
  max-width: 1920px;
  margin: 0 auto;
  z-index: 10;
}
.wrapper-big .wrapper-content {
  max-width: var(--site-container-width);
  padding: 0;
  margin: 0 auto;
}
.row {
  display: flex;
  flex-wrap: wrap;
}
.row.nowrap {
  flex-wrap: nowrap;
}

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

.s-gap {
  gap: var(--s-gap);
}

.m-gap {
  gap: var(--m-gap);
}

.section-gap {
  padding-top: var(--secction-gap);
  padding-bottom: var(--secction-gap);
}

.section-one-top-gap {
  padding-top: var(--secction-gap-one);
}

.section-line {
  width: 100%;
  height: 0;
  border-top: 1px solid var(--color-divider);
}

.icon {
  --icon-size: 24px;
  flex-shrink: 0;
  display: block;
  width: var(--icon-size);
  height: var(--icon-size);
}

.icon--close-input {
  --icon-size: 16px;
}

.icon--hero {
  --icon-size: 32px;
}

.icon--menu {
  --icon-size: 32px;
}

.icon--min {
  --icon-size: 16px;
}

.icon--footer-menu {
  --icon-size: 20px;
}

.icon--reviews {
  --icon-size: 32px;
}

.icon--reviews-soc {
  --icon-size: 20px;
}

.icon--history {
  --icon-size: 16px;
}

.icon--select {
  --icon-size: 16px;
}

.icon--tag-close {
  --icon-size: 12px;
}

.icon--chevron {
  --icon-size: 12px;
}

.icon--favorite {
  --icon-size: 20px;
}

.icon--stock {
  --icon-size: 20px;
}

.icon--hint {
  --icon-size: 32px;
}

.icon--info {
  --icon-size: 20px;
}

.icon--soc {
  --icon-size: 36px;
}

.icon--close-min {
  --icon-size: 10px;
}

button, input {
  padding: 0;
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
}

.button {
  --button-height: 40px;
  --button-padding-vert: 10px;
  --button-padding-hor: 20px;
  --button-color: var(--button-bg-black);
  --button-color-hover: var(--gray-800);
  --button-color-active: var(--gray-700);
  --button-text-color: var(--text-primary-inverse);
  --button-border: var(--button-color);
  --button-border-hover: var(--button-color-hover);
  --button-border-active: var(--button-color-active);
  --button-lh: 1;
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: var(--space-8);
  width: auto;
  min-height: var(--button-height);
  padding: var(--button-padding-vert) var(--button-padding-hor);
  font-size: var(--fs-md);
  font-weight: var(--fw-sbold);
  line-height: var(--button-lh);
  letter-spacing: var(--lsp-big);
  text-decoration: none;
  text-align: center;
  text-transform: uppercase;
  color: var(--button-text-color);
  background-color: var(--button-color);
  border: 1px solid var(--button-border);
  border-radius: var(--b-rad-big);
  cursor: pointer;
  transition: background 0.3s, border 0.3s, color 0.3s, opacity 0.3s;
}
.button:disabled, .button.button--disabled {
  --button-color: var(--button-bg-disabled);
  --button-color-hover: var(--button-bg-disabled);
  --button-color-active: var(--button-bg-disabled);
  --button-text-color: var(--text-disabled);
  --button-border: var(--button-bg-disabled);
  cursor: not-allowed;
  opacity: 1;
}
.button:has(.icon:only-child) {
  --button-padding-hor: 10px;
}
.button.reset-lh {
  --button-lh: 1;
}
.button .icon {
  --icon-size: 16px;
}

.button--min {
  --button-height: 32px;
  --button-padding-vert: 7px;
  --button-padding-hor: 16px;
  gap: 6px;
  font-size: var(--fs-sm);
}

.button--outline {
  --button-color: transparent;
  --button-color-hover: rgba(var(--color-text-rgb), var(--opacity-10));
  --button-color-active: rgba(var(--color-text-rgb), var(--opacity-15));
  --button-text-color: var(--color-text);
  --button-border: var(--border-button);
  --button-border-hover: var(--border-button);
  --button-border-active: var(--border-button);
}

.button--light {
  --button-color: var(--color-body);
  --button-color-hover: rgba(var(--color-body-rgb), var(--opacity-75));
  --button-color-active: var(--color-white);
  --button-text-color: var(--color-text);
  --button-border: var(--color-body);
  --button-border-hover: rgba(var(--color-body-rgb), var(--opacity-75));
  --button-border-active: var(--color-white);
}

.button--dark {
  --button-color: var(--button-bg-black);
  --button-color-hover: var(--gray-800);
  --button-color-active: var(--gray-700);
  --button-text-color: var(--text-primary-inverse);
  --button-border: var(--button-color);
  --button-border-hover: var(--button-color-hover);
  --button-border-active: var(--button-color-active);
}

.button--primary {
  --button-color: var(--button-bg-blue);
  --button-color-hover: var(--blue-700);
  --button-color-active: var(--blue-800);
  --button-text-color: var(--text-primary-inverse);
  --button-border: var(--button-bg-blue);
  --button-border-hover: var(--button-color-hover);
  --button-border-active: var(--button-color-active);
  font-size: var(--type-button-1);
  font-weight: var(--fw-medium);
  letter-spacing: var(--lsp-button);
}

.button--secondary {
  --button-color: var(--button-bg-black);
  --button-color-hover: var(--gray-800);
  --button-color-active: var(--gray-700);
  --button-text-color: var(--text-primary-inverse);
  --button-border: var(--button-bg-black);
  --button-border-hover: var(--button-color-hover);
  --button-border-active: var(--button-color-active);
}

.button--secondary-inverse {
  --button-color: var(--button-bg-inverse);
  --button-color-hover: var(--gray-50);
  --button-color-active: var(--gray-100);
  --button-text-color: var(--text-primary);
  --button-border: var(--button-bg-inverse);
  --button-border-hover: var(--button-color-hover);
  --button-border-active: var(--button-color-active);
}

.button--tertiary {
  --button-color: var(--surface-white);
  --button-color-hover: var(--gray-50);
  --button-color-active: var(--gray-100);
  --button-text-color: var(--text-primary);
  --button-border: var(--border-button);
  --button-border-hover: var(--border-button);
  --button-border-active: var(--border-button);
}

.button--tertiary-inverse {
  --button-color: transparent;
  --button-color-hover: rgba(var(--white-rgb), 0.1);
  --button-color-active: rgba(var(--white-rgb), 0.15);
  --button-text-color: var(--text-primary-inverse);
  --button-border: var(--border-button-inverse);
  --button-border-hover: var(--border-button-inverse);
  --button-border-active: var(--border-button-inverse);
}

.button--primary,
.button--secondary,
.button--secondary-inverse,
.button--tertiary,
.button--tertiary-inverse {
  border-radius: var(--radius-sm);
}

.button--lg {
  --button-height: 48px;
  --button-padding-vert: 14px;
  --button-padding-hor: 24px;
  font-size: var(--type-button-1);
}

.button--sm {
  --button-height: 32px;
  --button-padding-vert: 7px;
  --button-padding-hor: 16px;
  font-size: var(--type-button-3);
}

.button--split {
  display: inline-flex;
  gap: 1px;
  min-height: auto;
  padding: 0;
  overflow: hidden;
  text-decoration: none;
  border: 0;
  border-radius: var(--b-rad-sm);
  background: none;
}
.button--split .button__text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 14px 20px;
  line-height: 20px;
  color: var(--button-text-color);
  text-transform: uppercase;
  background-color: var(--button-color);
  border-radius: var(--b-rad-sm) 0 0 var(--b-rad-sm);
  transition: background-color 0.2s;
}
.button--split .button__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  min-height: 48px;
  color: var(--button-text-color);
  background-color: var(--button-color);
  border-radius: 0 var(--b-rad-sm) var(--b-rad-sm) 0;
  transition: background-color 0.2s;
}
.button--split .button__icon .icon {
  --icon-size: 24px;
}

.button--icon-square {
  --button-height: 40px;
  flex: 0 0 40px;
  width: 40px;
  min-height: 40px;
  padding: 8px;
  color: var(--color-text);
  background: transparent;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--b-rad-sm);
  transition: border-color 0.2s, color 0.2s;
}
.button--icon-square .icon {
  --icon-size: 20px;
}

.button--outline-light {
  --button-color: transparent;
  --button-color-hover: rgba(var(--color-body-rgb), var(--opacity-10));
  --button-color-active: rgba(var(--color-body-rgb), var(--opacity-20));
  --button-text-color: var(--color-body);
  --button-border: rgba(var(--color-body-rgb), var(--opacity-25));
  --button-border-hover: rgba(var(--color-body-rgb), var(--opacity-25));
  --button-border-active: rgba(var(--color-body-rgb), var(--opacity-25));
}

.button--square {
  border-radius: var(--b-rad-min);
}

.button__accent {
  font-weight: var(--fw-base);
  opacity: var(--opacity-50);
}

.input {
  --input-height: var(--input-height-m);
  --input-top-padding: 12px;
  --input-bottom-padding: 10px;
  --input-hor-padding: 12px;
  --input-placeholder-color: var(--text-tertiary);
  --input-bg: var(--surface-white);
  --input-color: var(--text-primary);
  --input-border: var(--border-input-normal);
  --input-border-focus: var(--border-input-focus);
  --input-icon-size: 16px;
  --input-icon-offset: 7px;
  --input-border-radius: var(--radius-sm);
  position: relative;
  display: block;
  width: 100%;
}
.input input {
  width: 100%;
  height: var(--input-height);
  padding: var(--input-top-padding) var(--input-hor-padding) var(--input-bottom-padding);
  font-size: var(--fs-base);
  line-height: var(--lh-text);
  color: var(--input-color);
  outline: none;
  border: 1px solid var(--input-border);
  border-radius: var(--input-border-radius);
  background: none;
  background-color: var(--input-bg);
  appearance: none;
  cursor: text;
  transition: color 0.3s, border 0.3s, background-color 0.3s;
}
.input input::placeholder {
  color: var(--input-placeholder-color);
  opacity: 1;
  transition: color 0.3s;
}
.input:has(.input__icon:not(.input__icon--end)) input {
  padding-left: calc(var(--input-hor-padding) + var(--input-icon-size) + var(--input-icon-offset));
}
.input:has(.input__icon--end) {
  --input-icon-size: 16px;
  --input-icon-offset: 7px;
}
.input:has(.input__icon--end) input {
  padding-right: calc(var(--input-hor-padding) + var(--input-icon-size) + var(--input-icon-offset));
}
.input.input--error {
  --input-border: var(--border-input-error);
  --input-border-focus: var(--border-input-error);
}
.input.input--error .input__error {
  opacity: 1;
  width: auto;
  max-width: 100%;
  height: auto;
  min-height: 16px;
  pointer-events: auto;
  display: inline-flex;
  align-items: center;
  padding-right: 4px;
  padding-left: 4px;
  font-size: var(--fs-sm);
  line-height: var(--lh-big);
  letter-spacing: var(--lsp-normal);
  color: var(--text-primary-inverse);
  background-color: var(--surface-error);
  border-radius: var(--radius-xs);
}
.input.input--error.input--transparent input {
  border: none;
  border-bottom: 1px solid var(--border-input-error);
}
.input.input--error input {
  border-color: var(--border-input-error);
}

.input--no-placeholder input::placeholder {
  color: var(--input-color);
}

.input--transparent {
  --input-bg: transparent;
  --input-hor-padding: 0;
  --input-border-radius: 0;
  --input-border: transparent;
}
.input--transparent input {
  border: none;
  border-bottom: 1px solid var(--input-placeholder-color);
}

.input--gray {
  --input-bg: var(--gray-100);
  --input-border: var(--gray-100);
  --input-hor-padding: 16px;
}

.input--border {
  --input-border: var(--border-input-normal);
}

.input--min,
.input--s {
  --input-height: var(--input-height-s);
  --input-top-padding: 7px;
  --input-bottom-padding: 7px;
  font-size: var(--fs-md);
  line-height: var(--lh-big);
  letter-spacing: var(--lsp-normal);
}

.input--m {
  --input-height: var(--input-height-m);
}

.input--filter {
  --input-bg: var(--gray-900);
  --input-color: var(--text-primary-inverse);
  --input-border: var(--gray-900);
  --input-border-focus: var(--gray-900);
  --input-placeholder-color: var(--text-tertiary-inverse);
}
.input--filter .input__icon .icon {
  color: var(--icon-white);
}

.input__icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: var(--input-hor-padding);
  width: var(--input-icon-size);
  height: var(--input-icon-size);
}
.input__icon .icon {
  display: block;
  width: 100%;
  height: 100%;
  color: var(--input-color);
}

.input__icon--end {
  left: auto;
  right: 16px;
}

.input__error {
  position: absolute;
  top: calc(100% - 8px);
  left: 0;
  opacity: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}

.checkbox {
  position: relative;
  cursor: pointer;
  transition: color 0.3s;
}
.checkbox input {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
  opacity: 0;
}
.checkbox input:checked + .checkbox__val {
  --checkbox-bg: var(--color-text);
  --checkbox-border-color: var(--color-text);
}
.checkbox input:checked + .checkbox__val::after {
  opacity: 1;
}
.checkbox.checkbox--gray input:checked + .checkbox__val {
  background-color: var(--color-gray-2);
}
.checkbox.checkbox--simple .checkbox__val {
  --checkbox-offset: 0px;
  --checkbox-size: 0px;
  flex-direction: row;
  column-gap: 2px;
}
.checkbox.checkbox--simple .checkbox__val::before, .checkbox.checkbox--simple .checkbox__val::after {
  display: none;
}

.checkbox__val {
  --checkbox-offset: 8px;
  --checkbox-top-offset: 2px;
  --checkbox-size: 16px;
  --checkbox-bg: transparent;
  --checkbox-border-color: rgba(var(--color-text-rgb), var(--opacity-25));
  position: relative;
  display: flex;
  flex-direction: column;
  row-gap: 4px;
  padding-left: calc(var(--checkbox-offset) + var(--checkbox-size));
  line-height: var(--lh-text);
  transition: background 0.3s;
}
.checkbox__val::before {
  content: "";
  position: absolute;
  top: var(--checkbox-top-offset);
  left: 0;
  width: var(--checkbox-size);
  height: var(--checkbox-size);
  background-color: var(--checkbox-bg);
  border: 1px solid var(--checkbox-border-color);
  border-radius: var(--b-rad-min);
  transition: border 0.3s, background 0.3s;
}
.checkbox__val::after {
  content: "";
  position: absolute;
  top: var(--checkbox-top-offset);
  left: 0;
  width: var(--checkbox-size);
  height: var(--checkbox-size);
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.66989 10.1146L12.7982 3.98633L13.741 4.92913L6.66989 12.0002L2.42725 7.75758L3.37006 6.81478L6.66989 10.1146Z' fill='white'/%3E%3C/svg%3E ");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0;
}
.checkbox--gray .checkbox__val {
  --checkbox-offset: 6px;
  --checkbox-top-offset: 7px;
  --checkbox-size: 16px;
  --checkbox-bg: var(--color-body);
  padding-left: calc(var(--checkbox-offset) + var(--checkbox-size) + 8px);
  padding-right: 10px;
  padding-top: 6px;
  padding-bottom: 6px;
  background-color: var(--color-gray);
  border-radius: var(--b-rad-min);
}
.checkbox--gray .checkbox__val::before, .checkbox--gray .checkbox__val::after {
  left: 8px;
}

.checkbox__title {
  font-size: var(--fs-md);
  font-weight: var(--fw-sbold);
  line-height: var(--lh-big);
  letter-spacing: var(--lsp-normal);
}

.checkbox__descr {
  font-size: var(--fs-sm);
  line-height: var(--lh-big);
  letter-spacing: var(--lsp-normal);
}

.textarea {
  position: relative;
}
.textarea textarea {
  width: 100%;
  height: 180px;
  padding: 12px 16px 10px;
  line-height: var(--lh-text);
  background-color: var(--color-gray);
  border-radius: var(--b-rad-min);
  border: none;
  outline: none;
  resize: none;
  transition: color 0.3s;
}
.textarea textarea::placeholder {
  color: rgba(var(--color-text-rgb), var(--opacity-50));
  transition: color 0.3s;
}
.textarea textarea:hover::placeholder {
  color: var(--color-text);
}

.textarea__count {
  position: absolute;
  bottom: 13px;
  right: 16px;
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  line-height: var(--lh-text);
  letter-spacing: var(--lsp-big);
  color: rgba(var(--color-text-rgb), var(--opacity-25));
}
.textarea__count::before {
  content: attr(data-current);
}
.textarea__count::after {
  content: attr(data-max);
}

.phone {
  font-size: var(--fs-xl);
  font-weight: var(--fw-base);
}
.phone > * {
  font-weight: var(--fw-light);
}

.drop-down {
  position: relative;
}

.drop-down__content {
  position: absolute;
  top: 100%;
  left: 0;
}

.tag {
  display: inline-flex;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-4) var(--space-12);
  font-family: var(--ff-base);
  font-size: var(--type-text-4);
  font-weight: var(--fw-medium);
  line-height: var(--lh-base);
  letter-spacing: var(--lsp-normal);
  color: var(--text-accent);
  background-color: var(--blue-50);
  border: 1px solid var(--border-link-accent);
  border-radius: var(--radius-pill);
  text-decoration: none;
}

.tag--soft {
  border-color: transparent;
  background-color: var(--gray-100);
  color: var(--text-accent);
}

.tag--mono {
  padding: 0;
  font-family: var(--ff-mono);
  font-size: var(--fs-sm);
  font-weight: var(--fw-base);
  line-height: 1.2;
  letter-spacing: var(--lsp-big);
  text-transform: uppercase;
  color: var(--color-blue);
  background: none;
  border: 0;
  border-radius: 0;
}

.section__header .tag {
  margin-bottom: var(--space-16);
}

.tag-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
}

.tag-list__item {
  font-family: var(--ff-mono);
  font-size: var(--fs-lg);
  font-weight: var(--fw-base);
  line-height: 1.4;
  letter-spacing: var(--lsp-min);
  color: var(--color-blue);
  text-transform: lowercase;
  transition: opacity 0.2s;
  border-bottom: 1px solid var(--color-blue-border);
}

.tag-list__sep {
  font-family: var(--ff-mono);
  font-size: var(--fs-lg);
  line-height: 1.4;
  letter-spacing: var(--lsp-min);
  color: var(--color-border-strong);
  text-transform: lowercase;
  user-select: none;
}

.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-8);
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: var(--type-text-3);
  line-height: var(--lh-base);
  letter-spacing: var(--lsp-normal);
}

.breadcrumbs__item {
  display: inline-flex;
  align-items: center;
  gap: var(--space-8);
  color: var(--text-tertiary);
}
.breadcrumbs__item a {
  color: var(--text-accent);
  text-decoration: none;
  transition: opacity 0.2s;
}
.breadcrumbs__item[aria-current=page], .breadcrumbs__item.breadcrumbs__item--current {
  color: var(--text-tertiary);
  pointer-events: none;
}

.breadcrumbs__sep {
  color: var(--text-disabled);
  user-select: none;
}

.suggest {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: var(--space-8) var(--space-16);
  font-family: var(--ff-base);
  font-size: var(--type-text-3);
  font-weight: var(--fw-base);
  line-height: var(--lh-base);
  letter-spacing: var(--lsp-normal);
  color: var(--text-primary);
  text-decoration: none;
  background-color: var(--gray-100);
  border: 0;
  border-radius: var(--radius-pill);
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s;
}
.suggest:active, .suggest.is-active, .suggest[aria-pressed=true] {
  background-color: var(--gray-900);
  color: var(--text-primary-inverse);
}
.suggest:disabled {
  cursor: not-allowed;
  opacity: var(--opacity-50);
}

.suggest--sm {
  min-height: 28px;
  padding: var(--space-4) var(--space-12);
  font-size: var(--type-text-4);
}

.scroll-top {
  position: fixed;
  left: var(--space-24);
  bottom: var(--space-24);
  z-index: 40;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  color: var(--icon-black);
  background-color: var(--surface-white);
  border: 0;
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-02);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease, color 0.2s, background-color 0.2s;
}
.scroll-top.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.scroll-top:focus-visible {
  outline: 2px solid var(--blue-600);
  outline-offset: 2px;
}

.scroll-top__icon {
  --icon-size: 24px;
  transform: rotate(180deg);
}

.menu-icon {
  --menu-icon-size: 12px;
  --menu-icon-thickness: 1px;
  --menu-icon-gap: 3px;
  position: relative;
  display: inline-flex;
  flex-direction: column;
  flex-shrink: 0;
  justify-content: center;
  align-items: flex-start;
  gap: var(--menu-icon-gap);
  width: var(--menu-icon-size);
  height: var(--menu-icon-size);
  color: currentColor;
  pointer-events: none;
}

.menu-icon__line {
  display: block;
  height: var(--menu-icon-thickness, 1.5px);
  background-color: currentColor;
  border-radius: 0;
  transform-origin: center;
  transition: width 0.25s ease, transform 0.25s ease;
}
.menu-icon__line--top {
  width: 100%;
}
.menu-icon__line--bottom {
  width: 66%;
}

.menu-icon.is-open .menu-icon__line--top,
.menu-icon.menu-icon--open .menu-icon__line--top,
.menu-icon:active .menu-icon__line--top {
  width: 100%;
  transform: translateY(calc(var(--menu-icon-gap, 3px) / 2 + var(--menu-icon-thickness, 1.5px) / 2)) rotate(45deg);
}
.menu-icon.is-open .menu-icon__line--bottom,
.menu-icon.menu-icon--open .menu-icon__line--bottom,
.menu-icon:active .menu-icon__line--bottom {
  width: 100%;
  transform: translateY(calc(-1 * (var(--menu-icon-gap, 3px) / 2 + var(--menu-icon-thickness, 1.5px) / 2))) rotate(-45deg);
}

.header__burger .menu-icon.is-open .menu-icon__line--top,
.header__burger .menu-icon.menu-icon--open .menu-icon__line--top,
.header__burger:is(:hover, :focus-visible, :active) .menu-icon .menu-icon__line--top {
  width: 100%;
  transform: translateY(calc(var(--menu-icon-gap, 3px) / 2 + var(--menu-icon-thickness, 1.5px) / 2)) rotate(45deg);
}
.header__burger .menu-icon.is-open .menu-icon__line--bottom,
.header__burger .menu-icon.menu-icon--open .menu-icon__line--bottom,
.header__burger:is(:hover, :focus-visible, :active) .menu-icon .menu-icon__line--bottom {
  width: 100%;
  transform: translateY(calc(-1 * (var(--menu-icon-gap, 3px) / 2 + var(--menu-icon-thickness, 1.5px) / 2))) rotate(-45deg);
}

.main-nav__item:is(:hover, :focus-within, :active) > .main-nav__link .menu-icon .menu-icon__line--top,
.main-nav__link:is(:hover, :focus-visible, :active) .menu-icon .menu-icon__line--top {
  width: 100%;
  transform: translateY(calc(var(--menu-icon-gap, 3px) / 2 + var(--menu-icon-thickness, 1.5px) / 2)) rotate(45deg);
}
.main-nav__item:is(:hover, :focus-within, :active) > .main-nav__link .menu-icon .menu-icon__line--bottom,
.main-nav__link:is(:hover, :focus-visible, :active) .menu-icon .menu-icon__line--bottom {
  width: 100%;
  transform: translateY(calc(-1 * (var(--menu-icon-gap, 3px) / 2 + var(--menu-icon-thickness, 1.5px) / 2))) rotate(-45deg);
}
.section {
  --section-offset: 120px;
  --section-header-offset: 48px;
  position: relative;
}
.section:not(.section--no-overflow) {
  overflow-x: hidden;
}
.section.section--filters {
  position: relative;
  overflow: visible;
  z-index: 11;
}
.section.section--offset-big {
  --section-offset: 146px;
}
.section.section--offset-exmin {
  --section-offset: 48px;
}
.section.section--offset-md {
  --section-offset: 64px;
}
.section--mt {
  margin-top: var(--section-offset);
}
.section--mt.section--mt-big {
  margin-top: 120px;
}

.section--pt {
  padding-top: var(--section-offset);
}

.section--pb {
  padding-bottom: var(--section-offset);
}

.section--border::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background-color: rgba(var(--color-text-rgb), var(--opacity-15));
}

.section__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: var(--section-header-offset);
}
.section__header.section__header--big-offset {
  --section-header-offset: 120px;
}
.section__header.section__header--xs {
  --section-header-offset: 26px;
}
.section__header.section__header--no-offset {
  --section-header-offset: 0px;
}

.section__subtitle {
  margin: 0 0 16px;
  font-size: var(--fs-h6);
  font-weight: var(--fw-medium);
  line-height: var(--lh-text);
  letter-spacing: var(--lsp-big);
  text-transform: uppercase;
  text-align: center;
  color: rgba(var(--color-text-rgb), var(--opacity-50));
}

.section__title {
  margin: 0;
  font-size: var(--fs-h1);
  font-weight: var(--fw-base);
  line-height: var(--lh-title);
  text-align: center;
}
.section__title.section__title--md {
  font-size: var(--fs-h2);
}
.section__title.section__title--min {
  font-size: var(--fs-h3);
}
.section__title.section__title--xs {
  font-size: var(--fs-h4);
}

.section__min-descr {
  margin-top: 16px;
  font-size: var(--fs-xxl);
  line-height: var(--lh-text);
  text-align: center;
}

.section__descr {
  position: relative;
  margin-top: 40px;
  font-size: var(--fs-xl);
  line-height: var(--lh-text);
  text-align: center;
}
.section__descr:has(.text-absolute) {
  display: inline-flex;
}
.section__descr .text-absolute {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: max-content;
}
.section__descr .text-absolute:first-child {
  right: calc(100% + 10px);
}
.section__descr .text-absolute:last-child {
  left: calc(100% + 10px);
}

.section__text {
  margin-top: 40px;
  font-size: var(--fs-xl);
  line-height: var(--lh-text);
  text-align: center;
}
.section__text.section__text--min {
  margin-top: 16px;
  max-width: 1032px;
  margin-right: auto;
  margin-left: auto;
}
.section__text.section__text--md {
  margin-top: 24px;
  max-width: 824px;
  margin-right: auto;
  margin-left: auto;
}
.section__text.section__text--lg {
  margin-top: 32px;
}
.section__text .section__text-limited-width {
  max-width: 618px;
  margin-right: auto;
  margin-left: auto;
}
.section__text p {
  margin-top: 0;
  margin-bottom: 0;
}
.section__text p + p {
  margin-top: 24px;
}
.section__text strong, .section__text b {
  font-weight: var(--fw-sbold);
}
.section__text a, .section__text button {
  color: var(--color-red);
  font-weight: var(--fw-sbold);
}
.section__text a {
  border-bottom: 1px dotted transparent;
  transition: border 0.3s;
}
.section__text a:hover {
  border-bottom: 1px dotted rgba(var(--color-red-rgb), var(--opacity-50));
}

.section__tag-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--s-gap);
  margin-top: var(--m-gap);
}

.section__tag-list-item {
  --section-tag-bg: var(--color-gray);
  --section-tag-bg-hover: var(--color-gray-2);
  --section-tag-color: var(--color-text);
}
.section__tag-list-item._active {
  --section-tag-bg: var(--color-text);
  --section-tag-color: var(--color-body);
}
.section__tag-list-item._active .icon {
  position: static;
  width: 12px;
  opacity: 1;
  pointer-events: auto;
  margin: auto 0;
}
.section__tag-list-item:not(._active) > *:hover {
  background-color: var(--section-tag-bg-hover);
}
.section__tag-list-item.section__tag-list-item--btn > * {
  padding: 4px 8px;
}
.section__tag-list-item.section__tag-list-item--btn .icon {
  position: static;
  width: 16px;
  height: 16px;
  opacity: 1;
  pointer-events: auto;
  margin: auto 0;
}
.section__tag-list-item > * {
  position: relative;
  display: flex;
  align-items: center;
  column-gap: 4px;
  padding: 7px 10px 7px;
  font-size: var(--fs-md);
  letter-spacing: var(--lsp-normal);
  white-space: nowrap;
  color: var(--section-tag-color);
  background-color: var(--section-tag-bg);
  border-radius: var(--b-rad-min);
  transition: width 0.3s, color 0.3s, background 0.3s;
}
.section__tag-list-item > * .icon {
  position: absolute;
  right: 6px;
  top: 0;
  bottom: 0;
  width: 1px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s, width 0.3s;
}

.section__btn {
  margin-top: 40px;
}

.section__soc-list {
  display: flex;
  justify-content: center;
  column-gap: 4px;
  margin-top: 32px;
}

.section__link {
  margin-top: 32px;
  display: flex;
  align-items: center;
  font-weight: var(--fw-medium);
  line-height: 1;
  color: var(--color-red);
}
.section__link span {
  padding-top: 3px;
  padding-bottom: 3px;
  border-bottom: 1px solid rgba(var(--color-red-rgb), var(--opacity-25));
  transition: border 0.3s;
}
.section__link .icon {
  --icon-size: 16px;
}
.section__link:hover span {
  border-bottom: 1px solid rgba(var(--color-red-rgb), 0);
}

.section__offer {
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 1166px) and (min-width: 1166px) {
  .section__offer.section__offer--center {
    margin-left: 50%;
    transform: translateX(-50%);
  }
}

.modal {
  opacity: 0;
  pointer-events: none;
  height: 0;
  width: 0;
  transition: opacity 0.3s;
  will-change: opacity;
  overflow: hidden;
  top: 0;
  left: 0;
  z-index: 40;
  display: none;
  visibility: hidden;
  justify-content: center;
  align-items: center;
  padding-right: var(--site-scroll-width);
  background-color: rgba(var(--colog-overlay-rgb), var(--opacity-50));
}
.modal._open {
  position: fixed;
  display: flex;
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  height: 100%;
  width: 100vw;
  top: 0;
}
.modal.modal--right {
  justify-content: flex-end;
}

.modal:has(.modal__3d-viewer) {
  position: fixed;
  top: 150vh;
  display: flex;
  height: 100%;
  width: 100%;
}
.modal:has(.modal__3d-viewer)._open {
  top: 0;
}
.modal:has(.modal__3d-viewer) .reviews-gallery {
  align-items: center;
  padding-top: 0;
}

@keyframes spinner {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
.modal__3d {
  position: relative;
  background-color: #C0C0C0;
}
.modal__3d:has(._loaded)::before {
  opacity: 0;
}
.modal__3d:has(._loaded) .model-progress {
  opacity: 0;
}
.modal__3d:has(._loaded) .example-slider__model-image {
  opacity: 0;
}
.modal__3d .modal__3d-viewer {
  width: 100vw;
  height: 100%;
  overflow: hidden;
  opacity: 0;
  transition: opacity 0.3s;
  will-change: opacity;
}
.modal__3d .modal__3d-viewer._loaded {
  opacity: 1;
}

.modal__3d-controls {
  display: inline-flex;
  flex-direction: column;
  row-gap: 16px;
  padding-bottom: 64px;
  padding-top: 8px;
}

.modal__3d-hint {
  display: flex;
  align-items: center;
  column-gap: 4px;
  line-height: var(--lh-text);
}

.modal__content {
  --modal-vert-padding: 56px;
  --modal-hor-padding: 56px;
  --modal-content-width: 384px;
  --modal-close-btn-size: 24px;
  --modal-close-btn-offset: 16px;
  position: relative;
  width: 100%;
  max-width: calc(var(--modal-content-width) + var(--modal-hor-padding) * 2);
  padding: var(--modal-vert-padding) var(--modal-hor-padding);
  background-color: var(--color-body);
  border-radius: var(--b-rad-min);
}
.modal--reviews .modal__content {
  --modal-vert-padding: 64px;
  --modal-hor-padding: 64px;
  --modal-content-width: 696px;
  --modal-close-btn-offset: 32px;
}
.modal--gallery .modal__content {
  --modal-vert-padding: 0;
  --modal-hor-padding: 0;
  --modal-close-btn-offset: 40px;
  max-width: none;
  height: 100dvh;
  border-radius: 0;
}
.modal--right .modal__content {
  --modal-vert-padding: 24px;
  --modal-hor-padding: 24px;
  --modal-content-width: 408px;
  --modal-close-btn-offset: 24px;
  height: 100dvh;
  padding: var(--modal-vert-padding) 0;
  border-radius: 0;
}
.modal--add-review .modal__content {
  --modal-content-width: 568px;
}
.modal--cert .modal__content {
  --modal-content-width: 632px;
}

.modal__overflow {
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.modal__wrapper {
  max-height: calc(100dvh - var(--modal-vert-padding) * 2 - 32px);
  overflow-y: auto;
}
.modal__wrapper:not(.touch-device)::-webkit-scrollbar {
  width: 4px;
  height: 4px;
  background-color: rgba(var(--color-text-rgb), var(--opacity-25));
}
.modal__wrapper:not(.touch-device)::-webkit-scrollbar-thumb {
  background-color: var(--color-text);
}
.modal--gallery .modal__wrapper {
  height: 100%;
  max-height: none;
}
.modal--right .modal__wrapper {
  max-height: calc(100dvh - var(--modal-vert-padding) * 2);
  padding: 0 var(--modal-hor-padding);
}

.modal__close {
  position: absolute;
  top: var(--modal-close-btn-offset);
  right: var(--modal-close-btn-offset);
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: var(--modal-close-btn-size);
  height: var(--modal-close-btn-size);
  color: var(--color-text);
}

.modal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--m-gap);
}
.modal__header .modal__title {
  margin-bottom: 0;
}

.modal__reset-btn {
  opacity: 0;
  pointer-events: none;
  font-size: var(--fs-md);
  letter-spacing: var(--lsp-normal);
  border-bottom: 1px solid rgba(var(--color-text-rgb), var(--opacity-25));
  transition: opacity 0.3s;
}
.modal__reset-btn._active {
  opacity: 1;
  pointer-events: auto;
}

.modal__title {
  display: block;
  text-align: center;
  margin: 0 0 12px;
  font-size: var(--fs-h3);
  font-weight: var(--fw-medium);
  line-height: var(--lh-title);
}
.modal__title.modal__title--mobile {
  display: none;
}
.modal--right .modal__title {
  font-size: var(--fs-base);
  line-height: var(--lh-text);
  letter-spacing: var(--lsp-big);
  text-transform: uppercase;
  text-align: left;
}
.modal--add-review .modal__title {
  font-size: var(--fs-h4);
}

.modal__descr {
  font-size: var(--fs-md);
  line-height: var(--lh-big);
  letter-spacing: var(--lsp-normal);
  text-align: center;
}
.modal--message .modal__descr {
  font-size: var(--fs-base);
  line-height: var(--lh-text);
  letter-spacing: var(--lsp-base);
}

.modal__form {
  display: flex;
  align-items: center;
  flex-direction: column;
  row-gap: 12px;
  margin-top: 24px;
  margin-bottom: 0;
}
.modal--add-review .modal__form {
  row-gap: 24px;
}

.modal__btn {
  margin-top: 12px;
}
.modal--add-review .modal__btn {
  width: 100%;
}
.modal--message .modal__btn {
  width: 100%;
  margin-top: 24px;
}

.modal__conf {
  margin-top: var(--s-gap);
  font-size: var(--fs-sm);
  line-height: var(--lh-text);
  text-align: center;
}
.modal__conf a {
  border-bottom: 1px solid currentColor;
}

.modal__contacts-list > *:not(:last-child) {
  border-bottom: 1px solid rgba(var(--color-text-rgb), var(--opacity-15));
}

.modal__contacts-phone {
  display: block;
  padding-top: calc(var(--s-gap) / 2);
  padding-bottom: 16px;
  white-space: nowrap;
}
.modal__contacts-phone.phone {
  font-size: var(--fs-xxl);
}

.modal__contacts-soc {
  display: flex;
  align-items: center;
  gap: var(--s-gap);
  padding-top: 16px;
  padding-bottom: 16px;
  line-height: var(--lh-text);
}
.modal__contacts-soc[href^="mailto:"] {
  text-decoration: underline;
  text-decoration-color: rgba(var(--color-text-rgb), var(--opacity-25));
}

.modal__bottom-btn {
  position: fixed;
  left: var(--site-container-padding);
  right: var(--site-container-padding);
  bottom: 40px;
  z-index: 3;
  width: auto;
}

.modal .catalog-sort__list {
  position: static;
  opacity: 1;
  pointer-events: auto;
  row-gap: 0;
  padding: 0;
  box-shadow: none;
  border-radius: 0;
}
.modal .catalog-sort__list .catalog-sort__list-item > * {
  justify-content: space-between;
  padding-top: 8px;
  padding-bottom: 8px;
}
.modal .catalog-sort__list .catalog-sort__list-item > *::after {
  width: 24px;
  height: 24px;
}

.modal .select__list {
  display: flex;
  flex-direction: column;
}
.modal .select__list .select__list-item:not(:last-child) {
  margin-bottom: var(--s-gap);
}
.modal .select__list .select__list-item .checkbox__val {
  font-size: var(--fs-base);
  pointer-events: none;
}
.modal .select__list .select__list-item:has(input:checked) {
  order: initial;
}

.order-card__size-list .radio-card__val {
  pointer-events: none;
}

.modal__tag-item {
  padding-top: 8px;
  padding-bottom: 8px;
}

.modal__filter-container {
  display: flex;
  flex-direction: column;
  flex-shrink: 1;
  overflow: hidden;
  height: 100%;
}

.modal__filter {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow-y: auto;
  flex-grow: 1;
  padding-bottom: 80px;
}

.modal__filter-accordion {
  position: relative;
  display: block;
}
.modal__filter-accordion .modal__filter-header {
  padding: 24px 0;
}
.modal__filter-accordion:nth-of-type(1) .modal__filter-header {
  padding-top: 16px;
}
.modal__filter-accordion:not(:last-of-type) {
  border-bottom: 1px solid rgba(var(--color-text-rgb), var(--opacity-15));
}
.modal__filter-accordion:has(.modal__filter-header-btn._active) .modal__filter-content {
  opacity: 1;
}

.modal__filter-header {
  position: sticky;
  top: -1px;
  z-index: 1;
  transition: padding 0.3s;
  background-color: var(--color-white);
}
.modal__filter-header:has(.modal__filter-header-btn._active) {
  padding-bottom: 16px;
}
.modal__filter-header:has(.modal__filter-header-btn._active) .modal__filter-title::before {
  background-image: url("data:image/svg+xml,%3Csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.5 11.3086V13.3086H19.5V11.3086H5.5Z' fill='%23313033'/%3E%3C/svg%3E%0A");
}
.modal__filter-header:has(.modal__filter-header-btn._active) .modal__filter-search {
  max-height: 40px;
  margin-top: 16px;
  opacity: 1;
}
.modal__filter-header .modal__filter-search {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  margin-top: 0;
  transition: max-height 0.3s, margin 0.3s, opacity 0.3s;
}

.modal__filter-header-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: var(--s-gap);
}

.modal__filter-title {
  display: flex;
  column-gap: 16px;
  min-width: 0;
  flex: 1;
  overflow: hidden;
  font-weight: var(--fw-sbold);
  line-height: 24px;
}
.modal__filter-title::before {
  content: "";
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml,%3Csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.5039 11.3086V5.30859H13.5039V11.3086H19.5039V13.3086H13.5039V19.3086H11.5039V13.3086H5.50391V11.3086H11.5039Z' fill='%23313033'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.modal__filter-title .modal__filter-title-count {
  margin-left: -8px;
  font-size: 14px;
  opacity: 0.5;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.modal__filter-content {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out, opacity 0.3s;
}

.modal__filter-inner {
  padding-bottom: 24px;
}

.modal__filter-more {
  opacity: 0;
  pointer-events: none;
  flex-shrink: 0;
  white-space: nowrap;
  font-size: var(--fs-md);
  letter-spacing: var(--lsp-normal);
  color: var(--color-red);
  transition: opacity 0.3s;
}
.modal__filter-more._active {
  opacity: 1;
  pointer-events: auto;
}

.modal__filter-list {
  display: flex;
  flex-wrap: wrap;
  gap: calc(var(--s-gap) / 2);
}

.modal__filter-item._to-top {
  order: -1;
}

.modal .order-card__size-list {
  margin-top: 0;
}
.modal .order-card__size-list > * {
  width: calc(25% - 7px);
}
.modal .order-card__size-list > * .radio-card__val {
  width: 100%;
}

.modal__form-section {
  display: flex;
  flex-direction: column;
  row-gap: var(--s-gap);
  width: 100%;
}

.modal__form-subtitle {
  font-size: var(--fs-lg);
  font-weight: var(--fw-sbold);
  line-height: var(--lh-text);
}

.modal__subdescr {
  font-size: var(--fs-md);
  line-height: var(--lh-big);
  letter-spacing: var(--lsp-normal);
}

.modal__form-attach {
  display: flex;
  flex-direction: column;
  row-gap: var(--s-gap);
}

.modal__form-attach-error {
  font-size: var(--fs-md);
  line-height: var(--lh-big);
  letter-spacing: var(--lsp-normal);
  color: var(--color-red);
}

.modal__input-group {
  display: flex;
  flex-direction: column;
  row-gap: var(--s-gap);
}

.modal__row {
  display: grid;
  column-gap: var(--s-gap);
}

.modal__row--3 {
  grid-template-columns: repeat(3, 1fr);
}

.modal__row--2 {
  grid-template-columns: repeat(2, 1fr);
}

.modal__input-descr {
  line-height: var(--lh-text);
}

.form-page {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 500px;
  margin: 0 auto;
}
.form-page .form-page__bottom {
  display: flex;
  flex-direction: column;
  row-gap: 16px;
  width: 100%;
  margin-top: 32px;
}
.form-page .form-page__content {
  display: flex;
  flex-direction: column;
  width: 100%;
  row-gap: 8px;
}
.form-page .modal-order__subtitle {
  margin-bottom: 16px;
}
.form-page .modal-order__subtitle:not(:first-child) {
  margin-top: 32px;
}
.form-page a {
  text-decoration: underline;
  line-height: 1.4;
  transition: border 0.3s, color 0.3s;
}
.form-page a:hover {
  color: var(--color-red);
}
.form-page .select {
  width: 100%;
}
.form-page .button {
  width: 100%;
  margin-top: 0;
}
.form-page .modal__conf a {
  border-bottom: none;
}
.form-page .form-page__bottom-row {
  display: flex;
  justify-content: center;
}
.form-page .form-page__bottom-row > *:not(:last-child) {
  padding-right: 16px;
  margin-right: 16px;
  border-right: 1px solid rgba(var(--color-text-rgb), var(--opacity-50));
}
.form-page .form-page__with-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 8px;
}
.form-page .form-page__with-icon.form-page__with-icon-btn {
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-style: dotted;
}
.form-page .form-page__with-icon .icon {
  --icon-size: 20px;
}
.modal--discuss .modal__content {
  --modal-content-width: 400px;
  --modal-vert-padding: 32px;
  --modal-hor-padding: 32px;
  max-width: 464px;
  border-radius: var(--b-rad);
  box-shadow: var(--shadow-dropdown);
}
.modal--discuss .modal__wrapper {
  max-height: calc(100dvh - 64px);
}

.modal-discuss {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
}

.modal-discuss__header {
  display: flex;
  align-items: flex-start;
  gap: 32px;
}

.modal-discuss__title {
  flex: 1 1 auto;
  margin: 0;
  font-size: var(--fs-xxl);
  font-weight: var(--fw-base);
  line-height: 1.2;
  letter-spacing: var(--lsp-base);
  color: var(--color-dark);
  text-align: left;
}

.modal-discuss__close {
  display: flex;
  flex: 0 0 24px;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  color: var(--color-dark);
}
.modal-discuss__close .icon {
  --icon-size: 24px;
}

.modal-discuss__form {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
}

.modal-discuss__field {
  --input-bg: var(--color-white);
  --input-border: var(--border-input-normal);
  --input-border-radius: var(--b-rad-sm);
}
.modal-discuss__field.input--error {
  margin-bottom: 12px;
}
.modal-discuss__field.input--error input {
  border-color: var(--border-input-error);
}
.modal-discuss__field.input--error .input__error {
  top: calc(100% - 8px);
  left: 0;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  padding: 1px 8px 0;
  font-size: var(--fs-sm);
  font-weight: var(--fw-light);
  line-height: 1.4;
  color: var(--color-white);
  white-space: nowrap;
  background-color: var(--surface-error);
  border-radius: 0;
}
.modal-discuss__field.input--error .input__error::before {
  content: "";
  position: absolute;
  top: -3px;
  left: 10px;
  width: 6px;
  height: 6px;
  background-color: var(--surface-error);
  transform: rotate(45deg);
}

.modal-discuss__textarea textarea {
  height: 90px;
  padding: 13px 12px 28px;
  background-color: var(--color-white);
  border: 1px solid rgba(var(--color-dark-rgb), 0.25);
  border-radius: var(--b-rad-sm);
}
.modal-discuss__textarea textarea:focus, .modal-discuss__textarea textarea:not(:placeholder-shown) {
  border-color: var(--color-dark);
}
.modal-discuss__textarea .textarea__count {
  right: 8px;
  bottom: 8px;
  font-family: var(--ff-mono);
  font-size: var(--fs-sm);
  font-weight: var(--fw-light);
  line-height: 1.4;
  letter-spacing: var(--lsp-min);
  color: var(--color-text-primary);
  opacity: 0.35;
}

.modal-discuss__files {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding-bottom: 4px;
}

.modal-discuss__file {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px;
  font-size: var(--fs-md);
  font-weight: var(--fw-light);
  line-height: 1.2;
  letter-spacing: var(--lsp-base);
  color: var(--color-dark);
  background-color: var(--color-header-bg);
  border-radius: var(--b-rad-sm);
}

.modal-discuss__file-name {
  padding: 0 4px 1px;
}

.modal-discuss__file-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  padding: 0;
  color: var(--color-dark);
}
.modal-discuss__file-remove .icon {
  --icon-size: 16px;
}

.modal-discuss__attach {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.modal-discuss__attach-input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.modal-discuss__attach-icon {
  flex: 0 0 24px;
  color: var(--color-dark);
}
.modal-discuss__attach-icon .icon {
  --icon-size: 24px;
}

.modal-discuss__attach-text {
  display: flex;
  flex-direction: column;
}

.modal-discuss__attach-title {
  font-size: var(--fs-md);
  font-weight: var(--fw-light);
  line-height: 1.4;
  color: var(--color-dark);
}

.modal-discuss__attach-hint {
  font-size: var(--fs-sm);
  font-weight: var(--fw-light);
  line-height: 1.4;
  color: rgba(var(--color-dark-rgb), 0.5);
}

.modal-discuss__agreement .checkbox__val {
  font-size: var(--fs-sm);
  font-weight: var(--fw-light);
  line-height: 1.4;
  color: var(--color-text-primary);
}
.modal-discuss__agreement.checkbox--error .checkbox__val::before {
  border-color: var(--border-input-error);
}

.modal-discuss__submit {
  width: 100%;
  --button-height: 48px;
  border-radius: var(--b-rad-sm);
  font-size: var(--fs-base);
  font-weight: var(--fw-medium);
  letter-spacing: 0.04em;
}

.modal-discuss__messengers {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.modal-discuss__messengers-label {
  margin: 0;
  font-size: var(--fs-md);
  font-weight: var(--fw-light);
  line-height: 1.4;
  color: var(--color-dark);
}

.modal-discuss__messengers-list {
  display: flex;
  gap: 8px;
}

.modal-messenger {
  display: flex;
  flex: 1 1 0;
  align-items: stretch;
  text-decoration: none;
  transition: opacity 0.2s;
}

.modal-messenger__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 41px;
  min-height: 40px;
  margin-right: -1px;
  padding: 8px;
  color: var(--color-dark);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--b-rad-sm) 0 0 var(--b-rad-sm);
}
.modal-messenger__icon .icon {
  --icon-size: 24px;
}

.modal-messenger__text {
  display: inline-flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 11px 18px 11px 19px;
  font-size: var(--fs-md);
  font-weight: var(--fw-medium);
  line-height: 18px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-dark);
  border: 1px solid var(--color-border-strong);
  border-left: 0;
  border-radius: 0 var(--b-rad-sm) var(--b-rad-sm) 0;
}

.main-content {
  overflow: hidden;
}

.main-content__title {
  margin-top: 0;
  margin-bottom: 24px;
  font-size: var(--fs-h3);
  font-weight: var(--fw-medium);
  line-height: var(--lh-title);
  text-align: center;
}

.main-content__wrapper {
  position: relative;
  max-height: 228px;
  overflow: hidden;
  transition: all 0.3s;
}
.main-content__wrapper .main-content__content {
  padding-bottom: 24px;
}
.main-content__wrapper._open {
  max-height: var(--main-content-height, auto);
}
.main-content__wrapper._open::after {
  opacity: 0;
}
.main-content__wrapper::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  height: 104px;
  background: linear-gradient(0deg, rgb(255, 255, 255) 23%, rgba(255, 255, 255, 0.92) 30%, rgba(255, 255, 255, 0) 100%);
  pointer-events: none;
  transition: opacity 0.3s;
}

.main-content__content {
  display: flex;
  flex-direction: column;
  gap: 23px;
  line-height: var(--lh-text);
}
.main-content__content h3 {
  margin-top: 24px;
  margin-bottom: -12px;
  font-size: var(--fs-xxl);
  font-weight: var(--fw-medium);
  line-height: var(--lh-text);
}
.main-content__content p {
  margin-top: 0;
  margin-bottom: 0;
}
.main-content__content ul li {
  position: relative;
  padding-left: 24px;
}
.main-content__content ul li:not(:last-child) {
  margin-bottom: 8px;
}
.main-content__content ul li::before {
  content: "";
  position: absolute;
  top: 9px;
  left: 10px;
  width: 3px;
  height: 3px;
  background-color: currentColor;
  border-radius: 50%;
}

.posts {
  padding: 40px 0;
}

.posts__inner {
  display: flex;
  flex-direction: column;
  gap: 32px;
  max-width: 1224px;
  margin: 0 auto;
}

.posts__header {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.posts__title {
  margin: 0;
  font-size: var(--fs-section-title);
  font-weight: var(--fw-base);
  line-height: var(--lh-base);
  letter-spacing: var(--lsp-min);
  color: var(--color-text);
}

.posts__list {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 12px;
}

.card-article--tile {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: none;
  width: 100%;
  min-height: 136px;
  padding: 24px;
  background-color: var(--color-surface);
  border-radius: var(--b-rad-dropdown);
}

.feedback {
  padding: 40px 0;
}

.feedback__inner {
  position: relative;
  max-width: 1224px;
  min-height: auto;
  margin: 0 auto;
  overflow: hidden;
  border-radius: var(--b-rad-dropdown);
  isolation: isolate;
}

.feedback__media {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.feedback__picture {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.feedback__picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.feedback__shimmer {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
  background: transparent;
}
.feedback__shimmer .shimmer {
  position: absolute;
  inset: -20%;
  z-index: 0;
  pointer-events: none;
}
.feedback__shimmer .shimmer__beam {
  position: absolute;
  left: -10%;
  width: 120%;
  height: 38%;
  border-radius: 50%;
  filter: blur(40px);
  mix-blend-mode: screen;
  will-change: transform, opacity;
}
.feedback__shimmer .shimmer__beam--a {
  top: 28%;
  background: radial-gradient(ellipse 70% 55% at 40% 50%, rgba(230, 250, 255, 0.85) 0%, rgba(90, 200, 255, 0.55) 35%, rgba(140, 100, 230, 0.25) 60%, transparent 75%);
  animation: shimmer-wave-a 16s ease-in-out infinite;
}
.feedback__shimmer .shimmer__beam--b {
  top: 42%;
  height: 32%;
  background: radial-gradient(ellipse 65% 50% at 55% 50%, rgba(210, 240, 255, 0.7) 0%, rgba(80, 180, 255, 0.45) 30%, rgba(160, 90, 220, 0.35) 55%, transparent 72%);
  animation: shimmer-wave-b 20s ease-in-out infinite;
  animation-delay: -6s;
}

.feedback__decore {
  position: absolute;
  z-index: 2;
  pointer-events: none;
}

.feedback__layout {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 24px;
  min-height: auto;
  padding: 24px 20px;
}

.feedback__info {
  display: flex;
  flex: none;
  flex-direction: column;
  gap: 32px;
  max-width: none;
  padding: 0;
}

.feedback__title {
  margin: 0;
  font-size: var(--fs-section-title);
  font-weight: var(--fw-base);
  line-height: var(--lh-base);
  letter-spacing: var(--lsp-min);
  color: var(--color-white);
}

.feedback__content {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.feedback__text {
  margin: 0;
  font-size: var(--fs-lg);
  font-weight: var(--fw-light);
  line-height: 1.4;
  color: var(--color-white);
}

.feedback__messengers {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.feedback__messengers-label {
  margin: 0;
  font-size: var(--fs-lg);
  font-weight: var(--fw-light);
  line-height: 1.4;
  color: var(--color-white);
}

.feedback__messengers-list {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 12px;
}

.feedback-messenger {
  display: inline-flex;
  align-items: stretch;
  text-decoration: none;
  transition: opacity 0.2s;
}

.feedback-messenger__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 49px;
  min-height: 48px;
  margin-right: -1px;
  padding: 12px;
  color: var(--color-white);
  border: 1px solid var(--color-white);
  border-radius: var(--b-rad-sm) 0 0 var(--b-rad-sm);
}
.feedback-messenger__icon .icon {
  --icon-size: 24px;
}

.feedback-messenger__text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 14px 20px 14px 21px;
  font-size: var(--fs-base);
  font-weight: var(--fw-medium);
  line-height: 20px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-white);
  border: 1px solid var(--color-white);
  border-left: 0;
  border-radius: 0 var(--b-rad-sm) var(--b-rad-sm) 0;
}

.feedback-form {
  position: relative;
  z-index: 3;
  display: flex;
  flex: none;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  max-width: 480px;
  padding: 24px;
  background: var(--color-white);
  border-radius: var(--b-rad);
  margin: 0 auto;
}

.feedback-form__field {
  --input-bg: var(--color-white);
  --input-border: var(--border-input-normal);
  --input-border-radius: var(--b-rad-sm);
}

.feedback-form__textarea textarea {
  height: 90px;
  padding: 13px 12px 28px;
  background-color: var(--color-white);
  border: 1px solid rgba(var(--color-dark-rgb), 0.25);
  border-radius: var(--b-rad-sm);
}
.feedback-form__textarea .textarea__count {
  right: 8px;
  bottom: 8px;
  font-family: var(--ff-mono);
  font-size: var(--fs-sm);
  font-weight: var(--fw-light);
  line-height: 1.4;
  letter-spacing: var(--lsp-min);
  color: var(--color-text-primary);
  opacity: 0.35;
}

.feedback-form__attach {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.feedback-form__attach-input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.feedback-form__attach-icon {
  flex: 0 0 24px;
  color: var(--color-dark);
}
.feedback-form__attach-icon .icon {
  --icon-size: 24px;
}

.feedback-form__attach-text {
  display: flex;
  flex-direction: column;
}

.feedback-form__attach-title {
  font-size: var(--fs-base);
  font-weight: var(--fw-light);
  line-height: 1.4;
  color: var(--color-dark);
}

.feedback-form__attach-hint {
  font-size: var(--fs-sm);
  font-weight: var(--fw-light);
  line-height: 1.4;
  color: rgba(var(--color-dark-rgb), 0.5);
}

.feedback-form__agreement .checkbox__val {
  font-size: var(--fs-sm);
  font-weight: var(--fw-light);
  line-height: 1.4;
  color: var(--color-text-primary);
}

.feedback-form__submit {
  width: 100%;
  --button-height: 48px;
  border-radius: var(--b-rad-sm);
  font-size: var(--fs-base);
  font-weight: var(--fw-medium);
  letter-spacing: 0.04em;
}

.article {
  padding: 40px 0;
}

.article__inner {
  display: flex;
  flex-direction: column;
  gap: 32px;
  max-width: 1224px;
  margin: 0 auto;
}

.article__header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}

.article__intro {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}

.article__title {
  margin: 0;
  font-size: var(--fs-section-title);
  font-weight: var(--fw-base);
  line-height: var(--lh-base);
  letter-spacing: var(--lsp-min);
  color: var(--color-text);
}

.article__btn {
  flex: 0 0 auto;
}

.article-list {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  min-height: 0;
}

.article-list__feed {
  display: grid;
  flex: 1 1 auto;
  grid-template-columns: 1fr;
  column-gap: 12px;
  row-gap: 24px;
  min-width: 0;
  padding-top: 0;
  align-content: start;
}

.card-article {
  min-width: 0;
}
.card-article--featured {
  display: flex;
  flex: none;
  flex-direction: column;
  width: 100%;
  min-height: 0;
  overflow: hidden;
  background-color: var(--color-surface);
  border-radius: var(--b-rad-dropdown);
}
.card-article--compact {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 8px;
  padding: 0 0 24px;
  border-bottom: 1px solid var(--color-divider);
}
.card-article--compact:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.card-article__head {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 8px;
  min-height: 168px;
  padding: 32px;
}

.card-article__date {
  font-family: var(--ff-mono);
  font-size: var(--fs-md);
  font-weight: var(--fw-light);
  line-height: 1.4;
  letter-spacing: var(--lsp-base);
  color: rgba(var(--color-dark-rgb), var(--opacity-50));
}

.card-article__title {
  margin: 0;
  font-size: var(--fs-h4);
  font-weight: var(--fw-base);
  line-height: var(--lh-base);
  letter-spacing: var(--lsp-base);
}
.card-article__title a {
  color: var(--color-text);
  text-decoration: none;
  transition: color 0.2s;
}

.card-article__text {
  margin: 0;
  font-size: var(--fs-base);
  font-weight: var(--fw-light);
  line-height: 1.4;
  color: var(--color-text);
}
.card-article__text a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s;
}

.card-article__media {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 328px;
  padding-left: 32px;
  isolation: isolate;
}
.card-article__media::before {
  content: "";
  position: absolute;
  top: 0;
  left: 32px;
  z-index: 2;
  width: 40px;
  height: 40px;
  background-color: var(--color-header-bg);
  clip-path: polygon(0 0, 100% 0, 0 100%);
}

.card-article__image {
  position: relative;
  flex: 1 1 auto;
  min-height: 328px;
  overflow: hidden;
  background: radial-gradient(ellipse 60% 80% at 70% 40%, rgba(255, 255, 255, 0.18) 0%, transparent 55%), linear-gradient(180deg, #1f2937 0%, #111827 100%);
}
.card-article__image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 328px;
  object-fit: cover;
}

.card-article__link {
  position: absolute;
  right: 32px;
  bottom: 32px;
  z-index: 3;
}
:root {
  --product-illustration-size: 152px;
  --product-illustration-right: 0;
}

.products {
  padding: 40px 0;
}

.products__inner {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 32px;
  align-items: stretch;
  margin: 0 auto;
}

.products__aside {
  flex: none;
  max-width: none;
  padding-top: 0;
}

.products__intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  max-width: none;
}

.products__title {
  margin: 0;
  font-size: var(--fs-section-title);
  font-weight: var(--fw-base);
  line-height: var(--lh-base);
  letter-spacing: var(--lsp-min);
  color: var(--color-text);
}

.products__btn {
  flex-shrink: 0;
}

.products__wrap {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
  gap: 12px;
  flex: none;
  width: 100%;
  margin-left: 0;
}

.products__stack {
  display: flex;
  flex-direction: column;
  gap: 12px;
  grid-column: 1/-1;
  grid-row: auto;
  min-height: 0;
}

.products-card {
  min-width: 0;
}
.products-card:hover .button--icon-square {
  border-color: var(--color-blue);
  color: var(--color-blue);
}

.products-card__body {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 220px;
  padding: 20px;
  overflow: hidden;
  background-color: var(--color-surface);
  border-radius: var(--b-rad-dropdown);
}

.products-card__title {
  position: relative;
  z-index: 1;
  max-width: 264px;
  margin: 0;
  font-size: var(--fs-lg);
  font-weight: var(--fw-base);
  line-height: var(--lh-base);
  letter-spacing: var(--lsp-base);
  color: var(--color-text);
}

.products-card__text {
  position: relative;
  z-index: 1;
  max-width: 272px;
  margin: auto 0 0;
  padding-top: 12px;
  font-size: var(--fs-md);
  font-weight: var(--fw-light);
  line-height: 1.4;
  color: var(--color-text-muted);
}

.products-card__link {
  position: absolute;
  right: 20px;
  bottom: 20px;
  z-index: 2;
}

.products-card__illustration {
  position: absolute;
  top: 0;
  right: var(--product-illustration-right);
  pointer-events: none;
  width: var(--product-illustration-size);
  height: auto;
}
.products-card__illustration img {
  display: block;
  width: 100%;
  height: auto;
}

.business-accelerator {
  padding: 40px 0;
}

.business-accelerator__inner {
  position: relative;
  max-width: 1224px;
  min-height: auto;
  margin: 0 auto;
  overflow: hidden;
  border-radius: var(--b-rad-dropdown);
  isolation: isolate;
}

.business-accelerator__media {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.business-accelerator__picture {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.business-accelerator__picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.business-accelerator__shimmer {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
  background: transparent;
}
.business-accelerator__shimmer .shimmer {
  position: absolute;
  inset: -20%;
  z-index: 0;
  pointer-events: none;
}
.business-accelerator__shimmer .shimmer__beam {
  position: absolute;
  left: -10%;
  width: 120%;
  height: 38%;
  border-radius: 50%;
  filter: blur(40px);
  mix-blend-mode: screen;
  will-change: transform, opacity;
}
.business-accelerator__shimmer .shimmer__beam--a {
  top: 28%;
  background: radial-gradient(ellipse 70% 55% at 40% 50%, rgba(230, 250, 255, 0.85) 0%, rgba(90, 200, 255, 0.55) 35%, rgba(140, 100, 230, 0.25) 60%, transparent 75%);
  animation: shimmer-wave-a 16s ease-in-out infinite;
}
.business-accelerator__shimmer .shimmer__beam--b {
  top: 42%;
  height: 32%;
  background: radial-gradient(ellipse 65% 50% at 55% 50%, rgba(210, 240, 255, 0.7) 0%, rgba(80, 180, 255, 0.45) 30%, rgba(160, 90, 220, 0.35) 55%, transparent 72%);
  animation: shimmer-wave-b 20s ease-in-out infinite;
  animation-delay: -6s;
}

.business-accelerator__overlay {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-height: auto;
  padding: 24px 20px 32px;
}

.business-accelerator__head {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 24px;
}

.business-accelerator__title {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 8px;
  max-width: 865px;
}

.business-accelerator__heading {
  margin: 0;
  font-size: var(--fs-section-title);
  font-weight: var(--fw-base);
  line-height: var(--lh-base);
  letter-spacing: var(--lsp-min);
  color: var(--color-white);
}

.business-accelerator__subtitle {
  margin: 0;
  font-size: var(--fs-lg);
  font-weight: var(--fw-light);
  line-height: 1.4;
  color: var(--color-white);
}

.business-accelerator__apply {
  flex: 0 0 auto;
}

.business-accelerator__list {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
  gap: 12px;
  overflow: visible;
}

.business-accelerator__item {
  flex: none;
  margin: 0;
  padding-top: 0;
}

.business-accelerator__card {
  position: relative;
  width: 100%;
  height: 212px;
  padding: 24px;
  overflow: hidden;
}
.business-accelerator__card--dark {
  overflow: hidden;
  color: var(--color-white);
  background-color: var(--gray-800);
  border-radius: var(--radius-md);
}
.business-accelerator__card--folder {
  overflow: visible;
  background: transparent;
  border-radius: 0;
}
.business-accelerator__card--folder-1 {
  color: var(--text-primary);
}
.business-accelerator__card--folder-2 {
  color: var(--blue-700);
}
.business-accelerator__card--folder-3 {
  width: 100%;
  color: var(--color-white);
}

.business-accelerator__card-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.business-accelerator__card-bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
}

.business-accelerator__card-text {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-width: 208px;
}

.business-accelerator__card-value {
  margin: 0;
  font-size: var(--fs-section-title);
  font-weight: var(--fw-base);
  line-height: var(--lh-base);
  letter-spacing: var(--lsp-min);
}
.business-accelerator__card-value--sm {
  font-size: var(--fs-h4);
  letter-spacing: var(--lsp-base);
}

.business-accelerator__card-label {
  margin: 0;
  font-size: var(--fs-lg);
  font-weight: var(--fw-light);
  line-height: 1.4;
}

.client-list {
  overflow: hidden;
}

.client-list__slider .swiper {
  display: block;
  height: 116px;
}
.client-list__slider .swiper-wrapper {
  transition-timing-function: linear;
}
.client-list__slider .swiper-slide {
  width: 236px;
  height: auto;
}

.client-list__slide {
  flex-shrink: 0;
}

.client {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  width: 236px;
  height: 116px;
  padding: 16px 32px;
  background-color: var(--color-white);
  border-radius: 12px;
}

.client-logo {
  display: block;
  width: 172px;
  height: 84px;
  flex: none;
  object-fit: contain;
}

.hero {
  position: relative;
  z-index: 12;
  padding: 24px 0 0;
  background-color: var(--color-header-bg);
}

.hero__head {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  align-items: start;
  max-width: 1121px;
  margin: 0 0 24px;
}

.hero__title {
  margin: 0;
  max-width: none;
  font-size: 28px;
  font-weight: var(--fw-base);
  line-height: var(--lh-base);
  letter-spacing: var(--lsp-min);
  color: var(--color-text);
}

.hero__descr {
  margin: 0;
  max-width: none;
  font-size: var(--fs-base);
  font-weight: var(--fw-light);
  line-height: 1.4;
  color: var(--color-text-muted);
}

.hero__media {
  position: relative;
  min-height: var(--hero-media-height);
  isolation: isolate;
}

.hero__picture {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  border-radius: var(--b-rad-dropdown);
}

.hero__picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: none;
}

.hero__shimmer {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
  background: transparent;
}
.hero__shimmer .shimmer {
  position: absolute;
  inset: -20%;
  z-index: 0;
  pointer-events: none;
}
.hero__shimmer .shimmer__beam {
  position: absolute;
  left: -10%;
  width: 120%;
  height: 38%;
  border-radius: 50%;
  filter: blur(40px);
  mix-blend-mode: screen;
  will-change: transform, opacity;
}
.hero__shimmer .shimmer__beam--a {
  top: 28%;
  background: radial-gradient(ellipse 70% 55% at 40% 50%, rgba(230, 250, 255, 0.85) 0%, rgba(90, 200, 255, 0.55) 35%, rgba(140, 100, 230, 0.25) 60%, transparent 75%);
  animation: shimmer-wave-a 16s ease-in-out infinite;
}
.hero__shimmer .shimmer__beam--b {
  top: 42%;
  height: 32%;
  background: radial-gradient(ellipse 65% 50% at 55% 50%, rgba(210, 240, 255, 0.7) 0%, rgba(80, 180, 255, 0.45) 30%, rgba(160, 90, 220, 0.35) 55%, transparent 72%);
  animation: shimmer-wave-b 20s ease-in-out infinite;
  animation-delay: -6s;
}

.hero-search {
  position: absolute;
  left: 50%;
  bottom: 16px;
  z-index: 2;
  width: calc(100% - 16px);
  transform: translateX(-50%);
}
.hero-search._open .hero-search__panel {
  gap: 8px;
  padding: 20px;
  background-color: var(--color-header-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--b-rad-dropdown);
  box-shadow: var(--shadow-dropdown);
}
.hero-search._open .input--hero-search input {
  border-color: var(--color-dark);
}
.hero-search:not(._open) .hero-search__suggests,
.hero-search:not(._open) .hero-search__results {
  display: none;
}

.hero-search__panel {
  position: absolute;
  top: -32px;
  left: -32px;
  display: flex;
  flex-direction: column;
  width: calc(100% + 64px);
  gap: 0;
  z-index: 1;
}

.hero-search__form {
  position: relative;
  margin: 0;
  z-index: 2;
}

.hero-search__suggests {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.hero-search__suggest {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 12px 7px;
  font-family: inherit;
  font-size: var(--fs-base);
  font-weight: var(--fw-light);
  line-height: 1.2;
  letter-spacing: var(--lsp-base);
  color: var(--color-dark);
  background-color: var(--color-surface);
  border: 0;
  border-radius: var(--b-rad-sm);
  cursor: pointer;
  transition: background-color 0.2s;
}

.hero-search__results {
  display: flex;
  flex-direction: column;
}

.hero-search__label {
  margin: 0;
  padding: 8px 0 0;
  font-size: var(--fs-xs);
  font-weight: var(--fw-medium);
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(var(--color-dark-rgb), 0.5);
}

.hero-search__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.hero-search__item {
  margin: 0;
}

.hero-search__link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  font-size: var(--fs-base);
  font-weight: var(--fw-light);
  line-height: 1.2;
  letter-spacing: var(--lsp-base);
  color: var(--color-dark);
  text-decoration: none;
  transition: opacity 0.2s;
}

.hero-search__link-icon {
  --icon-size: 12px;
  flex: 0 0 12px;
}

.hero-search__empty {
  padding: 8px 0;
  font-size: var(--fs-base);
  font-weight: var(--fw-light);
  line-height: 1.4;
  color: rgba(var(--color-dark-rgb), 0.5);
}

.input--hero-search {
  --input-height: 44px;
  --input-top-padding: 11px;
  --input-bottom-padding: 11px;
  --input-hor-padding: 12px;
  --input-icon-size: 20px;
  --input-icon-offset: 8px;
  --input-border-radius: var(--b-rad-sm);
  --input-placeholder-color: rgba(var(--color-dark-rgb), 0.5);
  --input-bg: var(--color-white);
  --input-border: var(--color-white);
  --input-border-focus: var(--color-white);
  box-shadow: var(--shadow-01);
}
.input--hero-search input {
  font-weight: var(--fw-light);
  line-height: 1.4;
  border: 1px solid var(--color-white);
  transition: border-color 0.2s;
}
.hero-search:not(._open) .input--hero-search {
  box-shadow: var(--shadow-dropdown);
}
.hero-search._open .input--hero-search {
  box-shadow: none;
}

.services__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}

.services__intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
}

.services__intro-content {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.services__title {
  margin: 0;
  font-size: var(--fs-section-title);
  font-weight: var(--fw-base);
  line-height: var(--lh-base);
  letter-spacing: var(--lsp-min);
  color: var(--color-text);
}

.services__descr {
  margin: 0;
  font-size: var(--fs-base);
  font-weight: var(--fw-light);
  line-height: 1.4;
  color: var(--color-text-muted);
}

.services__list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.services__item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--color-divider);
}
.services__item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.services__item-content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.services__item-title {
  margin: 0;
  font-size: var(--fs-h5);
  font-weight: var(--fw-base);
  line-height: var(--lh-base);
  letter-spacing: var(--lsp-base);
}
.services__item-title a {
  color: var(--color-text);
  text-decoration: none;
  transition: color 0.2s;
}
.services__item-title a:hover {
  color: var(--color-blue);
}

.services__item-text {
  margin: 0;
  font-size: var(--fs-base);
  font-weight: var(--fw-light);
  line-height: 1.4;
  color: var(--color-text-muted);
}

.services__item:hover .services__item-title a {
  color: var(--color-blue);
}
.services__item:hover .button--icon-square {
  border-color: var(--color-blue);
  color: var(--color-blue);
}

.about-stats__inner {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.about-stats__grid {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 40px;
}

.about-stats__intro {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: var(--space-16);
  max-width: none;
}

.about-stats__facts {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  max-width: none;
}

.about-stats__row {
  display: grid;
  grid-template-columns: 1fr;
  align-items: start;
  row-gap: 24px;
  padding: 24px 0;
  border-bottom: 1px solid var(--border-primary);
}
.about-stats__row:first-child {
  padding-top: 0;
}
.about-stats__row:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.about-stats__title {
  margin: 0;
  font-size: var(--fs-section-title);
  font-weight: var(--fw-base);
  line-height: var(--lh-base);
  letter-spacing: var(--lsp-min);
  color: var(--text-primary);
}

.about-stats__descr {
  margin: 0;
  font-size: var(--fs-base);
  font-weight: var(--fw-light);
  line-height: 1.4;
  color: var(--text-secondary);
}

.about-stats__item {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
}

.about-stats__value {
  font-size: var(--fs-h5);
  font-weight: var(--fw-medium);
  line-height: var(--lh-base);
  letter-spacing: var(--lsp-base);
  color: var(--text-primary);
}

.about-stats__text {
  font-size: var(--fs-md);
  font-weight: var(--fw-light);
  line-height: 1.4;
  color: var(--text-secondary);
}

.projects__inner {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.projects__header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}

.projects__intro {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 24px;
  max-width: none;
}

.projects__title {
  margin: 0;
  font-size: var(--fs-section-title);
  font-weight: var(--fw-base);
  line-height: var(--lh-base);
  letter-spacing: var(--lsp-min);
  color: var(--color-text);
}

.projects__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
}

.projects-case {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}
.projects-case:hover .button--icon-square {
  border-color: var(--color-blue);
  color: var(--color-blue);
}

.projects-case__media {
  display: block;
  width: 100%;
  height: 220px;
  overflow: hidden;
  background-color: #d1d5db;
  border-radius: var(--b-rad-dropdown);
  transition: opacity 0.2s;
}
.projects-case__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.projects-case__media--metro {
  background: linear-gradient(135deg, #e5e7eb 0%, #b6d9ff 55%, #d1d5db 100%);
}

.projects-case__media--rgs {
  background: linear-gradient(135deg, #1e3a5f 0%, #3b82f6 50%, #0f172a 100%);
}

.projects-case__media--dixy {
  background: linear-gradient(135deg, #fff7ed 0%, #ff8200 45%, #f3f4f6 100%);
}

.projects-case__media--gazprom {
  background: linear-gradient(135deg, #dbeafe 0%, #94a3b8 50%, #e5e7eb 100%);
}

.projects-case__footer {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 0;
}

.projects-case__content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.projects-case__title {
  margin: 0;
  font-size: var(--fs-lg);
  font-weight: var(--fw-base);
  line-height: var(--lh-base);
  letter-spacing: var(--lsp-base);
}
.projects-case__title a {
  color: var(--color-text);
  text-decoration: none;
  transition: color 0.2s;
}

.projects-case__text {
  margin: 0;
  font-size: var(--fs-md);
  font-weight: var(--fw-light);
  line-height: 1.4;
  color: var(--color-text-muted);
}

.header {
  position: relative;
  z-index: 30;
  background-color: var(--color-header-bg);
}
.header._scroll-floating {
  position: fixed;
  top: 4px;
  right: 16px;
  left: 16px;
  z-index: 50;
  width: auto;
  max-width: 1816px;
  margin-right: auto;
  margin-left: auto;
  background: transparent;
  transform: translateY(calc(-100% - 12px));
  transition: transform 0.3s ease;
  pointer-events: none;
}
.header._scroll-floating._scroll-visible {
  transform: translateY(0);
  pointer-events: auto;
}
.header._scroll-floating .mega-menu {
  top: calc(100% + 4px);
}
.header._scroll-floating .main-nav__item:has(> .mega-menu):is(:hover, :focus-within)::before {
  height: calc(100% + 28px);
}
.header._scroll-compact .header__bar {
  min-height: 64px;
  padding: 12px;
  background-color: var(--color-header-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--b-rad);
  box-shadow: 0 2px 4px rgba(var(--color-text-primary-rgb), 0.02), 0 4px 12px rgba(var(--color-text-primary-rgb), 0.05);
}
.header._scroll-compact .header__group--main {
  gap: 24px;
}
.header._scroll-compact .header__logo-image {
  width: 109px;
  height: 30px;
}

.header__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--header-actions-gap);
  min-height: var(--site-header-height);
  padding-right: var(--site-header-padding-x);
  padding-left: var(--site-header-padding-x);
}

.header__group {
  display: flex;
  align-items: center;
  min-width: 0;
}
.header__group--main {
  gap: 40px;
  flex: 1 1 auto;
}
.header__group--actions {
  gap: var(--header-actions-gap);
  flex: 0 0 auto;
}

.header__logo {
  display: inline-flex;
  flex: 0 0 auto;
  color: inherit;
}

.header__logo-image {
  display: block;
  width: 123px;
  height: 34px;
}

.header__phone {
  font-size: var(--fs-lg);
  font-weight: var(--fw-bold);
  line-height: var(--lh-base);
  letter-spacing: var(--lsp-base);
  color: var(--color-text);
  white-space: nowrap;
}

.header__actions {
  display: flex;
  align-items: center;
  gap: var(--s-gap);
}

.header__mobile-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.header__icon-btn,
.header__burger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  color: inherit;
}
.header__icon-btn .icon,
.header__burger .icon {
  --icon-size: 24px;
}

.header__burger .menu-icon {
  --menu-icon-size: 18px;
  --menu-icon-thickness: 1.5px;
  --menu-icon-gap: 5px;
}

.header__btn-group {
  display: inline-flex;
  align-items: stretch;
}

.header__btn-group-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 40px;
  padding: 8px 18px;
  font-size: var(--fs-md);
  font-weight: var(--fw-medium);
  line-height: 18px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-text);
  border: 1px solid var(--color-border-strong);
  transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}
.header__btn-group-item--icon {
  padding: 8px;
  border-radius: var(--b-rad-sm) 0 0 var(--b-rad-sm);
  margin-right: -1px;
}
.header__btn-group-item:not(.header__btn-group-item--icon) {
  border-radius: 0 var(--b-rad-sm) var(--b-rad-sm) 0;
}
.header__btn-group-item:hover {
  background-color: rgba(var(--color-dark-rgb), 0.04);
}

.main-nav__list {
  display: flex;
  align-items: center;
  gap: var(--nav-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}

.main-nav__item:has(> .mega-menu):is(:hover, :focus-within)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: calc(100% + 24px);
}

.main-nav__link {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 32px;
  padding: 7px 8px;
  font-family: inherit;
  font-size: var(--fs-base);
  font-weight: var(--fw-light);
  line-height: var(--lh-base);
  letter-spacing: var(--lsp-base);
  color: var(--color-text);
  text-decoration: none;
  background: transparent;
  border: 0;
  border-radius: var(--b-rad-sm);
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s;
}
.main-nav__item:hover > .main-nav__link, .main-nav__item:focus-within > .main-nav__link, .main-nav__link:hover {
  background-color: rgba(var(--color-dark-rgb), 0.06);
}
.main-nav__item:hover > .main-nav__link .main-nav__chevron, .main-nav__item:focus-within > .main-nav__link .main-nav__chevron {
  transform: rotate(180deg);
}
.main-nav__link--icon {
  padding: 4px;
}
.main-nav__link--icon .icon {
  --icon-size: 24px;
}

.main-nav__chevron {
  transition: transform var(--transition-time);
}

.main-nav__item--accent > .main-nav__link {
  font-weight: var(--fw-bold);
}

.button--header {
  min-height: 40px;
  padding: 11px 18px;
  font-size: var(--fs-md);
  font-weight: var(--fw-medium);
  line-height: 18px;
  letter-spacing: 0.04em;
  border-radius: var(--b-rad-sm);
}

.footer {
  padding: 64px 16px 32px;
  color: var(--color-text-primary);
  background-color: var(--color-surface);
}
.footer a {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.2s;
}

.footer__inner {
  display: flex;
  flex-direction: column;
  gap: 48px;
  max-width: 1224px;
  margin: 0 auto;
}

.footer__top {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 48px;
}

.footer__contacts {
  display: flex;
  flex: none;
  flex-direction: column;
  gap: 32px;
  width: 100%;
  max-width: none;
}

.footer__logo {
  display: inline-flex;
}

.footer__logo-image {
  display: block;
  width: 123px;
  height: 34px;
}

.footer__contacts-body {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.footer__phone {
  display: flex;
  flex-direction: column;
}

.footer__phone-value {
  font-size: var(--fs-xxl);
  font-weight: var(--fw-medium);
  line-height: 1.2;
  letter-spacing: var(--lsp-base);
}

.footer__phone-city {
  font-size: var(--fs-md);
  font-weight: var(--fw-light);
  line-height: 1.4;
}

.footer__email {
  font-size: var(--fs-lg);
  font-weight: var(--fw-medium);
  line-height: 1.2;
  letter-spacing: var(--lsp-base);
}

.footer__messengers {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.footer-messenger {
  display: inline-flex;
  align-items: stretch;
}

.footer-messenger__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 41px;
  min-height: 40px;
  margin-right: -1px;
  padding: 8px;
  color: var(--color-dark);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--b-rad-sm) 0 0 var(--b-rad-sm);
}
.footer-messenger__icon .icon {
  --icon-size: 24px;
}

.footer-messenger__text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 11px 18px 11px 19px;
  font-size: var(--fs-md);
  font-weight: var(--fw-medium);
  line-height: 18px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-dark);
  border: 1px solid var(--color-border-strong);
  border-left: 0;
  border-radius: 0 var(--b-rad-sm) var(--b-rad-sm) 0;
}

.footer__services {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.footer__service {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
}

.footer__service-icon {
  --icon-size: 16px;
  flex: 0 0 16px;
}

.footer__service-text {
  font-size: var(--fs-md);
  font-weight: var(--fw-light);
  line-height: 1.4;
}

.footer__service-arrow {
  --icon-size: 16px;
  flex: 0 0 16px;
}

.footer__socials {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.footer__social {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: var(--color-white);
  background-color: var(--color-dark);
  border-radius: var(--b-rad-sm);
}
.footer__social .icon {
  --icon-size: 24px;
  color: var(--white);
}

.footer__links {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  font-size: var(--fs-md);
  font-weight: var(--fw-light);
  line-height: 1.4;
}

.footer__menus {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 0;
  width: 100%;
  min-width: 0;
}

.footer__menu-col {
  flex: none;
  width: 100%;
  min-width: 0;
  border-bottom: 1px solid var(--color-divider);
}
.footer__menu-col--extra {
  display: none;
  padding-top: 38px;
}

.footer__menu-heading {
  margin: 0;
}

.footer__menu-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  padding: 16px 0;
  font: inherit;
  color: inherit;
  text-align: left;
  background: none;
  border: 0;
  cursor: pointer;
}

.footer__menu-title {
  font-size: var(--fs-lg);
  font-weight: var(--fw-medium);
  line-height: 1.2;
  letter-spacing: var(--lsp-base);
}

.footer__menu-icon {
  display: inline-flex;
  flex: 0 0 16px;
  align-items: center;
  justify-content: center;
  color: var(--color-dark);
}
.footer__menu-icon .icon {
  --icon-size: 16px;
}

.footer__menu-chevron--up {
  display: none;
}
.footer__menu-col._open .footer__menu-chevron--down {
  display: none;
}
.footer__menu-col._open .footer__menu-chevron--up {
  display: block;
}

.footer__menu-panel {
  display: none;
  padding-bottom: 16px;
}
.footer__menu-col._open .footer__menu-panel {
  display: block;
}

.footer__menu-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0 24px 0 0;
  list-style: none;
}
.footer__menu-list--extra-mob {
  display: flex;
  margin-top: 8px;
  padding-right: 0;
}
.footer__menu-list a {
  display: inline-block;
  font-size: var(--fs-md);
  font-weight: var(--fw-light);
  line-height: 1.4;
}

.footer__bottom {
  padding-top: 32px;
  border-top: 1px solid var(--color-divider);
}

.footer__legal {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.footer__copy {
  margin: 0;
  font-size: var(--fs-md);
  font-weight: var(--fw-light);
  line-height: 1.4;
}

.footer__legal-text {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.footer__legal-text p {
  margin: 0;
  font-size: var(--fs-sm);
  font-weight: var(--fw-light);
  line-height: 1.4;
  color: rgba(var(--color-dark-rgb), 0.5);
}

.footer__policy {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 12px;
}
.footer__policy a {
  font-size: var(--fs-sm);
  font-weight: var(--fw-light);
  line-height: 1.4;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.mega-menu {
  position: absolute;
  top: calc(100% + 2px);
  left: 50%;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  align-items: start;
  width: min(1288px, 100vw - var(--site-header-padding-x) * 2);
  margin: 0;
  padding: 32px;
  list-style: none;
  background: var(--color-header-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--b-rad-dropdown);
  box-shadow: var(--shadow-dropdown);
  transform: translateX(-50%);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s, visibility 0.2s;
  transform-style: flat;
  transition-timing-function: ease-in-out;
}
.mega-menu--more {
  grid-template-columns: 297px 1fr 400px;
}

.header__bar,
.header__group,
.main-nav,
.main-nav__list,
.main-nav__item {
  position: static;
}

.main-nav__item:hover > .mega-menu,
.main-nav__item:focus-within > .mega-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.mega-menu__col {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}

.mega-menu__heading {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--color-dark);
  text-decoration: none;
}
.mega-menu__heading:hover .mega-menu__heading-text {
  color: var(--color-blue);
}

.mega-menu__heading-text {
  font-size: var(--fs-md);
  font-weight: var(--fw-medium);
  line-height: var(--lh-base);
  letter-spacing: var(--lsp-base);
  transition: color 0.2s;
}

.mega-menu__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  background: var(--color-surface);
  border-radius: var(--b-rad-min);
}
.mega-menu__icon--accent {
  background: var(--color-surface-accent);
}

.mega-menu__list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.mega-menu__list > li > a:not(.mega-menu__card) {
  display: block;
  padding: 8px 8px 8px 0;
  font-size: var(--fs-md);
  font-weight: var(--fw-light);
  line-height: var(--lh-base);
  letter-spacing: var(--lsp-base);
  color: var(--color-dark);
  text-decoration: none;
  transition: color 0.2s;
}
.mega-menu__list > li > a:not(.mega-menu__card):hover {
  color: var(--color-blue);
}
.mega-menu__list--cards {
  gap: 16px;
}
.mega-menu__list--simple {
  gap: 0;
}
.mega-menu__list--simple > li > a {
  padding: 10px 8px 10px 0;
  font-size: var(--fs-base);
  font-weight: var(--fw-base);
  color: var(--text-primary);
}
.mega-menu__list--events {
  gap: 0;
}

.mega-menu__more {
  display: inline-flex;
  align-items: center;
  gap: var(--sm-gap);
  padding: 8px 8px 8px 0;
  font-size: var(--fs-md);
  font-weight: var(--fw-medium);
  line-height: var(--lh-base);
  letter-spacing: var(--lsp-base);
  color: var(--text-primary);
  text-decoration: none;
}
.mega-menu__more:hover {
  color: var(--color-blue);
}

.mega-menu__card {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 40px;
  padding-right: 8px;
  color: var(--color-dark);
  text-decoration: none;
  transition: color 0.2s;
}
.mega-menu__card:hover, .mega-menu__card--accent {
  color: var(--color-blue);
}
.mega-menu__card:hover .mega-menu__icon, .mega-menu__card--accent .mega-menu__icon {
  background: var(--color-surface-accent);
}
.mega-menu__card--accent {
  color: var(--color-blue);
}

.mega-menu__card-text {
  font-size: var(--fs-md);
  font-weight: var(--fw-medium);
  line-height: var(--lh-base);
  letter-spacing: var(--lsp-base);
}

.mega-menu__promo,
.mega-menu__feature {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 320px;
  overflow: hidden;
  color: var(--color-dark);
  text-decoration: none;
  background: var(--color-surface);
  border-radius: var(--b-rad);
}
.mega-menu__promo:hover .mega-menu__promo-btn,
.mega-menu__feature:hover .mega-menu__promo-btn {
  border-color: var(--color-blue);
  color: var(--color-blue);
}

.mega-menu__promo--tall {
  min-height: 376px;
}

.mega-menu__promo-media,
.mega-menu__feature-media {
  display: block;
  flex: 0 0 auto;
  width: auto;
  height: 184px;
  margin: auto;
  border-radius: var(--b-rad-min);
}
.mega-menu__promo-media img,
.mega-menu__feature-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.mega-menu__promo-media--drone,
.mega-menu__feature-media--drone {
  width: 200px;
  height: 200px;
}
.mega-menu__promo-media--user,
.mega-menu__feature-media--user {
  width: 72px;
  height: 72px;
  margin: 0;
}

.mega-menu__promo-body,
.mega-menu__feature-body {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding: 24px;
}

.mega-menu__promo-content,
.mega-menu__feature-content {
  display: block;
  min-width: 0;
}

.mega-menu__promo-title,
.mega-menu__feature-title {
  display: block;
  font-size: var(--fs-base);
  font-weight: var(--fw-bold);
  line-height: var(--lh-base);
  letter-spacing: var(--lsp-base);
}

.mega-menu__promo-text,
.mega-menu__feature-text {
  display: block;
  margin-top: 8px;
  font-size: var(--fs-md);
  font-weight: var(--fw-light);
  line-height: var(--lh-base);
  letter-spacing: var(--lsp-base);
}

.mega-menu__promo-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--b-rad-sm);
  transition: border-color 0.2s, color 0.2s;
}

.mega-menu__label {
  display: block;
  padding-bottom: 16px;
  font-size: var(--fs-md);
  font-weight: var(--fw-medium);
  line-height: var(--lh-base);
  letter-spacing: var(--lsp-base);
  color: var(--text-disabled);
  border-bottom: 1px solid var(--border-primary);
}

.mega-menu__event {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px 0;
  border-bottom: 1px solid var(--border-primary);
}

.mega-menu__event-date {
  font-family: var(--ff-mono);
  font-size: var(--fs-sm);
  font-weight: var(--fw-light);
  line-height: 1.4;
  letter-spacing: var(--lsp-base);
  color: rgba(var(--color-dark-rgb), 0.5);
}

.mega-menu__event-title {
  margin: 0;
  font-size: var(--fs-lg);
  font-weight: var(--fw-base);
  line-height: var(--lh-base);
  letter-spacing: var(--lsp-base);
}
.mega-menu__event-title a {
  color: var(--color-dark);
  text-decoration: none;
}
.mega-menu__event-title a:hover {
  color: var(--color-blue);
}

.mega-menu__event-text {
  margin: 0;
  font-size: var(--fs-md);
  font-weight: var(--fw-light);
  line-height: 1.4;
  color: rgba(var(--color-dark-rgb), 0.5);
}

.mega-menu__col--events {
  gap: 0;
}
.mega-menu__col--events .mega-menu__more {
  margin-top: 8px;
  padding-top: 16px;
}

.mega-menu__col--promos {
  gap: 8px;
  margin-top: auto;
  margin-left: 12px;
}

.mega-menu__feature {
  min-height: 0;
  flex-direction: row;
  align-items: center;
  padding: 24px 24px 24px 8px;
}
.mega-menu__feature--compact {
  min-height: 0;
  padding: 16px 16px 16px 8px;
}
.mega-menu__feature--compact .mega-menu__feature-media {
  flex-basis: 72px;
  width: 72px;
  height: 72px;
}
.mega-menu__feature--compact .mega-menu__feature-text {
  margin-top: 4px;
}
.mega-menu__feature--compact .mega-menu__promo-btn {
  flex-basis: 32px;
  width: 32px;
  height: 32px;
}

.mega-menu__feature-body {
  flex: 1 1 auto;
  margin-top: 0;
  padding: 0;
  align-items: center;
}

.mega-menu__feature-media {
  flex: 0 0 120px;
  width: 120px;
  height: 190px;
  margin: 0 var(--s-gap) 0 0;
}
.modal--menu {
  z-index: 60;
  justify-content: stretch;
  align-items: stretch;
  overflow: hidden;
  background-color: var(--color-header-bg);
}
.modal--menu .modal__content {
  --modal-vert-padding: 0;
  --modal-hor-padding: 0;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  align-self: stretch;
  width: 100%;
  max-width: none;
  height: 100dvh;
  min-height: 100dvh;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 0;
  background: var(--color-header-bg);
}

.mobile-menu {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  height: 100dvh;
  overflow: hidden;
  background: var(--color-header-bg);
}

.mobile-menu__bar {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 15px;
}

.mobile-menu__logo {
  display: inline-flex;
  color: inherit;
}

.mobile-menu__logo-image {
  display: block;
  width: 98px;
  height: 27px;
}

.mobile-menu__close {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  color: var(--color-dark);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--b-rad-sm);
  cursor: pointer;
}
.mobile-menu__close .icon {
  --icon-size: 20px;
}

.mobile-menu__viewport {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  width: 100%;
}

.mobile-menu__panel {
  position: absolute;
  inset: 0;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  min-height: 100%;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(12px);
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
}
.mobile-menu__panel.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(0);
}
.mobile-menu__panel--root.is-active {
  transform: translateX(0);
}

.mobile-menu__scroll {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  width: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 8px 15px 32px;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  touch-action: pan-y;
}

.mobile-menu__search {
  margin-bottom: 8px;
  --input-height: 48px;
  --input-bg: var(--color-white);
  --input-border: var(--color-border);
  --input-border-focus: var(--color-dark);
  --input-icon-size: 20px;
}

.mobile-menu__nav {
  margin-bottom: 24px;
}

.mobile-menu__nav-list {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}
.mobile-menu__nav-list > li {
  border-bottom: 1px solid var(--color-divider);
}

.mobile-menu__nav-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 56px;
  padding: 16px 0;
  font-family: inherit;
  font-size: var(--fs-lg);
  font-weight: var(--fw-medium);
  line-height: 1.2;
  letter-spacing: var(--lsp-base);
  color: var(--color-dark);
  text-align: left;
  text-decoration: none;
  background: none;
  border: 0;
  cursor: pointer;
}

.mobile-menu__nav-chevron {
  --icon-size: 16px;
  flex: 0 0 16px;
  transform: rotate(-90deg);
  color: var(--color-dark);
}

.mobile-menu__services {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 32px;
}

.mobile-menu__service {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 48px;
  padding: 12px 16px;
  color: var(--color-dark);
  text-decoration: none;
  background: var(--color-surface);
  border-radius: var(--b-rad-sm);
}

.mobile-menu__service-icon {
  --icon-size: 20px;
  flex: 0 0 20px;
}

.mobile-menu__service-text {
  flex: 1 1 auto;
  min-width: 0;
  font-size: var(--fs-md);
  font-weight: var(--fw-light);
  line-height: 1.4;
}

.mobile-menu__service-arrow {
  --icon-size: 16px;
  flex: 0 0 16px;
  transform: rotate(-45deg);
}

.mobile-menu__contacts {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.mobile-menu__phones {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.mobile-menu__phone {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.mobile-menu__phone-value {
  font-size: var(--fs-lg);
  font-weight: var(--fw-medium);
  line-height: 1.2;
  letter-spacing: var(--lsp-base);
  color: var(--color-dark);
  text-decoration: none;
  white-space: nowrap;
}

.mobile-menu__phone-city {
  font-size: var(--fs-md);
  font-weight: var(--fw-light);
  line-height: 1.4;
  color: var(--color-text-muted);
}

.mobile-menu__email {
  font-size: var(--fs-lg);
  font-weight: var(--fw-medium);
  line-height: 1.2;
  letter-spacing: var(--lsp-base);
  color: var(--color-dark);
  text-decoration: none;
}

.mobile-menu__messengers {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.mobile-menu-messenger {
  display: inline-flex;
  align-items: stretch;
  min-width: 0;
  width: 100%;
  text-decoration: none;
}

.mobile-menu-messenger__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 41px;
  min-height: 40px;
  margin-right: -1px;
  padding: 8px;
  color: var(--color-dark);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--b-rad-sm) 0 0 var(--b-rad-sm);
}
.mobile-menu-messenger__icon .icon {
  --icon-size: 20px;
}

.mobile-menu-messenger__text {
  display: inline-flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 11px 12px;
  font-size: var(--fs-md);
  font-weight: var(--fw-medium);
  line-height: 18px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-dark);
  border: 1px solid var(--color-border-strong);
  border-left: 0;
  border-radius: 0 var(--b-rad-sm) var(--b-rad-sm) 0;
}

.mobile-menu__socials {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.mobile-menu__social {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: var(--color-white);
  background-color: var(--color-dark);
  border-radius: var(--b-rad-sm);
}
.mobile-menu__social .icon {
  --icon-size: 24px;
}

.mobile-menu__back {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0 0 16px;
  padding: 0;
  font-family: inherit;
  font-size: var(--fs-md);
  font-weight: var(--fw-medium);
  line-height: 1.2;
  color: var(--color-dark);
  background: none;
  border: 0;
  cursor: pointer;
}

.mobile-menu__back-icon {
  --icon-size: 16px;
  transform: rotate(90deg);
}

.mobile-menu__mega .mega-menu {
  position: static;
  left: auto;
  top: auto;
  display: flex !important;
  flex-direction: column;
  gap: 0;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
}
.mobile-menu__mega .mega-menu--more {
  grid-template-columns: none;
}
.mobile-menu__mega .mega-menu__col {
  gap: 12px;
  padding: 24px 0;
  border-bottom: 1px solid var(--color-divider);
}
.mobile-menu__mega .mega-menu__col:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.mobile-menu__mega .mega-menu__col:first-child {
  padding-top: 0;
}
.mobile-menu__mega .mega-menu__col:has(.mega-menu__promo) {
  order: -1;
  padding-top: 0;
  border-bottom: 0;
}
.mobile-menu__mega .mega-menu__heading-text {
  font-size: var(--fs-lg);
  font-weight: var(--fw-medium);
}
.mobile-menu__mega .mega-menu__list > li > a:not(.mega-menu__card) {
  padding: 10px 0;
  font-size: var(--fs-base);
}
.mobile-menu__mega .mega-menu__list--cards {
  gap: 0;
}
.mobile-menu__mega .mega-menu__list--cards > li {
  border-bottom: 1px solid var(--color-divider);
}
.mobile-menu__mega .mega-menu__list--cards > li:last-child {
  border-bottom: 0;
}
.mobile-menu__mega .mega-menu__card {
  padding: 16px 0;
}
.mobile-menu__mega .mega-menu__promo {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 12px;
  min-height: 0;
  padding: 16px;
  overflow: hidden;
  background: var(--color-surface);
  border-radius: var(--b-rad);
}
.mobile-menu__mega .mega-menu__promo-media {
  flex: 0 0 96px;
  width: 96px;
  height: 80px;
  margin: 0;
}
.mobile-menu__mega .mega-menu__promo-body {
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 4px;
  margin-top: 0;
  padding: 0;
}
.mobile-menu__mega .mega-menu__promo-btn {
  display: none;
}
.mobile-menu__mega .mega-menu__promo-title {
  font-size: var(--fs-lg);
  font-weight: var(--fw-medium);
}
.mobile-menu__mega .mega-menu__promo-text {
  font-size: var(--fs-md);
  font-weight: var(--fw-light);
}
.mobile-menu__mega .mega-menu__more {
  margin-top: 8px;
}
.mobile-menu__mega .mega-menu__col--promos {
  gap: 8px;
  margin-top: 0;
  margin-left: 0;
}
.mobile-menu__mega .mega-menu__feature {
  margin-bottom: 0;
  margin-left: 0;
  padding: 16px;
  background: var(--color-surface);
  border-radius: var(--b-rad);
}
.mobile-menu__mega .mega-menu__feature-media {
  flex: 0 0 72px;
  width: 72px;
  height: 72px;
  margin: 0 12px 0 0;
}:root{--f-spinner-width: 36px;--f-spinner-height: 36px;--f-spinner-color-1: rgba(0, 0, 0, 0.1);--f-spinner-color-2: rgba(17, 24, 28, 0.8);--f-spinner-stroke: 2.75}.f-spinner{margin:auto;padding:0;width:var(--f-spinner-width);height:var(--f-spinner-height)}.f-spinner svg{width:100%;height:100%;vertical-align:top;animation:f-spinner-rotate 2s linear infinite}.f-spinner svg *{stroke-width:var(--f-spinner-stroke);fill:none}.f-spinner svg *:first-child{stroke:var(--f-spinner-color-1)}.f-spinner svg *:last-child{stroke:var(--f-spinner-color-2);animation:f-spinner-dash 2s ease-in-out infinite}@keyframes f-spinner-rotate{100%{transform:rotate(360deg)}}@keyframes f-spinner-dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}.f-throwOutUp{animation:var(--f-throw-out-duration, 0.175s) ease-out both f-throwOutUp}.f-throwOutDown{animation:var(--f-throw-out-duration, 0.175s) ease-out both f-throwOutDown}@keyframes f-throwOutUp{to{transform:translate3d(0, calc(var(--f-throw-out-distance, 150px) * -1), 0);opacity:0}}@keyframes f-throwOutDown{to{transform:translate3d(0, var(--f-throw-out-distance, 150px), 0);opacity:0}}.f-zoomInUp{animation:var(--f-transition-duration, 0.2s) ease .1s both f-zoomInUp}.f-zoomOutDown{animation:var(--f-transition-duration, 0.2s) ease both f-zoomOutDown}@keyframes f-zoomInUp{from{transform:scale(0.975) translate3d(0, 16px, 0);opacity:0}to{transform:scale(1) translate3d(0, 0, 0);opacity:1}}@keyframes f-zoomOutDown{to{transform:scale(0.975) translate3d(0, 16px, 0);opacity:0}}.f-fadeIn{animation:var(--f-transition-duration, 0.2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeIn;z-index:2}.f-fadeOut{animation:var(--f-transition-duration, 0.2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeOut;z-index:1}@keyframes f-fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes f-fadeOut{100%{opacity:0}}.f-fadeFastIn{animation:var(--f-transition-duration, 0.2s) ease-out both f-fadeFastIn;z-index:2}.f-fadeFastOut{animation:var(--f-transition-duration, 0.1s) ease-out both f-fadeFastOut;z-index:2}@keyframes f-fadeFastIn{0%{opacity:.75}100%{opacity:1}}@keyframes f-fadeFastOut{100%{opacity:0}}.f-fadeSlowIn{animation:var(--f-transition-duration, 0.5s) ease both f-fadeSlowIn;z-index:2}.f-fadeSlowOut{animation:var(--f-transition-duration, 0.5s) ease both f-fadeSlowOut;z-index:1}@keyframes f-fadeSlowIn{0%{opacity:0}100%{opacity:1}}@keyframes f-fadeSlowOut{100%{opacity:0}}.f-crossfadeIn{animation:var(--f-transition-duration, 0.2s) ease-out both f-crossfadeIn;z-index:2}.f-crossfadeOut{animation:calc(var(--f-transition-duration, 0.2s)*.5) linear .1s both f-crossfadeOut;z-index:1}@keyframes f-crossfadeIn{0%{opacity:0}100%{opacity:1}}@keyframes f-crossfadeOut{100%{opacity:0}}.f-slideIn.from-next{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideInNext}.f-slideIn.from-prev{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideInPrev}.f-slideOut.to-next{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideOutNext}.f-slideOut.to-prev{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideOutPrev}@keyframes f-slideInPrev{0%{transform:translateX(100%)}100%{transform:translate3d(0, 0, 0)}}@keyframes f-slideInNext{0%{transform:translateX(-100%)}100%{transform:translate3d(0, 0, 0)}}@keyframes f-slideOutNext{100%{transform:translateX(-100%)}}@keyframes f-slideOutPrev{100%{transform:translateX(100%)}}.f-classicIn.from-next{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicInNext;z-index:2}.f-classicIn.from-prev{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicInPrev;z-index:2}.f-classicOut.to-next{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicOutNext;z-index:1}.f-classicOut.to-prev{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicOutPrev;z-index:1}@keyframes f-classicInNext{0%{transform:translateX(-75px);opacity:0}100%{transform:translate3d(0, 0, 0);opacity:1}}@keyframes f-classicInPrev{0%{transform:translateX(75px);opacity:0}100%{transform:translate3d(0, 0, 0);opacity:1}}@keyframes f-classicOutNext{100%{transform:translateX(-75px);opacity:0}}@keyframes f-classicOutPrev{100%{transform:translateX(75px);opacity:0}}:root{--f-button-width: 40px;--f-button-height: 40px;--f-button-border: 0;--f-button-border-radius: 0;--f-button-color: #374151;--f-button-bg: #f8f8f8;--f-button-hover-bg: #e0e0e0;--f-button-active-bg: #d0d0d0;--f-button-shadow: none;--f-button-transition: all 0.15s ease;--f-button-transform: none;--f-button-svg-width: 20px;--f-button-svg-height: 20px;--f-button-svg-stroke-width: 1.5;--f-button-svg-fill: none;--f-button-svg-filter: none;--f-button-svg-disabled-opacity: 0.65}.f-button{display:flex;justify-content:center;align-items:center;box-sizing:content-box;position:relative;margin:0;padding:0;width:var(--f-button-width);height:var(--f-button-height);border:var(--f-button-border);border-radius:var(--f-button-border-radius);color:var(--f-button-color);background:var(--f-button-bg);box-shadow:var(--f-button-shadow);pointer-events:all;cursor:pointer;transition:var(--f-button-transition)}.f-button:active:not([disabled]){background-color:var(--f-button-active-bg)}.f-button:focus:not(:focus-visible){outline:none}.f-button:focus-visible{outline:none;box-shadow:inset 0 0 0 var(--f-button-outline, 2px) var(--f-button-outline-color, var(--f-button-color))}.f-button svg{width:var(--f-button-svg-width);height:var(--f-button-svg-height);fill:var(--f-button-svg-fill);stroke:currentColor;stroke-width:var(--f-button-svg-stroke-width);stroke-linecap:round;stroke-linejoin:round;transition:opacity .15s ease;transform:var(--f-button-transform);filter:var(--f-button-svg-filter);pointer-events:none}.f-button[disabled]{cursor:default}.f-button[disabled] svg{opacity:var(--f-button-svg-disabled-opacity)}.f-carousel__nav .f-button.is-prev,.f-carousel__nav .f-button.is-next,.fancybox__nav .f-button.is-prev,.fancybox__nav .f-button.is-next{position:absolute;z-index:1}.is-horizontal .f-carousel__nav .f-button.is-prev,.is-horizontal .f-carousel__nav .f-button.is-next,.is-horizontal .fancybox__nav .f-button.is-prev,.is-horizontal .fancybox__nav .f-button.is-next{top:50%;transform:translateY(-50%)}.is-horizontal .f-carousel__nav .f-button.is-prev,.is-horizontal .fancybox__nav .f-button.is-prev{left:var(--f-button-prev-pos)}.is-horizontal .f-carousel__nav .f-button.is-next,.is-horizontal .fancybox__nav .f-button.is-next{right:var(--f-button-next-pos)}.is-horizontal.is-rtl .f-carousel__nav .f-button.is-prev,.is-horizontal.is-rtl .fancybox__nav .f-button.is-prev{left:auto;right:var(--f-button-next-pos)}.is-horizontal.is-rtl .f-carousel__nav .f-button.is-next,.is-horizontal.is-rtl .fancybox__nav .f-button.is-next{right:auto;left:var(--f-button-prev-pos)}.is-vertical .f-carousel__nav .f-button.is-prev,.is-vertical .f-carousel__nav .f-button.is-next,.is-vertical .fancybox__nav .f-button.is-prev,.is-vertical .fancybox__nav .f-button.is-next{top:auto;left:50%;transform:translateX(-50%)}.is-vertical .f-carousel__nav .f-button.is-prev,.is-vertical .fancybox__nav .f-button.is-prev{top:var(--f-button-next-pos)}.is-vertical .f-carousel__nav .f-button.is-next,.is-vertical .fancybox__nav .f-button.is-next{bottom:var(--f-button-next-pos)}.is-vertical .f-carousel__nav .f-button.is-prev svg,.is-vertical .f-carousel__nav .f-button.is-next svg,.is-vertical .fancybox__nav .f-button.is-prev svg,.is-vertical .fancybox__nav .f-button.is-next svg{transform:rotate(90deg)}.f-carousel__nav .f-button:disabled,.fancybox__nav .f-button:disabled{pointer-events:none}html.with-fancybox{width:auto;overflow:visible;scroll-behavior:auto}html.with-fancybox body{touch-action:none}html.with-fancybox body.hide-scrollbar{width:auto;margin-right:calc(var(--fancybox-body-margin, 0px) + var(--fancybox-scrollbar-compensate, 0px));overflow:hidden !important;overscroll-behavior-y:none}.fancybox__container{--fancybox-color: #dbdbdb;--fancybox-hover-color: #fff;--fancybox-bg: rgba(24, 24, 27, 0.98);--fancybox-slide-gap: 10px;--f-spinner-width: 50px;--f-spinner-height: 50px;--f-spinner-color-1: rgba(255, 255, 255, 0.1);--f-spinner-color-2: #bbb;--f-spinner-stroke: 3.65;position:fixed;top:0;left:0;bottom:0;right:0;direction:ltr;display:flex;flex-direction:column;box-sizing:border-box;margin:0;padding:0;color:#f8f8f8;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:visible;z-index:var(--fancybox-zIndex, 1050);outline:none;transform-origin:top left;-webkit-text-size-adjust:100%;-moz-text-size-adjust:none;-ms-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior-y:contain}.fancybox__container *,.fancybox__container *::before,.fancybox__container *::after{box-sizing:inherit}.fancybox__container::backdrop{background-color:rgba(0,0,0,0)}.fancybox__backdrop{position:fixed;top:0;left:0;bottom:0;right:0;z-index:-1;background:var(--fancybox-bg);opacity:var(--fancybox-opacity, 1);will-change:opacity}.fancybox__carousel{position:relative;box-sizing:border-box;flex:1;min-height:0;z-index:10;overflow-y:visible;overflow-x:clip}.fancybox__viewport{width:100%;height:100%}.fancybox__viewport.is-draggable{cursor:move;cursor:grab}.fancybox__viewport.is-dragging{cursor:move;cursor:grabbing}.fancybox__track{display:flex;margin:0 auto;height:100%}.fancybox__slide{flex:0 0 auto;position:relative;display:flex;flex-direction:column;align-items:center;width:100%;height:100%;margin:0 var(--fancybox-slide-gap) 0 0;padding:4px;overflow:auto;overscroll-behavior:contain;transform:translate3d(0, 0, 0);backface-visibility:hidden}.fancybox__container:not(.is-compact) .fancybox__slide.has-close-btn{padding-top:40px}.fancybox__slide.has-iframe,.fancybox__slide.has-video,.fancybox__slide.has-html5video{overflow:hidden}.fancybox__slide.has-image{overflow:hidden}.fancybox__slide.has-image.is-animating,.fancybox__slide.has-image.is-selected{overflow:visible}.fancybox__slide::before,.fancybox__slide::after{content:"";flex:0 0 0;margin:auto}.fancybox__backdrop:empty,.fancybox__viewport:empty,.fancybox__track:empty,.fancybox__slide:empty{display:block}.fancybox__content{align-self:center;display:flex;flex-direction:column;position:relative;margin:0;padding:2rem;max-width:100%;color:var(--fancybox-content-color, #374151);background:var(--fancybox-content-bg, #fff);cursor:default;border-radius:0;z-index:20}.is-loading .fancybox__content{opacity:0}.is-draggable .fancybox__content{cursor:move;cursor:grab}.can-zoom_in .fancybox__content{cursor:zoom-in}.can-zoom_out .fancybox__content{cursor:zoom-out}.is-dragging .fancybox__content{cursor:move;cursor:grabbing}.fancybox__content [data-selectable],.fancybox__content [contenteditable]{cursor:auto}.fancybox__slide.has-image>.fancybox__content{padding:0;background:rgba(0,0,0,0);min-height:1px;background-repeat:no-repeat;background-size:contain;background-position:center center;transition:none;transform:translate3d(0, 0, 0);backface-visibility:hidden}.fancybox__slide.has-image>.fancybox__content>picture>img{width:100%;height:auto;max-height:100%}.is-animating .fancybox__content,.is-dragging .fancybox__content{will-change:transform,width,height}.fancybox-image{margin:auto;display:block;width:100%;height:100%;min-height:0;object-fit:contain;user-select:none;filter:blur(0px)}.fancybox__caption{align-self:center;max-width:100%;flex-shrink:0;margin:0;padding:14px 0 4px 0;overflow-wrap:anywhere;line-height:1.375;color:var(--fancybox-color, currentColor);opacity:var(--fancybox-opacity, 1);cursor:auto;visibility:visible}.is-loading .fancybox__caption,.is-closing .fancybox__caption{opacity:0;visibility:hidden}.is-compact .fancybox__caption{padding-bottom:0}.f-button.is-close-btn{--f-button-svg-stroke-width: 2;position:absolute;top:0;right:8px;z-index:40}.fancybox__content>.f-button.is-close-btn{--f-button-width: 34px;--f-button-height: 34px;--f-button-border-radius: 4px;--f-button-color: var(--fancybox-color, #fff);--f-button-hover-color: var(--fancybox-color, #fff);--f-button-bg: transparent;--f-button-hover-bg: transparent;--f-button-active-bg: transparent;--f-button-svg-width: 22px;--f-button-svg-height: 22px;position:absolute;top:-38px;right:0;opacity:.75}.is-loading .fancybox__content>.f-button.is-close-btn{visibility:hidden}.is-zooming-out .fancybox__content>.f-button.is-close-btn{visibility:hidden}.fancybox__content>.f-button.is-close-btn:hover{opacity:1}.fancybox__footer{padding:0;margin:0;position:relative}.fancybox__footer .fancybox__caption{width:100%;padding:24px;opacity:var(--fancybox-opacity, 1);transition:all .25s ease}.is-compact .fancybox__footer{position:absolute;bottom:0;left:0;right:0;z-index:20;background:rgba(24,24,27,.5)}.is-compact .fancybox__footer .fancybox__caption{padding:12px}.is-compact .fancybox__content>.f-button.is-close-btn{--f-button-border-radius: 50%;--f-button-color: #fff;--f-button-hover-color: #fff;--f-button-outline-color: #000;--f-button-bg: rgba(0, 0, 0, 0.6);--f-button-active-bg: rgba(0, 0, 0, 0.6);--f-button-hover-bg: rgba(0, 0, 0, 0.6);--f-button-svg-width: 18px;--f-button-svg-height: 18px;--f-button-svg-filter: none;top:5px;right:5px}.fancybox__nav{--f-button-width: 50px;--f-button-height: 50px;--f-button-border: 0;--f-button-border-radius: 50%;--f-button-color: var(--fancybox-color);--f-button-hover-color: var(--fancybox-hover-color);--f-button-bg: transparent;--f-button-hover-bg: rgba(24, 24, 27, 0.3);--f-button-active-bg: rgba(24, 24, 27, 0.5);--f-button-shadow: none;--f-button-transition: all 0.15s ease;--f-button-transform: none;--f-button-svg-width: 26px;--f-button-svg-height: 26px;--f-button-svg-stroke-width: 2.5;--f-button-svg-fill: none;--f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, 0.5));--f-button-svg-disabled-opacity: 0.65;--f-button-next-pos: 1rem;--f-button-prev-pos: 1rem;opacity:var(--fancybox-opacity, 1)}.fancybox__nav .f-button:before{position:absolute;content:"";top:-30px;right:-20px;left:-20px;bottom:-30px;z-index:1}.is-idle .fancybox__nav{animation:.15s ease-out both f-fadeOut}.is-idle.is-compact .fancybox__footer{pointer-events:none;animation:.15s ease-out both f-fadeOut}.fancybox__slide>.f-spinner{position:absolute;top:50%;left:50%;margin:var(--f-spinner-top, calc(var(--f-spinner-width) * -0.5)) 0 0 var(--f-spinner-left, calc(var(--f-spinner-height) * -0.5));z-index:30;cursor:pointer}.fancybox-protected{position:absolute;top:0;left:0;right:0;bottom:0;z-index:40;user-select:none}.fancybox-ghost{position:absolute;top:0;left:0;width:100%;height:100%;min-height:0;object-fit:contain;z-index:40;user-select:none;pointer-events:none}.fancybox-focus-guard{outline:none;opacity:0;position:fixed;pointer-events:none}.fancybox__container:not([aria-hidden]){opacity:0}.fancybox__container.is-animated[aria-hidden=false]>*:not(.fancybox__backdrop,.fancybox__carousel),.fancybox__container.is-animated[aria-hidden=false] .fancybox__carousel>*:not(.fancybox__viewport),.fancybox__container.is-animated[aria-hidden=false] .fancybox__slide>*:not(.fancybox__content){animation:var(--f-interface-enter-duration, 0.25s) ease .1s backwards f-fadeIn}.fancybox__container.is-animated[aria-hidden=false] .fancybox__backdrop{animation:var(--f-backdrop-enter-duration, 0.35s) ease backwards f-fadeIn}.fancybox__container.is-animated[aria-hidden=true]>*:not(.fancybox__backdrop,.fancybox__carousel),.fancybox__container.is-animated[aria-hidden=true] .fancybox__carousel>*:not(.fancybox__viewport),.fancybox__container.is-animated[aria-hidden=true] .fancybox__slide>*:not(.fancybox__content){animation:var(--f-interface-exit-duration, 0.15s) ease forwards f-fadeOut}.fancybox__container.is-animated[aria-hidden=true] .fancybox__backdrop{animation:var(--f-backdrop-exit-duration, 0.35s) ease forwards f-fadeOut}.has-iframe .fancybox__content,.has-map .fancybox__content,.has-pdf .fancybox__content,.has-youtube .fancybox__content,.has-vimeo .fancybox__content,.has-html5video .fancybox__content{max-width:100%;flex-shrink:1;min-height:1px;overflow:visible}.has-iframe .fancybox__content,.has-map .fancybox__content,.has-pdf .fancybox__content{width:calc(100% - 120px);height:90%}.fancybox__container.is-compact .has-iframe .fancybox__content,.fancybox__container.is-compact .has-map .fancybox__content,.fancybox__container.is-compact .has-pdf .fancybox__content{width:100%;height:100%}.has-youtube .fancybox__content,.has-vimeo .fancybox__content,.has-html5video .fancybox__content{width:960px;height:540px;max-width:100%;max-height:100%}.has-map .fancybox__content,.has-pdf .fancybox__content,.has-youtube .fancybox__content,.has-vimeo .fancybox__content,.has-html5video .fancybox__content{padding:0;background:rgba(24,24,27,.9);color:#fff}.has-map .fancybox__content{background:#e5e3df}.fancybox__html5video,.fancybox__iframe{border:0;display:block;height:100%;width:100%;background:rgba(0,0,0,0)}.fancybox-placeholder{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}.f-carousel__thumbs{--f-thumb-width: 96px;--f-thumb-height: 72px;--f-thumb-outline: 0;--f-thumb-outline-color: #5eb0ef;--f-thumb-opacity: 1;--f-thumb-hover-opacity: 1;--f-thumb-selected-opacity: 1;--f-thumb-border-radius: 2px;--f-thumb-offset: 0px;--f-button-next-pos: 0;--f-button-prev-pos: 0}.f-carousel__thumbs.is-classic{--f-thumb-gap: 8px;--f-thumb-opacity: 0.5;--f-thumb-hover-opacity: 1;--f-thumb-selected-opacity: 1}.f-carousel__thumbs.is-modern{--f-thumb-gap: 4px;--f-thumb-extra-gap: 16px;--f-thumb-clip-width: 46px}.f-thumbs{position:relative;flex:0 0 auto;margin:0;overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);user-select:none;perspective:1000px;transform:translateZ(0)}.f-thumbs .f-spinner{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:2px;background-image:linear-gradient(#ebeff2, #e2e8f0);z-index:-1}.f-thumbs .f-spinner svg{display:none}.f-thumbs.is-vertical{height:100%}.f-thumbs__viewport{width:100%;height:auto;overflow:hidden;transform:translate3d(0, 0, 0)}.f-thumbs__track{display:flex}.f-thumbs__slide{position:relative;flex:0 0 auto;box-sizing:content-box;display:flex;align-items:center;justify-content:center;padding:0;margin:0;width:var(--f-thumb-width);height:var(--f-thumb-height);overflow:visible;cursor:pointer}.f-thumbs__slide.is-loading img{opacity:0}.is-classic .f-thumbs__viewport{height:100%}.is-modern .f-thumbs__track{width:max-content}.is-modern .f-thumbs__track::before{content:"";position:absolute;top:0;bottom:0;left:calc((var(--f-thumb-clip-width, 0))*-0.5);width:calc(var(--width, 0)*1px + var(--f-thumb-clip-width, 0));cursor:pointer}.is-modern .f-thumbs__slide{width:var(--f-thumb-clip-width);transform:translate3d(calc(var(--shift, 0) * -1px), 0, 0);transition:none;pointer-events:none}.is-modern.is-resting .f-thumbs__slide{transition:transform .33s ease}.is-modern.is-resting .f-thumbs__slide__button{transition:clip-path .33s ease}.is-using-tab .is-modern .f-thumbs__slide:focus-within{filter:drop-shadow(-1px 0px 0px var(--f-thumb-outline-color)) drop-shadow(2px 0px 0px var(--f-thumb-outline-color)) drop-shadow(0px -1px 0px var(--f-thumb-outline-color)) drop-shadow(0px 2px 0px var(--f-thumb-outline-color))}.f-thumbs__slide__button{appearance:none;width:var(--f-thumb-width);height:100%;margin:0 -100% 0 -100%;padding:0;border:0;position:relative;border-radius:var(--f-thumb-border-radius);overflow:hidden;background:rgba(0,0,0,0);outline:none;cursor:pointer;pointer-events:auto;touch-action:manipulation;opacity:var(--f-thumb-opacity);transition:opacity .2s ease}.f-thumbs__slide__button:hover{opacity:var(--f-thumb-hover-opacity)}.f-thumbs__slide__button:focus:not(:focus-visible){outline:none}.f-thumbs__slide__button:focus-visible{outline:none;opacity:var(--f-thumb-selected-opacity)}.is-modern .f-thumbs__slide__button{--clip-path: inset( 0 calc( ((var(--f-thumb-width, 0) - var(--f-thumb-clip-width, 0))) * (1 - var(--progress, 0)) * 0.5 ) round var(--f-thumb-border-radius, 0) );clip-path:var(--clip-path)}.is-classic .is-nav-selected .f-thumbs__slide__button{opacity:var(--f-thumb-selected-opacity)}.is-classic .is-nav-selected .f-thumbs__slide__button::after{content:"";position:absolute;top:0;left:0;right:0;height:auto;bottom:0;border:var(--f-thumb-outline, 0) solid var(--f-thumb-outline-color, transparent);border-radius:var(--f-thumb-border-radius);animation:f-fadeIn .2s ease-out;z-index:10}.f-thumbs__slide__img{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:var(--f-thumb-offset);box-sizing:border-box;pointer-events:none;object-fit:cover;border-radius:var(--f-thumb-border-radius)}.f-thumbs.is-horizontal .f-thumbs__track{padding:8px 0 12px 0}.f-thumbs.is-horizontal .f-thumbs__slide{margin:0 var(--f-thumb-gap) 0 0}.f-thumbs.is-vertical .f-thumbs__track{flex-wrap:wrap;padding:0 8px}.f-thumbs.is-vertical .f-thumbs__slide{margin:0 0 var(--f-thumb-gap) 0}.fancybox__thumbs{--f-thumb-width: 96px;--f-thumb-height: 72px;--f-thumb-border-radius: 2px;--f-thumb-outline: 2px;--f-thumb-outline-color: #ededed;position:relative;opacity:var(--fancybox-opacity, 1);transition:max-height .35s cubic-bezier(0.23, 1, 0.32, 1)}.fancybox__thumbs.is-classic{--f-thumb-gap: 8px;--f-thumb-opacity: 0.5;--f-thumb-hover-opacity: 1}.fancybox__thumbs.is-classic .f-spinner{background-image:linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05))}.fancybox__thumbs.is-modern{--f-thumb-gap: 4px;--f-thumb-extra-gap: 16px;--f-thumb-clip-width: 46px;--f-thumb-opacity: 1;--f-thumb-hover-opacity: 1}.fancybox__thumbs.is-modern .f-spinner{background-image:linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05))}.fancybox__thumbs.is-horizontal{padding:0 var(--f-thumb-gap)}.fancybox__thumbs.is-vertical{padding:var(--f-thumb-gap) 0}.is-compact .fancybox__thumbs{--f-thumb-width: 64px;--f-thumb-clip-width: 32px;--f-thumb-height: 48px;--f-thumb-extra-gap: 10px}.fancybox__thumbs.is-masked{max-height:0px !important}.is-closing .fancybox__thumbs{transition:none !important}.fancybox__toolbar{--f-progress-color: var(--fancybox-color, rgba(255, 255, 255, 0.94));--f-button-width: 46px;--f-button-height: 46px;--f-button-color: var(--fancybox-color);--f-button-hover-color: var(--fancybox-hover-color);--f-button-bg: rgba(24, 24, 27, 0.65);--f-button-hover-bg: rgba(70, 70, 73, 0.65);--f-button-active-bg: rgba(90, 90, 93, 0.65);--f-button-border-radius: 0;--f-button-svg-width: 24px;--f-button-svg-height: 24px;--f-button-svg-stroke-width: 1.5;--f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, 0.15));--f-button-svg-fill: none;--f-button-svg-disabled-opacity: 0.65;display:flex;flex-direction:row;justify-content:space-between;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI Adjusted","Segoe UI","Liberation Sans",sans-serif;color:var(--fancybox-color, currentColor);opacity:var(--fancybox-opacity, 1);text-shadow:var(--fancybox-toolbar-text-shadow, 1px 1px 1px rgba(0, 0, 0, 0.5));pointer-events:none;z-index:20}.fancybox__toolbar :focus-visible{z-index:1}.fancybox__toolbar.is-absolute,.is-compact .fancybox__toolbar{position:absolute;top:0;left:0;right:0}.is-idle .fancybox__toolbar{pointer-events:none;animation:.15s ease-out both f-fadeOut}.fancybox__toolbar__column{display:flex;flex-direction:row;flex-wrap:wrap;align-content:flex-start}.fancybox__toolbar__column.is-left,.fancybox__toolbar__column.is-right{flex-grow:1;flex-basis:0}.fancybox__toolbar__column.is-right{display:flex;justify-content:flex-end;flex-wrap:nowrap}.fancybox__infobar{padding:0 5px;line-height:var(--f-button-height);text-align:center;font-size:17px;font-variant-numeric:tabular-nums;-webkit-font-smoothing:subpixel-antialiased;cursor:default;user-select:none}.fancybox__infobar span{padding:0 5px}.fancybox__infobar:not(:first-child):not(:last-child){background:var(--f-button-bg)}[data-fancybox-toggle-slideshow]{position:relative}[data-fancybox-toggle-slideshow] .f-progress{height:100%;opacity:.3}[data-fancybox-toggle-slideshow] svg g:first-child{display:flex}[data-fancybox-toggle-slideshow] svg g:last-child{display:none}.has-slideshow [data-fancybox-toggle-slideshow] svg g:first-child{display:none}.has-slideshow [data-fancybox-toggle-slideshow] svg g:last-child{display:flex}[data-fancybox-toggle-fullscreen] svg g:first-child{display:flex}[data-fancybox-toggle-fullscreen] svg g:last-child{display:none}:fullscreen [data-fancybox-toggle-fullscreen] svg g:first-child{display:none}:fullscreen [data-fancybox-toggle-fullscreen] svg g:last-child{display:flex}.f-progress{position:absolute;top:0;left:0;right:0;height:3px;transform:scaleX(0);transform-origin:0;transition-property:transform;transition-timing-function:linear;background:var(--f-progress-color, var(--f-carousel-theme-color, #0091ff));z-index:30;user-select:none;pointer-events:none}/**
 * Swiper 11.2.10
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 28, 2025
 */

/* FONT_START */
@font-face {
  font-family: 'swiper-icons';
  src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');
  font-weight: 400;
  font-style: normal;
}
/* FONT_END */
: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);
  -webkit-backface-visibility: hidden;
          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-3d .swiper-slide,
.swiper-3d .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 */
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}
.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}
.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: '';
  flex-shrink: 0;
  order: 9999;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .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-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .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-lazy-preloader,
.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 */
