/* ============================================================
   FINANSI DESIGN SYSTEM v1 «ФІНТЕХ-ТЕРМІНАЛ» (2026-07-22)
   Єдина система для ВСЬОГО сайту. Мова: темний фінансовий
   термінал — глибоке графітове полотно, монопростір для цифр,
   зелений = дія, бурштин = метрика.

   ІМПЛЕМЕНТАЦІЯ ДВОМА ШАРАМИ (див. CLONE-REBRAND-PLAYBOOK §1):
   1) ШАР ТОКЕНІВ — перевизначення змінних теми (:root нижче).
      Обидва :root у site.css (рядки 157 і 6205) перекриваються
      звідси; всі компоненти теми, що читають var(--teal),
      var(--yellow), var(--grad-*), var(--radius-*), стають
      терміналом автоматично. Нові сторінки писати ТІЛЬКИ на
      токенах.
   2) ШАР КОМПОНЕНТІВ — сигнатурні форми і точкові перекриття
      там, де тема хардкодить кольори або бере !important.

   РОЛІ КОЛЬОРУ (незмінні правила):
   • зелений --fn-gr    #31D583 — ДІЯ: кнопки, лінки, ховери,
     активний пункт меню, маркери;
   • світлий --fn-gr-2  #7FE9B4 — акцент у заголовках (.highlight),
     вторинні лінки;
   • бурштин --fn-am    #F0B429 — ТІЛЬКИ цифри й метрики
     (моно, tabular-nums). Бурштин ніколи не фарбує текст абзацу,
     кнопку чи посилання;
   • полотно #0B0F14, панелі — білі 4.5–8% зверху полотна.

   ГЕОМЕТРІЯ:
   • СИГНАТУРА «планка терміналу» — 2px зелена смуга по лівому
     краю карток і панелей (--fn-rail). Радіуси малі й сталі
     (3/4px), жодних пігулок-капсул; кола лише для аватарів.
   • Хедер: НЕ капсула флагмана — суцільний дек із тікер-лінією
     зелений→бурштин по верхньому краю сторінки.

   ТИПОГРАФІКА:
   • Montserrat (тема) для тексту; h1 — light 300;
   • IBM Plex Mono — цифри, метрики, чипи, службові підписи
     (клас .fn-num або компонентні правила), tabular-nums.

   РЕЄСТР ВЛАСНИХ КОМПОНЕНТІВ (.fn-*): fn-hero, fn-kicker,
   fn-grid, fn-card, fn-num, fn-stat, fn-chip, fn-rule, fn-btn.
   ============================================================ */

/* ── 0. Шрифт цифр ────────────────────────────────────────── */

@font-face {
    font-family: 'IBM Plex Mono';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(../assets/fonts/ibm-plex-mono-v20-cyrillic_cyrillic-ext_latin-regular.woff2) format('woff2');
}

@font-face {
    font-family: 'IBM Plex Mono';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url(../assets/fonts/ibm-plex-mono-v20-cyrillic_cyrillic-ext_latin-600.woff2) format('woff2');
}

/* ── 1. Власні токени системи ─────────────────────────────── */

:root {
    --fn-bg: #0B0F14;
    --fn-bg-2: #10161E;
    --fn-solid: #141C26;
    --fn-panel: rgba(255, 255, 255, 0.045);
    --fn-panel-2: rgba(255, 255, 255, 0.08);
    --fn-border: rgba(255, 255, 255, 0.10);
    --fn-border-2: rgba(49, 213, 131, 0.38);
    --fn-text: #E9EEF5;
    --fn-soft: rgba(233, 238, 245, 0.66);
    --fn-dim: rgba(233, 238, 245, 0.48);
    --fn-gr: #31D583;
    --fn-gr-2: #7FE9B4;
    --fn-gr-dark: #04140C;
    --fn-am: #F0B429;
    --fn-mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
    --fn-rail: 2px;

    /* висота фіксованого хедера — див. §3 */
    --fn-hdr: 102px;
    --fn-air: 88px;
}

@media (max-width: 1024px) { :root { --fn-hdr: 92px; } }
@media (max-width: 768px)  { :root { --fn-hdr: 84px; --fn-air: 64px; } }

/* ── 2. ШАР ТОКЕНІВ: перевизначення змінних теми ───────────
   Єдине місце, звідки вся тема отримує термінальну палітру. */

