:root {
	--rmp-accent: #00a86b;
	--rmp-accent-2: #69f0ae;
	--rmp-accent-3: #d7ffe8;
	--rmp-accent-rgb: 0 168 107;
	--rmp-accent-2-rgb: 105 240 174;
	--rmp-accent-3-rgb: 215 255 232;
	--rmp-grid-rgb: 0 121 82;
	--rmp-ink: #09231b;
	--rmp-muted: #567067;
	--rmp-bg: #f3fbf7;
	--rmp-bg-2: #e7f8ef;
	--rmp-bg-start: #f7fff9;
	--rmp-bg-end: #ffffff;
	--rmp-panel: rgba(255, 255, 255, 0.86);
	--rmp-dark: #051611;
	--rmp-line: rgb(var(--rmp-accent-rgb) / 0.16);
	--rmp-shadow: 0 30px 80px rgba(5, 45, 31, 0.16);
	--rmp-glow-primary: 0.32;
	--rmp-glow-secondary: 0.20;
	--rmp-glow-orb: 0.18;
	--rmp-grid-opacity: 0.055;
	--rmp-button-glow: 0.28;
	--rmp-button-glow-hover: 0.34;
	--rmp-hero-panel-glow: 0.36;
	--rmp-glow-size: 28rem;
	--rmp-grid-size: 52px;
	--rmp-radius-xl: 34px;
	--rmp-radius-lg: 24px;
	--rmp-radius-md: 18px;
	--rmp-radius-card: var(--rmp-radius-xl);
	--rmp-radius-panel: var(--rmp-radius-xl);
	--rmp-radius-cover: 22px;
	--rmp-radius-button: 999px;
	--rmp-radius-search: 999px;
	--rmp-radius-pill: 999px;
	--rmp-cover-object-position: center center;
	--rmp-shell: 1160px;
}

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

html {
	scroll-behavior: smooth;
	font-size: 16px;
}

body {
	margin: 0;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	color: var(--rmp-ink);
	background:
		radial-gradient(circle at 12% 4%, rgb(var(--rmp-accent-2-rgb) / var(--rmp-glow-primary)), transparent var(--rmp-glow-size)),
		radial-gradient(circle at 92% 18%, rgb(var(--rmp-accent-rgb) / var(--rmp-glow-secondary)), transparent var(--rmp-glow-size)),
		linear-gradient(180deg, var(--rmp-bg-start) 0%, var(--rmp-bg) 42%, var(--rmp-bg-end) 100%);
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body::before {
	content: "";
	position: fixed;
	inset: 0;
	pointer-events: none;
	z-index: -2;
	background-image:
		linear-gradient(rgb(var(--rmp-grid-rgb) / var(--rmp-grid-opacity)) 1px, transparent 1px),
		linear-gradient(90deg, rgb(var(--rmp-grid-rgb) / var(--rmp-grid-opacity)) 1px, transparent 1px);
	background-size: var(--rmp-grid-size) var(--rmp-grid-size);
	mask-image: linear-gradient(to bottom, #000, transparent 88%);
}

body::after {
	content: "";
	position: fixed;
	inset: auto -10vw -30vh auto;
	width: 52vw;
	height: 52vw;
	border-radius: 999px;
	background: radial-gradient(circle, rgb(var(--rmp-accent-rgb) / var(--rmp-glow-orb)), rgb(var(--rmp-accent-2-rgb) / calc(var(--rmp-glow-orb) * 0.45)), transparent 65%);
	z-index: -3;
	pointer-events: none;
}

img { max-width: 100%; height: auto; }

a {
	color: inherit;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
}

a:hover { color: var(--rmp-accent); }

p { margin: 0 0 1.2rem; }

h1, h2, h3, h4 {
	font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	letter-spacing: -0.045em;
	line-height: 1.02;
	margin: 0 0 1rem;
	color: var(--rmp-ink);
}

h1 { font-size: clamp(3rem, 7vw, 6.8rem); }
h2 { font-size: clamp(2.1rem, 4.2vw, 4.3rem); }
h3 { font-size: clamp(1.35rem, 2vw, 2rem); }

.screen-reader-text,
.skip-link {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.skip-link:focus {
	clip: auto !important;
	clip-path: none;
	display: block;
	height: auto;
	left: 1rem;
	top: 1rem;
	width: auto;
	z-index: 100000;
	padding: 0.8rem 1rem;
	background: var(--rmp-dark);
	color: white;
	border-radius: 999px;
}

.rmp-shell {
	width: min(calc(100% - 40px), var(--rmp-shell));
	margin: 0 auto;
}

.rmp-site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	backdrop-filter: blur(18px);
	background: rgba(246, 255, 249, 0.75);
	background: color-mix(in srgb, var(--rmp-bg-start) 75%, transparent);
	border-bottom: 1px solid rgb(var(--rmp-accent-rgb) / 0.12);
	transition: box-shadow 180ms ease, background 180ms ease;
}

.rmp-site-header.is-scrolled {
	background: rgba(246, 255, 249, 0.92);
	background: color-mix(in srgb, var(--rmp-bg-start) 92%, transparent);
	box-shadow: 0 12px 36px rgb(var(--rmp-accent-rgb) / 0.08);
}

.rmp-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	min-height: 82px;
}

.rmp-brand {
	display: inline-flex;
	align-items: center;
	gap: 0.9rem;
	text-decoration: none;
}

.rmp-logo-mark {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 18px;
	background:
		linear-gradient(135deg, var(--rmp-accent), var(--rmp-accent-2)),
		var(--rmp-accent);
	box-shadow: 0 16px 40px rgb(var(--rmp-accent-rgb) / var(--rmp-button-glow)), inset 0 0 0 1px rgba(255,255,255,.35);
	color: #fff;
	font-weight: 900;
	font-size: 1.35rem;
	letter-spacing: -0.06em;
	position: relative;
}

.rmp-logo-mark::after {
	content: "";
	position: absolute;
	inset: 9px;
	border: 1px solid rgba(255,255,255,.52);
	border-radius: 13px;
}

.rmp-logo-wrap img {
	max-height: 54px;
	width: auto;
}

.rmp-brand-text {
	display: flex;
	flex-direction: column;
	gap: 0.08rem;
}

.rmp-brand-text strong {
	font-size: 1.12rem;
	letter-spacing: -0.04em;
	line-height: 1;
}

.rmp-brand-text small {
	font-size: 0.76rem;
	color: var(--rmp-muted);
	max-width: 15rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.rmp-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 0.35rem;
}

.rmp-menu a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.72rem 0.98rem;
	border-radius: 999px;
	text-decoration: none;
	font-weight: 750;
	font-size: 0.9rem;
	color: var(--rmp-ink);
}

.rmp-menu a:hover,
.rmp-menu .current-menu-item > a {
	background: rgb(var(--rmp-accent-rgb) / 0.11);
	color: var(--rmp-accent);
}

.rmp-menu-toggle {
	display: none;
	width: 46px;
	height: 46px;
	border: 1px solid var(--rmp-line);
	border-radius: 15px;
	background: rgba(255,255,255,.75);
	padding: 0;
	cursor: pointer;
}

.rmp-menu-toggle span {
	display: block;
	width: 20px;
	height: 2px;
	background: var(--rmp-ink);
	margin: 4px auto;
	border-radius: 999px;
}

.rmp-hero {
	position: relative;
	isolation: isolate;
	padding: clamp(4rem, 8vw, 8rem) 0 clamp(3rem, 6vw, 5.5rem);
	overflow: hidden;
}

.rmp-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.8fr);
	gap: clamp(2rem, 6vw, 5rem);
	align-items: center;
}

.rmp-kicker {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	margin: 0 0 1rem;
	font-size: 0.76rem;
	font-weight: 900;
	letter-spacing: 0.17em;
	text-transform: uppercase;
	color: var(--rmp-accent);
}

.rmp-kicker::before {
	content: "";
	width: 0.62rem;
	height: 0.62rem;
	border-radius: 999px;
	background: var(--rmp-accent);
	box-shadow: 0 0 0 7px rgb(var(--rmp-accent-rgb) / 0.14), 0 0 24px rgb(var(--rmp-accent-rgb) / 0.55);
}

.rmp-lead {
	font-size: clamp(1.12rem, 2vw, 1.4rem);
	color: var(--rmp-muted);
	max-width: 48rem;
}

.rmp-actions {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	flex-wrap: wrap;
	margin: 1.8rem 0 0;
}

