/* ==========================================================================
   ООО «НОАУ» — статическая версия сайта.
   Только longhand-свойства, без переменных, без псевдоэлементов,
   без вложенных и контекстных селекторов.
   ========================================================================== */

.body {
  margin-top: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  background-color: #0b0d11;
  color: #eceff2;
  font-family: "Jost", system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

.main-wrapper {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  position: relative;
}

.container {
  box-sizing: border-box;
  width: 100%;
  max-width: 84rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}

/* ---------- Общие текстовые блоки ---------- */

.eyebrow {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 0.72rem;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: #d8b66d;
}

.title-xl {
  margin-top: 18px;
  margin-bottom: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 300;
  font-size: 1.85rem;
  line-height: 1.14;
}

.rule {
  display: block;
  width: 56px;
  height: 1px;
  margin-top: 18px;
  margin-bottom: 0;
  background-color: #d8b66d;
  transform-origin: left center;
  animation-name: line-grow;
  animation-duration: 1.1s;
  animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  animation-fill-mode: both;
}

.rule--center {
  margin-left: auto;
  margin-right: auto;
  transform-origin: center center;
}

.lead {
  margin-top: 22px;
  margin-bottom: 0;
  max-width: 42rem;
  font-size: 0.95rem;
  line-height: 1.75;
  color: #a0a5ac;
}

.text {
  margin-top: 16px;
  margin-bottom: 0;
  font-size: 0.9rem;
  line-height: 1.75;
  color: #a0a5ac;
}

.text--dim {
  color: #8b9098;
}

.text--top {
  margin-top: 0;
}

.gold {
  color: #d8b66d;
}

.icon {
  display: block;
  width: 18px;
  height: 18px;
  flex-grow: 0;
  flex-shrink: 0;
  stroke: #d8b66d;
  stroke-width: 1.5;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.icon--sm {
  width: 14px;
  height: 14px;
}

.icon--lg {
  width: 30px;
  height: 30px;
  stroke-width: 1.2;
}

.icon--plain {
  stroke: #eceff2;
}

.marker {
  display: block;
  width: 5px;
  height: 5px;
  margin-top: 8px;
  flex-grow: 0;
  flex-shrink: 0;
  background-color: #d8b66d;
  transform: rotate(45deg);
}

/* ---------- Кнопки ---------- */

.btn {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  column-gap: 12px;
  padding-top: 16px;
  padding-right: 28px;
  padding-bottom: 16px;
  padding-left: 28px;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.14);
  background-color: transparent;
  color: #eceff2;
  font-family: "Jost", system-ui, sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration-line: none;
  cursor: pointer;
  transition-property: background-color, color, border-color, transform;
  transition-duration: 300ms;
  transition-timing-function: ease;
}

.btn--gold {
  border-color: #d8b66d;
  background-color: #d8b66d;
  color: #0b0d11;
}

.btn--gold-hover {
  background-color: #e8d6ab;
  border-color: #e8d6ab;
}

.btn--outline {
  border-color: rgba(216, 182, 109, 0.6);
  color: #d8b66d;
}

.btn--outline-hover {
  background-color: #d8b66d;
  color: #0b0d11;
}

.btn--ghost-hover {
  border-color: rgba(216, 182, 109, 0.6);
  color: #d8b66d;
}

.btn--wide {
  width: 100%;
}

/* ---------- Индикатор прокрутки ---------- */

.progress {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  z-index: 60;
  pointer-events: none;
}

.progress__bar {
  width: 100%;
  height: 2px;
  background-image: linear-gradient(90deg, rgba(216, 182, 109, 0.4), #d8b66d, #e8d6ab);
  transform: scaleX(0);
  transform-origin: left center;
  transition-property: transform;
  transition-duration: 150ms;
  transition-timing-function: linear;
}

/* ---------- Шапка ---------- */

.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
}

.header__top {
  display: none;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: rgba(255, 255, 255, 0.1);
  background-color: rgba(11, 13, 17, 0.85);
  backdrop-filter: blur(10px);
}

.header__top-inner {
  display: flex;
  align-items: center;
  height: 44px;
  column-gap: 32px;
  font-size: 0.75rem;
  color: #a0a5ac;
}

.header__top-link {
  display: flex;
  align-items: center;
  column-gap: 8px;
  color: #a0a5ac;
  text-decoration-line: none;
  transition-property: color;
  transition-duration: 300ms;
  transition-timing-function: ease;
}

.header__top-link--right {
  margin-left: auto;
}

.header__top-link--hover {
  color: #d8b66d;
}

.header__top-text {
  display: flex;
  align-items: center;
  column-gap: 8px;
}

.header__bar {
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: rgba(255, 255, 255, 0.08);
  background-color: transparent;
  transition-property: background-color;
  transition-duration: 500ms;
  transition-timing-function: ease;
}

.header__bar--scrolled {
  background-color: rgba(11, 13, 17, 0.95);
  backdrop-filter: blur(10px);
}

.header__bar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: 16px;
  height: 72px;
}

.header__logo {
  display: inline-flex;
  min-width: 0;
  flex-shrink: 0;
  text-decoration-line: none;
  background-color: transparent;
  border-width: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  cursor: pointer;
}

.header__nav {
  display: none;
  align-items: center;
  column-gap: 26px;
}

.header__nav-link {
  position: relative;
  background-color: transparent;
  border-width: 0;
  padding-top: 6px;
  padding-right: 0;
  padding-bottom: 6px;
  padding-left: 0;
  font-family: "Jost", system-ui, sans-serif;
  font-size: 0.875rem;
  letter-spacing: 0.03em;
  color: rgba(236, 239, 242, 0.82);
  cursor: pointer;
  text-decoration-line: none;
  transition-property: color;
  transition-duration: 300ms;
  transition-timing-function: ease;
}

.header__nav-link--hover {
  color: #d8b66d;
}

.header__nav-underline {
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #d8b66d;
  transform: scaleX(0);
  transform-origin: left center;
  transition-property: transform;
  transition-duration: 300ms;
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}

.header__nav-underline--on {
  transform: scaleX(1);
}

.header__cta {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  padding-top: 12px;
  padding-right: 20px;
  padding-bottom: 12px;
  padding-left: 20px;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(216, 182, 109, 0.6);
  color: #d8b66d;
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration-line: none;
  transition-property: background-color, color;
  transition-duration: 300ms;
  transition-timing-function: ease;
}

.header__cta--hover {
  background-color: #d8b66d;
  color: #0b0d11;
}

.header__burger {
  box-sizing: border-box;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex-shrink: 0;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.14);
  background-color: rgba(11, 13, 17, 0.6);
  color: #d8b66d;
  cursor: pointer;
}

