:root{
--violet-50:#f5f3ff; --violet-100:#ede9fe; --violet-200:#ddd6fe; --violet-300:#c4b5fd; --violet-400:#a78bfa; --violet-500:#8b5cf6; --violet-600:#7c3aed; --violet-700:#6d28d9; --violet-800:#5b21b6; --violet-900:#4c1d95;
--bg:#0f0b1b; --bg-soft:#151027; --card:#1b1533; --border:rgba(255,255,255,.08);
--text:#f6f4ff; --muted:#cbc4ff; --accent:var(--violet-500); --accent-2:var(--violet-300);
--shadow:0 10px 30px rgba(139,92,246,.25); --radius:20px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;color:var(--text);background:var(--bg);font:16px/1.6 Inter,system-ui,sans-serif}
a{color:var(--accent);text-decoration:none}a:hover{opacity:.9}
img{max-width:100%;height:auto;display:block}
.container{width:100%;max-width:1120px;margin:0 auto;padding:0 20px}


/* Header */
.header{position:sticky;top:0;z-index:50;background:rgba(15,11,27,.8);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:64px}
.logo{font-weight:800}
.nav{display:flex;gap:20px;flex-wrap:wrap}
.nav-link{color:var(--muted);padding:10px 14px;border-radius:12px}
.nav-link:hover{color:var(--text);background:rgba(124,58,237,.08)}


/* Hero */
.hero{padding:96px 0;background:radial-gradient(800px 400px at 70% -20%, rgba(167,139,250,.25), transparent 60%)}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:center}
.hero h1{margin:0;font-size:clamp(32px,4vw,56px)}
.hero p{margin:16px 0 28px;color:var(--muted)}
.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:14px;border:1px solid var(--border);cursor:pointer;font-weight:600}
.btn-primary{background:linear-gradient(180deg, var(--violet-500), var(--violet-700));box-shadow:var(--shadow);color:#fff}
.btn-secondary{background:transparent;color:var(--text)}
.hero-card{background:rgba(27,21,51,.7);border:1px solid var(--border);border-radius:var(--radius);padding:24px}


/* Sections */
.section{padding:72px 0;border-top:1px solid var(--border)}
.section-title{font-size:clamp(24px,3vw,32px);margin:0 0 14px}
.section-text{margin:0 0 18px;color:var(--muted)}
.values-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;list-style:none;padding:0;margin:16px 0 0}
.values-list li{background:rgba(27,21,51,.6);border:1px solid var(--border);padding:14px 16px;border-radius:14px}


/* Cards */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.service-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:22px}


/* Catalog */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cat-card{display:flex;gap:14px;align-items:flex-start;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px}
.cat-ico{flex:0 0 44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(139,92,246,.25);font-size:22px}
.cat-title{margin:0;font-weight:700}
.cat-desc{margin:6px 0 0;color:var(--muted);font-size:14px}


/* Partners */
.partners-logos img{filter:grayscale(100%) brightness(120%);opacity:.9}
.partners-logos img:hover{opacity:1;filter:none}


