/* ==================== Tokens ==================== */
:root {
  --brand: #1183d5;
  --brand-dark: #0e73bc;
  --ink: #181818;
  --ink-strong: #000;
  --muted: #6a6a6a;
  --line: #bfbcbc;
  --bg-form: #e2e2e2;
  --arch-grad: linear-gradient(180deg, #bbe2ff 0%, #fff 100%);

  --font-head: 'Dela Gothic One', 'Arial Black', sans-serif;
  --font-body: 'Onest', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

  /* Figma canvas: 1673px. Below that — fluidly scale via 1u = 1/1673 vw. */
  --w: 1673;
  --u: calc(100vw / var(--w));
  --content-max: 1440px;
}
@media (min-width: 1673px) {
  :root { --u: 1px; }
}

/* ==================== Reset ==================== */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-body);
  color: var(--ink-strong);
  background: #fff;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: 0; background: none; }
input { font: inherit; }
address { font-style: normal; }

.container {
  width: 100%;
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 0 32px;
}

/* ==================== Buttons ==================== */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 28px;
  font-weight: 500;
  font-size: 14px;
  transition: background .15s ease, transform .15s ease;
}
.btn--primary {
  background: var(--brand);
  color: #fff;
}
.btn--primary:hover { background: var(--brand-dark); }

/* ==================== Section title ==================== */
.section-title {
  font-family: var(--font-head);
  font-weight: 400;
  font-size: calc(var(--u) * 64);
  line-height: 1;
  margin: 0 0 calc(var(--u) * 92);
  color: var(--ink-strong);
  letter-spacing: -0.005em;
}

.lower { text-transform: lowercase; }

/* ==================== Header ==================== */
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: #fff;
  border-bottom: 1px solid rgba(17, 131, 213, 0.08);
}
.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  height: 91px;
  max-width: 1640px;
  margin: 0 auto;
  padding: 0 32px;
}
.site-header__logo img { width: 38px; height: auto; }

.site-btns {
  display: flex;
  gap: 20px;
}

.site-nav {
  display: flex;
  gap: 40px;
  font-weight: 500;
  font-size: 14px;
}
.site-nav a:hover { color: var(--brand); }

