@theme {
	--color-primary: #c79a4a;
	--color-primary-50: #fbf7ef;
	--color-primary-100: #f3e9d5;
	--color-primary-500: #c79a4a;
	--color-primary-600: #aa7f37;
	--color-primary-700: #8e672c;
	--color-primary-900: #5f431f;
	--color-secondary: #17324a;
	--color-secondary-50: #f4f7f9;
	--color-secondary-100: #e6edf2;
	--color-secondary-200: #cddae4;
	--color-secondary-300: #a8bdcc;
	--color-secondary-500: #53748f;
	--color-secondary-600: #365a76;
	--color-secondary-700: #24465f;
	--color-secondary-900: #0d2132;
	--color-neutral: #12202c;
	--color-background: #f7f5f0;
	--font-sans: "Avenir Next", "Segoe UI", sans-serif;
	--font-serif: Georgia, "Times New Roman", serif;
	--font-mono: ui-monospace, "SF Mono", Menlo, monospace;
	--text-sm: .875rem;
	--text-base: 1rem;
	--text-lg: 1.125rem;
	--text-xl: 1.25rem;
	--text-2xl: 1.5rem;
	--text-3xl: 1.875rem;
	--text-4xl: 2.25rem;
	--text-5xl: 3rem;
}

:root {
	--drle-navy: #0d2132;
	--drle-navy-2: #17324a;
	--drle-gold: #c79a4a;
	--drle-gold-soft: #ead8b7;
	--drle-paper: #f7f5f0;
	--drle-white: #ffffff;
	--drle-ink: #182630;
	--drle-muted: #66727d;
	--drle-line: #ded9cf;
	--drle-alert: #f5ece8;
	--drle-alert-border: #b86752;
	--drle-shadow: 0 18px 50px rgba(13, 33, 50, .10);
	--drle-radius: 14px;
	--drle-content: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--drle-paper);
	color: var(--drle-ink);
	font-family: "Avenir Next", "Segoe UI", sans-serif;
	font-size: 17px;
	line-height: 1.72;
}
a { color: var(--drle-navy-2); text-underline-offset: 3px; }
a:hover { color: var(--drle-gold); }

.drle-site-header,
body > header,
.site-header,
header[role="banner"] {
	position: relative;
	z-index: 20;
	background: rgba(13,33,50,.98);
	color: #fff;
	border-bottom: 1px solid rgba(199,154,74,.34);
	box-shadow: 0 8px 28px rgba(7,22,34,.16);
}
.drle-site-header::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 1px;
	background: linear-gradient(90deg, transparent 0%, rgba(199,154,74,.58) 24%, rgba(199,154,74,.16) 70%, transparent 100%);
	pointer-events: none;
}
.drle-site-header__inner {
	width: min(calc(100% - 40px), var(--drle-content));
	min-height: 82px;
	margin-inline: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 34px;
}
.drle-brand {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	color: #fff;
	text-decoration: none;
	min-width: 0;
}
.drle-brand:hover { color: #fff; }
.drle-brand__monogram {
	display: inline-grid;
	place-items: center;
	width: 42px;
	height: 42px;
	flex: 0 0 42px;
	border: 1px solid rgba(199,154,74,.72);
	color: var(--drle-gold-soft);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.02rem;
	letter-spacing: .06em;
	border-radius: 50%;
	background: rgba(255,255,255,.025);
}
.drle-brand__copy {
	display: grid;
	gap: 2px;
	line-height: 1.15;
}
.drle-brand__copy strong {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.08rem;
	font-weight: 600;
	letter-spacing: -.01em;
	white-space: nowrap;
}
.drle-brand__copy span {
	color: rgba(255,255,255,.62);
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .09em;
	text-transform: uppercase;
}
.drle-primary-nav__menu {
	display: flex;
	align-items: center;
	gap: 26px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.drle-primary-nav a,
body > header a,
.site-header a,
header[role="banner"] a { color: #fff; text-decoration: none; }
.drle-primary-nav a {
	position: relative;
	display: inline-block;
	padding: 30px 0 27px;
	font-size: .84rem;
	font-weight: 650;
	letter-spacing: .015em;
	color: rgba(255,255,255,.78);
}
.drle-primary-nav a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 21px;
	height: 1px;
	background: var(--drle-gold);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .2s ease;
}
.drle-primary-nav a:hover,
body > header nav a:hover,
.site-header nav a:hover,
header[role="banner"] nav a:hover { color: var(--drle-gold-soft); }
.drle-primary-nav a:hover::after { transform: scaleX(1); }
@media (max-width: 760px) {
	.drle-site-header__inner { min-height: 72px; width: min(calc(100% - 28px), var(--drle-content)); }
	.drle-brand__monogram { width: 38px; height: 38px; flex-basis: 38px; }
	.drle-brand__copy strong { font-size: 1rem; }
	.drle-brand__copy span { font-size: .66rem; letter-spacing: .07em; }
	.drle-primary-nav { display: none; }
}

body > footer,
.site-footer,
footer[role="contentinfo"] {
	background: var(--drle-navy);
	color: rgba(255,255,255,.78);
	border-top: 1px solid rgba(199,154,74,.35);
}

.drle-shell { background: var(--drle-paper); }
.drle-container,
.drle-hero__inner {
	width: min(calc(100% - 40px), var(--drle-content));
	margin-inline: auto;
}

.drle-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 78% 26%, rgba(199,154,74,.14), transparent 32%),
		linear-gradient(135deg, #0b1d2c 0%, #17324a 58%, #0d2132 100%);
	color: #fff;
	padding: 88px 0 82px;
}
.drle-hero::after {
	content: "";
	position: absolute;
	inset: 0 0 0 56%;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.035));
	border-left: 1px solid rgba(199,154,74,.20);
	pointer-events: none;
}
.drle-hero__inner { position: relative; z-index: 1; max-width: 1180px; }
.drle-eyebrow {
	margin: 0 0 18px;
	color: var(--drle-gold);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.drle-hero h1 {
	max-width: 860px;
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2.6rem, 5.2vw, 4.7rem);
	line-height: 1.03;
	font-weight: 500;
	letter-spacing: -.035em;
	color: #fff;
}
.drle-hero__rule {
	width: 74px;
	height: 2px;
	background: var(--drle-gold);
	margin: 26px 0 24px;
}
.drle-hero__lead {
	max-width: 780px;
	margin: 0;
	font-size: clamp(1.05rem, 1.7vw, 1.28rem);
	line-height: 1.68;
	color: rgba(255,255,255,.82);
}

