/* ==========================================================================
   UN-Habitat Mongolia — components and interaction layer.
   Loaded after style.css (tokens live there). Works on Avada's markup; the
   home page sections carry unh-* classes set in its content
   (scripts/content/home-2014.txt). The only numbered row hooks left are
   .fusion-builder-row-1/2 of the Global Header layout (post 1970).
   ========================================================================== */

html:root {
	--c-navy: #062b45;           /* 14.59:1 with white — dark sections, footer */
	--c-rule: #d5dee5;           /* decorative rules only */
	--ease-out: cubic-bezier(0.22, 1, 0.36, 1);
	--dur-1: 160ms;
	--dur-2: 320ms;
	--dur-3: 700ms;
	--header-h: 96px;            /* updated by js/interactive.js */
	--logo-h: clamp(72px, 2.5rem + 4.2vw, 100px); /* 72 on phones → 100 at 1440 */
}

/* Smooth cross-page navigation (Chromium; others simply navigate). */
@view-transition {
	navigation: auto;
}

/* Avada's per-column fade/slide-ins are the "every section fades in"
   template tell; content is shown at once instead (DESIGN-PLAN D-O4). */
.fusion-animated,
[data-animationtype],
.fusion-delayed-animation .post-card {
	visibility: visible !important;
	opacity: 1 !important;
	animation: none !important;
}

::selection {
	background: var(--c-brand);
	color: var(--c-ink);
}

/* ==========================================================================
   Header — sticky, compacts on scroll, hides while reading down
   ========================================================================== */

.fusion-tb-header {
	position: sticky;
	top: 0;
	z-index: 10010; /* above Avada's positioned content columns */
	border-top: 4px solid var(--c-brand);
	background-color: var(--c-surface) !important; /* Avada sets it transparent */
	transition: transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2) ease;
}

/* The decorative top strip is replaced by the header's brand border. */
.fusion-tb-header .fusion-builder-row-1 {
	display: none !important;
}

.fusion-tb-header .fusion-builder-row-2 {
	padding-top: var(--sp-4) !important;
	padding-bottom: var(--sp-4) !important;
	transition: padding var(--dur-2) var(--ease-out);
}

.fusion-tb-header .fusion-builder-row-2 .fusion-standard-logo,
.fusion-tb-header .fusion-builder-row-2 .fusion-sticky-logo {
	width: auto !important;
	height: var(--logo-h) !important;
	max-height: none;
	transition: height var(--dur-2) var(--ease-out);
}

.fusion-tb-header .fusion-sticky-logo {
	display: none !important;
}

.is-scrolled .fusion-tb-header {
	--logo-h: 60px;
	box-shadow: 0 1px 0 var(--c-rule);
}

.is-scrolled .fusion-tb-header .fusion-builder-row-2 {
	padding-top: var(--sp-2) !important;
	padding-bottom: var(--sp-2) !important;
}

.header-hidden .fusion-tb-header {
	transform: translateY(-100%);
}

/* Desktop navigation: sentence case, underline that grows from the left. */
.fusion-tb-header .awb-menu__main-a .menu-text,
.fusion-tb-header .awb-menu__sub-a span {
	display: inline-block !important;
	text-transform: lowercase;
}

.awb-menu__main-a .menu-text::first-letter,
.awb-menu__sub-a span::first-letter {
	text-transform: uppercase;
}

/* "ТХЗ 17" is an abbreviation; keep it as written. */
#menu-item-638 .awb-menu__sub-a span {
	text-transform: none;
}

.fusion-tb-header .awb-menu__sub-a .unh-sub__desc {
	text-transform: none !important;
}

@media (min-width: 1025px) {
	/* Larger, more open navigation to balance the bigger logo. */
	.fusion-tb-header .awb-menu {
		--awb-font-size: clamp(1.125rem, 0.9rem + 0.35vw, 1.25rem) !important; /* 18 → 20 */
		--awb-gap: clamp(1.5rem, 0.5rem + 2vw, 2.75rem) !important;
	}

	.awb-menu__main-a {
		position: relative;
		font-weight: 500 !important;
		letter-spacing: -0.005em;
	}

	.fusion-tb-header .fusion-button {
		min-height: 52px;
		padding: 0 var(--sp-6) !important;
		font-size: 1.0625rem !important;
		font-weight: 500 !important;
	}

	.awb-menu__main-a::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: -6px;
		height: 2px;
		background: var(--c-brand-deep);
		transform: scaleX(0);
		transform-origin: left;
		transition: transform var(--dur-2) var(--ease-out);
	}

	.awb-menu__main-a:hover::after,
	.awb-menu__main-a:focus-visible::after,
	.current-menu-item > .awb-menu__main-a::after,
	.current-menu-ancestor > .awb-menu__main-a::after {
		transform: scaleX(1);
	}

	.awb-menu__main-li > .awb-menu__main-a:hover {
		color: var(--c-brand-deep) !important;
	}

	/* Submenu: flat panel with a brand rule, slides down a little. */
	.awb-menu__sub-ul {
		border-radius: 0 !important;
		border-top: 3px solid var(--c-brand) !important;
		box-shadow: 0 12px 32px rgb(6 43 69 / 0.12) !important;
		min-width: 220px;
	}

	.awb-menu__sub-a {
		transition: background-color var(--dur-1) ease, padding-left var(--dur-2) var(--ease-out);
	}

	.awb-menu__sub-a:hover,
	.awb-menu__sub-a:focus-visible {
		background: var(--c-surface-alt) !important;
		color: var(--c-brand-deep) !important;
		padding-left: calc(var(--sp-5) + 4px) !important;
	}
}

/* Header CTA: solid brand-deep instead of the pale grey chip. */
.fusion-tb-header .fusion-button {
	--button_gradient_top_color: var(--c-brand-deep) !important;
	--button_gradient_bottom_color: var(--c-brand-deep) !important;
	--button_gradient_top_color_hover: var(--c-brand-deep-hover) !important;
	--button_gradient_bottom_color_hover: var(--c-brand-deep-hover) !important;
	--button_accent_color: var(--c-surface) !important;
	--button_accent_hover_color: var(--c-surface) !important;
	--button_border_color: transparent !important;
	--button_border_hover_color: transparent !important;
}

/* ==========================================================================
   Header identity: utility bar, logo lockup, sliding nav indicator,
   described dropdown (functions.php, js/interactive.js)
   ========================================================================== */

.unh-topbar {
	position: relative;
	z-index: 10012;
	background: var(--c-navy);
	color: rgb(255 255 255 / 0.85);
	font-size: 0.875rem;
	line-height: 1.3;
}

.unh-topbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--sp-5);
	width: min(1200px, calc(100% - 60px)); /* matches Avada's row and 30px gutter */
	min-height: 40px;
	margin: 0 auto;
}

.unh-topbar__org {
	margin: 0;
	font-weight: 500;
}

.unh-topbar__links {
	display: flex;
	align-items: center;
	gap: var(--sp-1);
	margin: 0;
	padding: 0;
	list-style: none;
}

.unh-topbar__links a {
	display: inline-flex;
	align-items: center;
	gap: var(--sp-2);
	min-height: 40px;
	padding: 0 var(--sp-3);
	color: rgb(255 255 255 / 0.85);
	text-decoration: none;
	font-variant-numeric: tabular-nums;
	transition: color var(--dur-1) ease, background-color var(--dur-1) ease;
}

.unh-topbar__links a:hover,
.unh-topbar__links a:focus-visible {
	color: var(--c-surface);
	background: rgb(255 255 255 / 0.08);
}

.unh-topbar__links a:focus-visible {
	outline-color: var(--c-surface) !important;
	outline-offset: -3px !important;
}

.unh-topbar .unh-contact__icon {
	width: 18px;
	height: 18px;
	padding: 0;
	background: none;
	color: var(--c-brand);
}

/* The header's own brand rule now sits under the utility bar. */
.fusion-tb-header {
	border-top-width: 3px !important;
}

/* Logo lockup: divider + programme name beside the emblem. The logo column
   grows to fit it instead of clipping. */
.fusion-tb-header .fusion-layout-column:has(.unh-lockup) {
	width: auto !important;
	flex: 0 0 auto !important;
}

.fusion-tb-header .fusion-layout-column:has(.unh-lockup) :is(.fusion-column-wrapper, .fusion-image-element, .fusion-imageframe) {
	overflow: visible !important;
	max-width: none !important;
}

/* Keep logo, menu and button on one row: the menu column takes the space
   left over and pushes itself (and the button) to the right. */
.fusion-tb-header .fusion-builder-row-2 > .fusion-row {
	flex-wrap: nowrap !important;
	align-items: center !important;
}

.fusion-tb-header .fusion-builder-row-2 .fusion-layout-column:has(.awb-menu) {
	width: auto !important;
	flex: 1 1 auto !important;
	min-width: 0;
}

.fusion-tb-header .fusion-builder-row-2 .fusion-layout-column:has(.awb-menu) > .fusion-column-wrapper {
	align-items: flex-end !important;
}

.fusion-tb-header .fusion-builder-row-2 .fusion-layout-column:has(.fusion-button) {
	width: auto !important;
	flex: 0 0 auto !important;
	margin-left: var(--sp-6) !important;
}
.fusion-tb-header .fusion-image-element a:has(.unh-lockup) {
	display: inline-flex !important;
	align-items: center;
	gap: var(--sp-5);
	text-decoration: none;
}

.unh-lockup {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-left: var(--sp-5);
	border-left: 2px solid var(--c-brand);
	line-height: 1.15;
	white-space: nowrap;
	transition: opacity var(--dur-2) ease;
}

.unh-lockup__name {
	color: var(--c-ink);
	font-size: 1.375rem;
	font-weight: 700;
	letter-spacing: -0.01em;
}

.unh-lockup__sub {
	margin-top: 4px;
	color: var(--c-ink-muted);
	font-size: 0.9375rem;
	font-weight: 500;
}

.is-scrolled .unh-lockup__name {
	font-size: 1.125rem;
}

.is-scrolled .unh-lockup__sub {
	font-size: 0.8125rem;
}

@media (min-width: 1025px) {
	/* One indicator slides between items instead of per-item underlines. */
	.awb-menu.unh-has-indicator .awb-menu__main-a::after {
		content: none;
	}

	.awb-menu.unh-has-indicator .awb-menu__main-ul {
		position: relative;
	}

	.unh-nav-indicator {
		position: absolute;
		left: 0;
		bottom: -2px;
		width: 0;
		height: 3px;
		background: var(--c-brand);
		pointer-events: none;
		transition: transform var(--dur-2) var(--ease-out), width var(--dur-2) var(--ease-out), opacity var(--dur-1) ease;
	}

	.unh-nav-indicator.is-hover {
		background: var(--c-brand-deep);
	}

	.current-menu-item > .awb-menu__main-a,
	.current-menu-ancestor > .awb-menu__main-a {
		color: var(--c-brand-deep) !important;
	}

	/* Described dropdown panel. */
	.fusion-tb-header .awb-menu__sub-ul {
		min-width: 320px !important;
		padding: var(--sp-2) 0 !important;
		background: var(--c-surface) !important;
	}

	.fusion-tb-header .awb-menu__sub-a {
		padding-top: var(--sp-3) !important;
		padding-bottom: var(--sp-3) !important;
		border-left: 3px solid transparent;
	}

	.fusion-tb-header .awb-menu__sub-a:hover,
	.fusion-tb-header .awb-menu__sub-a:focus-visible {
		border-left-color: var(--c-brand);
	}

	.fusion-tb-header .awb-menu__sub-a > span {
		display: inline-block !important;
	}

	.fusion-tb-header .awb-menu__sub-a .unh-sub__title {
		display: block !important;
		color: var(--c-ink);
		font-size: 1.0625rem;
		font-weight: 600;
	}

	.awb-menu__sub-a:hover .unh-sub__title,
	.awb-menu__sub-a:focus-visible .unh-sub__title {
		color: var(--c-brand-deep);
	}

	.fusion-tb-header .awb-menu__sub-a .unh-sub__desc {
		display: block !important;
		margin-top: 2px;
		color: var(--c-ink-muted);
		font-size: 0.875rem;
		font-weight: 400;
	}

	/* CTA with an envelope that nudges on hover. */
	.fusion-tb-header .fusion-button .fusion-button-text {
		display: inline-flex;
		align-items: center;
		gap: var(--sp-2);
	}

	.fusion-tb-header .fusion-button .fusion-button-text::before {
		content: "";
		width: 18px;
		height: 18px;
		background: currentColor;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2zm0 2v.5l8 5 8-5V6H4zm16 2.8-8 5-8-5V18h16V8.8z'/%3E%3C/svg%3E") center / contain no-repeat;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2zm0 2v.5l8 5 8-5V6H4zm16 2.8-8 5-8-5V18h16V8.8z'/%3E%3C/svg%3E") center / contain no-repeat;
		transition: transform var(--dur-2) var(--ease-out);
	}

	.fusion-tb-header .fusion-button:hover .fusion-button-text::before {
		transform: translateY(-2px) rotate(-8deg);
	}

	.fusion-tb-header .fusion-button {
		box-shadow: 0 0 0 0 rgb(0 83 139 / 0.35);
		transition: background-color var(--dur-1) ease, box-shadow var(--dur-2) ease, transform var(--dur-1) ease !important;
	}

	.fusion-tb-header .fusion-button:hover {
		box-shadow: 0 8px 20px -6px rgb(0 83 139 / 0.55);
		transform: translateY(-1px);
	}
}

/* Narrow desktops: keep the lockup to the name only. */
@media (min-width: 1025px) and (max-width: 1240px) {
	.unh-lockup__sub {
		display: none;
	}
}

/* Narrowest desktops: the emblem alone, or the menu wraps to two rows.
   The logo's alt text still names the organisation. */
@media (min-width: 1025px) and (max-width: 1120px) {
	.fusion-tb-header .unh-lockup {
		display: none;
	}
}

@media (max-width: 1024px) {
	.unh-topbar__org {
		display: none;
	}

	.unh-topbar__inner {
		justify-content: flex-end;
	}
}

@media (max-width: 640px) {
	.unh-topbar__links a[href^="mailto:"] span {
		display: none;
	}

	.unh-topbar__inner {
		justify-content: space-between;
	}

	.unh-topbar__links {
		width: 100%;
		justify-content: space-between;
	}

	.unh-lockup {
		gap: 0;
		padding-left: var(--sp-3);
	}

	.fusion-tb-header .fusion-image-element a:has(.unh-lockup) {
		gap: var(--sp-3);
	}

	.unh-lockup__name {
		font-size: 1.0625rem;
	}

	.unh-lockup__sub {
		font-size: 0.75rem;
	}
}