:root {
    /* полотно і поверхні */
    --navy: var(--fn-bg);
    --navy-deep: #070A0E;
    --navy-light: var(--fn-bg-2);
    --dark-teal: #0A0E13;
    --dark-teal-2: var(--fn-solid);
    --card-bg: var(--fn-panel);
    --card-border: var(--fn-border);
    --card-hover: rgba(49, 213, 131, 0.10);

    /* дія */
    --teal: var(--fn-gr);
    --teal-dark: #1FA866;
    --cyan: var(--fn-gr-2);
    --teal-border: rgba(49, 213, 131, 0.26);
    --teal-border-h: rgba(49, 213, 131, 0.55);

    /* метрика */
    --yellow: var(--fn-am);

    /* текст */
    --text: var(--fn-text);
    --muted: var(--fn-soft);
    --text-dim: var(--fn-soft);
    --text-faint: var(--fn-dim);

    /* градієнти теми мали сині хвости */
    --grad-dark-teal: linear-gradient(135deg, #0A0E13 0%, #141C26 55%, #0C2A1D 100%);
    --grad-navy: linear-gradient(135deg, #0A0E13 0%, #10201A 100%);

    /* геометрія терміналу: малі сталі радіуси */
    --radius-sm: 2px;
    --radius-md: 3px;
    --radius-lg: 4px;
    --radius-xl: 4px;
    --radius-pill: 3px;
}

/* ── 3. Полотно ───────────────────────────────────────────── */

body,
body.home, body.page, body.single, body.archive,
body.category, body.tag, body.search {
    background: var(--fn-bg) !important;
    color: var(--fn-text);
    font-family: 'Montserrat', system-ui, sans-serif;
}

section { background: transparent; }

/* Кола лише для аватарів — радіуси обнулено токенами (playbook §1) */
.expert-card__ava, .ha-ava, .igng-authorbox__avatar,
.igng-expert-comment__media, .igng-expert-comment__media img,
.person-avatar, .person-avatar img, .author-avatar, .author-avatar img {
    border-radius: 50% !important;
    clip-path: none;
}

/* ── 4. Хедер: дек із тікер-лінією ────────────────────────── */

.header {
    background: rgba(11, 15, 20, 0.92) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--fn-border);
}

/* капсула-шелл флагмана прибрана */
.header::before {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* сигнатура: тікер-лінія по верхньому краю сторінки */
.header::after {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 2px;
    background: linear-gradient(90deg, var(--fn-gr) 0%, var(--fn-gr) 42%, var(--fn-am) 78%, var(--fn-am) 100%);
    opacity: .9;
}

.header-nav a .nav-text {
    font-size: 13.5px;
    letter-spacing: .01em;
    color: var(--fn-soft);
    transition: color .18s;
}

.header-nav a:hover .nav-text,
.header-nav a[aria-current="page"] .nav-text,
.header-nav a.is-active .nav-text { color: var(--fn-text); }

/* ⚠ тема має власне підкреслення .nav-text::after — гасимо, щоб
   не було двох рисок (playbook §3) */
.header-nav a .nav-text::after,
.header-nav a:hover .nav-text::after,
.header-nav a[aria-current="page"] .nav-text::after { display: none !important; }

/* активний пункт — зелена планка знизу, у мові терміналу */
.header-nav a { position: relative; }

.header-nav a[aria-current="page"]::after,
.header-nav a.is-active::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: -6px;
    height: 2px;
    background: var(--fn-gr);
}

/* CTA: тільки зміна кольору — накладки накривають голий текст
   кнопки (playbook §3) */
.header-cta,
.mobile-contact-btn {
    background: var(--fn-gr) !important;
    color: var(--fn-gr-dark) !important;
    border: 0 !important;
    border-radius: 3px !important;
    font-weight: 600;
    letter-spacing: .01em;
    transition: background-color .18s, color .18s;
}

.header-cta:hover, .header-cta:focus-visible,
.mobile-contact-btn:hover, .mobile-contact-btn:focus-visible {
    background: var(--fn-gr-2) !important;
    color: var(--fn-gr-dark) !important;
}

.lang-sw {
    font-family: var(--fn-mono);
    font-size: 11.5px;
    color: var(--fn-dim);
    border-radius: 2px;
}

.lang-sw.active, .lang-sw[aria-current="true"] { color: var(--fn-gr); }

/* мобільна панель: тема хардкодить navy rgb(6,18,32) */
.mobile-menu,
.mobile-menu-header,
.mobile-lang,
.mobile-lang-header { background: var(--fn-bg) !important; }

/* ⚠ поріг саме 1024, а не 768: тема перетворює .header-nav на панель уже на
   1024px, і на 768 виняток лишав синій фон флагмана на проміжних ширинах. */
@media (max-width: 1024px) {
    .header-nav { background: var(--fn-bg) !important; }
}

.mobile-nav a { color: var(--fn-text); }
.mobile-nav a:hover { color: var(--fn-gr); }

/* ── 5. Відступ від фіксованого хедера ────────────────────
   ЄДИНЕ число регулювання — --fn-air. Висота хедера НЕ стала
   (74/64/60 → 102/92/84), тому padding ОБЧИСЛЮЄТЬСЯ.
   .hero-inner додає власні 32px — віднімаємо (playbook §2). */

.fn-hero, .single-hero, .hero-author, .hero:not(.hero-inner) {
    padding-top: calc(var(--fn-hdr) + var(--fn-air)) !important;
}

/* ⚠ У флагмана .hero-inner додає власні 32px і їх віднімають. У цьому
   клоні заміром підтверджено, що контейнер їх НЕ додає: з -32px зазор
   хедер→чип виходив 55px проти 87px на головній. Тому формула однакова. */
.hero-inner {
    padding-top: calc(var(--fn-hdr) + var(--fn-air)) !important;
    padding-bottom: 84px !important;
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
}

/* ── 6. Герой: синхронізація ВСЬОГО ланцюжка ──────────────
   Не лише верхній відступ: чип → зазор → h1 → зазор → лід →
   padding-bottom мають збігатися між типами сторінок. */

.fn-hero {
    padding-bottom: 84px;
    background: transparent;
    position: relative;
}

.fn-hero .container, .hero-inner .container { position: relative; }

.fn-kicker, .fn-hero > .container > p:first-child,
.hero-tag, .ha-tag {
    display: inline-flex !important;
    align-items: center;
    width: fit-content !important;
    font-family: var(--fn-mono) !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase;
    color: var(--fn-gr) !important;
    background: rgba(49, 213, 131, 0.08) !important;
    border: 1px solid rgba(49, 213, 131, 0.28) !important;
    border-radius: 2px !important;
    padding: 6px 11px !important;
    margin: 0 0 28px !important;
    opacity: 1 !important;
}

/* маркер терміналу замість декоративних `//` флагмана */
.fn-kicker::before, .fn-hero > .container > p:first-child::before,
.hero-tag::before, .ha-tag::before {
    content: "";
    width: 6px; height: 6px;
    margin-right: 9px;
    background: currentColor;
}

.fn-hero h1, .hero-inner h1, .single-hero h1, .hero-author h1 {
    font-size: clamp(38px, 5vw, 68px) !important;
    line-height: 1.08 !important;
    font-weight: 300 !important;
    letter-spacing: -.025em !important;
    color: var(--fn-text);
    margin: 0 !important;
}

.fn-hero h2, .fn-hero .fn-lead,
.hero-inner .hero-description {
    margin-top: 28px !important;
    max-width: 660px;
    font-size: 18.5px !important;
    line-height: 1.55 !important;
    font-weight: 400 !important;
    color: var(--fn-soft) !important;
}

.highlight { color: var(--fn-gr-2); }

/* ── 7. Сигнатура: планка терміналу на картках і панелях ──── */

.fn-card, .fn-grid article,
.news-card, .card, .post-card,
.member-card, .platform-capability, .flagship-stat,
.igng-expert-comment__card, .igng-authorbox {
    border-left: var(--fn-rail) solid var(--fn-gr) !important;
}

.fn-grid { padding: 0 24px 88px; }

.fn-grid .container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.fn-grid article {
    padding: 26px 24px 28px;
    background: var(--fn-panel);
    border: 1px solid var(--fn-border);
    border-left: var(--fn-rail) solid var(--fn-gr);
    border-radius: 3px;
    transition: background .18s, border-color .18s;
}

.fn-grid article:hover {
    background: var(--fn-panel-2);
    border-color: var(--fn-border-2);
}

.fn-grid b, .fn-num, .fn-stat__value {
    display: block;
    font-family: var(--fn-mono);
    font-size: 13px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: var(--fn-am);
    letter-spacing: .04em;
}

.fn-grid h2 {
    font-size: 21px;
    font-weight: 500;
    letter-spacing: -.01em;
    margin: 14px 0 9px;
    color: var(--fn-text);
}

.fn-grid p {
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--fn-soft);
}

/* цифри й метрики теми — моно, бурштин, tabular */
.hero-stat-value, .stat-value, .flagship-stat__value,
.hero-stats-bar strong, .hero-stats-row strong,
.ig-crm-result__value {
    font-family: var(--fn-mono) !important;
    font-variant-numeric: tabular-nums;
    color: var(--fn-am) !important;
    letter-spacing: -.01em;
}

/* дії героя */
.fn-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 34px;
}

.fn-hero__actions .btn,
.fn-hero__actions .btn-ghost {
    display: inline-flex;
    align-items: center;
    padding: 13px 24px;
    font-size: 14px;
    text-decoration: none;
}

/* стрічка метрик героя */
.fn-stat-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin-top: 56px;
    background: var(--fn-border);
    border: 1px solid var(--fn-border);
    border-left: var(--fn-rail) solid var(--fn-gr);
    border-radius: 3px;
    overflow: hidden;
}

.fn-stat {
    background: var(--fn-bg);
    padding: 20px 22px 22px;
}

.fn-stat__value {
    display: block;
    font-family: var(--fn-mono);
    font-size: 30px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    letter-spacing: -.02em;
    color: var(--fn-am);
}

.fn-stat__label {
    display: block;
    margin-top: 8px;
    font-size: 12.5px;
    line-height: 1.45;
    color: var(--fn-soft);
}

@media (max-width: 760px) {
    .fn-stat-row { grid-template-columns: 1fr; margin-top: 40px; }
}

.fn-rule, .fn-hero .fn-rule {
    height: 1px;
    background: var(--fn-border);
    border: 0;
    margin: 40px 0;
}

/* ── 7b. Контентні секції сторінок (Рішення тощо) ─────────── */

.fn-section { padding: 88px 24px; }

.fn-section--ub {
    background: var(--fn-bg-2);
    border-top: 1px solid var(--fn-border);
    border-bottom: 1px solid var(--fn-border);
}

.fn-section-head { max-width: 720px; margin-bottom: 44px; }

.fn-section-head .fn-kicker { margin-bottom: 20px !important; }

.fn-section-head h2 {
    font-size: clamp(26px, 3vw, 36px);
    font-weight: 400;
    letter-spacing: -.02em;
    line-height: 1.15;
    color: var(--fn-text);
}

.fn-section-lead {
    margin-top: 16px;
    font-size: 16.5px;
    line-height: 1.62;
    color: var(--fn-soft);
}

.fn-solutions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 18px;
}

.fn-sol {
    padding: 24px 24px 26px;
    background: var(--fn-panel);
    border: 1px solid var(--fn-border);
    border-left: var(--fn-rail) solid var(--fn-gr);
    border-radius: 3px;
    transition: background .18s, border-color .18s;
}

.fn-sol:hover { background: var(--fn-panel-2); border-color: var(--fn-border-2); }

