/* ==========================================================================
   ОРБИ — мобильный слой (все страницы). Подключается после main.css и page-*.css.
   Десктоп (≥1024px) визуально не меняется: почти всё — внутри @media (max-width:767px),
   часть тач-правил — @media (pointer:coarse) и (max-width:1023px).
   Разделы:
   01 Токены и типографика ≤767
   02 Утилиты: .only-m/.hidden-m, .snap (лента), .snap-dots, .sheet (шторка), .acc-m (аккордеон)
   03 Шапка, меню, нижняя панель, cookie, тост
   04 Главная: hero-медальон, доверие, направления, подход, Битрикс24, кейсы, как это работает, о компании, контакт
   05 Подвал
   06 Тач: :active, tap-highlight, поля, палитра
   ========================================================================== */

/* ---------- 01 Токены и типографика ---------- */
@media (max-width:767px){
  :root{
    --section:clamp(56px,14vw,80px);--section-s:clamp(48px,12vw,64px);
    --gap:12px;--gutter:16px;--r-xl:28px;--mobile-bar-h:68px;
    --fs-hero:clamp(2.4rem,11vw,3.2rem);--fs-h1:clamp(2.4rem,11vw,3.2rem);--fs-h2:clamp(1.9rem,8vw,2.4rem);
    --fs-h3:clamp(1.25rem,5.4vw,1.5rem);--fs-h4:1.125rem;
    --fs-lead:17px;--fs-body:16px;--fs-small:14px;--fs-num:clamp(3rem,13vw,4rem);--fs-menu:28px;
  }
  .lead,.section-heading__lead{font-size:17px;line-height:1.5}
  body{font-size:16px;line-height:1.55}
  /* Переносы: только в длинных абзацах, никогда — в заголовках, лидах, кнопках, чипах */
  p,.lead,li,dd,h1,h2,h3,h4,.h-hero,.btn,.chip,.link,.count__label,.eyebrow,.menu__link,.partner,.status,.case-legend,.section-heading__lead{-webkit-hyphens:manual;hyphens:manual}
  .prose p,[data-hyphens] p,.dossier__block p,.dossier__feature p,.legal p{-webkit-hyphens:auto;hyphens:auto}
  h1,h2,h3,.h-hero{text-wrap:balance}
  .section-heading{margin-bottom:28px;gap:14px}
  .section-heading h2{max-width:none}
  .section-heading__side{gap:12px}
  .rail{margin-bottom:22px;padding-top:10px}
  .card{padding:20px}
  .chip{font-size:11px;padding:6px 8px}
  .count__label{font-size:14px;margin-top:6px}
}

@media (max-width:360px){:root{--fs-hero:2.3rem;--fs-h1:2.3rem}}

