/* QDE 2026 — sub-page layouts
 * Shared patterns for non-home website pages: page hero, sections,
 * people grids, module lists, stats. All scoped under .qde-2026.
 */

/* ─────────────────────────────────────────────────
 * PAGE HERO — used at the top of every sub-page
 * ───────────────────────────────────────────────── */

.qde-2026 .qde-page-hero {
	position: relative;
	isolation: isolate;
	width: 100%;
	max-width: var(--qde-content-bleed);
	margin: 0 auto;
	padding: var(--qde-space-12) var(--qde-page-gutter) var(--qde-space-8);
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--qde-space-3);
	overflow: hidden;
	min-height: clamp(360px, 40vh, 480px);
}

/* The particle field overlay must be absolutely positioned and sit behind the
 * text. It is a sibling of the hero copy children, but takes itself out of
 * the grid flow via position:absolute. */
.qde-2026 .qde-page-hero > .qde-particles {
	position: absolute;
	inset: 0;
	z-index: 0;
	opacity: 0.6;
	pointer-events: none;
}

.qde-2026 .qde-page-hero > :not(.qde-particles) {
	position: relative;
	z-index: 1;
}

.qde-2026 .qde-page-hero__eyebrow {
	font-size: 11px;
	font-weight: var(--qde-weight-medium);
	letter-spacing: var(--qde-tracking-eyebrow);
	text-transform: uppercase;
	color: var(--qde-ink);
	opacity: 0.6;
	margin: 0;
	font-feature-settings: 'tnum';
}

.qde-2026 .qde-page-hero__title {
	font-family: var(--qde-font-headline);
	font-weight: var(--qde-weight-black);
	font-size: var(--qde-text-3xl);
	line-height: var(--qde-leading-tight);
	letter-spacing: var(--qde-tracking-tight);
	color: var(--qde-ink);
	margin: 0;
	max-width: 18ch;
}

.qde-2026 .qde-page-hero__title .red { color: var(--qde-red); }

.qde-2026 .qde-page-hero__lede {
	font-size: var(--qde-text-md);
	line-height: 1.45;
	color: var(--muted);
	margin: 0;
	max-width: 56ch;
}

/* ─────────────────────────────────────────────────
 * PAGE SECTIONS — full-width, tight, two-column rail+main
 * Mirrors the brand-book spread structure for consistency
 * ───────────────────────────────────────────────── */

.qde-2026 .qde-page-section {
	display: grid;
	grid-template-columns: minmax(200px, 24%) 1fr;
	column-gap: var(--qde-space-4);
	row-gap: var(--qde-space-3);
	padding: var(--qde-space-6) var(--qde-page-gutter);
	border-top: 1px solid var(--rule);
	max-width: var(--qde-content-bleed);
	margin: 0 auto;
}

/* Eyebrow lifted out of the rail spans the full row above rail+main. */
.qde-2026 .qde-page-section > .qde-page-section__chapter {
	grid-column: 1 / -1;
}

.qde-2026 .qde-page-section--prose {
	grid-template-columns: 1fr;
}

@media (max-width: 880px) {
	.qde-2026 .qde-page-section {
		grid-template-columns: 1fr;
		gap: var(--qde-space-3);
	}
}

.qde-2026 .qde-page-section__rail {
	position: relative;
}

.qde-2026 .qde-page-section__chapter {
	font-size: 11px;
	font-weight: var(--qde-weight-medium);
	letter-spacing: var(--qde-tracking-mono);
	text-transform: uppercase;
	color: var(--qde-ink);
	opacity: 0.6;
	margin: 0 0 var(--qde-space-2);
	font-feature-settings: 'tnum';
}

.qde-2026 .qde-page-section__title {
	font-family: var(--qde-font-headline);
	font-weight: var(--qde-weight-bold);
	font-size: var(--qde-text-xl);
	line-height: var(--qde-leading-snug);
	letter-spacing: var(--qde-tracking-snug);
	color: var(--qde-ink);
	margin: 0 0 var(--qde-space-3);
}

.qde-2026 .qde-page-section__title .red { color: var(--qde-red); }

.qde-2026 .qde-page-section__rail p {
	font-size: 13px;
	color: var(--muted);
	margin: 0 0 var(--qde-space-2);
	max-width: 38ch;
	line-height: 1.5;
}

.qde-2026 .qde-page-section__main > * + * {
	margin-top: var(--qde-space-3);
}

.qde-2026 .qde-page-section__main p {
	font-size: var(--qde-text-base);
	line-height: var(--qde-leading-normal);
	color: var(--qde-ink);
	max-width: 64ch;
}

/* ─────────────────────────────────────────────────
 * PEOPLE GRID — leadership / advisors / founders
 * ───────────────────────────────────────────────── */

.qde-2026 .qde-people {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: var(--qde-space-4);
}

.qde-2026 .qde-person {
	display: flex;
	flex-direction: column;
	gap: var(--qde-space-2);
}

.qde-2026 .qde-person__photo {
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--bone);
	border: 1px solid var(--rule);
	position: relative;
}

.qde-2026 .qde-person__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.qde-2026 .qde-person__photo--placeholder {
	background: var(--bone);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	font-weight: var(--qde-weight-medium);
	letter-spacing: var(--qde-tracking-mono);
	text-transform: uppercase;
	color: var(--muted);
}

.qde-2026 .qde-person__name {
	font-family: var(--qde-font-headline);
	font-weight: var(--qde-weight-bold);
	font-size: 18px;
	line-height: 1.15;
	color: var(--qde-ink);
	margin: 0;
	letter-spacing: -0.01em;
}

.qde-2026 .qde-person__role {
	font-size: 11px;
	font-weight: var(--qde-weight-medium);
	letter-spacing: var(--qde-tracking-mono);
	text-transform: uppercase;
	color: var(--muted);
	margin: 0;
}

.qde-2026 .qde-person__bio {
	font-size: 14px;
	line-height: 1.5;
	color: var(--qde-ink);
	margin: 0;
}

/* ─────────────────────────────────────────────────
 * MODULES LIST — product feature lists
 * ───────────────────────────────────────────────── */

.qde-2026 .qde-modules {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 0;
	border-top: var(--qde-geo-stroke) solid var(--qde-geo-line);
}