.fn-sol__idx {
    display: block;
    font-family: var(--fn-mono);
    font-size: 12.5px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    letter-spacing: .08em;
    color: var(--fn-am);
}

.fn-sol h3 {
    margin: 13px 0 9px;
    font-size: 18.5px;
    font-weight: 500;
    letter-spacing: -.01em;
    line-height: 1.3;
    color: var(--fn-text);
}

.fn-sol p { font-size: 14.5px; line-height: 1.6; color: var(--fn-soft); }

/* етапи роботи — нумерований реєстр */
.fn-steps {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--fn-border);
}

.fn-step {
    display: grid;
    grid-template-columns: 96px 1fr;
    gap: 24px;
    padding: 26px 0 28px;
    border-bottom: 1px solid var(--fn-border);
}

.fn-step__idx {
    font-family: var(--fn-mono);
    font-size: 30px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    letter-spacing: -.02em;
    line-height: 1;
    color: var(--fn-am);
}

.fn-step__body h3 {
    font-size: 20px;
    font-weight: 500;
    letter-spacing: -.01em;
    color: var(--fn-text);
    margin-bottom: 9px;
}

.fn-step__body p {
    max-width: 760px;
    font-size: 15px;
    line-height: 1.62;
    color: var(--fn-soft);
}

.fn-step__out {
    display: inline-block;
    margin-top: 14px;
    padding-left: 13px;
    border-left: var(--fn-rail) solid var(--fn-gr);
    font-family: var(--fn-mono);
    font-size: 12px;
    letter-spacing: .03em;
    color: var(--fn-gr);
}

@media (max-width: 700px) {
    .fn-step { grid-template-columns: 1fr; gap: 10px; }
    .fn-step__idx { font-size: 22px; }
}

/* суміжні контури — щільний список-реєстр */
.fn-adjacent {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--fn-border);
}

.fn-adjacent li {
    padding: 16px 18px;
    border-bottom: 1px solid var(--fn-border);
    border-left: var(--fn-rail) solid rgba(49, 213, 131, 0.35);
}

.fn-adjacent b {
    display: block;
    font-size: 14.5px;
    font-weight: 600;
    color: var(--fn-text);
}

.fn-adjacent span {
    display: block;
    margin-top: 5px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--fn-soft);
}

.fn-note {
    margin-top: 28px;
    max-width: 860px;
    font-size: 13px;
    line-height: 1.65;
    color: var(--fn-dim);
    border-left: 1px solid var(--fn-border);
    padding-left: 16px;
}

.fn-note a { color: var(--fn-gr); }

/* ── 7c. Блок платформи UnityBase ─────────────────────────── */

.fn-ub__head { max-width: 780px; margin-bottom: 44px; }

.fn-ub__head .fn-kicker { margin-bottom: 20px !important; }

.fn-ub__head h2 {
    font-size: clamp(28px, 3.2vw, 40px);
    font-weight: 300;
    letter-spacing: -.025em;
    line-height: 1.12;
    color: var(--fn-text);
}

.fn-ub__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
    gap: 1px;
    background: var(--fn-border);
    border: 1px solid var(--fn-border);
    border-left: var(--fn-rail) solid var(--fn-gr);
    border-radius: 3px;
    overflow: hidden;
}

.fn-mech { background: var(--fn-bg-2); padding: 24px 22px 26px; }

.fn-mech h3 {
    font-family: var(--fn-mono);
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--fn-gr);
    margin-bottom: 12px;
}

.fn-mech p { font-size: 14.5px; line-height: 1.6; color: var(--fn-soft); }

.fn-ub__editions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px;
    margin-top: 20px;
}

.fn-ed {
    padding: 18px 20px 20px;
    background: var(--fn-panel);
    border: 1px solid var(--fn-border);
    border-radius: 3px;
}

.fn-ed__name {
    display: block;
    font-family: var(--fn-mono);
    font-size: 14px;
    font-weight: 600;
    color: var(--fn-text);
}

.fn-ed__lic {
    display: inline-block;
    margin: 8px 0 10px;
    font-family: var(--fn-mono);
    font-size: 11px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--fn-am);
}

.fn-ed p { font-size: 13.5px; line-height: 1.55; color: var(--fn-soft); }

@media (max-width: 760px) {
    .fn-section { padding: 60px 20px; }
    .fn-section-head { margin-bottom: 32px; }
}

/* ── 8. Кнопки й посилання ────────────────────────────────── */

.btn, .btn-primary, .fn-btn {
    background: var(--fn-gr) !important;
    color: var(--fn-gr-dark) !important;
    border-radius: 3px !important;
    font-weight: 600;
    border: 0;
}

.btn:hover, .btn-primary:hover, .fn-btn:hover {
    background: var(--fn-gr-2) !important;
    color: var(--fn-gr-dark) !important;
}

.btn-ghost, .fn-btn--ghost {
    background: transparent !important;
    color: var(--fn-gr) !important;
    border: 1px solid rgba(49, 213, 131, 0.4) !important;
    border-radius: 3px !important;
    font-weight: 600;
}

.btn-ghost:hover, .fn-btn--ghost:hover {
    background: rgba(49, 213, 131, 0.10) !important;
    border-color: var(--fn-gr) !important;
    color: var(--fn-gr-2) !important;
}

a { color: var(--fn-gr); }
a:hover { color: var(--fn-gr-2); }

.single-body a { color: var(--fn-gr-2); text-decoration-color: rgba(127, 233, 180, .45); }

/* ── 9. Перекриття хардкоджених синіх кольорів теми ────────
   site.css пише сині напряму, повз змінні (playbook §1). */

.hero-author,
.hero-stats-bar,
.hero-stats-row,
.experts-index,
.member-card,
.flagship-stat,
.igng-service-cta__inner,
.ig-crm-result,
.tag-context__cluster,
.platform-capability,
.pillar-alliance-note,
.article-toc,
.article-faq,
.igng-authorbox,
.igng-expert-comment__card,
.single-sidebar .pillar-mention,
.ig-form-success {
    background: var(--fn-panel) !important;
    background-color: var(--fn-panel) !important;
    border-color: var(--fn-border) !important;
}

.hero-home::after,
.member-card::before,
.member-card-logo-hover { background: transparent !important; }

.igng-expert-comment--inline blockquote {
    background: var(--fn-panel) !important;
    border-left: var(--fn-rail) solid var(--fn-gr) !important;
}

.single-body table {
    background: var(--fn-panel) !important;
    border-color: var(--fn-border) !important;
}

.single-body table th {
    background: var(--fn-solid) !important;
    font-family: var(--fn-mono);
    font-size: 12.5px;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--fn-soft) !important;
}

.single-body table td { font-variant-numeric: tabular-nums; }

.ig-popup-backdrop { background: rgba(5, 8, 11, .82) !important; }

.ig-popup, .ig-popup-inner { background: var(--fn-solid) !important; }

/* ── 9b. Залишки старого акценту клона (#3fa9f5 / #58c4dd) ──
   Тема пише їх хексами повз змінні; знайдено скануванням site.css. */

.hero-author .ha-pos,
.hero-author .ha-tag,
.hero-author .ha-stats,
.hero-author .ha-stats a,
.hero-home .hero-cta .btn-primary,
.ig-form-group label span,
.ig-form-privacy label a,
.ig-popup-tag,
.news-card-meta .news-card-more,
.news-card:hover .news-card-meta .news-card-more,
.sidebar-recent-link:hover .sidebar-recent-title,
.single-hero-meta .post-author:focus,
.archived-notice a {
    color: var(--fn-gr) !important;
}

.igng-expert-comment__label,
.igng-service-cta__eyebrow,
.igng-authorbox__label,
.tag-context__label {
    color: var(--fn-gr) !important;
    font-family: var(--fn-mono);
    font-size: 11.5px;
    letter-spacing: .12em;
    text-transform: uppercase;
}

