/* =========================================================================
   Design tokens — ported from Claude Design bundle (borgu.zip).
   Colors: UA blue/yellow, deep-ink navy text. Fonts: Manrope (body),
   Unbounded (display/headings), JetBrains Mono (utility labels).
   Google Fonts inlined у <head> у layout.twig — НЕ повертати @import
   тут, бо він робить render-blocking waterfall (PageSpeed -2.4s).
   ========================================================================= */

:root {
    --ua-blue:     #005bbb;
    --ua-yellow:   #ffd500;
    --ink:         #0f2033;
    --ink-2:       #14466b;
    --dark:        #233b4d;
    --muted:       #5a6b7a;
    --line:        #e4e9ef;
    --line-strong: #cbd5df;
    --bg:          #ffffff;
    --bg-2:        #f6f8fb;
    --bg-3:        #edf2f7;
    --nav-dark:    #17384f;
    --yellow-soft: #fff4b8;
    --red:         #d8352a;
    --green:       #178a4a;

    --font-body:    "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-display: "Unbounded", "Manrope", sans-serif;
    --font-mono:    "JetBrains Mono", ui-monospace, monospace;

    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 16px;
    --shadow-card: 0 2px 24px rgba(15, 32, 51, 0.06);
}

* { box-sizing: border-box; }

/* Ensure the HTML `hidden` attribute always wins over custom display rules
   (.search-card__form uses display:flex which otherwise shadows the UA
   default of display:none). */
[hidden] { display: none !important; }

html, body {
    margin: 0;
    padding: 0;
    background: var(--bg);
    color: var(--ink);
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body { min-height: 100vh; display: flex; flex-direction: column; }

a { color: var(--ua-blue); text-decoration: none; }
a:hover { text-decoration: underline; }

button { font-family: inherit; cursor: pointer; }

::selection { background: var(--ua-yellow); color: var(--ink); }

.wrap { max-width: 1160px; margin: 0 auto; padding: 0 24px; }

.mono { font-family: var(--font-mono); }
.caps { text-transform: uppercase; letter-spacing: 0.08em; font-size: 11px; font-weight: 700; }
.muted { color: var(--muted); }
.lead { font-size: 16px; line-height: 1.55; }

.ipt {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: inherit;
    font: inherit;
}

/* Yellow left-border accent — used on every major section title */
.accent-title {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin: 0;
}
.accent-title::before {
    content: "";
    flex-shrink: 0;
    width: 4px;
    align-self: stretch;
    background: var(--ua-yellow);
    border-radius: 4px;
}
.accent-title h1,
.accent-title h2,
.accent-title > .inner > h1,
.accent-title > .inner > h2 {
    font-family: var(--font-display);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.05;
    margin: 0;
}
.accent-title .lead,
.accent-title > .inner > p { margin: 8px 0 0; color: var(--muted); max-width: 720px; }

h1, h2, h3, h4 {
    font-family: var(--font-display);
    letter-spacing: -0.015em;
    color: var(--ink);
}
h1 { font-size: 32px; font-weight: 700; margin: 0 0 12px; }
h2 { font-size: 24px; font-weight: 700; margin: 32px 0 16px; }
h3 { font-size: 18px; font-weight: 700; margin: 20px 0 10px; }

/* =========================================================================
   Top strip: dark bar with service notice and online counter.
   ========================================================================= */
.topstrip {
    background: #0f2033;
    color: #aeb9c5;
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.05em;
}
.topstrip .wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 30px;
    text-transform: uppercase;
}
.topstrip__right { display: flex; gap: 18px; }
.topstrip__online { color: #6ed68a; }

/* =========================================================================
   Header: logo + UA flag, nav, search, primary CTA.
   Yellow/blue accent stripe below.
   ========================================================================= */
.site-header { background: #fff; border-bottom: 1px solid var(--line); }
.site-header__row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    height: 78px;
    gap: 36px;
}

.flagmark {
    width: 28px;
    height: 34px;
    display: flex;
    flex-direction: column;
    border-radius: 2px;
    overflow: hidden;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
    flex-shrink: 0;
}
.flagmark__blue   { flex: 1; background: #005bbb; }
.flagmark__yellow { flex: 1; background: #ffd500; }

.site-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--ink);
}
.site-logo:hover { text-decoration: none; }
.site-logo__text {
    line-height: 1;
    display: flex;
    align-items: baseline;
    gap: 10px;
}
.site-logo__name {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 26px;
    letter-spacing: -0.03em;
    color: var(--ink);
}
.site-logo__dot  { color: var(--ua-blue); }
.site-logo__sub {
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--muted);
    letter-spacing: 0.12em;
    padding-bottom: 2px;
    text-transform: uppercase;
}

.site-nav {
    display: flex;
    align-items: center;
    gap: 4px;
    justify-content: center;
}
.site-nav a {
    position: relative;
    padding: 10px 14px;
    font-size: 14px;
    font-weight: 600;
    color: var(--dark);
}
.site-nav a.is-active { color: var(--ink); }
.site-nav a:hover { text-decoration: none; color: var(--ink); }
.site-nav a.is-active::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: -2px;
    height: 3px;
    background: var(--ua-yellow);
}

.site-search {
    position: relative;
    width: 220px;
    border: 1px solid var(--line-strong);
    border-radius: 10px;
    padding: 9px 36px 9px 14px;
    background: var(--bg-2);
}
.site-search input { font-size: 13px; }
.site-search__icon { position: absolute; right: 12px; top: 10px; color: var(--muted); }

.site-cta {
    padding: 9px 16px;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 13px;
    border-radius: 8px;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1.5px solid var(--ink);
    background: #fff;
    color: var(--ink);
    letter-spacing: -0.005em;
    transition: background 0.15s ease;
}
.site-cta:hover { background: var(--ua-yellow); text-decoration: none; color: var(--ink); }

.site-header__actions { display: flex; align-items: center; gap: 10px; }

.site-accent {
    display: flex;
    height: 3px;
}
.site-accent__blue   { flex: 1; background: #005bbb; }
.site-accent__yellow { flex: 1; background: #ffd500; }

/* =========================================================================
   Breadcrumbs (dark-blue bar on catalog pages).
   ========================================================================= */
.breadcrumbs {
    background: linear-gradient(90deg, #0a4a9e 0%, #005bbb 100%);
    color: #cfe0f7;
    font-size: 13px;
}
.breadcrumbs .wrap {
    padding: 12px 24px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.breadcrumbs__item { display: inline-flex; align-items: center; }
.breadcrumbs__item a,
.breadcrumbs__item span { color: #fff; font-weight: 500; }
.breadcrumbs__item a:hover { color: var(--ua-yellow); text-decoration: none; }
.breadcrumbs__sep { opacity: 0.5; }

/* =========================================================================
   Main area, cards.
   ========================================================================= */
.site-main { flex: 1 0 auto; padding: 32px 0 48px; background: linear-gradient(180deg, #f3f7fc 0%, #ffffff 200px); }

.card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-card);
}

.chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-family: var(--font-mono);
    letter-spacing: 0.04em;
    color: var(--muted);
    border: 1px solid var(--line);
    padding: 4px 8px;
    border-radius: 3px;
    background: var(--bg);
    text-transform: uppercase;
    font-weight: 700;
}

/* =========================================================================
   Buttons.
   ========================================================================= */
.btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 24px;
    border: 0;
    border-radius: var(--radius-md);
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 14px;
    letter-spacing: -0.005em;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.05s ease, box-shadow 0.15s ease;
}
.btn:active { transform: translateY(1px); }

.btn--primary {
    background: var(--ua-yellow);
    color: var(--ink);
    box-shadow: 0 2px 0 rgba(217, 179, 0, 0.8);
}
.btn--primary:hover { background: #ffdd33; text-decoration: none; color: var(--ink); }

.btn--ink {
    background: var(--ink);
    color: #fff;
}
.btn--ink:hover { background: #1a3551; text-decoration: none; color: #fff; }

.btn--ghost {
    background: #fff;
    color: var(--ink);
    border: 1.5px solid var(--ink);
}
.btn--ghost:hover { background: var(--ua-yellow); text-decoration: none; color: var(--ink); }

.btn--block { width: 100%; justify-content: center; }
.btn--sm    { padding: 9px 14px; font-size: 13px; }
.btn--danger { background: var(--red); color: #fff; border: 0; }
.btn--danger:hover { background: #b3281f; color: #fff; text-decoration: none; }

/* =========================================================================
   Footer.
   ========================================================================= */
.site-footer {
    background: var(--nav-dark);
    color: #cfd9e3;
    margin-top: 48px;
    flex-shrink: 0;
}
.site-footer a { color: #cfd9e3; }
.site-footer a:hover { color: var(--ua-yellow); text-decoration: none; }
.site-footer__grid {
    padding: 40px 24px;
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 32px;
}
.site-footer__head {
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 10px;
}
.site-footer__links a { display: block; font-size: 13px; padding: 4px 0; }
.site-footer__links .is-exec {
    font-weight: 800;
    color: var(--ua-yellow);
}
.site-footer__bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.site-footer__bottom .wrap {
    padding: 14px 24px;
    font-size: 11px;
    font-family: var(--font-mono);
    letter-spacing: 0.05em;
    display: flex;
    justify-content: space-between;
    opacity: 0.6;
    flex-wrap: wrap;
    gap: 12px;
    text-transform: uppercase;
}
.site-footer__bottom-right { display: flex; gap: 18px; }

/* ---- Mobile burger button (default state — hidden; media-query shows it) ---- */
.site-burger {
    display: none;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 8px;
    background: transparent;
    border: 1px solid var(--line-strong);
    border-radius: 8px;
    cursor: pointer;
    flex-direction: column;
    gap: 4px;
    margin-left: auto;
}
.site-burger span {
    display: block;
    width: 20px;
    height: 2px;
    background: var(--ink);
    border-radius: 2px;
    transition: transform 0.2s, opacity 0.2s;
}
body.is-mob-open .site-burger span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
body.is-mob-open .site-burger span:nth-child(2) { opacity: 0; }
body.is-mob-open .site-burger span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* ---- Mobile breakpoint: header collapses to logo + burger ---- */
@media (max-width: 900px) {
    .site-footer__grid { grid-template-columns: 1fr 1fr; }
    /* На мобільному 3 grid-children (logo + actions + burger) — нав ховаємо.
       Раніше було grid-template-columns: auto 1fr auto, але site-header__actions
       (у ньому search+cta з display:none) лишався у DOM і займав 2-й auto-слот,
       через що burger випадав на нову рядок поза 78px header-а. Тепер
       site-header__actions теж ховаємо у мобільному, бо search і cta всередині
       вже зайві. */
    .site-header__row { grid-template-columns: auto 1fr auto; height: auto; padding: 14px 0; align-items: center; }
    .site-nav, .site-search, .site-cta, .site-header__actions { display: none; }
    .topstrip__right { display: none; }
    .site-burger { display: flex; }
}

/* ---- Mobile overlay menu ---- */
.site-mob {
    position: fixed; inset: 0; z-index: 200;
    background: rgba(15, 32, 51, 0.6);
    backdrop-filter: blur(2px);
    opacity: 0; visibility: hidden;
    transition: opacity 0.2s, visibility 0.2s;
    overflow: auto;
}
body.is-mob-open .site-mob { opacity: 1; visibility: visible; }
body.is-mob-open { overflow: hidden; }

.site-mob__panel {
    background: #fff;
    width: min(360px, 92vw);
    height: 100vh;
    max-height: 100vh;
    display: flex; flex-direction: column;
    margin-left: auto;
    box-shadow: -8px 0 30px rgba(0, 0, 0, 0.3);
    transform: translateX(100%);
    transition: transform 0.25s ease-out;
    overflow-y: auto;
}
body.is-mob-open .site-mob__panel { transform: translateX(0); }

.site-mob__head { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; border-bottom: 1px solid var(--line); }
.site-mob__brand { display: flex; align-items: center; gap: 10px; font-family: var(--font-display); font-size: 18px; color: var(--ink); text-decoration: none; }
.site-mob__close { background: transparent; border: 0; font-size: 26px; line-height: 1; color: var(--muted); cursor: pointer; padding: 0 6px; }
.site-mob__close:hover { color: var(--ink); }

.site-mob__search { padding: 14px 18px; border-bottom: 1px solid var(--line); display: flex; gap: 8px; align-items: center; background: var(--bg-2); }
.site-mob__search input { flex: 1; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 8px; font-family: inherit; font-size: 14px; outline: none; background: #fff; }
.site-mob__search input:focus { border-color: var(--ua-blue); }

.site-mob__nav { display: flex; flex-direction: column; padding: 10px 0; flex: 1; }
.site-mob__nav a {
    padding: 14px 18px;
    color: var(--ink);
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    border-bottom: 1px solid var(--line);
}
.site-mob__nav a:hover { background: var(--bg-2); text-decoration: none; }
.site-mob__nav a.is-active { background: var(--yellow-soft); font-weight: 700; }
.site-mob__nav-cta {
    background: var(--ua-yellow);
    color: var(--ink) !important;
    font-weight: 800 !important;
    font-family: var(--font-display);
    text-align: center;
    margin: 8px 14px;
    border-radius: 10px;
    border-bottom: 0 !important;
}

.site-mob__foot { padding: 18px; border-top: 1px solid var(--line); font-size: 13px; line-height: 1.7; color: var(--muted); }
.site-mob__foot a { color: var(--ink); text-decoration: none; }
.site-mob__foot a:hover { color: var(--ua-blue); }

/* =========================================================================
   Home page.
   ========================================================================= */
.home-hero { padding-top: 28px; }
.home-hero__top {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 24px;
    align-items: end;
    margin-bottom: 24px;
}
.home-hero__top .accent-title h1 { font-size: 32px; }

.home-hero__side-card {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #fff;
    border: 1px solid #d9e4f4;
    border-radius: 10px;
    padding: 14px 20px;
    font-size: 14px;
    color: var(--ink);
    font-weight: 500;
    transition: border-color 0.15s;
}
.home-hero__side-card:hover { border-color: var(--ua-blue); text-decoration: none; }
.home-hero__side-card-arrow { color: var(--ua-blue); font-weight: 700; }

/* Search card with tabs */
.search-card { padding: 8px; margin-bottom: 36px; }
.search-card__tabs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    border-bottom: 1px solid #eaf0f7;
}
.search-card__tab {
    position: relative;
    background: transparent;
    border: 0;
    padding: 16px 12px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    color: var(--dark);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    cursor: pointer;
}
.search-card__tab.is-active { color: var(--ua-blue); }
.search-card__tab.is-active::after {
    content: "";
    position: absolute;
    left: 25%;
    right: 25%;
    bottom: -1px;
    height: 3px;
    background: var(--ua-blue);
    border-radius: 3px;
}

.search-card__form {
    padding: 22px 22px 20px;
    display: flex;
    gap: 12px;
    align-items: stretch;
}
.search-card__input {
    flex: 1 1 auto;
    position: relative;
    border: 1.5px solid #e4ebf4;
    border-radius: 10px;
    padding: 14px 16px 14px 48px;
    background: #fff;
    display: flex;
    align-items: center;
    transition: border-color 0.15s;
}
.search-card__input:focus-within { border-color: var(--ua-blue); }
.search-card__input > svg { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); }
.search-card__input input { font-size: 15px; }
.search-card__form .btn { flex-shrink: 0; }

@media (max-width: 800px) {
    .home-hero__top { grid-template-columns: 1fr; }
    .home-hero__side-card { order: 2; }
    .search-card__form { flex-direction: column; }
    .search-card__form .btn { justify-content: center; }
}

/* Home split: regions list + docs sidebar */
.home-split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 32px;
    align-items: start;
}
@media (max-width: 900px) { .home-split { grid-template-columns: 1fr; } }

.home-section-title h2 { font-size: 26px; }

.region-columns {
    list-style: none;
    padding: 0;
    margin: 16px 0 0;
    columns: 2;
    column-gap: 40px;
}
.region-columns li {
    break-inside: avoid;
    padding: 8px 0;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}
.region-columns a { color: var(--ua-blue); font-size: 15px; font-weight: 500; }
.region-columns__count { font-family: var(--font-mono); font-size: 12px; }
@media (max-width: 600px) { .region-columns { columns: 1; } }

/* Docs sidebar card */
.doc-card { padding: 0; overflow: hidden; margin-bottom: 20px; }
.doc-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px 14px;
    border-bottom: 1px solid var(--line);
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 16px;
}
.doc-card__head a { color: var(--ua-blue); font-size: 20px; line-height: 1; }
.doc-card__item {
    display: flex;
    gap: 12px;
    padding: 14px 20px;
    color: var(--ink);
    border-bottom: 1px solid var(--line);
    align-items: flex-start;
    transition: background 0.15s;
}
.doc-card__item:last-child { border-bottom: 0; }
.doc-card__item:hover { background: var(--bg-2); text-decoration: none; }
.doc-card__tag {
    font-family: var(--font-mono);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--muted);
    font-weight: 700;
    margin-bottom: 3px;
}
.doc-card__title { font-size: 14px; line-height: 1.4; font-weight: 500; }

/* Help CTA card */
.help-card { padding: 22px 24px; }
.help-card__title {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 18px;
    margin-bottom: 10px;
}
.help-card p { margin: 0 0 16px; font-size: 14px; }

/* =========================================================================
   Catalog pages: hero + two-column (main + sidebar).
   ========================================================================= */
.catalog-hero { padding: 28px 24px 16px; }
.catalog-hero .accent-title h1 { font-size: 34px; }

.catalog-split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 32px;
    align-items: start;
    padding-bottom: 40px;
}
@media (max-width: 1000px) { .catalog-split { grid-template-columns: 1fr; } }

.side-rail { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 24px; }
@media (max-width: 1000px) { .side-rail { position: static; } }

.region-columns--counted li { border-bottom: 1px dashed var(--line); }

/* Quick-links card for sidebars */
.quick-card { padding: 20px; }
.quick-card__title {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 12px;
}
.quick-card__item {
    display: flex;
    justify-content: space-between;
    padding: 11px 14px;
    background: var(--bg-2);
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--ink);
    margin-bottom: 6px;
    transition: background 0.15s;
}
.quick-card__item:last-child { margin-bottom: 0; }
.quick-card__item:hover { background: var(--bg-3); text-decoration: none; }
.quick-card__arrow { color: var(--ua-blue); }

/* PRO claim card — тільки на сторінках приватних виконавців (free).
   На ДВС не показуємо — вони посадовці, не можуть "рекламуватись". */
.pro-claim-card { padding: 22px 24px; background: linear-gradient(180deg, #fff4b8 0%, #ffe166 100%); border: 1px solid #e6c700; }
.pro-claim-card__badge { font-family: var(--font-mono); font-size: 10px; color: #5a4800; font-weight: 800; letter-spacing: 0.12em; margin-bottom: 10px; }
.pro-claim-card__title { font-family: var(--font-display); font-weight: 700; font-size: 17px; color: #1a1410; margin-bottom: 6px; }
.pro-claim-card__lead  { font-size: 13px; color: #3a2f00; line-height: 1.5; margin: 0 0 14px; }
.pro-claim-card__link  { display: block; text-align: center; font-size: 12px; color: #5a4800; margin-top: 8px; font-weight: 600; }
.pro-claim-card__link:hover { color: #1a1410; text-decoration: underline; }

/* ERB quick card */
.erb-card { padding: 22px 24px; }
.erb-card__title {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 16px;
    margin-bottom: 8px;
}
.erb-card p { margin: 0 0 14px; font-size: 13px; }

/* Department list on /dvs/{region}/ */
.dept-list { list-style: none; margin: 0; padding: 0; overflow: hidden; }
.dept-list__item { border-bottom: 1px solid var(--line); }
.dept-list__item:last-child { border-bottom: 0; }
.dept-list__link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 18px 22px;
    color: var(--ink);
    transition: background 0.15s;
}
.dept-list__link:hover { background: var(--bg-2); text-decoration: none; }
.dept-list__name { color: var(--ua-blue); font-weight: 700; font-size: 15px; }
.dept-list__sub { font-size: 13px; margin-top: 3px; }
.dept-list__meta { display: flex; align-items: center; gap: 16px; font-size: 13px; }
.dept-list__arrow { color: var(--muted); font-family: var(--font-mono); }

/* Executor grid card (used on /pv/{region}/ and inside department page) */
.exec-grid {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 14px;
}
.exec-card { overflow: hidden; }
.exec-card__body { display: flex; gap: 14px; padding: 18px 20px; color: var(--ink); }
.exec-card__body:hover { text-decoration: none; background: var(--bg-2); }
.exec-card__photo {
    width: 72px; height: 72px;
    border-radius: 50%;
    object-fit: cover;
    background: var(--bg-3);
    flex-shrink: 0;
}
.exec-card__photo--empty {
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 26px;
    color: var(--muted);
    background: var(--bg-3);
}
.exec-card__info h3 {
    font-size: 15px;
    margin: 0 0 4px;
    font-family: var(--font-body);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.3;
}
.exec-card__info p { margin: 0 0 4px; font-size: 13px; }
.exec-card__status { font-size: 13px; display: inline-flex; align-items: center; gap: 6px; }
.exec-card__status--active { color: var(--green); }
.exec-card__status--suspended { color: #b45309; }
.exec-card__status--inactive { color: var(--red); }
.chip--asvp {
    background: #dcfce7;
    color: #14532d;
    border-color: #b9e6c9;
    text-transform: none;
    letter-spacing: 0;
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 600;
    padding: 2px 7px;
}

/* Info card with dl */
.info-card { padding: 0; }
.info-card__head {
    padding: 18px 22px 14px;
    border-bottom: 1px solid var(--line);
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.info-card__facts {
    display: grid;
    grid-template-columns: minmax(0, 110px) minmax(0, 1fr);
    gap: 10px 16px;
    margin: 0;
    padding: 18px 22px;
}
.info-card__facts dt { color: var(--muted); font-size: 13px; }
.info-card__facts dd {
    margin: 0;
    font-size: 14px;
    word-break: break-word;
    overflow-wrap: anywhere;
    min-width: 0;
}
.info-card__facts dd a { display: inline-block; margin-right: 6px; }
.info-card__bottom {
    padding: 0 22px 20px;
    display: grid;
    gap: 16px;
}
.info-card__tag {
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
    font-weight: 700;
    margin-bottom: 4px;
}
.info-card__bottom p { margin: 0; font-size: 14px; line-height: 1.55; }

/* Schedule card */
.schedule-card { padding: 18px 22px; }
.schedule-card__title {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 10px;
}

/* PV hero: photo + intro */
.pv-hero {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 28px;
    padding: 28px 24px 16px;
    align-items: center;
}
@media (max-width: 700px) { .pv-hero { grid-template-columns: 120px 1fr; } }
.pv-hero__photo {
    width: 180px; height: 180px;
    border-radius: 12px;
    object-fit: cover;
    background: var(--bg-3);
    box-shadow: var(--shadow-card);
}
@media (max-width: 700px) { .pv-hero__photo { width: 120px; height: 120px; } }
.pv-hero__photo--empty {
    display: flex; align-items: center; justify-content: center;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 64px;
    color: var(--muted);
    background: var(--bg-3);
}
.pv-hero__body h1 { font-size: 30px; margin: 6px 0 10px; }

/* Content block (free HTML from bio) */
.content-block { padding: 20px 24px; line-height: 1.7; }
.content-block h2 { font-size: 20px; margin: 20px 0 10px; }
.content-block h3 { font-size: 16px; margin: 16px 0 8px; }
.content-block p { margin: 0 0 12px; }

/* Reestr cards grid */
.reestr-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
@media (max-width: 700px) { .reestr-cards { grid-template-columns: 1fr; } }
.reestr-card {
    display: block;
    padding: 28px 32px;
    color: var(--ink);
    transition: border-color 0.15s;
}
.reestr-card:hover { border-color: var(--ua-blue); text-decoration: none; }
.reestr-card__label { margin-bottom: 12px; }
.reestr-card h2 { font-size: 22px; margin: 0 0 6px; }
.reestr-card__count {
    color: var(--ua-blue);
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 12px;
    font-family: var(--font-display);
}
.reestr-card__cta {
    display: inline-block;
    margin-top: 16px;
    color: var(--ua-blue);
    font-weight: 700;
    font-family: var(--font-display);
}

/* Old styles we keep rendering for backwards-compat templates.
   (pagination from existing partial, reviews) */
.pagination { display: flex; gap: 6px; flex-wrap: wrap; margin: 20px 0 0; }
.pagination__item {
    display: inline-block;
    min-width: 36px;
    padding: 8px 12px;
    text-align: center;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    color: var(--ink);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}
.pagination__item:hover { border-color: var(--ua-blue); text-decoration: none; }
.pagination__item--current { background: var(--ua-blue); color: #fff; border-color: var(--ua-blue); }
.pagination__item--ellipsis { border: 0; padding: 8px 4px; color: var(--muted); }

/* Reviews */
.reviews { margin: 32px 0 0; padding: 20px 24px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); }
.reviews h2 { margin-top: 0; }
.reviews__sent {
    background: #dcfce7; color: #14532d;
    padding: 12px 16px; border-radius: 8px; margin-bottom: 14px;
    font-size: 14px;
}
.review-list { list-style: none; padding: 0; margin: 0 0 16px; }
.review { padding: 14px 0; border-bottom: 1px solid var(--line); }
.review__head { display: flex; gap: 12px; align-items: baseline; flex-wrap: wrap; }
.review__rating { color: #eab308; letter-spacing: 1px; }
.review__body { margin: 8px 0 0; line-height: 1.6; font-size: 14px; }
.review-form-toggle summary { cursor: pointer; color: var(--ua-blue); font-weight: 600; padding: 10px 0; }
.review-form {
    margin-top: 10px;
    padding: 18px 22px;
    background: var(--bg-2);
    border: 1px solid var(--line);
    border-radius: 10px;
}
.review-form__stars { display: flex; gap: 10px; margin-top: 6px; }
.review-form__star { cursor: pointer; user-select: none; font-size: 14px; }

/* Lead form (consultation + landings) */
.lead-block { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 24px 28px; }
.lead-block__title { font-family: var(--font-display); font-weight: 700; font-size: 18px; margin: 0 0 16px; }
.lead-block__sent {
    background: #dcfce7; color: #14532d;
    padding: 12px 16px; border-radius: 8px; margin-bottom: 14px;
    font-size: 14px;
}
.lead-form__row { margin-bottom: 12px; }
.lead-form__row--two { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 500px) { .lead-form__row--two { grid-template-columns: 1fr; } }
.lead-form__label { display: block; font-size: 12px; color: var(--muted); font-weight: 600; }
.lead-form__input {
    width: 100%;
    padding: 12px 14px;
    border: 1.5px solid var(--line);
    border-radius: 10px;
    font-size: 15px;
    color: var(--ink);
    font-family: inherit;
    margin-top: 4px;
    background: #fff;
    box-sizing: border-box;
}
.lead-form__input:focus { outline: none; border-color: var(--ua-blue); }
.lead-form__honeypot { position: absolute; left: -10000px; opacity: 0; pointer-events: none; }
.lead-form__btn {
    background: var(--ua-yellow);
    color: var(--ink);
    border: 0;
    border-radius: 10px;
    padding: 13px 24px;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    margin-top: 4px;
    box-shadow: 0 2px 0 rgba(217, 179, 0, 0.8);
}
.lead-form__btn:hover { background: #ffdd33; }
.lead-form__notice { font-size: 12px; color: var(--muted); margin: 12px 0 0; }
.lead-form__error { color: var(--red); font-size: 12px; margin-top: 4px; }

/* SEO blocks */
.seo-top, .seo-bottom { margin: 20px 0; line-height: 1.6; }
.seo-bottom { padding-top: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: 14px; }

/* Bullet lists inside info-cards/landings */
.bullet-list { padding-left: 22px; line-height: 1.9; font-size: 14px; }
.bullet-list li { margin-bottom: 4px; }

/* Landing page intro */
.landing-intro { font-size: 16px; line-height: 1.65; color: var(--dark); }
.landing-intro .lead { font-size: 17px; }

/* Article list grid */
.article-grid {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 16px;
}
.article-card { overflow: hidden; }
.article-card__body { display: flex; flex-direction: column; height: 100%; color: var(--ink); }
.article-card__body:hover { text-decoration: none; }
.article-card__cover { width: 100%; height: 180px; object-fit: cover; display: block; }
.article-card__info { padding: 16px 20px 20px; display: flex; flex-direction: column; gap: 6px; flex: 1 1 auto; }
.article-card__info h3 {
    margin: 0;
    font-size: 16px;
    font-family: var(--font-display);
    font-weight: 700;
    line-height: 1.35;
}
.article-card__info p { margin: 0; font-size: 13px; line-height: 1.5; }
.article-card__info time { font-family: var(--font-mono); font-size: 11px; margin-top: auto; }

/* Single article body image */
.article-page__cover {
    width: 100%;
    max-height: 420px;
    object-fit: cover;
    border-radius: var(--radius-lg);
    margin-bottom: 24px;
}

/* Aliment calculator */
.aliment-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
@media (max-width: 500px) { .aliment-form__row { grid-template-columns: 1fr; } }
.aliment-form__children { border: 1px solid var(--line); border-radius: 10px; padding: 14px 18px; margin: 0 0 16px; background: var(--bg-2); }
.aliment-form__children legend { padding: 0 8px; color: var(--muted); font-size: 12px; font-weight: 600; }
.aliment-form__child { display: inline-block; margin: 6px 14px 6px 0; min-width: 200px; vertical-align: top; }
.aliment-result__total { font-size: 17px; }
.aliment-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    margin-bottom: 12px;
}
.aliment-table th,
.aliment-table td { padding: 8px 10px; border-bottom: 1px solid var(--line); text-align: left; }
.aliment-table th { background: var(--bg-2); font-family: var(--font-display); font-size: 12px; font-weight: 700; }

/* Search results list */
.search-results { list-style: none; margin: 0; padding: 0; overflow: hidden; }
.search-result { border-bottom: 1px solid var(--line); }
.search-result:last-child { border-bottom: 0; }
.search-result__body {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 16px 22px;
    color: var(--ink);
    transition: background 0.15s;
}
.search-result__body:hover { background: var(--bg-2); text-decoration: none; }
.search-result__type { align-self: flex-start; margin-bottom: 2px; }
.search-result__name { font-family: var(--font-display); font-weight: 700; font-size: 15px; color: var(--ua-blue); }
.search-result__sub { font-size: 13px; }

/* Error pages */
.error-page { padding: 60px 24px; text-align: center; }
.error-page__code {
    font-family: var(--font-display);
    font-size: 120px;
    font-weight: 800;
    line-height: 1;
    color: var(--ua-yellow);
    letter-spacing: -0.04em;
    margin-bottom: 8px;
}
.error-page h1 { font-size: 26px; margin: 0 0 12px; }
.error-page__actions { display: flex; gap: 12px; justify-content: center; margin-top: 24px; flex-wrap: wrap; }

/* Week schedule table (shared, minor tweaks under new tokens) */
.schedule { width: 100%; border-collapse: collapse; font-size: 14px; margin-top: 10px; }
.schedule th, .schedule td { padding: 8px 10px; text-align: left; border-bottom: 1px dashed var(--line); }
.schedule th { min-width: 110px; color: var(--ink); font-weight: 700; }
.schedule__break { display: block; font-size: 12px; color: var(--muted); }
.schedule__row--today th, .schedule__row--today td {
    background: rgba(116, 217, 158, 0.30);
    border-bottom-color: transparent;
}
.schedule__row--today th { color: var(--ink); }
.schedule__row--today td { font-weight: 600; color: var(--ink); }
.schedule__now {
    display: inline-block;
    margin-left: 10px;
    color: #0a7b3d;
    font-size: 13px;
    font-weight: 700;
}

/* =========================================================================
   Consultation page.
   ========================================================================= */
.consult-hero {
    background: linear-gradient(160deg, #0f2033 0%, #14466b 100%);
    color: #fff;
    padding: 56px 0 64px;
    position: relative;
    overflow: hidden;
}
.consult-hero::before {
    content: "";
    position: absolute;
    right: -100px; top: -80px;
    width: 500px; height: 500px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 213, 0, 0.1) 0%, transparent 70%);
    pointer-events: none;
}
.consult-hero__grid {
    position: relative;
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 48px;
    align-items: center;
}
@media (max-width: 900px) {
    .consult-hero { padding: 40px 0 48px; }
    .consult-hero__grid { grid-template-columns: 1fr; gap: 28px; }
}

.consult-hero__pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(255, 213, 0, 0.14);
    border: 1px solid rgba(255, 213, 0, 0.35);
    padding: 7px 14px;
    border-radius: 100px;
    margin-bottom: 20px;
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.1em;
    font-weight: 700;
    color: var(--ua-yellow);
    text-transform: uppercase;
}
.consult-hero__dot {
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--green);
}

.consult-hero__title {
    font-family: var(--font-display);
    font-size: 48px;
    line-height: 1.05;
    letter-spacing: -0.025em;
    font-weight: 700;
    margin: 0 0 18px;
    color: #fff;
}
.consult-hero__highlight { color: var(--ua-yellow); }
@media (max-width: 700px) { .consult-hero__title { font-size: 34px; } }

.consult-hero__lead {
    font-size: 16px;
    line-height: 1.6;
    color: #cfe0ee;
    max-width: 540px;
    margin: 0 0 28px;
}

.consult-hero__stats {
    display: flex;
    gap: 32px;
    flex-wrap: wrap;
}
.consult-hero__stat-n {
    font-family: var(--font-display);
    font-size: 26px;
    font-weight: 800;
    color: var(--ua-yellow);
    letter-spacing: -0.01em;
    line-height: 1;
}
.consult-hero__stat-l {
    font-size: 12px;
    color: #9fb5c9;
    margin-top: 6px;
    line-height: 1.3;
}

/* Floating form on the hero */
.consult-form {
    background: #fff;
    color: var(--ink);
    border-radius: 18px;
    padding: 28px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
}
.consult-form__title {
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 4px;
}
.consult-form__sub {
    font-size: 13px;
    color: var(--muted);
    margin-bottom: 20px;
}
.consult-form__label {
    display: grid;
    gap: 6px;
    margin-bottom: 12px;
}
.consult-form__label > span {
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.08em;
    color: var(--muted);
    font-weight: 700;
    text-transform: uppercase;
}
.consult-form__label input,
.consult-form__label select {
    padding: 13px 14px;
    border: 1.5px solid var(--line-strong);
    border-radius: 10px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 500;
    background: #fff;
    color: var(--ink);
    outline: none;
    box-sizing: border-box;
    width: 100%;
}
.consult-form__label input:focus,
.consult-form__label select:focus { border-color: var(--ua-blue); }

.consult-form__submit {
    width: 100%;
    background: var(--ua-yellow);
    color: var(--ink);
    border: 0;
    padding: 15px 20px;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 14px;
    border-radius: 10px;
    box-shadow: 0 4px 0 rgba(217, 179, 0, 0.85);
    margin-top: 16px;
    cursor: pointer;
}
.consult-form__submit:hover { background: #ffdd33; }
.consult-form__notice {
    font-size: 11px;
    color: var(--muted);
    text-align: center;
    margin-top: 12px;
}
.consult-form__sent { text-align: center; padding: 16px 0; }
.consult-form__check {
    width: 56px; height: 56px;
    border-radius: 50%;
    background: var(--green);
    color: #fff;
    display: grid;
    place-items: center;
    font-size: 26px;
    margin: 0 auto 14px;
}
.consult-form__sent-title {
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 8px;
}
.consult-form__sent-text { font-size: 13px; color: var(--muted); line-height: 1.5; }

/* Section heads in consultation sub-sections */
.consult-section-head { text-align: center; margin-bottom: 40px; }
.consult-section-head h2 {
    font-family: var(--font-display);
    font-size: 30px;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 0;
}
.consult-eyebrow {
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.14em;
    color: var(--ua-blue);
    font-weight: 700;
    margin-bottom: 10px;
    text-transform: uppercase;
}

/* Formats grid */
.consult-formats { padding: 64px 0; background: #fff; }
.consult-formats__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
@media (max-width: 900px) { .consult-formats__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px) { .consult-formats__grid { grid-template-columns: 1fr; } }

.consult-format { padding: 24px; text-align: center; box-shadow: none; }
.consult-format__icon { font-size: 36px; margin-bottom: 10px; }
.consult-format__title {
    font-family: var(--font-display);
    font-size: 18px; font-weight: 700;
    margin-bottom: 4px;
}
.consult-format__price {
    font-family: var(--font-display);
    font-size: 15px; font-weight: 700;
    color: var(--ua-blue);
    margin-bottom: 4px;
}
.consult-format__time { font-size: 12px; color: var(--muted); margin-bottom: 12px; }
.consult-format__desc {
    font-size: 12px;
    color: var(--dark);
    line-height: 1.5;
    border-top: 1px dashed var(--line);
    padding-top: 12px;
}

/* How-it-works steps */
.consult-how { padding: 64px 0; background: var(--bg-2); }
.consult-how__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
@media (max-width: 800px) { .consult-how__grid { grid-template-columns: repeat(2, 1fr); } }

.consult-step { text-align: center; }
.consult-step__num {
    width: 56px; height: 56px;
    border-radius: 50%;
    background: var(--ua-yellow);
    color: var(--ink);
    display: grid;
    place-items: center;
    font-family: var(--font-display);
    font-size: 22px; font-weight: 800;
    margin: 0 auto 14px;
}
.consult-step__title {
    font-family: var(--font-display);
    font-size: 15px; font-weight: 700;
    margin-bottom: 6px;
}
.consult-step__text { font-size: 13px; color: var(--muted); line-height: 1.5; }

/* Topics grid under hero */
.consult-topics { padding: 48px 0 64px; }
.consult-topics__grid {
    list-style: none;
    padding: 0;
    margin: 28px 0 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}
@media (max-width: 900px) { .consult-topics__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .consult-topics__grid { grid-template-columns: 1fr; } }
.consult-topics__grid li {
    padding: 18px 20px;
    font-size: 13px;
    line-height: 1.55;
    color: var(--dark);
    box-shadow: none;
}
.consult-topics__chip {
    display: block;
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ua-blue);
    font-weight: 700;
    margin-bottom: 6px;
}

/* =========================================================================
   Landing (scenario) page — bankruptcy, kolektory, mfo, faktoring, etc.
   Shares the .consult-* hero/form blocks.
   ========================================================================= */
.landing-hero {
    background: linear-gradient(160deg, #0f2033 0%, #14466b 100%);
    color: #fff;
    padding: 56px 0 64px;
    position: relative;
    overflow: hidden;
}
.landing-hero::before {
    content: "";
    position: absolute;
    right: -100px; top: -80px;
    width: 500px; height: 500px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 213, 0, 0.1) 0%, transparent 70%);
    pointer-events: none;
}
.landing-hero__grid {
    position: relative;
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 48px;
    align-items: start;
}
@media (max-width: 900px) {
    .landing-hero { padding: 40px 0 48px; }
    .landing-hero__grid { grid-template-columns: 1fr; gap: 28px; }
}
.landing-hero__pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(255, 213, 0, 0.14);
    border: 1px solid rgba(255, 213, 0, 0.35);
    padding: 7px 14px;
    border-radius: 100px;
    margin-bottom: 20px;
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.1em;
    font-weight: 700;
    color: var(--ua-yellow);
    text-transform: uppercase;
}
.landing-hero__title {
    font-family: var(--font-display);
    font-size: 44px;
    line-height: 1.05;
    letter-spacing: -0.025em;
    font-weight: 700;
    margin: 0 0 18px;
    color: #fff;
}
@media (max-width: 700px) { .landing-hero__title { font-size: 32px; } }
.landing-hero__lead,
.landing-hero__lead p {
    font-size: 16px;
    line-height: 1.6;
    color: #cfe0ee;
    margin: 0 0 14px;
}
.landing-hero__lead .lead { font-size: 17px; }

.landing-hero__bullets {
    list-style: none;
    padding: 0;
    margin: 20px 0 0;
    display: grid;
    gap: 10px;
}
.landing-hero__bullets li {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    font-size: 14px;
    color: #e3edf5;
    line-height: 1.5;
}
.landing-hero__check {
    flex-shrink: 0;
    width: 22px; height: 22px;
    border-radius: 50%;
    background: rgba(255, 213, 0, 0.2);
    color: var(--ua-yellow);
    display: grid;
    place-items: center;
    font-size: 12px;
    font-weight: 800;
}

/* "What we do" numbered cards */
.landing-what { padding: 64px 0; background: #fff; }
.landing-what__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
    margin-top: 32px;
}
.landing-what__card {
    padding: 24px 26px;
    display: flex;
    gap: 16px;
    align-items: flex-start;
    box-shadow: none;
}
.landing-what__num {
    flex-shrink: 0;
    width: 36px; height: 36px;
    border-radius: 50%;
    background: var(--ua-yellow);
    color: var(--ink);
    display: grid;
    place-items: center;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 16px;
}
.landing-what__text { font-size: 14px; line-height: 1.55; color: var(--dark); }

/* Final CTA band */
.landing-final {
    background: var(--ink);
    color: #fff;
    padding: 48px 0;
}
.landing-final__inner {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 28px;
    align-items: center;
}
@media (max-width: 700px) {
    .landing-final__inner { grid-template-columns: 1fr; text-align: center; }
}
.landing-final h2 {
    font-family: var(--font-display);
    font-size: 26px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 6px;
    letter-spacing: -0.015em;
}
.landing-final p { margin: 0; font-size: 14px; color: #cfe0ee; line-height: 1.5; }

/* =========================================================================
   Executor profile hero + body — state and private variants.
   ========================================================================= */
.exec-hero {
    padding: 32px 0 28px;
    border-bottom: 1px solid var(--line);
}
/* Жовтий заливний фон зарезервований під PRO-підписку (див. .pvpro-hero).
   Звичайні держ.виконавці залишаються нейтрально-білими, інакше відвідувач
   читає золотистий фон як «оплачений PRO», а у держ. ДВС такого статусу нема. */
.exec-hero--state   { background: #fff; }
.exec-hero--private { background: #fff; }

.exec-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 36px;
    align-items: start;
}
@media (max-width: 1000px) { .exec-hero__grid { grid-template-columns: 1fr; } }

.exec-hero__main {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 24px;
    min-width: 0;
}
@media (max-width: 600px) {
    .exec-hero__main { grid-template-columns: 80px 1fr; gap: 16px; }
}

.exec-hero__avatar {
    width: 120px; height: 120px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    font-family: var(--font-display);
    font-size: 42px;
    font-weight: 800;
    position: relative;
    overflow: visible;
    text-transform: uppercase;
}
@media (max-width: 600px) {
    .exec-hero__avatar { width: 80px; height: 80px; font-size: 30px; border-radius: 14px; }
}
.exec-hero__avatar--state {
    background: #eef2f7;
    color: #34506b;
    border: 2px solid #d8e0ea;
}
.exec-hero__avatar--private {
    background: #e7effc;
    color: var(--ua-blue);
}
.exec-hero__avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }

/* Mobile-fix: на mobile квадратний плейсхолдер-ініціали виштовхує
   ім'я у вузьку колонку, ламаючи перенос. Поведінка:
     • без фото (--initials) — приховуємо аватар повністю
     • з фото (--has-img) — banner 240px на повну ширину, центрований crop.
   Modifier-клас додається у Twig, тож працює у будь-якому браузері
   незалежно від :has()-підтримки (раніше використовував — на старішому
   Safari падало, фото не обмежувалось у висоті і переїжджало на ПІБ). */
@media (max-width: 600px) {
    .exec-hero__main { grid-template-columns: 1fr; gap: 18px; }
    .exec-hero__avatar.exec-hero__avatar--initials { display: none; }
    .exec-hero__avatar.exec-hero__avatar--has-img {
        width: 100%; height: 240px;
        font-size: 0;
        border-radius: 14px;
        overflow: hidden;
    }
    .exec-hero__avatar.exec-hero__avatar--has-img img {
        width: 100%; height: 100%;
        object-fit: cover; object-position: center top;
    }
}

.exec-hero__verified {
    position: absolute;
    right: -4px; bottom: -4px;
    width: 32px; height: 32px;
    border-radius: 50%;
    background: var(--ua-blue);
    color: #fff;
    display: grid;
    place-items: center;
    border: 3px solid #fff;
}

.exec-hero__body { min-width: 0; }

/* Chip pills */
.exec-hero__pills {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}
.exec-pill {
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.08em;
    font-weight: 700;
    padding: 5px 10px;
    border-radius: 100px;
    text-transform: uppercase;
    white-space: nowrap;
}
.exec-pill--state   { background: #fff7dc; color: #c26a1f; }
.exec-pill--private { background: #e7effc; color: var(--ua-blue); }
.exec-pill--ghost   { background: #fff; color: var(--muted); border: 1px solid var(--line); font-weight: 600; }
.exec-pill--ok      { background: rgba(23, 138, 74, 0.08); color: var(--green); }
.exec-pill--warn    { background: #fff4d6; color: #8a5a00; }
.exec-pill--off     { background: rgba(216, 53, 42, 0.08); color: var(--red); }
.exec-pill--asvp    { background: var(--ua-yellow); color: #8a6d00; box-shadow: 0 1px 0 rgba(217, 179, 0, 0.6); letter-spacing: 0.1em; }

.exec-hero__name {
    font-family: var(--font-display);
    font-size: 32px;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 0 0 10px;
    line-height: 1.1;
    color: var(--ink);
    overflow-wrap: break-word;
}

.exec-hero__meta {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 16px;
    font-size: 14px;
}
.exec-hero__rating { font-family: var(--font-display); font-weight: 800; color: var(--ink); }
.exec-hero__sep { width: 1px; height: 16px; background: var(--line-strong); }

.exec-hero__desc {
    font-size: 14px;
    color: var(--dark);
    line-height: 1.6;
    max-width: 580px;
    margin: 0 0 18px;
}

.exec-hero__ctas {
    display: flex;
    gap: 10px;
    margin-top: 20px;
    flex-wrap: wrap;
}
.exec-hero__ctas .btn { padding: 13px 22px; font-size: 13px; }

/* Department callout card */
.dept-callout {
    background: #fff;
    border: 1.5px solid var(--line-strong);
    border-radius: 10px;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    gap: 14px;
    max-width: 580px;
    color: var(--ink);
    margin-top: 18px;
    transition: border-color 0.15s;
}
.dept-callout:hover { text-decoration: none; border-color: var(--ua-blue); }
.dept-callout__icon {
    width: 40px; height: 40px;
    background: #fff7dc;
    color: #c26a1f;
    border-radius: 8px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
}
.dept-callout__body { flex: 1; min-width: 0; }
.dept-callout__tag {
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.06em;
    color: var(--muted);
    font-weight: 700;
    text-transform: uppercase;
}
.dept-callout__name { font-size: 14px; font-weight: 700; color: var(--ua-blue); margin-top: 2px; }
.dept-callout__addr { font-size: 12px; margin-top: 2px; }
.dept-callout__arrow { color: var(--ua-blue); font-weight: 700; flex-shrink: 0; }

/* Stats card right-rail in hero */
.exec-hero__aside {
    position: sticky;
    top: 20px;
}
.stats-card { padding: 20px; box-shadow: none; }
.stats-card--blue { background: var(--bg-2); border-color: var(--line-strong); }
.stats-card__head {
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--muted);
    letter-spacing: 0.08em;
    font-weight: 700;
    margin-bottom: 14px;
    text-transform: uppercase;
}
.stats-card__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 20px;
}
.stats-card__n {
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1;
    color: var(--ink);
}
.stats-card__n--active { color: var(--green); }
.stats-card__n--suspended { color: #b45309; }
.stats-card__n--inactive { color: var(--red); }
.stats-card__l { font-size: 11px; color: var(--muted); margin-top: 4px; }
.stats-card__foot {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px dashed var(--line);
    font-size: 12px;
    color: var(--muted);
    line-height: 1.45;
}

/* Quick-help callouts (yellow warm for state, blue for private) */
.quick-help {
    padding: 22px 24px;
    margin-bottom: 24px;
    box-shadow: none;
}
.quick-help__eyebrow {
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.08em;
    color: var(--muted);
    font-weight: 700;
    text-transform: uppercase;
}
.quick-help__title {
    font-family: var(--font-display);
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -0.005em;
    margin: 4px 0 16px;
}
.quick-help__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
@media (max-width: 700px) { .quick-help__grid { grid-template-columns: 1fr; } }

.quick-help__item {
    display: grid;
    grid-template-columns: 36px 1fr auto;
    gap: 14px;
    align-items: center;
    padding: 14px 16px;
    background: #fff7dc;
    border: 1px solid #e6c700;
    border-radius: 10px;
    color: var(--ink);
}
.quick-help__item:hover { text-decoration: none; background: #fff2a8; }
.quick-help__item--blue {
    background: #e7effc;
    border-color: #b9d0ed;
}
.quick-help__item--blue:hover { background: #d2e2f6; }
.quick-help__icon { font-size: 22px; }
.quick-help__t { font-size: 13px; font-weight: 700; }
.quick-help__d { font-size: 11px; color: #5a4800; margin-top: 2px; }
.quick-help__item--blue .quick-help__d { color: #1e3a5f; }
.quick-help__arrow { color: #8a6d00; font-size: 16px; font-weight: 700; }
.quick-help__item--blue .quick-help__arrow { color: var(--ua-blue); }

/* Section H2 inside content column */
.section-h2 {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 22px;
    letter-spacing: -0.01em;
    margin: 32px 0 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--line);
}
.section-h2::before {
    content: "";
    width: 4px;
    height: 22px;
    background: var(--ua-yellow);
    border-radius: 2px;
}

/* Contacts 2-column grid card (shared between state+private profile) */
.contacts-grid {
    padding: 24px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    box-shadow: none;
}
@media (max-width: 700px) { .contacts-grid { grid-template-columns: 1fr; gap: 20px; } }
.contacts-grid__block { margin-bottom: 14px; }
.contacts-grid__block:last-child { margin-bottom: 0; }
.contacts-grid__label {
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.06em;
    color: var(--muted);
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 4px;
}
.contacts-grid__val { font-size: 14px; font-weight: 500; color: var(--ink); }
.contacts-grid__val--link { color: var(--ua-blue); font-family: var(--font-mono); font-weight: 700; }

/* Mini schedule used inside contact grid */
.schedule-mini { display: grid; gap: 6px; margin-top: 6px; font-size: 13px; }
.schedule-mini__row {
    display: grid;
    grid-template-columns: 60px 1fr;
    padding-bottom: 6px;
    border-bottom: 1px dashed var(--line);
}
.schedule-mini__d { font-weight: 600; color: var(--ink); }
.schedule-mini__h { color: var(--ink); }

/* Placeholder for fields where data is missing — editor sees it at a glance.
   Spec: user asked for #ed0000. */
.missing {
    color: #ed0000;
    font-weight: 600;
    font-style: italic;
}
.exec-pill .missing { font-style: normal; font-weight: 700; }

/* Stars row in hero */
.exec-hero__stars { color: var(--ua-yellow); letter-spacing: 2px; font-size: 16px; }

/* Jurisdiction chips (list of service types) */
.jurisdiction-card { padding: 20px 24px; box-shadow: none; }
.jurisdiction-card p { margin: 0 0 14px; font-size: 13px; }
.jurisdiction-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.jurisdiction-chips > span {
    display: inline-block;
    padding: 6px 12px;
    background: var(--bg-3);
    border-radius: 100px;
    font-size: 12px;
    font-weight: 500;
    color: var(--dark);
}
.jurisdiction-chips .missing {
    background: rgba(237, 0, 0, 0.08);
    border: 1px dashed rgba(237, 0, 0, 0.4);
    padding: 5px 11px;
    font-style: italic;
}

/* Review breakdown bars + summary */
.review-card { padding: 0; box-shadow: none; overflow: hidden; }
.review-summary {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 32px;
    align-items: center;
    padding: 24px 28px;
    border-bottom: 1px solid var(--line);
    background: var(--bg-2);
}
@media (max-width: 600px) {
    .review-summary { grid-template-columns: 1fr; gap: 16px; text-align: center; }
}
.review-summary__score { text-align: center; }
.review-summary__n {
    font-family: var(--font-display);
    font-size: 48px;
    font-weight: 800;
    line-height: 1;
    color: var(--ink);
    letter-spacing: -0.02em;
    margin-bottom: 6px;
}
.review-summary__bars {
    display: grid;
    gap: 8px;
}
.review-bar {
    display: grid;
    grid-template-columns: 40px 1fr 30px;
    gap: 10px;
    align-items: center;
    font-size: 12px;
}
.review-bar__star { color: var(--muted); font-family: var(--font-mono); }
.review-bar__track {
    height: 6px;
    background: var(--line);
    border-radius: 100px;
    overflow: hidden;
}
.review-bar__fill {
    height: 100%;
    background: var(--ua-yellow);
    border-radius: inherit;
    transition: width 0.3s;
}
.review-bar__n { font-size: 12px; text-align: right; }

.review-card .review-list { padding: 0 28px; margin: 0; }
.review-card .review:last-child { border-bottom: 0; }
.review__reply {
    margin-top: 10px;
    padding: 10px 12px;
    font-size: 13px;
    background: #e8f6ee;
    border-left: 3px solid var(--green);
    border-radius: 4px;
    color: #1a4a2e;
    line-height: 1.55;
}
.review__reply-head { font-size: 11px; font-weight: 700; margin-bottom: 4px; }

/* Region hero with stats chips */
.region-hero {
    padding: 36px 0 20px;
    background: linear-gradient(180deg, #f3f7fc 0%, #fff 100%);
    border-bottom: 1px solid var(--line);
}
.region-hero__grid {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 32px;
    align-items: start;
}
@media (max-width: 900px) { .region-hero__grid { grid-template-columns: 1fr; } }

.region-chips { display: flex; gap: 10px; margin-top: 20px; flex-wrap: wrap; }
.infochip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-family: var(--font-mono);
    letter-spacing: 0.04em;
    color: var(--muted);
    border: 1px solid var(--line);
    padding: 5px 10px;
    border-radius: 3px;
    background: #fff;
    font-weight: 700;
}
.infochip .missing { font-style: normal; font-weight: 700; padding: 0; background: transparent; border: 0; }

/* Region tag cloud ("Інші області") */
.region-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.region-tag {
    padding: 8px 14px;
    background: #fff;
    border: 1px solid var(--line-strong);
    border-radius: 100px;
    font-size: 13px;
    font-weight: 500;
    color: var(--dark);
    transition: all 0.15s;
}
.region-tag:hover { border-color: var(--ua-blue); color: var(--ua-blue); text-decoration: none; }

/* Department page: row-style exec list + map aside */
.dept-hero { background: #fff; border-bottom: 1px solid var(--line); }

.exec-row-list { list-style: none; padding: 0; margin: 0; overflow: hidden; box-shadow: none; }
.exec-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 130px;
    gap: 20px;
    align-items: center;
    padding: 16px 22px;
    border-bottom: 1px solid var(--line);
    transition: background 0.15s;
}
.exec-row:last-child { border-bottom: 0; }
.exec-row:hover { background: var(--bg-2); }
.exec-row__main { color: var(--ink); }
.exec-row__main:hover { text-decoration: none; color: var(--ink); }
.exec-row__name { font-size: 14px; margin-bottom: 6px; line-height: 1.4; }
.exec-row__name strong { color: var(--ua-blue); font-size: 15px; display: inline-block; }
.exec-row__facts { font-size: 13px; display: grid; gap: 2px; }
.exec-row__rating { text-align: right; }
.exec-row__rating-n {
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 800;
    line-height: 1;
    color: var(--ink);
}

/* Map card (Google Maps iframe) */
.map-card { padding: 0; overflow: hidden; box-shadow: none; }
.map-card__head {
    padding: 12px 16px;
    border-bottom: 1px solid var(--line);
    font-family: var(--font-display);
    font-size: 13px;
    font-weight: 700;
}
.map-card__frame { width: 100%; height: 240px; border: 0; display: block; }
.map-card__missing {
    padding: 30px 18px;
    text-align: center;
    background: var(--bg-2);
}

/* =========================================================================
   Blog list page.
   ========================================================================= */
.blog-hero {
    padding: 40px 0 48px;
    background: linear-gradient(180deg, #f6f8fb 0%, #fff 100%);
}
.blog-hero__title {
    font-family: var(--font-display);
    font-size: 40px;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.05;
    margin: 0 0 24px;
    max-width: 820px;
}
@media (max-width: 700px) { .blog-hero__title { font-size: 28px; } }

/* Featured article card */
.blog-feature {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    overflow: hidden;
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    min-height: 320px;
}
@media (max-width: 800px) { .blog-feature { grid-template-columns: 1fr; } }
.blog-feature__graphic {
    position: relative;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--ua-blue) 0%, #003a75 100%);
    min-height: 220px;
}
.blog-feature__graphic img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.blog-feature__badge {
    position: absolute;
    top: 20px; left: 24px;
    font-family: var(--font-mono);
    font-size: 11px;
    background: var(--ua-yellow);
    color: var(--ink);
    padding: 6px 12px;
    border-radius: 4px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
.blog-feature__body { padding: 40px 36px; display: flex; flex-direction: column; justify-content: center; }
.blog-feature__cat {
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--red);
    font-weight: 700;
    letter-spacing: 0.12em;
    margin-bottom: 10px;
    text-transform: uppercase;
}
.blog-feature__body h2 {
    font-family: var(--font-display);
    font-size: 26px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.015em;
    margin: 0 0 14px;
}
.blog-feature__body h2 a { color: var(--ink); }
.blog-feature__body h2 a:hover { color: var(--ua-blue); text-decoration: none; }
.blog-feature__lead { font-size: 15px; color: var(--muted); line-height: 1.55; margin: 0 0 20px; }
.blog-feature__meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    font-size: 12px;
    color: var(--muted);
}

/* Filters row */
.blog-filters {
    padding: 20px 0;
    background: #fff;
    border-bottom: 1px solid var(--line);
}
.blog-filters .wrap {
    display: flex;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap;
}
.blog-filters__chips { display: flex; gap: 8px; flex-wrap: wrap; flex: 1; }
.blog-chip {
    padding: 9px 14px;
    background: #fff;
    border: 1px solid var(--line-strong);
    border-radius: 100px;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 12px;
    color: var(--dark);
    cursor: pointer;
}
.blog-chip { text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.blog-chip:hover { border-color: var(--ua-blue); color: var(--ua-blue); text-decoration: none; }
.blog-chip.is-active { background: var(--ink); color: #fff; border-color: var(--ink); }
.blog-chip.is-active:hover { color: #fff; border-color: var(--ink); }
.blog-chip__n { font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 10px; font-weight: 600; opacity: 0.7; }
.blog-chip.missing {
    background: rgba(237, 0, 0, 0.06);
    border-color: rgba(237, 0, 0, 0.3);
    border-style: dashed;
    font-style: italic;
    color: #ed0000;
}
.blog-search {
    position: relative;
}
.blog-search svg { position: absolute; left: 14px; top: 11px; }
.blog-search input {
    width: 240px;
    padding: 10px 14px 10px 38px;
    border: 1px solid var(--line-strong);
    border-radius: 100px;
    font-size: 13px;
    font-family: inherit;
    outline: none;
}

/* Grid section */
.blog-grid-section { padding: 40px 0 60px; background: var(--bg-2); }
.blog-grid {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 20px;
}
.blog-card { overflow: hidden; transition: transform 0.15s, box-shadow 0.15s; padding: 0; }
.blog-card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(15, 32, 51, 0.08); }
.blog-card__graphic {
    display: block;
    height: 140px;
    position: relative;
    background: linear-gradient(135deg, var(--ua-blue) 0%, #003a75 100%);
    overflow: hidden;
}
.blog-card__graphic img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.blog-card__graphic svg {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
}
.blog-card__cat {
    position: absolute;
    top: 14px; left: 14px;
    font-family: var(--font-mono);
    font-size: 10px;
    background: rgba(0, 0, 0, 0.35);
    color: #fff;
    padding: 5px 10px;
    border-radius: 4px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
.blog-card__body { padding: 22px; }
.blog-card__body h3 {
    font-family: var(--font-display);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.01em;
    margin: 0 0 10px;
}
.blog-card__body h3 a { color: var(--ink); }
.blog-card__body h3 a:hover { color: var(--ua-blue); text-decoration: none; }
.blog-card__body p { font-size: 13px; color: var(--muted); line-height: 1.55; margin: 0 0 14px; }
.blog-card__meta {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    color: var(--muted);
    border-top: 1px dashed var(--line);
    padding-top: 12px;
}

/* Newsletter */
.blog-newsletter {
    padding: 56px 0;
    background: linear-gradient(135deg, #0f2033 0%, #14466b 100%);
    color: #fff;
}
.blog-newsletter__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}
@media (max-width: 800px) { .blog-newsletter__grid { grid-template-columns: 1fr; } }
.blog-newsletter h2 {
    font-family: var(--font-display);
    font-size: 28px;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 0 0 10px;
    color: #fff;
    line-height: 1.15;
}
.blog-newsletter p { font-size: 15px; color: #cfe0ee; line-height: 1.55; margin: 0; }
.blog-newsletter__form { display: flex; gap: 10px; }
.blog-newsletter__form input[type=email] {
    flex: 1;
    padding: 16px 18px;
    border: 0;
    border-radius: 12px;
    font-size: 14px;
    font-family: inherit;
    outline: none;
}
.blog-newsletter__form button {
    background: var(--ua-yellow);
    color: var(--ink);
    border: 0;
    padding: 16px 22px;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 13px;
    border-radius: 12px;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: 0 4px 0 rgba(217, 179, 0, 0.8);
}

/* =========================================================================
   Article single.
   ========================================================================= */
.reading-progress {
    position: fixed;
    top: 0; left: 0;
    height: 3px;
    width: 0;
    background: var(--ua-yellow);
    z-index: 100;
    transition: width 0.1s;
    pointer-events: none;
}

.article-hero {
    padding: 40px 0 28px;
    background: linear-gradient(180deg, #f6f8fb 0%, #fff 100%);
    border-bottom: 1px solid var(--line);
}
.article-hero__cat {
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--red);
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin-bottom: 12px;
}
.article-hero__title {
    font-family: var(--font-display);
    font-size: 40px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.02em;
    margin: 0 0 16px;
    max-width: 860px;
}
@media (max-width: 700px) { .article-hero__title { font-size: 28px; } }
.article-hero__lead {
    font-size: 18px;
    color: var(--dark);
    line-height: 1.5;
    margin: 0 0 24px;
    max-width: 780px;
}
.article-hero__meta { display: flex; gap: 24px; flex-wrap: wrap; align-items: center; }

.article-author-mini { display: flex; gap: 12px; align-items: center; }
.article-author-mini__avatar {
    width: 44px; height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, #8a3fbf 0%, #5a2488 100%);
    color: #fff;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 16px;
    display: grid;
    place-items: center;
}
.article-author-mini__name { font-weight: 600; color: var(--ink); font-size: 14px; }

.article-section { padding-top: 36px; }
.article-body { max-width: 760px; padding: 32px 40px; font-size: 16px; line-height: 1.7; }
.article-body h2 { font-size: 22px; margin: 32px 0 12px; }
.article-body h3 { font-size: 18px; margin: 24px 0 10px; }
.article-body p { margin: 0 0 16px; }
.article-callout {
    background: var(--yellow-soft);
    padding: 14px 18px;
    border-radius: 10px;
    font-size: 14px;
    line-height: 1.55;
}
.article-callout a { color: var(--ua-blue); font-weight: 700; }

.author-card { padding: 18px 22px; text-align: center; }
.author-card__head {
    font-family: var(--font-mono);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--muted);
    font-weight: 700;
    margin-bottom: 12px;
    text-align: left;
}
.author-card__avatar {
    width: 72px; height: 72px;
    border-radius: 50%;
    background: linear-gradient(135deg, #8a3fbf 0%, #5a2488 100%);
    color: #fff;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 26px;
    display: grid;
    place-items: center;
    margin: 0 auto 10px;
}
.author-card__name { font-family: var(--font-display); font-weight: 700; font-size: 15px; margin-bottom: 4px; }

/* =========================================================================
   Tools / product pages (PRO, auth, docs, TG, advocate).
   ========================================================================= */
.auth-shell {
    display: grid;
    grid-template-columns: minmax(0, 480px) minmax(0, 1fr);
    gap: 40px;
    align-items: start;
    padding: 40px 24px 60px;
}
@media (max-width: 900px) { .auth-shell { grid-template-columns: 1fr; } }
.auth-card { padding: 28px 32px; }
.auth-side h2 { margin-top: 0; }

.pro-tiers {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 40px 24px 56px;
}
@media (max-width: 900px) { .pro-tiers { grid-template-columns: 1fr; } }

.pro-tier { padding: 28px 28px; position: relative; box-shadow: none; }
.pro-tier--featured {
    border-color: var(--ua-yellow);
    box-shadow: 0 0 0 3px rgba(255, 213, 0, 0.2);
}
.pro-tier__tag {
    position: absolute;
    top: 20px; right: 20px;
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.1em;
    font-weight: 800;
    padding: 4px 9px;
    border-radius: 4px;
    background: var(--bg-3);
    color: var(--muted);
    text-transform: uppercase;
}
.pro-tier__tag--yellow { background: var(--ua-yellow); color: var(--ink); }
.pro-tier__name {
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 700;
    margin: 4px 0 10px;
}
.pro-tier__price {
    font-family: var(--font-display);
    font-size: 36px;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1;
    color: var(--ink);
}
.pro-tier__period { font-size: 14px; font-weight: 500; font-family: var(--font-body); }
.pro-tier__list { list-style: none; padding: 0; margin: 20px 0 24px; }
.pro-tier__list li {
    padding: 8px 0;
    border-bottom: 1px dashed var(--line);
    font-size: 14px;
    line-height: 1.45;
}
.pro-tier__list li:last-child { border-bottom: 0; }

/* =========================================================================
   Bankruptcy landing — dedicated template. M2–M5 add sections below.
   ========================================================================= */
.bnk-hero {
    position: relative;
    overflow: hidden;
    padding: 64px 0 80px;
    color: #fff;
    background: linear-gradient(155deg, #0f2033 0%, #14466b 60%, #1a5a8a 100%);
}
.bnk-hero__bg {
    position: absolute; inset: 0; opacity: 0.06; pointer-events: none;
    background-image: repeating-linear-gradient(45deg, #fff 0, #fff 1px, transparent 1px, transparent 24px);
}
.bnk-hero__glow {
    position: absolute; top: 30px; right: 10%;
    width: 340px; height: 340px; border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 213, 0, 0.12) 0%, transparent 70%);
    pointer-events: none;
}
.bnk-hero__grid {
    position: relative;
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 56px;
    align-items: center;
}
@media (max-width: 1000px) { .bnk-hero__grid { grid-template-columns: 1fr; gap: 36px; } }
.bnk-hero__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ua-yellow); }
.bnk-hero__title {
    font-family: var(--font-display);
    font-size: 52px;
    line-height: 1.05;
    letter-spacing: -0.025em;
    font-weight: 700;
    margin: 22px 0;
    color: #fff;
}
@media (max-width: 700px) { .bnk-hero__title { font-size: 36px; } }
.bnk-hero__lead { font-size: 17px; line-height: 1.55; color: #cfe0ee; max-width: 560px; margin: 0 0 32px; }
.bnk-hero__ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 36px; }
.bnk-hero__cta-primary {
    padding: 17px 32px; font-size: 15px; font-weight: 800; border-radius: 12px;
    box-shadow: 0 6px 0 rgba(217, 179, 0, 0.9);
}
.bnk-hero__cta-ghost {
    background: transparent; color: #fff;
    border: 1.5px solid rgba(255, 255, 255, 0.28);
    padding: 17px 28px; font-size: 15px; font-weight: 600; border-radius: 12px;
}
.bnk-hero__cta-ghost:hover { background: rgba(255, 255, 255, 0.08); text-decoration: none; color: #fff; }
.bnk-hero__stats { display: flex; gap: 36px; flex-wrap: wrap; }
.bnk-hero__stat-n {
    font-family: var(--font-display);
    font-size: 30px;
    font-weight: 800;
    color: var(--ua-yellow);
    letter-spacing: -0.02em;
    line-height: 1;
}
.bnk-hero__stat-l { font-size: 12px; color: #9fb5c9; margin-top: 6px; }

/* ----- Qualification calculator in the hero's right column ----- */
.bnk-calc {
    background: #fff;
    color: var(--ink);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 60px -20px rgba(15, 32, 51, 0.25);
    border: 1px solid var(--line);
}
.bnk-calc__head {
    background: linear-gradient(180deg, #0f2033 0%, #14466b 100%);
    color: #fff;
    padding: 22px 28px;
}
.bnk-calc__eyebrow {
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.1em;
    color: var(--ua-yellow);
    font-weight: 700;
    margin-bottom: 6px;
}
.bnk-calc__title {
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.2;
}
.bnk-calc__body { padding: 28px; display: grid; gap: 24px; }
.bnk-calc__step { display: block; }
.bnk-calc__kicker {
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.12em;
    color: var(--muted);
    font-weight: 700;
    margin-bottom: 8px;
}
.bnk-calc__row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 10px;
}
.bnk-calc__row label {
    font-size: 15px;
    font-weight: 700;
    color: var(--ink);
}
.bnk-calc__amount {
    font-family: var(--font-mono);
    font-size: 18px;
    font-weight: 800;
    color: var(--ua-blue);
}
.bnk-calc input[type="range"] {
    width: 100%;
    accent-color: var(--ua-blue);
}
.bnk-calc__scale {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    color: var(--muted);
    margin-top: 4px;
}
.bnk-calc__label {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: var(--ink);
    margin-bottom: 10px;
}
.bnk-calc__opts { display: grid; gap: 6px; }
.bnk-calc__opt {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 10px 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    cursor: pointer;
    background: #fff;
    color: var(--ink);
    transition: border-color 0.15s, background 0.15s;
}
.bnk-calc__opt input[type="radio"] { accent-color: var(--ua-blue); margin-top: 2px; }
.bnk-calc__opt span { font-size: 13px; line-height: 1.4; }
.bnk-calc__opt.is-active {
    border: 1.5px solid #d9a600;
    background: var(--yellow-soft, #fff8d9);
}
.bnk-calc__opt.is-active span { font-weight: 600; }

.bnk-calc__verdict {
    margin: 0 28px 28px;
    padding: 20px;
    border-radius: 12px;
    background: #e8f5ec;
    border: 1px solid var(--green);
}
.bnk-calc__verdict[data-state="warn"] {
    background: #fff4d6;
    border-color: #f5a623;
}
.bnk-calc__verdict-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}
.bnk-calc__verdict-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--green);
    color: #fff;
    display: grid;
    place-items: center;
    font-size: 16px;
    font-weight: 800;
    flex-shrink: 0;
}
.bnk-calc__verdict[data-state="warn"] .bnk-calc__verdict-icon { background: #f5a623; }
.bnk-calc__verdict-title {
    font-family: var(--font-display);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.25;
}
.bnk-calc__verdict-body {
    font-size: 13px;
    line-height: 1.6;
    color: #1a4a2e;
}
.bnk-calc__verdict[data-state="warn"] .bnk-calc__verdict-body { color: #8a5a00; }
.bnk-calc__cta {
    display: block;
    margin-top: 14px;
    text-align: center;
    width: 100%;
    background: var(--ua-yellow);
    color: #1a1410;
    padding: 13px 20px;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 13px;
    border-radius: 10px;
    box-shadow: 0 3px 0 rgba(230, 199, 0, 0.8);
    text-decoration: none;
}
.bnk-calc__cta:hover { background: #ffdd33; color: #1a1410; text-decoration: none; }

/* ----- WHO WE HELP: 6 situation cards ----- */
.bnk-who { padding: 72px 0; background: #fff; }
.bnk-who__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-top: 40px;
}
@media (max-width: 900px) { .bnk-who__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .bnk-who__grid { grid-template-columns: 1fr; } }
.bnk-who__card {
    padding: 26px;
    box-shadow: none;
    transition: border-color 0.2s;
}
.bnk-who__card:hover { border-color: var(--ua-blue); }
.bnk-who__icon { font-size: 30px; margin-bottom: 12px; }
.bnk-who__h {
    font-family: var(--font-display);
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 8px;
}
.bnk-who__t {
    margin: 0 0 14px;
    font-size: 14px;
    line-height: 1.55;
    color: var(--muted);
}
.bnk-who__tag {
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.08em;
    color: var(--ua-blue);
    font-weight: 700;
    padding-top: 12px;
    border-top: 1px dashed var(--line);
    text-transform: uppercase;
}

/* ----- 5-STEP TIMELINE ----- */
.bnk-steps { padding: 80px 0; background: var(--bg-2); }
.bnk-steps__grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 56px;
    align-items: start;
}
@media (max-width: 1000px) { .bnk-steps__grid { grid-template-columns: 1fr; gap: 36px; } }
.bnk-steps__intro { position: sticky; top: 20px; }
@media (max-width: 1000px) { .bnk-steps__intro { position: static; } }
.bnk-steps__title {
    font-family: var(--font-display);
    font-size: 36px;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.1;
    margin: 12px 0 22px;
}
@media (max-width: 700px) { .bnk-steps__title { font-size: 28px; } }
.bnk-steps__lead {
    font-size: 15px;
    line-height: 1.6;
    color: var(--muted);
    margin: 0 0 24px;
}
.bnk-steps__stat { padding: 18px; box-shadow: none; }
.bnk-steps__stat-n {
    font-family: var(--font-display);
    font-size: 26px;
    font-weight: 800;
    color: var(--ua-blue);
}

.bnk-steps__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 14px;
}
.bnk-step {
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: 18px;
    padding: 22px;
    box-shadow: none;
}
.bnk-step__num {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--ua-blue), #003d7a);
    color: #fff;
    display: grid;
    place-items: center;
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 800;
}
.bnk-step__head {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 6px;
}
.bnk-step__t {
    font-family: var(--font-display);
    font-size: 18px;
    font-weight: 700;
}
.bnk-step__time {
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--ua-blue);
    letter-spacing: 0.08em;
    font-weight: 700;
    background: #e7effc;
    padding: 3px 8px;
    border-radius: 100px;
    text-transform: uppercase;
}
.bnk-step__d {
    margin: 0;
    font-size: 14px;
    color: var(--muted);
    line-height: 1.55;
}

/* ----- KEEP vs LOSE: green + red comparison ----- */
.bnk-keep { padding: 80px 0; background: #fff; }
.bnk-keep__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}
@media (max-width: 800px) { .bnk-keep__grid { grid-template-columns: 1fr; } }

.bnk-keep__col {
    border-radius: 16px;
    padding: 28px;
}
.bnk-keep__col--yes { background: #f0faf3; border: 1px solid #b8e0c7; }
.bnk-keep__col--no  { background: #fef2f2; border: 1px solid #f5c4c0; }

.bnk-keep__head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
}
.bnk-keep__badge {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    color: #fff;
    display: grid;
    place-items: center;
    font-size: 15px;
    font-weight: 800;
}
.bnk-keep__badge--yes { background: var(--green); }
.bnk-keep__badge--no  { background: var(--red); }
.bnk-keep__title {
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 700;
}

.bnk-keep__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 12px;
}
.bnk-keep__list li {
    display: grid;
    grid-template-columns: 20px 1fr;
    gap: 12px;
}
.bnk-keep__mark { font-weight: 800; font-size: 15px; line-height: 1.45; }
.bnk-keep__mark--yes { color: var(--green); }
.bnk-keep__mark--no  { color: var(--red); }
.bnk-keep__row-t { font-size: 14px; font-weight: 700; }
.bnk-keep__row-d { font-size: 13px; line-height: 1.5; }
.bnk-keep__row-d--yes { color: #4a6b57; }
.bnk-keep__row-d--no  { color: #7a3a35; }

/* ----- CASES from the judicial registry ----- */
.bnk-cases { padding: 80px 0; background: linear-gradient(180deg, #f6f8fb 0%, #edf2f7 100%); }
.bnk-cases__h {
    font-family: var(--font-display);
    font-size: 34px;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 0 0 12px;
}
.bnk-cases__lead {
    font-size: 15px;
    color: var(--muted);
    max-width: 640px;
    margin: 0 0 36px;
    line-height: 1.6;
}
.bnk-cases__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}
@media (max-width: 900px) { .bnk-cases__grid { grid-template-columns: 1fr; } }

.bnk-case { padding: 26px; box-shadow: none; }
.bnk-case__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6px;
    gap: 10px;
}
.bnk-case__name {
    font-family: var(--font-display);
    font-size: 16px;
    font-weight: 700;
}
.bnk-case__city { font-size: 12px; color: var(--muted); margin-bottom: 14px; }
.bnk-case__rows {
    display: grid;
    gap: 10px;
    font-size: 13px;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--line);
}
.bnk-case__row {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}
.bnk-case__row span:first-child { color: var(--muted); }
.bnk-case__result {
    background: #e8f5ec;
    padding: 10px 12px;
    border-radius: 8px;
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 700;
    color: #1a4a2e;
}
.bnk-case__note { font-size: 12px; color: var(--muted); }

/* ===== bnk-price: 3 tiers, middle one featured dark =================== */
.bnk-price { padding: 80px 0; background: #fff; }
.bnk-price__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 40px;
    align-items: stretch;
}
@media (max-width: 1000px) { .bnk-price__grid { grid-template-columns: 1fr; gap: 20px; } }

.bnk-tier {
    position: relative;
    padding: 32px 26px;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.bnk-tier__h {
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -0.01em;
}
.bnk-tier__price {
    font-family: var(--font-display);
    font-size: 34px;
    font-weight: 800;
    line-height: 1;
    color: var(--ink);
    letter-spacing: -0.02em;
}
.bnk-tier__sub {
    font-size: 13px;
    color: var(--muted);
    margin-top: -6px;
}
.bnk-tier__note { font-size: 13px; color: var(--muted); line-height: 1.5; margin: 0; }
.bnk-tier__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
    flex: 1;
}
.bnk-tier__list li {
    font-size: 14px;
    line-height: 1.45;
    padding-left: 22px;
    position: relative;
}
.bnk-tier__list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--green);
    font-weight: 800;
}

.bnk-tier--featured {
    background: linear-gradient(180deg, #0f2033 0%, #152a43 100%);
    color: #fff;
    border: 1px solid #1f3d5e;
    transform: translateY(-8px);
}
@media (max-width: 1000px) { .bnk-tier--featured { transform: none; } }
.bnk-tier--featured .bnk-tier__price { color: #fff; }
.bnk-tier__price--yellow { color: var(--ua-yellow) !important; }
.bnk-tier__note--on-dark { color: #b9cbdc; }
.bnk-tier__list--on-dark li::before { color: var(--ua-yellow); }
.bnk-tier__badge {
    position: absolute;
    top: -12px;
    right: 24px;
    background: var(--ua-yellow);
    color: var(--ink);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 6px 12px;
    border-radius: 999px;
}

/* ===== bnk-faq: sticky intro + accordion ============================== */
.bnk-faq { padding: 80px 0; background: var(--bg-2); }
.bnk-faq__grid {
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 60px;
    align-items: start;
}
@media (max-width: 1000px) { .bnk-faq__grid { grid-template-columns: 1fr; gap: 32px; } }
.bnk-faq__intro { position: sticky; top: 20px; }
@media (max-width: 1000px) { .bnk-faq__intro { position: static; } }
.bnk-faq__title {
    font-family: var(--font-display);
    font-size: 34px;
    font-weight: 800;
    letter-spacing: -0.02em;
    margin: 12px 0 14px;
    line-height: 1.1;
}
@media (max-width: 700px) { .bnk-faq__title { font-size: 26px; } }
.bnk-faq__lead { font-size: 15px; line-height: 1.6; color: var(--muted); margin: 0; }
.bnk-faq__lead a { color: var(--ua-blue); font-weight: 700; }

.bnk-faq__list { display: grid; gap: 10px; }
.bnk-faq__item {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 0;
    overflow: hidden;
    transition: border-color 0.15s;
}
.bnk-faq__item[open] { border-color: var(--ua-blue); }
.bnk-faq__item summary {
    list-style: none;
    cursor: pointer;
    padding: 18px 22px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    color: var(--ink);
}
.bnk-faq__item summary::-webkit-details-marker { display: none; }
.bnk-faq__plus {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #eef3f8;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 700;
    color: var(--ua-blue);
    transition: transform 0.2s, background 0.2s;
}
.bnk-faq__item[open] .bnk-faq__plus {
    transform: rotate(45deg);
    background: var(--ua-blue);
    color: #fff;
}
.bnk-faq__a {
    margin: 0;
    padding: 0 22px 20px;
    font-size: 14px;
    line-height: 1.6;
    color: #3d4f5e;
}

/* ===== bnk-cta: dark final CTA (copy left + form right) ============= */
.bnk-cta {
    position: relative;
    padding: 80px 0;
    background: linear-gradient(135deg, #0f2033 0%, #14466b 100%);
    color: #fff;
    overflow: hidden;
}
.bnk-cta__bg {
    position: absolute;
    inset: 0;
    opacity: 0.05;
    background-image: repeating-linear-gradient(45deg, #fff 0, #fff 1px, transparent 1px, transparent 20px);
    pointer-events: none;
}
.bnk-cta__grid {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 56px;
    align-items: center;
}
@media (max-width: 1000px) { .bnk-cta__grid { grid-template-columns: 1fr; gap: 36px; } }

.bnk-cta__eyebrow {
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.14em;
    color: var(--ua-yellow);
    font-weight: 700;
    margin-bottom: 14px;
}
.bnk-cta__title {
    font-family: var(--font-display);
    font-size: 44px;
    font-weight: 700;
    letter-spacing: -0.025em;
    margin: 0 0 18px;
    line-height: 1.1;
    color: #fff;
}
@media (max-width: 700px) { .bnk-cta__title { font-size: 30px; } }
.bnk-cta__accent { color: var(--ua-yellow); }
.bnk-cta__lead {
    font-size: 16px;
    line-height: 1.6;
    color: #cfe0ee;
    margin: 0 0 28px;
    max-width: 480px;
}
.bnk-cta__promises {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 14px;
}
.bnk-cta__promises li {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    color: #e5eef6;
}
.bnk-cta__check {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--ua-yellow);
    color: #1a1410;
    display: grid;
    place-items: center;
    font-weight: 800;
    font-size: 13px;
    flex-shrink: 0;
}

.bnk-cta__form {
    background: #fff;
    color: var(--ink);
    border-radius: 16px;
    padding: 32px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}
.bnk-cta__form-title {
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 18px;
}
.bnk-cta__field { display: grid; gap: 6px; margin-bottom: 14px; }
.bnk-cta__label {
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.08em;
    color: var(--muted);
    font-weight: 700;
}
.bnk-cta__input {
    padding: 14px 16px;
    border: 1.5px solid var(--line-strong, #d7dfe7);
    border-radius: 10px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 500;
    outline: none;
    background: #fff;
    color: var(--ink);
    transition: border-color 0.15s;
}
.bnk-cta__input:focus { border-color: var(--ua-blue); }
/* Підставляється JS-ом замість <select name="debt_range"> коли користувач
   уже обрав суму у калькуляторі вище. Виглядає як disabled-інпут із чіпом. */
.bnk-cta__readonly {
    padding: 14px 16px;
    border: 1.5px dashed var(--line-strong, #d7dfe7);
    border-radius: 10px;
    background: var(--bg, #f6f8fb);
    color: var(--ink);
    font-size: 15px;
    font-weight: 600;
}
.bnk-cta__submit {
    margin-top: 8px;
    width: 100%;
    background: var(--ua-yellow);
    color: #1a1410;
    border: 0;
    padding: 16px 22px;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 15px;
    border-radius: 10px;
    box-shadow: 0 4px 0 rgba(217, 179, 0, 0.9);
    cursor: pointer;
}
.bnk-cta__submit:hover { background: #ffdd33; }
.bnk-cta__notice {
    font-size: 11px;
    color: var(--muted);
    text-align: center;
    margin: 14px 0 0;
    line-height: 1.5;
}
.bnk-cta__notice a { color: var(--ua-blue); text-decoration: underline; }

.bnk-cta__sent {
    text-align: center;
    padding: 30px 0;
}
.bnk-cta__sent-icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--green);
    color: #fff;
    display: grid;
    place-items: center;
    font-size: 30px;
    margin: 0 auto 18px;
}
.bnk-cta__sent-title {
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 10px;
}
.bnk-cta__sent-body { font-size: 14px; color: var(--muted); line-height: 1.5; }

/* ===== bnk-trust: 4-up credibility row ============================== */
.bnk-trust { padding: 40px 0; background: #fff; border-top: 1px solid var(--line); }
.bnk-trust__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    align-items: center;
}
@media (max-width: 800px) { .bnk-trust__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 500px) { .bnk-trust__grid { grid-template-columns: 1fr; } }
.bnk-trust__item { text-align: center; padding: 10px 0; }
.bnk-trust__h {
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 800;
    color: var(--ua-blue);
    letter-spacing: -0.01em;
    margin-bottom: 6px;
    line-height: 1.2;
}
.bnk-trust__t { font-size: 12px; color: var(--muted); }

/* =====================================================================
   /reestr/ — ЄРБ search hub. SearchHero + trust cards + pain-strip.
   ===================================================================== */
.erb-hero {
    background: linear-gradient(180deg, #f3f7fc 0%, #fff 100%);
    padding: 32px 0 40px;
}
.erb-hero__head {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 24px;
    align-items: end;
    margin-bottom: 20px;
}
@media (max-width: 800px) { .erb-hero__head { grid-template-columns: 1fr; align-items: start; } }
.erb-hero__title { display: flex; gap: 14px; }
.erb-hero__bar {
    width: 4px;
    align-self: stretch;
    background: var(--ua-yellow);
    border-radius: 4px;
    flex-shrink: 0;
}
.erb-hero h1 {
    font-family: var(--font-display);
    font-size: 32px;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 0;
    line-height: 1.05;
    color: var(--ink);
}
@media (max-width: 600px) { .erb-hero h1 { font-size: 24px; } }
.erb-hero__lead {
    color: var(--muted);
    font-size: 14px;
    margin: 6px 0 0;
    line-height: 1.55;
}

.erb-safe-badge {
    display: inline-flex;
    gap: 12px;
    align-items: center;
    background: #fff;
    border: 1px solid #d9e4f4;
    border-radius: 10px;
    padding: 12px 18px;
}
.erb-safe-badge__icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: #e9f1fc;
    color: var(--ua-blue);
    display: grid;
    place-items: center;
    flex-shrink: 0;
}
.erb-safe-badge__title {
    font-family: var(--font-display);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: -0.005em;
    color: var(--ink);
}
.erb-safe-badge__sub { font-size: 11px; color: var(--muted); margin-top: 1px; }

/* ----- search card with 4 tabs ----- */
.erb-card {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 2px 24px rgba(15, 32, 51, 0.06);
    border: 1px solid #e4ebf4;
    padding: 8px;
}
.erb-tabs {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-bottom: 1px solid #eaf0f7;
}
@media (max-width: 700px) { .erb-tabs { grid-template-columns: 1fr 1fr; } }
.erb-tab {
    position: relative;
    background: transparent;
    border: 0;
    padding: 16px 10px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    color: var(--ink);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    transition: color 0.15s;
}
.erb-tab:hover { color: var(--ua-blue); }
.erb-tab.is-active { color: var(--ua-blue); }
.erb-tab.is-active::after {
    content: "";
    position: absolute;
    left: 25%;
    right: 25%;
    bottom: -1px;
    height: 3px;
    background: var(--ua-blue);
    border-radius: 3px;
}

.erb-body { padding: 22px 22px 20px; }
.erb-grid { display: grid; gap: 12px; margin-bottom: 16px; }
.erb-grid--pib { grid-template-columns: 2fr 1.2fr 1fr; }
.erb-grid--ul { grid-template-columns: 2fr 1fr; }
.erb-grid--vp { grid-template-columns: 1fr; }
.erb-grid--sta { grid-template-columns: 1.5fr 1fr; }
.erb-grid--filters {
    grid-template-columns: 1fr 1fr auto;
    align-items: end;
    margin-bottom: 0;
}
@media (max-width: 800px) {
    .erb-grid--pib,
    .erb-grid--ul,
    .erb-grid--sta,
    .erb-grid--filters { grid-template-columns: 1fr; }
}

.erb-field { display: block; }
.erb-field__label {
    display: block;
    font-size: 12px;
    color: var(--muted);
    margin-bottom: 6px;
    font-weight: 500;
}
.erb-field__input {
    position: relative;
    display: block;
    border: 1.5px solid #e4ebf4;
    border-radius: 10px;
    padding: 14px 16px;
    background: #fff;
    transition: border-color 0.2s;
}
.erb-field__input:focus-within { border-color: var(--ua-blue); }
.erb-field__input input,
.erb-field__input select {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    font-family: inherit;
    font-size: 14px;
    font-weight: 500;
    color: var(--ink);
    appearance: none;
}
.erb-field__input--icon { padding-left: 44px; }
.erb-field__input--icon > svg:first-of-type {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
}
.erb-field__input--select { padding: 12px 38px 12px 42px; }
.erb-field__chev {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
}

.erb-submit {
    background: var(--ua-yellow);
    color: var(--ink);
    border: 0;
    padding: 14px 26px;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 14px;
    border-radius: 10px;
    box-shadow: 0 2px 0 rgba(217, 179, 0, 0.8);
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    transition: background 0.15s;
}
.erb-submit:hover { background: #ffdd33; }
.erb-submit span { font-size: 16px; }

/* ----- trust row ----- */
.erb-trustrow {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-top: 16px;
}
@media (max-width: 900px) { .erb-trustrow { grid-template-columns: 1fr 1fr; } }
@media (max-width: 500px) { .erb-trustrow { grid-template-columns: 1fr; } }
.erb-trust {
    background: #fff;
    border: 1px solid #e4ebf4;
    border-radius: 12px;
    padding: 14px 16px;
    display: flex;
    gap: 12px;
    align-items: center;
}
.erb-trust__icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
}
.erb-trust--green  .erb-trust__icon { background: #e8f6ee; color: #178a4a; }
.erb-trust--blue   .erb-trust__icon { background: #e7effc; color: #005bbb; }
.erb-trust--purple .erb-trust__icon { background: #f2e8fb; color: #7232b8; }
.erb-trust--orange .erb-trust__icon { background: #fdf0e6; color: #c26a1f; }
.erb-trust__h {
    font-family: var(--font-display);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: -0.005em;
    color: var(--ink);
}
.erb-trust__d { font-size: 11.5px; color: var(--muted); margin-top: 2px; }

/* =====================================================================
   Pain-strip + demo card
   ===================================================================== */
.pain-strip { background: #fff; padding: 48px 0 24px; }
.pain-strip__grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 40px;
    align-items: center;
}
@media (max-width: 900px) { .pain-strip__grid { grid-template-columns: 1fr; gap: 32px; } }

.pain-strip__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--red);
    letter-spacing: 0.08em;
    font-weight: 700;
    background: #fdecea;
    padding: 5px 10px;
    border-radius: 3px;
}
.pain-strip__pulse {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--red);
    animation: pulse 1.4s infinite;
}
@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.35; }
}
.pain-strip__title {
    font-family: var(--font-display);
    font-size: 44px;
    font-weight: 700;
    letter-spacing: -0.025em;
    margin: 14px 0;
    line-height: 1;
    color: var(--ink);
}
@media (max-width: 700px) { .pain-strip__title { font-size: 30px; } }
.pain-strip__hl {
    background: linear-gradient(transparent 62%, var(--ua-yellow) 62%);
    padding: 0 4px;
}
.pain-strip__lead {
    color: var(--muted);
    font-size: 16px;
    line-height: 1.55;
    margin: 0 0 22px;
    max-width: 520px;
}
.pain-strip__ctas { display: flex; gap: 12px; flex-wrap: wrap; }
.pain-strip__ctas .btn {
    padding: 16px 28px;
    font-size: 14px;
    gap: 10px;
}
.pain-strip__proof {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    margin-top: 18px;
    font-size: 12px;
    color: var(--muted);
}
.pain-strip__proof span { display: inline-flex; align-items: center; gap: 6px; }

/* demo card (right column) */
.pain-strip__demo { position: relative; }
.pain-strip__demo-halo {
    position: absolute;
    inset: -8px;
    border-radius: 20px;
    background: linear-gradient(135deg, #fff4b8, #ffe57a);
    transform: rotate(-1deg);
    z-index: 0;
}
.demo-card {
    position: relative;
    background: #fff;
    border: 1px solid var(--line-strong);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 14px 40px rgba(15, 32, 51, 0.12);
}
.demo-card__head {
    padding: 10px 16px;
    background: var(--nav-dark, #0f2033);
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.demo-card__badge-row { display: flex; align-items: center; gap: 8px; }
.demo-card__mono {
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.08em;
}
.demo-card__demo-label {
    font-family: var(--font-mono);
    font-size: 10px;
    color: rgba(255, 255, 255, 0.55);
}
.demo-card__body { padding: 18px; }
.demo-card__person {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--line);
}
.demo-card__label {
    font-size: 11px;
    color: var(--muted);
    font-family: var(--font-mono);
    letter-spacing: 0.04em;
}
.demo-card__name {
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: 700;
    color: var(--ink);
}
.demo-card__count {
    background: #fdecea;
    color: var(--red);
    font-size: 10px;
    font-weight: 800;
    font-family: var(--font-mono);
    padding: 4px 8px;
    letter-spacing: 0.08em;
    border-radius: 3px;
}
.demo-card__row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    padding: 11px 0;
    border-bottom: 1px dashed var(--line);
    align-items: center;
}
.demo-card__row-t { font-size: 13px; font-weight: 700; color: var(--ink); }
.demo-card__row-meta {
    font-family: var(--font-mono);
    font-size: 10.5px;
    color: var(--muted);
    margin-top: 2px;
}
.demo-card__status {
    font-size: 11px;
    font-weight: 700;
    font-family: var(--font-mono);
    letter-spacing: 0.04em;
    white-space: nowrap;
}
.demo-card__status--red    { color: var(--red); }
.demo-card__status--orange { color: #c26a1f; }
.demo-card__alert {
    margin-top: 14px;
    padding: 12px;
    background: var(--yellow-soft);
    border-radius: 8px;
    font-size: 12px;
    display: flex;
    gap: 10px;
    align-items: center;
    color: var(--ink);
}
.demo-card__alert > div { flex: 1; }

/* ===== «Що це означає» — 3 consequence cards ======================= */
.means {
    padding: 60px 0;
    background: var(--bg-2);
    border-top: 1px solid var(--line);
}
.means__head { max-width: 720px; margin-bottom: 32px; }
.means__eyebrow {
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--red);
    letter-spacing: 0.08em;
    font-weight: 700;
}
.means__title {
    font-family: var(--font-display);
    font-size: 36px;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 10px 0 6px;
    line-height: 1.05;
    color: var(--ink);
}
@media (max-width: 600px) { .means__title { font-size: 26px; } }
.means__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}
@media (max-width: 900px) { .means__grid { grid-template-columns: 1fr; } }
.means-card {
    background: #fff;
    border: 1px solid var(--line-strong);
    border-top: 3px solid var(--red);
    padding: 26px;
    position: relative;
}
.means-card__tag {
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--red);
    letter-spacing: 0.08em;
    font-weight: 700;
}
.means-card__icon {
    width: 52px;
    height: 52px;
    margin-top: 16px;
    background: #fdecea;
    color: var(--red);
    display: grid;
    place-items: center;
    border-radius: 12px;
}
.means-card__t {
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 700;
    margin: 14px 0 8px;
    letter-spacing: -0.01em;
    line-height: 1.2;
    color: var(--ink);
}
.means-card__d {
    color: var(--muted);
    font-size: 13.5px;
    line-height: 1.55;
    margin: 0;
}
.means-card__foot {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px dashed var(--line);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.means-card__risk-l {
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--muted);
    letter-spacing: 0.06em;
}
.means-card__risk-v {
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: 800;
    color: var(--red);
}

/* ===== «Що робити» ================================================= */
.todo { padding: 60px 0; background: #fff; }
.todo__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}
@media (max-width: 900px) { .todo__grid { grid-template-columns: 1fr; gap: 32px; } }
.todo__eyebrow {
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--ua-blue);
    letter-spacing: 0.08em;
    font-weight: 700;
}
.todo__title {
    font-family: var(--font-display);
    font-size: 36px;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 10px 0 14px;
    line-height: 1.05;
    color: var(--ink);
}
@media (max-width: 600px) { .todo__title { font-size: 26px; } }
.todo__hl { background: linear-gradient(transparent 62%, var(--ua-yellow) 62%); padding: 0 4px; }
.todo__lead {
    color: var(--muted);
    font-size: 15px;
    line-height: 1.6;
    margin: 0 0 24px;
    max-width: 460px;
}
.todo__cta {
    display: inline-block;
    background: var(--ink);
    color: #fff;
    border: 0;
    padding: 15px 26px;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 14px;
    border-radius: 10px;
    text-decoration: none;
}
.todo__cta:hover { background: #14293f; color: #fff; text-decoration: none; }

.todo__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.todo-step {
    display: grid;
    grid-template-columns: 50px 1fr;
    gap: 18px;
    align-items: center;
    padding: 18px 22px;
    background: var(--bg-2);
    border: 1px solid var(--line);
    border-radius: 12px;
}
.todo-step__n {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: var(--ua-yellow);
    color: var(--ink);
    display: grid;
    place-items: center;
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 800;
}
.todo-step__t {
    font-family: var(--font-display);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -0.005em;
    color: var(--ink);
}
.todo-step__d { font-size: 13px; color: var(--muted); margin-top: 4px; line-height: 1.5; }

/* ===== «Знайшли себе у реєстрі?» — 4 micro-CTAs ================= */
.found {
    padding: 40px 0;
    background: var(--bg-2);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    margin-top: 40px;
}
.found__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    align-items: center;
}
@media (max-width: 900px) { .found__grid { grid-template-columns: 1fr; } }
.found__eyebrow {
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--red);
    letter-spacing: 0.08em;
    font-weight: 700;
}
.found__title {
    font-family: var(--font-display);
    font-size: 38px;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 10px 0 14px;
    line-height: 1.02;
    color: var(--ink);
}
@media (max-width: 600px) { .found__title { font-size: 26px; } }
.found__lead {
    color: var(--muted);
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
    max-width: 480px;
}
.found__tiles {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.found-tile {
    text-align: left;
    padding: 18px;
    background: #fff;
    border: 1px solid var(--line-strong);
    color: var(--ink);
    text-decoration: none;
    transition: transform 0.15s, border-color 0.15s;
    display: block;
}
.found-tile:hover { transform: translateY(-2px); border-color: var(--ua-blue); color: var(--ink); text-decoration: none; }
.found-tile--hl { background: var(--ua-yellow); }
.found-tile--hl:hover { border-color: #d9a600; }
.found-tile__icon { font-size: 22px; margin-bottom: 6px; }
.found-tile__t {
    font-family: var(--font-display);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: -0.005em;
}
.found-tile__d { font-size: 12px; color: var(--muted); margin-top: 4px; }
.found-tile--hl .found-tile__d { color: #5a4b10; }
.found-tile__free {
    font-family: var(--font-mono);
    font-size: 9px;
    color: var(--green);
    margin-top: 6px;
    letter-spacing: 0.08em;
    font-weight: 700;
}

/* ===== Product tiers =============================================== */
.products { padding: 56px 0; background: #fff; }
.products__head { text-align: center; margin-bottom: 36px; }
.products__eyebrow {
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--ua-blue);
    letter-spacing: 0.08em;
    font-weight: 700;
}
.products__title {
    font-family: var(--font-display);
    font-size: 34px;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 8px 0 6px;
    color: var(--ink);
}
@media (max-width: 600px) { .products__title { font-size: 24px; } }
.products__lead { color: var(--muted); font-size: 14px; margin: 0; }

.products__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
@media (max-width: 900px) { .products__grid { grid-template-columns: 1fr; } }

.product {
    background: #fff;
    border: 1px solid #e4ebf4;
    border-radius: 16px;
    padding: 28px;
    position: relative;
    box-shadow: 0 2px 12px rgba(15, 32, 51, 0.04);
    display: flex;
    flex-direction: column;
}
.product--hit {
    border: 2px solid #d9a800;
    box-shadow: 0 8px 28px rgba(217, 168, 0, 0.12);
}
.product__badge {
    position: absolute;
    top: -12px;
    right: 20px;
    background: var(--ua-yellow);
    color: var(--ink);
    font-size: 10px;
    font-weight: 800;
    padding: 5px 10px;
    border-radius: 100px;
    letter-spacing: 0.06em;
    font-family: var(--font-mono);
}
.product__icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    margin-bottom: 16px;
}
.product--blue   .product__icon   { background: #e7effc; color: var(--ua-blue); }
.product--amber  .product__icon   { background: #fff7dc; color: #d9a800; }
.product--purple .product__icon   { background: #f2e8fb; color: #7232b8; }
.product__tag {
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.08em;
    font-weight: 700;
}
.product--blue   .product__tag { color: var(--ua-blue); }
.product--amber  .product__tag { color: #d9a800; }
.product--purple .product__tag { color: #7232b8; }
.product__title {
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.01em;
    margin: 6px 0 8px;
    color: var(--ink);
}
.product__desc {
    color: var(--muted);
    font-size: 13px;
    line-height: 1.55;
    margin: 0;
    min-height: 56px;
}
.product__trigger {
    margin-top: 12px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-family: var(--font-mono);
    padding: 5px 10px;
    border-radius: 3px;
    letter-spacing: 0.03em;
    font-weight: 700;
    align-self: flex-start;
}
.product--blue   .product__trigger { color: var(--ua-blue); background: #e7effc; }
.product--amber  .product__trigger { color: #d9a800;        background: #fff7dc; }
.product--purple .product__trigger { color: #7232b8;        background: #f2e8fb; }
.product__price {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin: 16px 0;
}
.product__price-n {
    font-family: var(--font-display);
    font-size: 36px;
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1;
    color: var(--ink);
}
.product__price-n > span { font-size: 14px; font-weight: 600; }
.product__price-free {
    font-family: var(--font-display);
    font-size: 36px;
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1;
    color: var(--green);
}
.product__price-old {
    text-decoration: line-through;
    color: var(--muted);
    font-size: 14px;
}
.product__bullets {
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
    font-size: 13px;
    display: grid;
    gap: 8px;
}
.product__bullets li {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    color: var(--ink);
}
.product__bullets svg { flex-shrink: 0; margin-top: 1px; }
.product__cta {
    display: block;
    text-align: center;
    text-decoration: none;
    margin-top: auto;
    width: 100%;
    background: #fff;
    color: var(--ink);
    border: 1.5px solid var(--ink);
    padding: 13px;
    border-radius: 10px;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 13px;
    box-sizing: border-box;
}
.product__cta:hover { background: var(--bg-2); color: var(--ink); text-decoration: none; }
.product__cta--hit {
    background: var(--ua-yellow);
    border: 0;
    box-shadow: 0 2px 0 rgba(217, 179, 0, 0.8);
}
.product__cta--hit:hover { background: #ffdd33; }

/* ===== «Як це працює» — dark 3-step ================================ */
.how {
    background: #0f2033;
    color: #fff;
    padding: 56px 0;
}
.how__head { text-align: center; margin-bottom: 36px; }
.how__eyebrow {
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--ua-yellow);
    letter-spacing: 0.08em;
    font-weight: 700;
}
.how__title {
    font-family: var(--font-display);
    font-size: 34px;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 8px 0 0;
    color: #fff;
}
@media (max-width: 600px) { .how__title { font-size: 24px; } }
.how__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    position: relative;
}
@media (max-width: 900px) { .how__grid { grid-template-columns: 1fr; } }
.how__line {
    position: absolute;
    top: 30px;
    left: 16%;
    right: 16%;
    height: 1px;
    border-top: 1px dashed rgba(255, 213, 0, 0.3);
}
@media (max-width: 900px) { .how__line { display: none; } }
.how-step { text-align: center; position: relative; }
.how-step__n {
    width: 60px;
    height: 60px;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: var(--ua-yellow);
    color: var(--ink);
    display: grid;
    place-items: center;
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 800;
    position: relative;
    z-index: 1;
}
.how-step__t {
    font-family: var(--font-display);
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -0.01em;
    margin: 0 0 8px;
    color: #fff;
}
.how-step__d {
    color: rgba(255, 255, 255, 0.7);
    font-size: 13px;
    line-height: 1.6;
    margin: 0 auto;
    max-width: 280px;
}

/* ===== Stats row (4-up) ============================================ */
.stats-row {
    padding: 40px 0;
    background: #fff;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}
.stats-row__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
@media (max-width: 800px) { .stats-row__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 500px) { .stats-row__grid { grid-template-columns: 1fr; } }
.stats-row__item { text-align: center; }
.stats-row__v {
    font-family: var(--font-display);
    font-size: 38px;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--ua-blue);
    line-height: 1;
}
.stats-row__l { font-size: 13px; color: var(--muted); margin-top: 6px; }

/* ===== Case studies ================================================= */
.cases {
    padding: 60px 0;
    background: var(--bg-2);
    border-top: 1px solid var(--line);
}
.cases__head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 32px;
    flex-wrap: wrap;
    margin-bottom: 32px;
}
.cases__eyebrow {
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--ua-blue);
    letter-spacing: 0.08em;
    font-weight: 700;
}
.cases__title {
    font-family: var(--font-display);
    font-size: 36px;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 10px 0 0;
    line-height: 1.05;
    color: var(--ink);
}
@media (max-width: 600px) { .cases__title { font-size: 26px; } }
.cases__stats { display: flex; gap: 20px; align-items: center; }
.cases__stat-n {
    font-family: var(--font-display);
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1;
}
.cases__stat-n--blue  { color: var(--ua-blue); }
.cases__stat-n--green { color: var(--green); }
.cases__stat-l { font-size: 12px; color: var(--muted); margin-top: 3px; }
.cases__stat-div { width: 1px; height: 40px; background: var(--line-strong); }

.cases__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}
@media (max-width: 900px) { .cases__grid { grid-template-columns: 1fr; } }

.case {
    background: #fff;
    border: 1px solid var(--line-strong);
    border-radius: 14px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.case__head {
    padding: 16px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.case--green  .case__head { background: #e8f6ee; }
.case--green  .case__tag,
.case--green  .case__city { color: #178a4a; }
.case--amber  .case__head { background: #fff7dc; }
.case--amber  .case__tag,
.case--amber  .case__city { color: #c26a1f; }
.case--blue   .case__head { background: #e7effc; }
.case--blue   .case__tag,
.case--blue   .case__city { color: var(--ua-blue); }
.case__tag {
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.08em;
    font-weight: 800;
}
.case__city {
    font-size: 11px;
    font-family: var(--font-mono);
}
.case__body {
    padding: 22px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    flex: 1;
}
.case__name {
    font-family: var(--font-display);
    font-size: 14px;
    font-weight: 700;
    color: var(--ink);
}
.case__kicker {
    font-family: var(--font-mono);
    font-size: 9.5px;
    color: var(--muted);
    letter-spacing: 0.08em;
    margin-bottom: 4px;
}
.case__text { font-size: 13px; line-height: 1.5; color: var(--ink); }
.case__text--muted { color: var(--muted); }
.case__foot {
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px dashed var(--line);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}
.case__result {
    font-family: var(--font-display);
    font-size: 16px;
    font-weight: 800;
    color: var(--green);
    letter-spacing: -0.01em;
}
.case__days {
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--muted);
    background: var(--bg-2);
    padding: 4px 8px;
    border-radius: 3px;
    flex-shrink: 0;
}

/* ===== Generator block ============================================== */
.gen-block {
    background: var(--ink);
    color: #fff;
    padding: 48px 0;
}
.gen-block__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}
@media (max-width: 900px) { .gen-block__grid { grid-template-columns: 1fr; } }
.gen-block__eyebrow {
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--ua-yellow);
    letter-spacing: 0.08em;
    font-weight: 700;
}
.gen-block__title {
    font-family: var(--font-display);
    font-size: 40px;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 10px 0 14px;
    line-height: 1;
    color: #fff;
}
@media (max-width: 600px) { .gen-block__title { font-size: 28px; } }
.gen-block__accent { color: var(--ua-yellow); }
.gen-block__lead {
    color: rgba(255, 255, 255, 0.75);
    font-size: 15px;
    line-height: 1.6;
    max-width: 460px;
    margin: 0 0 20px;
}
.gen-block__cta {
    display: inline-block;
    background: var(--ua-yellow);
    color: var(--ink);
    border: 0;
    padding: 14px 22px;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 14px;
    border-radius: 10px;
    text-decoration: none;
}
.gen-block__cta:hover { background: #ffdd33; color: var(--ink); text-decoration: none; }

.gen-block__wizard {
    background: #fff;
    color: var(--ink);
    border-radius: 8px;
    overflow: hidden;
}
.gen-block__wizard-head {
    padding: 12px 18px;
    border-bottom: 1px solid var(--line);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.gen-block__step {
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.08em;
    color: var(--muted);
}
.gen-block__dots { display: flex; gap: 4px; }
.gen-block__dot {
    width: 18px;
    height: 3px;
    background: var(--line);
}
.gen-block__dot.is-done { background: var(--ua-yellow); }
.gen-block__wizard-body { padding: 24px 22px; }
.gen-block__q {
    font-family: var(--font-display);
    font-size: 19px;
    font-weight: 700;
    margin-bottom: 16px;
    letter-spacing: -0.01em;
    color: var(--ink);
}
.gen-block__opts { display: grid; gap: 8px; }
.gen-block__opt {
    padding: 12px 14px;
    border: 1px solid var(--line);
    font-size: 13px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--ink);
}
.gen-block__opt.is-active { background: var(--yellow-soft); }
.gen-block__opt > span:last-child { color: var(--muted); }

/* ===== Executor teaser list ======================================== */
.exec-list { padding: 48px 0; }
.exec-list__head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    margin-bottom: 20px;
    gap: 16px;
}
.exec-list__all {
    font-size: 13px;
    color: var(--ua-blue);
    font-weight: 600;
    border-bottom: 1px dotted currentColor;
    text-decoration: none;
}
.exec-list__box { border: 1px solid var(--line); }
/* Демо-рядок виконавця для home/reestr — scoped під .exec-list__box,
   щоб не конфліктувати з .exec-row у department.twig (там 2-кол. grid). */
.exec-list__box .exec-row {
    display: grid;
    grid-template-columns: 56px 1fr auto auto auto;
    gap: 20px;
    align-items: center;
    padding: 14px 18px;
    border-bottom: 1px solid var(--line);
    background: #fff;
    color: var(--ink);
    text-decoration: none;
    transition: background 0.15s;
}
.exec-list__box .exec-row:last-child { border-bottom: 0; }
.exec-list__box .exec-row:hover,
.exec-list__box .exec-row.is-focus { background: var(--bg-2); color: var(--ink); text-decoration: none; }
@media (max-width: 700px) {
    .exec-list__box .exec-row { grid-template-columns: 42px 1fr auto; }
    .exec-list__box .exec-row__rating,
    .exec-list__box .exec-row__status { display: none; }
}
.exec-list__box .exec-row__avatar {
    width: 42px;
    height: 42px;
    background: var(--bg-3, #edf2f7);
    display: grid;
    place-items: center;
}
.exec-list__box .exec-row__name { font-weight: 700; font-size: 15px; color: var(--ink); }
.exec-list__box .exec-row__meta { font-size: 12px; color: var(--muted); margin-top: 2px; }
.exec-list__box .exec-row__rating { font-size: 13px; color: var(--muted); }
.exec-list__box .exec-row__reviews { color: var(--muted); font-size: 11px; }
.exec-list__box .exec-row__status {
    font-size: 11px;
    color: var(--green);
    font-family: var(--font-mono);
    letter-spacing: 0.05em;
}
.exec-list__box .exec-row__arrow { color: var(--muted); }

/* ===== Telegram block ============================================== */
.tg-block {
    padding: 36px 0;
    background: var(--bg-2);
    border-top: 1px solid var(--line);
}
.tg-block__grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 32px;
    align-items: center;
}
@media (max-width: 800px) { .tg-block__grid { grid-template-columns: 1fr; } }
.tg-block__eyebrow {
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--ua-blue);
    letter-spacing: 0.08em;
    font-weight: 700;
}
.tg-block__title {
    font-family: var(--font-display);
    font-size: 28px;
    font-weight: 700;
    letter-spacing: -0.01em;
    margin: 10px 0 8px;
    line-height: 1.1;
    color: var(--ink);
}
.tg-block__lead {
    color: var(--muted);
    font-size: 14px;
    line-height: 1.55;
    margin: 0 0 12px;
    max-width: 560px;
}
.tg-block__row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.tg-block__btn {
    background: #0088cc;
    color: #fff;
    border: 0;
    padding: 12px 18px;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 13px;
    text-decoration: none;
    display: inline-block;
}
.tg-block__btn:hover { background: #0077b3; color: #fff; text-decoration: none; }
.tg-block__count {
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--muted);
}

.tg-chat {
    background: #fff;
    border: 1px solid var(--line);
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.tg-chat__msg {
    padding: 8px 11px;
    font-size: 12px;
    max-width: 85%;
    border-radius: 8px;
}
.tg-chat__msg--bot { align-self: flex-start; background: var(--bg-3, #edf2f7); color: var(--ink); }
.tg-chat__msg--me  { align-self: flex-end;   background: var(--ua-blue);        color: #fff; }

/* ===== Home FAQ ==================================================== */
.home-faq {
    padding: 36px 0;
    background: var(--bg-2);
    border-top: 1px solid var(--line);
}
.home-faq__wrap { max-width: 860px; }
.home-faq__box { background: #fff; border: 1px solid var(--line); }
.home-faq__item { border-bottom: 1px solid var(--line); }
.home-faq__item:last-child { border-bottom: 0; }
.home-faq__item summary {
    list-style: none;
    cursor: pointer;
    padding: 16px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--ink);
}
.home-faq__item summary::-webkit-details-marker { display: none; }
.home-faq__plus {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 700;
    color: var(--muted);
    transition: transform 0.2s, color 0.2s;
}
.home-faq__item[open] .home-faq__plus {
    transform: rotate(45deg);
    color: var(--ua-blue);
}
.home-faq__a {
    padding: 0 20px 18px;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.6;
}

/* ===== Partner row ================================================= */
.partners { padding: 36px 0; border-top: 1px solid var(--line); }
.partners__head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 14px;
    gap: 16px;
    flex-wrap: wrap;
}
.partners__eyebrow {
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--muted);
    letter-spacing: 0.08em;
}
.partners__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}
@media (max-width: 800px) { .partners__grid { grid-template-columns: 1fr; } }
.partner {
    border: 1px solid var(--line-strong);
    padding: 18px;
    background: #fff;
}
.partner__tag {
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--ua-blue);
    letter-spacing: 0.08em;
    font-weight: 700;
}
.partner__t {
    font-family: var(--font-display);
    font-size: 18px;
    font-weight: 700;
    margin: 8px 0 6px;
    letter-spacing: -0.01em;
    color: var(--ink);
}
.partner__d { font-size: 12px; color: var(--muted); line-height: 1.55; }
.partner__cta { margin-top: 12px; font-size: 12px; font-weight: 700; color: var(--ua-blue); }

/* ===== Final push ================================================== */
.final-push {
    padding: 60px 0;
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #0f2033 0%, #17384f 100%);
    color: #fff;
}
.final-push__wave {
    position: absolute;
    top: 0;
    right: -40px;
    width: 400px;
    height: 240px;
    opacity: 0.08;
    pointer-events: none;
}
.final-push__grid {
    position: relative;
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 40px;
    align-items: center;
}
@media (max-width: 900px) { .final-push__grid { grid-template-columns: 1fr; gap: 32px; } }

.final-push__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--ua-yellow);
    letter-spacing: 0.08em;
    font-weight: 700;
    background: rgba(255, 213, 0, 0.14);
    padding: 6px 12px;
    border-radius: 3px;
    border: 1px solid rgba(255, 213, 0, 0.35);
}
.final-push__title {
    font-family: var(--font-display);
    font-size: 42px;
    font-weight: 700;
    letter-spacing: -0.025em;
    margin: 14px 0;
    line-height: 1.02;
    color: #fff;
}
@media (max-width: 600px) { .final-push__title { font-size: 28px; } }
.final-push__accent { color: var(--ua-yellow); }
.final-push__lead {
    color: rgba(255, 255, 255, 0.78);
    font-size: 15px;
    line-height: 1.6;
    margin: 0 0 24px;
    max-width: 540px;
}
.final-push__ctas { display: flex; gap: 12px; flex-wrap: wrap; }
.final-push__cta {
    padding: 16px 28px;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 14px;
    border-radius: 10px;
    border: 0;
    text-decoration: none;
    display: inline-block;
}
.final-push__cta--primary {
    background: var(--ua-yellow);
    color: var(--ink);
    font-weight: 800;
    box-shadow: 0 2px 0 rgba(217, 179, 0, 0.8);
}
.final-push__cta--primary:hover { background: #ffdd33; color: var(--ink); text-decoration: none; }
.final-push__cta--ghost {
    background: transparent;
    color: #fff;
    border: 1.5px solid rgba(255, 255, 255, 0.4);
}
.final-push__cta--ghost:hover { background: rgba(255, 255, 255, 0.08); color: #fff; text-decoration: none; }
.final-push__fineprint {
    font-family: var(--font-mono);
    font-size: 11px;
    color: rgba(255, 255, 255, 0.5);
    margin-top: 16px;
    letter-spacing: 0.04em;
}

.final-push__counter {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 16px;
    padding: 28px;
    backdrop-filter: blur(8px);
}
.final-push__counter-eyebrow {
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--ua-yellow);
    letter-spacing: 0.08em;
    font-weight: 700;
    margin-bottom: 14px;
}
.final-push__counter-n {
    font-family: var(--font-display);
    font-size: 64px;
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1;
    color: var(--ua-yellow);
}
.final-push__counter-d {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.7);
    margin-top: 6px;
}
.final-push__counter-sep {
    height: 1px;
    background: rgba(255, 255, 255, 0.14);
    margin: 22px 0;
}
.final-push__counter-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.final-push__counter-v {
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 800;
    color: #fff;
}
.final-push__counter-l {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.6);
    margin-top: 2px;
}

/* Legacy bridge cards block is now a "others" section — smaller heading */
.reestr-bridge { padding: 40px 0 24px; }
.reestr-bridge__title {
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 20px;
    color: var(--ink);
}

/* =====================================================================
   Executor cabinet — 2-col (sidebar + main)
   ===================================================================== */
.exc { max-width: 1100px; margin: 28px auto 80px; padding: 0 24px; display: grid; grid-template-columns: 240px 1fr; gap: 28px; }
@media (max-width: 800px) { .exc { grid-template-columns: 1fr; } }
.exc__side { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 22px 18px; align-self: start; }
.exc__me { display: flex; gap: 12px; align-items: center; margin-bottom: 18px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.exc__me-photo, .exc__me-ph { width: 48px; height: 48px; border-radius: 50%; flex-shrink: 0; object-fit: cover; }
.exc__me-ph { background: var(--ua-blue); color: #fff; display: grid; place-items: center; font-family: var(--font-display); font-weight: 800; font-size: 18px; }
.exc__me-name { font-family: var(--font-display); font-size: 14px; font-weight: 700; line-height: 1.2; }
.exc__me-role { font-size: 11px; color: var(--muted); margin-top: 2px; }
.exc__nav { display: grid; gap: 2px; }
.exc__nav-link { display: block; padding: 9px 12px; border-radius: 8px; font-size: 13px; color: var(--dark); text-decoration: none; }
.exc__nav-link:hover { background: var(--bg-2); text-decoration: none; color: var(--ink); }
.exc__nav-link.is-active { background: var(--yellow-soft); color: var(--ink); font-weight: 700; }
.exc__logout { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.exc__logout button { width: 100%; background: #fff; border: 1px solid var(--line-strong); padding: 10px; border-radius: 8px; font-family: inherit; font-size: 13px; color: var(--muted); cursor: pointer; }
.exc__logout button:hover { color: var(--red); border-color: var(--red); }

.exc__main { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 26px 28px; min-width: 0; }
.exc__h { font-family: var(--font-display); font-size: 22px; font-weight: 700; letter-spacing: -0.01em; margin: 0 0 18px; }
.exc__muted { color: var(--muted); }
.exc__alert { padding: 10px 14px; border-radius: 8px; font-size: 13px; margin: 0 0 14px; }
.exc__alert--ok  { background: #e8f6ee; color: #1a4a2e; border: 1px solid #b8e0c7; }
.exc__alert--bad { background: #fdecea; color: #7a3a35; border: 1px solid #f5c4c0; }

.exc__empty { padding: 40px 20px; text-align: center; }
.exc__empty h2 { font-family: var(--font-display); font-size: 22px; margin: 0 0 14px; }
.exc__empty p { color: var(--muted); font-size: 14px; line-height: 1.6; margin: 0 auto 10px; max-width: 500px; }

/* --- KPIs ---  */
.exc__kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
@media (max-width: 900px) { .exc__kpis { grid-template-columns: 1fr 1fr; } }
.exc__kpi { background: var(--bg-2); border: 1px solid var(--line); border-radius: 10px; padding: 16px 18px; }
.exc__kpi-v { font-family: var(--font-display); font-size: 26px; font-weight: 800; letter-spacing: -0.02em; line-height: 1; color: var(--ink); }
.exc__kpi-l { font-size: 12px; color: var(--muted); margin-top: 6px; }

/* --- Reviews tab --- */
.exc__rev-list { display: grid; gap: 12px; }
.exc__rev { background: var(--bg-2); border: 1px solid var(--line); border-radius: 10px; padding: 16px 18px; }
.exc__rev-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.exc__rev-rating { color: var(--amber, #d9a800); margin-left: 8px; letter-spacing: 2px; }
.exc__rev-date { font-size: 11px; color: var(--muted); font-family: "JetBrains Mono", ui-monospace, monospace; }
.exc__rev-body { font-size: 14px; line-height: 1.5; white-space: pre-wrap; color: var(--ink); }
.exc__rev-reply { margin: 10px 0 0; padding: 10px 12px; background: #e8f6ee; border-radius: 8px; font-size: 13px; color: #1a4a2e; border-left: 3px solid var(--green); }
.exc__rev-reply--pending { background: #fff7dc; color: #7a5600; border-left-color: #d9a800; }
.exc__rev-reply-head { font-size: 11px; font-weight: 700; margin-bottom: 4px; }
.exc__rev-form { margin-top: 10px; display: flex; gap: 8px; align-items: flex-start; }
.exc__rev-form textarea { flex: 1; padding: 8px 12px; border: 1px solid var(--line-strong); border-radius: 8px; font-family: inherit; font-size: 13px; resize: vertical; }
.exc__rev-form button { background: var(--ink); color: #fff; padding: 8px 14px; border: 0; border-radius: 8px; font-family: inherit; font-size: 13px; font-weight: 600; cursor: pointer; white-space: nowrap; }

/* --- Leads tab --- */
.exc__tbl { width: 100%; border-collapse: collapse; font-size: 13px; }
.exc__tbl th { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--line-strong); font-size: 11px; color: var(--muted); text-transform: uppercase; letter-spacing: 0.06em; }
.exc__tbl td { padding: 10px; border-bottom: 1px solid var(--line); vertical-align: top; }

/* --- Profile form --- */
.exc__form label { display: block; margin-bottom: 14px; }
.exc__form label > span { display: block; font-size: 11px; font-weight: 600; color: var(--muted); margin-bottom: 6px; letter-spacing: 0.04em; text-transform: uppercase; }
.exc__form input, .exc__form textarea { width: 100%; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 8px; font-family: inherit; font-size: 14px; outline: none; }
.exc__form input[readonly] { background: var(--bg-2); color: var(--muted); }
.exc__form input:focus, .exc__form textarea:focus { border-color: var(--ua-blue); }
.exc__btn { display: inline-block; background: var(--ink); color: #fff; padding: 12px 20px; font-family: var(--font-display); font-weight: 700; font-size: 14px; border: 0; border-radius: 10px; cursor: pointer; text-decoration: none; }
.exc__btn:hover { background: #14293f; color: #fff; text-decoration: none; }

/* --- Subscription --- */
.exc__sub-status { padding: 14px 18px; background: var(--yellow-soft); border-radius: 10px; font-size: 14px; margin-bottom: 20px; }
.exc__plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
.exc__plan { background: var(--bg-2); border: 1px solid var(--line); border-radius: 10px; padding: 16px; }
.exc__plan-name { font-family: var(--font-display); font-weight: 700; font-size: 14px; margin-bottom: 4px; }
.exc__plan-price { font-family: var(--font-display); font-size: 28px; font-weight: 800; color: var(--ua-blue); }
.exc__plan-dur { font-size: 12px; color: var(--muted); margin-bottom: 10px; }
.exc__plan-desc { font-size: 12px; color: var(--muted); line-height: 1.5; margin: 0 0 14px; }

/* =====================================================================
   PRO executor hero (dark gold)
   ===================================================================== */
.pvpro-hero { position: relative; overflow: hidden; background: linear-gradient(180deg, #1a1410 0%, #231b13 100%); color: #fff; padding: 48px 0 56px; }
.pvpro-hero__glow { position: absolute; inset: 0; background: radial-gradient(circle at 85% 20%, rgba(252, 221, 51, 0.08) 0%, transparent 50%); pointer-events: none; }
.pvpro-hero__wrap { position: relative; }
.pvpro-hero__rec { display: inline-flex; align-items: center; gap: 10px; background: rgba(252, 221, 51, 0.12); border: 1px solid rgba(252, 221, 51, 0.35); padding: 8px 14px; border-radius: 100px; margin-bottom: 24px; color: var(--ua-yellow); font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.12em; font-weight: 700; }
.pvpro-hero__grid { display: grid; grid-template-columns: 1fr 380px; gap: 48px; align-items: start; }
@media (max-width: 900px) { .pvpro-hero__grid { grid-template-columns: 1fr; } }
.pvpro-hero__left { display: grid; grid-template-columns: 140px 1fr; gap: 28px; }
@media (max-width: 600px) { .pvpro-hero__left { grid-template-columns: 1fr; } }
.pvpro-hero__avatar { width: 140px; height: 140px; border-radius: 20px; background: linear-gradient(135deg, var(--ua-yellow) 0%, #e6c700 100%); color: #1a1410; display: grid; place-items: center; font-family: var(--font-display); font-size: 52px; font-weight: 800; position: relative; box-shadow: 0 8px 32px rgba(252, 221, 51, 0.25); overflow: hidden; }
.pvpro-hero__avatar img { width: 100%; height: 100%; object-fit: cover; }
.pvpro-hero__check { position: absolute; right: -6px; bottom: -6px; width: 40px; height: 40px; border-radius: 50%; background: var(--ua-blue); color: #fff; display: grid; place-items: center; border: 4px solid #1a1410; font-size: 18px; font-weight: 800; }
.pvpro-hero__badges { display: flex; gap: 8px; margin-bottom: 12px; flex-wrap: wrap; }
.pvpro-hero__badge { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; font-weight: 700; padding: 5px 11px; border-radius: 100px; }
.pvpro-hero__badge--pro    { background: var(--ua-yellow); color: #1a1410; }
.pvpro-hero__badge--online { background: rgba(110, 240, 168, 0.1); color: #6ef0a8; border: 1px solid rgba(110, 240, 168, 0.25); }
.pvpro-hero__badge--cert   { background: rgba(255, 255, 255, 0.05); color: #b8a88a; border: 1px solid rgba(255, 255, 255, 0.1); font-weight: 600; }
.pvpro-hero__name { font-family: var(--font-display); font-size: 44px; font-weight: 700; letter-spacing: -0.025em; margin: 0 0 8px; line-height: 1.05; color: #fff; }
@media (max-width: 700px) { .pvpro-hero__name { font-size: 28px; } }
.pvpro-hero__tagline { font-size: 17px; color: var(--ua-yellow); font-style: italic; font-family: var(--font-display); font-weight: 400; margin-bottom: 18px; }
.pvpro-hero__meta { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; flex-wrap: wrap; color: #d8cfbe; font-size: 13px; }
.pvpro-hero__stars { color: var(--ua-yellow); letter-spacing: 2px; margin-right: 6px; }
.pvpro-hero__rating b { font-family: var(--font-display); font-size: 20px; color: #fff; margin: 0 4px; }
.pvpro-hero__sep { width: 1px; height: 18px; background: rgba(255, 255, 255, 0.18); }
.pvpro-hero__ctas { display: flex; gap: 10px; flex-wrap: wrap; }
.pvpro-hero__cta { padding: 14px 22px; font-family: var(--font-display); font-weight: 700; font-size: 14px; border: 0; border-radius: 10px; text-decoration: none; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; }
.pvpro-hero__cta--primary { background: var(--ua-yellow); color: #1a1410; font-weight: 800; box-shadow: 0 4px 0 rgba(230, 199, 0, 0.8); }
.pvpro-hero__cta--primary:hover { background: #ffdd33; color: #1a1410; text-decoration: none; }
.pvpro-hero__cta--ghost { background: rgba(255, 255, 255, 0.08); color: #fff; border: 1px solid rgba(255, 255, 255, 0.2); font-weight: 600; }
.pvpro-hero__cta--ghost:hover { background: rgba(255, 255, 255, 0.15); color: #fff; text-decoration: none; }
.pvpro-hero__stats { background: rgba(255, 255, 255, 0.04); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 16px; padding: 24px; backdrop-filter: blur(8px); }
.pvpro-hero__stats-eyebrow { font-family: var(--font-mono); font-size: 10px; color: var(--ua-yellow); letter-spacing: 0.12em; font-weight: 800; margin-bottom: 18px; }
.pvpro-hero__stats-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.pvpro-hero__stat-n { font-family: var(--font-display); font-size: 32px; font-weight: 800; letter-spacing: -0.02em; line-height: 1; color: #fff; }
.pvpro-hero__stat-n--yellow { color: var(--ua-yellow); }
.pvpro-hero__stat-l { font-size: 11px; color: #b8a88a; margin-top: 6px; }

/* =====================================================================
   ЄРБ search results — рендериться зверху /reestr/ коли є query
   ===================================================================== */
.erb-results { background: linear-gradient(180deg, #f3f7fc 0%, #fff 100%); border-bottom: 1px solid var(--line); padding: 28px 0 36px; }
.erb-results__head { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: end; margin-bottom: 22px; }
@media (max-width: 800px) { .erb-results__head { grid-template-columns: 1fr; } }
.erb-results__eyebrow { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em; color: var(--ua-blue); font-weight: 700; margin-bottom: 10px; }
.erb-results__title { font-family: var(--font-display); font-size: 28px; font-weight: 700; letter-spacing: -0.02em; margin: 0 0 8px; line-height: 1.1; color: var(--ink); }
@media (max-width: 600px) { .erb-results__title { font-size: 22px; } }
.erb-results__meta { display: flex; gap: 14px; font-size: 13px; color: var(--muted); flex-wrap: wrap; align-items: center; }
.erb-results__meta b { color: var(--ink); }
.erb-results__actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.erb-results__actions .btn { white-space: nowrap; }
@media (max-width: 600px) {
    .erb-results__actions { width: 100%; }
    .erb-results__actions .btn { flex: 1; min-width: 0; justify-content: center; }
    .erb-results__actions [data-share-text] {
        overflow: hidden; text-overflow: ellipsis;
    }
}

.erb-results__alarm { background: #fff4b8; border: 1px solid #e6c400; border-left: 4px solid var(--ua-yellow); padding: 14px 18px; border-radius: 8px; margin-bottom: 22px; display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; }
@media (max-width: 600px) { .erb-results__alarm { grid-template-columns: 1fr; } }
.erb-results__alarm-icon { font-size: 22px; }
.erb-results__alarm b { font-family: var(--font-display); }

.erb-results__list { display: grid; gap: 12px; }
.erb-rec { background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--ua-blue); border-radius: 10px; padding: 18px 22px; }
.erb-rec__head { display: flex; gap: 10px; align-items: center; margin-bottom: 10px; flex-wrap: wrap; }
.erb-rec__tag { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em; background: rgba(0, 91, 187, 0.08); color: var(--ua-blue); padding: 3px 8px; border-radius: 3px; font-weight: 800; }
.erb-rec__num { font-family: var(--font-mono); font-size: 12px; color: var(--ink); font-weight: 700; }
.erb-rec__date { font-family: var(--font-mono); font-size: 11px; color: var(--muted); }
.erb-rec__body { display: grid; gap: 8px; font-size: 14px; }
.erb-rec__row { display: grid; grid-template-columns: 110px 1fr; gap: 12px; }
.erb-rec__l { color: var(--muted); font-size: 12px; padding-top: 1px; }
.erb-rec__v { color: var(--ink); }
.erb-rec__v small { display: inline; font-size: 12px; }

.erb-results__empty { background: linear-gradient(135deg, #178a4a 0%, #0e6035 100%); color: #fff; padding: 28px 32px; border-radius: 14px; display: grid; grid-template-columns: 56px 1fr; gap: 22px; align-items: center; }
.erb-results__empty--err { background: linear-gradient(135deg, #d8352a 0%, #a8211a 100%); }
.erb-results__empty-icon { width: 56px; height: 56px; border-radius: 50%; background: rgba(255, 255, 255, 0.16); display: grid; place-items: center; font-size: 28px; }
.erb-results__empty-h { font-family: var(--font-display); font-size: 22px; font-weight: 700; letter-spacing: -0.015em; margin: 0 0 6px; color: #fff; }
.erb-results__empty p { font-size: 14px; color: rgba(255, 255, 255, 0.9); line-height: 1.5; margin: 0; }
.erb-results__empty a { color: #fff; text-decoration: underline; }

.erb-results__pager { display: flex; gap: 10px; justify-content: center; align-items: center; margin-top: 20px; }

/* Monitor subscribe widget — поверх результатів пошуку ЄРБ */
.erb-mon { margin-top: 28px; background: #fff; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.erb-mon__head { background: linear-gradient(135deg, #0f2033, #14466b); color: #fff; padding: 22px 28px; }
.erb-mon__eyebrow { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em; color: var(--ua-yellow); font-weight: 700; margin-bottom: 8px; }
.erb-mon__title { font-family: var(--font-display); font-size: 22px; font-weight: 700; letter-spacing: -0.01em; margin-bottom: 6px; color: #fff; }
.erb-mon__lead { font-size: 13px; color: rgba(255, 255, 255, 0.85); line-height: 1.5; margin: 0; }
.erb-mon__lead b { color: var(--ua-yellow); }
.erb-mon__form { padding: 22px 28px; display: grid; grid-template-columns: 1fr 1fr auto; gap: 12px; align-items: end; }
@media (max-width: 700px) { .erb-mon__form { grid-template-columns: 1fr; } }
.erb-mon__field { display: block; }
.erb-mon__field > span { display: block; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em; color: var(--muted); font-weight: 700; margin-bottom: 6px; }
.erb-mon__field > input { width: 100%; padding: 11px 14px; border: 1.5px solid var(--line-strong); border-radius: 8px; font-family: inherit; font-size: 14px; outline: none; }
.erb-mon__field > input:focus { border-color: var(--ua-blue); }
.erb-mon__btn { background: var(--ink); color: var(--ua-yellow); border: 0; padding: 12px 22px; font-family: var(--font-display); font-weight: 800; font-size: 13px; border-radius: 8px; box-shadow: 0 2px 0 var(--ua-yellow); cursor: pointer; white-space: nowrap; }
.erb-mon__tos { grid-column: 1 / -1; font-size: 11px; color: var(--muted); margin-top: 4px; }
.erb-mon__tos a { color: var(--ua-blue); }
.erb-mon__done { padding: 22px 28px; display: grid; grid-template-columns: 48px 1fr; gap: 14px; align-items: center; background: #e8f6ee; border-top: 1px solid var(--line); font-size: 14px; line-height: 1.5; color: #1a4a2e; }
.erb-mon__done-icon { width: 48px; height: 48px; border-radius: 50%; background: var(--green); color: #fff; display: grid; place-items: center; font-size: 20px; }
.erb-mon__done a { color: var(--ua-blue); font-weight: 700; }


/* =====================================================================
   /pro/ — PRO pricing page
   ===================================================================== */
.pro-hero { background: linear-gradient(180deg, #fff4b8 0%, #ffe166 100%); padding: 48px 0 32px; }
.pro-hero__eyebrow { font-family: var(--font-mono); font-size: 12px; color: #5a4800; font-weight: 800; letter-spacing: 0.14em; margin-bottom: 12px; }
.pro-hero__title { font-family: var(--font-display); font-size: 44px; font-weight: 700; letter-spacing: -0.025em; margin: 0 0 14px; line-height: 1.08; color: #1a1410; }
@media (max-width: 700px) { .pro-hero__title { font-size: 28px; } }
.pro-hero__lead { font-size: 17px; color: #3a2f00; line-height: 1.55; margin: 0 0 20px; max-width: 640px; }
.pro-hero__me { display: grid; grid-template-columns: 56px 1fr; gap: 14px; padding: 16px 20px; background: #fff; border: 1px solid #e6c700; border-radius: 14px; max-width: 520px; align-items: center; }
.pro-hero__me-avatar { width: 56px; height: 56px; border-radius: 14px; background: #e7effc; color: var(--ua-blue); display: grid; place-items: center; font-family: var(--font-display); font-weight: 800; font-size: 22px; }
.pro-hero__me-name { font-family: var(--font-display); font-weight: 700; font-size: 16px; }
.pro-hero__me-meta { font-size: 12px; color: var(--muted); margin-top: 2px; }

.pro-plans { padding: 48px 0; background: #fff; }
.pro-plans__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
.pro-plan { background: #fff; border: 1px solid var(--line-strong); border-radius: 18px; padding: 30px 28px; position: relative; display: flex; flex-direction: column; }
.pro-plan--paid { border-color: #e6c700; }
.pro-plan--hit { background: linear-gradient(180deg, #1a1410 0%, #2a2018 100%); color: #fff; border: 2px solid var(--ua-yellow); box-shadow: 0 18px 50px rgba(252, 221, 51, 0.22); }
.pro-plan--hit .pro-plan__h, .pro-plan--hit .pro-plan__price { color: #fff; }
.pro-plan--hit .pro-plan__t, .pro-plan--hit .pro-plan__per { color: #b8a88a; }
.pro-plan__badge { position: absolute; top: -14px; left: 30px; background: var(--ua-yellow); color: #1a1410; font-family: var(--font-display); font-weight: 800; font-size: 11px; letter-spacing: 0.1em; padding: 7px 14px; border-radius: 100px; }
.pro-plan__h { font-family: var(--font-display); font-size: 26px; font-weight: 800; letter-spacing: -0.01em; margin-bottom: 6px; }
.pro-plan__t { font-size: 14px; color: var(--muted); margin-bottom: 20px; }
.pro-plan__price { font-family: var(--font-display); font-size: 48px; font-weight: 800; letter-spacing: -0.035em; line-height: 1; }
.pro-plan__per { font-size: 12px; font-weight: 700; color: var(--muted); margin: 4px 0 22px; min-height: 16px; }
.pro-plan__form { margin-bottom: 22px; }
.pro-plan__cta { display: block; text-align: center; width: 100%; padding: 16px 20px; font-family: var(--font-display); font-weight: 800; font-size: 14px; border: 0; border-radius: 10px; cursor: pointer; margin-bottom: 22px; text-decoration: none; }
.pro-plan__cta--buy { background: var(--ua-yellow); color: #1a1410; box-shadow: 0 4px 0 rgba(217, 179, 0, 0.85); }
.pro-plan__cta--buy:hover { background: #ffdd33; color: #1a1410; text-decoration: none; }
.pro-plan__cta--current { background: var(--bg-3); color: var(--muted); cursor: default; }
.pro-plan__features { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; font-size: 13px; line-height: 1.45; }
.pro-plan__features li { color: inherit; }
.pro-plan--hit .pro-plan__features li { color: #fff; }
.pro-plan__missing { color: #aebac6 !important; text-decoration: line-through; }
.pro-plan--hit .pro-plan__missing { color: #5a4c3a !important; }

.pro-faq { padding: 48px 0; background: var(--bg-2); }
.pro-faq__h { font-family: var(--font-display); font-size: 26px; font-weight: 700; margin: 0 0 20px; }
.pro-faq__item { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 0; margin-bottom: 8px; overflow: hidden; }
.pro-faq__item summary { padding: 14px 18px; cursor: pointer; font-weight: 700; font-size: 14px; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.pro-faq__item summary::-webkit-details-marker { display: none; }
.pro-faq__plus { width: 20px; height: 20px; display: inline-grid; place-items: center; color: var(--ua-blue); font-size: 16px; transition: transform 0.15s; }
.pro-faq__item[open] .pro-faq__plus { transform: rotate(45deg); }
.pro-faq__item p { margin: 0; padding: 0 18px 16px; font-size: 13.5px; color: var(--dark); line-height: 1.6; }

/* =====================================================================
   Executor login (magic-link)
   ===================================================================== */
.exec-login { max-width: 980px; margin: 40px auto 80px; padding: 0 24px; display: grid; grid-template-columns: 1fr 320px; gap: 36px; align-items: start; }
@media (max-width: 800px) { .exec-login { grid-template-columns: 1fr; } }
.exec-login__card { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 36px 40px; box-shadow: 0 8px 28px rgba(15, 32, 51, 0.06); }
.exec-login__eyebrow { font-family: var(--font-mono); font-size: 11px; color: var(--ua-blue); font-weight: 700; letter-spacing: 0.12em; margin-bottom: 14px; }
.exec-login__title { font-family: var(--font-display); font-size: 32px; font-weight: 700; letter-spacing: -0.02em; margin: 0 0 14px; line-height: 1.1; }
.exec-login__lead { color: var(--muted); font-size: 15px; line-height: 1.55; margin: 0 0 24px; }
.exec-login__err  { background: #fdecea; color: #7a3a35; border: 1px solid #f5c4c0; padding: 10px 14px; border-radius: 8px; font-size: 13px; margin: 0 0 16px; }
.exec-login__sent { background: #e8f6ee; color: #1a4a2e; border: 1px solid #b8e0c7; padding: 14px 18px; border-radius: 10px; font-size: 14px; margin: 0 0 14px; line-height: 1.55; }
.exec-login__form label { display: block; margin-bottom: 14px; }
.exec-login__form label > span { display: block; font-size: 11px; font-weight: 600; color: var(--muted); margin-bottom: 6px; letter-spacing: 0.04em; text-transform: uppercase; }
.exec-login__form input { width: 100%; padding: 12px 14px; border: 1px solid var(--line-strong); border-radius: 10px; font-family: inherit; font-size: 15px; outline: none; }
.exec-login__form input:focus { border-color: var(--ua-blue); }
.exec-login__btn { display: block; width: 100%; background: var(--ua-blue); color: #fff; padding: 13px 20px; font-family: var(--font-display); font-weight: 700; font-size: 14px; border: 0; border-radius: 10px; cursor: pointer; text-decoration: none; text-align: center; }
.exec-login__btn:hover { background: #00489a; color: #fff; text-decoration: none; }
.exec-login__btn--ghost { background: #fff; color: var(--ink); border: 1.5px solid var(--line-strong); }
.exec-login__btn--ghost:hover { background: var(--bg-2); color: var(--ink); }
.exec-login__note { font-size: 12px; color: var(--muted); margin: 18px 0 0; line-height: 1.5; }
.exec-login__aside { background: var(--yellow-soft); border-radius: 16px; padding: 24px 26px; }
.exec-login__aside h3 { font-family: var(--font-display); font-size: 16px; font-weight: 700; margin: 0 0 12px; }
.exec-login__aside ul { padding-left: 18px; margin: 0 0 14px; font-size: 13px; line-height: 1.6; color: #5a4800; }
.exec-login__aside li { margin: 4px 0; }
.exec-login__pricing { font-size: 13px; color: #5a4800; margin: 0; }
.exec-login__pricing a { color: var(--ua-blue); font-weight: 700; }

/* =====================================================================
   Interactive helper — 3-branch decision tree
   ===================================================================== */

/* HERO — dark gradient with Themis decor, 3 yellow choice cards */
.inth { position: relative; overflow: hidden; background: linear-gradient(135deg, #0f2033 0%, #17384f 100%); color: #fff; padding: 56px 0 48px; }
.inth__themis { position: absolute; right: -40px; top: 0; height: 100%; opacity: 0.12; pointer-events: none; }
.inth__wrap { position: relative; z-index: 1; }
.inth__eyebrow { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.1em; color: var(--ua-yellow); font-weight: 700; margin-bottom: 14px; }
.inth__title { font-family: var(--font-display); font-size: 48px; font-weight: 700; letter-spacing: -0.025em; margin: 0 0 16px; line-height: 1.05; max-width: 720px; color: #fff; }
@media (max-width: 700px) { .inth__title { font-size: 32px; } }
.inth__lead { font-size: 17px; color: rgba(255, 255, 255, 0.78); line-height: 1.55; margin: 0 0 36px; max-width: 580px; }
.inth__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; max-width: 900px; }
@media (max-width: 800px) { .inth__cards { grid-template-columns: 1fr; } }
.inth-card {
    background: var(--ua-yellow); color: var(--ink);
    padding: 28px 22px; border-radius: 14px;
    text-align: left; text-decoration: none;
    box-shadow: 0 4px 0 rgba(217, 179, 0, 0.6);
    transition: transform 0.15s, box-shadow 0.15s;
    display: block;
}
.inth-card:hover { transform: translateY(-2px); box-shadow: 0 6px 0 rgba(217, 179, 0, 0.6); color: var(--ink); text-decoration: none; }
.inth-card__icon { font-size: 28px; margin-bottom: 10px; }
.inth-card__label { font-family: var(--font-display); font-size: 20px; font-weight: 800; letter-spacing: -0.01em; margin-bottom: 6px; text-transform: uppercase; }
.inth-card__desc { font-size: 13px; color: #3a2f00; line-height: 1.4; font-weight: 500; }

/* BRANCH header row */
.intb { padding: 24px 0 12px; border-bottom: 1px solid var(--line); }
.intb__wrap { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.intb__back { display: inline-flex; align-items: center; gap: 6px; background: #fff; border: 1.5px solid var(--line-strong); padding: 9px 16px; border-radius: 100px; font-size: 13px; font-weight: 600; color: var(--ink); text-decoration: none; }
.intb__back:hover { border-color: var(--ua-blue); color: var(--ua-blue); text-decoration: none; }
.intb__chosen { display: flex; align-items: center; gap: 10px; }
.intb__icon { font-size: 24px; }
.intb__kicker { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.06em; color: var(--muted); font-weight: 700; }
.intb__label { font-family: var(--font-display); font-size: 18px; font-weight: 700; letter-spacing: -0.005em; }

/* Sub-questions list */
.intq { padding: 32px 0 48px; }
.intq__wrap { max-width: 820px; }
.intq__h { font-family: var(--font-display); font-size: 28px; font-weight: 700; letter-spacing: -0.02em; margin: 0 0 8px; line-height: 1.15; }
.intq__lead { color: var(--muted); font-size: 14px; margin-bottom: 24px; }
.intq__list { background: #fff; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.intq__item { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 20px 22px; border-bottom: 1px solid var(--line); text-decoration: none; color: var(--ink); font-size: 15px; font-weight: 600; line-height: 1.45; transition: background 0.15s; }
.intq__item:last-child { border-bottom: 0; }
.intq__item:hover { background: var(--bg-2); text-decoration: none; color: var(--ink); }
.intq__arrow { font-size: 18px; font-weight: 700; }

/* ANSWER — 2-col с promo-aside */
.inta { padding: 32px 0 48px; }
.inta__grid { display: grid; grid-template-columns: 1fr 320px; gap: 36px; align-items: start; }
@media (max-width: 900px) { .inta__grid { grid-template-columns: 1fr; } }
.inta__h { font-family: var(--font-display); font-size: 28px; font-weight: 700; letter-spacing: -0.02em; margin: 0 0 24px; line-height: 1.2; }
@media (max-width: 600px) { .inta__h { font-size: 22px; } }
.inta__card { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 28px; }
.inta__intro { font-size: 15px; line-height: 1.7; color: var(--dark); margin: 0 0 20px; }
.inta__kicker { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.06em; color: var(--muted); font-weight: 700; margin-bottom: 14px; }
.inta__steps { list-style: none; padding: 0; margin: 0 0 22px; display: grid; gap: 12px; }
.inta__steps li { display: grid; grid-template-columns: 32px 1fr; gap: 14px; align-items: start; font-size: 14px; line-height: 1.55; color: var(--dark); }
.inta__num { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-family: var(--font-display); font-size: 13px; font-weight: 800; }
.inta__doc { display: flex; align-items: center; gap: 12px; padding: 16px 18px; background: #fff4b8; border: 1px solid #e6c700; border-radius: 10px; font-size: 14px; font-weight: 600; color: var(--ink); text-decoration: none; }
.inta__doc:hover { background: #ffef8f; color: var(--ink); text-decoration: none; }
.inta__formats { font-size: 12px; color: var(--muted); font-family: var(--font-mono); letter-spacing: 0.04em; }
.inta__law { margin-top: 18px; padding: 12px 16px; background: var(--bg-2); border-radius: 8px; font-size: 12px; color: var(--muted); display: flex; align-items: center; gap: 8px; }
.inta__law b { color: var(--ink); }

.inta__cta { margin-top: 22px; background: linear-gradient(135deg, #fff4b8 0%, #ffe166 100%); border: 1px solid #e6c700; border-radius: 14px; padding: 26px; }
.inta__cta-t { font-family: var(--font-display); font-size: 20px; font-weight: 700; letter-spacing: -0.01em; margin-bottom: 6px; color: var(--ink); }
.inta__cta-lead { font-size: 13px; color: #5a4800; margin: 0 0 16px; line-height: 1.55; }
.inta__cta-btn { display: inline-block; background: var(--ink); color: #fff; padding: 13px 24px; font-family: var(--font-display); font-weight: 700; font-size: 14px; border-radius: 10px; text-decoration: none; }
.inta__cta-btn:hover { background: #14293f; color: #fff; text-decoration: none; }

.inta__others { margin-top: 32px; }
.inta__others h3 { font-family: var(--font-display); font-size: 18px; font-weight: 700; margin: 0 0 14px; }
.inta__others-list { display: grid; gap: 8px; }
.inta__others-item { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; background: #fff; border: 1px solid var(--line); border-radius: 10px; font-size: 14px; font-weight: 500; color: var(--ink); text-decoration: none; }
.inta__others-item:hover { border-color: var(--ua-blue); color: var(--ink); text-decoration: none; }

.inta__promo { position: sticky; top: 20px; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 22px; }
@media (max-width: 900px) { .inta__promo { position: static; } }
.inta__promo-eyebrow { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.12em; color: var(--ua-blue); font-weight: 700; margin-bottom: 10px; }
.inta__promo-t { font-family: var(--font-display); font-size: 16px; font-weight: 700; margin-bottom: 8px; line-height: 1.3; }
.inta__promo p { font-size: 13px; color: var(--muted); line-height: 1.55; margin: 0 0 14px; }
.inta__promo-btn { display: block; text-align: center; background: var(--ua-blue); color: #fff; padding: 11px 14px; font-family: var(--font-display); font-weight: 700; font-size: 13px; border-radius: 10px; text-decoration: none; }
.inta__promo-btn:hover { background: #00489a; color: #fff; text-decoration: none; }

/* =====================================================================
   Article (blog post) single page — porting borgu_redesign/article.jsx
   ===================================================================== */

/* reading progress bar — fixed on top */
.art-progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; background: transparent; z-index: 50; pointer-events: none; }
.art-progress__fill { height: 100%; width: 0; background: var(--ua-yellow); transition: width 0.1s; }

/* HERO */
.art-hero { padding: 48px 0 32px; background: linear-gradient(180deg, #f6f8fb 0%, #fff 100%); }
.art-hero__wrap { max-width: 820px; }
.art-hero__cat { display: inline-block; font-family: var(--font-mono); font-size: 11px; color: var(--ua-blue); font-weight: 700; letter-spacing: 0.12em; margin-bottom: 14px; }
.art-hero__title { font-family: var(--font-display); font-size: 40px; font-weight: 700; line-height: 1.1; letter-spacing: -0.022em; margin: 14px 0 18px; color: var(--ink); }
@media (max-width: 700px) { .art-hero__title { font-size: 28px; } }
.art-hero__lead { font-size: 18px; color: var(--muted); line-height: 1.55; margin: 0 0 28px; }
.art-hero__meta { display: flex; gap: 16px; align-items: center; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.art-hero__date { font-size: 12px; color: var(--muted); text-align: right; margin-left: auto; }

/* Author mini (in hero) */
.art-author-mini { display: flex; gap: 12px; align-items: center; }
.art-author-mini__avatar {
    width: 48px; height: 48px; border-radius: 50%;
    color: #fff; display: grid; place-items: center;
    font-family: var(--font-display); font-weight: 800; font-size: 15px;
    overflow: hidden; flex-shrink: 0;
}
.art-author-mini__avatar img { width: 100%; height: 100%; object-fit: cover; }
.art-author-mini__name { font-weight: 700; font-size: 14px; color: var(--ink); }
.art-author-mini__role { font-size: 12px; color: var(--muted); }

/* BODY + SIDEBAR GRID */
.art-body-section { padding: 24px 0 60px; background: #fff; }
.art-grid { display: grid; grid-template-columns: 1fr 260px; gap: 48px; max-width: 1100px; }
@media (max-width: 900px) { .art-grid { grid-template-columns: 1fr; gap: 24px; } }

.art-content { font-size: 16.5px; line-height: 1.72; color: var(--dark); max-width: 720px; min-width: 0; }
.art-cover { width: 100%; max-width: 720px; border-radius: 12px; margin-bottom: 28px; display: block; }

/* .art-prose — базове форматування HTML тіла статті */
.art-prose h2 { font-family: var(--font-display); font-size: 26px; font-weight: 700; letter-spacing: -0.015em; color: var(--ink); margin: 32px 0 14px; scroll-margin-top: 20px; }
.art-prose h3 { font-family: var(--font-display); font-size: 20px; font-weight: 700; color: var(--ink); margin: 24px 0 10px; scroll-margin-top: 20px; }
.art-prose p  { margin: 0 0 14px; }
.art-prose ul, .art-prose ol { margin: 0 0 16px; padding-left: 22px; }
.art-prose li { margin: 6px 0; }
.art-prose a { color: var(--ua-blue); text-decoration: underline; text-decoration-color: rgba(0, 91, 187, 0.4); text-underline-offset: 2px; }
.art-prose a:hover { text-decoration-color: var(--ua-blue); }
.art-prose blockquote { border-left: 3px solid var(--ua-yellow); padding: 4px 0 4px 16px; margin: 20px 0; color: var(--muted); font-style: italic; }
.art-prose img { max-width: 100%; height: auto; border-radius: 10px; margin: 18px 0; }
.art-prose table { border-collapse: collapse; font-size: 14px; width: 100%; margin: 16px 0; }
.art-prose th, .art-prose td { border: 1px solid var(--line); padding: 8px 12px; text-align: left; }

/* In-article CTA */
.art-cta { background: linear-gradient(135deg, #0f2033 0%, #14466b 100%); color: #fff; padding: 28px; border-radius: 14px; margin-top: 32px; }
.art-cta__eyebrow { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em; color: var(--ua-yellow); font-weight: 700; margin-bottom: 10px; }
.art-cta__t { font-family: var(--font-display); font-size: 20px; font-weight: 700; margin-bottom: 6px; line-height: 1.25; color: #fff; }
.art-cta__lead { font-size: 14px; color: #cfe0ee; margin: 0 0 16px; line-height: 1.5; }
.art-cta__btn { display: inline-block; background: var(--ua-yellow); color: #1a1410; padding: 12px 20px; font-family: var(--font-display); font-weight: 800; font-size: 13px; border-radius: 10px; box-shadow: 0 3px 0 rgba(217, 179, 0, 0.85); text-decoration: none; }
.art-cta__btn:hover { background: #ffdd33; color: #1a1410; text-decoration: none; }

.art-disclaimer { margin-top: 24px; padding: 14px 18px; background: var(--bg-2); border: 1px solid var(--line); border-radius: 10px; font-size: 14px; color: var(--dark); }
.art-disclaimer a { color: var(--ua-blue); font-weight: 600; }

/* SIDEBAR */
.art-side { position: sticky; top: 20px; align-self: start; }
@media (max-width: 900px) { .art-side { position: static; } }
.art-toc { background: var(--bg-2); border: 1px solid var(--line); border-radius: 12px; padding: 18px; margin-bottom: 16px; }
.art-toc__head { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.12em; color: var(--muted); font-weight: 700; margin-bottom: 12px; }
.art-toc__links { display: grid; gap: 2px; }
.art-toc__link {
    display: block; padding: 7px 10px; font-size: 13px; line-height: 1.4;
    color: var(--muted); font-weight: 500; text-decoration: none;
    border-left: 3px solid transparent;
    margin-left: -18px; padding-left: 15px;
    transition: color 0.15s, border-color 0.15s, font-weight 0.15s;
}
.art-toc__link--l3 { padding-left: 26px; font-size: 12px; }
.art-toc__link--l4 { padding-left: 40px; font-size: 11px; }
.art-toc__link--l5 { padding-left: 54px; font-size: 11px; opacity: 0.85; }
.art-toc__link:hover { color: var(--ink); text-decoration: none; }
.art-toc__link.is-active { color: var(--ink); font-weight: 700; border-left-color: var(--ua-yellow); }
.art-muted { color: var(--muted); font-size: 12px; margin: 0; }

.art-pdf-btn {
    width: 100%; background: #fff; border: 1.5px solid var(--ink); color: var(--ink);
    padding: 13px 16px; font-family: var(--font-display); font-weight: 700; font-size: 13px;
    border-radius: 10px; cursor: pointer;
    display: flex; align-items: center; justify-content: center; gap: 8px; margin-bottom: 10px;
}
.art-pdf-btn:hover { background: var(--bg-2); }

.art-help { background: var(--yellow-soft); border: 1px solid #e5c700; border-radius: 12px; padding: 16px; }
.art-help__t { font-family: var(--font-display); font-size: 13px; font-weight: 700; margin-bottom: 6px; }
.art-help p { font-size: 12px; color: #5a4800; line-height: 1.5; margin: 0 0 12px; }
.art-help__btn { display: block; text-align: center; background: var(--ink); color: #fff; padding: 10px 14px; font-family: var(--font-display); font-weight: 700; font-size: 12px; border-radius: 8px; text-decoration: none; }
.art-help__btn:hover { background: #14293f; color: #fff; text-decoration: none; }

/* AUTHOR CARD */
.art-author-section { padding: 40px 0; background: var(--bg-2); border-top: 1px solid var(--line); }
.art-author-wrap { max-width: 820px; }
.art-author {
    background: #fff; border: 1px solid var(--line); border-radius: 14px;
    padding: 22px 24px; display: grid; grid-template-columns: auto 1fr auto; gap: 20px; align-items: center;
}
@media (max-width: 600px) { .art-author { grid-template-columns: auto 1fr; } .art-author__btn { grid-column: 1 / -1; } }
.art-author__avatar {
    width: 72px; height: 72px; border-radius: 50%;
    color: #fff; display: grid; place-items: center;
    font-family: var(--font-display); font-weight: 800; font-size: 22px;
    overflow: hidden;
}
.art-author__avatar img { width: 100%; height: 100%; object-fit: cover; }
.art-author__name { font-family: var(--font-display); font-size: 18px; font-weight: 700; margin-bottom: 4px; }
.art-author__role { font-size: 13px; color: var(--muted); }
.art-author__btn { background: var(--ua-yellow); color: #1a1410; padding: 12px 20px; font-family: var(--font-display); font-weight: 700; font-size: 13px; border-radius: 10px; box-shadow: 0 3px 0 rgba(217, 179, 0, 0.8); text-decoration: none; white-space: nowrap; }
.art-author__btn:hover { background: #ffdd33; color: #1a1410; text-decoration: none; }

/* RELATED */
.art-related { padding: 48px 0 64px; background: #fff; }
.art-related__h { font-family: var(--font-display); font-size: 24px; font-weight: 700; letter-spacing: -0.015em; margin: 0 0 20px; }
.art-related__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 900px) { .art-related__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .art-related__grid { grid-template-columns: 1fr; } }
.art-related__card { background: #fff; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; display: block; text-decoration: none; color: inherit; transition: transform 0.15s, border-color 0.15s; }
.art-related__card:hover { transform: translateY(-2px); border-color: var(--ua-blue); text-decoration: none; }
.art-related__cover { height: 140px; background-size: cover; background-position: center; }
.art-related__cat { display: inline-block; font-family: var(--font-mono); font-size: 10px; color: var(--ua-blue); font-weight: 700; letter-spacing: 0.12em; padding: 14px 20px 0; }
.art-related__title { font-family: var(--font-display); font-size: 15px; font-weight: 700; line-height: 1.3; padding: 8px 20px 18px; color: var(--ink); }

/* Print — сайдбар прибираємо, фон білий */
@media print {
    .art-progress, .art-side, .art-related, .art-author-section, .art-cta, .art-disclaimer,
    .site-header, .site-footer, .top-strip { display: none !important; }
    .art-grid { display: block; }
    .art-content { max-width: 100%; }
}

/* =====================================================================
   /docs/ — конструктор документів hub
   ===================================================================== */
.doc-hero {
    background: linear-gradient(180deg, #0f2033 0%, #14466b 100%);
    color: #fff;
    padding: 48px 0 40px;
}
.doc-hero__top { max-width: 760px; }
.doc-hero__eyebrow {
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.14em;
    color: var(--ua-yellow);
    font-weight: 700;
    margin-bottom: 14px;
}
.doc-hero__title {
    font-family: var(--font-display);
    font-size: 44px;
    font-weight: 700;
    letter-spacing: -0.022em;
    margin: 0 0 14px;
    line-height: 1.08;
    color: #fff;
}
@media (max-width: 600px) { .doc-hero__title { font-size: 30px; } }
.doc-hero__lead { font-size: 17px; color: #cfe0ee; line-height: 1.55; margin: 0; }

.doc-hero__stats { display: flex; gap: 36px; margin-top: 28px; flex-wrap: wrap; }
.doc-hero__stat-n {
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 800;
    color: var(--ua-yellow);
    letter-spacing: -0.01em;
}
.doc-hero__stat-l { font-size: 12px; color: #9fb5c9; margin-top: 4px; }

/* ----- sticky filters ----- */
.doc-filters {
    padding: 24px 0;
    background: #fff;
    border-bottom: 1px solid var(--line);
    position: sticky;
    top: 0;
    z-index: 5;
}
.doc-filters .wrap { display: flex; gap: 8px; flex-wrap: wrap; }
.doc-filter {
    background: #fff;
    color: var(--dark);
    border: 1px solid var(--line-strong);
    padding: 9px 14px;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 12px;
    border-radius: 100px;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.doc-filter:hover { border-color: var(--ua-blue); color: var(--ua-blue); }
.doc-filter.is-active {
    background: var(--ink);
    color: #fff;
    border-color: var(--ink);
}

/* ----- grid section ----- */
.doc-grid-section { padding: 36px 0 60px; background: var(--bg-2); }
.doc-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
@media (max-width: 900px) { .doc-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .doc-grid { grid-template-columns: 1fr; } }
.doc-card[hidden] { display: none; }

.doc-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 24px;
    position: relative;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: var(--ink);
    transition: transform 0.15s, box-shadow 0.15s, border-color 0.15s;
}
.doc-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(15, 32, 51, 0.08);
    border-color: var(--ua-blue);
    color: var(--ink);
    text-decoration: none;
}
.doc-card--soon {
    opacity: 0.65;
    pointer-events: none;
}
.doc-card--soon:hover { transform: none; box-shadow: none; border-color: var(--line); }

.doc-card__badge {
    position: absolute;
    top: 14px;
    right: 14px;
    font-family: var(--font-mono);
    font-size: 9px;
    background: var(--yellow-soft);
    color: #5a4800;
    padding: 3px 8px;
    border-radius: 4px;
    font-weight: 800;
    letter-spacing: 0.08em;
}
.doc-card__badge--soon { background: #eef3f8; color: var(--muted); }

.doc-card__icon { font-size: 32px; margin-bottom: 12px; line-height: 1; }
.doc-card__cat {
    font-family: var(--font-mono);
    font-size: 10px;
    color: var(--ua-blue);
    font-weight: 700;
    letter-spacing: 0.12em;
}
.doc-card__title {
    font-family: var(--font-display);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.01em;
    margin: 8px 0;
    color: var(--ink);
}
.doc-card__desc {
    font-size: 13px;
    color: var(--muted);
    line-height: 1.5;
    margin: 0 0 14px;
    flex: 1;
}
.doc-card__foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 12px;
    border-top: 1px dashed var(--line);
}
.doc-card__time {
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--muted);
}
.doc-card__cta {
    font-family: var(--font-display);
    font-size: 12px;
    font-weight: 700;
    color: var(--ua-blue);
}

/* ----- how it works ----- */
.doc-how { padding: 48px 0 64px; background: #fff; }
.doc-how__title {
    font-family: var(--font-display);
    font-size: 28px;
    font-weight: 700;
    letter-spacing: -0.015em;
    margin: 0 0 28px;
    text-align: center;
    color: var(--ink);
}
.doc-how__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    max-width: 960px;
    margin: 0 auto;
}
@media (max-width: 800px) { .doc-how__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 500px) { .doc-how__grid { grid-template-columns: 1fr; } }
.doc-how__step { text-align: center; }
.doc-how__n {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--ua-yellow);
    color: #1a1410;
    display: grid;
    place-items: center;
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 800;
    margin: 0 auto 14px;
}
.doc-how__t {
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 6px;
    color: var(--ink);
}
.doc-how__d { font-size: 13px; color: var(--muted); line-height: 1.5; }

/* =====================================================================
   /docs/{slug}/ — detail сторінка шаблона
   ===================================================================== */
.doc-tpl-hero { padding: 40px 0 48px; background: linear-gradient(180deg, var(--bg-2) 0%, #fff 100%); }
.doc-tpl-hero__grid {
    display: grid;
    grid-template-columns: 1.2fr 0.9fr;
    gap: 48px;
    align-items: start;
}
@media (max-width: 900px) { .doc-tpl-hero__grid { grid-template-columns: 1fr; gap: 28px; } }
.doc-tpl-hero__eyebrow {
    font-family: var(--font-mono);
    font-size: 11px;
    color: var(--ua-blue);
    font-weight: 700;
    letter-spacing: 0.14em;
}
.doc-tpl-hero__title {
    font-family: var(--font-display);
    font-size: 40px;
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -0.022em;
    margin: 14px 0;
    color: var(--ink);
}
@media (max-width: 600px) { .doc-tpl-hero__title { font-size: 28px; } }
.doc-tpl-hero__lead {
    font-size: 17px;
    color: var(--muted);
    line-height: 1.55;
    margin: 0 0 24px;
    max-width: 560px;
}
.doc-tpl-hero__stats {
    display: flex;
    gap: 28px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}
.doc-tpl-hero__stat-n {
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 800;
    color: var(--ua-blue);
    letter-spacing: -0.01em;
}
.doc-tpl-hero__stat-l { font-size: 12px; color: var(--muted); max-width: 160px; line-height: 1.4; margin-top: 2px; }
.doc-tpl-hero__legal {
    font-size: 13px;
    color: var(--muted);
    padding: 10px 14px;
    background: var(--yellow-soft);
    border-radius: 8px;
    display: inline-block;
}

/* ---- price card ---- */
.doc-price {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 28px;
    box-shadow: 0 8px 30px rgba(15, 32, 51, 0.06);
    position: sticky;
    top: 20px;
}
.doc-price__form { display: grid; gap: 10px; margin-bottom: 18px; }
.doc-price__plan {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border: 2px solid var(--line-strong);
    background: #fff;
    border-radius: 12px;
    cursor: pointer;
    position: relative;
}
.doc-price__plan input[type="radio"] { accent-color: var(--ua-blue); width: 18px; height: 18px; flex-shrink: 0; }
.doc-price__plan:has(input:checked) {
    border-color: var(--ua-blue);
    background: rgba(0, 91, 187, 0.04);
}
.doc-price__plan-body { flex: 1; display: grid; gap: 2px; }
.doc-price__plan-t { font-size: 12px; color: var(--muted); font-weight: 600; }
.doc-price__plan-p {
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 800;
    color: var(--ink);
    letter-spacing: -0.01em;
}
.doc-price__plan-hint { font-size: 11px; color: var(--muted); margin-top: 2px; }
.doc-price__plan-badge {
    position: absolute;
    top: -10px;
    left: 16px;
    font-family: var(--font-mono);
    font-size: 9px;
    background: var(--ua-yellow);
    color: #1a1410;
    padding: 3px 8px;
    border-radius: 4px;
    font-weight: 800;
    letter-spacing: 0.08em;
}
.doc-price__cta {
    width: 100%;
    background: var(--ua-yellow);
    color: #1a1410;
    border: 0;
    padding: 15px 20px;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 14px;
    border-radius: 12px;
    cursor: pointer;
    box-shadow: 0 4px 0 rgba(217, 179, 0, 0.8);
    margin-top: 8px;
}
.doc-price__cta:hover { background: #ffdd33; }
.doc-price__cta[disabled] { background: var(--bg-3); color: var(--muted); box-shadow: none; cursor: not-allowed; }
.doc-price__notice {
    font-size: 11.5px;
    color: var(--muted);
    text-align: center;
    line-height: 1.5;
    margin: 12px 0 0;
}
.doc-price__features {
    list-style: none;
    padding: 16px 0 0;
    margin: 18px 0 0;
    border-top: 1px solid var(--line);
    display: grid;
    gap: 8px;
    font-size: 12.5px;
    color: var(--dark);
}
.doc-price__features li::first-letter { color: var(--green); font-weight: 800; }

/* ---- document preview ---- */
.doc-preview { padding: 48px 0; background: #fff; }
.doc-preview__head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 20px;
    flex-wrap: wrap;
    gap: 12px;
}
.doc-preview__eyebrow {
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.14em;
    color: var(--ua-blue);
    font-weight: 700;
    margin-bottom: 8px;
}
.doc-preview__title {
    font-family: var(--font-display);
    font-size: 26px;
    font-weight: 700;
    letter-spacing: -0.015em;
    margin: 0;
    color: var(--ink);
}
.doc-preview__formats { display: flex; gap: 6px; }
.doc-preview__formats span {
    font-family: var(--font-mono);
    font-size: 10px;
    background: var(--bg-3);
    padding: 5px 10px;
    border-radius: 4px;
    font-weight: 700;
    color: var(--dark);
    letter-spacing: 0.08em;
}

.doc-preview__frame {
    position: relative;
    background: var(--bg-2);
    padding: 40px 20px;
    border-radius: 16px;
    border: 1px solid var(--line);
}
.doc-preview__paper {
    max-width: 640px;
    margin: 0 auto;
    background: #fff;
    box-shadow: 0 10px 40px rgba(15, 32, 51, 0.08), 0 2px 8px rgba(15, 32, 51, 0.04);
    padding: 54px 68px 120px;
    border-radius: 2px;
    position: relative;
    min-height: 520px;
    font-family: "Times New Roman", serif;
    font-size: 13px;
    color: #1a1410;
    line-height: 1.55;
}
.doc-preview__paper-head { text-align: right; margin-bottom: 20px; }
.doc-preview__paper-heading {
    text-align: center;
    font-weight: 800;
    font-size: 15px;
    margin: 24px 0 20px;
    letter-spacing: 0.02em;
}
.doc-preview__paper p { margin: 12px 0; text-align: justify; }
.doc-preview__fade {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 240px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.7) 30%, #fff 70%);
    backdrop-filter: blur(2px);
    border-radius: 0 0 2px 2px;
    pointer-events: none;
}

.doc-preview__cta {
    max-width: 640px;
    margin: -40px auto 0;
    position: relative;
    z-index: 5;
    background: linear-gradient(135deg, #0f2033 0%, #14466b 100%);
    color: #fff;
    border-radius: 14px;
    padding: 24px 28px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    box-shadow: 0 14px 40px rgba(15, 32, 51, 0.3);
    flex-wrap: wrap;
}
.doc-preview__cta-t {
    font-family: var(--font-display);
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -0.01em;
    margin-bottom: 4px;
    color: #fff;
}
.doc-preview__cta-s { font-size: 13px; color: #cfe0ee; }
.doc-preview__cta-btn {
    background: var(--ua-yellow);
    color: #1a1410;
    border: 0;
    padding: 13px 22px;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 13px;
    border-radius: 10px;
    box-shadow: 0 3px 0 rgba(217, 179, 0, 0.8);
    white-space: nowrap;
    text-decoration: none;
    display: inline-block;
}
.doc-preview__cta-btn:hover { background: #ffdd33; color: #1a1410; text-decoration: none; }

/* ---- when to use + features ---- */
.doc-when { padding: 56px 0; background: var(--bg-2); }
.doc-when__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
}
@media (max-width: 800px) { .doc-when__grid { grid-template-columns: 1fr; } }
.doc-when__col {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 28px;
}
.doc-when__eyebrow {
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.14em;
    font-weight: 700;
    margin-bottom: 12px;
}
.doc-when__eyebrow--red   { color: var(--red); }
.doc-when__eyebrow--green { color: var(--green); }
.doc-when__h {
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -0.015em;
    margin: 0 0 18px;
    color: var(--ink);
}
.doc-when__list { list-style: none; padding: 0; margin: 0; }
.doc-when__list li {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px dashed var(--line);
    align-items: flex-start;
    font-size: 14px;
    line-height: 1.5;
    color: var(--dark);
}
.doc-when__list li:last-child { border-bottom: 0; }
.doc-when__mark {
    width: 22px;
    height: 22px;
    border-radius: 6px;
    display: grid;
    place-items: center;
    font-size: 12px;
    font-weight: 800;
    margin-top: 1px;
}
.doc-when__mark--warn { background: var(--yellow-soft); color: #5a4800; }
.doc-when__mark--ok   { background: rgba(23, 138, 74, 0.12); color: var(--green); }

/* ---- free description_html block ---- */
.doc-body { padding: 40px 0; background: #fff; }
.doc-body__wrap { max-width: 780px; }
.doc-body__wrap h2 { margin: 0 0 14px; font-family: var(--font-display); }
.doc-body__html { font-size: 15px; line-height: 1.7; color: var(--dark); }
.doc-body__html p { margin: 0 0 12px; }

/* ---- flow ---- */
.doc-flow { padding: 56px 0; background: #fff; }
.doc-flow__title {
    font-family: var(--font-display);
    font-size: 26px;
    font-weight: 700;
    letter-spacing: -0.015em;
    text-align: center;
    margin: 0 0 28px;
    color: var(--ink);
}
.doc-flow__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    position: relative;
    max-width: 960px;
    margin: 0 auto;
}
@media (max-width: 800px) { .doc-flow__grid { grid-template-columns: 1fr 1fr; } }
.doc-flow__line {
    position: absolute;
    left: 12.5%;
    right: 12.5%;
    top: 32px;
    height: 2px;
    background: var(--line);
    z-index: 0;
}
@media (max-width: 800px) { .doc-flow__line { display: none; } }
.doc-flow__step { text-align: center; position: relative; z-index: 1; }
.doc-flow__n {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid var(--line-strong);
    color: var(--ink);
    display: grid;
    place-items: center;
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 800;
    margin: 0 auto 12px;
}
.doc-flow__step.is-current .doc-flow__n {
    background: var(--ua-yellow);
    border-color: var(--ua-yellow);
}
.doc-flow__t {
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 4px;
    color: var(--ink);
}
.doc-flow__d { font-size: 12px; color: var(--muted); }
.doc-flow__cta { text-align: center; margin-top: 36px; }
.doc-flow__cta .btn { padding: 15px 34px; font-size: 14px; }

/* ---- FAQ ---- */
.doc-faq { padding: 56px 0; background: var(--bg-2); }
.doc-faq__wrap { max-width: 760px; }
.doc-faq__title {
    font-family: var(--font-display);
    font-size: 26px;
    font-weight: 700;
    letter-spacing: -0.015em;
    margin: 0 0 24px;
    text-align: center;
    color: var(--ink);
}
.doc-faq__list { display: grid; gap: 10px; }
.doc-faq__item {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 0;
    overflow: hidden;
}
.doc-faq__item[open] { border-color: var(--ua-blue); }
.doc-faq__item summary {
    padding: 16px 18px;
    font-family: var(--font-display);
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    color: var(--ink);
}
.doc-faq__item summary::-webkit-details-marker { display: none; }
.doc-faq__plus {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #eef3f8;
    color: var(--ua-blue);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 700;
    flex-shrink: 0;
    transition: transform 0.2s, background 0.2s;
}
.doc-faq__item[open] .doc-faq__plus {
    transform: rotate(45deg);
    background: var(--ua-blue);
    color: #fff;
}
.doc-faq__a {
    padding: 0 18px 18px;
    font-size: 13.5px;
    color: var(--dark);
    line-height: 1.6;
    margin: 0;
}

/* =====================================================================
   /docs/{slug}/wizard/ — wizard-сторінка заповнення
   ===================================================================== */
.doc-wiz-progress {
    background: #fff;
    border-bottom: 1px solid var(--line);
    position: sticky;
    top: 0;
    z-index: 20;
}
.doc-wiz-progress__row {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 14px 24px;
}
.doc-wiz-progress__meta {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    color: var(--muted);
    margin-bottom: 6px;
    font-family: var(--font-mono);
    letter-spacing: 0.08em;
}
.doc-wiz-progress__meta span:first-child { font-weight: 700; color: var(--ink); }
.doc-wiz-progress__bar {
    height: 6px;
    background: var(--bg-3);
    border-radius: 100px;
    overflow: hidden;
}
.doc-wiz-progress__fill {
    height: 100%;
    background: linear-gradient(90deg, var(--ua-blue), var(--ua-yellow));
    transition: width 0.3s;
}
.doc-wiz-progress__price { font-size: 12px; color: var(--muted); white-space: nowrap; }
.doc-wiz-progress__price b { color: var(--ink); }
@media (max-width: 700px) { .doc-wiz-progress__price { display: none; } }

/* ---- 3-column grid ---- */
.doc-wiz {
    display: grid;
    grid-template-columns: 220px 1fr 320px;
    gap: 40px;
    align-items: start;
    padding: 40px 24px;
}
@media (max-width: 1100px) {
    .doc-wiz { grid-template-columns: 200px 1fr; }
    .doc-wiz__preview-side { display: none; }
}
@media (max-width: 800px) {
    .doc-wiz { grid-template-columns: 1fr; gap: 24px; padding: 24px 16px; }
    .doc-wiz__side { position: static; }
}

/* ---- left sidebar ---- */
.doc-wiz__side { position: sticky; top: 100px; }
.doc-wiz__side-eyebrow {
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.14em;
    color: var(--muted);
    font-weight: 700;
    margin-bottom: 14px;
}
.doc-wiz__steps { list-style: none; padding: 0; margin: 0; display: grid; gap: 2px; }
.doc-wiz__step {
    width: 100%;
    text-align: left;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: center;
    padding: 12px 10px;
    border-radius: 8px;
    background: transparent;
    border: 0;
    cursor: pointer;
    font-family: inherit;
    opacity: 0.55;
    transition: opacity 0.15s, background 0.15s;
}
.doc-wiz__step.is-active { background: var(--yellow-soft); opacity: 1; }
.doc-wiz__step.is-done   { opacity: 1; }
.doc-wiz__step-n {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--bg-3);
    color: var(--muted);
    display: grid;
    place-items: center;
    font-size: 12px;
    font-weight: 800;
    font-family: var(--font-display);
}
.doc-wiz__step.is-active .doc-wiz__step-n { background: var(--ua-blue); color: #fff; }
.doc-wiz__step.is-done   .doc-wiz__step-n { background: var(--green);   color: #fff; }
.doc-wiz__step-t { font-size: 13px; font-weight: 600; color: var(--ink); line-height: 1.2; }
.doc-wiz__step.is-active .doc-wiz__step-t { font-weight: 700; }

.doc-wiz__help {
    margin-top: 28px;
    padding: 14px;
    background: var(--bg-2);
    border-radius: 10px;
    border: 1px dashed var(--line-strong);
}
.doc-wiz__help-eyebrow {
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.12em;
    color: var(--ua-blue);
    font-weight: 700;
    margin-bottom: 6px;
}
.doc-wiz__help-t { font-size: 12px; color: var(--dark); line-height: 1.5; margin-bottom: 10px; }
.doc-wiz__help-cta { font-size: 12px; font-weight: 700; color: var(--ua-blue); text-decoration: none; }

/* ---- main column ---- */
.doc-wiz__main { background: #fff; }
.doc-wiz__panel { display: none; }
.doc-wiz__panel.is-visible { display: block; }
.doc-wiz__panel-t {
    font-family: var(--font-display);
    font-size: 32px;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.1;
    margin: 0 0 10px;
    color: var(--ink);
}
@media (max-width: 600px) { .doc-wiz__panel-t { font-size: 24px; } }
.doc-wiz__panel-help { font-size: 15px; color: var(--muted); margin: 0 0 32px; line-height: 1.55; }

.doc-wiz__fields { display: grid; gap: 22px; }
.doc-wiz__field { display: grid; gap: 8px; }
.doc-wiz__label {
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.08em;
    color: var(--dark);
    font-weight: 700;
}
.doc-wiz__field input,
.doc-wiz__field textarea {
    padding: 14px 16px;
    border: 1.5px solid var(--line-strong);
    border-radius: 10px;
    font-family: inherit;
    font-size: 15px;
    outline: none;
    color: var(--ink);
    background: #fff;
    resize: vertical;
    line-height: 1.5;
}
.doc-wiz__field input:focus,
.doc-wiz__field textarea:focus { border-color: var(--ua-blue); }
.doc-wiz__hint { font-size: 12px; color: var(--muted); font-style: italic; }

.doc-wiz__multi-note {
    font-size: 12.5px;
    color: var(--ua-blue);
    font-weight: 600;
    margin-bottom: 14px;
    background: rgba(0, 91, 187, 0.06);
    padding: 10px 14px;
    border-radius: 8px;
}
.doc-wiz__opts { display: grid; gap: 10px; }
.doc-wiz__opt {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 14px;
    align-items: flex-start;
    border: 1.5px solid var(--line-strong);
    background: #fff;
    border-radius: 12px;
    padding: 16px 18px;
    cursor: pointer;
    transition: all 0.15s;
}
/* Checked-state — і через :has() (новi браузери), і через .is-checked
   (JS-фолбек у doc-wizard.js: syncCheckedClasses) для старих браузерів. */
.doc-wiz__opt:has(input:checked),
.doc-wiz__opt.is-checked {
    border-color: var(--ua-blue);
    background: rgba(0, 91, 187, 0.04);
}
.doc-wiz__opt input { display: none; }
.doc-wiz__opt-box {
    width: 22px;
    height: 22px;
    border-radius: 5px;
    border: 2px solid var(--line-strong);
    background: #fff;
    display: grid;
    place-items: center;
    font-size: 13px;
    font-weight: 800;
    margin-top: 2px;
    color: transparent;
}
.doc-wiz__opt:has(input:checked) .doc-wiz__opt-box,
.doc-wiz__opt.is-checked .doc-wiz__opt-box {
    background: var(--ua-blue);
    border-color: var(--ua-blue);
    color: #fff;
}
.doc-wiz__opt:has(input:checked) .doc-wiz__opt-box::after,
.doc-wiz__opt.is-checked .doc-wiz__opt-box::after { content: "✓"; }
.doc-wiz__opt-body { display: grid; gap: 4px; }
.doc-wiz__opt-t { font-size: 15px; font-weight: 700; color: var(--ink); line-height: 1.3; }
.doc-wiz__opt-d { font-size: 13px; color: var(--muted); line-height: 1.5; }

/* ---- review step ---- */
.doc-wiz__review { display: grid; gap: 14px; }
.doc-wiz__review-card {
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 16px 18px;
    background: var(--bg-2);
}
.doc-wiz__review-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}
.doc-wiz__review-t {
    font-family: var(--font-display);
    font-size: 14px;
    font-weight: 700;
    color: var(--ink);
}
.doc-wiz__review-edit {
    background: transparent;
    border: 1px solid var(--line-strong);
    padding: 6px 12px;
    font-size: 11px;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 600;
    font-family: inherit;
}
.doc-wiz__review-row {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 12px;
    font-size: 13px;
    padding: 3px 0;
}
.doc-wiz__review-row > span:first-child { color: var(--muted); }
.doc-wiz__review-row > span:last-child  { color: var(--ink); font-weight: 600; }
.doc-wiz__review-row.is-missing > span:last-child { color: var(--red); font-weight: 500; }
.doc-wiz__review-note {
    background: var(--yellow-soft);
    padding: 14px 18px;
    border-radius: 10px;
    font-size: 13px;
    color: var(--dark);
    line-height: 1.55;
}

/* ---- wizard nav footer ---- */
.doc-wiz__nav {
    margin-top: 40px;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding-top: 24px;
    border-top: 1px solid var(--line);
}
.doc-wiz__back {
    background: transparent;
    border: 1.5px solid var(--line-strong);
    padding: 14px 22px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 10px;
    cursor: pointer;
    font-family: inherit;
    color: var(--ink);
}
.doc-wiz__back[disabled] { opacity: 0.4; cursor: default; }
.doc-wiz__next {
    background: var(--ua-yellow);
    color: #1a1410;
    border: 0;
    padding: 14px 28px;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 14px;
    border-radius: 10px;
    cursor: pointer;
    box-shadow: 0 4px 0 rgba(217, 179, 0, 0.8);
}
.doc-wiz__next[disabled] {
    background: var(--bg-3);
    color: var(--muted);
    box-shadow: none;
    cursor: not-allowed;
}

/* ---- right live-preview column ---- */
.doc-wiz__preview-side { position: sticky; top: 100px; }
.doc-wiz__preview-eyebrow {
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.14em;
    color: var(--muted);
    font-weight: 700;
    margin-bottom: 10px;
    display: flex;
    justify-content: space-between;
}
.doc-wiz__preview-dot { color: var(--green); }
.doc-wiz__preview-slot {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(15, 32, 51, 0.06);
    min-height: 300px;
    padding: 14px 16px;
    font-family: "Times New Roman", serif;
    font-size: 11px;
    color: #1a1410;
    line-height: 1.5;
    position: relative;
}
.doc-wiz__preview-slot::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 60px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0), #fff);
    pointer-events: none;
}
.doc-wiz__preview-slot .prev-addr { text-align: right; margin-bottom: 10px; font-size: 10px; }
.doc-wiz__preview-slot .prev-heading {
    text-align: center;
    font-weight: 800;
    font-size: 12px;
    margin: 12px 0 8px;
    letter-spacing: 0.04em;
}
.doc-wiz__preview-slot p { margin: 6px 0; text-align: justify; }
.doc-wiz__preview-slot .prev-faint { color: rgba(26, 20, 16, 0.45); font-style: italic; }
.doc-wiz__preview-hint { font-size: 11px; color: var(--muted); margin-top: 10px; text-align: center; line-height: 1.5; }

/* =====================================================================
   /docs/order/{token}/ — post-payment status page
   ===================================================================== */
.doc-order { padding: 60px 0; background: linear-gradient(180deg, var(--bg-2) 0%, #fff 100%); min-height: calc(100vh - 200px); }
.doc-order__wrap { max-width: 640px; text-align: center; }
.doc-order__icon {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    color: #fff;
    display: grid;
    place-items: center;
    font-size: 44px;
    margin: 0 auto 24px;
    line-height: 1;
}
.doc-order__icon--ok   { background: var(--green); }
.doc-order__icon--wait { background: var(--ua-blue); }
.doc-order__icon--work { background: #d9a800; animation: pulse 1.4s infinite; }
.doc-order__icon--bad  { background: var(--red); }
.doc-order__title {
    font-family: var(--font-display);
    font-size: 36px;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 0 0 12px;
    color: var(--ink);
}
@media (max-width: 600px) { .doc-order__title { font-size: 26px; } }
.doc-order__lead { font-size: 16px; color: var(--muted); margin: 0 0 8px; line-height: 1.55; }

.doc-order__downloads {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin: 32px auto;
    max-width: 480px;
}
@media (max-width: 500px) { .doc-order__downloads { grid-template-columns: 1fr; } }
.doc-order__dl {
    padding: 18px;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 14px;
    border-radius: 12px;
    cursor: pointer;
    display: grid;
    gap: 4px;
    text-decoration: none;
    text-align: center;
}
.doc-order__dl-icon { font-size: 22px; }
.doc-order__dl-hint { font-size: 10px; font-weight: 500; opacity: 0.6; }
.doc-order__dl--ink    { background: var(--ink);      color: #fff; }
.doc-order__dl--ink:hover { background: #14293f; color: #fff; text-decoration: none; }
.doc-order__dl--yellow { background: var(--ua-yellow); color: #1a1410; font-weight: 800; box-shadow: 0 4px 0 rgba(217, 179, 0, 0.8); }
.doc-order__dl--yellow:hover { background: #ffdd33; color: #1a1410; text-decoration: none; }

.doc-order__next {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 24px 28px;
    text-align: left;
    margin-bottom: 24px;
}
.doc-order__next-eyebrow {
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.14em;
    color: var(--ua-blue);
    font-weight: 700;
    margin-bottom: 12px;
}
.doc-order__next ol {
    margin: 0;
    padding-left: 18px;
    display: grid;
    gap: 8px;
    font-size: 14px;
    line-height: 1.55;
    color: var(--dark);
}

.doc-order__footer {
    display: flex;
    gap: 12px;
    justify-content: center;
    margin-top: 16px;
}
.doc-order__footer a { padding: 12px 18px; font-size: 13px; font-weight: 700; color: var(--ua-blue); }
.doc-order__footer a.muted { color: var(--muted); font-weight: 600; }

/* =====================================================================
   /docs/balance/{token}/ — bundle owner landing
   ===================================================================== */
.doc-balance { padding: 60px 0; }
.doc-balance__wrap { max-width: 960px; }
.doc-balance__head { text-align: center; margin-bottom: 40px; }
.doc-balance__eyebrow {
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.14em;
    color: var(--ua-blue);
    font-weight: 700;
    margin-bottom: 12px;
}
.doc-balance__n {
    font-family: var(--font-display);
    font-size: 72px;
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1;
    color: var(--ua-yellow);
}
.doc-balance__n span { font-size: 28px; color: var(--muted); font-weight: 600; }
.doc-balance__lead { font-size: 16px; color: var(--muted); line-height: 1.55; margin: 14px auto 0; max-width: 520px; }
.doc-balance__lead b { color: var(--ink); }
.doc-balance__grid-title {
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 20px;
    color: var(--ink);
}

/* =============================================================
   /consultation/ — порт макету advocate_consult.jsx (₴1500-консультація).
   Префікс .adv- щоб не зачіпати legacy .consult-* класи з попередньої
   версії (ті більше не використовуються, але стилі лишаються в одному
   файлі для backwards-compat у твіг-кешах).
   ============================================================= */
.adv-eyebrow {
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.14em;
    color: var(--muted);
    font-weight: 700;
    margin-bottom: 10px;
    text-transform: uppercase;
}
.adv-eyebrow--blue   { color: var(--ua-blue); }
.adv-eyebrow--green  { color: var(--green); }
.adv-eyebrow--yellow { color: var(--ua-yellow); }
.adv-eyebrow--ink    { color: #1a1410; }
.adv-h2 {
    font-family: var(--font-display);
    font-size: 36px;
    font-weight: 700;
    letter-spacing: -0.025em;
    margin: 0 0 36px;
    line-height: 1.15;
}
.adv-h3 {
    font-family: var(--font-display);
    font-size: 26px;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 0 0 20px;
}
.adv-h3--sm { font-size: 22px; }
@media (max-width: 800px) {
    .adv-h2 { font-size: 28px; margin-bottom: 24px; }
    .adv-h3 { font-size: 22px; }
}
.adv-btn {
    display: inline-flex;
    align-items: center;
    border: 0;
    padding: 16px 28px;
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: 800;
    border-radius: 10px;
    cursor: pointer;
    text-decoration: none;
    letter-spacing: -0.005em;
}
.adv-btn--yellow { background: var(--ua-yellow); color: #1a1410; }
.adv-btn--yellow:hover { background: #ffdd33; text-decoration: none; }
.adv-btn--ink    { background: #1a1410; color: var(--ua-yellow); width: 100%; justify-content: center; padding: 17px 22px; }
.adv-btn--ink:hover { background: #000; color: var(--ua-yellow); text-decoration: none; }

/* HERO — dark navy gradient + advocate card */
.adv-hero {
    background: linear-gradient(180deg, #0f2033 0%, #14466b 100%);
    color: #fff;
    padding: 56px 0 72px;
    position: relative;
    overflow: hidden;
}
.adv-hero__glow {
    position: absolute; inset: 0;
    background-image: radial-gradient(circle at 85% 30%, rgba(255,213,0,.12), transparent 40%);
    pointer-events: none;
}
.adv-hero__grid {
    position: relative;
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 48px;
    align-items: center;
}
@media (max-width: 900px) {
    .adv-hero__grid { grid-template-columns: 1fr; gap: 28px; }
}
.adv-hero__eyebrow {
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.16em;
    color: var(--ua-yellow);
    font-weight: 700;
    margin-bottom: 18px;
}
.adv-hero__title {
    font-family: var(--font-display);
    font-size: 52px;
    font-weight: 700;
    letter-spacing: -0.03em;
    margin: 0 0 22px;
    line-height: 1.05;
    color: #fff;
}
.adv-hero__title em { color: var(--ua-yellow); font-style: normal; }
@media (max-width: 800px) { .adv-hero__title { font-size: 36px; } }
.adv-hero__lead {
    margin: 0 0 28px;
    font-size: 17px;
    color: rgba(255,255,255,.82);
    line-height: 1.6;
    max-width: 560px;
}
.adv-hero__ctas {
    display: flex; gap: 14px; align-items: center; flex-wrap: wrap; margin-bottom: 22px;
}
.adv-hero__slot { font-size: 13px; color: rgba(255,255,255,.7); }
.adv-hero__slot b { color: var(--ua-yellow); }
.adv-hero__pills {
    display: flex; gap: 28px; font-size: 13px; color: rgba(255,255,255,.75); flex-wrap: wrap;
}
.adv-card {
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 14px;
    padding: 28px 30px;
    backdrop-filter: blur(4px);
}
.adv-card__eyebrow {
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.1em;
    color: var(--ua-yellow);
    font-weight: 700;
    margin-bottom: 14px;
}
.adv-card__head { display: flex; gap: 16px; align-items: center; margin-bottom: 20px; }
.adv-card__avatar {
    width: 72px; height: 72px; border-radius: 36px;
    background: linear-gradient(135deg, #ffd500, #d8a900);
    display: flex; align-items: center; justify-content: center;
    font-family: var(--font-display);
    font-size: 26px; font-weight: 800; color: #1a1410;
}
.adv-card__name { font-family: var(--font-display); font-size: 18px; font-weight: 700; }
.adv-card__sub  { font-size: 12px; color: rgba(255,255,255,.65); margin-top: 3px; }
.adv-card__grid {
    border-top: 1px solid rgba(255,255,255,.1);
    padding-top: 18px;
    display: grid; grid-template-columns: 1fr 1fr; gap: 14px;
}
.adv-card__lbl { font-family: var(--font-mono); font-size: 10px; color: rgba(255,255,255,.5); letter-spacing: 0.1em; font-weight: 700; }
.adv-card__val { font-size: 13px; margin-top: 3px; }

/* WHO NEEDS */
.adv-who { background: var(--bg); padding: 64px 0; border-bottom: 1px solid var(--line); }
.adv-who__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
@media (max-width: 900px) { .adv-who__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .adv-who__grid { grid-template-columns: 1fr; } }
.adv-who__card { background: var(--bg-2); border: 1px solid var(--line); border-radius: 10px; padding: 22px 24px; }
.adv-who__num  { font-family: var(--font-mono); font-size: 11px; color: var(--ua-blue); font-weight: 800; margin-bottom: 10px; }
.adv-who__t    { font-family: var(--font-display); font-size: 17px; font-weight: 700; letter-spacing: -0.01em; margin-bottom: 8px; line-height: 1.25; }
.adv-who__d    { font-size: 14px; color: var(--dark); line-height: 1.55; }

/* HOW (4 steps) */
.adv-how { background: var(--bg-2); padding: 64px 0; border-bottom: 1px solid var(--line); }
.adv-how__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
@media (max-width: 900px) { .adv-how__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .adv-how__grid { grid-template-columns: 1fr; } }
.adv-how__card { background: #fff; border-top: 3px solid var(--ua-yellow); padding: 22px 24px 26px; border-radius: 0 0 8px 8px; }
.adv-how__n    { font-family: var(--font-display); font-size: 32px; font-weight: 800; color: var(--ua-blue); letter-spacing: -0.02em; margin-bottom: 10px; }
.adv-how__t    { font-family: var(--font-display); font-size: 16px; font-weight: 700; letter-spacing: -0.01em; margin-bottom: 8px; line-height: 1.25; }
.adv-how__d    { font-size: 13px; color: var(--dark); line-height: 1.55; }

/* WHAT IN / NOT IN */
.adv-whatin { background: var(--bg); padding: 64px 0; border-bottom: 1px solid var(--line); }
.adv-whatin__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
@media (max-width: 900px) { .adv-whatin__grid { grid-template-columns: 1fr; gap: 28px; } }
.adv-whatin__list { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.adv-whatin__list li { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; color: var(--dark); line-height: 1.55; }
.adv-whatin__list--muted li { color: var(--muted); font-size: 14px; }
.adv-whatin__chk {
    width: 22px; height: 22px; border-radius: 11px; background: var(--green);
    color: #fff; font-size: 13px; flex-shrink: 0; margin-top: 1px;
    display: flex; align-items: center; justify-content: center;
}
.adv-whatin__dash {
    width: 22px; height: 22px; border-radius: 11px;
    border: 1.5px solid var(--line-strong); color: var(--muted);
    font-size: 13px; flex-shrink: 0; margin-top: 1px;
    display: flex; align-items: center; justify-content: center;
}
.adv-whatin__not  { background: var(--bg-2); border: 1px solid var(--line); border-radius: 10px; padding: 28px 32px; }
.adv-whatin__note { margin-top: 18px; font-size: 13px; color: var(--dark); }

/* TESTIMONIALS */
.adv-testim { background: var(--bg-2); padding: 64px 0; border-bottom: 1px solid var(--line); }
.adv-testim__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 900px) { .adv-testim__grid { grid-template-columns: 1fr; } }
.adv-testim__card  { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 24px 26px; }
.adv-testim__stars { color: var(--ua-yellow); font-size: 15px; letter-spacing: 2px; margin-bottom: 12px; }
.adv-testim__q     { font-size: 15px; color: var(--dark); line-height: 1.6; margin: 0 0 16px; font-style: italic; }
.adv-testim__foot  { border-top: 1px solid var(--line); padding-top: 12px; display: flex; justify-content: space-between; align-items: baseline; }
.adv-testim__n     { font-family: var(--font-display); font-size: 13px; font-weight: 700; }
.adv-testim__c     { font-family: var(--font-mono); font-size: 11px; color: var(--muted); }

/* GUARANTEE strip */
.adv-gua { background: var(--ink); color: #fff; padding: 56px 0; }
.adv-gua__grid { display: grid; grid-template-columns: auto 1fr; gap: 36px; align-items: center; }
@media (max-width: 700px) { .adv-gua__grid { grid-template-columns: 1fr; gap: 14px; } }
.adv-gua__icon { font-size: 72px; line-height: 1; }
.adv-gua__t    { font-family: var(--font-display); font-size: 26px; font-weight: 700; letter-spacing: -0.02em; margin-bottom: 8px; line-height: 1.2; color: #fff; }
.adv-gua__d    { font-size: 14px; color: rgba(255,255,255,.7); }

/* FAQ */
.adv-faq { background: var(--bg); padding: 64px 0; }
.adv-faq__wrap { max-width: 820px; }
.adv-faq__item { border-top: 1px solid var(--line); padding: 16px 0; }
.adv-faq__item summary {
    font-family: var(--font-display); font-size: 16px; font-weight: 600; letter-spacing: -0.01em;
    cursor: pointer; list-style: none;
    display: flex; justify-content: space-between; gap: 20px;
}
.adv-faq__item summary::-webkit-details-marker { display: none; }
.adv-faq__plus { color: var(--ua-blue); font-weight: 700; }
.adv-faq__a { margin-top: 12px; font-size: 14px; color: var(--dark); line-height: 1.6; }

/* BOOK form */
.adv-book { background: var(--ua-yellow); padding: 56px 0; }
.adv-book__grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: start; }
@media (max-width: 900px) { .adv-book__grid { grid-template-columns: 1fr; } }
.adv-book__title { font-family: var(--font-display); font-size: 40px; font-weight: 700; letter-spacing: -0.025em; margin: 0 0 14px; color: #1a1410; line-height: 1.1; }
@media (max-width: 700px) { .adv-book__title { font-size: 30px; } }
.adv-book__lead  { margin: 0 0 24px; font-size: 16px; color: #3d2f14; max-width: 520px; line-height: 1.5; }
.adv-book__form  { background: #fff; border-radius: 14px; padding: 22px 24px; box-shadow: 0 8px 24px rgba(0,0,0,.08); display: grid; gap: 12px; }
.adv-book__field { display: grid; gap: 6px; }
.adv-book__field span { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.06em; color: var(--muted); font-weight: 800; }
.adv-book__field input,
.adv-book__field select {
    padding: 13px 14px; border: 1.5px solid var(--line-strong); border-radius: 10px;
    font-family: inherit; font-size: 15px; font-weight: 500; outline: none; background: #fff; color: var(--ink);
}
.adv-book__field input:focus,
.adv-book__field select:focus { border-color: var(--ua-blue); }
.adv-book__notice { font-size: 11px; color: var(--muted); text-align: center; margin: 8px 0 0; }
.adv-book__notice a { color: var(--ua-blue); }
.adv-book__sent { text-align: center; padding: 20px 0; }
.adv-book__sent-icon { width: 60px; height: 60px; margin: 0 auto 14px; border-radius: 50%; background: var(--green); color: #fff; font-size: 28px; display: grid; place-items: center; }
.adv-book__sent-title { font-family: var(--font-display); font-size: 20px; font-weight: 700; margin-bottom: 6px; }
.adv-book__sent-text  { font-size: 13px; color: var(--muted); line-height: 1.5; }

.adv-book__slots { background: #1a1410; color: #fff; padding: 24px 28px; border-radius: 12px; }
.adv-book__slots ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.adv-book__slot {
    display: flex; justify-content: space-between; align-items: center;
    padding: 10px 14px; background: rgba(255,255,255,.05); border-radius: 7px; border: 1px solid rgba(255,255,255,.1);
    font-size: 14px;
}
.adv-book__slot-free { font-size: 11px; color: #6ed68a; font-weight: 700; }
.adv-book__slot-busy { font-size: 11px; color: #e08a80; font-weight: 700; }

/* =============================================================
   /pro/ — порт макету pro_pricing.jsx. Префікс .ppro- (paid-pro).
   ============================================================= */
.ppro-eyebrow {
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.1em;
    color: var(--muted);
    font-weight: 700;
    margin-bottom: 8px;
    text-transform: uppercase;
}
.ppro-h2 {
    font-family: var(--font-display);
    font-size: 30px;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 0;
    line-height: 1.2;
}
@media (max-width: 700px) { .ppro-h2 { font-size: 24px; } }

/* HERO */
.ppro-hero {
    padding: 48px 0 40px;
    background: linear-gradient(180deg, #1a1410 0%, #231b13 100%);
    color: #fff;
    position: relative;
    overflow: hidden;
}
.ppro-hero__glow {
    position: absolute; inset: 0;
    background: radial-gradient(circle at 80% 30%, rgba(252,221,51,.1) 0%, transparent 50%);
    pointer-events: none;
}
.ppro-hero__wrap { position: relative; max-width: 860px; margin: 0 auto; text-align: center; }
.ppro-hero__pill {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(252,221,51,.12);
    border: 1px solid rgba(252,221,51,.3);
    padding: 8px 14px; border-radius: 100px; margin-bottom: 18px;
}
.ppro-hero__star { color: var(--ua-yellow); font-size: 14px; }
.ppro-hero__pill > span:last-child {
    font-family: var(--font-mono);
    font-size: 11px; letter-spacing: 0.1em; font-weight: 700; color: var(--ua-yellow);
}
.ppro-hero__title {
    font-family: var(--font-display);
    font-size: 46px; font-weight: 700; letter-spacing: -0.03em;
    margin: 0 0 16px; line-height: 1.08;
    color: #fff;
}
.ppro-hero__title span { color: #fff; }
@media (max-width: 700px) { .ppro-hero__title { font-size: 32px; } }
.ppro-hero__lead {
    font-size: 16px; color: #d8cfbe; line-height: 1.55;
    margin: 0 auto; max-width: 620px;
}

/* PROFILE banner */
.ppro-profile { padding: 24px 0 0; background: var(--bg-2); }
.ppro-profile__wrap { max-width: 960px; margin: 0 auto; }
.ppro-profile__card {
    background: linear-gradient(135deg, #fff4b8 0%, #ffe166 100%);
    border: 1px solid #e6c700;
    border-radius: 14px; padding: 22px;
    display: grid; grid-template-columns: 72px 1fr auto; gap: 20px; align-items: center;
}
@media (max-width: 700px) {
    .ppro-profile__card { grid-template-columns: 56px 1fr; }
    .ppro-profile__current { display: none; }
}
.ppro-profile__avatar {
    width: 72px; height: 72px; border-radius: 14px;
    background: #e7effc; color: var(--ua-blue);
    display: grid; place-items: center;
    font-family: var(--font-display); font-size: 28px; font-weight: 800;
}
.ppro-profile__eyebrow {
    font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em;
    font-weight: 800; color: #5a4800; margin-bottom: 4px;
}
.ppro-profile__name {
    font-family: var(--font-display); font-size: 19px; font-weight: 700;
    letter-spacing: -0.005em; margin-bottom: 3px;
}
.ppro-profile__meta { font-size: 13px; color: #3a2f00; }
.ppro-profile__meta span { display: inline-block; }
.ppro-profile__current { text-align: right; }
.ppro-profile__current-l {
    font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em;
    color: #5a4800; font-weight: 700; margin-bottom: 2px;
}
.ppro-profile__current-v {
    font-family: var(--font-display); font-size: 15px; font-weight: 700; color: #1a1410;
}

/* TIERS */
/* === /pro/ — Why-PRO benefits + portal stats =========================== */
.ppro-why { padding: 50px 0 30px; background: #fff; }
.ppro-why__head { text-align: center; max-width: 720px; margin: 0 auto 30px; }
.ppro-why__eyebrow {
    font-size: 11px; font-weight: 700; letter-spacing: 1.8px;
    color: var(--ua-blue, #005bbb); margin-bottom: 8px;
}
.ppro-why__h {
    font-family: var(--font-display, sans-serif); font-size: clamp(22px, 3vw, 30px);
    font-weight: 800; letter-spacing: -0.015em; margin: 0;
}
.ppro-why__grid {
    display: grid; gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.ppro-why__card {
    padding: 24px 22px; background: #fff; border: 1px solid #e6ebf1;
    border-radius: 12px; transition: all .15s ease;
}
.ppro-why__card:hover {
    border-color: var(--ua-blue, #005bbb); transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(15, 32, 51, 0.08);
}
.ppro-why__icon { font-size: 32px; line-height: 1; margin-bottom: 12px; }
.ppro-why__t {
    font-family: var(--font-display, sans-serif); font-size: 17px; font-weight: 800;
    margin-bottom: 8px; letter-spacing: -0.005em;
}
.ppro-why__card p { font-size: 14px; line-height: 1.55; color: var(--dark, #233b4d); margin: 0; }

.ppro-stats { padding: 50px 0; background: linear-gradient(135deg, #0f2033 0%, #14466b 100%); color: #fff; }
.ppro-stats__head { text-align: center; max-width: 720px; margin: 0 auto 30px; }
.ppro-stats__eyebrow {
    font-size: 11px; font-weight: 700; letter-spacing: 1.8px;
    color: var(--ua-yellow, #ffd500); margin-bottom: 8px;
    font-family: var(--font-mono, monospace);
}
.ppro-stats__h {
    font-family: var(--font-display, sans-serif); font-size: clamp(22px, 3vw, 28px);
    font-weight: 700; letter-spacing: -0.015em; margin: 0; color: #fff;
}
.ppro-stats__grid {
    display: grid; gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    margin-bottom: 16px;
}
.ppro-stats__cell {
    text-align: center; padding: 22px 14px;
    background: rgba(255, 255, 255, 0.05); border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
}
.ppro-stats__n {
    font-family: var(--font-display, sans-serif); font-size: 38px; font-weight: 800;
    line-height: 1; letter-spacing: -0.03em; color: var(--ua-yellow, #ffd500);
}
.ppro-stats__u { font-size: 16px; opacity: 0.85; margin-left: 4px; font-weight: 600; }
.ppro-stats__l {
    font-size: 12px; line-height: 1.4; margin-top: 10px;
    color: rgba(255, 255, 255, 0.85); font-weight: 500;
}
.ppro-stats__src {
    text-align: center; font-size: 11px; color: rgba(255, 255, 255, 0.6) !important;
    line-height: 1.5; max-width: 700px; margin: 0 auto;
}

.ppro-tiers { padding: 32px 0 56px; background: var(--bg-2); }
.ppro-tiers__wrap { max-width: 960px; margin: 0 auto; }
.ppro-tiers__head { text-align: center; margin-bottom: 28px; }
.ppro-tiers__eyebrow {
    font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.1em;
    color: var(--muted); font-weight: 700; margin-bottom: 10px;
}
.ppro-tiers__h2 {
    font-family: var(--font-display); font-size: 30px; font-weight: 700;
    letter-spacing: -0.02em; margin: 0 0 22px;
}
.ppro-toggle {
    display: inline-flex; background: #fff;
    border: 1px solid var(--line-strong); border-radius: 100px; padding: 4px;
}
.ppro-toggle button {
    background: transparent; color: var(--muted); border: 0;
    padding: 10px 22px; font-family: var(--font-display); font-weight: 700;
    font-size: 13px; border-radius: 100px; cursor: pointer;
    display: inline-flex; align-items: center; gap: 8px;
}
.ppro-toggle button.is-active { background: var(--ink); color: #fff; }
.ppro-toggle__chip {
    background: var(--ua-yellow); color: #1a1410;
    font-size: 10px; font-weight: 800; padding: 3px 7px; border-radius: 4px;
}

.ppro-tiers__grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; padding-top: 18px;
}
@media (max-width: 800px) { .ppro-tiers__grid { grid-template-columns: 1fr; } }

.ppro-tier {
    background: #fff; color: var(--ink);
    border: 1px solid var(--line-strong); border-radius: 18px;
    padding: 34px; position: relative;
}
.ppro-tier--pro {
    background: linear-gradient(180deg, #1a1410 0%, #2a2018 100%);
    color: #fff; border: 2px solid var(--ua-yellow);
    box-shadow: 0 18px 50px rgba(252,221,51,.22);
}
.ppro-tier--basic { opacity: 0.92; }
.ppro-tier__badge {
    position: absolute; top: -14px; left: 30px;
    background: var(--ua-yellow); color: #1a1410;
    font-family: var(--font-display); font-weight: 800;
    font-size: 11px; letter-spacing: 0.1em;
    padding: 7px 14px; border-radius: 100px;
}
.ppro-tier__head { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.ppro-tier__name { font-family: var(--font-display); font-size: 26px; font-weight: 800; letter-spacing: -0.01em; }
.ppro-tier__chip {
    font-size: 10px; font-weight: 800; letter-spacing: 0.06em;
    padding: 3px 8px; border-radius: 4px;
}
.ppro-tier__chip--free { background: var(--green); color: #fff; }
.ppro-tier__tagline { font-size: 14px; color: var(--muted); margin-bottom: 24px; }
.ppro-tier--pro .ppro-tier__tagline { color: #b8a88a; }
.ppro-tier__price {
    font-family: var(--font-display); font-size: 54px; font-weight: 800;
    letter-spacing: -0.035em; line-height: 1; margin-bottom: 6px;
}
.ppro-tier__per { font-size: 15px; color: var(--muted); margin-bottom: 22px; }
.ppro-tier--pro .ppro-tier__per { color: #b8a88a; }
.ppro-tier__per--free { color: var(--green); font-weight: 700; }

.ppro-tier__cta-current {
    width: 100%; background: var(--bg-2); color: var(--muted);
    padding: 16px 20px; font-family: var(--font-display); font-weight: 700; font-size: 13px;
    border-radius: 10px; margin-bottom: 26px; text-align: center;
}
.ppro-tier__cta-buy {
    display: block; width: 100%;
    background: var(--ua-yellow); color: #1a1410;
    border: 0; padding: 16px 20px;
    font-family: var(--font-display); font-weight: 800; font-size: 15px;
    border-radius: 10px; margin-bottom: 26px;
    box-shadow: 0 4px 0 rgba(217,179,0,.85);
    letter-spacing: 0.01em;
    cursor: pointer;
    text-align: center; text-decoration: none;
}
.ppro-tier__cta-buy:hover { background: #ffdd33; text-decoration: none; }

.ppro-tier__features { display: grid; gap: 11px; }
.ppro-tier__f {
    display: grid; grid-template-columns: 20px 1fr; gap: 12px;
    font-size: 13.5px; line-height: 1.45; align-items: flex-start;
}
.ppro-tier__f.is-off { text-decoration: line-through; color: #aebac6; }
.ppro-tier--pro .ppro-tier__f.is-off { color: #5a4c3a; }
.ppro-tier__mark {
    font-weight: 700; color: var(--green); margin-top: 1px;
}
.ppro-tier--pro .ppro-tier__mark { color: var(--ua-yellow); }
.ppro-tier__f.is-off .ppro-tier__mark { color: #c8d0d9; }

.ppro-tiers__foot { text-align: center; font-size: 13px; color: var(--muted); margin-top: 28px; }

/* CHECKOUT MODAL */
.ppro-checkout { position: fixed; inset: 0; z-index: 100; display: flex; align-items: center; justify-content: center; padding: 16px; }
.ppro-checkout[hidden] { display: none; }
.ppro-checkout__backdrop { position: absolute; inset: 0; background: rgba(15,32,51,.55); }
.ppro-checkout__card {
    position: relative; background: #fff; border-radius: 16px;
    padding: 32px; width: min(520px, 100%); max-height: 90vh; overflow-y: auto;
    box-shadow: 0 30px 60px rgba(0,0,0,.25);
}
.ppro-checkout__x {
    position: absolute; top: 12px; right: 12px;
    width: 36px; height: 36px; border-radius: 8px;
    background: transparent; border: 1px solid var(--line);
    font-size: 22px; line-height: 1; color: var(--muted); cursor: pointer;
}
.ppro-checkout__eyebrow {
    font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em;
    color: var(--muted); font-weight: 700; margin-bottom: 6px;
}
.ppro-checkout__h {
    font-family: var(--font-display); font-size: 22px; font-weight: 700; letter-spacing: -0.01em;
    margin: 0 0 20px;
}
.ppro-checkout__profile {
    background: var(--bg-2); border: 1px solid var(--line); border-radius: 10px;
    padding: 14px 16px; margin-bottom: 18px;
}
.ppro-checkout__pf-eyebrow {
    font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.08em;
    color: var(--muted); font-weight: 700; margin-bottom: 4px;
}
.ppro-checkout__pf-name { font-family: var(--font-display); font-size: 15px; font-weight: 700; }
.ppro-checkout__pf-meta { font-size: 12px; color: var(--muted); margin-top: 2px; }
.ppro-checkout__plan-summary {
    display: flex; justify-content: space-between; align-items: baseline;
    padding: 12px 14px; background: #fff7dc; border: 1px solid #e6c700;
    border-radius: 8px; margin-bottom: 16px; font-size: 13px;
}
.ppro-checkout__plan-summary b { font-family: var(--font-display); font-size: 16px; }
.ppro-checkout__field { display: grid; gap: 6px; margin-bottom: 14px; }
.ppro-checkout__field span {
    font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.06em;
    color: var(--muted); font-weight: 800; text-transform: uppercase;
}
.ppro-checkout__field span em { color: var(--red); font-style: normal; }
.ppro-checkout__field input {
    padding: 12px 14px; border: 1.5px solid var(--line-strong); border-radius: 10px;
    font-family: inherit; font-size: 14px; font-weight: 500; outline: none; background: #fff;
    color: var(--ink);
}
.ppro-checkout__field input:focus { border-color: var(--ua-blue); }
.ppro-checkout__field small { font-size: 11px; color: var(--muted); }
.ppro-checkout__submit {
    width: 100%; margin-top: 8px;
    background: var(--ua-yellow); color: #1a1410; border: 0;
    padding: 16px 20px; font-family: var(--font-display); font-weight: 800; font-size: 15px;
    border-radius: 10px; box-shadow: 0 4px 0 rgba(217,179,0,.85);
    cursor: pointer;
}
.ppro-checkout__submit:hover { background: #ffdd33; }
.ppro-checkout__notice { margin-top: 12px; font-size: 11px; color: var(--muted); line-height: 1.5; }
.ppro-checkout__notice a { color: var(--ua-blue); }

/* HOW IT WORKS */
.ppro-how { padding: 48px 0; background: #fff; }
.ppro-how__head { text-align: center; margin-bottom: 40px; }
.ppro-how__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
@media (max-width: 900px) { .ppro-how__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .ppro-how__grid { grid-template-columns: 1fr; } }
.ppro-how__step { display: grid; grid-template-columns: 60px 1fr; gap: 18px; }
.ppro-how__n {
    width: 52px; height: 52px; border-radius: 14px;
    background: var(--ua-yellow); color: #1a1410;
    display: grid; place-items: center;
    font-family: var(--font-display); font-size: 20px; font-weight: 800;
}
.ppro-how__t { font-family: var(--font-display); font-size: 16px; font-weight: 700; letter-spacing: -0.005em; margin-bottom: 4px; }
.ppro-how__d { font-size: 13px; color: var(--muted); line-height: 1.5; }

/* FAQ */
.ppro-faq { padding: 56px 0; background: var(--bg-2); }
.ppro-faq__wrap { max-width: 860px; }
.ppro-faq__wrap > .ppro-eyebrow,
.ppro-faq__wrap > .ppro-h2 { text-align: center; }
.ppro-faq__wrap > .ppro-eyebrow { margin-bottom: 8px; }
.ppro-faq__wrap > .ppro-h2 { margin-bottom: 32px; }
.ppro-faq__box {
    background: #fff; border: 1px solid var(--line-strong);
    border-radius: 14px; padding: 0 24px;
}
.ppro-faq__item { border-bottom: 1px solid var(--line); }
.ppro-faq__item:last-child { border-bottom: 0; }
.ppro-faq__item summary {
    padding: 18px 0; display: grid; grid-template-columns: 1fr 24px; gap: 14px;
    cursor: pointer; list-style: none;
    font-family: var(--font-display); font-size: 15px; font-weight: 600; color: var(--ink);
}
.ppro-faq__item summary::-webkit-details-marker { display: none; }
.ppro-faq__plus { color: var(--muted); font-size: 18px; transition: transform .2s; text-align: center; }
.ppro-faq__item[open] .ppro-faq__plus { transform: rotate(45deg); }
.ppro-faq__a { padding: 0 0 18px; font-size: 14px; color: var(--muted); line-height: 1.6; }

/* FINAL */
.ppro-final {
    padding: 48px 0;
    background: linear-gradient(135deg, #1a1410 0%, #2a2018 100%);
    color: #fff;
}
.ppro-final__wrap { text-align: center; max-width: 720px; margin: 0 auto; }
.ppro-final__h {
    font-family: var(--font-display); font-size: 32px; font-weight: 700;
    letter-spacing: -0.02em; margin: 0 0 14px; line-height: 1.1;
    color: #fff;
}
.ppro-final__h span { color: #fff; }
@media (max-width: 700px) { .ppro-final__h { font-size: 24px; } }
.ppro-final__lead { color: #d8cfbe; font-size: 15px; margin: 0 0 28px; line-height: 1.55; }
.ppro-final__cta {
    display: inline-block;
    background: var(--ua-yellow); color: #1a1410;
    padding: 17px 32px; font-family: var(--font-display); font-weight: 800; font-size: 15px;
    border-radius: 10px; box-shadow: 0 4px 0 rgba(230,199,0,.8);
    text-decoration: none;
}
.ppro-final__cta:hover { background: #ffdd33; text-decoration: none; }

/* «Це ваш профіль?» strip на /pv/.../*.html — направляє виконавця на /pro/ */
.exec-pro-claim {
    margin-top: 18px;
    display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center;
    padding: 14px 18px;
    background: linear-gradient(135deg, #fff4b8 0%, #ffe166 100%);
    border: 1px solid #e6c700; border-radius: 12px;
    text-decoration: none; color: #1a1410;
}
.exec-pro-claim:hover { background: linear-gradient(135deg, #ffe88c 0%, #ffd64d 100%); text-decoration: none; }
.exec-pro-claim__star {
    width: 38px; height: 38px; border-radius: 10px;
    background: #1a1410; color: var(--ua-yellow);
    display: grid; place-items: center; font-size: 18px; font-weight: 800;
}
.exec-pro-claim__body { font-size: 14px; line-height: 1.4; color: #3a2f00; }
.exec-pro-claim__body b { display: block; color: #1a1410; font-size: 15px; margin-bottom: 2px; }
.exec-pro-claim__arrow {
    font-family: var(--font-display); font-weight: 800; font-size: 13px;
    color: #1a1410; white-space: nowrap;
}
@media (max-width: 700px) {
    .exec-pro-claim { grid-template-columns: 1fr; gap: 8px; }
    .exec-pro-claim__arrow { text-align: right; }
}

/* =============================================================
   HotTilesBlock на /home — порт portal.jsx HOT_TILES.
   6 «гарячих» лендінгів з ціною + bordered left edge у tone-кольорі.
   ============================================================= */
.hot-tiles { background: #fff; padding: 64px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.hot-tiles__head {
    display: flex; align-items: end; justify-content: space-between; margin-bottom: 32px; gap: 32px; flex-wrap: wrap;
}
.hot-tiles__head > div:first-child { max-width: 680px; }
.hot-tiles__eyebrow {
    font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em;
    color: var(--red); font-weight: 700; margin-bottom: 10px;
}
.hot-tiles__title {
    font-family: var(--font-display); font-size: 38px; font-weight: 700;
    letter-spacing: -0.025em; margin: 0 0 10px; line-height: 1.05;
}
.hot-tiles__title span { color: var(--red); }
@media (max-width: 700px) { .hot-tiles__title { font-size: 28px; } }
.hot-tiles__lead { font-size: 15px; color: var(--dark); margin: 0; line-height: 1.6; }
.hot-tiles__meta {
    font-family: var(--font-mono); font-size: 12px; color: var(--muted); font-weight: 600;
}
.hot-tiles__grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 14px;
}
@media (max-width: 720px) { .hot-tiles__grid { grid-template-columns: 1fr; } }

.hot-tile {
    background: #fff; border: 1px solid var(--line); border-radius: 10px;
    padding: 22px 24px; display: block; position: relative; overflow: hidden;
    color: var(--ink); text-decoration: none; transition: all .15s ease;
}
.hot-tile--red  { border-left: 4px solid var(--red);     }
.hot-tile--blue { border-left: 4px solid var(--ua-blue); }
.hot-tile:hover { background: var(--bg-2); text-decoration: none; }
.hot-tile--red:hover  { border-color: var(--red);     }
.hot-tile--blue:hover { border-color: var(--ua-blue); }

.hot-tile__head {
    display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 14px;
}
.hot-tile__tag {
    font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.12em; font-weight: 800;
    padding: 4px 8px; border-radius: 3px;
}
.hot-tile--red  .hot-tile__tag { color: var(--red);     background: rgba(216,53,42,.08); }
.hot-tile--blue .hot-tile__tag { color: var(--ua-blue); background: rgba(0,91,187,.08); }
.hot-tile__n {
    font-family: var(--font-mono); font-size: 11px; color: var(--muted); font-weight: 700;
}
.hot-tile__t {
    font-family: var(--font-display); font-size: 19px; font-weight: 700;
    letter-spacing: -0.015em; color: var(--ink); margin-bottom: 8px; line-height: 1.2;
}
.hot-tile__d { font-size: 13px; color: var(--dark); line-height: 1.55; margin-bottom: 18px; }
.hot-tile__foot {
    display: flex; justify-content: space-between; align-items: center;
    border-top: 1px dashed var(--line); padding-top: 12px;
}
.hot-tile__price { display: flex; gap: 14px; align-items: baseline; }
.hot-tile__price-n { font-family: var(--font-mono); font-size: 18px; font-weight: 800; color: var(--ink); }
.hot-tile__price-stat { font-family: var(--font-mono); font-size: 11px; color: var(--muted); font-weight: 600; }
.hot-tile__cta {
    font-family: var(--font-display); font-size: 12px; font-weight: 700; letter-spacing: 0.02em;
}
.hot-tile--red  .hot-tile__cta { color: var(--red);     }
.hot-tile--blue .hot-tile__cta { color: var(--ua-blue); }

/* PortalIntro на /home — порт portal.jsx PortalIntro */
.portal-intro {
    background: var(--bg-2); padding: 50px 0;
    border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
}
.portal-intro__grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center;
}
@media (max-width: 900px) { .portal-intro__grid { grid-template-columns: 1fr; gap: 28px; } }
.portal-intro__eyebrow {
    font-family: var(--font-mono); font-size: 11px;
    color: var(--ua-blue); letter-spacing: 0.08em; font-weight: 700;
}
.portal-intro__title {
    font-family: var(--font-display); font-size: 36px; font-weight: 700;
    letter-spacing: -0.02em; margin: 10px 0 14px; line-height: 1.05;
}
.portal-intro__title span {
    background: linear-gradient(transparent 62%, var(--ua-yellow) 62%);
}
@media (max-width: 700px) { .portal-intro__title { font-size: 26px; } }
.portal-intro__lead {
    color: var(--muted); font-size: 15px; line-height: 1.6;
    margin: 0 0 22px; max-width: 500px;
}
.portal-intro__ctas { display: flex; gap: 12px; flex-wrap: wrap; }
.portal-intro__stats {
    display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.portal-intro__stat {
    background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 18px 20px;
}
.portal-intro__stat-v {
    font-family: var(--font-display); font-size: 30px; font-weight: 800;
    letter-spacing: -0.03em; line-height: 1;
}
.portal-intro__stat-l { font-size: 12px; color: var(--muted); margin-top: 6px; }
.portal-intro__stat--blue   .portal-intro__stat-v { color: var(--ua-blue); }
.portal-intro__stat--green  .portal-intro__stat-v { color: #178a4a; }
.portal-intro__stat--orange .portal-intro__stat-v { color: #c26a1f; }
.portal-intro__stat--purple .portal-intro__stat-v { color: #7232b8; }

/* Catalog-tabs — спільний нав-таб для /pv/, /dv/, /dvs/ */
.catalog-tabs { background: #fff; border-bottom: 1px solid var(--line); }
.catalog-tabs__row { display: flex; gap: 0; flex-wrap: wrap; }
.catalog-tab {
    display: flex; align-items: center; gap: 10px;
    padding: 18px 22px; font-size: 14px; font-weight: 600;
    color: var(--dark); border-bottom: 3px solid transparent; margin-bottom: -1px;
    text-decoration: none;
}
.catalog-tab.is-active {
    color: var(--ua-blue); font-weight: 700; border-bottom-color: var(--ua-blue);
}
.catalog-tab__n {
    font-family: var(--font-mono); font-size: 10px; font-weight: 700;
    background: var(--bg-3); color: var(--muted);
    padding: 3px 7px; border-radius: 100px; letter-spacing: 0.04em;
}
.catalog-tab.is-active .catalog-tab__n { background: var(--ua-blue); color: #fff; }
@media (max-width: 600px) { .catalog-tab { padding: 14px 14px; font-size: 13px; } }

/* =============================================================
   Catalog flat-list pages (/pv/, /dv/, /dvs/) — порт catalog_*.html.
   ============================================================= */
.catalog-header { background: linear-gradient(180deg, #f3f7fc 0%, #fff 100%); padding: 36px 0 24px; }
.catalog-header__row { display: flex; gap: 14px; }
.catalog-header__bar { width: 4px; background: var(--ua-yellow); border-radius: 4px; flex-shrink: 0; }
.catalog-header__h1 {
    font-family: var(--font-display); font-size: 32px; font-weight: 700;
    letter-spacing: -0.02em; margin: 0; line-height: 1.05;
}
@media (max-width: 700px) { .catalog-header__h1 { font-size: 24px; } }
.catalog-header__sub { color: var(--muted); font-size: 14px; margin: 8px 0 0; max-width: 720px; line-height: 1.55; }
.catalog-header__sub b { color: var(--ink); }

.catalog-body { padding: 8px 0 48px; }
.catalog-body__grid {
    display: grid; grid-template-columns: 1fr 300px; gap: 32px; align-items: start;
}
@media (max-width: 900px) { .catalog-body__grid { grid-template-columns: 1fr; } }

/* Region chips block */
.catalog-regions {
    background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 20px; margin-bottom: 16px;
}
.catalog-regions__h {
    font-family: var(--font-display); font-size: 16px; font-weight: 700;
    letter-spacing: -0.005em; margin-bottom: 14px;
}
.catalog-regions__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.catalog-chip {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 13px; padding: 7px 12px; background: #fff; color: var(--ink);
    border: 1px solid var(--line-strong); border-radius: 100px;
    font-weight: 500; white-space: nowrap; text-decoration: none;
    transition: background .15s, border-color .15s;
}
.catalog-chip:hover { background: var(--yellow-soft); border-color: var(--ua-yellow); text-decoration: none; }
.catalog-chip__n {
    font-family: var(--font-mono); font-size: 10px; color: var(--muted);
    background: var(--bg-3); padding: 2px 6px; border-radius: 100px;
}

/* Filter bar */
.catalog-filter {
    background: #fff; border: 1px solid var(--line); border-radius: 12px;
    padding: 16px; display: grid; grid-template-columns: 1fr 200px 200px 180px auto;
    gap: 12px; margin-bottom: 20px;
}
@media (max-width: 1000px) { .catalog-filter { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px)  { .catalog-filter { grid-template-columns: 1fr; } }
.catalog-filter__field {
    position: relative; border: 1.5px solid var(--line-strong); border-radius: 10px;
    padding: 11px 16px 11px 42px; background: #fff;
}
.catalog-filter__field svg { position: absolute; left: 14px; top: 14px; }
.catalog-filter__field input { width: 100%; border: 0; outline: 0; background: transparent; font: inherit; font-size: 13px; }
.catalog-filter__select {
    padding: 11px 14px; border: 1.5px solid var(--line-strong); border-radius: 10px;
    font-size: 13px; font-family: inherit; background: #fff; color: var(--ink);
}
.catalog-filter__select:focus { border-color: var(--ua-blue); outline: none; }
.catalog-filter__submit {
    background: var(--ua-yellow); color: var(--ink); border: 0;
    padding: 11px 22px; font-family: var(--font-display); font-weight: 700;
    font-size: 13px; border-radius: 10px; cursor: pointer;
}
.catalog-filter__submit:hover { background: #ffdd33; }

/* List */
.catalog-list { background: #fff; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.catalog-list__head {
    padding: 14px 18px; background: var(--bg-2); border-bottom: 1px solid var(--line);
    display: flex; justify-content: space-between; align-items: center;
}
.catalog-list__found {
    font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.06em;
    color: var(--muted); font-weight: 700;
}
.catalog-list__page { font-size: 12px; color: var(--muted); }
.catalog-list__empty { padding: 32px 22px; text-align: center; color: var(--muted); }
.catalog-list__pager {
    padding: 16px 22px; display: flex; gap: 16px; justify-content: center; align-items: center;
    background: var(--bg-2); border-top: 1px solid var(--line);
}
.catalog-list__pager a { color: var(--ua-blue); font-weight: 600; }

/* Exec row */
.exec-list-row {
    display: grid; grid-template-columns: 56px 1fr 130px 110px 20px;
    gap: 18px; align-items: center; padding: 16px 18px;
    border-bottom: 1px solid var(--line); cursor: pointer; color: var(--ink);
    text-decoration: none; border-left: 3px solid transparent;
    transition: background .15s;
}
.exec-list-row:hover { background: var(--bg-2); text-decoration: none; }
.exec-list-row--pro {
    background: linear-gradient(90deg, #fffaed 0%, #fff 80%);
    border-left-color: var(--ua-yellow);
}
.exec-list-row--pro:hover { background: linear-gradient(90deg, #fff4d6 0%, #fff 80%); }
@media (max-width: 700px) {
    .exec-list-row { grid-template-columns: 48px 1fr; gap: 12px; }
    .exec-list-row__rating, .exec-list-row__status, .exec-list-row__arrow { display: none; }
}
.exec-list-row__avatar {
    width: 48px; height: 48px; border-radius: 10px; background: #e7effc; color: var(--ua-blue);
    display: grid; place-items: center; position: relative;
}
.exec-list-row__pro-star {
    position: absolute; top: -4px; right: -4px;
    background: var(--ua-yellow); color: var(--ink); border-radius: 50%;
    width: 20px; height: 20px; display: grid; place-items: center;
    font-size: 11px; font-weight: 800; border: 2px solid #fff;
}
.exec-list-row__body { min-width: 0; }
.exec-list-row__name { font-weight: 700; font-size: 15px; color: var(--ink); display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.exec-list-row__pro-badge {
    font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.1em; font-weight: 800;
    color: #8a6d00; background: var(--ua-yellow); padding: 3px 7px; border-radius: 4px;
}
.exec-list-row__meta { font-size: 12px; color: var(--muted); margin-top: 3px; }
.exec-list-row__rating { display: flex; flex-direction: column; gap: 2px; font-size: 12px; color: var(--muted); }
.exec-list-row__stars { color: var(--ua-yellow); letter-spacing: 1px; font-size: 13px; }
.exec-list-row__pill {
    display: inline-block; font-family: var(--font-mono); font-size: 10px;
    letter-spacing: 0.06em; padding: 3px 8px; border-radius: 100px; font-weight: 700;
}
.exec-list-row__pill--ok   { color: var(--green); background: rgba(23,138,74,.12); }
.exec-list-row__pill--warn { color: #c26a1f; background: #fff7dc; }
.exec-list-row__arrow { color: var(--muted); }

/* Inline promo row — жовта стрічка між виконавцями */
.catalog-inline-promo {
    background: linear-gradient(90deg, #fff4b8 0%, #ffe166 100%);
    border: 1px solid #e6c700; padding: 18px 22px;
    display: grid; grid-template-columns: 44px 1fr auto; gap: 16px; align-items: center;
    color: var(--ink); text-decoration: none; border-left: 0; border-right: 0;
}
.catalog-inline-promo:hover { background: linear-gradient(90deg, #ffe88c 0%, #ffd64d 100%); text-decoration: none; }
.catalog-inline-promo__b {
    width: 44px; height: 44px; background: var(--ink); color: var(--ua-yellow);
    display: grid; place-items: center; border-radius: 10px;
    font-family: var(--font-display); font-size: 22px; font-weight: 800;
}
.catalog-inline-promo__t {
    font-family: var(--font-display); font-size: 15px; font-weight: 700;
    color: var(--ink); letter-spacing: -0.005em;
}
.catalog-inline-promo__d { font-size: 12px; color: #5a4800; margin-top: 3px; }
.catalog-inline-promo__cta {
    background: var(--ink); color: #fff; border: 0;
    padding: 12px 18px; font-family: var(--font-display); font-weight: 700;
    font-size: 13px; border-radius: 8px; white-space: nowrap;
}
@media (max-width: 600px) {
    .catalog-inline-promo { grid-template-columns: 1fr; gap: 10px; padding: 14px; }
    .catalog-inline-promo__cta { text-align: center; }
}

/* Sidebar promo — sticky right column */
.catalog-aside { position: sticky; top: 20px; display: flex; flex-direction: column; gap: 16px; }
.catalog-sidebar-promo {
    background: linear-gradient(180deg, #1a1410 0%, #2a2018 100%);
    color: #fff; border-radius: 14px; padding: 24px 22px;
}
.catalog-sidebar-promo__eyebrow {
    font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em;
    color: var(--ua-yellow); font-weight: 800; margin-bottom: 10px;
}
.catalog-sidebar-promo__title {
    font-family: var(--font-display); font-size: 20px; font-weight: 700;
    letter-spacing: -0.01em; line-height: 1.2; margin-bottom: 16px;
}
.catalog-sidebar-promo__list { list-style: none; padding: 0; margin: 0 0 18px; display: grid; gap: 10px; }
.catalog-sidebar-promo__list li {
    display: flex; gap: 10px; align-items: flex-start;
    font-size: 13px; color: #d8cfbe; line-height: 1.5;
}
.catalog-sidebar-promo__list li span {
    color: var(--ua-yellow); font-weight: 800; flex-shrink: 0;
}
.catalog-sidebar-promo__cta {
    display: block; background: var(--ua-yellow); color: var(--ink); text-align: center;
    padding: 14px 18px; font-family: var(--font-display); font-weight: 800; font-size: 14px;
    border-radius: 10px; box-shadow: 0 4px 0 rgba(217,179,0,.85); text-decoration: none;
}
.catalog-sidebar-promo__cta:hover { background: #ffdd33; text-decoration: none; }
.catalog-sidebar-promo__fineprint {
    font-size: 11px; color: rgba(255,255,255,.5); text-align: center; margin-top: 10px;
}

/* Creditor block — wide strip за порт CreditorPromoBlock variant=wide.
   Темно-синій градієнт з жовтим highlight справа, 2-кол. layout:
   зліва — текст + 3 стат-блоки + CTA, справа — біла form-preview-card. */
.creditor-block {
    padding: 48px 0; background: linear-gradient(135deg, #0f2033 0%, #14466b 100%);
    color: #fff; position: relative; overflow: hidden; scroll-margin-top: 80px;
}
.creditor-block__glow {
    position: absolute; inset: 0;
    background-image: radial-gradient(circle at 90% 20%, rgba(255,213,0,.18), transparent 50%);
    pointer-events: none;
}
.creditor-block__grid {
    position: relative; display: grid; grid-template-columns: 1.4fr 1fr;
    gap: 44px; align-items: center;
}
@media (max-width: 900px) { .creditor-block__grid { grid-template-columns: 1fr; gap: 28px; } }
.creditor-block__eyebrow {
    font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em;
    color: var(--ua-yellow); font-weight: 700; margin-bottom: 14px;
}
.creditor-block__title {
    font-family: var(--font-display); font-size: 32px; font-weight: 700;
    letter-spacing: -0.02em; margin: 0 0 14px; line-height: 1.1;
    color: #fff;
}
.creditor-block__title em {
    background: var(--ua-yellow); color: var(--ink); font-style: normal;
    padding: 0 6px;
}
@media (max-width: 700px) { .creditor-block__title { font-size: 24px; } }
.creditor-block__lead {
    margin: 0 0 22px; font-size: 15px; color: rgba(255,255,255,.78);
    line-height: 1.6; max-width: 580px;
}
.creditor-block__stats {
    display: grid; grid-template-columns: repeat(3, auto); gap: 28px;
    margin-bottom: 26px; justify-content: start;
}
@media (max-width: 600px) { .creditor-block__stats { grid-template-columns: 1fr 1fr; gap: 18px; } }
.creditor-block__stat-v {
    font-family: var(--font-mono); font-size: 26px; font-weight: 800;
    color: var(--ua-yellow); line-height: 1; margin-bottom: 4px;
}
.creditor-block__stat-l { font-size: 12px; color: rgba(255,255,255,.7); }
.creditor-block__ctas {
    display: flex; gap: 14px; flex-wrap: wrap; align-items: center;
}
.creditor-block__cta {
    background: var(--ua-yellow); color: var(--ink);
    padding: 15px 26px; font-family: var(--font-display); font-size: 14px;
    font-weight: 800; letter-spacing: 0.01em; text-decoration: none;
    display: inline-flex; align-items: center; gap: 10px;
}
.creditor-block__cta:hover { background: #ffdd33; text-decoration: none; }
.creditor-block__hint {
    font-size: 12px; color: rgba(255,255,255,.6);
    display: flex; align-items: center; gap: 8px;
}
/* Form preview card */
.creditor-block__form {
    background: #fff; color: var(--ink); padding: 24px;
    border: 1.5px solid var(--ua-yellow);
    box-shadow: 0 30px 60px -30px rgba(0,0,0,.5);
}
.creditor-block__form-eyebrow {
    font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.12em;
    color: var(--muted); font-weight: 700; margin-bottom: 14px;
}
.creditor-block__form-h {
    font-family: var(--font-display); font-size: 18px; font-weight: 700;
    letter-spacing: -0.01em; margin-bottom: 16px; line-height: 1.25;
}
.creditor-block__form-fields {
    list-style: none; padding: 0; margin: 0 0 14px;
    display: grid; gap: 10px;
}
.creditor-block__form-fields li {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 12px; border: 1px solid var(--line); background: var(--bg-2);
    font-size: 13px; color: var(--muted);
}
.creditor-block__bullet {
    width: 4px; height: 4px; border-radius: 50%; background: var(--ua-blue);
    flex-shrink: 0;
}
.creditor-block__form-cta {
    display: block; text-align: center;
    background: var(--ink); color: #fff;
    padding: 14px 18px; font-family: var(--font-display);
    font-size: 13px; font-weight: 800; letter-spacing: 0.02em;
    text-decoration: none;
}
.creditor-block__form-cta:hover { background: #000; text-decoration: none; }
.creditor-block__form-fineprint {
    font-size: 11px; color: var(--muted); margin-top: 12px;
    line-height: 1.5; text-align: center;
}

/* Compact creditor card — мала біла картка для бокової колонки на /pv/ */
.creditor-card {
    display: grid; grid-template-columns: 44px 1fr auto; gap: 14px; align-items: center;
    padding: 14px 16px; background: #fff;
    border: 1.5px solid var(--line-strong); border-radius: 12px;
    color: var(--ink); text-decoration: none; transition: border-color .15s;
}
.creditor-card:hover { border-color: var(--ua-yellow); text-decoration: none; }
.creditor-card__icon {
    width: 44px; height: 44px; border-radius: 10px;
    background: var(--ua-yellow); color: var(--ink);
    display: grid; place-items: center;
    font-family: var(--font-display); font-size: 22px; font-weight: 800;
}
.creditor-card__eyebrow {
    font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em;
    color: var(--ua-blue); font-weight: 700;
}
.creditor-card__t {
    font-family: var(--font-display); font-size: 15px; font-weight: 700;
    letter-spacing: -0.005em; margin-top: 2px;
}
.creditor-card__d { font-size: 12px; color: var(--muted); margin-top: 2px; }
.creditor-card__arrow { color: var(--ua-blue); font-size: 16px; }

/* /dv/ — держ.виконавці: інакший avatar tone + pill */
.exec-list-row__avatar--state { background: #eef2f7; color: #34506b; }
.exec-list-row__pill--state {
    color: var(--ink-2); background: var(--bg-3);
}
.catalog-list__alt-link { color: var(--ua-blue); font-size: 12px; font-weight: 600; }

/* /dvs/ — рядок відділу (на відміну від exec-list-row тут інша сітка) */
.catalog-filter--dvs { grid-template-columns: 1fr 240px auto; }
@media (max-width: 700px) { .catalog-filter--dvs { grid-template-columns: 1fr; } }
.catalog-list__title {
    font-family: var(--font-display); font-size: 17px; font-weight: 700;
    letter-spacing: -0.005em; flex: 1;
}
.catalog-chip.is-active { background: var(--ua-yellow); border-color: var(--ua-yellow); }
.dept-list-row {
    display: grid; grid-template-columns: 1fr auto; gap: 24px; padding: 18px 22px;
    border-bottom: 1px solid var(--line); cursor: pointer; color: var(--ink);
    text-decoration: none; transition: background .15s;
}
.dept-list-row:hover { background: var(--bg-2); text-decoration: none; }
.dept-list-row__name { color: var(--ua-blue); font-size: 15px; font-weight: 700; }
.dept-list-row__facts { margin-top: 8px; display: grid; gap: 4px; font-size: 13px; }
.dept-list-row__rating { text-align: right; align-self: center; min-width: 100px; }
.dept-list-row__rating-n {
    font-family: var(--font-display); font-size: 24px; font-weight: 800;
    color: var(--ink); line-height: 1;
}
@media (max-width: 600px) {
    .dept-list-row { grid-template-columns: 1fr; }
    .dept-list-row__rating { text-align: left; }
}

/* /dvs/{region}/ — оновлений region-hero (без accent-title) */
.region-hero {
    padding: 36px 0 20px;
    background: linear-gradient(180deg, #f3f7fc 0%, #fff 100%);
}
.region-hero__grid { display: grid; grid-template-columns: 1fr 300px; gap: 32px; align-items: start; }
@media (max-width: 900px) { .region-hero__grid { grid-template-columns: 1fr; } }
.region-hero__eyebrow {
    font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.08em;
    color: var(--muted); font-weight: 700; margin-bottom: 6px;
}
.region-hero__h1 {
    font-family: var(--font-display); font-size: 36px; font-weight: 700;
    letter-spacing: -0.02em; margin: 0; line-height: 1.05;
}
@media (max-width: 700px) { .region-hero__h1 { font-size: 26px; } }
.region-hero__lead {
    color: var(--dark); font-size: 15px; line-height: 1.65;
    margin: 20px 0 0; max-width: 680px; font-style: italic;
}
.region-hero__lead b { color: var(--ink); font-style: normal; }
.region-hero__chips { display: flex; gap: 10px; margin-top: 18px; flex-wrap: wrap; }
.region-hero__quick {
    background: #fff; border: 1px solid var(--line-strong); border-radius: 12px; padding: 20px;
}
.region-hero__quick-h {
    font-family: var(--font-display); font-size: 14px; font-weight: 700; margin-bottom: 12px;
}
.region-hero__quick-item {
    display: flex; justify-content: space-between; padding: 11px 14px;
    background: var(--bg-2); border-radius: 8px; font-size: 13px; font-weight: 600;
    color: var(--ink); text-decoration: none; margin-bottom: 8px;
}
.region-hero__quick-item:last-child { margin-bottom: 0; }
.region-hero__quick-item:hover { background: var(--bg-3); text-decoration: none; }
.region-hero__quick-item span:last-child { color: var(--ua-blue); }

/* /dvs/{r}/{d}/ — оновлений hero без accent-title */
.dept-hero__eyebrow {
    font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.08em;
    color: var(--muted); font-weight: 700; margin-bottom: 6px; text-transform: uppercase;
}
.dept-hero__h1 {
    font-family: var(--font-display); font-size: 36px; font-weight: 700;
    letter-spacing: -0.02em; margin: 0; line-height: 1.1;
}
@media (max-width: 700px) { .dept-hero__h1 { font-size: 26px; } }
.dept-hero__h2 {
    font-size: 15px; color: var(--muted); margin: 8px 0 0; line-height: 1.55;
}

/* =============================================================
   Scenario landing — порт scenario_landing.jsx. Префікс .sl-.
   Використовується для /zakryttya-vp/, /mfo/, /kolektory/,
   /skasuvannya-sudovogo-nakazu/, /znyaty-aresht-rahunku/, /instruction/.
   ============================================================= */
/* HERO */
.sl-hero {
    background: linear-gradient(180deg, #0f2033 0%, #14466b 100%);
    color: #fff; padding: 56px 0 64px; position: relative; overflow: hidden;
}
.sl-hero__glow {
    position: absolute; inset: 0;
    background-image: radial-gradient(circle at 88% 25%, rgba(255,213,0,.12), transparent 45%);
    pointer-events: none;
}
.sl-hero__grid {
    position: relative; display: grid; grid-template-columns: 1.25fr 1fr;
    gap: 44px; align-items: center;
}
@media (max-width: 900px) { .sl-hero__grid { grid-template-columns: 1fr; gap: 32px; } }
.sl-hero__tag {
    font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em;
    color: var(--ua-yellow); font-weight: 700; margin-bottom: 16px;
}
.sl-hero__h1 {
    font-family: var(--font-display); font-size: 48px; font-weight: 700;
    letter-spacing: -0.03em; margin: 0 0 20px; line-height: 1.06; color: #fff;
}
.sl-hero__h1 em {
    color: var(--ua-yellow); font-style: normal;
}
@media (max-width: 700px) { .sl-hero__h1 { font-size: 32px; } }
.sl-hero__lead {
    margin: 0 0 26px; font-size: 17px; color: rgba(255,255,255,.82);
    line-height: 1.55; max-width: 540px;
}
.sl-hero__ctas { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; margin-bottom: 22px; }
.sl-hero__cta {
    background: var(--ua-yellow); color: #1a1410; padding: 16px 28px;
    font-family: var(--font-display); font-size: 15px; font-weight: 800;
    border-radius: 10px; text-decoration: none;
}
.sl-hero__cta:hover { background: #ffdd33; text-decoration: none; }
.sl-hero__cta-ghost {
    background: transparent; color: #fff;
    border: 1.5px solid rgba(255,255,255,.3);
    padding: 15px 24px; font-size: 14px; font-weight: 600;
    border-radius: 10px; text-decoration: none;
}
.sl-hero__cta-ghost:hover { border-color: #fff; text-decoration: none; }
.sl-hero__bullets {
    display: flex; gap: 24px; font-size: 13px; color: rgba(255,255,255,.7); flex-wrap: wrap;
}

.sl-hero__deadline {
    background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12);
    border-radius: 14px; padding: 26px 30px;
}
.sl-hero__deadline-eyebrow {
    font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em;
    color: var(--ua-yellow); font-weight: 700; margin-bottom: 12px;
}
.sl-hero__deadline-t {
    font-family: var(--font-display); font-size: 22px; font-weight: 700;
    letter-spacing: -0.015em; margin-bottom: 10px; line-height: 1.2; color: #fff;
}
.sl-hero__deadline-body { font-size: 14px; color: rgba(255,255,255,.75); line-height: 1.55; margin-bottom: 18px; }
.sl-hero__deadline-stats {
    border-top: 1px solid rgba(255,255,255,.12); padding-top: 16px;
    display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.sl-hero__deadline-l { font-family: var(--font-mono); font-size: 10px; color: rgba(255,255,255,.5); letter-spacing: 0.1em; font-weight: 700; }
.sl-hero__deadline-v { font-family: var(--font-display); font-size: 20px; font-weight: 800; color: var(--ua-yellow); margin-top: 3px; }

/* PROBLEM */
.sl-problem { background: var(--bg); padding: 56px 0; border-bottom: 1px solid var(--line); }
.sl-problem__eyebrow {
    font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em;
    color: var(--red); font-weight: 700; margin-bottom: 10px;
}
.sl-problem__h {
    font-family: var(--font-display); font-size: 34px; font-weight: 700;
    letter-spacing: -0.025em; margin: 0 0 28px; max-width: 760px;
}
@media (max-width: 700px) { .sl-problem__h { font-size: 24px; } }
.sl-problem__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
@media (max-width: 800px) { .sl-problem__grid { grid-template-columns: 1fr; } }
.sl-problem__card {
    background: #fff4f3; border: 1px solid #f5cfcd; border-left: 4px solid var(--red);
    border-radius: 8px; padding: 22px 24px;
}
.sl-problem__t {
    font-family: var(--font-display); font-size: 16px; font-weight: 700;
    letter-spacing: -0.005em; margin-bottom: 8px; line-height: 1.25;
}
.sl-problem__d { font-size: 14px; color: var(--dark); line-height: 1.55; }

/* WHAT WE DO */
.sl-wedo { background: var(--bg-2); padding: 56px 0; border-bottom: 1px solid var(--line); }
.sl-wedo__eyebrow {
    font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em;
    color: var(--ua-blue); font-weight: 700; margin-bottom: 10px;
}
.sl-wedo__h {
    font-family: var(--font-display); font-size: 32px; font-weight: 700;
    color: var(--ink); margin: 0 0 28px; line-height: 1.18;
}
@media (max-width: 700px) { .sl-wedo__h { font-size: 24px; } }
.sl-wedo__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
@media (max-width: 800px) { .sl-wedo__grid { grid-template-columns: 1fr; } }
.sl-wedo__card {
    background: #fff; border: 1px solid var(--line); border-radius: 12px;
    padding: 22px; transition: border-color .15s, transform .15s;
}
.sl-wedo__card:hover { border-color: var(--ua-blue); transform: translateY(-2px); }
.sl-wedo__icon {
    font-size: 28px; line-height: 1; margin-bottom: 12px;
}
.sl-wedo__t {
    font-family: var(--font-display); font-size: 17px; font-weight: 700;
    color: var(--ink); margin-bottom: 8px;
}
.sl-wedo__d { font-size: 14px; color: var(--dark); line-height: 1.55; }

/* BENEFITS */
.sl-benefits { background: var(--bg); padding: 56px 0; border-bottom: 1px solid var(--line); }
.sl-benefits__eyebrow {
    font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em;
    color: var(--ua-blue); font-weight: 700; margin-bottom: 10px;
}
.sl-benefits__h {
    font-family: var(--font-display); font-size: 32px; font-weight: 700;
    color: var(--ink); margin: 0 0 28px; line-height: 1.18;
}
@media (max-width: 700px) { .sl-benefits__h { font-size: 24px; } }
.sl-benefits__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px 24px; }
@media (max-width: 800px) { .sl-benefits__grid { grid-template-columns: 1fr; } }
.sl-benefits__card {
    display: grid; grid-template-columns: 28px 1fr; gap: 12px; align-items: start;
    padding: 6px 0;
}
.sl-benefits__check {
    width: 28px; height: 28px; border-radius: 50%;
    background: rgba(0, 86, 179, 0.08); color: var(--ua-blue);
    font-weight: 800; font-size: 14px;
    display: flex; align-items: center; justify-content: center;
}
.sl-benefits__t {
    font-family: var(--font-display); font-size: 16px; font-weight: 700;
    color: var(--ink); margin-bottom: 4px; line-height: 1.3;
}
.sl-benefits__d { font-size: 13.5px; color: var(--dark); line-height: 1.55; }

/* STEPS */
.sl-steps { background: var(--bg-2); padding: 56px 0; border-bottom: 1px solid var(--line); }
.sl-steps__eyebrow {
    font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em;
    color: var(--ua-blue); font-weight: 700; margin-bottom: 10px;
}
.sl-steps__h {
    font-family: var(--font-display); font-size: 34px; font-weight: 700;
    letter-spacing: -0.025em; margin: 0 0 30px; max-width: 700px;
}
@media (max-width: 700px) { .sl-steps__h { font-size: 24px; } }
.sl-steps__list { display: grid; gap: 12px; }
.sl-steps__item {
    background: #fff; border: 1px solid var(--line); border-radius: 10px;
    padding: 20px 24px; display: grid; grid-template-columns: 64px 1fr auto;
    gap: 20px; align-items: center;
}
@media (max-width: 600px) { .sl-steps__item { grid-template-columns: 48px 1fr; } .sl-steps__time { display: none; } }
.sl-steps__n {
    font-family: var(--font-display); font-size: 32px; font-weight: 800;
    color: var(--ua-blue); letter-spacing: -0.02em;
}
.sl-steps__t {
    font-family: var(--font-display); font-size: 17px; font-weight: 700;
    letter-spacing: -0.01em; margin-bottom: 5px;
}
.sl-steps__d { font-size: 14px; color: var(--dark); line-height: 1.55; }
.sl-steps__time {
    font-family: var(--font-mono); font-size: 11px; background: var(--yellow-soft);
    padding: 6px 10px; border-radius: 5px; font-weight: 700; color: #1a1410; white-space: nowrap;
}

/* PRICING */
.sl-pricing { background: var(--bg); padding: 56px 0; border-bottom: 1px solid var(--line); }
.sl-pricing__eyebrow {
    font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em;
    color: var(--ua-blue); font-weight: 700; margin-bottom: 10px;
}
.sl-pricing__h {
    font-family: var(--font-display); font-size: 34px; font-weight: 700;
    letter-spacing: -0.025em; margin: 0 0 30px;
}
@media (max-width: 700px) { .sl-pricing__h { font-size: 24px; } }
.sl-pricing__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 900px) { .sl-pricing__grid { grid-template-columns: 1fr; } }
.sl-pricing__tier {
    background: #fff; border: 1px solid var(--line); border-radius: 12px;
    padding: 26px 28px; position: relative;
}
.sl-pricing__tier--primary { border: 2px solid var(--ua-yellow); }
.sl-pricing__badge {
    position: absolute; top: -11px; left: 24px;
    background: var(--ua-yellow); color: #1a1410;
    padding: 4px 10px; font-size: 10px; font-weight: 800; letter-spacing: 0.08em;
    border-radius: 4px; font-family: var(--font-mono);
}
.sl-pricing__tag {
    font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.1em;
    color: var(--muted); font-weight: 700; margin-bottom: 6px;
}
.sl-pricing__name {
    font-family: var(--font-display); font-size: 20px; font-weight: 700;
    letter-spacing: -0.015em; margin-bottom: 14px; line-height: 1.25;
}
.sl-pricing__price {
    font-family: var(--font-display); font-size: 38px; font-weight: 800;
    letter-spacing: -0.02em; color: var(--ink); margin-bottom: 16px;
}
.sl-pricing__feat { list-style: none; padding: 0; margin: 0 0 20px; display: grid; gap: 8px; }
.sl-pricing__feat li {
    font-size: 13px; color: var(--dark); display: flex; gap: 10px;
    align-items: flex-start; line-height: 1.5;
}
.sl-pricing__feat li span { color: var(--green); font-weight: 800; }
.sl-pricing__cta {
    display: block; width: 100%; text-align: center;
    background: var(--ink); color: #fff; padding: 12px 16px;
    font-family: var(--font-display); font-size: 13px; font-weight: 800;
    border-radius: 8px; text-decoration: none;
}
.sl-pricing__cta.is-primary { background: var(--ua-yellow); color: #1a1410; }
.sl-pricing__cta:hover { text-decoration: none; opacity: .92; }

/* FAQ */
.sl-faq { background: var(--bg-2); padding: 56px 0; border-bottom: 1px solid var(--line); }
.sl-faq__wrap { max-width: 820px; }
.sl-faq__eyebrow {
    font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em;
    color: var(--ua-blue); font-weight: 700; margin-bottom: 10px;
}
.sl-faq__h {
    font-family: var(--font-display); font-size: 30px; font-weight: 700;
    letter-spacing: -0.025em; margin: 0 0 20px;
}
.sl-faq__item { border-top: 1px solid var(--line); padding: 16px 0; }
.sl-faq__item summary {
    font-family: var(--font-display); font-size: 16px; font-weight: 600;
    letter-spacing: -0.005em; cursor: pointer; list-style: none;
    display: flex; justify-content: space-between; gap: 20px;
}
.sl-faq__item summary::-webkit-details-marker { display: none; }
.sl-faq__plus { color: var(--ua-blue); font-weight: 700; }
.sl-faq__a { margin-top: 12px; font-size: 14px; color: var(--dark); line-height: 1.6; }

/* LEAD FORM (inline на сторінці) */
.sl-leadform { background: var(--bg); padding: 56px 0; border-bottom: 1px solid var(--line); }
.sl-leadform__h {
    font-family: var(--font-display); font-size: 26px; font-weight: 700;
    letter-spacing: -0.02em; margin: 0 0 24px; max-width: 720px;
}
.sl-leadform__form {
    max-width: 720px; display: grid; gap: 12px;
}
.sl-leadform__form input,
.sl-leadform__form textarea {
    padding: 14px 16px; border: 1.5px solid var(--line-strong); border-radius: 10px;
    font-family: inherit; font-size: 15px; outline: none; background: #fff; color: var(--ink);
}
.sl-leadform__form input:focus,
.sl-leadform__form textarea:focus { border-color: var(--ua-blue); }
.sl-leadform__submit {
    background: var(--ua-yellow); color: #1a1410; border: 0;
    padding: 16px 28px; font-family: var(--font-display); font-weight: 800;
    font-size: 15px; border-radius: 10px; cursor: pointer;
}
.sl-leadform__submit:hover { background: #ffdd33; }
.sl-leadform__notice { font-size: 12px; color: var(--muted); margin: 8px 0 0; }
.sl-leadform__notice a { color: var(--ua-blue); }
.sl-leadform__sent {
    display: flex; gap: 14px; align-items: center;
    background: #e8f6ee; border: 1px solid #b8e0c7; border-radius: 12px; padding: 18px 22px;
}
.sl-leadform__sent-icon {
    width: 36px; height: 36px; border-radius: 50%; background: var(--green);
    color: #fff; display: grid; place-items: center; font-size: 18px;
}

/* RELATED */
.sl-related { background: var(--bg); padding: 56px 0; }
.sl-related__h {
    font-family: var(--font-display); font-size: 22px; font-weight: 700;
    letter-spacing: -0.02em; margin: 0 0 20px;
}
.sl-related__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
@media (max-width: 800px) { .sl-related__grid { grid-template-columns: 1fr; } }
.sl-related__card {
    background: var(--bg-2); border: 1px solid var(--line); border-radius: 10px;
    padding: 20px 22px; display: block; color: var(--ink); text-decoration: none;
}
.sl-related__card:hover { background: var(--bg-3); text-decoration: none; }
.sl-related__tag {
    font-family: var(--font-mono); font-size: 10px; color: var(--ua-blue);
    font-weight: 700; letter-spacing: 0.08em; margin-bottom: 8px;
}
.sl-related__t {
    font-family: var(--font-display); font-size: 16px; font-weight: 700; letter-spacing: -0.005em;
}

/* FINAL CTA */
.sl-final { background: var(--ua-yellow); padding: 52px 0; }
.sl-final__grid { display: grid; grid-template-columns: 1.3fr auto; gap: 30px; align-items: center; }
@media (max-width: 800px) { .sl-final__grid { grid-template-columns: 1fr; } }
.sl-final__eyebrow {
    font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em;
    color: #1a1410; font-weight: 800; margin-bottom: 10px;
}
.sl-final__h {
    font-family: var(--font-display); font-size: 32px; font-weight: 700;
    letter-spacing: -0.025em; margin: 0 0 10px; color: #1a1410; line-height: 1.15;
}
@media (max-width: 700px) { .sl-final__h { font-size: 22px; } }
.sl-final__body { margin: 0; font-size: 15px; color: #3d2f14; max-width: 640px; line-height: 1.55; }
.sl-final__cta {
    background: #1a1410; color: var(--ua-yellow); border: 0;
    padding: 18px 32px; font-family: var(--font-display); font-size: 15px;
    font-weight: 800; border-radius: 10px; white-space: nowrap; text-decoration: none;
}
.sl-final__cta:hover { background: #000; text-decoration: none; }

/* =============================================================
   /instruction/order/ — checkout-форма, порт instruction_order.jsx
   ============================================================= */
.io-hero {
    background: linear-gradient(180deg, #f3f7fc 0%, #fff 100%);
    padding: 36px 0 24px; border-bottom: 1px solid var(--line);
}
.io-hero__back {
    display: inline-block; font-size: 13px; color: var(--ua-blue);
    font-weight: 600; margin-bottom: 16px; text-decoration: none;
}
.io-hero__back:hover { text-decoration: underline; }
.io-hero__eyebrow {
    font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.08em;
    color: var(--muted); font-weight: 700; margin-bottom: 6px;
}
.io-hero__h1 {
    font-family: var(--font-display); font-size: 32px; font-weight: 700;
    letter-spacing: -0.02em; margin: 0 0 10px; line-height: 1.1;
}
.io-hero__lead { color: var(--muted); font-size: 14px; max-width: 720px; margin: 0; line-height: 1.55; }

.io-body { padding: 32px 0 64px; background: var(--bg-2); }
.io-body__grid {
    display: grid; grid-template-columns: 1fr 360px; gap: 28px; align-items: start;
}
@media (max-width: 900px) { .io-body__grid { grid-template-columns: 1fr; } }

.io-form { display: grid; gap: 20px; }

.io-alert { padding: 12px 16px; border-radius: 8px; font-size: 14px; }
.io-alert--err { background: #fdecea; color: #7a3a35; border: 1px solid #f5c4c0; }
.io-alert--ok  { background: #e8f6ee; color: #1a4a2e; border: 1px solid #b8e0c7; }

.io-section {
    background: #fff; border: 1px solid var(--line-strong); border-radius: 16px;
    padding: 28px;
}
.io-section__num {
    width: 32px; height: 32px; border-radius: 50%; background: var(--ua-blue);
    color: #fff; display: grid; place-items: center; font-weight: 800;
    font-size: 14px; margin-bottom: 14px;
}
.io-section__h {
    font-family: var(--font-display); font-size: 22px; font-weight: 700;
    letter-spacing: -0.01em; margin-bottom: 8px;
}
.io-section__hint { font-size: 13px; color: var(--muted); margin: 0 0 20px; line-height: 1.55; }

.io-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 600px) { .io-grid { grid-template-columns: 1fr; } }
.io-field { display: grid; gap: 6px; }
.io-field--full { grid-column: 1 / -1; }
.io-field span {
    font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.06em;
    color: var(--muted); font-weight: 800; text-transform: uppercase;
}
.io-field span em { color: var(--red); font-style: normal; }
.io-field input,
.io-field select,
.io-field textarea {
    padding: 13px 14px; border: 1.5px solid var(--line-strong); border-radius: 10px;
    font-family: inherit; font-size: 14px; font-weight: 500; outline: none;
    background: #fff; color: var(--ink);
}
.io-field input:focus,
.io-field select:focus,
.io-field textarea:focus { border-color: var(--ua-blue); }

.io-pay {
    background: #fff; border: 2px solid var(--ua-yellow); border-radius: 16px;
    padding: 28px;
}
.io-pay__h {
    font-family: var(--font-display); font-size: 20px; font-weight: 700;
    letter-spacing: -0.01em; margin-bottom: 8px;
}
.io-pay__hint { font-size: 13px; color: var(--muted); margin: 0 0 20px; line-height: 1.55; }
.io-pay__agree {
    display: flex; gap: 10px; align-items: flex-start;
    font-size: 13px; color: var(--dark); line-height: 1.5;
    margin-bottom: 18px;
}
.io-pay__agree input { width: 18px; height: 18px; flex-shrink: 0; margin-top: 1px; cursor: pointer; }
.io-pay__agree a { color: var(--ua-blue); }
.io-pay__submit {
    width: 100%; background: var(--ua-yellow); color: #1a1410; border: 0;
    padding: 18px 28px; font-family: var(--font-display); font-weight: 800;
    font-size: 15px; border-radius: 12px; cursor: pointer;
    box-shadow: 0 4px 0 rgba(217,179,0,.85);
}
.io-pay__submit:hover { background: #ffdd33; }
.io-pay__submit:disabled { background: #d8dde3; cursor: not-allowed; box-shadow: none; }
.io-pay__fineprint { font-size: 12px; color: var(--muted); text-align: center; margin: 12px 0 0; line-height: 1.5; }

/* SUMMARY (sticky right column) */
.io-summary { position: sticky; top: 20px; }
.io-summary__card {
    background: #fff; border: 1px solid var(--line-strong); border-radius: 16px;
    padding: 24px;
}
.io-summary__eyebrow {
    font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em;
    color: var(--muted); font-weight: 700; margin-bottom: 14px;
}
.io-summary__product {
    display: grid; grid-template-columns: 48px 1fr; gap: 12px; align-items: center;
    margin-bottom: 18px; padding-bottom: 18px; border-bottom: 1px solid var(--line);
}
.io-summary__star {
    width: 48px; height: 48px; border-radius: 10px; background: var(--ua-yellow);
    color: #1a1410; display: grid; place-items: center;
    font-family: var(--font-display); font-size: 18px; font-weight: 800;
}
.io-summary__name { font-family: var(--font-display); font-size: 16px; font-weight: 700; }
.io-summary__plan { font-size: 12px; color: var(--muted); margin-top: 2px; }
.io-summary__incl { list-style: none; padding: 0; margin: 0 0 18px; display: grid; gap: 8px; }
.io-summary__incl li { font-size: 13px; color: var(--dark); line-height: 1.5; }
.io-summary__total {
    display: flex; justify-content: space-between; align-items: baseline;
    padding-top: 14px; border-top: 1px solid var(--line);
}
.io-summary__total span:first-child {
    font-family: var(--font-display); font-size: 14px; font-weight: 700;
}
.io-summary__amount {
    font-family: var(--font-display); font-size: 28px; font-weight: 800;
    letter-spacing: -0.02em; color: var(--ink);
}
.io-summary__guarantee {
    background: linear-gradient(135deg, #fff4b8 0%, #ffe166 100%);
    border: 1px solid #e6c700; border-radius: 10px;
    padding: 12px 14px; margin-top: 14px;
    font-size: 12px; color: #3a2f00; line-height: 1.5;
}

.io-summary__alt {
    background: #fff; border: 1px solid var(--line); border-radius: 12px;
    padding: 18px 20px; margin-top: 14px;
}
.io-summary__alt-h {
    font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.08em;
    color: var(--muted); font-weight: 700; margin-bottom: 12px;
}
.io-summary__alt-item {
    display: flex; justify-content: space-between; align-items: center;
    padding: 10px 12px; background: var(--bg-2); border-radius: 8px;
    text-decoration: none; color: var(--ink); font-size: 13px;
    margin-bottom: 6px;
}
.io-summary__alt-item:last-child { margin-bottom: 0; }
.io-summary__alt-item:hover { background: var(--bg-3); }
.io-summary__alt-price { font-family: var(--font-mono); font-weight: 700; color: var(--ua-blue); }

/* /terms/, /privacy/ — порт legal.jsx LegalPage */
.legal-hero {
    padding: 56px 0 40px;
    background: linear-gradient(180deg, #0f2033 0%, #14466b 100%);
    color: #fff;
}
.legal-hero__wrap { max-width: 860px; }
.legal-hero__eyebrow {
    font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em;
    color: var(--ua-yellow); font-weight: 700; margin-bottom: 12px;
}
.legal-hero__h1 {
    font-family: var(--font-display); font-size: 42px; font-weight: 700;
    letter-spacing: -0.02em; margin: 0 0 14px; line-height: 1.1; color: #fff;
}
@media (max-width: 700px) { .legal-hero__h1 { font-size: 30px; } }
.legal-hero__lead { font-size: 16px; color: #cfe0ee; line-height: 1.55; margin: 0; max-width: 640px; }

.legal-body { padding: 56px 0 80px; background: #fff; }
.legal-body__grid {
    display: grid; grid-template-columns: 260px 1fr; gap: 56px;
    max-width: 1080px; margin: 0 auto;
}
@media (max-width: 900px) { .legal-body__grid { grid-template-columns: 1fr; gap: 32px; } }

.legal-toc {
    position: sticky; top: 20px; align-self: start;
    border-left: 2px solid var(--line); padding-left: 18px;
}
/* На mobile sticky-toc «плавав» поверх контенту — скидаємо. */
@media (max-width: 900px) {
    .legal-toc {
        position: static; border-left: 0; border-bottom: 1px solid var(--line);
        padding: 0 0 16px; margin-bottom: 8px;
    }
}
.legal-toc__h {
    font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.12em;
    color: var(--muted); font-weight: 700; margin-bottom: 14px;
}
.legal-toc a {
    display: block; font-size: 13px; color: var(--dark);
    padding: 7px 0; line-height: 1.4; font-weight: 500; text-decoration: none;
}
.legal-toc a:hover { color: var(--ua-blue); }

.legal-article { font-size: 15px; line-height: 1.7; color: var(--dark); }
.legal-section { margin-bottom: 40px; scroll-margin-top: 20px; }
.legal-section__h {
    font-family: var(--font-display); font-size: 22px; font-weight: 700;
    letter-spacing: -0.015em; color: var(--ink); margin: 0 0 16px;
}
.legal-article p { margin: 0 0 12px; }
.legal-ul { margin: 0 0 14px; padding-left: 22px; }
.legal-ul li { margin: 5px 0; }

.legal-callout {
    border: 1px solid var(--line); padding: 14px 18px; border-radius: 10px;
    margin: 14px 0; font-size: 14px; background: var(--bg-2);
}
.legal-callout--warn { background: var(--yellow-soft); border-color: #e6c700; }
.legal-callout b { color: var(--ink); }

.legal-kv {
    background: var(--bg-2); border: 1px solid var(--line); border-radius: 10px;
    padding: 14px 18px; margin: 14px 0;
}
.legal-kv__row {
    display: grid; grid-template-columns: 200px 1fr; padding: 8px 0;
    border-bottom: 1px dashed var(--line-strong); font-size: 14px;
}
.legal-kv__row:last-child { border-bottom: 0; }
.legal-kv__l { color: var(--muted); font-weight: 500; }
.legal-kv__v { color: var(--ink); font-weight: 600; }
@media (max-width: 600px) { .legal-kv__row { grid-template-columns: 1fr; } }

.legal-footnote {
    margin-top: 40px; padding: 20px; background: var(--bg-2);
    border-radius: 12px; font-size: 13px; color: var(--muted);
}
.legal-footnote a { color: var(--ua-blue); font-weight: 600; }

/* Інфо-картка — CTA «Не можу додзвонитись» */
.info-card__cta {
    padding: 0 22px 20px;
    display: grid; gap: 8px;
}
.info-card__cta-hint { font-size: 11px; line-height: 1.5; margin: 0; }

/* /interactive/?branch=… — блок «Усі наші послуги для цієї ситуації» */
.intq__svc { margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--line); }
.intq__svc-h {
    font-family: var(--font-display); font-size: 18px; font-weight: 700;
    letter-spacing: -0.01em; margin-bottom: 18px; color: var(--ink);
}
.intq__svc-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
@media (max-width: 1000px) { .intq__svc-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .intq__svc-grid { grid-template-columns: 1fr; } }
.intq__svc-card {
    background: #fff; border: 1px solid var(--line); border-radius: 10px;
    padding: 14px 16px; display: block; color: var(--ink); text-decoration: none;
    transition: border-color .15s, box-shadow .15s;
}
.intq__svc-card:hover {
    border-color: var(--ua-yellow); text-decoration: none;
    box-shadow: 0 4px 16px rgba(15,32,51,.06);
}
.intq__svc-tag {
    font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.1em;
    font-weight: 800; margin-bottom: 6px;
}
.intq__svc-t {
    font-family: var(--font-display); font-size: 14px; font-weight: 700;
    line-height: 1.25; letter-spacing: -0.005em; margin-bottom: 4px;
}
.intq__svc-d { font-size: 12px; color: var(--muted); line-height: 1.4; margin-bottom: 8px; }
.intq__svc-p { font-family: var(--font-mono); font-size: 14px; color: var(--ink); }

/* /home/ — блок «Що робити, якщо ви…» (швидкий вхід у /interactive/) */
.home-helper { padding: 48px 0; background: var(--bg-2); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.home-helper__head { text-align: center; margin-bottom: 28px; }
.home-helper__eyebrow {
    font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em;
    color: var(--ua-blue); font-weight: 700; margin-bottom: 8px;
}
.home-helper__h {
    font-family: var(--font-display); font-size: 30px; font-weight: 700;
    letter-spacing: -0.02em; margin: 0; line-height: 1.15;
}
@media (max-width: 700px) { .home-helper__h { font-size: 22px; } }
.home-helper__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 800px) { .home-helper__grid { grid-template-columns: 1fr; } }
.home-helper__card {
    background: #fff; border: 1px solid var(--line); border-radius: 14px;
    padding: 24px 26px; display: block; color: var(--ink); text-decoration: none;
    border-left: 4px solid var(--line);
    transition: border-color .15s, box-shadow .15s, transform .15s;
}
.home-helper__card--debtor    { border-left-color: var(--red); }
.home-helper__card--creditor  { border-left-color: var(--ua-blue); }
.home-helper__card--cantreach { border-left-color: #c26a1f; }
.home-helper__card:hover {
    text-decoration: none; box-shadow: 0 8px 24px rgba(15,32,51,.08);
    transform: translateY(-2px);
}
.home-helper__icon { font-size: 32px; line-height: 1; margin-bottom: 12px; }
.home-helper__t {
    font-family: var(--font-display); font-size: 20px; font-weight: 700;
    letter-spacing: -0.01em; margin-bottom: 8px;
}
.home-helper__d { font-size: 14px; color: var(--dark); line-height: 1.55; margin-bottom: 14px; }
.home-helper__arrow {
    font-family: var(--font-display); font-size: 13px; font-weight: 700; color: var(--ua-blue);
}

/* === Reviews page (PP3 — /dvs|/pv/.../reviews.html) ====================== */
.rev-page { padding: 28px 0 60px; }
.rev-page__head { margin-bottom: 22px; }
.rev-page__back {
    display: inline-block; font-size: 13px; color: var(--muted);
    text-decoration: none; margin-bottom: 10px;
}
.rev-page__back:hover { color: var(--dark); }
.rev-page__h1 {
    font-family: var(--font-display); font-size: clamp(24px, 4vw, 34px); font-weight: 800;
    letter-spacing: -0.02em; margin: 0 0 8px; line-height: 1.15;
}
.rev-page__sub { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 15px; }
.rev-page__stars { color: #f5a623; letter-spacing: 1px; font-size: 18px; }
.rev-page__page-tag { font-size: 13px; margin-top: 6px; }
.rev-page__breakdown { padding: 18px 22px; margin-bottom: 18px; max-width: 520px; }
.rev-page__list { display: flex; flex-direction: column; gap: 14px; margin: 0 0 22px; padding: 0; list-style: none; }
.rev-page__list .review { padding: 18px 22px; }
.rev-page__empty { padding: 26px 28px; }
.rev-page__empty p { margin: 0 0 8px; }
.rev-page__pagination { margin: 8px 0 28px; }
.rev-page__form-wrap { padding: 22px 24px; margin-bottom: 18px; }
.rev-page__form-h {
    font-family: var(--font-display); font-size: 20px; font-weight: 700;
    margin: 0 0 6px; letter-spacing: -0.01em;
}
.rev-page__nav { margin-top: 18px; }
.section-more {
    font-size: 13px; font-weight: 600; color: var(--ua-blue); text-decoration: none;
    white-space: nowrap;
}
.section-more:hover { text-decoration: underline; }
.review-card__more {
    display: inline-block; margin: 16px 0 0; padding: 10px 16px;
    font-size: 13px; font-weight: 600; color: var(--ua-blue);
    border: 1px solid var(--ua-blue); border-radius: 8px; text-decoration: none;
}
.review-card__more:hover { background: var(--ua-blue); color: #fff; }

/* === Similar executors block (PP7) ====================================== */
.sim-execs { margin-top: 28px; }
.sim-execs__h {
    font-family: var(--font-display); font-size: 22px; font-weight: 700;
    letter-spacing: -0.01em; margin: 0 0 16px;
}
.sim-execs__grid {
    display: grid; gap: 12px;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}
.sim-execs__card {
    display: flex; align-items: center; gap: 12px;
    padding: 14px 16px; background: #fff;
    border: 1px solid var(--card-border, #e6ebf1); border-radius: 12px;
    text-decoration: none; color: inherit; transition: all .15s ease;
}
.sim-execs__card:hover {
    border-color: var(--ua-blue); transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(15,32,51,.06);
}
.sim-execs__avatar {
    flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 14px; color: #fff;
    overflow: hidden;
}
.sim-execs__avatar img { width: 100%; height: 100%; object-fit: cover; }
.sim-execs__avatar--state   { background: linear-gradient(135deg, #2563eb, #1e40af); }
.sim-execs__avatar--private { background: linear-gradient(135deg, #16a34a, #166534); }
.sim-execs__body { flex: 1; min-width: 0; }
.sim-execs__name {
    font-weight: 600; font-size: 14px; line-height: 1.3;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.sim-execs__meta { font-size: 12px; margin-top: 2px; }
.sim-execs__rating {
    display: flex; align-items: center; gap: 6px;
    font-size: 12px; margin-top: 4px;
}
.sim-execs__stars { color: #f5a623; letter-spacing: 1px; }
.sim-execs__arrow {
    flex-shrink: 0; font-size: 16px; color: var(--muted);
    transition: transform .15s ease;
}
.sim-execs__card:hover .sim-execs__arrow { transform: translateX(3px); color: var(--ua-blue); }

/* === Site-wide reviews aggregator (PP2) ================================= */
.rev-agg { padding: 28px 0 60px; }
.rev-agg__head { margin-bottom: 24px; max-width: 720px; }
.rev-agg__eyebrow {
    font-size: 12px; font-weight: 700; letter-spacing: 1.5px;
    color: var(--ua-blue); margin-bottom: 6px;
}
.rev-agg__h1 {
    font-family: var(--font-display); font-size: clamp(28px, 5vw, 40px);
    font-weight: 800; letter-spacing: -0.02em; margin: 0 0 10px; line-height: 1.1;
}
.rev-agg__lead { color: var(--dark); font-size: 15px; line-height: 1.55; margin: 0 0 18px; }
.rev-agg__tabs { display: flex; gap: 6px; flex-wrap: wrap; }
.rev-agg__tab {
    display: inline-block; padding: 8px 14px; border-radius: 999px;
    font-size: 13px; font-weight: 600; text-decoration: none; color: var(--dark);
    background: #f1f4f8; border: 1px solid transparent; transition: all .15s;
}
.rev-agg__tab:hover { background: #e6ebf1; }
.rev-agg__tab.is-active {
    background: var(--ua-blue); color: #fff;
}
.rev-agg__list { list-style: none; padding: 0; margin: 0 0 22px; display: flex; flex-direction: column; gap: 14px; }
.rev-agg__item { padding: 18px 22px; }
.rev-agg__item-head {
    display: flex; align-items: flex-start; justify-content: space-between;
    gap: 10px; flex-wrap: wrap; margin-bottom: 8px;
}
.rev-agg__item-target { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.rev-agg__exec { font-weight: 700; font-size: 15px; color: var(--ua-blue); text-decoration: none; }
.rev-agg__exec:hover { text-decoration: underline; }
.rev-agg__pill {
    font-size: 11px; font-weight: 700; letter-spacing: 0.5px;
    padding: 2px 8px; border-radius: 4px; text-transform: uppercase;
}
.rev-agg__pill--state   { background: #e0e7ff; color: #1e40af; }
.rev-agg__pill--private { background: #d1fae5; color: #065f46; }
.rev-agg__item-meta { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.rev-agg__stars { color: #f5a623; letter-spacing: 1px; }
.rev-agg__item-author { font-size: 13px; margin-bottom: 6px; }
.rev-agg__item-body { font-size: 14px; line-height: 1.55; margin: 0 0 8px; color: var(--dark); }
.rev-agg__item-perma { font-size: 12px; text-decoration: none; }
.rev-agg__item-perma:hover { text-decoration: underline; }

/* === Executor cases (ClickHouse-driven) ================================= */
.exec-cases { padding: 22px 26px; margin-bottom: 22px; }
.exec-cases__head {
    display: flex; justify-content: space-between; align-items: flex-start;
    gap: 16px; margin-bottom: 18px; padding-bottom: 16px;
    border-bottom: 1px solid #f0f3f7;
}
.exec-cases__total {
    font-family: var(--font-display); font-size: 36px; font-weight: 800;
    line-height: 1; letter-spacing: -0.02em; color: var(--ua-blue);
}
.exec-cases__label { font-size: 13px; margin-top: 4px; }
.exec-cases__src { text-align: right; line-height: 1.4; }
.exec-cases__breakdown { display: flex; flex-direction: column; gap: 8px; }
.exec-cases__row { display: grid; grid-template-columns: 110px 1fr 60px; align-items: center; gap: 10px; font-size: 13px; }
.exec-cases__status { color: var(--dark); }
.exec-cases__bar { height: 8px; background: #f0f3f7; border-radius: 4px; overflow: hidden; }
.exec-cases__fill { height: 100%; background: var(--ua-blue); border-radius: 4px; }
.exec-cases__n { text-align: right; font-variant-numeric: tabular-nums; font-weight: 600; }

/* === Top loaded DVS block on /dvs/ ====================================== */
.top-dvs { padding: 32px 0 12px; background: linear-gradient(180deg, #f8fafc 0%, transparent 100%); }
.top-dvs__head { max-width: 720px; margin-bottom: 20px; }
.top-dvs__eyebrow {
    font-size: 11px; font-weight: 700; letter-spacing: 1.5px;
    color: var(--ua-blue); margin-bottom: 6px;
}
.top-dvs__h {
    font-family: var(--font-display); font-size: clamp(22px, 3vw, 28px);
    font-weight: 700; letter-spacing: -0.01em; margin: 0 0 8px;
}
.top-dvs__sub { font-size: 14px; margin: 0; }
.top-dvs__grid {
    display: grid; gap: 10px;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
}
.top-dvs__card {
    display: flex; align-items: center; gap: 14px; padding: 14px 16px;
    background: #fff; border: 1px solid #e6ebf1; border-radius: 12px;
    text-decoration: none; color: inherit; transition: all .15s ease;
}
.top-dvs__card:hover {
    border-color: var(--ua-blue); transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(15,32,51,.06);
}
.top-dvs__rank {
    flex-shrink: 0; width: 36px; height: 36px; border-radius: 50%;
    background: var(--ua-blue); color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-weight: 800; font-size: 14px;
}
.top-dvs__body { flex: 1; min-width: 0; }
.top-dvs__name {
    font-weight: 600; font-size: 14px; line-height: 1.3;
    overflow: hidden; text-overflow: ellipsis; display: -webkit-box;
    -webkit-line-clamp: 2; -webkit-box-orient: vertical;
}
.top-dvs__region { font-size: 12px; margin-top: 2px; }
.top-dvs__cases { text-align: right; flex-shrink: 0; }
.top-dvs__cases-n {
    font-family: var(--font-display); font-size: 22px; font-weight: 800;
    line-height: 1; color: #ed0000; letter-spacing: -0.01em;
}
.top-dvs__cases-l { font-size: 11px; margin-top: 2px; }

/* === Blog article — design-blocks (rendered from data-block markers) ==== */
/* Усі ці блоки emit-ятся редактором /admin/articles/* (admin-blocks.js). */

/* Paragraph — простий <p> отримує data-block="paragraph" в редакторі;
   на сторінці виглядає як звичайний текст у .art-prose контейнері. */

/* Headings */
.art-prose h2[data-block="heading"],
.art-prose h3[data-block="heading"],
.art-prose h4[data-block="heading"],
.art-prose h5[data-block="heading"] {
    font-family: var(--font-display); font-weight: 700; letter-spacing: -0.015em;
    color: var(--ink); scroll-margin-top: 80px;
}
.art-prose h2[data-block="heading"] { font-size: 24px; margin: 32px 0 14px; }
.art-prose h3[data-block="heading"] { font-size: 19px; margin: 26px 0 10px; }
.art-prose h4[data-block="heading"] { font-size: 16px; margin: 20px 0 8px; }
.art-prose h5[data-block="heading"] { font-size: 14px; margin: 18px 0 6px; }

/* Callout (виноска info/warn) */
.art-prose [data-block="callout"] {
    background: var(--bg-2, #f6f8fb); border: 1px solid var(--line, #e4e9ef);
    padding: 14px 18px; border-radius: 10px; margin: 16px 0; font-size: 15px;
    line-height: 1.6;
}
.art-prose [data-block="callout"][data-tone="warn"] {
    background: var(--yellow-soft, #fff4b8); border-color: #e5c700;
}
.art-prose [data-block="callout"][data-tone="danger"] {
    background: #ffe9e6; border-color: #d8352a;
}
.art-prose [data-block="callout"] [data-callout-title] { font-weight: 700; }

/* Key-value table */
.art-prose [data-block="kv"] {
    background: var(--bg-2, #f6f8fb); border: 1px solid var(--line, #e4e9ef);
    border-radius: 10px; padding: 14px 18px; margin: 16px 0;
}
.art-prose [data-block="kv"] [data-kv-row] {
    display: grid; grid-template-columns: 230px 1fr; padding: 10px 0;
    border-bottom: 1px dashed var(--line-strong, #cbd5df); font-size: 14px;
}
.art-prose [data-block="kv"] [data-kv-row]:last-child { border-bottom: 0; }
.art-prose [data-block="kv"] [data-kv-label] { color: var(--muted, #5a6b7a); font-weight: 500; }
.art-prose [data-block="kv"] [data-kv-value] { color: var(--ink, #0f2033); font-weight: 600; }
@media (max-width: 600px) {
    .art-prose [data-block="kv"] [data-kv-row] { grid-template-columns: 1fr; gap: 4px; }
}

/* Steps (нумерований список з жовтими кружальцями) */
.art-prose [data-block="steps"] {
    margin: 16px 0; display: grid; gap: 10px;
    list-style: none; padding-left: 0;
}
.art-prose [data-block="steps"] [data-step] {
    display: grid; grid-template-columns: auto 1fr; gap: 14px;
    background: #fff; border: 1px solid var(--line, #e4e9ef); border-radius: 10px;
    padding: 14px 18px;
}
.art-prose [data-block="steps"] [data-step]::before {
    content: counter(step-counter); counter-increment: step-counter;
    width: 32px; height: 32px; border-radius: 8px;
    background: var(--ua-yellow, #ffd500); display: grid; place-items: center;
    font-family: var(--font-display); font-weight: 800; font-size: 13px;
    grid-column: 1; grid-row: 1 / 3;
}
.art-prose [data-block="steps"] { counter-reset: step-counter; }
.art-prose [data-block="steps"] [data-step] [data-step-title] {
    font-weight: 700; font-size: 14px; color: var(--ink, #0f2033);
    margin-bottom: 2px; display: block;
}
.art-prose [data-block="steps"] [data-step] [data-step-desc] {
    font-size: 13px; color: var(--muted, #5a6b7a); line-height: 1.5; display: block;
}

/* 3-card grid (грідні картки з заголовком + описом + time-tag) */
.art-prose [data-block="grid3"] {
    margin: 16px 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px;
}
@media (max-width: 700px) {
    .art-prose [data-block="grid3"] { grid-template-columns: 1fr; }
}
.art-prose [data-block="grid3"] [data-card] {
    border: 1px solid var(--line, #e4e9ef); border-radius: 10px;
    padding: 16px; background: #fff;
}
.art-prose [data-block="grid3"] [data-card] [data-card-title] {
    font-family: var(--font-display); font-size: 14px; font-weight: 700;
    margin-bottom: 6px; display: block;
}
.art-prose [data-block="grid3"] [data-card] [data-card-desc] {
    font-size: 12px; color: var(--muted, #5a6b7a); line-height: 1.5;
    margin-bottom: 10px; display: block;
}
.art-prose [data-block="grid3"] [data-card] [data-card-time] {
    font-family: var(--font-mono, monospace); font-size: 10px;
    background: var(--yellow-soft, #fff4b8); color: #5a4800;
    padding: 3px 8px; border-radius: 4px; font-weight: 700;
    letter-spacing: .06em; text-transform: uppercase; display: inline-block;
}

/* Image block */
.art-prose [data-block="image"] {
    margin: 18px 0; padding: 0; display: block;
}
.art-prose [data-block="image"] img {
    max-width: 100%; height: auto; border-radius: 10px; display: block;
}
.art-prose [data-block="image"] figcaption {
    font-size: 12px; color: var(--muted, #5a6b7a); margin-top: 6px;
    text-align: center;
}

/* Quote */
.art-prose [data-block="quote"] {
    border-left: 3px solid var(--ua-yellow, #ffd500); padding: 6px 18px;
    margin: 18px 0; font-style: italic; color: var(--dark, #233b4d);
    font-size: 17px; line-height: 1.6;
}

/* Raw HTML (back-compat) — без додаткових стилів, рендер як є */
.art-prose [data-block="html"] { margin: 14px 0; }

/* CTA-блок у статті — заклик-до-дії з кнопкою */
.art-prose [data-block="cta"] {
    margin: 22px 0; padding: 26px 28px; border-radius: 14px;
    color: #fff; text-align: left;
}
.art-prose [data-block="cta"][data-tone="dark"]   { background: linear-gradient(135deg, #0f2033 0%, #14466b 100%); }
.art-prose [data-block="cta"][data-tone="yellow"] { background: linear-gradient(135deg, #ffd500 0%, #f5a623 100%); color: #1a1410; }
.art-prose [data-block="cta"][data-tone="blue"]   { background: linear-gradient(135deg, #005bbb 0%, #2563eb 100%); }
.art-prose [data-block="cta"][data-tone="green"]  { background: linear-gradient(135deg, #0a7b3d 0%, #16a34a 100%); }
.art-prose [data-block="cta"][data-tone="danger"] { background: linear-gradient(135deg, #d8352a 0%, #ed6359 100%); }
.art-prose [data-block="cta"] [data-cta-title] {
    font-family: var(--font-display, sans-serif); font-size: 20px; font-weight: 800;
    letter-spacing: -0.01em; margin-bottom: 8px; line-height: 1.25;
}
.art-prose [data-block="cta"] [data-cta-text] {
    font-size: 14px; line-height: 1.55; margin-bottom: 16px; opacity: 0.92;
}
.art-prose [data-block="cta"] [data-cta-btn] {
    display: inline-block; background: var(--ua-yellow, #ffd500); color: #1a1410;
    padding: 12px 22px; border-radius: 10px; text-decoration: none;
    font-family: var(--font-display, sans-serif); font-weight: 800; font-size: 14px;
    box-shadow: 0 3px 0 rgba(217, 179, 0, 0.85); transition: transform .12s ease;
}
.art-prose [data-block="cta"][data-tone="yellow"] [data-cta-btn] {
    background: #1a1410; color: #ffd500; box-shadow: 0 3px 0 #000;
}
.art-prose [data-block="cta"] [data-cta-btn]:hover { transform: translateY(-1px); }

/* === Department chief card (на /dvs/{r}/{d}/ перед таблицею) ============ */
.dept-chief {
    display: flex; align-items: center; gap: 18px;
    padding: 18px 22px; margin-bottom: 22px;
    text-decoration: none; color: inherit;
    border: 2px solid var(--ua-yellow, #ffd500);
    background: linear-gradient(180deg, #fffbe6 0%, #fff 70%);
    border-radius: 14px; transition: all .15s ease;
}
.dept-chief:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(255, 213, 0, 0.25);
}
.dept-chief__avatar {
    flex-shrink: 0; width: 56px; height: 56px; border-radius: 50%;
    background: linear-gradient(135deg, #2563eb, #1e40af);
    color: #fff; display: grid; place-items: center;
    font-family: var(--font-display, sans-serif); font-weight: 800; font-size: 18px;
}
.dept-chief__body { flex: 1; min-width: 0; }
.dept-chief__role {
    font-size: 11px; font-weight: 700; letter-spacing: 1.5px;
    color: var(--ua-blue, #005bbb); text-transform: uppercase; margin-bottom: 4px;
}
.dept-chief__name {
    font-family: var(--font-display, sans-serif); font-size: 20px; font-weight: 800;
    color: var(--ink, #0f2033); letter-spacing: -0.01em; margin-bottom: 6px;
    line-height: 1.2;
}
.dept-chief__facts {
    font-size: 13px; color: var(--dark, #233b4d); display: flex; gap: 16px; flex-wrap: wrap;
}
.dept-chief__rating { text-align: center; flex-shrink: 0; }
.dept-chief__rating-n {
    font-family: var(--font-display, sans-serif); font-size: 24px; font-weight: 800;
    color: var(--ink, #0f2033); line-height: 1;
}
.dept-chief__arrow {
    flex-shrink: 0; font-size: 22px; color: var(--ua-blue, #005bbb);
    transition: transform .15s ease;
}
.dept-chief:hover .dept-chief__arrow { transform: translateX(4px); }

/* === PV warning блок (suspended / no-ASVP) ============================== */
.pv-alert {
    display: flex; gap: 14px; align-items: flex-start;
    padding: 18px 22px; margin-bottom: 16px;
    background: linear-gradient(135deg, #fff5f4 0%, #ffe9e6 100%);
    border: 2px solid #d8352a; border-radius: 12px;
}
.pv-alert__icon {
    flex-shrink: 0; font-size: 28px; line-height: 1;
}
.pv-alert__body { flex: 1; min-width: 0; }
.pv-alert__title {
    font-family: var(--font-display, sans-serif); font-size: 17px; font-weight: 800;
    color: #a82015; margin-bottom: 6px;
}
.pv-alert__list {
    margin: 0; padding: 0 0 0 18px; font-size: 14px;
    color: #5a1410; line-height: 1.55;
}
.pv-alert__list li { margin: 3px 0; }

/* === PV «Статистика виконавця» (інфографіка closed-ratio) — redesign ==== */
.pv-stat {
    margin: 22px 0 28px;
    border-radius: 16px; overflow: hidden;
    border: 1px solid #d4ebd9;
    box-shadow: 0 8px 24px rgba(15, 32, 51, 0.06);
}

/* HERO: 3 великі цифри в один ряд на темному градієнті */
.pv-stat__hero {
    background: linear-gradient(135deg, #0a7b3d 0%, #16a34a 50%, #1aa55c 100%);
    color: #fff; padding: 22px 26px;
}
.pv-stat__hero-eyebrow {
    font-size: 11px; font-weight: 700; letter-spacing: 1.8px;
    color: rgba(255, 255, 255, 0.85); margin-bottom: 16px;
    font-family: var(--font-mono, monospace);
}
.pv-stat__hero-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
    align-items: end;
}
@media (max-width: 600px) {
    .pv-stat__hero-grid { grid-template-columns: 1fr 1fr; gap: 18px; }
    .pv-stat__hero-cell--total { grid-column: 1 / 3; }
}
.pv-stat__hero-cell { text-align: left; }
.pv-stat__hero-n {
    font-family: var(--font-display, sans-serif); font-size: 44px; font-weight: 800;
    line-height: 1; letter-spacing: -0.025em; color: #fff;
}
.pv-stat__hero-cell--total .pv-stat__hero-n { font-size: 56px; color: #ffffff; }
.pv-stat__hero-cell--closed .pv-stat__hero-n { color: #fff8c5; }
.pv-stat__hero-cell--active .pv-stat__hero-n { color: rgba(255, 255, 255, 0.95); }
.pv-stat__hero-l {
    font-size: 12px; line-height: 1.4; margin-top: 8px;
    color: rgba(255, 255, 255, 0.92); text-transform: uppercase;
    letter-spacing: 0.5px; font-weight: 600;
}

/* Прогрес-бар */
.pv-stat__progress {
    background: #fff; padding: 16px 26px; border-bottom: 1px solid #e6ebf1;
}
.pv-stat__progress-head {
    display: flex; justify-content: space-between; align-items: baseline;
    margin-bottom: 8px; font-size: 13px;
}
.pv-stat__progress-l { color: var(--muted, #5a6b7a); font-weight: 600; }
.pv-stat__progress-pct {
    font-family: var(--font-display, sans-serif); font-weight: 800;
    color: #0a7b3d; font-size: 18px;
}
.pv-stat__bar {
    height: 12px; background: #f0f3f7; border-radius: 6px; overflow: hidden;
}
.pv-stat__bar-fill {
    height: 100%; background: linear-gradient(90deg, #0a7b3d 0%, #16a34a 100%);
    border-radius: 6px; transition: width .8s ease;
}

/* SEO-абзац */
.pv-stat__seo {
    background: #f8fafc; padding: 18px 26px;
    font-size: 14px; line-height: 1.6; color: var(--dark, #233b4d);
}
.pv-stat__seo p { margin: 0 0 10px; }
.pv-stat__seo p:last-child { margin: 0; font-size: 13px; }
.pv-stat__seo strong { color: var(--ink, #0f2033); font-weight: 700; }

/* Status breakdown — горизонтальні бари за VP_STATE */
.pv-stat__breakdown { background: #fff; padding: 16px 26px; border-bottom: 1px solid #e6ebf1; }
.pv-stat__breakdown-h {
    font-size: 13px; font-weight: 700; color: var(--dark, #233b4d);
    margin-bottom: 12px; letter-spacing: -0.005em;
}
.pv-stat__bk-row {
    display: grid; grid-template-columns: 130px 1fr 60px;
    align-items: center; gap: 10px; padding: 5px 0; font-size: 12.5px;
}
.pv-stat__bk-l { color: var(--dark, #233b4d); }
.pv-stat__bk-bar { height: 8px; background: #f0f3f7; border-radius: 4px; overflow: hidden; }
.pv-stat__bk-fill {
    height: 100%; background: linear-gradient(90deg, #0a7b3d 0%, #16a34a 100%);
    border-radius: 4px; transition: width .6s ease;
}
.pv-stat__bk-n { text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; }

/* === Hero mini-stat (компактний блок праворуч від ПІБ) ================== */
.exec-hero-mini {
    background: linear-gradient(135deg, #0a7b3d 0%, #16a34a 100%);
    color: #fff; padding: 18px 20px; border-radius: 12px;
    box-shadow: 0 8px 24px rgba(10, 123, 61, 0.18);
}
.exec-hero-mini--blue {
    background: linear-gradient(135deg, #14466b 0%, #2563eb 100%);
    box-shadow: 0 8px 24px rgba(20, 70, 107, 0.18);
}
.exec-hero-mini__eyebrow {
    font-size: 10px; font-weight: 700; letter-spacing: 1.5px;
    color: rgba(255, 255, 255, 0.85); margin-bottom: 12px;
    font-family: var(--font-mono, monospace);
}
.exec-hero-mini__big {
    display: flex; align-items: baseline; gap: 12px; margin-bottom: 14px;
    padding-bottom: 14px; border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}
.exec-hero-mini__n {
    font-family: var(--font-display, sans-serif); font-size: 38px; font-weight: 800;
    line-height: 1; letter-spacing: -0.025em; color: #fff8c5;
}
.exec-hero-mini__l {
    font-size: 11px; line-height: 1.3; color: rgba(255, 255, 255, 0.92);
    font-weight: 600; letter-spacing: 0.3px;
}
.exec-hero-mini__row {
    display: flex; justify-content: space-between; align-items: baseline;
    font-size: 13px; padding: 4px 0;
}
.exec-hero-mini__row-l { color: rgba(255, 255, 255, 0.85); }
.exec-hero-mini__row-v { font-weight: 600; color: #fff; }
.exec-hero-mini__bar {
    height: 6px; background: rgba(255, 255, 255, 0.2); border-radius: 3px;
    margin: 12px 0 10px; overflow: hidden;
}
.exec-hero-mini__bar-fill {
    height: 100%; background: #fff8c5; border-radius: 3px;
    transition: width .8s ease;
}
.exec-hero-mini__more {
    display: block; font-size: 12px; color: rgba(255, 255, 255, 0.85);
    text-decoration: none; font-weight: 600;
}
.exec-hero-mini__more:hover { color: #fff8c5; }
.exec-hero-mini__src { font-size: 11px; margin-top: 8px; color: rgba(255, 255, 255, 0.7) !important; }

/* === /stats/ — public dashboard ========================================= */
.stats-hero {
    padding: 50px 0 30px;
    background: linear-gradient(135deg, #0f2033 0%, #14466b 100%);
    color: #fff; text-align: center;
}
.stats-hero__eyebrow {
    font-family: var(--font-mono, monospace); font-size: 11px; font-weight: 700;
    letter-spacing: 1.8px; color: var(--ua-yellow, #ffd500); margin-bottom: 10px;
}
.stats-hero__h {
    font-family: var(--font-display, sans-serif); font-size: clamp(26px, 4vw, 38px);
    font-weight: 800; letter-spacing: -0.02em; margin: 0 0 14px; color: #fff;
}
.stats-hero__lead {
    font-size: 15px; line-height: 1.55; color: rgba(255, 255, 255, 0.85);
    max-width: 640px; margin: 0 auto;
}

.stats-section { padding: 40px 0; }
.stats-section--alt { background: var(--bg-2, #f6f8fb); }
.stats-section--cta { background: linear-gradient(135deg, #0a7b3d 0%, #16a34a 100%); color: #fff; text-align: center; padding: 50px 0; }
.stats-h {
    font-family: var(--font-display, sans-serif); font-size: clamp(20px, 3vw, 28px);
    font-weight: 700; letter-spacing: -0.015em; margin: 0 0 8px;
}

.stats-grid {
    display: grid; gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    margin-top: 18px;
}
.stats-grid--big {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.stat-cell {
    background: #fff; border: 1px solid #e6ebf1; border-radius: 12px;
    padding: 22px 20px; text-align: center;
}
.stat-cell--red    { border-color: #d8352a; background: linear-gradient(180deg,#fff5f4 0%,#fff 70%); }
.stat-cell--blue   { border-color: var(--ua-blue, #005bbb); background: linear-gradient(180deg,#eef4fa 0%,#fff 70%); }
.stat-cell--orange { border-color: #c26a1f; background: linear-gradient(180deg,#fff3e6 0%,#fff 70%); }
.stat-cell__n {
    font-family: var(--font-display, sans-serif); font-size: 42px; font-weight: 800;
    line-height: 1; letter-spacing: -0.03em; color: var(--ink, #0f2033);
}
.stat-cell--red .stat-cell__n    { color: #d8352a; }
.stat-cell--blue .stat-cell__n   { color: var(--ua-blue, #005bbb); }
.stat-cell--orange .stat-cell__n { color: #c26a1f; }
.stat-cell__u { font-size: 22px; font-weight: 700; margin-left: 4px; opacity: 0.85; }
.stat-cell__l { font-weight: 600; font-size: 13px; margin-top: 8px; color: var(--dark, #233b4d); }
.stat-cell__d { font-size: 11px; margin-top: 4px; }

.stats-rank { display: flex; flex-direction: column; gap: 6px; }
.stats-rank__row {
    display: grid; grid-template-columns: 50px 1fr auto;
    align-items: center; gap: 12px; padding: 10px 14px;
    background: #fff; border: 1px solid #e6ebf1; border-radius: 10px;
}
.stats-rank__n {
    font-family: var(--font-display, sans-serif); font-weight: 800;
    color: var(--ua-blue, #005bbb); font-size: 14px;
}
.stats-rank__name { font-size: 14px; }
.stats-rank__v { font-size: 14px; }
.stats-rank__v b { color: #d8352a; font-size: 16px; }

/* ===== Промо-блок на /kolektory/reestr/ ============================== */
.kk-promo {
    background: #fff; border: 1px solid var(--line, #e4e9ef); border-radius: 14px;
    padding: 28px 32px; margin: 26px 0;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
}
.kk-promo__hero {
    background: linear-gradient(135deg, #fff5f5 0%, #ffeaea 100%);
    border-radius: 12px; padding: 22px 24px; margin-bottom: 22px;
    border-left: 4px solid #dc2626;
}
.kk-promo__h {
    font-family: var(--font-display, sans-serif);
    font-size: 26px; font-weight: 800; margin: 0 0 12px; color: #0f2033;
    line-height: 1.2;
}
.kk-promo__problems {
    margin: 0; padding-left: 22px; font-size: 15px; line-height: 1.7;
    color: var(--ink, #0f2033);
}
.kk-promo__problems li { margin: 4px 0; }

.kk-promo__grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
    margin-bottom: 24px;
}
@media (max-width: 900px) { .kk-promo__grid { grid-template-columns: 1fr; } }

.kk-promo__card {
    border: 1px solid; border-radius: 12px; padding: 18px 20px;
    font-size: 14px; line-height: 1.55;
}
.kk-promo__card--warn { background: #fffbeb; border-color: #fde68a; }
.kk-promo__card--info { background: #eff6ff; border-color: #bfdbfe; }
.kk-promo__card--ok   { background: #ecfdf5; border-color: #a7f3d0; }

.kk-promo__card-h {
    font-family: var(--font-display, sans-serif);
    font-size: 17px; font-weight: 700; margin-bottom: 10px;
    color: var(--ink, #0f2033); line-height: 1.3;
}
.kk-promo__card p { margin: 0 0 8px; }
.kk-promo__card ul, .kk-promo__card ol {
    margin: 6px 0; padding-left: 22px;
}
.kk-promo__card li { margin: 3px 0; }

.kk-promo__cta {
    text-align: center; padding: 22px 16px;
    background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
    border-radius: 12px;
}
.kk-promo__cta-lead {
    font-size: 16px; font-weight: 600; color: var(--ink, #0f2033);
    margin: 0 0 14px;
}
.kk-promo__cta .btn--lg { font-size: 16px; padding: 14px 26px; margin: 0 6px 8px; }
.kk-promo__cta .btn--ghost { display: inline-block; }

/* ===== /docs/free/ — каталог безкоштовних шаблонів =================== */
.free-docs-grid {
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px;
    margin: 18px 0;
}
@media (max-width: 800px) { .free-docs-grid { grid-template-columns: 1fr; } }
.free-doc-card {
    background: #fff; border: 1px solid var(--line, #e4e9ef); border-radius: 12px;
    padding: 22px 24px; transition: border-color .15s, transform .15s, box-shadow .15s;
}
.free-doc-card:hover {
    border-color: var(--ua-blue, #005bbb);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 91, 187, .08);
}
.free-doc-card__icon { font-size: 32px; line-height: 1; margin-bottom: 8px; }
.free-doc-card__title {
    font-family: var(--font-display, sans-serif);
    font-size: 17px; font-weight: 700; margin: 0 0 6px; line-height: 1.3;
}
.free-doc-card__title a { color: var(--ink, #0f2033); text-decoration: none; }
.free-doc-card__title a:hover { color: var(--ua-blue, #005bbb); }
.free-doc-card__sub {
    font-size: 13px; color: var(--muted, #5a6b7a); margin: 0 0 8px;
}
.free-doc-card__desc {
    font-size: 14px; line-height: 1.55; color: var(--dark, #233b4d); margin: 0 0 10px;
}
.free-doc-card__law {
    font-size: 12px; color: var(--ua-blue, #005bbb); margin-bottom: 14px;
    font-family: var(--font-mono, monospace);
}
.free-doc-card__actions { display: flex; gap: 8px; flex-wrap: wrap; }

/* /docs/free/{slug}/ — single page */
.free-doc-hero {
    display: flex; align-items: center; gap: 16px;
    background: var(--bg-2, #f6f8fb); border: 1px solid var(--line, #e4e9ef);
    border-radius: 12px; padding: 20px 24px; margin: 18px 0 24px; flex-wrap: wrap;
}
.free-doc-hero__icon { font-size: 42px; line-height: 1; }
.free-doc-hero__body { flex: 1; min-width: 200px; }
.free-doc-hero__filename {
    font-family: var(--font-mono, monospace); font-size: 13px; font-weight: 700;
    color: var(--ink, #0f2033);
}
.free-doc-hero__meta { font-size: 12px; color: var(--muted, #5a6b7a); margin-top: 3px; }

.free-doc-when, .free-doc-related {
    list-style: none; padding: 0; margin: 12px 0 24px;
    font-size: 15px; line-height: 1.7;
}
.free-doc-when li, .free-doc-related li {
    padding: 6px 0; border-bottom: 1px dashed var(--line, #e4e9ef);
}
.free-doc-related a { color: var(--ua-blue, #005bbb); text-decoration: none; }
.free-doc-related a:hover { text-decoration: underline; }
.free-doc-steps {
    margin: 12px 0 24px; padding-left: 22px;
    font-size: 15px; line-height: 1.7;
}
.free-doc-steps li { margin: 6px 0; }

/* Preview-блок «як аркуш паперу» (legacy / fallback на plain-text) */
.free-doc-preview {
    position: relative;
    background: #fff;
    border: 1px solid var(--line, #d8dde3);
    border-radius: 4px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08);
    padding: 36px 44px;
    font-family: 'Times New Roman', Times, serif;
    font-size: 14px;
    line-height: 1.7;
    color: #222;
    max-height: 460px;
    overflow: hidden;
    margin: 12px 0 4px;
    white-space: pre-wrap;
}
@media (max-width: 600px) {
    .free-doc-preview { padding: 22px 18px; font-size: 13px; }
}
.free-doc-preview__fade {
    position: absolute; inset: auto 0 0 0; height: 90px;
    background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,0.95) 60%, #fff);
    pointer-events: none;
}

/* Live DOCX-viewer через Microsoft Office Online (як на legacy WP-сайті).
   Iframe рендерить .docx у HTML — повне форматування, таблиці, шрифти. */
.free-doc-viewer {
    margin: 12px 0 24px;
    border: 1.5px dashed #cbd5df;
    border-radius: 6px;
    background: #fafbfc;
    padding: 8px;
}
.free-doc-viewer__head {
    display: flex; justify-content: space-between; align-items: center;
    flex-wrap: wrap; gap: 10px;
    padding: 6px 10px 10px;
}
.free-doc-viewer__filename {
    font-family: var(--font-mono, monospace); font-size: 12px;
    color: var(--muted, #5a6b7a);
}
.free-doc-viewer__download {
    color: var(--ua-blue, #005bbb);
    font-weight: 600; font-size: 13px;
    text-decoration: none;
}
.free-doc-viewer__download:hover { text-decoration: underline; }
.free-doc-viewer__frame {
    width: 100%;
    height: 720px;
    border: 0;
    background: #fff;
    border-radius: 4px;
}
@media (max-width: 700px) {
    .free-doc-viewer__frame { height: 520px; }
}

/* «Цього місяця» hero-блок */
.stats-month-hero {
    display: flex; gap: 24px; align-items: center;
    background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
    border: 1px solid #bae6fd; border-radius: 14px;
    padding: 28px 32px; margin: 6px 0 8px;
}
.stats-month-hero__big { flex: 1; }
.stats-month-hero__n {
    font-family: var(--font-display, sans-serif);
    font-size: 56px; font-weight: 800; line-height: 1;
    color: var(--ua-blue, #005bbb);
}
.stats-month-hero__l {
    font-size: 15px; color: var(--ink, #0f2033);
    margin-top: 6px; max-width: 580px;
}
.stats-month-hero__delta {
    margin-top: 10px; display: inline-block;
    padding: 4px 12px; border-radius: 999px; font-size: 13px; font-weight: 700;
}
.stats-month-hero__delta.is-up { background: #dcfce7; color: #15803d; }
.stats-month-hero__delta.is-dn { background: #fee2e2; color: #b91c1c; }

.stats-bars { display: flex; flex-direction: column; gap: 10px; }
.stats-bar {
    display: grid; grid-template-columns: 200px 1fr 100px;
    align-items: center; gap: 14px; font-size: 14px;
}

/* Регіони-лідери / Топ-блоки на /stats/ */
.stats-leaders {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px;
    margin-top: 4px;
}
@media (max-width: 900px) { .stats-leaders { grid-template-columns: 1fr; } }
.stats-leaders__col {
    background: #fff; border: 1px solid var(--line, #e4e9ef); border-radius: 12px;
    padding: 18px 20px;
}
.stats-leaders__h {
    font-family: var(--font-display, sans-serif);
    font-size: 14px; font-weight: 700; margin: 0 0 14px;
    color: var(--ink, #0f2033); line-height: 1.3;
}
.stats-leaders__list {
    margin: 0; padding: 0; list-style: none; counter-reset: ld;
    display: flex; flex-direction: column; gap: 8px;
}
.stats-leaders__list li {
    counter-increment: ld;
    display: grid; grid-template-columns: auto 1fr auto;
    gap: 10px; align-items: center;
    padding: 8px 0; border-bottom: 1px dashed var(--line, #e4e9ef);
    font-size: 14px; line-height: 1.4;
}
.stats-leaders__list li:last-child { border-bottom: 0; }
.stats-leaders__list li::before {
    content: counter(ld);
    width: 24px; height: 24px; line-height: 22px; text-align: center;
    background: var(--bg-2, #f6f8fb); border-radius: 50%;
    font-family: var(--font-mono, monospace); font-size: 12px; font-weight: 700;
    color: var(--muted, #5a6b7a);
}
.stats-leaders__list li:nth-child(1)::before {
    background: #fde68a; color: #92400e;  /* gold */
}
.stats-leaders__list li:nth-child(2)::before {
    background: #e5e7eb; color: #374151;  /* silver */
}
.stats-leaders__list li:nth-child(3)::before {
    background: #fed7aa; color: #9a3412;  /* bronze */
}
.stats-leaders__list a {
    color: var(--ua-blue, #005bbb); text-decoration: none; font-weight: 600;
}
.stats-leaders__list a:hover { text-decoration: underline; }
.stats-leaders__sub {
    font-size: 11px; color: var(--muted, #5a6b7a);
    grid-column: 2; margin-top: -3px;
}
.stats-leaders__n {
    font-family: var(--font-mono, monospace); font-size: 13px; font-weight: 700;
    color: var(--ink, #0f2033); white-space: nowrap;
}
.stats-leaders__n small { font-weight: 400; color: var(--muted, #5a6b7a); }
.stats-bar__l { color: var(--dark, #233b4d); }
.stats-bar__track { height: 12px; background: #e6ebf1; border-radius: 6px; overflow: hidden; }
.stats-bar__fill {
    height: 100%; background: linear-gradient(90deg, var(--ua-blue, #005bbb) 0%, #2563eb 100%);
    border-radius: 6px;
}
.stats-bar__n { font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; }
@media (max-width: 600px) {
    .stats-bar { grid-template-columns: 1fr; gap: 4px; }
    .stats-bar__n { text-align: left; }
}
@media (max-width: 600px) {
    .pv-stat__bk-row { grid-template-columns: 100px 1fr 50px; gap: 8px; font-size: 11.5px; }
}

/* === Modal «Записатись на прийом» (data-pv-appointment-modal) =========== */
.appt-modal {
    position: fixed; inset: 0; z-index: 1000;
    display: grid; place-items: center; padding: 16px;
}
.appt-modal[hidden] { display: none; }
.appt-modal__backdrop {
    position: absolute; inset: 0;
    background: rgba(15, 32, 51, 0.6); backdrop-filter: blur(2px);
}
.appt-modal__dialog {
    position: relative; max-width: 480px; width: 100%;
    background: #fff; border-radius: 14px; padding: 28px 28px 22px;
    box-shadow: 0 24px 56px rgba(0, 0, 0, 0.25);
    animation: appt-in .2s ease-out;
}
@keyframes appt-in {
    from { transform: translateY(8px) scale(.98); opacity: 0; }
    to   { transform: none; opacity: 1; }
}
.appt-modal__x {
    position: absolute; top: 10px; right: 12px;
    background: transparent; border: 0; font-size: 26px; cursor: pointer;
    color: var(--muted, #5a6b7a); line-height: 1; padding: 4px 8px;
}
.appt-modal__x:hover { color: var(--ink, #0f2033); }
.appt-modal__h {
    font-family: var(--font-display, sans-serif); font-size: 22px; font-weight: 800;
    margin: 0 0 6px; letter-spacing: -0.01em;
}
.appt-modal__lead { font-size: 13px; margin: 0 0 18px; line-height: 1.5; }
.appt-modal__field {
    display: block; margin-bottom: 12px;
}
.appt-modal__field > span { display: block; font-size: 12px; font-weight: 600; margin-bottom: 4px; }
.appt-modal__field input,
.appt-modal__field textarea {
    width: 100%; padding: 10px 12px; font-size: 14px; font-family: inherit;
    border: 1px solid var(--line-strong, #cbd5df); border-radius: 8px;
    box-sizing: border-box;
}
.appt-modal__field input:focus,
.appt-modal__field textarea:focus { border-color: var(--ua-blue, #005bbb); outline: none; }
.appt-modal__notice { font-size: 11px; margin: 8px 0 0; text-align: center; line-height: 1.4; }
.appt-modal__sent { text-align: center; padding: 10px 0; }
.appt-modal__sent-icon {
    width: 56px; height: 56px; border-radius: 50%; margin: 0 auto 14px;
    background: #d4ebd9; color: #0a7b3d;
    display: grid; place-items: center; font-size: 28px; font-weight: 800;
}
.appt-modal__sent h4 { font-family: var(--font-display, sans-serif); font-size: 18px; margin: 0 0 6px; }
.appt-modal__sent p { font-size: 14px; color: var(--dark, #233b4d); margin: 0 0 16px; }

/* === YouTube embed у статті блогу ======================================= */
.art-prose [data-block="youtube"] {
    margin: 18px 0; padding: 0;
}
.art-prose [data-block="youtube"] .art-yt {
    position: relative; aspect-ratio: 16 / 9;
    border-radius: 10px; overflow: hidden;
    background: #000;
}
.art-prose [data-block="youtube"] .art-yt iframe {
    position: absolute; inset: 0; width: 100%; height: 100%; border: 0;
}
.art-prose [data-block="youtube"] figcaption {
    font-size: 12px; color: var(--muted, #5a6b7a); margin-top: 6px;
    text-align: center;
}

/* ===== /dvs/{city}/ — landing міста з картками відділів =============== */
.dvs-city-meta {
    display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 18px;
}
.dvs-city-meta__chip {
    display: inline-flex; align-items: center; gap: 6px;
    background: var(--bg-2, #f6f8fb); border: 1px solid var(--line, #e4e9ef);
    border-radius: 999px; padding: 6px 14px;
    font-size: 13px; color: var(--ink, #0f2033); font-weight: 600;
}
.dvs-city-meta__chip span { font-size: 14px; }
.dvs-city-lead {
    font-size: 16px; line-height: 1.6; color: var(--dark, #233b4d);
    max-width: 800px; margin: 0 0 28px;
}

.dvs-city-tags {
    display: flex; flex-wrap: wrap; gap: 8px;
    margin: 0 0 26px;
}
.dvs-city-tag {
    display: inline-block; padding: 7px 14px;
    background: var(--bg-2, #f6f8fb); border: 1px solid var(--line, #e4e9ef);
    border-radius: 999px; font-size: 13px; font-weight: 600;
    color: var(--ink, #0f2033); text-decoration: none;
    transition: all .15s;
}
.dvs-city-tag:hover {
    background: var(--ua-blue, #005bbb); border-color: var(--ua-blue, #005bbb);
    color: #fff; text-decoration: none;
}
/* ВДВС-група — теги у блакитній обводці + label зверху */
.dvs-city-tags-h {
    background: #f0f7ff; border: 1px solid #bcdcfd;
    border-radius: 12px; padding: 14px 18px; margin: 0 0 22px;
}
.dvs-city-tags-h__lab {
    font-size: 12px; font-weight: 700; letter-spacing: 0.04em;
    color: var(--ua-blue, #005bbb); margin-bottom: 8px; text-transform: uppercase;
}
.dvs-city-tags-h .dvs-city-tags { margin-bottom: 0; }
.dvs-city-tag--hi {
    background: #fff; border-color: var(--ua-blue, #005bbb);
    color: var(--ua-blue, #005bbb);
}
.dvs-city-tag--hi:hover {
    background: var(--ua-blue, #005bbb); color: #fff;
}

/* ВДВС-картка — синя смужка зліва + бейдж */
.dvs-city-card--hi { border-left: 4px solid var(--ua-blue, #005bbb); }
.dvs-city-card--hi .dvs-city-card__type {
    color: #fff; background: var(--ua-blue, #005bbb);
    display: inline-block; padding: 2px 9px; border-radius: 4px;
}

.dvs-city-grid {
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px;
    margin-top: 18px;
}
@media (max-width: 900px) { .dvs-city-grid { grid-template-columns: 1fr; } }

.dvs-city-card {
    background: #fff; border: 1px solid var(--line, #e4e9ef); border-radius: 12px;
    overflow: hidden; display: flex; flex-direction: column;
    transition: border-color .15s, box-shadow .15s, transform .15s;
}
.dvs-city-card:hover {
    border-color: var(--ua-blue, #005bbb);
    box-shadow: 0 6px 20px rgba(0, 91, 187, .08);
    transform: translateY(-2px);
}
.dvs-city-card__body { padding: 18px 20px; flex: 1; }
.dvs-city-card__type {
    font-family: var(--font-mono, ui-monospace, monospace);
    font-size: 11px; letter-spacing: 0.06em; font-weight: 700;
    color: var(--ua-blue, #005bbb); text-transform: uppercase;
    margin-bottom: 6px;
}
.dvs-city-card__title {
    font-family: var(--font-display, sans-serif);
    font-size: 18px; font-weight: 700; margin: 0 0 12px;
    line-height: 1.3;
}
.dvs-city-card__title a { color: var(--ink, #0f2033); text-decoration: none; }
.dvs-city-card__title a:hover { color: var(--ua-blue, #005bbb); }

.dvs-city-card__facts {
    display: grid; grid-template-columns: auto 1fr;
    gap: 6px 14px; font-size: 13px; line-height: 1.5;
    margin: 0 0 14px;
}
.dvs-city-card__facts dt { color: var(--muted, #5a6b7a); font-weight: 600; white-space: nowrap; }
.dvs-city-card__facts dd { margin: 0; color: var(--ink, #0f2033); word-break: break-word; }
.dvs-city-card__facts a { color: var(--ua-blue, #005bbb); text-decoration: none; }
.dvs-city-card__facts a:hover { text-decoration: underline; }

.dvs-city-card__actions { display: flex; gap: 8px; flex-wrap: wrap; }
.dvs-city-card__map {
    border-top: 1px solid var(--line, #e4e9ef);
    /* map.twig сам ставить height — тут лише обрізаємо радіус */
}

.dvs-city-seo {
    margin-top: 50px; padding: 28px 0; border-top: 1px solid var(--line, #e4e9ef);
}
.dvs-city-seo h3.section-h3 { font-size: 18px; margin: 22px 0 10px; }
.dvs-city-seo p, .dvs-city-seo li { font-size: 15px; line-height: 1.65; color: var(--dark, #233b4d); }
.dvs-city-seo ul { padding-left: 22px; margin: 8px 0 16px; }
.dvs-city-seo ul li { margin: 4px 0; }

/* Cities-row на /dvs/{region}/ — посилання на city-pages */
.dvs-cities-row {
    display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 12px;
}
.dvs-cities-row__chip {
    display: inline-flex; flex-direction: column; align-items: flex-start;
    background: var(--bg-2, #f6f8fb); border: 1px solid var(--line, #e4e9ef);
    border-radius: 8px; padding: 8px 14px;
    text-decoration: none; transition: all .15s;
    min-width: 140px;
}
.dvs-cities-row__chip:hover {
    background: var(--ua-blue, #005bbb); border-color: var(--ua-blue, #005bbb);
}
.dvs-cities-row__chip:hover .dvs-cities-row__name,
.dvs-cities-row__chip:hover .dvs-cities-row__hint { color: #fff; }
.dvs-cities-row__name {
    font-size: 14px; font-weight: 700; color: var(--ink, #0f2033);
}
.dvs-cities-row__hint {
    font-size: 11px; color: var(--muted, #5a6b7a);
    font-family: var(--font-mono, ui-monospace, monospace); letter-spacing: 0.04em;
}

/* Region-level map (всі точки регіону на одній карті) */
.region-map-card { padding: 12px; margin-bottom: 18px; }
.region-map-card .leaflet-mount { width: 100%; }

/* Show-more виконавців на /dvs/{r}/{d}/. SEO-friendly — усі <li> в DOM,
   ховаємо лише через CSS, Google усе бачить і індексує. */
.exec-row-list.is-collapsed .exec-row--more { display: none; }
.exec-row-more {
    display: block; width: 100%; margin: 14px 0 0;
    padding: 12px 16px; font-size: 14px; font-weight: 600;
    background: var(--bg-2, #f6f8fb); border: 1px dashed var(--line, #d8dde3);
    border-radius: 10px; cursor: pointer; color: var(--ua-blue, #005bbb);
    transition: all .15s;
}
.exec-row-more:hover {
    background: var(--ua-blue, #005bbb); border-color: var(--ua-blue, #005bbb);
    color: #fff; border-style: solid;
}
.exec-row-more[hidden] { display: none; }