.qde-2026 .qde-modules li {
	border-bottom: var(--qde-geo-stroke) solid var(--qde-geo-line);
	border-right: var(--qde-geo-stroke) solid var(--qde-geo-line);
	padding: var(--qde-space-3);
	display: flex;
	flex-direction: column;
	gap: var(--qde-space-1);
}

.qde-2026 .qde-modules li:nth-child(2n) {
	border-right-color: transparent;
}

@media (max-width: 720px) {
	.qde-2026 .qde-modules li {
		border-right-color: transparent;
	}
}

.qde-2026 .qde-modules__num {
	font-size: var(--qde-text-xs);
	letter-spacing: var(--qde-tracking-eyebrow);
	text-transform: lowercase;
	color: var(--qde-ink-soft);
	font-feature-settings: 'tnum';
}

.qde-2026 .qde-modules__name {
	font-family: var(--qde-font-headline);
	font-weight: var(--qde-weight-light);
	font-size: var(--qde-text-md);
	line-height: 1.2;
	color: var(--qde-ink);
	margin: 0;
	letter-spacing: -0.005em;
}

.qde-2026 .qde-modules__desc {
	font-size: var(--qde-text-sm);
	color: var(--qde-ink-soft);
	line-height: var(--qde-leading-normal);
	margin: 0;
}

/* ─────────────────────────────────────────────────
 * STATS GRID — proof points outside of voice block
 * ───────────────────────────────────────────────── */

.qde-2026 .qde-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: var(--qde-space-3);
	border-top: var(--qde-geo-stroke) solid var(--qde-geo-line);
	padding-top: var(--qde-space-4);
}

.qde-2026 .qde-stat {
	display: flex;
	flex-direction: column;
	gap: var(--qde-space-1);
	border-left: var(--qde-geo-stroke) solid var(--qde-geo-line);
	padding-left: var(--qde-space-3);
}

.qde-2026 .qde-stat:first-child {
	border-left: 0;
	padding-left: 0;
}

@media (max-width: 720px) {
	.qde-2026 .qde-stat {
		border-left: 0;
		padding-left: 0;
	}
}

.qde-2026 .qde-stat__num {
	font-family: var(--qde-font-headline);
	font-weight: var(--qde-weight-light);
	font-size: clamp(1.5rem, 3vw, var(--qde-text-xl));
	line-height: 1;
	color: var(--qde-ink);
	letter-spacing: -0.02em;
	font-feature-settings: 'tnum';
}

.qde-2026 .qde-stat__label {
	font-size: var(--qde-text-xs);
	letter-spacing: var(--qde-tracking-eyebrow);
	text-transform: lowercase;
	color: var(--qde-ink-soft);
}

/* ─────────────────────────────────────────────────
 * BULLET LIST — clean numbered or bullet list
 * ───────────────────────────────────────────────── */

.qde-2026 .qde-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.qde-2026 .qde-list li {
	border-top: var(--qde-geo-stroke) solid var(--qde-geo-line);
	padding: var(--qde-space-3) 0;
	display: grid;
	grid-template-columns: 56px 1fr;
	gap: var(--qde-space-3);
	align-items: baseline;
}

.qde-2026 .qde-list li:last-child {
	border-bottom: var(--qde-geo-stroke) solid var(--qde-geo-line);
}

.qde-2026 .qde-list__num {
	font-size: var(--qde-text-xs);
	letter-spacing: var(--qde-tracking-eyebrow);
	text-transform: lowercase;
	color: var(--qde-ink-soft);
	font-feature-settings: 'tnum';
}

.qde-2026 .qde-list__name {
	font-family: var(--qde-font-headline);
	font-weight: var(--qde-weight-light);
	font-size: var(--qde-text-md);
	color: var(--qde-ink);
	margin: 0 0 var(--qde-space-1);
	letter-spacing: -0.005em;
}

.qde-2026 .qde-list__body {
	font-size: var(--qde-text-sm);
	color: var(--qde-ink-soft);
	line-height: var(--qde-leading-normal);
	margin: 0;
	max-width: 64ch;
}

@media (max-width: 600px) {
	.qde-2026 .qde-list li {
		grid-template-columns: 1fr;
		gap: var(--qde-space-1);
	}
}

/* ─────────────────────────────────────────────────
 * BOTTOM CTA — used on every sub-page
 * ───────────────────────────────────────────────── */

.qde-2026 .qde-page-cta {
	max-width: var(--qde-content-bleed);
	margin: 0 auto;
	padding: var(--qde-space-8) var(--qde-page-gutter) var(--qde-space-12);
	border-top: var(--qde-geo-stroke) solid var(--qde-geo-line-strong);
	display: flex;
	flex-direction: column;
	gap: var(--qde-space-3);
	align-items: flex-start;
}

.qde-2026 .qde-page-cta__title {
	font-family: var(--qde-font-headline);
	font-weight: var(--qde-weight-light);
	font-size: clamp(1.5rem, 3vw, var(--qde-text-2xl));
	line-height: var(--qde-leading-tight);
	letter-spacing: var(--qde-tracking-tight);
	color: var(--qde-ink);
	margin: 0;
	max-width: 22ch;
}

.qde-2026 .qde-page-cta__line {
	font-family: var(--qde-font-headline);
	font-weight: var(--qde-weight-light);
	font-size: var(--qde-text-md);
	color: var(--qde-ink);
	text-decoration: none;
	border-bottom: 2px solid var(--qde-red);
	padding-bottom: 2px;
	margin-top: var(--qde-space-2);
	transition: border-color var(--qde-dur-medium) var(--qde-ease-standard);
}

.qde-2026 .qde-page-cta__line:hover {
	border-bottom-color: var(--qde-ink);
}

.qde-2026 .qde-page-cta__arrow {
	display: inline-block;
	margin-left: 0.4em;
	transition: transform var(--qde-dur-medium) var(--qde-ease-standard);
}

.qde-2026 .qde-page-cta__line:hover .qde-page-cta__arrow {
	transform: translateX(6px);
}

/* ─────────────────────────────────────────────────
 * FORM — used on the Enquire page
 * ───────────────────────────────────────────────── */

