/*
 * ERDI R15 reading layer — BLACKBOX RANGE HUD / Optical OS
 * Owner: Claude. Consumes --erdi-r15-* tokens from erdi-r15-foundation.css only.
 * Scope: contact, about, knowledge/guides, single posts, application pages,
 * downloads, search results, 404 and the generic editorial page shell.
 * The legacy palette bridge lives in erdi-r15-products.css section 1 and is
 * repeated here so either file can stand alone on a route.
 */
body.erdi-r15 {
	--r14-ink: var(--erdi-r15-ink);
	--r14-paper: var(--erdi-r15-stage);
	--r14-surface: var(--erdi-r15-stage-raised);
	--r14-muted: var(--erdi-r15-muted);
	--r14-signal: var(--erdi-r15-signal);
	--r14-rule: var(--erdi-r15-line);
	--r11-accent-deep: var(--erdi-r15-signal);
	--e-olive-600: var(--erdi-r15-signal);
	--e-olive-700: var(--erdi-r15-signal-hover);
	--e-olive-100: var(--erdi-r15-line);
	--e-olive-50: var(--erdi-r15-panel);
	--e-ink: var(--erdi-r15-ink);
	--e-ink-2: var(--erdi-r15-ink-soft);
	--e-white: var(--erdi-r15-stage-raised);
	--e-slate-50: var(--erdi-r15-panel);
	--e-slate-100: var(--erdi-r15-line);
	--e-slate-600: var(--erdi-r15-muted);
	--e-navy-800: var(--erdi-r15-stage-raised);
	--e-navy-900: var(--erdi-r15-stage-deep);
	--e-blue: var(--erdi-r15-telemetry);
	--e-blue-700: var(--erdi-r15-telemetry);
	--e-blue-50: var(--erdi-r15-panel);
	--e-in-ink: var(--erdi-r15-ink);
	--e-in-muted: var(--erdi-r15-muted);
	--e-in-line: var(--erdi-r15-line);
	--e-in-panel: var(--erdi-r15-panel);
	--e-in-blue: var(--erdi-r15-telemetry);
	--rd26-paper: var(--erdi-r15-stage);
	--rd26-ink: var(--erdi-r15-ink);
	--rd26-muted: var(--erdi-r15-muted);
	--rd26-line: var(--erdi-r15-line);
	--rd26-panel: var(--erdi-r15-panel);
	--rd26-cyan: var(--erdi-r15-telemetry);
	--e-font: var(--erdi-r15-body);
	background: var(--erdi-r15-stage);
	color: var(--erdi-r15-ink);
	color-scheme: dark;
}

/* ---------------------------------------------------------------------------
 * 1. Editorial page shell (contact / about / downloads / applications / posts)
 * ------------------------------------------------------------------------- */
body.erdi-r15:not(.home) main.wp-block-group,
body.erdi-r15:not(.home) main.erdi-knowledge-topic__main,
body.erdi-r15 main.ox-utility {
	background: var(--erdi-r15-stage);
	color: var(--erdi-r15-ink);
	padding-top: 72px !important;
}
body.erdi-r15:not(.home) main.wp-block-group > .wp-block-post-title,
body.erdi-r15:not(.home) main.wp-block-group:has(.ed-about) > .wp-block-post-title,
body.erdi-r15.single-post main.wp-block-group > .wp-block-post-title {
	color: var(--erdi-r15-ink);
	font-family: var(--erdi-r15-display) !important;
	font-weight: 620;
	font-size: clamp(44px, 5.6vw, 84px) !important;
	line-height: .92 !important;
	letter-spacing: -.04em !important;
	position: relative;
	padding-top: 40px !important;
}
body.erdi-r15:not(.home) main.wp-block-group > .wp-block-post-title::before {
	content: 'ERDILRF · 905 NM';
	display: block;
	margin-bottom: 18px;
	font-family: var(--erdi-r15-mono);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--erdi-r15-telemetry-a);
}
body.erdi-r15:not(.home) main.wp-block-group:has(.ox-contact) > .wp-block-post-title::before {
	content: 'CONTACT · CHENGDU · UTC+8';
}
body.erdi-r15:not(.home) main.wp-block-group:has(.ed-about) > .wp-block-post-title::before {
	content: 'COMPANY · ERDI TECH LTD';
}
body.erdi-r15 main.wp-block-group > .r14-reading-lead {
	color: var(--erdi-r15-muted);
}
body.erdi-r15:not(.home) :is(.ox-page, .ed-about, .ox-downloads, .ox-application) {
	color: var(--erdi-r15-ink);
	background: var(--erdi-r15-stage);
}
body.erdi-r15:not(.home) :is(.ox-page, .ed-about, .ox-downloads, .ox-application) :is(p, li) {
	color: var(--erdi-r15-ink-soft);
}
body.erdi-r15:not(.home) :is(.ox-page, .ed-about, .ox-downloads, .ox-application) :is(h1, h2, h3) {
	color: var(--erdi-r15-ink);
	letter-spacing: -.032em;
}
body.erdi-r15:not(.home) :is(.ox-page, .ed-about, .ox-downloads, .ox-application) :is(.erdi-page__eyebrow, .ed-eyebrow, .e2-eyebrow, .oa-eyebrow, .erdi-model__eyebrow, p.ed-contact-kicker) {
	font-family: var(--erdi-r15-mono);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--erdi-r15-telemetry-a);
}
body.erdi-r15:not(.home) :is(.ox-page, .ed-about, .ox-downloads, .ox-application) a:not([class]) {
	color: var(--erdi-r15-signal);
}

/* ---------------------------------------------------------------------------
 * 2. Contact: direct channels on the stage, the single inquiry form on a cold bench.
 * ------------------------------------------------------------------------- */
body.erdi-r15:not(.home) .ox-contact .ed-contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 0;
	margin: 0 var(--r14-gutter) 64px;
	border: 1px solid var(--erdi-r15-line);
	border-radius: var(--erdi-r15-radius-panel);
	background: var(--erdi-r15-stage-raised);
	overflow: hidden;
	position: relative;
}
body.erdi-r15:not(.home) .ox-contact .ed-contact-layout::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: min(260px, 40%);
	height: 1px;
	background: var(--erdi-r15-signal);
	box-shadow: var(--erdi-r15-glow-signal);
	z-index: 1;
}
body.erdi-r15:not(.home) .ox-contact .ed-contact-intro {
	background:
		linear-gradient(to right, rgba(226, 242, 243, .05) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(226, 242, 243, .05) 1px, transparent 1px),
		var(--erdi-r15-stage-raised);
	background-size: 48px 48px, 48px 48px, auto;
	color: var(--erdi-r15-ink);
	border-right: 1px solid var(--erdi-r15-line);
	padding: clamp(28px, 4vw, 48px);
}
body.erdi-r15:not(.home) .ox-contact .ed-contact-intro h2 {
	font-size: clamp(32px, 3.4vw, 44px) !important;
	line-height: .98;
	letter-spacing: -.035em;
}
body.erdi-r15:not(.home) .ox-contact .ed-contact-intro .erdi-page__lead {
	color: var(--erdi-r15-muted);
}
body.erdi-r15:not(.home) .ox-contact .ed-contact-person {
	border-top: 1px solid var(--erdi-r15-line);
	padding-top: 20px;
	margin-top: 24px;
}
body.erdi-r15:not(.home) .ox-contact .ed-contact-person strong {
	font-family: var(--erdi-r15-display);
	font-size: 22px;
	letter-spacing: -.02em;
	color: var(--erdi-r15-ink);
}
body.erdi-r15:not(.home) .ox-contact .ed-contact-person :is(span, p) {
	color: var(--erdi-r15-muted);
}
body.erdi-r15:not(.home) .ox-contact .ed-contact-channels {
	margin-top: 20px;
	border-top: 1px solid var(--erdi-r15-line);
}
body.erdi-r15:not(.home) .ox-contact .ed-contact-channels > div,
body.erdi-r15:not(.home) .ox-contact .ed-contact-channels dt,
body.erdi-r15:not(.home) .ox-contact .ed-contact-channels dd {
	border-color: var(--erdi-r15-line);
}
body.erdi-r15:not(.home) .ox-contact .ed-contact-channels dt {
	font-family: var(--erdi-r15-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--erdi-r15-telemetry-a);
}
body.erdi-r15:not(.home) .ox-contact .ed-contact-channels :is(a, dd) {
	color: var(--erdi-r15-ink);
	font-size: 17px;
	font-variant-numeric: tabular-nums;
}
body.erdi-r15:not(.home) .ox-contact .ed-contact-channels a:hover {
	color: var(--erdi-r15-signal);
}
/* The form: obsidian panel, signal submit. Same <form>, same fields, same submit.
 * (R3 review: a half-page cold bench broke the ≤30 % cold-panel rule; cold is now reserved
 * for evidence tables, the form keeps the dark instrument grammar used on model pages.) */