.header__menu {
  display: none;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: rgba(255, 255, 255, 0.12);
  background-color: rgba(11, 13, 17, 0.98);
  backdrop-filter: blur(10px);
  animation-name: fade-in;
  animation-duration: 400ms;
  animation-timing-function: ease-out;
  animation-fill-mode: both;
}

.header__menu--open {
  display: block;
}

.header__menu-inner {
  display: flex;
  flex-direction: column;
  max-height: 70vh;
  overflow-y: auto;
  padding-top: 8px;
  padding-bottom: 12px;
}

.header__menu-link {
  box-sizing: border-box;
  width: 100%;
  text-align: left;
  background-color: transparent;
  border-top-width: 0;
  border-right-width: 0;
  border-left-width: 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: rgba(255, 255, 255, 0.1);
  padding-top: 16px;
  padding-bottom: 16px;
  padding-right: 0;
  padding-left: 0;
  font-family: "Jost", system-ui, sans-serif;
  font-size: 0.95rem;
  color: #eceff2;
  cursor: pointer;
}

.header__menu-phone {
  display: block;
  padding-top: 16px;
  padding-bottom: 4px;
  font-size: 0.95rem;
  color: #d8b66d;
  text-decoration-line: none;
}

/* ---------- Логотип ---------- */

.logo {
  display: flex;
  align-items: center;
  column-gap: 12px;
}

.logo__mark {
  position: relative;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  flex-shrink: 0;
}

.logo__ring {
  position: absolute;
  top: 0;
  left: 0;
  width: 44px;
  height: 44px;
  border-width: 1px;
  border-style: dashed;
  border-color: rgba(216, 182, 109, 0.28);
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-left-radius: 50%;
  border-bottom-right-radius: 50%;
  animation-name: spin;
  animation-duration: 26s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  pointer-events: none;
}

.logo__svg {
  width: 32px;
  height: 32px;
  fill: none;
}

.logo__stroke {
  stroke: #d8b66d;
  stroke-width: 2.2;
  stroke-linecap: round;
  fill: none;
}

.logo__shield {
  stroke: #e8d6ab;
  stroke-width: 1.4;
  stroke-linejoin: round;
  fill: none;
  stroke-dasharray: 320;
  animation-name: draw;
  animation-duration: 2.4s;
  animation-timing-function: ease-out;
  animation-fill-mode: both;
}

.logo__dot {
  fill: #d8b66d;
  stroke-width: 0;
}

.logo__text {
  line-height: 1.2;
}

.logo__name {
  display: block;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.15rem;
  letter-spacing: 0.14em;
  color: #d8b66d;
}

.logo__sub {
  display: block;
  font-size: 0.6rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #a0a5ac;
}

.logo__mark--big {
  width: 64px;
  height: 64px;
  animation-name: float;
  animation-duration: 7s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

.logo__mark--big-svg {
  width: 46px;
  height: 46px;
  fill: none;
}

/* ---------- Страницы ---------- */

.page {
  display: none;
}

.page--active {
  display: block;
}

.section {
  padding-top: 64px;
  padding-bottom: 64px;
}

.section--surface {
  background-color: #14161a;
}

.section--surface-2 {
  background-color: #1c1f24;
}

.section--line-top {
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: rgba(255, 255, 255, 0.12);
}

.section--line-bottom {
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: rgba(255, 255, 255, 0.12);
}

/* ---------- Заголовок секции ---------- */

.heading {
  max-width: 100%;
}

.heading--center {
  text-align: center;
}

.heading__title {
  margin-top: 16px;
  margin-bottom: 0;
  max-width: 48rem;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 300;
  font-size: 1.7rem;
  line-height: 1.18;
  color: #eceff2;
}

.heading__title--center {
  margin-left: auto;
  margin-right: auto;
}

.heading__text {
  margin-top: 22px;
  margin-bottom: 0;
  max-width: 42rem;
  font-size: 0.92rem;
  line-height: 1.75;
  color: #a0a5ac;
}

.heading__text--center {
  margin-left: auto;
  margin-right: auto;
}

/* ---------- Сетки ---------- */

.grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: 24px;
  column-gap: 24px;
  margin-top: 40px;
}

.grid--flush {
  margin-top: 0;
}

.grid--gap-lg {
  row-gap: 40px;
  column-gap: 40px;
}

.grid--hair {
  row-gap: 1px;
  column-gap: 1px;
  background-color: rgba(255, 255, 255, 0.12);
  border-width: 1px;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.12);
}

.grid__cell {
  box-sizing: border-box;
  height: 100%;
  background-color: #0b0d11;
  padding-top: 30px;
  padding-right: 28px;
  padding-bottom: 30px;
  padding-left: 28px;
}

/* ---------- Карточки ---------- */

.card {
  box-sizing: border-box;
  position: relative;
  height: 100%;
  overflow: hidden;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.12);
  background-color: #1c1f24;
  padding-top: 28px;
  padding-right: 28px;
  padding-bottom: 28px;
  padding-left: 28px;
  transition-property: transform, border-color, background-color;
  transition-duration: 500ms;
  transition-timing-function: ease-out;
}

.card--plain {
  background-color: #0b0d11;
  border-width: 0;
}

.card--surface {
  background-color: #14161a;
}

.card--left-gold {
  border-top-width: 0;
  border-right-width: 0;
  border-bottom-width: 0;
  border-left-width: 1px;
  border-left-style: solid;
  border-left-color: rgba(216, 182, 109, 0.4);
  background-color: rgba(20, 22, 26, 0.6);
}

.card--hover {
  border-color: rgba(216, 182, 109, 0.45);
  transform: translateY(-6px);
}

.card--hover-soft {
  background-color: #14161a;
}

.card__glow {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  pointer-events: none;
  background-image: radial-gradient(420px circle at 50% 50%, rgba(216, 182, 109, 0.14), transparent 65%);
  transition-property: opacity;
  transition-duration: 500ms;
  transition-timing-function: ease;
}

.card__glow--on {
  opacity: 1;
}

.card__body {
  position: relative;
}

.card__num {
  display: block;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.9rem;
  color: rgba(216, 182, 109, 0.6);
}

.card__title {
  margin-top: 18px;
  margin-bottom: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 300;
  font-size: 1.5rem;
  line-height: 1.25;
  color: #eceff2;
}

.card__title--sm {
  font-size: 1.25rem;
}

.card__text {
  margin-top: 14px;
  margin-bottom: 0;
  font-size: 0.875rem;
  line-height: 1.75;
  color: #a0a5ac;
}

