/* =========================================================================
   Dinor — asosiy uslublar
   Dizayn tokenlari maketdan olingan. Qiymatlarni shu yerda o'zgartiring,
   shablon fayllarida emas.
   ========================================================================= */

:root {
	/* Ranglar */
	--dn-ink:        #10201D;
	--dn-brand-900:  #053736;
	--dn-brand-700:  #0B4F4A;
	--dn-brand-600:  #0A5C52;
	--dn-accent:     #F2B01E;
	--dn-accent-lt:  #FFD968;
	--dn-paper:      #F7F6F1;
	--dn-white:      #FFFFFF;
	--dn-line:       #E5E2D9;
	--dn-line-soft:  #EEECE4;
	--dn-text-2:     #33413D;
	--dn-muted:      #4E5D59;
	--dn-muted-2:    #8A9590;
	--dn-on-dark:    #A9BCB7;
	--dn-on-dark-2:  #8FA6A0;
	--dn-on-dark-3:  #C9D2CF;
	--dn-up:         #0A6A42;
	--dn-down:       #B42318;
	--dn-live:       #B42318;

	/* Rasm o'rniga turadigan fon ranglari */
	--dn-ph-green:   #DCE7E2;
	--dn-ph-sand:    #EFE9DA;
	--dn-ph-lilac:   #E4E0EA;
	--dn-ph-dark:    #0B4F4A;

	/* Hamkorlik materiali */
	--dn-spon-bg:    #FFFDF5;
	--dn-spon-line:  #EAD9A8;
	--dn-spon-tag:   #FBF3DC;
	--dn-spon-text:  #8F6400;

	/*
	 * Tipografika.
	 * Asosiy shrift — Roboto. Sarlavhalar ham standart holatda Roboto;
	 * serif variant kerak bo'lsa Sozlashdan yoqiladi (body.dn-serif).
	 */
	--dn-font-ui:    'Roboto', 'Noto Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--dn-font-hl:    'Roboto', 'Noto Sans', system-ui, -apple-system, sans-serif;
	--dn-hl-spacing: -.015em;

	/* O'lchamlar */
	--dn-container:  1360px;
	--dn-gutter:     40px;
	--dn-head-pad:   16px;
}

/* -------------------------------------------------------------------------
   Asos
   ------------------------------------------------------------------------- */

*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	background: var(--dn-white);
	color: var(--dn-ink);
	font-family: var(--dn-font-ui);
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

a {
	color: var(--dn-brand-600);
	text-decoration: none;
	transition: color .15s ease;
}

a:hover { color: var(--dn-brand-900); }

a:focus-visible,
button:focus-visible,
input:focus-visible {
	outline: 2px solid var(--dn-brand-600);
	outline-offset: 2px;
}

img { max-width: 100%; height: auto; display: block; }

h1, h2, h3, h4 { margin: 0; font-weight: 600; }

p { margin: 0; }

button { font: inherit; }

/*
 * Sarlavha shrifti. Standart — Roboto; `body.dn-serif` bo'lsa Lora.
 * Roboto Lora'dan kengroq, shuning uchun harflar orasi biroz siqiladi.
 */
.dn-hl {
	font-family: var(--dn-font-hl);
	letter-spacing: var(--dn-hl-spacing);
}

body.dn-serif {
	--dn-font-hl:    'Lora', 'Noto Serif', Georgia, serif;
	--dn-hl-spacing: 0;
}

/* Raqamlar bir xil kenglikda — jadval va kurslar «sakramasligi» uchun. */
.dn-num { font-feature-settings: 'tnum'; font-variant-numeric: tabular-nums; }

.dn-container {
	max-width: var(--dn-container);
	margin: 0 auto;
	padding: 0 var(--dn-gutter);
}

/*
 * Grid ustunlari standart bo'yicha `min-width:auto` bo'ladi — uzun sarlavha
 * ustunni kengaytirib, qo'shni ustunga chiqib ketadi. Buni ochiq nolga
 * tushiramiz, shunda matn to'g'ri o'raladi.
 */
.dn-hero > *,
.dn-econ > *,
.dn-secondary > *,
.dn-grid-3 > *,
.dn-grid-4 > *,
.dn-findata > *,
.dn-video-block__grid > *,
.dn-archive__grid > *,
.dn-footer__cols > * { min-width: 0; }

.dn-card-h > div,
.dn-video-item > div,
.dn-opinion__author > span { min-width: 0; }

.dn-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 999;
	background: var(--dn-brand-900);
	color: var(--dn-white);
	padding: 12px 20px;
	font-size: 14px;
	font-weight: 600;
}

.dn-skip-link:focus {
	left: 0;
	color: var(--dn-white);
}

.dn-visually-hidden {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

/* -------------------------------------------------------------------------
   Ticker
   ------------------------------------------------------------------------- */

.dn-ticker {
	background: var(--dn-paper);
	border-bottom: 1px solid var(--dn-line);
	font-size: 12.5px;
	color: var(--dn-muted);
}

.dn-ticker__inner {
	max-width: var(--dn-container);
	margin: 0 auto;
	padding: 8px var(--dn-gutter);
	display: flex;
	gap: 24px;
	align-items: center;
	flex-wrap: wrap;
}

.dn-ticker__date { font-weight: 600; color: var(--dn-ink); }
.dn-ticker__item strong { color: var(--dn-ink); font-weight: 700; }
.dn-ticker__delta { font-weight: 600; }
.dn-ticker__delta--up   { color: var(--dn-up); }
.dn-ticker__delta--down { color: var(--dn-down); }
.dn-ticker__delta--flat { color: var(--dn-muted-2); }
.dn-ticker__source { margin-left: auto; color: var(--dn-muted-2); }

/* -------------------------------------------------------------------------
   Header
   ------------------------------------------------------------------------- */

.dn-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--dn-white);
	border-bottom: 1px solid var(--dn-line);
	box-shadow: 0 1px 0 rgba(5, 55, 54, .04);
}

.dn-header__inner {
	max-width: var(--dn-container);
	margin: 0 auto;
	padding: var(--dn-head-pad) var(--dn-gutter);
	display: flex;
	align-items: center;
	gap: 32px;
	transition: padding .2s ease;
}

/* Pastga aylantirilganda header siqiladi (maketdagi `scrollY > 60`). */
.dn-header.is-compact .dn-header__inner { --dn-head-pad: 8px; }

.dn-logo { display: flex; align-items: center; flex: 0 0 auto; }

/* SVG logotip: balandlik qat'iy, kenglik viewBox'ga qarab o'zi hisoblanadi. */
.dn-logo img,
.dn-logo svg { height: 30px; width: auto; display: block; }

.dn-logo__text {
	font-size: 22px;
	font-weight: 800;
	letter-spacing: .04em;
	color: var(--dn-brand-900);
	text-transform: uppercase;
}

