*, *::before, *::after { box-sizing: border-box; }
body.ff {
    margin: 0;
    font-family: "Segoe UI", system-ui, sans-serif;
    color: var(--ff-text);
    background: #ffffff;
    line-height: 1.55;
}
a { color: var(--ff-accent); text-decoration: none; }
a:hover { text-decoration: underline; }
.ff-wrap { max-width: 1140px; margin: 0 auto; padding: 0 1.25rem; }
.ff-header { background: #ffffff; border-bottom: 1px solid var(--ff-line); }
.ff-header-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem 1.2rem;
    padding: 1rem 1.25rem .85rem;
}
.ff-logo {
    font-weight: 700;
    font-size: 1.35rem;
    color: #3b82c4;
    text-decoration: none;
    letter-spacing: -0.02em;
}
.ff-logo span { color: #64748b; font-weight: 600; }
.ff-nav { display: flex; flex-wrap: wrap; gap: .2rem .15rem; flex: 1; }
.ff-nav a {
    color: #475569;
    font-size: .9rem;
    padding: .35rem .7rem;
    border-radius: 999px;
    text-decoration: none;
}
.ff-nav a:hover { background: var(--ff-accent-soft); color: #2b6ea3; text-decoration: none; }
.ff-auth { display: flex; align-items: center; gap: .7rem; margin-left: auto; }
.ff-auth a, .ff-auth button { font-size: .9rem; }
.ff-inline { display: inline; margin: 0; }
.ff-inline button { background: none; border: 0; color: var(--ff-accent); cursor: pointer; font: inherit; }
.ff-btn, .ff-card form button, button.ff-btn {
    display: inline-block;
    border: 1px solid var(--ff-line);
    background: #ffffff;
    color: #3b82c4;
    padding: .45rem .95rem;
    border-radius: 999px;
    cursor: pointer;
    font: inherit;
    text-decoration: none;
}
.ff-btn:hover { background: var(--ff-accent-soft); text-decoration: none; }
.ff-btn-accent, a.ff-btn-accent {
    background: var(--ff-accent-soft);
    border-color: #9cc7e6;
    color: #2b6ea3;
}
.ff-btn-accent:hover { color: #2b6ea3; background: #d9edf8; }
.ff-tape { background: #ffffff; border-top: 1px solid var(--ff-line-soft); }
.ff-tape-inner { display: flex; flex-wrap: wrap; gap: .35rem 1.5rem; padding: .5rem 1.25rem .65rem; font-size: .84rem; }
.ff-tape-item strong { margin: 0 .2rem; color: #475569; }
.ff-up { color: var(--ff-up); }
.ff-down { color: var(--ff-down); }
.ff-main { padding: 1.75rem 0 3.2rem; background: #ffffff; }
.ff-footer { border-top: 1px solid var(--ff-line); background: #ffffff; }
.ff-footer-inner { padding: 1.4rem 1.25rem 2rem; font-size: .88rem; color: var(--ff-muted); }
.ff-muted { color: var(--ff-muted); }
.ff-hero h1, .ff-page h1 { margin: 0 0 .55rem; font-size: 1.85rem; font-weight: 650; color: #334155; letter-spacing: -0.02em; }
.ff-lead { color: var(--ff-muted); max-width: 42rem; font-size: 1.02rem; }
.ff-grid { display: grid; gap: 1rem; }
.ff-grid-2 { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.ff-card {
    background: #ffffff;
    border: 1px solid var(--ff-line);
    border-radius: var(--ff-radius);
    padding: 1.1rem 1.2rem;
}
.ff-block {
    background: #ffffff;
    border: 1px solid var(--ff-line);
    border-radius: var(--ff-radius);
    padding: 1.15rem 1.25rem 1.25rem;
    margin: 1.4rem 0;
}
.ff-block > h2 { margin: 0 0 .45rem; }
.ff-hint { margin: 0 0 1rem; color: var(--ff-muted); font-size: .92rem; max-width: 46rem; }
.ff-block-list > * + * {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--ff-line-soft);
}
.ff-feed-item {
    display: grid;
    grid-template-columns: 9.5rem minmax(0, 1fr);
    gap: .75rem 1rem;
    align-items: center;
}
.ff-feed-thumb {
    display: block;
    width: 9.5rem;
    aspect-ratio: 16 / 9;
    border-radius: 10px;
    overflow: hidden;
    background: linear-gradient(145deg, #e8f3fb, #f1f5f9);
    border: 1px solid var(--ff-line-soft);
    flex-shrink: 0;
    align-self: center;
}
.ff-feed-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
.ff-feed-thumb.is-empty {
    background: linear-gradient(145deg, #eef2f6, #f8fafc);
}
.ff-feed-body {
    min-width: 0;
    display: grid;
    gap: .3rem;
    align-content: center;
}
.ff-feed-body h3 { margin: 0; font-size: 1.05rem; line-height: 1.35; }
.ff-feed-body .ff-muted { margin: 0; line-height: 1.45; }
/* Обложка статьи: всегда на всю ширину колонки (без сжатия из-за max-height + aspect-ratio) */
.ff-article-cover {
    display: block;
    width: 100%;
    margin: 0 0 1.1rem;
    border-radius: 14px;
    overflow: hidden;
    background: #e8f3fb;
    border: 1px solid var(--ff-line-soft);
    line-height: 0;
}
.ff-article-cover img {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    object-position: center;
}
.ff-block .ff-form, .ff-block .ff-filters { margin-top: .8rem; }
.ff-block .ff-table { margin-top: .4rem; }
.ff-block .ff-card {
    border: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
}
.ff-list { list-style: none; padding: 0; margin: 0; }
.ff-list li { padding: .6rem 0; border-bottom: 1px solid var(--ff-line-soft); }
.ff-list li:last-child { border-bottom: 0; }
table.ff-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.ff-table th, .ff-table td { border-bottom: 1px solid var(--ff-line-soft); padding: .55rem .5rem; text-align: left; }
.ff-table th { background: #ffffff; color: #64748b; font-weight: 600; border-bottom: 1px solid var(--ff-line); }
.ff-table td.num, .ff-table th.num { text-align: right; }

/* IMOEX: ссылка с /kompanii и таблица состава */
.ff-imoex-cta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .85rem 1.25rem;
    margin: 1.15rem 0 0;
    padding: 1rem 1.15rem;
    border: 1px solid #9cc7e6;
    border-radius: var(--ff-radius, 12px);
    background: linear-gradient(135deg, #f0f7fc 0%, #ffffff 55%);
}
.ff-imoex-cta p { margin: .35rem 0 0; color: var(--ff-muted); font-size: .92rem; max-width: 40rem; }
.ff-imoex-cta .ff-btn { flex-shrink: 0; }
.ff-breadcrumb { margin: 0 0 .45rem; font-size: .88rem; color: var(--ff-muted); }
.ff-imoex-level { margin: .75rem 0 0; font-size: 1.05rem; }
.ff-imoex-actions { display: flex; flex-wrap: wrap; gap: .55rem; margin: .85rem 0 0; }
.ff-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.ff-imoex-table { width: 100%; table-layout: fixed; }
.ff-imoex-table th:nth-child(1),
.ff-imoex-table td:nth-child(1) { width: 2.4rem; }
.ff-imoex-table th:nth-child(2),
.ff-imoex-table td:nth-child(2) { width: 16%; }
.ff-imoex-table th:nth-child(3),
.ff-imoex-table td:nth-child(3) { width: 5.2rem; }
.ff-imoex-table th:nth-child(4),
.ff-imoex-table td:nth-child(4) { width: 7.2rem; }
.ff-imoex-table th:nth-child(5),
.ff-imoex-table td:nth-child(5) { width: 11%; }
.ff-imoex-table td {
    vertical-align: top;
    overflow-wrap: break-word;
    word-wrap: break-word;
    hyphens: auto;
}
.ff-imoex-name { line-height: 1.35; }
.ff-imoex-name .ff-ticker { display: block; margin-top: .2rem; width: fit-content; }
.ff-imoex-weight strong { white-space: nowrap; }
.ff-imoex-weight .ff-imoex-bar { margin-top: .35rem; margin-left: auto; }
.ff-imoex-quote { line-height: 1.35; }
.ff-imoex-quote .ff-price { display: inline-block; white-space: nowrap; }
.ff-imoex-quote .ff-imoex-chg { display: block; margin-top: .15rem; white-space: nowrap; }
.ff-imoex-table td.ff-imoex-blurb { font-size: .86rem; }
.ff-imoex-role { display: block; font-weight: 600; color: #334155; margin-bottom: .2rem; }
.ff-imoex-metrics { display: block; margin-top: .25rem; font-size: .8rem; color: #64748b; }
.ff-price { white-space: nowrap; }
.ff-ticker {
    font-family: ui-monospace, "Cascadia Code", Consolas, monospace;
    font-size: .8rem;
    background: #f1f5f9;
    padding: .08rem .3rem;
    border-radius: 4px;
    color: #64748b;
}
.ff-imoex-bar {
    display: block;
    height: .4rem;
    width: var(--ff-w, 10%);
    max-width: 4.2rem;
    border-radius: 999px;
    background: linear-gradient(90deg, #6ba8d4, #3b82c4);
}
@media (max-width: 720px) {
    .ff-imoex-cta { flex-direction: column; align-items: flex-start; }
    .ff-imoex-table { table-layout: auto; }
    .ff-imoex-table th:nth-child(5),
    .ff-imoex-table td:nth-child(5) { display: none; }
}
.ff-filters { display: flex; flex-wrap: wrap; gap: .65rem; margin: 1rem 0; }
.ff-filters label { display: flex; flex-direction: column; font-size: .78rem; color: var(--ff-muted); }
.ff-filters input, .ff-filters select, .ff-form input, .ff-form select, .ff-form textarea {
    border: 1px solid var(--ff-line);
    border-radius: 10px;
    padding: .45rem .6rem;
    font: inherit;
    background: #ffffff;
    color: var(--ff-text);
}
.ff-form { display: grid; gap: .7rem; max-width: 28rem; }
.ff-score { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
.ff-score-big { font-size: 2.3rem; font-weight: 700; color: #3b82c4; }
.ff-parts { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: .4rem .8rem; }

/* Компактная карточка Investment Score */
.ff-score-grid {
    display: grid;
    gap: .85rem;
}
.ff-score-card {
    border: 1px solid var(--ff-line);
    border-radius: 12px;
    background: linear-gradient(180deg, #f7fbfe 0%, #ffffff 42%);
    padding: 1.15rem 1.25rem 1.2rem;
    overflow: hidden;
}
.ff-score-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .85rem;
    padding-right: .15rem;
}
.ff-score-card__title { min-width: 0; }
.ff-score-card__name {
    display: block;
    font-size: 1.05rem;
    font-weight: 650;
    color: #334155;
    text-decoration: none;
    letter-spacing: -0.01em;
    line-height: 1.25;
}
a.ff-score-card__name:hover { color: #2b6ea3; text-decoration: none; }
.ff-score-card__sub {
    display: block;
    margin-top: .12rem;
    font-size: .72rem;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--ff-muted);
}
.ff-score-ring {
    --p: 0;
    --tone: #3b82c4;
    width: 4.25rem;
    height: 4.25rem;
    flex-shrink: 0;
    margin: .1rem .15rem 0 0;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(closest-side, #ffffff 72%, transparent 73% 100%),
        conic-gradient(var(--tone) calc(var(--p) * 1%), #e8eef3 0);
    box-shadow: inset 0 0 0 1px rgba(197, 212, 224, .55);
}
.ff-score-ring[data-tone="hi"] { --tone: #16a34a; }
.ff-score-ring[data-tone="mid"] { --tone: #3b82c4; }
.ff-score-ring[data-tone="lo"] { --tone: #d97706; }
.ff-score-ring strong {
    font-size: 1.15rem;
    font-weight: 700;
    color: #334155;
    line-height: 1;
}
.ff-score-ring span {
    display: block;
    font-size: .62rem;
    color: var(--ff-muted);
    text-align: center;
    margin-top: .05rem;
}
.ff-score-parts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .45rem .65rem;
}
.ff-score-part__top {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: .35rem;
    font-size: .78rem;
    color: var(--ff-muted);
    margin-bottom: .18rem;
}
.ff-score-part__top strong {
    font-size: .88rem;
    font-weight: 700;
    color: #334155;
    font-variant-numeric: tabular-nums;
}
.ff-score-part[data-tone="hi"] .ff-score-part__top strong { color: #15803d; }
.ff-score-part[data-tone="mid"] .ff-score-part__top strong { color: #2b6ea3; }
.ff-score-part[data-tone="lo"] .ff-score-part__top strong { color: #b45309; }
.ff-score-part__bar {
    height: .28rem;
    border-radius: 999px;
    background: #e8eef3;
    overflow: hidden;
}
.ff-score-part__bar i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #3b82c4;
}
.ff-score-part[data-tone="hi"] .ff-score-part__bar i { background: #16a34a; }
.ff-score-part[data-tone="mid"] .ff-score-part__bar i { background: #3b82c4; }
.ff-score-part[data-tone="lo"] .ff-score-part__bar i { background: #d97706; }
.ff-score-drivers {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem .85rem;
    margin-top: .8rem;
    padding-top: .7rem;
    border-top: 1px solid var(--ff-line-soft);
}
.ff-score-drivers__col h4 {
    margin: 0 0 .35rem;
    font-size: .72rem;
    font-weight: 650;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.ff-score-drivers__col.is-up h4 { color: #15803d; }
.ff-score-drivers__col.is-down h4 { color: #b91c1c; }
.ff-score-drivers__col ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: .3rem;
}
.ff-score-drivers__col li {
    margin: 0;
    padding: .22rem .5rem;
    border-radius: 999px;
    font-size: .78rem;
    line-height: 1.25;
    border: 1px solid transparent;
}
.ff-score-drivers__col.is-up li {
    background: #ecfdf3;
    border-color: #bbf7d0;
    color: #166534;
}
.ff-score-drivers__col.is-down li {
    background: #fef2f2;
    border-color: #fecaca;
    color: #991b1b;
}
@media (max-width: 640px) {
    .ff-score-parts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ff-score-drivers { grid-template-columns: 1fr; }
}
.ff-lock { border: 1px dashed #9cc7e6; padding: .85rem 1rem; background: var(--ff-accent-soft); border-radius: 10px; }
.ff-alert { border-left: 3px solid #f0b429; padding-left: .75rem; margin: .4rem 0; }
.ff-section { margin: 1.6rem 0; }
.ff-err { color: var(--ff-down); }
.ff-ok { color: var(--ff-up); }
.ff-soon {
    background: #e8f3fb;
    border-bottom: 1px solid #c5d4e0;
    color: #334155;
    text-align: center;
    padding: .55rem 1rem;
    font-size: .9rem;
}
.ff-premium-cta {
    margin: 2.4rem 0 0;
    padding: 1.3rem 1.3rem 1.1rem;
    border: 1px solid #c5d4e0;
    border-radius: 12px;
    background: #ffffff;
}
.ff-premium-cta h2 { margin: 0 0 .6rem; font-size: 1.25rem; color: #334155; }
.ff-premium-cta h3 { margin: .4rem 0 .35rem; font-size: 1.02rem; color: #3b82c4; }
.ff-calc-guide { margin: 1.2rem 0 0; max-width: 42rem; }
.ff-calc-guide h2 { margin: 0 0 .7rem; font-size: 1.15rem; color: #334155; }
.ff-calc-guide p { margin: 0 0 .7rem; }
.ff-rub { font-size: .72em; font-weight: 500; letter-spacing: .02em; }
.ff-pay { position: relative; margin: 1.1rem 0; }
.ff-pay.is-locked {
    border: 1px solid var(--ff-line);
    border-radius: 12px;
    overflow: hidden;
    min-height: 7.5rem;
}
.ff-pay.is-locked .ff-pay-veil {
    filter: blur(8px);
    user-select: none;
    pointer-events: none;
    max-height: 11rem;
    overflow: hidden;
    padding: 1rem 1.1rem;
}
.ff-pay-msg {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 1.1rem 1.3rem;
    background: rgba(255, 255, 255, .62);
}
.ff-pay-msg p { margin: 0; font-weight: 650; color: #334155; max-width: 26rem; }
.ff-pay-msg a { margin-top: .45rem; font-weight: 500; }
.ff-tabs { margin: 1.2rem 0 0; }
.ff-cab-tabs { margin-top: 1rem; }
.ff-block--flush { margin-top: 0; }
.ff-cab-top {
    position: relative;
    margin: 0 0 .85rem;
    padding-top: .15rem;
}
.ff-cab-top__row {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .45rem;
}
.ff-cab-top__card {
    position: relative;
    border: 1px solid var(--ff-line);
    border-radius: 10px;
    background: #f7fbfe;
    padding: .45rem .55rem .5rem;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: .25rem;
}
.ff-cab-top__card.admin-card { padding-right: 2.4rem; padding-top: .5rem; }
.ff-cab-top__tools {
    position: absolute;
    top: .2rem;
    right: .2rem;
    z-index: 40;
    display: flex;
    gap: .15rem;
}
.ff-cab-top__tools .admin-pencil--card,
.ff-cab-top__tools .admin-x--card,
.ff-cab-top__tools .admin-x-form { position: static; }
.ff-cab-top__card .admin-pencil,
.ff-cab-top__card .admin-x {
    width: 1.35rem;
    height: 1.35rem;
    box-shadow: none;
}
.ff-cab-top__card .admin-pencil svg,
.ff-cab-top__card .admin-x svg {
    width: 11px;
    height: 11px;
}
.ff-cab-top__card h2 {
    margin: 0;
    font-size: .78rem;
    font-weight: 650;
    line-height: 1.25;
    color: #334155;
    letter-spacing: -0.01em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ff-cab-top__card a {
    margin-top: auto;
    font-size: .72rem;
    font-weight: 600;
    color: #2b6ea3;
    text-decoration: none;
}
.ff-cab-top__card a:hover { text-decoration: underline; }
@media (max-width: 960px) {
    .ff-cab-top__row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .ff-cab-top__row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.ff-tabs-nav {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin: 0 0 1rem;
    border-bottom: 1px solid var(--ff-line);
    padding-bottom: .55rem;
}
.ff-tab {
    border: 1px solid transparent;
    background: transparent;
    color: #64748b;
    font: inherit;
    font-size: .92rem;
    padding: .4rem .85rem;
    border-radius: 999px;
    cursor: pointer;
}
.ff-tab:hover { color: #2b6ea3; background: var(--ff-accent-soft); }
.ff-tab.is-active {
    color: #2b6ea3;
    background: #e8f3fb;
    border-color: #9cc7e6;
    font-weight: 600;
}
.ff-tab-panel[hidden] { display: none; }
.ff-metrics {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(var(--ff-metric-rows, 8), auto);
    grid-auto-flow: column;
    column-gap: 2.75rem;
    row-gap: 0;
    margin: .35rem 0 0;
    padding: 0;
}
.ff-metric {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .85rem 1.25rem;
    margin: 0;
    padding: .72rem 0;
    border-bottom: 1px solid var(--ff-line-soft);
    min-width: 0;
}
.ff-metric dt {
    margin: 0;
    color: #64748b;
    font-size: .9rem;
    line-height: 1.35;
    min-width: 0;
}
.ff-metric dt .ff-term { display: inline; }
.ff-metric dd {
    margin: 0;
    flex: 0 0 auto;
    text-align: right;
    font-weight: 700;
    font-size: 1.02rem;
    color: #1e293b;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.01em;
    white-space: nowrap;
}
@media (max-width: 720px) {
    .ff-metrics {
        grid-template-columns: 1fr;
        grid-template-rows: none;
        grid-auto-flow: row;
        column-gap: 0;
    }
    .ff-metric:last-child { border-bottom: 0; }
}
.ff-crm-metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    gap: .7rem 1rem;
    margin: 0 0 1rem;
}
.ff-prose h2 { margin: 1.3rem 0 .5rem; font-size: 1.2rem; color: #334155; }
.ff-prose h3 { margin: 1rem 0 .4rem; font-size: 1.05rem; }
.ff-prose p, .ff-prose li { margin: 0 0 .7rem; }
/* Картинки в тексте статьи — на всю ширину колонки */
.ff-prose img,
.ff-block.ff-prose img {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
    margin: .85rem 0 1rem;
    border-radius: 10px;
}
.ff-prose figure {
    margin: .85rem 0 1rem;
    width: 100%;
    max-width: 100%;
}
.ff-prose figure img {
    margin: 0;
}
.ff-prose figcaption {
    margin-top: .4rem;
    font-size: .88rem;
    color: var(--ff-muted);
}
/* Списки в контенте: отступ слева под маркеры (везде, кроме UI-списков) */
.ff-main ul:not(.ff-list):not(.ff-side-list):not(.article-toc__list),
.ff-main ol:not(.ff-list):not(.ff-side-list):not(.article-toc__list),
.ff-prose ul,
.ff-prose ol {
    margin: 0 0 1rem;
    padding-left: 1.75rem;
}
.ff-main ul:not(.ff-list):not(.ff-side-list) ul,
.ff-main ol:not(.ff-list):not(.ff-side-list) ol,
.ff-prose ul ul,
.ff-prose ol ol {
    margin-bottom: .35rem;
    padding-left: 1.35rem;
}
.ff-main ul:not(.ff-list):not(.ff-side-list):not(.article-toc__list) > li,
.ff-main ol:not(.ff-list):not(.ff-side-list):not(.article-toc__list) > li {
    margin: 0 0 .4rem;
}
.admin-pencil,
.admin-plus {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 999px;
    background: #fff;
    color: #3b82c4;
    border: 1px solid #c5d4e0;
    box-shadow: 0 2px 10px rgba(15, 23, 42, .12);
    text-decoration: none;
    z-index: 40;
}
.admin-pencil:hover,
.admin-plus:hover { background: #e8f3fb; color: #2b6ea3; }
.admin-pencil--page,
.admin-plus--page { position: fixed; top: 5.2rem; right: 1rem; z-index: 120; }
.admin-pencil--card,
.admin-plus--card { position: absolute; top: .45rem; right: .45rem; }
.admin-card-actions {
    position: absolute;
    top: .45rem;
    right: .45rem;
    z-index: 40;
    display: flex;
    gap: .3rem;
}
.admin-card-actions .admin-pencil--card,
.admin-card-actions .admin-plus--card,
.admin-card-actions .admin-x--card,
.admin-card-actions .admin-x-form { position: static; }
.admin-x-form { display: inline; margin: 0; padding: 0; }
.admin-x {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 999px;
    background: #fff;
    color: #dc2626;
    border: 1px solid #fecaca;
    box-shadow: 0 2px 10px rgba(15, 23, 42, .12);
    cursor: pointer;
    padding: 0;
    z-index: 40;
}
.admin-x:hover { background: #fef2f2; color: #b91c1c; }
.admin-x--card { position: absolute; top: .45rem; right: .45rem; }
.admin-x--inline {
    width: 1.7rem;
    height: 1.7rem;
    box-shadow: none;
}
.admin-x--page { position: fixed; top: 5.2rem; right: 3.4rem; z-index: 120; }
.ff-crm-act { width: 2.4rem; text-align: right; vertical-align: middle; }
.ff-crm-delete-wrap {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin: 1rem 0 0;
    padding-top: .75rem;
    border-top: 1px solid var(--ff-line-soft, #e8eef3);
}
.ff-hero.admin-card,
.ff-block.admin-card,
.ff-cab-top.admin-card {
    position: relative;
    padding-right: 2.6rem;
}
@media (max-width: 720px) {
    .admin-pencil--page { top: auto; bottom: 5.5rem; }
}
@media (max-width: 720px) {
    .ff-header-inner { flex-direction: column; align-items: flex-start; }
    .ff-auth { margin-left: 0; }
}
.ff-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 17.5rem;
    gap: 1.6rem 2rem;
    align-items: start;
}
.ff-layout:not(:has(.ff-side)) { grid-template-columns: 1fr; }
.ff-content { min-width: 0; }
.ff-side {
    position: sticky;
    top: .8rem;
    padding: 1rem 0 0;
}
.ff-side h2 { margin: 0 0 .7rem; font-size: 1.02rem; color: #334155; }
.ff-side-list { list-style: none; padding: 0; margin: 0 0 1.2rem; }
.ff-side-list li,
.ff-side-item {
    display: grid;
    grid-template-columns: 3.4rem minmax(0, 1fr);
    gap: .45rem .65rem;
    align-items: start;
    padding: .55rem 0;
    border-bottom: 1px solid var(--ff-line-soft);
    font-size: .9rem;
}
.ff-side-thumb {
    display: block;
    width: 3.4rem;
    aspect-ratio: 4 / 3;
    border-radius: 7px;
    overflow: hidden;
    background: linear-gradient(145deg, #e8f3fb, #f1f5f9);
}
.ff-side-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.ff-side-body {
    display: grid;
    gap: .12rem;
    min-width: 0;
}
.ff-side-list time { font-size: .75rem; color: var(--ff-muted); }
.ff-related { margin: 1.6rem 0 0; }
.ff-related h2 { margin: 0 0 .5rem; font-size: 1.05rem; color: #334155; }
.ff-related ul { margin: 0; padding-left: 1.75rem; }
.ff-related li { margin: 0 0 .35rem; }

.ff-useful {
    margin-top: 1.75rem;
    padding: 1.25rem 1.3rem 1.35rem;
    background: linear-gradient(165deg, #f7fbfe 0%, #ffffff 55%);
    border-color: #b9d4e8;
}
.ff-useful-head h2 {
    margin: 0 0 .35rem;
    font-size: 1.15rem;
    font-weight: 650;
    color: #2b4a66;
    letter-spacing: -0.02em;
}
.ff-useful-head .ff-hint {
    margin: 0 0 1rem;
}
.ff-useful-grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: .65rem .75rem;
}
.ff-useful-card {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    width: fit-content;
    max-width: 100%;
    min-height: 2.6rem;
    padding: .65rem .9rem;
    border: 1px solid #cfe0ed;
    border-radius: 10px;
    background: #ffffff;
    color: #2b6ea3;
    text-decoration: none;
    box-shadow: 0 1px 0 rgba(59, 130, 196, 0.06);
    transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.ff-useful-card:hover {
    border-color: #9cc7e6;
    background: var(--ff-accent-soft);
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(59, 130, 196, 0.1);
}
.ff-useful-label {
    font-size: .95rem;
    font-weight: 600;
    line-height: 1.35;
    color: #334155;
}
.ff-useful-card:hover .ff-useful-label {
    color: #2b6ea3;
}
.ff-term {
    position: relative;
    display: inline;
    white-space: nowrap;
    padding-right: 0.95em;
}
.ff-i {
    position: absolute;
    top: -0.28em;
    right: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 0.88em;
    height: 0.88em;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--ff-accent);
    font-size: 0.78em;
    line-height: 1;
    text-decoration: none;
    box-shadow: none;
}
.ff-i svg {
    display: block;
    width: 1em;
    height: 1em;
}
.ff-i:hover,
.ff-i:focus-visible {
    color: #2b6ea3;
    background: transparent;
    text-decoration: none;
    outline: none;
}
.ff-prose h2[id], .ff-prose h3[id], .ff-prose h4[id],
.ff-block[id], #ff-meaning { scroll-margin-top: 4.5rem; }

.ff-article-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: .45rem 1.25rem;
    margin: 1.25rem 0 0;
}
.ff-article-footer__spacer { flex: 1 1 auto; min-width: 0; }
.ff-updated {
    margin: 0;
    color: var(--ff-muted);
    font-size: .9rem;
    line-height: 1.4;
}
.ff-updated__label { font-weight: 600; color: #64748b; }
.ff-updated__label::after { content: ":"; }
.ff-updated__value {
    color: #475569;
    font-variant-numeric: tabular-nums;
}
.ff-source {
    margin: 0 0 0 auto;
    text-align: right;
    font-size: .9rem;
}
.ff-source a {
    color: #94a3b8;
    text-decoration: none;
}
.ff-source a:hover {
    color: #64748b;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Содержание (как на seouspeh) */
.article-toc {
    margin: 0 0 1.35rem;
    padding: 1.1rem 1.2rem 1rem;
    border: 1px solid var(--ff-line);
    border-radius: var(--ff-radius);
    background: #fff;
}
.article-toc__title {
    margin: 0 0 .85rem;
    font-size: .95rem;
    font-weight: 650;
    color: #334155;
    letter-spacing: .02em;
}
.article-toc__panel { position: relative; }
.article-toc--collapsible.is-collapsed .article-toc__panel {
    max-height: 12.5rem;
    overflow: hidden;
}
.article-toc--collapsible.is-collapsed .article-toc__panel::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3.25rem;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0), #fff 78%);
}
.article-toc__list {
    margin: 0;
    padding: 0 0 0 1.15rem;
    list-style: disc;
    display: grid;
    gap: .35rem;
}
.article-toc__item { margin: 0 0 .35rem; padding-left: .15rem; }
.article-toc__item::marker { color: var(--ff-accent); }
.article-toc__item--h3 { margin-left: 2.3rem; }
.article-toc__item--h4 { margin-left: 3.45rem; font-size: .95em; }
.article-toc__item a {
    display: inline;
    color: #2b6ea3;
    text-decoration: none;
    line-height: 1.4;
}
.article-toc__item a:hover {
    text-decoration: underline;
    text-underline-offset: 2px;
    color: var(--ff-accent);
}
.article-toc__toggle {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin-top: .75rem;
    padding: 0;
    border: 0;
    background: none;
    color: #2b6ea3;
    font: inherit;
    font-size: .92rem;
    font-weight: 600;
    cursor: pointer;
}
.article-toc__toggle::after {
    content: "";
    width: .45rem;
    height: .45rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    translate: 0 -.1rem;
    transition: transform .2s ease;
}
.article-toc--collapsible:not(.is-collapsed) .article-toc__toggle::after {
    transform: rotate(-135deg);
    translate: 0 .15rem;
}
.article-toc__toggle:hover { color: var(--ff-accent); }
.article-toc--collapsible.is-collapsed .article-toc__toggle-less,
.article-toc--collapsible:not(.is-collapsed) .article-toc__toggle-more {
    display: none;
}
.ff-staff-preview {
    margin: 0 0 1.4rem;
    padding: 1.1rem 1.2rem 1rem;
    border: 1px solid #9cc7e6;
    border-radius: 12px;
    background: #f4f9fd;
}
.ff-staff-preview > strong { display: block; margin-bottom: .45rem; color: #2b6ea3; }
.ff-staff-preview .ff-grid { margin-top: .8rem; }
.ff-staff-preview h3 { margin: 0 0 .4rem; font-size: 1rem; color: #334155; }
.ff-staff-preview ul { margin: 0; padding-left: 1.75rem; }
.ff-consent {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 200;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .8rem 1.2rem;
    padding: .85rem 1.2rem;
    background: #ffffff;
    border-top: 1px solid #c5d4e0;
    box-shadow: 0 -6px 24px rgba(15, 23, 42, .08);
}
.ff-consent[hidden] { display: none; }
.ff-consent p { margin: 0; max-width: 46rem; font-size: .9rem; color: #475569; }
.ff-consent a { color: #2b6ea3; }
.ff-form .pd-consent {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    margin: .15rem 0 .1rem;
    font-size: .88rem;
    line-height: 1.4;
    color: #64748b;
    cursor: pointer;
    max-width: none;
}
.ff-form .pd-consent input[type="checkbox"] {
    width: auto;
    max-width: none;
    min-width: 1rem;
    height: 1rem;
    margin: .2rem 0 0;
    padding: 0;
    flex-shrink: 0;
    accent-color: #2b6ea3;
}
.ff-form .pd-consent a { color: #2b6ea3; }
body.ff { padding-bottom: 0; }
@media (max-width: 900px) {
    .ff-layout { grid-template-columns: 1fr; }
    .ff-side { position: static; }
    .ff-feed-item {
        grid-template-columns: 7rem minmax(0, 1fr);
        gap: .65rem .85rem;
    }
    .ff-feed-thumb { width: 7rem; }
    .ff-article-cover { border-radius: 12px; }
}
.ff-cab-nav { border-top: 1px solid var(--ff-line-soft); background: #f7fbfe; }
.ff-cab-nav .ff-wrap { display: flex; flex-wrap: wrap; gap: .2rem 1.1rem; padding: .55rem 1.25rem; }
.ff-cab-nav a { color: #334155; font-size: .9rem; text-decoration: none; }
.ff-cab-nav a:hover { color: #2b6ea3; }
.ff-cab-hero {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1.2rem;
    align-items: flex-end;
    margin-bottom: 1.2rem;
}
.ff-cab-kicker { margin: 0 0 .35rem; color: #2b6ea3; font-size: .82rem; letter-spacing: .04em; text-transform: uppercase; }
.ff-cab-hero-stat {
    min-width: 10rem;
    padding: .85rem 1rem;
    border: 1px solid #c5d4e0;
    border-radius: 12px;
    background: #f4f9fd;
}
.ff-cab-hero-stat span { display: block; color: var(--ff-muted); font-size: .78rem; }
.ff-cab-hero-stat strong { display: block; font-size: 1.55rem; color: #334155; }
.ff-cab-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; margin: 0 0 1.6rem; }
.ff-card-on { border-color: #9cc7e6; background: #f4f9fd; }
.ff-code {
    margin: .6rem 0 0;
    padding: .7rem .8rem;
    border-radius: 8px;
    background: #f1f5f9;
    font-size: .8rem;
    overflow: auto;
}

/* E-E-A-T: доверительные блоки в контенте */
.eeat-author {
    display: flex;
    gap: 24px;
    padding: 28px;
    background: #f7fbff;
    border: 1px solid #dcecf8;
    border-radius: 20px;
    box-shadow: 0 8px 25px rgba(80, 150, 200, .08);
    margin: 35px 0;
}
.author-avatar img {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    object-fit: cover;
}
.author-label {
    color: #75a9d6;
    font-size: 14px;
    font-weight: 600;
}
.author-info h3 {
    margin: 5px 0;
    color: #183b56;
}
.author-info p {
    color: #526b7c;
    line-height: 1.6;
}
.author-tags span {
    display: inline-block;
    background: #fff;
    border: 1px solid #d7eaf7;
    color: #3977a8;
    padding: 7px 12px;
    border-radius: 30px;
    margin: 6px 4px 0 0;
    font-size: 13px;
}
.expert-check {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    background: #eef8ff;
    border-left: 5px solid #78b7e8;
    padding: 20px 24px;
    border-radius: 16px;
    margin: 30px 0;
}
.check-icon {
    width: 36px;
    height: 36px;
    background: #8bc7ef;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}
.expert-check strong { color: #174568; }
.expert-check p {
    margin: 6px 0 0;
    color: #607d92;
}
.methodology {
    background: #fff;
    border: 1px solid #dcebf6;
    border-radius: 18px;
    padding: 25px;
    margin: 30px 0;
}
.methodology h3 {
    color: #214d6b;
    margin: 0 0 12px;
}
.methodology li {
    margin: 12px 0;
    color: #526b7c;
}
.methodology li::marker { color: #76b6e8; }
.sources-box {
    background: #f8fcff;
    padding: 25px;
    border-radius: 20px;
    border: 1px solid #dcecf8;
    margin: 30px 0;
}
.sources-box h3 {
    color: #214d6b;
    margin: 0 0 8px;
}
.source-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 12px 0;
    color: #486579;
}
.source-item span {
    background: #dff1ff;
    color: #4384b5;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    flex-shrink: 0;
}
.risk-box {
    background: #fff9f2;
    border: 1px solid #f5dfbb;
    padding: 24px;
    border-radius: 18px;
    margin: 35px 0 0;
}
.risk-box h3 {
    margin: 0 0 8px;
    color: #9a6b25;
    font-size: 18px;
}
.risk-box p {
    margin: 0;
    color: #78654a;
    line-height: 1.6;
}

/* Поделиться страницей */
.ff-share {
    margin: 1.15rem 0 0;
    padding: 1.35rem 1.4rem 1.25rem;
    border: 1px solid #d7e5f0;
    border-radius: 18px;
    background: #fff;
}
.ff-share-head { max-width: 36rem; }
.ff-share-kicker {
    margin: 0 0 .25rem;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #5b8eb8;
}
.ff-share-title {
    margin: 0 0 .35rem;
    font-size: 1.15rem;
    font-weight: 650;
    color: #334155;
    letter-spacing: -0.02em;
}
.ff-share-lead {
    margin: 0 0 1.05rem;
    color: var(--ff-muted);
    font-size: .92rem;
    line-height: 1.5;
}
.ff-share-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: .55rem .65rem;
}
.ff-share-btn {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    min-height: 2.55rem;
    padding: .4rem .95rem .4rem .45rem;
    border-radius: 999px;
    border: 1px solid #c9dae8;
    background: #fff;
    color: #3d566e;
    font-size: .88rem;
    font-weight: 600;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
    box-shadow: 0 1px 2px rgba(51, 65, 85, .04);
}
.ff-share-btn:hover {
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(51, 65, 85, .08);
}
.ff-share-btn:focus-visible {
    outline: 2px solid var(--ff-accent);
    outline-offset: 2px;
}
.ff-share-icon {
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #fff;
    transition: transform .18s ease;
}
.ff-share-btn:hover .ff-share-icon { transform: scale(1.06); }
.ff-share-btn--vk .ff-share-icon { background: #0077ff; }
.ff-share-btn--ok .ff-share-icon { background: #ee8208; }
.ff-share-btn--tg .ff-share-icon { background: #2aabee; }
.ff-share-btn--max .ff-share-icon { background: #4b45e0; }
.ff-share-btn--mail .ff-share-icon { background: #3b82c4; }
.ff-share-btn--vk:hover { border-color: #9ec4f5; color: #005fcc; background: #f3f8ff; }
.ff-share-btn--ok:hover { border-color: #f0c48a; color: #c86a00; background: #fff8ef; }
.ff-share-btn--tg:hover { border-color: #9ad4f5; color: #1789c4; background: #f2faff; }
.ff-share-btn--max:hover { border-color: #b8b4f5; color: #3a35c4; background: #f5f4ff; }
.ff-share-btn--mail:hover { border-color: #9cc7e6; color: #2b6ea3; background: var(--ff-accent-soft); }
@media (max-width: 520px) {
    .ff-share { padding: 1.15rem 1.05rem 1.05rem; }
    .ff-share-btn { flex: 1 1 calc(50% - .65rem); justify-content: flex-start; }
    .ff-share-label { font-size: .84rem; }
}

/* Информационные блоки в статьях (определение, риск, совет…) */
.info-definition,
.info-important,
.info-expert,
.info-example,
.info-risk,
.info-tip,
.info-summary,
.info-checklist {
    margin: 25px 0;
}
.info-definition > h3,
.info-important > h3,
.info-expert > h3,
.info-example > h3,
.info-risk > h3,
.info-tip > h3,
.info-summary > h3,
.info-checklist > h3,
.info-definition > strong:first-child,
.info-important > strong:first-child,
.info-expert > strong:first-child,
.info-example > strong:first-child,
.info-risk > strong:first-child,
.info-tip > strong:first-child,
.info-summary > strong:first-child,
.info-checklist > strong:first-child {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin: 0 0 .7rem;
    padding: 0;
    font-size: 1.15rem;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: -.01em;
}
.info-definition > h3::before,
.info-important > h3::before,
.info-expert > h3::before,
.info-example > h3::before,
.info-risk > h3::before,
.info-tip > h3::before,
.info-summary > h3::before,
.info-checklist > h3::before,
.info-definition > strong:first-child::before,
.info-important > strong:first-child::before,
.info-expert > strong:first-child::before,
.info-example > strong:first-child::before,
.info-risk > strong:first-child::before,
.info-tip > strong:first-child::before,
.info-summary > strong:first-child::before,
.info-checklist > strong:first-child::before {
    content: "";
    flex-shrink: 0;
    width: 1.15em;
    height: 1.15em;
    background-color: currentColor;
    opacity: .88;
    -webkit-mask: center / contain no-repeat;
    mask: center / contain no-repeat;
}
/* книга */
.info-definition > h3::before,
.info-definition > strong:first-child::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z'/%3E%3C/svg%3E");
}
/* восклицание в круге */
.info-important > h3::before,
.info-important > strong:first-child::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E");
}
/* сообщение / эксперт */
.info-expert > h3::before,
.info-expert > strong:first-child::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
}
/* документ / пример */
.info-example > h3::before,
.info-example > strong:first-child::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3C/svg%3E");
}
/* треугольник / риск */
.info-risk > h3::before,
.info-risk > strong:first-child::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E");
}
/* лампочка / совет */
.info-tip > h3::before,
.info-tip > strong:first-child::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6'/%3E%3Cpath d='M10 22h4'/%3E%3Cpath d='M12 2a7 7 0 0 0-4 12.7V17h8v-2.3A7 7 0 0 0 12 2z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6'/%3E%3Cpath d='M10 22h4'/%3E%3Cpath d='M12 2a7 7 0 0 0-4 12.7V17h8v-2.3A7 7 0 0 0 12 2z'/%3E%3C/svg%3E");
}
/* список / кратко */
.info-summary > h3::before,
.info-summary > strong:first-child::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='8' y1='6' x2='21' y2='6'/%3E%3Cline x1='8' y1='12' x2='21' y2='12'/%3E%3Cline x1='8' y1='18' x2='21' y2='18'/%3E%3Cline x1='3' y1='6' x2='3.01' y2='6'/%3E%3Cline x1='3' y1='12' x2='3.01' y2='12'/%3E%3Cline x1='3' y1='18' x2='3.01' y2='18'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='8' y1='6' x2='21' y2='6'/%3E%3Cline x1='8' y1='12' x2='21' y2='12'/%3E%3Cline x1='8' y1='18' x2='21' y2='18'/%3E%3Cline x1='3' y1='6' x2='3.01' y2='6'/%3E%3Cline x1='3' y1='12' x2='3.01' y2='12'/%3E%3Cline x1='3' y1='18' x2='3.01' y2='18'/%3E%3C/svg%3E");
}
/* чеклист */
.info-checklist > h3::before,
.info-checklist > strong:first-child::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 11l3 3L22 4'/%3E%3Cpath d='M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 11l3 3L22 4'/%3E%3Cpath d='M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11'/%3E%3C/svg%3E");
}
.info-definition > p,
.info-important > p,
.info-expert > p,
.info-example > p,
.info-risk > p,
.info-tip > p,
.info-summary > p {
    margin: 0;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.65;
}

.info-definition {
    background: #f3faff;
    border-left: 4px solid #7bbce8;
    padding: 18px 22px;
    border-radius: 14px;
}
.info-definition > h3,
.info-definition > strong:first-child { color: #2873a8; }

.info-important {
    background: #eef8ff;
    border: 1px solid #cfe8fa;
    padding: 20px;
    border-radius: 16px;
}
.info-important > h3,
.info-important > strong:first-child { color: #176394; }

.info-expert {
    background: #ffffff;
    border: 1px solid #d7eaf7;
    box-shadow: 0 5px 20px rgba(70, 130, 180, .08);
    padding: 22px;
    border-radius: 18px;
}
.info-expert > h3,
.info-expert > strong:first-child { color: #4c8db8; }

.info-example {
    background: #f8fcff;
    border: 1px dashed #9fd0ef;
    padding: 20px;
    border-radius: 16px;
}
.info-example > h3,
.info-example > strong:first-child { color: #3a7aa8; }

.info-risk {
    background: #fff9f3;
    border-left: 4px solid #e8b86d;
    padding: 20px;
    border-radius: 14px;
}
.info-risk > h3,
.info-risk > strong:first-child { color: #a87525; }

.info-tip {
    background: #f2fbf8;
    border-left: 4px solid #76c7b0;
    padding: 20px;
    border-radius: 14px;
}
.info-tip > h3,
.info-tip > strong:first-child { color: #26806b; }

.info-summary {
    background: #edf7ff;
    padding: 20px;
    border-radius: 18px;
    font-weight: 500;
    color: #244c68;
}
.info-summary > h3,
.info-summary > strong:first-child { color: #244c68; }

.info-checklist {
    background: white;
    border: 1px solid #d9ebf7;
    padding: 22px;
    border-radius: 18px;
}
.info-checklist > h3,
.info-checklist > strong:first-child { color: #2a6a94; }
.info-checklist ul {
    margin: .75rem 0 0;
    padding-left: 1.75rem;
}
.info-checklist li { margin: .4rem 0; }
.info-checklist li::marker { color: #75b8e5; }

/* Таблицы в статьях: #007ada */
.invest-table,
.ff-prose .seo-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--ff-card, #ffffff);
    color: var(--ff-text, #334155);
    border-radius: var(--ff-radius, 12px);
    overflow: hidden;
    box-shadow:
        0 6px 22px rgba(0, 122, 218, .12),
        0 0 0 1px var(--ff-line, #c5d4e0);
    margin: 1.5rem 0 1.75rem;
}
.invest-table thead,
.ff-prose .seo-table thead {
    background: #007ada;
}
.invest-table th,
.invest-table td,
.ff-prose .seo-table th,
.ff-prose .seo-table td {
    padding: .85rem 1.2rem;
    border-bottom: 1px solid var(--ff-line-soft, #e8eef3);
    text-align: left;
    font-size: .92rem;
}
.invest-table th,
.ff-prose .seo-table th {
    font-weight: 650;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #ffffff;
    border-bottom: 3px solid #0062b0;
}
.invest-table tbody tr:nth-child(even),
.ff-prose .seo-table tbody tr:nth-child(even) {
    background-color: #e8f4fc;
}
.invest-table tbody tr:hover,
.ff-prose .seo-table tbody tr:hover {
    background-color: #d4ebfa;
    transition: background-color .18s ease;
}
.invest-table td:nth-child(2),
.ff-prose .seo-table td:nth-child(2) {
    font-weight: 650;
}
.invest-table tbody tr:last-child td,
.ff-prose .seo-table tbody tr:last-child td {
    border-bottom: 0;
}
.ff-prose .invest-table,
.ff-prose .seo-table {
    display: table;
    max-width: 100%;
}

@media (max-width: 1024px) {
    .invest-table th,
    .invest-table td,
    .ff-prose .seo-table th,
    .ff-prose .seo-table td {
        padding: .7rem 1rem;
        font-size: .9rem;
    }
}

@media (max-width: 640px) {
    .eeat-author {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        padding: 20px;
    }
    .invest-table,
    .ff-prose .seo-table {
        table-layout: fixed;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
    .invest-table th,
    .invest-table td,
    .ff-prose .seo-table th,
    .ff-prose .seo-table td {
        padding: .45rem .65rem;
        font-size: .8rem;
    }
    .invest-table td:nth-child(2),
    .ff-prose .seo-table td:nth-child(2) {
        font-weight: 700;
    }
}


/* Текст под счётчиками (по центру) */
.portal-footer-counters-wrap,
.sl-footer-counters-wrap,
.ss-footer-counters-wrap,
.mb-footer-counters-wrap,
.ff-footer-counters-wrap,
.lm-footer-counters-wrap,
.parked-footer-counters-wrap,
.footer-counters-wrap {
  margin-top: 1rem;
  text-align: center;
}
.portal-footer-counters-text,
.sl-footer-counters-text,
.ss-footer-counters-text,
.mb-footer-counters-text,
.ff-footer-counters-text,
.lm-footer-counters-text,
.parked-footer-counters-text,
.footer-counters-text {
  margin-top: 0.75rem;
  font-size: 0.85rem;
  line-height: 1.45;
  color: #6b6560;
  text-align: center;
}
.portal-footer-counters-text p,
.sl-footer-counters-text p,
.ss-footer-counters-text p,
.mb-footer-counters-text p,
.ff-footer-counters-text p,
.lm-footer-counters-text p,
.parked-footer-counters-text p,
.footer-counters-text p {
  margin: 0.35em 0;
}
.portal-footer-counters-text a,
.sl-footer-counters-text a,
.ss-footer-counters-text a,
.mb-footer-counters-text a,
.ff-footer-counters-text a,
.lm-footer-counters-text a,
.parked-footer-counters-text a,
.footer-counters-text a {
  display: inline;
  color: inherit;
  text-decoration: underline;
}

/* Лидеры дня: мини в правой колонке, полный — по «Расширить» */
html.ff-movers-open { overflow: hidden; }
.ff-movers {
    margin: 0 0 1.25rem;
    position: relative;
}
.ff-movers-backdrop {
    position: fixed;
    inset: 0;
    z-index: 90;
    background: rgba(15, 23, 42, .42);
    border: 0;
    padding: 0;
    cursor: pointer;
}
.ff-movers-backdrop[hidden] { display: none !important; }
.ff-movers-panel {
    position: relative;
    z-index: 1;
    padding: .7rem .75rem .75rem;
    border: 1px solid var(--ff-line);
    border-radius: 10px;
    background: linear-gradient(165deg, #f7fbfe 0%, #ffffff 48%, #ffffff 100%);
}
.ff-movers-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: .45rem .6rem;
    margin-bottom: .55rem;
}
.ff-movers-title {
    margin: 0;
    font-size: .95rem;
    font-weight: 700;
    color: #1e293b;
    letter-spacing: -0.02em;
    line-height: 1.25;
}
.ff-movers-sub {
    margin: .15rem 0 0;
    font-size: .72rem;
    color: var(--ff-muted);
    line-height: 1.3;
}
.ff-movers-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem .45rem;
}
.ff-movers-badge {
    display: inline-block;
    padding: .2rem .4rem;
    border: 1px solid #94a3b8;
    border-radius: 3px;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .05em;
    color: #475569;
    background: #fff;
    line-height: 1;
}
.ff-movers-stamp {
    display: none;
    flex-direction: column;
    gap: .05rem;
    font-size: .72rem;
    line-height: 1.35;
    color: #94a3b8;
    text-align: right;
}
.ff-movers-toggle {
    border: 1px solid #9cc7e6;
    background: #fff;
    color: #2b6ea3;
    font: inherit;
    font-size: .72rem;
    font-weight: 600;
    padding: .22rem .5rem;
    border-radius: 999px;
    cursor: pointer;
    line-height: 1.2;
}
.ff-movers-toggle:hover { background: var(--ff-accent-soft); }
.ff-movers-chart {
    display: flex;
    flex-direction: column;
    gap: .18rem;
}
.ff-movers-row {
    display: grid;
    grid-template-columns: 3.2rem 3.6rem minmax(2.2rem, 1fr);
    gap: .2rem .35rem;
    align-items: center;
    font-size: .78rem;
}
.ff-movers-ticker {
    font-weight: 700;
    color: inherit;
    text-decoration: none;
    font-size: .78rem;
}
.ff-movers-ticker:hover { text-decoration: underline; }
.ff-movers-name {
    display: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #475569;
    font-size: .86rem;
}
.ff-movers-pct {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    text-align: right;
    font-size: .76rem;
}
.ff-movers-bar-track {
    display: block;
    height: .45rem;
    background: transparent;
    grid-column: 3;
}
.ff-movers-bar {
    display: block;
    height: 100%;
    border-radius: 2px;
    min-width: 2px;
    transition: width .35s ease;
}
.ff-movers-row .ff-movers-pct { grid-column: 2; }
.ff-movers-up .ff-movers-ticker,
.ff-movers-up .ff-movers-pct { color: var(--ff-up); }
.ff-movers-up .ff-movers-bar { background: #15803d; }
.ff-movers-down .ff-movers-ticker,
.ff-movers-down .ff-movers-pct { color: var(--ff-down); }
.ff-movers-down .ff-movers-bar { background: #e11d48; }
.ff-movers-index {
    margin: .12rem 0;
    padding: .2rem .3rem;
    background: #f1f5f9;
    border-radius: 5px;
}
.ff-movers-axis { display: none; }
.ff-movers-axis-spacer { grid-column: 1 / 4; }
.ff-movers-axis-scale {
    display: flex;
    justify-content: space-between;
    padding-top: .15rem;
    border-top: 1px solid var(--ff-line-soft);
}
.ff-movers-foot { margin-top: .55rem; }
.ff-movers-archive {
    margin: 0;
    font-size: .75rem;
    color: var(--ff-muted);
}
a.ff-movers-link {
    color: var(--ff-accent);
    font: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}
a.ff-movers-link:hover { color: #2b6ea3; }
.ff-movers-note { display: none; margin: .45rem 0 0; font-size: .75rem; color: #94a3b8; }

/* Полный режим (оверлей) */
.ff-movers.is-expanded {
    z-index: 91;
}
.ff-movers.is-expanded .ff-movers-panel {
    position: fixed;
    z-index: 92;
    left: 50%;
    top: 4vh;
    transform: translateX(-50%);
    width: min(52rem, calc(100vw - 1.5rem));
    max-height: 92vh;
    overflow: auto;
    padding: 1.05rem 1.2rem 1.1rem;
    border-radius: var(--ff-radius);
    box-shadow: 0 18px 48px rgba(15, 23, 42, .22);
}
/* Полный вид в потоке страницы «Каждый день» (не оверлей) */
.ff-movers.is-static {
    z-index: auto;
    margin: 1.2rem 0 1.5rem;
}
.ff-movers.is-static .ff-movers-panel {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    width: auto;
    max-height: none;
    overflow: visible;
    box-shadow: none;
}
.ff-movers.is-expanded .ff-movers-title { font-size: 1.28rem; }
.ff-movers.is-expanded .ff-movers-sub { font-size: .9rem; display: block; }
.ff-movers.is-expanded .ff-movers-stamp { display: flex; }
.ff-movers.is-expanded .ff-movers-badge { font-size: .72rem; padding: .28rem .55rem; }
.ff-movers.is-expanded .ff-movers-toggle { font-size: .8rem; padding: .28rem .7rem; }
.ff-movers.is-expanded .ff-movers-head {
    gap: .75rem 1.25rem;
    margin-bottom: .85rem;
}
.ff-movers.is-expanded .ff-movers-chart { gap: .28rem; }
.ff-movers.is-expanded .ff-movers-row {
    grid-template-columns: 4.2rem minmax(0, 11rem) 4.6rem minmax(5rem, 1fr);
    gap: .35rem .65rem;
    font-size: .9rem;
}
.ff-movers.is-expanded .ff-movers-ticker { font-size: .9rem; }
.ff-movers.is-expanded .ff-movers-name { display: block; }
.ff-movers.is-expanded .ff-movers-pct {
    grid-column: auto;
    font-size: .9rem;
}
.ff-movers.is-expanded .ff-movers-bar-track {
    grid-column: auto;
    height: .72rem;
}
.ff-movers.is-expanded .ff-movers-index {
    margin: .2rem 0;
    padding: .35rem .45rem;
}
.ff-movers.is-expanded .ff-movers-axis {
    display: grid;
    grid-template-columns: 4.2rem minmax(0, 11rem) 4.6rem minmax(5rem, 1fr);
    gap: .35rem .65rem;
    margin-top: .35rem;
    font-size: .72rem;
    color: #94a3b8;
}
.ff-movers.is-expanded .ff-movers-foot { margin-top: .85rem; }
.ff-movers.is-expanded .ff-movers-archive { font-size: .88rem; }
.ff-movers.is-expanded .ff-movers-lock { font-size: .9rem; }
.ff-movers.is-expanded .ff-movers-note { display: block; }

@media (max-width: 720px) {
    .ff-movers.is-expanded .ff-movers-row,
    .ff-movers.is-expanded .ff-movers-axis {
        grid-template-columns: 3.6rem minmax(0, 1fr) 4.2rem;
    }
    .ff-movers.is-expanded .ff-movers-bar-track,
    .ff-movers.is-expanded .ff-movers-axis-spacer,
    .ff-movers.is-expanded .ff-movers-axis-scale { display: none; }
    .ff-movers.is-expanded .ff-movers-name { display: block; }
    .ff-movers.is-expanded .ff-movers-stamp { text-align: left; }
}

.ff-day-index-cta { margin: .75rem 0 1.4rem; }
.ff-day-index-list a { font-weight: 600; }

/* Страница «Каждый день»: новости квадратиками */
.ff-day-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(11.5rem, 1fr));
    gap: .9rem 1rem;
    margin-top: .85rem;
}
.ff-day-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    border: 1px solid var(--ff-line-soft);
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}
.ff-day-card-media {
    display: block;
    aspect-ratio: 16 / 9;
    background: linear-gradient(145deg, #e8f3fb, #f1f5f9);
    overflow: hidden;
}
.ff-day-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.ff-day-card-body {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    padding: .7rem .75rem .85rem;
    flex: 1;
}
.ff-day-card-body h3 {
    margin: 0;
    font-size: .92rem;
    font-weight: 650;
    line-height: 1.3;
}
.ff-day-card-body h3 a { color: #1e293b; text-decoration: none; }
.ff-day-card-body h3 a:hover { color: var(--ff-accent); text-decoration: underline; }
.ff-day-card-body p {
    margin: 0;
    font-size: .8rem;
    color: var(--ff-muted);
    line-height: 1.4;
    flex: 1;
}
.ff-day-card-more {
    font-size: .8rem;
    font-weight: 600;
    margin-top: .25rem;
}
.ff-day-movers-lock { margin: 1.2rem 0; }