body.erdi-r15:not(.home) .ox-contact .ed-contact-form {
	background: var(--erdi-r15-stage) !important;
	color: var(--erdi-r15-ink);
	border: 0;
	border-radius: 0;
	padding: clamp(28px, 4vw, 48px);
}
body.erdi-r15:not(.home) .ox-contact .ed-contact-form h2 {
	font-size: clamp(32px, 3.4vw, 44px);
	letter-spacing: -.035em;
	line-height: .98;
	color: var(--erdi-r15-ink);
}
body.erdi-r15:not(.home) .ox-contact .ed-contact-form > p {
	color: var(--erdi-r15-muted);
}
body.erdi-r15:not(.home) .ox-contact .ed-contact-form .erdi-inquiry {
	background: transparent;
	border: 0;
	padding: 0;
}
body.erdi-r15:not(.home) .ox-contact .erdi-inquiry :is(input:not([type=checkbox]):not([type=radio]), select, textarea) {
	background: var(--erdi-r15-stage-deep) !important;
	border: 1px solid var(--erdi-r15-line-strong) !important;
	color: var(--erdi-r15-ink) !important;
	min-height: 48px;
}
body.erdi-r15:not(.home) .ox-contact .erdi-inquiry :is(input, select, textarea):focus {
	border-color: var(--erdi-r15-focus) !important;
	box-shadow: 0 0 0 2px rgba(127, 216, 230, .16);
}
body.erdi-r15:not(.home) .ox-contact .ed-contact-form .erdi-inquiry__optional {
	background: var(--erdi-r15-stage-raised);
	border: 1px solid var(--erdi-r15-line);
}
body.erdi-r15:not(.home) .ox-contact .ed-contact-form .erdi-inquiry__turnstile {
	color-scheme: dark;
}
/* Three engineering entrances */
body.erdi-r15:not(.home) .ox-contact .e2-cta-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 0 var(--r14-gutter) 64px;
	padding: 0;
	background: transparent;
	border: 0;
}
body.erdi-r15:not(.home) .ox-contact .e2-cta-list > * {
	background: var(--erdi-r15-stage-raised);
	border: 1px solid var(--erdi-r15-line);
	border-radius: var(--erdi-r15-radius-panel);
	padding: 28px;
	color: var(--erdi-r15-ink);
	position: relative;
	transition: border-color var(--erdi-r15-t-fast) var(--erdi-r15-ease-standard), background-color var(--erdi-r15-t-fast) var(--erdi-r15-ease-standard);
}
body.erdi-r15:not(.home) .ox-contact .e2-cta-list > *:hover {
	border-color: var(--erdi-r15-line-strong);
	background: var(--erdi-r15-panel);
}
body.erdi-r15:not(.home) .ox-contact .e2-cta-list h3 {
	font-size: 24px;
	letter-spacing: -.025em;
}
body.erdi-r15:not(.home) .ox-contact .e2-cta-list p {
	color: var(--erdi-r15-muted);
	font-size: 15px;
}
body.erdi-r15:not(.home) .ox-contact .e2-cta-list a {
	color: var(--erdi-r15-ink);
	font-family: var(--erdi-r15-mono);
	font-size: 12px;
	letter-spacing: .055em;
	text-transform: uppercase;
	text-decoration: none;
}
body.erdi-r15:not(.home) .ox-contact .e2-cta-list a:hover {
	color: var(--erdi-r15-signal);
}
body.erdi-r15:not(.home) :is(.ox-contact, .ed-about) .ed-contact-location {
	margin: 0;
	padding: 48px var(--r14-gutter) 64px;
	border-top: 1px solid var(--erdi-r15-line);
	background: var(--erdi-r15-stage);
	color: var(--erdi-r15-ink);
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 32px;
}
body.erdi-r15:not(.home) :is(.ox-contact, .ed-about) .ed-contact-location h2 {
	font-size: clamp(32px, 3.4vw, 48px);
	letter-spacing: -.035em;
	line-height: .96;
}
body.erdi-r15:not(.home) :is(.ox-contact, .ed-about) .ed-contact-location :is(p, address) {
	color: var(--erdi-r15-ink-soft);
	font-style: normal;
}
body.erdi-r15:not(.home) :is(.ox-contact, .ed-about) .ed-contact-location strong {
	display: block;
	font-family: var(--erdi-r15-mono);
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--erdi-r15-telemetry-a);
	margin-bottom: 8px;
}
body.erdi-r15 .ox-contact h1 {
	color: var(--erdi-r15-ink);
}

/* ---------------------------------------------------------------------------
 * 3. About: real factory, documented process, certificates on a cold bench.
 * ------------------------------------------------------------------------- */