.dn-logo--footer { display: block; }
.dn-logo--footer img,
.dn-logo--footer svg { height: 34px; }
.dn-logo--footer .dn-logo__text { color: var(--dn-white); }

.dn-nav {
	display: flex;
	gap: 4px;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.dn-nav li,
.dn-nav__sub li { list-style: none; }

.dn-nav__item { position: relative; }

.dn-nav__link {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 10px 12px;
	font-size: 14.5px;
	font-weight: 500;
	color: var(--dn-text-2);
	border-bottom: 2px solid transparent;
	white-space: nowrap;
}

.dn-nav__link:hover,
.dn-nav__item.is-open > .dn-nav__link {
	color: var(--dn-brand-900);
	border-bottom-color: var(--dn-brand-900);
}

.dn-nav__item.is-current > .dn-nav__link {
	color: var(--dn-brand-900);
	border-bottom-color: var(--dn-brand-900);
}

.dn-nav__item--video > .dn-nav__link { color: var(--dn-brand-600); }
.dn-nav__item--video > .dn-nav__link::before { content: '▶'; font-size: 10px; }

.dn-nav__sub {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 220px;
	background: var(--dn-white);
	border: 1px solid var(--dn-line);
	box-shadow: 0 12px 32px rgba(5, 55, 54, .12);
	padding: 8px 0;
	margin: 0;
	list-style: none;
	display: none;
}

.dn-nav__item.is-open .dn-nav__sub { display: block; }

.dn-nav__sub a {
	display: block;
	padding: 9px 18px;
	font-size: 13.5px;
	color: var(--dn-text-2);
}

.dn-nav__sub a:hover {
	background: #F1F4F0;
	color: var(--dn-brand-900);
}

.dn-header__tools {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 14px;
}

.dn-icon-btn {
	background: none;
	border: none;
	cursor: pointer;
	padding: 8px;
	display: flex;
	color: var(--dn-ink);
}

.dn-icon-btn:hover { color: var(--dn-brand-600); }

.dn-script-switch {
	display: flex;
	border: 1px solid var(--dn-line);
}

.dn-script-switch button {
	border: none;
	cursor: pointer;
	padding: 6px 10px;
	font-size: 12px;
	font-weight: 600;
	background: var(--dn-white);
	color: var(--dn-muted);
}

.dn-script-switch button[aria-pressed='true'] {
	background: var(--dn-brand-900);
	color: var(--dn-white);
}

.dn-btn-telegram {
	display: flex;
	align-items: center;
	gap: 8px;
	background: var(--dn-brand-900);
	color: var(--dn-white);
	padding: 9px 16px;
	font-size: 13.5px;
	font-weight: 600;
	white-space: nowrap;
}

.dn-btn-telegram:hover { background: var(--dn-brand-700); color: var(--dn-white); }

.dn-burger { display: none; }


/* -------------------------------------------------------------------------
   Header — to'q yashil variant
   Maketda header oq edi. Bu variant Sozlashdan yoqiladi/o'chiriladi.
   ------------------------------------------------------------------------- */

.dn-header--dark {
	background: var(--dn-brand-900);
	border-bottom-color: rgba(255, 255, 255, .12);
	box-shadow: none;
}

.dn-header--dark .dn-nav__link { color: rgba(255, 255, 255, .86); }

.dn-header--dark .dn-nav__link:hover,
.dn-header--dark .dn-nav__item.is-open > .dn-nav__link,
.dn-header--dark .dn-nav__item.is-current > .dn-nav__link {
	color: var(--dn-white);
	border-bottom-color: var(--dn-accent);
}

.dn-header--dark .dn-nav__item--video > .dn-nav__link { color: var(--dn-accent); }

.dn-header--dark .dn-icon-btn,
.dn-header--dark .dn-burger { color: var(--dn-white); }
.dn-header--dark .dn-icon-btn:hover { color: var(--dn-accent); }

.dn-header--dark .dn-script-switch { border-color: rgba(255, 255, 255, .28); }

.dn-header--dark .dn-script-switch button {
	background: transparent;
	color: rgba(255, 255, 255, .8);
}

.dn-header--dark .dn-script-switch button[aria-pressed='true'] {
	background: var(--dn-white);
	color: var(--dn-brand-900);
}

/* To'q fonda to'q yashil tugma ko'rinmaydi — oltin rangga o'tadi. */
.dn-header--dark .dn-btn-telegram {
	background: var(--dn-accent);
	color: var(--dn-brand-900);
}

.dn-header--dark .dn-btn-telegram:hover {
	background: var(--dn-accent-lt);
	color: var(--dn-brand-900);
}

.dn-header--dark .dn-mobile-nav {
	background: var(--dn-brand-900);
	border-top-color: rgba(255, 255, 255, .12);
}

.dn-header--dark .dn-mobile-nav > ul > li > a {
	color: var(--dn-white);
	border-bottom-color: rgba(255, 255, 255, .12);
}

.dn-header--dark .dn-mobile-nav ul ul a { color: rgba(255, 255, 255, .75); }

.dn-header--dark .dn-logo__text { color: var(--dn-white); }

/* -------------------------------------------------------------------------
   Qidiruv overlay
   ------------------------------------------------------------------------- */

.dn-search {
	position: fixed;
	inset: 0;
	z-index: 100;
	background: rgba(16, 32, 29, .4);
	display: none;
}

.dn-search.is-open { display: block; }

.dn-search__panel {
	background: var(--dn-white);
	padding: 48px var(--dn-gutter) 40px;
	box-shadow: 0 24px 48px rgba(5, 55, 54, .2);
}

.dn-search__inner { max-width: 860px; margin: 0 auto; }

.dn-search__field {
	display: flex;
	align-items: center;
	gap: 16px;
	border-bottom: 2px solid var(--dn-brand-900);
	padding-bottom: 12px;
}

.dn-search__input {
	flex: 1;
	border: none;
	outline: none;
	font-size: 22px;
	font-family: var(--dn-font-ui);
	color: var(--dn-ink);
	background: none;
	min-width: 0;
}

.dn-search__close {
	background: none;
	border: none;
	cursor: pointer;
	font-size: 14px;
	color: var(--dn-muted);
	padding: 8px;
}

.dn-search__close:hover { color: var(--dn-brand-900); }

.dn-search__hints {
	margin-top: 20px;
	display: flex;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap;
}

.dn-search__hints-label {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--dn-muted-2);
	font-weight: 600;
}

.dn-search__hint {
	border: 1px solid var(--dn-line);
	background: var(--dn-paper);
	padding: 6px 14px;
	font-size: 13px;
	color: var(--dn-text-2);
	cursor: pointer;
}

.dn-search__hint:hover { border-color: var(--dn-brand-600); color: var(--dn-brand-900); }

.dn-search__results { margin-top: 8px; }

.dn-search__result {
	display: flex;
	gap: 16px;
	align-items: baseline;
	padding: 14px 0;
	border-bottom: 1px solid var(--dn-line-soft);
	color: var(--dn-ink);
}

