/**
 * Mindivr child theme — reusable global foundation (Phase 2A / 2B.1 / 2D.3 / 2D.4).
 *
 * Design tokens, layout primitives, shared components, self-hosted fonts,
 * sitewide header/footer chrome, and homepage presentation. Consume
 * --mindivr-* variables only.
 *
 * Customizer values are attached as inline CSS on the mindivr-main handle
 * after this file and override matching :root defaults.
 */

/* ==========================================================================
   0. Self-hosted fonts (OFL — see assets/fonts/*/OFL.txt)
   ========================================================================== */

@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url("../fonts/manrope/Manrope-latin-ext-wght.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url("../fonts/manrope/Manrope-latin-wght.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Newsreader";
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url("../fonts/newsreader/Newsreader-opsz-wght.woff2") format("woff2");
}

/* ==========================================================================
   A. Design tokens — defaults & extensions
   ========================================================================== */

:root {
	/* --- Existing Customizer-compatible color / layout tokens --- */
	--mindivr-bg: #061014;
	--mindivr-surface: #0c171e;
	--mindivr-surface-elevated: #111f29;
	--mindivr-text: #f5f7f2;
	--mindivr-text-muted: #9cb0b9;
	--mindivr-accent: #18d1c0;
	--mindivr-accent-warm: #e8b45c;
	--mindivr-border: #22323c;
	--mindivr-content-width: 1280px;
	--mindivr-radius: 20px;
	--mindivr-motion-scale: 1;

	/* --- Typography families (self-hosted WOFF2 + system fallbacks) --- */
	--mindivr-font-display: "Newsreader", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;
	--mindivr-font-sans: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--mindivr-font-mono: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, monospace;

	/* --- Fluid type scale --- */
	--mindivr-fs-00: clamp(0.8125rem, 0.78rem + 0.15vw, 0.875rem);
	--mindivr-fs-0: clamp(0.9375rem, 0.9rem + 0.2vw, 1rem);
	--mindivr-fs-1: clamp(1.0625rem, 1rem + 0.3vw, 1.125rem);
	--mindivr-fs-2: clamp(1.25rem, 1.1rem + 0.55vw, 1.5rem);
	--mindivr-fs-3: clamp(1.5rem, 1.25rem + 0.9vw, 2rem);
	--mindivr-fs-4: clamp(1.875rem, 1.45rem + 1.4vw, 2.75rem);
	--mindivr-fs-5: clamp(2.25rem, 1.7rem + 2vw, 3.5rem);

	/* --- Line heights --- */
	--mindivr-lh-tight: 1.2;
	--mindivr-lh-body: 1.65;
	--mindivr-lh-loose: 1.8;

	/* --- Measures --- */
	--mindivr-measure: 68ch;
	--mindivr-measure-wide: 75ch;

	/* --- Spacing scale --- */
	--mindivr-space-1: 0.25rem;
	--mindivr-space-2: 0.5rem;
	--mindivr-space-3: 0.75rem;
	--mindivr-space-4: 1rem;
	--mindivr-space-5: 1.5rem;
	--mindivr-space-6: 2.5rem;
	--mindivr-space-7: 4rem;

	/* --- Layout --- */
	--mindivr-gutter: clamp(1rem, 3vw, 2rem);
	--mindivr-section-y: clamp(3rem, 6vw, 6rem);
	--mindivr-content-narrow: 45rem;
	--mindivr-content-wide: 60rem;

	/* --- Radii --- */
	--mindivr-radius-sm: 0.375rem;
	--mindivr-radius-pill: 999px;

	/* --- Borders / elevation (solid token fallbacks first) --- */
	--mindivr-border-width: 1px;
	--mindivr-shadow-1: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.22);
	--mindivr-shadow-2: 0 1rem 2.5rem rgba(0, 0, 0, 0.32);
	--mindivr-glow: 0 0 0 1px var(--mindivr-border), 0 0 2.5rem rgba(24, 209, 192, 0.12);

	/* --- Semantic / chrome roles --- */
	--mindivr-text-subtle: var(--mindivr-text-muted);
	--mindivr-accent-info: #7ee7de;
	--mindivr-accent-topic: #8b7ec8;
	--mindivr-success: #3dba8b;
	--mindivr-warning: #e0a54b;
	--mindivr-danger: #e06b6b;
	--mindivr-focus: var(--mindivr-accent);
	--mindivr-overlay: rgba(6, 16, 20, 0.78);
	--mindivr-on-accent: #061014;

	/* --- Motion --- */
	--mindivr-duration-1: calc(150ms * var(--mindivr-motion-scale));
	--mindivr-duration-2: calc(280ms * var(--mindivr-motion-scale));
	--mindivr-duration-3: calc(450ms * var(--mindivr-motion-scale));
	--mindivr-ease-standard: cubic-bezier(0.22, 1, 0.36, 1);
	--mindivr-ease-emphasis: cubic-bezier(0.16, 1, 0.3, 1);

	/* --- Z-index --- */
	--mindivr-z-header: 100;
	--mindivr-z-overlay: 200;
	--mindivr-z-modal: 300;
	--mindivr-z-skip: 400;
}

