/* Footer — Figma 1:31 (форма 1:33 + подвал 1:40) */

.mi-footer {
  --mi-footer-hand-nudge: 1.75vw;
  --mi-footer-hand-p: 0;
  --mi-footer-hand-enter-x: 0px;
  --mi-footer-hand-enter-y: 0px;
  position: relative;
  background: linear-gradient(180deg, #0d2f4c 0%, #112331 45.269%);
  color: var(--mi-color-inverse);
  /* allow hands parked outside; watermark rises from below */
  overflow-x: visible;
  overflow-y: hidden;
}

/* —— onfooter / форма 1:33 —— */
.mi-footer__cta {
  position: relative;
  overflow: visible;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(40px * var(--mi-s));
  width: 100%;
  /* Figma 1:33 — pt 120 */
  padding: var(--mi-space-section) var(--mi-gutter);
  text-align: center;
  border-radius: var(--mi-radius-card) var(--mi-radius-card) 0 0;
}

.mi-footer__hand {
  position: absolute;
  top: 0;
  display: block;
  pointer-events: none;
  z-index: 0;
  max-width: none;
  line-height: 0;
  transform: translate3d(
    calc(
      var(--mi-footer-hand-enter-x) + var(--mi-footer-hand-nudge) * var(--mi-footer-hand-p)
    ),
    var(--mi-footer-hand-enter-y),
    0
  );
  will-change: transform;
}

.mi-footer__hand img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
  object-position: top center;
  mix-blend-mode: screen;
}

/* Parked outside layout so center-nudge doesn't clip — scaled to 1920 canvas */
.mi-footer__hand--l {
  left: calc(50% - (960px * var(--mi-s)) - var(--mi-footer-hand-nudge));
  width: calc(487px * var(--mi-s));
  height: calc(626px * var(--mi-s));
}

.mi-footer__hand--r {
  left: calc(50% - (960px * var(--mi-s)) + (1431px * var(--mi-s)) + var(--mi-footer-hand-nudge));
  width: calc(489px * var(--mi-s));
  height: calc(626px * var(--mi-s));
  transform: translate3d(
    calc(
      var(--mi-footer-hand-enter-x) - var(--mi-footer-hand-nudge) * var(--mi-footer-hand-p)
    ),
    var(--mi-footer-hand-enter-y),
    0
  );
}

.mi-footer__cta-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(40px * var(--mi-s));
  width: 100%;
}

.mi-footer__cta-copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--mi-space-gap-sm);
  width: 100%;
}

.mi-footer__cta-title {
  margin: 0;
  font-family: var(--mi-font);
  font-size: var(--mi-fs-96);
  font-weight: 500;
  line-height: 1.1;
  color: #fff;
  white-space: nowrap;
}

.mi-footer__cta-text {
  margin: 0;
  font-size: var(--mi-fs-20);
  font-weight: 300;
  line-height: 1.5;
  color: #fff;
}

.mi-footer__cta .mi-btn {
  margin: 0;
}

/* Brand watermark — anchored to .mi-footer__bar; L→R reveal */
.mi-footer__brand {
  position: absolute;
  left: 50%;
  bottom: -20%;
  transform: translateX(-50%);
  margin: 0;
  font-family: var(--mi-font);
  font-size: calc(325.262px * var(--mi-s));
  font-weight: 600;
  line-height: 0.72;
  height: 0.72em;
  text-align: center;
  text-transform: uppercase;
  color: #0d304c;
  opacity: 0.5;
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
  z-index: 0;
  overflow: visible;
}

/* —— подвал 1:40 —— */
.mi-footer__bar {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: calc(40px * var(--mi-s)) var(--mi-gutter);
  border-top: 1px solid rgba(67, 133, 187, 0.5);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(64px * var(--mi-s));
  overflow: hidden;
}

.mi-footer__inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  max-width: var(--mi-content-width);
  margin-inline: auto;
}

.mi-footer__contacts {
  display: flex;
  gap: calc(120px * var(--mi-s));
  align-items: flex-start;
}

.mi-footer__col {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
}

.mi-footer__col p,
.mi-footer__col a {
  margin: 0;
  font-size: var(--mi-fs-20);
  font-weight: 500;
  line-height: 1.5;
  color: #fff;
}

.mi-footer__mail {
  text-decoration: underline;
  text-underline-position: from-font;
}

.mi-footer__label {
  display: block;
  margin: 0;
  font-size: var(--mi-fs-16);
  font-weight: 400;
  line-height: 1.5;
  color: #fff;
  opacity: 0.5;
}

.mi-footer__social {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 16px;
  flex-shrink: 0;
}

.mi-footer__social-img {
  width: calc(224px * var(--mi-s));
  height: calc(64px * var(--mi-s));
  max-width: none;
  display: block;
}

.mi-footer__legal {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  font-size: var(--mi-fs-16);
  font-weight: 400;
  line-height: 1.5;
  color: #fff;
  white-space: nowrap;
}

.mi-footer__legal span,
.mi-footer__legal a {
  opacity: 0.5;
  color: #fff;
}

/* ——— AOS (футер.mp4 ~2.03s) ———
   Hands enter once; nudge inward is scroll-driven via --mi-footer-hand-p.
   Title / watermark use shared .mi-reveal (L→R).
*/
.mi-js .mi-footer[data-aos="footer"] .mi-footer__hand--l,
.mi-js .mi-footer[data-aos="footer"] .mi-footer__hand--r {
  opacity: 0;
}