.rmp-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 48px;
	padding: 0.82rem 1.18rem;
	border-radius: 999px;
	font-weight: 850;
	text-decoration: none;
	border: 1px solid transparent;
	transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.rmp-button:hover {
	transform: translateY(-1px);
}

.rmp-button-primary {
	background: var(--rmp-accent);
	background: linear-gradient(135deg, color-mix(in srgb, var(--rmp-accent) 82%, var(--rmp-dark)), var(--rmp-accent));
	color: #fff;
	box-shadow: 0 18px 44px rgb(var(--rmp-accent-rgb) / var(--rmp-button-glow));
}

.rmp-button-primary:hover { color: #fff; box-shadow: 0 22px 52px rgb(var(--rmp-accent-rgb) / var(--rmp-button-glow-hover)); }

.rmp-button-soft {
	background: rgba(255,255,255,.74);
	border-color: rgb(var(--rmp-accent-rgb) / 0.16);
	color: var(--rmp-ink);
}

.rmp-button-soft:hover {
	background: rgb(var(--rmp-accent-3-rgb) / 0.72);
	color: var(--rmp-accent);
}

.rmp-metrics {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.8rem;
	max-width: 44rem;
	margin-top: 2.3rem;
}

.rmp-metrics div {
	padding: 1.1rem;
	border: 1px solid var(--rmp-line);
	border-radius: 22px;
	background: rgba(255,255,255,.64);
	box-shadow: 0 16px 40px rgba(5, 45, 31, 0.07);
}

.rmp-metrics b {
	display: block;
	font-size: 1.7rem;
	line-height: 1;
	letter-spacing: -0.06em;
	color: var(--rmp-accent);
}

.rmp-metrics span {
	display: block;
	margin-top: 0.35rem;
	font-size: 0.78rem;
	font-weight: 750;
	color: var(--rmp-muted);
	text-transform: uppercase;
	letter-spacing: 0.07em;
}

.rmp-hero-panel {
	min-height: 520px;
	border: 1px solid rgb(var(--rmp-accent-2-rgb) / 0.38);
	border-radius: var(--rmp-radius-xl);
	background:
		linear-gradient(160deg, rgba(5, 22, 17, 0.95), rgba(5, 43, 31, 0.92)),
		var(--rmp-dark);
	box-shadow: var(--rmp-shadow), inset 0 0 0 1px rgba(255,255,255,.08);
	padding: 1.15rem;
	position: relative;
	overflow: hidden;
	color: #e8fff2;
}

.rmp-hero-panel::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgb(var(--rmp-accent-2-rgb) / 0.07) 1px, transparent 1px),
		linear-gradient(90deg, rgb(var(--rmp-accent-2-rgb) / 0.07) 1px, transparent 1px);
	background-size: 28px 28px;
	mask-image: radial-gradient(circle at 50% 30%, #000, transparent 75%);
}

.rmp-hero-panel::after {
	content: "";
	position: absolute;
	inset: 8% auto auto 18%;
	width: 280px;
	height: 280px;
	border-radius: 999px;
	background: radial-gradient(circle, rgb(var(--rmp-accent-2-rgb) / var(--rmp-hero-panel-glow)), transparent 66%);
	filter: blur(8px);
}

.rmp-panel-topline,
.rmp-pulse-card,
.rmp-molecule {
	position: relative;
	z-index: 1;
}

.rmp-panel-topline {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.9rem 1rem;
	border-radius: 18px;
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.1);
	font-weight: 800;
}

.rmp-panel-topline i {
	font-style: normal;
	font-size: 0.72rem;
	letter-spacing: 0.13em;
	color: var(--rmp-accent-2);
}

.rmp-pulse-card {
	margin: 5rem auto 0;
	width: min(100%, 360px);
	padding: 1.2rem;
	border-radius: 26px;
	background: rgba(4, 18, 14, 0.72);
	border: 1px solid rgb(var(--rmp-accent-2-rgb) / 0.25);
	box-shadow: inset 0 0 38px rgb(var(--rmp-accent-2-rgb) / 0.06);
}

.rmp-pulse-line {
	height: 105px;
	margin-bottom: 1rem;
	background:
		linear-gradient(90deg, transparent 0 7%, var(--rmp-accent-2) 7% 9%, transparent 9% 16%, var(--rmp-accent-2) 16% 18%, transparent 18% 26%, var(--rmp-accent-2) 26% 28%, transparent 28% 37%, var(--rmp-accent-2) 37% 44%, transparent 44% 56%, var(--rmp-accent-2) 56% 58%, transparent 58% 100%),
		linear-gradient(rgb(var(--rmp-accent-2-rgb) / .12) 1px, transparent 1px);
	background-size: 100% 100%, 100% 20px;
	clip-path: polygon(0 57%, 9% 57%, 13% 37%, 18% 72%, 23% 50%, 31% 50%, 36% 28%, 45% 76%, 54% 48%, 62% 48%, 67% 38%, 72% 58%, 100% 58%);
	filter: drop-shadow(0 0 14px rgb(var(--rmp-accent-2-rgb) / .4));
}

.rmp-scan-row {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.72rem 0;
	border-top: 1px solid rgb(var(--rmp-accent-2-rgb) / .16);
	font-size: 0.9rem;
}

.rmp-scan-row span { color: rgba(232,255,242,.78); }
.rmp-scan-row b { color: var(--rmp-accent-2); }

.rmp-molecule {
	position: absolute;
	inset: auto 2rem 2rem auto;
	width: 150px;
	height: 150px;
}

.rmp-molecule::before,
.rmp-molecule::after {
	content: "";
	position: absolute;
	inset: 50% auto auto 50%;
	width: 116px;
	height: 1px;
	background: rgb(var(--rmp-accent-2-rgb) / .38);
	transform-origin: left center;
}

.rmp-molecule::before { transform: rotate(36deg); }
.rmp-molecule::after { transform: rotate(-46deg); }

.rmp-molecule span {
	position: absolute;
	width: 17px;
	height: 17px;
	border-radius: 50%;
	background: var(--rmp-accent-2);
	box-shadow: 0 0 30px rgb(var(--rmp-accent-2-rgb) / .55);
}

.rmp-molecule span:nth-child(1) { left: 10px; top: 24px; }
.rmp-molecule span:nth-child(2) { right: 10px; top: 16px; }
.rmp-molecule span:nth-child(3) { left: 68px; top: 70px; width: 24px; height: 24px; }
.rmp-molecule span:nth-child(4) { left: 25px; bottom: 16px; }
.rmp-molecule span:nth-child(5) { right: 20px; bottom: 30px; }

.rmp-science-bg {
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
}

.rmp-orbit {
	position: absolute;
	border: 1px solid rgb(var(--rmp-accent-rgb) / 0.20);
	border-radius: 50%;
	transform: rotate(-18deg);
}

.rmp-orbit-one {
	width: 580px;
	height: 220px;
	right: 2vw;
	top: 12vh;
}

.rmp-orbit-two {
	width: 760px;
	height: 300px;
	right: -8vw;
	top: 20vh;
}

.rmp-dot {
	position: absolute;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--rmp-accent);
	box-shadow: 0 0 34px rgb(var(--rmp-accent-rgb) / .6);
}

.rmp-dot-one { right: 28vw; top: 18vh; }
.rmp-dot-two { right: 8vw; top: 54vh; }

.rmp-section {
	padding: clamp(3.5rem, 7vw, 7rem) 0;
}

.rmp-two-col,
.rmp-science-grid,
.rmp-contact-panel {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap: clamp(1.5rem, 5vw, 4rem);
	align-items: center;
}

.rmp-about-card,
.rmp-contact-panel,
.rmp-process-card,
.rmp-book-card,
.rmp-post-card,
.rmp-content-wrap {
	border: 1px solid var(--rmp-line);
	background: var(--rmp-panel);
	box-shadow: 0 20px 60px rgba(5, 45, 31, 0.08);
	backdrop-filter: blur(14px);
}

.rmp-about-card {
	border-radius: var(--rmp-radius-xl);
	padding: clamp(1.4rem, 3vw, 2.2rem);
	font-size: 1.08rem;
}

.rmp-check-list {
	list-style: none;
	padding: 0;
	margin: 1.2rem 0 0;
	display: grid;
	gap: 0.65rem;
}

.rmp-check-list li {
	display: flex;
	gap: 0.65rem;
	align-items: center;
	font-weight: 750;
}