.card__detail {
  margin-top: 16px;
  margin-bottom: 0;
  padding-top: 16px;
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: rgba(255, 255, 255, 0.12);
  font-size: 0.875rem;
  line-height: 1.75;
  color: #8b9098;
}

.card__list {
  list-style-type: none;
  margin-top: 18px;
  margin-bottom: 0;
  padding-left: 0;
}

.card__item {
  display: flex;
  align-items: flex-start;
  column-gap: 12px;
  margin-top: 10px;
  font-size: 0.8rem;
  line-height: 1.7;
  color: #a0a5ac;
}

.card__item-text {
  min-width: 0;
}

/* ---------- Статистика ---------- */

.stat {
  box-sizing: border-box;
  height: 100%;
  background-color: #0b0d11;
  padding-top: 28px;
  padding-right: 28px;
  padding-bottom: 28px;
  padding-left: 28px;
  transition-property: background-color;
  transition-duration: 500ms;
  transition-timing-function: ease;
}

.stat--hover {
  background-color: #14161a;
}

.stat__value {
  margin-top: 0;
  margin-bottom: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 300;
  font-size: 2.4rem;
  color: #d8b66d;
}

.stat__label {
  margin-top: 16px;
  margin-bottom: 0;
  font-size: 0.8rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(236, 239, 242, 0.82);
}

.stat__note {
  margin-top: 12px;
  margin-bottom: 0;
  font-size: 0.85rem;
  line-height: 1.7;
  color: #a0a5ac;
}

/* ---------- Этапы ---------- */

.step {
  padding-top: 22px;
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: rgba(216, 182, 109, 0.5);
}

.step__num {
  display: block;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 2.6rem;
  color: rgba(216, 182, 109, 0.5);
  transition-property: color;
  transition-duration: 500ms;
  transition-timing-function: ease;
}

.step__num--hover {
  color: #d8b66d;
}

.step__title {
  margin-top: 14px;
  margin-bottom: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 300;
  font-size: 1.25rem;
  color: #eceff2;
}

.step__text {
  margin-top: 12px;
  margin-bottom: 0;
  font-size: 0.875rem;
  line-height: 1.75;
  color: #a0a5ac;
}

.step__detail {
  margin-top: 12px;
  margin-bottom: 0;
  font-size: 0.875rem;
  line-height: 1.75;
  color: #85898f;
}

.step--row {
  display: flex;
  column-gap: 24px;
  padding-top: 0;
  padding-bottom: 24px;
  border-top-width: 0;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: rgba(255, 255, 255, 0.12);
  margin-top: 24px;
  text-align: left;
}

.step__num--sm {
  font-size: 1.7rem;
  color: rgba(216, 182, 109, 0.6);
  flex-shrink: 0;
}

/* ---------- Бегущая строка ---------- */

.marquee {
  position: relative;
  overflow: hidden;
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: rgba(255, 255, 255, 0.12);
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: rgba(255, 255, 255, 0.12);
  background-color: #14161a;
  padding-top: 22px;
  padding-bottom: 22px;
}