@supports (color: color-mix(in srgb, #000 50%, #fff)) {
	:root {
		--mindivr-glow: 0 0 0 1px color-mix(in srgb, var(--mindivr-accent) 28%, transparent),
			0 0 2.5rem color-mix(in srgb, var(--mindivr-accent) 12%, transparent);
		--mindivr-text-subtle: color-mix(in srgb, var(--mindivr-text-muted) 78%, var(--mindivr-bg));
		--mindivr-overlay: color-mix(in srgb, var(--mindivr-bg) 78%, transparent);
	}
}

/* ==========================================================================
   B. Global foundation
   ========================================================================== */

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

html {
	box-sizing: border-box;
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

body {
	margin: 0;
	background-color: var(--mindivr-bg);
	color: var(--mindivr-text);
	font-family: var(--mindivr-font-sans);
	font-size: var(--mindivr-fs-1);
	line-height: var(--mindivr-lh-body);
	text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 var(--mindivr-space-4);
	color: var(--mindivr-text);
	font-family: var(--mindivr-font-sans);
	font-weight: 600;
	line-height: var(--mindivr-lh-tight);
	text-wrap: balance;
}

h1 {
	font-family: var(--mindivr-font-display);
	font-size: var(--mindivr-fs-5);
	font-weight: 500;
}

h2 {
	font-family: var(--mindivr-font-display);
	font-size: var(--mindivr-fs-4);
	font-weight: 500;
}

h3 {
	font-size: var(--mindivr-fs-3);
}

h4 {
	font-size: var(--mindivr-fs-2);
}

h5,
h6 {
	font-size: var(--mindivr-fs-1);
}

p {
	margin: 0 0 var(--mindivr-space-4);
	max-width: var(--mindivr-measure);
}

ul,
ol {
	margin: 0 0 var(--mindivr-space-4);
	padding-left: 1.25em;
	max-width: var(--mindivr-measure);
}

li + li {
	margin-top: var(--mindivr-space-2);
}

a {
	color: var(--mindivr-accent);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
	transition: color var(--mindivr-duration-1) var(--mindivr-ease-standard);
}

a:hover {
	color: var(--mindivr-accent);
	color: color-mix(in srgb, var(--mindivr-accent) 82%, var(--mindivr-text));
}

a:active {
	color: var(--mindivr-text-muted);
	color: color-mix(in srgb, var(--mindivr-accent) 70%, var(--mindivr-text-muted));
}

::selection {
	background-color: var(--mindivr-accent);
	color: var(--mindivr-on-accent);
}

/*
 * GeneratePress light content surfaces use --base-3 (typically white).
 * Global Mindivr body/heading colors are light-on-dark; restore dark
 * foreground here so non-homepage templates remain readable. Homepage
 * markup does not use these containers.
 */
.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.separate-containers .paging-navigation,
.one-container .container,
.inside-page-header,
.sidebar .widget {
	color: var(--mindivr-on-accent);
}

.separate-containers .inside-article :is(h1, h2, h3, h4, h5, h6),
.separate-containers .comments-area :is(h1, h2, h3, h4, h5, h6),
.separate-containers .page-header :is(h1, h2, h3, h4, h5, h6),
.one-container .container :is(h1, h2, h3, h4, h5, h6),
.inside-page-header :is(h1, h2, h3, h4, h5, h6),
.sidebar .widget :is(h1, h2, h3, h4, h5, h6),
.sidebar .widget .wp-block-heading {
	color: var(--mindivr-on-accent);
}

.separate-containers .inside-article a,
.separate-containers .comments-area a,
.separate-containers .page-header a,
.separate-containers .paging-navigation a,
.one-container .container a,
.inside-page-header a,
.sidebar .widget a {
	color: var(--mindivr-on-accent);
	color: color-mix(in srgb, var(--mindivr-accent) 45%, var(--mindivr-on-accent));
}

.separate-containers .inside-article a:hover,
.separate-containers .comments-area a:hover,
.separate-containers .page-header a:hover,
.separate-containers .paging-navigation a:hover,
.one-container .container a:hover,
.inside-page-header a:hover,
.sidebar .widget a:hover {
	color: var(--mindivr-on-accent);
	color: color-mix(in srgb, var(--mindivr-accent) 55%, var(--mindivr-on-accent));
}

.separate-containers .inside-article a:active,
.separate-containers .comments-area a:active,
.separate-containers .page-header a:active,
.separate-containers .paging-navigation a:active,
.one-container .container a:active,
.inside-page-header a:active,
.sidebar .widget a:active {
	color: var(--mindivr-on-accent);
	color: color-mix(in srgb, var(--mindivr-accent) 35%, var(--mindivr-on-accent));
}

.separate-containers .inside-article blockquote,
.separate-containers .inside-article code,
.separate-containers .inside-article kbd,
.separate-containers .inside-article samp,
.separate-containers .inside-article pre,
.one-container .container blockquote,
.one-container .container code,
.one-container .container kbd,
.one-container .container samp,
.one-container .container pre {
	color: var(--mindivr-text);
}

img,
svg,
video,
canvas {
	display: block;
	max-width: 100%;
	height: auto;
}

figure {
	margin: 0 0 var(--mindivr-space-5);
}

figcaption,
.mindivr-media__caption,
.mindivr-media__credit {
	margin-top: var(--mindivr-space-2);
	color: var(--mindivr-text-muted);
	font-size: var(--mindivr-fs-00);
	line-height: var(--mindivr-lh-body);
	max-width: var(--mindivr-measure-wide);
}

blockquote {
	margin: 0 0 var(--mindivr-space-5);
	padding: var(--mindivr-space-4) var(--mindivr-space-5);
	border-left: 3px solid var(--mindivr-accent);
	background-color: var(--mindivr-surface);
	border-radius: 0 var(--mindivr-radius-sm) var(--mindivr-radius-sm) 0;
	font-family: var(--mindivr-font-display);
	font-size: var(--mindivr-fs-2);
	line-height: var(--mindivr-lh-loose);
	max-width: var(--mindivr-measure-wide);
}

table {
	width: 100%;
	max-width: 100%;
	border-collapse: collapse;
	margin: 0 0 var(--mindivr-space-5);
	font-size: var(--mindivr-fs-0);
}

th,
td {
	padding: var(--mindivr-space-3) var(--mindivr-space-4);
	border-bottom: var(--mindivr-border-width) solid var(--mindivr-border);
	text-align: left;
	vertical-align: top;
}

th {
	color: var(--mindivr-text);
	font-weight: 600;
}

code,
kbd,
samp {
	font-family: var(--mindivr-font-mono);
	font-size: 0.92em;
}

code {
	padding: 0.1em 0.35em;
	border-radius: var(--mindivr-radius-sm);
	background-color: var(--mindivr-surface-elevated);
	border: var(--mindivr-border-width) solid var(--mindivr-border);
}

pre {
	margin: 0 0 var(--mindivr-space-5);
	padding: var(--mindivr-space-4);
	overflow-x: auto;
	border-radius: var(--mindivr-radius-sm);
	background-color: var(--mindivr-surface-elevated);
	border: var(--mindivr-border-width) solid var(--mindivr-border);
	font-family: var(--mindivr-font-mono);
	font-size: var(--mindivr-fs-00);
	line-height: var(--mindivr-lh-body);
}

pre code {
	padding: 0;
	border: 0;
	background: none;
}

:focus {
	outline: 2px solid var(--mindivr-focus);
	outline-offset: 2px;
}

:focus:not(:focus-visible) {
	outline: none;
}

:focus-visible {
	outline: 2px solid var(--mindivr-focus);
	outline-offset: 2px;
}

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

/* Clip/visually-hidden until keyboard focus — avoid transform hide which can
   fail to reverse under cached CSS / focus-visible edge cases. */
.mindivr-skip-link {
	position: absolute;
	top: var(--mindivr-space-3);
	left: var(--mindivr-space-3);
	z-index: var(--mindivr-z-skip);
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: var(--mindivr-border-width) solid var(--mindivr-accent);
	border-radius: var(--mindivr-radius-sm);
	background-color: var(--mindivr-surface-elevated);
	color: var(--mindivr-text);
	font-size: var(--mindivr-fs-0);
	font-weight: 600;
	text-decoration: none;
}

.mindivr-skip-link:focus,
.mindivr-skip-link:focus-visible {
	width: auto;
	height: auto;
	margin: 0;
	padding: var(--mindivr-space-3) var(--mindivr-space-4);
	overflow: visible;
	clip: auto;
	clip-path: none;
	white-space: normal;
}

/* Keep skip-link target clear of the sticky site header. */
#main {
	scroll-margin-top: 5.5rem;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

@media (forced-colors: active) {
	:focus,
	:focus-visible,
	.mindivr-btn:focus-visible,
	.mindivr-link:focus-visible {
		outline: 2px solid CanvasText;
	}

	.mindivr-btn,
	.mindivr-card,
	.mindivr-notice,
	.mindivr-media,
	.mindivr-empty,
	.mindivr-status {
		border: 1px solid CanvasText;
	}

	.mindivr-btn--primary {
		background-color: Highlight;
		color: HighlightText;
		border-color: CanvasText;
	}
}

/* ==========================================================================
   C. Layout primitives
   ========================================================================== */

.mindivr-container,
.mindivr-container--narrow,
.mindivr-container--wide {
	width: min(100% - (var(--mindivr-gutter) * 2), var(--mindivr-content-width));
	margin-inline: auto;
}

.mindivr-container--narrow {
	width: min(100% - (var(--mindivr-gutter) * 2), var(--mindivr-content-narrow));
}

.mindivr-container--wide {
	width: min(100% - (var(--mindivr-gutter) * 2), var(--mindivr-content-wide));
}

/* Own max-width only; leave GeneratePress horizontal padding intact. */
.grid-container {
	width: 100%;
	max-width: var(--mindivr-content-width);
	margin-inline: auto;
	box-sizing: border-box;
}

.mindivr-section {
	padding-block: var(--mindivr-section-y);
}

.mindivr-section--surface {
	background-color: var(--mindivr-surface);
}

.mindivr-stack {
	display: flex;
	flex-direction: column;
	gap: var(--mindivr-space-4);
}

.mindivr-stack > * {
	margin: 0;
}

.mindivr-cluster {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--mindivr-space-3);
}

.mindivr-grid {
	display: grid;
	gap: var(--mindivr-space-5);
	grid-template-columns: 1fr;
}

@media (min-width: 40rem) {
	.mindivr-grid--2,
	.mindivr-grid--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mindivr-grid--auto {
		grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
	}
}

@media (min-width: 60rem) {
	.mindivr-grid--3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* ==========================================================================
   D. Reusable visual components
   ========================================================================== */

.mindivr-link {
	color: var(--mindivr-accent);
	font-weight: 500;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.mindivr-link:hover {
	color: var(--mindivr-accent);
	color: color-mix(in srgb, var(--mindivr-accent) 82%, var(--mindivr-text));
}

.mindivr-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--mindivr-space-2);
	min-height: 2.75rem;
	padding: 0.7rem 1.15rem;
	border: var(--mindivr-border-width) solid transparent;
	border-radius: var(--mindivr-radius-sm);
	background-color: transparent;
	color: var(--mindivr-text);
	font-family: var(--mindivr-font-sans);
	font-size: var(--mindivr-fs-0);
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition:
		background-color var(--mindivr-duration-1) var(--mindivr-ease-standard),
		border-color var(--mindivr-duration-1) var(--mindivr-ease-standard),
		color var(--mindivr-duration-1) var(--mindivr-ease-standard),
		box-shadow var(--mindivr-duration-1) var(--mindivr-ease-standard);
}

.mindivr-btn:hover {
	text-decoration: none;
}

.mindivr-btn:active {
	transform: none;
}

.mindivr-btn--primary {
	background-color: var(--mindivr-accent);
	border-color: var(--mindivr-accent);
	color: var(--mindivr-on-accent);
}

.mindivr-btn--primary:hover {
	background-color: var(--mindivr-accent);
	border-color: var(--mindivr-accent);
	background-color: color-mix(in srgb, var(--mindivr-accent) 88%, var(--mindivr-text));
	border-color: color-mix(in srgb, var(--mindivr-accent) 88%, var(--mindivr-text));
	color: var(--mindivr-on-accent);
}

.mindivr-btn--secondary {
	background-color: var(--mindivr-surface-elevated);
	border-color: var(--mindivr-border);
	color: var(--mindivr-text);
}

.mindivr-btn--secondary:hover {
	border-color: var(--mindivr-accent);
	border-color: color-mix(in srgb, var(--mindivr-accent) 45%, var(--mindivr-border));
	color: var(--mindivr-text);
}

.mindivr-btn--ghost {
	background-color: transparent;
	border-color: var(--mindivr-border);
	color: var(--mindivr-text);
}

.mindivr-btn--ghost:hover {
	border-color: var(--mindivr-text-muted);
	border-color: color-mix(in srgb, var(--mindivr-text-muted) 50%, var(--mindivr-border));
	background-color: var(--mindivr-surface);
	background-color: color-mix(in srgb, var(--mindivr-surface-elevated) 55%, transparent);
}

.mindivr-btn--sm {
	min-height: 2.25rem;
	padding: 0.45rem 0.85rem;
	font-size: var(--mindivr-fs-00);
}

@media (pointer: coarse) {
	.mindivr-btn--sm {
		min-height: 2.75rem;
		min-width: 2.75rem;
		padding: 0.55rem 1rem;
	}
}

.mindivr-btn:disabled,
.mindivr-btn[aria-disabled="true"] {
	opacity: 0.55;
	cursor: not-allowed;
	box-shadow: none;
}

.mindivr-btn:focus-visible {
	outline: 2px solid var(--mindivr-focus);
	outline-offset: 2px;
}

.mindivr-kicker {
	display: inline-block;
	margin: 0 0 var(--mindivr-space-3);
	color: var(--mindivr-accent);
	font-family: var(--mindivr-font-sans);
	font-size: var(--mindivr-fs-00);
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.3;
	text-transform: uppercase;
}

.mindivr-badge {
	display: inline-flex;
	align-items: center;
	gap: var(--mindivr-space-1);
	min-height: 1.5rem;
	padding: 0.15rem 0.55rem;
	border-radius: var(--mindivr-radius-sm);
	border: var(--mindivr-border-width) solid var(--mindivr-border);
	background-color: var(--mindivr-surface);
	color: var(--mindivr-text-muted);
	font-size: var(--mindivr-fs-00);
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
}

.mindivr-badge--success {
	border-color: var(--mindivr-success);
	border-color: color-mix(in srgb, var(--mindivr-success) 45%, var(--mindivr-border));
	color: var(--mindivr-success);
}

.mindivr-badge--warning {
	border-color: var(--mindivr-warning);
	border-color: color-mix(in srgb, var(--mindivr-warning) 45%, var(--mindivr-border));
	color: var(--mindivr-warning);
}

.mindivr-badge--danger {
	border-color: var(--mindivr-danger);
	border-color: color-mix(in srgb, var(--mindivr-danger) 45%, var(--mindivr-border));
	color: var(--mindivr-danger);
}

.mindivr-badge--info {
	border-color: var(--mindivr-accent-info);
	border-color: color-mix(in srgb, var(--mindivr-accent-info) 45%, var(--mindivr-border));
	color: var(--mindivr-accent-info);
}

.mindivr-card {
	display: flex;
	flex-direction: column;
	gap: var(--mindivr-space-4);
	padding: var(--mindivr-space-5);
	border: var(--mindivr-border-width) solid var(--mindivr-border);
	border-radius: var(--mindivr-radius);
	background-color: var(--mindivr-surface-elevated);
	color: var(--mindivr-text);
	box-shadow: none;
	transition:
		border-color var(--mindivr-duration-1) var(--mindivr-ease-standard),
		background-color var(--mindivr-duration-1) var(--mindivr-ease-standard);
}

.mindivr-card:hover {
	border-color: var(--mindivr-accent);
	border-color: color-mix(in srgb, var(--mindivr-accent) 28%, var(--mindivr-border));
}

a.mindivr-card {
	text-decoration: none;
	color: inherit;
}

a.mindivr-card:hover {
	color: inherit;
}

.mindivr-card--article {
	padding: 0;
	overflow: hidden;
}

.mindivr-card--article .mindivr-media {
	border-radius: 0;
	border: 0;
	border-bottom: var(--mindivr-border-width) solid var(--mindivr-border);
}

.mindivr-card--article .mindivr-card__body {
	display: flex;
	flex-direction: column;
	gap: var(--mindivr-space-3);
	padding: var(--mindivr-space-5);
}

.mindivr-card--article .mindivr-card__title {
	margin: 0;
	font-family: var(--mindivr-font-display);
	font-size: var(--mindivr-fs-2);
	font-weight: 500;
	line-height: var(--mindivr-lh-tight);
	max-width: none;
}

.mindivr-card--article .mindivr-card__excerpt {
	margin: 0;
	color: var(--mindivr-text-muted);
	font-size: var(--mindivr-fs-0);
	max-width: none;
}

.mindivr-card--feature {
	position: relative;
	padding: var(--mindivr-space-6);
	background-color: var(--mindivr-surface-elevated);
	background-image: linear-gradient(
		160deg,
		var(--mindivr-surface-elevated) 0%,
		var(--mindivr-surface) 100%
	);
	background-image: linear-gradient(
		160deg,
		color-mix(in srgb, var(--mindivr-surface-elevated) 92%, var(--mindivr-accent)) 0%,
		var(--mindivr-surface-elevated) 45%,
		var(--mindivr-surface) 100%
	);
	box-shadow: var(--mindivr-shadow-1);
}

.mindivr-card--feature::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	pointer-events: none;
	box-shadow: var(--mindivr-glow);
	opacity: 0.55;
}