.dn-search__result:hover { background: #FBFAF6; color: var(--dn-ink); }

.dn-search__result-rub {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
	min-width: 88px;
	color: var(--dn-brand-600);
}

.dn-search__result-title { font-size: 16px; font-weight: 500; flex: 1; }
.dn-search__result-when { font-size: 12px; color: var(--dn-muted-2); white-space: nowrap; }

.dn-search__empty {
	margin-top: 32px;
	text-align: center;
	padding: 24px 0;
	color: var(--dn-muted);
}

.dn-search__empty strong { display: block; font-size: 16px; color: var(--dn-ink); }
.dn-search__empty span { font-size: 13.5px; margin-top: 6px; display: block; }

/* -------------------------------------------------------------------------
   Umumiy elementlar
   ------------------------------------------------------------------------- */

.dn-rubric {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--dn-brand-600);
}

.dn-meta { font-size: 12px; color: var(--dn-muted-2); }

.dn-thumb {
	background: var(--dn-ph-green);
	position: relative;
	overflow: hidden;
}

.dn-thumb img { width: 100%; height: 100%; object-fit: cover; }

.dn-thumb--16x9 { aspect-ratio: 16 / 9; }
.dn-thumb--3x2  { aspect-ratio: 3 / 2; }
.dn-thumb--16x10{ aspect-ratio: 16 / 10; }
.dn-thumb--1x1  { aspect-ratio: 1; }

.dn-section {
	padding: 44px 0;
	border-bottom: 1px solid var(--dn-line);
}

.dn-section:last-of-type { border-bottom: none; }

.dn-section__head {
	display: flex;
	align-items: baseline;
	gap: 20px;
	margin-bottom: 24px;
}

.dn-section__title {
	font-size: 22px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.dn-section__more { font-size: 13px; font-weight: 600; }

/* -------------------------------------------------------------------------
   Bosh sahifa — asosiy material
   ------------------------------------------------------------------------- */

.dn-hero {
	display: grid;
	grid-template-columns: 7fr 3fr;
	gap: 40px;
	padding: 36px 0 44px;
	border-bottom: 1px solid var(--dn-line);
}

.dn-hero__link { display: block; color: var(--dn-ink); }
.dn-hero__link:hover { color: var(--dn-ink); }
.dn-hero__link:hover .dn-hero__title { color: var(--dn-brand-600); }

.dn-hero__meta {
	display: flex;
	gap: 12px;
	align-items: center;
	margin-top: 18px;
}

.dn-hero__title {
	font-size: 42px;
	line-height: 1.12;
	font-weight: 600;
	margin: 10px 0 12px;
	letter-spacing: -.01em;
	transition: color .15s ease;
}

.dn-hero__excerpt {
	font-size: 17px;
	line-height: 1.55;
	color: var(--dn-muted);
	max-width: 640px;
}

.dn-hero__byline { font-size: 12.5px; color: var(--dn-muted-2); margin-top: 14px; }

/* Yon ustun — so'nggi yangiliklar */

.dn-latest {
	border-left: 1px solid var(--dn-line);
	padding-left: 28px;
}

.dn-latest__head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 6px;
}

.dn-latest__dot {
	width: 7px;
	height: 7px;
	background: var(--dn-live);
	border-radius: 50%;
	flex: 0 0 auto;
}

.dn-latest__label {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .12em;
}

.dn-latest__item {
	display: block;
	padding: 13px 0;
	border-bottom: 1px solid var(--dn-line-soft);
	color: var(--dn-ink);
}

.dn-latest__item:hover { color: var(--dn-brand-600); }
.dn-latest__time { font-size: 11.5px; color: var(--dn-muted-2); margin-bottom: 4px; }
.dn-latest__title { font-size: 14.5px; line-height: 1.4; font-weight: 500; }

.dn-latest__more {
	display: inline-block;
	margin-top: 14px;
	font-size: 13px;
	font-weight: 600;
}

/* Ikkilamchi materiallar */

.dn-secondary {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	padding: 28px 0 44px;
}

.dn-card-h {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	color: var(--dn-ink);
}

.dn-card-h:hover { color: var(--dn-brand-600); }

.dn-card-h__thumb { width: 110px; min-width: 110px; }

.dn-card-h__title {
	font-size: 18px;
	line-height: 1.3;
	font-weight: 600;
	margin-top: 6px;
}

/* -------------------------------------------------------------------------
   Video bloki
   ------------------------------------------------------------------------- */

.dn-video-block {
	background: var(--dn-brand-900);
	color: var(--dn-white);
}

.dn-video-block__inner {
	max-width: var(--dn-container);
	margin: 0 auto;
	padding: 52px var(--dn-gutter) 56px;
}

.dn-video-block__head {
	display: flex;
	align-items: baseline;
	gap: 20px;
	margin-bottom: 28px;
}

.dn-video-block__title { font-size: 26px; font-weight: 800; letter-spacing: .02em; }
.dn-video-block__more { font-size: 13.5px; color: var(--dn-accent); font-weight: 600; }
.dn-video-block__more:hover { color: var(--dn-accent-lt); }

.dn-video-block__grid {
	display: grid;
	grid-template-columns: 3fr 2fr;
	gap: 32px;
}

.dn-video-lead { display: block; color: var(--dn-white); }
.dn-video-lead:hover { color: var(--dn-white); }

