/* NARTOS — движение и адаптив */

/* появление блоков при прокрутке — мягко, без прыжков */
.rise{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rise.is-in{opacity:1;transform:none}
.rise--1{transition-delay:.08s}
.rise--2{transition-delay:.16s}
.rise--3{transition-delay:.24s}

@media (prefers-reduced-motion:reduce){
  .rise{opacity:1;transform:none}
}

/* ── планшет ────────────────────────────────────────────── */
@media (max-width:1080px){
  .hero__in{grid-template-columns:1fr;gap:44px}
  .show{max-width:560px;min-height:320px}
  .grid3{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr);gap:34px 26px}
  .steps::before,.steps__fill{display:none}
  .nums{grid-template-columns:repeat(2,1fr);gap:34px 22px}
  .contact{grid-template-columns:1fr}
  .work{grid-template-columns:1fr;gap:28px}
  .work:nth-child(even) .work__text{order:0}
}

/* ── телефон ────────────────────────────────────────────── */
@media (max-width:760px){
  body{font-size:17px}
  html{scroll-padding-top:74px}
  .wrap{padding:0 18px}
  .top__in{height:66px;gap:14px}
  .nav,.top__cta{display:none}
  .burger{display:flex}
  /* backdrop-filter делает шапку containing block для position:fixed внутри неё —
     выдвижное меню начинало считать высоту от шапки и схлопывалось в полоску.
     На телефоне блюр не нужен: берём плотный фон. */
  .top.is-stuck,.top.is-menu{backdrop-filter:none;background:var(--paper)}
  .top.is-menu .nav{
    display:flex;position:fixed;left:0;right:0;top:66px;bottom:0;z-index:39;
    flex-direction:column;gap:0;background:var(--paper);padding:20px 18px;margin:0;
    animation:menuIn .3s var(--ease) both;overflow-y:auto;
  }
  @keyframes menuIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
  .top.is-menu .nav a{
    font-family:'Unbounded',sans-serif;font-weight:600;font-size:24px;letter-spacing:-.03em;
    padding:18px 0;border-bottom:1px solid var(--line);
  }
  .top.is-menu .nav a::after{display:none}

  .hero{padding:34px 0 44px}
  .hero__cta{flex-direction:column;align-items:stretch}
  .hero__cta .btn{width:100%}
  .hero__trust{gap:22px}
  .hero__trust div{flex:1 1 40%}
  .hero__trust div b{font-size:26px}
  .show{min-height:290px;aspect-ratio:auto;height:360px}
  .show__badge{right:0;bottom:-16px;max-width:200px;padding:12px 16px}

  .grid3,.grid2,.why{grid-template-columns:1fr;gap:16px}
  .card{padding:26px}
  .steps{grid-template-columns:1fr;gap:28px}
  .nums{grid-template-columns:1fr 1fr;gap:26px 18px}
  .work__no{font-size:44px}
  .work__facts b{width:74px;font-size:11px}

  .sec{padding:52px 0}
  /* пока не ответили про cookie — панель связи уступает место баннеру,
     а страница резервирует под него место, чтобы ничего не пряталось */
  body.has-cookie .dock{display:none}
  body.has-cookie .cookie{bottom:0}
  body.has-cookie{padding-bottom:150px}
  body.has-cookie .site{padding-bottom:0}
  body.has-cookie .foot{padding-bottom:40px}
  .cookie{left:0;right:0;bottom:calc(74px + env(safe-area-inset-bottom));max-width:none;
          border-radius:var(--r-l) var(--r-l) 0 0;padding:13px 14px 15px;
          flex-direction:column;align-items:stretch;gap:10px}
  .cookie p{font-size:14px;line-height:1.45}
  .cookie .btn{min-height:46px;font-size:14.5px}
  .cookie__btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}

  /* читаемость на телефоне: ничего мельче 14 px */
  .eyebrow{font-size:14px;letter-spacing:.12em}
  .work__facts b{font-size:14px;width:auto;min-width:78px}
  .work__state{font-size:14px}
  .work__tags span{font-size:14.5px}
  .slide__k{font-size:14px}
  .show__bar b{font-size:14px}
  .logo span{font-size:14px}
  .show__badge span{font-size:14.5px}
  .card p{font-size:16px}
  .card__for{font-size:15px}
  .form__note,.consent span{font-size:15px}
  .foot{font-size:15.5px}
  .foot__req{font-size:14.5px}

  /* витрина: даём тексту поместиться */
  .show{height:452px}
  .slide{padding:20px}
  .slide p{font-size:15.5px;line-height:1.5}
  .slide__art{height:74px;margin-top:12px}
  .show__badge{position:static;max-width:none;margin-top:12px}
  .dock{display:flex}
  .site{padding-bottom:78px}
  .foot{padding-bottom:96px}
}

@media (max-width:420px){
  /* на узких экранах баннер cookie не должен накрывать кнопки первого экрана */
  .hero{padding-top:24px}
  .hero__lead{font-size:17px}
  .cookie{padding:11px 12px 13px;gap:9px}
  .cookie p{font-size:14px}
  .cookie .btn{min-height:44px;font-size:14px;padding:0 8px}
  .hero__trust div b{font-size:23px}
  .hero__trust div span{font-size:14px}
  .btn{font-size:15.5px;padding:0 22px}
  .dock .btn{font-size:15px;padding:0 10px}
}