.rmp-check-list li::before {
	content: "";
	width: 0.75rem;
	height: 0.75rem;
	border-radius: 50%;
	background: var(--rmp-accent);
	box-shadow: 0 0 0 6px rgb(var(--rmp-accent-rgb) / .12);
}

.rmp-section-heading {
	max-width: 720px;
	margin: 0 auto clamp(2rem, 5vw, 3.4rem);
	text-align: center;
}

.rmp-section-heading.align-left {
	margin-left: 0;
	text-align: left;
}

.rmp-section-heading p:not(.rmp-kicker) {
	color: var(--rmp-muted);
	font-size: 1.08rem;
}

.rmp-book-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.2rem, 3vw, 2rem);
}

.rmp-book-card {
	display: grid;
	grid-template-columns: minmax(150px, 0.42fr) minmax(0, 0.58fr);
	gap: clamp(1rem, 2vw, 1.5rem);
	border-radius: var(--rmp-radius-xl);
	padding: clamp(1rem, 2vw, 1.4rem);
	position: relative;
	overflow: hidden;
}

.rmp-book-card::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgb(var(--rmp-accent-rgb) / .10), transparent 42%);
	pointer-events: none;
}

.rmp-book-cover {
	position: relative;
	z-index: 1;
	display: block;
	min-height: 280px;
	border-radius: 22px;
	overflow: hidden;
	background:
		linear-gradient(145deg, rgb(var(--rmp-accent-rgb) / .96), var(--rmp-dark)),
		var(--rmp-accent);
	box-shadow: 0 24px 60px rgb(var(--rmp-accent-rgb) / .18);
	text-decoration: none;
}

.rmp-book-cover img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	min-height: 280px;
	background: #fff;
}

.rmp-book-cover .rmp-content-cover-image {
	padding: 0;
}

.rmp-cover-placeholder {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 280px;
	padding: 1.2rem;
	color: white;
	background:
		linear-gradient(135deg, rgba(255,255,255,.16), transparent 28%),
		radial-gradient(circle at 78% 18%, rgb(var(--rmp-accent-2-rgb) / .45), transparent 34%),
		linear-gradient(155deg, var(--rmp-accent), var(--rmp-dark));
}

.rmp-cover-placeholder::before {
	content: "RMP";
	font-size: 0.75rem;
	letter-spacing: 0.2em;
	font-weight: 900;
	opacity: 0.9;
}

.rmp-cover-placeholder b {
	font-size: clamp(1.4rem, 2vw, 2rem);
	line-height: 0.96;
	letter-spacing: -0.07em;
}

.rmp-cover-placeholder em {
	font-style: normal;
	font-size: 0.86rem;
	opacity: 0.76;
}

.rmp-book-content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: 0.35rem 0.2rem;
}

.rmp-badge {
	display: inline-flex;
	align-items: center;
	padding: 0.4rem 0.7rem;
	border-radius: 999px;
	background: rgb(var(--rmp-accent-rgb) / 0.12);
	color: var(--rmp-accent);
	font-size: 0.75rem;
	font-weight: 900;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	margin-bottom: 0.9rem;
}

.rmp-book-content h3 a,
.rmp-post-card h2 a { text-decoration: none; }

.rmp-book-subtitle,
.rmp-book-author,
.rmp-post-meta {
	color: var(--rmp-muted);
	font-weight: 750;
}

.rmp-book-author {
	margin-top: -0.55rem;
	font-size: 0.95rem;
}

.rmp-book-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0.4rem 0 1rem;
}

.rmp-book-meta span,
.rmp-detail-meta span {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.42rem 0.62rem;
	border-radius: 999px;
	background: rgba(255,255,255,.74);
	border: 1px solid var(--rmp-line);
	font-size: 0.78rem;
	font-weight: 800;
	color: var(--rmp-muted);
}

.rmp-card-actions {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
	margin-top: auto;
}

.rmp-text-link {
	font-weight: 900;
	color: var(--rmp-accent);
}

.rmp-book-content,
.rmp-book-detail {
	min-width: 0;
}

.rmp-book-content h3,
.rmp-book-content p,
.rmp-book-meta,
.rmp-entry-content,
.rmp-entry-content a {
	overflow-wrap: anywhere;
}

.rmp-card-actions {
	gap: 0.55rem;
}

.rmp-card-actions .rmp-text-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 0.4rem 0.7rem;
	border-radius: 999px;
	background: rgba(255,255,255,.78);
	border: 1px solid rgb(var(--rmp-grid-rgb) / 0.14);
	text-decoration: none;
	font-size: 0.86rem;
	line-height: 1;
}

.rmp-card-actions .rmp-order-link {
	background: var(--rmp-accent);
	border-color: var(--rmp-accent);
	color: white;
	box-shadow: 0 12px 28px rgb(var(--rmp-accent-rgb) / .18);
}

.rmp-science {
	background:
		linear-gradient(180deg, rgb(var(--rmp-accent-3-rgb) / 0), rgb(var(--rmp-accent-3-rgb) / 0.74), rgb(var(--rmp-accent-3-rgb) / 0));
}

.rmp-process {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.rmp-process-card {
	border-radius: var(--rmp-radius-lg);
	padding: 1.3rem;
	position: relative;
	overflow: hidden;
}

.rmp-process-card::after {
	content: "";
	position: absolute;
	right: -36px;
	top: -36px;
	width: 100px;
	height: 100px;
	border-radius: 50%;
	border: 1px solid rgb(var(--rmp-accent-rgb) / .18);
	box-shadow: inset 0 0 0 18px rgb(var(--rmp-accent-rgb) / .04);
}

.rmp-process-card span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 15px;
	background: var(--rmp-accent);
	color: white;
	font-weight: 950;
	box-shadow: 0 14px 34px rgb(var(--rmp-accent-rgb) / .24);
}

.rmp-process-card h3 {
	margin-top: 1.1rem;
	font-size: 1.2rem;
}

.rmp-process-card p { color: var(--rmp-muted); margin-bottom: 0; }

.rmp-contact-panel {
	border-radius: var(--rmp-radius-xl);
	padding: clamp(1.4rem, 4vw, 3rem);
	background:
		linear-gradient(135deg, rgb(var(--rmp-accent-rgb) / .12), rgba(255,255,255,.88)),
		var(--rmp-panel);
}

.rmp-contact-panel p { color: var(--rmp-muted); max-width: 42rem; }
.rmp-contact-panel .rmp-button { justify-self: end; }

.rmp-footer {
	padding: 2rem 0;
	border-top: 1px solid var(--rmp-line);
	background: rgba(255,255,255,.6);
}

.rmp-footer-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1.5rem;
}

.rmp-footer p {
	margin: 0.2rem 0 0;
	color: var(--rmp-muted);
}

.rmp-top-link {
	font-weight: 850;
	color: var(--rmp-accent);
}

.rmp-content-section {
	padding-top: clamp(3rem, 6vw, 6rem);
}

.rmp-content-wrap {
	border-radius: var(--rmp-radius-xl);
	padding: clamp(1.3rem, 4vw, 3rem);
}

.rmp-entry-header {
	max-width: 820px;
	margin-bottom: 2rem;
}

.rmp-entry-content {
	font-size: 1.05rem;
}

.rmp-entry-content > * {
	max-width: 760px;
}

.rmp-entry-content > .alignwide {
	max-width: 1040px;
}

.rmp-entry-content > .alignfull {
	max-width: none;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.rmp-featured-image img {
	border-radius: var(--rmp-radius-lg);
	margin-bottom: 2rem;
}

.rmp-post-list {
	display: grid;
	gap: 1rem;
}

.rmp-post-card {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: 1.2rem;
	border-radius: var(--rmp-radius-lg);
	padding: 1rem;
}

.rmp-post-thumb img {
	width: 100%;
	height: 160px;
	object-fit: cover;
	border-radius: 18px;
}

.rmp-single-book {
	padding-top: clamp(3.5rem, 7vw, 7rem);
}

.rmp-single-book-grid {
	display: grid;
	grid-template-columns: minmax(240px, 0.38fr) minmax(0, 0.62fr);
	gap: clamp(1.4rem, 5vw, 4rem);
	align-items: start;
}

.rmp-single-cover {
	position: sticky;
	top: 110px;
}

.rmp-single-cover img,
.rmp-single-cover .rmp-cover-placeholder {
	width: 100%;
	border-radius: var(--rmp-radius-xl);
	box-shadow: var(--rmp-shadow);
}

.rmp-single-cover img {
	display: block;
	height: auto;
	background: #fff;
}

.rmp-book-detail {
	border-radius: var(--rmp-radius-xl);
	padding: clamp(1.4rem, 4vw, 3rem);
	background: var(--rmp-panel);
	border: 1px solid var(--rmp-line);
	box-shadow: 0 20px 60px rgba(5, 45, 31, 0.08);
}

.rmp-detail-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin: 1.3rem 0;
}