/* ---------- 02 Утилиты ---------- */
.only-m{display:none}
@media (max-width:767px){
  .only-m{display:revert}
  .hidden-m{display:none!important}

  /* Снап-лента: добавь класс .snap любому контейнеру карточек — ниже 768 он станет лентой.
     Ширина карточки — --snap-w (по умолчанию 84%), точки создаёт mobile.js (data-snap-dots="off" — без точек). */
  .snap{display:flex!important;grid-template-columns:none!important;flex-wrap:nowrap;gap:var(--snap-gap,12px);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-inline:calc(-1*var(--gutter));padding:4px var(--gutter) 8px;scroll-padding-inline:var(--gutter);position:relative}
  .snap::-webkit-scrollbar{display:none}
  .snap>*{flex:0 0 var(--snap-w,84%);width:var(--snap-w,84%);min-width:0;scroll-snap-align:start;scroll-snap-stop:always;margin:0}
  .snap::after{content:"";flex:0 0 1px;margin-left:calc(var(--gutter) - var(--snap-gap,12px))}
  .snap--chips>*{flex:0 0 auto;width:auto}
  .snap--center{scroll-padding-inline:calc((100vw - var(--snap-w,84%))/2)}
  .snap-dots{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:4px;min-height:24px}
  .snap-dots button{position:relative;width:6px;height:6px;padding:0;border-radius:3px;background:var(--line-strong);transition:width .3s var(--ease-out),background .3s var(--ease-out)}
  .snap-dots button::before{content:"";position:absolute;inset:-12px -5px}
  .snap-dots button.is-active{width:22px;background:var(--accent-2)}
  [data-theme="brand"] .snap-dots button.is-active{background:#fff}
  .snap-hint{display:inline-flex;align-items:center;gap:6px;font:500 11px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}
  .snap-hint::after{content:"→";font-family:var(--font-text)}

  /* Шторка: класс .sheet вешает mobile.js на dialog.dossier, dialog.lightbox и dialog[data-sheet] */
  dialog.sheet{align-items:flex-end!important;justify-content:stretch!important;padding:0!important;overflow:visible!important}
  dialog.sheet::backdrop{background:rgba(5,7,13,.62);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
  .sheet__handle{position:absolute;left:50%;top:8px;z-index:6;width:40px;height:4px;margin-left:-20px;border-radius:2px;background:var(--line-strong);pointer-events:none}
  .sheet__grip{position:absolute;left:0;right:0;top:0;height:28px;z-index:5;touch-action:none}
  .sheet .sheet__panel,.sheet .dossier__panel,.sheet .lightbox__body{position:relative;width:100%!important;max-width:none!important;height:auto!important;max-height:92dvh!important;border-radius:24px 24px 0 0!important;border-bottom:0!important;overscroll-behavior:contain;padding-bottom:env(safe-area-inset-bottom)}
  .sheet.is-dragging .sheet__panel,.sheet.is-dragging .dossier__panel,.sheet.is-dragging .lightbox__body{transition:none!important}
  .sheet .dossier__panel{grid-template-rows:auto minmax(0,1fr);height:auto!important;max-height:92dvh!important}
  .sheet .dossier__bar{padding-top:18px;border-radius:24px 24px 0 0;touch-action:none}
  .sheet .dossier__scroll{max-height:calc(92dvh - 70px);padding-bottom:calc(24px + env(safe-area-inset-bottom))}
  dialog.lightbox.sheet{display:none;background:transparent}
  dialog.lightbox.sheet[open]{display:flex}
  .lightbox.sheet .lightbox__body{background:var(--surface);border:1px solid var(--line-strong);padding:28px 16px calc(84px + env(safe-area-inset-bottom));overflow:auto;box-shadow:0 -30px 80px -30px rgba(0,0,0,.8);animation:sheet-up .38s var(--ease-expo)}
  .lightbox.sheet .lightbox__img{max-width:100%;max-height:60dvh;width:auto;height:auto}
  .lightbox.sheet .lightbox__cap{margin-top:12px;font-size:14px}
  .lightbox.sheet .lightbox__btn{position:fixed;top:auto;bottom:calc(16px + env(safe-area-inset-bottom));transform:none;background:var(--surface-2);z-index:7}
  .lightbox.sheet .lightbox__close{position:fixed;top:12px;right:12px;background:rgba(14,19,34,.7);z-index:7}
  @keyframes sheet-up{from{transform:translateY(48px);opacity:0}to{transform:none;opacity:1}}

  /* Мобильный аккордеон: <div class="acc-m" data-acc-m="single"><div class="acc-m__item is-open"><button class="acc-m__btn">…</button><div class="acc-m__panel"><div>…</div></div></div></div>
     ≥768 — всё раскрыто и без кнопок, ≤767 — сворачивается */
  .acc-m{display:grid;gap:0;border-top:1px solid var(--line)}
  .acc-m__item{border-bottom:1px solid var(--line)}
  .acc-m__btn{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;padding:14px 0;text-align:left;font:600 16px/1.3 var(--font-text);color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
  .acc-m__btn::after{content:"";flex:none;width:18px;height:18px;border-radius:50%;border:1px solid var(--line-strong);background:linear-gradient(currentColor,currentColor) center/8px 1px no-repeat,linear-gradient(currentColor,currentColor) center/1px 8px no-repeat;color:var(--accent-2);transition:transform .3s var(--ease-out)}
  .acc-m__item.is-open>.acc-m__btn::after{transform:rotate(45deg)}
  .acc-m__panel{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:0fr;transition:grid-template-rows .36s var(--ease-expo)}
  .acc-m__panel>*{overflow:hidden;min-height:0;min-width:0}
  .acc-m__item.is-open>.acc-m__panel{grid-template-rows:1fr}
  .acc-m__panel>*>:last-child{margin-bottom:16px}
}
@media (min-width:768px){
  .acc-m__btn{pointer-events:none}
  .acc-m__btn::after{display:none}
}
.b24__smalls{display:contents}
@media (max-width:767px){.b24__smalls.snap{display:flex!important}}

/* ---------- 03 Шапка, меню, нижняя панель, cookie, тост ---------- */
@media (max-width:767px){
  .header__inner{gap:8px}
  .logo__mark{width:32px;height:32px}
  .logo__word{font-size:20px}
  .header__phone-icon,.burger{width:48px;height:48px}
  .burger span{left:15px}

  /* Полноэкранное меню: крупные пункты, индекс, контакты, CTA, мини-орбита */
  .menu{padding:calc(var(--header-h) + 8px) var(--gutter) calc(20px + env(safe-area-inset-bottom));background:radial-gradient(90% 60% at 100% 0%,rgba(61,91,255,.20),transparent 62%),var(--bg);overflow:hidden auto;overscroll-behavior:contain}
  .menu::before{content:"";position:absolute;right:-30vw;top:-20vw;width:76vw;aspect-ratio:1;border-radius:50%;border:1px dashed rgba(126,231,255,.26);pointer-events:none}
  .menu::after{content:"";position:absolute;right:8vw;top:18vw;width:8px;height:8px;margin:-4px -4px 0 0;border-radius:50%;background:var(--accent-2);box-shadow:0 0 14px var(--accent-2);transform:rotate(0deg) translateX(38vw);animation:menu-sat 18s linear infinite;pointer-events:none}
  @keyframes menu-sat{to{transform:rotate(360deg) translateX(38vw)}}
  .menu__list{gap:0;margin-bottom:auto;position:relative;z-index:1}
  .menu__item{border-bottom:1px solid var(--line);opacity:0;transform:translateY(14px)}
  .menu.is-open .menu__item{animation:menu-item .4s var(--ease-expo) both}
  .menu.is-open .menu__item:nth-child(1){animation-delay:40ms}.menu.is-open .menu__item:nth-child(2){animation-delay:80ms}.menu.is-open .menu__item:nth-child(3){animation-delay:120ms}.menu.is-open .menu__item:nth-child(4){animation-delay:160ms}.menu.is-open .menu__item:nth-child(5){animation-delay:200ms}.menu.is-open .menu__item:nth-child(6){animation-delay:240ms}.menu.is-open .menu__item:nth-child(n+7){animation-delay:280ms}
  @keyframes menu-item{to{opacity:1;transform:none}}
  .menu__link{font-size:var(--fs-menu);line-height:1.15;padding:13px 0;gap:14px;align-items:baseline}
  .menu__link small{min-width:2.2ch}
  .menu__link.is-active::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 8px var(--accent-2);margin-left:auto;align-self:center}
  .menu__contacts{position:relative;z-index:1;margin-top:20px;padding-top:16px;gap:8px;grid-template-columns:1fr 1fr}
  .menu.is-open .menu__contacts{animation:menu-item .4s var(--ease-expo) .3s both;opacity:0}
  .menu__contacts a:not(.btn){display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-pill);font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .menu__contacts a:not(.btn) .icon{width:18px;height:18px}
  .menu__contacts a[href^="mailto"]{grid-column:1/-1}
  .menu__contacts .btn{grid-column:1/-1;width:100%;height:52px;margin-top:6px;justify-self:stretch}

  /* Нижняя панель: стекло, safe-area, тап-зоны ≥48 */
  .mobile-bar{gap:10px;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));background:rgba(5,7,13,.74);-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);border-top:1px solid rgba(255,255,255,.08);box-shadow:0 -16px 48px -24px rgba(0,0,0,.9);transition:transform .34s var(--ease-expo)}
  .mobile-bar .btn{height:48px;gap:8px;font-size:15px}
  .mobile-bar .btn .icon{width:18px;height:18px}
  .mobile-bar .btn--ghost{background:rgba(255,255,255,.04)}

  /* Cookie: компактная строка ≤72px, появляется через 1,5 с, над панелью, если она видна */
  .cookie{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));max-width:none;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:9px 10px 9px 14px;border-radius:18px;font-size:13px;line-height:1.3;color:var(--text-2);background:rgba(20,27,46,.94);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 12px 40px -12px rgba(0,0,0,.7);animation:cookie-in .45s var(--ease-expo) 1.5s both;transition:bottom .34s var(--ease-expo)}
  .cookie[hidden]{display:none}
  @keyframes cookie-in{from{opacity:0;transform:translateY(14px);visibility:hidden}to{opacity:1;transform:none;visibility:visible}}
  .cookie__text{flex:none;margin:0;min-width:0}
  .cookie__actions{display:flex;flex-direction:row;align-items:center;gap:6px;flex:none}
  .cookie__actions .btn{flex:none}
  .cookie__actions [data-cookie="yes"]{height:36px;padding-inline:14px;font-size:13px}
  .cookie__actions [data-cookie="no"]{height:36px;border:0!important;padding:0 6px;font-size:12px;color:var(--text-3);text-decoration:underline;text-underline-offset:3px;background:none!important}
  html.has-bar .cookie{bottom:calc(var(--mobile-bar-h) + 10px + env(safe-area-inset-bottom))}
  html.has-bar .toast{bottom:calc(var(--mobile-bar-h) + 16px + env(safe-area-inset-bottom))}
  html:not(.has-bar) .toast{bottom:calc(24px + env(safe-area-inset-bottom))}
}
/* Панель прячется над формами/контактами/подвалом, при открытых шторках и меню (классы ставит mobile.js) */
@media (max-width:1023px){
  html.bar-off .mobile-bar.is-visible,html.sheet-open .mobile-bar.is-visible,html.menu-open .mobile-bar.is-visible{transform:translateY(110%)}
}