/* стаття: службовий рядок над заголовком — мова терміналу */
.single-hero .breadcrumbs,
.single-hero-meta,
.single-hero-meta a,
.single-hero-meta span {
    font-family: var(--fn-mono);
    font-size: 12px;
    letter-spacing: .04em;
}

.single-hero .breadcrumbs { color: var(--fn-dim); margin-bottom: 20px; }
.single-hero .breadcrumbs a { color: var(--fn-soft); }
.single-hero .breadcrumbs a:hover { color: var(--fn-gr); }
.single-hero-meta .post-cat { color: var(--fn-gr) !important; }
.single-hero-meta .post-date,
.single-hero-meta .post-read { color: var(--fn-dim); font-variant-numeric: tabular-nums; }
.single-title { font-weight: 300 !important; letter-spacing: -.025em !important; }

.ig-form-privacy input[type="checkbox"],
.contact-form-wrapper input[type="checkbox"] {
    accent-color: var(--fn-gr);
    width: 16px !important;
    height: 16px;
    flex: 0 0 auto;
}

.ig-form-privacy, .ig-crm-form__consent { align-items: flex-start; }
.ig-form-privacy > span, .ig-crm-form__consent > span { min-width: 0; }

.sidebar-widget,
.single-sidebar .pillar-mention,
.member-popup-box,
.flagship-section {
    background: var(--fn-panel) !important;
    background-color: var(--fn-panel) !important;
    border-color: var(--fn-border) !important;
}

.widget-about .widget-logo { background: rgba(49, 213, 131, 0.06) !important; }

.about-peer:hover path,
.about-svg-firm:has(.about-peer:hover) .about-md rect { fill: var(--fn-gr) !important; }

/* ── 9c. Смуги рубрик у картках новин ─────────────────────
   data/catcolors.json дістався від флагмана «веселкою» (8 різних
   кольорів). До перепрофілювання рубрик тримаємо один акцент
   системи, інакше сітка новин розсипається на різнобій. */

.news-card-band { background: var(--fn-bg-2) !important; }

.news-card-band-rail { background: var(--fn-gr) !important; }

.news-card-band-icon { color: var(--fn-gr) !important; opacity: .16; }

.news-card-band-pill {
    font-family: var(--fn-mono);
    font-size: 11px;
    letter-spacing: .06em;
    color: var(--fn-gr) !important;
    border-color: rgba(49, 213, 131, 0.35) !important;
    border-radius: 2px;
}

/* ── 9d. Футер: дві колонки, компактно ────────────────────
   Тема задає 4–5 колонок у семи місцях із !important — звідси
   !important і тут. Блоки «Компетенції» та «Контакти» з
   успадкованими від флагмана твердженнями прибрано з розмітки. */

.fn-footer { padding: 56px 24px 26px !important; }

.fn-footer .footer-grid {
    grid-template-columns: 1.15fr 1fr !important;
    gap: 48px !important;
    margin-bottom: 32px !important;
    align-items: start;
}

@media (max-width: 760px) {
    .fn-footer .footer-grid { grid-template-columns: 1fr !important; gap: 28px !important; }
    .fn-footer { padding: 44px 20px 22px !important; }
}

.fn-footer .footer-desc {
    margin-top: 16px;
    max-width: 420px;
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--fn-soft);
}

/* специфічність: тема має .footer-col a { color: var(--muted) } (0,2,0),
   тому одного класу мало */
.fn-footer .fn-footer__mail {
    display: inline-block;
    margin-top: 16px;
    font-family: var(--fn-mono);
    font-size: 13.5px;
    color: var(--fn-gr);
}

.fn-footer .fn-footer__mail:hover { color: var(--fn-gr-2); }

.fn-footer .footer-col-title {
    font-family: var(--fn-mono) !important;
    font-size: 11px !important;
    letter-spacing: .12em !important;
    color: var(--fn-dim) !important;
    margin-bottom: 16px !important;
}

.fn-footer__nav {
    column-count: 2;
    column-gap: 24px;
}

@media (max-width: 400px) { .fn-footer__nav { column-count: 1; } }

.fn-footer__nav li { break-inside: avoid; margin-bottom: 9px !important; }

.fn-footer .fn-footer__nav a { font-size: 13.5px; color: var(--fn-soft); }
.fn-footer .fn-footer__nav a:hover { color: var(--fn-gr); }

.fn-footer .footer-bottom {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
    justify-content: space-between;
    padding-top: 20px;
    border-top: 1px solid var(--fn-border);
    font-size: 12.5px;
}

.fn-footer .footer-copy { color: var(--fn-dim); font-family: var(--fn-mono); }
.fn-footer .footer-privacy { color: var(--fn-soft); }
.fn-footer .footer-privacy:hover { color: var(--fn-gr); }

/* ── 9d-bis. Картки новин і вкладки рубрик ────────────────
   Власна розмітка (.fn-card) замість флагманської .news-card з
   кольоровою бандою та іконкою. */

.news-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
    gap: 1px !important;
    background: var(--fn-border);
    border: 1px solid var(--fn-border);
    border-radius: 3px;
    overflow: hidden;
}

.fn-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 20px 22px 24px;
    background: var(--fn-bg);
    border-left: var(--fn-rail) solid transparent;
    transition: background .16s, border-color .16s;
}

.fn-card:hover {
    background: var(--fn-bg-2);
    border-left-color: var(--fn-gr);
}

.fn-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    font-family: var(--fn-mono);
    font-size: 11px;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.fn-card__cat { color: var(--fn-gr); text-decoration: none; }
.fn-card__cat:hover { color: var(--fn-gr-2); }

.fn-card__date, .fn-card__read {
    color: var(--fn-dim);
    font-variant-numeric: tabular-nums;
}

.fn-card__date::before, .fn-card__read::before {
    content: "·";
    margin-right: 10px;
    color: var(--fn-border-2);
}

.fn-card__meta > :first-child::before { content: none; }

.fn-card__title { margin: 2px 0 0; }

.fn-card__title a {
    font-size: 17px;
    font-weight: 500;
    line-height: 1.32;
    letter-spacing: -.01em;
    color: var(--fn-text);
    text-decoration: none;
}

.fn-card:hover .fn-card__title a { color: var(--fn-gr-2); }

.fn-card__excerpt {
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--fn-soft);
}

/* вкладки рубрик — однакові на /news/ і на сторінках рубрик */
.news-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 26px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--fn-border);
}

.filter-tab {
    display: inline-flex;
    width: fit-content;
    padding: 8px 14px;
    font-family: var(--fn-mono);
    font-size: 12px;
    letter-spacing: .04em;
    color: var(--fn-soft);
    background: var(--fn-panel);
    border: 1px solid var(--fn-border);
    border-radius: 2px;
    text-decoration: none;
    transition: color .16s, border-color .16s, background .16s;
}

a.filter-tab:hover {
    color: var(--fn-gr);
    border-color: var(--fn-border-2);
    background: rgba(49, 213, 131, .08);
}

.filter-tab.active {
    background: var(--fn-gr) !important;
    border-color: var(--fn-gr) !important;
    color: var(--fn-gr-dark) !important;
    font-weight: 600;
}

/* ── 9d-ter. Картки людей: імена й посади без підкреслення ─
   Уся картка — одне посилання, тож підкреслення від <a> тягнулося
   і на імʼя, і на посаду. */

.expert-card__link,
.expert-card__link:hover,
.expert-card__link:focus-visible {
    text-decoration: none !important;
}

.expert-card__name {
    color: var(--fn-text);
    text-decoration: none !important;
    transition: color .16s;
}

.expert-card__link:hover .expert-card__name { color: var(--fn-gr-2); }

.expert-card__pos {
    color: var(--fn-soft);
    text-decoration: none !important;
}

/* ── 9e. Блок-заклик наприкінці сторінки ──────────────────
   Панель на пів ширини: текст ліворуч, дія праворуч. Самої форми
   тут більше немає — кнопка відкриває попап (див. form_cta.html). */