.rmp-detail-meta span {
	flex-direction: column;
	align-items: flex-start;
	border-radius: 18px;
	padding: 0.72rem 0.9rem;
	min-width: 110px;
}

.rmp-detail-meta b {
	color: var(--rmp-ink);
	font-size: 0.72rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.rmp-search-form {
	display: flex;
	gap: 0.6rem;
	align-items: center;
	margin: 1rem 0;
}

.rmp-search-form label { flex: 1; }
.rmp-search-form input {
	width: 100%;
	min-height: 46px;
	border: 1px solid var(--rmp-line);
	border-radius: 999px;
	padding: 0 1rem;
	background: rgba(255,255,255,.8);
	font: inherit;
}

.rmp-search-form button {
	min-height: 46px;
	border: 0;
	border-radius: 999px;
	padding: 0 1rem;
	background: var(--rmp-accent);
	color: white;
	font-weight: 850;
	cursor: pointer;
}

.wp-block-button__link {
	border-radius: 999px;
	background: var(--rmp-accent);
}

.wp-block-quote {
	border-left: 4px solid var(--rmp-accent);
	padding-left: 1.2rem;
	color: var(--rmp-muted);
}

@media (max-width: 980px) {
	.rmp-hero-grid,
	.rmp-two-col,
	.rmp-science-grid,
	.rmp-contact-panel,
	.rmp-single-book-grid {
		grid-template-columns: 1fr;
	}

	.rmp-hero-panel { min-height: 440px; }
	.rmp-book-grid { grid-template-columns: 1fr; }
	.rmp-contact-panel .rmp-button { justify-self: start; }
	.rmp-single-cover { position: static; max-width: 420px; }
}

@media (max-width: 760px) {
	.rmp-shell { width: min(calc(100% - 28px), var(--rmp-shell)); }
	.rmp-header-inner { min-height: 72px; }
	.rmp-brand-text small { display: none; }
	.rmp-menu-toggle { display: block; }
	.rmp-nav {
		position: absolute;
		left: 14px;
		right: 14px;
		top: calc(100% + 8px);
		display: none;
		padding: 0.75rem;
		border-radius: 22px;
		background: rgba(255,255,255,.96);
		border: 1px solid var(--rmp-line);
		box-shadow: var(--rmp-shadow);
	}
	.rmp-nav.is-open { display: block; }
	.rmp-menu { flex-direction: column; align-items: stretch; }
	.rmp-menu a { justify-content: flex-start; }
	.rmp-metrics { grid-template-columns: 1fr; }
	.rmp-process { grid-template-columns: 1fr; }
	.rmp-book-card { grid-template-columns: 1fr; }
	.rmp-book-cover, .rmp-book-cover img, .rmp-cover-placeholder { min-height: 240px; }
	.rmp-post-card { grid-template-columns: 1fr; }
	.rmp-hero { padding-top: 3rem; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		scroll-behavior: auto !important;
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
	}
}

/* RMP 1.1 configurable features + smart search */
.rmp-header-tools {
	display: flex;
	align-items: center;
	gap: 0.72rem;
}

.rmp-nav {
	margin-left: auto;
}

.rmp-header-search {
	width: clamp(190px, 18vw, 260px);
	transition: width 180ms ease;
}

.rmp-header-search:focus-within {
	width: clamp(230px, 24vw, 340px);
}

.rmp-nav-search {
	display: none;
	padding-top: 0.75rem;
}

.rmp-search-form {
	margin: 1rem 0;
}

.rmp-search-shell {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	width: 100%;
	min-height: 46px;
	padding: 0.28rem;
	border: 1px solid rgb(var(--rmp-accent-rgb) / 0.18);
	border-radius: 999px;
	background:
		linear-gradient(135deg, rgba(255,255,255,.90), rgb(var(--rmp-accent-3-rgb) / .78)),
		rgba(255,255,255,.82);
	box-shadow: 0 14px 36px rgba(5, 45, 31, 0.08), inset 0 0 0 1px rgba(255,255,255,.62);
	backdrop-filter: blur(16px);
	transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.rmp-search-shell:focus-within {
	border-color: rgb(var(--rmp-accent-rgb) / 0.58);
	box-shadow: 0 18px 46px rgb(var(--rmp-accent-rgb) / 0.14), 0 0 0 4px rgb(var(--rmp-accent-rgb) / .10), inset 0 0 0 1px rgba(255,255,255,.75);
	background: rgba(255,255,255,.96);
}

.rmp-search-icon {
	display: inline-grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 999px;
	background: rgb(var(--rmp-accent-rgb) / 0.10);
	color: var(--rmp-accent);
	flex: 0 0 auto;
}

.rmp-search-icon svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}

.rmp-search-form label {
	flex: 1;
	min-width: 0;
}

.rmp-search-form .search-field,
.rmp-search-form input[type="search"] {
	width: 100%;
	min-height: 38px;
	border: 0;
	border-radius: 0;
	padding: 0 0.2rem;
	background: transparent;
	font: inherit;
	font-size: 0.92rem;
	font-weight: 680;
	color: var(--rmp-ink);
	outline: none;
}

.rmp-search-form input[type="search"]::placeholder {
	color: var(--rmp-muted);
	color: color-mix(in srgb, var(--rmp-muted) 86%, transparent);
}

.rmp-search-form button {
	min-height: 36px;
	border: 0;
	border-radius: 999px;
	padding: 0 0.82rem;
	background: var(--rmp-accent);
	background: linear-gradient(135deg, color-mix(in srgb, var(--rmp-accent) 82%, var(--rmp-dark)), var(--rmp-accent));
	color: white;
	font-weight: 900;
	font-size: 0.78rem;
	letter-spacing: 0.02em;
	cursor: pointer;
	box-shadow: 0 10px 24px rgb(var(--rmp-accent-rgb) / .22);
}

.rmp-search-form button:hover {
	box-shadow: 0 14px 30px rgb(var(--rmp-accent-rgb) / .28);
}

.rmp-search-scope {
	margin: 0.42rem 0 0 0.2rem;
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--rmp-accent);
}

.rmp-header-search .rmp-search-form {
	margin: 0;
}

.rmp-header-search .rmp-search-shell {
	min-height: 42px;
	padding: 0.22rem;
	box-shadow: 0 10px 28px rgba(5,45,31,.07);
}

.rmp-header-search .rmp-search-icon {
	width: 31px;
	height: 31px;
}

.rmp-header-search .rmp-search-form button {
	min-height: 32px;
	padding: 0 0.7rem;
}

.rmp-header-search .rmp-search-scope {
	display: none;
}

.rmp-search-results-header .rmp-search-form {
	max-width: 680px;
	margin-top: 1.2rem;
}

.rmp-search-results-header > p:not(.rmp-kicker) {
	color: var(--rmp-muted);
	font-weight: 750;
}

.rmp-search-card {
	position: relative;
	overflow: hidden;
}

.rmp-search-card::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgb(var(--rmp-accent-rgb) / .08), transparent 44%);
	pointer-events: none;
}

.rmp-search-card > * {
	position: relative;
	z-index: 1;
}

.rmp-empty-search {
	padding: clamp(1.4rem, 4vw, 2.4rem);
	border: 1px dashed rgb(var(--rmp-accent-rgb) / 0.22);
	border-radius: var(--rmp-radius-lg);
	background: rgba(255,255,255,.62);
}

.rmp-empty-search p {
	color: var(--rmp-muted);
}

.rmp-hero-grid-no-panel {
	grid-template-columns: minmax(0, 0.9fr);
}

.rmp-hero-grid-no-panel .rmp-hero-copy {
	max-width: 920px;
}

.rmp-actions:empty {
	display: none;
}

.rmp-book-grid-count-1 {
	grid-template-columns: minmax(0, 820px);
	justify-content: center;
}

.rmp-density-calm::before,
.rmp-density-calm::after,
.rmp-no-science-bg::before,
.rmp-no-science-bg::after {
	display: none;
}