/* ---------- 04 Главная ---------- */
@media (max-width:767px){
  /* Hero-медальон: сцена сверху ~38svh, под ней заголовок, лид, CTA во всю ширину, чипы доверия лентой */
  .stage__canvas-wrap{position:absolute;top:0;left:0;right:0;height:calc(var(--header-h) + 37svh);margin:0;-webkit-mask-image:radial-gradient(72% 64% at 50% 56%,#000 48%,transparent 100%);mask-image:radial-gradient(72% 64% at 50% 56%,#000 48%,transparent 100%)}
  .stage__canvas-wrap::after{content:"";position:absolute;left:50%;top:56%;width:min(74vw,300px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(126,231,255,.10);box-shadow:inset 0 0 90px -30px rgba(61,91,255,.55)}
  .stage__vignette{background:radial-gradient(60% 60% at 50% 56%,transparent 36%,var(--bg) 100%)}
  .stage__fallback{transform:scale(1.55);transform-origin:50% 50%}
  .stage__fallback>g{transform:translate(0,0)}
  .stage__fallback ellipse{opacity:1;stroke-width:2}
  .stage__fallback .fb-sat{r:5}
  .stage__fallback-wrap::before{background:radial-gradient(42% 42% at 50% 56%,rgba(61,91,255,.26),transparent 70%)}
  .hero{min-height:100svh;padding-top:calc(var(--header-h) + 35svh);padding-bottom:24px;align-content:start}
  .hero__inner{gap:14px}
  .hero .eyebrow{font-size:10px;letter-spacing:.1em;white-space:nowrap}
  .hero h1{max-width:none;font-size:var(--fs-hero);line-height:1}
  .hero__lead{max-width:none;font-size:17px;line-height:1.5;text-shadow:none}
  .hero__cta{display:grid;gap:8px;width:100%;margin-top:2px}
  .hero__cta .btn{width:100%;height:50px;font-size:16px}
  .hero__facts{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1*var(--gutter));padding:2px var(--gutter) 4px;scroll-snap-type:x proximity;font-size:13px;letter-spacing:0}
  .hero__facts::-webkit-scrollbar{display:none}
  .hero__facts li{flex:none;gap:6px;padding:9px 12px;border:1px solid var(--line);border-radius:var(--r-pill);background:rgba(14,19,34,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);scroll-snap-align:start;white-space:nowrap}
  .hero__facts li::before{display:none}
  .hero__facts a{gap:6px}

  /* Доверие: лента карточек */
  .trust{padding-top:32px;padding-bottom:40px}
  .trust__cells{--snap-w:76%;margin-bottom:0}
  .trust__cells+.snap-dots{margin-bottom:28px}
  .trust__cell{padding:20px;gap:6px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--edge);align-content:start}
  .trust__cell .count{font-size:3rem}
  .trust__cell .count__label{max-width:none;font-size:14px;margin-top:2px;min-height:3.9em}
  .trust__cell .link{margin-top:auto;font-size:14px}
  .partner--l{padding:9px 12px 9px 9px;font-size:14px;gap:10px;align-self:start}
  .partner--l .icon{width:18px;height:18px}
  .trust .eyebrow{margin-bottom:16px}
  .marquee__track li{height:34px}
  .marquee__track img{height:26px;max-width:120px}
  .marquee__track img.logo--sq{height:34px}
  .marquee__track img.logo--m{height:30px}

  /* Направления: лента с подглядыванием, одометр скрыт */
  .dirs__aside{display:none}
  .dirs__grid{gap:0}
  .dirs__list{--snap-w:84%}
  .card--dir{padding:20px;gap:12px;border-radius:20px;min-height:0;align-content:start;grid-template-rows:auto auto 1fr auto}
  .card--dir .card__verb{margin-bottom:4px;font-size:12px}
  .card--dir h3{font-size:1.3rem;max-width:none;line-height:1.15}
  .card--dir p{font-size:15px;line-height:1.5}
  .card--dir .card__links{gap:10px 18px;font-size:14px;margin-top:0}
  .card--dir .card__icon{width:28px;height:28px}
  .card--all{flex:0 0 62%;width:62%;flex-direction:column;align-items:flex-start;justify-content:center;gap:16px;padding:20px;min-height:0!important}
  .card--all h3{font-size:1.05rem}

  /* Подход */
  .approach__grid{gap:24px;margin-bottom:36px}
  .approach__copy{gap:14px}
  .card--doc{padding:20px 20px 20px 24px;gap:14px}
  .card--doc .doc__spine{width:4px}
  .doc__list{gap:10px;padding-top:14px}
  .doc__list li{font-size:15px;gap:10px}
  .stepper{gap:16px;padding-left:20px}
  .step{gap:4px}
  .step__title{font-size:1rem}
  .step__text{font-size:14px}

  /* Битрикс24 */
  .b24{min-height:0}
  .b24__bento{gap:12px}
  .card--bento{padding:20px;gap:12px;border-radius:20px}
  .b24__main h2{max-width:none}
  .b24__main .lead{max-width:none}
  .b24__actions{display:grid;gap:10px;width:100%;margin-top:4px}
  .b24__actions .btn{width:100%}
  .b24__certs{gap:14px;align-content:start}
  .b24__certs .fan{max-width:280px;aspect-ratio:5/3}
  .b24__stats{gap:20px}
  .b24__stats .count{font-size:2.4rem}
  .b24__stats .count__label{margin-top:2px}
  .b24__smalls{--snap-w:78%}
  .b24__small{align-content:start;grid-template-rows:auto auto 1fr auto}
  .b24__small .count{font-size:2.4rem}
  .b24__small .icon--32{width:28px;height:28px}

  /* Кейсы: иллюстрация свёрнута до «подглядывания», кнопка «развернуть» */
  .case-stack{gap:14px}
  .card--case{border-radius:20px}
  .card--case .case__body{padding:20px;gap:12px}
  .card--case h3{font-size:1.35rem;max-width:none}
  .card--case p{font-size:15px;line-height:1.5}
  .card--case .case__body>.link{font-size:14px}
  .card--case .case__side{padding:16px 16px 0;max-height:132px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 30%,transparent 96%);mask-image:linear-gradient(#000 30%,transparent 96%);transition:max-height .5s var(--ease-expo);align-content:start}
  .card--case.is-expanded .case__side{max-height:1400px;-webkit-mask-image:none;mask-image:none;padding-bottom:16px}
  .card--case .case__ui-cap{margin-top:12px}
  .case__expand{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;border-top:1px solid var(--line);font:500 14px/1 var(--font-text);color:var(--accent-text);background:var(--surface);touch-action:manipulation}
  .case__expand .icon{width:16px;height:16px;transition:transform .3s var(--ease-out)}
  .case__expand-off{display:none}
  .card--case.is-expanded .case__expand .icon{transform:rotate(180deg)}
  .card--case.is-expanded .case__expand-on{display:none}
  .card--case.is-expanded .case__expand-off{display:inline}
  .case-legend{margin-top:16px;font-size:13px}
  .impl{margin-top:44px}
  .impl__head{margin-bottom:16px}
  .impl__grid{--snap-w:82%}
  .card--impl{padding:20px;gap:10px}
  .card--impl h4{font-size:1.25rem}

  /* Как это работает: терминал ниже, схема — горизонтальной строкой */
  .how__grid{gap:24px}
  .how__copy{gap:14px}
  .how__bento{gap:12px}
  .term__bar{padding:10px 14px}
  .term__tag{flex:1 1 100%;margin-left:0;text-align:left}
  .term__body{min-height:200px;padding:14px 14px 16px;font-size:13px;line-height:1.6;gap:6px}
  .leadcard__rows{padding:4px 14px}
  .leadcard__row{grid-template-columns:86px 1fr;padding:8px 0;font-size:13px}
  .how__flow{padding:14px}
  .how__flow .flow{flex-direction:row;align-items:center;overflow-x:auto;scrollbar-width:none;margin-inline:-14px;padding:2px 14px 6px;scroll-snap-type:x proximity}
  .how__flow .flow::-webkit-scrollbar{display:none}
  .how__flow .flow__node{white-space:nowrap;flex:none;padding:10px 12px;font-size:12px;scroll-snap-align:start}
  .how__flow .flow__link{flex:0 0 22px;width:22px;min-width:22px;height:24px;min-height:0}
  .how__flow .flow__link::before{left:0;right:0;top:50%;bottom:auto;width:auto;height:1px}
  .how__flow .flow__link::after{left:0;top:50%;width:100%;height:6px;margin:-3px 0 0;background:radial-gradient(circle at right 3px center,var(--accent-2) 2.5px,transparent 3.2px);transform:translateX(-100%)}
  .how__flow .flow.is-inview .flow__link::after{animation:flow-x 2.4s linear infinite}
  .flow__branch{gap:6px 8px}
  .flow__node--branch{white-space:normal;text-align:left;font-size:12px;padding:8px 12px}
  .how__after{margin-top:24px;font-size:15px}

  /* О компании */
  .about__grid{gap:20px}
  .about__photo{max-width:none}
  .about__photo-wrap{aspect-ratio:4/3;border-radius:20px}
  .about__photo img{height:124%;object-position:50% 18%}
  .about__caption{left:12px;right:auto;bottom:12px;padding:10px 14px;border-radius:14px}
  .about__caption span{font-size:13px}
  .about__copy{gap:14px}
  .about__exp{padding:12px 0;gap:14px}
  .about__exp .count{font-size:2.4rem}

  /* Контакт */
  .contact__grid{gap:24px}
  .contact__list{gap:14px}
  .contact__phone{font-size:1.5rem}
  .contact__row .link{font-size:15px}
  .contact__addr{gap:6px;padding-top:12px;font-size:14px}
  .composer{padding:18px;gap:12px;border-radius:20px}
  .field{gap:6px}
  .field>span{font-size:13px}
  .field textarea{min-height:88px}
  .composer__preview{padding:12px;gap:8px}
  .composer__text{font-size:12px;line-height:1.55}
  .composer__actions{display:grid;gap:8px}
  .composer__actions .btn{width:100%;height:48px}
  .composer__note{font-size:13px;line-height:1.45}
  .callback{margin-top:24px;padding:18px;gap:14px;border-radius:20px}
  .callback__text{gap:10px}
  .callback__desc,.callback__legal{font-size:14px}
  .callback__form{min-height:220px}
}

/* ---------- 05 Подвал ---------- */
@media (max-width:767px){
  .footer{padding-top:40px;padding-bottom:0}
  .footer__top{gap:24px;margin-bottom:24px}
  .footer__mark{width:64px}
  .footer__tagline{margin-top:10px;font-size:11px}
  .footer__cols{grid-template-columns:1fr 1fr;gap:20px 12px}
  .footer__col .footer__h{margin-bottom:8px;font-size:12px}
  .footer__col ul{gap:0}
  .footer__col a{padding:8px 0;font-size:14px}
  .footer__col:last-child{grid-column:1/-1}
  .footer__col:last-child ul{display:flex;flex-wrap:wrap;gap:8px}
  .footer__col:last-child a{border:1px solid var(--line);border-radius:var(--r-pill);padding:10px 12px;font-size:13px;gap:6px}
  .footer__col:last-child li:last-child{flex:1 1 100%;margin-top:4px}
  .footer__col address{font-size:13px}
  .footer__giant-wrap{margin-top:20px}
  .footer__bottom{padding:14px 0 calc(18px + env(safe-area-inset-bottom));gap:8px 16px;font-size:11px}
}

/* ---------- 06 Тач ---------- */
@media (pointer:coarse){
  html,a,button,label,summary{-webkit-tap-highlight-color:transparent}
  a,button,summary,[role="tab"],.snap>*{touch-action:manipulation}
  .header__kbd{display:none!important}
}
@media (pointer:coarse) and (max-width:1023px){
  .btn,.chip,.card:not(.card--static):not(.card--case),.snap-dots button,.copy,.menu__contacts a,.footer__col:last-child a,.hero__facts li,.acc-m__btn,.case__expand,.card__toggle,.seg__tab{transition-duration:120ms}
  .btn:active,.chip:active,.snap>.card:active,.copy:active,.menu__contacts a:active,.footer__col:last-child a:active,.hero__facts li:active,.case__expand:active,.card__toggle:active{transform:scale(.98)}
  .acc-m__btn:active,.seg__tab:active{opacity:.7}
  .snap-dots button:active{transform:scaleY(1.6)}
}
@media (max-width:767px){
  input,select,textarea,.field input,.field textarea,.field select,.palette__input{font-size:max(16px,1em)}
}
