/* =====================================================================
   Kashaf — Direction B styles
   Section order matches the build spec at .tmp_direction_b_spec.md
   ===================================================================== */

/* ---------- Site shell ----------
   Sections keep full-bleed backgrounds (so accent/sunk colors run edge-to-edge),
   but inner content is constrained to var(--k-max) and centered. This matches
   the prototype's 1200px artboard width while allowing larger viewports. */
:root { --k-max: 1200px; }
.k-site { max-width: 100%; }
.k-section-pad { padding: 0 48px; }

/* Center the inner content of each section. The section element itself stays
   full-bleed (its background-color extends edge-to-edge); only its child
   blocks are constrained. */
.k-topbar__inner,
.k-ticker,
.k-hero__eyebrow-row,
.k-hero-carousel,
.k-hero__grid,
.k-cat-rail > .k-section-head,
.k-cat-rail > .k-cat-grid,
.k-trending > .k-section-head,
.k-trending > .k-trending__grid,
.k-latest > .k-section-head,
.k-latest > .k-latest__grid,
.k-latest > .k-news-tiles,
.k-latest > .k-pagination,
.k-mission__content,
.k-art-top > .k-art-top__crumb,
.k-art-top > .k-art-top__pills,
.k-art-top > .k-art-top__title,
.k-art-top > .k-art-top__byline,
.k-art-body,
.k-related > .k-section-head,
.k-related > .k-related__grid,
.k-inv-section > .k-section-head,
.k-inv-section > .k-inv-section__grid,
.k-footer__inner,
.k-comments,
.k-pagination,
.k-404 > * {
	max-width: var(--k-max);
	margin-inline: auto;
}

/* =====================================================================
   1. BVerdictPill (shared)
   ===================================================================== */
.k-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 4px 11px;
	border-radius: 999px;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .02em;
	box-shadow: 0 1px 0 rgba(0,0,0,.05) inset;
	background: var(--v-news-ink);
	white-space: nowrap;
}
.k-pill__dot {
	width: 5px;
	height: 5px;
	border-radius: 999px;
	background: #fff;
	opacity: .85;
	flex: 0 0 auto;
}
.k-pill--big { padding: 8px 16px; font-size: 13px; }
.k-pill--big .k-pill__dot { width: 7px; height: 7px; }

/* Pill backgrounds use the ink-safe verdict variants for WCAG AA contrast (≥ 4.5:1 vs #fff text). */
.k-pill--true         { background: var(--v-true-ink); }
.k-pill--false        { background: var(--v-false-ink); }
.k-pill--misleading   { background: var(--v-misleading-ink); }
.k-pill--mixed        { background: var(--v-mixed-ink); }
.k-pill--fabricated   { background: var(--v-fabricated-ink); }
.k-pill--unverifiable { background: var(--v-unverifiable-ink); }
.k-pill--news         { background: var(--v-news-ink); }
.k-pill--aware        { background: var(--v-aware-ink); }

/* =====================================================================
   2. BTopBar (header)
   ===================================================================== */
.k-topbar {
	position: sticky;
	top: 0;
	z-index: 80; /* above page content + nav dropdowns, under drawer (90) and search modal (100) */
	will-change: transform; /* own compositor layer — prevents ghost-frame lag while scrolling */
	padding: 16px 48px;
	background: var(--accent);
	color: #fff;
}
/* Logged-in: keep the stuck bar below the WP admin bar (fixed above 600px, scrolls away below). */
.admin-bar .k-topbar { top: 32px; }
@media (max-width: 782px) { .admin-bar .k-topbar { top: 46px; } }
@media (max-width: 600px) { .admin-bar .k-topbar { top: 0; } }
.k-topbar__inner {
	display: flex;
	align-items: center;
	gap: 28px;
}
.k-logo {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex: 0 0 auto;
}
.k-logo__img {
	display: block;
	width: auto;
}
/* Header: top bar is always on accent (dark) — fixed-size logo */
.k-logo--header .k-logo__img { height: 40px; }
/* Footer logo follows the active theme — dark-variant on dark mode, light-variant otherwise */
.k-logo--footer .k-logo__img { height: 36px; }
.k-logo--footer .k-logo__img--dark { display: none; }
[data-theme="dark"] .k-logo--footer .k-logo__img--light { display: none; }
[data-theme="dark"] .k-logo--footer .k-logo__img--dark  { display: block; }
@media (max-width: 768px) {
	.k-logo--header .k-logo__img { height: 30px; }
	.k-logo--footer .k-logo__img { height: 28px; }
}

.k-nav {
	display: flex;
	gap: 4px;
	margin-inline-start: auto;
	list-style: none;
	padding: 0;
	margin-block: 0;
}
.k-nav__link {
	display: inline-block;
	padding: 8px 14px;
	font-size: 13px;
	font-weight: 500;
	color: rgba(255,255,255,.92);
	background: transparent;
	border-radius: 999px;
	transition: background 120ms ease, color 120ms ease;
}
.k-nav__item.current-menu-item > .k-nav__link,
.k-nav__link[aria-current="page"],
.k-nav__link.is-active {
	color: var(--accent);
	background: #fff;
}
.k-nav__link:hover { background: rgba(255,255,255,.16); color: #fff; }
.k-nav__item.current-menu-item > .k-nav__link:hover,
.k-nav__link[aria-current="page"]:hover { background: #fff; color: var(--accent); }

/* CTA pill — "ارسل ادعاء" / "Submit a claim" link at end of nav.
   Visually distinct from the active-page pill (which is solid white):
   ghost outline on the navy bar, fills white on hover/focus. */
.k-nav__item--cta { margin-inline-start: 8px; }
.k-nav__link--cta,
.k-nav__item--cta > .k-nav__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	border: 1.5px solid rgba(255, 255, 255, 0.55);
	font-weight: 700;
	padding: 6.5px 14px;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04), 0 6px 16px -10px rgba(0, 0, 0, 0.6);
	transition: background 180ms ease, color 180ms ease, border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}
.k-nav__link--cta:hover,
.k-nav__item--cta > .k-nav__link:hover,
.k-nav__link--cta:focus-visible,
.k-nav__item--cta > .k-nav__link:focus-visible {
	background: #fff;
	color: var(--accent);
	border-color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08), 0 10px 24px -10px rgba(0, 0, 0, 0.55);
}
.k-nav__cta-icon {
	flex-shrink: 0;
	stroke-width: 2.4;
}
.k-nav__cta-label { white-space: nowrap; }

/* Mobile chip strip variant — keep solid for legibility on small chips */
.k-nav-strip__link--cta {
	background: #fff;
	color: var(--accent);
	font-weight: 700;
}

/* Nav dropdown — desktop top-bar parent items with children. */
.k-nav__item--has-children { position: relative; }
.k-nav__item--has-children > .k-nav__link::after {
	content: "";
	display: inline-block;
	margin-inline-start: 6px;
	border: 4px solid transparent;
	border-top-color: currentColor;
	transform: translateY(2px);
	transition: transform 150ms ease;
}
.k-nav__item--has-children.is-open > .k-nav__link::after {
	transform: translateY(2px) rotate(180deg);
}
.k-nav__item--has-children > .sub-menu {
	position: absolute;
	top: calc(100% + 6px);
	inset-inline-end: 0;
	min-width: 220px;
	background: var(--bg-elev);
	color: var(--ink);
	border: 1px solid var(--rule);
	border-radius: 10px;
	box-shadow: var(--shadow-md);
	padding: 6px;
	margin: 0;
	list-style: none;
	display: none;
	z-index: 50;
}
.k-nav__item--has-children.is-open > .sub-menu { display: block; }
.k-nav .sub-menu li { list-style: none; }
.k-nav .sub-menu a {
	display: block;
	padding: 8px 12px;
	border-radius: 6px;
	font-size: 13px;
	color: var(--ink);
	text-decoration: none;
	white-space: nowrap;
}
.k-nav .sub-menu a:hover,
.k-nav .sub-menu a:focus-visible {
	background: var(--accent-soft);
	color: var(--accent);
	outline: none;
}

.k-topbar__tools {
	display: flex;
	align-items: center;
	gap: 8px;
}
.k-search-trigger {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border-radius: 999px;
	background: rgba(255,255,255,.14);
	color: rgba(255,255,255,.85);
	font-size: 12px;
	min-width: 220px;
	border: 0;
	font-family: inherit;
	cursor: pointer;
}
.k-search-trigger svg { flex: 0 0 auto; }
.k-search-trigger__kbd {
	font-family: var(--ff-mono);
	margin-inline-start: auto;
	font-size: 10px;
	opacity: .7;
	direction: ltr;
}
.k-lang-chip {
	font-family: var(--ff-mono);
	font-size: 11px;
	padding: 8px 12px;
	border-radius: 999px;
	background: rgba(255,255,255,.14);
	color: #fff;
	border: 0;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.k-lang-chip:hover { background: rgba(255,255,255,.22); }
.k-lang-chip[hidden] { display: none; }

/* Burger + icon-search are mobile-only. Default to hidden; the mobile media
   query at the bottom of this file re-shows them. */
.k-icon-btn { display: none; }

/* Mobile drawer + chip-nav strip are also mobile-only — hide on desktop so
   they don't leak as a stray "×" or empty bar above main. */
.k-drawer    { display: none; }
.k-nav-strip { display: none; }

/* =====================================================================
   3. BTicker — live verdict marquee
   ===================================================================== */
.k-ticker {
	display: flex;
	gap: 0;
	overflow: hidden;
	border-bottom: 1px solid var(--rule);
	background: var(--bg-elev);
}
.k-ticker__label {
	padding: 10px 18px;
	background: var(--ink);
	color: var(--bg);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	font-family: var(--ff-mono);
	flex: 0 0 auto;
}
.k-ticker__reel {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 32px;
	padding: 0 18px;
	overflow: hidden;
	white-space: nowrap;
}
.k-ticker__inner {
	display: flex;
	align-items: center;
	gap: 32px;
	animation: kashaf-marquee 38s linear infinite;
}
.k-ticker__inner:hover { animation-play-state: paused; }
.k-ticker__item {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	color: var(--ink-2);
	flex: 0 0 auto;
}
.k-ticker__dot {
	width: 6px;
	height: 6px;
	border-radius: 999px;
	background: var(--v-news);
	flex: 0 0 auto;
}
@keyframes kashaf-marquee {
	from { transform: translateX(0); }
	/* RTL: scroll the inner reel toward inline-end. We translate +x because the
	   reel's flex direction is row in RTL doc, so visually content drifts right→left. */
	to   { transform: translateX(50%); }
}

/* =====================================================================
   4. BHero (featured carousel)
   ===================================================================== */
.k-hero {
	padding: 40px 48px 56px;
	background: var(--bg);
	position: relative;
}
.k-hero__eyebrow-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 24px;
}

/* Carousel — slides are stacked absolutely; only the active one is visible.
   Fade transition (avoids RTL translateX complexity). */
.k-hero-carousel {
	position: relative;
}
.k-hero-carousel__track {
	position: relative;
	min-height: 1px;
}
.k-hero-carousel__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 320ms ease;
	pointer-events: none;
}
.k-hero-carousel__slide.is-active {
	position: relative;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.k-hero-carousel__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px; height: 44px;
	border-radius: 999px;
	background: var(--bg-sunk);
	color: var(--ink-2);
	border: 1px solid var(--rule-strong);
	display: grid;
	place-items: center;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(20,21,26,.10);
	z-index: 3;
	transition: transform 140ms ease, background 140ms ease, color 140ms ease, border-color 140ms ease;
}
.k-hero-carousel__arrow:hover {
	transform: translateY(-50%) scale(1.06);
	background: var(--accent-soft);
	color: var(--accent);
	border-color: var(--accent-line);
}
.k-hero-carousel__arrow svg { width: 18px; height: 18px; }
[data-theme="dark"] .k-hero-carousel__arrow {
	background: var(--bg-sunk);
	color: var(--ink-2);
	border-color: rgba(255,255,255,.14);
	box-shadow: 0 2px 8px rgba(0,0,0,.5);
}
[data-theme="dark"] .k-hero-carousel__arrow:hover {
	background: rgba(255,255,255,.06);
	color: var(--ink);
	border-color: rgba(255,255,255,.22);
}
/* Arrows sit at the inline edges of the carousel content area. Logical
   properties keep them correct in both RTL and LTR. `prev` is the trailing
   edge (visually right in RTL); `next` is the leading edge. */
.k-hero-carousel__arrow--prev { inset-inline-start: 12px; }
.k-hero-carousel__arrow--next { inset-inline-end: 12px; }

.k-hero-carousel__dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 22px;
}
.k-hero-carousel__dot {
	width: 8px; height: 8px;
	border-radius: 999px;
	background: var(--rule-strong);
	border: 0;
	padding: 0;
	cursor: pointer;
	transition: width 180ms ease, background 180ms ease;
}
.k-hero-carousel__dot.is-active {
	width: 28px;
	background: var(--accent);
}
.k-hero-carousel__dot:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.k-eyebrow {
	font-family: var(--ff-mono);
	font-size: 11px;
	color: var(--ink-3);
	letter-spacing: .22em;
}
.k-meta-mono {
	font-family: var(--ff-mono);
	font-size: 11px;
	color: var(--ink-3);
}
.k-hero__grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 28px;
}
.k-hero__media {
	aspect-ratio: 16/11;
	border-radius: 18px;
	position: relative;
	overflow: hidden;
}
.k-hero__overlays {
	position: absolute;
	inset-inline-end: 22px;
	top: 22px;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
	z-index: 2;
}
.k-case-chip {
	font-family: var(--ff-mono);
	font-size: 11px;
	padding: 5px 11px;
	border-radius: 999px;
	background: rgba(0,0,0,.65);
	color: #fff;
	letter-spacing: .1em;
	direction: ltr;
}
.k-hero__caption {
	position: absolute;
	inset-inline-start: 22px;
	bottom: 22px;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 14px;
	border-radius: 999px;
	background: rgba(255,255,255,.92);
	color: #14151a;
	font-size: 12px;
	font-weight: 600;
	z-index: 2;
}
.k-hero__caption-dot {
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: var(--accent);
}
.k-hero__card {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 28px 26px;
	border-radius: 18px;
	background: var(--bg-elev);
	border: 1px solid var(--rule);
}
.k-claim-eyebrow {
	font-family: var(--ff-mono);
	font-size: 11px;
	color: var(--accent);
	letter-spacing: .18em;
}
.k-hero__title {
	font-family: var(--ff-arabic-display);
	margin: 0;
	font-size: 36px;
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: -0.018em;
	text-wrap: pretty;
}
.k-hero__title a { color: inherit; }
.k-hero__deck {
	margin: 0;
	font-size: 15px;
	line-height: 1.7;
	color: var(--ink-2);
}
.k-hero__foot {
	margin-top: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}
.k-cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 12px 22px;
	font-size: 13px;
	font-weight: 700;
	background: var(--ink);
	color: var(--bg);
	border: 0;
	border-radius: 999px;
	text-decoration: none;
	/* Defensive: make sure nothing absolutely-positioned (e.g. the inactive
	   carousel slides stacked on top of the active one) can shadow the click
	   target. Promote the CTA above peers and force pointer events on. */
	position: relative;
	z-index: 2;
	pointer-events: auto;
	cursor: pointer;
}
.k-cta:hover { opacity: .92; }
.k-cta:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