.ct-form-cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 32px;
    max-width: 760px;
    margin: 64px auto 0;
    padding: 30px 32px 32px;
    background: var(--fn-panel);
    border: 1px solid var(--fn-border);
    border-left: var(--fn-rail) solid var(--fn-gr);
    border-radius: 3px;
}

.ct-form-cta .fn-kicker { margin-bottom: 16px !important; }

.ct-form-cta h2 {
    font-size: 23px;
    font-weight: 500;
    letter-spacing: -.015em;
    line-height: 1.2;
    color: var(--fn-text);
}

.ct-form-cta .ct-form-note {
    margin-top: 10px;
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--fn-soft);
}

.ct-form-cta__action {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    text-align: center;
}

.ct-form-cta__action .btn {
    padding: 14px 26px;
    font-size: 14px;
    white-space: nowrap;
    cursor: pointer;
}

.ct-form-cta .ct-form-cta__mail {
    font-family: var(--fn-mono);
    font-size: 12.5px;
    color: var(--fn-soft);
}

.ct-form-cta .ct-form-cta__mail:hover { color: var(--fn-gr); }

@media (max-width: 700px) {
    .ct-form-cta {
        grid-template-columns: 1fr;
        gap: 22px;
        padding: 24px 22px 26px;
        margin-top: 44px;
    }
    .ct-form-cta__action { align-items: stretch; }
}

/* ── 9f. Форма на сторінці контактів і в попапі ───────────
   Тема не обмежує ширину — на широкому екрані поля розтягувались
   на весь контейнер. Тримаємо читабельну міру. */

.ig-crm-form { max-width: 640px; }

.ig-popup .ig-crm-form, .ig-popup-inner .ig-crm-form { max-width: none; }




/* ── 9g. Залишки старого акценту клона (#3fa9f5) ─────────
   Витягнуто зі site.css скриптом: синій сидів не лише в color, а й
   у border-*, ::before/::after і text-decoration-color — рамки мовного
   перемикача, підкреслення глосарійних лінків, номери у змісті статті.
   Мапа: #3fa9f5 → зелений, #2f86c4 → темніший зелений, #83c8f9/#58c4dd →
   світлий зелений. */

#ig-popup-close:focus-visible,
#member-popup-close:focus-visible,
.ig-popup-close:focus-visible,
.member-popup-close:focus-visible { border-color: rgba(49, 213, 131, 0.42) !important; box-shadow: 0 0 0 1px rgba(6, 18, 32, 0.86),
        0 0 0 4px rgba(49, 213, 131, 0.14) !important; }
.about-node:hover rect { filter: drop-shadow(0 0 8px rgba(49, 213, 131, 0.35)) !important; }
.about-peer:hover circle,
.about-peer:hover path { stroke: var(--fn-gr-2) !important; }
.about-svg-firm:has(.about-peer:hover) .about-md rect { stroke: var(--fn-gr-2) !important; }
.about-svg-firm:has(.about-peer[data-lead="commercial"]:hover) .about-lead[data-lead="commercial"] rect,
.about-svg-firm:has(.about-peer[data-lead="financial"]:hover)  .about-lead[data-lead="financial"] rect,
.about-svg-firm:has(.about-peer[data-lead="delivery"]:hover)   .about-lead[data-lead="delivery"] rect { stroke: var(--fn-gr-2) !important; }
.about-svg-group:has(.about-node[data-id="p-global"]:hover)     .about-spoke[data-target="p-global"],
.about-svg-group:has(.about-node[data-id="p-enterprise"]:hover) .about-spoke[data-target="p-enterprise"],
.about-svg-group:has(.about-node[data-id="p-public"]:hover)     .about-spoke[data-target="p-public"] { stroke: var(--fn-gr-2) !important; }
.about-svg-group:has(.about-node[data-id="p-software-eng"]:hover) .about-spoke[data-target="p-software-eng"],
.about-svg-group:has(.about-node[data-id="p-hardware"]:hover)     .about-spoke[data-target="p-hardware"],
.about-svg-group:has(.about-node[data-id="p-software-int"]:hover) .about-spoke[data-target="p-software-int"],
.about-svg-group:has(.about-node[data-id="p-data"]:hover)         .about-spoke[data-target="p-data"],
.about-svg-group:has(.about-node[data-id="p-iot"]:hover)          .about-spoke[data-target="p-iot"] { stroke: var(--fn-gr) !important; }
.approach-item { border-bottom: 1px solid rgba(49, 213, 131,0.08) !important; border-right: 1px solid rgba(49, 213, 131,0.08) !important; }
.archived-notice a { color: var(--teal, var(--fn-gr)) !important; }
.article-faq { border-top: 2px solid rgba(49, 213, 131, .48) !important; }
.article-faq__item summary::after { background: rgba(49, 213, 131, .06) !important; border: 1px solid rgba(49, 213, 131, .26) !important; }
.article-faq__item summary::before { background: rgba(49, 213, 131, .78) !important; box-shadow: 0 0 0 5px rgba(49, 213, 131, .08) !important; }
.article-faq__item[open] { background: rgba(49, 213, 131, .045) !important; border-color: rgba(49, 213, 131, .28) !important; }
.article-faq__item[open] summary::after { background: rgba(49, 213, 131, .12) !important; border-color: rgba(49, 213, 131, .48) !important; }
.article-toc { border-top: 2px solid rgba(49, 213, 131, .55) !important; }
.article-toc__item--sub { border-left: 1px solid rgba(49, 213, 131, .18) !important; }
.article-toc__item--sub::after { background: rgba(49, 213, 131, .45) !important; }
.article-toc__item::before { background: rgba(49, 213, 131, .055) !important; border: 1px solid rgba(49, 213, 131, .20) !important; color: rgba(49, 213, 131, .82) !important; }
.back-to-top { box-shadow: 0 4px 15px rgba(49, 213, 131,0.3) !important; }
.back-to-top:hover { box-shadow: 0 6px 20px rgba(49, 213, 131,0.4) !important; }
.category-title span { color: rgba(49, 213, 131, 0.86) !important; }
.color-tag-soft { color: rgba(49, 213, 131,0.7) !important; }
.contact-form-wrapper .ig-form-privacy input[type="checkbox"],
.contact-form-wrapper .wpcf7-acceptance input[type="checkbox"] { border: 1px solid rgba(49, 213, 131, 0.45) !important; }
.contact-form-wrapper .ig-form-privacy input[type="checkbox"]:checked,
.contact-form-wrapper .wpcf7-acceptance input[type="checkbox"]:checked { box-shadow: 0 0 0 1px rgba(49, 213, 131, 0.2) !important; }
.contact-form-wrapper .ig-form-privacy input[type="checkbox"]:focus-visible,
.contact-form-wrapper .wpcf7-acceptance input[type="checkbox"]:focus-visible { border-color: rgba(49, 213, 131, 0.72) !important; box-shadow: 0 0 0 1px rgba(6, 18, 32, 0.72),
        0 0 0 4px rgba(49, 213, 131, 0.2) !important; }
.contact-form-wrapper .wpcf7-response-output { border: 1px solid rgba(49, 213, 131,0.3) !important; }
.contact-form-wrapper input:focus,
.contact-form-wrapper select:focus,
.contact-form-wrapper textarea:focus { background: rgba(49, 213, 131,0.03) !important; border-color: rgba(49, 213, 131,0.45) !important; }
.ct-form input:focus,
.ct-form select:focus,
.ct-form textarea:focus,
.ig-popup-form input:focus,
.ig-popup-form select:focus,
.ig-popup-form textarea:focus { border-color: rgba(49, 213, 131, 0.5) !important; box-shadow: 0 0 0 4px rgba(49, 213, 131, 0.08) !important; }
.ct-form-col input:focus,
.ct-form-col select:focus,
.ct-form-col textarea:focus,
.ct-form-col .wpcf7-form input:focus,
.ct-form-col .wpcf7-form select:focus,
.ct-form-col .wpcf7-form textarea:focus { background: rgba(49, 213, 131,0.04) !important; }
.ct-form-col input[type="submit"]:hover,
.ct-form-col .wpcf7-submit:hover { box-shadow: 0 6px 20px rgba(49, 213, 131,0.3) !important; }
.ct-intent-card:focus-visible { background: linear-gradient(180deg, rgba(49, 213, 131, 0.1) 0%, rgba(255, 255, 255, 0.035) 100%) !important; border-color: rgba(49, 213, 131, 0.42) !important; box-shadow: 0 0 0 4px rgba(49, 213, 131, 0.12),
        0 18px 42px rgba(0, 0, 0, 0.2) !important; }
