/* Data FR — раздел официальной статистики. Префикс .df-, чтобы не конфликтовать со старыми стилями. */
.df{
  --df-brand:#365EBA; --df-brand-600:#2C4E9E; --df-accent:#F76C16;
  --df-pos:#0A9E5C; --df-neg:#D8413A; --df-warn:#E8A33D; --df-violet:#8A6BD9;
  --df-bg:#F7F8FA; --df-surface:#fff; --df-surface-2:#F4F6FA; --df-surface-3:#EBEFF6;
  --df-text:#11151C; --df-text-2:#3A4353; --df-mut:#78829A;
  --df-border:#EEF0F5; --df-border-2:#DCE1EB; --df-hairline:rgba(54,94,186,.26); --df-grid:#EDF0F6;
  --df-shadow:0 8px 24px -10px rgba(17,21,28,.13), 0 2px 6px rgba(17,21,28,.045);
  --df-glow:.16; --df-noise:.03;
  --df-r:14px; --df-r-lg:20px; --df-gap:16px; --df-pad:20px;
  --df-d1:140ms; --df-d2:240ms; --df-d3:420ms;
  --df-ease:cubic-bezier(.2,.6,.3,1); --df-out:cubic-bezier(.22,1,.36,1);
  --df-font:'Roboto',Arial,sans-serif;
  font-family:var(--df-font); color:var(--df-text); background:var(--df-bg);
}
[data-theme="dark"] .df{
  --df-brand:#5B84D8; --df-brand-600:#7FA0E4; --df-accent:#FF8438;
  --df-pos:#2ECC84; --df-neg:#F2635C; --df-warn:#F0B75A; --df-violet:#A58CE8;
  --df-bg:#0C0F14; --df-surface:#141922; --df-surface-2:#1A202B; --df-surface-3:#222A37;
  --df-text:#EEF1F6; --df-text-2:#B9C1CE; --df-mut:#7D879A;
  --df-border:#222A37; --df-border-2:#2E3849; --df-hairline:rgba(140,175,255,.32); --df-grid:#1E2531;
  --df-shadow:0 12px 30px -12px rgba(0,0,0,.6), 0 2px 8px rgba(0,0,0,.35);
  --df-glow:.32; --df-noise:.05;
}
.df *,.df *::before,.df *::after{box-sizing:border-box}
.df-wrap{max-width:1180px;margin:0 auto;padding:0 16px}
.df-sec{position:relative;padding:26px 0}
.df-sec::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:var(--df-noise);mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
.df-sec > *{position:relative;z-index:1}

/* типографика */
.df h1,.df h2,.df h3{font-family:var(--df-font);line-height:1.12;margin:0}
.df h1{font-size:clamp(28px,4.4vw,42px);font-weight:800}
.df h2{font-size:clamp(20px,2.6vw,27px);font-weight:700}
.df h3{font-size:17px;font-weight:700}
.df p{margin:0;line-height:1.62}
.df a{color:var(--df-brand);text-decoration:none}
.df a:hover{text-decoration:underline}
.df-eyebrow{font-size:13px;font-weight:500;color:var(--df-mut)}
.df-lead{font-size:16.5px;color:var(--df-text-2);max-width:62ch;margin-top:12px}

/* крошки */
.df-crumbs{font-size:13px;color:var(--df-mut);padding:16px 0 4px;display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.df-crumbs a{color:var(--df-mut)}
.df-crumbs a:hover{color:var(--df-brand)}

/* карточка */
.df-card{position:relative;background:var(--df-surface);border:1px solid var(--df-border);border-radius:var(--df-r);
  padding:var(--df-pad);overflow:hidden;isolation:isolate;
  transition:transform var(--df-d2) var(--df-ease),box-shadow var(--df-d2) var(--df-ease),border-color var(--df-d2) var(--df-ease)}
.df-card::after{content:"";position:absolute;inset:0 0 auto 0;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--df-hairline) 22%,var(--df-hairline) 78%,transparent)}
a.df-card{display:block;color:inherit}
a.df-card:hover{text-decoration:none;transform:translateY(-2px);box-shadow:var(--df-shadow);border-color:var(--df-border-2)}
.df-card--grad::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;z-index:2;
  background:linear-gradient(135deg,var(--df-brand),rgba(54,94,186,.25) 42%,transparent 58%,rgba(247,108,22,.4));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude}