.rmp-density-calm .rmp-orbit,
.rmp-density-calm .rmp-dot,
.rmp-density-calm .rmp-molecule {
	opacity: 0.35;
}

.rmp-density-calm .rmp-hero-panel {
	box-shadow: 0 22px 58px rgba(5,45,31,.11);
}

.rmp-density-high-tech::before {
	background-size: 36px 36px;
	background-image:
		linear-gradient(rgb(var(--rmp-grid-rgb) / calc(var(--rmp-grid-opacity) + 0.035)) 1px, transparent 1px),
		linear-gradient(90deg, rgb(var(--rmp-grid-rgb) / calc(var(--rmp-grid-opacity) + 0.035)) 1px, transparent 1px);
}

.rmp-density-high-tech .rmp-hero-panel {
	box-shadow: var(--rmp-shadow), 0 0 80px rgb(var(--rmp-accent-rgb) / .16), inset 0 0 0 1px rgba(255,255,255,.10);
}

.rmp-density-high-tech .rmp-book-card,
.rmp-density-high-tech .rmp-process-card,
.rmp-density-high-tech .rmp-about-card,
.rmp-density-high-tech .rmp-contact-panel {
	box-shadow: 0 26px 70px rgba(5,45,31,.11), inset 0 0 0 1px rgba(255,255,255,.55);
}

@media (max-width: 1120px) {
	.rmp-header-search {
		width: 210px;
	}
	.rmp-header-search:focus-within {
		width: 260px;
	}
	.rmp-menu a {
		padding-inline: 0.72rem;
	}
}

@media (max-width: 900px) {
	.rmp-header-search {
		display: none;
	}
	.rmp-nav-search {
		display: block;
	}
	.rmp-nav-search .rmp-search-form {
		margin: 0.35rem 0 0;
	}
	.rmp-nav-search .rmp-search-scope {
		padding-left: 0.25rem;
	}
}

@media (max-width: 760px) {
	.rmp-header-tools {
		margin-left: auto;
	}
	.rmp-search-form button span {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}
	.rmp-search-form button::before {
		content: "↵";
		font-size: 1rem;
		line-height: 1;
	}
	.rmp-book-grid-count-1 {
		grid-template-columns: 1fr;
	}
}


/* RMP 1.5 image fit + shape controls */
.rmp-button,
.wp-block-button__link {
	border-radius: var(--rmp-radius-button);
}

.rmp-menu a,
.rmp-badge,
.rmp-book-meta span,
.rmp-detail-meta span,
.rmp-card-actions .rmp-text-link,
.rmp-top-link,
.rmp-kicker::before,
.rmp-dot,
.rmp-molecule span {
	border-radius: var(--rmp-radius-pill);
}

.rmp-hero-panel,
.rmp-contact-panel,
.rmp-content-wrap,
.rmp-book-detail {
	border-radius: var(--rmp-radius-panel);
}

.rmp-about-card,
.rmp-process-card,
.rmp-book-card,
.rmp-post-card,
.rmp-search-card,
.rmp-empty-search,
.rmp-metrics div {
	border-radius: var(--rmp-radius-card);
}

.rmp-book-cover,
.rmp-book-cover img,
.rmp-book-cover .rmp-cover-placeholder,
.rmp-single-cover img,
.rmp-single-cover .rmp-cover-placeholder,
.rmp-post-thumb,
.rmp-post-thumb img,
.rmp-featured-image img,
.rmp-logo-mark,
.rmp-logo-mark::after,
.rmp-menu-toggle,
.rmp-nav {
	border-radius: var(--rmp-radius-cover);
}

.rmp-search-shell,
.rmp-search-form input,
.rmp-search-form input[type="search"],
.rmp-search-form button,
.rmp-search-icon {
	border-radius: var(--rmp-radius-search);
}

.rmp-book-cover,
.rmp-post-thumb.rmp-search-book-thumb {
	display: flex;
	align-items: stretch;
	justify-content: center;
	min-height: 0;
	background: linear-gradient(145deg, rgba(255,255,255,.88), rgb(var(--rmp-accent-3-rgb) / .82));
}

.rmp-book-cover img,
.rmp-post-thumb.rmp-search-book-thumb img,
.rmp-book-cover .rmp-cover-placeholder,
.rmp-post-thumb.rmp-search-book-thumb .rmp-cover-placeholder {
	width: 100%;
	height: 100%;
	min-height: 0;
}

.rmp-book-cover img,
.rmp-post-thumb.rmp-search-book-thumb img,
.rmp-single-cover img {
	object-position: var(--rmp-cover-object-position);
}

.rmp-book-cover.rmp-cover-ratio-tall,
.rmp-post-thumb.rmp-search-book-thumb.rmp-cover-ratio-tall { aspect-ratio: 5 / 8; }
.rmp-book-cover.rmp-cover-ratio-book,
.rmp-post-thumb.rmp-search-book-thumb.rmp-cover-ratio-book { aspect-ratio: 2 / 3; }
.rmp-book-cover.rmp-cover-ratio-portrait,
.rmp-post-thumb.rmp-search-book-thumb.rmp-cover-ratio-portrait { aspect-ratio: 3 / 4; }
.rmp-book-cover.rmp-cover-ratio-square,
.rmp-post-thumb.rmp-search-book-thumb.rmp-cover-ratio-square { aspect-ratio: 1 / 1; }
.rmp-book-cover.rmp-cover-ratio-wide,
.rmp-post-thumb.rmp-search-book-thumb.rmp-cover-ratio-wide { aspect-ratio: 16 / 10; }

.rmp-book-cover.rmp-cover-ratio-natural,
.rmp-post-thumb.rmp-search-book-thumb.rmp-cover-ratio-natural {
	aspect-ratio: auto;
	min-height: 0;
}

.rmp-book-cover.rmp-cover-ratio-natural img,
.rmp-post-thumb.rmp-search-book-thumb.rmp-cover-ratio-natural img {
	height: auto;
	min-height: 0;
}

.rmp-book-cover.rmp-cover-fit-contain img,
.rmp-book-cover.rmp-cover-fit-scale-down img,
.rmp-post-thumb.rmp-search-book-thumb.rmp-cover-fit-contain img,
.rmp-post-thumb.rmp-search-book-thumb.rmp-cover-fit-scale-down img {
	background: #fff;
}

.rmp-book-cover.rmp-cover-fit-contain img,
.rmp-post-thumb.rmp-search-book-thumb.rmp-cover-fit-contain img { object-fit: contain; }
.rmp-book-cover.rmp-cover-fit-cover img,
.rmp-post-thumb.rmp-search-book-thumb.rmp-cover-fit-cover img { object-fit: cover; }
.rmp-book-cover.rmp-cover-fit-scale-down img,
.rmp-post-thumb.rmp-search-book-thumb.rmp-cover-fit-scale-down img { object-fit: scale-down; }

.rmp-book-cover.rmp-cover-fit-auto.rmp-cover-ratio-wide img,
.rmp-book-cover.rmp-cover-fit-auto.rmp-cover-ratio-square img,
.rmp-post-thumb.rmp-search-book-thumb.rmp-cover-fit-auto.rmp-cover-ratio-wide img,
.rmp-post-thumb.rmp-search-book-thumb.rmp-cover-fit-auto.rmp-cover-ratio-square img { object-fit: cover; }

.rmp-book-cover.rmp-cover-fit-auto.rmp-cover-ratio-tall img,
.rmp-book-cover.rmp-cover-fit-auto.rmp-cover-ratio-book img,
.rmp-book-cover.rmp-cover-fit-auto.rmp-cover-ratio-portrait img,
.rmp-post-thumb.rmp-search-book-thumb.rmp-cover-fit-auto.rmp-cover-ratio-tall img,
.rmp-post-thumb.rmp-search-book-thumb.rmp-cover-fit-auto.rmp-cover-ratio-book img,
.rmp-post-thumb.rmp-search-book-thumb.rmp-cover-fit-auto.rmp-cover-ratio-portrait img { object-fit: contain; }

.rmp-single-cover.rmp-cover-fit-cover img,
.rmp-single-cover.rmp-cover-fit-auto.rmp-cover-ratio-wide img,
.rmp-single-cover.rmp-cover-fit-auto.rmp-cover-ratio-square img {
	aspect-ratio: 2 / 3;
	height: auto;
	object-fit: cover;
}