.mindivr-media {
	position: relative;
	overflow: hidden;
	border-radius: var(--mindivr-radius);
	border: var(--mindivr-border-width) solid var(--mindivr-border);
	background-color: var(--mindivr-surface);
	aspect-ratio: 16 / 10;
}

.mindivr-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mindivr-media__credit {
	display: block;
}

.mindivr-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--mindivr-space-2) var(--mindivr-space-4);
	color: var(--mindivr-text-muted);
	font-size: var(--mindivr-fs-00);
	line-height: 1.4;
}

.mindivr-meta time {
	font-variant-numeric: tabular-nums;
}

.mindivr-notice {
	display: flex;
	gap: var(--mindivr-space-3);
	align-items: flex-start;
	padding: var(--mindivr-space-4);
	border-radius: var(--mindivr-radius-sm);
	border: var(--mindivr-border-width) solid var(--mindivr-border);
	background-color: var(--mindivr-surface);
	color: var(--mindivr-text);
	font-size: var(--mindivr-fs-0);
}

.mindivr-notice::before {
	content: "";
	flex: 0 0 0.35rem;
	align-self: stretch;
	border-radius: var(--mindivr-radius-pill);
	background-color: var(--mindivr-text-muted);
}

.mindivr-notice--info::before {
	background-color: var(--mindivr-accent-info);
}

.mindivr-notice--success::before {
	background-color: var(--mindivr-success);
}

.mindivr-notice--warning::before {
	background-color: var(--mindivr-warning);
}

.mindivr-notice--danger::before {
	background-color: var(--mindivr-danger);
}

.mindivr-status,
.mindivr-empty {
	display: grid;
	gap: var(--mindivr-space-3);
	padding: var(--mindivr-space-5);
	border-radius: var(--mindivr-radius);
	border: var(--mindivr-border-width) solid var(--mindivr-border);
	background-color: var(--mindivr-surface);
	color: var(--mindivr-text-muted);
	font-size: var(--mindivr-fs-0);
	text-align: start;
}

.mindivr-status__title,
.mindivr-empty__title {
	margin: 0;
	color: var(--mindivr-text);
	font-family: var(--mindivr-font-sans);
	font-size: var(--mindivr-fs-1);
	font-weight: 600;
}

.mindivr-status--loading {
	border-style: solid;
}

.mindivr-status--loading::after {
	content: "";
	width: 1.25rem;
	height: 1.25rem;
	border-radius: 50%;
	border: 2px solid var(--mindivr-border);
	border-top-color: var(--mindivr-accent);
	animation: mindivr-spin calc(700ms * var(--mindivr-motion-scale, 1)) linear infinite;
}

.mindivr-empty,
.mindivr-status--empty {
	border-style: dashed;
}

.mindivr-status--error {
	border-style: solid;
	border-color: var(--mindivr-danger);
	border-color: color-mix(in srgb, var(--mindivr-danger) 45%, var(--mindivr-border));
}

.mindivr-status--success {
	border-style: solid;
	border-color: var(--mindivr-success);
	border-color: color-mix(in srgb, var(--mindivr-success) 45%, var(--mindivr-border));
}

@keyframes mindivr-spin {
	to {
		transform: rotate(360deg);
	}
}

.mindivr-form,
.mindivr-field {
	display: grid;
	gap: var(--mindivr-space-2);
}

.mindivr-form {
	gap: var(--mindivr-space-5);
	max-width: var(--mindivr-measure);
}

.mindivr-label,
.mindivr-form label {
	color: var(--mindivr-text);
	font-size: var(--mindivr-fs-0);
	font-weight: 600;
}

.mindivr-input,
.mindivr-form input[type="text"],
.mindivr-form input[type="email"],
.mindivr-form input[type="search"],
.mindivr-form input[type="url"],
.mindivr-form input[type="tel"],
.mindivr-form input[type="password"],
.mindivr-form input[type="number"],
.mindivr-form textarea,
.mindivr-form select {
	width: 100%;
	min-height: 2.75rem;
	padding: 0.65rem 0.85rem;
	border: var(--mindivr-border-width) solid var(--mindivr-border);
	border-radius: var(--mindivr-radius-sm);
	background-color: var(--mindivr-surface-elevated);
	color: var(--mindivr-text);
	font-family: var(--mindivr-font-sans);
	font-size: var(--mindivr-fs-0);
	line-height: 1.4;
	transition:
		border-color var(--mindivr-duration-1) var(--mindivr-ease-standard),
		box-shadow var(--mindivr-duration-1) var(--mindivr-ease-standard);
}

.mindivr-form textarea {
	min-height: 8rem;
	resize: vertical;
}

.mindivr-form input:hover,
.mindivr-form textarea:hover,
.mindivr-form select:hover,
.mindivr-input:hover {
	border-color: var(--mindivr-text-muted);
	border-color: color-mix(in srgb, var(--mindivr-text-muted) 40%, var(--mindivr-border));
}

.mindivr-form input:focus-visible,
.mindivr-form textarea:focus-visible,
.mindivr-form select:focus-visible,
.mindivr-input:focus-visible {
	border-color: var(--mindivr-focus);
	outline: 2px solid var(--mindivr-focus);
	outline-offset: 1px;
}

.mindivr-help {
	margin: 0;
	color: var(--mindivr-text-muted);
	font-size: var(--mindivr-fs-00);
}

.mindivr-error-text {
	margin: 0;
	color: var(--mindivr-danger);
	font-size: var(--mindivr-fs-00);
	font-weight: 600;
}

.mindivr-field--error .mindivr-input,
.mindivr-field--error input,
.mindivr-field--error textarea,
.mindivr-field--error select {
	border-color: var(--mindivr-danger);
}

.mindivr-form input:disabled,
.mindivr-form textarea:disabled,
.mindivr-form select:disabled,
.mindivr-input:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.mindivr-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--mindivr-space-2);
	margin: 0 0 var(--mindivr-space-5);
	padding: 0;
	list-style: none;
	color: var(--mindivr-text-muted);
	font-size: var(--mindivr-fs-00);
}

.mindivr-breadcrumbs a {
	color: var(--mindivr-text-muted);
	text-decoration: none;
}

.mindivr-breadcrumbs a:hover {
	color: var(--mindivr-accent);
	text-decoration: underline;
}

.mindivr-breadcrumbs [aria-current="page"] {
	color: var(--mindivr-text);
	font-weight: 600;
}

.mindivr-pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--mindivr-space-2);
	margin: var(--mindivr-space-6) 0 0;
}

.mindivr-pagination a,
.mindivr-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding: 0.35rem 0.7rem;
	border: var(--mindivr-border-width) solid var(--mindivr-border);
	border-radius: var(--mindivr-radius-sm);
	background-color: var(--mindivr-surface);
	color: var(--mindivr-text);
	font-size: var(--mindivr-fs-00);
	font-weight: 600;
	text-decoration: none;
}

.mindivr-pagination a:hover {
	border-color: var(--mindivr-accent);
	border-color: color-mix(in srgb, var(--mindivr-accent) 40%, var(--mindivr-border));
	color: var(--mindivr-text);
}

.mindivr-pagination .current,
.mindivr-pagination [aria-current="page"] {
	background-color: var(--mindivr-accent);
	border-color: var(--mindivr-accent);
	color: var(--mindivr-on-accent);
}

/* ==========================================================================
   H. Sitewide header & footer chrome (Phase 2E.1 navigation)
   ========================================================================== */

.mindivr-site-header {
	--mindivr-header-control-h: 2.75rem;
	--mindivr-header-icon-size: 1.375rem; /* 22px */
	--mindivr-header-pad-y: 0.75rem;
	position: relative;
	z-index: var(--mindivr-z-header);
	border-bottom: var(--mindivr-border-width) solid var(--mindivr-border);
	background-color: var(--mindivr-bg);
	color: var(--mindivr-text);
}

.mindivr-site-header__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--mindivr-space-3) var(--mindivr-space-4);
	width: min(100% - (var(--mindivr-gutter) * 2), var(--mindivr-content-width));
	margin-inline: auto;
	min-height: calc(var(--mindivr-header-control-h) + (var(--mindivr-header-pad-y) * 2));
	padding-block: var(--mindivr-header-pad-y);
}

.mindivr-site-brand {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	height: var(--mindivr-header-control-h);
	min-height: var(--mindivr-header-control-h);
	margin: 0;
	padding: 0;
	color: var(--mindivr-text);
	text-decoration: none;
	line-height: 1;
}

.mindivr-site-brand:hover,
.mindivr-site-brand:focus-visible {
	color: var(--mindivr-accent);
}

.mindivr-site-brand:focus-visible {
	outline: 2px solid var(--mindivr-focus);
	outline-offset: 3px;
	border-radius: 2px;
}

.mindivr-site-brand__icon {
	display: block;
	width: var(--mindivr-header-icon-size);
	height: var(--mindivr-header-icon-size);
	flex: 0 0 auto;
	margin: 0;
	border-radius: 0.3rem;
	object-fit: contain;
}

.mindivr-site-brand__name {
	display: inline-flex;
	align-items: center;
	height: 1em;
	margin: 0;
	/* Optical compensation: Newsreader glyphs sit high in the em box. */
	padding: 0.08em 0 0;
	font-family: var(--mindivr-font-display);
	font-size: clamp(1.15rem, 1.05rem + 0.3vw, 1.35rem);
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1;
}