/* ==================== Hero ==================== */
.hero {
  position: relative;
  overflow: hidden;
  padding: 80px 0 0;
  min-height: calc(var(--u) * 1176);
}
.hero__bg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 1673px;
  pointer-events: none;
  z-index: 0;
}
.hero__ellipse {
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
  transform: rotate(-90deg);
}
.hero__ellipse--lg {
  width: calc(var(--u) * 1317.24);
  height: calc(var(--u) * 1317.24);
  left: calc(var(--u) * 420);
  top: 0;
  background-image: url("assets/svg/hero-desktop-ellipse-31.svg");
}
.hero__ellipse--sm {
  width: calc(var(--u) * 896.93);
  height: calc(var(--u) * 896.93);
  left: calc(var(--u) * 81.87);
  top: calc(var(--u) * 200);
  background-image: url("assets/svg/hero-desktop-ellipse-32.svg");
}
.hero__column {
  position: absolute;
  top: calc(var(--u) * 388);
  bottom: 0;
  width: calc(var(--u) * 105);
  background: linear-gradient(180deg, #dff1ff 2%, var(--brand) 100%);
}
.hero__column--1 { left: calc(var(--u) * 896); }
.hero__column--2 { left: calc(var(--u) * 1025.5); }
.hero__column--3 { left: calc(var(--u) * 1153.5); }

.hero__vehicle {
  position: absolute;
  height: auto;
  z-index: 2;
  pointer-events: none;
}
.hero__vehicle--airplane {
  left: calc(var(--u) * 664);
  top: calc(var(--u) * 180);
  width: calc(var(--u) * 946);
}
.hero__vehicle--engine {
  left: calc(var(--u) * 1050);
  top: calc(var(--u) * 432);
  width: calc(var(--u) * 302);
  aspect-ratio: 1.54;
}
.hero__vehicle--vert {
  left: calc(var(--u) * 633);
  top: calc(var(--u) * 280);
  width: calc(var(--u) * 377);
  aspect-ratio: 1.83;
  transform: none;
}
.hero__arrows {
  position: absolute;
  left: calc(var(--u) * 1002);
  top: calc(var(--u) * 377);
  width: calc(var(--u) * 586);
  height: auto;
  z-index: 1;
}

.hero__content {
  position: relative;
  z-index: 3;
  padding-top: calc(var(--u) * 380);
  margin-left: auto;
  margin-right: auto;
}
.hero__title {
  display: inline-block;
  position: relative;
  font-family: var(--font-head);
  font-weight: 400;
  font-size: calc(var(--u) * 109);
  line-height: 1.17;
  margin: 0;
  color: var(--brand);
  letter-spacing: -0.01em;
}
.hero__mofi {
  position: absolute;
  top: calc(var(--u) * -20);
  right: calc(var(--u) * -150);
  width: calc(var(--u) * 202);
}
.hero__sub {
  font-weight: 500;
  font-size: calc(var(--u) * 36);
  line-height: 1.35;
  max-width: calc(var(--u) * 790);
  margin: calc(var(--u) * 20) 0 0 calc(var(--u) * 8);
  color: var(--ink-strong);
}

/* ==================== Architecture (макет Figma 9:40) ====================
   Frame 1672×1045u. Три карточки в ряд: ширины 480/481/480u, gap 57u.
   Каждая карточка = крыша (тип-SVG, высота 286u, поверх) + тело (759u).
   Тип-1 шириной 943.5u намеренно торчит вправо за свою колонку.
   Заголовок секции абсолютом в левом верхнем углу, layer выше крыш. */
.arch-section {
  position: relative;
  overflow: hidden;
}
.arch-section__inner {
  position: relative;
  width: calc(var(--u) * 1673);
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
}
.arch-section__title {
  position: absolute;
  top: calc(var(--u) * 117);
  left: max(32px, calc((100% - var(--content-max)) / 2));
  margin: 0;
  font-family: var(--font-head);
  font-weight: 400;
  font-size: calc(var(--u) * 64);
  line-height: 1;
  color: var(--ink-strong);
  z-index: 3;
}

.arch-list {
  display: grid;
  grid-template-columns: calc(var(--u) * 480) calc(var(--u) * 481) calc(var(--u) * 480);
  column-gap: calc(var(--u) * 57);
  justify-content: center;
  align-items: start;
  padding: calc(var(--u) * 285) 0 0;
  list-style: none;
  margin: 0 auto;
  max-width: calc(var(--u) * 1376);
}
.arch-list__item { position: relative; }

.arch-card {
  position: relative;
  display: block;
}
.arch-card__roof {
  position: absolute;
  left: 0;
  bottom: 100%;
  height: calc(var(--u) * 286);
  width: auto;
  max-width: none;
  margin-bottom: -1px;
  pointer-events: none;
  z-index: 1;
}
.arch-list__item--1 .arch-card__roof { width: calc(var(--u) * 943.5); }
.arch-list__item--2 .arch-card__roof { width: calc(var(--u) * 535); }
.arch-list__item--3 .arch-card__roof { width: calc(var(--u) * 480); }

.arch-card__body {
  background: var(--arch-grad);
  min-height: calc(var(--u) * 759);
  padding: calc(var(--u) * 84) calc(var(--u) * 30) calc(var(--u) * 60);
  box-sizing: border-box;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

.arch-card__head {
  position: relative;
  min-height: calc(var(--u) * 174.64);
}
.arch-card__num {
  display: block;
  font-family: var(--font-head);
  font-weight: 400;
  font-size: calc(var(--u) * 128);
  line-height: 0.9;
  color: #fff;
  letter-spacing: -0.02em;
}
.arch-card__arrows {
  position: absolute;
  top: 0;
  right: 0;
  width: calc(var(--u) * 276);
  height: auto;
  pointer-events: none;
}
.arch-card__title {
  margin: calc(var(--u) * 21) 0 calc(var(--u) * 32);
  font-weight: 700;
  font-size: calc(var(--u) * 24);
  line-height: 1.35;
  color: var(--ink);
}
.arch-card__desc {
  margin: 0;
  font-weight: 400;
  font-size: calc(var(--u) * 24);
  line-height: 1.45;
  color: var(--ink);
}

/* ==================== Modules — folder slide ==================== */
.modules {
  padding: calc(var(--u) * 40) 0 calc(var(--u) * 100);
}
.folder {
  position: relative;
  width: 100%;
  margin: 0;
  aspect-ratio: 1527 / 776;
}
.folder::before { display: none; }
.folder::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.35) 100%);
  pointer-events: none;
  z-index: 1;
}
.folder__shape {
  position: absolute;
  inset: 0;
  width: 100%;
  height: auto;
  z-index: 0;
}
.folder__text {
  position: relative;
  z-index: 2;
  padding: calc(var(--u) * 68) calc(var(--u) * 60) calc(var(--u) * 60);
  max-width: calc(var(--u) * 740);
  color: #fff;
}
.folder__title {
  font-weight: 500;
  font-size: calc(var(--u) * 44.8);
  line-height: 1.15;
  margin: 0 0 calc(var(--u) * 28);
  letter-spacing: -0.005em;
}
.folder__desc {
  font-weight: 400;
  font-size: calc(var(--u) * 24);
  line-height: 1.5;
  margin: 0;
}
.folder__icon {
  position: absolute;
  right: calc(var(--u) * 90);
  top: 50%;
  width: calc(var(--u) * 496);
  height: calc(var(--u) * 496);
  object-fit: contain;
  transform: translateY(-50%);
  z-index: 2;
  pointer-events: none;
  filter: drop-shadow(0 calc(var(--u) * 12) calc(var(--u) * 32) rgba(0, 0, 0, 0.10));
}