.marquee__track {
  display: flex;
  align-items: center;
  width: max-content;
  column-gap: 48px;
  white-space: nowrap;
  animation-name: marquee;
  animation-duration: 32s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

.marquee__item {
  display: flex;
  align-items: center;
  column-gap: 48px;
}

.marquee__word {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.4rem;
  color: rgba(236, 239, 242, 0.7);
}

.marquee__dot {
  display: block;
  width: 6px;
  height: 6px;
  background-color: rgba(216, 182, 109, 0.7);
  transform: rotate(45deg);
}

/* ---------- Ключевые анимации ---------- */

@keyframes fade-up {
  from {
    opacity: 0;
    transform: translateY(28px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes line-grow {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}

@keyframes kenburns {
  from {
    transform: scale(1.08) translateY(0);
  }
  to {
    transform: scale(1) translateY(-1.5%);
  }
}

@keyframes float {
  0% {
    transform: translateY(0) rotate(0deg);
  }
  50% {
    transform: translateY(-14px) rotate(1.5deg);
  }
  100% {
    transform: translateY(0) rotate(0deg);
  }
}

@keyframes marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

@keyframes pulse-ring {
  0% {
    transform: scale(0.85);
    opacity: 0.7;
  }
  70% {
    transform: scale(1.35);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

@keyframes draw {
  from {
    stroke-dashoffset: 320;
  }
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes blur-in {
  from {
    opacity: 0;
    filter: blur(14px);
    transform: scale(1.04);
  }
  to {
    opacity: 1;
    filter: blur(0);
    transform: scale(1);
  }
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* ---------- Появление при прокрутке ---------- */

.reveal {
  opacity: 0;
  transform: translateY(28px);
}

.reveal--in {
  opacity: 1;
  transform: translateY(0);
  animation-name: fade-up;
  animation-duration: 0.9s;
  animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  animation-fill-mode: both;
}

/* ---------- Главный слайдер ---------- */

.hero {
  position: relative;
  overflow: hidden;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: rgba(255, 255, 255, 0.12);
}

.hero__slide {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  transition-property: opacity;
  transition-duration: 1000ms;
  transition-timing-function: ease;
}

.hero__slide--active {
  opacity: 1;
}

.hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.hero__image--active {
  animation-name: kenburns;
  animation-duration: 12s;
  animation-timing-function: ease-out;
  animation-fill-mode: both;
}

.hero__veil {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(90deg, #0b0d11 0%, rgba(11, 13, 17, 0.85) 45%, rgba(11, 13, 17, 0.3) 100%);
}

.hero__veil--vertical {
  background-image: linear-gradient(0deg, #0b0d11 0%, rgba(11, 13, 17, 0) 45%, rgba(11, 13, 17, 0.7) 100%);
}

.hero__inner {
  box-sizing: border-box;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 88vh;
  padding-top: 128px;
  padding-bottom: 64px;
  text-align: center;
}

.hero__content {
  width: 100%;
  max-width: 48rem;
  margin-left: auto;
  margin-right: auto;
}

.hero__title {
  margin-top: 20px;
  margin-bottom: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 300;
  font-size: 1.85rem;
  line-height: 1.14;
  color: #eceff2;
}

.hero__line {
  display: block;
  animation-name: fade-up;
  animation-duration: 0.9s;
  animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  animation-fill-mode: both;
}

.hero__text {
  margin-top: 22px;
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
  max-width: 40rem;
  font-size: 0.9rem;
  line-height: 1.8;
  color: #a0a5ac;
  animation-name: fade-up;
  animation-duration: 0.9s;
  animation-delay: 520ms;
  animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  animation-fill-mode: both;
}

.hero__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 12px;
  column-gap: 16px;
  margin-top: 32px;
  animation-name: fade-up;
  animation-duration: 0.9s;
  animation-delay: 640ms;
  animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  animation-fill-mode: both;
}

.hero__dots {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 12px;
  margin-top: 48px;
}

.hero__dot {
  width: 36px;
  height: 1px;
  border-width: 0;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  background-color: rgba(255, 255, 255, 0.25);
  cursor: pointer;
  transition-property: width, background-color;
  transition-duration: 500ms;
  transition-timing-function: ease;
}

.hero__dot--active {
  width: 56px;
  background-color: #d8b66d;
}

.hero__counter {
  margin-left: 8px;
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  color: #a0a5ac;
}

/* ---------- Заголовок внутренней страницы ---------- */

.page-hero {
  position: relative;
  overflow: hidden;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: rgba(255, 255, 255, 0.12);
  background-color: #14161a;
  padding-top: 128px;
  padding-bottom: 56px;
}

.page-hero__glow {
  position: absolute;
  top: -160px;
  right: -80px;
  width: 26rem;
  height: 26rem;
  opacity: 0.25;
  filter: blur(60px);
  background-image: radial-gradient(circle, #d8b66d, transparent 65%);
  pointer-events: none;
}

.page-hero__inner {
  position: relative;
}

.page-hero__title {
  margin-top: 20px;
  margin-bottom: 0;
  max-width: 56rem;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 300;
  font-size: 2rem;
  line-height: 1.16;
  color: #eceff2;
  animation-name: fade-up;
  animation-duration: 0.9s;
  animation-delay: 120ms;
  animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  animation-fill-mode: both;
}

.page-hero__text {
  margin-top: 22px;
  margin-bottom: 0;
  max-width: 42rem;
  font-size: 0.92rem;
  line-height: 1.8;
  color: #a0a5ac;
  animation-name: fade-up;
  animation-duration: 0.9s;
  animation-delay: 240ms;
  animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  animation-fill-mode: both;
}

/* ---------- Изображение о компании ---------- */

.figure {
  position: relative;
  margin-top: 0;
  margin-bottom: 0;
  margin-left: 0;
  margin-right: 0;
}

.figure__frame {
  position: absolute;
  top: -16px;
  left: -16px;
  right: -16px;
  bottom: -16px;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(216, 182, 109, 0.25);
  pointer-events: none;
  animation-name: fade-in;
  animation-duration: 1.4s;
  animation-delay: 300ms;
  animation-timing-function: ease-out;
  animation-fill-mode: both;
}

.figure__image {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.12);
  object-fit: cover;
  animation-name: blur-in;
  animation-duration: 1.2s;
  animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  animation-fill-mode: both;
}

/* ---------- Списки описаний ---------- */

.deflist {
  margin-top: 36px;
  margin-bottom: 0;
  padding-top: 28px;
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: rgba(255, 255, 255, 0.12);
  font-size: 0.875rem;
}

.deflist__row {
  display: flex;
  flex-wrap: wrap;
  column-gap: 8px;
  row-gap: 4px;
  padding-bottom: 14px;
  margin-top: 14px;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: rgba(255, 255, 255, 0.1);
}

.deflist__term {
  width: 100%;
  color: #a0a5ac;
}

.deflist__desc {
  margin-left: 0;
  flex-grow: 1;
  flex-basis: 0;
  min-width: 0;
  color: #eceff2;
  word-break: break-word;
}

.numlist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 32px;
  row-gap: 24px;
  margin-top: 36px;
  margin-bottom: 0;
  padding-top: 28px;
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: rgba(255, 255, 255, 0.12);
}

.numlist__value {
  margin-top: 0;
  margin-bottom: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 2.2rem;
  color: #d8b66d;
}

.numlist__label {
  margin-top: 8px;
  margin-bottom: 0;
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #a0a5ac;
}

/* ---------- Списки с галочками и маркерами ---------- */

.checklist {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  column-gap: 32px;
  list-style-type: none;
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
}

.checklist__item {
  display: flex;
  align-items: flex-start;
  column-gap: 16px;
  padding-top: 18px;
  padding-bottom: 18px;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: rgba(255, 255, 255, 0.12);
}

.checklist__text {
  min-width: 0;
  font-size: 0.875rem;
  line-height: 1.75;
  color: #a0a5ac;
}

.bullets {
  list-style-type: none;
  margin-top: 24px;
  margin-bottom: 0;
  padding-left: 0;
}

.bullets__item {
  display: flex;
  align-items: flex-start;
  column-gap: 16px;
  padding-bottom: 16px;
  margin-top: 16px;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: rgba(255, 255, 255, 0.12);
}

.bullets__text {
  min-width: 0;
  font-size: 0.875rem;
  line-height: 1.75;
  color: #a0a5ac;
}

/* ---------- Аккордеон ---------- */

.accordion {
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: rgba(255, 255, 255, 0.12);
  margin-top: 24px;
}

.accordion__item {
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: rgba(255, 255, 255, 0.12);
}

.accordion__trigger {
  box-sizing: border-box;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  column-gap: 20px;
  width: 100%;
  text-align: left;
  background-color: transparent;
  border-width: 0;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 0;
  padding-right: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 300;
  font-size: 1.15rem;
  line-height: 1.35;
  color: #eceff2;
  cursor: pointer;
  transition-property: color;
  transition-duration: 300ms;
  transition-timing-function: ease;
}

.accordion__trigger--hover {
  color: #d8b66d;
}

.accordion__icon {
  display: block;
  width: 18px;
  height: 18px;
  margin-top: 6px;
  flex-shrink: 0;
  stroke: #d8b66d;
  stroke-width: 1.5;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition-property: transform;
  transition-duration: 400ms;
  transition-timing-function: ease;
}

.accordion__icon--open {
  transform: rotate(180deg);
}

.accordion__panel {
  display: none;
  padding-bottom: 24px;
}

.accordion__panel--open {
  display: block;
  animation-name: fade-in;
  animation-duration: 400ms;
  animation-timing-function: ease-out;
  animation-fill-mode: both;
}

.accordion__text {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 0.875rem;
  line-height: 1.8;
  color: #a0a5ac;
}

/* ---------- Контактные карточки ---------- */

.infocard {
  box-sizing: border-box;
  display: flex;
  align-items: flex-start;
  column-gap: 20px;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.12);
  background-color: #14161a;
  padding-top: 24px;
  padding-right: 24px;
  padding-bottom: 24px;
  padding-left: 24px;
  margin-top: 24px;
  text-decoration-line: none;
  color: #eceff2;
  transition-property: transform, border-color;
  transition-duration: 500ms;
  transition-timing-function: ease-out;
}

.infocard--hover {
  transform: translateY(-6px);
  border-color: rgba(216, 182, 109, 0.45);
}

.infocard__icon-wrap {
  position: relative;
  display: grid;
  place-items: center;
  margin-top: 4px;
  flex-shrink: 0;
}

.infocard__ring {
  position: absolute;
  width: 32px;
  height: 32px;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(216, 182, 109, 0.5);
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-left-radius: 50%;
  border-bottom-right-radius: 50%;
  animation-name: pulse-ring;
  animation-duration: 2.8s;
  animation-timing-function: ease-out;
  animation-iteration-count: infinite;
}

.infocard__label {
  display: block;
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #a0a5ac;
}

.infocard__value {
  display: block;
  margin-top: 8px;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.25rem;
  line-height: 1.4;
  color: #eceff2;
  word-break: break-word;
}

.infocard__value--plain {
  font-family: "Jost", system-ui, sans-serif;
  font-size: 0.95rem;
}

.infocard__note {
  display: block;
  margin-top: 8px;
  font-size: 0.85rem;
  line-height: 1.7;
  color: #a0a5ac;
}

.infocard__link {
  display: inline-flex;
  align-items: center;
  column-gap: 8px;
  margin-top: 12px;
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #d8b66d;
  text-decoration-line: none;
}

.link-gold {
  color: #d8b66d;
  text-decoration-line: underline;
}

.link-inline {
  display: inline-flex;
  align-items: center;
  column-gap: 8px;
  margin-top: 24px;
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #d8b66d;
  text-decoration-line: none;
  background-color: transparent;
  border-width: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  cursor: pointer;
  font-family: "Jost", system-ui, sans-serif;
}

/* ---------- Карта ---------- */

.map {
  overflow: hidden;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.12);
  margin-top: 36px;
}

.map__frame {
  display: block;
  width: 100%;
  height: 340px;
  border-width: 0;
  filter: grayscale(1);
  transition-property: filter;
  transition-duration: 700ms;
  transition-timing-function: ease;
}

.map__frame--hover {
  filter: grayscale(0);
}

/* ---------- Форма ---------- */

.form {
  box-sizing: border-box;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.12);
  background-color: #14161a;
  padding-top: 24px;
  padding-right: 24px;
  padding-bottom: 24px;
  padding-left: 24px;
}

.form__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: 20px;
  column-gap: 20px;
}

.form__field {
  min-width: 0;
}

.form__label {
  display: block;
  margin-bottom: 8px;
  font-size: 0.7rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #a0a5ac;
}

.form__input {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.14);
  background-color: #0b0d11;
  color: #eceff2;
  font-family: "Jost", system-ui, sans-serif;
  font-size: 0.9rem;
  padding-top: 12px;
  padding-right: 16px;
  padding-bottom: 12px;
  padding-left: 16px;
  outline-style: none;
  transition-property: border-color;
  transition-duration: 300ms;
  transition-timing-function: ease;
}

.form__input--focus {
  border-color: rgba(216, 182, 109, 0.6);
}

.form__textarea {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 140px;
  resize: vertical;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.14);
  background-color: #0b0d11;
  color: #eceff2;
  font-family: "Jost", system-ui, sans-serif;
  font-size: 0.9rem;
  padding-top: 12px;
  padding-right: 16px;
  padding-bottom: 12px;
  padding-left: 16px;
  outline-style: none;
}

.form__error {
  margin-top: 8px;
  margin-bottom: 0;
  font-size: 0.75rem;
  color: #e7000b;
}

.form__consent {
  display: flex;
  align-items: flex-start;
  column-gap: 12px;
  margin-top: 24px;
  font-size: 0.75rem;
  line-height: 1.7;
  color: #a0a5ac;
  cursor: pointer;
}

.form__checkbox {
  width: 16px;
  height: 16px;
  margin-top: 3px;
  flex-shrink: 0;
  accent-color: #d8b66d;
}

.form__consent-text {
  min-width: 0;
}

.form__submit {
  margin-top: 28px;
}

.form__success {
  box-sizing: border-box;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(216, 182, 109, 0.4);
  background-color: #14161a;
  padding-top: 32px;
  padding-right: 24px;
  padding-bottom: 32px;
  padding-left: 24px;
  text-align: center;
}

.form__success-icon {
  display: block;
  width: 40px;
  height: 40px;
  margin-left: auto;
  margin-right: auto;
  stroke: #d8b66d;
  stroke-width: 1.2;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.form__success-title {
  margin-top: 20px;
  margin-bottom: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 300;
  font-size: 1.6rem;
  color: #eceff2;
}

.form__success-text {
  margin-top: 12px;
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
  max-width: 28rem;
  font-size: 0.875rem;
  line-height: 1.75;
  color: #a0a5ac;
}

.form__success-btn {
  margin-top: 24px;
}

.form__hidden {
  display: none;
}

/* ---------- Фильтры вакансий ---------- */

.filters {
  box-sizing: border-box;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.12);
  background-color: #14161a;
  padding-top: 20px;
  padding-right: 20px;
  padding-bottom: 20px;
  padding-left: 20px;
}

.filters__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: 16px;
  column-gap: 16px;
}

.filters__search {
  position: relative;
  min-width: 0;
}

.filters__search-icon {
  position: absolute;
  top: 14px;
  left: 16px;
  width: 16px;
  height: 16px;
  stroke: #d8b66d;
  stroke-width: 1.5;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}

.filters__input {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.14);
  background-color: #0b0d11;
  color: #eceff2;
  font-family: "Jost", system-ui, sans-serif;
  font-size: 0.875rem;
  padding-top: 12px;
  padding-right: 16px;
  padding-bottom: 12px;
  padding-left: 44px;
  outline-style: none;
}