.mindivr-nav-toggle,
.mindivr-search-toggle {
	/* Visible only after JS enhancement so no-JS does not leave dead controls. */
	display: none;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	height: var(--mindivr-header-control-h);
	min-height: var(--mindivr-header-control-h);
	min-width: var(--mindivr-header-control-h);
	margin: 0;
	padding: 0 0.9rem;
	border: var(--mindivr-border-width) solid var(--mindivr-border);
	border-radius: var(--mindivr-radius-sm);
	background-color: var(--mindivr-surface);
	color: var(--mindivr-text);
	font-family: var(--mindivr-font-sans);
	font-size: var(--mindivr-fs-00);
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	transition:
		color var(--mindivr-duration-1) var(--mindivr-ease-standard),
		border-color var(--mindivr-duration-1) var(--mindivr-ease-standard),
		background-color var(--mindivr-duration-1) var(--mindivr-ease-standard);
}

.mindivr-site-header.mindivr-is-enhanced .mindivr-search-toggle {
	display: inline-flex;
}

.mindivr-nav-toggle:hover,
.mindivr-search-toggle:hover {
	border-color: color-mix(in srgb, var(--mindivr-accent) 45%, var(--mindivr-border));
	color: var(--mindivr-text);
}

.mindivr-nav-toggle:focus,
.mindivr-search-toggle:focus {
	outline: 2px solid var(--mindivr-focus);
	outline-offset: 2px;
}

.mindivr-nav-toggle:focus:not(:focus-visible),
.mindivr-search-toggle:focus:not(:focus-visible) {
	outline: none;
}

.mindivr-nav-toggle:focus-visible,
.mindivr-search-toggle:focus-visible {
	outline: 2px solid var(--mindivr-focus);
	outline-offset: 2px;
}

.mindivr-primary-nav {
	display: flex;
	align-items: center;
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	padding: 0;
	align-self: center;
}

.mindivr-primary-nav__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 clamp(0.85rem, 1.4vw, 1.35rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

.mindivr-primary-nav__item {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
	line-height: 1;
}

.mindivr-primary-nav__item--support {
	display: none;
}

.mindivr-primary-nav__link {
	position: relative;
	display: inline-flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	height: var(--mindivr-header-control-h);
	min-height: var(--mindivr-header-control-h);
	margin: 0;
	padding: 0 0.1rem;
	color: var(--mindivr-text-muted);
	font-family: var(--mindivr-font-sans);
	font-size: var(--mindivr-fs-0);
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	transition: color var(--mindivr-duration-1) var(--mindivr-ease-standard);
}

.mindivr-primary-nav__link::after {
	content: "";
	position: absolute;
	left: 0.1rem;
	right: 0.1rem;
	bottom: 0.55rem;
	height: 2px;
	border-radius: 999px;
	background-color: var(--mindivr-accent);
	pointer-events: none;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform calc(220ms * var(--mindivr-motion-scale)) var(--mindivr-ease-standard);
}

.mindivr-primary-nav__link:hover,
.mindivr-primary-nav__link:focus-visible {
	color: var(--mindivr-text);
}

.mindivr-primary-nav__link:hover::after,
.mindivr-primary-nav__link:focus-visible::after {
	transform: scaleX(0.55);
}

.mindivr-primary-nav__link.is-current,
.mindivr-primary-nav__link[aria-current="page"] {
	color: var(--mindivr-accent);
}

.mindivr-primary-nav__link.is-current::after,
.mindivr-primary-nav__link[aria-current="page"]::after {
	transform: scaleX(1);
}

.mindivr-primary-nav__link:focus-visible {
	outline: 2px solid var(--mindivr-focus);
	outline-offset: 3px;
	border-radius: 2px;
}

.mindivr-site-header__actions {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	align-self: center;
	gap: var(--mindivr-space-3);
	margin: 0 0 0 auto;
	padding: 0;
	min-height: var(--mindivr-header-control-h);
}

.mindivr-site-header__tools {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: var(--mindivr-space-3);
	margin: 0;
	padding: 0;
}

.mindivr-site-header__actions::before {
	content: "";
	display: none;
	flex: 0 0 auto;
	align-self: center;
	width: 1px;
	height: 1.15rem;
	margin: 0;
	background-color: color-mix(in srgb, var(--mindivr-border) 88%, transparent);
}

.mindivr-support-link {
	display: inline-flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	height: var(--mindivr-header-control-h);
	min-height: var(--mindivr-header-control-h);
	margin: 0;
	padding: 0 0.9rem;
	border: var(--mindivr-border-width) solid color-mix(in srgb, var(--mindivr-accent-warm) 45%, var(--mindivr-border));
	border-radius: var(--mindivr-radius-sm);
	background-color: transparent;
	color: var(--mindivr-accent-warm);
	font-family: var(--mindivr-font-sans);
	font-size: var(--mindivr-fs-00);
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1;
	text-decoration: none;
	transition:
		color var(--mindivr-duration-1) var(--mindivr-ease-standard),
		border-color var(--mindivr-duration-1) var(--mindivr-ease-standard),
		background-color var(--mindivr-duration-1) var(--mindivr-ease-standard);
}

.mindivr-support-link:hover,
.mindivr-support-link:focus-visible {
	color: var(--mindivr-on-accent);
	border-color: var(--mindivr-accent-warm);
	background-color: var(--mindivr-accent-warm);
	text-decoration: none;
}

.mindivr-support-link:focus-visible {
	outline: 2px solid var(--mindivr-focus);
	outline-offset: 2px;
}

.mindivr-search-panel {
	width: min(100%, 22rem);
}

.mindivr-search {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mindivr-space-2);
	align-items: center;
}

.mindivr-search__input {
	flex: 1 1 10rem;
	min-height: 2.75rem;
	padding: 0.55rem 0.85rem;
	border: var(--mindivr-border-width) solid var(--mindivr-border);
	border-radius: var(--mindivr-radius-sm);
	background-color: var(--mindivr-surface-elevated);
	color: var(--mindivr-text);
	font-family: var(--mindivr-font-sans);
	font-size: var(--mindivr-fs-0);
}

.mindivr-search__input:focus,
.mindivr-search__input:focus-visible {
	outline: 2px solid var(--mindivr-focus);
	outline-offset: 2px;
	border-color: var(--mindivr-accent);
}

.mindivr-search__submit {
	min-height: 2.75rem;
}

/* Homepage section anchors — offset for readable fragment landings. */
#featured,
#latest,
#editorial-standards,
#subscribe {
	scroll-margin-top: 1.25rem;
}

body.admin-bar #featured,
body.admin-bar #latest,
body.admin-bar #editorial-standards,
body.admin-bar #subscribe {
	scroll-margin-top: calc(1.25rem + 32px);
}

@media screen and (min-width: 783px) {
	body.admin-bar #featured,
	body.admin-bar #latest,
	body.admin-bar #editorial-standards,
	body.admin-bar #subscribe {
		scroll-margin-top: calc(1.25rem + 46px);
	}
}

/* Progressive enhancement: collapse nav below ~1024px after JS init. */
@media (max-width: 63.99rem) {
	.mindivr-site-header.mindivr-is-enhanced .mindivr-site-header__inner {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto auto auto;
		align-items: center;
		column-gap: var(--mindivr-space-2);
		row-gap: var(--mindivr-space-3);
		min-height: 4.25rem;
	}

	.mindivr-site-header.mindivr-is-enhanced .mindivr-site-brand {
		grid-column: 1;
		grid-row: 1;
	}

	.mindivr-site-header.mindivr-is-enhanced .mindivr-site-brand__icon {
		width: var(--mindivr-header-icon-size);
		height: var(--mindivr-header-icon-size);
	}

	.mindivr-site-header.mindivr-is-enhanced .mindivr-nav-toggle {
		display: inline-flex;
		grid-column: 3;
		grid-row: 1;
		justify-self: end;
	}

	.mindivr-site-header.mindivr-is-enhanced .mindivr-site-header__actions {
		display: contents;
		margin-inline-start: 0;
	}

	.mindivr-site-header.mindivr-is-enhanced .mindivr-support-link--bar {
		grid-column: 2;
		grid-row: 1;
		justify-self: end;
		padding-inline: 0.65rem;
	}

	.mindivr-site-header.mindivr-is-enhanced .mindivr-site-header__tools {
		display: contents;
	}

	.mindivr-site-header.mindivr-is-enhanced .mindivr-search-toggle {
		display: inline-flex;
		grid-column: 4;
		grid-row: 1;
	}

	.mindivr-site-header.mindivr-is-enhanced .mindivr-primary-nav {
		grid-column: 1 / -1;
		grid-row: 2;
		align-items: stretch;
		width: 100%;
		padding: var(--mindivr-space-3);
		border: var(--mindivr-border-width) solid var(--mindivr-border);
		border-radius: var(--mindivr-radius-sm);
		background-color: var(--mindivr-surface);
	}

	.mindivr-site-header.mindivr-is-enhanced .mindivr-primary-nav.is-open {
		animation: mindivr-header-panel-enter calc(220ms * var(--mindivr-motion-scale)) var(--mindivr-ease-standard) both;
	}

	.mindivr-site-header.mindivr-is-enhanced .mindivr-primary-nav__list {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		gap: 0;
	}

	.mindivr-site-header.mindivr-is-enhanced .mindivr-primary-nav__item {
		width: 100%;
		justify-content: flex-start;
	}

	.mindivr-site-header.mindivr-is-enhanced .mindivr-primary-nav__link {
		justify-content: flex-start;
		width: 100%;
		padding-block: 0.7rem;
		padding-inline: 0;
		text-align: start;
	}

	.mindivr-site-header.mindivr-is-enhanced .mindivr-primary-nav__link::after {
		left: 0;
		right: auto;
		width: 1.25rem;
		bottom: 0.55rem;
	}

	.mindivr-site-header.mindivr-is-enhanced .mindivr-primary-nav[hidden],
	.mindivr-site-header.mindivr-is-enhanced .mindivr-search-panel[hidden] {
		display: none;
	}

	.mindivr-site-header.mindivr-is-enhanced .mindivr-search-panel.is-open {
		grid-column: 1 / -1;
		grid-row: 3;
		width: 100%;
		padding: var(--mindivr-space-3);
		border: var(--mindivr-border-width) solid var(--mindivr-border);
		border-radius: var(--mindivr-radius-sm);
		background-color: var(--mindivr-surface);
		animation: mindivr-header-panel-enter calc(220ms * var(--mindivr-motion-scale)) var(--mindivr-ease-standard) both;
	}
}

/* Narrow phones: Support moves into the Menu panel. */
@media (max-width: 359px) {
	.mindivr-site-header.mindivr-is-enhanced .mindivr-site-header__inner {
		grid-template-columns: minmax(0, 1fr) auto auto;
	}

	.mindivr-site-header.mindivr-is-enhanced .mindivr-support-link--bar {
		display: none;
	}

	.mindivr-site-header.mindivr-is-enhanced .mindivr-nav-toggle {
		grid-column: 2;
	}

	.mindivr-site-header.mindivr-is-enhanced .mindivr-search-toggle {
		grid-column: 3;
	}

	.mindivr-site-header.mindivr-is-enhanced .mindivr-primary-nav__item--support {
		display: flex;
		width: 100%;
		margin-top: var(--mindivr-space-2);
		padding-top: var(--mindivr-space-2);
		border-top: var(--mindivr-border-width) solid var(--mindivr-border);
	}

	.mindivr-site-header.mindivr-is-enhanced .mindivr-support-link--panel {
		justify-content: center;
		width: 100%;
	}
}