body.erdi-r15:not(.home) .ed-about :is(.ed-about-intro, .ed-about-close, .ed-about-factory, .ed-about-film, .ed-about-certs, .ed-about-process, .ed-about-paths) {
	background: var(--erdi-r15-stage);
	color: var(--erdi-r15-ink);
	border-color: var(--erdi-r15-line);
}
body.erdi-r15:not(.home) .ox-about .ox-company-hero {
	background: var(--erdi-r15-stage-deep);
	height: min(72svh, 640px);
	min-height: 420px;
	border-bottom: 1px solid var(--erdi-r15-line);
}
body.erdi-r15:not(.home) .ox-about .ox-company-hero::after {
	background: linear-gradient(180deg, rgba(8, 11, 13, .1) 30%, rgba(8, 11, 13, .82) 100%);
}
body.erdi-r15:not(.home) .ox-about .ox-company-hero img {
	filter: saturate(.85) contrast(1.05);
}
body.erdi-r15:not(.home) .ox-about .ed-about-intro {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 0 64px;
	padding: clamp(48px, 7vw, 96px) var(--r14-gutter);
	background: var(--erdi-r15-stage);
	border-bottom: 1px solid var(--erdi-r15-line);
}
body.erdi-r15:not(.home) .ox-about .ed-about-intro .ox-intro-image {
	position: relative;
	min-height: 0;
	border: 1px solid var(--erdi-r15-line);
	border-radius: var(--erdi-r15-radius-panel);
	overflow: hidden;
	background: var(--erdi-r15-stage-deep);
}
body.erdi-r15:not(.home) .ox-about .ed-about-intro .ox-intro-image::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 1px;
	background: linear-gradient(90deg, var(--erdi-r15-signal), rgba(255, 91, 56, 0) 70%);
	box-shadow: var(--erdi-r15-glow-signal);
}
body.erdi-r15:not(.home) .ox-about .ed-about-intro .ox-intro-image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	min-height: 420px;
}
body.erdi-r15:not(.home) .ox-about .ed-about-intro h2 {
	font-size: clamp(36px, 4.2vw, 60px);
	line-height: .96;
	letter-spacing: -.04em;
	max-width: 14ch;
}
body.erdi-r15:not(.home) .ox-about .ed-about-intro .erdi-page__lead {
	color: var(--erdi-r15-muted);
}
body.erdi-r15:not(.home) .ox-about .ed-about-intro :is(.erdi-page__cta, .op-button, .ox-button) {
	background: var(--erdi-r15-signal);
	color: var(--erdi-r15-stage-deep);
	border: 0;
	border-radius: var(--erdi-r15-radius-control);
	font-family: var(--erdi-r15-mono);
	font-size: 12px;
	letter-spacing: .055em;
	text-transform: uppercase;
	min-height: 48px;
	display: inline-flex;
	align-items: center;
	padding: 0 20px;
	text-decoration: none;
}
/* Three paths: instrument panels on the stage, not an admin card wall. */
body.erdi-r15:not(.home) .ox-about .ed-about-paths {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	padding: clamp(40px, 6vw, 72px) var(--r14-gutter);
	background-color: var(--erdi-r15-stage);
	background-image: none;
	border-bottom: 1px solid var(--erdi-r15-line);
}
body.erdi-r15:not(.home) .ox-about .ed-about-paths article {
	background: var(--erdi-r15-stage-raised);
	border: 1px solid var(--erdi-r15-line) !important;
	border-radius: var(--erdi-r15-radius-panel);
	padding: 28px;
	position: relative;
	counter-increment: r15-path;
}
body.erdi-r15:not(.home) .ox-about .ed-about-paths {
	counter-reset: r15-path;
}
body.erdi-r15:not(.home) .ox-about .ed-about-paths article::before {
	content: '0' counter(r15-path);
	display: block;
	margin-bottom: 18px;
	font-family: var(--erdi-r15-mono);
	font-size: 12px;
	letter-spacing: .08em;
	color: var(--erdi-r15-telemetry-a);
}
body.erdi-r15:not(.home) .ox-about .ed-about-paths article h3 {
	color: var(--erdi-r15-ink) !important;
	font-size: 24px !important;
	letter-spacing: -.025em;
}
body.erdi-r15:not(.home) .ox-about .ed-about-paths article p {
	color: var(--erdi-r15-muted);
	font-size: 15px;
}
body.erdi-r15:not(.home) .ox-about .ed-about-paths article > a {
	color: var(--erdi-r15-ink);
	font-family: var(--erdi-r15-mono);
	font-size: 12px;
	letter-spacing: .055em;
	text-transform: uppercase;
	text-decoration: none;
}
body.erdi-r15:not(.home) .ox-about .ed-about-paths article > a:hover {
	color: var(--erdi-r15-signal);
}
body.erdi-r15:not(.home) .ed-about .ed-about-close {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 32px 64px;
	padding: clamp(48px, 6vw, 80px) var(--r14-gutter);
	border-bottom: 1px solid var(--erdi-r15-line);
}
body.erdi-r15:not(.home) .ed-about .ed-about-close h2 {
	font-size: clamp(32px, 3.6vw, 52px);
	line-height: .96;
	letter-spacing: -.035em;
}
body.erdi-r15:not(.home) .ed-about .ed-about-close :is(ul, ol) {
	padding-left: 0;
	list-style: none;
	border-top: 1px solid var(--erdi-r15-line);
}
body.erdi-r15:not(.home) .ed-about .ed-about-close li {
	padding: 12px 0;
	border-bottom: 1px solid var(--erdi-r15-line);
}
body.erdi-r15:not(.home) .ed-about .ed-about-close li strong {
	color: var(--erdi-r15-ink);
}
body.erdi-r15:not(.home) .ed-about .ed-about-section-head {
	padding: 0 0 24px;
}
body.erdi-r15:not(.home) .ed-about .ed-about-factory {
	padding: clamp(48px, 6vw, 80px) var(--r14-gutter);
	border-bottom: 1px solid var(--erdi-r15-line);
}
body.erdi-r15:not(.home) .ed-about .ed-about-factory h2 {
	font-size: clamp(32px, 3.6vw, 52px);
	letter-spacing: -.035em;
	line-height: .96;
}
body.erdi-r15:not(.home) .ed-about .erdi-figgrid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 16px;
}
body.erdi-r15:not(.home) .ed-about .erdi-figgrid figure {
	margin: 0;
	background: var(--erdi-r15-stage-deep);
	border: 1px solid var(--erdi-r15-line);
	border-radius: var(--erdi-r15-radius-panel);
	overflow: hidden;
}
body.erdi-r15:not(.home) .ed-about .erdi-figgrid img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	filter: saturate(.9);
}
body.erdi-r15:not(.home) .ed-about .erdi-figgrid figcaption {
	padding: 10px 14px;
	font-family: var(--erdi-r15-mono);
	font-size: 11px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--erdi-r15-muted);
	border-top: 1px solid var(--erdi-r15-line);
}
body.erdi-r15:not(.home) .ed-about .ed-about-film {
	padding: clamp(48px, 6vw, 80px) var(--r14-gutter);
	background:
		radial-gradient(50% 70% at 0% 50%, rgba(255, 91, 56, .07) 0%, rgba(8, 11, 13, 0) 70%),
		var(--erdi-r15-stage-deep);
	border-bottom: 1px solid var(--erdi-r15-line);
}
body.erdi-r15:not(.home) .ed-about .ed-about-film .erdi-page__video {
	border: 1px solid var(--erdi-r15-line);
	border-radius: var(--erdi-r15-radius-panel);
	overflow: hidden;
	background: var(--erdi-r15-stage-deep);
}
/* Certificates are documents: show them on the cold bench. */
body.erdi-r15:not(.home) .ed-about .ed-about-certs {
	padding: clamp(48px, 6vw, 80px) var(--r14-gutter);
	border-bottom: 1px solid var(--erdi-r15-line);
}
body.erdi-r15:not(.home) .ed-about .ed-about-certs h2 {
	font-size: clamp(32px, 3.6vw, 52px);
	letter-spacing: -.035em;
	line-height: .96;
}
body.erdi-r15:not(.home) .ox-about .ed-about-certs__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-top: 24px;
}
body.erdi-r15:not(.home) .ed-about .ed-about-cert {
	background: var(--erdi-r15-cold);
	color: var(--erdi-r15-cold-ink);
	border: 1px solid var(--erdi-r15-cold-line);
	border-radius: var(--erdi-r15-radius-panel);
	padding: 24px;
	color-scheme: light;
}
body.erdi-r15:not(.home) .ed-about .ed-about-cert :is(h3, p, dt, dd, li, span, td, th) {
	color: var(--erdi-r15-cold-ink);
}
body.erdi-r15:not(.home) .ed-about .ed-about-cert :is(dt, th, .ed-eyebrow) {
	font-family: var(--erdi-r15-mono);
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--erdi-r15-cold-muted);
}
body.erdi-r15:not(.home) .ed-about .ed-about-cert :is(dd, td, p) {
	border-color: var(--erdi-r15-cold-line);
}
body.erdi-r15:not(.home) .ed-about .ed-about-cert img {
	background: #fff;
	border: 1px solid var(--erdi-r15-cold-line);
	border-radius: 2px;
}
body.erdi-r15:not(.home) .ed-about .ed-about-cert a {
	color: var(--erdi-r15-signal-deep);
}
body.erdi-r15:not(.home) .ed-about .ed-about-process {
	padding: clamp(48px, 6vw, 80px) var(--r14-gutter);
	border-bottom: 1px solid var(--erdi-r15-line);
}
body.erdi-r15:not(.home) .ed-about .ed-about-process :is(ol, ul) {
	counter-reset: r15-proc;
	list-style: none;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
}
body.erdi-r15:not(.home) .ed-about .ed-about-process li {
	background: var(--erdi-r15-stage-raised);
	border: 1px solid var(--erdi-r15-line);
	border-radius: var(--erdi-r15-radius-panel);
	padding: 22px;
	counter-increment: r15-proc;
}
body.erdi-r15:not(.home) .ed-about .ed-about-process li::before {
	content: '0' counter(r15-proc);
	display: block;
	margin-bottom: 12px;
	font-family: var(--erdi-r15-mono);
	font-size: 12px;
	letter-spacing: .08em;
	color: var(--erdi-r15-telemetry-a);
}
body.erdi-r15:not(.home) .ed-about .ed-about-process li strong {
	display: block;
	color: var(--erdi-r15-ink);
	margin-bottom: 6px;
}

/* ---------------------------------------------------------------------------
 * 4. Knowledge, topics, posts, downloads, applications
 * ------------------------------------------------------------------------- */