.qde-2026 .qde-form {
	display: flex;
	flex-direction: column;
	gap: var(--qde-space-3);
	max-width: 56ch;
}

.qde-2026 .qde-field {
	display: flex;
	flex-direction: column;
	gap: var(--qde-space-1);
}

.qde-2026 .qde-field__label {
	font-size: var(--qde-text-xs);
	letter-spacing: var(--qde-tracking-eyebrow);
	text-transform: lowercase;
	color: var(--qde-ink-soft);
}

.qde-2026 .qde-field__input,
.qde-2026 .qde-field__textarea {
	font-family: var(--qde-font-body);
	font-weight: var(--qde-weight-light);
	font-size: var(--qde-text-base);
	line-height: 1.4;
	color: var(--qde-ink);
	background: var(--qde-bg-card);
	border: var(--qde-geo-stroke) solid var(--qde-geo-line-strong);
	padding: var(--qde-space-2) var(--qde-space-3);
	width: 100%;
	transition: border-color var(--qde-dur-quick) var(--qde-ease-standard);
}

.qde-2026 .qde-field__input:focus,
.qde-2026 .qde-field__textarea:focus {
	outline: none;
	border-color: var(--qde-red);
}

.qde-2026 .qde-field__textarea {
	min-height: 120px;
	resize: vertical;
}

.qde-2026 .qde-form__submit {
	font-family: var(--qde-font-headline);
	font-weight: var(--qde-weight-regular);
	font-size: var(--qde-text-sm);
	letter-spacing: var(--qde-tracking-wide);
	text-transform: lowercase;
	color: #FFFFFF;
	background: var(--qde-ink);
	border: 0;
	padding: var(--qde-space-2) var(--qde-space-4);
	cursor: pointer;
	align-self: flex-start;
	transition: background var(--qde-dur-quick) var(--qde-ease-standard);
}

.qde-2026 .qde-form__submit:hover {
	background: var(--qde-red);
}

/* ─────────────────────────────────────────────────
 * EDITORIAL — section primitives shared across sub-pages
 * (ed-list, ed-prose, ed-verb, ed-section__title--lg)
 * ───────────────────────────────────────────────── */

.qde-2026 .ed-prose {
	max-width: 60ch;
	font-size: var(--qde-text-md);
	line-height: 1.55;
	color: var(--qde-ink);
}

.qde-2026 .ed-prose p {
	margin: 0 0 var(--qde-space-3);
}

.qde-2026 .ed-prose p:last-child { margin-bottom: 0; }

/* Company "how we got here" — the story flows newspaper-style across three
 * columns at a reduced point size, with the founders photo leading column 1.
 * Named ed-storyflow to avoid the existing .ed-story flex card (impact page). */
.qde-2026 .ed-storyflow {
	columns: 3;
	column-gap: var(--qde-space-8);
	font-size: var(--qde-text-sm);
	line-height: 1.6;
	color: var(--qde-ink);
}

.qde-2026 .ed-storyflow p {
	margin: 0 0 var(--qde-space-3);
}

.qde-2026 .ed-storyflow__photo {
	margin: 0 0 var(--qde-space-3);
	break-inside: avoid;
}

.qde-2026 .ed-storyflow__photo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: 50% 18%;
	border: 1px solid var(--rule);
}

.qde-2026 .ed-storyflow__photo figcaption {
	font-size: var(--qde-text-xs);
	color: var(--ink-soft);
	letter-spacing: var(--qde-tracking-wider);
	text-transform: lowercase;
	margin-top: var(--qde-space-2);
}

@media (max-width: 1023px) {
	.qde-2026 .ed-storyflow { columns: 2; }
}

@media (max-width: 640px) {
	.qde-2026 .ed-storyflow { columns: 1; }
	.qde-2026 .ed-storyflow__photo { max-width: 380px; }
}

/* Numbered list with rail (number + name on left, line on right) */
.qde-2026 .ed-list {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--rule);
}

.qde-2026 .ed-list li {
	display: grid;
	/* Fixed widths (instead of max-content) so the column edge between the
	 * name + the description is identical across rows — David flagged the
	 * descriptions reading misaligned when the column auto-sized per row.
	 * 360px holds the longest current names ('Primary education, Kathmandu.',
	 * 'Enterprise Audit Surveillance.') on one line. */
	grid-template-columns: 360px 1fr;
	gap: var(--qde-space-6);
	padding: var(--qde-space-4) 0;
	border-bottom: 1px solid var(--rule);
	align-items: baseline;
}

.qde-2026 .ed-list__num {
	font-size: var(--qde-text-xs);
	color: var(--qde-red);
	letter-spacing: var(--qde-tracking-wider);
	font-weight: var(--qde-weight-bold);
}

.qde-2026 .ed-list__rail .ed-list__name,
.qde-2026 .ed-list__name {
	font-family: var(--qde-font-headline);
	font-size: var(--qde-text-lg);
	font-weight: var(--qde-weight-bold);
	color: var(--qde-ink);
	letter-spacing: -0.005em;
}

.qde-2026 .ed-list__line {
	font-size: var(--qde-text-sm);
	color: var(--ink-soft);
	line-height: 1.55;
	max-width: 60ch;
}

@media (max-width: 720px) {
	.qde-2026 .ed-list li {
		grid-template-columns: 1fr;
		row-gap: var(--qde-space-2);
	}
	.qde-2026 .ed-list__line { grid-column: 1; }
}

/* Verb name — used inside Conquer's 5-verb grid (large, bold, brand register) */
.qde-2026 .ed-verb__name {
	font-family: var(--qde-font-headline);
	/* Sized to sit inside narrow grid cells without touching the margins; scales with viewport. */
	font-size: clamp(20px, 2vw, 28px);
	font-weight: var(--qde-weight-bold);
	letter-spacing: -0.02em;
	line-height: 1;
	color: var(--qde-ink);
	margin: var(--qde-space-2) 0 var(--qde-space-2);
}

/* Larger section title — for promise / hero-secondary sections */
.qde-2026 .ed-section__title--lg {
	font-size: var(--qde-text-2xl);
	font-weight: var(--qde-weight-light);
	line-height: 1.1;
	letter-spacing: -0.015em;
	max-width: 24ch;
}