.ct-intent-card:hover { background: linear-gradient(180deg, rgba(49, 213, 131, 0.09) 0%, rgba(255, 255, 255, 0.03) 100%) !important; border-color: rgba(49, 213, 131, 0.34) !important; }
.ct-intent-icon { background: rgba(49, 213, 131, 0.08) !important; border: 1px solid rgba(49, 213, 131, 0.2) !important; }
.ct-join-block { background: rgba(49, 213, 131,0.04) !important; }
.ct-join-link { border: 1px solid rgba(49, 213, 131,0.35) !important; }
.ct-pstat:hover { background: rgba(49, 213, 131,0.06) !important; }
.ct-region--hq .ct-region-dot { box-shadow: 0 0 7px rgba(49, 213, 131,0.5) !important; }
.ct-sla-icon { background: rgba(49, 213, 131,0.08) !important; }
.cta-section { border-top: 1px solid rgba(49, 213, 131,0.1) !important; }
.cta-section--industries { border-top: 1px solid rgba(49, 213, 131,0.1) !important; }
.expert-card:hover { border-color: var(--teal-border-h, rgba(49, 213, 131,.5)) !important; }
.experts-alpha__btn:hover { background: rgba(49, 213, 131, .07) !important; border-color: var(--teal-border-h, rgba(49, 213, 131,.5)) !important; }
.flagship-feature-icon { background: rgba(49, 213, 131,0.1) !important; border: 1px solid rgba(49, 213, 131,0.2) !important; }
.flagship-section { border-bottom: 1px solid rgba(49, 213, 131,0.08) !important; border-top: 1px solid rgba(49, 213, 131,0.08) !important; }
.flagship-section .tag { color: rgba(49, 213, 131,0.8) !important; }
.flagship-stat { background: rgba(49, 213, 131,0.06) !important; border: 1px solid rgba(49, 213, 131,0.15) !important; }
.footer-social a:hover { background: rgba(49, 213, 131,0.06) !important; }
.gloss-link { text-decoration-color: rgba(49, 213, 131,0.4) !important; }
.glossary-alpha-btn.active { background: rgba(49, 213, 131,0.10) !important; }
.glossary-alpha-btn:hover { background: rgba(49, 213, 131,0.05) !important; border-color: rgba(49, 213, 131,0.25) !important; }
.glossary-cloud-section { border-top: 1px solid rgba(49, 213, 131,0.10) !important; }
.glossary-entry.is-target { background: rgba(49, 213, 131,0.075) !important; border-color: rgba(49, 213, 131,0.26) !important; }
.glossary-letter-anchor { border-bottom: 1px solid rgba(49, 213, 131,0.15) !important; }
.glossary-letter-stamp { color: rgba(49, 213, 131,0.07) !important; }
.glossary-nav { border-bottom: 1px solid rgba(49, 213, 131,0.12) !important; }
.glossary-nav-letter { border: 1px solid rgba(49, 213, 131,0.2) !important; }
.glossary-nav-letter:hover { background: rgba(49, 213, 131,0.06) !important; }
.glossary-search:focus { border-color: rgba(49, 213, 131,0.4) !important; }
.glossary-tag-pill.has-def { border-color: rgba(49, 213, 131,0.2) !important; }
.glossary-tag-pill.has-def:hover { background: rgba(49, 213, 131,0.06) !important; }
.glossary-tag-pill:hover { border-color: rgba(49, 213, 131,0.3) !important; }
.hero-author { border-bottom: 1px solid rgba(49, 213, 131, .12) !important; }
.hero-author .ha-ava img,
.hero-author .ha-ava .avatar { border: 2px solid rgba(49, 213, 131, .3) !important; border-color: rgba(49, 213, 131, .38) !important; box-shadow: 0 0 0 8px rgba(49, 213, 131, .06), 0 24px 60px rgba(0, 0, 0, .22) !important; }
.hero-author .ha-ava::after { background: linear-gradient(180deg, rgba(49, 213, 131, .5), transparent) !important; }
.hero-author .ha-pos { color: var(--fn-gr) !important; }
.hero-author .ha-stats { border-top: 1px solid rgba(49, 213, 131, .15) !important; }
.hero-author .ha-stats .ha-sep { background: rgba(49, 213, 131, .3) !important; }
.hero-author .ha-stats .ha-tag-chip { background: rgba(49, 213, 131, .04) !important; border: 1px solid rgba(49, 213, 131, .25) !important; }
.hero-author .ha-stats .ha-tag-chip:hover { border-color: rgba(49, 213, 131, .6) !important; color: var(--fn-gr) !important; }
.hero-author .ha-tag { color: var(--fn-gr) !important; }
.hero-stat-sep { background: rgba(49, 213, 131,0.2) !important; }
.hero-stats-bar { border-bottom: 1px solid rgba(49, 213, 131,0.08) !important; border-top: 1px solid rgba(49, 213, 131,0.15) !important; }
.hero-stats-row { background: radial-gradient(circle at top right, rgba(49, 213, 131, 0.14), transparent 36%),
        linear-gradient(180deg, rgba(10, 22, 40, 0.9) 0%, rgba(7, 21, 37, 0.96) 100%) !important; }
.hero-tag { color: rgba(49, 213, 131,0.85) !important; }
.ig-crm-form__status { background: rgba(49, 213, 131,0.06) !important; border: 1px solid rgba(49, 213, 131,0.24) !important; }
.ig-crm-result { background: linear-gradient(135deg, rgba(49, 213, 131,0.16), rgba(10,28,50,0.94) 42%),
        rgba(255,255,255,0.035) !important; border: 1px solid rgba(49, 213, 131,0.34) !important; }
.ig-crm-result::before { box-shadow: 0 0 24px rgba(49, 213, 131,0.5) !important; }
.ig-crm-result__btn:hover,
.ig-crm-result__btn:focus-visible { background: rgba(49, 213, 131,0.08) !important; border-color: rgba(49, 213, 131,0.48) !important; }
.ig-crm-result__mark { background: rgba(49, 213, 131,0.12) !important; border: 1px solid rgba(49, 213, 131,0.38) !important; }
.ig-form-group input:focus,
.ig-form-group select:focus,
.ig-form-group textarea:focus { background: rgba(49, 213, 131,0.04) !important; border-color: rgba(49, 213, 131,0.5) !important; }
.ig-form-group label span { color: var(--teal, var(--fn-gr)) !important; }
.ig-form-privacy input[type="checkbox"] { accent-color: var(--teal, var(--fn-gr)) !important; }
.ig-form-privacy label a { color: var(--teal, var(--fn-gr)) !important; }
.ig-icon--circle { background: rgba(49, 213, 131,0.06) !important; border: 1px solid rgba(49, 213, 131,0.25) !important; }
.ig-popup-body .wpcf7-form input:focus,
.ig-popup-body .wpcf7-form select:focus,
.ig-popup-body .wpcf7-form textarea:focus { background: rgba(49, 213, 131,0.04) !important; border-color: rgba(49, 213, 131,0.5) !important; }
.ig-popup-body .wpcf7-form input[type="submit"]:hover,
.ig-popup-body .wpcf7-submit:hover { box-shadow: 0 6px 20px rgba(49, 213, 131,0.28) !important; }
.ig-popup-body .wpcf7-response-output { background: rgba(49, 213, 131,0.06) !important; border: 1px solid rgba(49, 213, 131,0.3) !important; }
.ig-popup-box { border: 1px solid rgba(49, 213, 131,0.18) !important; }
.ig-popup-header { background: linear-gradient(135deg, rgba(49, 213, 131,0.06) 0%, transparent 60%) !important; border-bottom: 1px solid rgba(49, 213, 131,0.1) !important; }
.ig-popup-tag { color: var(--teal, var(--fn-gr)) !important; }
.ig-tab-btn { border: 1px solid rgba(49, 213, 131,0.18) !important; }
.ig-tab-btn.active { background: linear-gradient(135deg, rgba(49, 213, 131, 0.18) 0%, rgba(131, 200, 249, 0.1) 100%),
        rgba(255, 255, 255, 0.03) !important; border-color: rgba(49, 213, 131, 0.48) !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 0 0 1px rgba(49, 213, 131, 0.1) !important; }