.filters__select {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.14);
  background-color: #0b0d11;
  color: #eceff2;
  font-family: "Jost", system-ui, sans-serif;
  font-size: 0.875rem;
  padding-top: 12px;
  padding-right: 16px;
  padding-bottom: 12px;
  padding-left: 16px;
  outline-style: none;
}

.filters__note {
  margin-top: 16px;
  margin-bottom: 0;
  font-size: 0.75rem;
  color: #a0a5ac;
}

/* ---------- Вакансия ---------- */

.vacancy {
  box-sizing: border-box;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.12);
  background-color: #0b0d11;
  margin-top: 20px;
  transition-property: border-color, background-color;
  transition-duration: 500ms;
  transition-timing-function: ease;
}

.vacancy--open {
  border-color: rgba(216, 182, 109, 0.5);
  background-color: #14161a;
}

.vacancy--hidden {
  display: none;
}

.vacancy__head {
  box-sizing: border-box;
  display: block;
  width: 100%;
  text-align: left;
  background-color: transparent;
  border-width: 0;
  padding-top: 24px;
  padding-right: 20px;
  padding-bottom: 24px;
  padding-left: 20px;
  cursor: pointer;
  font-family: "Jost", system-ui, sans-serif;
  color: #eceff2;
}

.vacancy__top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: flex-start;
  column-gap: 16px;
}