/* ─────────────────────────────────────────────────
 * EDITORIAL — chapter pattern (rail + body grid)
 * Used on Company, Founders, and any page that wants
 * a numbered narrative chapter framework.
 * ───────────────────────────────────────────────── */

.qde-2026 .ed-chapter {
	display: grid;
	grid-template-columns: 60px 1fr 1.4fr;
	gap: var(--qde-space-12);
	align-items: start;
}

.qde-2026 .ed-chapter__num {
	font-size: var(--qde-text-xs);
	color: var(--qde-red);
	font-weight: var(--qde-weight-bold);
	letter-spacing: var(--qde-tracking-wider);
}

.qde-2026 .ed-chapter__rail h2 {
	margin: 0 0 var(--qde-space-3);
	font-size: var(--qde-text-xl);
	font-weight: var(--qde-weight-regular);
	line-height: 1.1;
	max-width: 18ch;
	color: var(--qde-ink);
	letter-spacing: -0.005em;
}

.qde-2026 .ed-chapter__rail p {
	font-size: var(--qde-text-sm);
	color: var(--ink-soft);
	line-height: 1.5;
	max-width: 32ch;
	margin: 0;
}

.qde-2026 .ed-chapter__body { max-width: 60ch; }

@media (max-width: 880px) {
	.qde-2026 .ed-chapter { grid-template-columns: 1fr; gap: var(--qde-space-3); }
}

/* Founder quote block */
.qde-2026 .ed-quote {
	font-family: var(--qde-font-headline);
	font-weight: var(--qde-weight-light);
	font-size: var(--qde-text-xl);
	line-height: 1.3;
	color: var(--qde-ink);
	margin: 0 0 var(--qde-space-3);
	max-width: 60ch;
	letter-spacing: -0.005em;
}

.qde-2026 .ed-quote__attrib {
	font-size: var(--qde-text-xs);
	color: var(--qde-red);
	letter-spacing: var(--qde-tracking-wider);
	text-transform: lowercase;
	font-weight: var(--qde-weight-bold);
	margin: 0;
}

/* Single red accent word inside a quote (e.g. the Impact closing line). */
.qde-2026 .ed-quote .red { color: var(--qde-red); }

/* "Why" two-column layout used by Impact "name is the brief" + similar */
.qde-2026 .ed-why {
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	gap: var(--qde-space-12);
	align-items: start;
}

@media (max-width: 880px) {
	.qde-2026 .ed-why { grid-template-columns: 1fr; gap: var(--qde-space-3); }
}

/* Long presence line — countries comma-separated, large script */
.qde-2026 .ed-presence__line--lg {
	font-family: var(--qde-font-headline);
	font-weight: var(--qde-weight-light);
	font-size: var(--qde-text-2xl);
	line-height: 1.25;
	color: var(--qde-ink);
	margin: 0;
	max-width: 30ch;
	letter-spacing: -0.005em;
}

/* ─────────────────────────────────────────────────
 * EDITORIAL — impact photo-story grid (2-up cards)
 * Four place-based stories, each a photo card with a red
 * location eyebrow, title, and paragraph. Square corners,
 * 1px hairline media border; paper/bone comes from the
 * parent .ed-section. The Nepal card carries two images.
 * ───────────────────────────────────────────────── */
.qde-2026 .ed-story-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--qde-space-8);
	margin-top: var(--qde-space-8);
}

.qde-2026 .ed-story {
	display: flex;
	flex-direction: column;
}

/* Media slot — fixed 3:2 window so all four cards align on a row.
 * The Nepal card holds two images side by side; img + img keeps a
 * single hairline between them. */
.qde-2026 .ed-story__media {
	display: flex;
	aspect-ratio: 3 / 2;
	border: 1px solid var(--rule);
	background: var(--bone);
	overflow: hidden;
}

.qde-2026 .ed-story__media img {
	display: block;
	flex: 1;
	min-width: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.qde-2026 .ed-story__media img + img {
	border-left: 1px solid var(--rule);
}

/* Crossfade variant — the Nepal card cycles between its two photos in a single
 * 3:2 window, so the card keeps the grid's height. Pure CSS: both images are
 * layered, the top one (last child) fades out to reveal the base. 5s hold per
 * image, ~2s fade, 14s loop. Honors prefers-reduced-motion. */
.qde-2026 .ed-story__media--fade {
	display: block;
	position: relative;
}

.qde-2026 .ed-story__media--fade img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Override the base img + img divider (higher specificity than a single
 * --fade img rule) so no hairline draws over the layered photos. */
.qde-2026 .ed-story__media--fade img + img {
	border-left: 0;
}

.qde-2026 .ed-story__media--fade img:last-child {
	animation: ed-story-xfade 14s var(--qde-ease-soft) infinite;
}

@keyframes ed-story-xfade {
	0%    { opacity: 1; }
	35.7% { opacity: 1; }
	50%   { opacity: 0; }
	85.7% { opacity: 0; }
	100%  { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
	.qde-2026 .ed-story__media--fade img:last-child { animation: none; }
}

.qde-2026 .ed-story__loc {
	font-size: var(--qde-text-xs);
	color: var(--qde-red);
	font-weight: var(--qde-weight-bold);
	letter-spacing: var(--qde-tracking-wider);
	text-transform: lowercase;
	margin: var(--qde-space-4) 0 var(--qde-space-2);
}

.qde-2026 .ed-story__title {
	font-family: var(--qde-font-headline);
	font-size: var(--qde-text-lg);
	font-weight: var(--qde-weight-bold);
	line-height: 1.15;
	letter-spacing: -0.005em;
	color: var(--qde-ink);
	margin: 0 0 var(--qde-space-2);
}

.qde-2026 .ed-story__body {
	font-size: var(--qde-text-base);
	line-height: 1.55;
	color: var(--ink-soft);
	max-width: 52ch;
	margin: 0;
}

@media (max-width: 720px) {
	.qde-2026 .ed-story-grid { grid-template-columns: 1fr; }
}

/* Split layout — one photo in the left column, a stack of project write-ups
 * in the right column (Impact "planet" section). */
.qde-2026 .ed-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--qde-space-8);
	margin-top: var(--qde-space-8);
	align-items: start;
}

