/* LOKI — Blue theme (на основе вашего CSS, адаптировано под мой HTML) */
:root{
  /* Цвета темы (синие) */
  --bg:#0b0f16;           /* глубокий тёмный синий/графит */
  --card:#0f1420;         /* поверхность карточек */
  --text:#f3f6fa;         /* основной текст */
  --muted:#b9c7d8;        /* вторичный текст */
  --brand:#2b7bff;        /* главный синий акцент */
  --brand-2:#5aa3ff;      /* светлый/второй акцент */
  --brand-dark:#0a224b;   /* тёмный синий оверлей */
  --radius:16px;
  --shadow:0 10px 30px rgba(0,0,0,.35);
  --shadow-brand:0 10px 22px rgba(43,123,255,.28);
  --shadow-brand-lg:0 14px 30px rgba(43,123,255,.35);
  --max:1160px;

  /* Mobile gutters */
  --gx: clamp(22px, 6vw, 28px);
}

/* Base */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;
  color:var(--text);
  background:var(--bg);
  line-height:1.55;
}
img,video,svg{max-width:100%;height:auto}
a{color:var(--brand);text-decoration:none}
a:hover{opacity:.92}

/* Ссылка пропуска к контенту */
.skip-link{
  position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip-link:focus{
  position:fixed; left:16px; top:16px; width:auto; height:auto;
  background:var(--card); color:var(--text);
  border:1px solid rgba(255,255,255,.16); border-radius:999px;
  padding:8px 12px; z-index:1000;
}

/* Контейнер: мобильные отступы всегда, на десктопе = 16px */
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gx)}
@media (min-width:720px){ .wrap{padding-inline:16px} }

/* Header */
.site-header, header{
  position:sticky; top:0; z-index:50;
  backdrop-filter:saturate(140%) blur(8px);
  background:linear-gradient(to bottom, rgba(10,16,28,.95), rgba(10,16,28,.7));
  border-bottom:1px solid rgba(255,255,255,.08);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding-block:12px; /* только вертикаль */
}
.logo{display:flex; align-items:center; gap:10px; font-weight:700; letter-spacing:.2px}
.logo__mark{
  width:28px; height:28px; border-radius:9px;
  background:linear-gradient(135deg,var(--brand),var(--brand-2));
  box-shadow:0 6px 18px rgba(90,163,255,.35)
}

/* nav links (desktop only) */
.nav__links{display:none; gap:16px}
.nav__links a{color:var(--text); opacity:.9}
.nav__links a:hover{opacity:1}
@media (min-width:900px){ .nav__links{display:flex} }

/* Кнопки */
.btn{
  display:inline-flex; align-items:center; gap:8px; padding:10px 16px;
  border-radius:999px; font-weight:700;
  background:linear-gradient(135deg,var(--brand),var(--brand-2));
  color:#071733;
  box-shadow:var(--shadow-brand);
  transition:transform .15s ease, box-shadow .2s ease, opacity .2s ease;
}
.btn:hover{transform:translateY(-1px); box-shadow:var(--shadow-brand-lg)}
.btn--ghost{
  background:transparent;
  border:1px solid rgba(255,255,255,.14);
  color:var(--text)
}
.btn--lg{padding:12px 20px; font-size:1.05rem}

/* Hero */
.hero{
  position:relative;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(1000px 500px at 12% -10%, rgba(43,123,255,.12), transparent 55%),
    radial-gradient(800px 420px at 80% -20%, rgba(90,163,255,.10), transparent 60%),
    var(--bg);
}
.hero .wrap{padding-inline:var(--gx)}
@media (min-width:720px){ .hero .wrap{padding-inline:16px} }

.hero__grid{
  display:grid; gap:22px; padding-block:22px 28px;
}
@media (min-width:900px){
  .hero__grid{grid-template-columns:1.1fr .9fr; align-items:center}
}
.hero__badge{
  display:inline-flex; gap:8px; align-items:center; padding:6px 10px;
  border:1px solid rgba(255,255,255,.16); border-radius:999px; font-size:12px; color:var(--muted)
}
.hero__title{font-size:clamp(26px,6vw,44px); line-height:1.15; margin:6px 0 12px}
.hero__lead{color:var(--muted); font-size:15px}
.hero__cta{display:flex; gap:10px; flex-wrap:wrap}
.hero__img{
  width:100%; height:100%; object-fit:cover; border-radius:var(--radius);
  box-shadow:var(--shadow);
  border:1px solid rgba(255,255,255,.08);
}
.hero__art{border-radius:var(--radius); overflow:hidden}