@media (max-width: 420px) {
	.unh-lockup__sub {
		display: none;
	}

	.unh-topbar__inner {
		width: calc(100% - 32px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.unh-nav-indicator {
		transition: none;
	}

	.fusion-tb-header .fusion-button:hover {
		transform: none;
	}
}

/* Contact block injected into the menu by js/interactive.js; mobile only. */
.unh-menu-contact {
	display: none !important;
}

/* ==========================================================================
   Mobile menu (AUDIT M-1): the icon font never loads, so the toggle was
   invisible. Draw the icon in CSS and add a visible label.
   ========================================================================== */

@media (max-width: 1024px) {
	/* The second "Холбоо барих" button pointed at "#"; the real contact
	   link is added to the menu panel by js/interactive.js. */
	.fusion-tb-header .fusion-builder-row-2 .fusion-layout-column:has(.fusion-button) {
		display: none !important;
	}

	.fusion-tb-header .fusion-builder-row-2 > .fusion-row {
		flex-wrap: nowrap !important;
	}

	.awb-menu__m-toggle {
		display: inline-flex !important;
		align-items: center;
		gap: var(--sp-2);
		min-height: 48px;
		padding: 0 var(--sp-3) !important;
		border: 1px solid var(--c-rule) !important;
		border-radius: 2px;
		background: var(--c-surface) !important;
		color: var(--c-ink) !important;
		font: 500 1.125rem/1 var(--font-sans) !important;
	}

	.awb-menu__m-toggle::after {
		content: "Цэс" / "";
		order: 2;
	}

	.awb-menu__m-toggle[aria-expanded="true"]::after {
		content: "Хаах" / "";
	}

	.awb-menu__m-toggle-inner,
	.awb-menu__m-collapse-icon {
		display: inline-flex !important;
		align-items: center;
		width: 20px;
		height: 14px;
		position: relative !important;
	}

	.awb-menu__m-collapse-icon-open,
	.awb-menu__m-collapse-icon-close {
		display: none !important;
	}

	.awb-menu__m-collapse-icon::before,
	.awb-menu__m-collapse-icon::after {
		content: "";
		position: absolute;
		left: 0;
		width: 20px;
		height: 2px;
		background: currentColor;
		transition: transform var(--dur-2) var(--ease-out), box-shadow var(--dur-1) ease;
	}

	.awb-menu__m-collapse-icon::before {
		top: 0;
		box-shadow: 0 6px 0 currentColor;
	}

	.awb-menu__m-collapse-icon::after {
		top: 12px;
	}

	[aria-expanded="true"] .awb-menu__m-collapse-icon::before {
		transform: translateY(6px) rotate(45deg);
		box-shadow: none;
	}

	[aria-expanded="true"] .awb-menu__m-collapse-icon::after {
		transform: translateY(-6px) rotate(-45deg);
	}

	/* Open panel: full screen under the header, white, large targets. */
	.awb-menu.expanded .awb-menu__main-ul {
		position: fixed !important;
		top: var(--header-h) !important;
		left: 0 !important;
		right: 0;
		bottom: 0;
		width: 100% !important;
		height: calc(100dvh - var(--header-h)) !important;
		max-height: none !important;
		overflow-y: auto !important;
		padding: var(--sp-2) 0 var(--sp-7) !important;
		background: var(--c-surface) !important;
		border-top: 1px solid var(--c-rule);
		animation: unh-panel-in var(--dur-2) var(--ease-out);
	}

	.awb-menu.expanded .awb-menu__main-ul > li {
		border-bottom: 1px solid var(--c-rule);
	}

	.awb-menu.expanded .awb-menu__main-a,
	.awb-menu.expanded .awb-menu__sub-a {
		min-height: 56px;
		padding: 0 16px !important;
		font-size: 1.25rem !important;
		font-weight: 500 !important;
		color: var(--c-ink) !important;
		background: transparent !important;
	}

	.awb-menu.expanded .awb-menu__sub-a {
		padding-left: 32px !important;
		font-size: 1.0625rem !important;
	}

	.awb-menu.expanded .current-menu-item > a {
		color: var(--c-brand-deep) !important;
		box-shadow: inset 4px 0 0 var(--c-brand-deep);
	}

	.awb-menu.expanded .awb-menu__main-background-default,
	.awb-menu.expanded .awb-menu__main-background-active {
		display: none !important;
	}

	.unh-menu-contact {
		display: block !important;
		padding: var(--sp-5) 16px 0;
		border-bottom: 0 !important;
	}

	.awb-menu .awb-menu__main-ul .unh-menu-contact a {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 52px;
		padding: 0 16px !important;
		background: var(--c-brand-deep) !important;
		color: var(--c-surface) !important;
		font-size: 1.0625rem !important;
		font-weight: 500;
		text-decoration: none;
	}

	.unh-menu-contact p {
		margin: var(--sp-4) 0 0;
		color: var(--c-ink-muted);
		font-size: var(--fs-small);
	}

	html.menu-open,
	html.menu-open body {
		overflow: hidden;
	}
}

@keyframes unh-panel-in {
	from { opacity: 0; transform: translateY(-8px); }
}

/* ==========================================================================
   Buttons and links
   ========================================================================== */

.fusion-button {
	border-radius: 2px !important;
	transition: background-color var(--dur-1) ease, color var(--dur-1) ease, transform var(--dur-1) ease !important;
}

.fusion-button:active {
	transform: translateY(1px);
}

/* A trailing arrow on content buttons that slides on hover. */
.post-content .fusion-button .fusion-button-text::after {
	content: "→";
	display: inline-block;
	margin-left: 0.5em;
	transition: transform var(--dur-2) var(--ease-out);
}

.fusion-button:hover .fusion-button-text::after,
.fusion-button:focus-visible .fusion-button-text::after {
	transform: translateX(4px);
}

/* Links inside running text: underline that thickens on hover. */
.post-content .fusion-text:not(.post-card .fusion-text) a:not(.fusion-button):not([class*="unh-"]):not(.unh-news a):not(.unh-issues a):not(.unh-project-list a):not(.unh-latest-post a),
.single-post .fusion-content-tb a {
	color: var(--c-brand-deep);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
	transition: text-decoration-thickness var(--dur-1) ease, text-underline-offset var(--dur-1) ease;
}

.post-content .fusion-text:not(.post-card .fusion-text) a:not(.fusion-button):not([class*="unh-"]):not(.unh-news a):not(.unh-issues a):not(.unh-project-list a):not(.unh-latest-post a):hover,
.single-post .fusion-content-tb a:hover {
	text-decoration-thickness: 2px;
	text-underline-offset: 0.28em;
}

/* ==========================================================================
   Post and project cards — flat, one rule, image responds to hover
   ========================================================================== */

.fusion-post-cards .post-card:has(.fusion-post-card-image) {
	--awb-border-radius: 0 !important;
}

.fusion-post-cards .post-card:has(.fusion-post-card-image) > .fusion-column-wrapper,
.fusion-post-cards .post-card:has(.fusion-post-card-image) > .fusion-column-inner-bg {
	border-radius: 0 !important;
	box-shadow: none !important;
}

.fusion-post-cards .post-card:has(.fusion-post-card-image) > .fusion-column-wrapper {
	position: relative;
	background: var(--c-surface) !important;
	border: 1px solid var(--c-rule) !important;
	padding: 0 0 var(--sp-5) !important;
	transition: border-color var(--dur-2) ease, transform var(--dur-2) var(--ease-out);
}

/* Brand rule that draws across the top edge on hover. */
.fusion-post-cards .post-card:has(.fusion-post-card-image) > .fusion-column-wrapper::before {
	content: "";
	position: absolute;
	z-index: 2;
	top: -1px;
	left: -1px;
	right: -1px;
	height: 4px;
	background: var(--c-brand);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--dur-3) var(--ease-out);
}

.fusion-post-cards .post-card:has(.fusion-post-card-image):hover > .fusion-column-wrapper,
.fusion-post-cards .post-card:has(.fusion-post-card-image):focus-within > .fusion-column-wrapper {
	border-color: var(--c-ink-muted) !important;
	transform: translateY(-4px);
}

.fusion-post-cards .post-card:has(.fusion-post-card-image):hover > .fusion-column-wrapper::before,
.fusion-post-cards .post-card:has(.fusion-post-card-image):focus-within > .fusion-column-wrapper::before {
	transform: scaleX(1);
}

/* Images fill the card edge to edge at a steady ratio. */
.fusion-post-cards .fusion-post-card-image,
.fusion-post-cards .post-card:has(.fusion-post-card-image) .fusion-builder-row-inner,
.fusion-post-cards .post-card:has(.fusion-post-card-image) .fusion-builder-row-inner > .fusion-layout-column,
.fusion-post-cards .post-card:has(.fusion-post-card-image) .fusion-builder-row-inner > .fusion-layout-column > .fusion-column-wrapper {
	margin: 0 !important;
	padding: 0 !important;
}

.fusion-post-cards .fusion-image-wrapper {
	overflow: hidden;
	border-radius: 0 !important;
}

.fusion-post-cards .fusion-image-wrapper img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: 0 !important;
	transform: scale(var(--img-scale, 1));
	transition: transform 900ms var(--ease-out);
}

.fusion-post-cards .post-card:has(.fusion-post-card-image):hover .fusion-image-wrapper img {
	transform: scale(calc(var(--img-scale, 1) + 0.05));
}

/* Project thumbnails (portfolio-N.jpg) have a ~6% white frame baked into
   the files; zoom past it until the images are re-cropped. */
.fusion-post-cards .post-card:has(.fusion-post-card-image):has(a[href*="/portfolio-items/"]) {
	--img-scale: 1.14;
}

.fusion-post-cards .post-card:has(.fusion-post-card-image) .fusion-text,
.fusion-post-cards .post-card:has(.fusion-post-card-image) .fusion-title,
.fusion-post-cards .post-card:has(.fusion-post-card-image) .fusion-meta-tb,
.fusion-post-cards .post-card:has(.fusion-post-card-image) .fusion-separator,
.fusion-post-cards .post-card:has(.fusion-post-card-image) div:has(> .fusion-button) {
	margin-left: var(--sp-5) !important;
	margin-right: var(--sp-5) !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.fusion-post-cards .post-card:has(.fusion-post-card-image) .fusion-title {
	margin-top: var(--sp-3) !important;
	text-align: start !important;
}

.fusion-post-cards .post-card:has(.fusion-post-card-image) .fusion-title-heading {
	text-align: start !important;
	font-size: var(--fs-h4) !important;
	line-height: 1.35 !important;
	font-weight: 600 !important;
}

.fusion-post-cards .post-card:has(.fusion-post-card-image) .fusion-title-heading a {
	color: var(--c-ink) !important;
	background: linear-gradient(currentColor, currentColor) 0 100% / 0 2px no-repeat;
	transition: background-size var(--dur-3) var(--ease-out), color var(--dur-1) ease;
}

.fusion-post-cards .post-card:has(.fusion-post-card-image):hover .fusion-title-heading a,
.fusion-post-cards .post-card:has(.fusion-post-card-image) .fusion-title-heading a:focus-visible {
	color: var(--c-brand-deep) !important;
	background-size: 100% 2px;
}

/* Category line: small, muted, with a brand square instead of a pill. */
.post-content .fusion-post-cards .post-card:has(.fusion-post-card-image) .fusion-text a[href*="/category/"] {
	color: var(--c-ink-muted) !important;
	font-size: var(--fs-small);
	font-weight: 500;
	text-decoration: none;
}

.fusion-post-cards .post-card:has(.fusion-post-card-image) .fusion-text:has(a[href*="/category/"]) {
	margin-top: var(--sp-5) !important;
}

.fusion-post-cards .post-card:has(.fusion-post-card-image) .fusion-text:has(a[href*="/category/"]) p::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	margin-right: 8px;
	background: var(--c-brand);
	vertical-align: 1px;
}

.fusion-post-cards .post-card:has(.fusion-post-card-image) .fusion-text p {
	color: var(--c-ink-muted);
	font-size: var(--fs-small);
	line-height: 1.6;
}

.fusion-post-cards .post-card:has(.fusion-post-card-image) .fusion-separator {
	display: none !important;
}

/* "Дэлгэрэнгүй" in cards: a text link with an arrow, not a second button. */
.fusion-post-cards .post-card:has(.fusion-post-card-image) .fusion-button {
	--button_gradient_top_color: transparent !important;
	--button_gradient_bottom_color: transparent !important;
	--button_gradient_top_color_hover: transparent !important;
	--button_gradient_bottom_color_hover: transparent !important;
	--button_accent_color: var(--c-brand-deep) !important;
	--button_accent_hover_color: var(--c-brand-deep-hover) !important;
	--button_border_color: transparent !important;
	--button_border_hover_color: transparent !important;
	padding: var(--sp-2) 0 !important;
	font-weight: 500 !important;
}

.fusion-post-cards .post-card:has(.fusion-post-card-image) .fusion-button .fusion-button-text::after {
	content: "→";
	display: inline-block;
	margin-left: 0.5em;
	transition: transform var(--dur-2) var(--ease-out);
}

.fusion-post-cards .post-card:has(.fusion-post-card-image):hover .fusion-button .fusion-button-text::after {
	transform: translateX(4px);
}

.fusion-post-cards .post-card:has(.fusion-post-card-image) .fusion-button {
	margin: 0 !important;
}

.fusion-post-cards .post-card:has(.fusion-post-card-image) .fusion-builder-row-inner {
	width: auto !important;
}

/* Hashtags on project cards. */
.fusion-post-cards .fusion-meta-tb,
.fusion-post-cards .fusion-meta-tb .fusion-tb-tags {
	justify-content: flex-start !important;
	text-align: start !important;
	margin-top: auto !important;
	padding-top: var(--sp-4) !important;
}

.fusion-post-cards .fusion-tb-tags a {
	color: var(--c-ink-muted) !important;
	font-size: var(--fs-small);
}

.fusion-post-cards .fusion-tb-tags a:hover {
	color: var(--c-brand-deep) !important;
}

/* ==========================================================================
   Section headings — a short brand rule instead of an eyebrow label
   ========================================================================== */

/* Page titles on inner pages (direct column child, not card titles). */
body.page:not(.home) .post-content > .fusion-fullwidth:first-child:not(.unh-about-intro) > .fusion-row > .fusion-layout-column > .fusion-column-wrapper > .fusion-title .fusion-title-heading {
	font-size: var(--fs-h1) !important;
	font-weight: 700 !important;
	line-height: var(--lh-tight) !important;
	letter-spacing: -0.01em !important;
}

body.page:not(.home) .post-content > .fusion-fullwidth:first-child:not(.unh-about-intro) > .fusion-row > .fusion-layout-column > .fusion-column-wrapper > .fusion-title .fusion-title-heading::before {
	content: "";
	display: block;
	width: 48px;
	height: 4px;
	margin-bottom: var(--sp-4);
	background: var(--c-brand);
}

body.page:not(.home) .post-content > .fusion-fullwidth:first-child:not(.unh-about-intro) > .fusion-row > .fusion-layout-column > .fusion-column-wrapper > .fusion-title .title-heading-center::before {
	margin-left: auto;
	margin-right: auto;
}

/* ==========================================================================
   Shared motion and SDG tiles
   ========================================================================== */

@keyframes unh-unveil {
	from { clip-path: inset(100% 0 0 0); }
	to { clip-path: inset(0 0 0 0); }
}

@keyframes unh-rise {
	from { opacity: 0; transform: translateY(16px); }
}

/* Two layers on the mission band: white lower block (fixed) + photo. */
@keyframes unh-drift {
	from { background-position: 0 100%, 50% 0%; }
	to { background-position: 0 100%, 50% 100%; }
}

