/* ============================================================
   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; }

@media (max-width: 768px) {
    .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); }

/* ── 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; }
}