.vacancy__dept {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 0.7rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #d8b66d;
}

.vacancy__title {
  margin-top: 8px;
  margin-bottom: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 300;
  font-size: 1.35rem;
  line-height: 1.3;
  color: #eceff2;
}

.vacancy__summary {
  margin-top: 12px;
  margin-bottom: 0;
  font-size: 0.875rem;
  line-height: 1.75;
  color: #a0a5ac;
}

.vacancy__meta {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: 12px;
  column-gap: 12px;
  margin-top: 20px;
  margin-bottom: 0;
  font-size: 0.75rem;
  color: #a0a5ac;
}

.vacancy__meta-item {
  display: flex;
  align-items: center;
  column-gap: 8px;
  min-width: 0;
}

.vacancy__hint {
  margin-top: 16px;
  margin-bottom: 0;
  font-size: 0.7rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #d8b66d;
}

.vacancy__body {
  display: none;
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: rgba(255, 255, 255, 0.12);
  padding-top: 24px;
  padding-right: 20px;
  padding-bottom: 32px;
  padding-left: 20px;
}

.vacancy__body--open {
  display: block;
  animation-name: fade-in;
  animation-duration: 400ms;
  animation-timing-function: ease-out;
  animation-fill-mode: both;
}

.vacancy__cols {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: 32px;
  column-gap: 32px;
}

.vacancy__list {
  list-style-type: none;
  margin-top: 16px;
  margin-bottom: 0;
  padding-left: 0;
}

.vacancy__item {
  display: flex;
  align-items: flex-start;
  column-gap: 12px;
  margin-top: 12px;
  font-size: 0.875rem;
  line-height: 1.7;
  color: #a0a5ac;
}

.vacancy__facts {
  margin-top: 24px;
  margin-bottom: 0;
  padding-top: 20px;
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: rgba(255, 255, 255, 0.12);
  font-size: 0.75rem;
  color: #a0a5ac;
}

.vacancy__fact {
  display: flex;
  flex-wrap: wrap;
  column-gap: 8px;
  margin-top: 8px;
}

.vacancy__fact-value {
  margin-left: 0;
  color: rgba(236, 239, 242, 0.82);
}

.vacancy__actions {
  display: flex;
  flex-direction: column;
  row-gap: 12px;
  column-gap: 12px;
  margin-top: 32px;
  padding-top: 24px;
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: rgba(255, 255, 255, 0.12);
}

.vacancy__empty {
  box-sizing: border-box;
  display: none;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.12);
  background-color: #14161a;
  padding-top: 32px;
  padding-right: 24px;
  padding-bottom: 32px;
  padding-left: 24px;
  margin-top: 20px;
  text-align: center;
  font-size: 0.875rem;
  color: #a0a5ac;
}

.vacancy__empty--on {
  display: block;
}

/* ---------- Вехи ---------- */

.milestone {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  row-gap: 16px;
  column-gap: 48px;
  background-color: #0b0d11;
  padding-top: 28px;
  padding-right: 28px;
  padding-bottom: 28px;
  padding-left: 28px;
  transition-property: background-color;
  transition-duration: 500ms;
  transition-timing-function: ease;
}

.milestone--hover {
  background-color: #14161a;
}

.milestone__year {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 2.2rem;
  color: rgba(216, 182, 109, 0.7);
}

.milestone__title {
  margin-top: 0;
  margin-bottom: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 300;
  font-size: 1.4rem;
  color: #eceff2;
}

.milestone__text {
  margin-top: 8px;
  margin-bottom: 0;
  max-width: 48rem;
  font-size: 0.875rem;
  line-height: 1.75;
  color: #a0a5ac;
}

.stack {
  margin-top: 40px;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.12);
  background-color: rgba(255, 255, 255, 0.12);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: 1px;
}

/* ---------- Юридические документы ---------- */

.legal {
  max-width: 48rem;
  margin-left: auto;
  margin-right: auto;
}

.legal__updated {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #a0a5ac;
}

.legal__section {
  margin-top: 40px;
}

.legal__heading {
  margin-top: 0;
  margin-bottom: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 300;
  font-size: 1.35rem;
  line-height: 1.35;
  color: #eceff2;
}

.legal__rule {
  display: block;
  width: 56px;
  height: 1px;
  margin-top: 16px;
  background-color: rgba(216, 182, 109, 0.6);
}

.legal__text {
  margin-top: 16px;
  margin-bottom: 0;
  font-size: 0.875rem;
  line-height: 1.8;
  color: #a0a5ac;
}

.legal__list {
  list-style-type: none;
  margin-top: 16px;
  margin-bottom: 0;
  padding-left: 0;
}

.legal__item {
  display: flex;
  align-items: flex-start;
  column-gap: 12px;
  margin-top: 12px;
  font-size: 0.875rem;
  line-height: 1.8;
  color: #a0a5ac;
}

/* ---------- Подвал ---------- */

.footer {
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: rgba(255, 255, 255, 0.12);
  background-color: #14161a;
}

.footer__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: 40px;
  column-gap: 40px;
  padding-top: 56px;
  padding-bottom: 56px;
}

.footer__title {
  margin-top: 0;
  margin-bottom: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 300;
  font-size: 1.5rem;
  line-height: 1.35;
  color: #eceff2;
}

.footer__text {
  margin-top: 16px;
  margin-bottom: 0;
  font-size: 0.875rem;
  line-height: 1.75;
  color: #a0a5ac;
}

.footer__list {
  list-style-type: none;
  margin-top: 20px;
  margin-bottom: 0;
  padding-left: 0;
  font-size: 0.875rem;
  color: #a0a5ac;
}

.footer__item {
  display: flex;
  align-items: flex-start;
  column-gap: 12px;
  margin-top: 14px;
}

.footer__item-plain {
  margin-top: 8px;
  font-size: 0.875rem;
  color: #a0a5ac;
}

.footer__link {
  color: #a0a5ac;
  text-decoration-line: none;
  word-break: break-word;
  transition-property: color;
  transition-duration: 300ms;
  transition-timing-function: ease;
}