/* SDG tiles lift toward the pointer; the carousel keeps its own layout. */
.fusion-image-carousel .fusion-image-wrapper {
	transition: transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2) ease;
	border-radius: 12px;
}

.fusion-image-carousel .fusion-image-wrapper:hover,
.fusion-image-carousel .fusion-image-wrapper:focus-within {
	transform: translateY(-6px) scale(1.04);
	box-shadow: 0 16px 28px rgb(6 43 69 / 0.18);
}

/* ==========================================================================
   Home (page 2014, scripts/content/home-2014.txt) — sections carry unh-*
   classes, so these rules do not depend on Avada's row numbering.
   ========================================================================== */

body.home #main {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/* Shared text actions ---------------------------------------------------- */

.post-content a.unh-btn,
.post-content a.unh-link {
	text-decoration: none;
}

.post-content a.unh-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	min-height: 48px;
	padding: 0 var(--sp-5);
	border-radius: 2px;
	background: var(--c-brand-deep);
	color: var(--c-surface);
	font-weight: 500;
	transition: background-color var(--dur-1) ease, transform var(--dur-1) ease;
}

.post-content a.unh-btn:hover {
	background: var(--c-brand-deep-hover);
	color: var(--c-surface);
}

.post-content a.unh-btn:active {
	transform: translateY(1px);
}

.post-content a.unh-link {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	min-height: 44px;
	color: var(--c-brand-deep);
	font-weight: 500;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.25em;
}

.post-content a.unh-btn::after,
.post-content a.unh-link::after {
	content: "→";
	transition: transform var(--dur-2) var(--ease-out);
}

.post-content a.unh-btn:hover::after,
.post-content a.unh-link:hover::after {
	transform: translateX(4px);
}

/* Avada colours link pseudo-elements with the body ink; keep the arrows
   in the link colour. */
.post-content a.unh-btn::after,
.post-content a.unh-link::after,
.unh-latest-post__title::after {
	color: inherit !important;
}

/* Section heads: h2 with a brand rule, intro and "see all" link beside. -- */

.unh-section {
	padding-top: var(--sp-9) !important;
	padding-bottom: var(--sp-9) !important;
}

.unh-section__head > .fusion-column-wrapper {
	flex-direction: row !important;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--sp-4) var(--sp-7);
	margin-bottom: var(--sp-7) !important;
}

.unh-section__head .fusion-title {
	margin: 0 !important;
}

.unh-section__intro {
	flex: 0 1 56ch;
	max-width: 56ch;
	margin: 0 0 0 auto !important;
}

.unh-section__intro p:last-child {
	margin-bottom: 0;
}

.unh-hero .fusion-title-heading,
.unh-section .fusion-title-heading,
.unh-mission .fusion-title-heading {
	font-weight: 700 !important;
	letter-spacing: -0.01em !important;
}

.unh-section .unh-section__head .fusion-title-heading,
.unh-research .fusion-title-heading {
	font-size: var(--fs-h1) !important;
	line-height: var(--lh-tight) !important;
}

.unh-section .unh-section__head .fusion-title-heading::before,
.unh-research .fusion-title-heading::before,
.unh-hero .fusion-title::before {
	content: "";
	display: block;
	width: 48px;
	height: 4px;
	margin-bottom: var(--sp-4);
	background: var(--c-brand);
}

/* Hero -------------------------------------------------------------------- */

.unh-hero {
	padding-top: var(--sp-8) !important;
	padding-bottom: var(--sp-8) !important;
}

.unh-hero .fusion-title::before {
	width: 64px;
	height: 6px;
	margin-bottom: var(--sp-5);
}

.unh-hero .fusion-title-heading {
	font-size: clamp(2.25rem, 1.6rem + 2.2vw, 3.5rem) !important;
	line-height: 1.06 !important;
	letter-spacing: -0.02em !important;
}

.unh-lead p {
	max-width: 36ch;
	font-size: var(--fs-lead);
	line-height: 1.55;
}

.unh-actions p {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--sp-4) var(--sp-6);
}

.unh-hero__text > .fusion-column-wrapper {
	padding-right: var(--sp-8) !important;
}

.unh-hero .unh-lead p {
	max-width: 44ch;
}

.unh-hero .unh-lead p.unh-hero__sub {
	margin-top: var(--sp-3);
	color: var(--c-ink-muted);
	font-size: var(--fs-body);
	line-height: 1.6;
}

/* Latest news line: live, links to the newest post. */
.unh-hero__latest {
	margin-top: var(--sp-6) !important;
	padding-top: var(--sp-5);
	border-top: 1px solid var(--c-rule);
	max-width: 44rem;
}

.unh-latest-post {
	margin: 0 !important;
}

.post-content .unh-latest-post a {
	display: grid;
	gap: var(--sp-1);
	color: var(--c-ink);
	text-decoration: none;
}

.unh-latest-post__meta {
	color: var(--c-ink-muted);
	font-size: var(--fs-small);
	font-weight: 500;
	font-variant-numeric: tabular-nums;
}

.unh-latest-post__meta::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	margin-right: 8px;
	background: var(--c-brand);
	vertical-align: 1px;
}

.unh-latest-post__title {
	font-weight: 600;
	line-height: 1.4;
	background: linear-gradient(currentColor, currentColor) 0 100% / 0 2px no-repeat;
	transition: background-size var(--dur-3) var(--ease-out), color var(--dur-1) ease;
	justify-self: start;
}

.unh-latest-post__title::after {
	content: " →";
	transition: margin-left var(--dur-2) var(--ease-out);
}

.post-content .unh-latest-post a:hover .unh-latest-post__title,
.post-content .unh-latest-post a:focus-visible .unh-latest-post__title {
	color: var(--c-brand-deep);
	background-size: 100% 2px;
}

/* Photo composition: main photo with the brand block behind it, the second
   photo overlapping its lower-left corner in a white frame. */
.unh-hero__media > .fusion-column-wrapper {
	position: relative;
	padding: 0 24px 64px 48px !important;
}

.unh-hero__media .fusion-image-element:has(.unh-hero__main) {
	position: relative;
	margin: 0 !important;
}

.unh-hero__media .fusion-image-element:has(.unh-hero__main)::before {
	content: "";
	position: absolute;
	inset: 24px -24px -24px 24px;
	z-index: -1;
	background: var(--c-brand);
}

.unh-hero__main img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.unh-hero__media .fusion-image-element:has(.unh-hero__inset) {
	position: absolute !important;
	left: 0;
	bottom: 0;
	width: 44%;
	margin: 0 !important;
	z-index: 2;
}

.unh-hero__inset {
	border: 8px solid var(--c-surface) !important;
	box-shadow: 0 12px 28px rgb(6 43 69 / 0.18);
}

.unh-hero__inset img {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
}

.unh-hero .fusion-imageframe,
.unh-hero .fusion-imageframe img {
	border-radius: 0 !important;
}

.unh-hero .fusion-imageframe {
	overflow: hidden;
}

.unh-hero .fusion-imageframe img {
	transition: transform 1200ms var(--ease-out);
}

.unh-hero .fusion-imageframe:hover img {
	transform: scale(1.03);
}

@media (prefers-reduced-motion: no-preference) {
	.unh-hero .fusion-imageframe {
		animation: unh-unveil 1100ms var(--ease-out) both;
	}

	.unh-hero__inset {
		animation-delay: 260ms !important;
	}

	.unh-hero .fusion-title {
		animation: unh-rise 900ms var(--ease-out) both;
	}
}

/* Facts under the hero. The figures count up once on first view
   (js/interactive.js); the markup holds the final values. */
.unh-hero__stats {
	margin-top: var(--sp-8) !important;
}

.unh-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--sp-6);
	margin: 0;
	padding: var(--sp-6) 0 0;
	border-top: 1px solid var(--c-rule);
	list-style: none;
}

.unh-stats li {
	margin: 0;
	padding-left: var(--sp-4);
	border-left: 4px solid var(--c-brand);
}

.unh-stats strong {
	display: block;
	color: var(--c-ink);
	font-size: var(--fs-h2);
	font-weight: 700;
	line-height: 1.1;
	font-variant-numeric: tabular-nums;
}

.unh-stats span {
	display: block;
	margin-top: var(--sp-2);
	color: var(--c-ink-muted);
	font-size: var(--fs-small);
	line-height: 1.45;
}

/* Mission + four directions: one card over the city photo --------------- */

/* The photo fills the top of the band; a flat white block covers the lower
   part so the card sits half on the photo, half on the page. */
.unh-mission {
	padding-top: clamp(140px, 16vw, 240px) !important;
	padding-bottom: var(--sp-8) !important;
	background:
		linear-gradient(var(--c-surface), var(--c-surface)) 0 100% / 100% 38% no-repeat,
		var(--awb-background-image) 50% 30% / cover no-repeat !important;
}

@supports (animation-timeline: view()) {
	@media (prefers-reduced-motion: no-preference) {
		.unh-mission {
			animation: unh-drift linear both;
			animation-timeline: view();
		}
	}
}

.unh-mission__card > .fusion-column-wrapper {
	margin: 0 !important;
	padding: var(--sp-8) var(--sp-8) var(--sp-7) !important;
	border-top: 6px solid var(--c-brand);
	background: var(--c-surface) !important;
	box-shadow: 0 24px 48px -24px rgb(6 43 69 / 0.35);
}

/* Title beside the mission statement (plain HTML grid: Avada's inner rows
   force width:104% inline, which overflowed the card). */
.unh-mission__intro {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: var(--sp-7);
	align-items: start;
}

.unh-mission__title {
	margin: 0 !important;
	color: var(--c-ink) !important;
	font-size: var(--fs-h1) !important;
	font-weight: 700 !important;
	line-height: var(--lh-tight) !important;
	letter-spacing: -0.01em !important;
}

.unh-mission__title::before {
	content: "";
	display: block;
	width: 48px;
	height: 4px;
	margin-bottom: var(--sp-4);
	background: var(--c-brand);
}

.unh-mission__intro p {
	margin: 0 !important;
	color: var(--c-ink);
	font-size: var(--fs-lead);
	line-height: 1.6;
	max-width: 60ch;
}

.unh-mission__goals {
	margin-top: var(--sp-7) !important;
	padding-top: var(--sp-6);
	border-top: 1px solid var(--c-rule);
}

.unh-mission__goals-title {
	margin: 0 0 var(--sp-5) !important;
	color: var(--c-ink-muted) !important;
	font-size: var(--fs-body) !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
}

/* Four directions --------------------------------------------------------- */

.unh-goals__list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--sp-6);
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: goal;
}

.unh-goals__list li {
	position: relative;
	margin: 0;
	padding-top: var(--sp-5);
	border-top: 2px solid var(--c-ink);
	counter-increment: goal;
	color: var(--c-ink);
	font-weight: 500;
	line-height: 1.5;
}

.unh-goals__list li::before {
	content: counter(goal, decimal-leading-zero);
	display: block;
	margin-bottom: var(--sp-3);
	color: var(--c-brand-deep);
	font-size: var(--fs-h2);
	font-weight: 700;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.unh-goals__list li::after {
	content: "";
	position: absolute;
	top: -2px;
	left: 0;
	width: 100%;
	height: 2px;
	background: var(--c-brand);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--dur-3) var(--ease-out);
}

.unh-goals__list li:hover::after {
	transform: scaleX(1);
}

/* Projects: the one dark band ------------------------------------------- */

.unh-projects {
	background-image: none !important;
	background-color: var(--c-navy) !important;
}

.unh-projects .unh-section__head .fusion-title-heading,
.unh-projects .unh-section__intro p {
	color: var(--c-surface) !important;
}

.unh-projects .post-content a.unh-link,
.post-content .unh-projects a.unh-link {
	color: var(--c-surface);
}

.unh-projects :focus-visible {
	outline-color: var(--c-surface) !important;
}

/* Head: title and intro sit on one baseline. */
.unh-projects .unh-section__head > .fusion-column-wrapper {
	align-items: flex-end !important;
}

.unh-projects .unh-section__intro p {
	color: rgb(255 255 255 / 0.82) !important;
}

/* Project cards on navy: no white boxes, text straight on the band. */
.unh-projects .unh-project article {
	padding-top: var(--sp-5);
	border-top-color: rgb(255 255 255 / 0.22);
}

.unh-projects .unh-project__media {
	background: rgb(255 255 255 / 0.06);
}

.unh-projects .unh-project__title {
	font-size: var(--fs-h4) !important;
}

.post-content .unh-projects .unh-project__title a,
.unh-projects .unh-project__title a {
	color: var(--c-surface);
}

.unh-projects .unh-project article:hover .unh-project__title a,
.unh-projects .unh-project__title a:focus-visible {
	color: var(--c-surface);
}

.unh-projects .unh-project__period {
	color: var(--c-brand); /* 5.9:1 on navy */
}

.unh-projects .unh-project__summary {
	color: rgb(255 255 255 / 0.78); /* 10.3:1 */
}

.unh-projects .unh-project__tags {
	color: rgb(255 255 255 / 0.65); /* 7.4:1 */
}

.unh-projects .unh-project__body {
	display: flex;
	flex-direction: column;
	flex: 1;
}

.unh-project__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	margin: auto 0 0 !important;
	padding-top: var(--sp-5);
	color: var(--c-brand-deep);
	font-size: var(--fs-small);
	font-weight: 600;
}

.unh-project__cta::after {
	content: "→";
	transition: transform var(--dur-2) var(--ease-out);
}

.unh-project article:hover .unh-project__cta::after {
	transform: translateX(4px);
}

.unh-projects .unh-project__cta {
	color: var(--c-surface);
}

/* News list (inc/news-list.php) ----------------------------------------- */

.unh-news {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 2px solid var(--c-ink);
}

.unh-news__item {
	margin: 0;
	border-bottom: 1px solid var(--c-rule);
}

.unh-news__item article {
	position: relative;
	display: grid;
	grid-template-columns: 11rem minmax(0, 1fr) 200px;
	grid-template-areas: "meta title media";
	gap: var(--sp-6);
	align-items: start;
	padding: var(--sp-6) 0;
	transition: background-color var(--dur-2) ease;
}

.unh-news__body {
	display: contents;
}

.unh-news__meta {
	grid-area: meta;
	margin: 0;
	color: var(--c-ink-muted);
	font-size: var(--fs-small);
	line-height: 1.5;
}

.unh-news__meta time {
	display: block;
	color: var(--c-ink);
	font-weight: 500;
	font-variant-numeric: tabular-nums;
}

.unh-news__cat::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	margin-right: 8px;
	background: var(--c-brand);
	vertical-align: 1px;
}

.unh-news__title {
	grid-area: title;
	margin: 0 !important;
	font-size: var(--fs-h4) !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
}

.post-content .unh-news__title a {
	color: var(--c-ink);
	text-decoration: none;
	background: linear-gradient(currentColor, currentColor) 0 100% / 0 2px no-repeat;
	transition: background-size var(--dur-3) var(--ease-out), color var(--dur-1) ease;
}

/* The whole row is the link's hit area. */
.unh-news__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.unh-news__item article:hover .unh-news__title a,
.post-content .unh-news__title a:focus-visible {
	color: var(--c-brand-deep);
	background-size: 100% 2px;
}