/* ==================== Slider ==================== */
.slider {
  position: relative;
  margin-top: calc(var(--u) * 20);
}
.slider__viewport {
  position: relative;
  overflow: hidden;
}
.slider__track {
  display: flex;
  will-change: transform;
  transition: transform .45s cubic-bezier(.22, .61, .36, 1);
}
.slider__slide {
  flex: 0 0 100%;
  min-width: 0;
}
.slider__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: calc(var(--u) * 64);
  height: calc(var(--u) * 64);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: var(--brand);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 calc(var(--u) * 8) calc(var(--u) * 24) rgba(0, 0, 0, 0.18);
  transition: background .15s ease, color .15s ease, opacity .15s ease;
  z-index: 5;
}
.slider__arrow svg {
  width: calc(var(--u) * 28);
  height: calc(var(--u) * 28);
}
.slider__arrow--prev { left: calc(var(--u) * -32); }
.slider__arrow--next { right: calc(var(--u) * -32); }
.slider__arrow:hover:not(:disabled) {
  background: var(--brand);
  color: #fff;
}
.slider__arrow:disabled { opacity: 0.4; cursor: default; }

.slider__dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(var(--u) * 12);
  margin-top: calc(var(--u) * 36);
}
.slider__dot {
  width: calc(var(--u) * 12);
  height: calc(var(--u) * 12);
  border-radius: 50%;
  background: #c9c9c9;
  padding: 0;
  transition: background .15s ease, transform .15s ease;
}
.slider__dot:hover { background: #9a9a9a; }
.slider__dot.is-active {
  background: var(--brand);
  transform: scale(1.2);
}

/* ==================== Modules — parallax stack (desktop only) ====================
   Каждый слайд = 100vh sticky-блок. Слайды складываются друг на друга,
   видимая глубина — 2-3 верхних карточки за счёт scale/translateY на дальних. */
@media (min-width: 1101px) {
  .slider { margin-top: 0; }
  .slider__viewport { overflow: visible; }
  .slider__track {
    display: block;
    transform: none !important;
    transition: none;
  }
  .slider__slide {
    position: sticky;
    top: 150px;
    width: 100%;
    min-height: 60vh;
    margin-bottom: 30px;
    box-sizing: border-box;
    transform-origin: center top;
    will-change: transform, opacity;
  }
  .slider__arrow,
  .slider__dots { display: none !important; }
}

/* ==================== Footer ==================== */
.site-footer {
  background: var(--brand);
  color: #fff;
  position: relative;
  overflow: hidden;
  padding-top: calc(var(--u) * 30);
}
.site-footer__inner {
  display: grid;
  grid-template-columns: auto auto 1fr;
  column-gap: calc(var(--u) * 100);
  row-gap: calc(var(--u) * 40);
  align-items: start;
  padding: calc(var(--u) * 60) 32px 0;
}
.site-footer__brand { grid-column: 1 / -1; }
.site-footer__brand {
  display: flex;
  align-items: flex-end;
  gap: calc(var(--u) * 22);
}
.site-footer__brand img {
  width: calc(var(--u) * 199);
  height: auto;
}
.site-footer__brand p {
  margin: 0;
  font-weight: 500;
  font-size: calc(var(--u) * 14);
  line-height: 1.35;
  text-transform: uppercase;
  position: relative;
  top: calc(var(--u) * -6);
}
.site-footer__contacts p,
.site-footer__address {
  font-weight: 500;
  font-size: calc(var(--u) * 16);
  margin: 0;
  line-height: 1.4;
}
.site-footer__big {
  position: relative;
  font-family: var(--font-head);
  font-weight: 400;
  font-size: calc(var(--u) * 250);
  line-height: 0.82;
  text-align: center;
  letter-spacing: -0.04em;
  white-space: nowrap;
  margin-top: calc(var(--u) * 20);
}
.site-footer__mofi {
  position: absolute;
  top: calc(var(--u) * -40);
  right: calc(var(--u) * 110);
  width: calc(var(--u) * 143);
}

/* ==================== Responsive ==================== */
@media (max-width: 1100px) {
  :root { --u: calc(100vw / 1673 * 1.2); --um: calc(100vw / 440); }
  .section-title { margin-bottom: calc(var(--u) * 50); }
  .site-nav { display: none; }

  /* Hero — те же декорации, что в мобильной версии */
  .hero { padding: 0 0 calc(var(--um) * 40); min-height: 0; position: relative; overflow: hidden; }
  .hero__bg { position: absolute; inset: 0; left: 0; transform: none; max-width: none; width: auto; overflow: hidden; }
  .hero__column { display: none; }
  .hero__ellipse {
    display: block;
    background: none;
    opacity: 1;
    filter: none;
    transform: none;
    border-radius: 0;
  }
  .hero__ellipse--lg {
    width: calc(var(--um) * 350.12);
    height: calc(var(--um) * 350.12);
    left: calc(var(--um) * 87.87);
    top: calc(var(--um) * -83.13);
    background: url("assets/svg/hero-ellipse-1.svg") center/contain no-repeat;
  }
  .hero__ellipse--sm {
    width: calc(var(--um) * 238.4);
    height: calc(var(--um) * 238.4);
    left: calc(var(--um) * -2);
    top: calc(var(--um) * 28.6);
    background: url("assets/svg/hero-ellipse-2.svg") center/contain no-repeat;
  }
  .hero__arrows {
    display: block;
    position: absolute;
    left: 50%;
    top: calc(var(--um) * 10);
    width: calc(var(--um) * 380);
    height: auto;
    transform: translateX(-50%);
    z-index: 1;
    opacity: 0.5;
  }
  .hero__vehicle {
    position: absolute;
    height: auto;
    z-index: 2;
    pointer-events: none;
  }
  /* Vehicles в планшете: пропорции и относительные расстояния
     как в моб, общий масштаб 0.7 */
  .hero__vehicle--airplane {
    left: calc(var(--um) * -102 * 0.7 + var(--um) * 100);
    top: calc(var(--um) * 60 * 0.7 * 0.9 - var(--um) * 20);
    width: calc(var(--um) * 408 * 0.7);
    transform: none;
  }
  .hero__vehicle--engine {
    left: calc(var(--um) * 165 * 0.7 + var(--um) * 100);
    top: calc(var(--um) * 130 * 0.7 * 0.9 - var(--um) * 10);
    width: calc(var(--um) * 140 * 0.7);
    aspect-ratio: 1.54;
    transform: none;
  }
  .hero__vehicle--vert {
    left: calc(var(--um) * 33 * 0.7 + var(--um) * 120);
    top: calc(var(--um) * 169 * 0.7 * 0.9 - var(--um) * 20);
    width: calc(var(--um) * 160 * 0.7);
    aspect-ratio: 1.83;
    transform: scaleX(-1);
  }
  .hero__content { padding-top: calc(var(--u) * 380 + var(--um) * 50); }

  .arch-section { overflow: visible; }
  .arch-section__inner { width: 100%; max-width: 100%; padding: 0 calc(var(--u) * 40); }
  .arch-section__title {
    position: static;
    margin: 0 0 calc(var(--u) * 40);
  }
  .arch-list {
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: calc(var(--u) * 40);
    padding-top: 0;
    max-width: none;
    margin: 0;
  }
  .arch-card__roof { display: none; }
  .arch-card__body {
    min-height: auto;
    padding: calc(var(--u) * 40) calc(var(--u) * 40) calc(var(--u) * 60);
    border-radius: calc(var(--um) * 16);
  }

  .folder__icon {
    width: calc(var(--u) * 446.4);
    height: calc(var(--u) * 446.4);
  }

  .site-footer__big {
    position: relative;
    font-size: 15vw;
    line-height: 0.82;
    margin-top: calc(var(--u) * 20);
  }
  .site-footer__mofi {
    position: absolute;
    top: calc(var(--u) * -50);
    right: 0;
    width: calc(var(--u) * 143);
  }
}
@media (max-width: 700px) {
  :root { --um: calc(100vw / 440); --u: var(--um); }
  .section-title { margin-bottom: calc(var(--um) * 50); }

  .container { padding: 0 calc(var(--um) * 10); }

  /* Header — logo + Документация only */
  .site-header { position: relative; }
  .site-header__inner {
    height: calc(var(--um) * 91);
    padding: 0 calc(var(--um) * 30);
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .site-header__logo img {
    width: calc(var(--um) * 33.4);
    height: calc(var(--um) * 40);
  }
  .site-nav { display: none; }
  .site-btns {
    display: flex;
    gap: 10px;
    font-size: 12px;
  }

  .site-header .btn--primary {
    width: calc(var(--um) * 180);
    height: calc(var(--um) * 37);
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: calc(var(--um) * 16);
    background: #1183d5;
  }

  /* Hero */
  .hero { padding: 0; min-height: calc(var(--um) * 620); position: relative; overflow: hidden; }
  .hero__bg { position: absolute; inset: 0; left: 0; transform: none; max-width: none; width: auto; overflow: hidden; }
  .hero__column { display: none; }

  .hero__ellipse {
    display: block;
    background: none;
    opacity: 1;
    filter: none;
    transform: none;
    border-radius: 0;
  }
  .hero__ellipse--lg {
    width: calc(var(--um) * 350.12);
    height: calc(var(--um) * 350.12);
    left: calc(var(--um) * 87.87);
    top: calc(var(--um) * 16.87);
    background: url("assets/svg/hero-ellipse-1.svg") center/contain no-repeat;
  }
  .hero__ellipse--sm {
    width: calc(var(--um) * 238.4);
    height: calc(var(--um) * 238.4);
    left: calc(var(--um) * -2);
    top: calc(var(--um) * 128.6);
    background: url("assets/svg/hero-ellipse-2.svg") center/contain no-repeat;
  }

  .hero__arrows {
    display: block;
    position: absolute;
    left: 50%;
    top: calc(var(--um) * 110);
    width: calc(var(--um) * 380);
    height: auto;
    transform: translateX(-50%);
    z-index: 1;
    opacity: 0.5;
  }

  .hero__vehicle {
    position: absolute;
    height: auto;
    z-index: 2;
    pointer-events: none;
  }
  .hero__vehicle--airplane {
    left: calc(var(--um) * -102);
    top: calc(var(--um) * 60);
    width: calc(var(--um) * 408);
    transform: none;
  }
  .hero__vehicle--engine {
    left: calc(var(--um) * 180);
    top: calc(var(--um) * 160);
    width: calc(var(--um) * 140);
    aspect-ratio: 1.54;
    transform: none;
  }
  .hero__vehicle--vert {
    left: calc(var(--um) * 33);
    top: calc(var(--um) * 169);
    width: calc(var(--um) * 165);
    aspect-ratio: 1.83;
    transform: scaleX(-1);
  }
  .hero__content {
    position: relative;
    padding-top: calc(var(--um) * 346);
  }
  .hero__title {
    text-align: left;
    font-size: calc(var(--um) * 62);
    line-height: 0.9;
    margin: 0;
    padding-left: calc(var(--um) * 10);
  }
  .hero__mofi {
  position: absolute;
  top: calc(var(--um) * -15);
  right: calc(var(--um) * -10);
  width: calc(var(--um) * 77);
}
  .hero__sub {
    font-size: calc(var(--um) * 20);
    line-height: 1.3;
    margin: calc(var(--um) * 20) 0 0;
    max-width: calc(var(--um) * 362);
    padding: 0 calc(var(--um) * 10);
    text-align: left;
  }

  /* Architecture — vertical, no slanted tips */
  .arch-section { padding: calc(var(--um) * 80) 0 calc(var(--um) * 60); overflow: visible; }
  .arch-section__inner { width: 100%; max-width: 100%; padding: 0 calc(var(--um) * 10); }
  .arch-section__title {
    position: static;
    font-size: calc(var(--um) * 32);
    margin: 0 0 calc(var(--um) * 24);
  }
  .arch-list {
    display: flex;
    flex-direction: column;
    grid-template-columns: none;
    gap: calc(var(--um) * 24);
    margin: calc(var(--um) * 24) 0 0;
    padding: 0;
    max-width: none;
  }
  .arch-card__roof { display: none; }
  .arch-list__item { width: 100%; }
  .arch-card__body {
    width: 100%;
    min-height: calc(var(--um) * 588);
    padding: calc(var(--um) * 30) calc(var(--um) * 40) calc(var(--um) * 40);
    background: linear-gradient(180deg, #bce3ff 0%, #ffffff 100%);
    border-radius: calc(var(--um) * 16);
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
  }
  .arch-card__head {
    position: relative;
    min-height: calc(var(--um) * 148);
  }
  .arch-card__num {
    position: absolute;
    left: 0;
    bottom: 0;
    font-size: calc(var(--um) * 128);
    line-height: 1;
    color: #ffffff;
    margin: 0;
  }
  .arch-card__arrows {
    position: absolute;
    bottom: 0;
    right: calc(var(--um) * -20);
    width: calc(var(--um) * 234.4);
    height: auto;
    margin: 0;
  }
  .arch-card__title { font-size: calc(var(--um) * 24); margin-top: calc(var(--um) * 24); }
  .arch-card__desc { font-size: calc(var(--um) * 18); line-height: 1.4; margin-top: calc(var(--um) * 16); }

  /* Modules slider */
  .modules { padding: calc(var(--um) * 60) 0; }
  .modules .section-title { font-size: calc(var(--um) * 32); padding: 0 calc(var(--um) * 10); }
  .slider { padding: 0 calc(var(--um) * 10); }
  .slider__viewport { overflow: hidden; }
  .slider__track { gap: calc(var(--um) * 16); }
  .folder {
    position: relative;
    width: 100%;
    aspect-ratio: auto;
    height: auto;
    padding: 0;
    box-sizing: border-box;
    background: url("assets/svg/folder-mobile.svg") center/100% 100% no-repeat;
  }
  .folder__shape { display: none; }
  .folder::before { display: none; }
  .folder__text {
    padding: 45px calc(var(--um) * 41) 30px;
    max-width: 100%;
  }
  .folder__title {
    font-size: calc(var(--um) * 24);
    line-height: 1.2;
    margin: 0 0 calc(var(--um) * 24);
    max-width: calc(100% - 75px - 30px);
  }
  .folder__desc { font-size: calc(var(--um) * 18); line-height: 1.45; margin: 0; }
  .folder__icon {
    position: absolute;
    top: calc(var(--um) * 30);
    right: calc(var(--um) * 30);
    margin: 0;
    width: calc(var(--um) * 75);
    height: calc(var(--um) * 75);
    aspect-ratio: 1 / 1;
    transform: none;
    object-fit: contain;
  }
  .slider__arrow {
    display: inline-flex;
    width: calc(var(--um) * 28);
    height: calc(var(--um) * 28);
    top: auto;
    bottom: calc(var(--um) * -10);
    transform: none;
  }
  .slider__arrow svg {
    width: calc(var(--um) * 12);
    height: calc(var(--um) * 12);
  }
  .slider__arrow--prev { left: calc(var(--um) * 60); right: auto; }
  .slider__arrow--next { right: calc(var(--um) * 60); left: auto; }
  .slider__dots { gap: calc(var(--um) * 8); margin-top: calc(var(--um) * 20); }
  .slider__dot { width: calc(var(--um) * 8); height: calc(var(--um) * 8); }

  /* Footer */
  .site-footer { background: #1183d5; padding: calc(var(--um) * 20) 0 0; position: relative; min-height: calc(var(--um) * 390); }
  .site-footer__inner {
    grid-template-columns: 1fr;
    display: grid;
    gap: calc(var(--um) * 32);
    padding: 0 calc(var(--um) * 30);
  }
  .site-footer__brand {
    flex-direction: column;
    align-items: flex-start;
    gap: calc(var(--um) * 16);
  }
  .site-footer__brand img {
    width: calc(var(--um) * 199.207);
    height: calc(var(--um) * 75.392);
  }
  .site-footer__brand p { font-size: calc(var(--um) * 12); line-height: 1.3; }
  .site-footer__contacts p { font-size: calc(var(--um) * 12); }
  .site-footer__address { font-size: calc(var(--um) * 12); line-height: 1.4; font-style: normal; }
  .site-footer__big {
    position: relative;
    font-size: 14vw;
    line-height: 0.82;
    letter-spacing: -0.04em;
    white-space: nowrap;
    text-align: center;
    margin-top: calc(var(--um) * 20);
  }
  .site-footer__mofi {
    position: absolute;
    top: calc(var(--u) * -24);
    right: 0;
    width: calc(var(--u) * 54);
  }
}