.footer__link--hover {
  color: #d8b66d;
}

.footer__links {
  display: flex;
  flex-wrap: wrap;
  column-gap: 24px;
  row-gap: 12px;
  margin-top: 24px;
  font-size: 0.875rem;
}

.footer__nav-link {
  background-color: transparent;
  border-width: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  font-family: "Jost", system-ui, sans-serif;
  font-size: 0.875rem;
  color: #d8b66d;
  cursor: pointer;
  text-decoration-line: none;
}

.footer__bottom {
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: rgba(255, 255, 255, 0.1);
  padding-top: 24px;
  padding-bottom: 24px;
}

.footer__bottom-inner {
  display: flex;
  flex-direction: column;
  row-gap: 16px;
  column-gap: 24px;
  font-size: 0.75rem;
  color: #a0a5ac;
}

.footer__copy {
  margin-top: 0;
  margin-bottom: 0;
  min-width: 0;
}

.footer__legal {
  display: flex;
  flex-wrap: wrap;
  column-gap: 20px;
  row-gap: 8px;
}

.footer__legal-link {
  background-color: transparent;
  border-width: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
  font-family: "Jost", system-ui, sans-serif;
  font-size: 0.75rem;
  color: #a0a5ac;
  cursor: pointer;
}

/* ---------- Cookie ---------- */

.cookie {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 70;
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: rgba(255, 255, 255, 0.12);
  background-color: rgba(20, 22, 26, 0.98);
  backdrop-filter: blur(10px);
  animation-name: fade-in;
  animation-duration: 500ms;
  animation-timing-function: ease-out;
  animation-fill-mode: both;
}

.cookie--visible {
  display: block;
}

.cookie__inner {
  display: flex;
  flex-direction: column;
  row-gap: 16px;
  column-gap: 24px;
  padding-top: 20px;
  padding-bottom: 20px;
}

.cookie__text {
  margin-top: 0;
  margin-bottom: 0;
  min-width: 0;
  font-size: 0.75rem;
  line-height: 1.7;
  color: #a0a5ac;
}

.cookie__btn {
  flex-shrink: 0;
}

/* ---------- Чат ---------- */

.chat {
  position: fixed;
  right: 16px;
  bottom: 24px;
  z-index: 80;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  row-gap: 12px;
}

.chat__launcher {
  position: relative;
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(216, 182, 109, 0.5);
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-left-radius: 50%;
  border-bottom-right-radius: 50%;
  background-color: #14161a;
  color: #d8b66d;
  box-shadow: 0 24px 60px -24px rgba(0, 0, 0, 0.75);
  cursor: pointer;
  transition-property: transform;
  transition-duration: 300ms;
  transition-timing-function: ease;
}

.chat__launcher--hover {
  transform: scale(1.06);
}

.chat__launcher--hidden {
  display: none;
}

.chat__ring {
  position: absolute;
  top: -1px;
  left: -1px;
  width: 56px;
  height: 56px;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(216, 182, 109, 0.5);
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-left-radius: 50%;
  border-bottom-right-radius: 50%;
  animation-name: pulse-ring;
  animation-duration: 2.8s;
  animation-timing-function: ease-out;
  animation-iteration-count: infinite;
  pointer-events: none;
}

.chat__panel {
  display: none;
  box-sizing: border-box;
  flex-direction: column;
  width: 22rem;
  max-width: calc(100vw - 32px);
  max-height: 70vh;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.12);
  background-color: #14161a;
  box-shadow: 0 24px 60px -24px rgba(0, 0, 0, 0.75);
}

.chat__panel--open {
  display: flex;
  animation-name: fade-up;
  animation-duration: 0.5s;
  animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  animation-fill-mode: both;
}

.chat__head {
  display: flex;
  align-items: center;
  column-gap: 12px;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: rgba(255, 255, 255, 0.12);
  background-color: #1c1f24;
  padding-top: 16px;
  padding-right: 16px;
  padding-bottom: 16px;
  padding-left: 16px;
}

.chat__avatar {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  object-fit: cover;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(216, 182, 109, 0.4);
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  border-bottom-left-radius: 50%;
  border-bottom-right-radius: 50%;
}

.chat__ident {
  min-width: 0;
}

.chat__name {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 0.875rem;
  color: #eceff2;
}

.chat__role {
  margin-top: 2px;
  margin-bottom: 0;
  font-size: 0.72rem;
  color: #d8b66d;
}

.chat__close {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  margin-left: auto;
  flex-shrink: 0;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.14);
  background-color: transparent;
  color: #a0a5ac;
  cursor: pointer;
  transition-property: color, border-color;
  transition-duration: 300ms;
  transition-timing-function: ease;
}

.chat__close--hover {
  color: #d8b66d;
  border-color: rgba(216, 182, 109, 0.6);
}

.chat__body {
  flex-grow: 1;
  overflow-y: auto;
  padding-top: 16px;
  padding-right: 16px;
  padding-bottom: 16px;
  padding-left: 16px;
}

.chat__msg {
  box-sizing: border-box;
  max-width: 90%;
  margin-top: 12px;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.12);
  background-color: #0b0d11;
  color: rgba(236, 239, 242, 0.9);
  font-size: 0.875rem;
  line-height: 1.7;
  padding-top: 12px;
  padding-right: 16px;
  padding-bottom: 12px;
  padding-left: 16px;
}

.chat__msg--user {
  margin-left: auto;
  max-width: 85%;
  border-color: #d8b66d;
  background-color: #d8b66d;
  color: #0b0d11;
}

.chat__typing {
  margin-top: 12px;
  margin-bottom: 0;
  font-size: 0.75rem;
  color: #a0a5ac;
}

.chat__typing--hidden {
  display: none;
}

.chat__quick {
  display: flex;
  flex-wrap: wrap;
  column-gap: 8px;
  row-gap: 8px;
  padding-top: 12px;
}

.chat__quick--hidden {
  display: none;
}

.chat__quick-btn {
  border-width: 1px;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.14);
  background-color: transparent;
  color: #a0a5ac;
  font-family: "Jost", system-ui, sans-serif;
  font-size: 0.72rem;
  padding-top: 8px;
  padding-right: 12px;
  padding-bottom: 8px;
  padding-left: 12px;
  cursor: pointer;
  transition-property: color, border-color;
  transition-duration: 300ms;
  transition-timing-function: ease;
}

.chat__quick-btn--hover {
  color: #d8b66d;
  border-color: rgba(216, 182, 109, 0.6);
}

