/* ================================================================
   Асектор — страница /fire «Движок аналитики» (fire.css)
   Отдельный файл стилей, подключается после main.min.css через
   $cssFile в header.php. Все стили изолированы префиксом .fr-
   Палитра, типографика и рамки секций — в едином стиле с .ab-
   ================================================================ */
.fr-lp{
    --fr-navy-1:#0a192f;
    --fr-navy-2:#1e3a5f;
    --fr-cyan:#00d4ff;
    --fr-blue:#0088ff;
    --fr-ink:rgba(33,37,41,1);
    --fr-muted:#5c6b7a;
    --fr-light:#f4f7fb;
    --fr-radius:3px;
    font-family:'OpenSans',Arial,Helvetica,sans-serif;
    font-size:18px;
    color:var(--fr-ink);
    line-height:1.65;
    background:#fff;
}
.fr-lp *,.fr-lp *::before,.fr-lp *::after{box-sizing:border-box;}
.fr-lp img{max-width:100%;}
.fr-lp a{color:var(--fr-blue); text-decoration: none;}

/* ---------- каркас ---------- */
.fr-sec{position:relative;width:100%;overflow:hidden;}
.fr-wrap{max-width:1160px;margin:0 auto;padding:72px 24px;}
.fr-sec-dark{
    background:linear-gradient(135deg,var(--fr-navy-1) 0%,var(--fr-navy-2) 100%);
    color:#e6f1ff;
}
.fr-sec-light{background:#fff;}
.fr-sec-alt{background:var(--fr-light);}

/* техно-сетка на тёмных секциях */
.fr-sec-dark::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background-image:
        linear-gradient(rgba(0,212,255,.05) 1px,transparent 1px),
        linear-gradient(90deg,rgba(0,212,255,.05) 1px,transparent 1px);
    background-size:36px 36px;
}
.fr-sec-dark > .fr-wrap{position:relative;z-index:1;}

/* бегущая cyan-линия */
.fr-scan{position:absolute;left:0;right:0;height:2px;top:0;z-index:0;
    background:linear-gradient(90deg,transparent,var(--fr-cyan),transparent);
    animation:frScan 9s linear infinite;opacity:.5;pointer-events:none;}
@keyframes frScan{
    0%{transform:translateY(0);opacity:0;}
    8%{opacity:.5;}
    92%{opacity:.5;}
    100%{transform:translateY(calc(100vh));opacity:0;}
}