.dn-video-lead__media {
	aspect-ratio: 16 / 9;
	background: var(--dn-ph-dark);
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.dn-video-lead__title {
	font-size: 26px;
	line-height: 1.25;
	font-weight: 600;
	margin: 16px 0 8px;
}

.dn-video-lead__meta { font-size: 14.5px; color: var(--dn-on-dark); }

.dn-play {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: var(--dn-accent);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .15s ease;
}

.dn-video-lead:hover .dn-play { background: var(--dn-accent-lt); }
.dn-play svg { fill: var(--dn-brand-900); }

.dn-badge-project {
	position: absolute;
	top: 14px;
	left: 14px;
	background: var(--dn-brand-900);
	color: var(--dn-white);
	font-size: 11px;
	font-weight: 700;
	padding: 5px 10px;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.dn-badge-duration {
	position: absolute;
	bottom: 12px;
	right: 12px;
	background: rgba(0, 0, 0, .7);
	color: var(--dn-white);
	font-size: 12px;
	font-weight: 600;
	padding: 4px 8px;
}

.dn-badge-sub {
	position: absolute;
	bottom: 12px;
	left: 12px;
	border: 1px solid rgba(255, 255, 255, .5);
	color: var(--dn-white);
	font-size: 10.5px;
	font-weight: 600;
	padding: 3px 7px;
	letter-spacing: .06em;
}

.dn-video-list { display: flex; flex-direction: column; gap: 20px; }

.dn-video-item {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	color: var(--dn-white);
}

.dn-video-item:hover { color: var(--dn-accent); }

.dn-video-item__media {
	width: 150px;
	min-width: 150px;
	aspect-ratio: 16 / 9;
	background: var(--dn-ph-dark);
	position: relative;
}

.dn-video-item__media .dn-badge-project { top: 8px; left: 8px; font-size: 9px; padding: 3px 6px; }
.dn-video-item__media .dn-badge-duration { bottom: 6px; right: 6px; font-size: 10.5px; padding: 2px 6px; }

.dn-video-item__play {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.dn-video-item__play svg { fill: rgba(255, 255, 255, .9); }

.dn-video-item__title { font-size: 15px; line-height: 1.4; font-weight: 500; }

/* -------------------------------------------------------------------------
   Iqtisodiyot bloki
   ------------------------------------------------------------------------- */

.dn-econ {
	display: grid;
	grid-template-columns: 5fr 4fr 3fr;
	gap: 32px;
}

.dn-econ__lead { color: var(--dn-ink); display: block; }
.dn-econ__lead:hover { color: var(--dn-brand-600); }

.dn-econ__lead-title {
	font-size: 24px;
	line-height: 1.25;
	font-weight: 600;
	margin: 14px 0 8px;
}

.dn-econ__lead-excerpt { font-size: 14.5px; line-height: 1.5; color: var(--dn-muted); }

.dn-linklist { display: flex; flex-direction: column; }

.dn-linklist__item {
	display: block;
	padding: 12px 0;
	border-bottom: 1px solid var(--dn-line-soft);
	color: var(--dn-ink);
	font-size: 15px;
	line-height: 1.45;
	font-weight: 500;
}

.dn-linklist__item:hover { color: var(--dn-brand-600); }

/* Haftaning raqami */

.dn-figure {
	background: var(--dn-paper);
	border: 1px solid var(--dn-line);
	padding: 24px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.dn-figure__label {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--dn-muted-2);
}

.dn-figure__value {
	font-size: 52px;
	font-weight: 800;
	color: var(--dn-brand-900);
	margin: 10px 0 4px;
	line-height: 1;
}

.dn-figure__desc { font-size: 14px; line-height: 1.5; color: var(--dn-text-2); }
.dn-figure__desc strong { color: var(--dn-up); font-weight: 600; }

.dn-spark {
	display: flex;
	align-items: flex-end;
	gap: 6px;
	height: 64px;
	margin-top: 20px;
}

.dn-spark span { flex: 1; background: #C5D4CF; }
.dn-spark span:last-child { background: var(--dn-brand-900); }

/* -------------------------------------------------------------------------
   Moliya bloki
   ------------------------------------------------------------------------- */

.dn-findata {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	margin-bottom: 28px;
}

.dn-findata__card { border: 1px solid var(--dn-line); padding: 16px 18px; }

.dn-findata__key {
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--dn-muted-2);
}

.dn-findata__row { display: flex; align-items: baseline; gap: 10px; margin-top: 6px; }
.dn-findata__value { font-size: 22px; font-weight: 700; }
.dn-findata__delta { font-size: 13px; font-weight: 600; }
.dn-findata__delta--up   { color: var(--dn-up); }
.dn-findata__delta--down { color: var(--dn-down); }
.dn-findata__delta--flat { color: var(--dn-muted-2); }

.dn-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.dn-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }

.dn-card { color: var(--dn-ink); display: block; }
.dn-card:hover { color: var(--dn-brand-600); }

.dn-card__title {
	font-size: 19px;
	line-height: 1.3;
	font-weight: 600;
	margin: 12px 0 6px;
}

/* -------------------------------------------------------------------------
   Biznes bloki
   ------------------------------------------------------------------------- */

.dn-card-biz { color: var(--dn-ink); display: block; }
.dn-card-biz:hover { color: var(--dn-brand-600); }

.dn-card-biz__thumb { margin-bottom: 12px; }

.dn-card-biz__title {
	font-size: 17px;
	line-height: 1.35;
	font-weight: 600;
	margin: 6px 0;
}

/* Rasmsiz variant — maketdagidek ramkali qutiga aylanadi. */
.dn-card-biz--plain {
	border: 1px solid var(--dn-line);
	padding: 20px;
	background: var(--dn-paper);
}

/* Hamkorlik materiali */
.dn-card-biz--sponsored {
	border: 1px solid var(--dn-spon-line);
	padding: 16px;
	background: var(--dn-spon-bg);
}

.dn-tag-sponsored {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--dn-spon-text);
	background: var(--dn-spon-tag);
	display: inline-block;
	padding: 3px 8px;
	margin-bottom: 10px;
}

/* -------------------------------------------------------------------------
   Tahlil / kolumnistlar
   ------------------------------------------------------------------------- */

.dn-opinion {
	color: var(--dn-ink);
	border-top: 3px solid var(--dn-brand-900);
	padding-top: 20px;
	display: block;
}

.dn-opinion:hover { color: var(--dn-brand-600); }

.dn-opinion__author {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
}

.dn-opinion__avatar {
	width: 44px;
	height: 44px;
	min-width: 44px;
	border-radius: 50%;
	background: var(--dn-brand-900);
	color: var(--dn-white);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 15px;
	font-weight: 700;
	overflow: hidden;
}

.dn-opinion__avatar img { width: 100%; height: 100%; object-fit: cover; }

.dn-opinion__name { font-size: 14px; font-weight: 600; }
.dn-opinion__role { font-size: 12px; color: var(--dn-muted-2); }

.dn-opinion__title {
	font-size: 21px;
	line-height: 1.3;
	font-weight: 600;
	font-style: italic;
	margin-bottom: 10px;
}

/* -------------------------------------------------------------------------
   Telegram CTA
   ------------------------------------------------------------------------- */

.dn-cta {
	border-top: 1px solid var(--dn-line);
	background: var(--dn-paper);
}

.dn-cta__inner {
	max-width: var(--dn-container);
	margin: 0 auto;
	padding: 40px var(--dn-gutter);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	flex-wrap: wrap;
}

.dn-cta__title { font-size: 26px; font-weight: 600; }
.dn-cta__sub { font-size: 14.5px; color: var(--dn-muted); margin-top: 6px; }

.dn-cta__btn {
	background: var(--dn-brand-900);
	color: var(--dn-white);
	padding: 14px 28px;
	font-size: 15px;
	font-weight: 600;
	white-space: nowrap;
}

.dn-cta__btn:hover { background: var(--dn-brand-700); color: var(--dn-white); }

/* -------------------------------------------------------------------------
   Footer
   ------------------------------------------------------------------------- */

.dn-footer {
	background: var(--dn-brand-900);
	color: var(--dn-on-dark-3);
}

.dn-footer__inner {
	max-width: var(--dn-container);
	margin: 0 auto;
	padding: 56px var(--dn-gutter) 40px;
}

.dn-footer__cols {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: 48px;
	padding-bottom: 40px;
	border-bottom: 1px solid rgba(255, 255, 255, .14);
}

.dn-footer__about {
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--dn-on-dark-2);
	max-width: 300px;
	margin-top: 16px;
}