/* =====================================================================
   5. BCategoryRail
   ===================================================================== */
.k-cat-rail { padding: 20px 48px 56px; }
.k-section-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 18px;
	gap: 18px;
	flex-wrap: wrap;
}
.k-section-title {
	font-family: var(--ff-arabic-display);
	font-size: 26px;
	font-weight: 700;
	margin: 0;
}
.k-section-title .k-arrow { color: var(--accent); margin-inline-start: 6px; display: inline-flex; vertical-align: -3px; }
.k-section-title {
	display: inline-flex;
	align-items: center;
	gap: 12px;
}
.k-section-title .k-section-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--accent-soft);
	color: var(--accent);
	flex-shrink: 0;
	line-height: 1;
}
.k-section-title .k-section-icon svg { display: block; }
.k-section-meta {
	font-family: var(--ff-mono);
	font-size: 11px;
	color: var(--ink-3);
	letter-spacing: .18em;
}
.k-cat-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 14px;
}
.k-cat-card {
	padding: 20px 18px;
	border-radius: 14px;
	border: 1px solid var(--rule);
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-height: 130px;
	position: relative;
	overflow: hidden;
	background: var(--bg-elev);
	color: var(--ink);
	text-decoration: none;
	transition: transform 140ms ease, box-shadow 140ms ease;
}
.k-cat-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }
.k-cat-card--accent {
	background: var(--accent);
	color: #fff;
	border-color: transparent;
}
.k-cat-card__idx {
	font-family: var(--ff-mono);
	font-size: 10px;
	letter-spacing: .14em;
	color: var(--ink-3);
}
.k-cat-card--accent .k-cat-card__idx { color: rgba(255,255,255,.7); }
.k-cat-card__title {
	font-family: var(--ff-arabic-display);
	font-size: 18px;
	font-weight: 700;
}
.k-cat-card__count {
	font-family: var(--ff-arabic-display);
	font-size: 38px;
	font-weight: 800;
	line-height: 1;
	margin-top: auto;
	font-variant-numeric: tabular-nums;
	color: var(--accent);
}
.k-cat-card--accent .k-cat-card__count { color: rgba(255,255,255,.95); }

/* =====================================================================
   6. BTrending
   ===================================================================== */
.k-trending {
	padding: 44px 48px 50px;
	background: var(--bg-sunk);
}
/* Refined section-icon chip — solid accent rounded-square (trending + related) */
.k-trending .k-section-title .k-section-icon,
.k-related .k-section-title .k-section-icon {
	width: 30px;
	height: 30px;
	border-radius: 9px;
	background: var(--accent);
	color: #fff;
	box-shadow: 0 2px 10px color-mix(in oklab, var(--accent) 32%, transparent);
}
/* Branded image placeholder (trending only) — accent gradient + faint wordmark */
.k-trending .k-img-ph:not(:has(> img)) {
	background: linear-gradient(140deg, var(--accent) 0%, color-mix(in oklab, var(--accent) 58%, #000) 100%);
}
.k-trending .k-img-ph:not(:has(> img))::after {
	content: "كشاف";
	font-family: var(--ff-arabic-display);
	font-size: clamp(34px, 7vw, 60px);
	font-weight: 800;
	letter-spacing: -0.03em;
	color: rgba(255,255,255,.16);
	direction: rtl;
}
/* English wordmark — render Latin "kashaf" instead of the Arabic كشاف on /en/
   (body.k-locale-en is set by body_class via kashaf_post_locale). Higher
   specificity than the base rules, so it wins wherever it sits in the file. */
body.k-locale-en .k-trending .k-img-ph:not(:has(> img))::after {
	content: "kashaf";
	font-family: var(--ff-latin);
	letter-spacing: -0.02em;
	direction: ltr;
}
body.k-locale-en .k-tip-banner::before {
	content: "kashaf";
	font-family: var(--ff-latin);
	direction: ltr;
}
body.k-locale-en .k-art-top__watermark,
body.k-locale-en .k-info-hero__watermark {
	font-family: var(--ff-latin);
	direction: ltr;
}
.k-trending__grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	gap: 20px;
}
.k-trending__big {
	grid-row: span 2;
	padding: 22px;
	border-radius: 18px;
	background: var(--bg-elev);
	border: 1px solid var(--accent-line);
	display: flex;
	flex-direction: column;
	gap: 16px;
	transition: transform 150ms ease, box-shadow 150ms ease;
}
.k-trending__big:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.k-trending__big-media {
	aspect-ratio: 16/11;
	border-radius: 12px;
	overflow: hidden;
}
.k-trending__big-meta {
	display: flex;
	align-items: center;
	gap: 8px;
}
.k-trending__big-meta .k-meta-mono { margin-inline-start: auto; color: var(--ink-3); }
.k-trending__big-title {
	font-family: var(--ff-arabic-display);
	font-size: 24px;
	line-height: 1.3;
	font-weight: 700;
	text-wrap: pretty;
	margin: 0;
}
.k-trending__big-dek {
	margin: 0;
	font-family: var(--ff-arabic-body, var(--ff-arabic-display));
	font-size: 15px;
	line-height: 1.65;
	color: var(--ink-2);
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-wrap: pretty;
}
.k-trending__big-foot {
	display: flex;
	align-items: center;
	gap: 16px;
	padding-top: 12px;
	border-top: 1px solid var(--rule);
	color: var(--ink-3);
	font-size: 12px;
}
.k-trending__big-foot span { display: inline-flex; align-items: center; gap: 5px; }
.k-trending__big-foot svg { color: var(--ink-4); }
/* Only push the footer to the bottom of the card when a dek is present, so
   cards without an excerpt don't open a giant gap above the footer. */
.k-trending__big:has(.k-trending__big-dek) .k-trending__big-foot { margin-top: auto; }

.k-trending__side {
	padding: 18px;
	border-radius: 14px;
	background: var(--bg-elev);
	border: 1px solid var(--rule);
	display: flex;
	flex-direction: column;
	gap: 12px;
	transition: transform 150ms ease, box-shadow 150ms ease, border-color 150ms ease;
}
.k-trending__side:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: var(--accent-line); }
.k-trending__side-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
}
.k-trending__side-title {
	font-family: var(--ff-arabic-display);
	font-size: 16px;
	line-height: 1.4;
	font-weight: 600;
	text-wrap: balance;
	margin: 0;
}
.k-trending__side-date {
	font-family: var(--ff-mono);
	font-size: 11px;
	color: var(--ink-3);
	margin-top: auto;
}
.k-trending__side-media {
	aspect-ratio: 16/10;
	border-radius: 10px;
	overflow: hidden;
	display: block;
}
.k-trending__side-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* =====================================================================
   7. BLatestGrid
   ===================================================================== */
.k-latest { padding: 52px 48px; }
.k-filter-chips {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}
.k-filter-chip {
	padding: 8px 14px;
	font-size: 12px;
	font-weight: 500;
	border: 1px solid var(--rule-strong);
	border-radius: 999px;
	background: transparent;
	color: var(--ink-2);
	cursor: pointer;
	font-family: inherit;
	transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}
.k-filter-chip:hover { color: var(--ink); border-color: var(--ink-3); }
.k-filter-chip.is-active {
	background: var(--accent);
	color: #fff;
	border-color: transparent;
}
.k-filter-chip.is-active:hover { color: #fff; }
.k-latest__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
	row-gap: 28px;
}
.k-card {
	padding: 18px;
	border-radius: 16px;
	border: 1px solid var(--rule);
	background: var(--bg-elev);
	display: flex;
	flex-direction: column;
	gap: 14px;
	transition: transform 140ms ease, box-shadow 140ms ease;
}
.k-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }

/* Smooth filter reflow via the View Transitions API (Chrome 111+, Safari 18+,
   Firefox 142+). Each .k-card gets a unique view-transition-name inline so the
   browser can morph each surviving card from its old grid slot to its new one;
   removed cards crossfade out, added cards crossfade in. The chip bar and the
   rest of the page snapshot together as the "root" and crossfade subtly. */
::view-transition-group(*) { animation-duration: 280ms; animation-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1); }
::view-transition-old(root),
::view-transition-new(root) { animation-duration: 180ms; }