.unh-news__media {
	grid-area: media;
	overflow: hidden;
}

.unh-news__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	transition: transform 900ms var(--ease-out);
}

.unh-news__item article:hover .unh-news__media img {
	transform: scale(1.05);
}

/* Newest story: large photo beside its text. */
.unh-news__item--featured article {
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	grid-template-areas:
		"media meta"
		"media title"
		"media excerpt";
	grid-template-rows: auto auto 1fr;
	column-gap: var(--sp-7);
	row-gap: var(--sp-4);
	padding: var(--sp-7) 0;
}

.unh-news__item--featured .unh-news__meta time {
	display: inline;
	margin-right: var(--sp-3);
}

.unh-news__item--featured .unh-news__title {
	font-size: var(--fs-h3) !important;
	line-height: 1.25 !important;
}

.unh-news__excerpt {
	grid-area: excerpt;
	margin: 0;
	color: var(--c-ink-muted);
	line-height: 1.6;
}

/* Research ---------------------------------------------------------------- */

.unh-latest + .unh-research {
	padding-top: var(--sp-6) !important;
}

.unh-research__cover .fusion-imageframe,
.unh-research__cover img {
	border-radius: 0 !important;
}

.unh-research__cover .fusion-imageframe {
	overflow: hidden;
	box-shadow: 0 1px 0 var(--c-rule);
}

.unh-research__cover img {
	transition: transform 900ms var(--ease-out);
}

.unh-research__cover .fusion-imageframe:hover img {
	transform: scale(1.04);
}

/* SDG --------------------------------------------------------------------- */

.unh-sdg {
	background-image: none !important;
	background-color: var(--c-surface-alt) !important;
	margin-bottom: 0 !important;
}

/* Home — tablet and phone ------------------------------------------------- */

@media (max-width: 1024px) {
	.unh-stats,
	.unh-goals__list {
		grid-template-columns: repeat(2, 1fr);
	}

	.unh-hero__text > .fusion-column-wrapper {
		padding-right: 0 !important;
	}

	.unh-hero__media {
		margin-top: var(--sp-7) !important;
	}

	.unh-hero__media > .fusion-column-wrapper {
		max-width: 520px;
	}
}

@media (max-width: 640px) {
	.unh-section {
		padding-top: var(--sp-8) !important;
		padding-bottom: var(--sp-8) !important;
	}

	.unh-hero {
		padding-top: var(--sp-6) !important;
	}

	.unh-hero__text {
		order: 1 !important;
	}

	.unh-hero__media {
		order: 2 !important;
		margin-top: var(--sp-6) !important;
	}

	.unh-hero__media > .fusion-column-wrapper {
		padding: 0 16px 16px 0 !important;
	}

	.unh-hero__main img {
		aspect-ratio: 4 / 3;
	}

	.unh-hero__stats {
		order: 3 !important;
	}

	.unh-hero__media .fusion-image-element:has(.unh-hero__main)::before {
		inset: 16px -16px -16px 16px;
	}

	.unh-actions a.unh-btn {
		width: 100%;
		justify-content: center;
	}

	.unh-stats {
		gap: var(--sp-5) var(--sp-4);
	}

	.unh-goals__list {
		grid-template-columns: 1fr;
	}

	.unh-mission__card > .fusion-column-wrapper {
		padding: var(--sp-6) var(--sp-5) !important;
	}

	.unh-mission {
		padding-top: 120px !important;
		background:
			linear-gradient(var(--c-surface), var(--c-surface)) 0 100% / 100% 70% no-repeat,
			var(--awb-background-image) 50% 0 / auto 340px no-repeat !important;
		animation: none !important;
	}

	.unh-mission__intro {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--sp-4);
	}

	.unh-news__item article {
		grid-template-columns: minmax(0, 1fr) 96px;
		grid-template-areas:
			"meta media"
			"title media";
		gap: var(--sp-2) var(--sp-4);
		padding: var(--sp-5) 0;
	}

	.unh-news__media img {
		aspect-ratio: 1;
	}

	.unh-news__item--featured article {
		grid-template-columns: 1fr;
		grid-template-areas:
			"media"
			"meta"
			"title"
			"excerpt";
		grid-template-rows: none;
		padding-top: 0;
		border-top: 0;
	}

	.unh-news__item--featured .unh-news__media img {
		aspect-ratio: 3 / 2;
	}

	.unh-research__cover {
		width: 50% !important;
	}
}

/* ==========================================================================
   About page (1659, scripts/content/about-1659.txt) — reuses the home
   section heads, unh-stats, unh-link and the news list.
   ========================================================================== */

body.page-id-1659 #main {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.unh-prose p {
	max-width: var(--measure);
	text-align: start !important;
}

.unh-about-intro {
	padding-top: var(--sp-8) !important;
	padding-bottom: var(--sp-8) !important;
}

.unh-about-intro .fusion-title::before {
	content: "";
	display: block;
	width: 64px;
	height: 6px;
	margin-bottom: var(--sp-5);
	background: var(--c-brand);
}

.unh-about-intro .fusion-title-heading {
	font-size: clamp(2.25rem, 1.6rem + 2.6vw, 3.75rem) !important;
	font-weight: 700 !important;
	line-height: 1.05 !important;
	letter-spacing: -0.02em !important;
	text-align: start !important;
}

.unh-about-intro .unh-lead p {
	max-width: 32ch;
	font-size: var(--fs-h3);
	font-weight: 500;
	line-height: 1.35;
	color: var(--c-ink);
}

.unh-about-intro__text > .fusion-column-wrapper {
	padding-right: var(--sp-7) !important;
}

.unh-about-intro__photo .fusion-image-element,
.unh-about-approach__photo .fusion-image-element {
	position: relative;
}

.unh-about-intro__photo .fusion-image-element::before {
	content: "";
	position: absolute;
	inset: 24px -24px -24px 24px;
	z-index: -1;
	background: var(--c-brand);
}

.unh-about-intro__photo img,
.unh-about-approach__photo img,
.unh-about-intro__photo .fusion-imageframe,
.unh-about-approach__photo .fusion-imageframe {
	border-radius: 0 !important;
}

.unh-about-intro__stats {
	margin-top: var(--sp-8) !important;
}

/* Approach: text with a pull quote, photo beside. */
.unh-about-approach .fusion-title-heading {
	font-size: var(--fs-h1) !important;
	font-weight: 700 !important;
	line-height: var(--lh-tight) !important;
}

.unh-about-approach .fusion-title-heading::before,
.unh-about-policy .fusion-title-heading::before,
.unh-about-projects .fusion-title-heading::before,
.unh-about-impact .unh-section__head .fusion-title-heading::before {
	content: "";
	display: block;
	width: 48px;
	height: 4px;
	margin-bottom: var(--sp-4);
	background: var(--c-brand);
}

.unh-about-approach__text > .fusion-column-wrapper {
	padding-right: var(--sp-7) !important;
}

.post-content .unh-pull {
	margin: var(--sp-6) 0 0;
	padding: var(--sp-2) 0 var(--sp-2) var(--sp-5);
	border-left: 4px solid var(--c-brand);
	background: none;
	font-style: normal;
}

.unh-pull p {
	margin: 0;
	font-style: normal;
	color: var(--c-ink);
	font-size: var(--fs-lead);
	font-weight: 500;
	line-height: 1.5;
}

.unh-about-approach__photo .fusion-imageframe {
	overflow: hidden;
}

.unh-about-approach__photo img {
	aspect-ratio: 4 / 5;
	object-fit: cover;
	transition: transform 900ms var(--ease-out);
}

.unh-about-approach__photo .fusion-imageframe:hover img {
	transform: scale(1.03);
}

/* Policy: tinted band, first sentence set large. */
.unh-about-policy {
	background-color: var(--c-surface-alt) !important;
}

.unh-about-policy .fusion-title-heading {
	font-size: var(--fs-h1) !important;
	font-weight: 700 !important;
}

.unh-policy__lead {
	color: var(--c-ink);
	font-size: var(--fs-h4);
	font-weight: 500;
	line-height: 1.45 !important;
}

/* Projects: numbered two-column list instead of the hover-only circle. */
.unh-projects-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 var(--sp-7);
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: project;
}

.unh-projects-list li {
	position: relative;
	display: grid;
	grid-template-columns: 3rem minmax(0, 1fr);
	gap: var(--sp-3);
	margin: 0;
	padding: var(--sp-5) 0;
	border-top: 1px solid var(--c-rule);
	counter-increment: project;
	color: var(--c-ink);
	font-weight: 500;
	line-height: 1.45;
}

.unh-projects-list li::before {
	content: counter(project, decimal-leading-zero);
	color: var(--c-brand-deep);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.unh-projects-list li::after {
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	width: 100%;
	height: 2px;
	background: var(--c-brand);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--dur-3) var(--ease-out);
}

.unh-projects-list li:hover::after {
	transform: scaleX(1);
}

/* Impact: the dark band, two groups of figures. */
.unh-about-impact {
	background-image: none !important;
	background-color: var(--c-navy) !important;
}

.unh-about-impact .fusion-title-heading,
.unh-about-impact p,
.unh-about-impact .unh-stats strong {
	color: var(--c-surface) !important;
}

.unh-about-impact .unh-section__head .fusion-title-heading {
	font-size: var(--fs-h1) !important;
	font-weight: 700 !important;
}

.unh-about-impact .unh-stats span {
	color: rgb(255 255 255 / 0.78);
}

.unh-about-impact .unh-stats {
	border-top-color: rgb(255 255 255 / 0.2);
}

.unh-about-impact .unh-impact__group .fusion-title-heading {
	font-size: var(--fs-h4) !important;
	font-weight: 600 !important;
}

.unh-about-impact .unh-impact__group p {
	margin-top: var(--sp-5);
	font-size: var(--fs-small);
	opacity: 0.85;
	max-width: 52ch;
}

.unh-impact__group > .fusion-column-wrapper {
	padding-right: var(--sp-6) !important;
}

.unh-stats--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.unh-stats strong {
	white-space: nowrap;
}

@media (max-width: 640px) {
	.unh-stats strong {
		font-size: var(--fs-h3);
	}
}

@media (max-width: 1024px) {
	.unh-about-intro__text > .fusion-column-wrapper,
	.unh-about-approach__text > .fusion-column-wrapper,
	.unh-impact__group > .fusion-column-wrapper {
		padding-right: 0 !important;
	}

	.unh-projects-list {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 640px) {
	.unh-about-intro {
		padding-top: var(--sp-6) !important;
	}

	.unh-about-intro__photo {
		margin-top: var(--sp-6) !important;
	}

	.unh-about-intro__photo .fusion-image-element::before {
		inset: 16px -8px -16px 16px;
	}

	.unh-about-approach__photo {
		margin-top: var(--sp-6) !important;
	}

	.unh-about-approach__photo img {
		aspect-ratio: 3 / 2;
	}

	.unh-impact__group + .unh-impact__group {
		margin-top: var(--sp-7) !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.unh-about-approach__photo .fusion-imageframe:hover img {
		transform: none;
	}
}

/* ==========================================================================
   Projects — [unh_projects] (inc/projects.php) and single project pages
   ========================================================================== */

.unh-project-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--sp-7) var(--sp-6);
	margin: 0;
	padding: 0;
	list-style: none;
}

.unh-project {
	margin: 0;
}

.unh-project article {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--sp-4);
	height: 100%;
	padding-top: var(--sp-4);
	border-top: 2px solid var(--c-ink);
}

.unh-project article::before {
	content: "";
	position: absolute;
	top: -2px;
	left: 0;
	width: 100%;
	height: 2px;
	background: var(--c-brand);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--dur-3) var(--ease-out);
}

.unh-project article:hover::before,
.unh-project article:focus-within::before {
	transform: scaleX(1);
}

.unh-project__media {
	overflow: hidden;
	background: var(--c-surface-alt);
}

.unh-project__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	transform: scale(var(--img-scale, 1.14)); /* hides the white frame baked into portfolio-N.jpg */
	transition: transform 900ms var(--ease-out);
}

.unh-project article:hover .unh-project__media img {
	transform: scale(calc(var(--img-scale, 1.14) + 0.05));
}

.unh-project__period {
	margin: 0 0 var(--sp-2) !important;
	color: var(--c-brand-deep);
	font-size: var(--fs-small);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.unh-project__title {
	margin: 0 !important;
	font-size: var(--fs-h4) !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
}

.post-content .unh-project__title a,
.unh-project__title a {
	color: var(--c-ink);
	text-decoration: none;
	background: linear-gradient(currentColor, currentColor) 0 100% / 0 2px no-repeat;
	transition: background-size var(--dur-3) var(--ease-out), color var(--dur-1) ease;
}

.unh-project__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.unh-project article:hover .unh-project__title a,
.unh-project__title a:focus-visible {
	color: var(--c-brand-deep);
	background-size: 100% 2px;
}

.unh-project__summary {
	margin: var(--sp-3) 0 0 !important;
	color: var(--c-ink-muted);
	font-size: var(--fs-small);
	line-height: 1.6;
}

.unh-project__tags {
	margin: var(--sp-3) 0 0 !important;
	color: var(--c-ink-muted);
	font-size: 0.8125rem;
	font-weight: 500;
}

/* Newest project: full row, photo beside the text. */
.unh-project--featured {
	grid-column: 1 / -1;
}

.unh-project--featured article {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	align-items: center;
	gap: var(--sp-7);
	padding-top: var(--sp-6);
}

.unh-project--featured .unh-project__title {
	font-size: var(--fs-h2) !important;
	line-height: 1.2 !important;
}

.unh-project--featured .unh-project__summary {
	font-size: var(--fs-lead);
	color: var(--c-ink);
}

.unh-projects-page__more {
	margin-top: var(--sp-8) !important;
	padding-top: var(--sp-6);
	border-top: 1px solid var(--c-rule);
}

@media (max-width: 1024px) {
	.unh-project-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.unh-project--featured article {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--sp-4);
	}
}

@media (max-width: 640px) {
	.unh-project-list {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--sp-6);
	}

	.unh-project--featured .unh-project__title {
		font-size: var(--fs-h3) !important;
	}
}

/* Single project page (Avada layout 1203): the first container holds the
   project text (.fusion-content-tb) and the featured image. */
.single-avada_portfolio .fusion-fullwidth:has(.fusion-content-tb) {
	background-color: var(--c-surface) !important;
	padding-top: var(--sp-7) !important;
	border-top: 1px solid var(--c-rule);
}

@media (min-width: 1025px) {
	.single-avada_portfolio .fusion-fullwidth:has(.fusion-content-tb) > .fusion-row > .fusion-layout-column:has(.fusion-content-tb) {
		width: 58% !important;
		flex: 0 0 58% !important;
	}

	.single-avada_portfolio .fusion-fullwidth:has(.fusion-content-tb) > .fusion-row > .fusion-layout-column:has(.fusion-imageframe) {
		width: 42% !important;
		flex: 0 0 42% !important;
		position: sticky;
		top: calc(var(--header-h) + var(--sp-5));
		align-self: flex-start;
	}
}