.rmp-single-cover.rmp-cover-ratio-wide.rmp-cover-fit-cover img,
.rmp-single-cover.rmp-cover-ratio-wide.rmp-cover-fit-auto img { aspect-ratio: 16 / 10; }
.rmp-single-cover.rmp-cover-ratio-square.rmp-cover-fit-cover img,
.rmp-single-cover.rmp-cover-ratio-square.rmp-cover-fit-auto img { aspect-ratio: 1 / 1; }
.rmp-single-cover.rmp-cover-ratio-portrait.rmp-cover-fit-cover img { aspect-ratio: 3 / 4; }
.rmp-single-cover.rmp-cover-ratio-tall.rmp-cover-fit-cover img { aspect-ratio: 5 / 8; }

.rmp-single-cover.rmp-cover-fit-contain img,
.rmp-single-cover.rmp-cover-fit-scale-down img,
.rmp-single-cover.rmp-cover-fit-auto.rmp-cover-ratio-book img,
.rmp-single-cover.rmp-cover-fit-auto.rmp-cover-ratio-portrait img,
.rmp-single-cover.rmp-cover-fit-auto.rmp-cover-ratio-tall img {
	object-fit: contain;
}

@media (max-width: 760px) {
	.rmp-book-cover,
	.rmp-book-cover img,
	.rmp-cover-placeholder {
		min-height: 0;
	}
}

/* RMP 1.6 typography, scale, and layout controls */
body.rmp-theme {
	font-family: var(--rmp-font-body);
	font-size: var(--rmp-base-font-size);
	line-height: var(--rmp-body-line-height);
}

body.rmp-theme h1,
body.rmp-theme h2,
body.rmp-theme h3,
body.rmp-theme h4 {
	font-family: var(--rmp-font-heading);
	font-weight: var(--rmp-heading-weight);
	letter-spacing: var(--rmp-heading-tracking);
	text-transform: var(--rmp-heading-transform);
}

body.rmp-theme .rmp-shell {
	width: min(calc(100% - 40px), var(--rmp-shell));
}

body.rmp-theme .rmp-header-inner {
	min-height: var(--rmp-header-height);
}

body.rmp-theme .rmp-brand-text strong {
	font-size: var(--rmp-brand-font-size);
}

body.rmp-theme .rmp-menu a {
	font-size: var(--rmp-nav-font-size);
}

body.rmp-theme .rmp-hero h1 {
	font-size: clamp(calc(var(--rmp-hero-title-size) * 0.45), 7vw, var(--rmp-hero-title-size));
}

body.rmp-theme .rmp-section-heading h1,
body.rmp-theme .rmp-content-wrap > .rmp-entry-header h1 {
	font-size: clamp(calc(var(--rmp-section-title-size) * 0.56), 5vw, var(--rmp-section-title-size));
}

body.rmp-theme .rmp-section-heading h2,
body.rmp-theme .rmp-about h2,
body.rmp-theme .rmp-science h2,
body.rmp-theme .rmp-contact h2 {
	font-size: clamp(calc(var(--rmp-section-title-size) * 0.50), 4.2vw, var(--rmp-section-title-size));
}

body.rmp-theme .rmp-book-detail h1 {
	font-size: clamp(calc(var(--rmp-single-title-size) * 0.50), 5.5vw, var(--rmp-single-title-size));
	max-width: var(--rmp-single-title-measure);
}

body.rmp-theme .rmp-book-content h3,
body.rmp-theme .rmp-search-card h2,
body.rmp-theme .rmp-process-card h3 {
	font-size: var(--rmp-book-card-title-size);
}

body.rmp-theme .rmp-lead {
	font-size: var(--rmp-lead-font-size);
}

body.rmp-theme .rmp-section-heading p:not(.rmp-kicker),
body.rmp-theme .rmp-book-content > p,
body.rmp-theme .rmp-about-card,
body.rmp-theme .rmp-process-card p,
body.rmp-theme .rmp-contact-panel p,
body.rmp-theme .rmp-entry-content,
body.rmp-theme .rmp-entry-content p,
body.rmp-theme .rmp-empty-search p {
	font-size: var(--rmp-body-text-size);
}

body.rmp-theme .rmp-kicker,
body.rmp-theme .rmp-badge,
body.rmp-theme .rmp-book-meta span,
body.rmp-theme .rmp-detail-meta span,
body.rmp-theme .rmp-search-scope {
	font-size: var(--rmp-badge-font-size);
}

body.rmp-theme .rmp-button,
body.rmp-theme .rmp-card-actions .rmp-text-link,
body.rmp-theme .wp-block-button__link,
body.rmp-theme .rmp-search-form button {
	font-size: var(--rmp-button-font-size);
}

body.rmp-theme .rmp-search-form .search-field,
body.rmp-theme .rmp-search-form input[type="search"] {
	font-size: var(--rmp-search-font-size);
}

@media (max-width: 760px) {
	body.rmp-theme .rmp-shell {
		width: min(calc(100% - 28px), var(--rmp-shell));
	}
}

/* RMP 1.8 clean PDF preview system */
.rmp-pdf-preview {
	margin-top: clamp(2rem, 5vw, 3rem);
	padding-top: clamp(1.4rem, 3vw, 2rem);
	border-top: 1px solid var(--rmp-line);
}

.rmp-pdf-header {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

.rmp-pdf-header h2,
.rmp-pdf-modal-header h2 {
	font-size: clamp(1.4rem, 2.4vw, 2.1rem);
	margin-bottom: 0;
}

.rmp-pdf-frame-wrap {
	position: relative;
	height: var(--rmp-pdf-height);
	min-height: 260px;
	overflow: hidden;
	border-radius: var(--rmp-radius-panel);
	border: 1px solid var(--rmp-line);
	background:
		linear-gradient(135deg, rgb(var(--rmp-accent-rgb) / 0.08), transparent 35%),
		#ffffff;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.58), 0 18px 48px rgba(5, 45, 31, 0.09);
}

.rmp-pdf-frame {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	background: #fff;
}

.rmp-pdf-fallback {
	margin: 0.85rem 0 0;
	font-size: 0.9rem;
	color: var(--rmp-muted);
}

.rmp-pdf-fallback a {
	font-weight: 850;
	color: var(--rmp-accent);
}

html.rmp-pdf-modal-open,
html.rmp-pdf-modal-open body {
	overflow: hidden;
}

.rmp-pdf-modal[hidden] {
	display: none;
}

.rmp-pdf-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: grid;
	place-items: center;
	padding: 1rem;
}

.rmp-pdf-modal-backdrop {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 50% 20%, rgb(var(--rmp-accent-rgb) / 0.22), transparent 30rem),
		rgba(5, 22, 17, 0.72);
	backdrop-filter: blur(14px);
}

.rmp-pdf-modal-panel {
	position: relative;
	z-index: 1;
	width: min(1120px, calc(100vw - 2rem));
	max-height: calc(100vh - 2rem);
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: clamp(1rem, 2vw, 1.3rem);
	border-radius: var(--rmp-radius-panel);
	border: 1px solid rgb(var(--rmp-accent-2-rgb) / 0.22);
	background:
		linear-gradient(135deg, rgb(var(--rmp-accent-3-rgb) / 0.95), rgba(255,255,255,.96)),
		var(--rmp-panel);
	box-shadow: 0 40px 120px rgba(0, 0, 0, 0.34);
}

.rmp-pdf-modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.rmp-pdf-modal-actions {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	flex-shrink: 0;
}

.rmp-pdf-close {
	width: 44px;
	height: 44px;
	border: 1px solid var(--rmp-line);
	border-radius: var(--rmp-radius-button);
	background: rgba(255,255,255,.86);
	color: var(--rmp-ink);
	font-size: 1.5rem;
	font-weight: 650;
	line-height: 1;
	cursor: pointer;
}

.rmp-pdf-close:hover,
.rmp-pdf-close:focus-visible {
	color: #fff;
	background: var(--rmp-accent);
}

.rmp-pdf-modal .rmp-pdf-frame-wrap {
	height: min(var(--rmp-pdf-height), calc(100vh - 178px));
	border-radius: calc(var(--rmp-radius-panel) - 10px);
}

