:root {
    --screensize: 1920;
}

* {
    box-sizing: border-box;
}

html,body {
    height:100%;
    scroll-behavior: smooth;
}

#contacts { scroll-margin-top: 100px; }
@media (max-width: 960px){
    #contacts { scroll-margin-top: 72px; }
}

body {
    margin:0;
    font-family: "IBM Plex Sans", "IBM Plex Mono";
    background:#fff;
}

body.is-locked { overflow: hidden; }
.burger { display: none; background: transparent; border: 0; padding: 0; }
.mmenu { display: none; }

.audience {
    display: none;
}

/* Внутренняя ширина-макет 1920 */
.inner {
    width: 100%;
    margin:0 auto;
    padding:0 calc(40 / var(--screensize) * 100vw);
    display:flex;
}

.topbar {
    position: fixed;
    width: 100%;
    z-index: 120;
    padding-top: calc(26 / var(--screensize) * 100vw);
    padding-bottom: calc(26 / var(--screensize) * 100vw);
    top: 0; left: 0; right: 0;
    transition: transform .25s ease;
}

.topbar .inner {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: calc(281 / var(--screensize) * 100vw);
}

.topbar.is-hidden{
    transform: translateY(-100%);
}

.menu-footer { display: none; }

.logo {
    width: calc(178 / var(--screensize) * 100vw);
}

.logo img {
    display:block;
    width: 100%;
}

.inner-bottom {
    display: grid;
    grid-template-columns: 1fr auto;
    column-gap: calc(152 / var(--screensize) * 100vw);
    border-bottom: 1px solid #D9D9D959;
}

.menu {
    display:flex;
    gap: calc(48 / var(--screensize) * 100vw);
    justify-content: flex-start;
    min-width: 0;
}

.menu a {
    font-size: calc(22 / var(--screensize) * 100vw);
    letter-spacing: 0.8px;
    font-weight: 400;
    text-decoration: none;
    text-transform: uppercase;
    color: #fff;
    white-space:nowrap;
    font-family: 'IBM Plex Mono';
    align-items: baseline;
}

.menu-footer { display: none; }

.actions {
    display:flex;
    gap: calc(32 / var(--screensize) * 100vw);
    justify-content: flex-end;
    align-items: flex-start;
}

.icon-btn {
    width: calc(26 / var(--screensize) * 100vw);
    height: calc(18 / var(--screensize) * 100vw);
    border: none;
}

.btn-ghost {
    border: none;
    color: #fff;
    text-decoration: none;
    font-weight: 400;
    font-size: calc(22 / var(--screensize) * 100vw);
    letter-spacing: 0.8px;
}

.header__icon, .header__icon-sub {
    width: calc(26 / var(--screensize) * 100vw);
    height: calc(18 / var(--screensize) * 100vw);
    position: relative;
    top: calc(5 / var(--screensize) * 100vw);
}

.header__icon-submub {
  width: calc(26 / var(--screensize) * 100vw);
  height: calc(18 / var(--screensize) * 100vw);
  position: relative;
}
  
.header__icon-sub {
    top: calc(5 / var(--screensize) * 100vw) !important;
}


/* ======= FAST HERO (уникальный БЭМ-блок) ======= */
.fast-hero {
    position: relative;
    overflow: hidden;
    background: #111537;
    min-height: calc(1067 / var(--screensize) * 100vw);
}