body.erdi-r15:not(.home) .ox-knowledge,
body.erdi-r15:not(.home) .erdi-knowledge-topic__main {
	background: var(--erdi-r15-stage);
	color: var(--erdi-r15-ink);
}
body.erdi-r15:not(.home) .erdi-knowledge-topics {
	padding: 16px var(--r14-gutter);
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	border-bottom: 1px solid var(--erdi-r15-line);
}
body.erdi-r15:not(.home) .erdi-knowledge-topics a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 14px;
	border: 1px solid var(--erdi-r15-line-strong);
	border-radius: var(--erdi-r15-radius-control);
	color: var(--erdi-r15-ink-soft);
	font-family: var(--erdi-r15-mono);
	font-size: 11px;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-decoration: none;
	transition: border-color var(--erdi-r15-t-fast) var(--erdi-r15-ease-standard), color var(--erdi-r15-t-fast) var(--erdi-r15-ease-standard);
}
body.erdi-r15:not(.home) .erdi-knowledge-topics a:hover,
body.erdi-r15:not(.home) .erdi-knowledge-topics a[aria-current] {
	border-color: var(--erdi-r15-signal);
	color: var(--erdi-r15-signal);
}
body.erdi-r15:not(.home) .erdi-knowledge-topic__intro {
	padding: 48px var(--r14-gutter) 32px;
	border-bottom: 1px solid var(--erdi-r15-line);
	background-image:
		linear-gradient(to right, rgba(226, 242, 243, .05) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(226, 242, 243, .05) 1px, transparent 1px);
	background-size: 64px 64px;
}
body.erdi-r15:not(.home) .erdi-knowledge-topic__intro h1 {
	font-size: clamp(40px, 4.6vw, 64px);
	letter-spacing: -.04em;
	line-height: .94;
	max-width: 16ch;
}
body.erdi-r15:not(.home) .erdi-knowledge-topic__intro > p {
	color: var(--erdi-r15-muted);
}
body.erdi-r15:not(.home) .erdi-knowledge-topic__articles {
	padding: 40px var(--r14-gutter) 64px;
}
body.erdi-r15:not(.home) .erdi-knowledge-topic__heading p {
	color: var(--erdi-r15-muted);
}
body.erdi-r15:not(.home) .erdi-knowledge-topic__grid,
body.erdi-r15:not(.home) .ox-knowledge .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 16px;
	list-style: none;
	padding: 0;
	margin: 24px 0 0;
}
body.erdi-r15:not(.home) .erdi-knowledge-topic__card,
body.erdi-r15:not(.home) .ox-knowledge .wp-block-post-template > li {
	background: var(--erdi-r15-stage-raised);
	border: 1px solid var(--erdi-r15-line);
	border-radius: var(--erdi-r15-radius-panel);
	padding: 24px;
	position: relative;
	overflow: hidden;
	transition: border-color var(--erdi-r15-t-fast) var(--erdi-r15-ease-standard), background-color var(--erdi-r15-t-fast) var(--erdi-r15-ease-standard);
}
body.erdi-r15:not(.home) .erdi-knowledge-topic__card:hover,
body.erdi-r15:not(.home) .ox-knowledge .wp-block-post-template > li:hover {
	border-color: var(--erdi-r15-line-strong);
	background: var(--erdi-r15-panel);
}
body.erdi-r15:not(.home) .ox-knowledge .wp-block-post-template > li > .wp-block-group {
	padding: 0;
}
body.erdi-r15:not(.home) .ox-knowledge .wp-block-post-featured-image {
	margin: -24px -24px 18px;
	border-bottom: 1px solid var(--erdi-r15-line);
	background: var(--erdi-r15-stage-deep);
}
body.erdi-r15:not(.home) .ox-knowledge .wp-block-post-featured-image img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
	width: 100%;
	filter: saturate(.9);
}
body.erdi-r15:not(.home) :is(.erdi-knowledge-topic__card, .ox-knowledge .wp-block-post-template > li) :is(h2, h3) {
	font-size: 22px !important;
	letter-spacing: -.025em;
	line-height: 1.08;
}
body.erdi-r15:not(.home) :is(.erdi-knowledge-topic__card, .ox-knowledge .wp-block-post-template > li) :is(h2, h3) a {
	color: var(--erdi-r15-ink);
	text-decoration: none;
}
body.erdi-r15:not(.home) :is(.erdi-knowledge-topic__card, .ox-knowledge .wp-block-post-template > li) :is(h2, h3) a:hover {
	color: var(--erdi-r15-signal);
}
body.erdi-r15:not(.home) .ox-knowledge .wp-block-post-date {
	font-family: var(--erdi-r15-mono);
	font-size: 11px !important;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--erdi-r15-telemetry-a);
	margin-bottom: 10px;
}
body.erdi-r15:not(.home) :is(.erdi-knowledge-topic__card p, .ox-knowledge .wp-block-post-excerpt) {
	color: var(--erdi-r15-muted);
	font-size: 15px;
}
body.erdi-r15:not(.home) .ox-knowledge .wp-block-post-excerpt__more-link,
body.erdi-r15:not(.home) .erdi-knowledge-topic__card a:not(h3 a) {
	color: var(--erdi-r15-ink);
	font-family: var(--erdi-r15-mono);
	font-size: 12px;
	letter-spacing: .055em;
	text-transform: uppercase;
	text-decoration: none;
}
body.erdi-r15:not(.home) .wp-block-query-pagination {
	padding: 24px var(--r14-gutter);
	border-top: 1px solid var(--erdi-r15-line);
	font-family: var(--erdi-r15-mono);
	font-size: 12px;
	letter-spacing: .055em;
	text-transform: uppercase;
}
body.erdi-r15:not(.home) .wp-block-query-pagination a {
	color: var(--erdi-r15-ink-soft);
	text-decoration: none;
}
body.erdi-r15:not(.home) .wp-block-query-pagination .page-numbers.current {
	color: var(--erdi-r15-signal);
	box-shadow: inset 0 -1px 0 var(--erdi-r15-signal);
}
/* Single posts: dark article shell, cold reading panel for the body (≤ 30 % of the page). */
body.erdi-r15.single-post main.wp-block-group {
	background: var(--erdi-r15-stage);
	color: var(--erdi-r15-ink);
}
body.erdi-r15.single-post .entry-content {
	margin-top: 24px;
}
body.erdi-r15.single-post .entry-content :is(p, li) {
	color: var(--erdi-r15-ink-soft);
}
body.erdi-r15.single-post .entry-content :is(h2, h3) {
	color: var(--erdi-r15-ink);
}
body.erdi-r15.single-post .entry-content :is(a, summary) {
	color: var(--erdi-r15-signal);
}
body.erdi-r15.single-post .entry-content :is(table, th, td) {
	border-color: var(--erdi-r15-line);
}
body.erdi-r15.single-post .entry-content table {
	background: var(--erdi-r15-cold);
	color: var(--erdi-r15-cold-ink);
	border: 1px solid var(--erdi-r15-cold-line);
	border-radius: var(--erdi-r15-radius-panel);
	color-scheme: light;
}
body.erdi-r15.single-post .entry-content :is(th, td) {
	color: var(--erdi-r15-cold-ink);
	border-color: var(--erdi-r15-cold-line);
}
body.erdi-r15.single-post .entry-content th {
	background: transparent;
	font-family: var(--erdi-r15-mono);
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--erdi-r15-cold-muted);
}
body.erdi-r15.single-post .entry-content .erdi-hero-figure,
body.erdi-r15.single-post .entry-content figure {
	background: var(--erdi-r15-stage-deep);
	border: 1px solid var(--erdi-r15-line);
	border-radius: var(--erdi-r15-radius-panel);
	overflow: hidden;
}
body.erdi-r15.single-post .entry-content figcaption {
	font-family: var(--erdi-r15-mono);
	font-size: 11px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--erdi-r15-muted);
	padding: 10px 14px;
}
body.erdi-r15.single-post .entry-content :is(blockquote, .wp-block-quote) {
	border-left: 2px solid var(--erdi-r15-signal);
	background: var(--erdi-r15-stage-raised);
	padding: 16px 20px;
	color: var(--erdi-r15-ink);
}
body.erdi-r15.single-post .entry-content :is(code, pre) {
	font-family: var(--erdi-r15-mono);
	background: var(--erdi-r15-stage-deep);
	border: 1px solid var(--erdi-r15-line);
	color: var(--erdi-r15-telemetry);
}
/* Downloads finder */
body.erdi-r15:not(.home) .ox-downloads > header h1 {
	color: var(--erdi-r15-ink);
	letter-spacing: -.04em;
}
body.erdi-r15:not(.home) .ox-downloads > header p {
	color: var(--erdi-r15-muted);
}
body.erdi-r15:not(.home) .ox-downloads :is(input, select) {
	background: var(--erdi-r15-stage-raised);
	border: 1px solid var(--erdi-r15-line-strong);
	border-radius: var(--erdi-r15-radius-control);
	color: var(--erdi-r15-ink);
}
body.erdi-r15:not(.home) .ox-downloads :is(.ox-download-scroll, .ox-download-table) {
	border-color: var(--erdi-r15-line);
}
body.erdi-r15:not(.home) .ox-downloads th {
	background: var(--erdi-r15-panel);
	font-family: var(--erdi-r15-mono);
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--erdi-r15-telemetry-a);
}
body.erdi-r15:not(.home) .ox-downloads :is(td, th) {
	border-color: var(--erdi-r15-line);
}
body.erdi-r15:not(.home) .ox-downloads a {
	color: var(--erdi-r15-ink);
}
body.erdi-r15:not(.home) .ox-downloads a:hover {
	color: var(--erdi-r15-signal);
}
body.erdi-r15:not(.home) .ox-downloads button {
	background: var(--erdi-r15-signal);
	color: var(--erdi-r15-stage-deep);
	border: 0;
	border-radius: var(--erdi-r15-radius-control);
	font-family: var(--erdi-r15-mono);
	font-size: 12px;
	letter-spacing: .055em;
	text-transform: uppercase;
}
/* Application pages */
body.erdi-r15:not(.home) .ox-application .oa-hero {
	background-color: var(--erdi-r15-stage-deep);
	border-bottom: 1px solid var(--erdi-r15-line);
}
body.erdi-r15:not(.home) .ox-application :is(.oa-intro, .oa-review, .oa-related, .oa-close) {
	background: var(--erdi-r15-stage);
	color: var(--erdi-r15-ink);
	border-bottom: 1px solid var(--erdi-r15-line);
}
body.erdi-r15:not(.home) .ox-application :is(.oa-intro, .oa-review, .oa-close) h2 {
	color: var(--erdi-r15-ink);
	letter-spacing: -.035em;
}
body.erdi-r15:not(.home) .ox-application .oa-dark {
	background: var(--erdi-r15-stage-deep);
	color: var(--erdi-r15-ink);
}
body.erdi-r15:not(.home) .ox-application :is(.oa-buy, .oa-product-stage) {
	background: var(--erdi-r15-stage-raised);
	border: 1px solid var(--erdi-r15-line);
	border-radius: var(--erdi-r15-radius-panel);
}
body.erdi-r15:not(.home) .ox-application :is(.oa-buy, .oa-product-stage) img {
	background: radial-gradient(70% 70% at 50% 60%, rgba(29, 40, 48, .9) 0%, var(--erdi-r15-stage-deep) 100%);
}
body.erdi-r15:not(.home) .ox-application a.op-button,
body.erdi-r15:not(.home) .ox-application .ox-button {
	background: var(--erdi-r15-signal);
	color: var(--erdi-r15-stage-deep);
	border: 0;
	border-radius: var(--erdi-r15-radius-control);
	font-family: var(--erdi-r15-mono);
	font-size: 12px;
	letter-spacing: .055em;
	text-transform: uppercase;
}

