/* ==========================================================================
   ГЛАВНАЯ СТРАНИЦА — точная вёрстка по утверждённым макетам
   fixes/Главная — Desktop.pdf  (артборд 1440 × 9932, поля 60, контент 1320)
   fixes/Главная — Mobile.pdf   (артборд  393 × 12013, поля 12, контент  369)
   Все размеры взяты из геометрии PDF. Мобильная раскладка — базовая,
   десктопная включается с 1024px.
   ========================================================================== */

.hm{
  --w:1320px;         /* контент десктопа */
  --gut:12px;         /* поля мобильной версии */
  --line:#505050;     /* background_dark_grey — рамки макета */
  --grey:#8c8c8c;
}
.hm-shell{width:100%;margin-inline:auto;padding-inline:var(--gut)}
.hm{overflow-x:clip}

/* ---------- Общие элементы макета ---------- */
.hm-eyebrow{display:none;
  font-size:16px;font-weight:400;line-height:1;letter-spacing:.05em;
  text-transform:uppercase;color:#fff;
}
.hm-h1{font-size:32px;font-weight:700;line-height:33px;letter-spacing:-.02em;text-transform:uppercase;color:#fff}
.hm-h2{font-size:20px;font-weight:700;line-height:20px;text-transform:uppercase;color:#fff}
.hm-sub{font-size:16px;font-weight:600;line-height:18px;letter-spacing:-.02em;text-transform:uppercase;color:#fff}
.hm-text{font-size:16px;font-weight:400;line-height:16.8px;color:#fff}

/* Кнопка-рамка макета (btn_1 / state=Default, for=stroke) */
.hm-btn{
  display:flex;align-items:center;justify-content:center;
  width:100%;height:56px;padding:0 20px;
  border:1px solid var(--line);background:transparent;
  font-size:14px;font-weight:700;line-height:1;letter-spacing:.02em;
  text-transform:uppercase;color:#fff;text-align:center;cursor:pointer;
  transition:background-color .35s var(--ease),border-color .35s var(--ease),color .35s var(--ease);
}
.hm-btn:hover,.hm-btn:focus-visible{background:#fff;border-color:#fff;color:#121212}

/* Рамка-бокс */
.hm-box{border:1px solid var(--line);background:transparent}
/* Принудительные переносы строк по макету (на мобиле — обычный поток) */
.hm-l{display:inline}

/* ==========================================================================
   MOBILE (базовая раскладка, макет 393px)
   ========================================================================== */

/* ---------- Герой ---------- */
.hm-hero{position:relative;height:770px;margin-top:85px;overflow:hidden;isolation:isolate}
.hm-hero__bg{position:absolute;inset:0;z-index:0}
.hm-hero__bg img{width:100%;height:100%;object-fit:cover;object-position:39.7% 50%}
.hm-hero__bg picture{display:block;height:100%}
/* затемнение по макету мобильной версии */
.hm-hero__bg::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.56)}
.hm-hero__in{
  position:absolute;inset:0;z-index:2;
  padding:0 var(--gut);display:flex;flex-direction:column;
}
.hm-hero__grid,.hm-hero__copy{display:contents}
.hm-hero__title{order:1;font-size:32px;font-weight:700;line-height:33px;letter-spacing:-.02em;
  text-transform:uppercase;color:#fff;margin-top:25px}
.hm-hero__sub{order:2;margin-top:13.2px;font-size:16px;font-weight:600;line-height:18px;
  letter-spacing:-.02em;text-transform:uppercase;color:#fff}
.hm-hero__facts{order:3;margin-top:33.7px;display:flex;flex-direction:column}
.hm-hero__facts li{font-size:14px;font-weight:400;line-height:16px;color:#fff}
.hm-hero__facts li:nth-child(1){order:1}
.hm-hero__facts li:nth-child(2){order:3}
.hm-hero__facts li:nth-child(3){order:2}
.hm-hero__foot{order:4;margin-top:auto;padding-bottom:36px}
.hm-hero__lead{font-size:16px;font-weight:400;line-height:18.7px;color:var(--grey)}
.hm-hero__lead b{font-weight:700;color:#fff}
.hm-hero__cta{margin-top:25.5px}

/* ---------- О компании ---------- */
.hm-about{padding-top:120px}
.hm-about__title{font-size:32px;font-weight:700;line-height:33px;letter-spacing:-.02em;
  text-transform:uppercase;color:#fff}
.hm-about__text{margin-top:11.8px;font-size:16px;line-height:16.8px;color:#fff}
.hm-about__eyebrow{display:none}
.hm-about__drop{
  position:relative;margin:24px auto 0;width:317px;max-width:100%;aspect-ratio:1;
  border:1px solid rgba(255,255,255,.55);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}
.hm-about__drop img{position:absolute;left:50%;top:-11.7%;height:121.5%;width:auto;max-width:none;
  transform:translateX(-50%);filter:saturate(.3) brightness(1.04)}
.hm-nums{margin-top:22px;display:flex;flex-direction:column;gap:6px}
.hm-nbox{
  display:flex;flex-direction:column;justify-content:space-between;
  height:192px;padding:16px;border:1px solid var(--line);
}
.hm-nbox b{font-size:96px;font-weight:700;line-height:.72;letter-spacing:-.04em;color:#fff;
  font-variant-numeric:tabular-nums;display:block}
.hm-nbox span{font-size:16px;font-weight:400;line-height:16.8px;color:#fff}

/* ---------- Решения ---------- */
.hm-sol{padding-top:119px}
.hm-sol__title{font-size:32px;font-weight:700;line-height:33px;letter-spacing:-.02em;
  text-transform:uppercase;color:#fff}
.hm-sol__list{margin-top:32px;display:flex;flex-direction:column;gap:63px}
.hm-srow{display:flex;flex-direction:column}
.hm-srow__media{order:-1;display:block;height:344px;overflow:hidden;background:#1e1e1e}
.hm-srow__media img{width:100%;height:100%;object-fit:cover}
.hm-srow__h{margin-top:15.83px;font-size:20px;font-weight:700;line-height:20px;
  text-transform:uppercase;color:#fff}
.hm-srow__p{margin-top:7px;max-width:270px;font-size:16px;font-weight:400;line-height:16.8px;color:#fff}
.hm-srow__btn{margin-top:19.5px}
.hm-sol__all{display:none}

/* ---------- Как мы реализуем проекты ---------- */
.hm-how{padding-top:119px}
.hm-how__title{font-size:32px;font-weight:700;line-height:33px;letter-spacing:-.02em;
  text-transform:uppercase;color:#fff}
.hm-how__sub{margin-top:13.8px;font-size:16px;font-weight:600;line-height:16.8px;
  letter-spacing:-.02em;text-transform:uppercase;color:#fff}
.hm-how__media{margin-top:39.7px;height:542px;overflow:hidden;background:#1e1e1e}
.hm-how__media img{width:100%;height:100%;object-fit:cover}
.hm-how__btn{margin-top:11px}

/* ---------- Кейсы ---------- */
.hm-cases{padding-top:119px}
.hm-cases__title{font-size:32px;font-weight:700;line-height:33px;letter-spacing:-.02em;
  text-transform:uppercase;color:#fff}
.hm-cases__sub{margin-top:13.8px;font-size:16px;font-weight:600;line-height:16.8px;
  letter-spacing:-.02em;text-transform:uppercase;color:#fff}
.hm-pgrid{margin-top:29.9px;display:flex;flex-direction:column;gap:10px}
.hm-pcard{display:flex;flex-direction:column;min-height:512px;padding:16px;border:1px solid var(--line)}
.hm-pcard__media{height:220px;overflow:hidden;background:#1e1e1e}
.hm-pcard__media img{width:100%;height:100%;object-fit:cover}
.hm-tag{
  margin-top:11px;display:flex;align-items:center;justify-content:center;
  height:27px;border:1px solid var(--line);background:#fff;color:#121212;
  font-size:14px;font-weight:500;line-height:1;
}
.hm-pcard__h{margin-top:10.9px;font-size:24px;font-weight:700;line-height:23px;
  text-transform:uppercase;color:#fff}
.hm-pcard__meta{margin-top:5.9px;font-size:16px;font-weight:400;line-height:21px;color:#fff}
.hm-pcard__meta span{display:block}
.hm-pcard__btn{margin-top:auto;padding-top:16px}
.hm-pcard__btn .hm-btn{height:48px}
.hm-pcard--cta{order:9;margin-top:20px;height:56px;min-height:0;padding:0;
  align-items:center;justify-content:center;text-align:center}
.hm-pcard--cta span{font-size:14px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#fff}
.hm-cases__all{margin-top:30px}

/* ---------- Партнёры ---------- */
.hm-part{padding-top:119px}
.hm-part__title{font-size:32px;font-weight:700;line-height:33px;letter-spacing:-.02em;
  text-transform:uppercase;color:#fff}
.hm-part__cap{margin-top:32.3px;font-size:16px;font-weight:600;line-height:1;letter-spacing:-.02em;
  text-transform:uppercase;color:#fff;text-align:center}
.hm-part__row{
  margin-top:9.7px;display:flex;gap:18px;overflow-x:auto;scrollbar-width:none;
  padding-inline:var(--gut);margin-inline:calc(-1 * var(--gut));
}
.hm-part__row::-webkit-scrollbar{display:none}
.hm-marquee{display:flex;gap:18px}
.hm-part__cap--eq{margin-top:23.3px}
.hm-logo{
  flex:0 0 317px;height:184px;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;padding:16px;
}
.hm-logo img{width:180px;height:auto;max-height:100%;object-fit:contain;
  filter:brightness(0) invert(1)}
.hm-logo--tone img{filter:grayscale(1) brightness(1.7);opacity:.85}
.hm-logo--plain img{filter:grayscale(1)}

/* ---------- Команда ---------- */
.hm-team{padding-top:113px}
.hm-team__title{font-size:32px;font-weight:700;line-height:33px;letter-spacing:-.02em;
  text-transform:uppercase;color:#fff}
.hm-team__sub{margin-top:11.7px;font-size:16px;font-weight:600;line-height:21px;
  letter-spacing:-.02em;text-transform:uppercase;color:#fff}
.hm-team__grid{margin-top:20.7px;display:flex;flex-direction:column;gap:10px}
.hm-tcard{padding:16px;border:1px solid var(--line);display:flex;flex-direction:column}
.hm-tcard__media{overflow:hidden;background:#1e1e1e;height:286px}
.hm-tcard--lead .hm-tcard__media{height:413px}
.hm-tcard--last .hm-tcard__media{height:309px}
.hm-tcard__media img{width:100%;height:100%;object-fit:cover}
.hm-tcard__h{margin-top:11.4px;font-size:24px;font-weight:700;line-height:24px;
  text-transform:uppercase;color:#fff}
.hm-tcard__p{margin-top:5.4px;font-size:16px;font-weight:400;line-height:21px;color:#fff}
.hm-team__grid .hm-tcard:nth-child(1){order:2}
.hm-team__grid .hm-tcard:nth-child(2){order:1}
.hm-team__grid .hm-tcard:nth-child(3){order:0}

/* ---------- География ---------- */
.hm-geo{padding-top:112.7px;position:relative}
.hm-geo__in{display:flex;flex-direction:column}
.hm-geo__body{order:1}
.hm-map{order:2}
.hm-geo__title{font-size:32px;font-weight:700;line-height:33px;letter-spacing:-.02em;
  text-transform:uppercase;color:#fff}
.hm-geo__sub{margin-top:11.7px;font-size:16px;font-weight:600;line-height:21px;
  letter-spacing:-.02em;text-transform:uppercase;color:#fff}
.hm-map{position:relative;margin:-11.8px calc(-1 * var(--gut)) 0;height:489px;overflow:hidden}
.hm-map__inner{position:absolute;top:0;left:calc(50% - 452px);width:771px;height:489px}
.hm-map__img{position:absolute;inset:0;width:100%;height:100%;max-width:none}
.hm-pin{position:absolute;color:#fff;font-size:16px;line-height:1;white-space:nowrap}
.hm-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:#fff}
.hm-dot--ring{box-shadow:0 0 0 1px var(--line)}
.hm-pin--astana{left:60.05%;top:19.92%}
.hm-dot--astana{left:63.29%;top:23.72%}
.hm-pin--almaty{left:63.94%;top:82.74%}
.hm-dot--almaty{left:67.47%;top:86.4%}

/* ---------- Форма ---------- */
.hm-form{padding-top:119px}
.hm-form__title{font-size:32px;font-weight:700;line-height:33px;letter-spacing:-.02em;
  text-transform:uppercase;color:#fff}
.hm-form__sub{margin-top:11.7px;font-size:16px;font-weight:600;line-height:21px;
  letter-spacing:-.02em;text-transform:uppercase;color:#fff}
.hm-fields{margin-top:27.5px;display:flex;flex-direction:column;gap:6px}
.hm-field--name{order:1}
.hm-field--city{order:2}
.hm-field--phone{order:3}
.hm-field--name2{display:none}
textarea.hm-field{order:4}
.hm-field{
  width:100%;height:38px;padding:0 12px;border:0;background:#fff;color:#121212;
  font-size:14px;font-weight:700;line-height:1;letter-spacing:.02em;text-transform:uppercase;
  border-radius:0;-webkit-appearance:none;appearance:none;
}
.hm-field::placeholder{color:#121212;opacity:1}
textarea.hm-field{height:107px;padding:12px;resize:vertical;text-transform:uppercase}
.hm-field:focus-visible{outline:2px solid #fff;outline-offset:2px}
.hm-form__body{position:relative}
.hm-form__actions{margin-top:16px;display:flex;flex-direction:column;gap:4px}
.hm-form__note{position:absolute;left:0;right:0;top:calc(100% + 258px)}
.hm-form__body .form__ok{position:absolute;left:0;right:0;top:calc(100% + 310px)}
.hm-contacts{margin-top:39px;padding:16px;border:1px solid var(--line);
  min-height:199px;display:flex;flex-direction:column;justify-content:space-between}
.hm-contacts h3{font-size:24px;font-weight:700;line-height:24px;text-transform:uppercase;color:#fff}
.hm-contacts ul{margin-top:24px}
.hm-contacts a{display:block;font-size:16px;font-weight:400;line-height:21px;color:#fff}
.hm-contacts a:hover{text-decoration:underline}
.hm-form__note{margin-top:20px;font-size:13px;line-height:1.4;color:var(--grey)}
.hm-form__note a{text-decoration:underline;display:inline-block;padding:6px 0}
.hm-form__end{height:119px}

/* ==========================================================================
   DESKTOP (макет 1440px)
   ========================================================================== */
@media (min-width:1024px){
  .hm{--gut:60px}
  .hm-shell{max-width:calc(var(--w) + 2 * var(--gut))}

  /* --- Герой --- */
  .hm-hero{height:944px;margin-top:0}
  .hm-hero__bg img{object-position:100% 50%}
  .hm-hero__bg::after{display:none}
  .hm-hero__in{
    max-width:calc(var(--w) + 2 * var(--gut));margin-inline:auto;
    left:0;right:0;display:block;
  }
  .hm-hero__grid{display:grid;grid-template-columns:670fr 650fr;height:100%}
  .hm-hero__copy{display:block}
  .hm-eyebrow{display:block}
  .hm-hero__copy{grid-column:2;padding-top:244.8px}
  .hm-hero__title{margin-top:0;font-size:48px;line-height:50px;letter-spacing:0}
  .hm-hero__title .hm-l,.hm-hero__facts .hm-l,.hm-tcard__h .hm-l{display:block}
  .hm-tcard--lead .hm-tcard__h .hm-l{display:inline}
  .hm-hero__sub{margin-top:20px;font-size:20px;line-height:24px;letter-spacing:-.01em;max-width:490px}
  .hm-hero__foot{margin-top:90.5px;padding-bottom:0;width:427px;margin-left:auto}
  .hm-hero__lead{font-size:20px;line-height:23px}
  .hm-hero__cta{margin-top:40.7px}
  .hm-hero__cta .hm-btn{height:48px;font-size:16px}
  .hm-hero__facts{
    position:absolute;left:60px;right:60px;bottom:83.6px;
    display:grid;grid-template-columns:547.5fr 452.5fr 316fr;
    padding-left:4px;margin-top:0;
  }
  .hm-hero__facts li{font-size:24px;line-height:24px;font-weight:400;text-transform:uppercase}
  .hm-hero__facts li:nth-child(1),
  .hm-hero__facts li:nth-child(2),
  .hm-hero__facts li:nth-child(3){order:0}

  /* --- О компании --- */
  .hm-about{padding-top:0}
  .hm-about__head{position:relative;padding-top:108.3px;text-align:center}
  .hm-about__eyebrow{display:block;position:absolute;left:0;top:108.3px;text-align:left}
  .hm-about__title{font-size:48px;line-height:50px;letter-spacing:0;margin:-2.5px auto 0;max-width:702px}
  .hm-about__text{margin:12.5px auto 0;max-width:460px;font-size:20px;line-height:21px}
  .hm-about__grid{position:relative;height:402px;margin-top:41.7px}
  .hm-about__drop{position:absolute;left:37.95%;top:32px;width:24%;margin:0}
  .hm-nums{margin:0;display:block}
  .hm-nbox{position:absolute;width:24%;height:192px}
  .hm-nbox--1{left:-.08%;top:0}
  .hm-nbox--2{left:8.03%;top:210px}
  .hm-nbox--3{left:67.58%;top:210px}
  .hm-nbox--4{left:75.98%;top:0}
  .hm-nbox span{font-size:20px;line-height:21px}

  /* --- Заголовок секции: подпись слева + текст в правой колонке --- */
  .hm-head{display:grid;grid-template-columns:670fr 650fr;align-items:start}
  .hm-head__eyebrow{grid-column:1;padding-top:1.5px}
  .hm-head__body{grid-column:2}
  .hm-head__title{margin-top:1.5px;font-size:48px;font-weight:700;line-height:46px;text-transform:uppercase;color:#fff}
  .hm-team .hm-head__title{margin-top:-1.5px}

  /* --- Решения --- */
  .hm-sol{padding-top:161.3px}
  .hm-sol__title{font-size:48px;line-height:46px;letter-spacing:0;max-width:460px}
  .hm-sol__list{margin-top:28.2px;gap:25px}
  .hm-srow{display:grid;grid-template-columns:minmax(0,316fr) minmax(0,985fr);gap:19px;align-items:start}
  .hm-srow__media{order:0}
  .hm-srow--first{margin-bottom:21px}
  .hm-srow__txt{grid-column:1;grid-row:1}
  .hm-srow__media{grid-column:2;grid-row:1;height:527px}
  .hm-srow__h{margin-top:-.5px;font-size:32px;line-height:30px}
  .hm-srow__p{margin-top:12.8px;max-width:none;font-size:20px;line-height:21px}
  .hm-srow__btn{margin-top:18.7px}
  .hm-srow__btn .hm-btn{height:38px;font-size:16px}
  .hm-sol__all{display:block;margin-top:24px}
  .hm-sol__all .hm-btn{height:38px;font-size:16px}

  /* --- Как мы реализуем проекты --- */
  .hm-how{padding-top:189.3px}
  .hm-how__title{font-size:48px;line-height:46px;letter-spacing:0}
  .hm-how__sub{margin-top:6.5px;font-size:20px;line-height:23px;max-width:360px}
  .hm-how__media{margin-top:21.7px;height:auto;aspect-ratio:1320/743}
  .hm-how__btn{margin-top:24px}
  .hm-how__btn .hm-btn{height:38px;font-size:16px}

  /* --- Кейсы --- */
  .hm-cases{padding-top:189.3px}
  .hm-cases__title{font-size:48px;line-height:46px;letter-spacing:0}
  .hm-cases__sub{margin-top:6.5px;font-size:20px;line-height:23px;max-width:380px}
  .hm-pgrid{margin-top:22.7px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
  .hm-pcard{height:484px;min-height:0}
  .hm-pcard__media{height:220px}
  .hm-tag{margin-top:7.1px;height:26px}
  .hm-pcard__h{margin-top:6px;line-height:23px}
  .hm-pcard__meta{margin-top:15.3px;line-height:23px}
  .hm-pcard__btn{padding-top:0}
  .hm-pcard__btn .hm-btn{height:38px;font-size:16px}
  .hm-pcard--cta{order:0;margin-top:0;height:auto;padding:16px}
  .hm-pcard--cta span{font-size:16px}
  .hm-cases__all{display:none}

  /* --- Партнёры --- */
  .hm-part{padding-top:126.3px}
  .hm-part__title{font-size:48px;line-height:46px;letter-spacing:0}
  .hm-part__cap{margin-top:37px;font-size:20px;line-height:20px;letter-spacing:0;
    text-align:left;font-weight:700}
  
  .hm-part__row{margin-top:15.2px;gap:18px;overflow:hidden;padding-inline:0;margin-inline:0}
  .hm-part__row--dev{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
  .hm-part__row--dev .hm-logo{flex:none;width:100%}
  .hm-part__cap--eq{margin-top:31.8px}
  .hm-logo{height:185px}
  .hm-part__row--eq{position:relative;margin-inline:calc(-1 * var(--gut));
    padding-inline:0;overflow:hidden}
  .hm-marquee{display:flex;gap:18px;width:max-content;animation:hmSlide 42s linear infinite}
  .hm-part__row--eq:hover .hm-marquee{animation-play-state:paused}
  @media (prefers-reduced-motion:reduce){.hm-marquee{animation:none}}

  /* --- Команда --- */
  .hm-team{padding-top:192.3px}
  .hm-team__title{font-size:48px;line-height:46px;letter-spacing:0}
  .hm-team__sub{margin-top:14.5px;font-size:20px;line-height:23px;max-width:452px}
  .hm-team__grid{
    margin-top:31.7px;display:grid;gap:18px;
    grid-template-columns:minmax(0,318fr) minmax(0,318fr) minmax(0,652fr);
    align-items:end;
  }
  .hm-team__grid .hm-tcard:nth-child(1){order:0}
  .hm-team__grid .hm-tcard:nth-child(2){order:0}
  .hm-team__grid .hm-tcard:nth-child(3){order:0}
  .hm-tcard{height:404px}
  .hm-tcard--lead{height:705px;align-self:end}
  .hm-tcard__media{height:287px}
  .hm-tcard--lead .hm-tcard__media{height:580px}
  .hm-tcard--last .hm-tcard__media{height:287px}
  .hm-tcard__h{margin-top:14.7px;font-size:24px;line-height:23px}
  .hm-tcard--lead .hm-tcard__h{margin-top:1.5px;font-size:48px;line-height:46px}
  .hm-tcard__p{margin-top:6.6px;font-size:20px;line-height:21px}
  .hm-tcard--lead .hm-tcard__p{margin-top:3.5px}

  /* --- География --- */
  .hm-geo{padding-top:0;height:676px}
  .hm-geo__in{display:block}
  .hm-geo__body{order:0}
  .hm-map{order:0}
  .hm-geo__in{position:relative;height:100%;width:100%}
  .hm-geo__body{position:absolute;left:50.76%;right:0;top:341.8px}
  .hm-geo__title{max-width:558px}
  .hm-geo__title{font-size:48px;line-height:46px;letter-spacing:0}
  .hm-geo__sub{margin-top:4.5px;font-size:20px;line-height:23px;max-width:360px}
  .hm-map{position:absolute;left:-.68%;top:187px;width:58.41%;height:489px;margin:0;overflow:visible}
  .hm-tcard--last .hm-tcard__media{height:287px}
  .hm-map__inner{position:absolute;inset:0;width:100%;height:100%;left:0}

  /* --- Форма --- */
  .hm-form{padding-top:194.9px}
  .hm-form__in{display:grid;grid-template-columns:670fr 650fr;align-items:start}
  .hm-form__head{grid-column:2;grid-row:1}
  .hm-form__title{font-size:48px;line-height:46px;letter-spacing:0}
  .hm-form__sub{margin-top:11.5px;font-size:20px;line-height:23px;max-width:430px}
  .hm-form__body{grid-column:2;grid-row:2;position:relative}
  .hm-form__note,.hm-form__body .form__ok{position:absolute;left:0;right:0}
  .hm-form__note{top:calc(100% + 20px)}
  .hm-form__body .form__ok{top:calc(100% + 60px)}
  .hm-form__aside{grid-column:1;grid-row:1/span 2;position:relative}
  .hm-fields{margin-top:27.7px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
  .hm-field{height:40px;font-size:16px;padding:0 16px}
  .hm-field--name{order:0}.hm-field--city{order:0}.hm-field--phone{order:0}
  .hm-field--name2{display:block;order:0}
  textarea.hm-field{grid-column:1/-1;height:107px;margin-top:4px;padding:14px 16px}
  .hm-form__actions{margin-top:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .hm-form__actions .hm-btn{height:38px;font-size:16px}
  .hm-contacts{position:absolute;left:-.15%;top:130.7px;width:47.31%;height:201px;
    margin:0;min-height:0}
  .hm-contacts ul{margin-top:0}
  .hm-contacts a{line-height:24px}
  .hm-form__end{height:189px}
}

/* ---------- Планшет 600–1023px: мобильная раскладка, но без слишком длинных строк ---------- */
@media (min-width:600px) and (max-width:1023px){
  .hm-shell{max-width:744px}
  .hm-hero__in{max-width:744px;margin-inline:auto;left:0;right:0}
  .hm-hero__title{font-size:44px;line-height:46px}
  .hm-hero__sub{font-size:18px;line-height:22px;max-width:34ch}
  .hm-hero__lead,.hm-hero__facts li{max-width:52ch}
  .hm-about__title,.hm-sol__title,.hm-how__title,.hm-cases__title,
  .hm-part__title,.hm-team__title,.hm-geo__title,.hm-form__title{font-size:40px;line-height:42px}
  .hm-about__text,.hm-how__sub,.hm-cases__sub,.hm-team__sub,.hm-geo__sub,.hm-form__sub{max-width:60ch}
  .hm-srow__media{height:400px}
  .hm-pgrid,.hm-team__grid,.hm-fields,.hm-form__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .hm-pcard--cta{grid-column:1/-1;margin-top:8px}
  .hm-tcard--lead{grid-column:1/-1}
  .hm-tcard--lead .hm-tcard__media{height:520px}
  textarea.hm-field{grid-column:1/-1}
  .hm-contacts{max-width:360px}
}

/* ---------- Планшет: не даём картам/логотипам расползаться ---------- */
@media (min-width:1024px) and (max-width:1279px){
  .hm-hero__facts li{font-size:20px;line-height:22px}
  .hm-tcard--lead .hm-tcard__h{font-size:36px;line-height:36px}
}

@keyframes hmSlide{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 9px))}}