.mi-js .mi-footer[data-aos="footer"] .mi-footer__hand--l {
  --mi-footer-hand-enter-x: -120px;
  --mi-footer-hand-enter-y: 24px;
}

.mi-js .mi-footer[data-aos="footer"] .mi-footer__hand--r {
  --mi-footer-hand-enter-x: 120px;
  --mi-footer-hand-enter-y: 24px;
}

.mi-js .mi-footer[data-aos="footer"].aos-animate .mi-footer__hand--l,
.mi-js .mi-footer[data-aos="footer"].aos-animate .mi-footer__hand--r {
  opacity: 1;
  --mi-footer-hand-enter-x: 0px;
  --mi-footer-hand-enter-y: 0px;
  transition: opacity 1.1s var(--mi-ease);
}

.mi-js .mi-footer[data-aos="footer"].aos-animate:not(.aos-enter-done) .mi-footer__hand--l,
.mi-js .mi-footer[data-aos="footer"].aos-animate:not(.aos-enter-done) .mi-footer__hand--r {
  transition:
    opacity 1.1s var(--mi-ease),
    transform 1.1s var(--mi-ease);
}

.mi-js .mi-footer[data-aos="footer"].aos-enter-done .mi-footer__hand--l,
.mi-js .mi-footer[data-aos="footer"].aos-enter-done .mi-footer__hand--r {
  transition: none;
}

/* Watermark — fixed position; L→R reveal via .mi-reveal */
.mi-footer__brand.mi-reveal {
  opacity: 0.08;
}

.mi-js .mi-footer[data-aos="footer"].aos-animate .mi-footer__brand.mi-reveal {
  opacity: 0.5;
}

.mi-js .mi-footer[data-aos="footer"] .mi-footer__brand.mi-reveal {
  transition-delay: 380ms;
}

.mi-js .mi-footer[data-aos="footer"] .mi-footer__cta-btn {
  opacity: 0;
  transform: translate3d(0, 22px, 0);
}

.mi-js .mi-footer[data-aos="footer"] .mi-footer__col,
.mi-js .mi-footer[data-aos="footer"] .mi-footer__social,
.mi-js .mi-footer[data-aos="footer"] .mi-footer__legal {
  opacity: 0;
  transform: translate3d(0, 18px, 0);
}

.mi-js .mi-footer[data-aos="footer"].aos-animate .mi-footer__cta-btn {
  opacity: 1;
  transform: none;
  transition:
    opacity 0.55s var(--mi-ease),
    transform 0.55s var(--mi-ease);
  transition-delay: 650ms;
}

.mi-js .mi-footer[data-aos="footer"].aos-animate .mi-footer__col:nth-child(1) {
  opacity: 1;
  transform: none;
  transition:
    opacity 0.55s var(--mi-ease),
    transform 0.55s var(--mi-ease);
  transition-delay: 280ms;
}
.mi-js .mi-footer[data-aos="footer"].aos-animate .mi-footer__col:nth-child(2) {
  opacity: 1;
  transform: none;
  transition:
    opacity 0.55s var(--mi-ease),
    transform 0.55s var(--mi-ease);
  transition-delay: 380ms;
}
.mi-js .mi-footer[data-aos="footer"].aos-animate .mi-footer__col:nth-child(3) {
  opacity: 1;
  transform: none;
  transition:
    opacity 0.55s var(--mi-ease),
    transform 0.55s var(--mi-ease);
  transition-delay: 480ms;
}

.mi-js .mi-footer[data-aos="footer"].aos-animate .mi-footer__social {
  opacity: 1;
  transform: none;
  transition:
    opacity 0.55s var(--mi-ease),
    transform 0.55s var(--mi-ease);
  transition-delay: 580ms;
}

.mi-js .mi-footer[data-aos="footer"].aos-animate .mi-footer__legal {
  opacity: 1;
  transform: none;
  transition:
    opacity 0.5s var(--mi-ease),
    transform 0.5s var(--mi-ease);
  transition-delay: 80ms;
}

/* legal children keep 0.5 label opacity via span/a rules after parent animates */
.mi-js .mi-footer[data-aos="footer"].aos-animate .mi-footer__legal span,
.mi-js .mi-footer[data-aos="footer"].aos-animate .mi-footer__legal a {
  opacity: 0.5;
}

@media (prefers-reduced-motion: reduce) {
  .mi-js .mi-footer[data-aos="footer"] .mi-footer__hand--l,
  .mi-js .mi-footer[data-aos="footer"] .mi-footer__hand--r,
  .mi-js .mi-footer[data-aos="footer"] .mi-footer__cta-btn,
  .mi-js .mi-footer[data-aos="footer"] .mi-footer__col,
  .mi-js .mi-footer[data-aos="footer"] .mi-footer__social,
  .mi-js .mi-footer[data-aos="footer"] .mi-footer__legal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }

  .mi-js .mi-footer[data-aos="footer"] .mi-footer__brand {
    opacity: 0.5 !important;
    bottom: -20% !important;
    transform: translateX(-50%) !important;
  }

  .mi-js .mi-footer[data-aos="footer"] .mi-footer__legal span,
  .mi-js .mi-footer[data-aos="footer"] .mi-footer__legal a {
    opacity: 0.5 !important;
  }
}