/* ---------------------------------------------------------------------------
 * 5. Utility routes: 404 and search. No glitch; one signal rule, two actions.
 * ------------------------------------------------------------------------- */
body.erdi-r15 main.ox-utility {
	position: relative;
	min-height: 70svh;
	padding: clamp(64px, 10vw, 128px) var(--r14-gutter) 80px;
	background:
		linear-gradient(to right, rgba(226, 242, 243, .05) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(226, 242, 243, .05) 1px, transparent 1px),
		var(--erdi-r15-stage);
	background-size: 64px 64px, 64px 64px, auto;
	color: var(--erdi-r15-ink);
}
body.erdi-r15 main.ox-utility::before {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: radial-gradient(60% 70% at 30% 30%, rgba(8, 11, 13, 0) 0%, var(--erdi-r15-stage) 100%);
}
body.erdi-r15 main.ox-utility > * {
	position: relative;
}
body.erdi-r15 main.ox-utility .ox-utility-label {
	font-family: var(--erdi-r15-mono);
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--erdi-r15-telemetry-a);
	padding-bottom: 14px;
	margin-bottom: 24px;
	border-bottom: 1px solid var(--erdi-r15-line);
	max-width: 420px;
	position: relative;
}
body.erdi-r15 main.ox-utility .ox-utility-label::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 120px;
	height: 1px;
	background: var(--erdi-r15-signal);
	box-shadow: var(--erdi-r15-glow-signal);
}
body.erdi-r15 main.ox-utility h1 {
	font-size: clamp(44px, 6vw, 92px);
	letter-spacing: -.045em;
	line-height: .9;
	max-width: 14ch;
	color: var(--erdi-r15-ink);
}
body.erdi-r15 main.ox-utility > p {
	color: var(--erdi-r15-muted);
	font-size: 17px;
	max-width: 52ch;
}
body.erdi-r15 main.ox-utility .ox-utility-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 28px 0;
}
body.erdi-r15 main.ox-utility .ox-button {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	min-height: 48px;
	padding: 0 20px;
	background: var(--erdi-r15-signal);
	color: var(--erdi-r15-stage-deep);
	border: 1px solid var(--erdi-r15-signal);
	border-radius: var(--erdi-r15-radius-control);
	font-family: var(--erdi-r15-mono);
	font-size: 12px;
	letter-spacing: .055em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color var(--erdi-r15-t-fast) var(--erdi-r15-ease-standard), box-shadow var(--erdi-r15-t-fast) var(--erdi-r15-ease-standard), border-color var(--erdi-r15-t-fast) var(--erdi-r15-ease-standard), color var(--erdi-r15-t-fast) var(--erdi-r15-ease-standard);
}
body.erdi-r15 main.ox-utility .ox-button:hover {
	background: var(--erdi-r15-signal-hover);
	box-shadow: var(--erdi-r15-glow-signal);
}
body.erdi-r15 main.ox-utility .ox-button--line {
	background: transparent;
	color: var(--erdi-r15-ink);
	border-color: var(--erdi-r15-line-strong);
}
body.erdi-r15 main.ox-utility .ox-button--line:hover {
	background: transparent;
	border-color: var(--erdi-r15-focus);
	color: var(--erdi-r15-focus);
	box-shadow: none;
}
body.erdi-r15 main.ox-utility .ox-link {
	color: var(--erdi-r15-muted);
	font-family: var(--erdi-r15-mono);
	font-size: 12px;
	letter-spacing: .055em;
	text-transform: uppercase;
	text-decoration: none;
}
body.erdi-r15 main.ox-utility .ox-link:hover {
	color: var(--erdi-r15-signal);
}
body.erdi-r15 main.ox-utility .ox-search-panel {
	margin-top: 32px;
	padding: 24px;
	background: var(--erdi-r15-stage-raised);
	border: 1px solid var(--erdi-r15-line);
	border-radius: var(--erdi-r15-radius-panel);
	max-width: 760px;
}
body.erdi-r15 main.ox-utility .ox-search-group-title {
	font-family: var(--erdi-r15-mono);
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--erdi-r15-telemetry-a);
}
body.erdi-r15 main.ox-utility .ox-search-panel :is(input, select) {
	background: var(--erdi-r15-stage-deep);
	border: 1px solid var(--erdi-r15-line-strong);
	border-radius: var(--erdi-r15-radius-control);
	color: var(--erdi-r15-ink);
	min-height: 48px;
}
body.erdi-r15 main.ox-utility .ox-search-panel button {
	background: var(--erdi-r15-signal);
	color: var(--erdi-r15-stage-deep);
	border: 0;
	border-radius: var(--erdi-r15-radius-control);
	font-family: var(--erdi-r15-mono);
	font-size: 12px;
	letter-spacing: .055em;
	text-transform: uppercase;
	min-height: 48px;
}
body.erdi-r15 main.ox-utility .ox-search-zero__models a,
body.erdi-r15 main.ox-utility .ox-search-panel a {
	color: var(--erdi-r15-ink-soft);
}
body.erdi-r15 main.ox-utility .ox-search-panel a:hover {
	color: var(--erdi-r15-signal);
}
body.erdi-r15 main.ox-utility .ox-search-results li,
body.erdi-r15 main.ox-utility .ox-search-result {
	border-color: var(--erdi-r15-line);
}
body.erdi-r15 main.ox-utility mark {
	background: transparent;
	color: var(--erdi-r15-signal);
	box-shadow: inset 0 -1px 0 var(--erdi-r15-signal);
}

/* ---------------------------------------------------------------------------
 * 6. Phones
 * ------------------------------------------------------------------------- */