.ig-tab-btn:focus-visible { box-shadow: 0 0 0 4px rgba(49, 213, 131, 0.12) !important; }
.ig-tab-btn:hover { border-color: rgba(49, 213, 131,0.4) !important; }
.ig-tab-btn:hover,
.ig-tab-btn:focus-visible { background: linear-gradient(135deg, rgba(49, 213, 131, 0.08) 0%, rgba(131, 200, 249, 0.05) 100%) !important; border-color: rgba(49, 213, 131, 0.24) !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04),
        0 0 0 1px rgba(49, 213, 131, 0.05) !important; }
.igng-authorbox { border-top: 2px solid rgba(49, 213, 131, .42) !important; }
.igng-authorbox__avatar img { border: 2px solid rgba(49, 213, 131, .28) !important; border-color: rgba(49, 213, 131, .38) !important; }
.igng-expert-comment blockquote::before { background: rgba(49, 213, 131, .38) !important; }
.igng-expert-comment--inline blockquote { border-left: 2px solid rgba(49, 213, 131, .74) !important; }
.igng-expert-comment__card { background: linear-gradient(135deg, rgba(49, 213, 131, .10), rgba(29, 108, 232, .055)), rgba(8, 20, 38, .9) !important; border: 1px solid rgba(49, 213, 131, .20) !important; }
.igng-expert-comment__card::before { background: linear-gradient(180deg, rgba(49, 213, 131, .86), rgba(29, 108, 232, .42)) !important; }
.igng-expert-comment__label,
.igng-authorbox__label { color: rgba(49, 213, 131, .9) !important; }
.igng-expert-comment__media img { box-shadow: 0 0 0 6px rgba(49, 213, 131, .06) !important; }
.igng-expert-comment__profile,
.igng-authorbox__link { border: 1px solid rgba(49, 213, 131, .32) !important; }
.igng-expert-comment__profile:hover,
.igng-expert-comment__profile:focus,
.igng-authorbox__link:hover,
.igng-authorbox__link:focus { background: rgba(49, 213, 131, .08) !important; }
.igng-service-cta__btn:hover,
.igng-service-cta__btn:focus { background: rgba(49, 213, 131, .85) !important; }
.igng-service-cta__eyebrow { color: rgba(49, 213, 131, .9) !important; }
.igng-service-cta__inner { background: linear-gradient(135deg, rgba(49, 213, 131, .12), rgba(29, 108, 232, .06)),
        rgba(8, 20, 38, .86) !important; border: 1px solid rgba(49, 213, 131, .28) !important; }