.drle-main { padding: 64px 0 88px; }
.drle-main-grid {
	display: grid;
	grid-template-columns: minmax(0, 2.2fr) minmax(270px, .9fr);
	gap: 52px;
	align-items: start;
}
.drle-content { min-width: 0; }
.drle-content > h2 {
	margin: 54px 0 18px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.75rem, 3vw, 2.45rem);
	line-height: 1.18;
	font-weight: 500;
	color: var(--drle-navy);
	letter-spacing: -.02em;
}
.drle-content > h3 {
	margin: 31px 0 9px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.28rem;
	line-height: 1.32;
	font-weight: 600;
	color: var(--drle-navy-2);
}
.drle-content p { margin: 0 0 19px; }
.drle-content ul,
.drle-content ol { margin: 12px 0 25px; padding-left: 1.35rem; }
.drle-content li { margin-bottom: 9px; }

.drle-key {
	position: relative;
	margin: 0 0 38px;
	padding: 27px 30px 25px;
	background: #fff;
	border: 1px solid var(--drle-line);
	border-left: 4px solid var(--drle-gold);
	border-radius: 0 var(--drle-radius) var(--drle-radius) 0;
	box-shadow: 0 12px 34px rgba(13,33,50,.05);
}
.drle-key__label {
	display: block;
	margin-bottom: 7px;
	color: var(--drle-gold);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.drle-key p { margin: 0; font-size: 1.06rem; }

.drle-alert {
	margin: 30px 0 34px;
	padding: 25px 27px;
	background: var(--drle-alert);
	border: 1px solid #e6cec6;
	border-left: 4px solid var(--drle-alert-border);
	border-radius: 0 var(--drle-radius) var(--drle-radius) 0;
}
.drle-alert h3 { margin: 0 0 8px; color: #803f31; }
.drle-alert p:last-child { margin-bottom: 0; }

.drle-sidebar {
	position: sticky;
	top: 24px;
	display: grid;
	gap: 22px;
}
.drle-card {
	background: #fff;
	border: 1px solid var(--drle-line);
	border-radius: var(--drle-radius);
	padding: 26px;
	box-shadow: var(--drle-shadow);
}
.drle-card h3 {
	margin: 0 0 13px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.25rem;
	line-height: 1.3;
	font-weight: 600;
	color: var(--drle-navy);
}
.drle-card p { margin: 0 0 14px; font-size: .95rem; line-height: 1.6; }
.drle-card p:last-child { margin-bottom: 0; }
.drle-authority-card {
	background: linear-gradient(150deg, #10283c, #17324a);
	border-color: rgba(199,154,74,.42);
	color: rgba(255,255,255,.84);
}
.drle-authority-card h3 { color: #fff; }
.drle-authority-card a { color: var(--drle-gold-soft); }

.drle-closing {
	margin-top: 56px;
	padding: 38px 40px;
	background: linear-gradient(135deg, #10283c, #17324a);
	color: rgba(255,255,255,.84);
	border-radius: var(--drle-radius);
	box-shadow: var(--drle-shadow);
}
.drle-closing h2 {
	margin: 0 0 14px !important;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.8rem, 3vw, 2.45rem);
	font-weight: 500;
	color: #fff;
}
.drle-closing p:last-child { margin-bottom: 0; }

.drle-quick,
.drle-related,
.drle-cta {
	border-radius: var(--drle-radius);
	border: 1px solid var(--drle-line);
	background: #fff;
	box-shadow: var(--drle-shadow);
}
.drle-quick { padding: 26px 30px; }
.drle-related { padding: 26px; }
.drle-cta {
	padding: 28px;
	background: var(--drle-navy);
	color: #fff;
	border-color: rgba(199,154,74,.38);
}
.drle-cta a,
.drle-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0 20px;
	border-radius: 6px;
	background: var(--drle-gold);
	color: var(--drle-navy) !important;
	font-weight: 800;
	text-decoration: none;
}

@media (max-width: 900px) {
	.drle-main-grid { grid-template-columns: 1fr; gap: 36px; }
	.drle-sidebar { position: static; grid-template-columns: repeat(2, minmax(0,1fr)); }
	.drle-sidebar .drle-authority-card { grid-column: 1 / -1; }
	.drle-hero { padding: 68px 0 62px; }
}
@media (max-width: 640px) {
	body { font-size: 16px; }
	.drle-container,
	.drle-hero__inner { width: min(calc(100% - 28px), var(--drle-content)); }
	.drle-hero { padding: 54px 0 48px; }
	.drle-hero h1 { font-size: clamp(2.2rem, 12vw, 3.2rem); }
	.drle-main { padding: 42px 0 64px; }
	.drle-content > h2 { margin-top: 42px; }
	.drle-key,
	.drle-alert,
	.drle-card,
	.drle-closing { padding: 22px; }
	.drle-sidebar { grid-template-columns: 1fr; }
}

/* ──────────────────────────────────────────────────────────────────────────
   DRLE Visual System A2 — advanced preview overrides
   Refined editorial-medical direction for the reusable Gutenberg system.
   ────────────────────────────────────────────────────────────────────────── */
:root {
	--drle-navy-deep: #081923;
	--drle-navy-mid: #112f43;
	--drle-gold-bright: #d5aa61;
	--drle-paper-warm: #faf8f4;
	--drle-panel: rgba(255,255,255,.78);
	--drle-shadow-soft: 0 22px 70px rgba(8,25,35,.09);
	--drle-shadow-hover: 0 26px 72px rgba(8,25,35,.15);
}

body {
	background:
		linear-gradient(rgba(13,33,50,.022) 1px, transparent 1px),
		var(--drle-paper-warm);
	background-size: 100% 32px;
	font-feature-settings: "kern" 1, "liga" 1;
}

.drle-site-header {
	position: relative;
	z-index: 20;
	background: rgba(8,25,35,.97);
	border-bottom: 1px solid rgba(213,170,97,.28);
	box-shadow: 0 10px 40px rgba(8,25,35,.14);
}
.drle-site-header__inner {
	width: min(calc(100% - 40px), var(--drle-content));
	min-height: 84px;
	margin-inline: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
}
.drle-brand {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	color: #fff !important;
	text-decoration: none;
}
.drle-brand__monogram {
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	border: 1px solid rgba(213,170,97,.68);
	border-radius: 50%;
	color: var(--drle-gold-bright);
	font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
	font-size: 15px;
	letter-spacing: .08em;
	box-shadow: inset 0 0 0 4px rgba(213,170,97,.06);
}
.drle-brand__copy { display: grid; gap: 2px; }
.drle-brand__copy strong {
	font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
	font-size: 1.02rem;
	font-weight: 600;
	letter-spacing: .01em;
}
.drle-brand__copy span {
	color: rgba(255,255,255,.56);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.drle-hero {
	isolation: isolate;
	min-height: 560px;
	display: flex;
	align-items: center;
	padding: 104px 0 96px;
	background:
		radial-gradient(circle at 81% 28%, rgba(213,170,97,.20), transparent 0 14%, transparent 32%),
		radial-gradient(circle at 79% 47%, rgba(255,255,255,.055), transparent 0 21%, transparent 42%),
		linear-gradient(124deg, var(--drle-navy-deep) 0%, #0d283a 47%, #17384f 100%);
}
.drle-hero::before {
	content: "";
	position: absolute;
	width: 420px;
	height: 420px;
	right: max(5vw, 46px);
	top: 50%;
	transform: translateY(-50%);
	border: 1px solid rgba(213,170,97,.26);
	border-radius: 50%;
	box-shadow:
		0 0 0 48px rgba(255,255,255,.018),
		0 0 0 96px rgba(213,170,97,.022);
	z-index: -1;
}
.drle-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, transparent 0 67%, rgba(213,170,97,.09) 67% 67.1%, transparent 67.1%),
		linear-gradient(0deg, transparent 0 28%, rgba(255,255,255,.035) 28% 28.15%, transparent 28.15%);
	pointer-events: none;
	z-index: -1;
}
.drle-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 22px;
	color: var(--drle-gold-bright);
	font-size: 12px;
	letter-spacing: .19em;
}
.drle-eyebrow::before {
	content: "";
	width: 34px;
	height: 1px;
	background: currentColor;
}
.drle-hero h1 {
	max-width: 790px;
	font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
	font-size: clamp(3rem, 5.35vw, 5rem);
	line-height: .98;
	letter-spacing: -.045em;
	text-wrap: balance;
}
.drle-hero__rule { width: 92px; background: var(--drle-gold-bright); }
.drle-hero__lead {
	max-width: 710px;
	font-size: clamp(1.08rem, 1.45vw, 1.25rem);
	line-height: 1.72;
	color: rgba(255,255,255,.76);
}

.drle-main { padding: 78px 0 108px; }
.drle-main-grid {
	grid-template-columns: minmax(0, 2.15fr) minmax(285px, .85fr);
	gap: 64px;
}
.drle-content > h2 {
	font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
	font-size: clamp(2rem, 3vw, 2.75rem);
	letter-spacing: -.028em;
	text-wrap: balance;
}
.drle-content > h2::after {
	content: "";
	display: block;
	width: 46px;
	height: 1px;
	margin-top: 16px;
	background: var(--drle-gold);
}

.drle-key {
	padding: 32px 34px 30px;
	background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,255,255,.72));
	border: 1px solid rgba(199,154,74,.26);
	border-left: 0;
	border-radius: var(--drle-radius);
	box-shadow: var(--drle-shadow-soft);
	backdrop-filter: blur(10px);
}
.drle-key::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 4px;
	border-radius: var(--drle-radius) 0 0 var(--drle-radius);
	background: linear-gradient(var(--drle-gold-bright), #9f752f);
}
.drle-key__label { color: #9d722e; }
.drle-key p { color: #223440; }

/* Home cluster gateways: the first content-level cards become a visual cluster row. */
.drle-content > .drle-card {
	position: relative;
	display: inline-flex;
	vertical-align: top;
	width: calc(33.333% - 16px);
	min-height: 250px;
	margin: 0 18px 18px 0;
	padding: 30px 28px 28px;
	flex-direction: column;
	justify-content: space-between;
	overflow: hidden;
	border-color: rgba(13,33,50,.09);
	box-shadow: 0 14px 42px rgba(8,25,35,.075);
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.drle-content > .drle-card + .drle-card + .drle-card { margin-right: 0; }
.drle-content > .drle-card::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 3px;
	background: linear-gradient(90deg, var(--drle-gold-bright), rgba(213,170,97,.18));
}
.drle-content > .drle-card::after {
	content: "→";
	position: absolute;
	right: 26px;
	bottom: 22px;
	width: 34px;
	height: 34px;
	display: grid;
	place-items: center;
	border: 1px solid rgba(13,33,50,.12);
	border-radius: 50%;
	color: var(--drle-gold);
	font-size: 18px;
	transition: transform .25s ease, background .25s ease;
}
.drle-content > .drle-card:hover {
	transform: translateY(-5px);
	border-color: rgba(199,154,74,.30);
	box-shadow: var(--drle-shadow-hover);
}
.drle-content > .drle-card:hover::after {
	transform: translateX(3px);
	background: rgba(213,170,97,.08);
}
.drle-content > .drle-card h3 {
	font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
	font-size: 1.5rem;
	letter-spacing: -.018em;
}
.drle-content > .drle-card p { padding-right: 24px; color: #52616c; }

.drle-alert {
	position: relative;
	padding: 30px 31px 28px;
	background: linear-gradient(135deg, #fbf2ee, #f7ebe6);
	border: 1px solid #ead5cd;
	border-left-width: 5px;
	box-shadow: 0 14px 40px rgba(128,63,49,.06);
}
.drle-alert h2,
.drle-alert h3 { color: #71392e; }

.drle-sidebar { top: 28px; gap: 18px; }
.drle-sidebar .drle-card {
	padding: 28px;
	border-color: rgba(13,33,50,.08);
	box-shadow: 0 15px 46px rgba(8,25,35,.07);
}
.drle-authority-card {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 100% 0, rgba(213,170,97,.16), transparent 32%),
		linear-gradient(150deg, #0b2332, #17394f);
}
.drle-authority-card::after {
	content: "LE";
	position: absolute;
	right: -8px;
	bottom: -24px;
	font-family: "Iowan Old Style", Georgia, serif;
	font-size: 6.8rem;
	line-height: 1;
	color: rgba(255,255,255,.035);
	pointer-events: none;
}

.drle-closing {
	position: relative;
	overflow: hidden;
	padding: 44px 46px;
	background:
		radial-gradient(circle at 92% 25%, rgba(213,170,97,.13), transparent 30%),
		linear-gradient(135deg, #0b2232, #17384f);
	border: 1px solid rgba(213,170,97,.25);
}
.drle-closing::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 88px;
	height: 3px;
	background: var(--drle-gold-bright);
}

body > footer,
.site-footer,
footer[role="contentinfo"] {
	margin-top: 0;
	background: var(--drle-navy-deep);
}

@media (max-width: 900px) {
	.drle-site-header__inner { min-height: 76px; }
	.drle-hero { min-height: auto; padding: 82px 0 76px; }
	.drle-hero::before { width: 300px; height: 300px; right: -90px; opacity: .45; }
	.drle-main-grid { gap: 44px; }
	.drle-content > .drle-card {
		display: flex;
		width: 100%;
		min-height: 0;
		margin: 0 0 16px;
		padding: 26px 66px 26px 26px;
	}
}

@media (max-width: 640px) {
	.drle-site-header__inner { width: min(calc(100% - 28px), var(--drle-content)); min-height: 70px; }
	.drle-brand__monogram { width: 38px; height: 38px; }
	.drle-brand__copy strong { font-size: .92rem; }
	.drle-brand__copy span { font-size: .64rem; }
	.drle-hero { padding: 64px 0 58px; }
	.drle-hero h1 { font-size: clamp(2.35rem, 12vw, 3.35rem); }
	.drle-hero__lead { font-size: 1.02rem; }
	.drle-main { padding: 48px 0 72px; }
	.drle-key,
	.drle-alert,
	.drle-closing { padding: 24px; }
	.drle-content > .drle-card { padding: 24px 62px 24px 24px; }
}

/* ──────────────────────────────────────────────────────────────────────────
   DRLE Gutenberg component layer — DS-03/DS-05
   Structural classes used by Core Block patterns. No clinical/routing logic.
   ────────────────────────────────────────────────────────────────────────── */
.drle-eyebrow {
	margin: 0 0 14px;
	color: var(--drle-gold);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.drle-section-title {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2rem, 4vw, 3.1rem);
	font-weight: 500;
	line-height: 1.08;
	color: var(--drle-navy);
}
.drle-section-lead {
	max-width: 760px;
	margin: 14px 0 0;
	color: var(--drle-muted);
	font-size: 1.05rem;
}

.drle-foundation-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(70px, 9vw, 126px) 20px clamp(66px, 8vw, 110px);
	background:
		radial-gradient(circle at 78% 28%, rgba(199,154,74,.18), transparent 0 23%, transparent 48%),
		linear-gradient(122deg, #091b2a 0%, var(--drle-navy) 56%, #17324a 100%);
	color: #fff;
}
.drle-foundation-hero::after {
	content: "";
	position: absolute;
	inset: auto -8% -46% auto;
	width: min(52vw, 620px);
	aspect-ratio: 1;
	border: 1px solid rgba(234,216,183,.18);
	border-radius: 50%;
	box-shadow: 0 0 0 54px rgba(234,216,183,.035), 0 0 0 108px rgba(234,216,183,.025);
	z-index: -1;
}
.drle-foundation-hero__inner { width: min(100%, var(--drle-content)); margin-inline: auto; }
.drle-foundation-hero .drle-eyebrow { color: var(--drle-gold-soft); }
.drle-foundation-hero__title {
	max-width: 880px;
	margin: 0 !important;
	color: #fff !important;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2.8rem, 6.1vw, 5rem) !important;
	font-weight: 500 !important;
	line-height: .98 !important;
	letter-spacing: -.035em;
}
.drle-foundation-hero__lead {
	max-width: 720px;
	margin: 24px 0 0;
	color: rgba(255,255,255,.86);
	font-size: clamp(1.08rem, 2vw, 1.35rem);
	line-height: 1.58;
}
.drle-foundation-hero__support {
	max-width: 640px;
	margin: 24px 0 0;
	padding-top: 20px;
	border-top: 1px solid rgba(234,216,183,.28);
	color: rgba(255,255,255,.64);
	font-size: .94rem;
}

.drle-cluster-gateway {
	padding-block: clamp(56px, 7vw, 92px);
}
.drle-cluster-gateway__grid { margin-top: 34px; gap: 18px; }
.drle-cluster-card {
	position: relative;
	min-height: 280px;
	padding: 30px;
	border: 1px solid var(--drle-line);
	border-radius: var(--drle-radius);
	background:
		linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.92)),
		var(--drle-white);
	box-shadow: 0 16px 45px rgba(13,33,50,.07);
	transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.drle-cluster-card::after {
	content: "";
	position: absolute;
	right: 24px;
	bottom: 24px;
	width: 38px;
	height: 38px;
	border: 1px solid rgba(199,154,74,.55);
	border-radius: 50%;
	background: radial-gradient(circle, rgba(199,154,74,.12), transparent 65%);
}
.drle-cluster-card:hover {
	transform: translateY(-4px);
	border-color: rgba(199,154,74,.52);
	box-shadow: 0 22px 55px rgba(13,33,50,.11);
}
.drle-cluster-card__index {
	margin: 0 0 42px;
	color: var(--drle-gold);
	font-size: .75rem;
	font-weight: 800;
	letter-spacing: .16em;
}
.drle-cluster-card h3 {
	margin: 0 0 10px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.85rem;
	font-weight: 500;
	color: var(--drle-navy);
}
.drle-cluster-card p:not(.drle-cluster-card__index):not(.drle-cluster-card__status) {
	max-width: 30ch;
	margin: 0;
	color: var(--drle-muted);
	font-size: .96rem;
	line-height: 1.58;
}
.drle-cluster-card__status {
	margin: 26px 0 0;
	color: var(--drle-navy-2);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.drle-journey {
	padding: clamp(34px, 5vw, 58px);
	border: 1px solid rgba(13,33,50,.08);
	border-radius: calc(var(--drle-radius) + 2px);
	background: linear-gradient(135deg, #fff 0%, #f3f6f8 100%);
	box-shadow: 0 18px 52px rgba(13,33,50,.07);
}
.drle-journey__grid {
	margin-top: 30px;
	gap: 0;
	border-top: 1px solid var(--drle-line);
	border-bottom: 1px solid var(--drle-line);
}
.drle-journey__grid > .wp-block-column { position: relative; }
.drle-journey__grid > .wp-block-column:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 24px;
	right: 0;
	bottom: 24px;
	width: 1px;
	background: var(--drle-line);
}
.drle-journey-step { padding: 26px 18px 28px; }
.drle-journey-step__number {
	margin: 0 0 18px;
	color: var(--drle-gold);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .14em;
}
.drle-journey-step h3 {
	margin: 0 0 8px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.15rem;
	font-weight: 600;
	color: var(--drle-navy);
}
.drle-journey-step p:not(.drle-journey-step__number) {
	margin: 0;
	color: var(--drle-muted);
	font-size: .84rem;
	line-height: 1.52;
}
.drle-journey__note {
	margin: 20px 0 0;
	color: var(--drle-muted);
	font-size: .82rem;
}

@media (max-width: 900px) {
	.drle-cluster-gateway__grid { flex-wrap: wrap !important; }
	.drle-cluster-gateway__grid > .wp-block-column { flex-basis: calc(50% - 9px) !important; }
	.drle-journey__grid { flex-wrap: wrap !important; }
	.drle-journey__grid > .wp-block-column { flex-basis: 33.333% !important; }
}

@media (max-width: 640px) {
	.drle-foundation-hero { padding: 64px 14px 58px; }
	.drle-foundation-hero__title { font-size: clamp(2.5rem, 12vw, 3.6rem) !important; }
	.drle-cluster-gateway { padding-block: 48px; }
	.drle-cluster-gateway__grid > .wp-block-column { flex-basis: 100% !important; }
	.drle-cluster-card { min-height: 230px; padding: 26px; }
	.drle-cluster-card__index { margin-bottom: 32px; }
	.drle-journey { padding: 26px 18px; }
	.drle-journey__grid { display: block; }
	.drle-journey__grid > .wp-block-column { width: 100%; }
	.drle-journey__grid > .wp-block-column:not(:last-child)::after {
		top: auto;
		left: 18px;
		right: 18px;
		bottom: 0;
		width: auto;
		height: 1px;
	}
	.drle-journey-step { padding: 22px 4px; }
}

/* Prototype A2 refinement — draft theme only. */
.drle-foundation-hero::before {
	content: "";
	position: absolute;
	right: clamp(-150px, -8vw, -40px);
	top: 50%;
	width: min(48vw, 610px);
	aspect-ratio: 1;
	transform: translateY(-50%) rotate(-8deg);
	background:
		radial-gradient(ellipse at 48% 42%, transparent 0 24%, rgba(234,216,183,.26) 24.5% 25.2%, transparent 25.8%),
		radial-gradient(ellipse at 58% 51%, transparent 0 34%, rgba(234,216,183,.18) 34.5% 35.2%, transparent 35.8%),
		radial-gradient(ellipse at 62% 58%, rgba(199,154,74,.08) 0 18%, transparent 42%);
	opacity: .9;
	pointer-events: none;
	z-index: -1;
}
.drle-foundation-hero__inner { position: relative; z-index: 1; }
.drle-cluster-card--knee { background: linear-gradient(165deg, #ffffff 0%, #f8fafb 72%, #eef3f6 100%); }
.drle-cluster-card--hip { background: linear-gradient(165deg, #ffffff 0%, #fbfaf7 72%, #f1ece3 100%); }
.drle-cluster-card--shoulder { background: linear-gradient(165deg, #ffffff 0%, #faf8f5 72%, #eee6dc 100%); }
.drle-journey-step__number {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	margin-bottom: 20px;
	border: 1px solid rgba(199,154,74,.48);
	border-radius: 50%;
	background: rgba(199,154,74,.07);
}
.drle-demo-split {
	gap: clamp(24px, 4vw, 54px);
	align-items: stretch;
	padding-block: clamp(64px, 8vw, 104px);
}
.drle-demo-split > .wp-block-column:first-child {
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.drle-demo-split .drle-key,
.drle-demo-split .drle-alert { margin: 0; }
.drle-clinical-media {
	height: 100%;
	margin: 0;
	border-radius: calc(var(--drle-radius) + 2px);
	overflow: hidden;
	background: #e9edf0;
	box-shadow: 0 20px 52px rgba(13,33,50,.12);
}
.drle-clinical-media img {
	display: block;
	width: 100%;
	height: min(560px, 62vw);
	min-height: 430px;
	object-fit: cover;
	filter: saturate(.82) contrast(1.03);
}
.drle-clinical-media figcaption {
	margin: 0;
	padding: 12px 16px 14px;
	background: #fff;
	color: var(--drle-muted);
	font-size: .74rem;
	line-height: 1.45;
}
.wp-block-group.drle-closing {
	margin-top: 0;
	border-radius: 0;
	padding: clamp(64px, 8vw, 100px) 20px;
}
.wp-block-group.drle-closing > .wp-block-group__inner-container {
	width: min(100%, var(--drle-content));
	margin-inline: auto;
}
.drle-closing .drle-eyebrow { color: var(--drle-gold-soft); }
.drle-closing h2 {
	max-width: 820px;
	margin: 0;
	color: #fff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2.05rem, 4.1vw, 3.4rem);
	font-weight: 500;
	line-height: 1.08;
	letter-spacing: -.025em;
}
.drle-closing p:not(.drle-eyebrow) {
	max-width: 720px;
	margin: 22px 0 0;
	color: rgba(255,255,255,.68);
}

@media (max-width: 900px) {
	.drle-demo-split { gap: 28px; }
	.drle-clinical-media img { min-height: 360px; }
}

@media (max-width: 640px) {
	.drle-foundation-hero::before {
		right: -58%;
		top: 42%;
		width: 118vw;
		opacity: .52;
	}
	.drle-demo-split { display: block; padding-block: 54px; }
	.drle-demo-split > .wp-block-column + .wp-block-column { margin-top: 24px; }
	.drle-clinical-media img { min-height: 300px; height: 78vw; max-height: 430px; }
}

@media (prefers-reduced-motion: reduce) {
	.drle-cluster-card { transition: none; }
}


/* A2 responsive navigation: keep the governed menu reachable without a hidden-only mobile state. */
@media (max-width: 760px) {
	.drle-site-header__inner {
		flex-wrap: wrap;
		gap: 8px 16px;
		padding-block: 10px;
	}
	.drle-site-header .drle-primary-nav {
		display: block;
		width: 100%;
	}
	.drle-site-header .drle-primary-nav__menu {
		flex-wrap: wrap;
		gap: 0 18px;
	}
	.drle-site-header .drle-primary-nav a {
		padding: 7px 0 11px;
		font-size: .78rem;
	}
	.drle-site-header .drle-primary-nav a::after {
		bottom: 5px;
	}
	.drle-footer .drle-primary-nav,
	.site-footer .drle-primary-nav,
	footer[role="contentinfo"] .drle-primary-nav {
		display: block;
		width: 100%;
	}
	.drle-footer .drle-primary-nav__menu,
	.site-footer .drle-primary-nav__menu,
	footer[role="contentinfo"] .drle-primary-nav__menu {
		flex-wrap: wrap;
		gap: 6px 16px;
	}
	.drle-footer .drle-primary-nav a,
	.site-footer .drle-primary-nav a,
	footer[role="contentinfo"] .drle-primary-nav a {
		padding: 6px 0;
		font-size: .8rem;
	}
}
/* Home 24 structural guard — draft theme only. */.drle-cluster-gateway__grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:18px}.drle-cluster-gateway__grid>.wp-block-column{width:auto!important;flex-basis:auto!important;margin:0!important}.drle-cluster-gateway>.wp-block-columns:not(.drle-cluster-gateway__grid){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:18px}.drle-cluster-gateway>.wp-block-columns:not(.drle-cluster-gateway__grid)>.wp-block-column{width:auto!important;flex-basis:auto!important;margin:0!important}.drle-demo-split{display:grid!important;grid-template-columns:minmax(0,1.38fr) minmax(260px,.92fr);align-items:stretch;gap:clamp(24px,4vw,54px)}.drle-demo-split>.wp-block-column{width:auto!important;flex-basis:auto!important;margin:0!important}.drle-clinical-media{width:100%;height:100%;margin:0}.drle-journey__grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:0}.drle-journey__grid>.wp-block-column{width:auto!important;flex-basis:auto!important;margin:0!important}@media(max-width:900px){.drle-cluster-gateway__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.drle-demo-split{grid-template-columns:1fr}.drle-journey__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.drle-cluster-gateway__grid,.drle-cluster-gateway>.wp-block-columns:not(.drle-cluster-gateway__grid){grid-template-columns:1fr}.drle-journey__grid{grid-template-columns:1fr}.drle-demo-split{display:block!important}.drle-demo-split>.wp-block-column+ .wp-block-column{margin-top:24px!important}}@media(prefers-reduced-motion:reduce){.drle-cluster-card{transition:none!important;transform:none!important}}


/* BUILD-02/03 — shared reading grid and keyboard-visible focus. */
.drle-reading-grid {
	width: min(calc(100% - 40px), var(--drle-content));
	margin-inline: auto;
	padding-block: clamp(2.5rem, 6vw, 5.5rem);
}
.drle-reading-grid > .wp-block-group__inner-container {
	width: 100%;
}
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--drle-gold-bright, var(--drle-gold));
	outline-offset: 4px;
	box-shadow: 0 0 0 2px var(--drle-navy-deep, var(--drle-navy));
}
:where(.drle-site-header a, .site-header a, .site-footer a, body > footer a):focus-visible {
	outline-color: var(--drle-gold-soft, var(--drle-gold));
}
@media (max-width: 640px) {
	.drle-reading-grid { width: min(calc(100% - 28px), var(--drle-content)); padding-block: 3rem; }
}


/* BUILD-05 — stack reading content and related navigation on narrow viewports. */
@media (max-width: 900px) {
	.drle-main-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}
	.drle-content,
	.drle-sidebar {
		width: 100%;
		min-width: 0;
	}
	.drle-sidebar {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}
}
@media (max-width: 640px) {
	.drle-main {
		padding-block: 42px 60px;
	}
	.drle-main-grid {
		gap: 28px;
	}
}


/* BUILD-05 — authority card contrast, spacing and heading variant. */
.drle-authority-card {
	padding: 26px;
	border: 1px solid rgba(199,154,74,.42);
	border-radius: var(--drle-radius);
	box-shadow: var(--drle-shadow);
}
.drle-authority-card h2,
.drle-authority-card h3 {
	margin: 0 0 13px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.25rem;
	line-height: 1.3;
	font-weight: 600;
	color: #fff;
}
.drle-authority-card p {
	margin: 0 0 14px;
	font-size: .95rem;
	line-height: 1.6;
}
.drle-authority-card p:last-child { margin-bottom: 0; }
@media (max-width: 640px) {
	.drle-authority-card { padding: 22px; }
}

/* BUILD-06 — Symptom Router observation panel width guard. */
.drle-content > .drle-observation-panel {
	display: block;
	width: 100%;
	max-width: none;
	min-width: 0;
	min-height: 0;
	margin: 0 0 18px;
	padding: 30px 28px 28px;
	overflow: visible;
}
.drle-content > .drle-observation-panel::after { content: none; }
.drle-content > .drle-observation-panel p { padding-right: 0; }
.drle-content > .drle-observation-panel ul { width: 100%; max-width: none; }


/* BUILD-07 — sticky reading sidebar. */
.drle-main-grid {
	align-items: start;
}
.drle-sidebar {
	position: sticky;
	top: 96px;
	align-self: start;
	height: fit-content;
}
@media (max-width: 900px) {
	.drle-sidebar {
		position: static;
		top: auto;
		align-self: stretch;
		height: auto;
	}
}


/* BUILD-08 — align Symptom Router reading width with the Idea Clave row. */
.drle-main-grid {
	width: min(calc(100% - 40px), var(--drle-content));
	max-width: var(--drle-content);
	margin-inline: auto;
}
.drle-content {
	width: 100%;
	max-width: none;
}
.drle-content > h2,
.drle-content > h3,
.drle-content > p,
.drle-content > ul,
.drle-content > ol {
	width: 100%;
	max-width: none;
}
.drle-key {
	width: min(calc(100% - 40px), var(--drle-content));
	max-width: var(--drle-content);
	margin-inline: auto;
}
@media (max-width: 640px) {
	.drle-main-grid,
	.drle-key {
		width: min(calc(100% - 28px), var(--drle-content));
	}
}


/* BUILD-09 — reduce desktop hero H1 footprint while preserving mobile scale. */
@media (min-width: 901px) {
	.drle-hero {
		min-height: 500px;
		padding: 88px 0 78px;
	}
	.drle-hero h1 {
		max-width: 960px;
		font-size: clamp(2.8rem, 4.6vw, 4.4rem);
	}
}