@media (min-width: 64rem) and (max-width: 79.99rem) {
	.mindivr-primary-nav__list {
		gap: 0 0.7rem;
	}

	.mindivr-primary-nav__link {
		font-size: 0.9rem;
	}
}

@media (min-width: 64rem) {
	.mindivr-site-header {
		--mindivr-header-icon-size: 1.5rem; /* 24px */
	}

	.mindivr-site-header__inner {
		min-height: calc(var(--mindivr-header-control-h) + (var(--mindivr-header-pad-y) * 2));
		gap: var(--mindivr-space-3) var(--mindivr-space-5);
		flex-wrap: nowrap;
	}

	.mindivr-primary-nav__list {
		flex-wrap: nowrap;
	}

	.mindivr-site-header.mindivr-is-enhanced .mindivr-nav-toggle {
		display: none;
	}

	.mindivr-site-header.mindivr-is-enhanced .mindivr-primary-nav {
		display: flex;
	}

	.mindivr-site-header.mindivr-is-enhanced .mindivr-primary-nav[hidden] {
		display: flex;
	}

	.mindivr-site-header__actions::before {
		display: block;
	}

	.mindivr-site-header__tools {
		position: relative;
	}

	.mindivr-site-header.mindivr-is-enhanced .mindivr-search-panel[hidden] {
		display: none;
	}

	.mindivr-site-header.mindivr-is-enhanced .mindivr-search-panel.is-open {
		position: absolute;
		top: calc(100% + var(--mindivr-space-2));
		right: 0;
		z-index: 2;
		width: min(22rem, calc(100vw - (var(--mindivr-gutter) * 2)));
		padding: var(--mindivr-space-3);
		border: var(--mindivr-border-width) solid var(--mindivr-border);
		border-radius: var(--mindivr-radius-sm);
		background-color: var(--mindivr-surface-elevated);
		box-shadow: var(--mindivr-shadow-1);
		animation: mindivr-header-panel-enter calc(220ms * var(--mindivr-motion-scale)) var(--mindivr-ease-standard) both;
	}
}

@keyframes mindivr-header-panel-enter {
	from {
		opacity: 0;
		transform: translateY(-0.35rem);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (forced-colors: active) {
	.mindivr-site-header,
	.mindivr-site-footer,
	.mindivr-primary-nav,
	.mindivr-search-panel,
	.mindivr-nav-toggle,
	.mindivr-search-toggle,
	.mindivr-search__input {
		border: 1px solid CanvasText;
	}

	.mindivr-nav-toggle:focus-visible,
	.mindivr-search-toggle:focus-visible,
	.mindivr-primary-nav__link:focus-visible,
	.mindivr-search__input:focus-visible {
		outline: 2px solid CanvasText;
	}

	.mindivr-primary-nav__link::after {
		background-color: CanvasText;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mindivr-nav-toggle,
	.mindivr-search-toggle,
	.mindivr-primary-nav__link,
	.mindivr-support-link {
		transition: none;
	}

	.mindivr-primary-nav__link::after {
		transition: none;
	}

	.mindivr-site-header.mindivr-is-enhanced .mindivr-primary-nav.is-open,
	.mindivr-site-header.mindivr-is-enhanced .mindivr-search-panel.is-open {
		animation: none;
	}
}

.mindivr-site-footer {
	position: relative;
	z-index: 2;
	margin-top: 0;
	border-top: var(--mindivr-border-width) solid var(--mindivr-border);
	background-color: var(--mindivr-surface);
	color: var(--mindivr-text-muted);
}

body.mindivr-experience-home .mindivr-site-footer,
body.mindivr-experience-article .mindivr-site-footer,
body.mindivr-experience-archive .mindivr-site-footer,
body.mindivr-lab-page .mindivr-site-footer {
	margin-top: 0;
}

.mindivr-site-footer__inner {
	display: grid;
	gap: var(--mindivr-space-5);
	width: min(100% - (var(--mindivr-gutter) * 2), var(--mindivr-content-width));
	margin-inline: auto;
	padding-block: clamp(2rem, 4vw, 2.75rem) var(--mindivr-space-5);
}

.mindivr-site-footer__grid {
	display: grid;
	gap: var(--mindivr-space-5);
	grid-template-columns: minmax(0, 1.4fr) repeat(auto-fit, minmax(9rem, 1fr));
	align-items: start;
}

.mindivr-site-footer__name {
	margin: 0 0 var(--mindivr-space-2);
	color: var(--mindivr-text);
	font-family: var(--mindivr-font-display);
	font-size: var(--mindivr-fs-2);
	font-weight: 500;
}

.mindivr-site-footer__mission {
	margin: 0;
	max-width: 34ch;
	font-size: var(--mindivr-fs-0);
	line-height: var(--mindivr-lh-body);
}

.mindivr-site-footer__heading {
	margin: 0 0 var(--mindivr-space-2);
	color: var(--mindivr-text);
	font-family: var(--mindivr-font-sans);
	font-size: var(--mindivr-fs-00);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.mindivr-site-footer__links {
	display: grid;
	gap: 0.15rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mindivr-site-footer__links a {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	color: var(--mindivr-text-muted);
	font-size: var(--mindivr-fs-0);
	text-decoration: none;
}

.mindivr-site-footer__links a:hover,
.mindivr-site-footer__links a:focus-visible {
	color: var(--mindivr-accent);
}

.mindivr-site-footer__links a[aria-current="page"] {
	color: var(--mindivr-accent);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.3em;
}

.mindivr-site-footer__bottom {
	display: grid;
	gap: var(--mindivr-space-3);
	padding-top: var(--mindivr-space-4);
	border-top: var(--mindivr-border-width) solid var(--mindivr-border);
}

.mindivr-site-footer__disclaimer,
.mindivr-site-footer__meta {
	margin: 0;
	font-size: var(--mindivr-fs-00);
	line-height: var(--mindivr-lh-body);
	color: var(--mindivr-text-subtle);
}

.mindivr-site-footer__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--mindivr-space-2) var(--mindivr-space-4);
}

.mindivr-site-footer__copyright {
	color: var(--mindivr-text-muted);
}

.mindivr-site-footer__legal-list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mindivr-space-2) var(--mindivr-space-4);
	margin: 0;
	padding: 0;
	list-style: none;
}

.mindivr-site-footer__legal-list li {
	margin: 0;
}

.mindivr-site-footer__legal-list li + li {
	margin-top: 0;
}

.mindivr-site-footer__legal-list a {
	color: var(--mindivr-text-muted);
	text-decoration: none;
}

.mindivr-site-footer__legal-list a:hover,
.mindivr-site-footer__legal-list a:focus-visible {
	color: var(--mindivr-accent);
}

@media (min-width: 40rem) and (max-width: 71.99rem) {
	.mindivr-site-footer__grid {
		grid-template-columns: minmax(0, 1.3fr) repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 39.99rem) {
	.mindivr-site-footer__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--mindivr-space-4);
	}
}

@media (forced-colors: active) {
	.mindivr-site-header,
	.mindivr-site-footer,
	.mindivr-primary-nav,
	.mindivr-search-panel,
	.mindivr-nav-toggle,
	.mindivr-search-toggle,
	.mindivr-search__input {
		border: 1px solid CanvasText;
	}

	.mindivr-nav-toggle:focus-visible,
	.mindivr-search-toggle:focus-visible,
	.mindivr-primary-nav__link:focus-visible,
	.mindivr-search__input:focus-visible {
		outline: 2px solid CanvasText;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mindivr-nav-toggle,
	.mindivr-search-toggle,
	.mindivr-primary-nav__link {
		transition: none;
	}
}

/* ==========================================================================
   I. Homepage presentation (Phase 2D.3 — personality + support)
   Scoped to .mindivr-home.
   ========================================================================== */

.mindivr-home {
	--mindivr-home-section-gap: clamp(1.75rem, 3.2vw, 2.75rem);
	--mindivr-home-card-media-ratio: 16 / 10;
	display: grid;
	gap: var(--mindivr-home-section-gap);
	width: 100%;
	max-width: var(--mindivr-content-width);
	margin-inline: auto;
	padding-block: var(--mindivr-space-4) var(--mindivr-space-5);
	min-width: 0;
}

@media (max-width: 80rem) {
	.mindivr-home {
		width: min(100% - (var(--mindivr-gutter) * 2), var(--mindivr-content-width));
	}
}

.mindivr-home > * {
	min-width: 0;
}

/* --- Opening: brand + Featured Deep Dive -------------------------------- */

.mindivr-home__opening {
	display: grid;
	gap: var(--mindivr-space-5);
	min-width: 0;
}

.mindivr-home__brand {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: grid;
	gap: var(--mindivr-space-4);
	padding: clamp(1.35rem, 3vw, 2.25rem);
	border-radius: var(--mindivr-radius);
	background:
		radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--mindivr-accent) 16%, transparent) 0%, transparent 55%),
		radial-gradient(90% 80% at 0% 100%, color-mix(in srgb, var(--mindivr-accent-topic) 14%, transparent) 0%, transparent 50%),
		linear-gradient(160deg, var(--mindivr-surface-elevated) 0%, var(--mindivr-surface) 52%, var(--mindivr-bg) 100%);
	border: var(--mindivr-border-width) solid color-mix(in srgb, var(--mindivr-border) 80%, var(--mindivr-accent));
}

.mindivr-home__brand::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	opacity: 0.35;
	background-image:
		linear-gradient(color-mix(in srgb, var(--mindivr-accent) 12%, transparent) 1px, transparent 1px),
		linear-gradient(90deg, color-mix(in srgb, var(--mindivr-accent) 12%, transparent) 1px, transparent 1px);
	background-size: 2.5rem 2.5rem;
	mask-image: linear-gradient(135deg, #000 0%, transparent 70%);
	z-index: 0;
}

.mindivr-home__brand::after {
	content: "";
	position: absolute;
	inset: -20% -10% auto auto;
	width: min(70%, 22rem);
	height: min(70%, 18rem);
	pointer-events: none;
	z-index: 0;
	border-radius: 50%;
	background:
		radial-gradient(circle at 30% 40%, color-mix(in srgb, var(--mindivr-accent) 22%, transparent), transparent 62%),
		radial-gradient(circle at 70% 60%, color-mix(in srgb, var(--mindivr-accent-topic) 18%, transparent), transparent 58%);
	opacity: 0.55;
	transform: translate3d(0, 0, 0);
}