.single-avada_portfolio .fusion-content-tb {
	max-width: var(--measure);
	font-size: var(--fs-body);
	line-height: var(--lh-body);
}

.single-avada_portfolio .fusion-content-tb p {
	text-align: start !important;
}

/* "Санхүүжүүлэгч байгуулга: …" lines read as a fact list. */
.single-avada_portfolio .fusion-content-tb p:has(> strong:first-child) {
	margin: 0 0 var(--sp-3) !important;
	padding-left: var(--sp-4);
	border-left: 3px solid var(--c-brand);
}

.single-avada_portfolio .fusion-content-tb p > strong:first-child {
	color: var(--c-brand-deep);
	font-weight: 700;
}

.single-avada_portfolio .fusion-content-tb ul {
	margin: 0 0 var(--sp-5);
	padding-left: 1.2em;
}

.single-avada_portfolio .fusion-content-tb li {
	margin-bottom: var(--sp-2);
}

.single-avada_portfolio .fusion-fullwidth:has(.fusion-content-tb) .fusion-imageframe {
	overflow: hidden;
	border-radius: 0 !important;
	background: var(--c-surface-alt);
}

.single-avada_portfolio .fusion-fullwidth:has(.fusion-content-tb) .fusion-imageframe img {
	display: block;
	width: 100%;
	border-radius: 0 !important;
	transform: scale(1.2); /* white frame and rounded corners baked into portfolio-N.jpg */
}

.single-avada_portfolio .fusion-fullwidth:has(.unh-project-list) {
	padding-top: var(--sp-8) !important;
	border-top: 1px solid var(--c-rule);
}

.single-avada_portfolio .fusion-fullwidth:has(.unh-project-list) .fusion-title-heading {
	font-size: var(--fs-h2) !important;
	font-weight: 700 !important;
	text-align: start !important;
}

.single-avada_portfolio .fusion-fullwidth:has(.unh-project-list) .fusion-title {
	justify-content: flex-start !important;
	text-align: start !important;
}

/* Crop the image box to 3:2 so the zoomed photo always fills it. */
.single-avada_portfolio .fusion-fullwidth:has(.fusion-content-tb) .fusion-imageframe img {
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

@media (max-width: 1024px) {
	.single-avada_portfolio .fusion-fullwidth:has(.fusion-content-tb) .fusion-imageframe {
		margin-bottom: var(--sp-6);
	}
}

@media (prefers-reduced-motion: reduce) {
	.unh-project article:hover .unh-project__media img {
		transform: scale(var(--img-scale, 1.14));
	}
}

/* ==========================================================================
   Contact page (21, scripts/content/contact-21.txt)
   ========================================================================== */

body.page-id-21 #main {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.unh-contact-head {
	padding-top: var(--sp-8) !important;
	padding-bottom: var(--sp-6) !important;
}

.unh-contact-head .fusion-title-heading {
	font-size: clamp(2.25rem, 1.6rem + 2.6vw, 3.75rem) !important;
	font-weight: 700 !important;
	line-height: 1.05 !important;
	letter-spacing: -0.02em !important;
}

.unh-contact-head .unh-lead p {
	max-width: 40ch;
	font-size: var(--fs-lead);
	color: var(--c-ink-muted);
}

.unh-contact-main {
	padding-bottom: var(--sp-8) !important;
}

.unh-contact-main__info > .fusion-column-wrapper {
	padding-right: var(--sp-7) !important;
}

/* Contact list */
.unh-contact {
	font-style: normal;
}

.unh-contact__list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 2px solid var(--c-ink);
}

.unh-contact__item {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	gap: var(--sp-4);
	align-items: start;
	margin: 0;
	padding: var(--sp-5) 0;
	border-bottom: 1px solid var(--c-rule);
}

.unh-contact__icon {
	width: 44px;
	height: 44px;
	padding: 10px;
	background: var(--c-surface-alt);
	color: var(--c-brand-deep);
}

.unh-contact__label {
	margin: 0 0 var(--sp-1) !important;
	color: var(--c-ink-muted);
	font-size: var(--fs-small);
	font-weight: 500;
}

.unh-contact__value {
	margin: 0 !important;
	color: var(--c-ink);
	line-height: 1.5;
}

.post-content .unh-contact__value a {
	color: var(--c-ink);
	font-size: var(--fs-lead);
	font-weight: 600;
	text-decoration: none;
	font-variant-numeric: tabular-nums;
	overflow-wrap: anywhere;
}

.post-content .unh-contact__value a:hover {
	color: var(--c-brand-deep);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.post-content .unh-contact__value a.unh-contact__sub {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--c-brand-deep);
	font-size: var(--fs-small);
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.unh-contact__sub::after {
	content: "↗";
	margin-left: 0.3em;
	color: inherit !important;
}

/* Form card */
.unh-contact-main__form > .fusion-column-wrapper {
	padding: var(--sp-7) !important;
	background-color: var(--c-surface-alt) !important;
	border-top: 4px solid var(--c-brand) !important;
}

.unh-contact-main__form .fusion-title-heading {
	font-size: var(--fs-h3) !important;
	font-weight: 700 !important;
}

.unh-contact-form__note p {
	margin: var(--sp-2) 0 var(--sp-5) !important;
	color: var(--c-ink-muted);
	font-size: var(--fs-small);
}

.unh-contact-main__form .fusion-form-field {
	margin-bottom: var(--sp-5) !important;
}

.unh-contact-main__form label {
	display: block;
	margin-bottom: var(--sp-2);
	color: var(--c-ink) !important;
	font-size: var(--fs-small) !important;
	font-weight: 600 !important;
}

.unh-contact-main__form .fusion-form-input {
	min-height: 48px;
	padding: var(--sp-3) var(--sp-4) !important;
	border: 1px solid #7a8a98 !important; /* 3.55:1 — WCAG 1.4.11 */
	border-radius: 2px !important;
	background: var(--c-surface) !important;
	color: var(--c-ink) !important;
	font-size: var(--fs-body) !important;
	transition: border-color var(--dur-1) ease, box-shadow var(--dur-1) ease;
}

.unh-contact-main__form textarea.fusion-form-input {
	min-height: 160px;
	resize: vertical;
}

.unh-contact-main__form .fusion-form-input::placeholder {
	color: #6b7885; /* 4.6:1 on white */
	opacity: 1;
}

.unh-contact-main__form .fusion-form-input:hover {
	border-color: var(--c-ink-muted) !important;
}

/* Avada removes the outline on form fields; restore a visible ring (A-4). */
.unh-contact-main__form .fusion-form-form-wrapper .fusion-form-field .fusion-form-input:focus,
.unh-contact-main__form .fusion-form-form-wrapper .fusion-form-field .fusion-form-input:focus-visible {
	border-color: var(--c-brand-deep) !important;
	outline: 3px solid var(--c-brand-deep) !important;
	outline-offset: 1px !important;
	box-shadow: none !important;
}

.unh-contact-main__form .fusion-button.form-form-submit {
	min-height: 52px;
	padding: 0 var(--sp-7) !important;
	border-radius: 2px !important;
	font-weight: 500 !important;
}

/* Map and Facebook */
.unh-contact-map {
	padding: 0 !important;
}

.unh-contact-map .fusion-openstreetmap {
	border-top: 1px solid var(--c-rule);
	border-bottom: 1px solid var(--c-rule);
}

.unh-contact-social {
	background: var(--c-surface) !important;
}

.unh-contact-social .unh-section__head > .fusion-column-wrapper {
	flex-direction: column !important;
	align-items: flex-start;
}

.unh-contact-social .fusion-title-heading {
	font-size: var(--fs-h2) !important;
	font-weight: 700 !important;
}

.unh-contact-social .fusion-title-heading::before {
	content: "";
	display: block;
	width: 48px;
	height: 4px;
	margin-bottom: var(--sp-4);
	background: var(--c-brand);
}

.unh-contact-social .fb_iframe_widget,
.unh-contact-social .fusion-facebook-page {
	max-width: 100%;
}

@media (max-width: 1024px) {
	.unh-contact-main__info > .fusion-column-wrapper {
		padding-right: 0 !important;
		margin-bottom: var(--sp-7) !important;
	}
}

@media (max-width: 640px) {
	.unh-contact-head {
		padding-top: var(--sp-6) !important;
	}

	.unh-contact-main__form > .fusion-column-wrapper {
		padding: var(--sp-5) var(--sp-4) !important;
	}

	.unh-contact-main__form .fusion-button.form-form-submit {
		width: 100%;
		justify-content: center;
	}
}

/* ==========================================================================
   Quarterly newsletter — [unh_newsletters] (inc/newsletters.php)
   ========================================================================== */

.unh-issues__year + .unh-issues__year {
	margin-top: var(--sp-8);
}

.unh-issues__heading {
	margin: 0 0 var(--sp-5) !important;
	padding-bottom: var(--sp-3);
	border-bottom: 2px solid var(--c-ink);
	font-size: var(--fs-h3) !important;
	font-weight: 700 !important;
	font-variant-numeric: tabular-nums;
}

.unh-issues {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--sp-7) var(--sp-6);
}

.unh-issue {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--sp-4);
}

.unh-issue__cover {
	aspect-ratio: 210 / 297; /* A4 */
	overflow: hidden;
	background: var(--c-surface-alt);
	box-shadow: 0 1px 2px rgb(6 43 69 / 0.12), 0 0 0 1px var(--c-rule);
	transition: transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2) ease;
}

.unh-issue__cover img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.unh-issue:hover .unh-issue__cover,
.unh-issue:focus-within .unh-issue__cover {
	transform: translateY(-6px);
	box-shadow: 0 18px 32px rgb(6 43 69 / 0.18), 0 0 0 1px var(--c-rule);
}

.unh-issue__when {
	margin: 0 0 var(--sp-1) !important;
	color: var(--c-ink-muted);
	font-size: var(--fs-small);
	font-weight: 500;
}

.unh-issue__title {
	margin: 0 !important;
	font-size: var(--fs-h4) !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
}

.post-content .unh-issue__title a {
	color: var(--c-ink);
	text-decoration: none;
	background: linear-gradient(currentColor, currentColor) 0 100% / 0 2px no-repeat;
	transition: background-size var(--dur-3) var(--ease-out), color var(--dur-1) ease;
}

/* The whole card opens the PDF. */
.unh-issue__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.unh-issue:hover .unh-issue__title a,
.post-content .unh-issue__title a:focus-visible {
	color: var(--c-brand-deep);
	background-size: 100% 2px;
}

.unh-issue__excerpt {
	margin: var(--sp-2) 0 0 !important;
	color: var(--c-ink-muted);
	font-size: var(--fs-small);
	line-height: 1.55;
}

.unh-issue__file {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	margin: var(--sp-3) 0 0 !important;
	white-space: nowrap;
	color: var(--c-brand-deep);
	font-size: var(--fs-small);
	font-weight: 500;
}

.unh-issue__file::before {
	content: "↓";
	transition: transform var(--dur-2) var(--ease-out);
}

.unh-issue:hover .unh-issue__file::before {
	transform: translateY(2px);
}

/* Newest issue: a full row — cover at card size, text beside it. */
.unh-issue--featured {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
	align-items: center;
	gap: var(--sp-6);
	padding-bottom: var(--sp-7);
	border-bottom: 1px solid var(--c-rule);
}

.unh-issue--featured .unh-issue__body {
	max-width: 44rem;
}

.unh-issue--featured .unh-issue__title {
	font-size: var(--fs-h2) !important;
	line-height: 1.2 !important;
}

.unh-issue--featured .unh-issue__excerpt {
	font-size: var(--fs-lead);
	line-height: 1.55;
}

.unh-issue--featured .unh-issue__file {
	min-height: 44px;
	padding: 0 var(--sp-5);
	background: var(--c-brand-deep);
	color: var(--c-surface);
	font-size: 1rem;
}

@media (max-width: 1024px) {
	.unh-issues {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.unh-issue--featured {
		grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
	}
}

@media (max-width: 640px) {
	.unh-issues {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--sp-6) var(--sp-4);
	}

	.unh-issue--featured {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: end;
		gap: var(--sp-4);
	}

	.unh-issue--featured .unh-issue__title {
		font-size: var(--fs-h4) !important;
	}


	.unh-issue__title {
		font-size: 1.0625rem !important;
	}

	.unh-issue__excerpt {
		display: none;
	}

	.unh-issue--featured .unh-issue__file {
		padding: 0 var(--sp-3);
		font-size: var(--fs-small);
	}
}

@media (prefers-reduced-motion: reduce) {
	.unh-issue:hover .unh-issue__cover,
	.unh-issue:focus-within .unh-issue__cover {
		transform: none;
	}
}

/* ==========================================================================
   Footer — solid navy, full width
   ========================================================================== */

.fusion-tb-footer .fusion-fullwidth {
	margin: 0 !important;
	border-width: 0 !important;
	padding-top: var(--sp-8) !important;
	padding-bottom: var(--sp-7) !important;
	border-radius: 0 !important;
	background-image: none !important;
	background-color: var(--c-navy) !important;
	--awb-margin-top: 0 !important;
	--awb-margin-bottom: 0 !important;
	--awb-border-radius: 0 !important;
}

/* Footer content — [unh_footer] (inc/footer.php) ------------------------- */

.fusion-tb-footer .fusion-fullwidth:has(.unh-footer) {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	border-top: 4px solid var(--c-brand) !important;
}

.unh-footer {
	--f-muted: rgb(255 255 255 / 0.78); /* 10.3:1 on navy */
	padding: var(--sp-8) 0 var(--sp-5);
	color: var(--c-surface);
	font-size: var(--fs-small);
	line-height: 1.6;
	text-align: start;
}

.unh-footer p {
	margin: 0;
}

.unh-footer__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1.25fr) minmax(0, 1fr);
	gap: var(--sp-7) var(--sp-6);
}

.unh-footer__logo {
	display: block;
	width: 112px;
	height: auto;
	margin-bottom: var(--sp-5);
}

.unh-footer__name {
	margin-bottom: var(--sp-3) !important;
	color: var(--c-surface);
	font-size: var(--fs-body);
	font-weight: 700;
	line-height: 1.35;
}

.unh-footer__about {
	max-width: 40ch;
	color: var(--f-muted);
}

.unh-footer__heading {
	margin: 0 0 var(--sp-4) !important;
	padding-bottom: var(--sp-3);
	border-bottom: 1px solid rgb(255 255 255 / 0.18);
	color: var(--c-surface) !important;
	font-size: var(--fs-body) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.unh-footer__heading::after {
	content: "";
	display: block;
	width: 32px;
	height: 3px;
	margin-top: var(--sp-3);
	margin-bottom: calc(-1 * var(--sp-3) - 2px);
	background: var(--c-brand);
}

.unh-footer__links {
	margin: 0;
	padding: 0;
	list-style: none;
}

.unh-footer__links li {
	margin: 0;
}

.unh-footer a {
	color: var(--c-surface);
	text-decoration: none;
}

.unh-footer__links a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	color: var(--f-muted);
	transition: color var(--dur-1) ease, transform var(--dur-2) var(--ease-out);
}

.unh-footer__links--ext a::after {
	content: "↗";
	margin-left: 0.4em;
	font-size: 0.85em;
}