.dn-footer__social { display: flex; gap: 10px; margin-top: 20px; }

.dn-footer__social a {
	width: 36px;
	height: 36px;
	border: 1px solid rgba(255, 255, 255, .25);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--dn-white);
	font-size: 12px;
	font-weight: 600;
}

.dn-footer__social a:hover { border-color: var(--dn-accent); color: var(--dn-accent); }

.dn-footer__heading {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--dn-accent);
	margin-bottom: 16px;
}

.dn-footer__list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: 14px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.dn-footer__list a { color: #DCE5E2; }
.dn-footer__list a:hover { color: var(--dn-white); }

.dn-footer__bottom {
	display: flex;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	padding-top: 24px;
	font-size: 12.5px;
	color: var(--dn-on-dark-2);
}

/* -------------------------------------------------------------------------
   Maqola sahifasi
   O'lchamlar HANDOFF.md dagi shkaladan: matn ustuni 760px,
   o'qish satri 680px, grid 8fr 3fr, gap 56px.
   ------------------------------------------------------------------------- */

.dn-single {
	display: grid;
	grid-template-columns: 8fr 3fr;
	gap: 56px;
	padding: 40px 0 64px;
}

.dn-single > * { min-width: 0; }

.dn-article { max-width: 760px; }

/* O'qish satri — 680px dan uzun bo'lmasin. */
.dn-measure { max-width: 680px; }

.dn-breadcrumb {
	font-size: 12.5px;
	color: var(--dn-muted-2);
	margin-bottom: 18px;
}

.dn-kicker {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--dn-brand-600);
	display: block;
}

.dn-article__title {
	font-size: 44px;
	line-height: 1.12;
	font-weight: 600;
	letter-spacing: -.01em;
	margin: 14px 0 18px;
}

.dn-article__lead {
	font-size: 20px;
	line-height: 1.5;
	color: var(--dn-muted);
	margin: 0 0 24px;
}

/* Muallif satri */

.dn-byline {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 16px 0;
	border-top: 1px solid var(--dn-line);
	border-bottom: 1px solid var(--dn-line);
	flex-wrap: wrap;
}

.dn-byline__avatar {
	width: 44px;
	height: 44px;
	min-width: 44px;
	border-radius: 50%;
	background: var(--dn-brand-900);
	color: var(--dn-white);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 15px;
	font-weight: 700;
	overflow: hidden;
}

.dn-byline__avatar img { width: 100%; height: 100%; object-fit: cover; }
.dn-byline__who { flex: 1; min-width: 200px; }
.dn-byline__name { font-size: 14.5px; font-weight: 600; }
.dn-byline__meta { font-size: 12.5px; color: var(--dn-muted-2); }

.dn-share { display: flex; gap: 8px; }

.dn-share__btn {
	width: 38px;
	height: 38px;
	border: 1px solid var(--dn-line);
	background: var(--dn-white);
	cursor: pointer;
	font-size: 12px;
	font-weight: 700;
	color: var(--dn-text-2);
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

.dn-share__btn:hover { border-color: var(--dn-brand-600); color: var(--dn-brand-900); }
.dn-share__btn.is-copied { border-color: var(--dn-brand-600); color: var(--dn-brand-900); }

.dn-figure-hero { margin: 28px 0; }
.dn-figure-hero figcaption,
.dn-article__body figcaption {
	font-size: 12.5px;
	color: var(--dn-muted-2);
	margin-top: 8px;
}

/* «Qisqacha» */

.dn-summary {
	background: var(--dn-paper);
	border-left: 3px solid var(--dn-brand-900);
	padding: 22px 26px;
	margin-bottom: 32px;
}

.dn-summary__label {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--dn-brand-900);
	margin-bottom: 12px;
}

.dn-summary ul {
	margin: 0;
	padding-left: 18px;
	font-size: 15px;
	line-height: 1.65;
	color: var(--dn-text-2);
}

/* Matn oqimi */

.dn-article__body {
	font-family: var(--dn-font-hl);
	letter-spacing: 0;
	font-size: 18px;
	line-height: 1.7;
	color: #1E2B27;
	max-width: 680px;
}

.dn-article__body > * { max-width: 680px; }
.dn-article__body p { margin: 0 0 22px; }

.dn-article__body h2 {
	font-family: var(--dn-font-hl);
	font-size: 28px;
	line-height: 1.25;
	font-weight: 600;
	margin: 36px 0 16px;
}

.dn-article__body h3 {
	font-family: var(--dn-font-hl);
	font-size: 22px;
	line-height: 1.3;
	font-weight: 600;
	margin: 28px 0 12px;
}

.dn-article__body ul,
.dn-article__body ol { margin: 0 0 22px; padding-left: 22px; }
.dn-article__body li { margin-bottom: 8px; }

.dn-article__body figure,
.dn-article__body .wp-block-image { margin: 32px 0; }

.dn-article__body img { width: 100%; height: auto; }

.dn-article__body a { text-decoration: underline; text-underline-offset: 3px; }

/* Sitata */

.dn-article__body blockquote,
.dn-quote {
	margin: 36px 0;
	padding: 0 0 0 28px;
	border-left: 3px solid var(--dn-accent);
	max-width: 640px;
}

.dn-article__body blockquote p,
.dn-quote p {
	font-family: var(--dn-font-hl);
	font-size: 24px;
	line-height: 1.4;
	font-style: italic;
	font-weight: 500;
	margin: 0 0 12px;
}

.dn-article__body blockquote cite,
.dn-quote cite {
	font-size: 13.5px;
	color: var(--dn-muted-2);
	font-style: normal;
	font-family: var(--dn-font-ui);
}

/* Katta raqam bloki */

.dn-bignum {
	display: flex;
	gap: 24px;
	background: var(--dn-brand-900);
	color: var(--dn-white);
	padding: 26px 30px;
	margin: 32px 0;
	max-width: 680px;
	align-items: center;
	font-family: var(--dn-font-ui);
}

.dn-bignum__value {
	font-size: 46px;
	font-weight: 800;
	white-space: nowrap;
	line-height: 1;
}

.dn-bignum__text { font-size: 14.5px; line-height: 1.55; color: var(--dn-on-dark-3); }

/* Grafik bloki */

.dn-chart {
	margin: 32px 0;
	border: 1px solid var(--dn-line);
	padding: 24px 28px;
	max-width: 680px;
	font-family: var(--dn-font-ui);
}

.dn-chart__title { font-size: 13px; font-weight: 700; margin-bottom: 4px; }
.dn-chart__sub { font-size: 12px; color: var(--dn-muted-2); margin-bottom: 18px; }

.dn-chart__bars {
	display: flex;
	align-items: flex-end;
	gap: 10px;
	height: 120px;
}