.qde-2026 .ed-split__media {
	margin: 0;
	aspect-ratio: 3 / 2;
	border: 1px solid var(--rule);
	background: var(--bone);
	overflow: hidden;
}

.qde-2026 .ed-split__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.qde-2026 .ed-split__list {
	display: flex;
	flex-direction: column;
	gap: var(--qde-space-6);
}

/* Top-align the first write-up with the photo's top edge. */
.qde-2026 .ed-split__list .ed-story:first-child .ed-story__loc { margin-top: 0; }

@media (max-width: 720px) {
	.qde-2026 .ed-split { grid-template-columns: 1fr; }
}

/* ─────────────────────────────────────────────────
 * EDITORIAL — people directory (leadership / advisors / founders)
 * ───────────────────────────────────────────────── */

.qde-2026 .ed-people-grid {
	display: grid;
	gap: 1px;
	background: var(--rule);
	border-top: 1px solid var(--rule);
	border-bottom: 1px solid var(--rule);
}

.qde-2026 .ed-people-grid--4 { grid-template-columns: repeat(4, 1fr); }
.qde-2026 .ed-people-grid--3 { grid-template-columns: repeat(3, 1fr); }

@media (max-width: 1023px) {
	.qde-2026 .ed-people-grid--4 { grid-template-columns: repeat(2, 1fr); }
	.qde-2026 .ed-people-grid--3 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
	.qde-2026 .ed-people-grid--4,
	.qde-2026 .ed-people-grid--3 { grid-template-columns: 1fr; }
}

.qde-2026 .ed-person {
	background: var(--paper);
	padding: var(--qde-space-5);
	display: flex;
	flex-direction: column;
	gap: var(--qde-space-2);
}

.qde-2026 .ed-section--bone .ed-person { background: var(--bone); }

.qde-2026 .ed-person__num {
	font-size: var(--qde-text-xs);
	color: var(--qde-red);
	letter-spacing: var(--qde-tracking-wider);
	font-weight: var(--qde-weight-bold);
}

.qde-2026 .ed-person__name {
	font-family: var(--qde-font-headline);
	font-size: var(--qde-text-lg);
	font-weight: var(--qde-weight-bold);
	color: var(--qde-ink);
	letter-spacing: -0.01em;
	margin: 0;
}

.qde-2026 .ed-person__role {
	font-size: var(--qde-text-xs);
	color: var(--ink-soft);
	letter-spacing: var(--qde-tracking-wider);
	text-transform: lowercase;
	margin: 0;
}

.qde-2026 .ed-person__bio {
	font-size: var(--qde-text-sm);
	color: var(--ink-soft);
	line-height: 1.55;
	margin: var(--qde-space-2) 0 0;
}

/* Founder bios as simple bullet points (Company page). */
.qde-2026 .ed-person__points {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: var(--qde-text-sm);
	color: var(--ink-soft);
	line-height: 1.5;
}

.qde-2026 .ed-person__points li {
	position: relative;
	padding-left: 18px;
	margin-bottom: var(--qde-space-2);
}

.qde-2026 .ed-person__points li:last-child { margin-bottom: 0; }

.qde-2026 .ed-person__points li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 5px;
	height: 5px;
	background: var(--qde-red);
}

/* Advisor row — 80 / 240 / flex grid */
.qde-2026 .ed-advisor-list {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--rule);
}

.qde-2026 .ed-advisor-list li {
	display: grid;
	/* Fixed widths so the advisor name column starts at the same x across
	 * rows — David flagged names reading misaligned when col 1 used
	 * max-content. 220px lets 'counter-terrorism financing' wrap across two
	 * lines while keeping every other row's expertise tag flush-left in the
	 * same column. */
	grid-template-columns: 220px 240px 1fr;
	gap: var(--qde-space-12);
	padding: var(--qde-space-6) 0;
	border-bottom: 1px solid var(--rule);
	/* Top-align the expertise tag and bio to the top of the name, not its
	 * baseline — David flagged the tag/bio reading low against the large name. */
	align-items: start;
}

.qde-2026 .ed-advisor__num {
	font-size: var(--qde-text-xs);
	color: var(--qde-red);
	letter-spacing: var(--qde-tracking-wider);
	font-weight: var(--qde-weight-bold);
	line-height: var(--qde-leading-snug);
}

.qde-2026 .ed-advisor__name {
	font-family: var(--qde-font-headline);
	font-size: var(--qde-text-xl);
	font-weight: var(--qde-weight-bold);
	color: var(--qde-ink);
	letter-spacing: -0.015em;
	line-height: 1.05;
	margin: 0;
}

.qde-2026 .ed-advisor__geo {
	font-size: var(--qde-text-xs);
	color: var(--ink-soft);
	letter-spacing: var(--qde-tracking-wider);
	text-transform: lowercase;
	margin-top: 8px;
}

.qde-2026 .ed-advisor__bio {
	font-size: var(--qde-text-md);
	color: var(--qde-ink);
	line-height: 1.55;
	max-width: 60ch;
}

@media (max-width: 720px) {
	.qde-2026 .ed-advisor-list li {
		grid-template-columns: 60px 1fr;
		row-gap: var(--qde-space-2);
	}
	.qde-2026 .ed-advisor__bio { grid-column: 2; }
}

/* Founder photo block — full-bleed within the gutter */
.qde-2026 .ed-founder-photo {
	margin: 0 var(--qde-section-pad) var(--qde-space-8);
}

.qde-2026 .ed-founder-photo img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 560px;
	object-fit: cover;
	/* Bias the visible window toward the top of the source so the heads
	 * (Govind + Satya) are fully shown rather than cropped. */
	object-position: 50% 15%;
	border: 1px solid var(--rule);
}

.qde-2026 .ed-founder-photo__cap {
	font-size: var(--qde-text-xs);
	color: var(--ink-soft);
	letter-spacing: var(--qde-tracking-wider);
	text-transform: lowercase;
	margin: var(--qde-space-2) 0 0;
}

/* Stats grid (founders page) */
.qde-2026 .ed-stats-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	background: var(--rule);
	border-top: 1px solid var(--rule);
	border-bottom: 1px solid var(--rule);
}