.chat__form {
  display: flex;
  align-items: center;
  column-gap: 8px;
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: rgba(255, 255, 255, 0.12);
  padding-top: 12px;
  padding-right: 12px;
  padding-bottom: 12px;
  padding-left: 12px;
}

.chat__input {
  flex-grow: 1;
  min-width: 0;
  background-color: transparent;
  border-width: 0;
  color: #eceff2;
  font-family: "Jost", system-ui, sans-serif;
  font-size: 0.875rem;
  padding-top: 8px;
  padding-right: 8px;
  padding-bottom: 8px;
  padding-left: 8px;
  outline-style: none;
}

.chat__send {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(216, 182, 109, 0.6);
  background-color: transparent;
  color: #d8b66d;
  cursor: pointer;
  transition-property: background-color, color;
  transition-duration: 300ms;
  transition-timing-function: ease;
}

.chat__send--hover {
  background-color: #d8b66d;
  color: #0b0d11;
}

/* ---------- Планшет ---------- */

@media (min-width: 640px) {
  .container {
    padding-left: 24px;
    padding-right: 24px;
  }

  .section {
    padding-top: 88px;
    padding-bottom: 88px;
  }

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

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

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

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

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

  .form__field--wide {
    grid-column-start: span 2;
  }

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

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

  .vacancy__head {
    padding-left: 32px;
    padding-right: 32px;
  }

  .vacancy__body {
    padding-left: 32px;
    padding-right: 32px;
  }

  .vacancy__actions {
    flex-direction: row;
  }

  .hero__actions {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .hero__title {
    font-size: 2.6rem;
  }

  .hero__text {
    font-size: 1rem;
  }

  .heading__title {
    font-size: 2.2rem;
  }

  .page-hero__title {
    font-size: 2.6rem;
  }

  .title-xl {
    font-size: 2.4rem;
  }

  .stat__value {
    font-size: 3rem;
  }

  .card {
    padding-top: 32px;
    padding-right: 32px;
    padding-bottom: 32px;
    padding-left: 32px;
  }

  .form {
    padding-top: 32px;
    padding-right: 32px;
    padding-bottom: 32px;
    padding-left: 32px;
  }

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

  .cookie__inner {
    flex-direction: row;
    align-items: center;
  }

  .milestone {
    flex-direction: row;
    align-items: baseline;
  }

  .milestone__year {
    width: 110px;
    flex-shrink: 0;
  }

  .deflist__term {
    width: 14rem;
  }

  .chat {
    right: 24px;
  }
}

/* ---------- Десктоп ---------- */

@media (min-width: 1024px) {
  .header__top {
    display: block;
  }

  .header__nav {
    display: flex;
  }

  .header__burger {
    display: none;
  }

  .header__menu {
    display: none;
  }

  .header__menu--open {
    display: none;
  }

  .header__bar-inner {
    height: 80px;
    column-gap: 24px;
  }

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

  .grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

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

  .grid--split-narrow {
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  }

  .grid--split-wide {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  }

  .filters__grid {
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1fr);
  }

  .hero__inner {
    min-height: 92vh;
    padding-top: 144px;
    padding-bottom: 96px;
    text-align: left;
  }

  .hero__content {
    margin-left: 0;
    margin-right: 0;
  }

  .hero__text {
    margin-left: 0;
    margin-right: 0;
  }

  .hero__actions {
    justify-content: flex-start;
  }

  .hero__dots {
    justify-content: flex-start;
  }

  .hero__title {
    font-size: 3.4rem;
  }

  .heading__title {
    font-size: 2.6rem;
  }

  .page-hero {
    padding-top: 176px;
    padding-bottom: 80px;
  }

  .page-hero__title {
    font-size: 3.2rem;
  }

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

  .footer__bottom-inner {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }

  .map__frame {
    height: 420px;
  }
}

/* ---------- Мобильное центрирование ---------- */

@media (max-width: 767px) {
  .center-mobile {
    text-align: center;
  }

  .btn {
    width: 100%;
  }

  .hero__dots {
    justify-content: center;
  }

  .milestone {
    text-align: left;
  }

  .vacancy__head {
    text-align: left;
  }

  .legal {
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  .reveal--in {
    animation-duration: 0.001ms;
  }

  .marquee__track {
    animation-duration: 0.001ms;
  }

  .logo__ring {
    animation-duration: 0.001ms;
  }
}
/* ---------- Дополнительные блоки и состояния ---------- */

.container--narrow {
  max-width: 52rem;
}

.text--center {
  text-align: center;
}

.btn-row {
  display: flex;
  flex-direction: column;
  row-gap: 12px;
  column-gap: 12px;
  margin-top: 32px;
}

.btn-row--center {
  align-items: center;
  justify-content: center;
}

.filters__label {
  display: block;
  min-width: 0;
}

.filters__select-wrap {
  display: block;
  min-width: 0;
}

.footer__col {
  min-width: 0;
}

.footer__link--gold {
  color: #d8b66d;
}

.infocard-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: 10px;
  margin-top: 20px;
  margin-bottom: 0;
  padding-left: 0;
  list-style-type: none;
}

.infocard-row {
  display: flex;
  flex-wrap: wrap;
  column-gap: 8px;
  row-gap: 2px;
  font-size: 0.8rem;
}

.infocard-row__label {
  color: #a0a5ac;
}

.infocard-row__value {
  min-width: 0;
  color: rgba(236, 239, 242, 0.85);
}

.vacancy__group {
  min-width: 0;
}

.icon--hidden {
  display: none;
}

.hero__content--hidden {
  display: none;
}

.hero__content--replay {
  animation-name: fade-in;
  animation-duration: 0.6s;
  animation-timing-function: ease-out;
  animation-fill-mode: both;
}

.vacancy__icon--open {
  transform: rotate(180deg);
}

.chat__msg--pending {
  opacity: 0.9;
}

/* ---------- Сетки: колонки по устройствам ---------- */

@media (min-width: 640px) {
  .btn-row {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .grid[data-cols="2"] {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .grid[data-cols="3"] {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .grid[data-cols="4"] {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .infocard-row {
    font-size: 0.82rem;
  }
}

@media (min-width: 1024px) {
  .grid[data-cols="3"] {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  }

  .grid[data-cols="4"] {
    grid-template-columns:
      minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr)
      minmax(0, 1fr);
  }
}


/* ---------- Отступы внутри ячеек сетки на узких экранах ---------- */
@media (max-width: 767px) {
  .grid__cell {
    padding-top: 24px;
    padding-right: 20px;
    padding-bottom: 24px;
    padding-left: 20px;
  }
}

/* Внутренние блоки в ячейках сетки не дублируют отступы */
.grid__cell > .card,
.grid__cell > .stat {
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
}