.mindivr-home__brand > * {
	position: relative;
	z-index: 1;
}

.mindivr-home__brand-eyebrow {
	margin: 0;
	color: var(--mindivr-accent);
	font-family: var(--mindivr-font-sans);
	font-size: var(--mindivr-fs-00);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	line-height: 1.3;
}

.mindivr-home__brand-title {
	margin: 0;
	max-width: 16ch;
	font-family: var(--mindivr-font-display);
	font-size: clamp(2rem, 1.35rem + 2.6vw, 3.35rem);
	font-weight: 500;
	line-height: 1.08;
	letter-spacing: -0.02em;
	color: var(--mindivr-text);
	text-wrap: balance;
}

.mindivr-home__brand-emphasis {
	position: relative;
	display: inline;
	font-style: italic;
	font-weight: 500;
	color: var(--mindivr-accent-warm);
	background: linear-gradient(120deg, var(--mindivr-accent-warm), var(--mindivr-accent));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.mindivr-home__brand-emphasis::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0.06em;
	height: 0.12em;
	border-radius: 999px;
	pointer-events: none;
	background: linear-gradient(90deg, var(--mindivr-accent-warm), var(--mindivr-accent));
	opacity: 0.85;
	transform: scaleX(1);
	transform-origin: left center;
}

@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
	.mindivr-home__brand-emphasis {
		color: var(--mindivr-accent-warm);
		background: none;
	}
}

.mindivr-home__brand-deck {
	margin: 0;
	max-width: 42ch;
	color: var(--mindivr-text-muted);
	font-size: var(--mindivr-fs-1);
	line-height: var(--mindivr-lh-loose);
}

.mindivr-home__brand-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--mindivr-space-3) var(--mindivr-space-4);
	margin: var(--mindivr-space-2) 0 0;
}

.mindivr-home__brand-secondary,
.mindivr-home__brand-tertiary {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	font-family: var(--mindivr-font-sans);
	font-size: var(--mindivr-fs-0);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.22em;
}

.mindivr-home__brand-secondary {
	color: var(--mindivr-text);
}

.mindivr-home__brand-tertiary {
	color: var(--mindivr-text-muted);
}

.mindivr-home__brand-secondary:hover,
.mindivr-home__brand-secondary:focus-visible,
.mindivr-home__brand-tertiary:hover,
.mindivr-home__brand-tertiary:focus-visible {
	color: var(--mindivr-accent);
}

.mindivr-home__brand-secondary:focus-visible,
.mindivr-home__brand-tertiary:focus-visible,
.mindivr-home__brand-actions .mindivr-btn--primary:focus-visible {
	outline: 2px solid var(--mindivr-focus);
	outline-offset: 3px;
}

/* Featured magazine cover */

.mindivr-home__featured {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: grid;
	margin: 0;
	min-width: 0;
	min-height: clamp(17rem, 48vw, 24rem);
	border-radius: var(--mindivr-radius);
	background-color: var(--mindivr-surface-elevated);
	border: 0;
	box-shadow: var(--mindivr-shadow-1);
	outline: 1px solid transparent;
	transition:
		outline-color calc(280ms * var(--mindivr-motion-scale)) var(--mindivr-ease-standard),
		box-shadow calc(280ms * var(--mindivr-motion-scale)) var(--mindivr-ease-standard);
}

.mindivr-home__featured:hover,
.mindivr-home__featured:focus-within {
	outline-color: color-mix(in srgb, var(--mindivr-accent) 42%, transparent);
	box-shadow:
		var(--mindivr-shadow-1),
		0 0 0 1px color-mix(in srgb, var(--mindivr-accent) 28%, transparent);
}

.mindivr-home__featured-media {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.mindivr-home__featured-media img,
.mindivr-home__featured-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transform: scale(1);
	transition: transform calc(500ms * var(--mindivr-motion-scale)) var(--mindivr-ease-standard);
}

.mindivr-home__featured:hover .mindivr-home__featured-media img,
.mindivr-home__featured:hover .mindivr-home__featured-image,
.mindivr-home__featured:focus-within .mindivr-home__featured-media img,
.mindivr-home__featured:focus-within .mindivr-home__featured-image {
	transform: scale(1.025);
}

.mindivr-home__featured--has-image::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(0deg, rgba(6, 16, 20, 0.92) 0%, rgba(6, 16, 20, 0.55) 42%, rgba(6, 16, 20, 0.2) 100%),
		linear-gradient(90deg, rgba(6, 16, 20, 0.55) 0%, transparent 55%);
	opacity: 1;
	transition: opacity calc(400ms * var(--mindivr-motion-scale)) var(--mindivr-ease-standard);
}

.mindivr-home__featured:hover.mindivr-home__featured--has-image::after,
.mindivr-home__featured:focus-within.mindivr-home__featured--has-image::after {
	opacity: 0.88;
}

.mindivr-home__featured--no-image {
	background:
		radial-gradient(80% 70% at 90% 10%, color-mix(in srgb, var(--mindivr-accent) 18%, transparent), transparent 60%),
		linear-gradient(155deg, var(--mindivr-surface-elevated), var(--mindivr-bg));
	border-inline-start: 3px solid var(--mindivr-accent);
}

.mindivr-home__featured-panel {
	position: relative;
	z-index: 2;
	display: grid;
	gap: var(--mindivr-space-3);
	align-content: end;
	padding: clamp(1.25rem, 3vw, 2rem);
	max-width: 38rem;
}

.mindivr-home__featured-kicker {
	margin: 0;
	color: var(--mindivr-accent);
	font-size: var(--mindivr-fs-00);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.mindivr-home__featured-title {
	margin: 0;
	font-family: var(--mindivr-font-display);
	font-size: clamp(1.45rem, 1.15rem + 1.1vw, 2.15rem);
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: -0.015em;
	overflow-wrap: anywhere;
}

.mindivr-home__featured-title a {
	color: var(--mindivr-text);
	text-decoration: none;
}

.mindivr-home__featured-title a:hover {
	color: var(--mindivr-accent);
}

.mindivr-home__featured-title a:focus-visible {
	outline: 2px solid var(--mindivr-focus);
	outline-offset: 3px;
}

.mindivr-home__featured-meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mindivr-space-2) var(--mindivr-space-4);
	color: var(--mindivr-text-muted);
	font-size: var(--mindivr-fs-00);
}

.mindivr-home__featured-category a {
	color: var(--mindivr-accent-warm);
	font-weight: 600;
	text-decoration: none;
}

.mindivr-home__featured-category a:hover {
	text-decoration: underline;
}

.mindivr-home__featured-category a:focus-visible {
	outline: 2px solid var(--mindivr-focus);
	outline-offset: 2px;
}

.mindivr-home__featured-deck {
	margin: 0;
	max-width: var(--mindivr-measure);
	color: color-mix(in srgb, var(--mindivr-text) 88%, var(--mindivr-text-muted));
	font-size: var(--mindivr-fs-0);
	line-height: var(--mindivr-lh-body);
}

@media (max-width: 24.375rem) {
	.mindivr-home__featured-deck {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 4;
		line-clamp: 4;
		overflow: hidden;
	}

	.mindivr-home__featured--has-image::after {
		background:
			linear-gradient(0deg, rgba(6, 16, 20, 0.96) 0%, rgba(6, 16, 20, 0.72) 48%, rgba(6, 16, 20, 0.28) 100%),
			linear-gradient(90deg, rgba(6, 16, 20, 0.5) 0%, transparent 60%);
	}

	.mindivr-home__featured {
		min-height: clamp(15.5rem, 72vw, 22rem);
	}
}

@media (max-width: 20rem) {
	.mindivr-home__featured-deck {
		-webkit-line-clamp: 3;
		line-clamp: 3;
	}
}

.mindivr-home__featured-actions {
	margin: var(--mindivr-space-2) 0 0;
}

.mindivr-home__featured-cta {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
}

.mindivr-home__featured-cta-mark {
	display: inline-block;
	width: 0.55em;
	height: 0.55em;
	border-inline-end: 2px solid currentColor;
	border-block-end: 2px solid currentColor;
	transform: rotate(-45deg) translateX(0);
	transition: transform calc(280ms * var(--mindivr-motion-scale)) var(--mindivr-ease-standard);
}

.mindivr-home__featured:hover .mindivr-home__featured-cta-mark,
.mindivr-home__featured:focus-within .mindivr-home__featured-cta-mark {
	transform: rotate(-45deg) translateX(3px);
}

.mindivr-home__featured-actions .mindivr-btn--primary:focus-visible {
	outline: 2px solid var(--mindivr-focus);
	outline-offset: 3px;
}

@media (min-width: 64rem) {
	.mindivr-home__opening {
		grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr);
		align-items: stretch;
		gap: var(--mindivr-space-5);
	}

	.mindivr-home__brand {
		align-content: center;
	}

	.mindivr-home__featured {
		min-height: 100%;
	}
}

@media (max-width: 22.5rem) {
	.mindivr-home__brand-actions .mindivr-btn,
	.mindivr-home__featured-actions .mindivr-btn,
	.mindivr-home__engage-actions .mindivr-btn {
		width: 100%;
	}
}

/* --- Sections ------------------------------------------------------------ */

.mindivr-home__section {
	display: grid;
	gap: var(--mindivr-space-4);
	margin: 0;
	padding: 0;
	scroll-margin-top: var(--mindivr-space-6);
}

.mindivr-home__section-heading {
	margin: 0;
	max-width: 28ch;
	color: var(--mindivr-text);
	font-family: var(--mindivr-font-display);
	font-weight: 500;
	line-height: var(--mindivr-lh-tight);
	letter-spacing: -0.015em;
	text-wrap: balance;
}

.mindivr-home > h1.mindivr-home__section-heading,
.mindivr-home__section > h1.mindivr-home__section-heading {
	font-size: clamp(1.85rem, 1.45rem + 1.4vw, 2.5rem);
}

.mindivr-home__section > h2.mindivr-home__section-heading {
	font-size: clamp(1.35rem, 1.15rem + 0.7vw, 1.75rem);
}

.mindivr-home__section > h1.mindivr-home__section-heading + h2.mindivr-home__section-heading {
	margin-top: calc(var(--mindivr-space-2) * -1);
	color: var(--mindivr-text-muted);
	font-size: clamp(1.15rem, 1.05rem + 0.4vw, 1.4rem);
}

/* --- Latest mosaic ------------------------------------------------------- */

.mindivr-home__articles {
	display: grid;
	gap: clamp(1.5rem, 3vw, 2.25rem);
	grid-template-columns: minmax(0, 1fr);
	margin: 0;
	padding: 0;
	list-style: none;
}

.mindivr-home__articles-support {
	display: grid;
	gap: clamp(1.35rem, 2.8vw, 2rem) var(--mindivr-space-5);
	grid-template-columns: minmax(0, 1fr);
	min-width: 0;
}