.unh-footer__links a:hover,
.unh-footer__links a:focus-visible {
	color: var(--c-surface);
	transform: translateX(4px);
	text-decoration: underline;
	text-underline-offset: 0.25em;
}

.unh-footer__contact {
	font-style: normal;
	color: var(--f-muted);
}

.unh-footer__contact p + p {
	margin-top: var(--sp-2);
}

.unh-footer__contact a {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	color: var(--c-surface);
	font-weight: 500;
	font-variant-numeric: tabular-nums;
}

.unh-footer__contact a:hover {
	text-decoration: underline;
	text-underline-offset: 0.25em;
}

.unh-footer__cta,
.unh-footer__social {
	display: inline-flex;
	align-items: center;
	gap: var(--sp-2);
	min-height: 44px;
	margin-top: var(--sp-5);
	padding: 0 var(--sp-5);
	border: 1px solid rgb(255 255 255 / 0.5);
	border-radius: 2px;
	color: var(--c-surface);
	font-weight: 500;
	transition: background-color var(--dur-1) ease, color var(--dur-1) ease, border-color var(--dur-1) ease;
}

.unh-footer__cta::after {
	content: "→";
	transition: transform var(--dur-2) var(--ease-out);
}

.unh-footer__cta:hover,
.unh-footer__social:hover {
	background: var(--c-surface);
	border-color: var(--c-surface);
	color: var(--c-navy);
}

.unh-footer__cta:hover::after {
	transform: translateX(4px);
}

.unh-footer__social {
	padding: 0 var(--sp-4);
}

.unh-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--sp-3);
	margin-top: var(--sp-8);
	padding-top: var(--sp-5);
	border-top: 1px solid rgb(255 255 255 / 0.18);
	color: var(--f-muted);
}

.unh-footer__top {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	min-height: 44px;
	color: var(--f-muted) !important;
}

.unh-footer__top:hover {
	color: var(--c-surface) !important;
}

.unh-footer__top span {
	transition: transform var(--dur-2) var(--ease-out);
}

.unh-footer__top:hover span {
	transform: translateY(-3px);
}

/* Avada colours pseudo-elements of text links with the body ink. */
.unh-footer a::after {
	color: inherit !important;
}

/* Avada's floating to-top button duplicates the footer link. */
body:has(.unh-footer) .to-top-container {
	display: none !important;
}

@media (max-width: 1024px) {
	.unh-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.unh-footer {
		padding-top: var(--sp-7);
	}

	.unh-footer__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--sp-6);
	}

	.unh-footer__logo {
		width: 88px;
	}

	.unh-footer__bottom {
		flex-direction: column;
		align-items: flex-start;
		margin-top: var(--sp-7);
	}
}

@media (prefers-reduced-motion: reduce) {
	.unh-footer__links a:hover,
	.unh-footer__links a:focus-visible {
		transform: none;
	}
}

/* ==========================================================================
   Single post — reading progress
   ========================================================================== */

.unh-progress {
	position: fixed;
	z-index: 10011;
	top: 0;
	left: 0;
	width: 100%;
	height: 4px;
	background: var(--c-brand-deep);
	transform: scaleX(var(--progress, 0));
	transform-origin: left;
	pointer-events: none;
}

.single-post .fusion-content-tb img {
	border-radius: 0;
}

/* ==========================================================================
   Sustainable Development Goals — [unh_sdg_grid] and [unh_sdg] (inc/sdg.php)
   The goal colour (--sdg) marks rules and dots only, never text: several
   official colours fail AA as text on white.
   ========================================================================== */

.unh-sdg-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: var(--sp-6) var(--sp-7);
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.unh-sdg-grid__item {
	margin: 0 !important;
	padding: 0 !important;
}

.unh-sdg-grid__item::before {
	content: none !important;
}

/* Avada's text-block link colour and underline outrank a plain selector. */
.post-content .unh-sdg-grid__item a {
	display: flex;
	flex-direction: column;
	gap: var(--sp-3);
	color: var(--c-ink) !important;
	text-decoration: none !important;
}

.unh-sdg-grid .unh-sdg-icon {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 12px;
	transition: transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2) ease;
}

.unh-sdg-grid a:hover .unh-sdg-icon,
.unh-sdg-grid a:focus-visible .unh-sdg-icon {
	transform: translateY(-6px);
	box-shadow: 0 16px 28px rgb(6 43 69 / 0.18);
}

.post-content .unh-sdg-grid a:focus-visible {
	outline-offset: 6px;
}

.unh-sdg-grid__name {
	font-size: var(--fs-small);
	font-weight: 500;
	line-height: 1.4;
	overflow-wrap: break-word;
	hyphens: auto;
}

.post-content .unh-sdg-grid a:hover .unh-sdg-grid__name {
	color: var(--c-brand-deep);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.unh-sdg-grid--names {
	gap: var(--sp-7) var(--sp-6);
}

.unh-sdg-grid__item--logo .unh-sdg-icon {
	object-fit: contain;
	background: var(--c-surface);
}

/* SDG overview page (23, scripts/content/sdg-23.txt) ---------------------- */

/* Year ranges such as 2016–2030 stay on one line. */
.unh-nowrap {
	white-space: nowrap;
}

.unh-sdg-hub-intro {
	padding-top: var(--sp-7) !important;
}

.post-content .unh-sdg-hub-intro__period p {
	margin: 0 0 var(--sp-4);
	color: var(--c-ink-muted);
	font-size: var(--fs-small);
	font-weight: 500;
}

.unh-sdg-hub-intro__logo img {
	display: block;
	width: 100%;
	max-width: 440px;
	height: auto;
	margin-left: auto;
}

.unh-sdg-hub-intro__facts {
	margin-top: var(--sp-8) !important;
}

.post-content .unh-sdg-facts__source {
	margin: var(--sp-4) 0 0;
	color: var(--c-ink-muted);
	font-size: var(--fs-small);
}

.post-content .unh-sdg-facts__source a {
	color: var(--c-brand-deep);
	text-decoration: underline !important;
	text-underline-offset: 0.2em;
}

.unh-sdg-grid__count {
	margin-top: calc(-1 * var(--sp-2));
	color: var(--c-ink-muted);
	font-size: var(--fs-small);
	font-variant-numeric: tabular-nums;
}

/* Goal 11: the goal on the left, the quoted targets on the right. */
.unh-sdg-focus {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
	gap: var(--sp-8);
	align-items: start;
}

.unh-sdg-focus__goal {
	padding-top: var(--sp-5);
	border-top: 4px solid var(--sdg);
}

.unh-sdg-focus__icon {
	display: block;
	width: 120px;
	height: auto;
	margin-bottom: var(--sp-5);
	border-radius: 12px;
}

.post-content .unh-sdg-focus__name {
	margin: 0 0 var(--sp-3);
	color: var(--c-ink);
	font-size: var(--fs-h4);
	font-weight: 700;
	line-height: var(--lh-heading);
}

.post-content .unh-sdg-focus__statement {
	margin: 0 0 var(--sp-4);
}

.unh-sdg-focus__targets {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	border-top: 2px solid var(--c-ink);
}

.unh-sdg-focus__targets li {
	display: grid;
	grid-template-columns: 4rem minmax(0, 1fr);
	gap: var(--sp-4);
	margin: 0 !important;
	padding: var(--sp-5) 0 !important;
	border-bottom: 1px solid var(--c-rule);
}

.unh-sdg-focus__targets li::before {
	content: none !important;
}

.unh-sdg-focus__code {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	line-height: var(--lh-body);
}

.post-content .unh-sdg-focus__targets p {
	max-width: var(--measure);
	margin: 0;
}

.unh-logos__strip img {
	display: block;
	width: 100%;
	height: auto;
}

@media (max-width: 1024px) {
	.unh-sdg-focus {
		grid-template-columns: 1fr;
		gap: var(--sp-6);
	}
}

@media (max-width: 640px) {
	.unh-sdg-hub-intro__logo {
		margin-top: var(--sp-5) !important;
	}

	.unh-sdg-hub-intro__logo img {
		margin-left: 0;
	}

	.unh-sdg-hub-intro__facts {
		margin-top: var(--sp-6) !important;
	}

	.unh-sdg-focus__icon {
		width: 88px;
	}

	.unh-sdg-focus__targets li {
		grid-template-columns: 1fr;
		gap: var(--sp-1);
	}

	/* The logo strip is 20:1; let it scroll inside its own (focusable)
	   box rather than shrink the logos to an unreadable 18px. */
	.unh-logos__strip {
		overflow-x: auto;
	}

	.unh-logos__strip img {
		width: 900px;
		max-width: none;
	}
}

/* Goal page --------------------------------------------------------------- */

.unh-sdg-page {
	max-width: 980px;
	padding-bottom: var(--sp-8);
}

.unh-sdg-page__head {
	display: grid;
	grid-template-columns: 176px minmax(0, 1fr);
	gap: var(--sp-6) var(--sp-7);
	align-items: start;
	padding-bottom: var(--sp-7);
	border-bottom: 1px solid var(--c-rule);
}

.unh-sdg-page__icon {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 12px;
}

.post-content .unh-sdg-page__num {
	margin: 0 0 var(--sp-3);
	color: var(--c-ink-muted);
	font-size: var(--fs-small);
	font-weight: 500;
}

.post-content .unh-sdg-page__title {
	margin: 0 0 var(--sp-4) !important;
	color: var(--c-ink) !important;
	font-size: var(--fs-h1) !important;
	font-weight: 700 !important;
	line-height: var(--lh-tight) !important;
	letter-spacing: -0.01em !important;
}

.post-content .unh-sdg-page__title::before {
	content: "";
	display: block;
	width: 48px;
	height: 4px;
	margin-bottom: var(--sp-4);
	background: var(--sdg);
}

.post-content .unh-sdg-page__statement {
	max-width: var(--measure);
	margin: 0 0 var(--sp-4);
	font-size: var(--fs-lead);
	line-height: 1.5;
}

.post-content .unh-sdg-page__count {
	margin: 0;
	color: var(--c-ink-muted);
	font-size: var(--fs-small);
	font-variant-numeric: tabular-nums;
}

.unh-sdg-page h2 {
	margin: var(--sp-8) 0 var(--sp-5) !important;
	font-size: var(--fs-h3) !important;
	font-weight: 700 !important;
}

.unh-sdg-targets__list {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	border-top: 2px solid var(--c-ink);
}

.unh-sdg-target {
	display: grid;
	grid-template-columns: 4.5rem minmax(0, 1fr);
	gap: var(--sp-4);
	margin: 0 !important;
	padding: var(--sp-5) 0 !important;
	border-bottom: 1px solid var(--c-rule);
}

.unh-sdg-target__code,
.unh-sdg-ind__code {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.unh-sdg-target__code {
	display: flex;
	align-items: baseline;
	gap: var(--sp-2);
	line-height: var(--lh-body);
}

.unh-sdg-target__code::before {
	content: "";
	flex: none;
	width: 8px;
	height: 8px;
	background: var(--sdg);
}

.post-content .unh-sdg-target__text {
	max-width: var(--measure);
	margin: 0;
}

/* Indicators: closed by default; native <details> works without JS. */
.unh-sdg-target__ind {
	margin-top: var(--sp-3);
}

.unh-sdg-target__ind summary {
	display: inline-flex;
	align-items: center;
	gap: var(--sp-2);
	min-height: 44px;
	color: var(--c-brand-deep);
	font-size: var(--fs-small);
	font-weight: 500;
	cursor: pointer;
	list-style: none;
}

.unh-sdg-target__ind summary::-webkit-details-marker {
	display: none;
}

.unh-sdg-target__ind summary::before {
	content: "";
	width: 0.45em;
	height: 0.45em;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(-45deg);
	transition: transform var(--dur-1) ease;
}

.unh-sdg-target__ind[open] summary::before {
	transform: rotate(45deg);
}

.unh-sdg-target__ind summary:hover {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.unh-sdg-target__ind ul {
	margin: var(--sp-2) 0 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.unh-sdg-ind {
	display: grid;
	grid-template-columns: 4.5rem minmax(0, 1fr);
	gap: var(--sp-3);
	margin: 0 !important;
	padding: var(--sp-4) !important;
	background: var(--c-surface-alt);
	font-size: var(--fs-small);
	line-height: 1.5;
}

.unh-sdg-ind + .unh-sdg-ind {
	margin-top: 2px !important;
}

.post-content .unh-sdg-ind__text {
	margin: 0 0 var(--sp-2);
}

.unh-sdg-ind__meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-1) var(--sp-5);
	color: var(--c-ink-muted);
}

.unh-sdg-ind__meta dl {
	display: contents;
}

/* Label and value run as one line of text, so long agency names wrap
   naturally at any width. */
.unh-sdg-ind__meta dt,
.unh-sdg-ind__meta dd {
	display: inline;
	margin: 0;
}

.unh-sdg-ind__meta dt {
	font-weight: 400;
}

.unh-sdg-ind__meta dt::after {
	content: ": ";
}

.unh-sdg-ind__meta dd {
	color: var(--c-ink);
}

.unh-sdg-ind__status {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
}

.unh-sdg-ind__status::before {
	content: "";
	width: 8px;
	height: 8px;
	border: 1.5px solid var(--c-ink-muted);
	border-radius: 50%;
}

.unh-sdg-ind__status.is-yes::before {
	border-color: #2e7d32;
	background: #2e7d32;
}

.unh-sdg-page__source p {
	max-width: var(--measure);
	color: var(--c-ink-muted);
	font-size: var(--fs-small);
}

/* Links inside running text need more than colour (WCAG 1.4.1). */
.post-content .unh-sdg-page__source a {
	color: var(--c-brand-deep);
	text-decoration: underline !important;
	text-underline-offset: 0.2em;
}

.unh-sdg-nav {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--sp-4);
	margin-top: var(--sp-7);
	padding-top: var(--sp-6);
	border-top: 1px solid var(--c-rule);
}

.post-content .unh-sdg-nav__prev,
.post-content .unh-sdg-nav__next {
	display: flex;
	flex-direction: column;
	gap: var(--sp-1);
	padding: var(--sp-4) var(--sp-5);
	border: 1px solid var(--c-rule);
	color: var(--c-ink);
	text-decoration: none;
	transition: border-color var(--dur-1) ease;
}

.unh-sdg-nav__next {
	grid-column: 2;
	text-align: right;
}

.post-content .unh-sdg-nav__prev:hover,
.post-content .unh-sdg-nav__next:hover {
	border-color: var(--c-brand-deep);
}

.unh-sdg-nav__dir {
	color: var(--c-ink-muted);
	font-size: var(--fs-small);
}

.unh-sdg-nav__prev .unh-sdg-nav__dir::before {
	content: "← ";
}

.unh-sdg-nav__next .unh-sdg-nav__dir::after {
	content: " →";
}

.unh-sdg-nav__name {
	font-weight: 600;
}

.post-content .unh-sdg-nav__all {
	grid-column: 1 / -1;
	justify-self: start;
}

@media (max-width: 1024px) {
	.unh-sdg-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: var(--sp-5);
	}
}