.qde-2026 .ed-stats-grid .ed-cell { padding: var(--qde-space-6); }

.qde-2026 .ed-stats-grid .ed-stat__num {
	font-family: var(--qde-font-headline);
	font-size: var(--qde-text-3xl);
	font-weight: var(--qde-weight-bold);
	letter-spacing: -0.025em;
	line-height: 1;
	color: var(--qde-ink);
	font-feature-settings: 'tnum';
}

.qde-2026 .ed-stats-grid .ed-stat__lbl {
	font-size: var(--qde-text-xs);
	color: var(--ink-soft);
	letter-spacing: var(--qde-tracking-wider);
	text-transform: lowercase;
	margin-top: var(--qde-space-3);
}

@media (max-width: 880px) {
	.qde-2026 .ed-stats-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ─────────────────────────────────────────────────
 * EDITORIAL — articles + newsletters resources
 * ───────────────────────────────────────────────── */

.qde-2026 .ed-essays {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 var(--qde-space-12);
	border-top: 1px solid var(--rule);
}

.qde-2026 .ed-essay {
	display: grid;
	grid-template-columns: 80px 1fr;
	gap: var(--qde-space-3);
	padding: var(--qde-space-3) 0;
	border-bottom: 1px solid var(--rule);
	align-items: baseline;
}

.qde-2026 .ed-essay__num {
	font-size: var(--qde-text-xs);
	color: var(--qde-red);
	letter-spacing: var(--qde-tracking-wider);
	font-weight: var(--qde-weight-bold);
}

.qde-2026 .ed-essay__title {
	font-family: var(--qde-font-headline);
	font-size: var(--qde-text-md);
	font-weight: var(--qde-weight-bold);
	color: var(--qde-ink);
	letter-spacing: -0.005em;
	line-height: 1.2;
	margin: 0;
}

.qde-2026 .ed-essay__sub {
	grid-column: 2;
	font-size: var(--qde-text-sm);
	color: var(--ink-soft);
	margin: 4px 0 0;
	line-height: 1.5;
}

@media (max-width: 720px) {
	.qde-2026 .ed-essays { grid-template-columns: 1fr; }
}

/* Newsletter feature panel */
.qde-2026 .ed-newsletter {
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	gap: var(--qde-space-12);
}

.qde-2026 .ed-newsletter__rail .ed-newsletter__num {
	font-size: var(--qde-text-xs);
	color: var(--qde-red);
	font-weight: var(--qde-weight-bold);
	letter-spacing: var(--qde-tracking-wider);
}

.qde-2026 .ed-newsletter__rail h2 {
	font-family: var(--qde-font-headline);
	font-size: var(--qde-text-2xl);
	font-weight: var(--qde-weight-bold);
	line-height: 1;
	letter-spacing: -0.02em;
	color: var(--qde-ink);
	margin: var(--qde-space-2) 0 var(--qde-space-3);
}

.qde-2026 .ed-newsletter__rail .ed-newsletter__tag {
	font-size: var(--qde-text-sm);
	color: var(--ink-soft);
	line-height: 1.5;
	max-width: 32ch;
	margin: 0;
}

.qde-2026 .ed-newsletter__form {
	margin: var(--qde-space-4) 0 0;
	padding: var(--qde-space-4);
	border: 1px solid var(--rule);
	background: var(--paper);
	display: grid;
	gap: var(--qde-space-2);
	max-width: 480px;
}

.qde-2026 .ed-newsletter__form input {
	padding: 12px 14px;
	border: 1px solid var(--rule);
	background: var(--paper);
	font-family: inherit;
	font-size: var(--qde-text-base);
}

.qde-2026 .ed-newsletter__form button {
	background: var(--qde-red);
	color: var(--paper);
	border: 0;
	padding: 14px;
	font-family: inherit;
	font-weight: var(--qde-weight-bold);
	font-size: var(--qde-text-sm);
	letter-spacing: var(--qde-tracking-wide);
	text-transform: lowercase;
	cursor: pointer;
}

.qde-2026 .ed-newsletter__form button:hover { background: var(--qde-ink); }

@media (max-width: 880px) {
	.qde-2026 .ed-newsletter { grid-template-columns: 1fr; gap: var(--qde-space-4); }
}

/* ─────────────────────────────────────────────────
 * EDITORIAL — enquire form
 * ───────────────────────────────────────────────── */

.qde-2026 .ed-form {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: var(--qde-space-6);
	padding: var(--qde-space-4) 0 0;
	border-top: 1px solid var(--rule);
}

.qde-2026 .ed-form .ed-field {
	display: contents;
}

.qde-2026 .ed-form label {
	padding: var(--qde-space-3) 0;
	font-size: var(--qde-text-sm);
	letter-spacing: var(--qde-tracking-wider);
	text-transform: lowercase;
	color: var(--ink-soft);
	border-top: 1px solid var(--rule);
}

.qde-2026 .ed-form .ed-field:first-child label { border-top: none; }

.qde-2026 .ed-form input,
.qde-2026 .ed-form select,
.qde-2026 .ed-form textarea {
	padding: var(--qde-space-3) 0;
	border: none;
	border-top: 1px solid var(--rule);
	border-radius: 0;
	background: transparent;
	font: inherit;
	font-size: var(--qde-text-md);
	width: 100%;
	outline: none;
	color: var(--qde-ink);
}

.qde-2026 .ed-form .ed-field:first-child input { border-top: none; }

.qde-2026 .ed-form input:focus,
.qde-2026 .ed-form select:focus,
.qde-2026 .ed-form textarea:focus {
	border-top-color: var(--qde-red);
}

.qde-2026 .ed-form textarea {
	resize: vertical;
	min-height: 120px;
}

.qde-2026 .ed-submit-row {
	display: flex;
	justify-content: flex-end;
	padding: var(--qde-space-6) var(--qde-section-pad) var(--qde-space-12);
}

.qde-2026 .ed-submit-row button {
	background: var(--qde-red);
	color: var(--paper);
	padding: 16px 32px;
	border: 0;
	font-size: var(--qde-text-md);
	font-weight: var(--qde-weight-bold);
	letter-spacing: var(--qde-tracking-wide);
	text-transform: lowercase;
	cursor: pointer;
	transition: background var(--qde-dur-quick) var(--qde-ease-standard);
}

.qde-2026 .ed-submit-row button:hover { background: var(--qde-ink); }

@media (max-width: 720px) {
	.qde-2026 .ed-form { grid-template-columns: 1fr; }
	.qde-2026 .ed-form .ed-field { display: contents; }
}

/* ─────────────────────────────────────────────────
 * EDITORIAL — subscribe form + PDF preview grid
 * Used on /resources/newsletters (monthly issues) and
 * /resources/articles (long-form pieces).
 * ───────────────────────────────────────────────── */

.qde-2026 .ed-subscribe {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: var(--qde-space-6);
	align-items: center;
	border: 1px solid var(--rule);
	padding: var(--qde-space-6);
	margin-bottom: var(--qde-space-12);
}

.qde-2026 .ed-subscribe__copy {
	font-size: var(--qde-text-md);
	line-height: 1.5;
	color: var(--qde-ink);
	margin: 0;
	max-width: 48ch;
}

.qde-2026 .ed-subscribe__form {
	display: flex;
	gap: var(--qde-space-2);
}

.qde-2026 .ed-subscribe__form input {
	flex: 1;
	padding: 12px 14px;
	border: 1px solid var(--rule);
	background: var(--paper);
	font-family: inherit;
	font-size: var(--qde-text-sm);
	color: var(--qde-ink);
	min-width: 0;
}

.qde-2026 .ed-subscribe__form button {
	background: var(--qde-red);
	color: var(--paper);
	border: 0;
	padding: 12px 18px;
	font-family: inherit;
	font-weight: var(--qde-weight-bold);
	font-size: var(--qde-text-xs);
	letter-spacing: var(--qde-tracking-wide);
	text-transform: lowercase;
	cursor: pointer;
	transition: background var(--qde-dur-quick) var(--qde-ease-standard);
}

.qde-2026 .ed-subscribe__form button:hover { background: var(--qde-ink); }

@media (max-width: 720px) {
	.qde-2026 .ed-subscribe { grid-template-columns: 1fr; }
}

/* PDF preview grid — 4-up on desktop, collapses on mobile. Each tile is a
 * link to the PDF (opens in a new tab). The cover holds a rendered first-page
 * thumbnail; below sit a date eyebrow and the headline. */
.qde-2026 .ed-pdf-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--qde-space-6);
}

