/* Общий слой живости для всех лендов АН.
   Вставляется nginx'ом (sub_filter) на каждый ленд автоматически.
   Классы .lr вешает land.js — без JS ничего не скрыто. */
.hero{overflow:hidden}

/* --- нить прогресса и кнопка «наверх» (паттерн Esleya) --- */
.readbar{position:fixed;left:0;top:0;height:2px;z-index:70;width:0;opacity:.35;
  background:var(--accent,#B5452F);transition:width .12s linear}
.to-top{position:fixed;right:18px;bottom:104px;z-index:390;/* приподнята: в углу живёт виджет чата */width:46px;height:46px;
  border-radius:50%;border:none;background:var(--accent,#B5452F);color:#fff;
  font-size:20px;line-height:1;cursor:pointer;opacity:0;visibility:hidden;
  transform:translateY(8px);transition:opacity .25s,transform .25s,visibility .25s;
  box-shadow:0 8px 24px rgba(0,0,0,.18)}
.to-top.on{opacity:.92;visibility:visible;transform:none}
.to-top:hover{opacity:1}

/* --- зум картинок: вуаль + клон, открытие плавно, закрытие мгновенно --- */
.zoom-veil{position:fixed;inset:0;z-index:400;background:rgba(22,17,14,.9);
  opacity:0;visibility:hidden;transition:opacity .35s ease;pointer-events:none}
.zoom-veil.is-on{opacity:1;visibility:visible}
img.lz{cursor:zoom-in}
.lz-clone{position:fixed;z-index:401;margin:0;border-radius:6px;
  box-shadow:0 24px 80px rgba(0,0,0,.45);cursor:zoom-out;
  transition:transform .38s cubic-bezier(.2,.8,.2,1);will-change:transform}
.lz-clone.closing{transition:none}
body:has(.zoom-veil.is-on) .to-top{opacity:0!important;visibility:hidden;pointer-events:none}

@media (prefers-reduced-motion: no-preference){
  .lr{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s cubic-bezier(.16,1,.3,1)}
  .lr.in{opacity:1;transform:none}
  .lr-d1{transition-delay:.08s}
  .lr-d2{transition-delay:.16s}
  .lr-d3{transition-delay:.24s}

  .hero-bg{animation:landKen 14s ease-out both}
  @keyframes landKen{from{transform:scale(1.07)}to{transform:scale(1)}}

  .btn{transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
  .btn:hover{transform:translateY(-2px)}
  .btn:active{transform:translateY(0) scale(.98)}

  .pay,.cards>*{transition:transform .25s ease,box-shadow .25s ease}
  .pay:hover,.cards>*:hover{transform:translateY(-4px)}
  /* факты: разделители-линии стоят на месте, приподнимается только цифра */
  .fact-num{transition:transform .25s ease}
  .fact:hover .fact-num{transform:translateY(-3px)}

  img.lz{transition:transform .3s ease,filter .3s ease}
  img.lz:hover{transform:scale(1.02)}

  .hero-badge{animation:landPulse 3.4s ease-in-out 1.2s infinite}
  @keyframes landPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.03)}}
}
@media (prefers-reduced-motion: reduce){
  .lz-clone{transition:none}
  .readbar{transition:none}
}

/* --- якоря: не прятаться под липкую шапку + заметное «приземление» --- */
section[id],[id="akcii"]{scroll-margin-top:96px}
:target .promo,section:target .sale-banner{animation:landFlash 1.1s ease 1}
@keyframes landFlash{
  0%{box-shadow:0 0 0 0 rgba(181,69,47,0)}
  25%{box-shadow:0 0 0 6px rgba(181,69,47,.45);transform:scale(1.012)}
  100%{box-shadow:0 0 0 0 rgba(181,69,47,0);transform:none}
}
