/* ========================================================================
   F · DARK THEME — applied on <body class="page-f">
   Repaints existing page structure (styles.css + page-specific styles)
   to match the dark editorial aesthetic of index-f.html.
   No structural HTML changes required.
   ======================================================================== */

body.page-f{
  /* Tokens repainted for dark mode. Keeps original variable names so all
     existing CSS that references them inherits the new palette. */
  --ink:      #e7ecf4;
  --ink-2:    #c7d0de;
  --mute:     #7b8aa3;
  --mute-2:   #8894a8;
  --line:     #1c2538;
  --line-2:   #141c2c;
  --bg:       #0a0f1c;
  --panel:    #0e1626;
  --panel-2:  #0d1424;

  --blue-50:  #12233d;
  --blue-100: #16304f;
  --blue-300: #6ea7df;
  --blue-500: #5c9de0;
  --blue-600: #79b3ed;
  --blue-700: #9ec7f2;
  --blue-900: #cfe0f5;

  --ok:       #4cd493;
  --warn:     #ffc25c;
  --err:      #ff6b6b;

  --display-serif: 'Instrument Serif', Georgia, serif;

  background: var(--bg); color: var(--ink);
}

/* ----- Utilbar ----- */
body.page-f .utilbar{ background:#050913; border-bottom:1px solid #111a2e; }
body.page-f .utilbar .pill{ border-color:#1d2740; color:#8fa2c0; }
body.page-f .utilbar .sep{ color:#2b3553; }
body.page-f .utilbar a:hover{ color:#fff; }

/* ----- Header ----- */
body.page-f .site-header{
  background: rgba(10,15,28,.82);
  border-bottom: 1px solid var(--line);
  -webkit-backdrop-filter: saturate(160%) blur(10px);
  backdrop-filter: saturate(160%) blur(10px);
}
body.page-f .nav a{ color: var(--ink-2); }
body.page-f .nav a:hover{ background:#141c2c; color:#fff; }
body.page-f .nav a.active{ background:#fff; color:#0a0f1c; }

/* ----- Buttons ----- */
body.page-f .btn-ghost{ background:transparent; color:var(--ink); border-color:#243049; }
body.page-f .btn-ghost:hover{ border-color:#fff; }
body.page-f .btn-primary{ background:#fff; color:#0a0f1c; border-color:#fff; }
body.page-f .btn-primary:hover{ background:#e6ecf5; }

/* ----- Universal page head (about, services, contacts, reviews, news, archive) ----- */
body.page-f .page-head{
  background:
    radial-gradient(ellipse 60% 50% at 12% 22%, rgba(90,140,220,.08), transparent 60%),
    radial-gradient(ellipse 50% 60% at 88% 78%, rgba(120,180,240,.06), transparent 60%),
    #0a0f1c;
  color:#f1f5fb;
  padding: 56px 0 48px;
  position: relative; overflow: hidden;
  border-bottom: 1px solid var(--line);
}
body.page-f .page-head::before{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events:none;
}
body.page-f .page-head-inner{ position:relative; max-width: var(--maxw); margin:0 auto; padding:0 24px; }
body.page-f .page-head--services .page-head-inner{
  display:grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: 48px; align-items: end;
}
body.page-f .page-head-cta{
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  padding: 24px;
  display: grid; gap: 14px;
  background: rgba(255,255,255,0.015);
}
body.page-f .page-head-cta__label{
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--blue-600);
}
body.page-f .page-head-cta__title{
  font-size: 15px;
  line-height: 1.4;
  color: #c1cbdc;
  text-wrap: pretty;
}
body.page-f .page-head-cta .btn{
  justify-self: start;
}
body.page-f .page-head--services .crumbs{
  display:flex; gap:8px; align-items:center; margin-bottom:20px;
}
body.page-f .page-head .meta-chip{
  border:1px solid rgba(255,255,255,0.15);
  padding:14px 20px; border-radius:12px;
  font-family: var(--font-mono); font-size:12px; color:#9fb3d1;
  display:grid; gap:4px;
}
body.page-f .page-head .meta-chip b{
  color:#fff; font-family: var(--font-display, var(--font-sans)); font-size:22px; font-weight:500;
}
@media (max-width: 900px){
  body.page-f .page-head--services .page-head-inner{ grid-template-columns: 1fr; gap: 28px; }
}
body.page-f .crumbs{ font-family: var(--font-mono); font-size:12px; color:#6d7f9b; }
body.page-f .crumbs a{ color: var(--blue-600); }
body.page-f .crumbs .sep{ color:#2b3553; }
body.page-f .crumbs .current{ color:#9fb3d1; }
body.page-f .page-head--service .crumbs{
  display:flex; gap:8px; align-items:center; margin-bottom:20px; flex-wrap: wrap;
}
body.page-f .page-head h1{
  font-family: var(--font-sans);
  font-weight: 300;
  letter-spacing: -0.03em;
  color: #f1f5fb;
  text-wrap: balance;
}
body.page-f .page-head h1 em,
body.page-f .page-head h1 i{ font-family: var(--display-serif); font-style: italic; font-weight: 400; color: var(--blue-600); }
body.page-f .page-head h1 .bracket{ color: var(--blue-600); font-family: var(--display-serif); font-style: italic; font-weight:400; }
body.page-f .page-head-lead{ max-width: 60ch; color:#c1cbdc; font-size:20px; line-height:1.5; margin:28px 0 0; text-wrap: pretty; }

/* Meta bar above page title (mono uppercase) */
body.page-f .page-meta{
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px;
  padding:18px 0 18px; margin-bottom: 28px;
  border-bottom:1px dashed #1d2740;
  font-family: var(--font-mono); font-size:11px; color:#6d7f9b; letter-spacing:.04em; text-transform:uppercase;
}
body.page-f .page-meta .mid{ color:#d8e0ec; }
body.page-f .page-meta .right{ text-align:right; }

/* ----- Section rhythm ----- */
body.page-f section{ border-bottom: 1px solid var(--line); }
body.page-f section:last-of-type{ border-bottom: 0; }

/* Anything with neutral white panel bg repaints to dark panel */
body.page-f .principles{ background: #070c18; padding: 40px 0 56px; }
body.page-f .principles-inner{ padding: 0 24px; max-width: var(--maxw); margin: 0 auto; }
body.page-f .numbers{ background: #070c18; }
body.page-f .team{ background: #0a0f1c; }
body.page-f .timeline{ background: #070c18; }

body.page-f .principle,
body.page-f .about-princ,
body.page-f .member,
body.page-f .numbers-inner > div{
  background: var(--panel);
  border-color: var(--line);
}
body.page-f .principle .n{ color: var(--blue-600); }
body.page-f .principle h3,
body.page-f .numbers .bignum{ color:#f1f5fb; }
body.page-f .principle p,
body.page-f .member .bio,
body.page-f .member .role{ color: var(--ink-2); }
body.page-f .numbers .bignum small,
body.page-f .numbers .k{ color: var(--mute); }
body.page-f .numbers-inner{ background: var(--line); border-color: var(--line); }
body.page-f .member{ box-shadow: none; }
body.page-f .member:hover{ border-color: var(--blue-300); }
body.page-f .member .photo{
  background:
    radial-gradient(circle at 50% 42%, rgba(255,255,255,0.12) 0%, transparent 30%),
    linear-gradient(135deg, #12233d, #16304f);
  color: var(--blue-700);
}
body.page-f .member .photo::after{ color: var(--mute); }
body.page-f .member h4{ color:#f1f5fb; }

/* Timeline & other lists commonly styled off --line */
body.page-f .tl-list{ border-left-color: var(--line); }

/* Services cells / cases / testimonials — common patterns */
body.page-f .svc-cell,
body.page-f .case,
body.page-f .ind-cell,
body.page-f .testi,
body.page-f .step,
body.page-f .tl-item,
body.page-f .pricing-card,
body.page-f .contact-card,
body.page-f .review-card,
body.page-f .news-card,
body.page-f .archive-row{
  background: var(--panel);
  border-color: var(--line);
  color: var(--ink-2);
}
body.page-f .svc-cell:hover,
body.page-f .case:hover,
body.page-f .ind-cell:hover,
body.page-f .testi:hover{ background:#121c30; border-color: var(--blue-300); }

body.page-f .svc-cell h3,
body.page-f .case .title,
body.page-f .ind-cell h3,
body.page-f .step h3,
body.page-f .pricing-card h3,
body.page-f .contact-card h3,
body.page-f .review-card h3,
body.page-f .news-card h2,
body.page-f .news-card h3{ color:#f1f5fb; }

body.page-f .svc-cell .k,
body.page-f .step .n,
body.page-f .ind-cell .n b,
body.page-f .pricing-card .k,
body.page-f .contact-card .k{ color: var(--blue-600); }

/* Grid wrappers that use --line as gap color */
body.page-f .svc-grid,
body.page-f .ind-grid,
body.page-f .steps{ background: var(--line); border-color: var(--line); }

/* Hair rules & dividers */
body.page-f hr,
body.page-f .hr,
body.page-f .rule{ border-color: #1d2740; }

/* Section kickers & section heads */
body.page-f .kicker,
body.page-f .section-kicker,
body.page-f .head .kicker{ color: var(--blue-600); }
body.page-f .kicker::before,
body.page-f .head .kicker::before{ background: var(--blue-600); }
body.page-f h2 em,
body.page-f h2 i,
body.page-f h3 em{ font-family: var(--display-serif); font-style: italic; color: var(--blue-600); font-weight:400; }

/* ----- Footer ----- */
body.page-f .site-footer{ background:#050913; color:#c8d1e0; border-top: 1px solid #111a2e; }
body.page-f .footer-grid{ border-bottom-color:#111a2e; }
body.page-f .footer-grid h4{ color:#6b7a94; }

/* ----- Forms ----- */
body.page-f input,
body.page-f textarea,
body.page-f select{
  background:#070c18; border:1px solid #1d2740; color:#e7ecf4;
}
body.page-f input::placeholder,
body.page-f textarea::placeholder{ color:#6d7f9b; }
body.page-f input:focus,
body.page-f textarea:focus,
body.page-f select:focus,
body.page-f input:active,
body.page-f textarea:active,
body.page-f input:focus-visible,
body.page-f textarea:focus-visible{
  background:#070c18 !important;
  color:#e7ecf4 !important;
  border-color: var(--blue-600) !important;
  outline: none;
  box-shadow: 0 0 0 3px rgba(90,140,220,.15);
}
/* autofill (Chrome) repaint */
body.page-f input:-webkit-autofill,
body.page-f textarea:-webkit-autofill{
  -webkit-text-fill-color:#e7ecf4;
  -webkit-box-shadow: 0 0 0 1000px #070c18 inset;
  caret-color:#e7ecf4;
}

/* ----- Service pill (auto-filled from ?service=...) ----- */
body.page-f .svc-pill{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  padding:14px 18px; margin-bottom:20px;
  background: linear-gradient(180deg, rgba(90,140,220,.10), rgba(90,140,220,.04));
  border:1px solid rgba(120,170,240,.28);
  border-radius:14px;
  font-family: var(--font-mono);
}
body.page-f .svc-pill__label{
  font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  color: var(--blue-600);
}
body.page-f .svc-pill b{
  color:#f1f5fb; font-weight:600; font-family: var(--font-sans); font-size:15px;
  flex:1 1 auto;
}
body.page-f .svc-pill__plan{ color:#9fb3d1; font-weight:400; }
body.page-f .svc-pill__close{
  width:24px; height:24px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:50%; color:#6d7f9b; text-decoration:none; font-size:18px; line-height:1;
  border:1px solid #2b3553;
}
body.page-f .svc-pill__close:hover{ color:#fff; border-color:#fff; }

/* ----- Misc text ----- */
body.page-f p{ color: var(--ink-2); }
body.page-f small,
body.page-f .muted{ color: var(--mute); }

/* ----- Tags / pills used across pages ----- */
body.page-f .tag,
body.page-f .pill,
body.page-f .chip,
body.page-f .tags span{
  background:#0a1120; border:1px solid #1d2740; color:#8ea0bc;
}

/* ----- Archive rows ----- */
body.page-f .incident-row,
body.page-f .archive-row{ border-color: #1d2740; }
body.page-f .incident-row:hover,
body.page-f .archive-row:hover{ background:#0e1626; }

/* ----- Dark CTA blocks that used var(--ink) as background ----- */
/* services.html final pricing strip — переводим в светло-синий панельный вид
   (не «чёрный кусок» перед футером, а выраженный акцент) */
body.page-f .svc-price-strip{
  background: linear-gradient(135deg, #1b3a6b, #0f2447);
  color:#f1f5fb;
}
body.page-f .svc-price-strip h3{ color:#f1f5fb; }
body.page-f .svc-price-strip .pchip{
  border-color: rgba(255,255,255,0.22);
  color:#f1f5fb;
  background: rgba(255,255,255,0.04);
}
body.page-f .svc-price-strip .pchip small{ color:#b8c8e2; }

/* about.html final CTA */
body.page-f .cta-final{
  background: linear-gradient(135deg, #1b3a6b, #0f2447) !important;
  color:#f1f5fb;
}
body.page-f .cta-final h2{ color:#f1f5fb; }
body.page-f .cta-final p{ color:#b8c8e2; }

/* reviews.html CTA band — синий градиент остаётся, чиним только текст
   (в светлой теме --blue-700/900 были тёмно-синие, в тёмной — светло-голубые,
   поэтому фиксируем явными значениями) */
body.page-f .cta-band .cta-inner{
  background: linear-gradient(135deg, #1b3a6b, #0f2447);
  color:#f1f5fb;
}
body.page-f .cta-band .cta-inner h2{ color:#f1f5fb; }
body.page-f .cta-band .cta-inner p{ color:#b8c8e2; }
body.page-f .cta-band .cta-inner .btn{
  background:#fff; color:#0f2447;
}

/* Any other CTA / dark-block pattern commonly seen across pages */
body.page-f .cta-dark,
body.page-f .dark-cta,
body.page-f .footer-cta,
body.page-f .contact-cta{
  background:#050913;
  color:#f1f5fb;
}

/* Accent: <em> внутри .lead окрашивается в наш «фирменный синий» */
body.page-f .form-card .lead em,
body.page-f .page-head-lead em,
.form-card .lead em,
.page-head-lead em{
  font-family: var(--display-serif);
  font-style: italic;
  color: var(--blue-600) !important;
  font-weight: 400;
}
.page-head-lead .hl,
.page-head .hl{
  color: var(--blue-600);
  font-weight: 500;
}

/* ========================================================================
   Article body (single post) — Gutenberg-контент новости
   ======================================================================== */

/* Шапка статьи: заголовок компактнее, текст шире, контейнер тот же */
body.page-f .page-head--article h1,
body.page-f .page-head--article .article-title,
.page-head--article h1,
.page-head--article .article-title{
  max-width: 960px !important;
  font-size: clamp(36px, 4vw, 52px) !important;
  line-height: 1.1 !important;
  font-weight: 300 !important;
  letter-spacing: -0.02em !important;
  color:#f1f5fb !important;
  margin: 12px 0 0 !important;
  text-wrap: balance;
}
.page-head--article .article-kicker{
  display: inline-block;
  padding: 6px 14px;
  border: 1px solid rgba(90,140,220,.35);
  border-radius: 999px;
  color:#3a9ae8;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.page-head--article .article-meta{
  margin-top: 24px;
  font-family: var(--font-mono);
  font-size: 12px;
  color:#6d7f9b;
  letter-spacing: .04em;
}

.article-body{
  padding: 56px 24px 96px !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}
.article-col,
body.page-f .article-col{
  display: block !important;
  width: 100% !important;
  max-width: 920px !important;
  margin: 0 auto !important;
  font-size: 17px;
  line-height: 1.7;
  color: var(--ink-2, #c1cbdc);
}

/* Снимаем дефолтный max-width у дочерних блоков Gutenberg (is-layout-constrained → 100%) */
.article-col > *,
.article-col .wp-block,
.article-col p,
.article-col ul,
.article-col ol,
.article-col h2,
.article-col h3,
.article-col h4{
  max-width: 100% !important;
  width: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Параграфы */
.article-col p{ margin: 0 0 18px; }
.article-col p:last-child{ margin-bottom: 0; }

/* Заголовки */
.article-col h2,
.article-col h3,
.article-col h4,
.article-col .wp-block-heading{
  font-family: var(--font-display, var(--font-sans));
  font-weight: 500;
  color: #f1f5fb;
  letter-spacing: -0.01em;
  line-height: 1.25;
}
.article-col h2{ font-size: 28px; margin: 40px 0 14px; }
.article-col h3{ font-size: 22px; margin: 32px 0 12px; }
.article-col h4{ font-size: 18px; margin: 24px 0 10px; }

/* Инлайн-акценты */
.article-col strong{ color:#f1f5fb; font-weight: 600; }
.article-col strong.accent{ color:#3a9ae8; font-weight: 600; margin-right: 4px; }

/* Ссылки */
.article-col a{
  color:#3a9ae8;
  border-bottom: 1px solid rgba(58,154,232,.3);
  text-decoration: none;
  transition: border-color .15s;
}
.article-col a:hover{ border-bottom-color:#3a9ae8; }

/* Списки (сбрасываем дефолтные маркеры, рисуем свои) */
.article-col ul,
.article-col ol{
  margin: 0 0 22px;
  padding-left: 0;
  list-style: none;
}
.article-col ul li,
.article-col ol li{
  position: relative;
  padding-left: 24px;
  margin-bottom: 10px;
}
.article-col ul li::before{
  content: "";
  position: absolute;
  left: 4px; top: 12px;
  width: 6px; height: 6px;
  background:#3a9ae8;
  border-radius: 50%;
}
.article-col ol{ counter-reset: ol; }
.article-col ol li{ counter-increment: ol; }
.article-col ol li::before{
  content: counter(ol) ".";
  position: absolute;
  left: 0; top: 0;
  color:#3a9ae8;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* Ширина контентной колонки на странице услуги (переопределяет FSE constrained) */
body.page-f .section--service-body{
  --wp--style--global--content-size: 1180px;
  --wp--style--global--wide-size: 1180px;
}
body.page-f .section--service-body .wp-block-post-content{
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}
body.page-f .section--service-body .wp-block-post-content > *{
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

/* Инлайн-акценты в теле услуги */
.section--service-body em,
.section--service-body i,
.section--service-body .wp-block-post-content em,
.section--service-body .wp-block-post-content i{
  font-family: var(--display-serif, 'Instrument Serif', Georgia, serif) !important;
  font-style: italic !important;
  color: #79b3ed !important;
  font-weight: 400 !important;
}
.section--service-body .accent,
.section--service-body span.accent,
.section--service-body strong.accent{
  color: #79b3ed !important;
  font-weight: 600;
}
.section--service-body strong{ color:#f1f5fb; font-weight: 600; }
.section--service-body a{
  color:#3a9ae8;
  border-bottom: 1px solid rgba(58,154,232,.3);
  text-decoration: none;
  transition: border-color .15s;
}
.section--service-body a:hover{ border-bottom-color:#3a9ae8; }

/* Таблицы внутри контента (Gutenberg .wp-block-table и простые <table>) —
   единый вид в Safari/Chrome/Firefox: никаких дефолтных серых «outset»-рамок. */
.article-col table,
.article-col .wp-block-table table,
.section--service-body table,
.section--service-body .wp-block-table table{
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  margin: 0 0 24px;
  font-size: 15px;
  color: #e7ecf4;
  background: #0d1424;
  border: 1px solid var(--line);
  border-radius: 10px;
  overflow: hidden;
}
.article-col table th,
.article-col table td,
.article-col .wp-block-table th,
.article-col .wp-block-table td,
.section--service-body table th,
.section--service-body table td,
.section--service-body .wp-block-table th,
.section--service-body .wp-block-table td{
  padding: 14px 18px;
  border: 0;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  vertical-align: top;
  text-align: left;
  background: transparent;
}
.article-col table th:last-child,
.article-col table td:last-child,
.section--service-body table th:last-child,
.section--service-body table td:last-child{ border-right: 0; }
.article-col table tr:last-child td,
.article-col table tr:last-child th,
.section--service-body table tr:last-child td,
.section--service-body table tr:last-child th{ border-bottom: 0; }
.article-col table th,
.section--service-body table th{
  background: rgba(255,255,255,0.02);
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #9fb3d1;
}
.article-col .wp-block-table figcaption{
  margin-top: 8px;
  color: #6d7f9b;
  font-size: 13px;
}

/* Приветствие «Уважаемые клиенты!» */
.article-col p.lead-greeting{
  font-family: var(--font-display, var(--font-sans));
  font-size: 22px;
  line-height: 1.35;
  color:#f1f5fb;
  margin: 0 0 24px;
  font-weight: 400;
}
.article-col p.lead-greeting strong{ font-weight: 500; }

/* Прощание «С уважением…» */
.article-col p.signoff{
  margin-top: 32px;
  padding-top: 20px;
  border-top: 1px solid #1d2740;
  color:#8fa2c0;
  font-size: 15px;
}
.article-col p.signoff em{ color:#8fa2c0; font-style: normal; }

/* Прайс-таблица со ссылками-ценами (SSL и т.п.) — цена сама является кнопкой */
.section--service-body .price-table table,
.article-col .price-table table{
  width: 100%;
}
.section--service-body .price-table td,
.article-col .price-table td{
  vertical-align: middle;
}
.section--service-body .price-table a.buy,
.article-col .price-table a.buy{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border: 1px solid rgba(121,179,237,0.35);
  border-radius: 999px;
  color: #cfe0f5;
  background: transparent;
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.01em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  text-decoration: none;
  border-bottom: 1px solid rgba(121,179,237,0.35);
  transition: background-color 140ms, border-color 140ms, color 140ms;
}
.section--service-body .price-table a.buy::after,
.article-col .price-table a.buy::after{
  content: "↗";
  font-size: 0.85em;
  color: #79b3ed;
  transition: transform 140ms;
}
.section--service-body .price-table a.buy:hover,
.article-col .price-table a.buy:hover,
.section--service-body .price-table a.buy:focus-visible,
.article-col .price-table a.buy:focus-visible{
  background: rgba(121,179,237,0.12);
  border-color: #79b3ed;
  color: #fff;
  outline: none;
}
.section--service-body .price-table a.buy:hover::after,
.article-col .price-table a.buy:hover::after,
.section--service-body .price-table a.buy:focus-visible::after,
.article-col .price-table a.buy:focus-visible::after{
  transform: translate(2px, -2px);
}
.section--service-body .price-table td.na,
.article-col .price-table td.na{
  color: #4d5a74;
  font-variant-numeric: tabular-nums;
}
.section--service-body .price-table .muted,
.article-col .price-table .muted{
  color: #8fa2c0;
  font-size: 0.88em;
  font-weight: 400;
  margin-left: 4px;
}
.section--service-body .price-table figcaption,
.article-col .price-table figcaption{
  color: #6d7f9b;
  font-size: 13px;
  margin-top: 10px;
}

/* Callout «Важно!», «Внимание!» */
.article-col p.callout{
  position: relative;
  margin: 24px 0;
  padding: 18px 22px 18px 22px;
  background: rgba(58,154,232,0.07);
  border-left: 3px solid #3a9ae8;
  border-radius: 4px;
  color:#f1f5fb;
}


/* Dark variant for unified split head */
body.page-e .head-split{
  display:grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 440px);
  gap: 48px;
  align-items: start;
  padding-bottom: 48px;
  border-bottom:1px solid var(--line);
  margin-bottom: 40px;
}
body.page-e .head-split .hs-right{ justify-self: end; max-width: 440px; }
body.page-e .head-split .hs-left{ padding-top: 0; min-width: 0; width: 100%; }
body.page-e .head-split .hs-right{
  padding-top: 36px;  /* align with h2 baseline (kicker height + gap) */
  font-size: 15px;
  line-height: 1.6;
  color:#8ea0bc;
}
body.page-e .head-split h2{
  color:#f1f5fb;
  margin: 12px 0 0;
  font:400 clamp(26px, 2.6vw, 38px)/1.15 'Instrument Serif',Georgia,serif;
  text-wrap:pretty;
  letter-spacing:-0.01em;
  max-width: none !important;
  width: auto;
}
body.page-e .head-split h2 em{color:var(--blue-600);font-style:italic}
body.page-e .head-split .kicker{color:var(--blue-600)}
body.page-e .head-split .kicker::before{background:var(--blue-600)}
body.page-e .head-split .side-link{
  color:var(--blue-600);
  display:block;
  margin-top:18px;
  text-decoration:none;
}

@media (max-width: 880px){
  body.page-e .head-split{ grid-template-columns: 1fr; gap: 24px; }
}

/* ========================================================================
   News page layout — 2-column feed + sidebar
   ======================================================================== */
.feed-layout{
  max-width: var(--maxw, 1280px);
  margin: 0 auto;
  padding: 40px 24px 80px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 40px;
  align-items: start;
}
.feed-layout .feed{ min-width: 0; }
.feed-layout .feed > h2{
  font-size: 12px;
  font-family: var(--font-mono);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--mute);
  margin: 0 0 16px;
  font-weight: 500;
}
.feed-layout .sidebar{
  display: grid; gap: 18px;
  /* выровнять первый side-card с картинкой feed-hero (под метку «Последнее») */
  margin-top: 30px;
}
@media (max-width: 960px){
  .feed-layout{ grid-template-columns: 1fr; gap: 32px; }
  .feed-layout .sidebar{ margin-top: 0; }
}

/* Sidebar cards */
.side-card{
  background: var(--panel, #0f1422);
  border: 1px solid var(--line, #1c2538);
  border-radius: 12px;
  padding: 22px 22px 20px;
}
.side-card h4{
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--mute, #8fa2c0);
  margin: 0 0 14px;
  font-weight: 500;
}
/* Tag chips */
.side-card .tag-cloud{ display: flex; flex-wrap: wrap; gap: 8px; }
.side-card .tag-cloud a{
  display: inline-flex; align-items: center;
  padding: 7px 12px;
  font-size: 13px; line-height: 1;
  color: #e7ecf4;
  background: transparent;
  border: 1px solid var(--line, #1c2538);
  border-radius: 999px;
  text-decoration: none;
  transition: border-color 160ms, color 160ms, background 160ms;
}
.side-card .tag-cloud a:hover,
.side-card .tag-cloud a:focus-visible{
  border-color: var(--blue-600);
  color: var(--blue-600);
  background: transparent;
  outline: none;
}
/* Article-item list (Popular articles, Archive) */
.side-card .article-item{
  display: block;
  padding: 10px 12px;
  margin: 0 -12px;
  border-radius: 8px;
  color: inherit;
  text-decoration: none;
  transition: background 160ms, color 160ms;
}
.side-card .article-item + .article-item{
  border-top: 1px solid var(--line, #1c2538);
}
.side-card .article-item .t{
  font-size: 14px; line-height: 1.35; color: #e7ecf4;
  transition: color 160ms;
}
.side-card .article-item .d{
  margin-top: 4px;
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: 0.06em;
  color: var(--mute, #8fa2c0);
  text-transform: uppercase;
}
.side-card .article-item:hover,
.side-card .article-item:focus-visible{
  outline: none;
  background: rgba(121, 179, 237, 0.06);
}
.side-card .article-item:hover .t,
.side-card .article-item:focus-visible .t{
  color: var(--blue-600);
}

/* Important card — акцентный вариант */
.side-card--important{
  background:
    linear-gradient(180deg, rgba(121,179,237,0.06), transparent 60%),
    var(--panel, #0f1422);
  border-color: rgba(121,179,237,0.35);
  box-shadow: 0 0 0 1px rgba(121,179,237,0.08) inset;
}
.side-card--important h4{
  color: var(--blue-600);
  display: flex; align-items: center; gap: 8px;
}
.side-card--important h4 .dot{
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--blue-600);
  box-shadow: 0 0 10px var(--blue-600);
  animation: side-imp-blink 2s steps(2) infinite;
}
@keyframes side-imp-blink{
  0%, 60% { opacity: 1; }
  61%, 100% { opacity: 0.4; }
}
.side-card--important .article-item + .article-item{
  border-top-color: rgba(121,179,237,0.18);
}

/* ========================================================================
   Team × AI  (страница О компании)
   ======================================================================== */
body.page-f .team--ai{ background: #0a0f1c; }
body.page-f .team--ai .team-inner{
  max-width: var(--maxw, 1280px); margin: 0 auto; padding: 0 24px;
}
.team-ai{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 560px);
  gap: 64px;
  align-items: center;
  margin-top: 40px;
}
.team-ai__lede{
  font-size: 22px; line-height: 1.45; color: #e7ecf4;
  margin: 0 0 28px; text-wrap: pretty;
}
.team-ai__points{
  list-style: none; padding: 0; margin: 0 0 28px;
  display: grid; gap: 18px;
  border-top: 1px solid var(--line);
}
.team-ai__points li{
  padding: 18px 0 0; color: var(--ink-2);
  font-size: 16px; line-height: 1.55;
  border-bottom: 1px solid var(--line);
  padding-bottom: 18px;
}
.team-ai__points li b{
  display: block; color: #f1f5fb; font-weight: 500; margin-bottom: 4px;
  font-family: var(--font-sans);
}
.team-ai__tail{
  font-family: var(--font-mono); font-size: 13px; color: var(--blue-600);
  letter-spacing: 0.02em; margin: 0;
}

/* SVG viz */
.team-ai__viz{
  position: relative;
  aspect-ratio: 1 / 1;
  border: 1px solid var(--line);
  border-radius: 16px;
  background:
    radial-gradient(ellipse 60% 50% at 50% 50%, rgba(90,140,220,.08), transparent 70%),
    #070c18;
  overflow: hidden;
}
.team-ai__viz::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    linear-gradient(180deg, rgba(10,15,28,0.5), transparent 30%, transparent 70%, rgba(10,15,28,0.5));
}
.tai-svg{ width: 100%; height: 100%; display: block; }

.tai-lines line{
  stroke: #2a68a8; stroke-opacity: 0.45;
  transition: stroke-opacity 180ms, stroke 180ms;
}
.tai-core-label{
  font-family: var(--font-sans); font-size: 18px; font-weight: 500;
  fill: #e7ecf4; letter-spacing: 0.04em;
}
.tai-core-sub{
  font-family: var(--font-mono); font-size: 9px;
  fill: var(--blue-600); letter-spacing: 0.18em;
}
.tai-ini{
  font-family: var(--font-sans); font-size: 18px; font-weight: 500;
  fill: #e7ecf4;
}
.tai-role{
  font-family: var(--font-mono); font-size: 10px;
  fill: #8fa2c0; letter-spacing: 0.1em; text-transform: uppercase;
}
.tai-node > circle{ transition: stroke 180ms, filter 180ms; }
.tai-node:hover{ cursor: default; }
.tai-node:hover > circle{ stroke: var(--blue-600); }

/* Hover a node → highlight its line */
.team-ai__viz[data-active="1"] line[data-line="1"],
.team-ai__viz[data-active="2"] line[data-line="2"],
.team-ai__viz[data-active="3"] line[data-line="3"],
.team-ai__viz[data-active="4"] line[data-line="4"]{
  stroke: #79b3ed; stroke-opacity: 1; stroke-width: 1.8;
}

.tai-mark{
  font-family: var(--font-mono); font-size: 9px;
  fill: #445775; letter-spacing: 0.12em; text-transform: uppercase;
}
.tai-mark.blink{
  fill: var(--blue-600);
  animation: tai-blink 1.8s steps(2) infinite;
}
@keyframes tai-blink{
  0%, 60% { opacity: 1; }
  61%, 100% { opacity: 0.25; }
}

@media (max-width: 980px){
  .team-ai{ grid-template-columns: 1fr; gap: 40px; }
  .team-ai__viz{ max-width: 520px; margin: 0 auto; width: 100%; }
}
@media (prefers-reduced-motion: reduce){
  .tai-packets, .tai-core circle animate, .tai-mark.blink{ animation: none !important; }
}

/* ========================================================================
   Contacts — primary button & live beacon
   ======================================================================== */
/* Кнопка «Отправить заявку» — в стиле CTA карточек услуг (outline pill) */
body.page-f .form-card .btn-primary{
  background: transparent;
  color: #e7ecf4;
  border: 1px solid #2a3a55;
  border-radius: 999px;
  padding: 14px 26px;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 500;
  transition: border-color .18s, color .18s, background .18s, box-shadow .18s;
}
body.page-f .form-card .btn-primary:hover,
body.page-f .form-card .btn-primary:focus-visible{
  background: transparent;
  color: #fff;
  border-color: var(--blue-600);
  box-shadow: 0 0 0 4px rgba(90,140,220,0.12);
  outline: none;
}
body.page-f .form-card .btn-primary .btn-arrow{ display:none; }

/* Карточка «Вы уже наш клиент» — CTA после подсказки */
body.page-f .form-card .lead .hl{
	color: var(--blue-600);
	font-weight: 500;
}
body.page-f .form-card .existing-client-cta{
	margin-top: 24px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
}
body.page-f .form-card .existing-client-cta .btn-primary{
	/* унаследует pill-стиль из правила выше */
}
body.page-f .form-card .existing-client-cta .recovery-link{
	font-family: var(--font-mono);
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--blue-600);
	text-decoration: none;
	border-bottom: 1px solid rgba(120,160,210,0.25);
	padding-bottom: 2px;
	transition: color .18s, border-color .18s;
}
body.page-f .form-card .existing-client-cta .recovery-link:hover,
body.page-f .form-card .existing-client-cta .recovery-link:focus-visible{
	color: #fff;
	border-color: #fff;
	outline: none;
}

/* form-card должен быть позиционирован для абсолютного маячка */
.form-card{ position: relative; }

/* Маячок «ON AIR» в правом верхнем углу формы */
.form-live{
  position: absolute;
  top: 18px; right: 18px;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 10px 6px 10px;
  border: 1px solid rgba(90, 140, 220, .28);
  background: rgba(10, 15, 28, .6);
  border-radius: 999px;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .14em;
  color: #c1cbdc;
  text-transform: uppercase;
  pointer-events: none;
  user-select: none;
  backdrop-filter: blur(4px);
}
.form-live__dot{
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--ok, #2bb673);
  box-shadow: 0 0 0 0 rgba(43, 182, 115, .55);
  animation: form-live-pulse 1.8s ease-out infinite;
}
.form-live__label{ position: relative; top: -0.5px; }

@keyframes form-live-pulse{
  0%   { box-shadow: 0 0 0 0   rgba(43, 182, 115, .55); opacity: 1;   }
  70%  { box-shadow: 0 0 0 10px rgba(43, 182, 115, 0);   opacity: .85; }
  100% { box-shadow: 0 0 0 0   rgba(43, 182, 115, 0);   opacity: 1;   }
}

@media (max-width: 600px){
  .form-live{ top: 14px; right: 14px; padding: 5px 9px; font-size: 9px; }
}
@media (prefers-reduced-motion: reduce){
  .form-live__dot{ animation: none; }
}

/* ============================================================
   Migrated from pages.css — unique page-f rules
   ============================================================ */
body.page-f .principle,
body.page-f .member,
body.page-f .numbers-inner > div{
  background: var(--panel);
  border-color: var(--line);
}
body.page-f input:focus,
body.page-f textarea:focus,
body.page-f select:focus{ border-color: var(--blue-600); outline: none; }
body.page-f .form-status.is-pending { background:#101829; border-color:#243049; color:#8fa2c0; }
body.page-f .form-status.is-ok { background:rgba(43,182,115,.08); border-color:rgba(43,182,115,.35); color:#a8e6c8; }
body.page-f .form-status.is-ok b { color:#fff; }
body.page-f .form-status.is-err { background:rgba(217,72,72,.1); border-color:rgba(217,72,72,.4); color:#f4b5b5; }
body.page-f .field.is-invalid input, body.page-f .field.is-invalid textarea { background:rgba(217,72,72,.08); border-color:#d94848; }
body.page-f .article-nav-item{
  background: var(--panel); border-color: var(--line);
}
body.page-f .article-nav-item:hover{ background: var(--panel-2); border-color: var(--blue-500); }
body.page-f .article-col p{ color: var(--ink-2); }
body.page-f .article-col p:first-child{ color: #f1f5fb; }
body.page-f .article-col h2, body.page-f .article-col h3{ color: #f1f5fb; }
body.page-f .article-col code{ background:#0a1120; color:#c8d1e0; border:1px solid #1d2740; }
body.page-f .article-col pre{
  position:relative;
  background:linear-gradient(180deg, #0a1426 0%, #060c1a 100%);
  border:1px solid #1d2740;
  border-left:2px solid var(--blue-500, #79b3ed);
  border-radius:6px;
  padding:36px 20px 18px;
  box-shadow:0 1px 0 rgba(255,255,255,0.02) inset, 0 8px 24px -16px rgba(0,0,0,0.6);
  max-width:100%;
  min-width:0;
  overflow-x:hidden;
}
@media (max-width: 640px){
  body.page-f .article-col pre{
    padding:32px 14px 14px;
    font-size:12px;
    border-radius:6px;
  }
  body.page-f .article-col pre code{ font-size:12px; line-height:1.6; }
  body.page-f .article-col pre::before{ font-size:10px; left:12px; top:8px; }
  body.page-f .article-col pre::after{ right:10px; top:11px; }
}
body.page-f .article-col pre::before{
  content:"$ shell";
  position:absolute; top:8px; left:16px;
  font-family:var(--font-mono); font-size:11px; letter-spacing:0.06em;
  color:#5b7396; text-transform:lowercase;
}
body.page-f .article-col pre::after{
  content:""; position:absolute; top:12px; right:14px;
  width:8px; height:8px; border-radius:999px;
  background:#4cd493; box-shadow:0 0 8px rgba(76,212,147,0.45);
}
body.page-f .article-col pre code{
  background:transparent; border:0; padding:0;
  color:#dbe4f2; display:block;
  white-space:pre-wrap; word-break:break-all; overflow-wrap:anywhere;
  font-size:13px; line-height:1.65;
}