@media (max-width: 760px) {
	.rmp-pdf-header,
	.rmp-pdf-modal-header {
		align-items: flex-start;
		flex-direction: column;
	}

	.rmp-pdf-frame-wrap {
		height: var(--rmp-pdf-mobile-height);
	}

	.rmp-pdf-modal {
		padding: 0.55rem;
	}

	.rmp-pdf-modal-panel {
		width: calc(100vw - 1.1rem);
		max-height: calc(100vh - 1.1rem);
		gap: 0.75rem;
	}

	.rmp-pdf-modal-actions {
		width: 100%;
		justify-content: space-between;
	}

	.rmp-pdf-modal .rmp-pdf-frame-wrap {
		height: min(var(--rmp-pdf-mobile-height), calc(100vh - 190px));
	}
}

/* RMP 2.0 layout, frame, and width controls */
body.rmp-theme .rmp-shell {
	width: min(calc(100% - (var(--rmp-page-gutter) * 2)), var(--rmp-shell));
}

body.rmp-layout-wide .rmp-shell {
	width: min(calc(100% - (var(--rmp-page-gutter) * 2)), max(var(--rmp-shell), 1360px));
}

body.rmp-layout-stretched .rmp-shell {
	width: calc(100% - (var(--rmp-page-gutter) * 2));
	max-width: none;
}

body.rmp-layout-boxed .rmp-site-header,
body.rmp-layout-boxed .rmp-site-main,
body.rmp-layout-boxed .rmp-footer {
	max-width: var(--rmp-boxed-width);
	margin-inline: auto;
}

body.rmp-layout-boxed .rmp-site-main {
	background:
		radial-gradient(circle at 8% 8%, rgb(var(--rmp-accent-2-rgb) / calc(var(--rmp-glow-primary) * 0.7)), transparent 28rem),
		radial-gradient(circle at 92% 28%, rgb(var(--rmp-accent-rgb) / calc(var(--rmp-glow-secondary) * 0.85)), transparent 30rem),
		linear-gradient(180deg, var(--rmp-bg-start), var(--rmp-bg) 42%, var(--rmp-bg-end));
	border-inline: 1px solid rgb(var(--rmp-accent-rgb) / 0.10);
	box-shadow: 0 40px 120px rgba(5, 45, 31, 0.10);
	overflow: hidden;
}

body.rmp-header-width-wide .rmp-site-header .rmp-header-inner {
	width: min(calc(100% - (var(--rmp-page-gutter) * 2)), max(var(--rmp-shell), 1360px));
}

body.rmp-header-width-full .rmp-site-header .rmp-header-inner {
	width: calc(100% - (var(--rmp-page-gutter) * 2));
	max-width: none;
}

body.rmp-header-static .rmp-site-header {
	position: relative;
	top: auto;
}

body.rmp-header-floating .rmp-site-header {
	top: var(--rmp-page-gutter);
	width: min(calc(100% - (var(--rmp-page-gutter) * 2)), var(--rmp-boxed-width));
	margin: var(--rmp-page-gutter) auto 0;
	border: 1px solid rgb(var(--rmp-accent-rgb) / 0.15);
	border-radius: var(--rmp-radius-panel);
	box-shadow: 0 18px 56px rgba(5, 45, 31, 0.11), inset 0 0 0 1px rgba(255,255,255,.58);
	overflow: clip;
}

body.rmp-header-floating .rmp-site-main {
	margin-top: calc(var(--rmp-page-gutter) * -1);
}

body.rmp-spacing-compact .rmp-hero {
	padding: clamp(3rem, 6vw, 5.5rem) 0 clamp(2.3rem, 4.5vw, 4rem);
}

body.rmp-spacing-compact .rmp-section,
body.rmp-spacing-compact .rmp-single-book {
	padding-block: clamp(2.4rem, 5vw, 4.5rem);
}

body.rmp-spacing-compact .rmp-book-grid,
body.rmp-spacing-compact .rmp-process {
	gap: clamp(0.85rem, 2vw, 1.25rem);
}

body.rmp-spacing-compact .rmp-about-card,
body.rmp-spacing-compact .rmp-contact-panel,
body.rmp-spacing-compact .rmp-book-detail,
body.rmp-spacing-compact .rmp-content-wrap {
	padding: clamp(1rem, 2.5vw, 1.8rem);
}

body.rmp-spacing-airy .rmp-hero {
	padding: clamp(5.5rem, 10vw, 10rem) 0 clamp(4.5rem, 8vw, 8rem);
}

body.rmp-spacing-airy .rmp-section,
body.rmp-spacing-airy .rmp-single-book {
	padding-block: clamp(5rem, 9vw, 9rem);
}

body.rmp-spacing-airy .rmp-book-grid,
body.rmp-spacing-airy .rmp-process {
	gap: clamp(1.5rem, 4vw, 3rem);
}

body.rmp-spacing-airy .rmp-about-card,
body.rmp-spacing-airy .rmp-contact-panel,
body.rmp-spacing-airy .rmp-book-detail,
body.rmp-spacing-airy .rmp-content-wrap {
	padding: clamp(1.7rem, 4.8vw, 3.6rem);
}

body.rmp-book-grid-layout-auto .rmp-book-grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--rmp-book-card-min)), 1fr));
}

body.rmp-book-grid-layout-single .rmp-book-grid,
body.rmp-book-grid-layout-single .rmp-book-grid-count-1 {
	grid-template-columns: minmax(0, min(920px, 100%));
	justify-content: center;
}

body.rmp-layout-stretched.rmp-book-grid-layout-two .rmp-book-grid,
body.rmp-layout-wide.rmp-book-grid-layout-two .rmp-book-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.rmp-theme .rmp-single-book-grid {
	grid-template-columns: minmax(var(--rmp-single-cover-min), min(var(--rmp-single-cover-width), 34%)) minmax(0, 1fr);
	gap: var(--rmp-single-gap);
}

body.single-rmp_book.rmp-single-balance-info-focus .rmp-single-book-grid {
	grid-template-columns: minmax(var(--rmp-single-cover-min), min(var(--rmp-single-cover-width), 26%)) minmax(0, 1fr);
}

body.single-rmp_book.rmp-single-balance-balanced .rmp-single-book-grid {
	grid-template-columns: minmax(var(--rmp-single-cover-min), min(var(--rmp-single-cover-width), 34%)) minmax(0, 1fr);
}

body.single-rmp_book.rmp-single-balance-cover-forward .rmp-single-book-grid {
	grid-template-columns: minmax(var(--rmp-single-cover-min), min(var(--rmp-single-cover-width), 42%)) minmax(0, 1fr);
}

body.single-rmp_book.rmp-single-balance-custom .rmp-single-book-grid {
	grid-template-columns: minmax(var(--rmp-single-cover-min), min(var(--rmp-single-cover-width), var(--rmp-single-cover-share))) minmax(0, 1fr);
}

body.single-rmp_book.rmp-single-layout-cover-right .rmp-single-cover {
	order: 2;
}

body.single-rmp_book.rmp-single-layout-cover-right .rmp-book-detail {
	order: 1;
}

body.single-rmp_book.rmp-single-layout-stacked .rmp-single-book-grid {
	grid-template-columns: minmax(0, min(960px, 100%));
	justify-content: center;
}

body.single-rmp_book.rmp-single-layout-stacked .rmp-single-cover {
	position: static;
	width: min(100%, var(--rmp-single-cover-width));
	justify-self: center;
}

body.single-rmp_book.rmp-single-layout-stacked .rmp-book-detail {
	width: 100%;
}

body.rmp-theme .rmp-entry-content > * {
	max-width: var(--rmp-text-measure);
}

body.rmp-layout-stretched .rmp-entry-content > .alignwide,
body.rmp-layout-wide .rmp-entry-content > .alignwide {
	max-width: min(1180px, 100%);
}

@media (max-width: 980px) {
	body.rmp-theme .rmp-single-book-grid,
	body.single-rmp_book.rmp-single-layout-cover-right .rmp-single-book-grid {
		grid-template-columns: 1fr;
	}

	body.single-rmp_book.rmp-single-layout-cover-right .rmp-single-cover,
	body.single-rmp_book.rmp-single-layout-cover-right .rmp-book-detail {
		order: initial;
	}
}

@media (max-width: 760px) {
	body.rmp-theme .rmp-shell,
	body.rmp-layout-wide .rmp-shell,
	body.rmp-layout-stretched .rmp-shell,
	body.rmp-header-width-wide .rmp-site-header .rmp-header-inner,
	body.rmp-header-width-full .rmp-site-header .rmp-header-inner {
		width: min(calc(100% - max(28px, (var(--rmp-page-gutter) * 2))), var(--rmp-shell));
	}

	body.rmp-header-floating .rmp-site-header {
		top: 0;
		width: 100%;
		margin-top: 0;
		border-radius: 0;
		border-left: 0;
		border-right: 0;
	}

	body.rmp-header-floating .rmp-site-main {
		margin-top: 0;
	}

	body.rmp-book-grid-layout-auto .rmp-book-grid {
		grid-template-columns: 1fr;
	}
}