/* Contacts */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.contact-info,.contact-form{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px}
.contact-form input,.contact-form textarea{width:100%;margin:8px 0;background:#120e22;border:1px solid var(--border);border-radius:12px;padding:12px 14px;color:var(--text)}


/* Footer */
.footer{padding:28px 0;border-top:1px solid var(--border);color:var(--muted);text-align:center}


/* Animations */
.animate {
  opacity: 0;
  transform: translateY(32px) scale(0.98);
  filter: blur(4px);
  transition:
    opacity 0.8s ease-out,
    transform 0.8s ease-out,
    filter 0.8s ease-out;
  will-change: opacity, transform, filter;
}

.show {
  opacity: 1;
  transform: none;
  filter: none;
}

/* Ставим задержку для секций — каждая следующая чуть позже */
.section.animate:nth-of-type(1) { transition-delay: 0.1s; }
.section.animate:nth-of-type(2) { transition-delay: 0.2s; }
.section.animate:nth-of-type(3) { transition-delay: 0.3s; }
.section.animate:nth-of-type(4) { transition-delay: 0.4s; }
.section.animate:nth-of-type(5) { transition-delay: 0.5s; }

/* статус под формой */
#contact-status{ margin-top:8px; color:var(--muted); font-size:14px }
/* honeypot скрыт */
.hp-field{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0; pointer-events:none }
/* визуальная блокировка кнопки во время отправки */
button.is-busy{ opacity:.7; cursor:wait }

/* Partners (ticker) */
.partners{position:relative;overflow:hidden}
.logo-ticker{
  position:relative;white-space:nowrap;
  mask-image:linear-gradient(to right, transparent 0%, #000 8%, #000 92%, transparent 100%);
  -webkit-mask-image:linear-gradient(to right, transparent 0%, #000 8%, #000 92%, transparent 100%);
}
.ticker-track{
  display:flex;align-items:center;gap:48px;width:max-content;
  animation:scrollx 40s linear infinite;
}
.partners:hover .ticker-track{animation-play-state:paused}
.logo-item{flex:0 0 auto;display:flex;align-items:center;justify-content:center;
  opacity:.9;filter:grayscale(100%) brightness(120%);
  transition:opacity .2s ease, filter .2s ease}
.logo-item:hover{opacity:1;filter:grayscale(0%) brightness(100%)}
.logo-item img{height:80px;object-fit:contain; display:block}
.logo-item-s img{height:150px;object-fit:contain;display:block }
/* Белое свечение только по буквам/знакам */
.logo-item img,
.logo-item-s img {
  filter: grayscale(100%) brightness(1.1)
          drop-shadow(0 0 4px rgba(255,255,255,.6))
          drop-shadow(0 0 8px rgba(255,255,255,.4));
  opacity: .95;
  transition: filter .25s ease, opacity .25s ease;
}

.logo-item:hover img,
.logo-item-s:hover img {
  filter: grayscale(0%) brightness(1)
          drop-shadow(0 0 6px rgba(255,255,255,.85))
          drop-shadow(0 0 14px rgba(255,255,255,.6));
  opacity: 1;
}

/* === Privacy page (policy) — локальные стили === */
:root{
  --policy-max: 920px;
}

/* Контейнер и базовая типографика */
.privacy-page{
  max-width: var(--policy-max);
  margin: 0 auto;
  padding-bottom: 48px;
}
.privacy-page p{
  margin: 10px 0 0;
  color: var(--muted);
}
.privacy-page a{
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.privacy-page a:hover{ opacity:.9 }

/* Крошки и мета */
.crumbs{ color: var(--muted); font-size:14px; margin-top:8px }
.crumbs a{ color: var(--muted); text-decoration: none }
.crumbs a:hover{ text-decoration: underline }

.meta-line{ color: var(--muted); font-size:13px; margin-top: 6px }

/* Герой/заголовок страницы */
.privacy-hero{
  padding: 56px 0 12px;
  border-top: 1px solid var(--border);
}
.privacy-lead{
  margin: 10px 0 0;
  color: var(--muted);
}

/* Оглавление */
.privacy-toc{
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 14px 16px;
  margin: 14px 0 28px;
}
.privacy-toc ol{ margin:0; padding-left: 18px }
.privacy-toc li{ margin: 6px 0 }
.privacy-toc a{ color: var(--text) }
.privacy-toc a:hover{ color: var(--accent) }

/* Разделы */
.privacy-section{
  padding: 28px 0 8px;
  border-top: 1px solid var(--border);
}
.privacy-section:first-of-type{ border-top: 0 }
.privacy-section .section-title{
  margin: 0 0 8px;
}
.privacy-section p + ul,
.privacy-section p + ol{
  margin-top: 8px;
}
.privacy-section ul,
.privacy-section ol{
  padding-left: 18px;
}
.privacy-section li{
  margin: 6px 0;
  color: var(--muted);
}

/* Якоря: чтобы заголовки не прятались под фикс-хедером */
.privacy-section,
.privacy-hero{
  scroll-margin-top: 84px; /* ≈ высота шапки + отступ */
}

/* Кнопка «Наверх» */
.back-top{
  margin-top: 32px;
}
.back-top a{
  display: inline-block;
  padding: 10px 14px;
  border: 1px solid var(--border);
  border-radius: 12px;
  text-decoration: none;
  color: var(--text);
}
.back-top a:hover{
  background: rgba(124,58,237,.08); /* лёгкий фиолетовый */
}

/* Анимации как на главной */
.privacy-page .animate{ opacity:0; transform: translateY(12px); transition: .4s ease }
.privacy-page .show{ opacity:1; transform: none }

/* Мелкие улучшения типографики */
.privacy-page strong{ color: var(--text) }
.privacy-page h1, .privacy-page h2{
  letter-spacing: .2px;
}
.privacy-page h1{ font-size: clamp(24px, 3.5vw, 32px) }
.privacy-page h2{ font-size: clamp(18px, 2.4vw, 24px) }

/* Таблицы (если появятся) */
.privacy-page table{
  width:100%; border-collapse: collapse; margin: 12px 0;
  border: 1px solid var(--border);
  background: var(--card);
  border-radius: 12px; overflow: hidden;
}
.privacy-page th, .privacy-page td{
  padding: 10px 12px; border-bottom: 1px solid var(--border);
  color: var(--muted);
}
.privacy-page th{ color: var(--text); text-align: left; background: rgba(255,255,255,.02) }
.privacy-page tr:last-child td{ border-bottom: 0 }

/* Ссылки mailto/tel — чуть заметнее */
.privacy-page a[href^="mailto:"],
.privacy-page a[href^="tel:"]{
  font-weight: 600;
}

/* Адаптив */
@media (max-width: 900px){
  .privacy-hero{ padding-top: 36px }
}
@media (max-width: 640px){
  .privacy-page{ padding-left: 6px; padding-right: 6px }
  .privacy-toc{ padding: 12px }
  .back-top{ text-align: center }
}

/* Печать */
@media print{
  .header, .footer, .nav, .back-top{ display:none !important }
  body{ background:#fff; color:#000 }
  .privacy-page{ max-width: 100%; padding: 0 }
  .privacy-section{ border:0 }
  .privacy-page a{ color:#000; text-decoration: underline }
}


@keyframes scrollx{from{transform:translateX(0)} to{transform:translateX(-50%)}}
@media(max-width:640px){.logo-item img{height:28px}}
@media(max-width:900px){.grid-3{grid-template-columns:1fr 1fr}.cat-grid{grid-template-columns:1fr 1fr}.hero-grid{grid-template-columns:1fr}}
@media(max-width:640px){.grid-3,.cat-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}}