/* Spotlight stays stacked through tablet; horizontal only when content width is safe. */
@media (max-width: 63.99rem) {
	.mindivr-home__articles .mindivr-card--spotlight {
		display: flex;
		flex-direction: column;
		min-width: 0;
	}

	.mindivr-home__articles .mindivr-card--spotlight .mindivr-card__media {
		width: 100%;
		min-width: 0;
		aspect-ratio: 16 / 10;
		border-radius: var(--mindivr-radius-sm);
	}

	.mindivr-home__articles .mindivr-card--spotlight .mindivr-card__media img,
	.mindivr-home__articles .mindivr-card--spotlight .mindivr-card__image {
		width: 100%;
		min-width: 0;
	}

	.mindivr-home__articles .mindivr-card--spotlight .mindivr-card__body {
		min-width: 0;
		padding: var(--mindivr-space-3) 0 0;
	}

	.mindivr-home__articles .mindivr-card--spotlight .mindivr-card__title {
		overflow-wrap: anywhere;
	}
}

@media (min-width: 40rem) {
	.mindivr-home__articles-support {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	/* Deliberate balanced odd-card treatment on 2-column tablet layouts. */
	.mindivr-home__articles-support > .mindivr-card:last-child:nth-child(odd) {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
		gap: 0;
		align-items: stretch;
	}

	.mindivr-home__articles-support > .mindivr-card:last-child:nth-child(odd) .mindivr-card__media {
		min-width: 0;
		aspect-ratio: 16 / 11;
		border-radius: var(--mindivr-radius-sm) 0 0 var(--mindivr-radius-sm);
	}

	.mindivr-home__articles-support > .mindivr-card:last-child:nth-child(odd) .mindivr-card__body {
		min-width: 0;
		justify-content: center;
		padding: var(--mindivr-space-4) var(--mindivr-space-4) var(--mindivr-space-4) var(--mindivr-space-5);
	}
}

@media (min-width: 64rem) {
	.mindivr-home__articles .mindivr-card--spotlight {
		display: grid;
		grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
		gap: 0;
		align-items: stretch;
		min-width: 0;
	}

	.mindivr-home__articles .mindivr-card--spotlight .mindivr-card__media {
		min-width: 0;
		width: 100%;
		aspect-ratio: 16 / 11;
		border-radius: var(--mindivr-radius-sm) 0 0 var(--mindivr-radius-sm);
	}

	.mindivr-home__articles .mindivr-card--spotlight .mindivr-card__media img,
	.mindivr-home__articles .mindivr-card--spotlight .mindivr-card__image {
		width: 100%;
		min-width: 0;
	}

	.mindivr-home__articles .mindivr-card--spotlight .mindivr-card__body {
		min-width: 0;
		justify-content: center;
		padding: var(--mindivr-space-5);
	}

	.mindivr-home__articles .mindivr-card--spotlight .mindivr-card__title {
		font-size: clamp(1.35rem, 1.15rem + 0.7vw, 1.75rem);
		overflow-wrap: anywhere;
	}

	.mindivr-home__articles-support {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.mindivr-home__articles-support > .mindivr-card:last-child:nth-child(odd) {
		grid-column: auto;
		display: flex;
		flex-direction: column;
	}

	.mindivr-home__articles-support > .mindivr-card:last-child:nth-child(odd) .mindivr-card__media {
		aspect-ratio: var(--mindivr-home-card-media-ratio);
		border-radius: var(--mindivr-radius-sm);
	}

	.mindivr-home__articles-support > .mindivr-card:last-child:nth-child(odd) .mindivr-card__body {
		padding: var(--mindivr-space-3) 0 0;
	}
}

.mindivr-home__articles .mindivr-card.mindivr-card--article {
	height: 100%;
	margin: 0;
	border: 0;
	border-radius: 0;
	background-color: transparent;
	box-shadow: none;
	transition: none;
}

.mindivr-home__articles .mindivr-card__media {
	position: relative;
	overflow: hidden;
	aspect-ratio: var(--mindivr-home-card-media-ratio);
	border: 0;
	border-radius: var(--mindivr-radius-sm);
	background-color: var(--mindivr-surface);
}

.mindivr-home__articles .mindivr-card__media img,
.mindivr-home__articles .mindivr-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.mindivr-home__articles .mindivr-card__body {
	display: flex;
	flex-direction: column;
	gap: var(--mindivr-space-2);
	flex: 1 1 auto;
	padding: var(--mindivr-space-3) 0 0;
	min-width: 0;
}

.mindivr-home__articles .mindivr-card--no-image .mindivr-card__body {
	padding: var(--mindivr-space-4) 0 0;
	border-inline-start: 2px solid var(--mindivr-border);
	padding-inline-start: var(--mindivr-space-4);
}

.mindivr-home__articles .mindivr-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: var(--mindivr-space-2) var(--mindivr-space-4);
	margin: 0;
	color: var(--mindivr-text-muted);
	font-size: var(--mindivr-fs-00);
	line-height: 1.4;
}

.mindivr-home__articles .mindivr-card__category a {
	color: var(--mindivr-accent-warm);
	font-weight: 600;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.mindivr-home__articles .mindivr-card__category a:hover {
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.mindivr-home__articles .mindivr-card__category a:focus-visible {
	outline: 2px solid var(--mindivr-focus);
	outline-offset: 2px;
}

.mindivr-home__articles .mindivr-card__date {
	font-variant-numeric: tabular-nums;
}

.mindivr-home__articles .mindivr-card__title {
	margin: 0;
	font-family: var(--mindivr-font-display);
	font-size: clamp(1.15rem, 1.05rem + 0.4vw, 1.4rem);
	font-weight: 500;
	line-height: var(--mindivr-lh-tight);
	overflow-wrap: anywhere;
}

.mindivr-home__articles .mindivr-card__title a {
	color: inherit;
	text-decoration: none;
}

.mindivr-home__articles .mindivr-card__title a:hover {
	color: var(--mindivr-accent);
}

.mindivr-home__articles .mindivr-card__title a:focus-visible {
	outline: 2px solid var(--mindivr-focus);
	outline-offset: 3px;
	border-radius: 2px;
}

.mindivr-home__articles .mindivr-card__excerpt {
	margin: 0;
	color: var(--mindivr-text-muted);
	font-size: var(--mindivr-fs-0);
	line-height: var(--mindivr-lh-body);
	overflow-wrap: anywhere;
}

/* --- Editorial proof ----------------------------------------------------- */

.mindivr-home__proof {
	padding-top: var(--mindivr-space-5);
	border-top: var(--mindivr-border-width) solid var(--mindivr-border);
}

.mindivr-home__proof-copy {
	margin: 0;
	max-width: var(--mindivr-measure);
	color: var(--mindivr-text-muted);
	font-size: var(--mindivr-fs-1);
	line-height: var(--mindivr-lh-loose);
}

.mindivr-home__proof-principles {
	display: grid;
	gap: var(--mindivr-space-4) var(--mindivr-space-5);
	grid-template-columns: minmax(0, 1fr);
	margin: 0;
	padding: 0;
	list-style: none;
	max-width: none;
}

@media (min-width: 40rem) {
	.mindivr-home__proof-principles {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64rem) {
	.mindivr-home__proof-principles {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.mindivr-home__proof-principles li {
	margin: 0;
	padding: 0;
	border-inline-start: 2px solid var(--mindivr-accent);
	padding-inline-start: var(--mindivr-space-3);
	min-width: 0;
}

.mindivr-home__proof-principles li + li {
	margin-top: 0;
}

.mindivr-home__proof-principle-label {
	margin: 0 0 var(--mindivr-space-2);
	color: var(--mindivr-text);
	font-size: var(--mindivr-fs-0);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.01em;
}

.mindivr-home__proof-principle-text {
	margin: 0;
	color: var(--mindivr-text-muted);
	font-size: var(--mindivr-fs-00);
	font-weight: 500;
	line-height: var(--mindivr-lh-body);
}

.mindivr-home__proof-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mindivr-space-2) var(--mindivr-space-5);
	margin: 0;
	padding: 0;
	list-style: none;
	max-width: none;
}

.mindivr-home__proof-links li {
	margin: 0;
}

.mindivr-home__proof-links li + li {
	margin-top: 0;
}

.mindivr-home__proof-links a {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	color: var(--mindivr-accent);
	font-size: var(--mindivr-fs-0);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.22em;
}

.mindivr-home__proof-links a:hover,
.mindivr-home__proof-links a:focus-visible {
	color: var(--mindivr-text);
}

.mindivr-home__proof-links a:focus-visible {
	outline: 2px solid var(--mindivr-focus);
	outline-offset: 3px;
}

/* --- Combined engagement (Support + Subscribe) --------------------------- */

.mindivr-home__engagement {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	margin-block-end: 0;
	padding: clamp(1.1rem, 2.4vw, 1.65rem);
	border-radius: var(--mindivr-radius);
	border: var(--mindivr-border-width) solid color-mix(in srgb, var(--mindivr-border) 78%, var(--mindivr-accent));
	background:
		radial-gradient(85% 90% at 0% 0%, color-mix(in srgb, var(--mindivr-accent-warm) 12%, transparent), transparent 55%),
		radial-gradient(90% 85% at 100% 100%, color-mix(in srgb, var(--mindivr-accent) 12%, transparent), transparent 58%),
		radial-gradient(70% 70% at 85% 15%, color-mix(in srgb, var(--mindivr-accent-topic) 10%, transparent), transparent 60%),
		var(--mindivr-surface);
}

.mindivr-home__engagement-grid {
	position: relative;
	z-index: 1;
	display: grid;
	gap: var(--mindivr-space-5);
	grid-template-columns: minmax(0, 1fr);
	min-width: 0;
}

@media (min-width: 48rem) {
	.mindivr-home__engagement-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0;
		align-items: stretch;
	}

	.mindivr-home__engage--support {
		padding-inline-end: clamp(1rem, 2vw, 1.75rem);
		border-inline-end: var(--mindivr-border-width) solid color-mix(in srgb, var(--mindivr-border) 85%, var(--mindivr-accent-warm));
	}

	.mindivr-home__engage--subscribe {
		padding-inline-start: clamp(1rem, 2vw, 1.75rem);
	}
}

@media (max-width: 47.99rem) {
	.mindivr-home__engage--subscribe {
		padding-block-start: var(--mindivr-space-4);
		border-block-start: var(--mindivr-border-width) solid color-mix(in srgb, var(--mindivr-border) 85%, var(--mindivr-accent));
	}
}

.mindivr-home__engage {
	display: grid;
	gap: var(--mindivr-space-3);
	align-content: start;
	min-width: 0;
}

.mindivr-home__engage--support .mindivr-home__engage-eyebrow {
	color: var(--mindivr-accent-warm);
}

.mindivr-home__engage--subscribe .mindivr-home__engage-eyebrow {
	color: var(--mindivr-accent);
}

.mindivr-home__engage--subscribe {
	position: relative;
}

.mindivr-home__engage--subscribe::before {
	content: "";
	position: absolute;
	inset: auto -4% -28% auto;
	width: 8.5rem;
	height: 8.5rem;
	border-radius: 50%;
	pointer-events: none;
	z-index: 0;
	border: 1px solid color-mix(in srgb, var(--mindivr-accent) 26%, transparent);
	opacity: 0.45;
}

.mindivr-home__engage--subscribe::after {
	content: "";
	position: absolute;
	inset-inline-end: 0.35rem;
	inset-block-start: 0.15rem;
	width: 0.4rem;
	height: 0.4rem;
	border-radius: 50%;
	pointer-events: none;
	z-index: 0;
	background: var(--mindivr-accent);
	box-shadow:
		1.1rem 0.7rem 0 -0.08rem color-mix(in srgb, var(--mindivr-accent-topic) 80%, transparent),
		0.45rem 1.25rem 0 -0.12rem color-mix(in srgb, var(--mindivr-accent) 55%, transparent);
	opacity: 0.65;
}

.mindivr-home__engage--subscribe > * {
	position: relative;
	z-index: 1;
}

.mindivr-home__engage-eyebrow {
	margin: 0;
	font-size: var(--mindivr-fs-00);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.mindivr-home__engage-heading {
	margin: 0;
	max-width: 22ch;
	color: var(--mindivr-text);
	font-family: var(--mindivr-font-display);
	font-size: clamp(1.2rem, 1.05rem + 0.55vw, 1.55rem);
	font-weight: 500;
	line-height: var(--mindivr-lh-tight);
	letter-spacing: -0.015em;
	text-wrap: balance;
}

.mindivr-home__engage-copy {
	margin: 0;
	max-width: 38ch;
	color: var(--mindivr-text-muted);
	font-size: var(--mindivr-fs-0);
	line-height: var(--mindivr-lh-loose);
}

.mindivr-home__engage-actions {
	margin: var(--mindivr-space-1) 0 0;
}

.mindivr-home__support-cta,
.mindivr-home__subscribe-cta {
	transition:
		transform calc(220ms * var(--mindivr-motion-scale)) var(--mindivr-ease-standard),
		box-shadow calc(220ms * var(--mindivr-motion-scale)) var(--mindivr-ease-standard);
}

.mindivr-home__support-cta:hover,
.mindivr-home__support-cta:focus-visible,
.mindivr-home__subscribe-cta:hover,
.mindivr-home__subscribe-cta:focus-visible {
	transform: translateY(-2px);
}

.mindivr-home__engage-actions .mindivr-btn--primary:focus-visible {
	outline: 2px solid var(--mindivr-focus);
	outline-offset: 3px;
}

/* --- Editorial motion (Phase 2D.4) ---------------------------------------- */

@keyframes mindivr-hero-enter {
	from {
		opacity: 0;
		transform: translate3d(0, 10px, 0);
	}

	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

@keyframes mindivr-emphasis-draw {
	from {
		transform: scaleX(0);
		opacity: 0.35;
	}

	to {
		transform: scaleX(1);
		opacity: 0.85;
	}
}

@keyframes mindivr-ambient-drift {
	0%,
	100% {
		transform: translate3d(0, 0, 0);
		opacity: 0.5;
	}

	50% {
		transform: translate3d(-3%, 4%, 0);
		opacity: 0.7;
	}
}

@keyframes mindivr-orbit-soft {
	0%,
	100% {
		transform: translate3d(0, 0, 0) rotate(0deg);
		opacity: 0.5;
	}

	50% {
		transform: translate3d(-4%, -3%, 0) rotate(8deg);
		opacity: 0.72;
	}
}

@keyframes mindivr-dot-drift {
	0%,
	100% {
		transform: translate3d(0, 0, 0);
		opacity: 0.65;
	}

	50% {
		transform: translate3d(-0.35rem, 0.45rem, 0);
		opacity: 0.9;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.mindivr-home--motion-ready .mindivr-home__brand-eyebrow {
		animation: mindivr-hero-enter calc(420ms * var(--mindivr-motion-scale)) var(--mindivr-ease-emphasis) both;
	}

	.mindivr-home--motion-ready .mindivr-home__brand-title {
		animation: mindivr-hero-enter calc(480ms * var(--mindivr-motion-scale)) var(--mindivr-ease-emphasis) 70ms both;
	}

	.mindivr-home--motion-ready .mindivr-home__brand-deck {
		animation: mindivr-hero-enter calc(460ms * var(--mindivr-motion-scale)) var(--mindivr-ease-emphasis) 140ms both;
	}

	.mindivr-home--motion-ready .mindivr-home__brand-actions {
		animation: mindivr-hero-enter calc(460ms * var(--mindivr-motion-scale)) var(--mindivr-ease-emphasis) 200ms both;
	}

	.mindivr-home--motion-ready .mindivr-home__featured {
		animation: mindivr-hero-enter calc(520ms * var(--mindivr-motion-scale)) var(--mindivr-ease-emphasis) 220ms both;
	}

	.mindivr-home--motion-ready .mindivr-home__brand-emphasis::after {
		transform: scaleX(0);
		animation: mindivr-emphasis-draw calc(620ms * var(--mindivr-motion-scale)) var(--mindivr-ease-emphasis) 320ms forwards;
	}

	.mindivr-home--motion-ready .mindivr-home__brand::after {
		animation: mindivr-ambient-drift 20s var(--mindivr-ease-standard) infinite;
	}

	.mindivr-home--motion-ready .mindivr-home__engage--subscribe::before {
		animation: mindivr-orbit-soft 22s var(--mindivr-ease-standard) infinite;
	}

	.mindivr-home--motion-ready .mindivr-home__engage--subscribe::after {
		animation: mindivr-dot-drift 18s var(--mindivr-ease-standard) infinite;
	}

	.mindivr-home--motion-ready .mindivr-reveal.is-revealed {
		animation: mindivr-hero-enter calc(420ms * var(--mindivr-motion-scale)) var(--mindivr-ease-standard) both;
		animation-delay: var(--mindivr-reveal-delay, 0ms);
	}
}

@media (prefers-reduced-motion: reduce) {
	.mindivr-home__brand-emphasis::after {
		transform: scaleX(1);
		opacity: 0.85;
		animation: none;
	}

	.mindivr-home__brand::after,
	.mindivr-home__engage--subscribe::before,
	.mindivr-home__engage--subscribe::after {
		animation: none;
	}

	.mindivr-home__featured-media img,
	.mindivr-home__featured-image,
	.mindivr-home__featured-cta-mark,
	.mindivr-home__support-cta,
	.mindivr-home__subscribe-cta,
	.mindivr-support-link {
		transition: none;
		transform: none;
	}

	.mindivr-reveal {
		opacity: 1 !important;
		transform: none !important;
	}
}

/* --- Empty + pagination -------------------------------------------------- */

.mindivr-home .mindivr-empty {
	margin: 0;
	padding: var(--mindivr-space-6) var(--mindivr-space-5);
	border-style: dashed;
	background-color: var(--mindivr-surface);
	color: var(--mindivr-text-muted);
	text-align: start;
}

.mindivr-home .mindivr-empty p {
	margin: 0;
	max-width: var(--mindivr-measure);
	font-size: var(--mindivr-fs-1);
	line-height: var(--mindivr-lh-body);
}

.mindivr-home .mindivr-pagination:empty {
	display: none;
	margin: 0;
}

.mindivr-home .mindivr-pagination {
	margin-top: 0;
	padding-top: var(--mindivr-space-2);
}

.mindivr-home .mindivr-pagination .post-navigation,
.mindivr-home .mindivr-pagination nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--mindivr-space-3);
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
}

.mindivr-home .mindivr-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--mindivr-space-2);
	width: 100%;
}

.mindivr-home .mindivr-pagination .nav-previous,
.mindivr-home .mindivr-pagination .nav-next {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--mindivr-space-2);
	min-width: 0;
}

.mindivr-home .mindivr-pagination .page-numbers,
.mindivr-home .mindivr-pagination .nav-previous a,
.mindivr-home .mindivr-pagination .nav-next a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding: 0.4rem 0.85rem;
	border: var(--mindivr-border-width) solid var(--mindivr-border);
	border-radius: var(--mindivr-radius-sm);
	background-color: var(--mindivr-surface);
	color: var(--mindivr-text);
	font-size: var(--mindivr-fs-00);
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
}