/* ---------- типографика ---------- */
.fr-eyebrow{
    display:inline-block;font-size:0.8rem;font-weight:700;letter-spacing:.14em;
    text-transform:uppercase;color:var(--fr-cyan);
    border:1px solid rgba(0,212,255,.4);
    border-radius:3px;
    padding:6px 18px;margin-bottom:24px;background:rgba(0,212,255,.08);
}
.fr-sec-light .fr-eyebrow,.fr-sec-alt .fr-eyebrow{
    color:var(--fr-blue);background:rgba(0,136,255,.07);border-color:rgba(0,136,255,.35);
}
.fr-h1{font-size:54px;font-weight:800;line-height:1.15;margin:0 0 24px;letter-spacing:-.01em;}
.fr-h2{font-size:38px;font-weight:800;line-height:1.2;margin:0 0 18px;}
.fr-h3{font-size:20px;font-weight:700;line-height:1.35;margin:0 0 12px;}
.fr-lead{font-size:21px;line-height:1.6;margin:0 0 32px;}
.fr-sec-dark .fr-h1,.fr-sec-dark .fr-h2,.fr-sec-dark .fr-h3{color:#fff;}
.fr-sec-dark .fr-lead{color:rgba(230,241,255,.85);}
.fr-text{margin:0 0 18px;max-width:960px;}
.fr-sec-dark .fr-text{color:rgba(230,241,255,.82);}
.fr-grad-text{
    background:linear-gradient(90deg,var(--fr-cyan),var(--fr-blue));
    -webkit-background-clip:text;background-clip:text;color:transparent;
}
.fr-sec-light .fr-grad-text,.fr-sec-alt .fr-grad-text{
    background:linear-gradient(90deg,var(--fr-blue),#00c2a8);-webkit-background-clip:text;background-clip:text;color:transparent;
}

/* ---------- кнопки ---------- */
.fr-btn{
    display:inline-flex;align-items:center;gap:10px;
    font-family:inherit;font-size:16px;font-weight:700;line-height:1;
    text-decoration:none;border-radius:8px;padding:15px 28px;
    transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;
    cursor:pointer;border:0;
}
.fr-btn-primary{background:#1e3a5f;color:#fff;border:1px solid rgba(255,255,255,.25);box-shadow:0 4px 18px rgba(0,0,0,.35);}
.fr-btn-ghost{background:transparent;color:var(--fr-cyan);border:1px solid rgba(0,212,255,.5);}
.fr-btn:hover{transform:translateY(-2px);box-shadow:0 5px 10px rgba(0,0,0,.4); color: white;}
.fr-btn-primary:hover{background:#0088ff;border-color:rgba(0,136,255,.6);box-shadow:0 8px 24px rgba(0,136,255,.5);}
.fr-cta-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:8px;}

/* ---------- герой ---------- */
.fr-hero{min-height:620px;display:flex;align-items:center;}
.fr-hero .fr-wrap{padding:72px 24px; width: 100%}
.fr-hero-stats{
    display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));
    gap:20px;margin-top:48px;padding-top:36px;
    border-top:1px solid rgba(0,212,255,.25);
}
.fr-stat{padding:0 8px;}
.fr-stat-num{font-size:40px;font-weight:800;line-height:1.1;color:var(--fr-cyan);font-variant-numeric:tabular-nums;}
.fr-stat-label{font-size:14px;color:rgba(230,241,255,.7);margin-top:8px;letter-spacing:.02em;}

/* ---------- график 30 дней ---------- */
.fr-chart-box{
    background:#fff;border:1px solid #e2e9f2;border-radius:var(--fr-radius);
    padding:28px 26px;box-shadow:0 8px 24px rgba(10,25,47,.07);
}
.fr-sec-dark .fr-chart-box{
    background:rgba(255,255,255,.04);border:1px solid rgba(0,212,255,.22);
}
.fr-chart-box canvas{width:100%;height:320px;display:block;}
.fr-chart-empty{
    height:320px;display:flex;align-items:center;justify-content:center;
    color:var(--fr-muted);font-size:16px;
}

/* ---------- тренды (2 карточки) — стоят в светлой секции,
   поэтому белый фон, серая рамка и тёмная типографика ---------- */
.fr-trend-line{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:28px;}
.fr-trend-card{
    background:#fff;border:1px solid #e2e9f2;
    border-radius:var(--fr-radius);padding:24px 26px;box-shadow:0 8px 24px rgba(10,25,47,.07);
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.fr-trend-card:hover{transform:translateY(-5px);border-color:rgba(0,136,255,.35);box-shadow:0 12px 28px rgba(10,25,47,.14);}
.fr-trend-num{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;font-size:34px;font-weight:800;line-height:1.1;color:var(--fr-blue);font-variant-numeric:tabular-nums;}
.fr-trend-delta{font-size:15px;font-weight:700;}
.fr-trend-delta.fr-up{color:#00a55e;}
.fr-trend-delta.fr-down{color:#e04b4b;}
.fr-trend-label{font-size:15px;color:var(--fr-ink);margin-top:10px;}
.fr-trend-label small{display:block;font-size:13px;color:var(--fr-muted);}

/* ---------- слои аналитики (стопка строк) ---------- */
.fr-layers{display:flex;flex-direction:column;gap:18px;margin-top:44px;}
.fr-layer{
    display:grid;grid-template-columns:88px 1fr 1.2fr;gap:24px;align-items:center;
    background:rgba(255,255,255,.035);border:1px solid rgba(0,212,255,.2);
    border-radius:var(--fr-radius);padding:24px 28px;
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.fr-layer:hover{transform:translateY(-5px);border-color:rgba(0,212,255,.6);box-shadow:0 10px 26px rgba(0,0,0,.4);}
.fr-layer-num{
    width:64px;height:64px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-size:26px;font-weight:800;color:#fff;
    background:linear-gradient(135deg,var(--fr-cyan),var(--fr-blue));
    box-shadow:0 4px 16px rgba(0,136,255,.45);
}
.fr-layer-mid h3{margin:0 0 8px;color:#fff;font-size:20px;font-weight:700;}
.fr-layer-mid .fr-layer-sub{font-size:14px;color:var(--fr-cyan);letter-spacing:.04em;text-transform:uppercase;font-weight:700;}
.fr-layer-desc{margin:0;color:rgba(230,241,255,.78);font-size:16px;}

/* ---------- структура форматов (горизонтальные бары) ---------- */
.fr-format-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:18px 28px;margin-top:44px;
}
.fr-format-sub{grid-column:1 / -1;margin-top:8px;}
.fr-format-sub .fr-h3{color:#fff;}
.fr-format-item{background:rgba(255,255,255,.035);border:1px solid rgba(0,212,255,.16);border-radius:var(--fr-radius);padding:16px 18px;}
.fr-format-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:10px;}
.fr-format-head span{font-size:15px;color:rgba(230,241,255,.85);font-weight:600;}
.fr-format-head b{font-size:18px;font-weight:800;color:var(--fr-cyan);font-variant-numeric:tabular-nums;}
/* Ширина полосы задаётся инлайн-стилем (width: N%) и показывается вместе
   с fade-in самого элемента (data-reveal) — без отдельной анимации заполнения */
.fr-format-bar{height:8px;border-radius:4px;background:rgba(0,212,255,.12);overflow:hidden;}
.fr-format-bar i{display:block;height:100%;border-radius:4px;
    background:linear-gradient(90deg,var(--fr-cyan),var(--fr-blue));}

/* ---------- облако тегов ----------
   Стили тегов (.tag, .tag-type-card/theme, .size-1..4) наследуются из main.css;
   здесь только центрирование */
.fr-cloud{margin-top:44px;}
.fr-cloud .tag-cloud-main{
    justify-content:center;
    min-height:0;padding:0.8rem 0 1rem;
    margin-top:0.2rem;margin-bottom:0;
}

/* ---------- топ по упоминаниям — в светлой секции,
   белый фон и тёмная типографика (на полупрозрачном
   белом фоне светлый текст был «белым по белому») ---------- */
.fr-mention-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 40px;margin-top:36px;}
.fr-mention-card{background:#fff;border:1px solid #e2e9f2;border-radius:var(--fr-radius);padding:16px 18px;box-shadow:0 8px 24px rgba(10,25,47,.07);}
.fr-mention-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:8px;}
.fr-mention-head span{font-size:15px;color:var(--fr-ink);font-weight:600;}
.fr-mention-head b{font-size:18px;font-weight:800;color:var(--fr-blue);font-variant-numeric:tabular-nums;}
.fr-mention-bar{height:8px;border-radius:4px;background:rgba(0,136,255,.14);overflow:hidden;margin-bottom:8px;}
.fr-mention-bar i{display:block;height:100%;border-radius:4px;
    background:linear-gradient(90deg,var(--fr-blue),#00c2a8);}
.fr-mention-card small{font-size:13px;color:var(--fr-muted);}

/* ---------- графы связей ---------- */
.fr-graphs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px;}
.fr-graph-card{
    background:rgba(255,255,255,.04);border:1px solid rgba(0,212,255,.22);
    border-radius:var(--fr-radius);padding:24px 22px;display:flex;flex-direction:column;gap:14px;
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.fr-graph-card:hover{transform:translateY(-5px);border-color:rgba(0,212,255,.55);box-shadow:0 12px 28px rgba(0,0,0,.4);}
.fr-graph-link{flex:1;}
.fr-graph-card .fr-h3{
    font-size:17px;line-height:1.4;color:#fff;
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.fr-graph-link:hover .fr-h3{color:var(--fr-cyan);}
.fr-graph-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;}
.fr-graph-tag{
    font-size:12px;font-weight:700;letter-spacing:.03em;color:var(--fr-cyan);
    background:rgba(0,212,255,.1);border:1px solid rgba(0,212,255,.35);
    border-radius:4px;padding:4px 10px;
}
.fr-graph-date{font-size:13px;color:rgba(230,241,255,.6);}
.fr-news-more{text-align:center;margin-top:40px;}
.fr-news-more .button_show_more{margin-top:0;}

/* ---------- CTA-полоса ---------- */
.fr-cta-band .fr-wrap{text-align:center;padding:88px 24px;}
.fr-cta-band .fr-h2{max-width:760px;margin:0 auto 20px;}
.fr-cta-band .fr-text{margin:0 auto 36px;max-width:680px;}
.fr-cta-band .fr-cta-row{justify-content:center;}

/* ---------- дерево связей (аккордеон уровней) ---------- */
.fr-tree{margin-top:44px;display:flex;flex-direction:column;gap:14px;}
.fr-tree-root{
    display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;
    background:linear-gradient(135deg,rgba(0,136,255,.08),rgba(0,194,168,.06));
    border:1px solid rgba(0,136,255,.3);border-radius:var(--fr-radius);
    padding:20px 26px;
}
.fr-tree-root-name{font-size:24px;font-weight:800;color:var(--fr-ink);}
.fr-tree-root-meta{font-size:14px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--fr-blue);}
.fr-tree-level{border:1px solid #e2e9f2;border-radius:var(--fr-radius);background:#fff;box-shadow:0 8px 24px rgba(10,25,47,.07);overflow:hidden;}
.fr-tree-level-head{
    display:flex;align-items:center;gap:14px;list-style:none;cursor:pointer;
    padding:18px 26px;user-select:none;
}
.fr-tree-level-head::-webkit-details-marker{display:none;}
.fr-tree-level-head:hover{background:rgba(0,136,255,.04);}
.fr-tree-level-name{font-size:17px;font-weight:700;color:var(--fr-ink);}
.fr-tree-level-count{font-size:13px;font-weight:700;letter-spacing:.03em;color:#fff;background:var(--fr-blue);border-radius:4px;padding:3px 10px;}
.fr-tree-level-arrow{
    margin-left:auto;width:10px;height:10px;flex:none;
    border-right:2px solid var(--fr-blue);border-bottom:2px solid var(--fr-blue);
    transform:rotate(45deg);transition:transform .25s ease;
}
.fr-tree-level[open] .fr-tree-level-arrow{transform:rotate(-135deg);}
.fr-tree-level-body{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;
    padding:6px 26px 22px;border-top:1px solid #eef3f9;
}
.fr-tree-card{background:var(--fr-light);border:1px solid #e2e9f2;border-radius:var(--fr-radius);padding:14px 16px;}
.fr-tree-card-link{display:block;text-decoration:none;color:inherit;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.fr-tree-card-link:hover{transform:translateY(-3px);border-color:rgba(0,136,255,.45);box-shadow:0 10px 24px rgba(10,25,47,.12);}
.fr-tree-card-link:hover .fr-tree-name{color:var(--fr-blue);}
.fr-tree-card-link:focus-visible,.fr-tree-root.fr-tree-card-link:focus-visible{outline:2px solid var(--fr-blue);outline-offset:2px;}
.fr-tree-root.fr-tree-card-link{display:flex;text-decoration:none;color:inherit;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;}
.fr-tree-root.fr-tree-card-link:hover{border-color:rgba(0,136,255,.55);box-shadow:0 10px 24px rgba(10,25,47,.12);}
.fr-tree-root.fr-tree-card-link:hover .fr-tree-root-name{color:var(--fr-blue);}
.fr-tree-name{font-size:15px;font-weight:700;color:var(--fr-ink);line-height:1.35;transition:color .2s ease;}
.fr-tree-root-name{transition:color .2s ease;}
.fr-tree-meta{font-size:12.5px;color:var(--fr-muted);margin-top:5px;}
.fr-tree-more{align-self:center;font-size:13px;font-weight:700;color:var(--fr-muted);padding:14px 16px;}

/* ---------- появление по скроллу ---------- */
@media (prefers-reduced-motion:no-preference){
    html.fr-js .fr-lp [data-reveal]{
        opacity:0;transform:translateY(26px);
        transition:opacity .7s ease,transform .7s ease;
    }
    html.fr-js .fr-lp [data-reveal].fr-in-view{opacity:1;transform:none;}
    html.fr-js .fr-lp .fr-stagger > [data-reveal]:nth-child(2){transition-delay:.1s;}
    html.fr-js .fr-lp .fr-stagger > [data-reveal]:nth-child(3){transition-delay:.2s;}
    html.fr-js .fr-lp .fr-stagger > [data-reveal]:nth-child(4){transition-delay:.3s;}
    html.fr-js .fr-lp .fr-stagger > [data-reveal]:nth-child(5){transition-delay:.4s;}
    html.fr-js .fr-lp .fr-stagger > [data-reveal]:nth-child(6){transition-delay:.5s;}
}
@media (prefers-reduced-motion:reduce){
    .fr-scan{display:none;}
    .fr-lp *{animation:none !important;transition:none !important;}
}

/* ---------- адаптив ---------- */
@media (max-width:1024px){
    .fr-h1{font-size:42px;}
    .fr-h2{font-size:32px;}
    .fr-format-grid{grid-template-columns:1fr;}
    .fr-mention-grid{grid-template-columns:1fr;}
    .fr-graphs{grid-template-columns:repeat(2,1fr);}
    .fr-layer{grid-template-columns:64px 1fr;grid-template-rows:auto auto;}
    .fr-layer-desc{grid-column:1 / -1;}
    .fr-layer-num{width:52px;height:52px;font-size:22px;}
}
@media (max-width:768px){
    .fr-wrap{padding:56px 20px;}
    .fr-hero .fr-wrap{padding:72px 20px;}
    .fr-hero{min-height:0;}
    .fr-h1{font-size:34px;}
    .fr-h2{font-size:28px;}
    .fr-lead{font-size:18px;}
    .fr-hero-stats{grid-template-columns:repeat(2,1fr);gap:24px;}
    .fr-stat-num{font-size:32px;}
    .fr-trend-line{grid-template-columns:1fr;}
    .fr-graphs{grid-template-columns:1fr;}
}
@media (max-width:520px){
    .fr-hero-stats{grid-template-columns:1fr;}
    .fr-btn{width:100%;justify-content:center;}
}