.igng-service-cta__link { border: 1px solid rgba(49, 213, 131, .32) !important; }
.igng-service-cta__link:hover,
.igng-service-cta__link:focus { background: rgba(49, 213, 131, .08) !important; }
.lang-sw.active { background: rgba(49, 213, 131,0.08) !important; }
.lang-switcher .lang-sw.active,
.mobile-lang-header .lang-sw.active,
.mobile-lang .lang-sw.active,
.lang-switcher .lang-sw:hover,
.mobile-lang-header .lang-sw:hover,
.mobile-lang .lang-sw:hover { background: rgba(49, 213, 131, 0.1) !important; border-color: rgba(49, 213, 131, 0.4) !important; }
.member-card { border: 1px solid rgba(49, 213, 131,0.12) !important; }
.member-card:hover { border-color: rgba(49, 213, 131,0.3) !important; }
.member-card:hover,
.member-card:focus-visible { border-color: rgba(49, 213, 131, 0.34) !important; }
.member-hover-hint { color: rgba(49, 213, 131,0.6) !important; }
.member-hover-monogram { background: rgba(49, 213, 131, 0.1) !important; border: 1px solid rgba(49, 213, 131,0.3) !important; }
.member-popup-box { border: 1px solid rgba(49, 213, 131,0.25) !important; }
.member-popup-close:hover { background: rgba(49, 213, 131,0.15) !important; }
.member-popup-link { border: 1px solid rgba(49, 213, 131,0.4) !important; }
.method-approaches { border: 1px solid rgba(49, 213, 131,0.10) !important; }
.method-card { border: 1px solid rgba(49, 213, 131,0.12) !important; }
.method-card:hover { border-color: rgba(49, 213, 131,0.35) !important; }
.mgmt-section .service-card:hover { border-color: rgba(49, 213, 131,0.3) !important; }
.mobile-lang-header .lang-sw { border: 1px solid rgba(49, 213, 131, 0.28) !important; }
.mobile-lang-header .lang-sw.active { background: rgba(49, 213, 131, 0.08) !important; }
.mobile-menu { background: radial-gradient(circle at top right, rgba(49, 213, 131, 0.14), transparent 34%),
            linear-gradient(180deg, #081424 0%, #061220 100%) !important; }
.mobile-menu-close { border: 1px solid rgba(49, 213, 131, 0.35) !important; }
.news-card-meta .news-card-more { border: 1.5px solid rgba(49, 213, 131, .28) !important; color: var(--teal, var(--fn-gr)) !important; }
.news-card-meta .news-card-more:hover,
.news-card-meta .news-card-more:focus-visible,
.news-card:hover .news-card-meta .news-card-more { background: rgba(49, 213, 131, .08) !important; border-color: var(--teal, var(--fn-gr)) !important; color: var(--teal, var(--fn-gr)) !important; }
.news-card:hover { border-color: rgba(49, 213, 131,0.25) !important; }
.news-pagination .page-numbers li a.prev,
.news-pagination .page-numbers li a.next { border-color: rgba(49, 213, 131,0.2) !important; }
.news-pagination .page-numbers li a.prev:hover,
.news-pagination .page-numbers li a.next:hover { background: rgba(49, 213, 131,0.08) !important; }
.news-pagination .page-numbers li a:hover { background: rgba(49, 213, 131,0.06) !important; border-color: rgba(49, 213, 131,0.4) !important; }
.pillar-cta-section::before { background: radial-gradient(circle at 30% 50%, rgba(49, 213, 131, 0.12) 0%, transparent 60%) !important; }
.pillar-filter-col--yes { border-color: rgba(49, 213, 131, 0.30) !important; }
.pillar-leads { background: rgba(49, 213, 131, 0.06) !important; }
.pillar-mention { background: linear-gradient(135deg, rgba(49, 213, 131, 0.06) 0%, rgba(49, 213, 131, 0.02) 100%) !important; }
.pillar-position-statement { background: linear-gradient(135deg, rgba(49, 213, 131, 0.04) 0%, rgba(49, 213, 131, 0.01) 100%) !important; }
.pillar-signature-card { background: linear-gradient(135deg, rgba(49, 213, 131, 0.08), rgba(49, 213, 131, 0.015)),
        var(--card-bg) !important; }
.platform-capability span::after { background: rgba(49, 213, 131, 0.55) !important; }
.platform-section { background: linear-gradient(180deg, rgba(49, 213, 131, 0.10), transparent 34%),
        var(--grad-dark-teal) !important; border-bottom: 1px solid rgba(49, 213, 131, 0.18) !important; border-top: 1px solid rgba(49, 213, 131, 0.18) !important; }
.post-cat { background: rgba(49, 213, 131,0.1) !important; border: 1px solid rgba(49, 213, 131,0.2) !important; }
.program-badge { border: 1px solid rgba(49, 213, 131,0.3) !important; box-shadow: 0 20px 60px rgba(0,0,0,0.4), inset 0 1px 0 rgba(49, 213, 131,0.15) !important; }
.program-badge-eyebrow { color: rgba(49, 213, 131,0.7) !important; }
.program-badge-since { color: rgba(49, 213, 131,0.4) !important; }
.program-badge::before { background: radial-gradient(circle, rgba(49, 213, 131,0.12) 0%, transparent 70%) !important; }
.seg-matrix { border: 1px solid rgba(49, 213, 131,0.10) !important; }
.seg-matrix-row:hover { background: rgba(49, 213, 131,0.04) !important; }
.seg-matrix-row:nth-child(odd) { border-right: 1px solid rgba(49, 213, 131,0.10) !important; }
.segment-circle-card:hover { background: rgba(49, 213, 131,0.04) !important; border-color: rgba(49, 213, 131,0.3) !important; }
.segment-circle-index { color: rgba(49, 213, 131, 0.32) !important; }
.segment-teaser-item:hover { border-color: rgba(49, 213, 131,0.25) !important; }
.segment:hover .ig-icon--circle,
.segment-card:hover .ig-icon--circle { background: rgba(49, 213, 131,0.12) !important; border-color: rgba(49, 213, 131,0.5) !important; }
.service-card::before { background: linear-gradient(90deg, rgba(49, 213, 131, 0), rgba(49, 213, 131, 0.6), rgba(131, 200, 249, 0.18)) !important; }
.sidebar-recent-item { border-bottom: 1px solid rgba(49, 213, 131, .08) !important; }
.sidebar-recent-link:hover { background: rgba(49, 213, 131, .03) !important; }
.sidebar-recent-link:hover .sidebar-recent-title { color: var(--fn-gr) !important; }
.single-body .igng-article-body h2 { border-left: 2px solid rgba(49, 213, 131, .65) !important; }
.single-body blockquote { background: rgba(49, 213, 131,0.06) !important; }
.single-body code { background: rgba(49, 213, 131,0.08) !important; }
.single-body h2 { border-left: 2px solid rgba(49, 213, 131, 0.5) !important; }
.single-body pre { border: 1px solid rgba(49, 213, 131,0.15) !important; }
.single-body tbody tr:hover { background: rgba(49, 213, 131,0.04) !important; }
.single-body thead th { background: rgba(49, 213, 131,0.10) !important; border-bottom: 1px solid rgba(49, 213, 131,0.2) !important; }
.single-hero-meta .post-author::before { background: rgba(49, 213, 131, .5) !important; }
.single-hero-meta .post-author:hover,
.single-hero-meta .post-author:focus { border-bottom-color: rgba(49, 213, 131, .5) !important; color: var(--fn-gr) !important; }
.single-hero::after { background: linear-gradient(90deg, transparent, rgba(49, 213, 131,0.2), transparent) !important; }
.single-nav-prev:hover, .single-nav-next:hover { background: rgba(49, 213, 131,0.04) !important; border-color: rgba(49, 213, 131,0.3) !important; }
.sla-tier { border: 1px solid rgba(49, 213, 131,0.12) !important; }
.stack-industries-strip { background: rgba(49, 213, 131,0.03) !important; border-bottom: 1px solid rgba(49, 213, 131,0.08) !important; border-top: 1px solid rgba(49, 213, 131,0.08) !important; }
.standard-card { border: 1px solid rgba(49, 213, 131,0.14) !important; }
.tag-pill { background: rgba(49, 213, 131,0.08) !important; border: 1px solid rgba(49, 213, 131,0.18) !important; }
.tag-pill:hover { background: rgba(49, 213, 131,0.15) !important; }
.tech-section { background: radial-gradient(circle at top center, rgba(49, 213, 131, 0.08), transparent 36%),
        linear-gradient(180deg, #081426 0%, #0a172b 100%) !important; }
.tech-section .tech-category-title::after { background: linear-gradient(90deg, rgba(49, 213, 131, 0.28), rgba(255, 255, 255, 0.04)) !important; }
.tech-section .tech-category:hover { background: linear-gradient(180deg, rgba(49, 213, 131, 0.06) 0%, rgba(255, 255, 255, 0.02) 100%) !important; border-color: rgba(49, 213, 131, 0.22) !important; }
.tech-section .tech-tag:hover,
.tech-section .tech-tag:focus-visible { background: linear-gradient(135deg, rgba(49, 213, 131, 0.16) 0%, rgba(131, 200, 249, 0.08) 100%) !important; border-color: rgba(49, 213, 131, 0.36) !important; box-shadow: 0 0 0 4px rgba(49, 213, 131, 0.08) !important; }
.why-item { border: 1px solid rgba(49, 213, 131,0.25) !important; }
.why-item:hover { background: rgba(49, 213, 131,0.08) !important; border-color: rgba(49, 213, 131,0.4) !important; }
.widget-about .widget-logo { background: rgba(49, 213, 131,0.05) !important; }
.widget-calendar td#today { background: rgba(49, 213, 131,0.1) !important; }

/* ── 10. Форми ────────────────────────────────────────────── */

.ig-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

@media (max-width: 640px) { .ig-form-row { grid-template-columns: 1fr; } }

/* ⚠ :not([type=checkbox]) обов'язковий: без нього чекбокс згоди стає
   шириною 100% і виштовхує свій підпис за межі екрана (горизонтальний скрол). */
.ig-crm-form input:not([type="checkbox"]):not([type="radio"]),
.ig-crm-form textarea, .ig-crm-form select,
.contact-form-wrapper input:not([type="checkbox"]):not([type="radio"]),
.contact-form-wrapper textarea {
    width: 100% !important;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid var(--fn-border) !important;
    border-radius: 3px !important;
    color: var(--fn-text) !important;
}

.ig-crm-form input:focus, .ig-crm-form textarea:focus,
.contact-form-wrapper input:focus, .contact-form-wrapper textarea:focus {
    border-color: var(--fn-gr) !important;
    outline: none;
}

.ig-crm-form ::placeholder { color: var(--fn-dim) !important; }

.ig-form-submit {
    background: var(--fn-gr) !important;
    color: var(--fn-gr-dark) !important;
    border-radius: 3px !important;
    font-weight: 600;
}

.ig-form-submit:hover { background: var(--fn-gr-2) !important; }

input[type="range"] { background: transparent !important; border: none !important; }

/* ── 11. Пагінація: стилізувати лише пункти, не контейнер ── */

ul.page-numbers {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    background: transparent !important;
    border: 0 !important;
    list-style: none;
    padding: 0;
}

a.page-numbers, span.page-numbers {
    font-family: var(--fn-mono);
    font-size: 13px;
    padding: 8px 13px;
    border: 1px solid var(--fn-border);
    border-radius: 2px;
    color: var(--fn-soft);
    background: var(--fn-panel);
}

a.page-numbers:hover {
    border-color: var(--fn-gr);
    color: var(--fn-gr);
    background: rgba(49, 213, 131, 0.10);
}

span.page-numbers.current, a.page-numbers.current {
    background: var(--fn-gr);
    border-color: var(--fn-gr);
    color: var(--fn-gr-dark);
}

/* ── 12. Службові підписи, чипи рубрик, дати ──────────────── */

.tag, .filter-tab, .cat-chip, .news-card__cat, .card-category,
.post-meta, .news-card__date, .single-meta {
    font-family: var(--fn-mono);
    letter-spacing: .06em;
}

.tag, .filter-tab, .cat-chip {
    display: inline-flex;
    width: fit-content;
    border-radius: 2px;
}

.filter-tab.active, .filter-tab[aria-current="page"] {
    background: var(--fn-gr) !important;
    color: var(--fn-gr-dark) !important;
    border-color: var(--fn-gr) !important;
}

/* ── 13. Адаптив ──────────────────────────────────────────── */

@media (max-width: 900px) {
    .fn-grid .container { grid-template-columns: 1fr; }
    .fn-grid { padding-bottom: 64px; }
}