.qde-2026 .ed-pdf-tile {
	display: flex;
	flex-direction: column;
	gap: var(--qde-space-2);
	text-decoration: none;
	color: inherit;
}

.qde-2026 .ed-pdf-tile__cover {
	aspect-ratio: 3 / 4;
	background: var(--bone);
	border: 1px solid var(--rule);
	overflow: hidden;
	display: block;
}

.qde-2026 .ed-pdf-tile__cover img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	transition: transform var(--qde-dur-medium) var(--qde-ease-standard);
}

.qde-2026 a.ed-pdf-tile:hover .ed-pdf-tile__cover img {
	transform: scale(1.02);
}

.qde-2026 .ed-pdf-tile__date {
	font-size: var(--qde-text-xs);
	color: var(--ink-soft);
	letter-spacing: var(--qde-tracking-wider);
	text-transform: lowercase;
}

.qde-2026 .ed-pdf-tile__title {
	font-family: var(--qde-font-headline);
	font-size: var(--qde-text-base);
	font-weight: var(--qde-weight-bold);
	color: var(--qde-ink);
	line-height: 1.25;
	letter-spacing: -0.005em;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	transition: color var(--qde-dur-quick) var(--qde-ease-standard);
}

.qde-2026 a.ed-pdf-tile:hover .ed-pdf-tile__title {
	color: var(--qde-red);
}

@media (max-width: 1023px) {
	.qde-2026 .ed-pdf-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 720px) {
	.qde-2026 .ed-pdf-grid { grid-template-columns: repeat(2, 1fr); }
}

/* Enquire direct emails block */
.qde-2026 .ed-direct {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: var(--qde-space-2) var(--qde-space-6);
	font-size: var(--qde-text-base);
	max-width: 60ch;
	margin: 0;
}

.qde-2026 .ed-direct dt {
	color: var(--ink-soft);
	letter-spacing: var(--qde-tracking-wider);
	text-transform: lowercase;
	font-size: var(--qde-text-xs);
	font-weight: var(--qde-weight-bold);
	padding-top: 6px;
}

.qde-2026 .ed-direct dd {
	color: var(--qde-ink);
	margin: 0;
	font-family: var(--qde-font-headline);
	font-size: var(--qde-text-md);
}

/* ─────────────────────────────────────────────────
 * Programs grid — Life at QDE. Each card leads with the
 * program's own wordmark (transparent PNG, contained not cropped),
 * then its tagline and one explanatory line.
 * ───────────────────────────────────────────────── */

.qde-2026 .ed-program-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--qde-space-10) var(--qde-space-12);
}

.qde-2026 .ed-program {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-top: var(--qde-space-5);
	border-top: 1px solid var(--rule);
}

.qde-2026 .ed-program__logo {
	height: 44px;
	width: auto;
	max-width: 100%;
	object-fit: contain;
	object-position: left center;
	margin-bottom: var(--qde-space-5);
}

.qde-2026 .ed-program__tagline {
	font-family: var(--qde-font-headline);
	font-size: var(--qde-text-lg);
	font-weight: var(--qde-weight-bold);
	color: var(--qde-ink);
	line-height: 1.15;
	margin: 0 0 var(--qde-space-2);
}

.qde-2026 .ed-program__line {
	font-size: var(--qde-text-sm);
	line-height: 1.55;
	color: var(--ink-soft);
	margin: 0;
}

.qde-2026 .ed-program__more {
	display: inline-block;
	margin-top: var(--qde-space-3);
	font-size: var(--qde-text-sm);
	color: var(--qde-ink);
	text-decoration: none;
	border-bottom: 1px solid var(--qde-ink);
	padding-bottom: 2px;
	transition: color var(--qde-dur-quick) var(--qde-ease-standard),
		border-bottom-color var(--qde-dur-quick) var(--qde-ease-standard);
}