/* Breadcrumbs */
.breadcrumbs{
  border-bottom:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
}
.breadcrumbs ol{
  list-style:none; margin:0; padding:10px var(--gx);
  display:flex; gap:8px; flex-wrap:wrap
}
.breadcrumbs a{color:var(--muted)}
.breadcrumbs [aria-current="page"]{color:var(--text); opacity:.9}

/* Иконки/категории */
.icons, .icons-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
  gap:16px; padding-block:32px;
}
.icon-card{
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px; padding:12px; text-align:center;
  box-shadow:var(--shadow);
  transition:transform .12s ease, box-shadow .2s ease, border-color .2s ease;
}
.icon-card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(43,123,255,.25);
  border-color:rgba(43,123,255,.35);
}
.icon-card img{width:100%; height:100%; object-fit:cover; border-radius:8px; margin-bottom:8px}
.icon-card span{font-size:14px; color:var(--text)}
@media (max-width:640px){ .icon-card img{height:100%} }

/* Общие секции */
section{padding-block:28px}
.h2{font-size:clamp(20px,4.8vw,32px); margin:0 0 12px}
.muted{color:var(--muted)}
.grid{display:grid; gap:12px}
.card{
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  border:1px solid rgba(255,255,255,.08); border-radius:var(--radius);
  padding:16px; box-shadow:var(--shadow)
}

/* Плашки, фичи, теги */
.features{display:grid; grid-template-columns:1fr 1fr; gap:10px}
@media (min-width:900px){ .features{grid-template-columns:repeat(4,1fr)} }
.feature{padding:14px; border:1px dashed rgba(255,255,255,.12); border-radius:14px}
.feature b{display:block; font-size:14px; margin-bottom:4px}

.pills{display:flex; flex-wrap:wrap; gap:8px}
.pill{
  font-size:13px; padding:8px 12px; border-radius:999px;
  background:rgba(43,123,255,.12); border:1px solid rgba(43,123,255,.4)
}

/* Таблицы — комфортны на мобилках */
.table-wrap{overflow-x:auto; -webkit-overflow-scrolling:touch}
.table{
  width:100%; border-collapse:collapse; margin:0 0 16px;
  min-width:560px;
  background:transparent;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
}
.table th,.table td{
  padding:10px 12px; border-bottom:1px solid rgba(255,255,255,.1); white-space:nowrap;
}
.table th{text-align:left; color:var(--muted)}
.table tr:last-child td{border-bottom:0}

/* Заметки/уведомления */
.notice{
  padding:12px 14px; border-radius:14px; border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.02);
}
.notice--info{
  background:linear-gradient(180deg, rgba(43,123,255,.12), rgba(43,123,255,.06));
  border-color:rgba(43,123,255,.35);
}

/* Вызовы внимания / callout */
.callout{
  padding:14px 16px; border-radius:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  border:1px dashed rgba(43,123,255,.35);
}

/* FAQ */
.faq details{
  border:1px solid rgba(255,255,255,.08); border-radius:12px;
  padding:12px 14px; margin-bottom:8px; background:rgba(255,255,255,.02)
}
.faq summary{cursor:pointer; list-style:none; font-weight:600}
.faq summary::-webkit-details-marker{display:none}
.faq details[open]{border-color:rgba(43,123,255,.35)}

/* CTA блок */
.cta{
  background:
    radial-gradient(600px 280px at 85% -10%, rgba(90,163,255,.12), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.cta__grid{
  display:grid; gap:14px; align-items:center;
}
@media (min-width:900px){
  .cta__grid{grid-template-columns:1.2fr .8fr}
}
.cta__actions{display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-start}

/* Footer */
.site-footer, footer{
  border-top:1px solid rgba(255,255,255,.08);
  padding-block:18px 28px;
  color:var(--muted)
}
.footer__grid{display:grid; gap:6px}
@media (min-width:900px){ .footer__grid{grid-template-columns:1fr auto} }

/* Доступность: фокусы */
:focus-visible{
  outline:2px solid var(--brand);
  outline-offset:2px;
  border-radius:6px;
}

/* Утилиты */
.hidden{display:none !important}
.center{text-align:center}

/* Совместимость с вашими именами классов из исходника (мэппинг) */
.hero__inner{display:contents} /* чтобы старые сетки не ломались, если класс встретится */
.hero__art{ /* фон-картинка через <img> в новой версии, но оставим стиль */
  background:linear-gradient(180deg, rgba(43,123,255,.18), rgba(10,34,75,.35));
  box-shadow:var(--shadow);
  border:1px solid rgba(255,255,255,.08);
}