.dn-chart__bars span { flex: 1; background: #C5D4CF; }
.dn-chart__bars span.is-highlight { background: var(--dn-brand-900); }

.dn-chart__labels {
	display: flex;
	gap: 10px;
	font-size: 11px;
	color: var(--dn-muted-2);
	margin-top: 6px;
}

.dn-chart__labels span { flex: 1; }
.dn-chart figcaption { font-size: 12px; color: var(--dn-muted-2); margin-top: 12px; }

/* Manbalar */

.dn-sources {
	border-top: 1px solid var(--dn-line);
	margin-top: 36px;
	padding-top: 16px;
	max-width: 680px;
}

.dn-sources__label {
	font-size: 11.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--dn-muted-2);
	margin-bottom: 8px;
}

.dn-sources__text { font-size: 13px; line-height: 1.7; color: var(--dn-muted); }

/* Tegishli materiallar */

.dn-related { margin-top: 44px; }

.dn-related__title {
	font-size: 18px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .04em;
	margin: 0 0 18px;
}

.dn-related__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.dn-related__grid > * { min-width: 0; }

.dn-related__card { color: var(--dn-ink); display: block; }
.dn-related__card:hover { color: var(--dn-brand-600); }

.dn-related__rub {
	font-size: 10.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--dn-brand-600);
	margin: 10px 0 6px;
	display: block;
}

.dn-related__h { font-size: 16px; line-height: 1.35; font-weight: 600; }

/* Maqola yon ustuni */

.dn-aside { display: flex; flex-direction: column; gap: 32px; }

.dn-aside__sticky {
	position: sticky;
	top: 88px;
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.dn-popular { border: 1px solid var(--dn-line); padding: 20px 22px; }

.dn-popular__label {
	font-size: 11.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--dn-muted-2);
	margin-bottom: 14px;
}

.dn-popular__item {
	display: flex;
	gap: 12px;
	padding: 10px 0;
	border-bottom: 1px solid var(--dn-line-soft);
	color: var(--dn-ink);
	align-items: baseline;
}

.dn-popular__item:last-child { border-bottom: none; }
.dn-popular__item:hover { color: var(--dn-brand-600); }

.dn-popular__n {
	font-family: var(--dn-font-hl);
	font-size: 22px;
	font-weight: 600;
	color: var(--dn-on-dark-3);
	min-width: 24px;
	font-style: italic;
}

.dn-popular__h { font-size: 13.5px; line-height: 1.4; font-weight: 500; }

/* Reklama sloti — o'lchami qat'iy, shunda sahifa sakramaydi (CLS = 0). */

.dn-adslot {
	background: var(--dn-paper);
	border: 1px dashed #C9C5B8;
	padding: 20px;
	text-align: center;
	color: var(--dn-muted-2);
}

.dn-adslot__label {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .14em;
	margin-bottom: 8px;
}

.dn-adslot__box {
	height: 250px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	background: #EFEDE4;
	overflow: hidden;
}

.dn-archive__head { padding: 36px 0 24px; border-bottom: 1px solid var(--dn-line); }
.dn-archive__title { font-size: 34px; font-weight: 800; text-transform: uppercase; letter-spacing: .03em; }
.dn-archive__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; padding: 36px 0; }

.dn-pagination { display: flex; gap: 8px; padding: 8px 0 56px; flex-wrap: wrap; }
.dn-pagination .page-numbers {
	padding: 9px 15px;
	border: 1px solid var(--dn-line);
	color: var(--dn-text-2);
	font-size: 14px;
	font-weight: 600;
}
.dn-pagination .page-numbers.current,
.dn-pagination .page-numbers:hover { background: var(--dn-brand-900); color: var(--dn-white); border-color: var(--dn-brand-900); }

.dn-empty { padding: 64px 0; text-align: center; color: var(--dn-muted); }


/* -------------------------------------------------------------------------
   Rubrika sahifasi — har rubrika o'z ko'rinishida
   Dizayn: handoff/rubrika.dc.html (6 rejim)
   ------------------------------------------------------------------------- */

.dn-rubhead {
	border-bottom: 1px solid var(--dn-line);
	background: var(--dn-paper);
}

.dn-rubhead__inner {
	max-width: var(--dn-container);
	margin: 0 auto;
	padding: 20px var(--dn-gutter);
	display: flex;
	align-items: baseline;
	gap: 24px;
	flex-wrap: wrap;
}

.dn-rubhead__title { font-size: 34px; font-weight: 600; margin: 0; }
.dn-rubhead__desc { font-size: 14px; color: var(--dn-muted); margin: 0; }

.dn-rubtabs { margin-left: auto; display: flex; gap: 8px; flex-wrap: wrap; }

.dn-rubtab {
	font-size: 12.5px;
	font-weight: 600;
	padding: 7px 14px;
	border: 1px solid var(--dn-line);
	background: var(--dn-white);
	color: var(--dn-text-2);
}

.dn-rubtab:hover { border-color: var(--dn-brand-900); color: var(--dn-brand-900); }

.dn-rubtab.is-active {
	background: var(--dn-brand-900);
	border-color: var(--dn-brand-900);
	color: var(--dn-white);
}

.dn-rubmain {
	max-width: var(--dn-container);
	margin: 0 auto;
	padding: 36px var(--dn-gutter) 64px;
}

/* --- Rejim: yangiliklar (xronologik lenta) --- */

.dn-newsfeed { display: grid; grid-template-columns: 8fr 4fr; gap: 56px; }

/* Yon ustunda hech narsa bo'lmasa — bitta ustun. */
.dn-newsfeed--solo { grid-template-columns: 1fr; }
.dn-newsfeed > * { min-width: 0; }

.dn-daylabel {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--dn-muted-2);
	padding-bottom: 12px;
	border-bottom: 2px solid var(--dn-ink);
}

.dn-daylabel + .dn-daylabel,
.dn-newsrow + .dn-daylabel { padding-top: 28px; }

.dn-newsrow {
	display: flex;
	gap: 24px;
	padding: 16px 0;
	border-bottom: 1px solid var(--dn-line-soft);
	color: var(--dn-ink);
	align-items: baseline;
}

.dn-newsrow:hover { color: var(--dn-brand-600); }

.dn-newsrow__time {
	font-size: 14px;
	font-weight: 700;
	color: var(--dn-brand-600);
	min-width: 48px;
}

.dn-newsrow--old .dn-newsrow__time { color: var(--dn-muted-2); }

.dn-newsrow__body { flex: 1; min-width: 0; }
.dn-newsrow__title { display: block; font-size: 17px; line-height: 1.4; font-weight: 500; }

.dn-badge-urgent {
	display: inline-block;
	margin-top: 6px;
	background: var(--dn-live);
	color: var(--dn-white);
	font-size: 10px;
	font-weight: 700;
	padding: 2px 8px;
	letter-spacing: .08em;
}

