/* ─────────────────────────────────────────────────────────────
   Заслон AV — общий стиль сайта (дизайн-система)
   Перенесено из дизайн-бандла Claude Design. Единый файл для всех
   страниц: цвета, типографика, анимации, адаптив.
   ───────────────────────────────────────────────────────────── */

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; background:#0B0E13; }
body{ font-family:'IBM Plex Sans',system-ui,sans-serif; -webkit-font-smoothing:antialiased; }
::selection{ background:rgba(255,90,60,0.28); color:#fff; }
a{ text-decoration:none; color:inherit; }
input,select,textarea{ font-family:inherit; }
:focus-visible{ outline:2px solid #FF5A3C; outline-offset:2px; border-radius:4px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible{ outline:2px solid #FF5A3C; outline-offset:2px; }
[id]{ scroll-margin-top:88px; }

/* ── Ключевые кадры анимаций ───────────────────────────────── */
@keyframes zaFadeUp{ from{opacity:0; transform:translateY(22px);} to{opacity:1; transform:translateY(0);} }
@keyframes zaSheen{ 0%{transform:translateX(-120%) skewX(-18deg);} 60%,100%{transform:translateX(320%) skewX(-18deg);} }
@keyframes zaGridFloat{ 0%{background-position:0 0,0 0;} 100%{background-position:54px 54px,54px 54px;} }
@keyframes zaPerim{ 0%{opacity:.35;} 50%{opacity:.9;} 100%{opacity:.35;} }
@keyframes zaScan{ 0%{transform:translateY(-10%); opacity:0;} 12%{opacity:.9;} 88%{opacity:.9;} 100%{transform:translateY(1100%); opacity:0;} }
@keyframes zaFloatA{ 0%,100%{transform:translateY(0);} 50%{transform:translateY(-14px);} }
@keyframes zaFloatB{ 0%,100%{transform:translateY(0);} 50%{transform:translateY(12px);} }
@keyframes zaSpin{ to{transform:rotate(360deg);} }
@keyframes zaPulse{ 0%,100%{transform:scale(1); opacity:.55;} 50%{transform:scale(1.06); opacity:1;} }
@keyframes zaGrad{ 0%{background-position:0% 50%;} 100%{background-position:200% 50%;} }
@keyframes zaDrift{ 0%{transform:translate(0,0);} 100%{transform:translate(40px,-60px);} }
@keyframes zaRing{ to{stroke-dashoffset:var(--za-off);} }
@keyframes zaBreachBox{ 0%,52%{border-color:rgba(52,211,153,0.4); box-shadow:0 0 0 0 rgba(52,211,153,0);} 64%,90%{border-color:rgba(255,90,60,0.6); box-shadow:0 0 26px rgba(255,90,60,0.18);} 100%{border-color:rgba(52,211,153,0.4); box-shadow:0 0 0 0 rgba(52,211,153,0);} }
@keyframes zaBreachAlert{ 0%,56%{opacity:0; transform:translateY(8px);} 70%,90%{opacity:1; transform:translateY(0);} 100%{opacity:0; transform:translateY(8px);} }
@keyframes zaPop{ 0%{transform:scale(.7); opacity:0;} 100%{transform:scale(1); opacity:1;} }

/* ── Адаптив ───────────────────────────────────────────────── */
@media (max-width:920px){
  [data-desk-nav],[data-desk-cta]{ display:none !important; }
  [data-mob-btn]{ display:flex !important; align-items:center; justify-content:center; }
}
@media (max-width:960px){
  [data-hero],[data-split2],[data-purchase-grid],[data-dl-grid],[data-act-grid],[data-req-grid],[data-sup-grid],[data-contact-grid],[data-cap-grid],[data-scan-grid],[data-price-grid]{ grid-template-columns:1fr !important; }
  [data-cards],[data-cat-grid],[data-steps]{ grid-template-columns:1fr 1fr !important; }
}
@media (max-width:560px){
  [data-cards],[data-cat-grid],[data-steps],[data-foot-grid]{ grid-template-columns:1fr !important; }
}
@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}