@media (max-width: 1000px) {
	body.erdi-r15:not(.home) .ox-contact .ed-contact-layout {
		grid-template-columns: 1fr;
	}
	body.erdi-r15:not(.home) .ox-contact .ed-contact-intro {
		border-right: 0;
		border-bottom: 1px solid var(--erdi-r15-line);
	}
	body.erdi-r15:not(.home) .ox-contact .e2-cta-list {
		grid-template-columns: 1fr;
	}
	body.erdi-r15:not(.home) .ox-about .ed-about-intro,
	body.erdi-r15:not(.home) .ed-about .ed-about-close,
	body.erdi-r15:not(.home) :is(.ox-contact, .ed-about) .ed-contact-location {
		grid-template-columns: 1fr;
	}
	body.erdi-r15:not(.home) .ox-about .ed-about-intro .ox-intro-image {
		grid-row: auto;
		grid-column: 1;
		margin-bottom: 24px;
	}
	body.erdi-r15:not(.home) .ox-about .ed-about-intro .ox-intro-image img {
		min-height: 0;
		aspect-ratio: 4 / 3;
	}
	body.erdi-r15:not(.home) .ox-about .ed-about-paths {
		grid-template-columns: 1fr;
	}
	body.erdi-r15:not(.home) .ox-about .ed-about-certs__grid {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 767px) {
	body.erdi-r15:not(.home) :is(.erdi-knowledge-topic__card p, .ox-knowledge .wp-block-post-excerpt__excerpt) {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		overflow: hidden;
	}
	body.erdi-r15:not(.home) main.wp-block-group > .wp-block-post-title {
		font-size: clamp(40px, 12vw, 52px) !important;
		padding-top: 24px !important;
	}
	body.erdi-r15:not(.home) .ox-contact .ed-contact-layout {
		margin: 0 var(--r14-gutter) 40px;
	}
	body.erdi-r15:not(.home) .ox-contact :is(.ed-contact-intro, .ed-contact-form) {
		padding: 20px;
	}
	body.erdi-r15:not(.home) .ox-contact .erdi-inquiry :is(input, select, textarea) {
		font-size: 16px !important;
	}
	body.erdi-r15:not(.home) .ox-about .ox-company-hero {
		height: 56svh;
		min-height: 320px;
	}
	body.erdi-r15 main.ox-utility h1 {
		font-size: clamp(36px, 12vw, 52px);
	}
	body.erdi-r15 main.ox-utility .ox-utility-actions {
		display: grid;
		grid-template-columns: 1fr;
	}
	body.erdi-r15 main.ox-utility .ox-button {
		justify-content: center;
	}
}
@media (prefers-reduced-motion: reduce) {
	body.erdi-r15 *,
	body.erdi-r15 *::before,
	body.erdi-r15 *::after {
		transition-duration: 0ms !important;
	}
}

/* ---------------------------------------------------------------------------
 * 7. Button overrides where legacy bundles pin --e-btn-* or !important colours.
 * ------------------------------------------------------------------------- */
body.erdi-r15:not(.home) main.wp-block-group .ox-page :is(.erdi-btn, .ox-button),
body.erdi-r15:not(.home) main :is(.erdi-btn, .ox-button, .erdi-page__cta, .ox-knowledge-cta),
body.erdi-r15 main.ox-utility .ox-button {
	--e-btn-bg: var(--erdi-r15-signal);
	--e-btn-bd: var(--erdi-r15-signal);
	--e-btn-fg: var(--erdi-r15-stage-deep);
	background: var(--erdi-r15-signal) !important;
	border-color: var(--erdi-r15-signal) !important;
	color: var(--erdi-r15-stage-deep) !important;
	border-radius: var(--erdi-r15-radius-control) !important;
	font-family: var(--erdi-r15-mono) !important;
	font-size: 12px !important;
	letter-spacing: .055em;
	text-transform: uppercase;
	min-height: 48px;
	justify-content: center;
	gap: 12px;
}
body.erdi-r15:not(.home) main.wp-block-group .ox-page :is(.erdi-btn, .ox-button):hover,
body.erdi-r15 main.ox-utility .ox-button:hover {
	background: var(--erdi-r15-signal-hover) !important;
	border-color: var(--erdi-r15-signal-hover) !important;
	box-shadow: var(--erdi-r15-glow-signal);
}
body.erdi-r15:not(.home) main.wp-block-group .ox-page :is(.erdi-btn, .ox-button).ox-button--line,
body.erdi-r15 main.ox-utility .ox-button--line {
	background: transparent !important;
	border-color: var(--erdi-r15-line-strong) !important;
	color: var(--erdi-r15-ink) !important;
	box-shadow: none;
}
body.erdi-r15 main.ox-utility .ox-button--line:hover {
	border-color: var(--erdi-r15-focus) !important;
	color: var(--erdi-r15-focus) !important;
}
/* Contact cold bench: the submit stays a signal hotspot on light ground. */
body.erdi-r15:not(.home) main.wp-block-group .ox-page .ox-contact .erdi-inquiry__actions button,
body.erdi-r15:not(.home) .ox-contact .erdi-inquiry__actions button {
	background: var(--erdi-r15-signal) !important;
	border-color: var(--erdi-r15-signal) !important;
	color: var(--erdi-r15-stage-deep) !important;
}
body.erdi-r15:not(.home) .ox-contact .ed-contact-form :is(.ed-contact-note, .ed-contact-form__note, aside) {
	background: var(--erdi-r15-stage-raised);
	border: 1px solid var(--erdi-r15-line);
	border-left: 2px solid var(--erdi-r15-signal);
	color: var(--erdi-r15-ink-soft);
	border-radius: 2px;
	padding: 12px 16px;
}
body.erdi-r15:not(.home) .ox-contact .ed-contact-form p.erdi-inquiry__sla {
	color: var(--erdi-r15-muted);
}
/* 404 / search heading uses the display face regardless of the r11 utility rule. */
body.erdi-r15:not(.home) main.ox-utility h1 {
	font-family: var(--erdi-r15-display) !important;
	font-weight: 620 !important;
}
/* Knowledge query cards: WP preset sizes are !important, so match them. */
body.erdi-r15:not(.home) .ox-knowledge .wp-block-post-template > li .wp-block-post-title.has-large-font-size,
body.erdi-r15:not(.home) .ox-knowledge .wp-block-post-template > li .wp-block-post-title {
	font-size: 22px !important;
	line-height: 1.1 !important;
	margin: 0 0 10px !important;
}
body.erdi-r15:not(.home) .ox-knowledge .wp-block-post-date.has-small-font-size {
	font-size: 11px !important;
}
body.erdi-r15:not(.home) .erdi-knowledge-topics > :is(span, strong, p) {
	font-family: var(--erdi-r15-mono);
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--erdi-r15-telemetry-a);
	display: inline-flex;
	align-items: center;
}

/* Downloads: family catalog chips and the finder panel sit on the stage. */
body.erdi-r15:not(.home) .erdi-source-document-families a {
	background: var(--erdi-r15-stage-raised);
	border: 1px solid var(--erdi-r15-line-strong);
	border-radius: var(--erdi-r15-radius-control);
	color: var(--erdi-r15-ink) !important;
	text-decoration: none;
	font-family: var(--erdi-r15-mono);
	font-size: 12px;
	letter-spacing: .055em;
	text-transform: uppercase;
	min-height: 48px;
	display: inline-flex;
	align-items: center;
	padding: 0 16px;
	transition: border-color var(--erdi-r15-t-fast) var(--erdi-r15-ease-standard), color var(--erdi-r15-t-fast) var(--erdi-r15-ease-standard);
}
body.erdi-r15:not(.home) .erdi-source-document-families a:hover {
	border-color: var(--erdi-r15-signal);
	color: var(--erdi-r15-signal) !important;
}
body.erdi-r15:not(.home) .ox-downloads :is(label, .ox-download-count, p small) {
	color: var(--erdi-r15-muted);
}
body.erdi-r15:not(.home) .ox-downloads label {
	font-family: var(--erdi-r15-mono);
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--erdi-r15-telemetry-a);
}

/* Search results: query bar and result rows on the stage. */
body.erdi-r15 main.ox-utility.ox-search {
	padding-top: calc(72px + clamp(32px, 6vw, 72px)) !important;
}
body.erdi-r15 main.ox-utility.ox-search h1 {
	font-size: clamp(36px, 4.6vw, 64px);
}
body.erdi-r15 main.ox-search .wp-block-search__input {
	background: var(--erdi-r15-stage-raised);
	border: 1px solid var(--erdi-r15-line-strong);
	border-radius: var(--erdi-r15-radius-control);
	color: var(--erdi-r15-ink);
	min-height: 48px;
}
body.erdi-r15 main.ox-search .wp-block-search__input:focus {
	border-color: var(--erdi-r15-focus);
	box-shadow: 0 0 0 2px rgba(127, 216, 230, .16);
	outline: 0;
}
body.erdi-r15 main.ox-search .wp-block-search__button {
	background: var(--erdi-r15-signal) !important;
	color: var(--erdi-r15-stage-deep) !important;
	border: 0 !important;
	border-radius: var(--erdi-r15-radius-control);
	font-family: var(--erdi-r15-mono);
	font-size: 12px;
	letter-spacing: .055em;
	text-transform: uppercase;
	min-height: 48px;
	padding: 0 20px;
}
body.erdi-r15 main.ox-search .ox-search-result__kind {
	font-family: var(--erdi-r15-mono);
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--erdi-r15-telemetry-a);
}
body.erdi-r15 main.ox-search .ox-search-result__spec {
	color: var(--erdi-r15-muted);
	font-variant-numeric: tabular-nums;
}
body.erdi-r15 main.ox-search :is(h3, h2) a {
	color: var(--erdi-r15-ink);
	text-decoration: none;
}
body.erdi-r15 main.ox-search :is(h3, h2) a:hover {
	color: var(--erdi-r15-signal);
}
body.erdi-r15 main.ox-search :is(.ox-search-result, li, article) {
	border-color: var(--erdi-r15-line);
}

/* Contact layout: the bundle scopes --e-slate-50 closer than the body bridge, so pin the ground. */
body.erdi-r15:not(.home) main.wp-block-group .ox-contact .ed-contact-layout {
	background: var(--erdi-r15-stage-raised) !important;
	border-color: var(--erdi-r15-line) !important;
}
body.erdi-r15:not(.home) main.wp-block-group .ox-contact .ed-contact-intro {
	background-color: var(--erdi-r15-stage-raised) !important;
	align-self: stretch;
	height: auto;
}

/* ===========================================================================
 * R16 SIGNAL — reading pages: fog atmosphere heads, gradient titles, glass
 * panels (2026-10-28, Claude). Additive over the R15 reading layer.
 * ======================================================================== */