.qde-2026 .ed-program__more:hover {
	color: var(--qde-red);
	border-bottom-color: var(--qde-red);
}

@media (max-width: 720px) {
	.qde-2026 .ed-program-grid { grid-template-columns: 1fr; gap: var(--qde-space-8); }
}

/* Life at QDE — per-program row: a photo slideshow in the left column, the
 * program wordmark + copy in the right. Photos are added as <img> children of
 * .ed-slideshow; the visitor steps through them with the minimalist prev / next
 * controls that program-slideshow.js injects (no auto-advance). Until photos are
 * added the placeholder shows. Distinct from .ed-program (the flex card on Partners). */
.qde-2026 .ed-program-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--qde-space-12);
	align-items: start;
}

.qde-2026 .ed-program-split__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.qde-2026 .ed-slideshow {
	position: relative;
	width: 100%;
	aspect-ratio: 3 / 2;
	border: 1px solid var(--rule);
	background: var(--bone);
	overflow: hidden;
}

.qde-2026 .ed-slideshow img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.8s var(--qde-ease-soft);
}

.qde-2026 .ed-slideshow img.is-active { opacity: 1; }

.qde-2026 .ed-slideshow__placeholder {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: var(--qde-text-xs);
	letter-spacing: var(--qde-tracking-wider);
	text-transform: lowercase;
	color: var(--ink-mute);
}

/* Manual prev / next controls (injected by program-slideshow.js when 2+ photos).
 * Square, edge-centered, ink chevrons on a soft bone scrim so they read over any
 * photo without competing with it. */
.qde-2026 .ed-slideshow__btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--rule);
	background: rgba(246, 246, 246, 0.82);
	color: var(--qde-ink);
	cursor: pointer;
	transition: background 0.2s var(--qde-ease-soft);
}

.qde-2026 .ed-slideshow__btn--prev { left: var(--qde-space-2); }
.qde-2026 .ed-slideshow__btn--next { right: var(--qde-space-2); }
.qde-2026 .ed-slideshow__btn:hover { background: rgba(246, 246, 246, 0.96); }
.qde-2026 .ed-slideshow__btn:focus-visible { outline: 2px solid var(--qde-ink); outline-offset: 2px; }

.qde-2026 .ed-slideshow__count {
	position: absolute;
	right: var(--qde-space-2);
	bottom: var(--qde-space-2);
	z-index: 2;
	padding: 2px 8px;
	background: rgba(0, 0, 0, 0.55);
	color: var(--paper);
	font-size: var(--qde-text-xs);
	letter-spacing: var(--qde-tracking-wide);
	font-variant-numeric: tabular-nums;
}

@media (prefers-reduced-motion: reduce) {
	.qde-2026 .ed-slideshow img { transition: none; }
}

/* be.curious — a three-up filmstrip that conveys the breadth of the weekly
 * cards (a sense of the program, not a reader; full posts will live on the
 * dedicated be.curious page later). The track scroll-snaps horizontally and
 * shows three portrait cards at a time; prev / next controls are injected by JS. */
.qde-2026 .ed-filmstrip { position: relative; }

.qde-2026 .ed-filmstrip__track {
	display: flex;
	gap: var(--qde-space-3);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.qde-2026 .ed-filmstrip__track::-webkit-scrollbar { display: none; }

.qde-2026 .ed-filmstrip__track img {
	flex: 0 0 calc((100% - 2 * var(--qde-space-3)) / 3);
	width: calc((100% - 2 * var(--qde-space-3)) / 3);
	height: auto;
	scroll-snap-align: start;
	border: 1px solid var(--rule);
	background: var(--bone);
}

.qde-2026 .ed-filmstrip__btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid var(--rule);
	background: rgba(246, 246, 246, 0.9);
	color: var(--qde-ink);
	cursor: pointer;
	transition: opacity 0.2s var(--qde-ease-soft), background 0.2s var(--qde-ease-soft);
}
.qde-2026 .ed-filmstrip__btn--prev { left: -12px; }
.qde-2026 .ed-filmstrip__btn--next { right: -12px; }
.qde-2026 .ed-filmstrip__btn:hover { background: rgba(246, 246, 246, 1); }
.qde-2026 .ed-filmstrip__btn:focus-visible { outline: 2px solid var(--qde-ink); outline-offset: 2px; }
.qde-2026 .ed-filmstrip__btn[disabled] { opacity: 0.2; cursor: default; }

@media (max-width: 760px) {
	.qde-2026 .ed-program-split { grid-template-columns: 1fr; gap: var(--qde-space-6); }
	.qde-2026 .ed-slideshow__btn { width: 38px; height: 38px; }
	.qde-2026 .ed-filmstrip__btn { width: 36px; height: 36px; }
}

/* ─────────────────────────────────────────────────
 * Vision + Mission — two-column statement (Company page).
 * ───────────────────────────────────────────────── */

.qde-2026 .ed-vm {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--qde-space-12);
}

.qde-2026 .ed-vm__eyebrow {
	font-size: var(--qde-text-xs);
	font-weight: var(--qde-weight-bold);
	letter-spacing: var(--qde-tracking-wider);
	text-transform: lowercase;
	color: var(--qde-red);
	margin: 0 0 var(--qde-space-3);
}

.qde-2026 .ed-vm__statement {
	font-family: var(--qde-font-headline);
	font-size: var(--qde-text-xl);
	font-weight: var(--qde-weight-light);
	line-height: 1.25;
	letter-spacing: -0.005em;
	color: var(--qde-ink);
	margin: 0;
	max-width: 28ch;
}

@media (max-width: 880px) {
	.qde-2026 .ed-vm { grid-template-columns: 1fr; gap: var(--qde-space-6); }
}

/* Three-up variant — purpose / vision / mission side by side (Company page). */
.qde-2026 .ed-vm--3 {
	grid-template-columns: repeat(3, 1fr);
	gap: var(--qde-space-8);
}

@media (max-width: 1023px) {
	.qde-2026 .ed-vm--3 { grid-template-columns: 1fr; gap: var(--qde-space-6); }
}
