/* === ROOT VARS === */
	body.page-id-5811 {
		--hmr-dark: #1A1E23;
		--hmr-cream: #FFFFFF;
		--hmr-paper: #FFFFFF;
		--hmr-ink: #14181C;
		--hmr-red: #d81e32;
		--hmr-orange: #E55B2C;
		--hmr-mute: #6B6661;
		--hmr-rule: rgba(20,24,28,0.10);
	}

	/* === KILL THEME WRAPPING === */
	body.page-id-5811 .page_content_wrap { padding-top: 0 !important; padding-bottom: 0 !important; }
	body.page-id-5811 .sidebar_show .content { width: 100% !important; }
	body.page-id-5811 .sidebar { display: none !important; }
	body.page-id-5811 article.post.page { margin: 0 !important; padding: 0 !important; }

	/* ============================================================
	 * §1 HERO — Phase 8: full-width edge-to-edge + force-visible title
	 * ============================================================ */
	.elementor .hm-r-hero {
		background: var(--hmr-dark) !important;
		color: #fff !important;
		padding: 56px clamp(48px, 7vw, 112px) 48px !important; /* V-014: index page → archive family */
		position: relative;
		overflow: hidden;
		/* Bleed full viewport width regardless of Elementor container */
		width: 100vw !important;
		max-width: 100vw !important;
		margin-inline-start: calc(50% - 50vw) !important;
		margin-inline-end: calc(50% - 50vw) !important;
	}
	.elementor .hm-r-hero > * { max-width: 1320px; margin-inline-start: auto; margin-inline-end: auto; }
	.elementor .hm-r-hero::before {
		content: '';
		position: absolute; inset: 0;
		background:
			radial-gradient(circle at 1px 1px, rgba(255,255,255,0.04) 1px, transparent 1px) 24px 24px,
			radial-gradient(80% 60% at 100% 0%, rgba(229,91,44,0.08), transparent 60%),
			radial-gradient(60% 60% at 0% 100%, rgba(216,30,50,0.05), transparent 60%);
		pointer-events: none;
	}
	.elementor .hm-r-hero > * { position: relative; z-index: 1; }
	.hm-r-hero__eyebrow {
		font-size: 12.5px; letter-spacing: 0.01em; text-transform: none;
		color: rgba(255,255,255,0.7); font-weight: 600;
		margin-bottom: 18px; display: inline-block;
		padding-inline-end: 60px; position: relative;
	}
	.hm-r-hero__eyebrow::after {
		content: ''; position: absolute; inset-inline-end: 0; top: 50%;
		width: 48px; height: 1px; background: var(--hmr-red);
	}
	body.page-id-5811 .hm-r-hero__title,
	body.page-id-5811 h1.hm-r-hero__title,
	.hm-r-hero__title {
		font-size: clamp(32px, 4.6vw, 64px) !important; line-height: 0.96 !important;
		letter-spacing: -0.02em !important; font-weight: 800 !important;
		color: #fff !important;
		-webkit-text-fill-color: #fff !important;
		text-shadow: none !important;
		margin: 0 0 clamp(16px, 2vw, 24px) !important; max-width: 1000px;
	}
	body.page-id-5811 .hm-r-hero__title em,
	.hm-r-hero__title em {
		font-style: normal;
		color: var(--hmr-orange) !important;
		-webkit-text-fill-color: var(--hmr-orange) !important;
	}
	.hm-r-hero__lead {
		font-size: clamp(14px, 1.05vw, 16px); line-height: 1.5;
		color: rgba(255,255,255,0.78); max-width: 640px;
		margin: 0 0 clamp(20px, 2.5vw, 36px);
	}

	.hm-r-stats {
		display: grid; grid-template-columns: repeat(4, 1fr);
		gap: clamp(14px, 2vw, 32px); max-width: 1100px;
		border-top: 1px solid rgba(255,255,255,0.10);
		padding-top: clamp(16px, 2vw, 24px);
	}
	.hm-r-stat__num {
		font-size: clamp(26px, 3vw, 44px); line-height: 1; font-weight: 800;
		letter-spacing: -0.02em; color: #fff; margin: 0 0 5px;
	}
	.hm-r-stat__num .hm-r-stat__plus { color: var(--hmr-orange); margin-inline-start: 2px; }
	.hm-r-stat__label {
		font-size: 12.5px; letter-spacing: 0.01em; text-transform: none;
		color: rgba(255,255,255,0.78); font-weight: 600;
	}

	/* ============================================================
	 * §2 SPOTLIGHT — Phase 8: contained, image fills cover (no full-width bleed
	 * because the spotlight was overlapping the next section when full-width).
	 * ============================================================ */
	.elementor .hm-r-spotlight {
		background: #fff;
		padding: 0 !important;
	}
	/* VIS-002 (2026-09-02): editorial 4:3 cover, total height ~560–640 px at 1440, title 26–38 px. */
	/* V1.1 (2026-09-03): the cover's aspect-ratio forced it wider than its 5fr track (795 px in an 1100 px block),
	 * overlapping the copy by ~295 px. Tracks now own the width (image ≈55 %, copy ≈45 %); the block height comes
	 * from the copy, and the cover simply fills its track. */
	.hm-r-spotlight__inner {
		display: grid;
		grid-template-columns: minmax(0, 55fr) minmax(0, 45fr);
		max-width: 1280px;
		margin: 0 auto;
		min-height: 0;
		align-items: stretch;
	}
	.hm-r-spotlight__cover {
		position: relative;
		background: var(--hmr-dark);
		display: flex;
		align-items: flex-end;
		justify-content: flex-start;
		padding: clamp(24px, 3vw, 40px);
		overflow: hidden;
		min-width: 0;
		min-height: 360px; /* V1.1b (2026-09-03): less vertical dominance, same 55/45 tracks */
		max-height: 440px;
	}
	.hm-r-spotlight__copy { min-width: 0; }
	.hm-r-spotlight__title a { color: inherit; text-decoration: none; }
	.hm-r-spotlight__title a:hover { text-decoration: underline; text-decoration-thickness: 2px; }
	.hm-r-spotlight__title a:focus-visible { outline: 3px solid var(--hmr-red); outline-offset: 4px; }
	.hm-r-spotlight__meta { font-size: 14px; color: var(--hmr-mute); margin-bottom: 14px; }
	.hm-r-spotlight__meta strong { color: var(--hmr-red); font-weight: 700; }
	.hm-r-spotlight__cover::before {
		content: '';
		position: absolute; inset: 0;
		background:
			linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.55) 80%, rgba(0,0,0,0.85) 100%),
			radial-gradient(circle at 1px 1px, rgba(255,255,255,0.05) 1px, transparent 1px) 32px 32px;
		z-index: 1;
		pointer-events: none;
	}
	/* Phase 8: force position:absolute + 100% height against theme img overrides */
	body.page-id-5811 .hm-r-spotlight__cover img.hm-r-spotlight__cover-img,
	.hm-r-spotlight__cover-img {
		position: absolute !important; inset: 0 !important;
		width: 100% !important; height: 100% !important;
		object-fit: cover !important; object-position: center !important;
		z-index: 0 !important;
		display: block !important;
		max-width: none !important; max-height: none !important;
	}
	.hm-r-spotlight__cover-stamp {
		position: relative; z-index: 2;
		display: inline-block;
		font-size: 12.5px; letter-spacing: 0.01em; text-transform: none;
		color: #fff; font-weight: 700;
		padding: 11px 20px;
		border: 1.5px solid rgba(255,255,255,0.4);
		border-radius: 2px;
		background: rgba(216,30,50,0.92);
	}
	.hm-r-spotlight__cover-stamp.is-empty { background: transparent; border-color: var(--hmr-red); color: var(--hmr-red); }
	.hm-r-spotlight__copy {
		padding: clamp(24px, 2.5vw, 32px) clamp(28px, 3.5vw, 56px); /* V1.1b: 44 → 32 max */
		display: flex; flex-direction: column; justify-content: center;
		background: var(--hmr-paper);
	}
	.hm-r-spotlight__type {
		font-size: 13px; letter-spacing: 0.01em; text-transform: none;
		font-weight: 700; color: var(--hmr-red); margin-bottom: 18px;
		display: flex; align-items: center; gap: 12px;
	}
	.hm-r-spotlight__type::before {
		content: ''; display: inline-block;
		width: 24px; height: 2px; background: var(--hmr-red);
	}
	.hm-r-spotlight__eyebrow {
		font-size: 12.5px; letter-spacing: 0.01em; text-transform: none;
		font-weight: 700; color: var(--hmr-mute); margin-bottom: 22px;
	}
	.hm-r-spotlight__title {
		font-size: clamp(24px, 2.2vw, 31px); line-height: 1.1; text-transform: none; /* V1.1b: less vertical dominance, still the largest text on the page */
		letter-spacing: -0.02em; font-weight: 800; color: var(--hmr-ink);
		margin: 0 0 clamp(16px, 2vw, 24px);
	}
	.hm-r-spotlight__lead {
		text-align: start; text-wrap: pretty;
		font-size: clamp(15px, 1.2vw, 17px); line-height: 1.55;
		color: var(--hmr-mute); margin: 0 0 24px;
		max-width: 560px;
		display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; /* V1.1b: four lines; the full text is on the record */
	}
	.hm-r-spotlight__btn {
		display: inline-flex; align-items: center; gap: 10px;
		font-size: 14px; letter-spacing: 0.01em; text-transform: none;
		font-weight: 700; color: var(--hmr-ink); text-decoration: none;
		padding: 14px 22px;
		border: 1.5px solid var(--hmr-ink);
		transition: all 0.2s ease;
		align-self: flex-start;
	}
	.hm-r-spotlight__btn:hover { background: var(--hmr-ink); color: #fff; }
	.hm-r-spotlight__btn::after { content: '→'; transition: transform 0.2s ease; }
	.hm-r-spotlight__btn:hover::after { transform: translateX(4px); }
	.hm-r-spotlight__date {
		font-size: 12px; letter-spacing: 0.04em; color: var(--hmr-mute);
		font-variant-numeric: tabular-nums; margin-top: 18px;
	}
	.hm-r-spotlight__cover-empty-mark {
		position: relative; z-index: 2;
		font-size: clamp(120px, 16vw, 240px); line-height: 0.85;
		font-weight: 800; color: rgba(255,255,255,0.06);
		letter-spacing: -0.04em; margin-bottom: 16px;
		font-feature-settings: 'tnum';
	}

	/* ============================================================
	 * §3 MOST RECENT — editorial 1+5 asymmetric
	 * ============================================================ */
	.elementor .hm-r-recent {
		background: #fff;
		padding: 48px clamp(20px, 5vw, 80px) !important;
		border-top: 1px solid var(--hmr-rule);
	}
	.hm-r-recent__inner { max-width: 1480px; margin: 0 auto; }
	.hm-r-recent__head {
		display: flex; justify-content: space-between; align-items: baseline;
		margin-bottom: clamp(24px, 3vw, 40px); flex-wrap: wrap; gap: 16px;
		padding-bottom: 16px; border-bottom: 1px solid var(--hmr-rule);
	}
	.hm-r-recent__title {
		font-size: clamp(24px, 2.8vw, 36px); line-height: 1; font-weight: 800;
		letter-spacing: -0.022em; color: var(--hmr-ink); margin: 0;
	}
	.hm-r-recent__sub {
		font-size: 12.5px; letter-spacing: 0.01em; text-transform: none;
		color: var(--hmr-mute); font-weight: 600;
	}
	/* Phase 8: normalized 3-up grid — every card is the same size, same image aspect.
	   The previous "magazine layout" with one giant first card + smaller siblings
	   was creating jarring inconsistency that the user flagged. */
	.hm-r-recent__grid {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		grid-template-rows: auto;
		gap: clamp(24px, 2.6vw, 40px);
	}
	.hm-r-recent__grid:not(:has(> :nth-child(2))) { grid-template-columns: 1fr; max-width: 760px; }
	.hm-r-rcard {
		display: flex; flex-direction: column; text-decoration: none; color: inherit;
		position: relative; transition: transform 0.25s ease;
	}
	.hm-r-rcard:hover { transform: translateY(-2px) scale(1.015); }
	.hm-r-rcard__img {
		width: 100%; aspect-ratio: 4 / 3; object-fit: cover;
		background: var(--hmr-cream); display: block;
		flex: 0 0 auto;
	}
	/* Override any leftover .is-large treatment to keep cards uniform */
	.hm-r-rcard.is-large { grid-column: auto; grid-row: auto; }
	.hm-r-rcard.is-large .hm-r-rcard__img { aspect-ratio: 4 / 3; }
	.hm-r-rcard.is-large .hm-r-rcard__title { font-size: clamp(15px, 1.2vw, 18px); }
	.hm-r-rcard__body { padding: 18px 0 0; flex: 1 1 auto; }
	.hm-r-rcard__type {
		font-size: 12.5px; letter-spacing: 0.01em; text-transform: none;
		font-weight: 700; color: var(--hmr-mute); margin-bottom: 8px;
	}
	.hm-r-rcard__title {
		font-size: clamp(15px, 1.2vw, 18px); line-height: 1.32; font-weight: 700;
		color: var(--hmr-ink); margin: 0 0 8px; letter-spacing: -0.005em;
	}
	.hm-r-rcard__meta {
		display: flex; gap: 10px; font-size: 11.5px; color: var(--hmr-mute);
		font-variant-numeric: tabular-nums;
	}
	.hm-r-rcard__meta strong { color: var(--hmr-ink); font-weight: 600; }
	.hm-r-recent__empty {
		text-align: center; padding: clamp(64px, 8vw, 112px) 24px;
		max-width: 600px; margin: 0 auto;
	}
	.hm-r-recent__empty-stamp {
		display: inline-block; font-size: 12.5px; letter-spacing: 0.01em;
		text-transform: none; color: var(--hmr-mute); font-weight: 700;
		padding: 9px 18px; border: 1px dashed var(--hmr-rule);
	}

	/* ============================================================
	 * §4 BY TYPE — horizontal scrolling rows
	 * ============================================================ */
	.elementor .hm-r-bytype {
		background: var(--hmr-cream);
		padding: 48px 0 32px !important;
	}
	.hm-r-bytype__inner { max-width: 1480px; margin: 0 auto; padding: 0 clamp(20px, 5vw, 80px); }
	.hm-r-bytype__intro { margin-bottom: clamp(24px, 3vw, 40px); padding-bottom: 16px; border-bottom: 1px solid var(--hmr-rule); }
	.hm-r-bytype__h2 {
		font-size: clamp(24px, 2.8vw, 36px); line-height: 1; font-weight: 800;
		letter-spacing: -0.022em; color: var(--hmr-ink); margin: 0 0 10px;
	}
	.hm-r-bytype__sub { font-size: 12.5px; letter-spacing: 0.01em; text-transform: none; color: var(--hmr-mute); font-weight: 600; }
	.hm-r-bytype__row {
		padding: 18px 0;
		border-bottom: 1px solid var(--hmr-rule);
	}
	/* Compact empty rows (no card grid present) */
	.hm-r-bytype__row:has(.hm-r-bytype__row-empty) { padding: 12px 0; }
	.hm-r-bytype__row:last-child { border-bottom: 0; }
	.hm-r-bytype__head {
		display: flex; justify-content: space-between; align-items: baseline;
		margin-bottom: 18px; flex-wrap: wrap; gap: 12px;
	}
	.hm-r-bytype__label {
		display: flex; align-items: baseline; gap: 14px;
	}
	.hm-r-bytype__label-name {
		font-size: clamp(20px, 2vw, 28px); line-height: 1;
		font-weight: 800; color: var(--hmr-ink); letter-spacing: -0.015em;
		text-transform: uppercase;
	}
	.hm-r-bytype__label-count {
		font-size: 12.5px; letter-spacing: 0.01em; text-transform: none;
		color: var(--hmr-mute); font-weight: 600;
	}
	.hm-r-bytype__viewall {
		font-size: 11.5px; letter-spacing: 0.18em; text-transform: uppercase;
		font-weight: 700; color: var(--hmr-ink); text-decoration: none;
		display: inline-flex; align-items: center; gap: 8px;
	}
	.hm-r-bytype__viewall::after { content: '→'; transition: transform 0.18s ease; }
	.hm-r-bytype__viewall:hover::after { transform: translateX(4px); }
	.hm-r-bytype__cards {
		display: flex; gap: 18px; overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding-bottom: 8px;
		scrollbar-width: thin;
	}
	.hm-r-bytype__cards::-webkit-scrollbar { height: 4px; }
	.hm-r-bytype__cards::-webkit-scrollbar-track { background: rgba(0,0,0,0.04); }
	.hm-r-bytype__cards::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.2); }
	.hm-r-tcard {
		flex: 0 0 280px; scroll-snap-align: start;
		text-decoration: none; color: inherit;
		display: block; transition: transform 0.2s ease;
	}
	.hm-r-tcard:hover { transform: translateY(-2px); }
	.hm-r-tcard__img {
		width: 100%; aspect-ratio: 4 / 3; object-fit: cover;
		background: rgba(0,0,0,0.06); display: block; margin-bottom: 14px;
	}
	.hm-r-tcard__type-stamp {
		font-size: 12.5px; letter-spacing: 0.01em; text-transform: none;
		font-weight: 700; color: var(--hmr-mute); margin-bottom: 6px;
	}
	.hm-r-tcard__title {
		font-size: 14.5px; line-height: 1.32; font-weight: 700;
		color: var(--hmr-ink); margin: 0 0 6px; letter-spacing: -0.005em;
	}
	.hm-r-tcard__meta { font-size: 11px; color: var(--hmr-mute); font-variant-numeric: tabular-nums; }
	.hm-r-bytype__row-empty {
		font-size: 12.5px; letter-spacing: 0.01em; text-transform: none;
		color: var(--hmr-mute); padding: 16px 0;
	}

	/* ============================================================
	 * §5 BY THEME — 5 area-themed bands
	 * ============================================================ */
	.elementor .hm-r-bytheme {
		background: #fff;
		padding: 48px clamp(20px, 5vw, 80px) !important;
		border-top: 1px solid var(--hmr-rule);
	}
	.hm-r-bytheme__inner { max-width: 1480px; margin: 0 auto; }
	.hm-r-bytheme__intro { margin-bottom: clamp(28px, 3.5vw, 48px); padding-bottom: 16px; border-bottom: 1px solid var(--hmr-rule); }
	.hm-r-bytheme__h2 {
		font-size: clamp(24px, 2.8vw, 36px); line-height: 1; font-weight: 800;
		letter-spacing: -0.022em; color: var(--hmr-ink); margin: 0 0 10px;
	}
	.hm-r-bytheme__sub { font-size: 12.5px; letter-spacing: 0.01em; text-transform: none; color: var(--hmr-mute); font-weight: 600; }
	.hm-r-bytheme__band {
		display: grid;
		grid-template-columns: 1fr 2fr;
		gap: clamp(28px, 4vw, 56px);
		padding: 22px 0;
		border-bottom: 1px solid var(--hmr-rule);
		align-items: start;
	}
	/* Compact when band has no real cards (empty state) */
	.hm-r-bytheme__band:has(.hm-r-bytheme__band-empty) {
		padding: 12px 0;
		grid-template-columns: 1fr 1.5fr;
		gap: clamp(20px, 3vw, 40px);
	}
	.hm-r-bytheme__band:has(.hm-r-bytheme__band-empty) .hm-r-bytheme__band-name {
		font-size: clamp(18px, 1.8vw, 24px);
		margin-bottom: 6px;
	}
	.hm-r-bytheme__band:has(.hm-r-bytheme__band-empty) .hm-r-bytheme__band-lead { display: none; }
	.hm-r-bytheme__band:has(.hm-r-bytheme__band-empty) .hm-r-bytheme__band-num { font-size: 12.5px; margin-bottom: 8px; }
	.hm-r-bytheme__band:last-child { border-bottom: 0; }
	.hm-r-bytheme__band-num {
		font-size: 12.5px; letter-spacing: 0.01em; text-transform: none;
		color: var(--hmr-red); font-weight: 700; margin-bottom: 14px;
	}
	.hm-r-bytheme__band-name {
		font-size: clamp(22px, 2.4vw, 32px); line-height: 1.05; font-weight: 800;
		letter-spacing: -0.018em; color: var(--hmr-ink); margin: 0 0 12px;
	}
	.hm-r-bytheme__band-lead {
		font-size: 14.5px; line-height: 1.55; color: var(--hmr-mute);
		margin: 0 0 22px; max-width: 360px;
	}
	.hm-r-bytheme__band-link {
		font-size: 11.5px; letter-spacing: 0.18em; text-transform: uppercase;
		font-weight: 700; color: var(--hmr-ink); text-decoration: none;
		display: inline-flex; align-items: center; gap: 8px;
	}
	.hm-r-bytheme__band-link::after { content: '→'; transition: transform 0.18s ease; }
	.hm-r-bytheme__band-link:hover::after { transform: translateX(4px); }
	.hm-r-bytheme__band-cards {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: clamp(16px, 2vw, 28px);
	}
	.hm-r-bcard {
		display: block; text-decoration: none; color: inherit;
		transition: transform 0.2s ease;
	}
	.hm-r-bcard:hover { transform: translateY(-2px); }
	.hm-r-bcard__img {
		width: 100%; aspect-ratio: 4 / 3; object-fit: cover;
		background: var(--hmr-cream); display: block; margin-bottom: 12px;
	}
	.hm-r-bcard__type {
		font-size: 12.5px; letter-spacing: 0.01em; text-transform: none;
		font-weight: 700; color: var(--hmr-mute); margin-bottom: 6px;
	}
	.hm-r-bcard__title {
		font-size: 14px; line-height: 1.32; font-weight: 700; color: var(--hmr-ink);
		margin: 0 0 4px; letter-spacing: -0.005em;
	}
	.hm-r-bcard__date { font-size: 11px; color: var(--hmr-mute); font-variant-numeric: tabular-nums; }
	.hm-r-bytheme__band-empty {
		grid-column: 1 / -1;
		font-size: 12.5px; letter-spacing: 0.01em; text-transform: none;
		color: var(--hmr-mute); padding: 24px 0;
	}

	/* ============================================================
	 * §6 LEDGER (filter rail + archive — DEMOTED to bottom)
	 * ============================================================ */
	.elementor .hm-r-archive {
		background: var(--hmr-cream);
		padding: 0 !important;
		border-top: 1px solid var(--hmr-rule);
	}
	.hm-r-archive__intro {
		max-width: 1280px; margin: 0 auto;
		padding: 40px clamp(20px, 5vw, 80px) 16px;
	}
	.hm-r-archive__title {
		font-size: clamp(24px, 2.8vw, 36px); line-height: 1; font-weight: 800;
		letter-spacing: -0.022em; color: var(--hmr-ink); margin: 0 0 10px;
	}
	.hm-r-archive__sub {
		font-size: 13px; letter-spacing: 0.04em; color: var(--hmr-mute);
		max-width: 600px; line-height: 1.55;
	}
	/* === GRID (was filterbar — now dark matrix) === */
	.elementor .hm-r-filterbar {
		background: var(--hmr-dark) !important;
		color: #fff;
		padding: 36px clamp(20px, 5vw, 80px) 40px !important;
		border-top: 1px solid rgba(255,255,255,0.08);
		border-bottom: 1px solid rgba(255,255,255,0.08);
		position: sticky; top: 0; z-index: 30;
	}
	/* Dark frame on outer wrappers; LIGHT cream data cells in the middle (intentional). */
	body.page-id-5811 .hm-r-filterbar,
	body.page-id-5811 .hm-r-filterbar .e-con-inner,
	body.page-id-5811 .hm-r-filterbar .elementor-widget,
	body.page-id-5811 .hm-r-filterbar .elementor-widget-wrap,
	body.page-id-5811 .hm-r-filterbar .elementor-widget-shortcode,
	body.page-id-5811 .hm-r-filterbar .elementor-widget-container,
	body.page-id-5811 .hm-r-filterbar .hm-r-grid__inner,
	body.page-id-5811 .hm-r-filterbar .hm-r-grid__tablewrap,
	body.page-id-5811 .hm-r-filterbar table,
	body.page-id-5811 .hm-r-filterbar thead,
	body.page-id-5811 .hm-r-filterbar tbody,
	body.page-id-5811 .hm-r-filterbar tr {
		background-color: transparent !important;
	}
	/* Header CHROME = dark (corner + column heads + row heads) */
	body.page-id-5811 .hm-r-filterbar th.hm-r-grid__cell--corner,
	body.page-id-5811 .hm-r-filterbar th.hm-r-grid__cell--colhead,
	body.page-id-5811 .hm-r-filterbar th.hm-r-grid__cell--rowhead {
		background-color: #15181C !important;
		color: #fff !important;
		border-color: rgba(255,255,255,0.06) !important;
	}
	/* DATA cells = LIGHT cream canvas (the "data area" feel) */
	body.page-id-5811 .hm-r-filterbar td.hm-r-grid__cell--data {
		background-color: #FFFFFF !important;
		color: #14181C !important;
		border-color: rgba(20,24,28,0.08) !important;
	}
	body.page-id-5811 .hm-r-filterbar td.hm-r-grid__cell--data[data-intensity="0"] {
		background-color: #FFFFFF !important;
		color: rgba(20,24,28,0.28) !important;
	}
	body.page-id-5811 .hm-r-filterbar td.hm-r-grid__cell--data[data-intensity="1"] {
		background-color: rgba(229,91,44,0.22) !important;
		color: #14181C !important;
	}
	body.page-id-5811 .hm-r-filterbar td.hm-r-grid__cell--data[data-intensity="2"] {
		background-color: rgba(229,91,44,0.5) !important;
		color: #14181C !important;
	}
	body.page-id-5811 .hm-r-filterbar td.hm-r-grid__cell--data[data-intensity="3"] {
		background-color: rgba(216,30,50,0.78) !important;
		color: #fff !important;
	}
	.hm-r-grid__inner { max-width: 1480px; margin: 0 auto; }
	.hm-r-grid__head {
		display: flex; justify-content: space-between; align-items: baseline;
		flex-wrap: wrap; gap: 16px;
		margin-bottom: clamp(20px, 3vw, 32px);
		padding-bottom: 16px;
		border-bottom: 1px solid rgba(255,255,255,0.06);
	}
	.hm-r-grid__title {
		font-size: clamp(22px, 2.6vw, 32px); line-height: 1; font-weight: 800;
		letter-spacing: -0.02em; color: #fff; margin: 0 0 6px;
	}
	.hm-r-grid__sub {
		font-size: 11.5px; letter-spacing: 0.04em; color: rgba(255,255,255,0.78);
		display: block; max-width: 600px; line-height: 1.4;
	}
	.hm-r-grid__status {
		font-size: 12.5px; letter-spacing: 0.01em; text-transform: none;
		color: rgba(255,255,255,0.78); font-weight: 600;
	}
	.hm-r-grid__status strong { color: #fff; font-weight: 700; }
	.hm-r-grid__tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.hm-r-grid__table {
		width: 100%; border-collapse: collapse;
		font-variant-numeric: tabular-nums;
	}
	.hm-r-grid__cell {
		padding: 14px 12px;
		border: 1px solid rgba(255,255,255,0.06);
		text-align: center;
		vertical-align: middle;
		font-weight: 500;
		color: #fff;
		transition: background 0.16s ease, opacity 0.16s ease;
	}
	/* Corner cell — top-left "ALL" */
	.hm-r-grid__cell--corner {
		text-align: start; cursor: pointer;
		background: rgba(255,255,255,0.04);
		min-width: 180px;
	}
	.hm-r-grid__cell--corner:hover { background: rgba(216,30,50,0.14); }
	.hm-r-grid__corner-label {
		display: block; font-size: 11px; letter-spacing: 0.28em;
		text-transform: uppercase; font-weight: 700; color: var(--hmr-red);
	}
	.hm-r-grid__corner-num { display: block; font-size: 18px; font-weight: 800; color: #fff; margin-top: 2px; }
	/* Column header cells (top row, the 5 buckets) */
	.hm-r-grid__cell--colhead {
		cursor: pointer; vertical-align: bottom;
		background: rgba(255,255,255,0.02);
		padding: 18px 10px 14px;
		min-width: 120px;
	}
	.hm-r-grid__cell--colhead:hover { background: rgba(255,255,255,0.06); }
	.hm-r-grid__col-label {
		display: block; font-size: 10.5px; letter-spacing: 0.22em;
		text-transform: uppercase; font-weight: 700; color: rgba(255,255,255,0.85);
		line-height: 1.2;
	}
	.hm-r-grid__col-num { display: block; font-size: 16px; font-weight: 800; color: #fff; margin-top: 6px; }
	/* Row header cells (left column, country names) */
	.hm-r-grid__cell--rowhead {
		text-align: start; cursor: pointer;
		background: rgba(255,255,255,0.02);
		padding: 14px 16px 14px 12px;
		min-width: 180px; white-space: nowrap;
		position: sticky; inset-inline-start: 0; z-index: 1;
	}
	.hm-r-grid__cell--rowhead:hover { background: rgba(255,255,255,0.06); }
	.hm-r-grid__row-label {
		font-size: 13px; font-weight: 600; color: #fff;
		letter-spacing: 0.01em; display: inline-block; margin-inline-end: 10px;
		text-transform: none; }
	.hm-r-grid__row-num {
		font-size: 11px; color: rgba(255,255,255,0.5); font-weight: 500;
		float: inline-end;
	}
	/* Data cells — the heart of the grid */
	.hm-r-grid__cell--data {
		cursor: pointer;
		font-size: 14px;
		font-weight: 600;
		min-width: 88px;
	}
	.hm-r-grid__cell--data[data-intensity="0"] { color: rgba(255,255,255,0.18); background: transparent; }
	.hm-r-grid__cell--data[data-intensity="1"] { background: rgba(229,91,44,0.16); color: #fff; }
	.hm-r-grid__cell--data[data-intensity="2"] { background: rgba(229,91,44,0.34); color: #fff; }
	.hm-r-grid__cell--data[data-intensity="3"] { background: rgba(216,30,50,0.62); color: #fff; }
	.hm-r-grid__cell--data:hover { outline: 2px solid var(--hmr-orange); outline-offset: -2px; }
	/* Hover dim state */
	.hm-r-grid__table.is-row-hover .hm-r-grid__row:not(.is-active-row) { opacity: 0.28; }
	.hm-r-grid__table.is-col-hover .hm-r-grid__cell:not(.is-active-col):not(.hm-r-grid__cell--corner):not(.hm-r-grid__cell--rowhead) { opacity: 0.28; }
	/* Active filter state */
	.hm-r-grid__cell.is-filter-active { background: var(--hmr-red) !important; color: #fff !important; outline: 2px solid #fff; outline-offset: -2px; }
	.hm-r-grid__row.is-filter-active .hm-r-grid__cell--rowhead { background: rgba(216,30,50,0.4); }
	.hm-r-grid__cell--colhead.is-filter-active { background: rgba(216,30,50,0.4); }
	@media (max-width: 768px) {
		.hm-r-grid__cell { padding: 10px 8px; }
		.hm-r-grid__cell--corner, .hm-r-grid__cell--rowhead { min-width: 140px; }
		.hm-r-grid__cell--data { min-width: 70px; font-size: 13px; }
		.hm-r-grid__row-label { font-size: 11.5px; }
	}
	.hm-r-filterbar__inner {
		display: flex; flex-direction: column; gap: 18px;
		max-width: 1480px; margin: 0 auto;
	}
	.hm-r-filterbar__row { display: flex; gap: 8px 14px; align-items: baseline; flex-wrap: wrap; }
	.hm-r-filterbar__label {
		font-size: 12.5px; letter-spacing: 0.01em; text-transform: none;
		color: var(--hmr-mute); font-weight: 700;
		flex: 0 0 88px; padding-top: 4px;
	}
	.hm-r-chip {
		display: inline-flex; align-items: center; gap: 8px;
		padding: 7px 14px; font-size: 12.5px; font-weight: 600; letter-spacing: 0.04em;
		color: var(--hmr-ink); background: #fff;
		border: 1px solid var(--hmr-rule); border-radius: 999px;
		cursor: pointer; transition: all 0.18s ease; white-space: nowrap;
	}
	.hm-r-chip__count { font-size: 10.5px; color: var(--hmr-mute); font-weight: 500; }
	.hm-r-chip:hover { border-color: var(--hmr-ink); transform: translateY(-1px); }
	.hm-r-chip.is-active { background: var(--hmr-ink); color: #fff; border-color: var(--hmr-ink); }
	.hm-r-chip.is-active .hm-r-chip__count { color: rgba(255,255,255,0.78); }
	.hm-r-chip.hm-r-chip--clear {
		color: var(--hmr-red); border-color: var(--hmr-red);
		font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; padding: 7px 12px;
	}
	.hm-r-chip.hm-r-chip--clear:hover { background: var(--hmr-red); color: #fff; }
	.hm-r-filterbar__status {
		font-size: 12.5px; letter-spacing: 0.01em; text-transform: none;
		color: var(--hmr-mute); padding-top: 8px; border-top: 1px dashed var(--hmr-rule);
	}
	.hm-r-filterbar__status strong { color: var(--hmr-ink); font-weight: 700; }

	.elementor .hm-r-ledger {
		background: var(--hmr-cream);
		padding: 32px clamp(20px, 5vw, 80px) 56px !important;
	}
	.hm-r-ledger__inner { max-width: 1280px; margin: 0 auto; }
	.hm-r-ledger__year {
		display: grid; grid-template-columns: clamp(120px, 18vw, 220px) 1fr;
		gap: clamp(24px, 4vw, 64px); align-items: start;
		padding: clamp(28px, 4vw, 56px) 0;
		border-top: 1px solid var(--hmr-rule); position: relative;
	}
	.hm-r-ledger__year:first-child { border-top: 0; }
	.hm-r-ledger__year-label {
		font-size: clamp(48px, 7vw, 112px); line-height: 0.9; font-weight: 800;
		letter-spacing: -0.04em; color: var(--hmr-ink);
		position: sticky; top: 140px;
	}
	.hm-r-ledger__year-count {
		display: block; font-size: 12.5px; letter-spacing: 0.01em;
		text-transform: none; color: var(--hmr-mute);
		font-weight: 600; margin-top: 8px;
	}
	.hm-r-ledger__entries { display: flex; flex-direction: column; }
	.hm-r-entry {
		display: grid; grid-template-columns: 130px 1fr 110px; gap: 24px;
		align-items: baseline;
		padding: 22px 16px 22px 0;
		border-bottom: 1px solid var(--hmr-rule);
		text-decoration: none; color: inherit;
		position: relative; transition: padding 0.2s ease;
	}
	.hm-r-entry::before {
		content: ''; position: absolute; inset-inline-start: -16px; top: 50%;
		transform: translateY(-50%); width: 4px; height: 0;
		background: var(--hmr-red); transition: height 0.22s ease;
	}
	.hm-r-entry:hover { padding-inline-start: 16px; background: rgba(255,255,255,0.5); }
	.hm-r-entry:hover::before { height: calc(100% - 24px); }
	.hm-r-entry__type {
		font-size: 12.5px; letter-spacing: 0.01em; text-transform: none;
		font-weight: 700; color: var(--hmr-mute);
		display: flex; align-items: center; gap: 8px;
	}
	/* V4: decorative accent bar before every entry type removed (2026-09-03) */
	.hm-r-entry__title {
		font-size: clamp(17px, 1.5vw, 22px); line-height: 1.3;
		font-weight: 600; color: var(--hmr-ink); letter-spacing: -0.005em;
	}
	.hm-r-entry__meta { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 6px; }
	.hm-r-entry__chip { font-size: 12.5px; letter-spacing: 0.01em; color: var(--hmr-mute); text-transform: none; font-weight: 500; }
	.hm-r-entry__chip--country { color: var(--hmr-ink); font-weight: 600; }
	.hm-r-entry__date {
		font-size: 12px; letter-spacing: 0.04em; color: var(--hmr-mute);
		text-align: end; font-variant-numeric: tabular-nums;
	}
	.hm-r-entry.is-hidden { display: none; }

	.hm-r-ledger__empty {
		text-align: center; padding: clamp(48px, 8vw, 96px) 24px;
		max-width: 700px; margin: 0 auto;
	}
	.hm-r-ledger__empty-mark {
		font-size: clamp(96px, 18vw, 280px); line-height: 0.85;
		font-weight: 800; letter-spacing: -0.04em; color: var(--hmr-ink);
		opacity: 0.06; margin-bottom: -0.2em;
	}
	.hm-r-ledger__empty-stamp {
		display: inline-block; font-size: 12.5px; letter-spacing: 0.01em;
		text-transform: none; color: var(--hmr-red); font-weight: 700;
		padding: 10px 18px; border: 1.5px solid var(--hmr-red);
		border-radius: 2px; margin-bottom: 18px;
	}
	.hm-r-ledger__empty-headline {
		font-size: clamp(20px, 2.2vw, 28px); line-height: 1.2;
		font-weight: 700; color: var(--hmr-ink); margin: 0 0 12px;
	}
	.hm-r-ledger__empty-lead { font-size: 14px; line-height: 1.55; color: var(--hmr-mute); margin: 0; }

	/* ============================================================
	 * §7 CTA
	 * ============================================================ */
	.elementor .hm-r-cta {
		background: var(--hmr-dark);
		padding: 48px clamp(20px, 5vw, 80px) !important;
		text-align: center;
		color: #fff;
		border-top: 1px solid rgba(255,255,255,0.06);
	}
	.hm-r-cta__inner { max-width: 720px; margin: 0 auto; }
	.hm-r-cta h2 {
		font-size: clamp(24px, 2.8vw, 36px); line-height: 1.1;
		font-weight: 800; letter-spacing: -0.018em; color: #fff;
		margin: 0 0 14px;
	}
	.hm-r-cta p {
		font-size: 16px; line-height: 1.55; color: rgba(255,255,255,0.7);
		margin: 0 0 32px;
	}
	.hm-r-cta__btn {
		display: inline-block;
		font-size: 13px; letter-spacing: 0.18em; text-transform: uppercase;
		font-weight: 700; color: #fff; text-decoration: none;
		padding: 16px 32px; background: var(--hmr-red);
		border: 1.5px solid var(--hmr-red);
		transition: all 0.2s ease;
	}
	.hm-r-cta__btn:hover { background: transparent; }

	/* ============================================================
	 * RESPONSIVE
	 * ============================================================ */
	@media (max-width: 1024px) {
		.hm-r-stats { grid-template-columns: repeat(2, 1fr); gap: 32px; }
		.hm-r-spotlight__inner { grid-template-columns: 1fr; min-height: 0; }
		.hm-r-spotlight__inner { grid-template-columns: 1fr; } .hm-r-spotlight__cover { min-height: 0; aspect-ratio: 16 / 10; max-height: 420px; width: 100%; }
		.hm-r-recent__grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; min-height: 0; }
		.hm-r-rcard.is-large { grid-column: 1 / -1; grid-row: auto; }
		.hm-r-bytheme__band { grid-template-columns: 1fr; gap: 24px; }
		.hm-r-bytheme__band-cards { grid-template-columns: repeat(3, 1fr); }
		.hm-r-ledger__year { grid-template-columns: 1fr; gap: 12px; }
		.hm-r-ledger__year-label { position: static; }
	}
	@media (max-width: 768px) {
		.hm-r-recent__grid { grid-template-columns: 1fr; }
		.hm-r-bytheme__band-cards { grid-template-columns: 1fr; }
		.hm-r-tcard { flex: 0 0 240px; }
		.hm-r-entry { grid-template-columns: 100px 1fr; }
		.hm-r-entry__date { grid-column: 1 / -1; text-align: start; }
		.hm-r-filterbar__row { flex-direction: column; align-items: flex-start; gap: 8px; }
		.hm-r-filterbar__label { flex: 0 0 auto; padding-top: 0; }
	}
	@media (max-width: 600px) {
		.hm-r-stats { grid-template-columns: 1fr 1fr; }
		.hm-r-tcard { flex: 0 0 200px; }
		.hm-r-entry { grid-template-columns: 1fr; gap: 8px; }
	}
	/* Accessibility: keyboard focus indicators */
	body.page-id-5811 .hm-r-filterbar [tabindex="0"]:focus-visible {
		outline: 3px solid var(--hmr-orange) !important;
		outline-offset: -3px !important;
		z-index: 10;
		position: relative;
	}
	body.page-id-5811 .screen-reader-text {
		position: absolute !important;
		clip: rect(1px, 1px, 1px, 1px);
		width: 1px; height: 1px;
		overflow: hidden; word-wrap: normal !important;
	}

	/* === LEDGER: paginated by year === */

	body.page-id-5811 .hm-r-ledger__expand {
		display: inline-flex; align-items: center;
		margin-top: 16px; padding: 10px 0;
		font-size: 11.5px; letter-spacing: 0.18em; text-transform: uppercase;
		font-weight: 700; color: var(--hmr-red);
		background: transparent; border: 0; cursor: pointer;
		transition: opacity 0.18s ease;
	}
	body.page-id-5811 .hm-r-ledger__expand:hover { opacity: 0.7; }

	/* === CARD OVERLAY PATTERN — clickable chips inside clickable card === */
	body.page-id-5811 .hm-r-rcard,
	body.page-id-5811 .hm-r-tcard,
	body.page-id-5811 .hm-r-bcard,
	body.page-id-5811 .hm-r-entry,
	.hm-bucket-card {
		position: relative;
	}
	.hm-r-card-overlay {
		position: absolute; inset: 0; z-index: 1;
		text-decoration: none; color: transparent;
		font-size: 1px; /* hide any text content if accidentally rendered */
	}
	.hm-r-chip-link {
		position: relative; z-index: 2;
		text-decoration: none;
	}
	.hm-r-chip-link:hover {
		text-decoration: underline;
		text-underline-offset: 3px;
	}
	/* Ensure entry title + meta stay above overlay (they need pointer-events through to overlay though) */
	body.page-id-5811 .hm-r-entry__title,
	body.page-id-5811 .hm-r-entry__date,
	body.page-id-5811 .hm-r-rcard__title,
	body.page-id-5811 .hm-r-tcard__title,
	body.page-id-5811 .hm-r-bcard__title,
	.hm-bucket-card__title { position: relative; z-index: 0; pointer-events: none; }
	/* Keep card hover transform on the wrapper div */
	body.page-id-5811 .hm-r-rcard:hover,
	body.page-id-5811 .hm-r-tcard:hover,
	body.page-id-5811 .hm-r-bcard:hover,
	.hm-bucket-card:hover { transform: translateY(-3px); }

	body.page-id-5811 .hm-r-ledger__active { margin: 0 0 16px; font-size: 14px; }
	body.page-id-5811 a.hm-r-ledger__expand { text-decoration: none; display: inline-block; }

/* ============================================================
 * WP4 (2026-09-03) — canonical archive: filters, grid, card, states
 * ============================================================ */
.elementor .hm-r-spotlight:not(:has(.hm-r-spotlight__inner)) { display: none !important; } /* intentional empty state: no featured resource */
.hm-ra { max-width: 1280px; margin: 0 auto; padding: 8px clamp(20px, 4vw, 48px) 64px; color: var(--hmr-ink); }
.hm-ra-filters { border-block: 1px solid var(--hmr-rule); padding: 20px 0 22px; margin: 0 0 28px; }
.hm-ra-filters__h { font-size: 15px; font-weight: 600; margin: 0 0 14px; }
.hm-ra-filters__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px 16px; align-items: end; }
/* R4 (2026-09-04): the three secondary filter axes sit in a native <details>. The summary is a real
   control (keyboard, screen reader, no JavaScript); the row inside reuses the same grid. */
.hm-ra-more-filters { margin-top: 8px; }
/* R4 (2026-09-04): with four visible controls plus the actions, one desktop line is enough; the grid's
   auto-fit was still wrapping them onto two. Search keeps the extra width. */
@media (min-width: 1100px) { .hm-ra-filters__row { grid-template-columns: 2fr repeat(5, minmax(0, 1fr)); } .hm-ra-filters__row > .hm-ra-field--q { grid-column: auto; } .hm-ra-filters__row > .hm-ra-field--actions { grid-column: 1 / -1; } .hm-ra-filters__row--more { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
/* phase 3: active filters as removable chips under the shelf heading (no counts) */
.hm-ra-active { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 24px; font-size: 15px; color: #5f636a; } /* 2026-10-27 (audit 28): was -8px, which pulled the chips 2px into the heading */
.hm-ra-active:empty { display: none; }
.hm-ra-active__k { margin-inline-end: 4px; }
.hm-ra-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 12px; border: 1px solid #21262C; color: #21262C !important; text-decoration: none !important; font-size: 14px; }
.hm-ra-chip b { font-weight: 700; }
.hm-ra-chip:hover { background: #21262C; color: #fff !important; }
.hm-ra-chip:focus-visible, .hm-ra-active__clear:focus-visible { outline: 3px solid #3FB4FF; outline-offset: 2px; }
.hm-ra-active__clear { margin-inline-start: 6px; color: #21262C !important; text-decoration: underline; text-decoration-color: #d81e32; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.hm-ra-more-filters__summary { cursor: pointer; border-top: 1px solid rgba(20,24,28,.12); padding-top: 10px; width: 100%; font-family: var(--hda-font-sans, inherit); font-size: 14px; font-weight: 500; color: var(--hda-ink, #21262c); padding: 6px 2px; list-style: none; display: inline-flex; align-items: center; gap: 8px; min-height: 32px; }
.hm-ra-more-filters__summary::-webkit-details-marker { display: none; }
.hm-ra-more-filters__summary::before { content: "+"; font-weight: 600; width: 1em; text-align: center; }
.hm-ra-more-filters[open] .hm-ra-more-filters__summary::before { content: "\2212"; }
.hm-ra-more-filters__summary:focus-visible { outline: 3px solid var(--hda-red, #d81e32); outline-offset: 2px; }
.hm-ra-more-filters__hint { color: var(--hda-muted, #5f6266); font-weight: 400; }
.hm-ra-filters__row--more { margin-top: 10px; margin-bottom: 4px; }

.hm-ra-field { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 500; color: var(--hmr-mute); }
.hm-ra-field--q { grid-column: span 2; }
.hm-ra-field input, .hm-ra-field select, body.scheme_default .hm-ra-filters .select_container select, .hm-ra-filters .select_container select, .hm-ra-filters .select_container select option { /* body.scheme_default: the theme's colour-scheme sheet sets the same specificity later */ font: inherit; font-weight: 400; color: var(--hmr-ink); background: #fff; border: 1px solid #b9bcc0; border-radius: 2px; padding: 9px 10px; min-height: 42px; width: 100%; }
.hm-ra-field input:focus-visible, .hm-ra-field select:focus-visible, .hm-ra-btn:focus-visible, .hm-ra-card__link:focus-visible, .hm-ra-card__cta a:focus-visible, .hm-ra-card__meta a:focus-visible { outline: 3px solid var(--hmr-red); outline-offset: 2px; }
.hm-ra-filters .select_container { width: 100%; }
/* R4 (2026-09-04): the theme's own input rule made the search box 75 px tall while the selects render at
   42 px, so the filter row was 110 px instead of 77 and the controls did not sit on one baseline. One
   height for every control in this bar; 42 px keeps the 42 px minimum target size from the foundation.
   The action pair is laid out inline so the row does not gain a second line either. */
.hm-ra-field input[type="search"], .hm-ra-field input[type="text"], .hm-ra-field select,
.hm-ra-filters .select_container select { height: 42px; min-height: 42px; padding-block: 0; box-sizing: border-box; }
.hm-ra-field--actions { display: flex; flex-direction: row; align-items: end; gap: 10px; flex-wrap: wrap; }
.hm-ra-field--actions .hm-ra-btn { height: 42px; display: inline-flex; align-items: center; }
.hm-ra-filters .select_container::after { color: var(--hmr-ink); }
.hm-ra-field--actions { flex-direction: row; gap: 10px; align-items: center; }
.hm-ra-btn { display: inline-flex; align-items: center; justify-content: center; font: 500 15px/1.2 var(--hda-font-sans); text-decoration: none; padding: 11px 18px; border: 1px solid var(--hmr-ink); border-radius: 2px; color: var(--hmr-ink); background: transparent; cursor: pointer; min-height: 42px; }
.hm-ra-btn--primary, body.scheme_default a.hm-ra-btn--primary { background: var(--hmr-ink); color: #fff; }
.hm-ra-btn:hover { background: var(--hmr-ink); color: #fff; }
.hm-ra-btn[aria-disabled="true"] { opacity: .6; pointer-events: none; }
.hm-ra-h { font-size: clamp(24px, 2.2vw, 30px); font-weight: 600; margin: 0 0 20px; letter-spacing: -0.01em; } /* 2026-10-27 (audit 28/78): 6px left the heading touching the chips or the first card */
.hm-ra-h:focus { outline: none; }
.hm-ra-summary { margin: 0 0 22px; color: var(--hmr-mute); font-size: 15px; }
.hm-ra-summary:empty { margin: 0; } /* plan 0.8: empty without filters; stays in the DOM as the live region */
.hm-ra-empty { border: 1px dashed #b9bcc0; padding: 20px 22px; margin: 0 0 24px; font-size: 16px; }
.hm-ra-empty a { color: var(--hmr-red); }
.hm-ra-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 28px; }
@media (max-width: 1023px) { .hm-ra-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; } }
@media (max-width: 599px) { .hm-ra-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; } .hm-ra-field--q { grid-column: auto; } }
.hm-ra-card { display: flex; flex-direction: column; margin: 0; padding: 0; position: relative; cursor: pointer; }
.hm-ra-card__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #ECEEF1; margin: 0 0 14px; }
.hm-ra-card__media--none { background: repeating-linear-gradient(135deg, #ece9e3 0 10px, #e2dfd8 10px 20px); }
.hm-ra-card__media .hm-ra-card__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; filter: none; transition: transform .22s ease; } /* absolute + specificity: the theme's img{height:auto} would otherwise win and break the 4:3 box */
@media (prefers-reduced-motion: no-preference) { .hm-ra-card:hover .hm-ra-card__img { transform: scale(1.015); } }
.hm-ra-card__body { display: flex; flex-direction: column; gap: 6px; }
.hm-ra-card__type { display: inline-block; align-self: flex-start; font-size: 12.5px; font-weight: 600; letter-spacing: 0.01em; color: var(--hmr-ink); background: var(--hmr-cream); border: 1px solid var(--hmr-rule); padding: 3px 8px; margin: 0; }
.hm-ra-card__title { font-size: clamp(17px, 1.3vw, 19px); line-height: 1.32; font-weight: 600; margin: 4px 0 0; letter-spacing: -0.005em; }
.hm-ra-card__link, body.scheme_default .hm-ra-card__link { color: var(--hmr-ink); text-decoration: none; } /* the theme scheme gives links #75787b (4.44:1) */
.hm-ra-card:hover .hm-ra-card__link, .hm-ra-card__link:focus-visible { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.hm-ra-card__excerpt { margin: 2px 0 0; font-size: 15px; line-height: 1.5; color: var(--hmr-mute); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.hm-ra-card__meta { margin: 4px 0 0; font-size: 13.5px; color: var(--hmr-mute); display: flex; flex-wrap: wrap; gap: 4px 6px; align-items: baseline; }
.hm-ra-card__meta a, body.scheme_default .hm-ra-card__meta a { color: var(--hmr-ink); text-decoration: none; border-bottom: 1px solid var(--hmr-rule); position: relative; z-index: 1; }
.hm-ra-card__meta a:hover { border-color: var(--hmr-ink); }
.hm-ra-card__meta time { font-variant-numeric: tabular-nums; }
.hm-ra-card__meta time::before { content: "·"; margin-inline-end: 6px; }
.hm-ra-card__cta { margin: 6px 0 0; font-size: 14.5px; font-weight: 500; }
.hm-ra-card__cta a, body.scheme_default .hm-ra-card__cta a { color: #b0182a; text-decoration: none; position: relative; z-index: 1; }
.hm-ra-card__cta a:hover { text-decoration: underline; }
.hm-ra-sentinel { height: 1px; }
.hm-ra-error { border-inline-start: 3px solid var(--hmr-red); padding: 12px 16px; margin: 24px 0 0; background: rgba(216,30,50,.06); }
.hm-ra-more-wrap { text-align: center; margin: 40px 0 0; }
.hm-ra-end { text-align: center; color: var(--hmr-mute); margin: 32px 0 0; font-size: 15px; }
.hm-ra-pagination { display: flex; gap: 16px; justify-content: center; margin: 20px 0 0; font-size: 15px; }
.hm-ra-pagination a { color: var(--hmr-ink); }
/* The numbered pager is the no-JavaScript path. Once the progressive loader is running it
   would contradict the live count ("Showing 36 of 237" beside "Page 1 of 20"), so it is
   hidden for JS users only. Removing .hm-ra--js restores it. */
.hm-ra--js .hm-ra-pagination { display: none; }

/* Phase 10 (2026-09-05): a filter in the URL that names no term is reported, not swallowed. */
.hm-ra-unknown{margin:6px 0 0;font-size:14px;line-height:1.55;color:var(--hda-ink,#21262C);
  border-inline-start:3px solid var(--hda-amber,#DA8E1C);padding:8px 0 8px 12px;background:rgba(218,142,28,.07)}
.hm-ra-unknown strong{font-weight:700}

/* 2026-10-27 (audit, Arabic type on Resources): the shared button, card-title and banner rules (humena-d26-buttons,
   -cards, -banner) set 'IBM Plex Sans' first and Latin tracking with !important, so Arabic card titles, the filter
   buttons, "Load more" and the banner eyebrow fell back from the Latin face and were letter-spaced, which breaks
   Arabic joining. On RTL the Arabic face leads and tracking is zero. Selectors outrank those rules (html[dir] plus
   one class over theirs); LTR is untouched. */
html[dir="rtl"] body:not(#hm-btn) .hm-ra .hm-ra-btn,
html[dir="rtl"] body:not(#hm-btn) .hm-r-spotlight .hm-r-spotlight__btn,
html[dir="rtl"] body:not(#hm-btn) .hm-ra-card__title,
html[dir="rtl"] body:not(#hm-btn) .hm-ra-card__title .hm-ra-card__link,
html[dir="rtl"] body:not(#hm-btn) .hpb-eyebrow {
	font-family: 'IBM Plex Sans Arabic', 'IBM Plex Sans', 'Noto Naskh Arabic', sans-serif !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}