body.erdi-r15:not(.home) :is(main.ox-utility, .ox-page, .ed-about, .ox-downloads, .ox-application, .ox-contact, .erdi-knowledge-topic) {
	--r16-cyan: var(--erdi-r15-cyan, #57ecff);
	--r16-ember: var(--erdi-r15-ember, #ff9d51);
	--r16-grad: var(--erdi-r15-grad-signal, linear-gradient(110deg, #57ecff 0%, #b1a8ff 55%, #ff9d51 100%));
}
/* Every reading main opens on the fog plate: cheap (51 KB), full-bleed, fades into ink. */
body.erdi-r15:not(.home) main:is(.ox-utility, .ox-contact, .erdi-knowledge-topic) {
	position: relative;
	isolation: isolate;
	background: var(--erdi-r15-stage-deep, #040511);
}
body.erdi-r15:not(.home) main:is(.ox-utility, .ox-contact, .erdi-knowledge-topic)::before {
	content: '';
	position: absolute;
	inset: 0 0 auto 0;
	height: min(78vh, 760px);
	z-index: -1;
	pointer-events: none;
	background:
		linear-gradient(180deg, rgba(4, 5, 17, .25) 0%, rgba(4, 5, 17, .35) 45%, var(--erdi-r15-stage-deep, #040511) 100%),
		radial-gradient(40% 45% at 12% 20%, rgba(87, 236, 255, .20) 0%, rgba(87, 236, 255, 0) 70%),
		radial-gradient(35% 40% at 88% 55%, rgba(255, 157, 81, .18) 0%, rgba(255, 157, 81, 0) 70%),
		url('../images/erdi/r16/fog-1920.webp') center 30% / cover no-repeat;
}
/* Page titles: gradient display type with a cyan bloom, on every reading route. */
body.erdi-r15:not(.home) :is(.ox-page, .ed-about, .ox-downloads, .ox-application) h1,
body.erdi-r15 .ox-contact h1,
body.erdi-r15:not(.home) .erdi-knowledge-topic__intro h1,
body.erdi-r15:not(.home) .ox-downloads > header h1,
body.erdi-r15:not(.home) main.ox-utility h1 {
	font-weight: 760 !important;
	letter-spacing: -.05em !important;
	line-height: .9 !important;
	background: linear-gradient(100deg, #ffffff 0%, #dff8ff 40%, var(--r16-cyan, #57ecff) 72%, var(--r16-ember, #ff9d51) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
	filter: drop-shadow(0 0 24px rgba(87, 236, 255, .2));
}
/* Panels that used to sit on the obsidian bench become glass. */
body.erdi-r15:not(.home) :is(.ox-page, .ed-about, .ox-downloads, .ox-application, .ox-utility, .ox-contact) :is(.ox-card, .ox-panel, .ed-panel, .ox-finder, .ox-result, .erdi-knowledge-card, article.ox-entry) {
	background: rgba(9, 11, 24, .7) !important;
	border: 1px solid rgba(171, 194, 255, .24) !important;
	border-radius: 10px !important;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .03), 0 20px 40px rgba(0, 0, 0, .35);
	transition: border-color .25s, box-shadow .35s, transform .35s cubic-bezier(.2, .7, .2, 1);
}
body.erdi-r15:not(.home) :is(.ox-page, .ed-about, .ox-downloads, .ox-application, .ox-utility, .ox-contact) :is(.ox-card, .ox-panel, .ed-panel, .ox-result, .erdi-knowledge-card):hover {
	border-color: rgba(87, 236, 255, .5) !important;
	box-shadow: 0 0 0 1px rgba(87, 236, 255, .2), 0 0 40px rgba(87, 236, 255, .18), 0 30px 60px rgba(0, 0, 0, .5);
	transform: translateY(-4px);
}
/* Primary buttons on reading routes: gradient pill with glow. */
body.erdi-r15:not(.home) :is(.ox-page, .ed-about, .ox-downloads, .ox-application, .ox-utility, .ox-contact) :is(.ox-button, .ox-button--primary, .ed-button, button[type="submit"], .sp-button) {
	background: var(--erdi-r15-grad-cta, linear-gradient(110deg, #57ecff, #b1a8ff)) !important;
	color: #071117 !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-weight: 700;
	box-shadow: 0 0 36px rgba(87, 236, 255, .32), 0 8px 24px rgba(0, 0, 0, .4);
}
body.erdi-r15:not(.home) :is(.ox-page, .ed-about, .ox-downloads, .ox-application, .ox-utility, .ox-contact) :is(.ox-button, .ox-button--primary, .ed-button, button[type="submit"], .sp-button):hover {
	filter: brightness(1.08);
	box-shadow: 0 0 56px rgba(87, 236, 255, .5), 0 8px 24px rgba(0, 0, 0, .4);
}
/* Mono eyebrows glow cyan everywhere in the reading layer. */
body.erdi-r15:not(.home) :is(.ox-eyebrow, .erdi-model__eyebrow, .ed-eyebrow, .ox-kicker) {
	color: var(--r16-cyan, #57ecff) !important;
	text-shadow: 0 0 12px rgba(87, 236, 255, .45);
	letter-spacing: .16em;
}
/* R16: real DOM on page routes is main.wp-block-group > h1.wp-block-post-title (+ .entry-content).
 * Fog atmosphere head, gradient title, cyan-gradient primary buttons; every red hotspot retires. */
body.erdi-r15:not(.home) main.wp-block-group,
body.erdi-r15:not(.home) main.spotlight-shell {
	position: relative;
	isolation: isolate;
	background: var(--erdi-r15-stage-deep, #040511) !important;
	padding-top: 96px;
}
body.erdi-r15:not(.home) main.wp-block-group::before,
body.erdi-r15:not(.home) main.spotlight-shell::before {
	content: '';
	position: absolute;
	inset: 0 0 auto 0;
	height: min(78vh, 760px);
	z-index: -1;
	pointer-events: none;
	background:
		linear-gradient(180deg, rgba(4, 5, 17, .25) 0%, rgba(4, 5, 17, .4) 45%, var(--erdi-r15-stage-deep, #040511) 100%),
		radial-gradient(40% 45% at 12% 20%, rgba(87, 236, 255, .22) 0%, rgba(87, 236, 255, 0) 70%),
		radial-gradient(35% 40% at 88% 55%, rgba(255, 157, 81, .2) 0%, rgba(255, 157, 81, 0) 70%),
		url('../images/erdi/r16/fog-1920.webp') center 30% / cover no-repeat;
}
body.erdi-r15:not(.home) main.wp-block-group > h1.wp-block-post-title,
body.erdi-r15:not(.home) main.spotlight-shell .spotlight-intro h1 {
	font-family: var(--erdi-r15-display) !important;
	font-weight: 760 !important;
	font-size: clamp(56px, 8vw, 128px) !important;
	letter-spacing: -.055em !important;
	line-height: .88 !important;
	background: linear-gradient(100deg, #ffffff 0%, #dff8ff 40%, #57ecff 72%, #ff9d51 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
	filter: drop-shadow(0 0 26px rgba(87, 236, 255, .22));
	max-width: 14ch;
}
body.erdi-r15:not(.home) main.wp-block-group > .r14-reading-lead {
	color: rgba(234, 245, 255, .78);
	font-size: 20px;
}
body.erdi-r15:not(.home) main :is(.erdi-btn, .ox-button, .erdi-page__cta, .ox-knowledge-cta, .op-button, .ox-downloads button, .erdi-inquiry__actions button, .wp-block-search__button, .ox-search-panel button, .ed-about-intro .ox-button, .ox-application a.op-button),
body.erdi-r15 main.ox-utility .ox-button {
	background: linear-gradient(110deg, #57ecff, #b1a8ff) !important;
	color: #071117 !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-weight: 700 !important;
	box-shadow: 0 0 36px rgba(87, 236, 255, .32), 0 8px 24px rgba(0, 0, 0, .4) !important;
	text-decoration: none !important;
}
body.erdi-r15:not(.home) main :is(.erdi-btn, .ox-button, .erdi-page__cta, .ox-knowledge-cta, .op-button, .ox-downloads button, .erdi-inquiry__actions button, .wp-block-search__button, .ox-search-panel button):hover {
	filter: brightness(1.08);
	box-shadow: 0 0 56px rgba(87, 236, 255, .5), 0 8px 24px rgba(0, 0, 0, .4) !important;
}
/* Any remaining 2 px red top rule on panels becomes the signal gradient. */
body.erdi-r15:not(.home) main :is(.ox-contact, .ox-page, .ox-downloads, .ox-application) [class*="panel"]::before,
body.erdi-r15:not(.home) main .erdi-inquiry::before {
	background: linear-gradient(110deg, #57ecff 0%, #a67cff 48%, #ff9d51 100%) !important;
}
/* R16 pass 2: tighten the title gradient to the text box, out-specify the R15 red buttons,
 * dark application hero shade, transparent downloads shell. */
body.erdi-r15:not(.home) main.wp-block-group > h1.wp-block-post-title,
body.erdi-r15:not(.home) main.spotlight-shell .spotlight-intro h1,
body.erdi-r15:not(.home) .ox-downloads > header h1,
body.erdi-r15 .ox-contact h1 {
	width: fit-content;
	max-width: 100%;
	background: linear-gradient(100deg, #ffffff 0%, #dff8ff 22%, #57ecff 52%, #a67cff 76%, #ff9d51 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
	-webkit-text-fill-color: transparent;
}
body.erdi-r15.erdi-r15.erdi-r15:not(.home) main :is(.erdi-btn, .ox-button, .erdi-page__cta, .ox-knowledge-cta, .op-button, .ox-downloads button, .erdi-inquiry__actions button, .wp-block-search__button, .ox-search-panel button),
body.erdi-r15.erdi-r15.erdi-r15 main.ox-utility .ox-button,
body.erdi-r15.erdi-r15.erdi-r15 :is(.ox-footer-inquiry button, .erdi-support__form button, .erdi-consent__actions button:last-child, .erdi-inquiry__actions button) {
	background: linear-gradient(110deg, #57ecff, #b1a8ff) !important;
	color: #071117 !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-weight: 700 !important;
	box-shadow: 0 0 36px rgba(87, 236, 255, .32), 0 8px 24px rgba(0, 0, 0, .4) !important;
}
body.erdi-r15.erdi-r15.erdi-r15 .erdi-support-float.erdi-support__launcher {
	background: linear-gradient(110deg, #57ecff, #b1a8ff) !important;
	color: #071117 !important;
	box-shadow: 0 0 36px rgba(87, 236, 255, .4), 0 8px 24px rgba(0, 0, 0, .4) !important;
}
body.erdi-r15:not(.home) .ox-contact .ed-contact-layout::before {
	background: linear-gradient(110deg, #57ecff 0%, #a67cff 48%, #ff9d51 100%);
	box-shadow: 0 0 16px rgba(87, 236, 255, .45);
	height: 2px;
}
body.erdi-r15:not(.home) .ox-downloads.erdi-source-resources,
body.erdi-r15:not(.home) .ox-downloads > header {
	background: transparent !important;
}
/* Application pages: the photo hero drops its cold shade for ink + cyan/ember bloom; title goes gradient. */
body.erdi-r15:not(.home) main.wp-block-group .ox-application .oa-hero-shade {
	background:
		linear-gradient(180deg, rgba(4, 5, 17, .12) 0%, rgba(4, 5, 17, .35) 55%, rgba(4, 5, 17, .96) 100%),
		radial-gradient(40% 50% at 10% 25%, rgba(87, 236, 255, .22) 0%, rgba(87, 236, 255, 0) 70%),
		radial-gradient(35% 45% at 90% 70%, rgba(255, 157, 81, .2) 0%, rgba(255, 157, 81, 0) 70%) !important;
}
body.erdi-r15:not(.home) main.wp-block-group .ox-application .oa-hero-band,
body.erdi-r15:not(.home) main.wp-block-group .ox-application .oa-hero-band > div {
	background: transparent !important;
	color: #f6fbff !important;
}
body.erdi-r15:not(.home) main.wp-block-group .ox-application .oa-hero-band h2#oa-title,
body.erdi-r15:not(.home) main.wp-block-group .ox-application .oa-hero-band h1 {
	font-family: var(--erdi-r15-display) !important;
	font-weight: 760 !important;
	font-size: clamp(56px, 7.5vw, 120px) !important;
	letter-spacing: -.055em !important;
	line-height: .9 !important;
	width: fit-content;
	background: linear-gradient(100deg, #ffffff 0%, #dff8ff 22%, #57ecff 52%, #a67cff 76%, #ff9d51 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
	-webkit-text-fill-color: transparent;
}
body.erdi-r15:not(.home) main.wp-block-group .ox-application .oa-hero-band :is(p, a:not(.op-button)) {
	color: rgba(234, 245, 255, .82) !important;
}
body.erdi-r15:not(.home) main.wp-block-group:has(.ox-application) > .wp-block-post-content > .erdi-breadcrumb {
	background: transparent !important;
}
body.erdi-r15:not(.home) .ox-application :is(.oa-intro, .oa-review, .oa-related, .oa-close) {
	background: transparent;
}
/* R16: application photo heroes lost their photo in the R14 cascade; give them the 3,000 m ridge plate. */
body.erdi-r15:not(.home) main.wp-block-group .ox-application .oa-hero.ox-photo-hero {
	background:
		url('../images/erdi/r16/ridge-1920.webp') center 60% / cover no-repeat,
		var(--erdi-r15-stage-deep, #040511) !important;
	border-bottom: 1px solid rgba(171, 194, 255, .18);
}
body.erdi-r15:not(.home) main.wp-block-group .ox-application .oa-hero-band a {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 14px 22px;
	background: linear-gradient(110deg, #57ecff, #b1a8ff) !important;
	color: #071117 !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-family: var(--erdi-r15-mono);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none !important;
	box-shadow: 0 0 36px rgba(87, 236, 255, .32), 0 8px 24px rgba(0, 0, 0, .4);
}
/* R16: about certificates on glass, not paper. */
body.erdi-r15:not(.home) .ed-about .ed-about-cert {
	color-scheme: dark;
	background: rgba(9, 11, 24, .72) !important;
	border-radius: 10px;
}
body.erdi-r15:not(.home) .ed-about .ed-about-cert :is(table, tr, td, th, p, li, h3) {
	background: transparent !important;
	color: #eef3ff;
}
body.erdi-r15:not(.home) .ed-about .ed-about-cert img {
	border-radius: 6px;
	box-shadow: 0 0 24px rgba(87, 236, 255, .12), 0 16px 32px rgba(0, 0, 0, .45);
}
/* R16: the about film section was the last paper-white band. */
body.erdi-r15:not(.home) .ed-about .ed-about-film {
	background:
		radial-gradient(45% 60% at 15% 30%, rgba(87, 236, 255, .14) 0%, rgba(87, 236, 255, 0) 70%),
		radial-gradient(40% 50% at 90% 80%, rgba(255, 157, 81, .14) 0%, rgba(255, 157, 81, 0) 70%),
		var(--erdi-r15-stage-deep, #040511) !important;
	color: #f6fbff !important;
	border-block: 1px solid rgba(171, 194, 255, .16);
}
body.erdi-r15:not(.home) .ed-about .ed-about-film :is(h2, h3, p, li, figcaption, span) {
	color: inherit !important;
}
body.erdi-r15:not(.home) .ed-about .ed-about-film video {
	background: #03040c !important;
	border-radius: 10px;
	box-shadow: 0 0 40px rgba(87, 236, 255, .14), 0 30px 60px rgba(0, 0, 0, .5);
}
/* R16: p.erdi-page__cta is a wrapper around the real a.erdi-btn — the wrapper stays plain. */
body.erdi-r15.erdi-r15.erdi-r15:not(.home) main p.erdi-page__cta,
body.erdi-r15.erdi-r15.erdi-r15:not(.home) main div.erdi-page__cta {
	background: transparent !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	color: inherit !important;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
}
body.erdi-r15.erdi-r15.erdi-r15:not(.home) main .erdi-page__cta > a:not(.erdi-btn) {
	color: #57ecff !important;
	text-shadow: 0 0 10px rgba(87, 236, 255, .35);
}
/* R16 perf: responsive fog / ridge plates. */
@media (max-width: 1280px) {
	body.erdi-r15:not(.home) main.wp-block-group::before,
	body.erdi-r15:not(.home) main.spotlight-shell::before {
		background-image:
			linear-gradient(180deg, rgba(4, 5, 17, .25) 0%, rgba(4, 5, 17, .4) 45%, var(--erdi-r15-stage-deep, #040511) 100%),
			radial-gradient(40% 45% at 12% 20%, rgba(87, 236, 255, .22) 0%, rgba(87, 236, 255, 0) 70%),
			radial-gradient(35% 40% at 88% 55%, rgba(255, 157, 81, .2) 0%, rgba(255, 157, 81, 0) 70%),
			url('../images/erdi/r16/fog-1280.webp');
	}
	body.erdi-r15:not(.home) main.wp-block-group .ox-application .oa-hero.ox-photo-hero {
		background-image: url('../images/erdi/r16/ridge-1280.webp') !important;
	}
}
@media (max-width: 768px) {
	body.erdi-r15:not(.home) main.wp-block-group::before,
	body.erdi-r15:not(.home) main.spotlight-shell::before {
		background-image:
			linear-gradient(180deg, rgba(4, 5, 17, .25) 0%, rgba(4, 5, 17, .4) 45%, var(--erdi-r15-stage-deep, #040511) 100%),
			radial-gradient(40% 45% at 12% 20%, rgba(87, 236, 255, .22) 0%, rgba(87, 236, 255, 0) 70%),
			radial-gradient(35% 40% at 88% 55%, rgba(255, 157, 81, .2) 0%, rgba(255, 157, 81, 0) 70%),
			url('../images/erdi/r16/fog-768.webp');
	}
	body.erdi-r15:not(.home) main.wp-block-group .ox-application .oa-hero.ox-photo-hero {
		background-image: url('../images/erdi/r16/ridge-768.webp') !important;
	}
}
