

/* Start:/local/templates/main/assets/css/pages/main.css?179186215557069*/
@charset "UTF-8";@import url("https://fonts.googleapis.com/css2?family=Geologica:wght@100..900&display=swap");@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap");/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-ease: initial;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}

@layer components;

@layer utilities {
  .visible {
    visibility: visible;
  }

  .container {
    width: 100%;
  }

  @media (min-width: 390px) {
    .container {
      max-width: 390px;
    }
  }

  @media (min-width: 834px) {
    .container {
      max-width: 834px;
    }
  }

  @media (min-width: 1443px) {
    .container {
      max-width: 1443px;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .block {
    display: block;
  }

  .flex {
    display: flex;
  }

  .hidden {
    display: none;
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .resize {
    resize: both;
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .delay-1 {
    transition-delay: 1ms;
  }

  .delay-2 {
    transition-delay: 2ms;
  }

  .delay-3 {
    transition-delay: 3ms;
  }

  .delay-4 {
    transition-delay: 4ms;
  }

  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}



:root {
  /* Цвета */
  --color-green: #00504E;
  --color-white: #FFF;
  --color-text-black: #1E1E1E;
  --color-text-grey: #86878A;
  --color-light-gray: #E6E7E8;
  --color-background-gray: #F0F0F0;
  --color-dark-gray: #414042;
  --color-border: #BDBFC6;
  --color-orange: #F04923;
  --color-error: #FF5933;
  --color-pale-blue: #DAF4FF;
  --color-region: #A2BFCE;
  --color-active-region: #C3D6E0;
  --color-blue-gray: #77A0B6;
  /* Шрифты */
  --font-family-default: "Geologica", Arial, sans-serif;
}
/* Базовык стили */
:root {
  /* Цвета */
  --color-green: #00504E;
  --color-white: #FFF;
  --color-text-black: #1E1E1E;
  --color-text-grey: #86878A;
  --color-light-gray: #E6E7E8;
  --color-background-gray: #F0F0F0;
  --color-dark-gray: #414042;
  --color-border: #BDBFC6;
  --color-orange: #F04923;
  --color-error: #FF5933;
  --color-pale-blue: #DAF4FF;
  --color-region: #A2BFCE;
  --color-active-region: #C3D6E0;
  --color-blue-gray: #77A0B6;
  /* Шрифты */
  --font-family-default: "Geologica", Arial, sans-serif;
}
@font-face {
  font-family: "Geologica";
  src: url("/fonts/Geologica-VariableFont_CRSV,SHRP,slnt,wght.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
/* Сброс базовых стилей */
* {
  box-sizing: border-box;
}
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  font-family: var(--font-family-default);
  scroll-behavior: smooth;
}
body {
  display: grid;
  grid-template-rows: auto 1fr auto;
  margin: 0;
  padding: 0;
  position: relative;
  min-height: 100vh;
  font-weight: 300;
  color: var(--color-text-black);
  user-select: none;
}
body::-webkit-scrollbar {
  display: none;
}
main {
  max-width: 100vw;
}
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
li,
button,
th,
td,
input,
label,
menu,
textarea,
pre {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-default);
}
ul,
ol {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
button {
  background-color: transparent;
  border: none;
  outline: none;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}
a {
  text-decoration: none;
  color: inherit;
  outline: none;
}
body {
  font-family: "Geologica", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 300;
  line-height: 24px;
  color: #1e1e1e;
}
.font-manrope {
  font-family: "Manrope", sans-serif;
}
/*Все шрифты адаптивны с 1920px до 375px*/
/* size: 146px-46px line-height: 146px-46px */
h1 {
  font-size: clamp(2.875rem, 1.358rem + 6.4725vw, 9.125rem);
  line-height: clamp(2.875rem, 1.358rem + 6.4725vw, 9.125rem);
  font-weight: 400;
}
/* size: 86px-36px line-height: 96x-40px */
h2 {
  font-size: clamp(2.25rem, 1.4915rem + 3.2362vw, 5.375rem);
  line-height: clamp(2.5rem, 1.6505rem + 3.6246vw, 6rem);
  font-weight: 400;
}
/* size: 56px-26px line-height: 66px-30px */
h3 {
  font-size: clamp(1.625rem, 1.1699rem + 1.9417vw, 3.5rem);
  line-height: clamp(2.2rem, 1.7328rem + 1.9935vw, 4.125rem);
  font-weight: 400;
}
/* size: 26px-24px line-height: 36px-30px */
h4 {
  font-size: clamp(1.5rem, 1.4697rem + 0.1294vw, 1.625rem);
  line-height: clamp(1.875rem, 1.784rem + 0.3883vw, 2.25rem);
  font-weight: 400;
}
/* size: 24px-20px line-height: 32px-26px */
h5 {
  font-size: clamp(1.25rem, 1.1893rem + 0.2589vw, 1.5rem);
  line-height: clamp(1.625rem, 1.534rem + 0.3883vw, 2rem);
  font-weight: 400;
}
/* size: 24px-18px line-height: 32px-24px  */
.subtitle {
  font-size: clamp(1.125rem, 1.034rem + 0.3883vw, 1.5rem);
  line-height: clamp(1.5rem, 1.3786rem + 0.5178vw, 2rem);
}
/* size: 24px-18px line-height: 32px-24px  */
.subtitle-medium {
  font-size: clamp(1.125rem, 1.034rem + 0.3883vw, 1.5rem);
  line-height: clamp(1.5rem, 1.3786rem + 0.5178vw, 2rem);
  font-weight: 500;
}
/* size: 18px-16px */
.body-text {
  font-size: clamp(1rem, 0.9697rem + 0.1294vw, 1.125rem);
  line-height: 24px;
}
/* size: 18px-16px */
.body-text-medium {
  font-size: clamp(1rem, 0.9697rem + 0.1294vw, 1.125rem);
  line-height: 24px;
  font-weight: 500;
}
/* size: 14px-12px*/
.caption {
  font-size: clamp(0.75rem, 0.7197rem + 0.1294vw, 0.875rem);
  line-height: 18px;
}
.link {
  width: fit-content;
  text-underline-position: from-font;
  transition: all 300ms ease;
}
.link--orange {
  width: fit-content;
  transition: all 300ms ease;
  color: var(--color-orange);
}
.link--white {
  width: fit-content;
  text-decoration: underline;
  text-underline-position: from-font;
  transition: all 300ms ease;
  color: var(--color-white);
  text-decoration-color: var(--color-white);
}
.btn {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 16px 24px;
  border-radius: 12px;
  transition: all 300ms ease;
}
.btn--orange {
  background: var(--color-orange);
  color: var(--color-white);
}
.btn-scroll-top {
  z-index: 100;
  position: fixed;
  bottom: 20px;
  right: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  /* 66px - 46px*/
  width: clamp(2.875rem, 2.5716rem + 1.2945vw, 4.125rem);
  /* 66px - 46px*/
  height: clamp(2.875rem, 2.5716rem + 1.2945vw, 4.125rem);
  border-radius: 100%;
  flex-shrink: 0;
  border: 2px solid var(--color-orange);
  transition: all 300ms ease;
  backdrop-filter: blur(26px);
}
.btn-scroll-top svg {
  flex-shrink: 0;
  /* 18px - 12px */
  width: clamp(0.75rem, 0.659rem + 0.3883vw, 1.125rem);
}
.btn--orange:disabled {
  background-color: #E6E7E8;
  color: #fff;
  cursor: default;
}
.link--orange:active {
  opacity: 0.7;
}
.link--white:active {
  color: var(--color-orange);
  text-decoration-color: var(--color-orange);
}
.link:active {
  color: var(--color-orange);
}
.btn--orange:not(:disabled):active {
  background-color: #e6360e;
}
.btn-scroll-top:active {
  background-color: var(--color-orange);
}
.btn-scroll-top:active path {
  stroke: var(--color-white);
}
@media (hover: hover) and (pointer: fine) {
  .link:hover {
    color: var(--color-orange);
  }
  .link--orange:hover {
    opacity: 0.7;
  }
  .link--white:hover {
    color: var(--color-orange);
    text-decoration-color: var(--color-orange);
  }
  .btn--orange:not(:disabled):hover {
    background-color: #e6360e;
  }
  .btn-scroll-top:hover {
    background-color: var(--color-orange);
  }
  .btn-scroll-top:hover path {
    stroke: var(--color-white);
  }
}
/*Шапка сайта*/
/*Настольная версия*/
.header--desktop {
  display: flex;
  justify-content: space-between;
  align-items: center;
  /*46px-26px*/
  gap: clamp(1.625rem, 1.3216rem + 1.2945vw, 2.875rem);
  /*26px 136px 0 136px - 16px 26px 0 26px*/
  padding: clamp(1rem, 0.8483rem + 0.6472vw, 1.625rem) clamp(1.625rem, -0.0437rem + 7.1197vw, 8.5rem) 0 clamp(1.625rem, -0.0437rem + 7.1197vw, 8.5rem);
}
.logo {
  display: flex;
  justify-content: center;
  align-items: center;
  /*255px-154px*/
  width: clamp(9.625rem, 8.0927rem + 6.5377vw, 15.938rem);
  /*72px-44px*/
  height: clamp(2.75rem, 2.3252rem + 1.8123vw, 4.5rem);
  flex-shrink: 0;
  transition: all 300ms ease;
}
.logo svg {
  width: 100%;
  height: 100%;
}
.header--desktop .wrapper-menu {
  display: flex;
}
.header--desktop .menu {
  display: flex;
  align-items: center;
  gap: 8px;
}
.header--desktop .menu a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px 16px;
  color: var(--color-white);
  white-space: nowrap;
  background-color: var(--color-green);
  border-radius: 96px;
  transition: all 300ms ease;
}
.burger-menu {
  display: none;
  /*38px 30px*/
  width: clamp(1.875rem, 1.7536rem + 0.5178vw, 2.375rem);
  height: 16px;
}
.burger-menu path {
  transition: all 300ms ease;
}
/*Мобильная версия*/
.header--mobile {
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100vh;
  transition: all 400ms ease-out;
  z-index: 3;
  background-color: var(--color-green);
  /*190px-66px*/
  gap: clamp(4.125rem, 2.2439rem + 8.0259vw, 11.875rem);
  /*26px 136px 0 136px - 16px 26px 0 26px*/
  padding: clamp(1rem, 0.8483rem + 0.6472vw, 1.625rem) clamp(1.625rem, -0.0437rem + 7.1197vw, 8.5rem) 0 clamp(1.625rem, -0.0437rem + 7.1197vw, 8.5rem);
}
.header--mobile-open {
  right: 0;
}
.header--mobile .header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  /*46px-26px*/
  gap: clamp(1.625rem, 1.3216rem + 1.2945vw, 2.875rem);
}
.header--mobile .menu {
  display: flex;
  flex-direction: column;
  /*46px-26px*/
  gap: clamp(1.625rem, 1.3216rem + 1.2945vw, 2.875rem);
}
.header--mobile .menu a {
  font-size: 24px;
  line-height: 30px;
  color: var(--color-white);
  transition: all 300ms ease;
}
.header--mobile .close path {
  transition: all 300ms ease;
}
.header--mobile .close:active path {
  stroke: var(--color-orange);
}
.header--mobile .menu a:active {
  color: var(--color-orange);
}
.burger-menu:active path {
  stroke: var(--color-orange);
}
@media (hover: hover) and (pointer: fine) {
  .header--desktop .menu a:hover {
    background-color: var(--color-orange);
  }
  .burger-menu:hover path {
    stroke: var(--color-orange);
  }
  .header--mobile .menu a:hover {
    color: var(--color-orange);
  }
  .header--mobile .close:hover path {
    stroke: var(--color-orange);
  }
}
@media (max-width: 900px) {
  .header--desktop menu {
    display: none;
  }
  .header--desktop .burger-menu {
    display: flex;
  }
}
.footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 46px;
  /* 66px 136px 55px 136px - 46px 26px 46px 26px */
  padding: clamp(2.875rem, 2.5716rem + 1.2945vw, 4.125rem) clamp(1.625rem, -0.0437rem + 7.1197vw, 8.5rem) clamp(2.875rem, 2.7383rem + 0.583vw, 3.438rem) clamp(1.625rem, -0.0437rem + 7.1197vw, 8.5rem);
  background-color: var(--color-background-gray);
}
.wrapper-logo {
  display: flex;
  flex-direction: column;
  /* 33px-27px */
  gap: clamp(1.688rem, 1.597rem + 0.3883vw, 2.063rem);
  flex: 1;
}
.copyright--under-logo {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.footer .wrapper-contacts {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  /* 46px-26px */
  gap: clamp(1.625rem, 1.3216rem + 1.2945vw, 2.875rem);
  flex: 1;
}
.footer .contacts {
  display: flex;
  flex-wrap: wrap-reverse;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  white-space: nowrap;
}
.footer .contacts a,
.footer .address-caption {
  white-space: nowrap;
}
.footer .wrapper-address {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 16px;
}
.footer .address {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.footer .address-value {
  text-wrap-style: balance;
}
.footer .address:first-child,
.footer .contacts a:first-child {
  flex: 5;
}
.footer .address:last-child,
.footer .contacts a:last-child {
  flex: 4;
}
.footer .address-caption {
  color: var(--color-text-grey);
}
.footer .copyright {
  display: none;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
}
@media (max-width: 744px) {
  .copyright--under-logo {
    display: none;
  }
  .footer .copyright {
    display: flex;
  }
}
/* Стили для кастомного чекбокса */
.caption-checkbox {
  display: flex;
  align-items: center;
  gap: 10px;
}
.checkbox-states {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
/* Общие стили для всех состояний чекбокса */
.checkbox-state {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 4px 0;
  cursor: pointer;
}
/* Квадратик чекбокса */
.checkbox-box {
  width: 16px;
  height: 16px;
  border-radius: 4px;
  border: 1px solid white;
  position: relative;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* Галочка */
.checkmark {
  width: 10px;
  height: 9px;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.checkmark path {
  stroke: white;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
/* Состояния чекбокса */
/* Обычное состояние */
.checkbox-state.normal .checkbox-box {
  border-color: white;
  background: transparent;
}
/* Ховер состояние */
.checkbox-state.hover .checkbox-box {
  border-color: #F04923;
  background: transparent;
}
/* Выбранное состояние (true) */
.checkbox-state.checked .checkbox-box {
  border-color: #F04923;
  background: #F04923;
}
.checkbox-state.checked .checkmark {
  opacity: 1;
}
/* Интерактивный чекбокс */
.interactive-demo {
  margin-top: 40px;
}
.custom-checkbox {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  padding: 15px;
  background: white;
  border-radius: 8px;
  border: 1px solid #e0e0e0;
  transition: all 0.2s ease;
  max-width: 300px;
}
.custom-checkbox:hover {
  border-color: #F04923;
  box-shadow: 0 2px 8px rgba(240, 73, 35, 0.1);
}
.custom-checkbox-input {
  display: none;
}
.custom-checkbox-input:checked + .custom-checkbox-box {
  border-color: #F04923;
  background: #F04923;
}
.custom-checkbox-mark {
  width: 12px;
  height: 11px;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.custom-checkbox-input:checked + .custom-checkbox-box .custom-checkbox-mark {
  opacity: 1;
}
.custom-checkbox-mark path {
  stroke: white;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.custom-checkbox-label {
  font-size: 16px;
  font-weight: 500;
  color: #333;
  user-select: none;
}
/* Центрирование галочки (абсолютный метод) */
.centered-checkmark {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 9px;
}
.file-upload-container {
  height: auto;
  min-height: 300px;
  /* 649px - 343px */
  width: clamp(21.438rem, 16.796rem + 19.8058vw, 40.563rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border: 2px dashed var(--color-border);
  border-radius: 8px;
  padding: 26px 26px 0 26px;
  text-align: center;
  transition: all 300ms ease;
  position: relative;
}
.file-upload-wrapper-info {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  /* 36px - 16px */
  gap: clamp(1rem, 0.6966rem + 1.2945vw, 2.25rem);
  margin-bottom: 52px;
}
.file-upload-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 16px;
}
.file-upload-container.dragover {
  border-color: var(--color-white);
}
.file-upload-label {
  cursor: pointer;
}
.file-upload-hint {
  display: flex;
  flex-direction: column;
  color: var(--color-white);
  opacity: 0.6;
  transition: all 300ms ease;
}
.file-list {
  width: 100%;
  display: none;
  justify-content: center;
  gap: 8px;
  flex-wrap: nowrap;
}
.file-item {
  display: flex;
  align-items: center;
  background-color: var(--color-white);
  border-radius: 20px;
  padding: 6px 16px;
  gap: 6px;
  min-width: 140px;
}
.file-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.file-remove {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  background: none;
  border: none;
  cursor: pointer;
  border-radius: 50%;
  transition: all 300ms ease;
  flex-shrink: 0;
}
.file-remove svg {
  width: 16px;
  height: 16px;
}
.loader {
  width: 16px;
  height: 16px;
  border: 2px solid rgba(201, 201, 201, 0.644);
  border-top: 2px solid var(--color-text-black);
  border-left: 2px solid var(--color-text-black);
  border-bottom: 2px solid var(--color-text-black);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
.loader--white {
  width: 16px;
  height: 16px;
  border: 2px solid rgba(201, 201, 201, 0.644);
  border-top: 2px solid var(--color-white);
  border-left: 2px solid var(--color-white);
  border-bottom: 2px solid var(--color-white);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
.file-upload-error {
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: 0px;
  height: 42px;
  color: var(--color-error);
  display: none;
  opacity: 1;
  transition: all 300ms ease;
}
.file-upload-error.hidden {
  opacity: 0;
  visibility: hidden;
}
.file-remove:active {
  background-color: rgba(230, 230, 230, 0.8);
}
@media (max-width: 744px) {
  .file-list {
    flex-wrap: wrap;
  }
}
@media (hover: hover) and (pointer: fine) {
  .file-remove:hover {
    background-color: rgba(230, 230, 230, 0.8);
  }
}
@media (max-width: 1200px) {
  .file-upload-container {
    min-height: auto !important;
    width: 100% !important;
  }
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Анимированные элементы */
.fade-in {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.fade-in.visible-animation {
  opacity: 1;
  transform: translateY(0);
}
/* Задержки для анимации */
.delay-1 {
  transition-delay: 0.1s;
}
.delay-2 {
  transition-delay: 0.2s;
}
.delay-3 {
  transition-delay: 0.3s;
}
.delay-4 {
  transition-delay: 0.4s;
}
.delay-5 {
  transition-delay: 0.5s;
}
.copy-notification {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  position: fixed;
  z-index: 100;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  padding: 10px 16px;
  background-color: var(--color-green);
  color: var(--color-white);
  border-radius: 12px;
  opacity: 0;
  transition: all 300ms ease;
  box-shadow: 0px 0px 8px rgb(0, 47, 46);
}
.copy-notification svg {
  fill: var(--color-white);
  width: 22px;
}
/* ================== Главный экран ================== */
.main-screen {
  display: flex;
  flex-direction: column;
  /* 32px-16px */
  gap: clamp(1rem, 0.7573rem + 1.0356vw, 2rem);
  /* 96px-48px */
  margin-top: clamp(3rem, 2.2718rem + 3.1068vw, 6rem);
}
.main-screen-image {
  position: relative;
}
.main-screen-image img {
  width: 100%;
  /* 800px-386px */
  height: clamp(24.125rem, 17.8447rem + 26.7961vw, 50rem);
  object-position: left top;
  object-fit: cover;
}
.main-screen-image::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(181deg, rgba(0, 80, 78, 0) 31.1%, rgba(0, 80, 78, 0.64) 99.47%);
  pointer-events: none;
}
.title-page {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  /* 150px-16px */
  gap: clamp(1rem, -1.0328rem + 8.6731vw, 9.375rem);
}
.title-page p {
  max-width: 540px;
  text-wrap-style: balance;
}
.dividing-line {
  height: 1px;
  background-color: var(--color-border);
}
.we-in-numbers {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  /* 24px-16px */
  gap: clamp(1rem, 0.8786rem + 0.5178vw, 1.5rem);
}
.we-in-numbers,
.dividing-line,
.title-page {
  /* 0 136px 0 136px - 0 26px 0 26px */
  margin: 0 clamp(1.625rem, -0.0437rem + 7.1197vw, 8.5rem);
}
.fact {
  display: flex;
  align-items: flex-end;
  /* 16px-6px */
  gap: clamp(0.375rem, 0.2233rem + 0.6472vw, 1rem);
  /* 390px - 118px */
  /* min-width: clamp(7.375rem, 3.2488rem + 17.6052vw, 24.375rem); */
}
.fact h2 {
  line-height: 0.8;
}
.fact h2[data-number="12"],
.fact h2[data-number="10"],
.fact h2[data-number="17"] {
  /* 96px - 52px */
  min-width: clamp(3.25rem, 2.5825rem + 2.8479vw, 6rem);
}
.fact h2[data-number="165"] {
  /* 152px - 62px */
  min-width: clamp(3.875rem, 2.5097rem + 5.8252vw, 9.5rem);
}
.fact__info {
  width: min-content;
  color: var(--color-text-grey);
  line-height: 1.2;
}
/* ================== Миссия ================== */
.mission {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 65vh;
  text-align: center;
  /* 0 136px 0 136px - 0 26px 0 26px */
  padding: 0 clamp(1.625rem, -0.0437rem + 7.1197vw, 8.5rem);
}
.mission span:nth-child(1) {
  opacity: 1;
}
.mission span:nth-child(2) {
  opacity: 0.8;
}
.mission span:nth-child(n+3) {
  opacity: 0.6;
}
.mission span {
  transition: all 600ms ease;
}
/* ================== Карта ================== */
.map {
  position: relative;
  width: 100%;
  background-color: var(--color-light-gray, #f5f5f5);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.map__wrapper {
  position: relative;
  width: 100%;
  height: 90vh;
  max-width: 100%;
}
.map__container {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  cursor: grab;
  display: flex;
  align-items: center;
  justify-content: center;
}
.map__container:active {
  cursor: grabbing;
}
.map__content {
  position: relative;
  transition: transform 0.1s ease-out;
  transform-origin: center center;
}
.map__svg {
  display: block;
  transition: width 0.2s ease, height 0.2s ease;
  user-select: none;
}
.map__region {
  transition: fill-opacity 0.2s ease;
  cursor: pointer;
}
.map__service-region__group path:not(.map__label) {
  fill: var(--color-active-region);
  cursor: pointer;
  transition: stroke 300ms ease-out;
  stroke: rgba(255, 255, 255, 0);
}
.map-legend {
  position: absolute;
  z-index: 2;
  top: clamp(1rem, 0.51rem + 2.07vw, 3rem);
  left: clamp(1.625rem, -0.0437rem + 7.1197vw, 8.5rem);
  height: min-content;
  display: flex;
  /* 24px - 10px */
  gap: clamp(0.65rem, 0.4437rem + 0.8803vw, 1.5rem);
}
.map-legend__item {
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}
.map__tooltip {
  transition: all 300ms ease;
  opacity: 0;
  pointer-events: none;
}
/* Стили для интерактивных регионов карты */
.map__service-region__group {
  cursor: pointer;
  transition: opacity 200ms ease;
}
.map__service-region__group:hover .map__service-region {
  opacity: 0.8;
}
.map__service-region {
  transition: opacity 200ms ease;
}
.map-description--desktop {
  z-index: 10;
  position: absolute;
  top: clamp(1rem, 0.51rem + 2.07vw, 3rem);
  right: 100px;
  /* 374px - 323px */
  width: clamp(20.188rem, 19.4145rem + 3.3005vw, 23.375rem);
  height: max-content;
  display: flex;
  flex-direction: column;
  background-color: var(--color-green);
  color: var(--color-white);
  gap: 16px;
  /* 36px - 26px */
  padding: clamp(1.65rem, 1.5044rem + 0.6214vw, 2.25rem);
  /* 30px - 24px*/
  clip-path: polygon(95.722% 100%, 95.722% 100%, 96.416% 99.931%, 97.074% 99.732%, 97.688% 99.413%, 98.249% 98.985%, 98.747% 98.459%, 99.175% 97.845%, 99.523% 97.156%, 99.782% 96.4%, 99.944% 95.591%, 100% 94.737%, 100% 13.588%, 100% 13.588%, 99.982% 12.999%, 99.929% 12.418%, 99.842% 11.844%, 99.72% 11.282%, 99.566% 10.733%, 99.379% 10.2%, 99.161% 9.684%, 98.911% 9.188%, 98.631% 8.715%, 98.322% 8.265%, 94.098% 2.572%, 94.098% 2.572%, 93.719% 2.102%, 93.311% 1.675%, 92.879% 1.294%, 92.424% 0.959%, 91.949% 0.672%, 91.456% 0.433%, 90.948% 0.246%, 90.427% 0.11%, 89.897% 0.028%, 89.359% 0%, 4.278% 0%, 4.278% 0%, 3.584% 0.069%, 2.926% 0.268%, 2.312% 0.587%, 1.751% 1.015%, 1.253% 1.542%, 0.825% 2.155%, 0.478% 2.844%, 0.218% 3.6%, 0.056% 4.409%, 0% 5.263%, 0% 94.737%, 0% 94.737%, 0.056% 95.591%, 0.218% 96.4%, 0.478% 97.156%, 0.825% 97.845%, 1.253% 98.459%, 1.751% 98.985%, 2.312% 99.413%, 2.926% 99.732%, 3.584% 99.931%, 4.278% 100%, 95.722% 100%);
}
.wrapper-map-description {
  display: none;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding: 40px clamp(1.625rem, -0.0437rem + 7.1197vw, 8.5rem);
}
.map-description--mobile {
  /* 374px - 323px */
  width: clamp(20.188rem, 19.4145rem + 3.3005vw, 23.375rem);
  height: max-content;
  display: flex;
  flex-direction: column;
  background-color: var(--color-green);
  color: var(--color-white);
  gap: 16px;
  /* 36px - 26px */
  padding: clamp(1.65rem, 1.5044rem + 0.6214vw, 2.25rem);
  /* 30px - 24px*/
  clip-path: polygon(95.722% 100%, 95.722% 100%, 96.416% 99.931%, 97.074% 99.732%, 97.688% 99.413%, 98.249% 98.985%, 98.747% 98.459%, 99.175% 97.845%, 99.523% 97.156%, 99.782% 96.4%, 99.944% 95.591%, 100% 94.737%, 100% 13.588%, 100% 13.588%, 99.982% 12.999%, 99.929% 12.418%, 99.842% 11.844%, 99.72% 11.282%, 99.566% 10.733%, 99.379% 10.2%, 99.161% 9.684%, 98.911% 9.188%, 98.631% 8.715%, 98.322% 8.265%, 94.098% 2.572%, 94.098% 2.572%, 93.719% 2.102%, 93.311% 1.675%, 92.879% 1.294%, 92.424% 0.959%, 91.949% 0.672%, 91.456% 0.433%, 90.948% 0.246%, 90.427% 0.11%, 89.897% 0.028%, 89.359% 0%, 4.278% 0%, 4.278% 0%, 3.584% 0.069%, 2.926% 0.268%, 2.312% 0.587%, 1.751% 1.015%, 1.253% 1.542%, 0.825% 2.155%, 0.478% 2.844%, 0.218% 3.6%, 0.056% 4.409%, 0% 5.263%, 0% 94.737%, 0% 94.737%, 0.056% 95.591%, 0.218% 96.4%, 0.478% 97.156%, 0.825% 97.845%, 1.253% 98.459%, 1.751% 98.985%, 2.312% 99.413%, 2.926% 99.732%, 3.584% 99.931%, 4.278% 100%, 95.722% 100%);
}
.map__controls {
  position: absolute;
  top: clamp(1rem, 0.51rem + 2.07vw, 3rem);
  right: 20px;
  z-index: 10;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.map__control-btn {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-white);
  border: 2px solid var(--color-orange);
  border-radius: 8px;
  font-size: 24px;
  font-weight: 600;
  color: var(--color-orange);
  cursor: pointer;
  transition: all 300ms ease;
  user-select: none;
}
.map__control-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.map__control-btn svg {
  width: 20px;
  height: 20px;
}
.map__scale-display {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-white);
  border: 2px solid var(--color-green);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 600;
  color: var(--color-green);
  user-select: none;
}
.map__region-text {
  dominant-baseline: middle;
  text-anchor: middle;
  /* Шрифт */
  font-family: Geologica;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
  fill: #1E1E1E;
  /* Для центрирования */
  alignment-baseline: middle;
  text-align: center;
}
/* ================== Компетенции ================== */
.competencies {
  display: flex;
  flex-direction: column;
  /* 56px - 26px */
  gap: clamp(1.625rem, 1.1699rem + 1.9417vw, 3.5rem);
  /* 146px - 66px */
  margin-top: clamp(4.125rem, 0.9617rem + 6.8027vw, 9.125rem);
}
.competencies-title {
  /* 0 136px 0 136px - 0 26px 0 26px */
  margin: 0 clamp(1.625rem, -0.0437rem + 7.1197vw, 8.5rem);
}
.competencies-cards {
  position: relative;
  display: flex;
  flex-direction: column;
  /* 56px - 26px */
  gap: clamp(1.625rem, 1.1699rem + 1.9417vw, 3.5rem);
}
.competencies-card__reverce {
  flex-direction: row-reverse;
}
.competencies-card-wrapper {
  position: sticky;
  display: flex;
  /* 702px - 527px*/
  height: clamp(33.938rem, 17.3763rem + 22.0822vw, 43.875rem);
}
.competencies-card__left-slice {
  display: flex;
  flex-direction: column;
  /* 120px - 36px */
  width: clamp(2.25rem, 0.9757rem + 5.4369vw, 7.5rem);
  margin-right: -2px;
  flex-shrink: 0;
}
.competencies-card__left-slice svg {
  width: 100%;
  height: auto;
}
.competencies-card__empty-block {
  width: 100%;
  flex-grow: 1;
  margin-top: -2px;
  border-radius: 0 0 0 16px;
}
/* Стили для разных типов карточек */
.competencies-card-wrapper:nth-child(1) .competencies-card__empty-block {
  background-color: var(--color-light-gray);
}
.competencies-card-wrapper:nth-child(2) .competencies-card__empty-block {
  background-color: var(--color-dark-gray);
}
.competencies-card-wrapper:nth-child(3) .competencies-card__empty-block {
  background-color: var(--color-green);
}
.career-card-wrapper {
  display: flex;
  /* 0 136px 146px 136px - 0 26px 46px 26px */
  margin: 0 clamp(1.625rem, -0.0437rem + 7.1197vw, 8.5rem) clamp(2.875rem, 1.358rem + 6.4725vw, 9.125rem) clamp(1.625rem, -0.0437rem + 7.1197vw, 8.5rem);
}
.career-card-wrapper,
.career-card-wrapper--error,
.career-card-wrapper--success {
  overflow: clip;
  /* 492px - 475px */
  height: clamp(29.688rem, 29.4302rem + 1.0998vw, 30.75rem);
}
.career-card__left-slice {
  display: flex;
  flex-direction: column;
  /* 80px - 26px */
  width: clamp(1.625rem, 0.8058rem + 3.4951vw, 5rem);
  margin-right: -2px;
  flex-shrink: 0;
}
.career-card__left-slice .career-card__empty-block {
  margin-bottom: -2px;
  border-radius: 16px 0 0 0;
}
.career-card__right-slice .career-card__empty-block {
  margin-top: -2px;
  border-radius: 0 0 16px 0;
}
.career-card__left-slice svg {
  width: 100%;
  height: auto;
}
.career-card__right-slice {
  display: flex;
  flex-direction: column;
  /* 80px - 26px */
  width: clamp(1.625rem, 0.8058rem + 3.4951vw, 5rem);
  margin-left: -2px;
  flex-shrink: 0;
}
.career-card__right-slice svg {
  width: 100%;
  height: auto;
}
.career-card__empty-block {
  width: 100%;
  background-color: var(--color-green);
  flex-grow: 1;
}
.competencies-card {
  display: flex;
  justify-content: space-between;
  /* 135px - 36px */
  gap: clamp(2.25rem, 0.7481rem + 6.4083vw, 8.438rem);
  /* 96px 135px 76px 0px - 36px 26px 36px 0px */
  padding: clamp(2.25rem, 1.3398rem + 3.8835vw, 6rem) clamp(1.625rem, -0.0286rem + 7.0555vw, 8.438rem) clamp(1.625rem, 0.8665rem + 3.2362vw, 4.75rem) 0;
  border-radius: 0 16px 16px 0;
  width: 100%;
}
.competencies-card-wrapper:nth-child(1) {
  top: 0;
  z-index: 1;
}
.competencies-card-wrapper:nth-child(2) {
  top: 50px;
  z-index: 2;
}
.competencies-card-wrapper:nth-child(3) {
  top: 100px;
  z-index: 3;
}
.competencies-card--grey {
  background-color: var(--color-light-gray);
}
.competencies-card--green {
  background-color: var(--color-green);
}
.competencies-card--dark-grey {
  background-color: var(--color-dark-gray);
}
.competencies-card img {
  object-fit: cover;
  object-position: left top;
  /* 814px - 323px */
  width: clamp(20.188rem, 12.7397rem + 31.7794vw, 50.875rem);
  /* 530px - 309px*/
  height: clamp(19.313rem, 15.9606rem + 14.3037vw, 33.125rem);
  flex-shrink: 0;
  border-radius: 16px;
}
.competencies-card__info {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 24px;
}
.competencies-card__info--white {
  color: var(--color-white);
}
.competencies-card__info h3 {
  order: 1;
  text-wrap-style: balance;
}
.competencies-card__info ul {
  display: flex;
  flex-direction: column;
  /* 26px - 16px */
  gap: clamp(1rem, -0.875rem + 2.0833vw, 1.625rem);
  order: 3;
}
/* ================== Сферы бизнеса ==================*/
.service-areas {
  display: flex;
  flex-direction: column;
  /* 56px - 26px */
  gap: clamp(1.625rem, 1.1699rem + 1.9417vw, 3.5rem);
  /* 146px 136px 146px 136px - 66px 26px 66px 26px */
  margin: clamp(4.125rem, 0.9617rem + 6.8027vw, 9.125rem) clamp(1.625rem, -0.0437rem + 7.1197vw, 8.5rem);
}
.service-areas__title {
  max-width: 900px;
}
.service-areas__card--fixed {
  opacity: 1;
  visibility: visible;
  position: relative;
  /* 346px - 267px */
  width: clamp(16.688rem, 15.4897rem + 5.1128vw, 21.625rem);
  /* 442px - 328px */
  height: clamp(20.5rem, 18.7706rem + 7.3786vw, 27.625rem);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background-color: var(--color-orange);
  /* 36px 26px - 26px 16px */
  padding: clamp(1.625rem, 1.4733rem + 0.6472vw, 2.25rem) clamp(1rem, 0.8483rem + 0.6472vw, 1.625rem);
  color: var(--color-white);
  clip-path: polygon(95.604% 100%, 95.604% 100%, 96.317% 99.953%, 96.994% 99.817%, 97.624% 99.6%, 98.2% 99.309%, 98.713% 98.951%, 99.152% 98.533%, 99.509% 98.064%, 99.776% 97.55%, 99.942% 96.999%, 100% 96.418%, 100% 9.55%, 100% 9.55%, 99.984% 9.193%, 99.935% 8.84%, 99.854% 8.492%, 99.743% 8.151%, 99.601% 7.818%, 99.43% 7.495%, 99.229% 7.182%, 99% 6.882%, 98.744% 6.595%, 98.46% 6.323%, 98.46% 6.323%, 97.889% 5.815%, 97.34% 5.327%, 96.806% 4.852%, 96.283% 4.386%, 95.765% 3.926%, 95.249% 3.467%, 94.728% 3.004%, 94.198% 2.533%, 93.655% 2.05%, 93.092% 1.549%, 93.092% 1.549%, 92.746% 1.266%, 92.374% 1.009%, 91.98% 0.779%, 91.565% 0.578%, 91.132% 0.405%, 90.682% 0.261%, 90.219% 0.148%, 89.745% 0.066%, 89.261% 0.017%, 88.771% 0%, 4.396% 0%, 4.396% 0%, 3.683% 0.047%, 3.006% 0.183%, 2.376% 0.4%, 1.8% 0.691%, 1.287% 1.049%, 0.848% 1.467%, 0.491% 1.936%, 0.224% 2.45%, 0.058% 3.001%, 0% 3.582%, 0% 96.418%, 0% 96.418%, 0.058% 96.999%, 0.224% 97.55%, 0.491% 98.064%, 0.848% 98.533%, 1.287% 98.951%, 1.8% 99.309%, 2.376% 99.6%, 3.006% 99.817%, 3.683% 99.953%, 4.396% 100%, 95.604% 100%);
  flex-shrink: 0;
}
.service-areas__card--swipable {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  /* 346px - 267px */
  width: clamp(16.688rem, 15.4897rem + 5.1128vw, 21.625rem);
  /* 442px - 328px */
  height: clamp(20.5rem, 18.7706rem + 7.3786vw, 27.625rem);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background-color: var(--color-orange);
  /* 36px 26px - 26px 16px */
  padding: clamp(1.625rem, 1.4733rem + 0.6472vw, 2.25rem) clamp(1rem, 0.8483rem + 0.6472vw, 1.625rem);
  color: var(--color-white);
  clip-path: polygon(95.604% 100%, 95.604% 100%, 96.317% 99.953%, 96.994% 99.817%, 97.624% 99.6%, 98.2% 99.309%, 98.713% 98.951%, 99.152% 98.533%, 99.509% 98.064%, 99.776% 97.55%, 99.942% 96.999%, 100% 96.418%, 100% 9.55%, 100% 9.55%, 99.984% 9.193%, 99.935% 8.84%, 99.854% 8.492%, 99.743% 8.151%, 99.601% 7.818%, 99.43% 7.495%, 99.229% 7.182%, 99% 6.882%, 98.744% 6.595%, 98.46% 6.323%, 98.46% 6.323%, 97.889% 5.815%, 97.34% 5.327%, 96.806% 4.852%, 96.283% 4.386%, 95.765% 3.926%, 95.249% 3.467%, 94.728% 3.004%, 94.198% 2.533%, 93.655% 2.05%, 93.092% 1.549%, 93.092% 1.549%, 92.746% 1.266%, 92.374% 1.009%, 91.98% 0.779%, 91.565% 0.578%, 91.132% 0.405%, 90.682% 0.261%, 90.219% 0.148%, 89.745% 0.066%, 89.261% 0.017%, 88.771% 0%, 4.396% 0%, 4.396% 0%, 3.683% 0.047%, 3.006% 0.183%, 2.376% 0.4%, 1.8% 0.691%, 1.287% 1.049%, 0.848% 1.467%, 0.491% 1.936%, 0.224% 2.45%, 0.058% 3.001%, 0% 3.582%, 0% 96.418%, 0% 96.418%, 0.058% 96.999%, 0.224% 97.55%, 0.491% 98.064%, 0.848% 98.533%, 1.287% 98.951%, 1.8% 99.309%, 2.376% 99.6%, 3.006% 99.817%, 3.683% 99.953%, 4.396% 100%, 95.604% 100%);
  flex-shrink: 0;
}
.arrow__animate--fixed {
  width: 100%;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  animation: pulse-fixed 5s forwards;
  animation-play-state: paused;
}
.arrow__animate--swipable {
  width: 100%;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  animation: pulse-swipable 5s forwards;
  animation-play-state: paused;
}
.service-areas__wrapper-cards {
  display: flex;
  overflow: hidden;
  /* 24px - 16px */
  gap: clamp(1rem, 0.8786rem + 0.5178vw, 1.5rem);
}
.service-areas__cards {
  display: flex;
  /* 24px - 16px */
  gap: clamp(1rem, 0.8786rem + 0.5178vw, 1.5rem);
  overflow: hidden;
}
.service-area__card {
  /* 346px - 267px */
  width: clamp(16.688rem, 15.4897rem + 5.1128vw, 21.625rem);
  /* 442px - 328px */
  height: clamp(20.5rem, 18.7706rem + 7.3786vw, 27.625rem);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-shrink: 0;
  background-color: var(--color-light-gray);
  clip-path: polygon(95.556% 0%, 95.556% 0%, 96.276% 0.047%, 96.96% 0.185%, 97.598% 0.404%, 98.18% 0.698%, 98.698% 1.06%, 99.143% 1.482%, 99.504% 1.956%, 99.773% 2.476%, 99.942% 3.033%, 100% 3.62%, 100% 90.197%, 100% 90.197%, 99.981% 90.602%, 99.926% 91.003%, 99.835% 91.399%, 99.708% 91.786%, 99.547% 92.164%, 99.352% 92.532%, 99.124% 92.887%, 98.864% 93.229%, 98.572% 93.555%, 98.249% 93.864%, 93.332% 98.238%, 93.332% 98.238%, 92.938% 98.56%, 92.515% 98.852%, 92.066% 99.114%, 91.594% 99.343%, 91.101% 99.54%, 90.59% 99.703%, 90.063% 99.832%, 89.524% 99.925%, 88.973% 99.981%, 88.416% 100%, 4.444% 100%, 4.444% 100%, 3.724% 99.953%, 3.04% 99.815%, 2.402% 99.596%, 1.82% 99.302%, 1.302% 98.94%, 0.858% 98.518%, 0.496% 98.044%, 0.227% 97.524%, 0.058% 96.967%, 0% 96.38%, 0% 3.62%, 0% 3.62%, 0.058% 3.033%, 0.227% 2.476%, 0.496% 1.956%, 0.858% 1.482%, 1.302% 1.06%, 1.82% 0.698%, 2.402% 0.404%, 3.04% 0.185%, 3.724% 0.047%, 4.444% 0%, 95.556% 0%);
}
.service-area__buttons {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
}
.service-area__buttons button {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-grow: 1;
  transition: all 300ms ease;
}
.service-area__buttons button svg {
  flex-shrink: 0;
  flex-grow: 1;
}
.service-area__card-image__container {
  /* 246px - 182px */
  height: clamp(11.375rem, 10.4041rem + 4.1424vw, 15.375rem);
  border-radius: 16px;
  overflow: hidden;
  cursor: pointer;
}
.service-area__card img {
  transition: all 300ms ease;
  object-fit: cover;
}
.service-area__card h5 {
  text-wrap-style: balance;
  /* 36px 40px 36px 26px - 26px 16px 26px 16px*/
  padding: clamp(1.625rem, 1.4733rem + 0.6472vw, 2.25rem) clamp(1rem, 0.6359rem + 1.5534vw, 2.5rem) clamp(1.625rem, 1.4733rem + 0.6472vw, 2.25rem) clamp(1rem, 0.8483rem + 0.6472vw, 1.625rem);
}
.count-areas {
  display: flex;
  align-items: flex-end;
  gap: clamp(0.625rem, 0.5643rem + 0.2589vw, 0.875rem);
}
.count-areas h2 {
  line-height: 0.8;
}
.count-areas span {
  opacity: 0.8;
  line-height: 1.2;
}
/* ================== Карьера ==================*/
.career {
  display: flex;
  flex-direction: column;
  /* 56px - 26px */
  gap: clamp(1.625rem, 1.1699rem + 1.9417vw, 3.5rem);
}
.career-title {
  /* 0 136px 0 136px - 0 26px 0 26px */
  margin: 0 clamp(1.625rem, -0.0437rem + 7.1197vw, 8.5rem);
}
.career-content {
  display: flex;
  flex-direction: column;
  /* 96px - 26px */
  gap: clamp(1.625rem, 0.5631rem + 4.5307vw, 6rem);
}
.wrapper-specialists {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 26px;
}
.wrapper-specialists__description {
  max-width: 560px;
}
.specialists {
  display: flex;
  align-items: center;
  /* 36px - 16px */
  gap: clamp(1rem, 0.6966rem + 1.2945vw, 2.25rem);
  background-color: var(--color-pale-blue);
  border-radius: 16px;
  /* 36px 46px - 26px 20px */
  padding: clamp(1.625rem, 1.4733rem + 0.6472vw, 2.25rem) clamp(1.25rem, 0.8556rem + 1.6828vw, 2.875rem);
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.specialists.visible {
  opacity: 1;
  transform: translateY(0);
}
.career-info {
  display: flex;
  flex-direction: column;
  /* 46px - 26px */
  gap: clamp(1.625rem, 1.3216rem + 1.2945vw, 2.875rem);
  /* 0 136px 0 136px - 0 26px 0 26px */
  margin: 0 clamp(1.625rem, -0.0437rem + 7.1197vw, 8.5rem);
}
.specialists__fact {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.specialists__fact span {
  word-break: auto-phrase;
  /* 154px - 142px */
  width: clamp(8.875rem, 8.693rem + 0.7767vw, 9.625rem);
  color: var(--color-text-grey);
}
.wrapper-specialists__avatars {
  display: flex;
  position: relative;
  /* 80px-60px */
  height: clamp(3.75rem, 3.1432rem + 2.589vw, 6.25rem);
  width: 100%;
  overflow: hidden;
}
.wrapper-specialists__avatars img {
  /* 100px-60px */
  width: clamp(3.75rem, 3.1432rem + 2.589vw, 6.25rem);
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid var(--color-white);
  opacity: 0;
  transform: translateX(-100px) scale(0.8);
  transition: all 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.specialists.animate .wrapper-specialists__avatars img {
  opacity: 1;
  transform: translateX(0) scale(1);
}
.specialists .wrapper-specialists__avatars img:not(:first-child) {
  /* -30px - -24px */
  margin-left: clamp(-1.5rem, -1.409rem - 0.3883vw, -1.875rem);
}
.career-advantages {
  display: grid;
  /* 387px - 283px */
  grid-template-columns: repeat(auto-fit, minmax(clamp(17.688rem, 16.1103rem + 6.7314vw, 24.188rem), 1fr));
  flex-wrap: wrap;
  /* 48px - 32px */
  gap: clamp(2rem, 1.7573rem + 1.0356vw, 3rem);
}
.advantage {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.advantage svg {
  /*  50px - 40px */
  height: clamp(2.5rem, 2.3483rem + 0.6472vw, 3.125rem);
  width: clamp(2.5rem, 2.3483rem + 0.6472vw, 3.125rem);
  flex-shrink: 0;
}
.advantage-text {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 280px;
}
.advantage-text h4 {
  text-wrap-style: balance;
}
.career-card,
.career-card--error,
.career-card--success {
  width: 100%;
  display: flex;
  justify-content: space-between;
  gap: 36px;
  background-color: var(--color-green);
  /* 56px 0 - 36px 0 */
  padding: clamp(2.25rem, 1.9466rem + 1.2945vw, 3.5rem) 0;
  transition: all 300ms ease;
}
.career-card--error .career-card__info,
.career-card--success .career-card__info {
  max-width: 70%;
}
.career-card-wrapper--error,
.career-card-wrapper--success {
  position: relative;
  display: none;
  padding: 0;
  margin: 0 clamp(1.625rem, -0.0437rem + 7.1197vw, 8.5rem) clamp(2.875rem, 1.358rem + 6.4725vw, 9.125rem) clamp(1.625rem, -0.0437rem + 7.1197vw, 8.5rem);
}
.career-card--error .career-card-background {
  position: absolute;
  right: 0;
  bottom: 0;
  max-width: 660px;
  width: 60%;
}
.career-card--success .career-card-background {
  position: absolute;
  right: 1%;
  bottom: 0;
  width: 36%;
  min-width: 400px;
}
.career-card__info {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 5;
  /* 24px - 16px */
  gap: clamp(1rem, 0.8786rem + 0.5178vw, 1.5rem);
}
.career-card__title {
  display: flex;
  flex-direction: column;
  /* 24px - 16px */
  gap: clamp(1rem, 0.8786rem + 0.5178vw, 1.5rem);
  color: var(--color-white);
}
.career-card__title p {
  /*  542px - 343px */
  max-width: clamp(21.438rem, 18.4193rem + 12.8797vw, 33.875rem);
}
.career-card__contacts {
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: var(--color-white);
}
.career-card__label {
  opacity: 0.6;
}
.career-card__send-file {
  display: flex;
  flex-direction: column;
  flex: 4;
  gap: 26px;
  cursor: pointer;
}
.career-card__controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  /*24px - 8px;*/
  gap: clamp(0.5rem, 0.2573rem + 1.0356vw, 1.5rem);
}
.career-card__btn-send {
  flex: 1;
  width: 100%;
}
.career-card__controls span {
  flex: 2;
  color: var(--color-white);
}
.service-area__card-image__container:active img {
  transform: scale(1.1);
}
.map__control-btn:active {
  background-color: var(--color-orange);
  color: var(--color-white);
}
.map__service-region__group:active path:not(.map__label) {
  filter: brightness(1.01);
  stroke: var(--color-blue-gray);
}
@media (hover: hover) and (pointer: fine) {
  .service-area__card-image__container:hover img {
    transform: scale(1.1);
  }
  .service-area__buttons button:hover {
    filter: brightness(1.6);
  }
  .map__control-btn:hover {
    background-color: var(--color-orange);
    color: var(--color-white);
  }
  .map__service-region__group:hover path:not(.map__label) {
    filter: brightness(1.01);
    stroke: var(--color-blue-gray);
  }
}
@media (hover: none) and (pointer: coarse) {
  .map__wrapper {
    height: 50vh;
  }
}
@media (max-width: 744px) {
  .fact {
    flex-direction: column;
    align-items: flex-start;
  }
  .title-page {
    align-items: flex-start;
    flex-direction: column;
  }
  .specialists {
    flex-wrap: wrap;
  }
  .career-card__controls {
    flex-direction: column-reverse;
  }
  .career-card__controls span {
    text-align: center;
  }
  .career-card-wrapper {
    margin-left: 0;
    margin-right: 0;
  }
  .map-legend {
    flex-direction: column;
  }
}
@media (max-width: 900px) {
  .service-area__card {
    height: clamp(26.65rem, 24.4018rem + 9.5922vw, 35.9125rem);
  }
  .service-areas__card--fixed {
    height: clamp(26.65rem, 24.4018rem + 9.5922vw, 35.9125rem);
    opacity: 0;
    visibility: hidden;
    position: absolute;
  }
  .service-areas__card--swipable {
    height: clamp(26.65rem, 24.4018rem + 9.5922vw, 35.9125rem);
    position: relative;
    opacity: 1;
    visibility: visible;
  }
  .service-area__card-image__container {
    height: max-content;
  }
  .service-areas__wrapper-cards {
    flex-direction: column;
  }
  .service-area__buttons {
    position: static;
    transform: none;
    flex-direction: row-reverse;
    justify-content: center;
    margin-top: 20px;
    order: 1;
  }
  .service-areas__wrapper-cards.swipable-wrapper {
    order: 0;
  }
  .responsive-title {
    font-size: 1.5rem;
  }
}
@media (max-width: 1000px) {
  .we-in-numbers {
    grid-template-columns: auto auto;
  }
  .map-description--desktop {
    display: none;
  }
  .wrapper-map-description {
    display: flex;
  }
}
@media (max-width: 1200px) {
  .career-card {
    flex-direction: column;
  }
  .competencies-card-wrapper {
    /* 812px - 674px*/
    height: clamp(42.125rem, 38.2045rem + 16.7273vw, 50.75rem);
  }
  .competencies-card-wrapper .competencies-card {
    flex-direction: column;
    gap: 0;
  }
  .competencies-card__info {
    display: contents;
  }
  .competencies-card__info h3 {
    margin-bottom: 26px;
  }
  .competencies-card__info ul {
    align-content: flex-end;
  }
  .competencies-card img {
    margin-bottom: 36px;
    width: 100%;
    order: 2;
  }
  .career-card__title p {
    max-width: none;
  }
  .career-card-wrapper,
  .career-card-wrapper--error,
  .career-card-wrapper--success {
    height: min-content;
  }
  .career-card__info {
    justify-content: flex-start;
  }
  .career-card--error .career-card__info,
  .career-card--success .career-card__info {
    max-width: none;
    width: 100%;
  }
  .career-card--success .career-card-background {
    position: relative;
    min-width: auto;
    max-width: 420px;
    width: 80%;
    align-self: center;
    margin-bottom: clamp(-2.25rem, -1.9466rem - 1.2945vw, -3.5rem);
  }
  .career-card--error .career-card-background {
    position: relative;
    max-width: none;
    max-height: none;
    margin-bottom: clamp(-2.25rem, -1.9466rem - 1.2945vw, -3.5rem);
    margin-right: clamp(-2.25rem, -1.9466rem - 1.2945vw, -3.5rem);
    align-self: flex-end;
    min-width: 300px;
    width: 100%;
    max-width: 660px;
  }
  .career-card--error,
  .career-card--success {
    flex-direction: column;
  }
}
@keyframes pulse-swipable {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes pulse-fixed {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.wrapper-documents {
  display: flex;
  flex-direction: column;
  gap: clamp(1rem, 0.7573rem + 1.0356vw, 2rem);
  margin: clamp(3rem, 2.2718rem + 3.1068vw, 6rem) 0;
}
.title-page {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  /* 150px-16px */
  gap: clamp(1rem, -1.0328rem + 8.6731vw, 9.375rem);
}
.title-page h2 {
  max-width: 900px;
}
.dividing-line {
  height: 1px;
  background-color: var(--color-border);
}
.dividing-line,
.title-page,
.documents {
  /* 0 136px 0 136px - 0 26px 0 26px */
  margin: 0 clamp(1.625rem, -0.0437rem + 7.1197vw, 8.5rem);
}
.documents {
  display: grid;
  /* 400px-320px*/
  grid-template-columns: repeat(auto-fill, minmax(clamp(20rem, 18.786rem + 5.178vw, 25rem), 1fr));
  column-gap: 24px;
  row-gap: 50px;
}
.document {
  display: flex;
  align-items: flex-start;
  gap: 25px;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  height: 100%;
  transition: all 300ms ease;
}
.document:hover .path-hover {
  fill: var(--color-orange);
}
.document:active {
  opacity: 0.5;
}
.document svg {
  flex-shrink: 0;
}
.document svg .path-hover {
  transition: all 300ms ease;
}
.wrapper-document-info {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.wrapper-document-info p {
  font-weight: 500;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  line-clamp: 2;
  -webkit-line-clamp: 2;
}
@media (max-width: 744px) {
  .title-page {
    align-items: flex-start;
    flex-direction: column;
  }
}
/* End */


/* Start:/local/templates/main/assets/css/pages/cookie-banner.css?17918616112651*/
.cookie-banner,
.cookie-banner * {
  box-sizing: border-box;
}

.cookie-banner {
  position: fixed;
  /* ниже шапки (1000) и модалок (1001+), чтобы плашка не перекрывала
     раскрытое мобильное меню и всплывающие окна */
  z-index: 900;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  gap: 32px;
  padding: 12px 40px;
  border-top: 1px solid #DBDBDB;
  background: rgba(255, 255, 255, 0.9);
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
}

.cookie-banner[hidden] {
  display: none;
}

.cookie-banner__text {
  flex: 1 1 auto;
  margin: 0;
  color: #000;
  font-family: 'Geologica', sans-serif;
  font-size: 12px;
  font-weight: 300;
  line-height: 15px;
}

.cookie-banner__link {
  color: inherit;
  text-decoration-line: underline;
  text-decoration-color: #CCCCCC;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color 0.2s ease;
}

.cookie-banner__link:hover {
  color: #F04923;
}

.cookie-banner__link:active {
  color: #D8401D;
}

.cookie-banner__actions {
  display: flex;
  flex-shrink: 0;
  justify-content: flex-end;
  gap: 12px;
}

.cookie-banner__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 24px;
  margin: 0;
  padding: 0 16px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-family: 'Geologica', sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.cookie-banner__btn--secondary {
  border-color: #AEAEAE;
  color: #000;
}

.cookie-banner__btn--secondary:hover {
  background: #E8E8E8;
}

.cookie-banner__btn--secondary:active {
  background: #D1D1D1;
}

.cookie-banner__btn--primary {
  background: #F04923;
  color: #FFFFFF;
}

.cookie-banner__btn--primary:hover {
  background: #E24521;
}

.cookie-banner__btn--primary:active {
  background: #D8401D;
}

/* в макете горизонтальная раскладка держится до 960 включительно,
   на 720 кнопки уезжают под текст */
@media (max-width: 768px) {
  .cookie-banner {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    padding: 16px 40px;
  }
}

@media (max-width: 480px) {
  .cookie-banner {
    padding: 8px 16px 16px;
  }

  .cookie-banner__actions {
    gap: 8px;
  }

  .cookie-banner__btn {
    flex: 1 1 0;
    padding: 0 8px;
  }
}

/* End */
/* /local/templates/main/assets/css/pages/main.css?179186215557069 */
/* /local/templates/main/assets/css/pages/cookie-banner.css?17918616112651 */