@media (prefers-reduced-motion: reduce) {
	.k-card { transition: none; }
	.k-filter-chip { transition: none; }
	.k-about-hero__dot,
	.k-about-hero__scroll { animation: none; }
	::view-transition-group(*),
	::view-transition-old(*),
	::view-transition-new(*) { animation: none !important; }
}
.k-card__media {
	aspect-ratio: 16/10;
	border-radius: 10px;
	position: relative;
	overflow: hidden;
}
.k-card__media .k-pill {
	position: absolute;
	inset-inline-start: 12px;
	top: 12px;
	z-index: 2;
}
.k-card__title {
	font-family: var(--ff-arabic-display);
	font-size: 17px;
	line-height: 1.4;
	font-weight: 600;
	text-wrap: balance;
	margin: 0;
}
.k-card__title a { color: inherit; }
.k-card__dek {
	font-size: 14px;
	line-height: 1.6;
	color: var(--ink-2);
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.k-card__foot {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: auto;
}
.k-card__date {
	font-family: var(--ff-mono);
	font-size: 11px;
	color: var(--ink-3);
}
.k-card__read,
.k-latest__see-all,
.k-side-card__cta,
.k-source-hero__handle {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.k-card__read {
	font-size: 12px;
	color: var(--accent);
	font-weight: 600;
}

/* =====================================================================
   8. Footer stat strip (folded in from the old mission block)
   ===================================================================== */
.k-footer-stats {
	max-width: var(--k-max);
	margin-inline: auto;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	padding-bottom: 18px;
	margin-bottom: 18px;
	border-bottom: 1px solid rgba(255,255,255,.10);
}
.k-footer-stats__num {
	font-family: var(--ff-arabic-display);
	font-size: 26px;
	font-weight: 800;
	line-height: 1;
}
.k-footer-stats__label {
	font-size: 12px;
	margin-top: 5px;
	color: rgba(255,255,255,.72);
}
.k-footer-stats__en {
	font-family: var(--ff-mono);
	font-size: 10px;
	opacity: .55;
	letter-spacing: .14em;
	margin-top: 2px;
}
@media (max-width: 640px) {
	.k-footer-stats { grid-template-columns: repeat(2, 1fr); gap: 16px 20px; }
}

/* =====================================================================
   9. Footer — compact single section on accent background
   ===================================================================== */
.k-footer-wrap {
	background: var(--accent);
	color: #fff;
	margin-top: 0;
}
[data-theme="dark"] .k-footer-wrap { background: #0a0c1d; border-top: 1px solid rgba(255,255,255,.06); }

.k-footer-main { padding: 22px 48px 14px; }
.k-footer-main__inner {
	max-width: var(--k-max);
	margin-inline: auto;
	display: grid;
	grid-template-columns: 1.3fr 1fr 1.1fr .9fr;
	gap: 32px;
	align-items: start;
}

.k-footer-col {}
.k-footer-col__title {
	font-family: var(--ff-arabic-display);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0;
	color: rgba(255,255,255,.82);
	margin: 2px 0 10px;
	text-transform: none;
}

/* Brand column */
.k-footer-col--brand .k-logo--footer .k-logo__img { height: 32px; }
.k-footer-col--brand .k-logo--footer .k-logo__img--light { display: none; }
.k-footer-col--brand .k-logo--footer .k-logo__img--dark  { display: block; }

.k-footer-tagline {
	margin: 8px 0 0;
	max-width: 320px;
	font-size: 13px;
	line-height: 1.55;
	color: rgba(255,255,255,.85);
}

/* Nav column */
.k-footer-nav {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 13px;
}
.k-footer-nav a {
	color: rgba(255,255,255,.85);
	transition: color 120ms ease;
}
.k-footer-nav a:hover { color: #fff; }
.k-footer-nav li.current-menu-item > a { color: #fff; font-weight: 700; }

/* Social column */
.k-footer-social__row {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 0;
}
.k-social {
	width: 36px; height: 36px;
	border-radius: 999px;
	display: grid;
	place-items: center;
	color: rgba(255,255,255,.9);
	background: rgba(255,255,255,.08);
	border: 1px solid rgba(255,255,255,.16);
	transition: transform 160ms ease, background 160ms ease, border-color 160ms ease, color 160ms ease;
	flex: 0 0 auto;
}
.k-social svg { width: 16px; height: 16px; }
.k-social:hover { transform: translateY(-2px); color: #fff; }

/* Brand colors on hover only — calm, uniform row at rest */
.k-social--whatsapp:hover  { background: #25D366; border-color: transparent; }
.k-social--tiktok:hover    { background: #010101; border-color: rgba(255,255,255,.28); }
.k-social--telegram:hover  { background: #229ED9; border-color: transparent; }
.k-social--instagram:hover { background: radial-gradient(circle at 30% 110%, #FDF497 0%, #FD5949 45%, #D6249F 60%, #285AEB 90%); border-color: transparent; }
.k-social--youtube:hover   { background: #FF0000; border-color: transparent; }
.k-social--x:hover         { background: #000; border-color: rgba(255,255,255,.28); }
.k-social--facebook:hover  { background: #1877F2; border-color: transparent; }

/* Copyright row (in-flow, not a separate band) */
.k-footer-copy__inner {
	max-width: var(--k-max);
	margin: 12px auto 0;
	padding-top: 10px;
	border-top: 1px solid rgba(255,255,255,.08);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	font-family: var(--ff-mono);
	font-size: 11px;
	letter-spacing: .1em;
	color: rgba(255,255,255,.55);
}
.k-footer-copy__inner p { margin: 0; }
.k-footer-copy__by { direction: ltr; }

@media (max-width: 1024px) {
	.k-footer-main__inner { grid-template-columns: 1fr 1fr; gap: 28px; }
}

@media (max-width: 640px) {
	.k-footer-main { padding: 22px 16px 14px; }
	.k-footer-main__inner { grid-template-columns: 1fr; gap: 24px; }
	.k-footer-copy__inner { flex-direction: column; gap: 4px; margin-top: 18px; padding-top: 12px; }
	.k-footer-col--brand .k-logo--footer .k-logo__img { height: 30px; }
}

/* =====================================================================
   10. BArticleTop / verdict header band
   ===================================================================== */
.k-art-top {
	padding: 44px 48px 36px;
	background: var(--accent);
	color: #fff;
	position: relative;
	overflow: hidden;
}
.k-art-top--true         { background: var(--v-true); }
.k-art-top--false        { background: var(--v-false); }
.k-art-top--misleading   { background: var(--v-misleading); }
.k-art-top--mixed        { background: var(--v-mixed); }
.k-art-top--news         { background: var(--v-news); }
.k-art-top--aware        { background: var(--v-aware); }
.k-art-top--investigation { background: var(--ink); }

.k-art-top__watermark {
	font-family: var(--ff-arabic-display);
	position: absolute;
	inset-inline-end: -20px;
	top: -40px;
	font-size: 320px;
	font-weight: 800;
	line-height: 0.8;
	color: rgba(255,255,255,.07);
	letter-spacing: -0.05em;
	user-select: none;
	pointer-events: none;
}
.k-art-top__crumb {
	font-family: var(--ff-mono);
	font-size: 11px;
	letter-spacing: .14em;
	opacity: .8;
	margin-bottom: 26px;
	position: relative;
	z-index: 1;
}
.k-art-top__pills {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 22px;
	flex-wrap: wrap;
	position: relative;
	z-index: 1;
}
.k-claim-pill {
	padding: 10px 22px;
	border-radius: 999px;
	background: #fff;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .04em;
	display: inline-flex;
	align-items: center;
	gap: 9px;
}
.k-claim-pill__dot { width: 9px; height: 9px; border-radius: 999px; }
.k-art-top--true       .k-claim-pill,
.k-art-top--true       .k-claim-pill__dot { color: var(--v-true);       background-color: var(--v-true); }
.k-art-top--true       .k-claim-pill { background: #fff; color: var(--v-true); }
.k-art-top--false      .k-claim-pill { background: #fff; color: var(--v-false); }
.k-art-top--false      .k-claim-pill__dot { background: var(--v-false); }
.k-art-top--misleading .k-claim-pill { background: #fff; color: var(--v-misleading); }
.k-art-top--misleading .k-claim-pill__dot { background: var(--v-misleading); }
.k-art-top--mixed      .k-claim-pill { background: #fff; color: var(--v-mixed); }
.k-art-top--mixed      .k-claim-pill__dot { background: var(--v-mixed); }
.k-art-top--news       .k-claim-pill { background: #fff; color: var(--v-news); }
.k-art-top--news       .k-claim-pill__dot { background: var(--v-news); }
.k-art-top--aware      .k-claim-pill { background: #fff; color: var(--v-aware); }
.k-art-top--aware      .k-claim-pill__dot { background: var(--v-aware); }
.k-art-top--investigation .k-claim-pill { background: #fff; color: var(--ink); }
.k-art-top--investigation .k-claim-pill__dot { background: var(--accent); }

.k-verdict-mono {
	font-family: var(--ff-mono);
	font-size: 11px;
	padding: 8px 14px;
	border-radius: 999px;
	background: rgba(0,0,0,.2);
	color: #fff;
	letter-spacing: .14em;
}
.k-art-top__case {
	font-family: var(--ff-mono);
	margin-inline-start: auto;
	font-size: 11px;
	opacity: .85;
	letter-spacing: .12em;
}
.k-art-top__title {
	font-family: var(--ff-arabic-display);
	margin: 0;
	font-size: 56px;
	line-height: 1.15;
	font-weight: 800;
	letter-spacing: -0.018em;
	max-width: 22ch;
	text-wrap: pretty;
	position: relative;
	z-index: 1;
}
.k-art-top__byline {
	margin-top: 26px;
	display: flex;
	gap: 28px;
	align-items: center;
	flex-wrap: wrap;
	padding-top: 18px;
	border-top: 1px solid rgba(255,255,255,.18);
	position: relative;
	z-index: 1;
}
.k-author { display: flex; align-items: center; gap: 10px; }
.k-author__avatar {
	width: 32px;
	height: 32px;
	border-radius: 999px;
	background: rgba(255,255,255,.2);
	display: grid;
	place-items: center;
	font-weight: 700;
	font-size: 13px;
}
/* Writer byline: show the writer's photo inside the avatar, and make the
   linked byline (a.k-author, used when a kashaf_writer term is assigned)
   inherit the header text color instead of the default link blue. */
.k-author__avatar--img { background: none; overflow: hidden; }
.k-author__avatar--img img { width: 100%; height: 100%; object-fit: cover; }
a.k-author { color: inherit; text-decoration: none; }
a.k-author:hover .k-author__name { text-decoration: underline; }
.k-author__name { font-size: 13px; }
.k-meta-light {
	font-family: var(--ff-mono);
	font-size: 11px;
	letter-spacing: .1em;
}
.k-art-top__share {
	margin-inline-start: auto;
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}
.k-share-btn {
	padding: 8px 14px;
	font-size: 11px;
	font-weight: 600;
	border: 1px solid rgba(255,255,255,.3);
	background: transparent;
	color: #fff;
	border-radius: 999px;
	font-family: inherit;
	cursor: pointer;
}
.k-share-btn:hover { background: rgba(255,255,255,.12); }

/* =====================================================================
   11. BArticleBody
   ===================================================================== */
.k-art-body {
	padding: 40px 48px;
	display: grid;
	grid-template-columns: 1fr 360px;
	gap: 44px;
}
.k-art-main {}

/* Article hero image — mirrors the body+sidebar grid so the image only
   occupies the main column (alongside where the sidebar appears below).
   Container enforces a fixed 16:9 frame so every article hero is the
   same size regardless of the source image's native dimensions. */
.k-art-hero-wrap {
	max-width: var(--k-max);
	margin: 28px auto 0;
	padding: 0 48px;
	display: grid;
	grid-template-columns: 1fr 360px;
	gap: 44px;
}
.k-art-hero-wrap > .k-art-hero,
.k-art-hero-wrap > .k-art-caption {
	grid-column: 1;
}
.k-art-hero {
	position: relative;
	aspect-ratio: 16/9;
	border-radius: 18px;
	overflow: hidden;
	margin: 0;
	background: var(--img-tone);
}
.k-art-hero img,
.k-art-hero .wp-post-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	border-radius: 0;
}
.k-art-caption {
	font-family: var(--ff-mono);
	font-size: 11px;
	color: var(--ink-3);
	letter-spacing: .06em;
	margin: 10px 0 0;
	text-align: start;
}
@media (max-width: 768px) {
	.k-art-hero-wrap {
		padding: 0 16px;
		margin-top: 16px;
		grid-template-columns: 1fr;
		gap: 0;
	}
	.k-art-hero { border-radius: 14px; }
}

.k-claim-card {
	padding: 32px;
	border-radius: 20px;
	background: var(--bg-elev);
	border: 1px solid var(--rule);
	position: relative;
	margin-bottom: 40px;
	box-shadow: var(--shadow-md);
}
.k-claim-card__tab {
	position: absolute;
	top: -14px;
	inset-inline-start: 28px;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px 14px;
	border-radius: 999px;
	background: var(--accent);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	font-family: var(--ff-mono);
}
.k-claim-card__quote {
	font-family: var(--ff-arabic-display);
	margin: 0;
	font-size: 26px;
	line-height: 1.5;
	font-weight: 600;
	color: var(--ink);
	text-wrap: pretty;
}
.k-claim-card__foot {
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid var(--rule);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}
.k-claim-card__source {
	font-family: var(--ff-mono);
	font-size: 11px;
	color: var(--ink-3);
	letter-spacing: .1em;
}

.k-prose h2 {
	font-family: var(--ff-arabic-display);
	font-size: 28px;
	font-weight: 700;
	margin-top: 40px;
	margin-bottom: 14px;
	letter-spacing: -0.01em;
	display: flex;
	align-items: baseline;
	gap: 14px;
}
.k-prose h2 .k-h-num {
	font-family: var(--ff-mono);
	font-size: 12px;
	color: var(--accent);
	letter-spacing: .18em;
}
.k-prose p {
	font-size: 17px;
	line-height: 1.85;
	color: var(--ink-2);
	margin-bottom: 18px;
	text-wrap: pretty;
}
.k-prose blockquote {
	margin: 0 0 18px;
	padding: 18px 24px;
	border-inline-start: 4px solid var(--accent);
	background: var(--bg-sunk);
	border-radius: 0 12px 12px 0;
	font-size: 18px;
	color: var(--ink);
}
.k-prose figure { margin: 0 0 18px; }
.k-prose figure img { border-radius: 14px; }
.k-prose figcaption {
	margin-top: 8px;
	font-family: var(--ff-mono);
	font-size: 11px;
	color: var(--ink-3);
}
.k-prose ul, .k-prose ol {
	font-size: 16px;
	line-height: 1.8;
	color: var(--ink-2);
	padding-inline-start: 22px;
}
.k-prose a {
	color: var(--accent);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.k-correction {
	margin-top: 40px;
	padding: 22px 24px;
	border-radius: 14px;
	background: var(--bg-sunk);
	border: 1px solid var(--v-misleading);
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 18px;
	align-items: start;
}
.k-correction__label {
	background: var(--v-misleading);
	color: #fff;
	padding: 10px 14px;
	border-radius: 10px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	display: flex;
	align-items: center;
	gap: 8px;
}
.k-correction__date {
	font-family: var(--ff-mono);
	font-size: 11px;
	color: var(--ink-3);
	margin-bottom: 6px;
	letter-spacing: .1em;
}
.k-correction__body {
	margin: 0;
	font-size: 15px;
	line-height: 1.7;
	color: var(--ink-2);
}

/* Sidebar */
.k-art-side {
	position: sticky;
	top: 24px;
	align-self: start;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.k-side-card {
	padding: 22px;
	border-radius: 18px;
	background: var(--bg-elev);
	border: 1px solid var(--rule);
}
.k-side-card__eyebrow {
	font-family: var(--ff-mono);
	font-size: 13px;
	font-weight: 700;
	color: var(--kashaf-eyebrow, var(--accent));
	letter-spacing: .08em;
	margin-bottom: 12px;
	text-transform: uppercase;
}
/* Article eyebrow inherits the article's verdict color via the body's
   k-verdict-* class — keeps the side-card label visually paired with the
   verdict pill below it. Falls back to brand indigo on non-verdict pages. */
body.k-verdict-true         { --kashaf-eyebrow: var(--v-true-ink); }
body.k-verdict-false        { --kashaf-eyebrow: var(--v-false-ink); }
body.k-verdict-misleading   { --kashaf-eyebrow: var(--v-misleading-ink); }
body.k-verdict-mixed        { --kashaf-eyebrow: var(--v-mixed-ink); }
body.k-verdict-fabricated   { --kashaf-eyebrow: var(--v-fabricated-ink); }
body.k-verdict-unverifiable { --kashaf-eyebrow: var(--v-unverifiable-ink); }
body.k-verdict-news         { --kashaf-eyebrow: var(--v-news-ink); }
body.k-verdict-aware        { --kashaf-eyebrow: var(--v-aware-ink); }
.k-side-card--accent {
	background: var(--accent);
	color: #fff;
	border-color: transparent;
}
/* The methodology side-card has an indigo background — force white text on it
   regardless of the article's verdict color. */
.k-side-card--accent .k-side-card__eyebrow { color: rgba(255,255,255,.85); }
.k-side-card__body {
	font-size: 14px;
	line-height: 1.65;
	color: var(--ink-2);
	margin: 0 0 14px;
}
.k-side-card--accent .k-side-card__body { color: #fff; opacity: .94; }
.k-side-card__body strong { color: var(--ink); }
.k-side-card__cta {
	font-family: var(--ff-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: inherit;
}
.k-evidence__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 16px;
}
.k-evidence__head h3 {
	font-family: var(--ff-arabic-display);
	font-size: 18px;
	font-weight: 700;
	margin: 0;
}
.k-evidence__count {
	font-family: var(--ff-mono);
	font-size: 11px;
	color: var(--accent);
	font-weight: 700;
}
.k-evidence__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.k-evidence__item {
	display: flex;
	gap: 12px;
	align-items: flex-start;
}
.k-evidence__num {
	font-family: var(--ff-mono);
	min-width: 24px;
	height: 24px;
	border-radius: 999px;
	background: var(--accent);
	color: #fff;
	display: grid;
	place-items: center;
	font-size: 11px;
	font-weight: 700;
	flex: 0 0 auto;
}
.k-evidence__text { font-size: 13.5px; line-height: 1.5; color: var(--ink); }
.k-evidence__url {
	font-family: var(--ff-mono);
	font-size: 10.5px;
	color: var(--ink-3);
	margin-top: 4px;
	direction: ltr;
	word-break: break-all;
}

/* =====================================================================
   11.5  Tip banner — "شاهدت ادعاءً مشبوهاً؟" CTA on article pages
   Background: warm cream with diagonal stripe pattern + giant transparent
   "كشاف" watermark on the inline-end (echoes the mission strip but quieter).
   Dark mode flips to a warm-tinted indigo.
   ===================================================================== */
.k-tip-banner {
	--k-tip-bg:       #ece4d3;
	--k-tip-stripe:   rgba(31, 42, 120, 0.05);
	--k-tip-mark:     rgba(31, 42, 120, 0.08);
	--k-tip-ink:      #1a1d2e;
	--k-tip-ink-soft: rgba(26, 29, 46, .65);
	padding: 44px 48px;
	background:
		linear-gradient(
			135deg,
			transparent 0,
			transparent 24px,
			var(--k-tip-stripe) 24px,
			var(--k-tip-stripe) 25px,
			transparent 25px,
			transparent 48px
		),
		var(--k-tip-bg);
	position: relative;
	overflow: hidden;
	color: var(--k-tip-ink);
	border-block: 1px solid color-mix(in oklab, var(--k-tip-ink) 8%, transparent);
}
[data-theme="dark"] .k-tip-banner {
	--k-tip-bg:       #1c1f3a;
	--k-tip-stripe:   rgba(255, 255, 255, 0.04);
	--k-tip-mark:     rgba(255, 255, 255, 0.06);
	--k-tip-ink:      #f0eee9;
	--k-tip-ink-soft: rgba(240, 238, 233, .72);
}
.k-tip-banner::before {
	content: "كشاف";
	font-family: var(--ff-arabic-display);
	font-weight: 800;
	font-size: clamp(96px, 14vw, 150px);
	line-height: 1;
	color: var(--k-tip-mark);
	position: absolute;
	inset-inline-end: -18px;
	top: 50%;
	transform: translateY(-50%);
	letter-spacing: -0.04em;
	user-select: none;
	pointer-events: none;
	white-space: nowrap;
}
.k-tip-banner__inner {
	max-width: var(--k-max);
	margin-inline: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	flex-wrap: wrap;
	position: relative;
	z-index: 1;
}
.k-tip-banner__copy { flex: 1; min-width: 260px; }
.k-tip-banner__title {
	font-family: var(--ff-arabic-display);
	margin: 0;
	font-size: 30px;
	font-weight: 800;
	color: var(--k-tip-ink);
	letter-spacing: -0.01em;
}
.k-tip-banner__subtitle {
	margin: 8px 0 0;
	font-size: 14.5px;
	color: var(--k-tip-ink-soft);
	line-height: 1.65;
}
.k-tip-banner__cta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 26px;
	background: var(--accent);
	color: #fff;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .01em;
	transition: transform 140ms ease, box-shadow 140ms ease;
	box-shadow: 0 2px 0 rgba(0,0,0,.06);
}
.k-tip-banner__cta:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 18px color-mix(in oklab, var(--accent) 40%, transparent);
}
.k-tip-banner__cta-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px; height: 24px;
	border-radius: 999px;
	background: rgba(255,255,255,.18);
}
.k-tip-banner__cta-icon svg { width: 14px; height: 14px; }

@media (max-width: 768px) {
	.k-tip-banner { padding: 32px 16px; }
	.k-tip-banner::before { font-size: 96px; inset-inline-end: -10px; }
	.k-tip-banner__inner { flex-direction: column; align-items: stretch; gap: 16px; }
	.k-tip-banner__title { font-size: 22px; }
	.k-tip-banner__subtitle { font-size: 13.5px; }
	.k-tip-banner__cta { justify-content: center; }
}

/* =====================================================================
   12. BArticleRelated
   ===================================================================== */
.k-related {
	padding: 44px 48px 56px;
	background: var(--bg-sunk);
}
.k-related__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}
.k-related .k-card {
	padding: 16px;
	border-radius: 14px;
	gap: 12px;
}
.k-related .k-card__media {
	aspect-ratio: 4/3;
	border-radius: 8px;
}
.k-related .k-card__media .k-pill {
	inset-inline-start: 10px;
	top: 10px;
}
.k-related .k-card__title { font-size: 15px; }
.k-related .k-card__date { margin-top: auto; }

/* =====================================================================
   13. Mobile B  (≤ 768px)
   ===================================================================== */
@media (max-width: 768px) {

	/* Top bar collapses to hamburger + logo + icon search */
	.k-topbar { padding: 14px 16px; }
	.k-topbar__inner { gap: 12px; }
	.k-nav, .k-search-trigger, .k-theme-toggle { display: none; }
	.k-logo__mark { font-size: 22px; }
	.k-logo__tag  { font-size: 8.5px; }
	.k-icon-btn {
		width: 36px; height: 36px;
		border-radius: 999px;
		background: rgba(255,255,255,.16);
		border: 0;
		color: #fff;
		display: grid;
		place-items: center;
		flex: 0 0 auto;
		cursor: pointer;
	}
	.k-icon-btn--search { margin-inline-start: auto; }
	/* Language switch stays visible in the mobile top bar (compact pill,
	   matches the 36px icon-button height so the row stays aligned). */
	.k-lang-chip {
		display: inline-flex;
		height: 36px;
		padding: 0 12px;
		font-size: 12px;
		flex: 0 0 auto;
	}

	/* Horizontal-scroll chip nav strip */
	.k-nav-strip {
		display: flex !important;
		gap: 6px;
		padding: 10px 16px;
		overflow-x: auto;
		white-space: nowrap;
		border-bottom: 1px solid var(--rule);
		background: var(--bg);
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.k-nav-strip::-webkit-scrollbar { display: none; }
	/* The strip prints <li> straight into <nav> (no <ul>), so UA list-markers
	   leak as black dots on each chip. Suppress them. */
	.k-nav-strip,
	.k-nav-strip li { list-style: none; margin: 0; }
	.k-nav-strip__link {
		padding: 7px 14px;
		font-size: 12.5px;
		font-weight: 600;
		border-radius: 999px;
		flex: 0 0 auto;
		color: var(--ink-2);
		background: var(--bg-elev);
		border: 1px solid var(--rule);
	}
	.k-nav-strip__link.is-active,
	.k-nav-strip__link[aria-current="page"] {
		color: #fff;
		background: var(--accent);
		border-color: transparent;
	}

	/* Mobile drawer */
	.k-drawer { display: block; position: fixed; inset: 0; z-index: 90; visibility: hidden; pointer-events: none; }
	.k-drawer.is-open { visibility: visible; pointer-events: auto; }
	.k-drawer__overlay {
		position: absolute; inset: 0;
		background: rgba(0,0,0,.55);
		opacity: 0;
		transition: opacity 180ms ease;
	}
	.k-drawer.is-open .k-drawer__overlay { opacity: 1; }
	.k-drawer__panel {
		position: absolute;
		top: 0; bottom: 0; inset-inline-end: 0;
		width: min(82vw, 320px);
		background: var(--bg-elev);
		transform: translateX(-100%);
		transition: transform 220ms ease;
		display: flex;
		flex-direction: column;
		padding: 16px;
		gap: 12px;
	}
	.k-drawer.is-open .k-drawer__panel { transform: translateX(0); }
	.k-drawer__close { align-self: flex-end; background: transparent; border: 0; color: var(--ink); font-size: 22px; cursor: pointer; }
	.k-drawer__nav { display: flex; flex-direction: column; gap: 4px; list-style: none; padding: 0; margin: 0; }
	.k-drawer__nav a { padding: 10px 12px; border-radius: 12px; font-size: 15px; color: var(--ink); }
	.k-drawer__nav a:hover { background: var(--bg-sunk); }
	/* Drawer submenu — always expanded inline (no click-toggle on mobile). */
	.k-drawer__nav .sub-menu {
		display: block;
		position: static;
		background: transparent;
		border: 0;
		box-shadow: none;
		padding: 0;
		margin: 4px 0 4px;
		margin-inline-start: 16px;
		list-style: none;
	}
	.k-drawer__nav .sub-menu a { padding: 6px 10px; font-size: 14px; border-radius: 8px; }
	.k-drawer__nav .k-nav__item--has-children > .k-nav__link::after { display: none; }
	/* Drawer CTA — the desktop ghost-on-navy pill (white text on translucent
	   white + white border) is invisible on the light drawer and reads as a
	   stray empty box. Render a solid, full-width accent button instead. */
	.k-drawer__nav .k-nav__item--cta { margin-top: 10px; }
	.k-drawer__nav .k-nav__link--cta,
	.k-drawer__nav .k-nav__item--cta > .k-nav__link {
		justify-content: center;
		background: var(--accent);
		color: #fff;
		border-color: var(--accent);
		padding: 12px 14px;
		box-shadow: none;
	}
	.k-drawer__nav .k-nav__link--cta:hover,
	.k-drawer__nav .k-nav__item--cta > .k-nav__link:hover {
		background: var(--accent);
		color: #fff;
		filter: brightness(1.08);
		transform: none;
	}

	/* Ticker mobile */
	.k-ticker__label { padding: 8px 12px; font-size: 10.5px; }
	.k-ticker__reel { padding: 8px 12px; gap: 8px; font-size: 12px; }
	.k-ticker__item { font-size: 12px; }
	.k-ticker__item .k-ticker__dot { width: 6px; height: 6px; }

	/* Hero stacks */
	.k-hero { padding: 16px 16px 22px; }
	.k-hero__eyebrow-row { margin-bottom: 10px; }
	.k-hero__grid { grid-template-columns: 1fr; gap: 14px; }
	.k-hero__media { aspect-ratio: 5/4; border-radius: 16px; }
	.k-hero__overlays { inset-inline-end: 12px; top: 12px; gap: 6px; }
	.k-case-chip { font-size: 9.5px; padding: 4px 9px; background: rgba(0,0,0,.6); }
	.k-hero__caption { inset-inline-start: 10px; bottom: 10px; padding: 6px 11px; font-size: 11px; }
	.k-hero__card { padding: 20px 18px; gap: 12px; border-radius: 16px; }
	.k-claim-eyebrow { font-size: 10px; }
	.k-hero__title { font-size: 22px; line-height: 1.3; }
	.k-hero__deck  { font-size: 13.5px; line-height: 1.65; }
	.k-cta { padding: 12px 18px; font-size: 13px; }

	/* Category grid */
	.k-cat-rail { padding: 8px 16px 22px; }
	.k-section-head { margin-bottom: 12px; }
	.k-section-title { font-size: 18px; }
	.k-section-meta  { font-size: 9.5px; letter-spacing: .14em; }
	.k-cat-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
	.k-cat-card { padding: 14px; min-height: 96px; gap: 8px; border-radius: 12px; }
	.k-cat-card__idx { font-size: 9px; }
	.k-cat-card__title { font-size: 14.5px; }
	.k-cat-card__count { font-size: 26px; }

	/* Trending stacks (thumb-left rows) */
	.k-trending { padding: 20px 16px; }
	.k-trending__grid {
		display: flex;
		flex-direction: column;
		gap: 10px;
	}
	.k-trending__big,
	.k-trending__side {
		padding: 12px;
		border-radius: 12px;
		display: grid;
		grid-template-columns: 76px 1fr;
		grid-template-rows: auto;
		gap: 12px;
		align-items: center;
	}
	.k-trending__big-media,
	.k-trending__side-media {
		width: 76px; height: 76px; border-radius: 10px;
		aspect-ratio: initial;
		grid-row: span 2;
		order: -1;
	}
	.k-trending__big-meta,
	.k-trending__side-top {
		display: flex;
		align-items: center;
		gap: 8px;
		margin-bottom: 0;
	}
	.k-trending__big-title,
	.k-trending__side-title {
		font-size: 13.5px;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
		margin: 0;
	}
	.k-trending__big-foot { display: none; }
	.k-trending__big-dek  { display: none; }
	.k-trending__side-date  { display: none; }

	/* Latest list — single col */
	.k-latest { padding: 22px 16px; }
	.k-filter-chips { display: none; }
	.k-latest__see-all {
		font-family: var(--ff-mono);
		font-size: 11px;
		color: var(--accent);
		font-weight: 600;
	}
	.k-latest__grid { grid-template-columns: 1fr; gap: 14px; }
	.k-card { padding: 12px; gap: 10px; border-radius: 14px; }
	.k-card__media { aspect-ratio: 16/10; border-radius: 10px; }
	.k-card__media .k-pill { inset-inline-start: 10px; top: 10px; }
	.k-card__title { font-size: 14.5px; }
	.k-card__date { font-size: 11px; }
	.k-card__read { font-size: 11px; }

	/* Mission strip */
	.k-mission { padding: 32px 22px; }
	.k-mission__watermark { inset-inline-end: -18px; top: -22px; font-size: 180px; color: rgba(255,255,255,.07); }
	.k-mission__heading { font-size: 28px; line-height: 1.2; margin-top: 12px; }
	.k-mission__body { font-size: 14px; margin-top: 12px; }
	.k-mission__stats { grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 22px; }
	.k-mission__stat-num { font-size: 24px; }
	.k-mission__stat-label { font-size: 12px; }
	.k-mission__stat-en { display: none; }

	/* Footer */
	.k-footer { padding: 20px 16px 26px; }
	.k-footer__inner { flex-direction: column; align-items: flex-start; gap: 6px; }
	.k-footer__copy { font-size: 10.5px; }

	/* Article top */
	.k-art-top { padding: 20px 16px 26px; }
	.k-art-top__watermark { inset-inline-end: -18px; top: -28px; font-size: 160px; color: rgba(255,255,255,.08); }
	.k-art-top__crumb { font-size: 10px; margin-bottom: 14px; opacity: .85; letter-spacing: .12em; }
	.k-art-top__pills { gap: 8px; margin-bottom: 14px; }
	.k-claim-pill { padding: 7px 14px; font-size: 12px; gap: 7px; }
	.k-claim-pill__dot { width: 8px; height: 8px; }
	.k-verdict-mono { font-size: 9.5px; padding: 6px 10px; background: rgba(0,0,0,.22); letter-spacing: .12em; }
	.k-art-top__case { display: none; }
	.k-art-top__title { font-size: 26px; line-height: 1.22; }
	.k-art-top__byline { gap: 14px; margin-top: 18px; padding-top: 14px; flex-wrap: wrap; }
	.k-author__avatar { width: 26px; height: 26px; font-size: 11px; }
	.k-author__name { font-size: 12px; }
	.k-meta-light { font-size: 10.5px; }
	.k-art-top__share { display: none; }

	/* Article body — single col */
	.k-art-body { padding: 16px 16px 8px; grid-template-columns: 1fr; gap: 22px; }
	.k-art-hero { aspect-ratio: 16/10; border-radius: 14px; margin-bottom: 10px; }
	.k-art-caption { font-size: 10.5px; margin-bottom: 22px; }
	.k-claim-card { padding: 18px; border-radius: 16px; margin-bottom: 24px; }
	.k-claim-card__tab { top: -10px; inset-inline-start: 18px; padding: 4px 11px; font-size: 10px; gap: 6px; }
	.k-claim-card__quote { font-size: 17px; line-height: 1.55; }
	.k-claim-card__foot { display: none; }
	.k-prose h2 { font-size: 19px; gap: 0; }
	.k-prose h2 .k-h-num { display: none; }
	.k-prose p  { font-size: 15px; margin-bottom: 14px; }
	.k-correction { padding: 14px; grid-template-columns: auto 1fr; gap: 12px; margin-top: 16px; border-radius: 12px; }
	.k-correction__label { padding: 6px 10px; font-size: 11px; }
	.k-correction__label svg { display: none; }
	.k-correction__body { font-size: 12.5px; }

	/* Article side stacks below body */
	.k-art-side { position: static; top: auto; gap: 14px; }
	.k-side-card { padding: 16px; border-radius: 14px; }
	.k-side-card.k-methodology { display: none; } /* dropped on mobile per spec */
	.k-evidence__head h3 { font-size: 15px; }
	.k-evidence__num { min-width: 20px; height: 20px; font-size: 10px; }
	.k-evidence__text { font-size: 12.5px; }
	.k-evidence__url  { font-size: 9.5px; }

	/* Related — 2 col, smaller text */
	.k-related { padding: 20px 16px 26px; }
	.k-related__grid { grid-template-columns: 1fr 1fr; gap: 10px; }
	.k-related .k-card { padding: 10px; gap: 8px; }
	.k-related .k-card__title { font-size: 11.5px; -webkit-line-clamp: 3; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
	.k-related .k-card__date { display: none; }
}

/* =====================================================================
   14. Search modal (k+⌘)
   ===================================================================== */
.k-search-modal {
	position: fixed;
	inset: 0;
	z-index: 100;
	display: none;
	align-items: flex-start;
	justify-content: center;
	padding-top: 12vh;
	background: rgba(20, 21, 26, 0.65);
	backdrop-filter: blur(4px);
}
.k-search-modal.is-open { display: flex; }
.k-search-modal__box {
	width: min(640px, 92vw);
	background: var(--bg-elev);
	border-radius: 16px;
	border: 1px solid var(--rule);
	padding: 16px;
	box-shadow: var(--shadow-md);
}
.k-search-modal__form { display: flex; gap: 8px; }
.k-search-modal__input {
	flex: 1;
	padding: 14px 16px;
	border: 1px solid var(--rule);
	border-radius: 12px;
	font: inherit;
	font-size: 16px;
	background: var(--bg);
	color: var(--ink);
}
.k-search-modal__input:focus { outline: 2px solid var(--accent); outline-offset: 2px; }
.k-search-modal__close {
	padding: 0 14px;
	border: 0;
	background: var(--ink);
	color: var(--bg);
	border-radius: 12px;
	font: inherit;
	cursor: pointer;
}

/* =====================================================================
   14.5  Sources database (page-database.php + taxonomy-misinfo_source.php)
   ===================================================================== */
.k-db-intro {
	padding: 28px 48px 8px;
}
.k-db-intro__inner {
	max-width: var(--k-max);
	margin-inline: auto;
	font-size: 16px;
	line-height: 1.85;
	color: var(--ink-2);
}
.k-db-intro__inner p { margin: 0 0 12px; }

.k-db-grid {
	padding: 28px 48px 56px;
}
.k-db-grid__head {
	max-width: var(--k-max);
	margin-inline: auto;
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 18px;
}
.k-db-grid__list {
	max-width: var(--k-max);
	margin-inline: auto;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 16px;
}
.k-db-grid__empty {
	max-width: var(--k-max);
	margin-inline: auto;
	padding: 48px 0;
	color: var(--ink-3);
	text-align: center;
}

.k-db-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 22px 18px 18px;
	border-radius: 16px;
	border: 1px solid var(--rule);
	background: var(--bg-elev);
	transition: transform 140ms ease, box-shadow 140ms ease, border-color 140ms ease;
	text-align: center;
}
.k-db-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow-md);
	border-color: var(--accent-line);
}
.k-db-card__avatar {
	position: relative;
	width: 84px;
	height: 84px;
	margin: 0 auto;
}
.k-db-card__avatar img {
	width: 100%;
	height: 100%;
	border-radius: 999px;
	object-fit: cover;
	background: var(--bg-sunk);
}
.k-db-card__initial {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	border-radius: 999px;
	background: var(--accent-soft);
	color: var(--accent);
	font-family: var(--ff-arabic-display);
	font-size: 32px;
	font-weight: 800;
}
.k-db-card__count {
	position: absolute;
	bottom: -4px;
	inset-inline-end: -6px;
	min-width: 28px;
	height: 28px;
	padding: 0 8px;
	border-radius: 999px;
	background: var(--accent);
	color: #fff;
	font-family: var(--ff-mono);
	font-size: 12px;
	font-weight: 700;
	display: grid;
	place-items: center;
	border: 2px solid var(--bg-elev);
}
.k-db-card__name {
	font-family: var(--ff-arabic-display);
	font-size: 16px;
	font-weight: 700;
	margin: 0;
	color: var(--ink);
	line-height: 1.35;
}

/* Publishers card — sidebar list on single news posts. Compact mirror of
   .k-db-card sized for the article aside. */
.k-publishers__list {
	list-style: none;
	margin: 4px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.k-publisher-row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px;
	border-radius: 12px;
	border: 1px solid var(--rule);
	background: var(--bg-elev);
	text-decoration: none;
	color: inherit;
	transition: border-color 140ms ease, transform 140ms ease, background 140ms ease;
}
.k-publisher-row:hover,
.k-publisher-row:focus-visible {
	border-color: var(--accent-line);
	background: color-mix(in oklab, var(--accent-soft) 50%, var(--bg-elev));
	transform: translateY(-1px);
	outline: none;
}
.k-publisher-row__avatar {
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	border-radius: 999px;
	overflow: hidden;
	background: var(--bg-sunk);
	display: grid;
	place-items: center;
}
.k-publisher-row__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.k-publisher-row__initial {
	font-family: var(--ff-arabic-display);
	font-size: 18px;
	font-weight: 800;
	color: var(--accent);
	background: var(--accent-soft);
	width: 100%;
	height: 100%;
	display: grid;
	place-items: center;
}
.k-publisher-row__text {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}
.k-publisher-row__name {
	font-family: var(--ff-arabic-display);
	font-size: 15px;
	font-weight: 700;
	color: var(--ink);
	line-height: 1.25;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Single source hero (inside the verdict-band area) */
.k-source-hero {
	max-width: var(--k-max);
	margin-inline: auto;
	display: flex;
	align-items: center;
	gap: 24px;
	margin-top: 18px;
	position: relative;
	z-index: 1;
}
.k-source-hero__avatar {
	width: 96px; height: 96px;
	border-radius: 999px;
	background: rgba(255,255,255,.18);
	display: grid;
	place-items: center;
	overflow: hidden;
	flex: 0 0 auto;
}
.k-source-hero__avatar img { width: 100%; height: 100%; object-fit: cover; }
.k-source-hero__avatar span {
	font-family: var(--ff-arabic-display);
	font-size: 40px;
	font-weight: 800;
	color: #fff;
}
.k-source-hero__name {
	font-family: var(--ff-arabic-display);
	margin: 0 0 8px;
	font-size: 38px;
	font-weight: 800;
	letter-spacing: -0.01em;
}
.k-source-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	font-size: 13px;
}
.k-source-hero__count strong { font-family: var(--ff-arabic-display); font-size: 22px; margin-inline-end: 4px; }
.k-source-hero__handle {
	padding: 6px 14px;
	border-radius: 999px;
	background: #fff;
	color: var(--ink);
	font-weight: 700;
	font-size: 12px;
}
.k-source-hero__handle:hover { background: rgba(255,255,255,.92); }

/* Verdict breakdown — stat cards on the single-source page (taxonomy-misinfo_source.php).
   Mirrors .k-db-card; --vc carries the per-card verdict color, set inline. */
.k-source-verdicts {
	max-width: var(--k-max);
	margin-inline: auto;
	padding: 28px 48px 8px;
}
.k-source-verdicts .k-section-head { margin-bottom: 18px; }
.k-source-verdicts__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 16px;
}
.k-vstat {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 24px 16px 18px;
	border-radius: 16px;
	border: 1px solid var(--rule);
	background: var(--bg-elev);
	text-align: center;
	overflow: hidden;
	transition: transform 140ms ease, box-shadow 140ms ease, border-color 140ms ease;
}
.k-vstat::before {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline: 0;
	height: 4px;
	background: var(--vc, var(--accent));
}
.k-vstat:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow-md);
	border-color: var(--accent-line);
}
.k-vstat__num {
	font-family: var(--ff-arabic-display);
	font-size: 34px;
	font-weight: 800;
	line-height: 1;
	color: var(--vc, var(--ink));
}
.k-vstat__label {
	font-family: var(--ff-arabic-display);
	font-size: 15px;
	font-weight: 700;
	color: var(--ink);
}

@media (max-width: 768px) {
	.k-db-intro { padding: 18px 16px 8px; }
	.k-db-grid  { padding: 18px 16px 32px; }
	.k-db-grid__list { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
	.k-db-card { padding: 16px 12px 14px; gap: 10px; }
	.k-db-card__avatar { width: 64px; height: 64px; }
	.k-db-card__initial { font-size: 24px; }
	.k-db-card__name { font-size: 14px; }
	.k-source-hero { gap: 14px; flex-direction: row; }
	.k-source-hero__avatar { width: 64px; height: 64px; }
	.k-source-hero__avatar span { font-size: 28px; }
	.k-source-hero__name { font-size: 24px; }
	.k-source-verdicts { padding: 18px 16px 8px; }
	.k-source-verdicts__grid { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 10px; }
	.k-vstat { padding: 18px 12px 14px; }
	.k-vstat__num { font-size: 26px; }
	.k-vstat__label { font-size: 14px; }
}

/* =====================================================================
   15. WP-specific overrides
   ===================================================================== */
.alignwide { max-width: 1200px; margin-inline: auto; }
.alignfull { max-width: none; margin-inline: 0; }
.wp-caption img { border-radius: 14px; }
.wp-caption-text { font-family: var(--ff-mono); font-size: 11px; color: var(--ink-3); }
.gallery-caption  { font-family: var(--ff-mono); font-size: 11px; color: var(--ink-3); }

/* Comments — minimal, neutral */
.k-comments { padding: 32px 48px; }
.k-comments h2 { font-family: var(--ff-arabic-display); font-size: 22px; margin: 0 0 18px; }
.k-comments ol { list-style: none; padding: 0; margin: 0; }
.k-comments li.comment { padding: 14px 0; border-bottom: 1px solid var(--rule); }
.k-comments .comment-author { font-weight: 700; }
.k-comments .comment-meta   { font-family: var(--ff-mono); font-size: 11px; color: var(--ink-3); }

@media (max-width: 768px) { .k-comments { padding: 24px 16px; } }

/* Pagination */
.k-pagination { padding: 24px 48px 56px; display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; }
.k-pagination a, .k-pagination span {
	padding: 8px 14px;
	border-radius: 999px;
	border: 1px solid var(--rule-strong);
	font-size: 13px;
	color: var(--ink-2);
}
.k-pagination .current { background: var(--accent); color: #fff; border-color: transparent; }

@media (max-width: 768px) { .k-pagination { padding: 20px 16px 32px; } }

/* 404 page */
.k-404 { padding: 80px 48px; text-align: center; }
.k-404 h1 { font-family: var(--ff-arabic-display); font-size: 56px; margin: 0 0 12px; }
.k-404 p  { color: var(--ink-3); margin: 0 0 22px; }

@media (max-width: 768px) { .k-404 { padding: 48px 16px; } .k-404 h1 { font-size: 36px; } }

/* Theme-toggle button in header */
.k-theme-toggle {
	width: 36px; height: 36px;
	border-radius: 999px;
	background: rgba(255,255,255,.14);
	border: 0;
	color: #fff;
	display: grid;
	place-items: center;
	cursor: pointer;
}
.k-theme-toggle svg { width: 16px; height: 16px; }
.k-theme-toggle__sun  { display: none; }
[data-theme="dark"] .k-theme-toggle__sun  { display: block; }
[data-theme="dark"] .k-theme-toggle__moon { display: none; }

/* News hub — 6 verdict tiles (3 × 2 desktop) on template-news.php */
.k-news-tiles{
	list-style:none; margin:24px 0 32px; padding:0;
	display:grid; grid-template-columns:repeat(3,1fr); gap:14px;
}
.k-news-tile{
	position:relative; overflow:hidden;
	display:flex; flex-direction:column; justify-content:space-between;
	min-height:160px; padding:22px 24px; border-radius:14px;
	color:#fff; text-decoration:none; background:var(--v-news);
	box-shadow:0 1px 0 rgba(0,0,0,.06), 0 8px 24px -16px rgba(0,0,0,.35);
	transition:transform .18s ease, filter .18s ease, box-shadow .18s ease;
}
.k-news-tile:hover,.k-news-tile:focus-visible{
	transform:translateY(-2px); filter:brightness(1.05);
	box-shadow:0 2px 0 rgba(0,0,0,.06), 0 16px 32px -16px rgba(0,0,0,.45);
	outline:none;
}
.k-news-tile.is-active{outline:3px solid var(--ink-1); outline-offset:2px;}
.k-news-tile--true{background:var(--v-true);}
.k-news-tile--false{background:var(--v-false);}
.k-news-tile--misleading{background:var(--v-misleading);}
.k-news-tile--mixed{background:var(--v-mixed);}
.k-news-tile--fabricated{background:var(--v-fabricated);}
.k-news-tile--unverifiable{background:var(--v-unverifiable);}
.k-news-tile__bg{
	font-family:var(--ff-arabic-display);
	position:absolute;
	inset-inline-end:-14px; top:-28px;
	font-size:140px; font-weight:800; line-height:.8;
	letter-spacing:-0.04em;
	color:rgba(255,255,255,.10);
	user-select:none; pointer-events:none;
	white-space:nowrap;
	z-index:0;
}
.k-news-tile__label{
	position:relative; z-index:1;
	font-family:var(--ff-arabic-display, inherit);
	font-weight:800; line-height:1.1; letter-spacing:.01em;
	font-size:clamp(22px, 2.6vw, 30px);
}
.k-news-tile__count{
	position:relative; z-index:1;
	align-self:flex-end; font-size:14px; font-weight:600;
	padding:4px 10px; border-radius:999px;
	background:rgba(0,0,0,.22);
}
.k-news-clear{
	display:inline-flex; align-items:center; justify-content:center;
	margin-inline-start:8px;
	width:22px; height:22px;
	text-decoration:none; line-height:1;
	border-radius:999px;
	background:rgba(0,0,0,.7); color:#fff;
	font-weight:700; font-size:15px;
	transition:background .15s ease;
}
.k-news-clear:hover,.k-news-clear:focus-visible{ background:rgba(0,0,0,.9); outline:none; }
[data-theme="dark"] .k-news-clear{ background:rgba(255,255,255,.28); }
[data-theme="dark"] .k-news-clear:hover,[data-theme="dark"] .k-news-clear:focus-visible{ background:rgba(255,255,255,.45); }

/* 3-per-row variant used by the investigations sub-category tiles */
.k-news-tiles--sub{ grid-template-columns:repeat(3,1fr); }
.k-news-tiles--sub .k-news-tile{ min-height:130px; padding:18px 20px; }
.k-news-tiles--sub .k-news-tile__bg{ font-size:110px; top:-22px; inset-inline-end:-10px; }
.k-news-tiles--sub .k-news-tile__label{ font-size:clamp(18px, 2vw, 24px); }

/* Sub-category palette. Verdict colors (do NOT reuse): true #1f8a5b green,
   false #d6443c red, misleading #d68a1c amber, mixed #5b5fc7 indigo-purple.
   These 6 stay clear of those hues. */
.k-news-tile--articles{       background:#2563eb; } /* royal blue   */
.k-news-tile--investigations{ background:#0e7490; } /* deep cyan    */
.k-news-tile--personas{       background:#be185d; } /* raspberry    */
.k-news-tile--by-numbers{     background:#92400e; } /* cinnamon     */
.k-news-tile--awareness{      background:#475569; } /* cool slate   */
.k-news-tile--visuals{        background:#44403c; } /* warm stone   */

@media (max-width:768px){
	.k-news-tiles{ grid-template-columns:repeat(2,1fr); }
	.k-news-tiles--sub{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:540px){
	.k-news-tiles{gap:10px; max-width:none; grid-template-columns:repeat(2,1fr);}
	.k-news-tile{padding:18px; min-height:130px;}
	.k-news-tile__bg{font-size:100px; top:-18px; inset-inline-end:-10px;}
	.k-news-tiles--sub{ grid-template-columns:repeat(2,1fr); }
}

/* ============================================================
   OSINT Training page (page-training.php)
   ============================================================ */

.k-training-intro{
	max-width:920px;
	margin-inline:auto;
	padding:28px 24px 8px;
}
.k-training-intro__inner{
	color:var(--ink-2);
	font-size:17px;
	line-height:1.85;
}
.k-training-intro__inner p{ margin:0 0 12px; }
.k-training-intro__inner p:last-child{ margin-bottom:0; }

.k-training-curriculum{
	max-width:1200px;
	margin-inline:auto;
	padding:32px 24px 16px;
}
.k-training-curriculum__head{ margin-bottom:18px; }
.k-training-curriculum__grid{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
	gap:16px;
}
.k-training-card{
	background:var(--bg-elev);
	border:1px solid var(--rule);
	border-radius:14px;
	padding:20px;
	box-shadow:var(--shadow-sm);
	transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.k-training-card:hover{
	transform:translateY(-2px);
	border-color:var(--accent-line);
	box-shadow:0 2px 0 rgba(0,0,0,.04), 0 16px 28px -18px rgba(0,0,0,.32);
}
.k-training-card__icon{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:46px; height:46px;
	padding:9px;
	color:var(--accent);
	background:var(--accent-soft);
	border-radius:12px;
}
.k-training-card__title{
	margin:14px 0 6px;
	font-family:var(--ff-arabic-display);
	font-size:18px;
	font-weight:700;
	color:var(--ink);
	line-height:1.3;
}
.k-training-card__desc{
	margin:0;
	color:var(--ink-3);
	font-size:14px;
	line-height:1.65;
}

/* ============================================================
   Training landing (/training/ default, no test param)
   ============================================================ */
.k-training-landing {
	max-width: 1200px;
	margin-inline: auto;
	padding: 28px 24px 64px;
}
.k-training-landing__inner { display: grid; gap: 36px; }

.k-training-landing__stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	padding: 22px;
	background: var(--bg-elev);
	border: 1px solid var(--rule);
	border-radius: 16px;
	box-shadow: var(--shadow-sm);
	position: relative;
	overflow: hidden;
}
.k-training-landing__stats::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, var(--accent-soft) 0%, transparent 55%);
	opacity: 0.6;
	pointer-events: none;
}
.k-training-landing__stat {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 8px 14px;
	border-inline-start: 2px solid var(--accent-line);
}
.k-training-landing__stat:first-child { border-inline-start: none; }
.k-training-landing__stat-num {
	font-family: var(--ff-arabic-display);
	font-size: 34px;
	font-weight: 800;
	color: var(--ink);
	line-height: 1;
	font-variant-numeric: tabular-nums;
}
.k-training-landing__stat-num small {
	font-size: 16px;
	font-weight: 600;
	color: var(--ink-3);
	margin-inline-start: 2px;
}
.k-training-landing__stat-lbl {
	color: var(--ink-3);
	font-size: 12px;
	font-family: var(--ff-mono);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.k-training-landing__head { display: grid; gap: 8px; }
.k-training-landing__sub {
	margin: 0;
	color: var(--ink-3);
	font-size: 15px;
	line-height: 1.65;
}

.k-training-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 18px;
}
.k-training-card--rich {
	display: grid;
	grid-template-rows: auto auto 1fr auto auto;
	gap: 14px;
	padding: 24px;
	background: var(--bg-elev);
	border: 1px solid var(--rule);
	border-radius: 16px;
	box-shadow: var(--shadow-sm);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
	position: relative;
	overflow: hidden;
}
.k-training-card--rich::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 100% 0%, var(--accent-soft) 0%, transparent 60%);
	opacity: 0;
	transition: opacity 0.25s ease;
	pointer-events: none;
}
.k-training-card--rich.is-available:hover {
	transform: translateY(-3px);
	border-color: var(--accent-line);
	box-shadow: 0 4px 0 rgba(0, 0, 0, 0.04), 0 22px 38px -22px rgba(0, 0, 0, 0.35);
}
.k-training-card--rich.is-available:hover::before { opacity: 1; }
.k-training-card--rich.is-soon { opacity: 0.78; }

.k-training-card__top {
	position: relative;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}
.k-training-card--rich .k-training-card__icon {
	width: 52px;
	height: 52px;
	padding: 11px;
	color: var(--accent);
	background: var(--accent-soft);
	border-radius: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.k-training-card__tags {
	display: inline-flex;
	gap: 6px;
	flex-wrap: wrap;
	align-items: center;
}
.k-training-card__level,
.k-training-card__soon {
	font-family: var(--ff-mono);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.05em;
	padding: 4px 10px;
	border-radius: 999px;
	text-transform: uppercase;
}
.k-training-card__level {
	background: var(--accent-soft);
	color: var(--accent);
}
.k-training-card__soon {
	background: color-mix(in oklab, var(--ink-3) 18%, transparent);
	color: var(--ink-2);
}
.k-training-card--rich .k-training-card__title {
	position: relative;
	margin: 0;
	font-family: var(--ff-arabic-display);
	font-size: 21px;
	font-weight: 700;
	color: var(--ink);
	line-height: 1.3;
	text-wrap: balance;
}
.k-training-card--rich .k-training-card__desc {
	position: relative;
	margin: 0;
	color: var(--ink-2);
	font-size: 14.5px;
	line-height: 1.7;
}
.k-training-card__stats {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 12px 16px;
	padding-top: 14px;
	border-top: 1px solid var(--rule);
	color: var(--ink-3);
	font-size: 12.5px;
	font-family: var(--ff-mono);
}
.k-training-card__stat {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.k-training-card__stat .k-icon { opacity: 0.7; }
.k-training-card__cta {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 12px 18px;
	background: var(--accent);
	color: #fff;
	border-radius: 12px;
	font-weight: 700;
	font-size: 14.5px;
	text-decoration: none;
	transition: background 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05), 0 6px 16px -10px rgba(0, 0, 0, 0.5);
}
.k-training-card__cta:hover {
	background: color-mix(in oklab, var(--accent) 88%, #000 12%);
	transform: translateY(-1px);
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06), 0 10px 22px -10px rgba(0, 0, 0, 0.55);
}
.k-training-card__cta--disabled {
	background: color-mix(in oklab, var(--ink-3) 22%, transparent);
	color: var(--ink-2);
	cursor: not-allowed;
	pointer-events: none;
	box-shadow: none;
	justify-content: center;
}

.k-training-landing__note {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 16px 20px;
	background: var(--bg-sunk);
	border: 1px solid var(--rule);
	border-radius: 12px;
	color: var(--ink-3);
	font-size: 13.5px;
	line-height: 1.65;
}
.k-training-landing__note p { margin: 0; }
.k-training-landing__note-ico {
	display: inline-flex;
	color: var(--accent);
	flex-shrink: 0;
	margin-top: 2px;
}

.k-exam-retake__alt {
	display: inline-block;
	margin-inline-start: 14px;
	color: var(--ink-3);
	font-size: 13.5px;
	font-family: var(--ff-mono);
	text-decoration: none;
}
.k-exam-retake__alt:hover { color: var(--accent); }

@media (max-width: 900px) {
	.k-training-landing__stats { grid-template-columns: repeat(2, 1fr); }
	.k-training-landing__stat:nth-child(3) { border-inline-start: none; }
}
@media (max-width: 600px) {
	.k-training-landing { padding: 18px 14px 48px; }
	.k-training-landing__stats { grid-template-columns: 1fr 1fr; padding: 16px; }
	.k-training-landing__stat-num { font-size: 28px; }
	.k-training-cards { grid-template-columns: 1fr; gap: 14px; }
	.k-training-card--rich { padding: 18px; }
}

.k-training{
	max-width:760px;
	margin:32px auto 64px;
	padding:0 24px;
}
.k-training__head{ margin-bottom:18px; }
.k-training__lede{
	margin:6px 0 0;
	color:var(--ink-3);
	font-size:15px;
	line-height:1.6;
}

.k-form{
	display:grid;
	gap:18px;
	background:var(--bg-elev);
	border:1px solid var(--rule);
	border-radius:14px;
	padding:28px;
	box-shadow:var(--shadow-sm);
}
.k-form__row{ display:grid; gap:6px; }
.k-form__grid-2{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
	gap:18px;
}
.k-form__label{
	color:var(--ink);
	font-size:14px;
	font-weight:600;
	font-family:var(--ff-arabic-body);
}
.k-form__req{
	color:var(--v-false);
	margin-inline-start:2px;
}
.k-form__input,
.k-form__select,
.k-form__textarea{
	width:100%;
	padding:10px 12px;
	font:inherit;
	font-size:15px;
	color:var(--ink);
	background:transparent;
	border:1px solid var(--rule-strong);
	border-radius:8px;
	transition:border-color .15s ease, box-shadow .15s ease;
	box-sizing:border-box;
}
.k-form__input:focus,
.k-form__select:focus,
.k-form__textarea:focus{
	outline:none;
	border-color:var(--accent);
	box-shadow:0 0 0 3px var(--accent-soft);
}
.k-form__input[aria-invalid="true"],
.k-form__select[aria-invalid="true"],
.k-form__textarea[aria-invalid="true"]{
	border-color:var(--v-false);
	box-shadow:0 0 0 3px color-mix(in oklab, var(--v-false) 14%, transparent);
}
.k-form__textarea{
	min-height:120px;
	resize:vertical;
	font-family:var(--ff-arabic-body);
	line-height:1.6;
}
.k-form__select{
	appearance:none;
	-webkit-appearance:none;
	background-image:linear-gradient(45deg, transparent 50%, var(--ink-3) 50%),
	                 linear-gradient(135deg, var(--ink-3) 50%, transparent 50%);
	background-position:calc(0% + 14px) calc(50% - 2px), calc(0% + 19px) calc(50% - 2px);
	background-size:5px 5px, 5px 5px;
	background-repeat:no-repeat;
	padding-inline-start:34px;
}
.k-form__fieldset{
	margin:0;
	padding:0;
	border:0;
	display:grid;
	gap:8px;
}
.k-form__checkbox-group{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
	gap:8px 16px;
}
.k-form__checkbox{
	display:flex;
	align-items:center;
	gap:10px;
	color:var(--ink-2);
	font-size:14px;
	line-height:1.4;
	cursor:pointer;
	padding:6px 4px;
	border-radius:6px;
}
.k-form__checkbox input[type="checkbox"]{
	flex:0 0 auto;
	width:16px; height:16px;
	accent-color:var(--accent);
	cursor:pointer;
}
.k-form__checkbox:hover{ color:var(--ink); }
.k-form__row--consent{
	padding:14px 16px;
	border:1px dashed var(--rule-strong);
	border-radius:10px;
	background:color-mix(in oklab, var(--accent) 4%, transparent);
}
.k-form__checkbox--consent{ align-items:flex-start; padding:0; }
.k-form__checkbox--consent span{ font-size:14px; color:var(--ink-2); line-height:1.5; }

.k-form__submit{
	justify-self:start;
	padding:12px 26px;
	font:inherit;
	font-weight:700;
	font-size:15px;
	color:var(--on-accent, #fff);
	background:var(--accent);
	border:0;
	border-radius:10px;
	cursor:pointer;
	transition:filter .15s ease, transform .12s ease, box-shadow .15s ease;
	box-shadow:0 1px 0 rgba(0,0,0,.08), 0 8px 18px -12px var(--accent);
}
.k-form__submit:hover{ filter:brightness(1.08); }
.k-form__submit:active{ transform:translateY(1px); }
.k-form__submit:focus-visible{ outline:3px solid var(--accent-line); outline-offset:2px; }

.k-form__hp{
	position:absolute;
	left:-10000px;
	top:auto;
	width:1px; height:1px;
	overflow:hidden;
}

.k-form__success,
.k-form__error{
	border-radius:12px;
	padding:18px 22px;
	font-size:15px;
	line-height:1.6;
}
.k-form__success{
	background:color-mix(in oklab, var(--v-true) 12%, transparent);
	border:1px solid var(--v-true);
	color:var(--v-true);
}
.k-form__success strong{
	display:block;
	font-family:var(--ff-arabic-display);
	font-size:18px;
	margin-bottom:4px;
}
.k-form__success p{ margin:0; color:var(--ink-2); }
.k-form__error{
	background:color-mix(in oklab, var(--v-false) 10%, transparent);
	border:1px solid var(--v-false);
	color:var(--v-false);
	margin-bottom:16px;
	font-weight:600;
}

@media (max-width:540px){
	.k-training-curriculum{ padding:24px 18px 8px; }
	.k-training{ padding:0 18px; margin-block:24px 48px; }
	.k-form{ padding:20px; gap:14px; }
	.k-form__grid-2{ grid-template-columns:1fr; gap:14px; }
	.k-form__submit{ width:100%; justify-self:stretch; text-align:center; }
}

/* ============================================================
   OSINT basic exam (page-training.php → exam mode)
   ============================================================ */

.k-exam-form{ gap:22px; }

.k-exam-questions{
	list-style:none;
	margin:6px 0 0;
	padding:0;
	display:grid;
	gap:14px;
}
.k-exam-question{
	background:color-mix(in oklab, var(--bg-elev) 60%, transparent);
	border:1px solid var(--rule);
	border-radius:12px;
	padding:18px 20px;
}
.k-exam-question__inner{
	margin:0;
	padding:0;
	border:0;
	display:grid;
	gap:12px;
}
.k-exam-question__legend{
	display:flex;
	align-items:flex-start;
	gap:12px;
	font-family:var(--ff-arabic-display);
	font-size:16px;
	font-weight:700;
	color:var(--ink);
	line-height:1.5;
}
.k-exam-question__num{
	flex:0 0 auto;
	min-width:30px; height:30px;
	display:inline-flex;
	align-items:center; justify-content:center;
	padding:0 8px;
	background:var(--accent-soft);
	color:var(--accent);
	border-radius:999px;
	font-family:var(--ff-mono);
	font-size:13px;
	font-weight:700;
	letter-spacing:.02em;
}
.k-exam-question__q{ flex:1 1 auto; }

.k-exam-options{
	list-style:none;
	margin:0;
	padding:0;
	display:grid;
	gap:6px;
}
.k-exam-option{ display:block; }
.k-exam-option__label{
	display:flex;
	align-items:flex-start;
	gap:10px;
	padding:10px 12px;
	border:1px solid var(--rule);
	border-radius:10px;
	background:var(--bg-elev);
	cursor:pointer;
	transition:border-color .15s ease, background .15s ease;
	color:var(--ink-2);
	font-size:14px;
	line-height:1.55;
}
.k-exam-option__label:hover{
	border-color:var(--accent-line);
	background:color-mix(in oklab, var(--accent) 5%, var(--bg-elev));
	color:var(--ink);
}
.k-exam-option__label input[type="radio"]{
	flex:0 0 auto;
	width:16px; height:16px;
	margin-block-start:3px;
	accent-color:var(--accent);
	cursor:pointer;
}
.k-exam-option__label:has(input:checked){
	border-color:var(--accent);
	background:color-mix(in oklab, var(--accent) 10%, var(--bg-elev));
	color:var(--ink);
}
.k-exam-option__key{
	flex:0 0 auto;
	min-width:22px; height:22px;
	display:inline-flex; align-items:center; justify-content:center;
	background:color-mix(in oklab, var(--ink) 8%, transparent);
	color:var(--ink-2);
	border-radius:6px;
	font-family:var(--ff-mono);
	font-size:12px;
	font-weight:700;
}
.k-exam-option__text{ flex:1 1 auto; }

/* ---- Result state ---- */

.k-exam-result{
	border-radius:18px;
	padding:28px 24px;
	text-align:center;
	border:1px solid var(--rule);
	background:var(--bg-elev);
	box-shadow:var(--shadow-sm);
	margin-block-end:24px;
}
.k-exam-result--pass{
	background:color-mix(in oklab, var(--v-true) 8%, var(--bg-elev));
	border-color:var(--v-true);
}
.k-exam-result--fail{
	background:color-mix(in oklab, var(--v-false) 6%, var(--bg-elev));
	border-color:var(--v-false);
}
.k-exam-result__badge{
	display:inline-block;
	padding:5px 14px;
	border-radius:999px;
	font-family:var(--ff-mono);
	font-size:12px;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:#fff;
	background:var(--ink-3);
	margin-bottom:14px;
}
.k-exam-result--pass .k-exam-result__badge{ background:var(--v-true); }
.k-exam-result--fail .k-exam-result__badge{ background:var(--v-false); }
.k-exam-result__score{
	font-family:var(--ff-arabic-display);
	font-weight:800;
	line-height:1;
	color:var(--ink);
}
.k-exam-result__score-num{ font-size:64px; }
.k-exam-result__score-sep{ font-size:36px; color:var(--ink-3); margin:0 6px; }
.k-exam-result__score-tot{ font-size:36px; color:var(--ink-3); }
.k-exam-result__pct{
	margin:10px 0 8px;
	color:var(--ink-3);
	font-family:var(--ff-mono);
	font-size:13px;
	letter-spacing:.04em;
}
.k-exam-result__msg{
	margin:0;
	color:var(--ink-2);
	font-size:15px;
	line-height:1.65;
	max-width:560px;
	margin-inline:auto;
}

.k-exam-review__head{
	font-family:var(--ff-arabic-display);
	font-size:22px;
	font-weight:800;
	color:var(--ink);
	margin:32px 0 14px;
}

.k-exam-review{
	list-style:none;
	margin:0;
	padding:0;
	display:grid;
	gap:14px;
}
.k-exam-review-item{
	background:var(--bg-elev);
	border:1px solid var(--rule);
	border-inline-start:4px solid var(--ink-3);
	border-radius:12px;
	padding:16px 18px;
}
.k-exam-review-item--correct{ border-inline-start-color:var(--v-true); }
.k-exam-review-item--wrong{   border-inline-start-color:var(--v-false); }
.k-exam-review-item--blank{   border-inline-start-color:var(--v-misleading); }
.k-exam-review-item__head{
	display:flex;
	align-items:flex-start;
	gap:12px;
	margin-bottom:10px;
}
.k-exam-review-item__num{
	flex:0 0 auto;
	min-width:30px; height:30px;
	display:inline-flex;
	align-items:center; justify-content:center;
	padding:0 8px;
	background:var(--accent-soft);
	color:var(--accent);
	border-radius:999px;
	font-family:var(--ff-mono);
	font-size:13px;
	font-weight:700;
}
.k-exam-review-item__q{
	flex:1 1 auto;
	margin:0;
	font-family:var(--ff-arabic-display);
	font-size:16px;
	font-weight:700;
	color:var(--ink);
	line-height:1.5;
}
.k-exam-review-item__mark{
	flex:0 0 auto;
	width:30px; height:30px;
	display:inline-flex; align-items:center; justify-content:center;
	border-radius:999px;
	font-size:18px;
	font-weight:800;
	color:#fff;
	background:var(--ink-3);
}
.k-exam-review-item--correct .k-exam-review-item__mark{ background:var(--v-true); }
.k-exam-review-item--wrong   .k-exam-review-item__mark{ background:var(--v-false); }
.k-exam-review-item--blank   .k-exam-review-item__mark{ background:var(--v-misleading); }

.k-exam-options--review{ gap:6px; }
.k-exam-options--review .k-exam-option{
	border:1px solid var(--rule);
	border-radius:8px;
	padding:8px 12px;
	display:flex;
	align-items:center;
	gap:10px;
	background:var(--bg-elev);
	color:var(--ink-2);
	font-size:14px;
	flex-wrap:wrap;
}
.k-exam-option--correct{
	background:color-mix(in oklab, var(--v-true) 10%, var(--bg-elev));
	border-color:var(--v-true);
	color:var(--ink);
}
.k-exam-option--picked-wrong{
	background:color-mix(in oklab, var(--v-false) 10%, var(--bg-elev));
	border-color:var(--v-false);
	color:var(--ink);
	text-decoration:line-through;
	text-decoration-color:var(--v-false);
	text-decoration-thickness:1px;
}
.k-exam-option--picked-right{
	border-color:var(--v-true);
	background:color-mix(in oklab, var(--v-true) 14%, var(--bg-elev));
}
.k-exam-option__tag{
	display:inline-block;
	margin-inline-start:auto;
	padding:2px 8px;
	font-family:var(--ff-mono);
	font-size:11px;
	font-weight:700;
	letter-spacing:.04em;
	color:var(--ink-3);
	background:color-mix(in oklab, var(--ink) 6%, transparent);
	border-radius:999px;
}
.k-exam-option__tag--correct{
	color:#fff;
	background:var(--v-true);
}

.k-exam-review-item__why{
	margin:12px 0 0;
	padding:10px 14px;
	background:color-mix(in oklab, var(--accent) 5%, transparent);
	border-radius:8px;
	color:var(--ink-2);
	font-size:14px;
	line-height:1.65;
}
.k-exam-review-item__why strong{ color:var(--accent); margin-inline-end:4px; }

.k-exam-retake{
	margin:28px 0 0;
	text-align:center;
}
.k-exam-retake .k-form__submit{
	display:inline-block;
	text-decoration:none;
}

@media (max-width:540px){
	.k-exam-question{ padding:14px 16px; }
	.k-exam-result{ padding:22px 18px; }
	.k-exam-result__score-num{ font-size:52px; }
	.k-exam-result__score-sep, .k-exam-result__score-tot{ font-size:30px; }
	.k-exam-review-item{ padding:14px; }
	.k-exam-options--review .k-exam-option{ flex-wrap:wrap; }
	.k-exam-option__tag{ margin-inline-start:0; }
}

/* ============================================================
   ABOUT PAGE — cinematic redesign (template-about.php)
   ============================================================ */

/* Shared section heads used across about sections */
.k-about-section__head {
	display: grid;
	gap: 10px;
	margin-bottom: 32px;
	max-width: 720px;
}
.k-about-section__eyebrow {
	font-family: var(--ff-mono);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.18em;
	color: var(--accent);
	text-transform: uppercase;
}
.k-about-section__title {
	font-family: var(--ff-arabic-display);
	font-size: clamp(28px, 3.6vw, 42px);
	font-weight: 800;
	color: var(--ink);
	line-height: 1.15;
	margin: 0;
	text-wrap: balance;
}
.k-about-section__sub {
	margin: 4px 0 0;
	color: var(--ink-2);
	font-size: 16px;
	line-height: 1.7;
	text-wrap: pretty;
}

/* 1. HERO ----------------------------------------------------- */
.k-about-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(56px, 8vw, 104px) 48px clamp(64px, 9vw, 120px);
	background: var(--bg);
	isolation: isolate;
}
/* crisp full-bleed column guides — editorial structure, not glow */
.k-about-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: linear-gradient(to right, var(--rule) 1px, transparent 1px);
	background-size: clamp(140px, 17vw, 232px) 100%;
	-webkit-mask-image: linear-gradient(to bottom, transparent, #000 14%, #000 86%, transparent);
	mask-image: linear-gradient(to bottom, transparent, #000 14%, #000 86%, transparent);
	opacity: 0;
}
/* fine paper grain — print texture */
.k-about-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	opacity: 0.04;
	mix-blend-mode: multiply;
	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='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
[data-theme="dark"] .k-about-hero::after { opacity: 0.06; mix-blend-mode: screen; }
.k-about-hero__inner {
	max-width: var(--k-max);
	margin-inline: auto;
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(32px, 5vw, 80px);
	align-items: center;
	padding-block: clamp(40px, 5vw, 72px);
	border-block: 1px solid var(--rule-strong);
}
.k-about-hero__lead {
	display: grid;
	gap: clamp(14px, 1.6vw, 20px);
	align-content: center;
}
.k-about-hero__intro {
	display: grid;
	gap: clamp(20px, 2.4vw, 28px);
	border-inline-start: 1px solid var(--rule-strong);
	padding-inline-start: clamp(32px, 5vw, 80px);
}
.k-about-hero__standards {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
}
.k-about-hero__standards li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--ff-arabic-body);
	font-size: 13.5px;
	font-weight: 600;
	color: var(--ink-2);
}
.k-about-hero__standards li::before {
	content: "";
	inline-size: 6px;
	block-size: 6px;
	border-radius: 50%;
	background: var(--accent);
	flex: none;
}
@media (max-width: 860px) {
	.k-about-hero__inner { grid-template-columns: 1fr; gap: clamp(22px, 5vw, 32px); }
	.k-about-hero__intro {
		border-inline-start: 0;
		padding-inline-start: 0;
		border-block-start: 1px solid var(--rule-strong);
		padding-block-start: clamp(22px, 5vw, 32px);
	}
}
.k-about-hero__masthead {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}
.k-about-hero__index {
	font-family: var(--ff-mono);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink-3);
}
.k-about-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--ff-arabic-body);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0;
	color: var(--ink-2);
}
.k-about-hero__dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--accent);
	box-shadow: 0 0 0 4px color-mix(in oklab, var(--accent) 22%, transparent);
}
.k-about-hero__eyebrow-sep { opacity: 0.4; }
@keyframes k-about-pulse {
	0%, 100% { box-shadow: 0 0 0 4px color-mix(in oklab, var(--accent) 22%, transparent); }
	50%      { box-shadow: 0 0 0 8px color-mix(in oklab, var(--accent) 8%, transparent); }
}
.k-about-hero__title {
	font-family: var(--ff-arabic-display);
	font-size: clamp(30px, 4.6vw, 56px);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.02em;
	margin: 0;
	color: var(--ink);
	display: grid;
	gap: 8px;
	position: relative;
	padding-inline-start: clamp(18px, 2vw, 28px);
}
.k-about-hero__title::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	top: 0.12em;
	bottom: 0.12em;
	width: 5px;
	background: var(--accent);
}
.k-about-hero__title-line { display: block; }
.k-about-hero__title-em {
	color: var(--accent-fg);
}
.k-about-hero__deck {
	max-width: 640px;
	margin: 0;
	font-size: clamp(17px, 1.6vw, 21px);
	line-height: 1.7;
	color: var(--ink-2);
	text-wrap: pretty;
}
.k-about-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 4px;
}
.k-about-hero__chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 16px;
	background: var(--bg-elev);
	border: 1px solid var(--rule);
	border-radius: 999px;
	font-size: 13.5px;
	color: var(--ink-2);
	font-weight: 500;
}
.k-about-hero__chip .k-icon { color: var(--accent); }
.k-about-hero__scroll {
	margin-top: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--bg-elev);
	border: 1px solid var(--rule);
	color: var(--ink-2);
	text-decoration: none;
}
.k-about-hero__scroll:hover {
	background: var(--accent-soft);
	color: var(--accent);
	border-color: var(--accent-line);
}
@keyframes k-about-bounce {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(6px); }
}

/* 2. STATS STRIP --------------------------------------------- */
.k-about-stats {
	padding: 0 48px;
	margin-top: -44px;
	position: relative;
	z-index: 2;
}
.k-about-stats__inner {
	max-width: var(--k-max);
	margin-inline: auto;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	background: var(--bg-elev);
	border: 1px solid var(--rule);
	border-radius: 20px;
	box-shadow: 0 4px 0 rgba(0, 0, 0, 0.04), 0 30px 60px -30px rgba(0, 0, 0, 0.25);
	overflow: hidden;
}
.k-about-stat {
	position: relative;
	display: grid;
	gap: 6px;
	padding: 28px 28px 28px 32px;
	border-inline-start: 1px solid var(--rule);
}
.k-about-stat:first-child { border-inline-start: none; }
.k-about-stat::before {
	content: "";
	position: absolute;
	top: 0;
	inset-inline-start: 0;
	width: 100%;
	height: 3px;
	background: linear-gradient(90deg, var(--accent) 0%, transparent 60%);
	opacity: 0;
	transition: opacity 0.25s ease;
}
.k-about-stat:hover::before { opacity: 1; }
.k-about-stat__num {
	font-family: var(--ff-arabic-display);
	font-size: clamp(36px, 4vw, 52px);
	font-weight: 800;
	color: var(--ink);
	line-height: 1;
	font-variant-numeric: tabular-nums;
}
.k-about-stat__num small,
.k-about-stat__sup {
	font-size: 0.5em;
	font-weight: 600;
	color: var(--accent);
	margin-inline-start: 2px;
	vertical-align: super;
}
.k-about-stat__lbl {
	font-size: 14.5px;
	font-weight: 600;
	color: var(--ink);
	margin-top: 6px;
}
.k-about-stat__sub {
	font-family: var(--ff-mono);
	font-size: 11.5px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--ink-3);
}

/* 3. MANIFESTO ----------------------------------------------- */
.k-about-manifesto {
	padding: clamp(60px, 8vw, 110px) 48px;
	background: var(--bg);
	scroll-margin-top: 80px;
}
.k-about-manifesto__inner {
	max-width: 920px;
	margin-inline: auto;
	position: relative;
	padding-inline-start: 80px;
}
.k-about-manifesto__mark {
	position: absolute;
	top: -30px;
	inset-inline-start: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 160px;
	line-height: 1;
	color: color-mix(in oklab, var(--accent) 30%, transparent);
	font-weight: 700;
	user-select: none;
}
.k-about-manifesto__text {
	font-family: var(--ff-arabic-display);
	font-size: clamp(22px, 2.6vw, 32px);
	font-weight: 500;
	line-height: 1.55;
	color: var(--ink);
	margin: 0 0 18px;
	text-wrap: pretty;
}
.k-about-manifesto__text em {
	font-style: normal;
	background: linear-gradient(180deg, transparent 60%, color-mix(in oklab, var(--accent) 28%, transparent) 60%);
	padding: 0 2px;
}
.k-about-manifesto__sig {
	display: block;
	font-family: var(--ff-mono);
	font-size: 13px;
	color: var(--ink-3);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* 4. MISSION & VISION ---------------------------------------- */
.k-about-mv {
	padding: clamp(60px, 8vw, 100px) 48px;
	background: var(--bg-sunk);
}
.k-about-mv__inner {
	max-width: var(--k-max);
	margin-inline: auto;
}
.k-about-mv__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}
.k-about-mv-card {
	position: relative;
	overflow: hidden;
	display: grid;
	gap: 14px;
	padding: 36px;
	background: var(--bg-elev);
	border: 1px solid var(--rule);
	border-radius: 18px;
	transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}
.k-about-mv-card:hover {
	transform: translateY(-3px);
	border-color: var(--accent-line);
	box-shadow: 0 4px 0 rgba(0, 0, 0, 0.04), 0 28px 50px -28px rgba(0, 0, 0, 0.35);
}
.k-about-mv-card__index {
	display: none;
	position: absolute;
	top: -20px;
	inset-inline-end: -10px;
	font-family: var(--ff-arabic-display);
	font-size: 180px;
	font-weight: 900;
	color: color-mix(in oklab, var(--accent) 7%, transparent);
	line-height: 1;
	pointer-events: none;
	user-select: none;
}
.k-about-mv-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	background: var(--accent-soft);
	color: var(--accent);
	border-radius: 14px;
	margin-bottom: 4px;
}
.k-about-mv-card__eyebrow {
	font-family: var(--ff-mono);
	font-size: 11.5px;
	font-weight: 700;
	color: var(--accent);
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.k-about-mv-card__title {
	margin: 0;
	font-family: var(--ff-arabic-display);
	font-size: 24px;
	font-weight: 700;
	color: var(--ink);
	line-height: 1.3;
	text-wrap: balance;
}
.k-about-mv-card__body {
	margin: 0;
	color: var(--ink-2);
	font-size: 15.5px;
	line-height: 1.75;
}

/* 5. VALUES -------------------------------------------------- */
.k-about-values {
	padding: clamp(60px, 8vw, 100px) 48px;
	background: var(--bg);
}
.k-about-values__inner {
	max-width: var(--k-max);
	margin-inline: auto;
}
.k-about-values__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}
.k-about-value {
	position: relative;
	display: grid;
	gap: 12px;
	padding: 28px 24px 26px;
	background: var(--bg-elev);
	border: 1px solid var(--rule);
	border-radius: 16px;
	border-top: 3px solid var(--accent);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.k-about-value:hover {
	transform: translateY(-3px);
	box-shadow: 0 4px 0 rgba(0, 0, 0, 0.04), 0 22px 40px -22px rgba(0, 0, 0, 0.3);
}
.k-about-value__num {
	font-family: var(--ff-mono);
	font-size: 12px;
	font-weight: 700;
	color: var(--accent);
	letter-spacing: 0.14em;
}
.k-about-value__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	background: var(--accent-soft);
	color: var(--accent);
	border-radius: 12px;
}
.k-about-value__title {
	margin: 0;
	font-family: var(--ff-arabic-display);
	font-size: 20px;
	font-weight: 700;
	color: var(--ink);
	line-height: 1.3;
}
.k-about-value__body {
	margin: 0;
	color: var(--ink-2);
	font-size: 14.5px;
	line-height: 1.7;
}

/* 6. PROCESS TIMELINE ---------------------------------------- */
.k-about-process {
	padding: clamp(60px, 8vw, 100px) 48px;
	background: var(--bg-sunk);
}
.k-about-process__inner {
	max-width: var(--k-max);
	margin-inline: auto;
}
.k-about-process__timeline {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	position: relative;
}
.k-about-process__timeline::before {
	content: "";
	position: absolute;
	top: 60px;
	inset-inline-start: 5%;
	width: 90%;
	height: 2px;
	background: linear-gradient(90deg, var(--accent) 0%, var(--accent-line) 100%);
	opacity: 0.45;
	z-index: 0;
}
.k-about-process__step {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 10px;
	padding: 24px;
	background: var(--bg-elev);
	border: 1px solid var(--rule);
	border-radius: 16px;
	transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}
.k-about-process__step:hover {
	transform: translateY(-3px);
	border-color: var(--accent-line);
	box-shadow: 0 4px 0 rgba(0, 0, 0, 0.04), 0 22px 40px -22px rgba(0, 0, 0, 0.3);
}
.k-about-process__num {
	position: absolute;
	top: -14px;
	inset-inline-end: 18px;
	font-family: var(--ff-mono);
	font-size: 13px;
	font-weight: 700;
	color: #fff;
	background: var(--accent);
	padding: 4px 10px;
	border-radius: 999px;
	letter-spacing: 0.06em;
}
.k-about-process__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	background: var(--accent-soft);
	color: var(--accent);
	border-radius: 12px;
}
.k-about-process__title {
	margin: 4px 0 0;
	font-family: var(--ff-arabic-display);
	font-size: 17.5px;
	font-weight: 700;
	color: var(--ink);
	line-height: 1.35;
}
.k-about-process__body {
	margin: 0;
	color: var(--ink-2);
	font-size: 14px;
	line-height: 1.65;
}

/* 7. VERDICT SPECTRUM ---------------------------------------- */
.k-about-verdicts {
	padding: clamp(60px, 8vw, 100px) 48px;
	background: var(--bg);
}
.k-about-verdicts__inner {
	max-width: var(--k-max);
	margin-inline: auto;
}
.k-about-verdicts__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
}
.k-about-verdict {
	display: grid;
	gap: 12px;
	padding: 22px;
	background: var(--bg-elev);
	border: 1px solid var(--rule);
	border-radius: 14px;
	transition: transform 0.18s ease, border-color 0.18s ease;
}
.k-about-verdict:hover {
	transform: translateY(-2px);
	border-color: var(--accent-line);
}
.k-about-verdict__pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	padding: 6px 16px;
	border-radius: 999px;
	font-family: var(--ff-arabic-display);
	font-size: 13px;
	font-weight: 700;
}
.k-about-verdict p {
	margin: 0;
	color: var(--ink-2);
	font-size: 14.5px;
	line-height: 1.7;
}
.k-about-verdict--true         .k-about-verdict__pill { background: color-mix(in oklab, var(--v-true-ink, #1b9c85) 16%, transparent);         color: var(--v-true-ink, #1b9c85); }
.k-about-verdict--false        .k-about-verdict__pill { background: color-mix(in oklab, var(--v-false-ink, #c0382b) 16%, transparent);        color: var(--v-false-ink, #c0382b); }
.k-about-verdict--misleading   .k-about-verdict__pill { background: color-mix(in oklab, var(--v-misleading-ink, #b58329) 16%, transparent);   color: var(--v-misleading-ink, #b58329); }
.k-about-verdict--mixed        .k-about-verdict__pill { background: color-mix(in oklab, var(--v-mixed-ink, #6f47b3) 16%, transparent);        color: var(--v-mixed-ink, #6f47b3); }
.k-about-verdict--fabricated   .k-about-verdict__pill { background: color-mix(in oklab, var(--v-fabricated-ink, #1a1a1a) 16%, transparent);   color: var(--v-fabricated-ink, #1a1a1a); }
.k-about-verdict--unverifiable .k-about-verdict__pill { background: color-mix(in oklab, var(--v-unverifiable-ink, #3f6f8e) 16%, transparent); color: var(--v-unverifiable-ink, #3f6f8e); }
.k-about-verdict--news         .k-about-verdict__pill { background: color-mix(in oklab, var(--v-news-ink, #1e6cb3) 16%, transparent);         color: var(--v-news-ink, #1e6cb3); }
.k-about-verdict--aware        .k-about-verdict__pill { background: color-mix(in oklab, var(--v-aware-ink, #4b6b80) 16%, transparent);        color: var(--v-aware-ink, #4b6b80); }

/* 8. POLICY + FUNDING ---------------------------------------- */
.k-about-policy {
	padding: clamp(60px, 8vw, 100px) 48px;
	background: var(--bg);
}
.k-about-policy__inner {
	max-width: var(--k-max);
	margin-inline: auto;
}
.k-about-policy__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
	margin-bottom: 28px;
}
.k-about-policy__card {
	padding: 28px;
	background: var(--bg-elev);
	border: 1px solid var(--rule);
	border-radius: 16px;
}
.k-about-policy__card-title {
	margin: 0 0 12px;
	font-family: var(--ff-arabic-display);
	font-size: 19px;
	font-weight: 700;
	color: var(--ink);
}
.k-about-policy__card p,
.k-about-policy__card ul { color: var(--ink-2); font-size: 14.5px; line-height: 1.75; }
.k-about-policy__card p { margin: 0 0 10px; }
.k-about-policy__card ul { margin: 0; padding-inline-start: 22px; }
.k-about-policy__card li { margin-bottom: 4px; }

.k-about-funding {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
}
.k-about-funding__col {
	padding: 28px;
	background: var(--bg-elev);
	border: 1px solid var(--rule);
	border-radius: 16px;
	position: relative;
}
.k-about-funding__col header {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--rule);
}
.k-about-funding__col header h3 {
	margin: 0;
	font-family: var(--ff-arabic-display);
	font-size: 18px;
	font-weight: 700;
}
.k-about-funding__col--accept {
	border-color: color-mix(in oklab, var(--v-true-ink, #1b9c85) 30%, var(--rule));
}
.k-about-funding__col--accept header { color: var(--v-true-ink, #1b9c85); }
.k-about-funding__col--reject {
	border-color: color-mix(in oklab, var(--v-false-ink, #c0382b) 30%, var(--rule));
}
.k-about-funding__col--reject header { color: var(--v-false-ink, #c0382b); }
.k-about-funding__col ul {
	margin: 0;
	padding-inline-start: 22px;
	color: var(--ink-2);
	font-size: 14.5px;
	line-height: 1.75;
}
.k-about-funding__col li { margin-bottom: 6px; }

/* === New about sections (rebuilt page) ============================== */

/* Conflict of interest — callout band */
.k-about-coi {
	padding: clamp(28px, 5vw, 52px) 48px;
	background: var(--bg);
}
.k-about-coi__inner {
	max-width: var(--k-max);
	margin-inline: auto;
	display: flex;
	gap: 16px;
	align-items: flex-start;
	padding: 24px 28px;
	background: color-mix(in oklab, var(--accent) 5%, var(--bg-elev));
	border: 1px solid var(--accent-line);
	border-radius: 16px;
}
.k-about-coi__icon { color: var(--accent-fg); flex-shrink: 0; margin-top: 1px; }
.k-about-coi__title { margin: 0 0 6px; font-family: var(--ff-arabic-display); font-size: 18px; font-weight: 700; color: var(--ink); }
.k-about-coi__body { margin: 0; color: var(--ink-2); font-size: 14.5px; line-height: 1.75; }

/* Funding structure — story stages */
.k-about-fund-story {
	padding: clamp(60px, 8vw, 100px) 48px;
	background: var(--bg-sunk);
}
.k-about-fund-story__inner { max-width: var(--k-max); margin-inline: auto; }
.k-about-fund-story__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}
.k-about-fund-stage {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 28px;
	background: var(--bg-elev);
	border: 1px solid var(--rule);
	border-top: 3px solid var(--accent-line);
	border-radius: 16px;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.k-about-fund-stage:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.k-about-fund-stage__step {
	font-family: var(--ff-arabic-body);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0;
	color: var(--accent-fg);
}
.k-about-fund-stage__amount {
	font-family: var(--ff-arabic-display);
	font-size: 38px;
	font-weight: 800;
	line-height: 1;
	color: var(--ink);
	direction: ltr;
	text-align: right;
}
.k-about-fund-stage__title {
	margin: 0;
	font-family: var(--ff-arabic-display);
	font-size: 20px;
	font-weight: 700;
	color: var(--ink);
}
.k-about-fund-stage__body { margin: 0; color: var(--ink-2); font-size: 14.5px; line-height: 1.75; }

/* Editorial-independence charter — principle grid */
.k-about-charter {
	padding: clamp(60px, 8vw, 100px) 48px;
	background: var(--bg);
}
.k-about-charter__inner { max-width: var(--k-max); margin-inline: auto; }
.k-about-charter__grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
}
.k-about-charter__item {
	flex: 1 1 300px;
	max-width: calc((100% - 40px) / 3);
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 32px 28px;
	background: var(--bg-elev);
	border: 1px solid var(--rule);
	border-radius: 18px;
	transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.k-about-charter__item:hover { transform: translateY(-3px); border-color: var(--accent-line); box-shadow: var(--shadow-md); }
/* Numbers add no reader value — hidden (spans remain in markup, removed from a11y tree too). */
.k-about-charter__num { display: none; }
.k-about-charter__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 13px;
	background: var(--accent-soft);
	color: var(--accent-fg);
}
.k-about-charter__title {
	margin: 0;
	font-family: var(--ff-arabic-display);
	font-size: 18px;
	font-weight: 700;
	color: var(--ink);
	line-height: 1.4;
}
.k-about-charter__body { margin: 0; color: var(--ink-2); font-size: 14.5px; line-height: 1.75; }
@media (max-width: 1024px) {
	.k-about-charter__item { max-width: calc((100% - 20px) / 2); }
}
@media (max-width: 640px) {
	.k-about-charter__item { max-width: 100%; }
}

/* New about sections — responsive */
@media (max-width: 768px) {
	.k-about-coi,
	.k-about-fund-story,
	.k-about-charter { padding-inline: 20px; }
	.k-about-fund-story__grid { grid-template-columns: 1fr; }
}

/* Dark-mode legibility: lighten foreground accents on the about page */
[data-theme="dark"] .k-about-section__eyebrow,
[data-theme="dark"] .k-about-hero__chip .k-icon,
[data-theme="dark"] .k-about-mv-card__eyebrow,
[data-theme="dark"] .k-about-mv-card__icon { color: var(--accent-fg); }

/* About — responsive */
@media (max-width: 1024px) {
	.k-about-values__grid { grid-template-columns: repeat(2, 1fr); }
	.k-about-process__timeline { grid-template-columns: repeat(2, 1fr); }
	.k-about-process__timeline::before { display: none; }
	.k-about-verdicts__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
	.k-about-hero,
	.k-about-stats,
	.k-about-manifesto,
	.k-about-mv,
	.k-about-values,
	.k-about-process,
	.k-about-verdicts,
	.k-about-policy { padding-inline: 20px; }
	.k-about-stats__inner { grid-template-columns: repeat(2, 1fr); }
	.k-about-stat { padding: 22px 20px; }
	.k-about-stat:nth-child(3) { border-inline-start: none; }
	.k-about-stat:nth-child(odd) { border-top: 1px solid var(--rule); }
	.k-about-stats__inner > .k-about-stat:nth-child(1),
	.k-about-stats__inner > .k-about-stat:nth-child(2) { border-top: none; }
	.k-about-mv__grid { grid-template-columns: 1fr; }
	.k-about-mv-card { padding: 28px; }
	.k-about-mv-card__index { font-size: 130px; }
	.k-about-manifesto__inner { padding-inline-start: 40px; }
	.k-about-manifesto__mark { font-size: 90px; top: -20px; }
	.k-about-policy__grid,
	.k-about-funding { grid-template-columns: 1fr; }
}
@media (max-width: 540px) {
	.k-about-values__grid,
	.k-about-verdicts__grid,
	.k-about-process__timeline { grid-template-columns: 1fr; }
	.k-about-hero__chip { font-size: 12.5px; padding: 7px 12px; }
	.k-about-stat__num { font-size: 32px; }
}

/* =====================================================================
   Investigations & Articles — CPT `investigation`. Single-page styling is
   unified with the news article (.k-art-*) via single-investigation.php +
   b-investigation-header.php. This section only owns the homepage block,
   archive page, and shared card design.
   ===================================================================== */

/* Shared card design — used by homepage block, archive page, and any other
   investigation-CPT card surfaces. */
.k-inv-card {
	padding: 18px;
	border-radius: 16px;
	border: 1px solid var(--rule);
	background: var(--bg-elev);
	display: flex;
	flex-direction: column;
	gap: 14px;
	transition: transform 140ms ease, box-shadow 140ms ease;
}
.k-inv-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }
.k-inv-card__media {
	aspect-ratio: 16/10;
	border-radius: 10px;
	overflow: hidden;
	display: block;
	position: relative;
}
.k-inv-card__media img {
	width: 100%; height: 100%; object-fit: cover; display: block;
}
.k-inv-card__title {
	font-family: var(--ff-arabic-display);
	font-size: 18px;
	line-height: 1.4;
	font-weight: 700;
	text-wrap: balance;
	margin: 0;
}
.k-inv-card__title a { color: inherit; }
.k-inv-card__dek {
	font-size: 14px;
	line-height: 1.6;
	color: var(--ink-2);
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.k-inv-card__foot {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: auto;
}
.k-inv-card__date {
	font-family: var(--ff-mono);
	font-size: 11px;
	color: var(--ink-3);
}
.k-inv-card__read {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 12px;
	color: var(--accent-fg);
	font-weight: 600;
	text-decoration: none;
}
.k-inv-card__read:hover { text-decoration: underline; }

/* Homepage block "أحدث التحقيقات" */
.k-inv-section {
	padding: 52px 48px;
}
.k-inv-section__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}
.k-inv-section__all {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 13px;
	color: var(--accent-fg);
	font-weight: 600;
	text-decoration: none;
}
.k-inv-section__all:hover { text-decoration: underline; }

/* Archive page /investigations/ */
.k-inv-archive {
	padding: 52px 48px 80px;
	max-width: 1240px;
	margin: 0 auto;
}
.k-inv-archive__head {
	text-align: center;
	margin-bottom: 36px;
	display: block;
}
.k-inv-archive__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
	row-gap: 28px;
}
.k-inv-archive__nav { margin-top: 36px; text-align: center; }
.k-inv-archive__empty {
	text-align: center;
	color: var(--ink-3);
	padding: 80px 20px;
}

@media (max-width: 880px) {
	.k-inv-section__grid,
	.k-inv-archive__grid { grid-template-columns: 1fr; }
	.k-inv-section { padding: 28px 16px; }
	.k-inv-archive { padding: 28px 16px 60px; }
}

/* =====================================================================
   Scroll-to-top button — fixed at bottom inline-end (bottom-left in RTL,
   bottom-right in EN). Hidden until the page is scrolled past ~600px;
   assets/js/scroll-top.js toggles .is-visible.
   ===================================================================== */
.k-scroll-top {
	position: fixed;
	bottom: 22px;
	inset-inline-end: 22px;
	z-index: 70;
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: var(--accent);
	color: #fff;
	cursor: pointer;
	box-shadow: var(--shadow-md);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity 180ms ease, transform 180ms ease, visibility 0s linear 180ms;
}
.k-scroll-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition: opacity 180ms ease, transform 180ms ease, visibility 0s;
}
.k-scroll-top.is-visible:hover { transform: translateY(-2px); }
.k-scroll-top:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
@media (max-width: 768px) {
	.k-scroll-top { bottom: 16px; inset-inline-end: 16px; width: 40px; height: 40px; }
}

