:root {
  --screensize: 1920;
  --vw: 100vw;
}

* {
  box-sizing: border-box;
}

html,body {
  height:100%;
  overflow-x: clip;
}

#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';
}

.menu-footer { display: none; }

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

.icon-btn {
  width: calc(32 / var(--screensize) * 100vw);
  height: calc(32 / 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);
}


/* ======= 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/partner_back.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: 495px 40px 40px 195px; */
  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 { 
width: calc(32 / var(--screensize) * 100vw);
height: calc(32 / var(--screensize) * 100vw);
display: flex;
justify-content: center;
}

/* заголовок с заливкой картинкой */
.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);
  margin-bottom: calc(40 / var(--screensize) * 100vw);
}
.fast-hero__title-text {
margin: 0;
  font-weight: 400;
  letter-spacing: calc(-0.36 / var(--screensize) * 100vw);
  line-height: 140%;
  color: #fff;
  font-size: calc(24 / 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: 0;
  /* 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;
flex-direction: row;
gap: calc(107 / 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-down {
padding: calc(0 / var(--screensize) * 100vw)
        calc(0 / var(--screensize) * 100vw)
        calc(192 / var(--screensize) * 100vw)
        calc(195 / var(--screensize) * 100vw);
}
.approach__left{
flex: 0 1 39%;
display: flex;
flex-direction: column;
gap: calc(104 / var(--screensize) * 100vw);
}

.approach__title{ margin: 0; }
.approach__title-down{ margin: 0; }
.approach__title-fill{
display: inline-block;
font-weight: 500;
line-height: calc(86 / var(--screensize) * 100vw);
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__title-fill_down {
  display: inline-block;
font-weight: 500;
line-height: calc(56 / var(--screensize) * 100vw);
font-size: calc(48 / 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(104 / var(--screensize) * 100vw);
max-width: 100%;
}
.approach__para{
margin: 0;
font-size: calc(32 / var(--screensize) * 100vw);
line-height: calc(42 / var(--screensize) * 100vw);
font-weight: 500;
letter-spacing: calc(-1.5 / var(--screensize) * 100vw);
color: #000;
}

.approach__right{
width: 100%;
flex: 0 1 55%;
}
.approach__right-banner{
position: relative;
display: flex;
grid-template-columns: 1fr auto;
padding: calc(144 / var(--screensize) * 100vw)
        calc(195 / var(--screensize) * 100vw)
        calc(144 / var(--screensize) * 100vw)
        calc(155 / var(--screensize) * 100vw);
min-height: calc(1018 / var(--screensize) * 100vw);
background: linear-gradient(to top, rgba(0,0,0,1.85) 0%, rgba(0,0,0,0.2) 70%), url('/local/templates/fast/assets/images/partner_1.png') center/cover no-repeat;
color: #fff;
overflow: hidden;
flex-direction: column;
justify-content: center;
gap: calc(104 / var(--screensize) * 100vw);
}
.approach__right-banner--partner2 {
background: linear-gradient(to top, rgba(0,0,0,1.85) 0%, rgba(0,0,0,0.2) 70%), url('/local/templates/fast/assets/images/partner_2.png') center/cover no-repeat;
}
.approach__right-banner--partner3 {
background: linear-gradient(to top, rgba(0,0,0,1.85) 0%, rgba(0,0,0,0.2) 70%), url('/local/templates/fast/assets/images/partner_3.png') center/cover no-repeat;
}
.approach__right-banner--partner4 {
background: linear-gradient(to top, rgba(0,0,0,1.85) 0%, rgba(0,0,0,0.2) 70%), url('/local/templates/fast/assets/images/partner_4.png') center/cover no-repeat;
}

.down {
display: flex;
flex-direction: row;
justify-content: space-between;
}

.approach__right-title{
margin: 0 0 calc(40 / var(--screensize) * 100vw);
font-weight: 500;
line-height: calc(41 / var(--screensize) * 100vw);
letter-spacing: calc(-1.5 / var(--screensize) * 100vw);
font-size: calc(44 / var(--screensize) * 100vw);
}

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

.approach__right-cta{
display: inline-flex;
align-items: center;
border: none;
text-transform: uppercase;
letter-spacing: 0.8px;
font-weight: 400;
font-family: 'IBM Plex Mono';
font-size: calc(22 / var(--screensize) * 100vw);
line-height: calc(16.8 / var(--screensize) * 100vw);
color: #fff;
text-decoration: none;
}

.down_img {
padding-left: calc(36 / var(--screensize) * 100vw);
height: calc(19 / var(--screensize) * 100vw);
}
.partner-banner__title {
font-weight: 500;
font-size: calc(32 / var(--screensize) * 100vw);
line-height: calc(42 / var(--screensize) * 100vw);
letter-spacing: calc(-1.5 / var(--screensize) * 100vw);
margin: 0 0 calc(24 / var(--screensize) * 100vw);
}
.partner-banner__list {
margin: 0 0 0 2em; 
padding: 0;
}
.partner-banner__list li { 
margin: 0 0 calc(10 / var(--screensize) * 100vw); 
font-weight: 400;
font-size: calc(24 / var(--screensize) * 100vw);
line-height: 140%;
letter-spacing: calc(-0.36 / var(--screensize) * 100vw);
}

/* ====================== SWIPER ===================== */
.projects{
padding: 0 0 calc(192 / var(--screensize) * 100vw) calc(195 / var(--screensize) * 100vw);
}

.projects__head{
display: flex;
align-items: center;
justify-content: space-between;
gap: calc(24 / var(--screensize) * 100vw);
padding: 0px calc(195 / var(--screensize) * 100vw) 0 0;
margin-bottom: calc(104 / var(--screensize) * 100vw);
}

.projects__title{
font-weight: 500;
letter-spacing: calc(-3.2 / var(--screensize) * 100vw);
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-position: center;
background-repeat: repeat;
-webkit-background-clip: text;
background-clip: text;
color: transparent;
-webkit-text-fill-color: transparent;
margin: 0;
}

/* Кнопки навигации */
.projects__controls{
display: flex;
align-items: center;
gap: calc(40 / var(--screensize) * 100vw);
}

.projects__btn{
width: calc(48 / var(--screensize) * 100vw);
height: calc(48 / var(--screensize) * 100vw);
display: inline-flex;
align-items: center;
justify-content: center;
border: none;
background: transparent;
transition: background-color .2s, border-color .2s, opacity .2s, transform .15s;
}

.projects__btn:active{ transform: translateY(1px); }
.projects__btn.is-disabled{ opacity: .35; pointer-events: none; }

.projects__btn-icon{ width: calc(36 / var(--screensize) * 100vw); height: calc(28 / var(--screensize) * 100vw); display: block; }

.projects__slider{ overflow: hidden; }
.projects__wrapper{}

.projects__slide{
height: calc(753 / var(--screensize) * 100vw);
width: calc(753 / var(--screensize) * 100vw);
}

.cases-slide{
position: relative;
display: flex;
overflow: hidden;
min-height: calc(654 / var(--screensize) * 100vw) !important;
height: auto !important;
width: calc(1219 / var(--screensize) * 100vw) !important;
}

.result-card__head{
  display: flex;
  flex-direction: column;
  gap: calc(32 / var(--screensize) * 100vw);
  margin-bottom: var(--rc-gap-stats);
}

.project-card__media{
position: absolute;
inset: 0;
background-size: cover;
background-position: center;
transition: transform .35s ease;
}
.project-card:hover .project-card__media{ transform: scale(1.03); }

.project-card__shadow{
position: absolute;
inset: 0;
background: linear-gradient(180deg, rgba(0,0,0,0) 20%, rgba(0,0,0,.95) 100%);
pointer-events: none;
}

/* ===== RESULT CARD (слайды как на макете) ===== */
.result-card{
position: relative;
display: flex;
align-items: stretch;
overflow: hidden;
background: #fff;
--rc-gap-stats: calc(79 / var(--screensize) * 100vw);
--chip-bottom: calc(80 / var(--screensize) * 100vw);
--chip-h: calc(189 / var(--screensize) * 100vw);
}

.result-card__left{
/* левая синяя панель */
/* flex: 0 0 50%;
display: flex;
flex-direction: column;
justify-content: flex-start; */
/* gap: calc(32 / var(--screensize) * 100vw); */
/* gap: 0;
padding: calc(80 / var(--screensize) * 100vw)
         calc(88 / var(--screensize) * 100vw);
background: #323FA6;
color: #fff; */
flex: 0 0 50%;
display: flex;
flex-direction: column;
justify-content: flex-start;
padding: calc(80 / var(--screensize) * 100vw) calc(88 / var(--screensize) * 100vw);
padding-bottom: calc(var(--chip-h) + var(--chip-bottom));
background: #323FA6;
color: #fff;
}

.result-card__right{
/* фото справа */
/* min-height: 100%;
flex: 1 1 auto;
background-size: cover;
background-position: center; */
min-height: 100%;
flex: 1 1 auto;
background-size: cover;
background-position: center right;
z-index: 1;
}

/* заголовок и лид на синей панели */
.result-card__title{
margin: 0;
font-weight: 500;
line-height: calc(42 / var(--screensize) * 100vw);
font-size: calc(38 / var(--screensize) * 100vw);
letter-spacing: calc(-1.5 / var(--screensize) * 100vw);
}

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

/* чипы-метрики внизу, полупрозрачные */
.result-card__stats{
/* position: absolute; */
/* position: static;
left: calc(88 / var(--screensize) * 100vw);
right: calc(88 / var(--screensize) * 100vw);
bottom: calc(80 / var(--screensize) * 100vw);
display: flex;
flex-wrap: wrap;
gap: calc(40 / var(--screensize) * 100vw);
list-style: none;
margin: var(--rc-gap-stats) 0 0 0;
padding: 0; */
position: absolute;
left:   calc(88 / var(--screensize) * 100vw);
right:  calc(88 / var(--screensize) * 100vw);
bottom: var(--chip-bottom);
z-index: 3;
display: flex;
flex-wrap: nowrap;                /* одна линия */
gap: calc(40 / var(--screensize) * 100vw);
list-style: none;
margin: 0;
padding: 0;
}

.result-chip{
/* display: flex;
flex-direction: column; */
/* justify-content: space-between; */
/* align-items: flex-start;
justify-content: flex-start;
gap: calc(33 / var(--screensize) * 100vw);
width: calc(321 / var(--screensize) * 100vw);
height: calc(189 / var(--screensize) * 100vw);
min-height: auto;
padding: calc(32 / var(--screensize) * 100vw)
         calc(40 / var(--screensize) * 100vw);
color: #fff;
background: rgba(255,255,255,.20);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border-radius: calc(16 / var(--screensize) * 100vw); */
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: space-between;
gap: calc(33 / var(--screensize) * 100vw);
width: calc(321 / var(--screensize) * 100vw);
min-height: calc(189 / var(--screensize) * 100vw);
padding: calc(32 / var(--screensize) * 100vw) calc(40 / var(--screensize) * 100vw);
color:#fff;
background: rgba(255,255,255,.20);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border-radius: calc(16 / var(--screensize) * 100vw);
}

.result-chip__value{
font-weight: 500;
font-size: calc(32 / var(--screensize) * 100vw);
line-height: calc(42 / var(--screensize) * 100vw);
letter-spacing: calc(-1.5 / var(--screensize) * 100vw);
font-family: 'IBM Plex Sans';
}
.result-chip__label{
  font-weight: 400;
  font-size: calc(18 / var(--screensize) * 100vw);
  line-height: 140%;
  letter-spacing: calc(-0.36 / var(--screensize) * 100vw);
  font-family: 'IBM Plex Sans';
}

.cases-slider.swiper { overflow: hidden; }

/* На всякий: принудительно flex у враппера */
.cases-slider .swiper-wrapper { display: flex; }

/* Если где-то переопределили pointer-events, вернём перенос/drag */
.cases-slider .swiper-slide { touch-action: pan-y; }


/* ===== 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: calc(16 / var(--screensize) * 100vw);
background: #323FA6;
color: #fff;
font-family: "IBM Plex Mono";
font-weight: 400;
font-size: calc(22 / var(--screensize) * 100vw);
letter-spacing: calc(0.8 / var(--screensize) * 100vw);
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) * 100vw);
}

.cookie__text {
  margin-left: auto;
  text-decoration: none;
  font-size: calc(19 / var(--screensize) * 100vw);
  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;
    column-gap: calc(99 / var(--screensize) * 100vw);
}
.menu{
    flex: 1 1 auto;
    min-width: 0;
    justify-content: flex-start;
    gap: calc(40 / var(--screensize) * 100vw);
}
.menu a,
.btn-ghost{
    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);
}
.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);
}
/* hero */
.fast-hero {
  min-height: calc(800 / var(--screensize) * 100vw);
}
.fast-hero__container {
  padding: calc(319 / var(--screensize) * 100vw) calc(40 / var(--screensize) * 100vw) calc(40 / var(--screensize) * 100vw) calc(155 / var(--screensize) * 100vw);
}
.fast-hero__sep {
  width: calc(24 / var(--screensize) * 100vw);
  height: calc(24 / var(--screensize) * 100vw);
}
.fast-hero__title-text {
  font-size: calc(18 / 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;
}
.subbar .menu{
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    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);
    margin-top: -1px;
}
.subbar .header__icon{
    width:  calc(20 / var(--screensize) * 100vw);
    height: calc(14 / var(--screensize) * 100vw);
}

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

/* approach */
.approach {
    gap: calc(97 / 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-down {
  padding: calc(0 / var(--screensize) * 100vw) calc(0 / var(--screensize) * 100vw) calc(144 / var(--screensize) * 100vw) calc(155 / var(--screensize) * 100vw);
}
.approach__left {
  gap: calc(64 / var(--screensize) * 100vw);
}
.approach__title-fill {
  line-height: calc(64.2 / var(--screensize) * 100vw);
  font-size: calc(59 / var(--screensize) * 100vw);
  letter-spacing: calc(-2.4 / var(--screensize) * 100vw);
}
.approach__title-fill_down {
  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(64 / var(--screensize) * 100vw);
}
.approach__para {
  font-size: calc(24 / var(--screensize) * 100vw);
  line-height: calc(31.2 / var(--screensize) * 100vw);
  letter-spacing: calc(-1.2 / var(--screensize) * 100vw);
}
.approach__right {
  flex: none;
  width: calc(708 / var(--screensize) * 100vw);
  height: auto;
}
.approach__right-banner {
  padding: calc(115 / var(--screensize) * 100vw);
  justify-content: flex-start;
  gap: calc(64 / var(--screensize) * 100vw);
  min-height: calc(763 / var(--screensize) * 100vw);
}
.partner-banner__title {
  margin: 0 0 calc(24 / var(--screensize) * 100vw);
  line-height: calc(31.2 / var(--screensize) * 100vw);
  letter-spacing: calc(-1.2 / var(--screensize) * 100vw);
  font-size: calc(24 / var(--screensize) * 100vw);
}
.partner-banner__list li {
  font-size: calc(18 / var(--screensize) * 100vw);
  margin: 0;
}

/* projects */
.projects {
  padding: 0 0 calc(155 / var(--screensize) * 100vw) calc(144 / var(--screensize) * 100vw);
}
.projects__head {
  padding: 0 calc(155 / var(--screensize) * 100vw) 0 0;
  margin-bottom: calc(80 / var(--screensize) * 100vw);
}
.projects__title {
  letter-spacing: calc(-2.4 / var(--screensize) * 100vw);
  font-size: calc(60 / var(--screensize) * 100vw);
  line-height: calc(64.2 / var(--screensize) * 100vw);
}
.projects__controls {
  gap: calc(24 / var(--screensize) * 100vw);
}
.projects__btn {
  width: calc(40 / var(--screensize) * 100vw);
  height: calc(40 / var(--screensize) * 100vw);
}
.projects__btn-icon {
  width: calc(30 / var(--screensize) * 100vw);
  height: calc(23 / var(--screensize) * 100vw);
}
.cases-slide {
  min-height: calc(490 / var(--screensize) * 100vw) !important;
  width: calc(899 / var(--screensize) * 100vw) !important;
}
.result-card__left {
  padding: calc(56 / var(--screensize) * 100vw) calc(64 / var(--screensize) * 100vw);
  padding-bottom: calc(var(--chip-h) + var(--chip-bottom));
}
.result-card{
  --rc-gap-stats: calc(64 / var(--screensize) * 100vw);
  --chip-bottom:  calc(64 / var(--screensize) * 100vw);
  --chip-h:       calc(142 / var(--screensize) * 100vw);
}
.result-card__title {
  line-height: calc(31.2 / var(--screensize) * 100vw);
  font-size: calc(24 / var(--screensize) * 100vw);
  letter-spacing: calc(-1.2 / var(--screensize) * 100vw);
}
.result-card__lead {
  font-size: calc(18 / var(--screensize) * 100vw);
}
.result-card__stats {
  /* left: calc(64 / var(--screensize) * 100vw);
  right: calc(64 / var(--screensize) * 100vw);
  bottom: calc(64 / var(--screensize) * 100vw);
  gap: calc(24 / var(--screensize) * 100vw); */
  left:  calc(64 / var(--screensize) * 100vw);
  right: calc(64 / var(--screensize) * 100vw);
  gap:   calc(24 / var(--screensize) * 100vw);
}
.result-chip {
  gap: calc(19 / var(--screensize) * 100vw);
  width: calc(241 / var(--screensize) * 100vw);
  min-height: calc(142 / var(--screensize) * 100vw);
  height: auto;
  padding: calc(24 / var(--screensize) * 100vw) calc(32 / var(--screensize) * 100vw);
}
.result-chip__value {
  font-weight: 500;
  font-size: calc(24 / var(--screensize) * 100vw);
  line-height: calc(31.2 / var(--screensize) * 100vw);
  letter-spacing: calc(-1.2 / var(--screensize) * 100vw);
}
.result-chip__label {
  font-size: calc(14 / var(--screensize) * 100vw);
  line-height: 140%;
  letter-spacing: calc(-0.36 / var(--screensize) * 100vw);
  opacity: 1;
}


.project-card {
  height: calc(553 / var(--screensize) * 100vw);
  width: calc(553 / var(--screensize) * 100vw)
}
.project-card__body {
  left: calc(48 / var(--screensize) * 100vw);
  right: calc(48 / var(--screensize) * 100vw);
  bottom: calc(40 / var(--screensize) * 100vw);
}
.project-card__text {
  font-size: calc(18 / 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); border-radius: 12px; }
.contact__address {
  gap: calc(40 / var(--screensize) * 100vw);
}
.contact__input, .contact__textarea {
  font-size: calc(16 / var(--screensize) * 100vw);
  min-height: calc(42 / var(--screensize) * 100vw);
  font-weight: 400;
  letter-spacing: calc(0.8 / var(--screensize) * 100vw);
}
.contact__field--area .contact__input {
  min-height: calc(98 / 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(1 / 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) * 100vw);
}
.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(194 / 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__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);
  margin-bottom: calc(32 / var(--screensize) * 100vw);
}
.fast-hero__title-text {
  letter-spacing: calc(-0.32 / var(--screensize) * 100vw);
  line-height: calc(24 / var(--screensize) * 100vw);
  font-size: calc(16 / var(--screensize) * 100vw);
}
.separator__br {
  margin: calc(-2 / 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(1 / 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:100%;
    height:100%;
    display:block;
}

/* approach */
.approach {
    gap: calc(24 / 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-down {
  padding: calc(0 / 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);
  flex: none;
  width: calc(366 / var(--screensize) * 100vw);
  height: auto;
}
.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__title-fill_down {
  line-height: calc(38.4 / var(--screensize) * 100vw);
  font-size: calc(26 / var(--screensize) * 100vw);
  letter-spacing: calc(-0.64 / var(--screensize) * 100vw);
}
.approach__text {
  gap: calc(48 / var(--screensize) * 100vw);
}
.approach__para {
  font-size: calc(20 / var(--screensize) * 100vw);
  line-height: calc(26 / var(--screensize) * 100vw);
  letter-spacing: calc(-1.2 / var(--screensize) * 100vw);
}
.approach__right {
  flex: none;
  width: calc(468 / var(--screensize) * 100vw);
  height: auto;
}
.approach__right-banner {
  padding: calc(78 / var(--screensize) * 100vw);
  justify-content: flex-start;
  gap: calc(48 / var(--screensize) * 100vw);
  min-height: calc(610 / var(--screensize) * 100vw);
}
.partner-banner__title {
  margin: 0 0 calc(16 / var(--screensize) * 100vw);
  line-height: calc(26 / var(--screensize) * 100vw);
  letter-spacing: calc(-1.2 / var(--screensize) * 100vw);
  font-size: calc(20 / var(--screensize) * 100vw);
}
.partner-banner__list li {
  font-size: calc(18 / var(--screensize) * 100vw);
  margin: 0;
}
.partner-banner__list {
  margin: 0 0 0 1.4em;
}


/* projects */
.projects {
  padding: 0 0 calc(96 / var(--screensize) * 100vw) calc(102 / var(--screensize) * 100vw);
}
.projects__head {
  padding: 0 calc(102 / var(--screensize) * 100vw) 0 0;
  margin-bottom: calc(48.5 / var(--screensize) * 100vw);
}
.projects__title {
  letter-spacing: calc(-0.64 / var(--screensize) * 100vw);
  font-size: calc(32 / var(--screensize) * 100vw);
  line-height: calc(38.4 / var(--screensize) * 100vw);
}
.projects__controls {
  gap: calc(24 / var(--screensize) * 100vw);
}
.projects__btn {
  width: calc(40 / var(--screensize) * 100vw);
  height: calc(40 / var(--screensize) * 100vw);
}
.projects__btn-icon {
  width: calc(30 / var(--screensize) * 100vw);
  height: calc(23 / var(--screensize) * 100vw);
}
.cases-slide {
  min-height: calc(409 / var(--screensize) * 100vw) !important;
  width: calc(756 / var(--screensize) * 100vw) !important;
}
.result-card{
  --rc-gap-stats: calc(48 / var(--screensize) * 100vw);
  --chip-bottom:  calc(58 / var(--screensize) * 100vw);
  --chip-h:       calc(160 / var(--screensize) * 100vw);
}
.result-card__left {
  padding: calc(42 / var(--screensize) * 100vw) calc(48 / var(--screensize) * 100vw);
  padding-bottom: calc(var(--chip-h) + var(--chip-bottom));
}
.result-card__title {
  line-height: calc(26 / var(--screensize) * 100vw);
  font-size: calc(20 / var(--screensize) * 100vw);
  letter-spacing: calc(-1.2 / var(--screensize) * 100vw);
}
.result-card__lead {
  font-size: calc(16 / var(--screensize) * 100vw);
}
.result-card__stats {
  /* left: calc(48 / var(--screensize) * 100vw);
  right: calc(48 / var(--screensize) * 100vw);
  bottom: calc(48 / var(--screensize) * 100vw);
  gap: calc(24 / var(--screensize) * 100vw); */
  left:  calc(48 / var(--screensize) * 100vw);
  right: calc(48 / var(--screensize) * 100vw);
}
.result-chip {
  /* gap: calc(16 / var(--screensize) * 100vw);
  width: calc(204 / var(--screensize) * 100vw);
  min-height: calc(127 / var(--screensize) * 100vw);
  height: auto;
  padding: calc(20 / var(--screensize) * 100vw) calc(24 / var(--screensize) * 100vw); */
  width: calc(204 / var(--screensize) * 100vw);
  min-height: calc(127 / var(--screensize) * 100vw);
  padding: calc(20 / var(--screensize) * 100vw) calc(24 / var(--screensize) * 100vw);
  gap: calc(16 / var(--screensize) * 100vw);
}
.result-chip__value {
  font-weight: 500;
  font-size: calc(24 / var(--screensize) * 100vw);
  line-height: calc(31.2 / var(--screensize) * 100vw);
  letter-spacing: calc(-1.2 / var(--screensize) * 100vw);
}
.result-chip__label {
  font-size: calc(14 / var(--screensize) * 100vw);
  line-height: 140%;
  letter-spacing: calc(-0.36 / var(--screensize) * 100vw);
  opacity: 1;
}


.project-card {
  height: calc(553 / var(--screensize) * 100vw);
  width: calc(553 / var(--screensize) * 100vw)
}
.project-card__body {
  left: calc(48 / var(--screensize) * 100vw);
  right: calc(48 / var(--screensize) * 100vw);
  bottom: calc(40 / var(--screensize) * 100vw);
}
.project-card__text {
  font-size: calc(18 / var(--screensize) * 100vw);
}

/* 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(222 / 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); }
.contact__address {
  gap: calc(24 / var(--screensize) * 100vw);
}
.contact__input, .contact__textarea {
  font-size: calc(16 / var(--screensize) * 100vw);
  min-height: calc(42 / var(--screensize) * 100vw);
  font-weight: 400;
  letter-spacing: calc(0.8 / var(--screensize) * 100vw);
}
.contact__field--area .contact__input {
  min-height: calc(98 / 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;}

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

/* ====== OVERLAY МЕНЮ ====== */
.mmenu{
  display: block;
  position: fixed;
  inset: 0;
  z-index: 2000;                 /* выше .topbar(120) и .subbar(130) */
  background: #0A0D21;
  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; }

.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_mobile.png"); }
  .logo{ width: calc(94 / var(--screensize) * 100vw); }
  .topbar .inner{
      display: grid;
      align-items: baseline;
      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(2 / var(--screensize) * 100vw); }

  /* fast hero */
  .fast-hero {
    min-height: calc(700 / var(--screensize) * 100vw);
  }
  .fast-hero__container {
    padding: calc(508 / 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(24 / var(--screensize) * 100vw);
  }
  .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(40 / var(--screensize) * 100vw);
    font-size: calc(48 / var(--screensize) * 100vw);
    margin-bottom: calc(24 / var(--screensize) * 100vw);
    white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-word;
        hyphens: auto;
        -webkit-hyphens: auto;
  }
  .fast-hero__title-text {
    letter-spacing: calc(-0.32 / var(--screensize) * 100vw);
    line-height: calc(24 / var(--screensize) * 100vw);
    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)
                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:100%;
      height:100%;
      display:block;
  }

  /* approach */
.approach {
    gap: calc(32 / var(--screensize) * 100vw);
    flex-direction: column;
    padding: calc(56 / var(--screensize) * 100vw) calc(32 / var(--screensize) * 100vw) calc(56 / var(--screensize) * 100vw) calc(32 / var(--screensize) * 100vw);
}
.approach-down {
  padding: calc(0 / var(--screensize) * 100vw) calc(32 / var(--screensize) * 100vw) calc(56 / var(--screensize) * 100vw) calc(32 / var(--screensize) * 100vw);
}
.approach__left {
  gap: calc(32 / var(--screensize) * 100vw);
  flex: none;
  width: calc(366 / var(--screensize) * 100vw);
  height: auto;
}
.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_down {
  line-height: calc(30 / var(--screensize) * 100vw);
  font-size: calc(24 / var(--screensize) * 100vw);
  letter-spacing: calc(-0.56 / var(--screensize) * 100vw);
}
.approach__text {
  gap: calc(32 / var(--screensize) * 100vw);
}
.approach__para {
  font-size: calc(20 / var(--screensize) * 100vw);
  line-height: calc(26 / var(--screensize) * 100vw);
  letter-spacing: calc(-1.2 / var(--screensize) * 100vw);
}
.approach__right {
  flex: none;
  width: calc(366 / var(--screensize) * 100vw);
  height: auto;
}
.approach__right-banner {
  padding: calc(32 / var(--screensize) * 100vw);
  justify-content: flex-start;
  gap: calc(32 / var(--screensize) * 100vw);
  min-height: calc(586 / var(--screensize) * 100vw);
}
.partner-banner__title {
  margin: 0 0 calc(16 / var(--screensize) * 100vw);
  line-height: calc(26 / var(--screensize) * 100vw);
  letter-spacing: calc(-1.2 / var(--screensize) * 100vw);
  font-size: calc(20 / var(--screensize) * 100vw);
}
.partner-banner__list li {
  font-size: calc(18 / var(--screensize) * 100vw);
  margin: 0;
}
.partner-banner__list {
  margin: 0 0 0 1.4em;
}

/* projects */
.projects {
  padding: 0 calc(32 / var(--screensize) * 100vw) calc(56 / var(--screensize) * 100vw) calc(32 / var(--screensize) * 100vw);
}
.projects__head {
  padding: 0;
  margin-bottom: calc(40 / var(--screensize) * 100vw);
}
.projects__title {
  letter-spacing: calc(-0.56 / var(--screensize) * 100vw);
  font-size: calc(28 / var(--screensize) * 100vw);
  line-height: calc(33.6 / var(--screensize) * 100vw);
}
.projects__controls {
  display: none;
}
.cases-slide {
  min-height: calc(677 / var(--screensize) * 100vw) !important;
  width: calc(365 / var(--screensize) * 100vw) !important;
}
.result-card {
  /* flex-direction: column;
  --rc-gap-stats: calc(58 / var(--screensize) * 100vw); */
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr;          /* 1: синяя плашка; 2: зона с фото */
  background: transparent;
  --chip-gap:    calc(16 / var(--screensize) * 100vw);
  --chip-bottom: calc(32 / var(--screensize) * 100vw);
  --chip-h:      calc(127 / var(--screensize) * 100vw);
  min-height: calc(
      var(--chip-h) * 3 + var(--chip-gap) * 2 + var(--chip-bottom)
      + calc(270 / var(--screensize) * 100vw) /* ориентир на высоту синей плашки */
  );
}
.result-card__left {
  /* padding: calc(32 / var(--screensize) * 100vw) calc(32 / var(--screensize) * 100vw) calc(84 / var(--screensize) * 100vw) calc(32 / var(--screensize) * 100vw);
  flex: 0 0 35%; */
  grid-row: 1; grid-column: 1;
  z-index: 2;
  padding: calc(32 / var(--screensize) * 100vw);
  background: #323FA6;
  color: #fff;
}
.result-card__title {
  line-height: calc(26 / var(--screensize) * 100vw);
  font-size: calc(20 / var(--screensize) * 100vw);
  letter-spacing: calc(-1.2 / var(--screensize) * 100vw);
  font-weight: 500;
}
.result-card__lead {
  font-size: calc(16 / var(--screensize) * 100vw);
  line-height: calc(24 / var(--screensize) * 100vw);
  letter-spacing: calc(-0.32 / var(--screensize) * 100vw);
  font-weight: 400;
}
.result-card__stats {
  /* left: calc(32 / var(--screensize) * 100vw);
  right: calc(32 / var(--screensize) * 100vw);
  bottom: calc(58 / var(--screensize) * 100vw);
  gap: calc(16 / var(--screensize) * 100vw);
  flex-direction: column; */
  position: absolute;
  left:  calc(32 / var(--screensize) * 100vw);
  right: calc(32 / var(--screensize) * 100vw);
  bottom: var(--chip-bottom);
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: var(--chip-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}
.result-card__right{
  grid-row: 1 / -1; grid-column: 1;
  z-index: 1;
  background-position: center;
  background-size: cover;
}
.result-chip {
  /* gap: calc(16 / var(--screensize) * 100vw);
  width: calc(247 / var(--screensize) * 100vw);
  min-height: calc(127 / var(--screensize) * 100vw);
  height: auto;
  padding: calc(20 / var(--screensize) * 100vw) calc(24 / var(--screensize) * 100vw); */
  width: 100%;
  min-height: var(--chip-h);
  padding: calc(20 / var(--screensize) * 100vw) calc(24 / var(--screensize) * 100vw);
  gap: calc(16 / var(--screensize) * 100vw);
  color: #fff;
  background: rgba(255,255,255,.20);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: calc(16 / var(--screensize) * 100vw);
}
.result-chip__value {
  font-weight: 500;
  font-size: calc(24 / var(--screensize) * 100vw);
  line-height: calc(31.2 / var(--screensize) * 100vw);
  letter-spacing: calc(-1.2 / var(--screensize) * 100vw);
}
.result-chip__label {
  font-size: calc(14 / var(--screensize) * 100vw);
  line-height: 140%;
  letter-spacing: calc(-0.36 / var(--screensize) * 100vw);
  opacity: 1;
}


.project-card {
  height: calc(553 / var(--screensize) * 100vw);
  width: calc(553 / var(--screensize) * 100vw)
}
.project-card__body {
  left: calc(48 / var(--screensize) * 100vw);
  right: calc(48 / var(--screensize) * 100vw);
  bottom: calc(40 / var(--screensize) * 100vw);
}
.project-card__text {
  font-size: calc(18 / var(--screensize) * 100vw);
}

/* 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); border-radius: 12px; }

  /* 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;}

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

  /* ====== 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: clamp(16px, calc(56 / var(--screensize) * 100vw), 48px);
      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: 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: 1270px) {
  .footer .header__icon{
    width:  calc(20 / var(--screensize) * 100vw);
    height: calc(14 / var(--screensize) * 100vw);
    top: calc(-2 / var(--screensize) * 100vw);
  }
}

@media (min-width: 961px) and (max-width: 1090px) {
  .header__icon {
      top: calc(-2 / var(--screensize) * 100vw);
  }
  
  .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: 850px) {
  .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: 790px) {
  .header__icon, .burger__icon {
      top: calc(-2 / var(--screensize) * 100vw);
  }
}

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

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

@media (min-width: 431px) and (max-width: 620px) {
.header__icon, .burger__icon {
    top: calc(-6 / 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: 560px) {
  .header__icon, .burger__icon {
      top: calc(-8 / var(--screensize) * 100vw);
  }
}

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

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

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

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

@media (min-width: 551px) and (max-width: 700px) {
  .fast-hero__title-text {
    letter-spacing: calc(-0.32 / var(--screensize) * 100vw);
    line-height: calc(19 / var(--screensize) * 100vw);
    font-size: calc(15 / var(--screensize) * 100vw);
  }
  .separator__br {
    margin: calc(-5 / var(--screensize) * 100vw);
  }
}

@media (min-width: 431px) and (max-width: 550px) {
  .fast-hero__title-text {
    letter-spacing: calc(-0.32 / var(--screensize) * 100vw);
    line-height: calc(19 / var(--screensize) * 100vw);
    font-size: calc(14 / var(--screensize) * 100vw);
  }
  .separator__br {
    margin: calc(-15 / var(--screensize) * 100vw);
  }
}

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

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

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

@media (min-width: 1060px) and (max-width: 1120px) {
  .header__icon, .header__icon-sub {
    top: calc(0 / var(--screensize) * 100vw);
  }
  .footer .header__icon {
    top: calc(-4 / var(--screensize) * 100vw);
  }
}