@media (max-width: 640px) {
	.unh-sdg-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: var(--sp-4) var(--sp-3);
	}

	.unh-sdg-grid--names {
		gap: var(--sp-5) var(--sp-3);
	}

	.unh-sdg-grid .unh-sdg-icon {
		border-radius: 8px;
	}

	/* Icon beside the number and title; statement spans the full width. */
	.unh-sdg-page__head {
		grid-template-columns: 88px minmax(0, 1fr);
		gap: var(--sp-2) var(--sp-4);
	}

	.unh-sdg-page__head .unh-sdg-page__intro {
		display: contents;
	}

	.unh-sdg-page__icon {
		grid-row: 1 / span 2;
	}

	.post-content .unh-sdg-page__num,
	.post-content .unh-sdg-page__title {
		grid-column: 2;
	}

	.post-content .unh-sdg-page__num {
		align-self: end;
		margin: 0;
	}

	.post-content .unh-sdg-page__title {
		align-self: start;
		margin: 0 !important;
		font-size: var(--fs-h3) !important;
	}

	.post-content .unh-sdg-page__title::before {
		display: none;
	}

	.post-content .unh-sdg-page__statement {
		grid-column: 1 / -1;
		margin-top: var(--sp-4);
	}

	.post-content .unh-sdg-page__count {
		grid-column: 1 / -1;
	}

	.unh-sdg-target,
	.unh-sdg-ind {
		grid-template-columns: 1fr;
		gap: var(--sp-1);
	}

	.unh-sdg-nav {
		grid-template-columns: 1fr;
	}

	.unh-sdg-nav__next {
		grid-column: auto;
		text-align: left;
	}
}

/* ==========================================================================
   Research and publications — [unh_publications] (inc/publications.php)
   Same card language as the newsletter issues: flat cover with a hairline,
   lift on hover, the whole card opens the PDF.
   ========================================================================== */

.unh-pubs {
	--pub-cover: 210 / 297;
}

.post-content .unh-pubs__facts {
	margin: calc(-1 * var(--sp-3)) 0 var(--sp-8);
	color: var(--c-ink-muted);
	font-size: var(--fs-small);
	font-variant-numeric: tabular-nums;
}

.unh-pub__cover {
	display: block;
	aspect-ratio: var(--pub-cover);
	overflow: hidden;
	background: var(--c-surface-alt);
	box-shadow: 0 1px 2px rgb(6 43 69 / 0.12), 0 0 0 1px var(--c-rule);
	transition: transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2) ease;
}

.unh-pub__cover img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.post-content .unh-pub__title {
	margin: 0 0 var(--sp-2) !important;
	color: var(--c-ink) !important;
	font-weight: 700 !important;
	line-height: var(--lh-heading) !important;
}

.post-content .unh-pub__subtitle {
	margin: 0 0 var(--sp-3);
	color: var(--c-ink-muted);
	font-size: var(--fs-small);
	line-height: 1.45;
}

.post-content .unh-pub__meta {
	margin: 0 0 var(--sp-4);
	color: var(--c-ink);
	font-size: var(--fs-small);
	font-weight: 500;
	font-variant-numeric: tabular-nums;
}

.post-content .unh-pub__excerpt {
	max-width: var(--measure);
	margin: 0 0 var(--sp-4);
}

.post-content .unh-pub__file {
	margin: 0;
	color: var(--c-ink-muted);
	font-size: var(--fs-small);
}

/* Featured: the newest report, cover beside the text. --------------------- */

.unh-pub--featured {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
	gap: var(--sp-8);
	align-items: center;
	padding-bottom: var(--sp-8);
	border-bottom: 1px solid var(--c-rule);
}

.unh-pub--featured .unh-pub__cover {
	max-width: 400px;
}

.unh-pub--featured .unh-pub__cover:hover {
	transform: translateY(-6px);
	box-shadow: 0 18px 32px rgb(6 43 69 / 0.18), 0 0 0 1px var(--c-rule);
}

.post-content .unh-pub--featured .unh-pub__title {
	font-size: var(--fs-h2) !important;
}

.post-content .unh-pub--featured .unh-pub__subtitle {
	font-size: var(--fs-body);
}

.post-content .unh-pub--featured .unh-pub__excerpt {
	font-size: var(--fs-lead);
	line-height: 1.55;
}

.post-content .unh-pub__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--sp-3) var(--sp-5);
	margin: var(--sp-5) 0 0;
}

/* Groups (series) and cards ----------------------------------------------- */

.unh-pubs__group {
	margin-top: var(--sp-8);
}

.post-content .unh-pubs__heading {
	max-width: 40ch;
	margin: 0 0 var(--sp-6) !important;
	padding-bottom: var(--sp-3);
	border-bottom: 2px solid var(--c-ink);
	font-size: var(--fs-h3) !important;
	font-weight: 700 !important;
	line-height: var(--lh-heading) !important;
}

.unh-pubs__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--sp-7) var(--sp-6);
}

.unh-pub:not(.unh-pub--featured) {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--sp-4);
}

.post-content .unh-pub:not(.unh-pub--featured) .unh-pub__title {
	font-size: var(--fs-h4) !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
}

.post-content .unh-pub__title a {
	color: var(--c-ink) !important;
	text-decoration: none !important;
	background: linear-gradient(currentColor, currentColor) 0 100% / 0 2px no-repeat;
	transition: background-size var(--dur-2) var(--ease-out);
}

/* The whole card opens the PDF. */
.unh-pub__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.unh-pub:not(.unh-pub--featured):hover .unh-pub__cover,
.unh-pub:not(.unh-pub--featured):focus-within .unh-pub__cover {
	transform: translateY(-6px);
	box-shadow: 0 18px 32px rgb(6 43 69 / 0.18), 0 0 0 1px var(--c-rule);
}

.post-content .unh-pub:hover .unh-pub__title a,
.post-content .unh-pub:focus-within .unh-pub__title a {
	background-size: 100% 2px;
}

.post-content .unh-pub:not(.unh-pub--featured) .unh-pub__excerpt {
	font-size: var(--fs-small);
	line-height: 1.55;
}

.unh-pubs__more {
	margin-top: var(--sp-8) !important;
	padding-top: var(--sp-5);
	border-top: 1px solid var(--c-rule);
}

@media (max-width: 1024px) {
	.unh-pub--featured {
		gap: var(--sp-6);
	}

	.unh-pubs__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Phone: featured stacks; cards become rows with a small cover. */
@media (max-width: 640px) {
	.post-content .unh-pubs__facts {
		margin-bottom: var(--sp-6);
	}

	.unh-pub--featured {
		grid-template-columns: 1fr;
		gap: var(--sp-5);
		padding-bottom: var(--sp-7);
	}

	.unh-pub--featured .unh-pub__cover {
		width: 60%;
		max-width: 240px;
	}

	.post-content .unh-pub--featured .unh-pub__title {
		font-size: var(--fs-h3) !important;
	}

	.post-content .unh-pub--featured .unh-pub__excerpt {
		font-size: var(--fs-body);
	}

	.unh-pubs__group {
		margin-top: var(--sp-7);
	}

	.unh-pubs__grid {
		grid-template-columns: 1fr;
		gap: var(--sp-6);
	}

	.unh-pub:not(.unh-pub--featured) {
		display: grid;
		grid-template-columns: 96px minmax(0, 1fr);
		gap: 0 var(--sp-4);
		align-items: start;
	}

	.post-content .unh-pub:not(.unh-pub--featured) .unh-pub__title {
		font-size: var(--fs-body) !important;
	}

	.post-content .unh-pub:not(.unh-pub--featured) .unh-pub__meta {
		margin-bottom: var(--sp-2);
	}

	/* The body unwraps so the description runs under cover and title at
	   full width instead of in a narrow column. */
	.unh-pub:not(.unh-pub--featured) .unh-pub__body {
		display: contents;
	}

	.unh-pub:not(.unh-pub--featured) .unh-pub__cover {
		grid-row: 1 / span 3;
	}

	.unh-pub:not(.unh-pub--featured) :is(.unh-pub__title, .unh-pub__subtitle, .unh-pub__meta) {
		grid-column: 2;
	}

	.unh-pub:not(.unh-pub--featured) :is(.unh-pub__excerpt, .unh-pub__file) {
		grid-column: 1 / -1;
	}

	.post-content .unh-pub:not(.unh-pub--featured) .unh-pub__excerpt {
		margin: var(--sp-2) 0 0;
	}

	.post-content .unh-pub:not(.unh-pub--featured) .unh-pub__file {
		margin-top: var(--sp-2);
	}

	.unh-pubs__more {
		margin-top: var(--sp-7) !important;
	}
}

/* ==========================================================================
   «Сайн туршлага» — overview page (scripts/content/stories-page.txt) and
   story pages (single-unh_story.php, inc/stories.php)
   ========================================================================== */

/* Intro: text beside the compilation's cover photo. */
.unh-stories-intro__photo img {
	display: block;
	width: 100%;
	aspect-ratio: 5 / 3;
	height: auto;
	object-fit: cover;
}

.unh-stories-intro__photo .fusion-imageframe {
	position: relative;
	isolation: isolate; /* keeps the block below behind the photo only */
	overflow: visible !important;
}

/* The brand block behind the photo, as in the home hero. */
.unh-stories-intro__photo .fusion-imageframe::before {
	content: "";
	position: absolute;
	inset: var(--sp-5) calc(-1 * var(--sp-5)) calc(-1 * var(--sp-5)) var(--sp-5);
	z-index: -1;
	background: var(--c-brand);
}

.unh-stories-intro__facts {
	margin-top: var(--sp-8) !important;
}

/* The method band is tinted like the home SDG band. */
.unh-stories-method {
	background-image: none !important;
	background-color: var(--c-surface-alt) !important;
}

/* Topic filter (shown by js/interactive.js). */
.unh-stories-filter {
	margin-bottom: var(--sp-6);
}

.post-content .unh-stories-filter__label {
	margin: 0 0 var(--sp-3);
	color: var(--c-ink-muted);
	font-size: var(--fs-small);
	font-weight: 500;
}

.unh-stories-filter ul {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-2);
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.unh-stories-filter li {
	margin: 0 !important;
	padding: 0 !important;
}

.unh-stories-filter li::before {
	content: none !important;
}

.unh-stories-filter button {
	display: inline-flex;
	align-items: center;
	gap: var(--sp-2);
	min-height: 44px;
	padding: 0 var(--sp-4);
	border: 1px solid var(--c-rule);
	border-radius: 0;
	background: var(--c-surface);
	color: var(--c-ink);
	font: inherit;
	font-size: var(--fs-small);
	font-weight: 500;
	cursor: pointer;
	transition: border-color var(--dur-1) ease, background-color var(--dur-2) ease, color var(--dur-2) ease;
}

.unh-stories-filter button span {
	color: var(--c-ink-muted);
	font-variant-numeric: tabular-nums;
}

.unh-stories-filter button:hover {
	border-color: var(--c-brand-deep);
}

.unh-stories-filter button[aria-pressed="true"] {
	border-color: var(--c-ink);
	background: var(--c-ink);
	color: var(--c-surface);
}

.unh-stories-filter button[aria-pressed="true"] span {
	color: inherit;
	opacity: 0.75;
}

/* Story cards. */
.unh-stories {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--sp-7) var(--sp-6);
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.unh-story {
	margin: 0 !important;
	padding: 0 !important;
}

.unh-story::before {
	content: none !important;
}

.unh-story[hidden] {
	display: none !important;
}

.unh-story article {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--sp-4);
	height: 100%;
}

.unh-story__media {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--c-surface-alt);
}

.unh-story__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 900ms var(--ease-out);
}

.unh-story article:hover .unh-story__media img {
	transform: scale(1.04);
}

.unh-story__year {
	position: absolute;
	left: 0;
	bottom: 0;
	padding: var(--sp-1) var(--sp-3);
	background: var(--c-ink);
	color: var(--c-surface);
	font-size: var(--fs-small);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.post-content .unh-story__title {
	margin: 0 !important;
	font-size: var(--fs-h4) !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
}

.post-content .unh-story__title a {
	color: var(--c-ink) !important;
	text-decoration: none !important;
	background: linear-gradient(currentColor, currentColor) 0 100% / 0 2px no-repeat;
	transition: background-size var(--dur-3) var(--ease-out);
}

/* The whole card opens the story. */
.unh-story__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.post-content .unh-story article:hover .unh-story__title a,
.post-content .unh-story__title a:focus-visible {
	background-size: 100% 2px;
}

.post-content .unh-story__byline {
	margin: var(--sp-2) 0 0;
	color: var(--c-ink);
	font-size: var(--fs-small);
	font-weight: 500;
}

.post-content .unh-story__topics {
	margin: var(--sp-1) 0 0;
	color: var(--c-ink-muted);
	font-size: var(--fs-small);
}

/* The People's Process: four stages, bar widths proportional to time. --- */

.unh-method {
	--stage-1: #7fd3ec;
	--stage-2: var(--c-brand);
	--stage-3: #0077b6;
	--stage-4: var(--c-brand-deep);
}

.unh-method__timeline {
	display: flex;
	gap: 3px;
	margin: 0 0 var(--sp-7) !important;
	padding: 0 !important;
	list-style: none !important;
}

.unh-method__seg {
	flex: 0 0 var(--share);
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
}

.unh-method__seg::before {
	content: "";
	display: block;
	height: 10px;
	margin-bottom: var(--sp-2);
	background: var(--seg);
}

.unh-method__seg span {
	display: block;
	color: var(--c-ink-muted);
	font-size: var(--fs-small);
	white-space: nowrap;
}

/* The first two stages are too short on the bar for their labels; the
   stage cards below carry the same text. */
.unh-method__seg--1 span,
.unh-method__seg--2 span {
	visibility: hidden;
}

.unh-method__seg--1 { --seg: var(--stage-1); }
.unh-method__seg--2 { --seg: var(--stage-2); }
.unh-method__seg--3 { --seg: var(--stage-3); }
.unh-method__seg--4 { --seg: var(--stage-4); }

.unh-method__stages {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--sp-6);
}

.unh-method__stage {
	padding-top: var(--sp-4);
	border-top: 6px solid var(--seg);
}

.unh-method__stage--1 { --seg: var(--stage-1); }
.unh-method__stage--2 { --seg: var(--stage-2); }
.unh-method__stage--3 { --seg: var(--stage-3); }
.unh-method__stage--4 { --seg: var(--stage-4); }