/* фон ДНК на всю ширину */
.fast-hero__bg {
    position: absolute;
    inset: 0;
    background-image: url('/local/templates/fast/assets/images/back_product.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transform: translateZ(0);
}

/* контейнер контента */
.fast-hero__container {
    position: relative;
    z-index: 2;
    width: 100%;
    margin: 0;
    padding: calc(495 / var(--screensize) * 100vw) calc(40 / var(--screensize) * 100vw) calc(40 / var(--screensize) * 100vw) calc(195 / var(--screensize) * 100vw);
}

/* хлебные крошки */
.fast-hero__breadcrumbs {
    display: flex;
    align-items: center;
    gap: calc(32 / var(--screensize) * 100vw);
    height: calc(32 / var(--screensize) * 100vw);
    font-size: calc(19 / var(--screensize) * 100vw);
    line-height: 140%;
    font-weight: 400;
    font-family: 'IBM Plex Sans';
    margin: 0 0 calc(40 / var(--screensize) * 100vw);
    white-space: nowrap;
}

.fast-hero__crumb {
    text-decoration: none;
    color: #FFFFFF;
}
.fast-hero__crumb:hover { color: #ffffff; }
.fast-hero__img { width: 80%; }

.fast-hero__crumb_current {
    color: #ffffff;
    opacity: 0.6;
    pointer-events: none;
}

.fast-hero__sep { margin-top: calc(6 / var(--screensize) * 100vw); }

/* заголовок с заливкой картинкой */
.fast-hero__title {
    margin: 0;
    font-weight: 400;
    letter-spacing: calc(-2.5 / var(--screensize) * 100vw);
    text-transform: uppercase;
    line-height: 120%;
    font-size: calc(132 / var(--screensize) * 100vw);
}

.fast-hero__title-fill {
    display: inline-block;
    background-image: url('/local/templates/fast/assets/images/steel_text.png');
    background-size: cover;
    background-repeat: repeat;
    background-position: center;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

/* ===== СТИКИ-ПОЛОСА (нижний «сайдбар») ===== */
.subbar {
  position: relative;
  z-index: 130;
  transition: transform .25s ease;
  background: #F2F2F2;
}

.subbar.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

.subbar .inner {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: calc(281 / var(--screensize) * 100vw);
  padding: calc(26 / var(--screensize) * 100vw) calc(40 / var(--screensize) * 100vw);
}

.subbar .inner > * {
  min-width: 0;
}

.inner-bottom__grey {
  border-bottom: 1px solid #DADADA;
}

.logo--small {
  width: calc(185 / var(--screensize) * 100vw);
}

.logo--small img {
  width: 100%;
  height: auto;
  display: block;
}

.subbar .inner-bottom {
  display: grid;
  grid-template-columns: 1fr auto;
  column-gap: calc(76 / var(--screensize) * 100vw);
}

.subbar .menu-grey a {
  color: #000000;
}

.subbar .btn-ghost {
  color: #000000;
}

/* ===== КОНТЕНТ НИЖЕ ===== */
.page-inner{
    flex-direction:column;
}

/* ====================== approach ====================== */
.approach {
  display: flex;
  align-items: flex-start;
  gap: calc(179 / var(--screensize) * 100vw);
  padding: calc(192 / var(--screensize) * 100vw)
          calc(0 / var(--screensize) * 100vw)
          calc(192 / var(--screensize) * 100vw)
          calc(195 / var(--screensize) * 100vw);
}
.approach__left{
  flex: 0 1 40%;
  display: flex;
  flex-direction: column;
  gap: calc(104 / var(--screensize) * 100vw);
}

.approach__title{ margin: 0; }
.approach__title-fill{
  display: inline-block;
  font-weight: 500;
  line-height: 86px;
  font-size: calc(80 / var(--screensize) * 100vw);
  letter-spacing: calc(-3.2 / var(--screensize) * 100vw);
  background-image: url('/local/templates/fast/assets/images/steel_text.png');
  background-size: cover; background-position: center; background-repeat: repeat;
  -webkit-background-clip: text; background-clip: text;
  color: transparent; -webkit-text-fill-color: transparent;
}

.approach__text{
  display: flex;
  flex-direction: column;
  gap: calc(56 / var(--screensize) * 100vw);
  max-width: 100%;
}
.approach__para{
  margin: 0;
  font-size: calc(24 / var(--screensize) * 100vw);
  line-height: 140%;
  font-weight: 400;
  letter-spacing: -0.36px;
  color: #000;
}

.approach__right{
  flex: 1 1 59%;
}
.approach__media{ margin: 0; }
.approach__image{
  display: block;
  width: 100%;
  height: 604px;
  object-fit: cover;
}

/* ========================= Products =========================== */
.products {
  padding: 0;
}

.products__container {
  flex-direction: column;
  padding: 0 calc(195 / var(--screensize) * 100vw) calc(192 / var(--screensize) * 100vw);
}


.products__title {
  margin: 0;
  font-weight: 500;
  font-size: calc(80 / var(--screensize) * 100vw);
  line-height: calc(86 / var(--screensize) * 100vw);
  padding-bottom: calc(88 / var(--screensize) * 100vw);
  background-image: url('/local/templates/fast/assets/images/steel_text.png');
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Табы */
.products__tabs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  background: #F2F2F2;
  border-radius: 20px;
  padding: calc(12 / var(--screensize) * 100vw);
  justify-content: center;
  margin-bottom: calc(72 / var(--screensize) * 100vw);
  gap: calc(8 / var(--screensize) * 100vw);
}

/* прячем радио */
.products__radio {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  overflow: hidden;
}

/* кнопка-таба */
.products__tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: calc(64 / var(--screensize) * 100vw);
  border-radius: 16px;
  color: #323FA6;
  min-width: max-content;
  padding: 0 calc(16 / var(--screensize) * 100vw);
  text-decoration: none;
  font-size: calc(22 / var(--screensize) * 100vw);
  font-weight: 400;
  font-family: 'IBM Plex Mono';
  letter-spacing: 0.8px;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  border: 0;
  outline: none;
  background: transparent;
  transition: all 0.3s ease;
  flex: 1;
  max-width: auto;
  position: relative;
  z-index: 2;
}

/* активный таб (по :checked) */
.products__tab.is-active,
.products__tab[aria-selected="true"] {
  background: #323FA6;
  color: #fff;
}

.products__tabs-arrow, .products__side {
  display: none;
}

/* Тело: две колонки */
.products__body {
  display: grid;
  grid-template-columns: calc(753 / var(--screensize) * 100vw) 1fr; /* слева фикс, справа тянется */
  column-gap: calc(179 / var(--screensize) * 100vw);
  align-items: start;
}

.products__left, .products__right {
  min-width: 0;
}

.products__right {
  display: block;
}

/* Контент левой панели */
.products__subtitle {
  margin: 0 0 calc(56 / var(--screensize) * 100vw) 0;
  font-size: calc(32 / var(--screensize) * 100vw);
  font-weight: 500;
  line-height: calc(42 / var(--screensize) * 100vw);
  color: #000;
}

.products__text {
  margin: 0 0 calc(56 / var(--screensize) * 100vw) 0;
  font-size: calc(24 / var(--screensize) * 100vw);
  line-height: 140%;
  font-weight: 400;
  color: #000;
}

.products__chips {
  display: flex;
  gap: calc(24 / var(--screensize) * 100vw) calc(24 / var(--screensize) * 100vw);
  margin: 0 0 calc(56 / var(--screensize) * 100vw) 0;
  flex-wrap: wrap;
  flex-direction: row;
}

.products__chip {
  display: inline-flex;
  align-items: center;
  height: auto;
  padding: calc(24 / var(--screensize) * 100vw) calc(24 / var(--screensize) * 100vw);
  border-radius: 16px;
  background: #DFE6FF;
  color: #000;
  text-decoration: none;
  font-size: calc(22 / var(--screensize) * 100vw);
  font-weight: 400;
  font-family: 'IBM Plex Mono';
  text-transform: uppercase;
  /* white-space: nowrap; */
}

.products__more {
  display: inline-flex;
  align-items: center;
  gap: calc(32 / var(--screensize) * 100vw);
  text-decoration: none;
  color: #323FA6;
  font-size: calc(22 / var(--screensize) * 100vw);
  text-transform: uppercase;
  font-weight: 400;
  font-family: 'IBM Plex Mono';
}

.products__more--arrow {
  width: calc(24 / var(--screensize) * 100vw);
  height: calc(19 / var(--screensize) * 100vw);
}

/* Правая картинка */
.products__figure {
  margin: 0;
  width: 100%;
  height: calc(706 / var(--screensize) * 100vw);
}

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


.products__pane {
  display: none;
}

.products__pane.is-active {
  display: block;
}

/* ===== CONTACT ===== */
.contact{
  position: relative;
  padding: calc(160 / var(--screensize) * 100vw)
           calc(195 / var(--screensize) * 100vw);
  color: #fff;
  overflow: hidden;
  background: rgba(10,13,33,1);
}

.contact__bg{
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(1100px 600px at 95% 35%, rgba(120,140,200,.30), rgba(120,140,200,0) 60%),
    radial-gradient(800px 420px at 55% 100%, rgba(120,140,200,.18), rgba(120,140,200,0) 65%),
    radial-gradient(700px 380px at 0% 0%, rgba(150,170,220,.12), rgba(150,170,220,0) 60%),
    linear-gradient(180deg, rgba(10,13,33,1) 0%, rgba(10,13,33,.98) 50%, rgba(10,13,33,1) 100%);
  opacity: 1;
}

.contact__inner{
  position: relative;
  display: flex;
  gap: calc(120 / var(--screensize) * 100vw);
  align-items: flex-start;
  z-index: 1;
}

.contact__left{
  flex: 0 0 42%;
  display: flex;
  flex-direction: column;
  gap: calc(148 / var(--screensize) * 100vw);
}

.contact__right{
  flex: 1 1 auto;
  display: flex;
  justify-content: flex-start;
  min-width: 0;
}

.contact__title{
  margin: 0;
  font-family: "IBM Plex Sans";
  font-weight: 500;
  font-size: calc(80 / var(--screensize) * 100vw);
  line-height: calc(86 / var(--screensize) * 100vw);
  background-image: url(/local/templates/fast/assets/images/steel_text.png);
  background-size: cover;
  background-clip: text;
  color: transparent;
}

/* адрес/контакты */
.contact__address { 
  display: flex;
  flex-direction: column;
  gap: calc(50 / var(--screensize) * 100vw);
}

.contact__line, .contact__phone{
  margin: 0;
  font-size:   calc(32 / var(--screensize) * 100vw);
  font-weight: 500;
  line-height: calc(42 / var(--screensize) * 100vw);
}

.contact__email { 
  font-size: calc(24 / var(--screensize) * 100vw);
  font-weight: 400;
  line-height: 140%;
  margin: 0;
}

.contact__email a { 
  color: #fff;
  text-decoration: none;
}

/* форма справа */
.contact__form{
  width: calc(753 / var(--screensize) * 100vw);
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: calc(40 / var(--screensize) * 100vw);
}

.contact__field { 
  display: flex;
  flex-direction: column;
  gap: calc(10 / var(--screensize) * 100vw);
}

.contact__label{
  font-family: "IBM Plex Mono";
  font-size: calc(22 / var(--screensize) * 100vw);
  font-weight: 400;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

.contact__input,
.contact__textarea{
  font-family: "IBM Plex Mono";
  font-size: calc(22 / var(--screensize) * 100vw);
  height: calc(58 / var(--screensize) * 100vw);
  font-weight: 400;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  display: block;
  width: 100%;
  color: #fff;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.18);
  outline: none;
}

.contact__input:focus,
.contact__textarea:focus{
  border-bottom-color: rgba(255,255,255,.45);
}

.contact__input::placeholder {
  color: #fff;
}

.contact__field--area .contact__input{
  word-break: break-word;
  resize: vertical;
  min-height: calc(130 / var(--screensize) * 100vw);
}

.contact__submit{
  height: calc(64 / var(--screensize) * 100vw);
  border: 0;
  border-radius: 16px;
  background: #323FA6;
  color: #fff;
  font-family: "IBM Plex Mono";
  font-weight: 400;
  font-size: calc(22 / var(--screensize) * 100vw);
  letter-spacing: 0.8px;
  text-transform: uppercase;
  cursor: pointer;
}

/* ===== FOOTER ===== */
.footer {
    position: relative;
    margin: 0;
    /*margin-right: calc(-40 / var(--screensize) * 100vw);*/
    /*margin-left:  calc(-40 / var(--screensize) * 100vw);*/
    background: #0A0D21;
    overflow: hidden;
    color: #fff;
    padding: calc(40 / var(--screensize) * 100vw) 40px;
}

/* строки футера */
.footer__row {
    position: relative;
    z-index: 1;
    padding: 0;
}

.footer__row--top {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: calc(164 / var(--screensize) * 100vw);
}
.footer__row--top > *{ min-width: 0; }

.footer .inner-bottom.inner-bottom--footer{
    display: grid;
    grid-template-columns: 1fr auto;
    column-gap: calc(152 / var(--screensize) * 100vw);
    border-bottom: 1px solid rgba(255,255,255,.15);
}

.footer__row--mid,
.footer__row--bottom{
    display: flex;
    justify-content: space-between;
    gap: calc(40 / var(--screensize) * 100vw);
    padding-top: calc(40 / var(--screensize) * 100vw);
}

.footer__logo {
    width: calc(302 / var(--screensize) * 100vw);
}

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

.footer__address {
    font-family: 'IBM Plex Sans';
    font-size: calc(19 / var(--screensize) * 100vw);
    line-height: 140%;
    font-weight: 400;
}

.footer__contacts {
    display: flex;
    align-items: center;
    gap: calc(40 / var(--screensize) * 100vw);
    font-family: 'IBM Plex Sans';
    font-size: calc(19 / var(--screensize) * 100vw);
    line-height: 140%;
    font-weight: 400;
}

.footer__email{
    color: #fff;
    text-decoration: none;
}

.footer__email:hover{ text-decoration: underline; }
.footer__phone{ white-space: nowrap; }

.footer__legal{
    font-size: calc(19 / var(--screensize) * 100vw);
    font-weight: 400;
    line-height: 140%;
    color: #767FC4;
    white-space: nowrap;
}

.footer__iso{
    font-size: calc(19 / var(--screensize) * 100vw);
    font-weight: 400;
    line-height: 140%;
    color: #767FC4;
    white-space: nowrap;
}

.footer__policy{
    margin-left: auto;
    text-decoration: none;
    font-size: calc(19 / var(--screensize) * 100vw);
    font-weight: 400;
    line-height: 140%;
    color: #767FC4;
    white-space: nowrap;
}
.footer__policy:hover{ text-decoration: underline; }

.contact__agree {
    display: flex;
    align-items: center;
    gap: calc(10 / var(--screensize) * var(--vw));
    font-size: calc(22 / var(--screensize) * var(--vw));
  }
  
  .contact__agree input {
    width: calc(18 / var(--screensize) * var(--vw));
    height: calc(18 / var(--screensize) * var(--vw));
  }

  .footer__row.cookie {
    padding-top: calc(10 / var(--screensize) * var(--vw));
  }
  
  .cookie__text {
    margin-left: auto;
    text-decoration: none;
    font-size: calc(19 / var(--screensize) * var(--vw));
    font-weight: 400;
    line-height: 140%;
    color: #767FC4;
    white-space: nowrap;
  }


@media (min-width: 961px) and (max-width: 1440px) {
    :root{
        --screensize: 1440;
    }

    /* базовая сетка/шрифты в шапке */
    .inner .logo img{
        width: calc(178 / var(--screensize) * 100vw);
        height: calc(50 / var(--screensize) * 100vw);
    }
    .logo{ width: calc(178 / var(--screensize) * 100vw); }
    .topbar .inner {
        column-gap: calc(120 / var(--screensize) * 100vw);
    }
    .inner-bottom{
        display: grid;
        grid-template-columns: minmax(0,1fr) max-content;
        /* gap: calc(99 / var(--screensize) * 100vw);  */
        column-gap: calc(99 / var(--screensize) * 100vw);
    }
    .menu{
        flex: 1 1 auto;
        min-width: 0;
        /* gap: calc(40 / var(--screensize) * 100vw);  */
        gap: calc(40 / var(--screensize) * 100vw);
    }
    .menu a,
    .btn-ghost{
        /* font-size: calc(16 / var(--screensize) * 100vw); */
        font-size: calc(16 / var(--screensize) * 100vw);
        letter-spacing: calc(0.8 / var(--screensize) * 100vw);
        white-space: nowrap;
    }
    .icon-btn{
        width: calc(20 / var(--screensize) * 100vw);
        height: calc(20 / var(--screensize) * 100vw);
        margin-top: -1px;
    }
    .actions { gap: calc(16 / var(--screensize) * 100vw); }
    .header__icon { width: calc(20 / var(--screensize) * 100vw); height: calc(20 / var(--screensize) * 100vw); top: calc(1 / var(--screensize) * 100vw); }
    .header__icon-sub {
        width: calc(20 / var(--screensize) * 100vw);
        height: calc(20 / var(--screensize) * 100vw);
        top: calc(2 / var(--screensize) * 100vw) !important;
    }
    /* hero */
    .fast-hero {
      min-height: calc(800 / var(--screensize) * 100vw);
    }
    .fast-hero__container {
      padding: calc(364 / var(--screensize) * 100vw) 40px calc(40 / var(--screensize) * 100vw) calc(149 / var(--screensize) * 100vw);
    }
    .fast-hero__breadcrumbs {
      gap: calc(24 / var(--screensize) * 100vw);
      height: calc(24 / var(--screensize) * 100vw);
      font-size: calc(14 / var(--screensize) * 100vw);
    }
    .hero{ height: calc(800 / var(--screensize) * 100vw); }
    .hero__graphic{
        padding-left: calc(115 / var(--screensize) * 100vw);
        max-width: 81%;
    }
    .hero__wordmark{ width: calc(437 / var(--screensize) * 100vw); height: auto; }
    .hero__tagline{ font-size: calc(24  / var(--screensize) * 100vw); }

    /* subbar */
  .subbar .inner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: calc(120 / var(--screensize) * 100vw);
    padding: calc(26 / var(--screensize) * 100vw) calc(40 / var(--screensize) * 100vw);
}

.logo--small {
    width: calc(178 / var(--screensize) * 100vw);
    height: auto;
}

.subbar .logo--small img {
    width: calc(178 / var(--screensize) * 100vw);
    height: calc(50 / var(--screensize) * 100vw);
}

.subbar .menu-grey a,
.subbar .btn-ghost {
    font-size: calc(16 / var(--screensize) * 100vw);
}

.subbar .inner-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    column-gap: calc(99 / var(--screensize) * 100vw);
}

.subbar .menu {
    display: flex;
    flex: 1 1 auto;
    min-width: 0; /* важно: даёт колонке сжиматься */
    justify-content: flex-start;
    gap: calc(40 / var(--screensize) * 100vw);
}

.subbar .menu-grey a,
.subbar .btn-ghost {
    font-size: calc(16 / var(--screensize) * 100vw);
    letter-spacing: calc(0.8 / var(--screensize) * 100vw);
    white-space: nowrap;
}

.subbar .actions {
    display: flex;
    gap: calc(16 / var(--screensize) * 100vw);
    justify-content: flex-end;
    align-items: flex-start;
}

.subbar .icon-btn {
    width: calc(20 / var(--screensize) * 100vw);
    height: calc(20 / var(--screensize) * 100vw);
}

.subbar .header__icon {
    width: calc(20 / var(--screensize) * 100vw);
    height: calc(20 / var(--screensize) * 100vw);
}

    .fast-hero__title {
        font-size: calc(100 / var(--screensize) * 100vw);
        line-height: calc(102 / var(--screensize) * 100vw);
    }

    /* approach */
    .approach {
        gap: calc(139 / var(--screensize) * 100vw);
        padding: calc(144 / var(--screensize) * 100vw) calc(0 / var(--screensize) * 100vw) calc(144 / var(--screensize) * 100vw) calc(155 / var(--screensize) * 100vw);
    }
    .approach__left {
      gap: calc(80 / var(--screensize) * 100vw);
    }
    .approach__right {
      flex: 1 1 65%;
    }
    .approach__title-fill {
      line-height: calc(64.2 / var(--screensize) * 100vw);
      font-size: calc(60 / var(--screensize) * 100vw);
      letter-spacing: calc(-2.4 / var(--screensize) * 100vw);
    }
    .approach__text {
      gap: calc(40 / var(--screensize) * 100vw);
    }
    .approach__para {
      font-size: calc(18 / var(--screensize) * 100vw);
    }
    .approach__image {
      height: calc(449 / var(--screensize) * 100vw);
    }

    /* products */  
    .products {
      padding-top: 0;
  }

  .products__container {
      padding: 0 calc(155 / var(--screensize) * 100vw) calc(144 / var(--screensize) * 100vw);
  }

  .products__title {
      font-size: calc(60 / var(--screensize) * 100vw);
      line-height: calc(64 / var(--screensize) * 100vw);
      padding-bottom: calc(56 / var(--screensize) * 100vw);
  }

  .products__tabs {
      height: auto;
      padding: calc(8 / var(--screensize) * 100vw);
      margin-bottom: calc(56 / var(--screensize) * 100vw);
      display: flex;
      flex-wrap: nowrap;
      justify-content: center;
  }

  .products__tab {
      height: calc(48 / var(--screensize) * 100vw);
      width: auto;
      font-size: calc(16 / var(--screensize) * 100vw);
      min-width: calc(200 / var(--screensize) * 100vw); /* Минимальная ширина */
      padding: 0 calc(41 / var(--screensize) * 100vw);
      white-space: nowrap;
  }

  .products__body {
      gap: calc(139 / var(--screensize) * 100vw);
      grid-template-columns: calc(553 / var(--screensize) * 100vw) 1fr;
  }

  .products__figure {
      width: calc(553 / var(--screensize) * 100vw);
      height: calc(518 / var(--screensize) * 100vw);
  }

  .products__subtitle {
      font-size: calc(24 / var(--screensize) * 100vw);
      line-height: calc(31.2 / var(--screensize) * 100vw);
      margin-bottom: calc(40 / var(--screensize) * 100vw);
  }

  .products__text {
      font-size: calc(18 / var(--screensize) * 100vw);
      margin-bottom: calc(40 / var(--screensize) * 100vw);
  }

  .products__chip {
      height: auto;
      padding: calc(16 / var(--screensize) * 100vw) calc(16 / var(--screensize) * 100vw);
      font-size: calc(16 / var(--screensize) * 100vw);
  }

  .products__chips {
      gap: calc(16 / var(--screensize) * 100vw) calc(24 / var(--screensize) * 100vw);
  }

  .products__more {
      font-size: calc(16 / var(--screensize) * 100vw);
      gap: calc(24 / var(--screensize) * 100vw);
  }

  .products__more--arrow {
      width: calc(18 / var(--screensize) * 100vw);
      height: calc(14 / var(--screensize) * 100vw);
  }

  /* contact */
  .contact{ padding: calc(120 / var(--screensize) * 100vw)
             calc(156 / var(--screensize) * 100vw); }
  .contact__inner{ gap: calc(90 / var(--screensize) * 100vw); }
  .contact__left{ gap: calc(117 / var(--screensize) * 100vw); }
  .contact__title{ font-size: calc(60 / var(--screensize) * 100vw); line-height: calc(64 / var(--screensize) * 100vw); }
  .contact__line, .contact__phone{ font-size: calc(24 / var(--screensize) * 100vw); line-height: calc(32 / var(--screensize) * 100vw); }
  .contact__email{ font-size: calc(18 / var(--screensize) * 100vw); }
  .contact__form{ width: calc(552 / var(--screensize) * 100vw); gap: calc(32 / var(--screensize) * 100vw); }
  .contact__label,
  .contact__input{ font-size: calc(16 / var(--screensize) * 100vw); }
  .contact__submit{ height: calc(48 / var(--screensize) * 100vw); font-size: calc(16 / var(--screensize) * 100vw); }

    /* footer */
    .footer{ padding: calc(40 / var(--screensize) * 100vw); }
    .footer__row--top{
        column-gap: calc(120 / var(--screensize) * 100vw);
        display: grid;
        grid-template-columns: auto minmax(0,1fr);
    }
    .footer .inner-bottom.inner-bottom--footer{
        display: grid;
        grid-template-columns: minmax(0,1fr) max-content;
        column-gap: calc(99 / var(--screensize) * 100vw);
        border-bottom: 1px solid rgba(255,255,255,.15);
    }
    .footer .menu{
        display: flex;
        flex: 1 1 auto;
        min-width: 0;
        justify-content: flex-start;
        gap: calc(40 / var(--screensize) * 100vw);
    }
    .footer .menu a,
    .footer .btn-ghost{
        font-size: calc(16 / var(--screensize) * 100vw);
        letter-spacing: calc(0.8 / var(--screensize) * 100vw);
        white-space: nowrap;
    }
    .footer .actions{
        display: flex;
        gap: calc(16 / var(--screensize) * 100vw);
        justify-content: flex-end;
    }
    .menu-footer { display: none;}
    .footer .header__icon{
        width:  calc(20 / var(--screensize) * 100vw);
        height: calc(14 / var(--screensize) * 100vw);
        top: calc(0 / var(--screensize) * 100vw);
    }
    .footer__row--mid,
    .footer__row--bottom{ padding-top: calc(40 / var(--screensize) * 100vw); }
    .footer__address,
    .footer__contacts,
    .footer__legal,
    .footer__iso,
    .footer__policy{ font-size: calc(14 / var(--screensize) * 100vw); }

    .contact__agree {
        gap: calc(7 / var(--screensize) * var(--vw));
        font-size: calc(16 / var(--screensize) * var(--vw));
    }

    .cookie__text {
        font-size: calc(14 / var(--screensize) * 100vw);
      }
}


@media (min-width: 431px) and (max-width: 960px) {
    :root{
        --screensize: 960;
    }
    .fast-hero {
      min-height: calc(534 / var(--screensize) * 100vw);
    }
    .fast-hero__container {
      padding: calc(234 / var(--screensize) * 100vw) calc(40 / var(--screensize) * 100vw) calc(40 / var(--screensize) * 100vw) calc(96 / var(--screensize) * 100vw);
    }
    .fast-hero__breadcrumbs {
      gap: calc(24 / var(--screensize) * 100vw);
      height: calc(24 / var(--screensize) * 100vw);
      font-size: calc(14 / var(--screensize) * 100vw);
      margin: 0 0 calc(32 / var(--screensize) * 100vw);
    }
    .fast-hero__img {
      width: 72%;
    }
    .fast-hero__sep {
      width:  calc(24 / var(--screensize) * 100vw);
      height: calc(24 / var(--screensize) * 100vw);
      display: flex;
      justify-content: center;
      align-items: center;
      margin-top: 0;
    }
    .fast-hero__title {
      line-height: calc(72 / var(--screensize) * 100vw);
      font-size: calc(64 / var(--screensize) * 100vw);
    }
    .topbar {padding-top: calc(24 / var(--screensize) * 100vw);}
    .inner { padding: 0 calc(24 / var(--screensize) * 100vw);}
    .inner .logo img{ width: calc(131 / var(--screensize) * 100vw); height: calc(25 / var(--screensize) * 100vw); content: url('/local/templates/fast/assets/images/logo_ipad_white.svg'); }
    .logo{ width: calc(131 / var(--screensize) * 100vw); }
    .topbar .inner{
        display: grid;
        align-items: center;
        column-gap: calc(24 / var(--screensize) * 100vw);
    }

    .menu{ display: none; }
    .btn-ghost{ display: none; }
    .burger {
        display: block;
    }

    .inner-bottom{
        grid-template-columns: auto;
        justify-self: end;
        column-gap: 0;
        border-bottom: none;
    }

    .actions{
        gap: calc(24 / var(--screensize) * 100vw);
        justify-content: flex-end;
    }

    .icon-btn{
        width:  calc(24 / var(--screensize) * 100vw);
        height: calc(24 / var(--screensize) * 100vw);
        margin-top: 0;
        padding: 0; border: 0; background: transparent;
    }

    .header__icon, .burger__icon{ width:100%; height:auto; top: calc(2 / var(--screensize) * 100vw); }

    .hero{ height: calc(534 / var(--screensize) * 100vw); }
    .hero__graphic{
        padding-left: calc(78 / var(--screensize) * 100vw);
        max-width: 80%;
    }
    .hero__right {
        gap: calc(32 / var(--screensize) * 100vw);
    }
    .hero__wordmark{ width: calc(288 / var(--screensize) * 100vw); height: auto; }
    .hero__tagline{ font-size: calc(16 / var(--screensize) * 100vw); }

    /* subbar */
  .subbar .inner {
    display: grid;
    grid-template-columns: auto max-content;
    column-gap: calc(24 / var(--screensize) * 100vw);
    align-items: center;
    padding: calc(24 / var(--screensize) * 100vw);
}

.logo--small {
    width: calc(131 / var(--screensize) * 100vw);
    height: auto;
}

.subbar .logo--small img {
    width: calc(131 / var(--screensize) * 100vw);
    height: calc(25 / var(--screensize) * 100vw);
    content: url(/local/templates/fast/assets/images/logo_ipad_black.svg);
}

.subbar .inner-bottom {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: max-content;
    column-gap: calc(0 / var(--screensize) * 100vw);
    justify-self: end;
    align-items: center;
    border-bottom: none;
}

.subbar .actions {
    display: flex;
    align-items: center;
    gap: calc(24 / var(--screensize) * 100vw);
}

.subbar .icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: calc(24 / var(--screensize) * 100vw);
    height: calc(24 / var(--screensize) * 100vw);
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    line-height: 0;
    cursor: pointer;
}

.subbar .header__icon,
.subbar .burger__icon {
    width: calc(24 / var(--screensize) * 100vw);
    height: calc(24 / var(--screensize) * 100vw);
    display: block;
}

    .fast-hero__title {
        font-size: calc(64 / var(--screensize) * 100vw);
    }

    /* approach */
    .approach {
        gap: calc(102 / var(--screensize) * 100vw);
        padding: calc(96 / var(--screensize) * 100vw) calc(0 / var(--screensize) * 100vw) calc(96 / var(--screensize) * 100vw) calc(102 / var(--screensize) * 100vw);
    }
    .approach__left {
      gap: calc(48 / var(--screensize) * 100vw);
    }
    .approach__right {
      flex: 1 1 65%;
    }
    .approach__title-fill {
      line-height: calc(38.4 / var(--screensize) * 100vw);
      font-size: calc(32 / var(--screensize) * 100vw);
      letter-spacing: calc(-0.64 / var(--screensize) * 100vw);
    }
    .approach__text {
      gap: calc(32 / var(--screensize) * 100vw);
    }
    .approach__para {
      font-size: calc(16 / var(--screensize) * 100vw);
      line-height: calc(24 / var(--screensize) * 100vw);
      letter-spacing: calc(-0.32 / var(--screensize) * 100vw);
    }
    .approach__image {
      height: calc(389 / var(--screensize) * 100vw);
    }

    /* products */  
  .products__tabs-arrow, .products__side {
      display: flex;
      z-index: 1;
  }

  .products {
      padding: 0 calc(24 / var(--screensize) * 100vw) calc(96 / var(--screensize) * 100vw) calc(24 / var(--screensize) * 100vw);
  }

  .products__container {
      padding: 0;
  }

  .products__title {
      font-size: calc(32 / var(--screensize) * 100vw);
      line-height: calc(38.4 / var(--screensize) * 100vw);
      padding: 0 calc(78 / var(--screensize) * 100vw) calc(40 / var(--screensize) * 100vw) calc(78 / var(--screensize) * 100vw);
  }

  .products__tabs {
      height: calc(40 / var(--screensize) * 100vw);
      margin-bottom: calc(48 / var(--screensize) * 100vw);
  }

  .products__tab {
      height: calc(40 / var(--screensize) * 100vw);
      font-size: calc(16 / var(--screensize) * 100vw);
  }

  .products__body {
      gap: calc(102 / var(--screensize) * 100vw);
      grid-template-columns: calc(366 / var(--screensize) * 100vw) 1fr;
      padding: 0 calc(78 / var(--screensize) * 100vw);
  }

  .products__figure {
      width: calc(366 / var(--screensize) * 100vw);
      height: calc(448 / var(--screensize) * 100vw);
  }

  .products__subtitle {
      font-size: calc(16 / var(--screensize) * 100vw);
      line-height: calc(24 / var(--screensize) * 100vw);
      margin-bottom: calc(32 / var(--screensize) * 100vw);
  }

  .products__text {
      font-size: calc(16 / var(--screensize) * 100vw);
      margin-bottom: calc(32 / var(--screensize) * 100vw);
  }

  .products__chip {
      height: auto;
      padding: calc(8 / var(--screensize) * 100vw) calc(8 / var(--screensize) * 100vw);
      font-size: calc(16 / var(--screensize) * 100vw);
  }

  .products__chips {
      gap: calc(16 / var(--screensize) * 100vw) calc(16 / var(--screensize) * 100vw);
      margin: 0 0 calc(32 / var(--screensize) * 100vw) 0;
  }

  .products__more {
      font-size: calc(16 / var(--screensize) * 100vw);
      gap: calc(24 / var(--screensize) * 100vw);
  }

  .products__more--arrow {
      width: calc(18 / var(--screensize) * 100vw);
      height: calc(14 / var(--screensize) * 100vw);
  }

  .products__tabs-wrap {
      margin-left: calc(-24 / var(--screensize) * 100vw);
      margin-right: calc(-24 / var(--screensize) * 100vw);
      padding: 0 calc(24 / var(--screensize) * 100vw);
      display: grid;
      grid-template-columns: auto 1fr max-content 1fr auto;
      align-items: center;
      justify-content: center;
      column-gap: calc(20 / var(--screensize) * 100vw);
      height: calc(40 / var(--screensize) * 100vw);
      margin-bottom: calc(44 / var(--screensize) * 100vw);
      position: relative;
  }

  .products__tabs-arrow {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: calc(24 / var(--screensize) * 100vw);
      height: calc(24 / var(--screensize) * 100vw);
      padding: 0;
      border: 0;
      background: transparent;
      cursor: pointer;
      line-height: 0;
  }

  .products__tabs-arrow img {
      width: 100%;
      height: auto;
      display: block;
  }

  .products__side {
      font-family: 'IBM Plex Mono';
      text-transform: uppercase;
      letter-spacing: calc(0.8 / var(--screensize) * 100vw);
      font-size: calc(16 / var(--screensize) * 100vw);
      color: #3D52C6;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      opacity: .95;
      cursor: pointer;
      text-decoration: none;
      justify-content: center;
  }

  .products__tabs {
      display: flex;
      align-items: center;
      justify-content: center;
      min-width: 0;
      background: #F2F2F2;
      border-radius: 8px;
      padding: 0;
      margin-bottom: 0;
      height: 100%;
  }

  .products__tabs .products__tab {
      height: calc(40 / var(--screensize) * 100vw);
      padding: calc(12 / var(--screensize) * 100vw) calc(16 / var(--screensize) * 100vw);
      border-radius: 8px;
      min-width: max-content;
      background: transparent;
      color: #3D52C6;
      font-size: calc(16 / var(--screensize) * 100vw);
      letter-spacing: calc(0.8 / var(--screensize) * 100vw);
      text-transform: uppercase;
      border: 0;
      cursor: pointer;
  }

  .products__tabs .products__tab.is-active {
      background: #3D52C6;
      color: #fff;
  }

  .products__tabs .products__tab:not(.is-active) {
      display: none;
  }

  /* contact */
  .contact{ padding: calc(80 / var(--screensize) * 100vw)
             calc(102 / var(--screensize) * 100vw); }
  .contact__input, .contact__textarea { height: calc(42 / var(--screensize) * 100vw);}
  .contact__field--area .contact__input { height: calc(98 / var(--screensize) * 100vw); }
  .contact__inner{ gap: calc(72 / var(--screensize) * 100vw); }
  .contact__left{ gap: calc(252 / var(--screensize) * 100vw); }
  .contact__title{ font-size: calc(32 / var(--screensize) * 100vw); line-height: calc(38.4 / var(--screensize) * 100vw); letter-spacing: -0.64px; }
  .contact__address {gap: calc(24 / var(--screensize) * 100vw);}
  .contact__line, .contact__phone{ font-size: calc(20 / var(--screensize) * 100vw); line-height: calc(26 / var(--screensize) * 100vw); }
  .contact__email{ font-size: calc(16 / var(--screensize) * 100vw); }
  .contact__form{ width: calc(366 / var(--screensize) * 100vw); gap: calc(32 / var(--screensize) * 100vw); }
  .contact__label,
  .contact__input{ font-size: calc(16 / var(--screensize) * 100vw); }
  .contact__submit{ height: calc(48 / var(--screensize) * 100vw); font-size: calc(16 / var(--screensize) * 100vw); }

    /* footer */
    .inner-bottom--footer .menu {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: 1fr;
        align-items: center;
        width: 100%;
        min-width: 0;
    }
    .footer{
      /*margin-left:  calc(-24 / var(--screensize) * 100vw);*/
      /*margin-right: calc(-24 / var(--screensize) * 100vw);*/
    }
    .menu-footer { display: block;}
    .inner-bottom--footer .menu a { font-size: calc(14 / var(--screensize) * 100vw); white-space: nowrap; min-width: 0; text-align: center; }
    .inner-bottom--footer .actions { display: none;}
    .footer{ padding: calc(64 / var(--screensize) * 100vw) 0 calc(24 / var(--screensize) * 100vw) 0; }
    .footer__row--top{
        grid-template-columns: 1fr;
        column-gap: calc(120 / var(--screensize) * 100vw);
    }

    .footer .inner-bottom.inner-bottom--footer {
        grid-template-columns: 1fr;
        row-gap: calc(32 / var(--screensize) * 100vw);
        justify-items: stretch;
    }

    .footer__logo {
        width: calc(194 / var(--screensize) * 100vw) !important;
        height: calc(54 / var(--screensize) * 100vw) !important;
        margin-bottom: calc(48 / var(--screensize) * 100vw);
    }
    .footer__logo img {
        width: calc(194 / var(--screensize) * 100vw) !important;
        height: calc(54 / var(--screensize) * 100vw) !important;
    }

    .footer .menu {
        flex-direction: row !important;
        align-items: center;
        /* width: calc(912 / var(--screensize) * 100vw);
        gap: calc(56 / var(--screensize) * 100vw); */
    }

    .footer .inner-bottom.inner-bottom--footer{
        grid-template-columns: 1fr;
        justify-items: stretch;
        border-bottom: none;
    }
    .footer .header__icon{
        width:  calc(20 / var(--screensize) * 100vw);
        height: calc(14 / var(--screensize) * 100vw);
    }
    .footer__row--mid,
    .footer__row--bottom{ padding-top: calc(32 / var(--screensize) * 100vw); }
    .footer__address,
    .footer__contacts,
    .footer__legal,
    .footer__iso,
    .footer__policy{ font-size: calc(12 / var(--screensize) * 100vw); }

    .footer__address, .footer__contacts { opacity: 0.6;}
    .menu-footer { display: block;}

    /* ====== OVERLAY МЕНЮ ====== */
    .mmenu{
        display: block;
        position: fixed;
        inset: 0;
        z-index: 2000;                 /* выше .topbar(120) и .subbar(130) */
        background: #131944;
        color: #fff;
        opacity: 0;
        visibility: hidden;
        transform: translateY(-4%);
        transition: opacity .25s ease, transform .25s ease, visibility 0s linear .25s;
    }
    .mmenu.is-open{
        opacity: 1;
        visibility: visible;
        transform: none;
        transition: opacity .25s ease, transform .25s ease;
    }
    .mmmenu__inner{
        min-height: 100dvh;
        display: grid;
        grid-template-rows: auto 1fr auto;   /* верх / центр / низ */
        padding: calc(24 / var(--screensize) * 100vw);
    }

    .mmenu__top{
        display: flex;
        align-items: center;             /* <-- вертикальное центрирование */
        justify-content: space-between;  /* логотип слева, иконки справа */
        gap: calc(24 / var(--screensize) * 100vw);
    }

    /* верх */
    .mmenu__logo img{
        width: calc(131 / var(--screensize) * 100vw);
        height: auto;
        display: block;
    }
    .mmenu__actions{
        position: static;
        display: flex;
        align-items: center;
        gap: calc(24 / var(--screensize) * 100vw);
    }

    /* центр */
    .mmenu__nav{
        align-self: center;
        justify-self: center;
        display: flex;
        flex-direction: column;
        gap: calc(48 / var(--screensize) * 100vw);
        text-align: center;
    }
    .mmenu__nav a{
        font-family: 'IBM Plex Mono';
        text-transform: uppercase;
        letter-spacing: .8px;
        text-decoration: none;
        color: #fff;
        font-size: calc(16 / var(--screensize) * 100vw);
    }

    /* низ */
    .mmenu__footer{
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: calc(24 / var(--screensize) * 100vw);
        opacity: .85;
    }
    .mmenu__footer .footer__address{ margin: 0; }
    .mmenu__footer .footer__contacts{ display: flex; gap: calc(40 / var(--screensize) * 100vw); }
    .mmenu__footer a{ color: #fff; text-decoration: none; }

    /* небольшая подстраховка размеров иконок */
    .mmenu .icon-btn{
        width:  calc(24 / var(--screensize) * 100vw);
        height: calc(24 / var(--screensize) * 100vw);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        line-height: 0;
    }
    .mmenu .header__icon,
    .mmenu .burger__icon{ width:100%; height:auto; display:block; }

    .contact__agree {
        font-size: calc(14 / var(--screensize) * var(--vw));
    }

    .cookie__text {
        font-size: calc(12 / var(--screensize) * 100vw);
      }
}

@media (max-width: 1090px) and (min-width: 960px){
    .btn-ghost{ display:none; }
}

@media (min-width: 1px) and (max-width: 430px) {
    :root{
        --screensize: 430;
    }
    .topbar {padding-top: calc(35 / var(--screensize) * 100vw);}
    .inner { padding: 0 calc(32 / var(--screensize) * 100vw); }
    .inner .logo img{ width: calc(94 / var(--screensize) * 100vw); height: calc(18 / var(--screensize) * 100vw); content: url("/local/templates/fast/assets/images/logo_ipad_white.svg"); }
    .logo{ width: calc(94 / var(--screensize) * 100vw); }
    .topbar .inner{
        display: grid;
        align-items: center;
        grid-template-columns: auto minmax(0, 1fr);
        column-gap: calc(32 / var(--screensize) * 100vw);
    }
    .topbar .inner > *{ min-width: 0; }

    .menu{ display: none; }
    .btn-ghost{ display: none; }
    .burger {
        display: block;
    }

    .inner-bottom{
        grid-template-columns: auto;
        justify-self: end;
        column-gap: 0;
        border-bottom: none;
    }

    .actions{
        gap: calc(24 / var(--screensize) * 100vw);
        justify-content: flex-end;
    }

    .icon-btn{
        width:  calc(24 / var(--screensize) * 100vw);
        height: calc(24 / var(--screensize) * 100vw);
        margin-top: 0;
        padding: 0; border: 0; background: transparent;
    }

    .header__icon, .burger__icon{ width:100%; height:auto; top: calc(1 / var(--screensize) * 100vw);}

    /* fast hero */
    .fast-hero {
      min-height: calc(700 / var(--screensize) * 100vw);
    }
    .fast-hero__container {
      padding: calc(580 / var(--screensize) * 100vw) calc(32 / var(--screensize) * 100vw) calc(32 / var(--screensize) * 100vw) calc(32 / var(--screensize) * 100vw);
    }
    .fast-hero__breadcrumbs {
      gap: calc(24 / var(--screensize) * 100vw);
      height: calc(24 / var(--screensize) * 100vw);
      font-size: calc(14 / var(--screensize) * 100vw);
      margin: 0 0 calc(32 / var(--screensize) * 100vw);
    }
    .fast-hero__img {
      width: 72%;
    }
    .fast-hero__sep {
      width: calc(24 / var(--screensize) * 100vw);
      height: calc(24 / var(--screensize) * 100vw);
      display: flex;
      justify-content: center;
      align-items: center;
      margin-top: 0;
    }
    .fast-hero__title {
      line-height: calc(50 / var(--screensize) * 100vw);
      font-size: calc(48 / var(--screensize) * 100vw);
      white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-word;
        hyphens: auto;
        -webkit-hyphens: auto;
    }

    /* subbar */
  .subbar .inner {
    display: grid;
    grid-template-columns: auto max-content;
    column-gap: calc(24 / var(--screensize) * 100vw);
    align-items: center;
    padding: calc(26 / var(--screensize) * 100vw) calc(32 / var(--screensize) * 100vw);
}

.logo--small {
    width: calc(94 / var(--screensize) * 100vw);
    height: auto;
}

.subbar .logo--small img {
    width: calc(94 / var(--screensize) * 100vw);
    height: calc(18 / var(--screensize) * 100vw);
    content: url(/local/templates/fast/assets/images/logo_ipad_black.svg);
}

.subbar .inner-bottom {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: max-content;
    column-gap: calc(0 / var(--screensize) * 100vw);
    justify-self: end;
    align-items: center;
    border-bottom: none;
}

.subbar .actions {
    display: flex;
    align-items: center;
    gap: calc(24 / var(--screensize) * 100vw);
}

.subbar .icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: calc(24 / var(--screensize) * 100vw);
    height: calc(24 / var(--screensize) * 100vw);
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    line-height: 0;
    cursor: pointer;
}

.subbar .header__icon,
.subbar .burger__icon {
    width: calc(24 / var(--screensize) * 100vw);
    height: calc(24 / var(--screensize) * 100vw);
    display: block;
}

    /* approach */
    .approach {
        gap: calc(32 / var(--screensize) * 100vw);
        padding: calc(56 / var(--screensize) * 100vw) calc(32 / var(--screensize) * 100vw);
        flex-direction: column;
    }
    .approach__left {
      gap: calc(32 / var(--screensize) * 100vw);
    }
    .approach__right {
      flex: 1 1 65%;
    }
    .approach__title-fill {
      line-height: calc(33.6 / var(--screensize) * 100vw);
      font-size: calc(28 / var(--screensize) * 100vw);
      letter-spacing: calc(-0.56 / var(--screensize) * 100vw);
    }
    .approach__title-fill br {
      display: none;
    }
    .approach__text {
      gap: calc(32 / var(--screensize) * 100vw);
    }
    .approach__para {
      font-size: calc(16 / var(--screensize) * 100vw);
      line-height: calc(24 / var(--screensize) * 100vw);
      letter-spacing: calc(-0.32 / var(--screensize) * 100vw);
    }
    .approach__image {
      height: calc(259 / var(--screensize) * 100vw);
    }

    /* products */  
    .products__tabs-arrow, .products__side {
      display: flex;
  }

  .products {
      padding: 0 calc(32 / var(--screensize) * 100vw) calc(56 / var(--screensize) * 100vw) calc(32 / var(--screensize) * 100vw);
  }

  .products__container {
      padding: 0;
  }

  .products__title {
      font-size: calc(28 / var(--screensize) * 100vw);
      line-height: calc(33.6 / var(--screensize) * 100vw);
      padding: 0 0 calc(32 / var(--screensize) * 100vw) 0;
  }

  .products__tabs {
      height: calc(40 / var(--screensize) * 100vw);
      margin-bottom: calc(48 / var(--screensize) * 100vw);
  }

  .products__tab {
      height: calc(40 / var(--screensize) * 100vw);
      font-size: calc(16 / var(--screensize) * 100vw);
  }

  .products__body {
      gap: calc(32 / var(--screensize) * 100vw);
      padding: 0;
      display: flex;
      flex-direction: column;
  }

  .products__figure {
      width: calc(311 / var(--screensize) * 100vw);
      height: calc(291 / var(--screensize) * 100vw);
  }

  .products__subtitle {
      font-size: calc(16 / var(--screensize) * 100vw);
      line-height: calc(24 / var(--screensize) * 100vw);
      margin-bottom: calc(32 / var(--screensize) * 100vw);
  }

  .products__text {
      font-size: calc(16 / var(--screensize) * 100vw);
      margin-bottom: calc(32 / var(--screensize) * 100vw);
  }

  .products__chip {
      height: calc(48 / var(--screensize) * 100vw);
      padding: calc(16 / var(--screensize) * 100vw);
      font-size: calc(16 / var(--screensize) * 100vw);
  }

  .products__chips {
      gap: calc(16 / var(--screensize) * 100vw) calc(16 / var(--screensize) * 100vw);
      margin: 0 0 calc(32 / var(--screensize) * 100vw) 0;
  }

  .products__more {
      font-size: calc(16 / var(--screensize) * 100vw);
      gap: calc(24 / var(--screensize) * 100vw);
  }

  .products__more--arrow {
      width: calc(18 / var(--screensize) * 100vw);
      height: calc(14 / var(--screensize) * 100vw);
  }

  .products__tabs-wrap {
      margin-bottom: calc(32 / var(--screensize) * 100vw);
      margin-right: calc(-32 / var(--screensize) * 100vw);
      margin-left: calc(-32 / var(--screensize) * 100vw);
      display: block;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior-x: contain;
      scrollbar-width: none;
  }

  .products__tabs-arrow img {
      width: 100%;
      height: auto;
      display: block;
  }

  .products__tabs-arrow {
      display: none;
  }

  .products__side--prev {
      display: none;
  }

  .products__side--next {
      display: flex;
      justify-content: flex-start;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
  }

  .products__side {
      font-family: 'IBM Plex Mono';
      text-transform: uppercase;
      letter-spacing: .8px;
      font-size: calc(16 / var(--screensize) * 100vw);
      color: #3D52C6;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      opacity: .95;
      cursor: pointer;
      text-decoration: none;
      justify-content: center;
  }

  .products__tabs {
      display: inline-flex;
      gap: calc(8 / var(--screensize) * 100vw);
      flex-wrap: nowrap;
      overflow-x: auto; /* единственный горизонтальный скролл */
      -webkit-overflow-scrolling: touch;
      overscroll-behavior-x: contain;
      background: transparent !important;
      border-radius: 0 !important;
      padding: 0;
      overflow-x: hidden;
      margin: 0;
      height: calc(40 / var(--screensize) * 100vw);
      scroll-padding-left: calc(24 / var(--screensize) * 100vw);
      scroll-padding-right: calc(24 / var(--screensize) * 100vw);
      padding-left: calc(42 / var(--screensize) * 100vw);
  }

  .products__tabs::-webkit-scrollbar {
      display: none;
  }

  .products__tabs .products__tab {
      flex: 0 0 auto; /* не сжимать */
      white-space: nowrap;
      height: calc(40 / var(--screensize) * 100vw);
      padding: calc(12 / var(--screensize) * 100vw) calc(16 / var(--screensize) * 100vw);
      border-radius: 8px;
      background: transparent;
      color: #3D52C6;
      letter-spacing: .8px;
      text-transform: uppercase;
      border: 0;
      cursor: pointer;
  }

  /* активная — синяя «пилюля» */
  .products__tabs .products__tab.is-active {
      background: #3D52C6;
      color: #fff;
  }

  .contact__agree {
      font-size: calc(14 / var(--screensize) * 100vw);
  }

  .contact__agree input {
      width: calc(16 / var(--screensize) * 100vw);
      height: calc(16 / var(--screensize) * 100vw);
  }

  /* показываем только активную кнопку внутри серединного контейнера */
  .products__tabs .products__tab:not(.is-active) {
      display: inline-flex;
  }

  .products__tabs::after {
      content: "";
      flex: 0 0 calc(24 / var(--screensize) * 100vw);
  }

  .products__tabs-arrow {
      display: none !important;
  }

  .products__side {
      display: none !important;
  }

  /* contact */
  .contact{ padding: calc(56 / var(--screensize) * 100vw)
             calc(32 / var(--screensize) * 100vw); }
  .contact__input, .contact__textarea { height: calc(42 / var(--screensize) * 100vw);}
  .contact__field--area .contact__input { min-height: calc(98 / var(--screensize) * 100vw) !important; }
  .contact__inner{ gap: calc(56 / var(--screensize) * 100vw); flex-direction: column; }
  .contact__left{ gap: calc(252 / var(--screensize) * 100vw);}
  .contact__title{ font-size: calc(28 / var(--screensize) * 100vw); line-height: calc(33.6 / var(--screensize) * 100vw); letter-spacing: -0.56px; }
  .contact__title br { display: none;}
  .contact__address { display: none;}
  .contact__line, .contact__phone{ font-size: calc(20 / var(--screensize) * 100vw); line-height: calc(26 / var(--screensize) * 100vw); }
  .contact__email{ font-size: calc(16 / var(--screensize) * 100vw); }
  .contact__form{ width: calc(365 / var(--screensize) * 100vw); gap: calc(32 / var(--screensize) * 100vw); }
  .contact__label,
  .contact__input{ font-size: calc(16 / var(--screensize) * 100vw); }
  .contact__submit{ height: calc(48 / var(--screensize) * 100vw); font-size: calc(16 / var(--screensize) * 100vw); }

    /* footer */
    .inner-bottom--footer .menu {
        display: grid;
        grid-auto-rows: 1fr;
        align-items: center;
        width: 100%;
        min-width: 0;
    }
    /* .footer{
        margin-left:  calc(-32 / var(--screensize) * 100vw);
        margin-right: calc(-32 / var(--screensize) * 100vw);
    } */
    .inner-bottom--footer .menu a{
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: calc(121 / var(--screensize) * 100vw);
        width: 100%;
        text-align: left;
        text-decoration: none;
        font-size: calc(16 / var(--screensize) * 100vw);
    }
    .inner-bottom--footer .actions { display: none;}
    .inner-bottom--footer .menu a::after{
        content: "";
        flex: 0 0 auto;
        width:  calc(18 / var(--screensize) * 100vw);
        height: calc(14 / var(--screensize) * 100vw);
        background: url("/local/templates/fast/assets/images/icons/right_white.svg") center / contain no-repeat;
        opacity: .9;
    }
    .inner-bottom--footer .menu .menu-footer::after{
        background-image: url("/local/templates/fast/assets/images/icons/email.svg");
    }
    .inner-bottom--footer .menu a:last-child{
        border-bottom: 0;
    }
    .footer{ padding: calc(56 / var(--screensize) * 100vw) 0 calc(32 / var(--screensize) * 100vw) 0; }
    .footer__row--top{
        grid-template-columns: 1fr;
        justify-items: center;
        column-gap: calc(120 / var(--screensize) * 100vw);
    }

    .footer .inner-bottom.inner-bottom--footer {
        grid-template-columns: 1fr;
        row-gap: calc(32 / var(--screensize) * 100vw);
        justify-items: stretch;
    }

    .footer__logo {
        width: calc(194 / var(--screensize) * 100vw) !important;
        height: calc(54 / var(--screensize) * 100vw) !important;
        margin-bottom: calc(48 / var(--screensize) * 100vw);
        content: url(/local/templates/fast/assets/images/logo.png);
    }
    .footer__logo img {
        width: calc(194 / var(--screensize) * 100vw) !important;
        height: calc(54 / var(--screensize) * 100vw) !important;
    }

    .footer .menu {
        flex-direction: row !important;
        align-items: center;
        gap: calc(32 / var(--screensize) * 100vw);
        grid-template-columns: 1fr;
    }

    .footer .inner-bottom.inner-bottom--footer{
        grid-template-rows: auto;
        grid-template-columns: auto;
        justify-items: stretch;
        border-bottom: none;
        justify-self: center;
        width: 100%;
    }
    .footer .header__icon{
        width:  calc(20 / var(--screensize) * 100vw);
        height: calc(14 / var(--screensize) * 100vw);
    }
    .footer__row--mid,
    .footer__row--bottom{ padding-top: calc(48 / var(--screensize) * 100vw); flex-direction: column; }
    .footer__address,
    .footer__contacts,
    .footer__legal,
    .footer__iso,
    .footer__policy{ font-size: calc(14 / var(--screensize) * 100vw); justify-content: space-between; white-space: normal; }
    .footer__legal, .footer__iso, .footer__policy { font-size: calc(12 / var(--screensize) * 100vw);}
    .footer__policy { margin-left: initial;}

    .menu-footer { display: block;}

    /* ====== OVERLAY МЕНЮ ====== */
    .mmenu{
        display: block;
        position: fixed;
        inset: 0;
        z-index: 2000;                 /* выше .topbar(120) и .subbar(130) */
        background: #131944;
        color: #fff;
        opacity: 0;
        visibility: hidden;
        transform: translateY(-4%);
        transition: opacity .25s ease, transform .25s ease, visibility 0s linear .25s;
    }
    .mmenu.is-open{
        opacity: 1;
        visibility: visible;
        transform: none;
        transition: opacity .25s ease, transform .25s ease;
    }
    .mmmenu__inner{
        min-height: 100dvh;
        display: grid;
        grid-template-rows: auto 1fr auto;   /* верх / центр / низ */
        padding: calc(32 / var(--screensize) * 100vw);
    }

    .mmenu__top{
        display: flex;
        align-items: center;             /* <-- вертикальное центрирование */
        justify-content: space-between;  /* логотип слева, иконки справа */
        gap: calc(24 / var(--screensize) * 100vw);
    }

    /* верх */
    .mmenu__logo img{
        width: calc(131 / var(--screensize) * 100vw);
        height: auto;
        display: block;
    }
    .mmenu__actions{
        position: static;
        display: flex;
        align-items: center;
        gap: calc(24 / var(--screensize) * 100vw);
    }

    /* центр */
    .mmenu__nav{
        align-self: center;
        justify-self: center;
        display: flex;
        flex-direction: column;
        gap: calc(48 / var(--screensize) * 100vw);
        text-align: center;
    }
    .mmenu__nav a{
        font-family: 'IBM Plex Mono';
        text-transform: uppercase;
        letter-spacing: .8px;
        text-decoration: none;
        color: #fff;
        font-size: calc(16 / var(--screensize) * 100vw);
    }

    /* низ */
    .mmenu__footer{
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: calc(24 / var(--screensize) * 100vw);
        opacity: .85;
        flex-direction: column;
    }
    .mmenu__footer .footer__address{ margin: 0; }
    .mmenu__footer .footer__contacts{ display: flex; gap: calc(40 / var(--screensize) * 100vw); }
    .mmenu__footer a{ color: #fff; text-decoration: none; }

    /* небольшая подстраховка размеров иконок */
    .mmenu .icon-btn{
        width: calc(24 / var(--screensize) * 100vw);
        height: calc(24 / var(--screensize) * 100vw);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        line-height: 0;
    }
    .mmenu .header__icon,
    .mmenu .burger__icon{ width:100%; height:auto; display:block; }

    .cookie__text {
        font-size: calc(12 / var(--screensize) * 100vw);
      }
}


@media (min-width: 431px) and (max-width: 960px) {
    .topbar { background: transparent; }
    .topbar .inner-bottom { border-bottom-color: transparent; }

    .topbar.is-solid {
        background: #F2F2F2;
    }
    .topbar.is-solid .inner-bottom {
        border-bottom-color: rgba(0,0,0,.08); /* тонкая линия снизу */
    }

    /* Если иконки/бургер изначально белые — инвертируем на светлом фоне */
    .topbar.is-solid .header__icon,
    .topbar.is-solid .burger__icon {
        filter: invert(1) brightness(0.1) contrast(1.1);
    }
    .subbar {
        display: none !important;
    }
    .topbar.is-hidden { transform: none !important; }

    .topbar .logo img {
    content: url('/local/templates/fast/assets/images/logo_mobile.png') !important;
    }
    .topbar.is-solid .logo img {
    content: url('/local/templates/fast/assets/images/logo_ipad_black.svg') !important;
    }

    /* Если есть чёрная версия логотипа — раскомментируй строку ниже и укажи путь */
    /* .topbar.is-solid .logo img { content: url("/local/templates/fast/assets/images/logo_ipad_black.svg"); } */
}

/* ====== ≤430px (мобильные) ====== */
@media (max-width: 430px) {
    .topbar { background: transparent; }
    .topbar .inner-bottom { border-bottom-color: transparent; }

    .topbar.is-solid {
        background: #F2F2F2;
    }
    .topbar.is-solid .inner-bottom {
        border-bottom-color: rgba(0,0,0,.08);
    }

    .topbar.is-solid .header__icon,
    .topbar.is-solid .burger__icon {
        filter: invert(1) brightness(0.1) contrast(1.1);
    }
    .subbar {
        display: none !important;
    }
    .topbar.is-hidden { transform: none !important; }

    .topbar .logo img {
    content: url('/local/templates/fast/assets/images/logo_mobile.png') !important;
    }
    .topbar.is-solid .logo img {
    content: url('/local/templates/fast/assets/images/logo_ipad_black.svg') !important;
    }

    /* Чёрная мобильная версия логотипа (если есть файл) */
    /* .topbar.is-solid .logo img { content: url("/local/templates/fast/assets/images/logo_mobile_black.png"); } */
}

@media (min-width: 961px) and (max-width: 1090px) {
    .header__icon {
        top: calc(-2 / var(--screensize) * 100vw) !important;
    }
    
    .header__icon-sub {
        top: calc(-2 / var(--screensize) * 100vw);
    }
  }

@media (min-width: 431px) and (max-width: 900px) {
    .header__icon, .burger__icon {
        top: calc(2 / var(--screensize) * 100vw);
    }
}

@media (min-width: 431px) and (max-width: 8500px) {
    .header__icon, .burger__icon {
        top: calc(0 / var(--screensize) * 100vw);
    }
}

@media (min-width: 431px) and (max-width: 810px) {
    .header__icon, .burger__icon {
        top: calc(0 / var(--screensize) * 100vw);
    }
}

@media (min-width: 431px) and (max-width: 800px) {
    .header__icon, .burger__icon {
        top: calc(-1 / var(--screensize) * 100vw);
    }
}


@media (min-width: 431px) and (max-width: 790px) {
    .header__icon, .burger__icon {
        top: calc(-2 / var(--screensize) * 100vw);
    }
}

@media (min-width: 431px) and (max-width: 760px) {
    .header__icon, .burger__icon {
        top: calc(-3 / var(--screensize) * 100vw);
    }
}

@media (min-width: 431px) and (max-width: 720px) {
    .header__icon, .burger__icon {
        top: calc(-4 / var(--screensize) * 100vw);
    }
}

@media (min-width: 431px) and (max-width: 690px) {
  .header__icon, .burger__icon {
      top: calc(-5 / var(--screensize) * 100vw);
  }
}

@media (min-width: 431px) and (max-width: 670px) {
    .header__icon, .burger__icon {
        top: calc(-6 / var(--screensize) * 100vw);
    }
  }

@media (min-width: 431px) and (max-width: 640px) {
    .header__icon, .burger__icon {
        top: calc(-7 / var(--screensize) * 100vw);
    }
  }

@media (min-width: 431px) and (max-width: 620px) {
  .header__icon, .burger__icon {
      top: calc(-8 / var(--screensize) * 100vw);
  }
}

@media (min-width: 431px) and (max-width: 600px) {
    .header__icon, .burger__icon {
        top: calc(-8 / var(--screensize) * 100vw);
    }
}

@media (min-width: 431px) and (max-width: 580px) {
    .header__icon, .burger__icon {
        top: calc(-9 / var(--screensize) * 100vw);
    }
}

@media (min-width: 431px) and (max-width: 560px) {
    .header__icon, .burger__icon {
        top: calc(-9 / var(--screensize) * 100vw);
    }
}

@media (min-width: 431px) and (max-width: 535px) {
    .header__icon, .burger__icon {
        top: calc(-10 / var(--screensize) * 100vw);
    }
}

@media (min-width: 431px) and (max-width: 500px) {
    .header__icon, .burger__icon {
        top: calc(-11 / var(--screensize) * 100vw);
    }
}

@media (min-width: 431px) and (max-width: 485px) {
  .header__icon, .burger__icon {
      top: calc(-11 / var(--screensize) * 100vw);
  }
  .mmenu__actions, .header__icon-submub {
    top: calc(1 / var(--screensize) * 100vw) !important;
  }
}

/* @media (min-width: 431px) and (max-width: 490px) {
    .header__icon, .burger__icon {
        top: calc(-11 / var(--screensize) * 100vw) !important;
    }
} */

@media (min-width: 1px) and (max-width: 376px) {
    .header__icon, .burger__icon {
        top: calc(-1 / var(--screensize) * 100vw) !important;
    }
}

@media (min-width: 1px) and (max-width: 330px) {
    .header__icon, .burger__icon {
        top: calc(-3 / var(--screensize) * 100vw) !important;
    }
}

@media (min-width: 1px) and (max-width: 320px) {
    .header__icon, .burger__icon {
        top: calc(-5 / var(--screensize) * 100vw) !important;
    }
}

@media (min-width: 431px) and (max-width: 600px) {
    .contact__agree {
        font-size: calc(14 / var(--screensize) * var(--vw));
    }
}