.dn-newsrow__rub {
	font-size: 11.5px;
	color: var(--dn-muted-2);
	text-transform: uppercase;
	letter-spacing: .06em;
	white-space: nowrap;
}

.dn-loadmore {
	display: block;
	text-align: center;
	margin-top: 24px;
	border: 1px solid var(--dn-line);
	background: var(--dn-white);
	padding: 13px 28px;
	font-size: 14px;
	font-weight: 600;
	color: var(--dn-text-2);
	width: 100%;
}

.dn-loadmore:hover { border-color: var(--dn-brand-600); color: var(--dn-brand-900); }

.dn-daybox { background: var(--dn-brand-900); color: var(--dn-white); padding: 24px 26px; }

.dn-daybox__label {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--dn-accent);
	margin-bottom: 14px;
}

.dn-daybox__text { font-size: 19px; line-height: 1.45; margin: 0 0 16px; }
.dn-daybox__link { color: var(--dn-accent); font-size: 13px; font-weight: 600; }
.dn-daybox__link:hover { color: var(--dn-accent-lt); }

/* --- Rejim: iqtisodiyot --- */

.dn-macro {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	margin-bottom: 36px;
}

.dn-macro > * { min-width: 0; }
.dn-macro__card { border: 1px solid var(--dn-line); padding: 18px 20px; }

.dn-macro__k {
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--dn-muted-2);
}

.dn-macro__v {
	font-size: 30px;
	font-weight: 800;
	color: var(--dn-brand-900);
	margin: 6px 0 2px;
	line-height: 1;
}

.dn-macro__d { font-size: 12.5px; font-weight: 600; }

.dn-econsplit { display: grid; grid-template-columns: 7fr 5fr; gap: 40px; }
.dn-econsplit > * { min-width: 0; }

.dn-econhero { color: var(--dn-ink); display: block; }
.dn-econhero:hover { color: var(--dn-brand-600); }

.dn-econhero__title {
	font-size: 30px;
	line-height: 1.2;
	font-weight: 600;
	margin: 16px 0 10px;
}

.dn-econhero__excerpt { font-size: 15px; line-height: 1.55; color: var(--dn-muted); }

.dn-econlist__item {
	display: block;
	padding: 14px 0;
	border-bottom: 1px solid var(--dn-line-soft);
	color: var(--dn-ink);
	font-size: 16px;
	line-height: 1.4;
	font-weight: 500;
}

.dn-econlist__item:hover { color: var(--dn-brand-600); }

/* --- Rejim: moliya --- */

.dn-finsplit { display: grid; grid-template-columns: 5fr 7fr; gap: 40px; }
.dn-finsplit > * { min-width: 0; }

.dn-market { border: 1px solid var(--dn-line); align-self: start; }

.dn-market__head {
	padding: 16px 20px;
	border-bottom: 2px solid var(--dn-ink);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .1em;
}

.dn-market__row {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 13px 20px;
	border-bottom: 1px solid var(--dn-line-soft);
}

.dn-market__k { font-size: 14px; color: var(--dn-text-2); }
.dn-market__v { font-size: 14px; font-weight: 700; }
.dn-market__d { font-size: 13px; font-weight: 600; min-width: 70px; text-align: right; }
.dn-market__foot { padding: 12px 20px; font-size: 11.5px; color: var(--dn-muted-2); }

.dn-fincards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
	align-content: start;
}

.dn-fincards > * { min-width: 0; }
.dn-fincard { color: var(--dn-ink); display: block; }
.dn-fincard:hover { color: var(--dn-brand-600); }

.dn-fincard__tag {
	font-size: 10.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--dn-brand-600);
	margin: 10px 0 6px;
	display: block;
}

.dn-fincard__title { font-size: 19px; line-height: 1.3; font-weight: 600; }

/* --- Rejim: biznes --- */

.dn-bizgrid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 28px; }
.dn-bizgrid > * { min-width: 0; }

.dn-bigstory {
	color: var(--dn-white);
	background: var(--dn-brand-900);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 28px;
	grid-row: span 2;
	min-height: 320px;
}

.dn-bigstory:hover { color: var(--dn-white); }

.dn-bigstory__kicker {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--dn-accent);
}

.dn-bigstory__title { font-size: 32px; line-height: 1.2; font-weight: 600; margin: 12px 0; }
.dn-bigstory__meta { font-size: 13px; color: var(--dn-on-dark); }

/* --- Rejim: tahlil --- */

.dn-essays { max-width: 880px; margin: 0 auto; }

.dn-essay {
	display: grid;
	grid-template-columns: 80px 1fr;
	gap: 28px;
	padding: 32px 0;
	border-bottom: 1px solid var(--dn-line);
	color: var(--dn-ink);
}

.dn-essay:hover { color: var(--dn-brand-600); }
.dn-essay > * { min-width: 0; }

.dn-essay__avatar {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--dn-brand-900);
	color: var(--dn-white);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	font-weight: 700;
	overflow: hidden;
}

.dn-essay__avatar img { width: 100%; height: 100%; object-fit: cover; }
.dn-essay__meta { font-size: 13px; color: var(--dn-muted-2); margin-bottom: 8px; }

.dn-essay__title {
	font-size: 29px;
	line-height: 1.25;
	font-weight: 600;
	font-style: italic;
	margin: 0 0 10px;
}

.dn-essay__excerpt {
	font-size: 15px;
	line-height: 1.6;
	color: var(--dn-muted);
	margin: 0 0 10px;
	max-width: 640px;
}

.dn-essay__time { font-size: 12px; color: var(--dn-muted-2); }

/* --- Rejim: video --- */

.dn-vfilters { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 28px; }
.dn-vgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.dn-vgrid > * { min-width: 0; }

.dn-vcard { color: var(--dn-ink); display: block; }
.dn-vcard:hover { color: var(--dn-brand-600); }

.dn-vcard__media {
	aspect-ratio: 16 / 9;
	background: var(--dn-ph-dark);
	position: relative;
}

.dn-vcard__title { font-size: 18px; line-height: 1.35; font-weight: 600; margin: 12px 0 6px; }

/* --- Rubrika: responsive --- */