/* сетка */
.df-grid{display:grid;gap:var(--df-gap);grid-template-columns:repeat(auto-fill,minmax(232px,1fr))}
.df-bento{display:grid;gap:var(--df-gap);grid-template-columns:1fr}
@media(min-width:900px){.df-bento{grid-template-columns:1.25fr 1fr}}

/* метрика */
.df-metric .l{font-size:13px;font-weight:500;color:var(--df-mut);display:flex;gap:8px;align-items:center;justify-content:space-between}
.df-metric .v{font-family:var(--df-font);
  font-size:clamp(25px,3vw,32px);font-weight:600;line-height:1.05;margin:9px 0 8px;color:var(--df-text)}
.df-metric .v small{font-size:.52em;color:var(--df-mut);font-weight:500;margin-left:3px}
.df-metric .d{font-size:12.5px;color:var(--df-mut);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.df-hero-v{font-family:var(--df-font);
  font-size:clamp(44px,8vw,78px);font-weight:700;line-height:1;margin:16px 0 10px}
.df-hero-v small{font-size:.32em;color:var(--df-mut);font-weight:500;margin-left:8px}

/* дельта */
.df-chg{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600;padding:3px 8px;border-radius:999px;border:1px solid transparent;white-space:nowrap}
.df-chg.up{color:var(--df-pos);background:rgba(10,158,92,.1);border-color:rgba(10,158,92,.22)}
.df-chg.down{color:var(--df-neg);background:rgba(216,65,58,.1);border-color:rgba(216,65,58,.2)}
.df-chg.flat{color:var(--df-mut);background:var(--df-surface-2)}
.df-tag{font-size:11.5px;font-weight:500;
  color:var(--df-mut);background:var(--df-surface-2);border:1px solid var(--df-border);border-radius:999px;padding:3px 8px}

/* графики */
.df-chart{width:100%;height:320px}
.df-chart.sm{height:210px}
.df-chart.lg{height:440px}
.df-panel{background:var(--df-surface);border:1px solid var(--df-border);border-radius:var(--df-r-lg);padding:18px 18px 10px;position:relative;overflow:hidden}
.df-panel::after{content:"";position:absolute;inset:0 0 auto 0;height:1px;
  background:linear-gradient(90deg,transparent,var(--df-hairline) 22%,var(--df-hairline) 78%,transparent)}
.df-panel-h{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.df-panel-h b{font-family:var(--df-font);font-size:16px;font-weight:700}
.df-panel-h span{font-size:12.5px;color:var(--df-mut)}
.df-seg{display:inline-flex;gap:2px;background:var(--df-surface-2);border:1px solid var(--df-border);border-radius:999px;padding:3px}
.df-seg button{border:0;background:transparent;border-radius:999px;padding:6px 13px;font:500 13px var(--df-font);
  color:var(--df-mut);cursor:pointer;transition:all var(--df-d1) var(--df-ease)}
.df-seg button.on{background:var(--df-surface);color:var(--df-text);box-shadow:0 1px 3px rgba(17,21,28,.1)}
[data-theme="dark"] .df-seg button.on{background:var(--df-surface-3)}

/* врезка */
.df-note{display:flex;gap:13px;background:var(--df-surface);border:1px solid var(--df-border);border-left:3px solid var(--df-accent);
  border-radius:var(--df-r);padding:16px 18px;margin:20px 0}
.df-note i{font-style:normal;font-size:17px;line-height:1.3;opacity:.85}
.df-note p{font-size:14.5px}
.df-note span{display:block;margin-top:7px;font-size:12.5px;color:var(--df-mut)}

/* таблица */
.df-table{background:var(--df-surface);border:1px solid var(--df-border);border-radius:var(--df-r-lg);overflow:hidden}
.df-table table{width:100%;border-collapse:collapse;font-size:14px}
.df-table th{text-align:left;font-size:12.5px;font-weight:500;
  color:var(--df-mut);padding:13px 14px;border-bottom:1px solid var(--df-border);background:var(--df-surface-2);white-space:nowrap}
.df-table th.s{cursor:pointer;user-select:none}
.df-table th.s:hover{color:var(--df-brand)}
.df-table th.on{color:var(--df-brand)}
.df-table td{padding:12px 14px;border-bottom:1px solid var(--df-border)}
.df-table tr:last-child td{border-bottom:0}
.df-table tbody tr{transition:background var(--df-d1) var(--df-ease)}
.df-table tbody tr:hover{background:var(--df-surface-2)}
.df-table .n{text-align:right;font-family:var(--df-font);white-space:nowrap}
.df-rank{display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:21px;border-radius:6px;
  background:var(--df-surface-3);color:var(--df-mut);font-size:11.5px;font-weight:600;margin-right:9px}
.df-rank.top{background:rgba(247,108,22,.14);color:var(--df-accent)}
.df-bar{display:block;height:5px;border-radius:999px;background:var(--df-surface-3);margin-top:6px;overflow:hidden}
.df-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--df-brand),var(--df-brand-600));
  width:var(--w,0%);transition:width var(--df-d3) var(--df-out)}