/* RMP 2.1 book commerce and format controls */
:root {
	--rmp-ebook-accent: #009b91;
	--rmp-paperback-accent: #c86f43;
}

.rmp-book-detail-labels {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	flex-wrap: wrap;
	margin-bottom: 0.95rem;
}

.rmp-book-detail-labels .rmp-badge,
.rmp-book-detail-labels .rmp-format-badges {
	margin-bottom: 0;
}

.rmp-format-badges {
	display: inline-flex;
	align-items: center;
	gap: 0.42rem;
	flex-wrap: wrap;
	margin: 0 0 0.9rem;
}

.rmp-format-badges-single {
	margin: 0;
}

.rmp-format-badge {
	--rmp-format-color: var(--rmp-accent);
	display: inline-flex;
	align-items: center;
	gap: 0.38rem;
	min-height: 28px;
	padding: 0.34rem 0.62rem;
	border-radius: var(--rmp-radius-pill);
	border: 1px solid color-mix(in srgb, var(--rmp-format-color) 26%, transparent);
	background: color-mix(in srgb, var(--rmp-format-color) 12%, white 88%);
	color: color-mix(in srgb, var(--rmp-format-color) 72%, var(--rmp-ink));
	font-size: var(--rmp-badge-font-size);
	font-weight: 900;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
}

.rmp-format-badge::before {
	content: "";
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 999px;
	background: var(--rmp-format-color);
	box-shadow: 0 0 0 5px color-mix(in srgb, var(--rmp-format-color) 14%, transparent);
}

.rmp-format-badge-ebook { --rmp-format-color: var(--rmp-ebook-accent); }
.rmp-format-badge-paperback,
.rmp-format-badge-hardcover { --rmp-format-color: var(--rmp-paperback-accent); }
.rmp-format-badge-coming_soon { --rmp-format-color: var(--rmp-muted); }

body.rmp-format-style-filled .rmp-format-badge {
	background: var(--rmp-format-color);
	border-color: var(--rmp-format-color);
	color: #fff;
	box-shadow: 0 12px 28px color-mix(in srgb, var(--rmp-format-color) 22%, transparent);
}

body.rmp-format-style-filled .rmp-format-badge::before {
	background: rgba(255,255,255,.88);
	box-shadow: 0 0 0 5px rgba(255,255,255,.18);
}

body.rmp-format-style-outline .rmp-format-badge {
	background: transparent;
	border-color: color-mix(in srgb, var(--rmp-format-color) 46%, transparent);
}

body.rmp-format-style-minimal .rmp-format-badge {
	background: transparent;
	border-color: transparent;
	padding-inline: 0;
	box-shadow: none;
}

.rmp-commerce-link {
	--rmp-commerce-color: var(--rmp-accent);
	position: relative;
}

.rmp-commerce-link-ebook { --rmp-commerce-color: var(--rmp-ebook-accent); }
.rmp-commerce-link-paperback,
.rmp-commerce-link-hardcover { --rmp-commerce-color: var(--rmp-paperback-accent); }

.rmp-card-actions .rmp-commerce-link {
	border-color: color-mix(in srgb, var(--rmp-commerce-color) 28%, transparent);
	color: color-mix(in srgb, var(--rmp-commerce-color) 78%, var(--rmp-ink));
	background: color-mix(in srgb, var(--rmp-commerce-color) 10%, white 90%);
}

.rmp-card-actions .rmp-commerce-link::before {
	content: "";
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 999px;
	background: var(--rmp-commerce-color);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--rmp-commerce-color) 12%, transparent);
}

.rmp-card-actions .rmp-commerce-link-general,
.rmp-card-actions .rmp-commerce-link.rmp-commerce-card-style-buttons {
	background: var(--rmp-commerce-color);
	border-color: var(--rmp-commerce-color);
	color: #fff;
	box-shadow: 0 12px 28px color-mix(in srgb, var(--rmp-commerce-color) 22%, transparent);
}

.rmp-card-actions .rmp-commerce-link-general::before,
.rmp-card-actions .rmp-commerce-link.rmp-commerce-card-style-buttons::before {
	background: rgba(255,255,255,.9);
	box-shadow: 0 0 0 4px rgba(255,255,255,.16);
}

.rmp-card-actions .rmp-commerce-card-style-minimal {
	background: transparent;
	border-color: transparent;
	box-shadow: none;
	padding-inline: 0.2rem;
}

.rmp-card-actions .rmp-commerce-card-style-minimal::before {
	box-shadow: none;
}

.rmp-commerce-actions-single .rmp-commerce-link {
	--rmp-commerce-color: var(--rmp-accent);
	background: var(--rmp-commerce-color);
	background: linear-gradient(135deg, color-mix(in srgb, var(--rmp-commerce-color) 82%, var(--rmp-dark)), var(--rmp-commerce-color));
	border-color: var(--rmp-commerce-color);
	box-shadow: 0 18px 44px color-mix(in srgb, var(--rmp-commerce-color) 26%, transparent);
}

.rmp-commerce-actions-single .rmp-commerce-link-ebook { --rmp-commerce-color: var(--rmp-ebook-accent); }
.rmp-commerce-actions-single .rmp-commerce-link-paperback,
.rmp-commerce-actions-single .rmp-commerce-link-hardcover { --rmp-commerce-color: var(--rmp-paperback-accent); }

.rmp-commerce-actions-single .rmp-commerce-link:hover {
	box-shadow: 0 22px 52px color-mix(in srgb, var(--rmp-commerce-color) 34%, transparent);
}

.rmp-search-card .rmp-format-badges {
	margin-bottom: 0.65rem;
}

@media (max-width: 760px) {
	.rmp-book-detail-labels,
	.rmp-format-badges,
	.rmp-card-actions {
		gap: 0.45rem;
	}

	.rmp-card-actions .rmp-commerce-link {
		max-width: 100%;
	}
}

/* RMP 2.2 platform purchase buttons */
.rmp-commerce-link-platform-amazon { --rmp-commerce-color: #ff9900; }
.rmp-commerce-link-platform-apple { --rmp-commerce-color: #111827; }
.rmp-commerce-link-platform-google { --rmp-commerce-color: #4285f4; }
.rmp-commerce-link-platform-bokus { --rmp-commerce-color: #00836c; }
.rmp-commerce-link-platform-kobo { --rmp-commerce-color: #bf2e1a; }
.rmp-commerce-link-platform-adlibris { --rmp-commerce-color: #6338b5; }
.rmp-commerce-link-platform-barnes_noble { --rmp-commerce-color: #34785a; }
.rmp-commerce-link-platform-bookshop { --rmp-commerce-color: #4b5563; }
.rmp-commerce-link-platform-waterstones { --rmp-commerce-color: #004a7c; }
.rmp-commerce-link-platform-other { --rmp-commerce-color: var(--rmp-accent); }

.rmp-commerce-link-platform {
	gap: 0.48rem;
}

.rmp-card-actions .rmp-commerce-link-platform::before {
	content: none;
}

.rmp-store-mark {
	display: inline-grid;
	place-items: center;
	min-width: 1.16rem;
	height: 1.16rem;
	padding-inline: 0.12rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--rmp-commerce-color) 16%, white 84%);
	color: color-mix(in srgb, var(--rmp-commerce-color) 78%, var(--rmp-ink));
	font-size: 0.68em;
	font-weight: 950;
	line-height: 1;
	letter-spacing: -0.03em;
}

.rmp-card-actions .rmp-commerce-link-platform.rmp-commerce-card-style-buttons .rmp-store-mark,
.rmp-commerce-actions-single .rmp-commerce-link-platform .rmp-store-mark {
	background: rgba(255, 255, 255, 0.18);
	color: #fff;
}

.rmp-card-actions .rmp-commerce-link-platform.rmp-commerce-card-style-minimal .rmp-store-mark {
	background: color-mix(in srgb, var(--rmp-commerce-color) 13%, transparent);
}

@media (max-width: 760px) {
	.rmp-store-mark {
		min-width: 1.05rem;
		height: 1.05rem;
	}
}