@media (max-width: 1200px) {
	.dn-macro { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1024px) {
	.dn-newsfeed { grid-template-columns: 1fr; gap: 32px; }
	.dn-econsplit,
	.dn-finsplit { grid-template-columns: 1fr; gap: 32px; }
	.dn-bizgrid { grid-template-columns: 1fr 1fr; }
	.dn-bigstory { grid-row: auto; grid-column: 1 / -1; min-height: 240px; }
	.dn-vgrid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 720px) {
	.dn-rubhead__title { font-size: 24px; }
	.dn-rubhead__inner { padding: 16px var(--dn-gutter); gap: 12px; }
	.dn-rubtabs { margin-left: 0; width: 100%; overflow-x: auto; flex-wrap: nowrap; }
	.dn-rubtab { white-space: nowrap; }
	.dn-rubmain { padding: 24px var(--dn-gutter) 40px; }
	.dn-macro { grid-template-columns: 1fr 1fr; gap: 12px; }
	.dn-macro__v { font-size: 24px; }
	.dn-econhero__title { font-size: 22px; }
	.dn-bizgrid { grid-template-columns: 1fr; }
	.dn-bigstory__title { font-size: 22px; }
	.dn-fincards { grid-template-columns: 1fr; }
	.dn-vgrid { grid-template-columns: 1fr; }
	.dn-newsrow { gap: 14px; flex-wrap: wrap; }
	.dn-newsrow__rub { width: 100%; }
	.dn-essay { grid-template-columns: 48px 1fr; gap: 16px; padding: 24px 0; }
	.dn-essay__avatar { width: 48px; height: 48px; font-size: 16px; }
	.dn-essay__title { font-size: 21px; }
	.dn-market__row { flex-wrap: wrap; }
}

/* -------------------------------------------------------------------------
   Responsive
   Maketda @media umuman yo'q edi — bu qatlam qo'shimcha yozildi.
   ------------------------------------------------------------------------- */

@media (max-width: 1200px) {
	:root { --dn-gutter: 24px; }

	.dn-hero__title { font-size: 36px; }
	.dn-findata { grid-template-columns: repeat(2, 1fr); }
	.dn-grid-4 { grid-template-columns: repeat(2, 1fr); }
	.dn-econ { grid-template-columns: 1fr 1fr; }
	.dn-figure { grid-column: 1 / -1; }
	.dn-figure__value { font-size: 44px; }
}

@media (max-width: 1024px) {
	.dn-nav { display: none; }
	.dn-burger {
		display: flex;
		background: none;
		border: none;
		cursor: pointer;
		padding: 8px;
		color: var(--dn-ink);
	}

	.dn-hero { grid-template-columns: 1fr; gap: 32px; }
	.dn-latest { border-left: none; border-top: 1px solid var(--dn-line); padding-left: 0; padding-top: 20px; }
	.dn-video-block__grid { grid-template-columns: 1fr; }
	.dn-grid-3 { grid-template-columns: repeat(2, 1fr); }
	.dn-archive__grid { grid-template-columns: repeat(2, 1fr); }
	.dn-footer__cols { grid-template-columns: 1fr 1fr; gap: 32px; }

	.dn-single { grid-template-columns: 1fr; gap: 40px; padding-bottom: 40px; }
	.dn-article { max-width: none; }
	.dn-aside__sticky { position: static; }
	.dn-article__title { font-size: 34px; }
}

@media (max-width: 720px) {
	:root { --dn-gutter: 16px; }

	/* Ticker mobilda qatorlarga bo'linmaydi — yon tomonga suriladi. */
	.dn-ticker__inner {
		flex-wrap: nowrap;
		overflow-x: auto;
		scrollbar-width: none;
		gap: 16px;
	}
	.dn-ticker__inner > * {
		flex: 0 0 auto;
		white-space: nowrap;
	}
	.dn-ticker__inner::-webkit-scrollbar { display: none; }
	.dn-ticker__source { display: none; }

	.dn-hero { padding: 24px 0 32px; }
	.dn-hero__title { font-size: 28px; }
	.dn-hero__excerpt { font-size: 16px; }

	.dn-secondary { grid-template-columns: 1fr; gap: 20px; padding: 24px 0 32px; }
	.dn-grid-3,
	.dn-grid-4,
	.dn-econ,
	.dn-archive__grid { grid-template-columns: 1fr; gap: 24px; }
	.dn-findata { grid-template-columns: 1fr 1fr; gap: 12px; }
	.dn-findata__value { font-size: 19px; }

	.dn-section { padding: 32px 0; }
	.dn-section__title { font-size: 19px; }

	.dn-video-block__inner { padding: 36px var(--dn-gutter) 40px; }
	.dn-video-lead__title { font-size: 21px; }
	.dn-video-item__media { width: 120px; min-width: 120px; }
	.dn-play { width: 56px; height: 56px; }

	.dn-cta__inner { padding: 28px var(--dn-gutter); }
	.dn-cta__title { font-size: 21px; }
	.dn-cta__btn { width: 100%; text-align: center; }

	.dn-footer__cols { grid-template-columns: 1fr; gap: 28px; }
	.dn-footer__inner { padding: 36px var(--dn-gutter) 28px; }

	.dn-search__panel { padding: 24px var(--dn-gutter) 28px; }
	.dn-search__input { font-size: 18px; }
	.dn-search__result { flex-direction: column; gap: 4px; }
	.dn-search__result-rub { min-width: 0; }

	/* Maqola — HANDOFF dagi mobil shkala: H1 27px/1.2, H2 21px */
	.dn-single { padding: 20px 0 32px; }
	.dn-article__title { font-size: 27px; line-height: 1.2; margin: 10px 0 14px; }
	.dn-article__lead { font-size: 17px; margin-bottom: 20px; }
	.dn-article__body { font-size: 17px; line-height: 1.65; }
	.dn-article__body h2 { font-size: 21px; margin: 28px 0 12px; }
	.dn-article__body h3 { font-size: 18px; }
	.dn-article__body blockquote p,
	.dn-quote p { font-size: 20px; }
	.dn-summary { padding: 18px 20px; }
	.dn-bignum { flex-direction: column; align-items: flex-start; gap: 12px; padding: 20px 22px; }
	.dn-bignum__value { font-size: 36px; }
	.dn-chart { padding: 18px 20px; }
	.dn-related__grid { grid-template-columns: 1fr; gap: 20px; }
	.dn-byline { gap: 12px; }
	.dn-share { width: 100%; }
	.dn-archive__title { font-size: 26px; }
}

/* Mobil menyu */

.dn-mobile-nav {
	display: none;
	border-top: 1px solid var(--dn-line);
	background: var(--dn-white);
	padding: 8px var(--dn-gutter) 16px;
}

.dn-mobile-nav.is-open { display: block; }

.dn-mobile-nav ul { list-style: none; margin: 0; padding: 0; }

.dn-mobile-nav > ul > li > a {
	display: block;
	padding: 12px 0;
	font-size: 16px;
	font-weight: 600;
	color: var(--dn-ink);
	border-bottom: 1px solid var(--dn-line-soft);
}

.dn-mobile-nav ul ul { padding: 4px 0 8px 16px; }

.dn-mobile-nav ul ul a {
	display: block;
	padding: 7px 0;
	font-size: 14px;
	color: var(--dn-text-2);
}

@media (min-width: 1025px) {
	.dn-mobile-nav { display: none !important; }
}

/* Chop etish */

@media print {
	.dn-ticker, .dn-header, .dn-search, .dn-video-block, .dn-cta, .dn-footer { display: none; }
	.dn-article { max-width: none; }
	body { font-size: 12pt; }
}

/* Harakatni kamaytirish */

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: .01ms !important;
		transition-duration: .01ms !important;
	}
}