.mindivr-home .mindivr-pagination a.page-numbers:hover,
.mindivr-home .mindivr-pagination .nav-previous a:hover,
.mindivr-home .mindivr-pagination .nav-next a:hover {
	border-color: color-mix(in srgb, var(--mindivr-accent) 40%, var(--mindivr-border));
	color: var(--mindivr-text);
}

@supports not (color: color-mix(in srgb, #000 50%, #fff)) {
	.mindivr-home .mindivr-pagination a.page-numbers:hover,
	.mindivr-home .mindivr-pagination .nav-previous a:hover,
	.mindivr-home .mindivr-pagination .nav-next a:hover {
		border-color: var(--mindivr-accent);
	}
}

.mindivr-home .mindivr-pagination a:focus-visible,
.mindivr-home .mindivr-pagination .page-numbers:focus-visible {
	outline: 2px solid var(--mindivr-focus);
	outline-offset: 2px;
}

.mindivr-home .mindivr-pagination .page-numbers.current,
.mindivr-home .mindivr-pagination [aria-current="page"] {
	background-color: var(--mindivr-accent);
	border-color: var(--mindivr-accent);
	color: var(--mindivr-on-accent);
	cursor: default;
}

.mindivr-home .mindivr-pagination .page-numbers.dots {
	border-color: transparent;
	background: transparent;
	min-width: 1.5rem;
	color: var(--mindivr-text-muted);
}

.mindivr-home .mindivr-pagination .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

@media (max-width: 39.99rem) {
	.mindivr-home {
		padding-block: var(--mindivr-space-3) var(--mindivr-space-4);
	}
}

@media (forced-colors: active) {
	.mindivr-home__brand,
	.mindivr-home__featured,
	.mindivr-home__engagement,
	.mindivr-home .mindivr-empty,
	.mindivr-home .mindivr-pagination .page-numbers,
	.mindivr-home .mindivr-pagination .nav-previous a,
	.mindivr-home .mindivr-pagination .nav-next a {
		border: 1px solid CanvasText;
	}

	.mindivr-home__brand-eyebrow,
	.mindivr-home__featured-kicker,
	.mindivr-home__featured-category a,
	.mindivr-home__articles .mindivr-card__category a,
	.mindivr-home__proof-links a,
	.mindivr-home__engage-eyebrow {
		color: LinkText;
	}
}