.df-bar.hot i{background:linear-gradient(90deg,var(--df-accent),#FF9B4D)}

/* аккордеон */
.df-acc{background:var(--df-surface);border:1px solid var(--df-border);border-radius:var(--df-r);margin-bottom:9px;overflow:hidden}
.df-acc summary{cursor:pointer;list-style:none;padding:15px 18px;font-weight:600;font-size:15px;display:flex;
  justify-content:space-between;align-items:center;gap:12px}
.df-acc summary::-webkit-details-marker{display:none}
.df-acc summary::after{content:"+";font-family:var(--df-font);color:var(--df-mut);font-size:17px;flex:0 0 auto}
.df-acc[open] summary::after{content:"–"}
.df-acc .b{padding:0 18px 16px;color:var(--df-text-2);font-size:14.5px;line-height:1.66}

/* подвал источника */
.df-src{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:12.5px;color:var(--df-mut);
  border-top:1px solid var(--df-border);margin-top:26px;padding:16px 0 30px}
.df-src b{color:var(--df-text-2);font-weight:600}

/* кнопки */
.df-btn{display:inline-flex;align-items:center;gap:7px;background:var(--df-brand);color:#fff;border:0;border-radius:999px;
  padding:11px 20px;font:600 14px var(--df-font);cursor:pointer;transition:all var(--df-d2) var(--df-ease)}
.df-btn:hover{background:var(--df-brand-600);text-decoration:none;color:#fff;transform:translateY(-1px)}
.df-btn.ghost{background:transparent;color:var(--df-text-2);border:1px solid var(--df-border-2)}
.df-btn.ghost:hover{background:var(--df-surface-2);color:var(--df-text)}

/* горизонтальная лента разделов */
.df-nav{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding:2px 0 14px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent);
  mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent)}
.df-nav::-webkit-scrollbar{display:none}
.df-nav a{flex:0 0 auto;padding:8px 15px;border-radius:999px;border:1px solid var(--df-border);background:var(--df-surface);
  font-size:13.5px;font-weight:500;color:var(--df-text-2);transition:all var(--df-d1) var(--df-ease)}
.df-nav a:hover{text-decoration:none;border-color:var(--df-border-2);color:var(--df-text)}
.df-nav a.on{background:var(--df-brand);border-color:var(--df-brand);color:#fff}

/* появление */
.df-rev{opacity:0;transform:translateY(14px);
  transition:opacity .5s var(--df-out),transform .5s var(--df-out)}
.df-rev.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  .df *,.df *::before,.df *::after{animation-duration:.001ms !important;transition-duration:.001ms !important}
  .df-rev{opacity:1 !important;transform:none !important;transition-delay:0ms !important}
  a.df-card:hover{transform:none}
}
@media(max-width:640px){
  .df-wrap{padding:0 14px}
  .df-chart{height:260px}.df-chart.lg{height:360px}
  .df-table{overflow-x:auto}
  .df-table table{min-width:520px}
}