.post-content .unh-method__stage h3 {
	margin: 0 0 var(--sp-4) !important;
	font-size: var(--fs-h4) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

.unh-method__stage h3 span {
	display: block;
	color: var(--c-ink-muted);
	font-size: var(--fs-small);
	font-weight: 500;
}

.unh-method__stage ol {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.unh-method__stage li {
	display: grid;
	grid-template-columns: 2rem minmax(0, 1fr);
	gap: var(--sp-2);
	margin: 0 !important;
	padding: var(--sp-3) 0 !important;
	border-bottom: 1px solid var(--c-rule);
	font-size: var(--fs-small);
	line-height: 1.5;
}

.unh-method__stage li::before {
	content: none !important;
}

.unh-method__n {
	color: var(--c-ink);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.unh-stories-method blockquote,
.post-content .unh-story-page__quote {
	background: none !important;
	font-style: normal !important;
}

.unh-stories-method blockquote {
	max-width: 46ch;
	margin: var(--sp-8) 0 0 !important;
	padding: 0 0 0 var(--sp-5) !important;
	border-left: 4px solid var(--c-brand) !important;
	font-size: var(--fs-h4);
	font-weight: 500;
	line-height: 1.45;
}

.post-content .unh-stories-method blockquote p {
	margin: 0;
	color: var(--c-ink);
	font-size: var(--fs-h4);
	font-style: normal;
	font-weight: 500;
	line-height: 1.45;
}

/* Where: khoroos per district. ------------------------------------------ */

.post-content .unh-where__total {
	margin: 0 0 var(--sp-6);
	color: var(--c-ink-muted);
}

.unh-where__total strong {
	margin-right: var(--sp-2);
	color: var(--c-ink);
	font-size: var(--fs-h2);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.unh-where ul {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.unh-where li {
	margin: 0 !important;
	padding: var(--sp-4) 0 !important;
	border-top: 1px solid var(--c-rule);
}

.unh-where li::before {
	content: none !important;
}

.unh-where__head {
	display: flex;
	justify-content: space-between;
	gap: var(--sp-4);
	font-weight: 600;
}

.unh-where__count {
	font-variant-numeric: tabular-nums;
}

.unh-where__bar {
	height: 8px;
	margin: var(--sp-2) 0;
	background: linear-gradient(var(--c-brand), var(--c-brand)) 0 0 / var(--share) 100% no-repeat, var(--c-surface-alt);
}

.post-content .unh-where__list {
	margin: 0;
	color: var(--c-ink-muted);
	font-size: var(--fs-small);
}

/* Story page ---------------------------------------------------------------- */

.unh-story-page {
	padding: var(--sp-6) 0 var(--sp-8);
}

.unh-story-page__head {
	max-width: 52rem;
	margin-bottom: var(--sp-7);
}

.post-content .unh-story-page__crumb {
	margin: 0 0 var(--sp-4);
	color: var(--c-ink-muted);
	font-size: var(--fs-small);
	font-weight: 500;
}

.post-content .unh-story-page__crumb a {
	color: var(--c-brand-deep);
	text-decoration: underline !important;
	text-underline-offset: 0.2em;
}

.post-content .unh-story-page__title {
	margin: 0 0 var(--sp-4) !important;
	color: var(--c-ink) !important;
	font-size: var(--fs-h1) !important;
	font-weight: 700 !important;
	line-height: var(--lh-tight) !important;
	letter-spacing: -0.01em !important;
}

.post-content .unh-story-page__title::before {
	content: "";
	display: block;
	width: 48px;
	height: 4px;
	margin-bottom: var(--sp-4);
	background: var(--c-brand);
}

.post-content .unh-story-page__byline {
	margin: 0 0 var(--sp-4);
	font-size: var(--fs-lead);
	font-weight: 500;
}

.unh-story-page__topics {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-2);
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.unh-story-page__topics li {
	margin: 0 !important;
	padding: 0 !important;
}

.unh-story-page__topics li::before {
	content: none !important;
}

.post-content .unh-story-page__topics a {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 0 var(--sp-3);
	border: 1px solid var(--c-rule);
	color: var(--c-ink) !important;
	font-size: var(--fs-small);
	text-decoration: none !important;
}

.post-content .unh-story-page__topics a:hover {
	border-color: var(--c-brand-deep);
}

.unh-story-page__layout {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
	gap: var(--sp-8);
	align-items: start;
}

.post-content .unh-story-page__text p {
	max-width: var(--measure);
}

.post-content .unh-story-page__text > p:first-child {
	font-size: var(--fs-lead);
	line-height: 1.6;
}

.unh-story-page__quote {
	max-width: 40ch;
	margin: var(--sp-7) 0 !important;
	padding: 0 0 0 var(--sp-5) !important;
	border-left: 4px solid var(--c-brand) !important;
}

.post-content .unh-story-page__quote p {
	margin: 0 0 var(--sp-3);
	color: var(--c-ink);
	font-size: var(--fs-h3);
	font-weight: 600;
	line-height: 1.35;
}

.unh-story-page__quote p::before { content: "“"; }
.unh-story-page__quote p::after { content: "”"; }

.unh-story-page__quote cite {
	color: var(--c-ink-muted);
	font-size: var(--fs-small);
	font-style: normal;
	font-weight: 500;
}

.unh-story-page__aside {
	display: flex;
	flex-direction: column;
	gap: var(--sp-6);
}

.unh-story-page__photo,
.unh-story-page__photos figure {
	margin: 0;
}

.unh-story-page__photo img,
.unh-story-page__photos img {
	display: block;
	width: 100%;
	height: auto;
}

.unh-story-page__group {
	padding: var(--sp-5);
	background: var(--c-surface-alt);
	border-top: 4px solid var(--c-brand);
}

.post-content .unh-story-page__group h2 {
	margin: 0 0 var(--sp-3) !important;
	font-size: var(--fs-h4) !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

.post-content .unh-story-page__group p {
	margin: 0;
	font-size: var(--fs-small);
	line-height: 1.6;
}

.unh-story-page__photos {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--sp-3);
}

.unh-story-page__photos img {
	aspect-ratio: 1;
	object-fit: cover;
}

.unh-story-page__nav {
	margin-top: var(--sp-8);
}

.post-content .unh-story-page__source {
	max-width: var(--measure);
	margin: var(--sp-6) 0 0;
	color: var(--c-ink-muted);
	font-size: var(--fs-small);
}

.post-content .unh-story-page__source a {
	color: var(--c-brand-deep);
	text-decoration: underline !important;
	text-underline-offset: 0.2em;
}

@media (max-width: 1024px) {
	.unh-stories {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.unh-method__stages {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--sp-7) var(--sp-6);
	}

	.unh-story-page__layout {
		grid-template-columns: 1fr;
		gap: var(--sp-6);
	}

	/* Photo first, then the story, then the group and the other photos. */
	.unh-story-page__aside {
		display: contents;
	}

	.unh-story-page__photo { order: 1; }
	.unh-story-page__text { order: 2; }
	.unh-story-page__group { order: 3; }
	.unh-story-page__photos { order: 4; }

	.unh-story-page__photo {
		max-width: 560px;
	}
}

@media (max-width: 640px) {
	.unh-stories-intro__photo {
		margin-top: var(--sp-6) !important;
	}

	.unh-stories-intro__photo .fusion-imageframe::before {
		inset: var(--sp-3) calc(-1 * var(--sp-3)) calc(-1 * var(--sp-3)) var(--sp-3);
	}

	.unh-stories {
		grid-template-columns: 1fr;
		gap: var(--sp-6);
	}

	.unh-method__stages {
		grid-template-columns: 1fr;
	}

	.unh-method__seg span {
		display: none;
	}

	.unh-story-page__photos {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* ==========================================================================
   Motion with a job (2026-10-01). Each effect explains something; content
   is never hidden waiting for it, and all of it stops under
   prefers-reduced-motion (see the block at the end of this file).
   ========================================================================== */

/* SDG icon flies from a grid tile to the goal page header and back. The
   tile and the header icon share view-transition-name "sdg-icon-N"
   (inc/sdg.php); the rest of the page cross-fades quickly. */
::view-transition-group(*) {
	animation-duration: 480ms;
	animation-timing-function: var(--ease-out);
}

::view-transition-group(root) {
	animation-duration: 260ms;
}

/* Home grid shows icons only: the target count slides in under the tile. */
.unh-sdg-grid__item a {
	position: relative;
}

.unh-sdg-grid__hint {
	position: absolute;
	top: calc(100% + var(--sp-1));
	left: 0;
	right: 0;
	color: var(--c-ink-muted);
	font-size: var(--fs-small);
	font-weight: 500;
	text-align: center;
	opacity: 0;
	transform: translateY(-6px);
	transition: opacity var(--dur-1) ease, transform var(--dur-2) var(--ease-out);
	pointer-events: none;
}

.unh-sdg-grid a:hover .unh-sdg-grid__hint,
.unh-sdg-grid a:focus-visible .unh-sdg-grid__hint {
	opacity: 1;
	transform: none;
}

/* Touch screens have no hover; the count would only flash on tap. */
@media (hover: none) {
	.unh-sdg-grid__hint {
		display: none;
	}
}

/* Grids arrive in reading order as they scroll into view: SDG icons,
   project cards, publications. Scroll-driven, no JS; browsers without
   scroll timelines (and anything already on screen) show them at once. */
@media (prefers-reduced-motion: no-preference) {
	@supports (animation-timeline: view()) {
		.unh-sdg-grid__item,
		.unh-project-list > li,
		.unh-stories > li,
		.unh-pubs__grid > .unh-pub {
			animation: unh-rise linear both;
			animation-timeline: view();
			animation-range: entry calc(var(--stagger, 0) * 7%) entry calc(55% + var(--stagger, 0) * 7%);
		}

		.unh-sdg-grid__item:nth-child(6n + 2),
		.unh-project-list > li:nth-child(3n + 2),
		.unh-stories > li:nth-child(3n + 2),
		.unh-pubs__grid > .unh-pub:nth-child(3n + 2) {
			--stagger: 1;
		}

		.unh-sdg-grid__item:nth-child(6n + 3),
		.unh-project-list > li:nth-child(3n + 3),
		.unh-stories > li:nth-child(3n + 3),
		.unh-pubs__grid > .unh-pub:nth-child(3n + 3) {
			--stagger: 2;
		}

		.unh-sdg-grid__item:nth-child(6n + 4) { --stagger: 3; }
		.unh-sdg-grid__item:nth-child(6n + 5) { --stagger: 4; }
		.unh-sdg-grid__item:nth-child(6n + 6) { --stagger: 5; }

		/* One column on phones: no sideways stagger. */
		@media (max-width: 640px) {
			.unh-project-list > li,
			.unh-stories > li,
			.unh-pubs__grid > .unh-pub {
				--stagger: 0;
			}

			.unh-sdg-grid__item:nth-child(3n + 1) { --stagger: 0; }
			.unh-sdg-grid__item:nth-child(3n + 2) { --stagger: 1; }
			.unh-sdg-grid__item:nth-child(3n + 3) { --stagger: 2; }
		}
	}
}

/* «Хаана ажилласан бэ»: district bars grow to their share on first view. */
@keyframes unh-bar-grow {
	from { background-size: 0 100%, auto; }
}

@media (prefers-reduced-motion: no-preference) {
	@supports (animation-timeline: view()) {
		.unh-where__bar {
			animation: unh-bar-grow linear both;
			animation-timeline: view();
			animation-range: entry 20% cover 35%;
		}
	}
}

/* Goal page: index of target codes ---------------------------------------- */

.unh-sdg-targets__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--sp-3) var(--sp-5);
	margin: var(--sp-8) 0 var(--sp-5);
}

.unh-sdg-page .unh-sdg-targets__head h2 {
	margin: 0 !important;
}

/* "Open all indicators" — added by js/interactive.js. */
.unh-sdg-toggle {
	min-height: 44px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--c-brand-deep);
	font: inherit;
	font-size: var(--fs-small);
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 0.25em;
	cursor: pointer;
}

.unh-sdg-toggle:hover {
	color: var(--c-brand-deep-hover);
	text-decoration-thickness: 2px;
}

.unh-sdg-index ul {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-2);
	margin: 0 0 var(--sp-5) !important;
	padding: 0 !important;
	list-style: none !important;
}

.unh-sdg-index li {
	margin: 0 !important;
	padding: 0 !important;
}

.unh-sdg-index li::before {
	content: none !important;
}

.post-content .unh-sdg-index a {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	min-height: 40px;
	padding: 0 var(--sp-2);
	border: 1px solid var(--c-rule);
	color: var(--c-ink) !important;
	font-size: var(--fs-small);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	text-decoration: none !important;
	transition: border-color var(--dur-1) ease, background-color var(--dur-2) ease, color var(--dur-2) ease;
}

.post-content .unh-sdg-index a:hover {
	border-color: var(--c-brand-deep);
}

/* The target being read: filled, with the goal colour as a bottom rule. */
.post-content .unh-sdg-index a[aria-current="true"] {
	border-color: var(--c-ink);
	background: var(--c-ink);
	color: var(--c-surface) !important;
}

.post-content .unh-sdg-index a[aria-current="true"]::after {
	content: "";
	position: absolute;
	left: -1px;
	right: -1px;
	bottom: -1px;
	height: 3px;
	background: var(--sdg);
}

.unh-sdg-target {
	scroll-margin-top: calc(var(--header-h) + var(--sp-4));
	transition: background-color var(--dur-3) ease;
}

/* Arriving from the index: the target flashes the page tint once. */
.unh-sdg-target:target {
	animation: unh-target-flash 1600ms ease-out;
}

@keyframes unh-target-flash {
	from { background-color: var(--c-surface-alt); }
	to { background-color: transparent; }
}

/* Wide screens: the index becomes a sticky column beside the targets. */
@media (min-width: 1100px) {
	.unh-sdg-targets__layout {
		display: grid;
		grid-template-columns: 5.5rem minmax(0, 1fr);
		gap: var(--sp-6);
		align-items: start;
	}

	.unh-sdg-index {
		position: sticky;
		top: calc(var(--header-h) + var(--sp-5));
		transition: top var(--dur-2) var(--ease-out);
	}

	.unh-sdg-index ul {
		flex-direction: column;
		margin: 0 !important;
	}

	.post-content .unh-sdg-index a {
		justify-content: flex-start;
		width: 100%;
		min-height: 36px;
		padding: 0 var(--sp-3);
	}
}

/* Indicators open and close smoothly where the browser can animate to
   height: auto; elsewhere they simply open. */
@media (prefers-reduced-motion: no-preference) {
	@supports (interpolate-size: allow-keywords) {
		.unh-sdg-target__ind {
			interpolate-size: allow-keywords;
		}

		.unh-sdg-target__ind::details-content {
			block-size: 0;
			overflow: hidden;
			transition: block-size var(--dur-2) var(--ease-out), content-visibility var(--dur-2) allow-discrete;
		}

		.unh-sdg-target__ind[open]::details-content {
			block-size: auto;
		}
	}
}

/* ==========================================================================
   Reduced motion: keep the states, drop the movement.
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	.fusion-post-cards .post-card:has(.fusion-post-card-image):hover > .fusion-column-wrapper,
	.fusion-image-carousel .fusion-image-wrapper:hover,
	.fusion-post-cards .post-card:has(.fusion-post-card-image):hover .fusion-image-wrapper img,
	.unh-hero .fusion-imageframe:hover img,
	.unh-research__cover .fusion-imageframe:hover img,
	.unh-news__item article:hover .unh-news__media img,
	.unh-sdg-grid a:hover .unh-sdg-icon,
	.unh-sdg-grid a:focus-visible .unh-sdg-icon,
	.unh-pub--featured .unh-pub__cover:hover,
	.unh-pub:hover .unh-pub__cover,
	.unh-pub:focus-within .unh-pub__cover,
	.unh-story article:hover .unh-story__media img {
		transform: none !important;
	}

	.header-hidden .fusion-tb-header {
		transform: none;
	}

	@view-transition {
		navigation: none;
	}
}
