/* ============================================================
   theme.css — дополнения WEBOX поверх оригинального стиля сайта.
   Оригинальные normalize/style/media НЕ трогаем. Здесь:
   1) новый подвал, 2) анимация + параллакс Hero.
   ============================================================ */

/* визуально скрытый заголовок (H1 для SEO там, где нет видимого) */
.tu-vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* меню в шапке (десктоп 12px; мобильный оверлей оставляем 20px) */
.nav__link{font-size:13px;white-space:nowrap}
@media (min-width:769px){ .nav__link{font-size:12px} .nav__list{gap:13px} }   /* ужато: 8 пунктов + «Услуги» + селектор города в строку */
.header__link{white-space:nowrap}                   /* телефон/почта не переносим */
@media (min-width:769px){ .header__logo{margin-right:24px} }   /* было 163px; справа от лого — селектор города */
@media (max-width:768px){ .nav__link{font-size:20px} }

/* Выпадающее «Услуги» */
.nav__item_has-sub{position:relative}
.nav__link_sub::after{content:'▾';margin-left:5px;font-size:.78em;color:#f13613;vertical-align:middle}
/* невидимый «мостик» под пунктом — чтобы курсор доходил до списка, не теряя hover */
.nav__item_has-sub::after{content:'';position:absolute;left:-10px;right:-10px;top:100%;height:30px}
.nav__sub{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(6px);
  background:#0d0d0d;border:1px solid #262626;border-radius:10px;padding:10px;min-width:248px;
  display:flex;flex-direction:column;gap:2px;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s;
  z-index:60;box-shadow:0 18px 44px -12px rgba(0,0,0,.75)}
.nav__item_has-sub:hover .nav__sub{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.nav__sub-link{color:#cfcfcf;text-decoration:none;font-size:14px;font-weight:400;padding:9px 12px;border-radius:6px;white-space:nowrap;transition:background .15s,color .15s}
.nav__sub-link:hover{background:#1a1a1a;color:#f13613}
@media (max-width:768px){
  .nav__item_has-sub::after{display:none}
  /* подменю «Услуги» — по центру, как остальные пункты */
  .nav__item_has-sub{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%}
  .nav__sub{position:static;top:auto;transform:none !important;opacity:1;visibility:visible;background:transparent;
    border:0;box-shadow:none;padding:4px 0 6px;min-width:0;width:100%;align-items:center;text-align:center;gap:0}
  .nav__sub-link{font-size:15px;padding:6px;color:#9e9e9e;text-align:center}
  .nav__link_sub::after{display:none}
  /* при открытом меню прячем бургер, чтобы он не просвечивал из-под крестика */
  .header__burger.active{opacity:0}
}

/* ===== ABOUT: вид пиксель-в-пиксель как в оригинале =====
   Заголовки блоков — художественная композиция (текст сплавлен с фото/декором),
   запечён в фоновые картинки секций. Восстановлены ОРИГИНАЛЬНЫЕ картинки (без артефактов).
   Текстовые <h3> оставлены для SEO, но визуально скрыты — вид 1:1 с оригиналом. */
/* ТОЛЬКО ДЕСКТОП: заголовки запечены в картинку → текстовый <h3> скрываем (для SEO).
   На мобиле (≤768) НЕ трогаем — там у оригинала заголовки видимым текстом (media.css),
   и их margin-bottom формирует отступ описания от схемы. */
@media (min-width:769px){
  .first__title,.second__title,.third__title,.fourth__title,.fifth__title,.sixth__title{
    display:block !important;position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;
    overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
}

/* ===== Юридические/текстовые страницы (политика и т.п.) ===== */
.legal{background:#000;color:#cfcfcf;font-family:'Benzin',sans-serif;padding:170px 20px 90px}
.legal__in{max-width:880px;margin:0 auto}
.legal__title{font-weight:800;font-size:clamp(28px,4vw,46px);line-height:1.1;text-transform:uppercase;color:#fff;margin:0 0 30px}
.legal__content{font-size:16px;line-height:1.75}
.legal__content h2{font-weight:700;font-size:21px;text-transform:uppercase;letter-spacing:.01em;color:#fff;margin:34px 0 12px;padding-left:14px;border-left:3px solid #f13613}
.legal__content h3{font-weight:700;font-size:17px;color:#fff;margin:24px 0 10px}
.legal__content p{font-weight:400;font-size:16px;line-height:1.75;color:#bdbdbd;margin:0 0 16px}
.legal__content ul{list-style:none;margin:0 0 18px;padding:0}
.legal__content li{position:relative;padding-left:22px;margin-bottom:9px;color:#bdbdbd;line-height:1.6;font-weight:400}
.legal__content li::before{content:'';position:absolute;left:0;top:11px;width:9px;height:2px;background:#f13613}
.legal__content a{color:#f13613;text-decoration:none}
.legal__content a:hover{text-decoration:underline}
.legal__content em{color:#8a8a8a;font-style:italic}
@media (max-width:600px){ .legal{padding:120px 16px 60px} }

/* ===== Cookie consent (тёмный стиль t-union) ===== */
.cookie-consent{position:fixed;bottom:20px;left:20px;max-width:360px;background:#111;border:1px solid #2a2a2a;
  padding:18px 20px;box-shadow:0 14px 40px -10px rgba(0,0,0,.7);border-radius:12px;font-size:14px;line-height:1.5;
  z-index:9999;display:none;font-family:'Benzin',sans-serif;color:#cfcfcf}
.cookie-consent p{margin:0 0 14px;color:#cfcfcf}
.cookie-consent a{color:#f13613;text-decoration:none;cursor:pointer}
.cookie-consent-actions{display:flex;gap:10px}
.cookie-consent button{background:#f13613;color:#fff;border:none;border-radius:7px;padding:10px 18px;cursor:pointer;
  font-family:inherit;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}
.cookie-consent button:hover{filter:brightness(1.1)}
.cookie-consent .cookie-consent-decline{background:transparent;color:#cfcfcf;border:1px solid #3a3a3a}
.cookie-consent .cookie-consent-decline:hover{border-color:#f13613;color:#f13613;filter:none}
.cookie-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:10000}
.cookie-modal{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:460px;
  max-width:calc(100% - 40px);max-height:calc(100% - 60px);color:#cfcfcf;background:#111;border:1px solid #2a2a2a;
  padding:30px;box-shadow:0 20px 50px -12px rgba(0,0,0,.8);border-radius:12px;font-size:14px;line-height:1.6;
  overflow-y:auto;z-index:10001;font-family:'Benzin',sans-serif}
.cookie-modal a{color:#f13613;text-decoration:none}
.cookie-modal .close-btn{position:absolute;top:10px;right:12px;color:#9e9e9e;background:none;border:none;font-size:24px;line-height:1;cursor:pointer}
.cookie-modal .close-btn:hover{color:#fff}
@media (max-width:600px){ .cookie-consent{left:10px;right:10px;bottom:10px;max-width:none} }

/* ===== Форма заявки на главной ===== */
.home-lead{background:#0a0a0a;border-top:1px solid #1d1d1d;border-bottom:1px solid #1d1d1d;padding:64px 0;font-family:'Benzin',sans-serif}
.home-lead__in{display:grid;grid-template-columns:1fr 1.1fr;gap:52px;align-items:center}
.home-lead__title{margin:0 0 14px;color:#fff;font-size:34px;font-weight:800;line-height:1.05;text-transform:uppercase}
.home-lead__desc{max-width:480px;color:#bdbdbd;font-size:15px;line-height:1.6}
.home-lead__form{display:flex;gap:12px}
.home-lead__input{background:#111;border:1px solid #333;color:#fff;border-radius:8px;padding:16px 18px;font-family:inherit;font-size:15px;outline:none}
.home-lead__input:focus{border-color:#f13613}
.home-lead__btn{background:#f13613;color:#fff;border:none;border-radius:8px;padding:16px 26px;font-family:inherit;font-weight:700;font-size:14px;text-transform:uppercase;cursor:pointer;white-space:nowrap}
.home-lead__btn:hover{filter:brightness(1.1)}
@media (max-width:980px){
  .home-lead__in{grid-template-columns:1fr;gap:24px}
}
@media (max-width:600px){
  .home-lead{padding:44px 0}
  .home-lead__title{font-size:26px}
  .home-lead__form{flex-direction:column}
  .home-lead__btn{width:100%}
}

/* сообщение об отправке формы */
.tu-form-msg{margin-top:14px;color:#fff;font-size:15px;line-height:1.4}
.tu-form-msg_error{color:#ffb4b4}
.tu-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.tu-field{display:flex;flex-direction:column;gap:8px;min-width:0;text-align:left}
.tu-field__label{display:flex;align-items:center;gap:8px;color:#fff;font-size:12px;font-weight:700;line-height:1.35;text-transform:uppercase}
.tu-field__label em{color:#8e8e8e;font-size:10px;font-style:normal;font-weight:400;text-transform:none;letter-spacing:0}
.ft__form .tu-field_phone,.lp-cta__form .tu-field_phone,.home-lead__form .tu-field_phone{flex:1 1 220px;order:1}
.ft__form .tu-field_phone .ft__input,.lp-cta__form .tu-field_phone .lp-cta__input,.home-lead__form .tu-field_phone .home-lead__input{width:100%}
.tu-form-policy{display:flex;align-items:flex-start;gap:9px;width:100%;color:#8e8e8e;font-size:11px;line-height:1.45;font-weight:400;text-align:left}
.tu-form-policy input{flex:none;width:16px;height:16px;margin:0;accent-color:#f13613;cursor:pointer}
.tu-form-policy a{color:#f13613;text-decoration:none}
.tu-form-policy a:hover{text-decoration:underline}
.ft__form,.lp-cta__form,.home-lead__form{flex-wrap:wrap}
.ft__form .ft__input,.lp-cta__form .lp-cta__input,.home-lead__form .home-lead__input{order:1}
.ft__form .ft__btn,.lp-cta__form .lp-cta__btn,.home-lead__form .home-lead__btn{order:2}
.ft__form .tu-form-policy,.lp-cta__form .tu-form-policy,.home-lead__form .tu-form-policy{flex:0 0 100%;order:3;margin-top:2px}
.contact__form .tu-field{width:521px}
.contact__form .tu-field .contact__input,.contact__form .tu-field .contact__textarea{width:100%}
.contact__form .tu-form-policy{width:521px}
@media (max-width:768px){
  .tu-field__label{font-size:10px}
  .tu-field__label em{font-size:9px}
  .contact__form .tu-field{width:320px}
  .contact__form .tu-form-policy{width:320px;font-size:9px;line-height:1.45}
  .tu-form-policy input{width:14px;height:14px}
}

/* =====================  НОВЫЙ ПОДВАЛ  ===================== */
.ft{background:#0a0a0a;border-top:3px solid #f13613;padding:56px 0 0;font-family:'Benzin',sans-serif}
.ft *{box-sizing:border-box}
.ft__wrap{max-width:1280px;margin:0 auto;padding:0 28px}

.ft__top{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;padding-bottom:40px;border-bottom:1px solid #262626}
.ft__logo-link{display:inline-flex;width:max-content;text-decoration:none;margin-bottom:18px}
.ft__logo{height:46px;width:auto}
.ft__desc{color:#9e9e9e;font-weight:400;font-size:14px;line-height:1.6;max-width:420px}

.ft__cta-title{font-weight:700;font-size:18px;text-transform:uppercase;letter-spacing:.02em;margin-bottom:14px;color:#fff}
.ft__cta-sub{color:#9e9e9e;font-size:13px;line-height:1.5;margin-bottom:16px;max-width:360px}
.ft__form{display:flex;gap:10px}
.ft__input{flex:1;min-width:0;background:#121212;border:1px solid #262626;color:#fff;border-radius:10px;padding:14px 16px;font-family:inherit;font-size:14px;outline:none;transition:border-color .2s}
.ft__input::placeholder{color:#666}
.ft__input:focus{border-color:#f13613}
.ft__btn{background:#f13613;color:#fff;border:none;border-radius:10px;padding:14px 22px;font-family:inherit;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;white-space:nowrap;transition:filter .2s,transform .05s}
.ft__btn:hover{filter:brightness(1.1)}
.ft__btn:active{transform:translateY(1px)}
.ft__policy{color:#5a5a5a;font-size:11px;margin-top:10px;line-height:1.4}
.ft__policy a{color:#7a7a7a}

.ft__cols{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:40px;padding:40px 0}
/* компактные иконки соцсетей в подвале */
.ft__social{display:flex;gap:10px;margin-top:8px}
.ft__soc{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#161616;border:1px solid #262626;transition:background .2s,border-color .2s,transform .15s}
.ft__soc svg{width:20px;height:20px;fill:#cfcfcf;transition:fill .2s}
.ft__soc:hover{transform:translateY(-2px)}
.ft__soc_tg:hover{background:#29a9eb;border-color:#29a9eb}
.ft__soc_yt:hover{background:#ff0000;border-color:#ff0000}
.ft__soc:hover svg{fill:#fff}
.ft__h{font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#fff;margin-bottom:18px}
.ft__h::after{content:'';display:block;width:26px;height:2px;background:#f13613;margin-top:10px}

.ft__nav{display:flex;flex-direction:column;gap:11px}
.ft__nav a{color:#9e9e9e;text-decoration:none;font-size:14px;transition:color .15s,padding-left .15s}
.ft__nav a:hover{color:#fff;padding-left:5px}

.ft__contacts{display:flex;flex-direction:column;gap:16px}
.ft__c{display:flex;gap:12px;align-items:flex-start}
.ft__c svg{flex:none;width:18px;height:18px;margin-top:2px;fill:#f13613}
.ft__c a,.ft__c span{color:#cfcfcf;text-decoration:none;font-size:14px;line-height:1.5}
.ft__c a:hover{color:#fff}
.ft__c b{display:block;color:#fff;font-weight:600;font-size:14px;margin-bottom:2px}
.ft__c .lbl{display:block;color:#6f6f6f;font-size:11px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px}

.ft__msgs{display:flex;flex-direction:column;gap:12px}
.msg{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;text-decoration:none;color:#fff;font-weight:600;font-size:14px;background:#121212;border:1px solid #262626;transition:transform .15s,box-shadow .2s,border-color .2s}
.msg:hover{transform:translateY(-2px)}
.msg__ic{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex:none}
.msg__ic svg{width:20px;height:20px;fill:#fff}
.msg__tg .msg__ic{background:#29a9eb}
.msg__yt .msg__ic{background:#ff0000}
.msg__tg:hover{border-color:#29a9eb;box-shadow:0 6px 20px -8px #29a9eb}
.msg__yt:hover{border-color:#ff0000;box-shadow:0 6px 20px -8px #ff0000}
.msg small{display:block;color:#9e9e9e;font-weight:400;font-size:11px}

.ft__requisites{border-top:1px solid #262626;padding:18px 0 0;margin:0;color:#6f6f6f;font-size:12px;line-height:1.5;font-weight:400}
.ft__bottom{padding:16px 0 22px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.ft__copy{color:#6f6f6f;font-size:12px}
.ft__copy a{color:#8a8a8a;text-decoration:none}
.ft__made{color:#4a4a4a;font-size:12px}
.ft__made a{color:#6f6f6f;text-decoration:none}

@media (max-width:1024px){
  .ft__cols{grid-template-columns:1fr 1fr;gap:34px}
  .ft__msgs{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,1fr)}
}
@media (max-width:680px){
  .ft{padding-top:40px}
  .ft__wrap{padding:0 18px}
  .ft__top{grid-template-columns:1fr;gap:30px;padding-bottom:30px}
  .ft__cols{grid-template-columns:1fr;gap:30px;padding:30px 0}
  .ft__msgs{grid-template-columns:1fr 1fr;gap:10px}
  .ft__form{flex-direction:column}
  .ft__btn{width:100%;padding:15px}
  .ft__bottom{flex-direction:column;align-items:flex-start;gap:10px}
  .ft__logo{height:40px}
}
@media (max-width:400px){ .ft__msgs{grid-template-columns:1fr} }

/* =====================  HERO: слои + анимация + параллакс  =====================
   Композиция 1:1 с оригиналом (карта + линии + текст TRANSFER/UNION).
   Слои разнесены для красивого движения: карта, линии и текст двигаются
   с разной амплитудой (параллакс), плюс анимация появления.                 */

.promo{background-image:none;background-color:#000;position:relative;overflow:hidden}   /* карта отдельным слоем; overflow:hidden — чтобы слои 1440px не давали горизонтальный скролл на узких экранах */
/* ВАЖНО: .promo стал positioned (relative) — чтобы абсолютная шапка не пряталась
   за промо-блоком, поднимаем её над ним. */
.header{position:fixed;top:0;left:0;right:0;z-index:1000}
.admin-bar .header{top:32px}
@media (max-width:782px){.admin-bar .header{top:46px}}

/* общий бокс 1440px, по которому выровнены все слои Hero */
.promo__bg,.promo__hero{position:absolute;left:50%;top:0;transform:translateX(-50%);
  width:1440px;height:935px;pointer-events:none}
.promo__bg{z-index:0}
.promo__hero{z-index:1}

/* слой карты и линий (позиции выверены по оригиналу promo1440) */
.promo__map{position:absolute;left:118px;top:120px;width:1205px;height:auto;opacity:.85}
.promo__lines{position:absolute;left:135px;top:250px;width:1170px;height:auto}

/* большой текст */
.promo__word{position:absolute;font-weight:800;font-size:115px;line-height:1;
  letter-spacing:0;color:#cccccc;white-space:nowrap}
.promo__word_transfer{left:161px;top:280px}
.promo__word_union{left:766px;top:400px}

/* контент промо — выше всех слоёв */
.promo__container{position:relative;z-index:2}

/* === появление ===
   Появление карты+линий вынесено на обёртку .promo__bg (fade+scale),
   чтобы не блокировать параллакс-transform самих слоёв. */
.promo__bg{opacity:0}
.promo__word_transfer{transform:translateX(-130%);opacity:0}
.promo__word_union{transform:translateX(130%);opacity:0}
.promo__title,.promo__list,.promo__button{opacity:0}

.promo.is-in .promo__bg{animation:tuBgIn 1.3s ease-out forwards}
.promo.is-in .promo__word_transfer{animation:tuFlyL .9s cubic-bezier(.16,.84,.3,1) .25s forwards}
.promo.is-in .promo__word_union{animation:tuFlyR .9s cubic-bezier(.16,.84,.3,1) .38s forwards}
.promo.is-in .promo__title{animation:tuUp .7s ease-out .95s forwards}
.promo.is-in .promo__list{animation:tuUp .7s ease-out 1.1s forwards}
.promo.is-in .promo__button{animation:tuUp .7s ease-out 1.25s forwards}

@keyframes tuBgIn{0%{opacity:0;transform:translateX(-50%) scale(1.05)}100%{opacity:1;transform:translateX(-50%) scale(1)}}
@keyframes tuFlyL{0%{transform:translateX(-130%);opacity:0}60%{opacity:1}100%{transform:translateX(0);opacity:1}}
@keyframes tuFlyR{0%{transform:translateX(130%);opacity:0}60%{opacity:1}100%{transform:translateX(0);opacity:1}}
@keyframes tuUp{0%{transform:translateY(26px);opacity:0}100%{transform:translateY(0);opacity:1}}

/* === параллакс (JS задаёт CSS-переменные на .promo) ===
   карта сильнее, линии средне, текст слабее — эффект глубины.
   transform на самих слоях (не перебивается анимацией появления .promo__bg). */
.promo__map{transform:translate(var(--tu-mx,0px),var(--tu-my,0px));transition:transform .18s ease-out}
.promo__lines{transform:translate(var(--tu-lx,0px),var(--tu-ly,0px));transition:transform .18s ease-out}
.promo__hero{transition:transform .18s ease-out}
.promo.is-in .promo__hero{transform:translateX(-50%) translate(var(--tu-tx,0px),var(--tu-ty,0px))}

@media (prefers-reduced-motion:reduce){
  .promo__bg,.promo__word,.promo__title,.promo__list,.promo__button{opacity:1!important;animation:none!important}
  .promo__bg{transform:translateX(-50%)!important}
  .promo__map,.promo__lines{transform:none!important}
  .promo__word_transfer,.promo__word_union{transform:none!important}
}

/* МОБАЙЛ: возвращаем оригинальный Hero 1:1 (фон promo768.jpg с текстом),
   убираем десктопный слой живого текста, анимацию и параллакс.
   Анимация/параллакс — только десктоп (где есть мышь). */
@media (max-width:768px){
  .promo__bg,.promo__hero{display:none !important}
  .promo{
    background-image:url('../img/promo768.webp') !important;
    background-size:360px !important;
    background-position:center !important;
    position:static !important;   /* на десктопе relative (для overflow Hero), на мобиле static — чтобы меню было сверху */
  }
  .promo__title,.promo__list,.promo__button{opacity:1 !important;animation:none !important;transform:none !important}
  /* ФИКС меню: на десктопе .promo__container позиционирован (z-index:2 над картой Hero),
     из-за чего на мобиле он рисовался ПОВЕРХ fixed-меню (позиционированный + позже в DOM).
     Возвращаем в static, как в оригинале — тогда меню-оверлёй сверху. */
  .promo__container{position:static !important;z-index:auto !important}
  /* меню-оверлей и крестик гарантированно выше контента */
  .header__nav{z-index:40}
  .header__feature,.header__close,.header__burger{z-index:41}
}

/* =====================  SCROLL-REVEAL блоков главной  =====================
   Появление секций при прокрутке (класс is-in вешает JS через IntersectionObserver).
   Контент не меняется — только плавное появление и каскад.                  */
.tu-rv{opacity:0;transform:translateY(36px);
  transition:opacity .7s cubic-bezier(.16,.84,.3,1),transform .7s cubic-bezier(.16,.84,.3,1);
  transition-delay:var(--d,0ms);will-change:opacity,transform}
.tu-rv.tu-rv-l{transform:translateX(-46px)}
.tu-rv.tu-rv-r{transform:translateX(46px)}
.tu-rv.tu-rv-z{transform:scale(.92)}
.tu-rv.is-in{opacity:1;transform:none}

/* Горизонтальные reveal-выезды (stage) клипуем по секции, чтобы они не давали
   горизонтальный скролл. Глобальный overflow-x:hidden НЕ ставим — он бы обрезал
   оригинальный десктоп-контент на экранах 769–1169px (там оригинал и так скроллится). */
.stage{overflow:hidden}

@media (prefers-reduced-motion:reduce){
  .tu-rv{opacity:1 !important;transform:none !important;transition:none !important}
}

/* =====================  ПОСАДОЧНАЯ (услуга)  ===================== */
.lp{font-family:'Benzin',sans-serif;color:#fff;background:#000}
.lp .container{width:100%;max-width:1170px;margin:0 auto;padding:0 20px;box-sizing:border-box}
.lp-h2{font-weight:800;font-size:clamp(26px,3vw,42px);text-transform:uppercase;letter-spacing:.01em;margin:0 0 34px;line-height:1.05}
.lp-btn{display:inline-block;text-decoration:none;font-weight:700;font-size:15px;letter-spacing:.03em;text-transform:uppercase;padding:18px 34px;border-radius:4px;transition:filter .2s,background .2s,color .2s}
.lp-btn_primary{background:#f13613;color:#fff}
.lp-btn_primary:hover{filter:brightness(1.1)}
.lp-btn_ghost{background:transparent;color:#fff;border:1.5px solid #444}
.lp-btn_ghost:hover{border-color:#f13613;color:#f13613}

/* HERO */
.lp-hero{position:relative;padding:150px 0 70px;background:#0a0a0a url('../img/hero-map-v2.webp') center/1300px no-repeat;border-bottom:1px solid #1d1d1d;overflow:hidden}
.lp-hero__in{position:relative;z-index:1}
.lp-crumbs{font-size:13px;color:#7c7c7c;margin-bottom:22px;font-weight:400}
.lp-crumbs a{color:#9e9e9e;text-decoration:none}.lp-crumbs a:hover{color:#fff}
.lp-crumbs span{margin:0 8px;color:#444}
.lp-crumbs em{color:#f13613;font-style:normal}
.lp-crumbs .tu-crumbs__item,.lp-crumbs .tu-crumbs__name{margin:0;color:inherit}
.lp-crumbs .tu-crumbs__sep{margin:0 8px;color:#444}

/* Uniform breadcrumb placement for legacy page heroes */
.portfolio,
.autopark,
.partner,
.about,
.contact,
.gallery_video{padding-top:150px}
.portfolio>.container:first-child,
.autopark__container,
.partner__container,
.about__container,
.contact__container,
.gallery_video .gallery__container{position:relative;z-index:1;width:100%;max-width:1170px;padding-left:20px;padding-right:20px;box-sizing:border-box}
.portfolio .lp-crumbs,
.autopark .lp-crumbs,
.partner .lp-crumbs,
.about .lp-crumbs,
.contact .lp-crumbs,
.gallery_video .lp-crumbs{width:100%;max-width:100%;margin:0 0 22px;text-align:left}
@media (max-width:768px){
  .portfolio,
  .autopark,
  .partner,
  .about,
  .contact,
  .gallery_video{padding-top:120px}
  .about .lp-crumbs{align-self:stretch}
}
.lp-hero__title{font-weight:800;font-size:clamp(30px,4.6vw,62px);line-height:1.02;text-transform:uppercase;margin:0 0 18px;max-width:20ch}
.lp-hero__sub{font-weight:400;font-size:clamp(15px,1.6vw,19px);line-height:1.5;color:#c9c9c9;max-width:620px;margin:0 0 30px}
.lp-hero__cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:48px}
.lp-trust{list-style:none;margin:0;padding:30px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;border-top:1px solid #1d1d1d}
.lp-trust li{display:flex;align-items:center;gap:13px}
.lp-trust__ic{width:38px;height:38px;flex:none;color:#f13613}
.lp-trust b{display:block;font-weight:800;font-size:22px;color:#fff;margin-bottom:3px;line-height:1}
.lp-trust span{display:block;font-weight:400;font-size:13px;color:#9e9e9e;line-height:1.35}

/* SEO-текст */
.lp-body{padding:64px 0}
.lp-body__in{max-width:820px}
.lp-lead{font-size:20px;line-height:1.55;color:#fff;font-weight:600;margin:0 0 26px}
.lp-body p{font-size:16px;line-height:1.7;color:#c4c4c4;margin:0 0 18px;font-weight:400}
.lp-body h2{font-weight:700;font-size:26px;text-transform:uppercase;margin:38px 0 16px}
.lp-body h3{font-weight:700;font-size:20px;margin:26px 0 12px}
.lp-body ul{margin:0 0 20px;padding:0;list-style:none}
.lp-body li{position:relative;padding-left:26px;margin-bottom:10px;color:#c4c4c4;line-height:1.6}
.lp-body li::before{content:'';position:absolute;left:0;top:9px;width:10px;height:2px;background:#f13613}
.lp-body a{color:#f13613}
.lp-info{padding:64px 0;border-top:1px solid #1d1d1d}
.lp-info_common{background:#0a0a0a}
.lp-info_detail{background:#050505}
.lp-info .lp-h2{font-size:clamp(24px,2.45vw,34px);margin-bottom:26px}
.lp-info__lead{max-width:820px;margin:-14px 0 30px;color:#b8b8b8;font-size:16px;line-height:1.7;font-weight:400}
.lp-info__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;min-width:0}
.lp-info__grid_two{grid-template-columns:repeat(2,1fr)}
.lp-info_detail .lp-info__grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.lp-info-card{min-width:0;background:#111;border:1px solid #242424;border-radius:8px;padding:26px 24px}
.lp-info-card_wide{grid-column:1/-1}
.lp-info_detail .lp-info-card{padding:30px}
.lp-info_detail .lp-info-card:first-child:nth-last-child(2){grid-column:1/-1;display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);gap:0 32px;align-items:start}
.lp-info_detail .lp-info-card:first-child:nth-last-child(2) h3,
.lp-info_detail .lp-info-card:first-child:nth-last-child(2) p{grid-column:1}
.lp-info_detail .lp-info-card:first-child:nth-last-child(2) .lp-info-facts{grid-column:2;grid-row:1/span 2;margin-top:0}
.lp-info_detail .lp-info-card:nth-last-child(1):nth-child(odd):not(.lp-info-card_wide){grid-column:1/-1}
.lp-info-card h3{margin:0 0 14px;font-size:18px;line-height:1.25;text-transform:uppercase;font-weight:700;color:#fff}
.lp-info-card p{margin:0 0 18px;color:#c4c4c4;font-size:15px;line-height:1.7;font-weight:400}
.lp-info-list{margin:0;padding:0;list-style:none}
.lp-info-list li{position:relative;margin:0 0 11px;padding-left:24px;color:#bdbdbd;font-size:14px;line-height:1.6;font-weight:400}
.lp-info-list li:last-child{margin-bottom:0}
.lp-info-list li::before{content:'';position:absolute;left:0;top:.72em;width:10px;height:2px;background:#f13613}
.lp-info-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.lp-info-fact{padding:14px;background:#0b0b0b;border:1px solid #202020;border-radius:6px}
.lp-info-fact span{display:block;margin-bottom:6px;color:#8d8d8d;font-size:12px;line-height:1.35;text-transform:uppercase;font-weight:700}
.lp-info-fact b{display:block;color:#fff;font-size:16px;line-height:1.35;font-weight:700}
.lp-info-table-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto;margin-top:4px}
.lp-info-table{width:100%;min-width:820px;border-collapse:collapse;color:#c7c7c7;font-size:14px;line-height:1.55}
.lp-info-table th,.lp-info-table td{padding:15px 14px;border:1px solid #242424;text-align:left;vertical-align:top}
.lp-info-table th{color:#fff;background:#181818;text-transform:uppercase;font-size:12px;letter-spacing:.04em}
.lp-info-table td:first-child{color:#fff;font-weight:700}
.lp-process{padding:64px 0;background:#080808;border-top:1px solid #1d1d1d}
.lp-process__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:26px}
.lp-process__item{min-width:0;background:#111;border:1px solid #242424;border-radius:8px;padding:24px}
.lp-process__item span{display:block;margin-bottom:18px;color:#f13613;font-size:13px;font-weight:800;line-height:1;text-transform:uppercase}
.lp-process__item h3{margin:0 0 10px;color:#fff;font-size:18px;line-height:1.25;text-transform:uppercase}
.lp-process__item p{margin:0;color:#bdbdbd;font-size:14px;line-height:1.65;font-weight:400}

/* SEO internal links */
.tu-seo-links{padding:10px 0 64px;background:#000}
.tu-seo-links__in{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.tu-seo-links__group{border:1px solid #1f1f1f;border-radius:8px;background:#0d0d0d;padding:24px}
.tu-seo-links__title{margin:0 0 16px;color:#fff;font-size:16px;font-weight:700;line-height:1.25;text-transform:uppercase}
.tu-seo-links__list{display:flex;flex-wrap:wrap;gap:10px}
.tu-seo-links__list a{display:inline-flex;align-items:center;min-height:38px;border:1px solid #2a2a2a;border-radius:6px;padding:9px 12px;
  color:#cfcfcf;text-decoration:none;font-size:13px;line-height:1.35;background:#111;transition:border-color .15s,color .15s,background .15s}
.tu-seo-links__list a:hover{border-color:#f13613;color:#fff;background:#151515}
@media (max-width:768px){
  .tu-seo-links{padding:0 0 44px}
  .tu-seo-links__in{grid-template-columns:1fr}
  .tu-seo-links__group{padding:18px}
  .tu-seo-links__list{gap:8px}
  .tu-seo-links__list a{width:100%;font-size:12px}
}

/* Case pages */
.tu-case__hero{padding-bottom:54px}
.tu-case__facts{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:34px}
.tu-case__fact{background:#111;border:1px solid #242424;border-radius:8px;padding:15px 14px}
.tu-case__fact span{display:block;margin-bottom:8px;color:#8e8e8e;font-size:11px;text-transform:uppercase;line-height:1.3}
.tu-case__fact b{display:block;color:#fff;font-size:16px;line-height:1.35}
.tu-case__body{padding:64px 0;background:#000}
.tu-case__grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:44px;align-items:start}
.tu-case__content{min-width:0}
.tu-case__content p,.tu-case__content li{color:#c4c4c4;font-size:16px;line-height:1.7}
.tu-case__content h2{margin:36px 0 14px;color:#fff;font-size:26px;text-transform:uppercase;line-height:1.15}
.tu-case__image{width:100%;height:auto;border-radius:8px;margin:0 0 28px;display:block}
.tu-case__aside{position:sticky;top:110px;background:#0d0d0d;border:1px solid #242424;border-radius:8px;padding:24px}
.tu-case__aside h2{margin:0 0 18px;color:#fff;font-size:18px;text-transform:uppercase;line-height:1.25}
.tu-case__aside dl{margin:0 0 22px}
.tu-case__aside dl>div{padding:13px 0;border-bottom:1px solid #1f1f1f}
.tu-case__aside dt{color:#888;font-size:11px;text-transform:uppercase;margin-bottom:6px}
.tu-case__aside dd{margin:0;color:#fff;font-size:14px;line-height:1.45}
@media (max-width:980px){
  .tu-case__facts{grid-template-columns:repeat(2,1fr)}
  .tu-case__grid{grid-template-columns:1fr}
  .tu-case__aside{position:static}
}
@media (max-width:520px){
  .tu-case__facts{grid-template-columns:1fr}
}

/* Преимущества */
.lp-adv{padding:64px 0;background:#0a0a0a;border-top:1px solid #1d1d1d}
.lp-adv__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.lp-adv__card{background:#111;border:1px solid #1f1f1f;border-radius:8px;padding:28px 24px;transition:border-color .2s,transform .2s}
.lp-adv__card:hover{border-color:#f13613;transform:translateY(-4px)}
.lp-adv__num{display:block;font-weight:800;font-size:30px;color:#f13613;margin-bottom:16px}
.lp-adv__card h3{font-weight:700;font-size:17px;text-transform:uppercase;margin:0 0 10px}
.lp-adv__card p{font-weight:400;font-size:14px;line-height:1.6;color:#9e9e9e;margin:0}

/* Этапы */
.lp-steps{padding:64px 0}
.lp-steps__row{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.lp-step{position:relative;padding-top:14px;border-top:2px solid #f13613}
.lp-step__n{display:block;font-weight:800;font-size:40px;color:#1f1f1f;-webkit-text-stroke:1px #f13613;margin-bottom:10px}
.lp-step h3{font-weight:700;font-size:17px;text-transform:uppercase;margin:0 0 10px}
.lp-step p{font-weight:400;font-size:14px;line-height:1.6;color:#9e9e9e;margin:0}

/* Кейсы */
.lp-cases{padding:64px 0;background:#0a0a0a;border-top:1px solid #1d1d1d}
.lp-cases__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:30px}
.lp-case{margin:0;border-radius:8px;overflow:hidden;position:relative;aspect-ratio:4/3}
.lp-case img{width:100%;height:100%;object-fit:cover;display:block}
.lp-case figcaption{position:absolute;left:0;right:0;bottom:0;padding:16px;font-size:13px;line-height:1.4;background:linear-gradient(transparent,rgba(0,0,0,.9));color:#fff}
.lp-case figcaption span{color:#ff8a5c}

/* FAQ */
.lp-faq{padding:64px 0}
.lp-faq__list{max-width:860px}
.lp-faq__item{border:1px solid #1f1f1f;border-radius:8px;margin-bottom:12px;background:#0d0d0d}
.lp-faq__item summary{cursor:pointer;list-style:none;padding:20px 24px;font-weight:700;font-size:16px;position:relative}
.lp-faq__item summary::-webkit-details-marker{display:none}
.lp-faq__item summary::after{content:'+';position:absolute;right:24px;color:#f13613;font-size:22px;line-height:1}
.lp-faq__item[open] summary::after{content:'\2212'}
.lp-faq__item p{margin:0;padding:0 24px 20px;color:#a8a8a8;line-height:1.65;font-weight:400}

/* CTA */
/* Хаб «Услуги» */
.lp-hero_hub{padding-bottom:50px}
.uslugi{padding:56px 0}
.uslugi__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.uslugi__card{display:flex;flex-direction:column;background:#111;border:1px solid #1f1f1f;border-radius:10px;padding:26px 24px;text-decoration:none;transition:border-color .2s,transform .2s,background .2s}
.uslugi__card:hover{border-color:#f13613;transform:translateY(-4px);background:#141414}
.uslugi__title{font-weight:700;font-size:18px;text-transform:uppercase;color:#fff;margin:0 0 12px;line-height:1.15}
.uslugi__desc{font-weight:400;font-size:14px;line-height:1.55;color:#9e9e9e;margin:0 0 18px;flex:1}
.uslugi__more{font-weight:700;font-size:13px;letter-spacing:.03em;text-transform:uppercase;color:#f13613}
@media (max-width:980px){ .uslugi__grid{grid-template-columns:1fr 1fr} }
@media (max-width:600px){ .uslugi__grid{grid-template-columns:1fr} }

.lp-cta{padding:60px 20px}
.lp .container.lp-cta__in{background:linear-gradient(120deg,#1a0a05,#111);border:1px solid #2a1109;border-radius:16px;padding:72px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.lp-cta__text h2{font-weight:800;font-size:30px;line-height:1.1;text-transform:uppercase;margin:0 0 16px}
.lp-cta__text p{color:#c4c4c4;line-height:1.6;font-weight:400;margin:0;max-width:420px}
.lp-cta__form{display:flex;gap:12px}
.lp-cta__input{flex:1;min-width:0;background:#0a0a0a;border:1px solid #333;color:#fff;border-radius:8px;padding:16px 18px;font-family:inherit;font-size:15px;outline:none}
.lp-cta__input:focus{border-color:#f13613}
.lp-cta__btn{background:#f13613;color:#fff;border:none;border-radius:8px;padding:16px 26px;font-family:inherit;font-weight:700;font-size:14px;text-transform:uppercase;cursor:pointer;white-space:nowrap}
.lp-cta__btn:hover{filter:brightness(1.1)}

@media (max-width:980px){
  .lp-trust,.lp-adv__grid,.lp-steps__row{grid-template-columns:repeat(2,1fr)}
  .lp-info__grid{grid-template-columns:1fr 1fr}
  .lp-info__grid_two{grid-template-columns:1fr}
  .lp-cases__grid{grid-template-columns:1fr 1fr}
  .lp .container.lp-cta__in{grid-template-columns:1fr;gap:24px;padding:40px}
}
@media (max-width:600px){
  .lp-hero{padding:120px 0 50px;background-size:680px}
  .lp-trust{grid-template-columns:1fr 1fr;gap:18px}
  .lp-info{padding:46px 0}
  .lp-info__grid{grid-template-columns:1fr}
  .lp-info_detail .lp-info__grid{grid-template-columns:1fr}
  .lp-info_detail .lp-info-card:first-child:nth-last-child(2){display:block}
  .lp-info-card{padding:22px 18px}
  .lp-info_detail .lp-info-card{padding:22px 18px}
  .lp-info_detail .lp-info-card:first-child:nth-last-child(2) .lp-info-facts{margin-top:18px}
  .lp-info-facts{grid-template-columns:1fr}
  .lp-info-table{min-width:720px}
  .lp-process__grid{grid-template-columns:1fr}
  .lp-adv__grid,.lp-steps__row,.lp-cases__grid{grid-template-columns:1fr}
  .lp-hero__cta{flex-direction:column}.lp-btn{text-align:center}
  .lp-cta__form{flex-direction:column}.lp-cta__btn{width:100%}
}

/* ===== Карта Яндекс на «Контактах» ===== */
.contact__map{overflow:hidden;border-radius:4px}
.contact__map iframe{display:block;width:100%;height:100%;border:0}
.contact__right{display:none}
@media (min-width:769px){.contact__top{gap:29px}}
.contact__meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:42px 0 34px}
.contact__meta-item{min-width:0;background:#0d0d0d;border:1px solid #242424;border-radius:8px;padding:20px}
.contact__meta-item span,.contact__req-list dt{display:block;margin:0 0 8px;color:#f13613;font-size:11px;font-weight:700;line-height:1.35;text-transform:uppercase}
.contact__meta-item p,.contact__meta-item a,.contact__req-list dd{margin:0;color:#e3e3e3;font-size:15px;line-height:1.5;text-decoration:none;overflow-wrap:anywhere}
.contact__meta-item a:hover,.contact__download:hover{color:#fff}
.contact__requisites{margin:0 0 34px;padding:28px;background:#0d0d0d;border:1px solid #242424;border-radius:8px}
.contact__req-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0 0 22px}
.contact__req-head h2{margin:0;color:#fff;font-size:24px;line-height:1.15;text-transform:uppercase}
.contact__download{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border:1px solid #f13613;border-radius:6px;color:#f13613;font-size:13px;font-weight:700;line-height:1.2;text-decoration:none;text-transform:uppercase;transition:color .18s,border-color .18s,background .18s}
.contact__download:hover{background:#f13613}
.contact__req-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;margin:0;padding:0}
.contact__req-list div{min-width:0;padding-top:14px;border-top:1px solid #242424}
@media (max-width:980px){
  .contact__meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact__req-list{grid-template-columns:1fr}
}
@media (max-width:768px){
  .contact__meta{grid-template-columns:1fr;margin:30px 0 28px}
  .contact__meta-item{padding:16px}
  .contact__requisites{margin-bottom:28px;padding:18px}
  .contact__req-head{align-items:stretch;flex-direction:column}
  .contact__req-head h2{font-size:22px}
  .contact__download{width:100%;box-sizing:border-box}
  .contact__meta-item p,.contact__meta-item a,.contact__req-list dd{font-size:14px}
}

/* ===== Селектор города в шапке (гео) ===== */
.geo{position:relative;display:inline-flex;align-items:center;margin:0 26px 0 0;flex:none;font-family:'Benzin',sans-serif}
/* селектор — справа от логотипа, слева от меню (через flex order) */
@media (min-width:769px){
  .header__container>a{order:0}
  .geo{order:1}
  .header__nav{order:2}
  .header__contact{order:3}
  .header__feature{order:4}
}
.geo__btn{display:inline-flex;align-items:center;gap:7px;background:transparent;border:1px solid #2f2f2f;border-radius:9px;
  color:#e9e9e9;font-family:inherit;font-size:14px;font-weight:600;padding:8px 12px;cursor:pointer;line-height:1;transition:border-color .15s,color .15s}
.geo__btn:hover{border-color:#f13613;color:#fff}
.geo__pin{width:17px;height:17px;color:#f13613;flex:none}
.geo__chev{width:14px;height:14px;flex:none;transition:transform .2s;opacity:.8}
.geo.is-open .geo__chev{transform:rotate(180deg)}
.geo__city{white-space:nowrap;max-width:170px;overflow:hidden;text-overflow:ellipsis}
.geo__drop{position:absolute;top:calc(100% + 10px);left:0;right:auto;z-index:80;width:480px;max-width:92vw;
  background:#0d0d0d;border:1px solid #262626;border-radius:12px;padding:16px 18px;
  box-shadow:0 20px 50px -14px rgba(0,0,0,.8);opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .18s,transform .18s}
.geo.is-open .geo__drop{opacity:1;visibility:visible;transform:translateY(0)}
.geo__hint{margin:0 0 10px;color:#7d7d7d;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.geo__list{display:grid;grid-template-columns:1fr 1fr;gap:2px 14px;max-height:74vh;overflow:auto}
.geo__item{display:block;color:#cfcfcf;text-decoration:none;font-size:13px;font-weight:400;padding:7px 10px;border-radius:7px;
  white-space:nowrap;transition:background .12s,color .12s}
.geo__item:hover{background:#1a1a1a;color:#f13613}
.geo__item.is-active{color:#fff;background:#1c1c1c;font-weight:600;position:relative}
.geo__item.is-active::before{content:'';position:absolute;left:3px;top:50%;transform:translateY(-50%);width:3px;height:16px;background:#f13613;border-radius:2px}

@media (max-width:768px){
  .geo{order:1;margin:0 auto 0 12px}            /* сразу за логотипом, бургер уезжает вправо */
  .geo__btn{padding:7px 9px;font-size:13px}
  .geo__city{max-width:110px}
  .geo__drop{position:fixed;left:12px;right:12px;top:78px;width:auto;max-width:none}
  .geo__list{max-height:60vh}
}

/* городской хаб использует стили .lp-hero — отдельных правил не требуется */

/* подзаголовок региона в селекторе города (на всю ширину грид-списка) */
.geo__group{grid-column:1/-1;margin:20px 0 6px;padding:9px 11px 0;border-top:1px solid #242424;color:#f13613;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.geo__group:first-child{margin-top:6px;padding-top:0;border-top:0}

/* перенос заголовков посадочных/городов — балансируем строки, чтобы не висели одиночные слова */
.lp-hero__title{text-wrap:balance}

/* гео-лид: уникальный абзац под город на хабах портфолио/видео/автопарк/партнёры/контакты */
.tu-geo-lead{max-width:62ch;margin:14px auto 0;padding:0 20px;color:#b9b9b9;font-size:16px;line-height:1.6;text-align:center}
.contact .tu-geo-lead,.autopark .tu-geo-lead,.partner .tu-geo-lead{margin-bottom:8px}
@media (max-width:768px){.tu-geo-lead{font-size:15px;text-align:left}}

/* «Вся Россия» — первый пункт селектора, отделяем от списка городов */
.geo__item_all{grid-column:1/-1;font-weight:600}

/* Mobile header CTA */
.header__mobile-actions{display:none}
.header__mcta{width:40px;height:40px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid #2f2f2f;text-decoration:none;color:#fff;background:#111;cursor:pointer;padding:0;flex:none}
.header__mcta svg{width:20px;height:20px}
.header__mcta_phone{background:#f13613;border-color:#f13613}
.header__mcta_callback{background:#151515}
.tu-header-lead{display:none}
.tu-header-lead.is-open{display:block}
body.tu-header-lead-open{overflow:hidden}
.tu-header-lead__overlay{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:11000}
.tu-header-lead__dialog{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:11001;width:420px;max-width:calc(100vw - 32px);
  background:#0d0d0d;border:1px solid #262626;border-radius:14px;padding:28px;color:#fff;font-family:'Benzin',sans-serif;
  box-shadow:0 24px 70px rgba(0,0,0,.7)}
.tu-header-lead__close{position:absolute;right:14px;top:10px;background:transparent;border:0;color:#aaa;font-size:30px;line-height:1;cursor:pointer}
.tu-header-lead__title{margin:0 36px 10px 0;font-size:22px;line-height:1.2}
.tu-header-lead__text{margin:0 0 18px;color:#bdbdbd;font-size:13px;line-height:1.45}
.tu-header-lead__form{display:flex;flex-direction:column;gap:12px}
.tu-header-lead__input{width:100%;background:#111;border:1px solid #333;color:#fff;border-radius:8px;padding:15px 16px;font-family:inherit;font-size:15px;outline:none}
.tu-header-lead__btn{width:100%;background:#f13613;color:#fff;border:0;border-radius:8px;padding:15px 18px;font-family:inherit;font-weight:700;font-size:13px;text-transform:uppercase;cursor:pointer}

@media (max-width:768px){
  .header{padding-top:16px;padding-bottom:16px}
  .header__container{justify-content:flex-start;gap:0}
  .geo{order:1;margin:0 8px 0 auto}
  .geo__btn{width:40px;height:40px;padding:0;justify-content:center;gap:2px;border-radius:10px}
  .geo__city{display:none}
  .geo__pin{width:18px;height:18px}
  .geo__chev{width:11px;height:11px}
  .geo__drop{top:68px}
  .header__mobile-actions{order:2;display:flex;align-items:center;gap:8px;margin-right:8px}
  .header__feature{order:3;width:40px;height:40px;flex:none}
  .header__burger{width:28px;height:19px}
  .header__close{width:24px;height:24px}
  .header__nav{z-index:1001}
  .header__feature,.header__close,.header__burger{z-index:1002}
  .tu-header-lead__dialog{left:0;right:0;bottom:0;top:auto;transform:none;width:auto;max-width:none;border-radius:18px 18px 0 0;
    padding:26px 20px 22px}
  .tu-header-lead__title{font-size:20px}
  .tu-header-lead__text{font-size:12px}
  .tu-header-lead .tu-form-policy{font-size:10px;line-height:1.35}
}

@media (max-width:380px){
  .header__logo{width:50px;height:auto}
  .geo__btn,.header__mcta,.header__feature{width:36px;height:36px}
  .header__mobile-actions{gap:6px;margin-right:6px}
}

/* Autopark detail pages */
.product__item_link{display:block;color:inherit;text-decoration:none;position:relative}
.product__item_link .product__subtitle,.product__item_link .product__tag,.product__item_link .product__text{transition:color .18s}
.product__item_link:hover .product__subtitle{color:#f13613}
.product__more{display:inline-flex;align-items:center;gap:8px;margin-top:8px;color:#f13613;font-size:13px;font-weight:700;text-transform:uppercase}
.product__more::after{content:'';display:block;width:26px;height:1px;background:currentColor}

.tu-product__hero{padding-bottom:72px}
.tu-product__hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,520px);gap:48px;align-items:center}
.tu-product__hero-copy{min-width:0}
.tu-product__eyebrow{margin:0 0 14px;color:#f13613;font-size:13px;font-weight:800;text-transform:uppercase}
.tu-product__image-wrap{background:#101010;border:1px solid #262626;border-radius:8px;padding:24px}
.tu-product__image{display:block;width:100%;height:auto;object-fit:contain}
.tu-product__facts{padding:40px 0;background:#0a0a0a;border-top:1px solid #1d1d1d;border-bottom:1px solid #1d1d1d}
.tu-product__facts-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.tu-product__fact{background:#111;border:1px solid #222;border-radius:8px;padding:18px}
.tu-product__fact span{display:block;margin-bottom:8px;color:#8e8e8e;font-size:12px;line-height:1.35}
.tu-product__fact b{display:block;color:#fff;font-size:17px;line-height:1.25}
.tu-product__body{padding:64px 0}
.tu-product__grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:44px;align-items:start}
.tu-product__content{max-width:820px}
.tu-product__content h2,.tu-product__aside h2{margin:0 0 18px;font-size:26px;line-height:1.15;text-transform:uppercase}
.tu-product__content h2:not(:first-child){margin-top:38px}
.tu-product__content p{margin:0 0 18px;color:#c4c4c4;font-size:16px;line-height:1.7}
.tu-product__content ul{margin:0 0 18px;padding:0;list-style:none}
.tu-product__content li{position:relative;margin-bottom:10px;padding-left:26px;color:#c4c4c4;font-size:16px;line-height:1.6}
.tu-product__content li::before{content:'';position:absolute;left:0;top:11px;width:10px;height:2px;background:#f13613}
.tu-product__tech{display:grid;gap:18px;margin:0 0 18px}
.tu-product__tech-section{background:#0d0d0d;border:1px solid #242424;border-radius:8px;padding:20px}
.tu-product__tech-section h3{margin:0 0 12px;color:#fff;font-size:18px;line-height:1.25;text-transform:uppercase}
.tu-product__tech-list{display:grid;margin:0}
.tu-product__tech-row{display:grid;grid-template-columns:minmax(170px,260px) minmax(0,1fr);gap:18px;padding:12px 0;border-top:1px solid #242424}
.tu-product__tech-row:first-child{border-top:0}
.tu-product__tech-row dt{color:#8e8e8e;font-size:13px;font-weight:800;line-height:1.35;text-transform:uppercase}
.tu-product__tech-row dd{min-width:0;margin:0;color:#e6e6e6;font-size:15px;line-height:1.55}
.tu-product__aside{position:sticky;top:108px;background:#0d0d0d;border:1px solid #242424;border-radius:8px;padding:24px}
.tu-product__services{display:grid;gap:10px;margin-bottom:22px}
.tu-product__services a{display:block;padding:13px 14px;background:#141414;border:1px solid #242424;border-radius:8px;color:#fff;text-decoration:none;font-size:14px;line-height:1.35;transition:border-color .18s,color .18s}
.tu-product__services a:hover{border-color:#f13613;color:#f13613}
.tu-product__aside-btn{width:100%;box-sizing:border-box;text-align:center}
.tu-product-compare{padding:64px 0;background:#070707;border-top:1px solid #1d1d1d}
.tu-product-compare__title{margin:0 0 14px;color:#fff;font-size:clamp(24px,2.45vw,34px);line-height:1.12;text-transform:uppercase}
.tu-product-compare__lead{max-width:820px;margin:0 0 26px;color:#b8b8b8;font-size:16px;line-height:1.65}
.tu-product-compare__table-wrap{width:100%;overflow-x:auto;border:1px solid #242424;border-radius:8px;background:#0d0d0d}
.tu-product-compare__table{width:100%;min-width:980px;border-collapse:collapse;color:#c7c7c7;font-size:14px;line-height:1.5}
.tu-product-compare__table th,.tu-product-compare__table td{padding:15px 14px;border-bottom:1px solid #242424;border-right:1px solid #242424;text-align:left;vertical-align:top}
.tu-product-compare__table th:last-child,.tu-product-compare__table td:last-child{border-right:0}
.tu-product-compare__table tr:last-child td{border-bottom:0}
.tu-product-compare__table th{color:#fff;background:#161616;text-transform:uppercase;font-size:12px;font-weight:800;line-height:1.3}
.tu-product-compare__table td:first-child{font-weight:800;color:#fff}
.tu-product-compare__table a{color:#fff;text-decoration:none}
.tu-product-compare__table a:hover{color:#f13613}

@media (max-width:980px){
  .tu-product__hero-grid,.tu-product__grid{grid-template-columns:1fr}
  .tu-product__facts-grid{grid-template-columns:repeat(2,1fr)}
  .tu-product__aside{position:static}
}

@media (max-width:600px){
  .product__more{font-size:11px}
  .tu-product__hero{padding-bottom:50px}
  .tu-product__hero-grid{gap:28px}
  .tu-product__image-wrap{padding:14px}
  .tu-product__facts{padding:24px 0}
  .tu-product__facts-grid{grid-template-columns:1fr}
  .tu-product__fact{padding:16px}
  .tu-product__body{padding:42px 0}
  .tu-product__content h2,.tu-product__aside h2{font-size:22px}
  .tu-product__tech-section{padding:16px}
  .tu-product__tech-row{grid-template-columns:1fr;gap:5px}
  .tu-product__tech-row dt{font-size:12px}
  .tu-product__tech-row dd{font-size:14px}
}

@media (max-width:768px){
  .portfolio{background-image:url('../img/portfolio1440-768.webp')}
  .autopark{background-image:url('../img/autopark1440-768.webp')}
  .partner{background-image:url('../img/partner1440-768.webp')}
  .about{background-image:url('../img/about1440-768.webp')}
}

/* Mobile header overlays */
@media (max-width:768px){
  body.tu-mobile-nav-open,body.tu-geo-open{overflow:hidden}
  body.tu-mobile-nav-open .header,body.tu-geo-open .header{z-index:12000}
  .header__nav{left:0;right:0;bottom:0;width:auto;height:100vh;height:100dvh;
    padding:88px 20px max(28px,env(safe-area-inset-bottom));overflow-y:auto;overflow-x:hidden;
    overscroll-behavior:contain;-webkit-overflow-scrolling:touch;transition:transform .28s ease;z-index:1001}
  .header__close{transition:transform .28s ease}
  .nav__list{min-height:100%;justify-content:flex-start;gap:12px;margin-right:0;padding-bottom:16px}
  .nav__link{font-size:18px;line-height:1.15}
  .nav__sub{padding:2px 0 3px}
  .nav__sub-link{font-size:14px;line-height:1.22;padding:4px 6px;white-space:normal}
  .geo{z-index:1004}
  .geo__drop{position:fixed;left:12px;right:12px;top:72px;bottom:12px;width:auto;max-width:none;
    display:flex;flex-direction:column;overflow:hidden;padding:13px 14px;z-index:1005}
  .geo__hint{margin-bottom:8px}
  .geo__list{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1px 10px;max-height:none;min-height:0;
    overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:2px}
  .geo__item{min-width:0;white-space:normal;font-size:12px;line-height:1.25;padding:6px 8px}
  .geo__group{margin:12px 0 4px;padding:8px 8px 0;font-size:10px;line-height:1.25}
}

@media (max-width:380px){
  .header__nav{padding-top:82px}
  .nav__list{gap:10px}
  .nav__link{font-size:17px}
  .nav__sub-link{font-size:13px;padding:3px 5px}
  .geo__drop{top:68px;left:10px;right:10px;bottom:10px;padding:12px}
  .geo__list{gap:1px 8px}
}

@media (max-width:768px) and (max-height:680px){
  .header__nav{padding-top:74px}
  .nav__list{gap:9px}
  .nav__link{font-size:16px}
  .nav__sub-link{font-size:12px;padding:3px 5px}
  .geo__drop{top:66px;bottom:8px}
}

/* Mobile fixed header lock */
@media (max-width:768px){
  .header{
    position:fixed !important;
    top:var(--tu-vv-top,0px) !important;
    left:var(--tu-vv-left,0px) !important;
    right:auto !important;
    width:var(--tu-vv-width,100%) !important;
    height:68px;
    min-height:68px;
    padding-top:16px !important;
    padding-bottom:16px !important;
    box-sizing:border-box;
    overflow:visible;
    transform:translate3d(0,0,0) !important;
    backface-visibility:hidden;
    will-change:transform;
    z-index:10000;
  }
  .header__container{
    width:100% !important;
    max-width:none !important;
    height:36px;
    margin:0 !important;
    padding-left:20px !important;
    padding-right:20px !important;
  }
  .header__container>a,.geo,.header__mobile-actions,.header__feature{flex:none}
  .admin-bar .header{top:46px !important}
}
