: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));
}

/* RMP 4.7 — independent standard page/post title controls.
   Targets the actual page/post markup, not only a direct-child header. */
body.rmp-theme.page .rmp-entry .rmp-entry-header h1,
body.rmp-theme.single-post .rmp-entry .rmp-entry-header h1,
body.rmp-theme .rmp-entry-title,
body.rmp-theme .entry-title.rmp-entry-title,
body.rmp-theme.page h1.entry-title,
body.rmp-theme.single-post h1.entry-title,
body.rmp-theme .wp-block-post-title {
	font-size: clamp(calc(var(--rmp-entry-title-size) * 0.50), 5vw, var(--rmp-entry-title-size)) !important;
	max-width: var(--rmp-entry-title-measure) !important;
	line-height: 0.98 !important;
}

body.rmp-theme.page .rmp-entry .rmp-entry-header,
body.rmp-theme.single-post .rmp-entry .rmp-entry-header {
	max-width: var(--rmp-entry-title-measure);
}

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: var(--rmp-purchase-button-text, #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-commerce-link-general { --rmp-commerce-color: var(--rmp-general-purchase-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);
}

body.rmp-single-commerce-style-solid .rmp-commerce-actions-single .rmp-commerce-link {
	background: var(--rmp-commerce-color);
	color: var(--rmp-purchase-button-text, #fff);
}

body.rmp-single-commerce-style-soft .rmp-commerce-actions-single .rmp-commerce-link {
	background: color-mix(in srgb, var(--rmp-commerce-color) 12%, white 88%);
	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));
	box-shadow: 0 14px 34px color-mix(in srgb, var(--rmp-commerce-color) 15%, transparent);
}

body.rmp-single-commerce-style-outline .rmp-commerce-actions-single .rmp-commerce-link {
	background: transparent;
	border-color: color-mix(in srgb, var(--rmp-commerce-color) 42%, transparent);
	color: color-mix(in srgb, var(--rmp-commerce-color) 82%, var(--rmp-ink));
	box-shadow: none;
}

body.rmp-single-commerce-style-minimal .rmp-commerce-actions-single .rmp-commerce-link {
	background: transparent;
	border-color: transparent;
	color: color-mix(in srgb, var(--rmp-commerce-color) 82%, var(--rmp-ink));
	box-shadow: none;
	padding-inline: 0.25rem;
}

body.rmp-single-commerce-style-soft .rmp-commerce-actions-single .rmp-commerce-link:hover,
body.rmp-single-commerce-style-outline .rmp-commerce-actions-single .rmp-commerce-link:hover,
body.rmp-single-commerce-style-minimal .rmp-commerce-actions-single .rmp-commerce-link:hover {
	box-shadow: 0 16px 34px color-mix(in srgb, var(--rmp-commerce-color) 18%, 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: var(--rmp-platform-amazon-color, #ff9900); }
.rmp-commerce-link-platform-amazon_onelink { --rmp-commerce-color: var(--rmp-platform-amazon-onelink-color, #1f73b7); }
.rmp-commerce-link-platform-apple { --rmp-commerce-color: var(--rmp-platform-apple-color, #111827); }
.rmp-commerce-link-platform-google { --rmp-commerce-color: var(--rmp-platform-google-color, #4285f4); }
.rmp-commerce-link-platform-bokus { --rmp-commerce-color: var(--rmp-platform-bokus-color, #00836c); }
.rmp-commerce-link-platform-kobo { --rmp-commerce-color: var(--rmp-platform-kobo-color, #bf2e1a); }
.rmp-commerce-link-platform-adlibris { --rmp-commerce-color: var(--rmp-platform-adlibris-color, #6338b5); }
.rmp-commerce-link-platform-barnes_noble { --rmp-commerce-color: var(--rmp-platform-barnes-noble-color, #34785a); }
.rmp-commerce-link-platform-bookshop { --rmp-commerce-color: var(--rmp-platform-bookshop-color, #4b5563); }
.rmp-commerce-link-platform-waterstones { --rmp-commerce-color: var(--rmp-platform-waterstones-color, #004a7c); }
.rmp-commerce-link-platform-other { --rmp-commerce-color: var(--rmp-platform-other-color, var(--rmp-accent)); }

/* v6.8.1: single book buttons also honor per-platform color controls. */
.rmp-commerce-actions-single .rmp-commerce-link-general { --rmp-commerce-color: var(--rmp-general-purchase-accent, var(--rmp-accent)); }
.rmp-commerce-actions-single .rmp-commerce-link-platform-amazon { --rmp-commerce-color: var(--rmp-platform-amazon-color, #ff9900); }
.rmp-commerce-actions-single .rmp-commerce-link-platform-amazon_onelink { --rmp-commerce-color: var(--rmp-platform-amazon-onelink-color, #1f73b7); }
.rmp-commerce-actions-single .rmp-commerce-link-platform-apple { --rmp-commerce-color: var(--rmp-platform-apple-color, #111827); }
.rmp-commerce-actions-single .rmp-commerce-link-platform-google { --rmp-commerce-color: var(--rmp-platform-google-color, #4285f4); }
.rmp-commerce-actions-single .rmp-commerce-link-platform-bokus { --rmp-commerce-color: var(--rmp-platform-bokus-color, #00836c); }
.rmp-commerce-actions-single .rmp-commerce-link-platform-kobo { --rmp-commerce-color: var(--rmp-platform-kobo-color, #bf2e1a); }
.rmp-commerce-actions-single .rmp-commerce-link-platform-adlibris { --rmp-commerce-color: var(--rmp-platform-adlibris-color, #6338b5); }
.rmp-commerce-actions-single .rmp-commerce-link-platform-barnes_noble { --rmp-commerce-color: var(--rmp-platform-barnes-noble-color, #34785a); }
.rmp-commerce-actions-single .rmp-commerce-link-platform-bookshop { --rmp-commerce-color: var(--rmp-platform-bookshop-color, #4b5563); }
.rmp-commerce-actions-single .rmp-commerce-link-platform-waterstones { --rmp-commerce-color: var(--rmp-platform-waterstones-color, #004a7c); }
.rmp-commerce-actions-single .rmp-commerce-link-platform-other { --rmp-commerce-color: var(--rmp-platform-other-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);
}

/* v6.9.1: uniform purchase badge system. Default is a simple dot for all purchase buttons. */
body.rmp-purchase-badge-dot .rmp-card-actions .rmp-commerce-link-platform::before {
	content: "";
	flex: 0 0 auto;
}

body.rmp-purchase-badge-dot .rmp-commerce-actions-single .rmp-commerce-link::before {
	content: "";
	flex: 0 0 auto;
	width: 0.62rem;
	height: 0.62rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.14);
}

body.rmp-purchase-badge-dot.rmp-single-commerce-style-soft .rmp-commerce-actions-single .rmp-commerce-link::before,
body.rmp-purchase-badge-dot.rmp-single-commerce-style-outline .rmp-commerce-actions-single .rmp-commerce-link::before,
body.rmp-purchase-badge-dot.rmp-single-commerce-style-minimal .rmp-commerce-actions-single .rmp-commerce-link::before {
	background: var(--rmp-commerce-color);
	box-shadow: 0 0 0 5px color-mix(in srgb, var(--rmp-commerce-color) 12%, transparent);
}

body.rmp-purchase-badge-none .rmp-card-actions .rmp-commerce-link::before,
body.rmp-purchase-badge-none .rmp-commerce-actions-single .rmp-commerce-link::before {
	content: none;
}

body.rmp-purchase-badge-mark .rmp-card-actions .rmp-commerce-link-platform::before {
	content: none;
}

body.rmp-purchase-badge-mark .rmp-commerce-actions-single .rmp-commerce-link:not(.rmp-commerce-link-platform)::before {
	content: none;
}

body.rmp-purchase-badge-mark .rmp-commerce-actions-single .rmp-commerce-link-platform .rmp-store-mark {
	display: inline-grid;
}

body.rmp-purchase-badge-dot .rmp-commerce-link .rmp-store-mark,
body.rmp-purchase-badge-none .rmp-commerce-link .rmp-store-mark {
	display: none;
}

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

/* RMP 2.4 PDF viewer initial-state controls and purchase-button spacing */
.rmp-pdf-frame-wrap[hidden] {
	display: none;
}

.rmp-pdf-standby {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: clamp(1rem, 2.4vw, 1.35rem);
	border: 1px solid var(--rmp-line);
	border-radius: var(--rmp-radius-panel);
	background:
		linear-gradient(135deg, rgb(var(--rmp-accent-rgb) / 0.08), transparent 48%),
		rgba(255,255,255,.78);
	box-shadow: 0 16px 42px rgba(5, 45, 31, 0.08);
	margin-bottom: 1rem;
}

.rmp-pdf-standby strong {
	display: block;
	font-size: clamp(1.05rem, 1.8vw, 1.3rem);
	letter-spacing: -0.03em;
}

.rmp-pdf-standby p {
	margin: 0.25rem 0 0;
	color: var(--rmp-muted);
}

.rmp-pdf-standby-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.7rem;
	flex-wrap: wrap;
	flex: 0 0 auto;
}

.rmp-pdf-preview-link .rmp-pdf-standby {
	margin-bottom: 0;
}

.rmp-card-actions .rmp-commerce-link {
	column-gap: var(--rmp-commerce-icon-gap);
	gap: var(--rmp-commerce-icon-gap);
}

.rmp-card-actions .rmp-commerce-link::before {
	flex: 0 0 auto;
}

.rmp-commerce-link .rmp-store-mark {
	flex: 0 0 auto;
}

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

	.rmp-pdf-standby-actions {
		justify-content: flex-start;
		width: 100%;
	}
}

/* RMP 3.0 deeper layout, card, single-page, and mobile-menu controls */
.home .rmp-site-main {
	display: flex;
	flex-direction: column;
}

.home.rmp-home-start-catalogue .rmp-books { order: 1; }
.home.rmp-home-start-catalogue .rmp-hero { order: 2; }
.home.rmp-home-start-catalogue .rmp-about { order: 3; }
.home.rmp-home-start-catalogue .rmp-science { order: 4; }
.home.rmp-home-start-catalogue .rmp-contact { order: 5; }

.home.rmp-home-start-clean .rmp-hero {
	padding-block: clamp(3rem, 6vw, 5.5rem) clamp(2rem, 4vw, 3.5rem);
}
.home.rmp-home-start-clean .rmp-hero-panel {
	min-height: 420px;
}
.home.rmp-home-start-minimal .rmp-hero,
.home.rmp-home-start-minimal .rmp-about,
.home.rmp-home-start-minimal .rmp-science,
.home.rmp-home-start-minimal .rmp-contact {
	display: none;
}
.home.rmp-home-start-minimal .rmp-books {
	padding-top: clamp(2.5rem, 6vw, 5rem);
}

.rmp-book-card {
	gap: var(--rmp-card-gap);
	padding: var(--rmp-card-padding);
	min-height: var(--rmp-card-min-height);
	grid-template-columns: minmax(120px, var(--rmp-card-cover-width)) minmax(0, 1fr);
}
.rmp-book-cover,
.rmp-book-cover img,
.rmp-cover-placeholder {
	min-height: var(--rmp-card-cover-min-height);
}
.rmp-book-content h3 {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: var(--rmp-card-title-lines);
	overflow: hidden;
}

.rmp-card-size-compact {
	--rmp-card-padding: clamp(0.9rem, 1.5vw, 1.1rem);
	--rmp-card-gap: clamp(0.8rem, 1.5vw, 1.05rem);
	--rmp-card-cover-width: 170px;
	--rmp-card-cover-min-height: 220px;
}
.rmp-card-size-large {
	--rmp-card-padding: clamp(1.4rem, 2.6vw, 2rem);
	--rmp-card-gap: clamp(1.3rem, 2.7vw, 2rem);
	--rmp-card-cover-width: 270px;
	--rmp-card-cover-min-height: 340px;
}
.rmp-card-size-showcase {
	--rmp-card-padding: clamp(1.6rem, 3vw, 2.4rem);
	--rmp-card-gap: clamp(1.6rem, 3vw, 2.4rem);
	--rmp-card-cover-width: 320px;
	--rmp-card-cover-min-height: 420px;
}

.rmp-card-layout-vertical .rmp-book-card {
	grid-template-columns: 1fr;
}
.rmp-card-layout-vertical .rmp-book-cover {
	width: min(100%, var(--rmp-card-cover-width));
	justify-self: center;
}
.rmp-card-layout-cover-focus .rmp-book-card {
	grid-template-columns: minmax(180px, 0.48fr) minmax(0, 0.52fr);
}
.rmp-card-layout-cover-focus .rmp-book-cover,
.rmp-card-layout-cover-focus .rmp-book-cover img,
.rmp-card-layout-cover-focus .rmp-cover-placeholder {
	min-height: max(var(--rmp-card-cover-min-height), 340px);
}
.rmp-card-layout-list .rmp-book-card {
	grid-template-columns: minmax(84px, 120px) minmax(0, 1fr);
	align-items: center;
}
.rmp-card-layout-list .rmp-book-cover,
.rmp-card-layout-list .rmp-book-cover img,
.rmp-card-layout-list .rmp-cover-placeholder {
	min-height: 150px;
}
.rmp-card-layout-list .rmp-cover-placeholder {
	padding: 0.85rem;
}
.rmp-card-layout-list .rmp-book-content p:not(.rmp-book-subtitle):not(.rmp-book-author),
.rmp-card-layout-list .rmp-book-meta {
	display: none;
}
.rmp-card-align-center .rmp-book-card,
.rmp-card-align-center .rmp-book-content,
.rmp-card-align-center .rmp-card-actions,
.rmp-card-align-center .rmp-format-badges {
	text-align: center;
	justify-content: center;
}
.rmp-card-align-center .rmp-book-cover {
	justify-self: center;
}

body:not(.rmp-single-cover-sticky) .rmp-single-cover,
body.rmp-theme:not(.rmp-single-cover-sticky) .rmp-single-cover {
	position: static;
}

.rmp-book-detail .rmp-actions.rmp-commerce-actions-single + .rmp-entry-content {
	margin-top: 1.5rem;
}

.rmp-mobile-menu-head,
.rmp-menu-close,
.rmp-menu-scrim {
	display: none;
}

@media (max-width: 760px) {
	html.rmp-menu-open,
	body.rmp-menu-open {
		overflow: hidden;
	}

	.rmp-menu-scrim {
		position: fixed;
		inset: 0;
		z-index: 60;
		display: block;
		background: rgb(0 0 0 / var(--rmp-mobile-overlay-opacity));
		backdrop-filter: blur(4px);
	}
	.rmp-menu-scrim[hidden] { display: none; }

	.rmp-mobile-menu-head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		padding-bottom: 1rem;
		margin-bottom: 0.9rem;
		border-bottom: 1px solid var(--rmp-line);
	}
	.rmp-mobile-menu-brand {
		display: inline-flex;
		align-items: center;
		gap: 0.8rem;
		min-width: 0;
	}
	.rmp-mobile-menu-brand .rmp-logo-mark {
		width: 42px;
		height: 42px;
		font-size: 1rem;
	}
	.rmp-mobile-menu-brand span:last-child {
		display: grid;
		min-width: 0;
	}
	.rmp-mobile-menu-brand strong {
		line-height: 1.1;
		font-weight: 900;
	}
	.rmp-mobile-menu-brand small {
		font-size: 0.75rem;
		color: var(--rmp-muted);
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.rmp-menu-close {
		display: inline-grid;
		place-items: center;
		width: 44px;
		height: 44px;
		border: 1px solid var(--rmp-line);
		border-radius: var(--rmp-radius-button);
		background: rgb(255 255 255 / .82);
		font-size: 1.6rem;
		line-height: 1;
		color: var(--rmp-ink);
		cursor: pointer;
	}

	body.rmp-mobile-menu-drawer .rmp-nav,
	body.rmp-mobile-menu-fullscreen .rmp-nav {
		display: block;
		position: fixed;
		top: 0;
		bottom: 0;
		left: auto;
		right: 0;
		z-index: 70;
		width: min(var(--rmp-mobile-menu-width), calc(100vw - 24px));
		max-width: none;
		padding: max(1rem, env(safe-area-inset-top)) 1rem 1rem;
		border-radius: 0;
		border: 0;
		border-left: 1px solid var(--rmp-line);
		background:
			linear-gradient(160deg, rgb(var(--rmp-accent-rgb) / 0.10), transparent 45%),
			color-mix(in srgb, var(--rmp-bg-start) 94%, white 6%);
		box-shadow: -26px 0 70px rgb(var(--rmp-accent-rgb) / 0.16);
		transform: translateX(104%);
		transition: transform 220ms ease;
		overflow-y: auto;
	}
	body.rmp-mobile-menu-side-left.rmp-mobile-menu-drawer .rmp-nav,
	body.rmp-mobile-menu-side-left.rmp-mobile-menu-fullscreen .rmp-nav {
		left: 0;
		right: auto;
		border-left: 0;
		border-right: 1px solid var(--rmp-line);
		box-shadow: 26px 0 70px rgb(var(--rmp-accent-rgb) / 0.16);
		transform: translateX(-104%);
	}
	body.rmp-mobile-menu-drawer .rmp-nav.is-open,
	body.rmp-mobile-menu-fullscreen .rmp-nav.is-open {
		transform: translateX(0);
	}
	body.rmp-mobile-menu-fullscreen .rmp-nav {
		width: 100vw;
		border-radius: 0;
	}
	body.rmp-mobile-menu-dropdown .rmp-nav {
		position: absolute;
		left: 14px;
		right: 14px;
		top: calc(100% + 8px);
		display: none;
		padding: 0.85rem;
		border-radius: var(--rmp-radius-panel);
		background: rgba(255,255,255,.96);
		border: 1px solid var(--rmp-line);
		box-shadow: var(--rmp-shadow);
	}
	body.rmp-mobile-menu-dropdown .rmp-nav.is-open { display: block; }
	body.rmp-mobile-menu-dropdown .rmp-mobile-menu-head { display: none; }

	.rmp-nav .rmp-menu {
		display: grid;
		gap: 0.45rem;
		align-items: stretch;
	}
	.rmp-nav .rmp-menu a {
		justify-content: flex-start;
		min-height: 48px;
		font-size: 1rem;
		background: rgb(255 255 255 / .58);
		border: 1px solid rgb(var(--rmp-accent-rgb) / 0.10);
	}
	.rmp-nav-search {
		display: block;
		margin-top: 1rem;
	}
	.rmp-nav-search .rmp-search-form {
		width: 100%;
	}

	.rmp-card-layout-list .rmp-book-card,
	.rmp-book-card {
		grid-template-columns: 1fr;
	}
	.rmp-book-cover {
		width: min(100%, var(--rmp-card-cover-width));
		justify-self: center;
	}
}
body.rmp-single-cover-hidden .rmp-single-book-grid {
	grid-template-columns: minmax(0, min(980px, 100%));
	justify-content: center;
}

/* RMP 3.1 mobile single-book rescue and controls */
.rmp-format-badge {
	text-transform: none;
	letter-spacing: 0.035em;
}

@media (max-width: 860px) {
	body.single-rmp_book.rmp-theme .rmp-single-book {
		padding-top: clamp(1.4rem, 5vw, 2.3rem);
	}

	body.single-rmp_book.rmp-theme .rmp-single-book-grid,
	body.single-rmp_book.rmp-theme.rmp-single-layout-cover-right .rmp-single-book-grid,
	body.single-rmp_book.rmp-theme.rmp-single-balance-info-focus .rmp-single-book-grid,
	body.single-rmp_book.rmp-theme.rmp-single-balance-balanced .rmp-single-book-grid,
	body.single-rmp_book.rmp-theme.rmp-single-balance-cover-forward .rmp-single-book-grid,
	body.single-rmp_book.rmp-theme.rmp-single-balance-custom .rmp-single-book-grid {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: var(--rmp-mobile-single-gap);
	}

	body.single-rmp_book.rmp-theme .rmp-single-cover,
	body.single-rmp_book.rmp-theme.rmp-single-layout-cover-right .rmp-single-cover {
		order: 0;
		position: static !important;
		width: min(100%, var(--rmp-mobile-single-cover));
		max-width: var(--rmp-mobile-single-cover);
		justify-self: center;
		margin-inline: auto;
	}

	body.single-rmp_book.rmp-theme .rmp-single-cover img,
	body.single-rmp_book.rmp-theme .rmp-single-cover .rmp-cover-placeholder {
		max-height: min(68vh, 420px);
		object-fit: contain;
		box-shadow: 0 18px 48px rgb(var(--rmp-accent-rgb) / 0.14);
	}

	body.single-rmp_book.rmp-theme .rmp-book-detail,
	body.single-rmp_book.rmp-theme.rmp-single-layout-cover-right .rmp-book-detail {
		order: 1;
		width: 100%;
		min-width: 0;
		padding: var(--rmp-mobile-single-padding);
		border-radius: min(var(--rmp-radius-panel), 28px);
	}

	body.single-rmp_book.rmp-theme .rmp-book-detail h1 {
		font-size: clamp(2.25rem, 11vw, 3.6rem);
		max-width: none;
		line-height: 0.96;
		letter-spacing: max(var(--rmp-heading-tracking), -0.05em);
		overflow-wrap: anywhere;
	}

	body.single-rmp_book.rmp-theme .rmp-book-detail-labels,
	body.single-rmp_book.rmp-theme .rmp-format-badges {
		gap: 0.48rem;
	}

	body.single-rmp_book.rmp-theme .rmp-format-badge {
		font-size: min(var(--rmp-badge-font-size), 0.78rem);
		min-height: 26px;
		padding: 0.32rem 0.58rem;
	}

	body.single-rmp_book.rmp-theme .rmp-commerce-actions-single,
	body.single-rmp_book.rmp-theme .rmp-actions {
		gap: 0.65rem;
		margin-top: 1.2rem;
	}

	body.single-rmp_book.rmp-theme .rmp-commerce-actions-single .rmp-button,
	body.single-rmp_book.rmp-theme .rmp-commerce-actions-single .rmp-commerce-link,
	body.single-rmp_book.rmp-theme .rmp-actions .rmp-button {
		min-height: 46px;
		max-width: 100%;
		padding: 0.78rem 1.05rem;
		font-size: min(var(--rmp-button-font-size), 0.98rem);
		white-space: normal;
		line-height: 1.15;
		text-align: center;
	}

	body.single-rmp_book.rmp-theme .rmp-entry-content {
		font-size: clamp(1rem, 4vw, var(--rmp-body-text-size));
	}
}

@media (max-width: 640px) {
	body.single-rmp_book.rmp-theme .rmp-shell,
	body.single-rmp_book.rmp-layout-wide .rmp-shell,
	body.single-rmp_book.rmp-layout-stretched .rmp-shell {
		width: min(calc(100% - 24px), var(--rmp-shell));
	}

	body.single-rmp_book.rmp-theme .rmp-single-cover {
		width: min(58vw, var(--rmp-mobile-single-cover));
		max-width: var(--rmp-mobile-single-cover);
	}

	body.single-rmp_book.rmp-mobile-book-compact .rmp-single-cover {
		width: min(46vw, var(--rmp-mobile-single-cover));
	}

	body.single-rmp_book.rmp-mobile-book-side-by-side .rmp-single-book-grid {
		grid-template-columns: minmax(110px, 38vw) minmax(0, 1fr) !important;
		gap: 0.9rem;
		align-items: start;
	}

	body.single-rmp_book.rmp-mobile-book-side-by-side .rmp-single-cover {
		width: 100%;
		max-width: none;
		justify-self: stretch;
	}

	body.single-rmp_book.rmp-mobile-book-side-by-side .rmp-book-detail h1 {
		font-size: clamp(2rem, 9vw, 3rem);
	}

	body.single-rmp_book.rmp-mobile-book-side-by-side .rmp-book-detail {
		padding: clamp(1rem, 4vw, var(--rmp-mobile-single-padding));
	}

	body.single-rmp_book.rmp-mobile-single-actions-full .rmp-commerce-actions-single,
	body.single-rmp_book.rmp-mobile-single-actions-full .rmp-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	body.single-rmp_book.rmp-mobile-single-actions-full .rmp-commerce-actions-single .rmp-button,
	body.single-rmp_book.rmp-mobile-single-actions-full .rmp-commerce-actions-single .rmp-commerce-link,
	body.single-rmp_book.rmp-mobile-single-actions-full .rmp-actions .rmp-button {
		width: 100%;
	}
}

@media (max-width: 420px) {
	body.single-rmp_book.rmp-theme .rmp-single-cover {
		width: min(64vw, var(--rmp-mobile-single-cover));
	}

	body.single-rmp_book.rmp-theme .rmp-book-detail h1 {
		font-size: clamp(2rem, 10vw, 3rem);
	}

	body.single-rmp_book.rmp-theme .rmp-book-detail {
		padding: clamp(1rem, 5vw, var(--rmp-mobile-single-padding));
	}
}


/* RMP 3.2 mobile menu hardening */
.rmp-menu-toggle {
	-webkit-tap-highlight-color: transparent;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
}

.rmp-menu-toggle span {
	transition: transform 180ms ease, opacity 180ms ease, background 180ms ease;
	transform-origin: center;
}

.rmp-menu-toggle.is-active span:nth-child(1) {
	transform: translateY(6px) rotate(45deg);
}

.rmp-menu-toggle.is-active span:nth-child(2) {
	opacity: 0;
}

.rmp-menu-toggle.is-active span:nth-child(3) {
	transform: translateY(-6px) rotate(-45deg);
}

@media (max-width: 760px) {
	body.rmp-theme {
		overflow-x: hidden;
	}

	.rmp-site-header {
		z-index: 1000;
	}

	.rmp-header-inner {
		gap: 0.8rem;
		min-height: 68px;
	}

	.rmp-brand {
		min-width: 0;
		max-width: calc(100vw - 100px);
	}

	.rmp-logo-mark,
	.rmp-logo-wrap img {
		width: 46px;
		height: 46px;
		min-width: 46px;
	}

	.rmp-brand-text {
		min-width: 0;
	}

	.rmp-brand-text strong {
		max-width: 9.5rem;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.rmp-header-tools {
		margin-left: auto;
		gap: 0.55rem;
	}

	.rmp-menu-toggle {
		display: inline-grid;
		place-items: center;
		width: 50px;
		height: 50px;
		border-radius: min(18px, var(--rmp-radius-button));
		background: rgb(255 255 255 / 0.84);
		box-shadow: 0 12px 32px rgb(var(--rmp-accent-rgb) / 0.08);
	}

	.rmp-menu-toggle:focus-visible,
	.rmp-menu-close:focus-visible,
	.rmp-nav .rmp-menu a:focus-visible {
		outline: 3px solid rgb(var(--rmp-accent-rgb) / 0.30);
		outline-offset: 3px;
	}

	.rmp-menu-scrim {
		z-index: 10000;
		cursor: pointer;
	}

	body.rmp-mobile-menu-drawer .rmp-nav,
	body.rmp-mobile-menu-fullscreen .rmp-nav {
		z-index: 10001;
		box-sizing: border-box;
		height: 100dvh;
		max-height: 100dvh;
		padding: calc(max(1rem, env(safe-area-inset-top)) + 0.1rem) clamp(1rem, 4vw, 1.25rem) max(1rem, env(safe-area-inset-bottom));
		visibility: hidden;
		pointer-events: none;
		will-change: transform;
		-webkit-overflow-scrolling: touch;
	}

	body.rmp-mobile-menu-drawer .rmp-nav.is-open,
	body.rmp-mobile-menu-fullscreen .rmp-nav.is-open {
		visibility: visible;
		pointer-events: auto;
	}

	body.rmp-mobile-menu-fullscreen .rmp-nav {
		width: 100vw;
		max-width: none;
		border: 0;
		box-shadow: none;
	}

	body.rmp-mobile-menu-dropdown .rmp-nav {
		z-index: 10001;
		box-sizing: border-box;
		max-height: min(72vh, 620px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.rmp-mobile-menu-head {
		position: sticky;
		top: 0;
		z-index: 2;
		background: linear-gradient(180deg, color-mix(in srgb, var(--rmp-bg-start) 96%, white 4%), color-mix(in srgb, var(--rmp-bg-start) 86%, transparent));
		backdrop-filter: blur(16px);
		margin-inline: -0.25rem;
		padding: 0.2rem 0.25rem 0.9rem;
	}

	.rmp-menu-close {
		flex: 0 0 auto;
	}

	.rmp-nav .rmp-menu {
		width: 100%;
	}

	.rmp-nav .rmp-menu li {
		margin: 0;
	}

	.rmp-nav .rmp-menu a {
		width: 100%;
		box-sizing: border-box;
		min-height: 52px;
		padding: 0.9rem 1rem;
	}

	.rmp-nav-search,
	.rmp-nav-search .rmp-search-form,
	.rmp-nav-search .rmp-search-field {
		width: 100%;
		max-width: 100%;
	}

	.rmp-nav-search .rmp-search-form {
		box-sizing: border-box;
		margin-top: 1rem;
	}

	.rmp-nav-search .rmp-search-field {
		min-width: 0;
	}
}

@media (max-width: 782px) {
	body.admin-bar.rmp-mobile-menu-drawer .rmp-nav,
	body.admin-bar.rmp-mobile-menu-fullscreen .rmp-nav {
		top: 46px;
		height: calc(100dvh - 46px);
		max-height: calc(100dvh - 46px);
	}

	body.admin-bar .rmp-menu-scrim {
		top: 46px;
	}
}

/* RMP 3.3 cleaner collapsed PDF display controls */
.rmp-pdf-standby-compact {
	padding: clamp(0.8rem, 1.8vw, 1.05rem);
	border-radius: min(var(--rmp-radius-panel), 28px);
}

.rmp-pdf-standby-compact .rmp-pdf-standby-copy:empty {
	display: none;
}

.rmp-pdf-standby-compact .rmp-pdf-standby-copy p {
	font-size: 0.95em;
}

.rmp-pdf-standby-buttons_only {
	justify-content: flex-start;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.rmp-pdf-standby-buttons_only .rmp-pdf-standby-actions {
	justify-content: flex-start;
}

.rmp-pdf-collapsed-header_only.rmp-pdf-preview-link,
.rmp-pdf-collapsed-header_only.rmp-pdf-preview-collapsed {
	padding-bottom: 0;
}

@media (max-width: 760px) {
	.rmp-pdf-standby-buttons_only {
		padding: 0;
	}

	.rmp-pdf-standby-buttons_only .rmp-pdf-standby-actions .rmp-button,
	.rmp-pdf-standby-compact .rmp-pdf-standby-actions .rmp-button {
		width: 100%;
		justify-content: center;
	}
}


.rmp-pdf-object {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	z-index: 0;
}

.rmp-pdf-frame {
	position: relative;
	z-index: 1;
	background: #fff;
}


/* RMP 3.7 spacing, padding, and full-title controls */
body.rmp-theme .rmp-section {
	padding-block: var(--rmp-section-padding-y);
}

body.rmp-theme .rmp-section-heading {
	margin-bottom: var(--rmp-section-heading-bottom);
}

body.rmp-theme .rmp-book-grid {
	gap: var(--rmp-book-grid-gap);
}

body.rmp-theme .rmp-book-content {
	gap: var(--rmp-card-content-gap);
	padding-inline: var(--rmp-card-content-pad-x);
}

body.rmp-theme .rmp-book-content h3 {
	margin-top: 0;
	margin-bottom: var(--rmp-card-title-margin);
}

body.rmp-theme .rmp-book-content .rmp-book-subtitle,
body.rmp-theme .rmp-book-content .rmp-book-author,
body.rmp-theme .rmp-book-content > p {
	margin-top: 0;
	margin-bottom: 0;
}

body.rmp-theme .rmp-book-meta {
	margin-top: var(--rmp-card-meta-margin-top);
	margin-bottom: 0;
}

body.rmp-theme .rmp-card-actions {
	margin-top: var(--rmp-card-actions-margin);
}

body.rmp-card-title-full .rmp-book-content h3 {
	display: block;
	-webkit-line-clamp: unset;
	overflow: visible;
}

body.single-rmp_book.rmp-theme .rmp-single-book {
	padding-top: var(--rmp-single-top-padding);
}

body.single-rmp_book.rmp-theme .rmp-book-detail {
	padding: var(--rmp-single-panel-padding);
}

body.single-rmp_book.rmp-theme .rmp-book-detail h1 {
	margin-top: 0;
	margin-bottom: var(--rmp-single-title-margin);
}

body.single-rmp_book.rmp-theme .rmp-detail-meta {
	margin-top: var(--rmp-single-meta-margin-top);
	margin-bottom: 0;
}

body.single-rmp_book.rmp-theme .rmp-commerce-actions-single,
body.single-rmp_book.rmp-theme .rmp-actions {
	margin-top: var(--rmp-single-actions-margin);
}

body.single-rmp_book.rmp-theme .rmp-entry-content {
	margin-top: var(--rmp-single-content-margin);
}

body.single-rmp_book.rmp-theme .rmp-pdf-preview {
	margin-top: var(--rmp-pdf-preview-margin);
}

@media (max-width: 760px) {
	body.rmp-theme .rmp-book-card {
		padding: var(--rmp-mobile-card-padding);
	}
}

/* RMP 3.8 modal PDF loading hardening */
.rmp-pdf-embed {
	display: block;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	background: #fff;
	z-index: 0;
}

.rmp-pdf-modal .rmp-pdf-frame {
	position: relative;
	z-index: 1;
}

.rmp-pdf-modal-js-built {
	font-family: var(--rmp-font-body, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	color: var(--rmp-ink, #102019);
}

/* RMP 4.1 rollback-based fixes: no forced crop protection, cleaner card alignment, real modal buttons */
body.rmp-theme .rmp-book-card {
	align-items: start;
}

body.rmp-theme .rmp-book-content {
	justify-content: flex-start;
}

button.rmp-pdf-open,
.rmp-card-actions button.rmp-text-link {
	font: inherit;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}

button.rmp-pdf-open.rmp-text-link,
.rmp-card-actions button.rmp-text-link {
	border: 1px solid rgb(var(--rmp-grid-rgb) / 0.14);
}

.rmp-actions button.rmp-button,
.rmp-pdf-header button.rmp-button,
.rmp-pdf-standby-actions button.rmp-button {
	cursor: pointer;
}

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

.rmp-pdf-modal .rmp-pdf-frame-wrap {
	background: #fff;
}

.rmp-pdf-modal .rmp-pdf-frame {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	background: #fff;
}

/* RMP 4.2 flipbook-style PDF modal loader */
.rmp-pdf-modal.active {
	display: grid;
}

.rmp-pdf-frame-wrap {
	position: relative;
}

.rmp-pdf-loading {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: grid;
	place-items: center;
	padding: 1rem;
	background: rgba(255,255,255,.88);
	color: var(--rmp-muted);
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	font-size: .78rem;
}

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


/* RMP 4.3 advanced element spacing + classic mobile menu */
body.rmp-theme .rmp-header-inner {
	padding-block: var(--rmp-header-pad-y);
	padding-inline: var(--rmp-header-pad-x);
	min-height: max(var(--rmp-header-height), calc(var(--rmp-logo-size) + (var(--rmp-header-pad-y) * 2)));
}
body.rmp-theme .rmp-logo-mark {
	width: var(--rmp-logo-size);
	height: var(--rmp-logo-size);
	min-width: var(--rmp-logo-size);
}
body.rmp-theme .rmp-logo-wrap img {
	max-height: var(--rmp-logo-size);
}
body.rmp-theme .rmp-brand { gap: var(--rmp-brand-gap); }
body.rmp-theme .rmp-header-tools { gap: var(--rmp-header-tools-gap); }
body.rmp-theme .rmp-menu { gap: var(--rmp-nav-gap); }
body.rmp-theme .rmp-menu a { padding: var(--rmp-nav-link-pad-y) var(--rmp-nav-link-pad-x); }
body.rmp-theme .rmp-button,
body.rmp-theme .wp-block-button__link {
	gap: var(--rmp-button-gap);
	padding: var(--rmp-button-pad-y) var(--rmp-button-pad-x);
}
body.rmp-theme .rmp-actions,
body.rmp-theme .rmp-card-actions { gap: var(--rmp-button-gap); }
body.rmp-theme .rmp-format-badges { gap: var(--rmp-badge-gap); }
body.rmp-theme .rmp-format-badge,
body.rmp-theme .rmp-badge,
body.rmp-theme .rmp-book-meta span,
body.rmp-theme .rmp-detail-meta span {
	gap: var(--rmp-badge-gap);
	padding: var(--rmp-badge-pad-y) var(--rmp-badge-pad-x);
}
body.rmp-theme .rmp-book-cover {
	margin-top: var(--rmp-book-cover-margin-top);
	margin-bottom: var(--rmp-book-cover-margin-bottom);
}
body.rmp-theme .rmp-book-content {
	padding-block: var(--rmp-card-content-pad-y);
}
body.single-rmp_book.rmp-theme .rmp-single-cover {
	margin-top: var(--rmp-single-cover-margin-top);
	margin-bottom: var(--rmp-single-cover-margin-bottom);
}
body.rmp-theme .rmp-pdf-standby { padding: var(--rmp-pdf-panel-padding); }
body.rmp-theme .rmp-footer { padding-block: var(--rmp-footer-padding-y); }

@media (max-width: 760px) {
	body.rmp-theme .rmp-menu-toggle {
		width: var(--rmp-mobile-toggle-size);
		height: var(--rmp-mobile-toggle-size);
		border-radius: var(--rmp-mobile-toggle-radius);
	}

	body.rmp-mobile-menu-classic .rmp-menu-scrim,
	body.rmp-mobile-menu-drawer .rmp-menu-scrim,
	body.rmp-mobile-menu-fullscreen .rmp-menu-scrim {
		background: rgb(8 28 23 / var(--rmp-mobile-overlay-opacity));
		backdrop-filter: none;
	}

	body.rmp-mobile-menu-classic .rmp-nav,
	body.rmp-mobile-menu-drawer .rmp-nav,
	body.rmp-mobile-menu-fullscreen .rmp-nav {
		display: flex;
		flex-direction: column;
		position: fixed;
		top: var(--rmp-mobile-menu-top-offset);
		bottom: 0;
		left: auto;
		right: 0;
		z-index: 10001;
		width: min(var(--rmp-mobile-menu-width), calc(100vw - 18px));
		max-width: none;
		height: calc(100dvh - var(--rmp-mobile-menu-top-offset));
		max-height: calc(100dvh - var(--rmp-mobile-menu-top-offset));
		padding: max(var(--rmp-mobile-menu-padding), env(safe-area-inset-top)) var(--rmp-mobile-menu-padding) max(var(--rmp-mobile-menu-padding), env(safe-area-inset-bottom));
		border: 0;
		border-left: 1px solid var(--rmp-line);
		border-radius: 0;
		background: linear-gradient(180deg, color-mix(in srgb, var(--rmp-bg-start) 98%, white 2%), color-mix(in srgb, var(--rmp-bg) 94%, white 6%));
		box-shadow: -28px 0 72px rgb(5 45 31 / 0.20);
		transform: translate3d(104%, 0, 0);
		visibility: hidden;
		pointer-events: none;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		transition: transform 220ms ease, visibility 220ms ease;
		will-change: transform;
	}

	body.rmp-mobile-menu-classic .rmp-nav {
		background: color-mix(in srgb, var(--rmp-bg-start) 98%, white 2%);
		box-shadow: -20px 0 54px rgb(5 45 31 / 0.18);
	}

	body.rmp-mobile-menu-side-left.rmp-mobile-menu-classic .rmp-nav,
	body.rmp-mobile-menu-side-left.rmp-mobile-menu-drawer .rmp-nav,
	body.rmp-mobile-menu-side-left.rmp-mobile-menu-fullscreen .rmp-nav {
		left: 0;
		right: auto;
		border-left: 0;
		border-right: 1px solid var(--rmp-line);
		box-shadow: 28px 0 72px rgb(5 45 31 / 0.20);
		transform: translate3d(-104%, 0, 0);
	}

	body.rmp-mobile-menu-classic .rmp-nav.is-open,
	body.rmp-mobile-menu-drawer .rmp-nav.is-open,
	body.rmp-mobile-menu-fullscreen .rmp-nav.is-open {
		transform: translate3d(0, 0, 0);
		visibility: visible;
		pointer-events: auto;
	}

	body.rmp-mobile-menu-classic .rmp-mobile-menu-head,
	body.rmp-mobile-menu-drawer .rmp-mobile-menu-head,
	body.rmp-mobile-menu-fullscreen .rmp-mobile-menu-head {
		order: 1;
		position: sticky;
		top: calc(var(--rmp-mobile-menu-padding) * -1);
		z-index: 2;
		margin: calc(var(--rmp-mobile-menu-padding) * -1) calc(var(--rmp-mobile-menu-padding) * -1) 0;
		padding: var(--rmp-mobile-menu-padding);
		background: color-mix(in srgb, var(--rmp-bg-start) 98%, white 2%);
		border-bottom: 1px solid var(--rmp-line);
	}

	body.rmp-mobile-search-top .rmp-nav-search { order: 2; }
	body.rmp-mobile-search-top .rmp-nav .rmp-menu { order: 3; }
	body.rmp-mobile-search-bottom .rmp-nav .rmp-menu { order: 2; }
	body.rmp-mobile-search-bottom .rmp-nav-search { order: 3; }

	body.rmp-theme .rmp-nav .rmp-menu {
		display: grid;
		gap: var(--rmp-mobile-menu-link-gap);
		width: 100%;
	}
	body.rmp-theme .rmp-nav .rmp-menu a {
		min-height: var(--rmp-mobile-menu-link-height);
		padding: var(--rmp-mobile-menu-link-pad-y) var(--rmp-mobile-menu-link-pad-x);
		justify-content: flex-start;
		border-radius: min(18px, var(--rmp-radius-button));
		background: rgb(255 255 255 / 0.66);
		border: 1px solid rgb(var(--rmp-accent-rgb) / 0.12);
	}
	body.rmp-theme .rmp-nav-search {
		display: block;
		margin-top: var(--rmp-mobile-menu-search-margin);
		margin-bottom: var(--rmp-mobile-menu-search-margin);
		padding-top: 0;
		width: 100%;
	}
	body.rmp-theme .rmp-nav-search .rmp-search-form { margin: 0; width: 100%; }
	body.rmp-theme .rmp-nav-search .rmp-search-shell { min-height: var(--rmp-mobile-menu-search-height); }

	body.rmp-mobile-menu-dropdown .rmp-nav {
		padding: var(--rmp-mobile-menu-padding);
	}

	body.admin-bar.rmp-mobile-menu-classic .rmp-nav,
	body.admin-bar.rmp-mobile-menu-drawer .rmp-nav,
	body.admin-bar.rmp-mobile-menu-fullscreen .rmp-nav {
		top: calc(46px + var(--rmp-mobile-menu-top-offset));
		height: calc(100dvh - 46px - var(--rmp-mobile-menu-top-offset));
		max-height: calc(100dvh - 46px - var(--rmp-mobile-menu-top-offset));
	}
}

/* RMP 4.4 — Pagemix Pro classic mobile drawer port
 * Uses the proven off-canvas pattern from Pagemix Pro while keeping RMP controls.
 */
@media (max-width: 859px) {
	body.rmp-theme {
		overflow-x: hidden;
	}

	html.rmp-menu-open,
	body.rmp-menu-open {
		overflow: hidden;
		touch-action: none;
	}

	body.rmp-menu-open .rmp-site-main,
	body.rmp-menu-open .rmp-site-footer {
		pointer-events: none;
	}

	.rmp-site-header {
		z-index: 1000;
	}

	.rmp-header-inner {
		position: relative;
		min-height: max(64px, var(--rmp-header-height));
		gap: clamp(0.6rem, 2.5vw, 1rem);
		align-items: center;
		justify-content: space-between;
	}

	.rmp-brand {
		flex: 1 1 auto;
		min-width: 0;
		max-width: calc(100vw - 112px);
	}

	.rmp-brand-text {
		min-width: 0;
	}

	.rmp-brand-text strong {
		max-width: min(48vw, 13rem);
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.rmp-brand-text small {
		display: none;
	}

	.rmp-header-search {
		display: none !important;
	}

	.rmp-header-tools {
		flex: 0 0 auto;
		margin-left: auto;
		gap: 0.55rem;
	}

	.rmp-menu-toggle,
	.rmp-menu-toggle.menu-toggle {
		display: inline-grid !important;
		place-items: center;
		position: relative;
		z-index: 10002;
		flex: 0 0 var(--rmp-mobile-toggle-size, 50px);
		width: var(--rmp-mobile-toggle-size, 50px);
		height: var(--rmp-mobile-toggle-size, 50px);
		min-width: var(--rmp-mobile-toggle-size, 50px);
		min-height: var(--rmp-mobile-toggle-size, 50px);
		padding: 0;
		border: 1px solid color-mix(in srgb, var(--rmp-line) 88%, transparent);
		border-radius: var(--rmp-mobile-toggle-radius, 18px);
		background: color-mix(in srgb, #fff 84%, var(--rmp-bg-start) 16%);
		color: var(--rmp-ink);
		box-shadow: 0 12px 30px rgb(5 45 31 / 0.09);
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
	}

	.rmp-menu-toggle span {
		display: block;
		width: 20px;
		height: 2px;
		margin: 3px auto;
		border-radius: 999px;
		background: currentColor;
		transition: transform 180ms ease, opacity 180ms ease;
		transform-origin: center;
	}

	.rmp-menu-toggle.is-active span:nth-child(1) {
		transform: translateY(5px) rotate(45deg);
	}

	.rmp-menu-toggle.is-active span:nth-child(2) {
		opacity: 0;
	}

	.rmp-menu-toggle.is-active span:nth-child(3) {
		transform: translateY(-5px) rotate(-45deg);
	}

	.rmp-menu-scrim,
	.rmp-mobile-menu-overlay {
		position: fixed;
		inset: 0;
		display: block;
		z-index: 10000;
		width: 100vw;
		height: 100vh;
		height: 100dvh;
		background: rgb(8 28 23 / var(--rmp-mobile-overlay-opacity, 0.34));
		backdrop-filter: none;
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
		transition: opacity 180ms ease, visibility 180ms ease;
	}

	.rmp-menu-scrim[hidden],
	.rmp-mobile-menu-overlay[hidden] {
		display: none;
	}

	.rmp-menu-scrim.is-open,
	.rmp-mobile-menu-overlay.is-open,
	body.rmp-menu-open .rmp-menu-scrim,
	body.rmp-menu-open .rmp-mobile-menu-overlay {
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
	}

	body.rmp-mobile-menu-classic .rmp-nav,
	body.rmp-mobile-menu-drawer .rmp-nav,
	body.rmp-mobile-menu-fullscreen .rmp-nav,
	.rmp-nav.rmp-drawer {
		position: fixed !important;
		top: 0 !important;
		bottom: auto !important;
		left: auto !important;
		right: 0 !important;
		display: flex !important;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		box-sizing: border-box;
		width: min(88vw, var(--rmp-mobile-menu-width, 360px)) !important;
		max-width: 100vw;
		height: 100vh;
		height: 100dvh;
		min-width: 0;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden;
		background: color-mix(in srgb, var(--rmp-bg-start) 98%, white 2%);
		border: 0;
		border-left: 1px solid var(--rmp-line);
		border-radius: 0;
		box-shadow: -24px 0 60px rgb(5 45 31 / 0.18), -2px 0 8px rgb(5 45 31 / 0.08);
		opacity: 1;
		visibility: visible;
		pointer-events: none;
		transform: translateX(110%);
		transition: transform 240ms cubic-bezier(0.4, 0, 0.2, 1);
		will-change: transform;
		z-index: 10001;
	}

	body.rmp-mobile-menu-side-left .rmp-nav.rmp-drawer,
	body.rmp-mobile-menu-side-left.rmp-mobile-menu-classic .rmp-nav,
	body.rmp-mobile-menu-side-left.rmp-mobile-menu-drawer .rmp-nav,
	body.rmp-mobile-menu-side-left.rmp-mobile-menu-fullscreen .rmp-nav {
		left: 0 !important;
		right: auto !important;
		border-left: 0;
		border-right: 1px solid var(--rmp-line);
		box-shadow: 24px 0 60px rgb(5 45 31 / 0.18), 2px 0 8px rgb(5 45 31 / 0.08);
		transform: translateX(-110%);
	}

	body.rmp-mobile-menu-fullscreen .rmp-nav {
		width: 100vw !important;
		max-width: none;
		border: 0;
		box-shadow: none;
	}

	.rmp-nav.rmp-drawer.is-open,
	.rmp-nav.rmp-drawer.toggled,
	body.rmp-mobile-menu-classic .rmp-nav.is-open,
	body.rmp-mobile-menu-drawer .rmp-nav.is-open,
	body.rmp-mobile-menu-fullscreen .rmp-nav.is-open {
		pointer-events: auto;
		transform: translateX(0) !important;
	}

	.rmp-mobile-menu-head {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		flex: 0 0 auto;
		gap: 1rem;
		margin: 0;
		padding: var(--rmp-mobile-menu-padding, 18px);
		padding-top: max(var(--rmp-mobile-menu-padding, 18px), env(safe-area-inset-top));
		border-bottom: 1px solid var(--rmp-line);
		background: color-mix(in srgb, var(--rmp-bg-start) 98%, white 2%);
	}

	.rmp-mobile-menu-brand {
		display: flex;
		align-items: center;
		gap: 0.7rem;
		min-width: 0;
		color: var(--rmp-ink);
	}

	.rmp-mobile-menu-brand .rmp-logo-mark {
		width: 38px;
		height: 38px;
		min-width: 38px;
	}

	.rmp-mobile-menu-brand span:last-child {
		display: flex;
		min-width: 0;
		flex-direction: column;
		gap: 0.12rem;
	}

	.rmp-mobile-menu-brand strong {
		font-size: 0.95rem;
		line-height: 1.05;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.rmp-mobile-menu-brand small {
		font-size: 0.72rem;
		line-height: 1.2;
		color: var(--rmp-muted);
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.rmp-menu-close {
		display: inline-grid !important;
		place-items: center;
		flex: 0 0 auto;
		width: 40px;
		height: 40px;
		min-width: 40px;
		min-height: 40px;
		padding: 0;
		border: 1px solid color-mix(in srgb, var(--rmp-ink) 18%, var(--rmp-line));
		border-radius: 999px;
		background: color-mix(in srgb, #fff 78%, var(--rmp-bg-start) 22%);
		color: var(--rmp-ink);
		box-shadow: 0 8px 18px rgb(5 45 31 / 0.09);
		font-size: 1.35rem;
		font-weight: 700;
		line-height: 1;
		cursor: pointer;
	}

	.rmp-nav-search {
		display: block !important;
		flex: 0 0 auto;
		width: 100%;
		box-sizing: border-box;
		margin: 0 !important;
		padding: var(--rmp-mobile-menu-search-margin, 16px) var(--rmp-mobile-menu-padding, 18px);
		border-bottom: 1px solid var(--rmp-line);
	}

	body.rmp-mobile-search-top .rmp-nav-search { order: 2; }
	body.rmp-mobile-search-top .rmp-nav .rmp-menu { order: 3; }
	body.rmp-mobile-search-bottom .rmp-nav .rmp-menu { order: 2; }
	body.rmp-mobile-search-bottom .rmp-nav-search { order: 3; border-top: 1px solid var(--rmp-line); border-bottom: 0; }

	.rmp-nav-search .rmp-search-form,
	.rmp-nav-search .rmp-search-shell,
	.rmp-nav-search label,
	.rmp-nav-search input[type="search"] {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

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

	.rmp-nav-search .rmp-search-shell {
		min-height: var(--rmp-mobile-menu-search-height, 46px);
	}

	.rmp-nav .rmp-menu {
		display: block !important;
		flex: 1 1 auto;
		width: 100%;
		box-sizing: border-box;
		margin: 0 !important;
		padding: 10px 12px max(16px, env(safe-area-inset-bottom)) !important;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		list-style: none;
	}

	.rmp-nav .rmp-menu li {
		position: relative;
		width: 100%;
		margin: 0 0 var(--rmp-mobile-menu-link-gap, 8px);
	}

	.rmp-nav .rmp-menu a {
		display: flex !important;
		align-items: center;
		justify-content: flex-start;
		box-sizing: border-box;
		width: 100%;
		min-height: var(--rmp-mobile-menu-link-height, 52px);
		margin: 0;
		padding: var(--rmp-mobile-menu-link-pad-y, 14px) var(--rmp-mobile-menu-link-pad-x, 16px) !important;
		border: 0;
		border-radius: var(--rmp-radius-button);
		background: transparent;
		box-shadow: none;
		color: var(--rmp-ink);
		font-size: 1rem;
		font-weight: 800;
		line-height: 1.3;
		text-align: start;
		text-decoration: none;
		text-transform: none;
		letter-spacing: 0;
		transition: background-color 140ms ease, color 140ms ease;
	}

	.rmp-nav .rmp-menu a:hover,
	.rmp-nav .rmp-menu a:focus-visible,
	.rmp-nav .rmp-menu .current-menu-item > a,
	.rmp-nav .rmp-menu .current_page_item > a {
		background: rgb(var(--rmp-accent-rgb) / 0.10);
		color: var(--rmp-accent);
		outline: none;
	}

	.rmp-nav .rmp-menu ul {
		position: static;
		display: block;
		min-width: 0;
		margin: 0;
		padding: 0 0 0 12px;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		transform: none;
		list-style: none;
	}

	.rmp-nav .rmp-menu ul a {
		min-height: 42px;
		padding-block: 9px !important;
		font-size: 0.92rem;
		font-weight: 750;
		color: var(--rmp-muted);
	}

	body.admin-bar .rmp-nav.rmp-drawer,
	body.admin-bar.rmp-mobile-menu-classic .rmp-nav,
	body.admin-bar.rmp-mobile-menu-drawer .rmp-nav,
	body.admin-bar.rmp-mobile-menu-fullscreen .rmp-nav {
		top: 46px !important;
		height: calc(100dvh - 46px);
		max-height: calc(100dvh - 46px);
	}

	body.admin-bar .rmp-menu-scrim,
	body.admin-bar .rmp-mobile-menu-overlay {
		top: 46px;
		height: calc(100dvh - 46px);
	}
}

@media (min-width: 860px) {
	.rmp-menu-scrim,
	.rmp-mobile-menu-overlay,
	.rmp-mobile-menu-head,
	.rmp-menu-close {
		display: none !important;
	}

	.rmp-nav {
		position: static !important;
		transform: none !important;
		visibility: visible !important;
		pointer-events: auto !important;
		height: auto !important;
		width: auto !important;
		padding: 0 !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
	}
}

/* RMP 4.5 — hard classic mobile drawer reset.
 * This deliberately overrides previous experimental drawer layers and keeps the
 * menu behavior close to the known-working Pagemix Pro pattern.
 */
@media (max-width: 859px) {
	body.rmp-theme {
		overflow-x: hidden;
	}

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

	/* Do not disable links by pointer-events on the page; the scrim handles outside clicks. */
	body.rmp-menu-open .rmp-site-main,
	body.rmp-menu-open .rmp-site-footer {
		pointer-events: auto !important;
	}

	.rmp-site-header {
		z-index: 1000;
	}

	.rmp-header-inner {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.85rem;
		min-height: max(64px, var(--rmp-header-height));
	}

	.rmp-brand {
		flex: 1 1 auto;
		min-width: 0;
		max-width: calc(100vw - 112px);
	}

	.rmp-brand-text strong {
		display: block;
		max-width: min(48vw, 13rem);
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.rmp-brand-text small,
	.rmp-header-search {
		display: none !important;
	}

	.rmp-header-tools {
		flex: 0 0 auto;
		margin-left: auto;
		gap: 0.55rem;
	}

	.rmp-menu-toggle,
	.rmp-menu-toggle.menu-toggle,
	button.rmp-menu-toggle {
		display: inline-grid !important;
		place-items: center;
		position: relative;
		z-index: 10002;
		flex: 0 0 var(--rmp-mobile-toggle-size, 50px);
		width: var(--rmp-mobile-toggle-size, 50px);
		height: var(--rmp-mobile-toggle-size, 50px);
		min-width: var(--rmp-mobile-toggle-size, 50px);
		min-height: var(--rmp-mobile-toggle-size, 50px);
		padding: 0 !important;
		border: 1px solid color-mix(in srgb, var(--rmp-line) 86%, transparent);
		border-radius: var(--rmp-mobile-toggle-radius, 18px);
		background: color-mix(in srgb, #fff 86%, var(--rmp-bg-start) 14%);
		color: var(--rmp-ink);
		box-shadow: 0 12px 30px rgb(5 45 31 / 0.09);
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
	}

	.rmp-menu-toggle span {
		display: block;
		width: 20px;
		height: 2px;
		margin: 3px auto;
		border-radius: 999px;
		background: currentColor;
		transition: transform 180ms ease, opacity 180ms ease;
		transform-origin: center;
	}

	.rmp-menu-toggle.is-active span:nth-child(1) { transform: translateY(5px) rotate(45deg); }
	.rmp-menu-toggle.is-active span:nth-child(2) { opacity: 0; }
	.rmp-menu-toggle.is-active span:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }

	.rmp-menu-scrim,
	.rmp-mobile-menu-overlay {
		position: fixed !important;
		inset: 0 !important;
		display: block;
		z-index: 10000;
		width: 100vw;
		height: 100vh;
		height: 100dvh;
		background: rgb(8 28 23 / var(--rmp-mobile-overlay-opacity, 0.34));
		backdrop-filter: none !important;
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
		transition: opacity 180ms ease, visibility 180ms ease;
	}

	.rmp-menu-scrim[hidden],
	.rmp-mobile-menu-overlay[hidden] {
		display: none;
	}

	.rmp-menu-scrim.is-open,
	.rmp-mobile-menu-overlay.is-open,
	body.rmp-menu-open .rmp-menu-scrim,
	body.rmp-menu-open .rmp-mobile-menu-overlay {
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
	}

	.rmp-nav.rmp-drawer,
	body.rmp-mobile-menu-classic .rmp-nav,
	body.rmp-mobile-menu-drawer .rmp-nav,
	body.rmp-mobile-menu-fullscreen .rmp-nav {
		position: fixed !important;
		top: var(--rmp-mobile-menu-top-offset, 0px) !important;
		bottom: auto !important;
		left: auto !important;
		right: 0 !important;
		display: flex !important;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		box-sizing: border-box;
		width: min(88vw, var(--rmp-mobile-menu-width, 360px)) !important;
		max-width: 100vw;
		height: calc(100dvh - var(--rmp-mobile-menu-top-offset, 0px));
		min-width: 0;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden;
		background: color-mix(in srgb, var(--rmp-bg-start) 98%, white 2%);
		border: 0;
		border-left: 1px solid var(--rmp-line);
		border-radius: 0;
		box-shadow: -24px 0 60px rgb(5 45 31 / 0.18), -2px 0 8px rgb(5 45 31 / 0.08);
		opacity: 1;
		visibility: visible;
		pointer-events: none;
		transform: translateX(110%);
		transition: transform 240ms cubic-bezier(0.4, 0, 0.2, 1);
		will-change: transform;
		z-index: 10001;
	}

	body.rmp-mobile-menu-side-left .rmp-nav.rmp-drawer,
	body.rmp-mobile-menu-side-left.rmp-mobile-menu-classic .rmp-nav,
	body.rmp-mobile-menu-side-left.rmp-mobile-menu-drawer .rmp-nav,
	body.rmp-mobile-menu-side-left.rmp-mobile-menu-fullscreen .rmp-nav {
		left: 0 !important;
		right: auto !important;
		border-left: 0;
		border-right: 1px solid var(--rmp-line);
		box-shadow: 24px 0 60px rgb(5 45 31 / 0.18), 2px 0 8px rgb(5 45 31 / 0.08);
		transform: translateX(-110%);
	}

	body.rmp-mobile-menu-fullscreen .rmp-nav {
		width: 100vw !important;
		max-width: none;
		border: 0;
		box-shadow: none;
	}

	.rmp-nav.rmp-drawer.is-open,
	.rmp-nav.rmp-drawer.toggled,
	body.rmp-mobile-menu-classic .rmp-nav.is-open,
	body.rmp-mobile-menu-drawer .rmp-nav.is-open,
	body.rmp-mobile-menu-fullscreen .rmp-nav.is-open {
		pointer-events: auto;
		transform: translateX(0) !important;
	}

	.rmp-mobile-menu-head {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		flex: 0 0 auto;
		gap: 1rem;
		margin: 0;
		padding: var(--rmp-mobile-menu-padding, 18px);
		padding-top: max(var(--rmp-mobile-menu-padding, 18px), env(safe-area-inset-top));
		border-bottom: 1px solid var(--rmp-line);
		background: color-mix(in srgb, var(--rmp-bg-start) 98%, white 2%);
	}

	.rmp-mobile-menu-brand {
		display: flex;
		align-items: center;
		gap: 0.7rem;
		min-width: 0;
		color: var(--rmp-ink);
	}

	.rmp-mobile-menu-brand .rmp-logo-mark {
		width: 38px;
		height: 38px;
		min-width: 38px;
	}

	.rmp-mobile-menu-brand span:last-child {
		display: flex;
		min-width: 0;
		flex-direction: column;
		gap: 0.12rem;
	}

	.rmp-mobile-menu-brand strong {
		font-size: 0.95rem;
		line-height: 1.05;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.rmp-mobile-menu-brand small {
		font-size: 0.72rem;
		line-height: 1.2;
		color: var(--rmp-muted);
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.rmp-menu-close {
		display: inline-grid !important;
		place-items: center;
		flex: 0 0 auto;
		width: 40px;
		height: 40px;
		min-width: 40px;
		min-height: 40px;
		padding: 0;
		border: 1px solid color-mix(in srgb, var(--rmp-ink) 18%, var(--rmp-line));
		border-radius: 999px;
		background: color-mix(in srgb, #fff 78%, var(--rmp-bg-start) 22%);
		color: var(--rmp-ink);
		box-shadow: 0 8px 18px rgb(5 45 31 / 0.09);
		font-size: 1.35rem;
		font-weight: 700;
		line-height: 1;
		cursor: pointer;
	}

	.rmp-nav-search {
		display: block !important;
		flex: 0 0 auto;
		width: 100%;
		box-sizing: border-box;
		margin: 0 !important;
		padding: var(--rmp-mobile-menu-search-margin, 16px) var(--rmp-mobile-menu-padding, 18px);
		border-bottom: 1px solid var(--rmp-line);
	}

	body.rmp-mobile-search-top .rmp-nav-search { order: 2; }
	body.rmp-mobile-search-top .rmp-nav .rmp-menu { order: 3; }
	body.rmp-mobile-search-bottom .rmp-nav .rmp-menu { order: 2; }
	body.rmp-mobile-search-bottom .rmp-nav-search { order: 3; border-top: 1px solid var(--rmp-line); border-bottom: 0; }

	.rmp-nav-search .rmp-search-form,
	.rmp-nav-search .rmp-search-shell,
	.rmp-nav-search label,
	.rmp-nav-search input[type="search"] {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

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

	.rmp-nav-search .rmp-search-shell {
		min-height: var(--rmp-mobile-menu-search-height, 46px);
	}

	.rmp-nav .rmp-menu {
		display: block !important;
		flex: 1 1 auto;
		width: 100%;
		box-sizing: border-box;
		margin: 0 !important;
		padding: 10px 12px max(16px, env(safe-area-inset-bottom)) !important;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		list-style: none;
	}

	.rmp-nav .rmp-menu li {
		position: relative;
		width: 100%;
		margin: 0 0 var(--rmp-mobile-menu-link-gap, 8px);
	}

	.rmp-nav .rmp-menu a {
		display: flex !important;
		align-items: center;
		justify-content: flex-start;
		box-sizing: border-box;
		width: 100%;
		min-height: var(--rmp-mobile-menu-link-height, 52px);
		margin: 0;
		padding: var(--rmp-mobile-menu-link-pad-y, 14px) var(--rmp-mobile-menu-link-pad-x, 16px) !important;
		border: 0;
		border-radius: var(--rmp-radius-button);
		background: transparent;
		box-shadow: none;
		color: var(--rmp-ink);
		font-size: 1rem;
		font-weight: 800;
		line-height: 1.3;
		text-align: start;
		text-decoration: none;
		text-transform: none;
		letter-spacing: 0;
		transition: background-color 140ms ease, color 140ms ease;
	}

	.rmp-nav .rmp-menu a:hover,
	.rmp-nav .rmp-menu a:focus-visible,
	.rmp-nav .rmp-menu .current-menu-item > a,
	.rmp-nav .rmp-menu .current_page_item > a {
		background: rgb(var(--rmp-accent-rgb) / 0.10);
		color: var(--rmp-accent);
		outline: none;
	}

	.rmp-nav .rmp-menu ul {
		position: static;
		display: block;
		min-width: 0;
		margin: 0;
		padding: 0 0 0 12px;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		transform: none;
		list-style: none;
	}

	.rmp-nav .rmp-menu ul a {
		min-height: 42px;
		padding-block: 9px !important;
		font-size: 0.92rem;
		font-weight: 750;
		color: var(--rmp-muted);
	}

	body.admin-bar .rmp-nav.rmp-drawer,
	body.admin-bar.rmp-mobile-menu-classic .rmp-nav,
	body.admin-bar.rmp-mobile-menu-drawer .rmp-nav,
	body.admin-bar.rmp-mobile-menu-fullscreen .rmp-nav {
		top: 46px !important;
		height: calc(100dvh - 46px - var(--rmp-mobile-menu-top-offset, 0px));
		max-height: calc(100dvh - 46px - var(--rmp-mobile-menu-top-offset, 0px));
	}

	body.admin-bar .rmp-menu-scrim,
	body.admin-bar .rmp-mobile-menu-overlay {
		top: 46px !important;
		height: calc(100dvh - 46px);
	}
}

@media (min-width: 860px) {
	.rmp-menu-scrim,
	.rmp-mobile-menu-overlay,
	.rmp-mobile-menu-head,
	.rmp-menu-close {
		display: none !important;
	}

	.rmp-nav {
		position: static !important;
		transform: none !important;
		visibility: visible !important;
		pointer-events: auto !important;
		height: auto !important;
		width: auto !important;
		padding: 0 !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
	}
}

/* RMP 4.8 — true classic mobile menu rebuild.
 * This uses a separate mobile drawer instead of reusing the desktop nav, which
 * avoids the transparent/jumpy behavior caused by old responsive nav layers.
 */
.rmp-classic-mobile-drawer,
.rmp-classic-menu-overlay {
	display: none;
}

@media (max-width: 859px) {
	body.rmp-theme {
		overflow-x: hidden;
	}

	html.rmp-menu-open,
	body.rmp-menu-open {
		overflow: hidden !important;
		touch-action: none;
	}

	.rmp-desktop-nav,
	.rmp-nav.rmp-desktop-nav,
	body.rmp-mobile-menu-classic .rmp-nav.rmp-desktop-nav,
	body.rmp-mobile-menu-drawer .rmp-nav.rmp-desktop-nav,
	body.rmp-mobile-menu-fullscreen .rmp-nav.rmp-desktop-nav {
		display: none !important;
	}

	.rmp-site-header {
		position: relative;
		z-index: 1000;
	}

	.rmp-header-inner {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.85rem;
		min-height: max(64px, var(--rmp-header-height));
	}

	.rmp-brand {
		flex: 1 1 auto;
		min-width: 0;
		max-width: calc(100vw - 112px);
	}

	.rmp-brand-text strong {
		display: block;
		max-width: min(48vw, 13rem);
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.rmp-brand-text small,
	.rmp-header-search {
		display: none !important;
	}

	.rmp-header-tools {
		flex: 0 0 auto;
		margin-left: auto;
		gap: 0.55rem;
	}

	.rmp-menu-toggle,
	.rmp-menu-toggle.menu-toggle,
	button.rmp-menu-toggle {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		position: relative;
		z-index: 10002;
		flex: 0 0 var(--rmp-mobile-toggle-size, 50px);
		width: var(--rmp-mobile-toggle-size, 50px);
		height: var(--rmp-mobile-toggle-size, 50px);
		min-width: var(--rmp-mobile-toggle-size, 50px);
		min-height: var(--rmp-mobile-toggle-size, 50px);
		padding: 0 !important;
		border: 1px solid color-mix(in srgb, var(--rmp-line) 90%, transparent);
		border-radius: var(--rmp-mobile-toggle-radius, 16px);
		background: color-mix(in srgb, #fff 92%, var(--rmp-bg-start) 8%);
		color: var(--rmp-ink);
		box-shadow: 0 10px 24px rgb(5 45 31 / 0.10);
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
	}

	.rmp-menu-toggle span {
		display: block;
		width: 20px;
		height: 2px;
		margin: 3px 0;
		border-radius: 999px;
		background: currentColor;
		transition: transform 160ms ease, opacity 160ms ease;
		transform-origin: center;
	}

	.rmp-menu-toggle.is-active span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
	.rmp-menu-toggle.is-active span:nth-child(2) { opacity: 0; }
	.rmp-menu-toggle.is-active span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

	.rmp-classic-menu-overlay,
	.rmp-mobile-menu-overlay.rmp-classic-menu-overlay {
		position: fixed !important;
		inset: 0 !important;
		display: block;
		z-index: 10000;
		width: 100vw;
		height: 100vh;
		height: 100dvh;
		background: rgb(8 28 23 / var(--rmp-mobile-overlay-opacity, 0.34));
		backdrop-filter: none !important;
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
		transition: opacity 180ms ease, visibility 180ms ease;
	}

	.rmp-classic-menu-overlay[hidden] {
		display: none;
	}

	.rmp-classic-menu-overlay.is-open,
	body.rmp-menu-open .rmp-classic-menu-overlay {
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
	}

	.rmp-classic-mobile-drawer {
		position: fixed !important;
		top: var(--rmp-mobile-menu-top-offset, 0px) !important;
		bottom: auto !important;
		left: auto !important;
		right: 0 !important;
		display: flex !important;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		box-sizing: border-box;
		width: min(88vw, var(--rmp-mobile-menu-width, 360px)) !important;
		max-width: 100vw;
		height: calc(100dvh - var(--rmp-mobile-menu-top-offset, 0px));
		min-width: 0;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden;
		background: var(--rmp-bg-start, #f5fbf6) !important;
		background-image: radial-gradient(circle at 18% 0%, rgb(var(--rmp-accent-rgb) / 0.08), transparent 34%) !important;
		border: 0;
		border-left: 1px solid var(--rmp-line);
		border-radius: 0;
		box-shadow: -20px 0 56px rgb(5 45 31 / 0.18), -2px 0 8px rgb(5 45 31 / 0.08);
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: none;
		transform: translateX(110%);
		transition: transform 220ms cubic-bezier(0.4, 0, 0.2, 1);
		will-change: transform;
		z-index: 10001;
	}

	body.rmp-mobile-menu-side-left .rmp-classic-mobile-drawer {
		left: 0 !important;
		right: auto !important;
		border-left: 0;
		border-right: 1px solid var(--rmp-line);
		box-shadow: 20px 0 56px rgb(5 45 31 / 0.18), 2px 0 8px rgb(5 45 31 / 0.08);
		transform: translateX(-110%);
	}

	body.rmp-mobile-menu-fullscreen .rmp-classic-mobile-drawer {
		width: 100vw !important;
		max-width: none;
		border: 0;
		box-shadow: none;
	}

	.rmp-classic-mobile-drawer.is-open,
	.rmp-classic-mobile-drawer.toggled {
		pointer-events: auto;
		transform: translateX(0) !important;
	}

	.rmp-classic-mobile-drawer .rmp-mobile-menu-head {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		flex: 0 0 auto;
		gap: 1rem;
		margin: 0;
		padding: var(--rmp-mobile-menu-padding, 18px);
		padding-top: max(var(--rmp-mobile-menu-padding, 18px), env(safe-area-inset-top));
		border-bottom: 1px solid var(--rmp-line);
		background: color-mix(in srgb, var(--rmp-bg-start) 96%, #fff 4%);
	}

	.rmp-classic-mobile-drawer .rmp-mobile-menu-brand {
		display: flex;
		align-items: center;
		gap: 0.7rem;
		min-width: 0;
		color: var(--rmp-ink);
	}

	.rmp-classic-mobile-drawer .rmp-mobile-menu-brand .rmp-logo-mark {
		width: 38px;
		height: 38px;
		min-width: 38px;
	}

	.rmp-classic-mobile-drawer .rmp-mobile-menu-brand span:last-child {
		display: flex;
		min-width: 0;
		flex-direction: column;
		gap: 0.12rem;
	}

	.rmp-classic-mobile-drawer .rmp-mobile-menu-brand strong {
		font-size: 0.95rem;
		line-height: 1.05;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.rmp-classic-mobile-drawer .rmp-mobile-menu-brand small {
		font-size: 0.72rem;
		line-height: 1.2;
		color: var(--rmp-muted);
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.rmp-classic-mobile-drawer .rmp-menu-close {
		display: inline-grid !important;
		place-items: center;
		flex: 0 0 auto;
		width: 40px;
		height: 40px;
		min-width: 40px;
		min-height: 40px;
		padding: 0 !important;
		border: 1px solid color-mix(in srgb, var(--rmp-ink) 16%, var(--rmp-line));
		border-radius: 999px;
		background: #fff;
		color: var(--rmp-ink);
		box-shadow: 0 8px 18px rgb(5 45 31 / 0.09);
		font-size: 1.35rem;
		font-weight: 700;
		line-height: 1;
		cursor: pointer;
	}

	.rmp-classic-mobile-drawer .rmp-nav-search {
		display: block !important;
		flex: 0 0 auto;
		width: 100%;
		box-sizing: border-box;
		margin: 0 !important;
		padding: var(--rmp-mobile-menu-search-margin, 16px) var(--rmp-mobile-menu-padding, 18px);
		border-bottom: 1px solid var(--rmp-line);
		background: color-mix(in srgb, var(--rmp-bg-start) 98%, #fff 2%);
	}

	body.rmp-mobile-search-top .rmp-classic-mobile-drawer .rmp-nav-search { order: 2; }
	body.rmp-mobile-search-top .rmp-classic-mobile-drawer .rmp-mobile-drawer-nav { order: 3; }
	body.rmp-mobile-search-bottom .rmp-classic-mobile-drawer .rmp-mobile-drawer-nav { order: 2; }
	body.rmp-mobile-search-bottom .rmp-classic-mobile-drawer .rmp-nav-search { order: 3; border-top: 1px solid var(--rmp-line); border-bottom: 0; }

	.rmp-classic-mobile-drawer .rmp-search-form,
	.rmp-classic-mobile-drawer .rmp-search-shell,
	.rmp-classic-mobile-drawer label,
	.rmp-classic-mobile-drawer input[type="search"] {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.rmp-classic-mobile-drawer .rmp-search-form {
		margin: 0;
	}

	.rmp-classic-mobile-drawer .rmp-search-shell {
		min-height: var(--rmp-mobile-menu-search-height, 46px);
		background: #fff;
	}

	.rmp-classic-mobile-drawer .rmp-mobile-drawer-nav {
		display: block;
		flex: 1 1 auto;
		width: 100%;
		margin: 0;
		padding: 10px 12px max(16px, env(safe-area-inset-bottom));
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.rmp-classic-mobile-drawer .rmp-menu,
	.rmp-classic-mobile-drawer .rmp-menu ul {
		display: block !important;
		width: 100%;
		margin: 0 !important;
		padding: 0 !important;
		list-style: none;
		background: transparent;
		box-shadow: none;
		border: 0;
		position: static;
		visibility: visible;
		opacity: 1;
		transform: none;
	}

	.rmp-classic-mobile-drawer .rmp-menu li {
		position: relative;
		width: 100%;
		margin: 0 0 var(--rmp-mobile-menu-link-gap, 8px);
	}

	.rmp-classic-mobile-drawer .rmp-menu a {
		display: block !important;
		box-sizing: border-box;
		width: 100%;
		min-height: var(--rmp-mobile-menu-link-height, 52px);
		margin: 0;
		padding: var(--rmp-mobile-menu-link-pad-y, 14px) var(--rmp-mobile-menu-link-pad-x, 16px) !important;
		border: 0;
		border-radius: var(--rmp-radius-button);
		background: transparent;
		box-shadow: none;
		color: var(--rmp-ink);
		font-size: 1rem;
		font-weight: 750;
		line-height: 1.35;
		text-align: start;
		text-decoration: none;
		text-transform: none;
		letter-spacing: 0;
		transition: background-color 140ms ease, color 140ms ease;
	}

	.rmp-classic-mobile-drawer .rmp-menu a:hover,
	.rmp-classic-mobile-drawer .rmp-menu a:focus-visible,
	.rmp-classic-mobile-drawer .rmp-menu .current-menu-item > a,
	.rmp-classic-mobile-drawer .rmp-menu .current_page_item > a {
		background: rgb(var(--rmp-accent-rgb) / 0.10);
		color: var(--rmp-accent);
		outline: none;
	}

	.rmp-classic-mobile-drawer .rmp-menu ul {
		padding-left: 12px !important;
	}

	.rmp-classic-mobile-drawer .rmp-menu ul a {
		min-height: 42px;
		padding-block: 9px !important;
		font-size: 0.92rem;
		font-weight: 650;
		color: var(--rmp-muted);
	}

	body.admin-bar .rmp-classic-mobile-drawer {
		top: 46px !important;
		height: calc(100dvh - 46px - var(--rmp-mobile-menu-top-offset, 0px));
	}

	body.admin-bar .rmp-classic-menu-overlay {
		top: 46px !important;
		height: calc(100dvh - 46px);
	}
}

@media (min-width: 860px) {
	.rmp-classic-mobile-drawer,
	.rmp-classic-menu-overlay,
	.rmp-menu-toggle {
		display: none !important;
	}

	.rmp-desktop-nav,
	.rmp-nav.rmp-desktop-nav {
		display: flex !important;
		position: static !important;
		transform: none !important;
		visibility: visible !important;
		pointer-events: auto !important;
		height: auto !important;
		width: auto !important;
		padding: 0 !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
	}
}

/* RMP 4.9: repaired mobile single-book cover presentation */
@media (max-width: 760px) {
	body.single-rmp_book.rmp-theme.rmp-mobile-cover-unified:not(.rmp-mobile-book-side-by-side) .rmp-single-book {
		padding-top: clamp(0.9rem, 3vw, 1.6rem);
	}

	body.single-rmp_book.rmp-theme.rmp-mobile-cover-unified:not(.rmp-mobile-book-side-by-side) .rmp-single-book-grid {
		background: var(--rmp-panel);
		border: 1px solid var(--rmp-line);
		border-radius: var(--rmp-radius-panel);
		box-shadow: 0 20px 60px rgb(var(--rmp-accent-rgb) / 0.09);
		padding: clamp(1rem, 4vw, 1.6rem);
		gap: clamp(0.9rem, 4vw, 1.3rem);
	}

	body.single-rmp_book.rmp-theme.rmp-mobile-cover-unified:not(.rmp-mobile-book-side-by-side) .rmp-single-cover,
	body.single-rmp_book.rmp-theme.rmp-mobile-cover-unified:not(.rmp-mobile-book-side-by-side).rmp-single-layout-cover-right .rmp-single-cover {
		width: min(58vw, var(--rmp-mobile-single-cover));
		max-width: var(--rmp-mobile-single-cover);
		margin: 0 auto !important;
	}

	body.single-rmp_book.rmp-theme.rmp-mobile-cover-unified:not(.rmp-mobile-book-side-by-side) .rmp-single-cover img,
	body.single-rmp_book.rmp-theme.rmp-mobile-cover-unified:not(.rmp-mobile-book-side-by-side) .rmp-single-cover .rmp-cover-placeholder {
		width: 100%;
		height: auto;
		max-height: min(56vh, 340px);
		object-fit: contain;
		box-shadow: 0 14px 34px rgb(var(--rmp-accent-rgb) / 0.11);
	}

	body.single-rmp_book.rmp-theme.rmp-mobile-cover-unified:not(.rmp-mobile-book-side-by-side) .rmp-book-detail,
	body.single-rmp_book.rmp-theme.rmp-mobile-cover-unified:not(.rmp-mobile-book-side-by-side).rmp-single-layout-cover-right .rmp-book-detail {
		background: transparent;
		border: 0;
		box-shadow: none;
		border-radius: 0;
		padding: clamp(0.25rem, 1.5vw, 0.6rem) 0 0 !important;
	}

	body.single-rmp_book.rmp-theme.rmp-mobile-cover-minimal:not(.rmp-mobile-book-side-by-side) .rmp-single-book {
		padding-top: clamp(0.7rem, 2.5vw, 1.2rem);
	}

	body.single-rmp_book.rmp-theme.rmp-mobile-cover-minimal:not(.rmp-mobile-book-side-by-side) .rmp-single-book-grid {
		gap: clamp(0.65rem, 3vw, 1rem);
	}

	body.single-rmp_book.rmp-theme.rmp-mobile-cover-minimal:not(.rmp-mobile-book-side-by-side) .rmp-single-cover {
		width: min(50vw, var(--rmp-mobile-single-cover));
		margin: 0 auto !important;
	}

	body.single-rmp_book.rmp-theme.rmp-mobile-cover-floating:not(.rmp-mobile-book-side-by-side) .rmp-single-cover {
		width: min(58vw, var(--rmp-mobile-single-cover));
		margin-inline: auto !important;
	}
}

@media (max-width: 420px) {
	body.single-rmp_book.rmp-theme.rmp-mobile-cover-unified:not(.rmp-mobile-book-side-by-side) .rmp-single-book-grid {
		padding: clamp(0.9rem, 4.5vw, 1.25rem);
	}

	body.single-rmp_book.rmp-theme.rmp-mobile-cover-unified:not(.rmp-mobile-book-side-by-side) .rmp-single-cover,
	body.single-rmp_book.rmp-theme.rmp-mobile-cover-floating:not(.rmp-mobile-book-side-by-side) .rmp-single-cover {
		width: min(62vw, var(--rmp-mobile-single-cover));
	}

	body.single-rmp_book.rmp-theme.rmp-mobile-cover-minimal:not(.rmp-mobile-book-side-by-side) .rmp-single-cover {
		width: min(54vw, var(--rmp-mobile-single-cover));
	}
}

/* --------------------------------------------------------------------------
   RMP Members + Reader Library
   -------------------------------------------------------------------------- */
.rmp-account-button {
	appearance: none;
	border: 1px solid color-mix(in srgb, var(--rmp-accent, #00a878) 28%, transparent);
	background: color-mix(in srgb, var(--rmp-accent, #00a878) 10%, #fff 90%);
	color: var(--rmp-ink, #06251f);
	font: inherit;
	font-size: clamp(.78rem, .72rem + .2vw, .94rem);
	font-weight: 850;
	line-height: 1;
	border-radius: var(--rmp-button-radius, 999px);
	padding: .76rem 1rem;
	text-decoration: none;
	cursor: pointer;
	white-space: nowrap;
	box-shadow: 0 10px 30px color-mix(in srgb, var(--rmp-accent, #00a878) 12%, transparent);
}
.rmp-account-button:hover { transform: translateY(-1px); }

.rmp-login-modal,
.rmp-reader-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: none;
}
.rmp-login-modal.is-open,
.rmp-reader-modal.is-open { display: block; }
.rmp-login-backdrop,
.rmp-reader-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(4, 18, 23, .48);
	backdrop-filter: blur(13px);
}
.rmp-login-backdrop {
	background: rgba(4, 18, 23, var(--rmp-login-backdrop-opacity, .48));
}
.rmp-login-panel {
	position: absolute;
	left: 50%;
	top: 50%;
	width: min(94vw, var(--rmp-login-panel-width, 470px));
	transform: translate(-50%, -50%);
	border: 1px solid color-mix(in srgb, var(--rmp-accent, #00a878) 28%, transparent);
	border-radius: var(--rmp-login-panel-radius, 34px);
	background:
		radial-gradient(circle at 10% 10%, color-mix(in srgb, var(--rmp-accent, #00a878) 16%, transparent), transparent 42%),
		linear-gradient(145deg, rgba(255,255,255,.96), rgba(244,255,251,.9));
	box-shadow: 0 35px 90px rgba(0, 35, 29, .22);
	padding: var(--rmp-login-panel-padding, 42px);
	color: var(--rmp-ink, #06251f);
}
.rmp-login-close,
.rmp-reader-close {
	appearance: none;
	border: 1px solid color-mix(in srgb, var(--rmp-ink, #06251f) 12%, transparent);
	background: rgba(255,255,255,.88);
	border-radius: 999px;
	color: var(--rmp-ink, #06251f);
	cursor: pointer;
}
.rmp-login-close {
	position: absolute;
	right: 18px;
	top: 18px;
	width: 40px;
	height: 40px;
	font-size: 1.45rem;
	border-radius: var(--rmp-login-close-radius, 999px);
}
.rmp-login-mark {
	width: var(--rmp-login-mark-size, 54px);
	height: var(--rmp-login-mark-size, 54px);
	display: grid;
	place-items: center;
	border-radius: var(--rmp-login-mark-radius, 18px);
	margin-bottom: var(--rmp-login-gap, 12px);
	background: linear-gradient(135deg, var(--rmp-accent, #00a878), color-mix(in srgb, var(--rmp-glow, #6de7cf) 80%, var(--rmp-accent, #00a878)));
	color: #fff;
	font-weight: 900;
	box-shadow: 0 18px 44px color-mix(in srgb, var(--rmp-accent, #00a878) 30%, transparent);
}
.rmp-login-panel h2 { margin: .2rem 0 .6rem; font-size: clamp(1.65rem, 7vw, var(--rmp-login-title-size, 54px)); line-height: .95; letter-spacing: -.05em; }
.rmp-login-subtitle { color: var(--rmp-muted, #4d6967); margin-bottom: calc(var(--rmp-login-gap, 12px) * 1.25); font-size: var(--rmp-login-subtitle-size, 16px); }
.rmp-login-form { display: grid; gap: var(--rmp-login-gap, 12px); }
.rmp-login-form + .rmp-login-form { margin-top: var(--rmp-login-gap, 12px); }
.rmp-login-form label { font-weight: 850; font-size: var(--rmp-login-label-size, 14px); }
.rmp-login-form input {
	width: 100%;
	min-height: var(--rmp-login-input-height, 54px);
	border: 1px solid color-mix(in srgb, var(--rmp-accent, #00a878) 20%, transparent);
	border-radius: var(--rmp-login-input-radius, 16px);
	padding: 0 1rem;
	font: inherit;
	font-size: var(--rmp-login-input-font-size, 16px);
	font-weight: 700;
	background: rgba(255,255,255,.92);
	color: var(--rmp-ink, #06251f);
}
.rmp-login-muted {
	appearance: none;
	border: 0;
	background: transparent;
	color: var(--rmp-muted, #4d6967);
	font: inherit;
	font-weight: 750;
	cursor: pointer;
	justify-self: center;
	padding: .6rem;
}
.rmp-login-message {
	min-height: 1.3rem;
	margin-top: var(--rmp-login-gap, 12px);
	font-size: var(--rmp-login-message-font-size, 14px);
	font-weight: 700;
	color: var(--rmp-muted, #4d6967);
}
.rmp-login-message[data-state="error"] { color: #b42318; }
.rmp-login-message[data-state="success"] { color: var(--rmp-accent, #00a878); }
.rmp-login-open,
.rmp-reader-open { overflow: hidden; }

.rmp-member-dashboard { min-height: 70vh; }
.rmp-member-locked,
.rmp-member-empty,
.rmp-member-dash-head {
	border: 1px solid color-mix(in srgb, var(--rmp-accent, #00a878) 18%, transparent);
	border-radius: var(--rmp-panel-radius, 34px);
	background: rgba(255,255,255,.72);
	box-shadow: var(--rmp-soft-shadow, 0 28px 80px rgba(0, 80, 64, .11));
	padding: clamp(24px, 5vw, 48px);
}
.rmp-member-locked { max-width: 780px; margin-inline: auto; }
.rmp-member-locked h1,
.rmp-member-dash-head h1 { margin: .15rem 0 .5rem; font-size: clamp(2.5rem, 7vw, 5.5rem); line-height: .9; letter-spacing: -.06em; }
.rmp-member-dash-head { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; margin-bottom: 2rem; }
.rmp-member-dash-user {
	min-width: min(100%, 280px);
	border: 1px solid color-mix(in srgb, var(--rmp-accent, #00a878) 20%, transparent);
	border-radius: 24px;
	padding: 1rem;
	background: rgba(255,255,255,.82);
	display: grid;
	gap: .2rem;
}
.rmp-member-dash-user small { color: var(--rmp-muted, #4d6967); overflow-wrap: anywhere; }
.rmp-member-dash-user a { font-weight: 850; color: var(--rmp-accent, #00a878); }
.rmp-member-file-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); gap: clamp(18px, 3vw, 30px); }
.rmp-member-file-card {
	display: grid;
	grid-template-columns: minmax(110px, 170px) 1fr;
	gap: clamp(18px, 3vw, 28px);
	align-items: center;
	border: 1px solid color-mix(in srgb, var(--rmp-accent, #00a878) 18%, transparent);
	border-radius: var(--rmp-card-radius, 28px);
	background: rgba(255,255,255,.78);
	box-shadow: 0 24px 70px rgba(0, 74, 66, .1);
	padding: clamp(18px, 3vw, 28px);
}
.rmp-member-file-cover {
	aspect-ratio: 2 / 3;
	border-radius: var(--rmp-cover-radius, 18px);
	background: linear-gradient(145deg, color-mix(in srgb, var(--rmp-accent, #00a878) 12%, #fff), color-mix(in srgb, var(--rmp-glow, #6de7cf) 10%, #fff));
	display: grid;
	place-items: center;
	overflow: hidden;
	box-shadow: 0 18px 44px rgba(0, 45, 38, .12);
}
.rmp-member-file-cover img { width: 100%; height: 100%; object-fit: contain; }
.rmp-member-file-cover span { font-weight: 900; letter-spacing: .12em; color: var(--rmp-accent, #00a878); }
.rmp-member-file-info h2 { margin: 0 0 .6rem; font-size: clamp(1.6rem, 3vw, 2.6rem); line-height: 1; letter-spacing: -.05em; }
.rmp-member-file-info p { margin: 0 0 1rem; color: var(--rmp-muted, #4d6967); }
.rmp-reader-bookmark-note { display: inline-block; margin-bottom: 1rem; font-weight: 850; color: var(--rmp-accent, #00a878); }

.rmp-reader-panel {
	position: absolute;
	inset: clamp(10px, 2vw, 24px);
	display: grid;
	grid-template-rows: auto 1fr;
	border: 1px solid color-mix(in srgb, var(--rmp-accent, #00a878) 18%, transparent);
	border-radius: clamp(20px, var(--rmp-panel-radius, 34px), 42px);
	background: #f8fffc;
	box-shadow: 0 35px 90px rgba(0, 35, 29, .28);
	overflow: hidden;
	color: var(--rmp-ink, #06251f);
}
.rmp-reader-topbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	padding: .9rem clamp(14px, 2.5vw, 24px);
	border-bottom: 1px solid color-mix(in srgb, var(--rmp-accent, #00a878) 15%, transparent);
	background: rgba(255,255,255,.9);
}
.rmp-reader-topbar h2 { margin: 0; font-size: clamp(1.1rem, 2.8vw, 1.8rem); line-height: 1; }
.rmp-reader-topbar small { color: var(--rmp-muted, #4d6967); font-weight: 750; }
.rmp-reader-tools { display: flex; align-items: center; flex-wrap: wrap; gap: .45rem; justify-content: flex-end; }
.rmp-reader-tool,
.rmp-reader-close {
	min-height: 40px;
	border: 1px solid color-mix(in srgb, var(--rmp-accent, #00a878) 20%, transparent);
	border-radius: 999px;
	background: rgba(255,255,255,.92);
	padding: .58rem .82rem;
	font: inherit;
	font-weight: 900;
	color: var(--rmp-ink, #06251f);
	text-decoration: none;
	cursor: pointer;
}
.rmp-reader-tools label { display: flex; align-items: center; gap: .35rem; font-weight: 850; }
.rmp-reader-tools label span { font-size: .78rem; color: var(--rmp-muted, #4d6967); }
.rmp-reader-tools input { width: 72px; min-height: 40px; border: 1px solid color-mix(in srgb, var(--rmp-accent, #00a878) 20%, transparent); border-radius: 999px; text-align: center; font: inherit; font-weight: 850; }
.rmp-reader-body { display: grid; grid-template-columns: 300px 1fr; min-height: 0; }
.rmp-reader-toc {
	border-right: 1px solid color-mix(in srgb, var(--rmp-accent, #00a878) 15%, transparent);
	background: rgba(255,255,255,.78);
	overflow: auto;
	padding: 1rem;
}
.rmp-reader-toc h3 { margin: 0 0 1rem; }
.rmp-reader-toc button {
	width: 100%;
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	text-align: left;
	border: 0;
	border-bottom: 1px solid rgba(0,0,0,.06);
	background: transparent;
	padding: .82rem .2rem;
	font: inherit;
	font-weight: 750;
	cursor: pointer;
	color: var(--rmp-ink, #06251f);
}
.rmp-reader-toc button span { color: var(--rmp-accent, #00a878); font-weight: 900; }
.rmp-reader-frame-wrap { position: relative; min-height: 0; background: #dfe9ea; }
.rmp-reader-frame { width: 100%; height: 100%; min-height: 72vh; border: 0; display: block; background: #fff; }
.rmp-reader-loading { position: absolute; inset: 0; display: grid; place-items: center; font-weight: 900; background: rgba(248,255,252,.92); z-index: 2; }
.rmp-reader-loading[hidden] { display: none; }

@media (max-width: 860px) {
	.rmp-account-button { display: none; }
	.rmp-login-panel { width: min(94vw, 420px); padding: 26px; }
	.rmp-member-dash-head { align-items: stretch; flex-direction: column; }
	.rmp-member-file-card { grid-template-columns: 100px 1fr; padding: 16px; gap: 16px; }
	.rmp-member-file-info h2 { font-size: clamp(1.3rem, 7vw, 2rem); }
	.rmp-reader-panel { inset: 0; border-radius: 0; }
	.rmp-reader-topbar { align-items: flex-start; flex-direction: column; }
	.rmp-reader-tools { width: 100%; justify-content: flex-start; overflow-x: auto; padding-bottom: 2px; }
	.rmp-reader-body { grid-template-columns: 1fr; }
	.rmp-reader-toc { position: absolute; left: 0; top: var(--rmp-reader-top, 0); bottom: 0; width: min(86vw, 340px); z-index: 5; transform: translateX(-105%); transition: transform .22s ease; box-shadow: 16px 0 44px rgba(0,0,0,.14); }
	.rmp-reader-modal.toc-open .rmp-reader-toc { transform: translateX(0); }
	.rmp-reader-frame { min-height: calc(100vh - 138px); }
}

@media (max-width: 560px) {
	.rmp-member-file-card { grid-template-columns: 1fr; }
	.rmp-member-file-cover { width: min(190px, 64vw); justify-self: center; }
	.rmp-reader-topbar h2 { max-width: 90vw; }
	.rmp-reader-tools label span { display: none; }
}
.rmp-mobile-account { margin: 0 0 var(--rmp-mobile-menu-search-margin, 16px); }
.rmp-mobile-account .rmp-account-button { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: var(--rmp-mobile-menu-link-height, 52px); }
@media (max-width: 860px) { .rmp-mobile-account .rmp-account-button { display: inline-flex; } }

/* RMP v5.1: keep browser password managers away from the code-login form. */
.rmp-autofill-decoy {
	position: absolute !important;
	inline-size: 1px !important;
	block-size: 1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	opacity: 0 !important;
	pointer-events: none !important;
}
.rmp-autofill-decoy input {
	position: absolute !important;
	inset-inline-start: -9999px !important;
	inline-size: 1px !important;
	block-size: 1px !important;
	padding: 0 !important;
	border: 0 !important;
}

/* RMP v5.4: domain-only reader dashboard overlay. */
.rmp-dashboard-modal {
	position: fixed;
	inset: 0;
	z-index: 99980;
	display: none;
}
.rmp-dashboard-modal.is-open { display: block; }
.rmp-dashboard-backdrop {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 20% 10%, color-mix(in srgb, var(--rmp-glow, #6de7cf) 24%, transparent), transparent 34%),
		rgba(4, 18, 23, .42);
	backdrop-filter: blur(16px);
}
.rmp-dashboard-panel {
	position: absolute;
	inset: clamp(10px, 2vw, 24px);
	overflow: auto;
	border: 1px solid color-mix(in srgb, var(--rmp-accent, #00a878) 20%, transparent);
	border-radius: clamp(20px, var(--rmp-panel-radius, 34px), 44px);
	background:
		linear-gradient(90deg, color-mix(in srgb, var(--rmp-grid-color, var(--rmp-accent, #00a878)) var(--rmp-grid-opacity, 7%), transparent) 1px, transparent 1px),
		linear-gradient(0deg, color-mix(in srgb, var(--rmp-grid-color, var(--rmp-accent, #00a878)) var(--rmp-grid-opacity, 7%), transparent) 1px, transparent 1px),
		radial-gradient(circle at 85% 10%, color-mix(in srgb, var(--rmp-glow, #6de7cf) 18%, transparent), transparent 34%),
		linear-gradient(145deg, rgba(255,255,255,.96), color-mix(in srgb, var(--rmp-soft, #dff7ee) 44%, #fff));
	background-size: var(--rmp-grid-size, 54px) var(--rmp-grid-size, 54px), var(--rmp-grid-size, 54px) var(--rmp-grid-size, 54px), auto, auto;
	box-shadow: 0 42px 110px rgba(0, 35, 29, .26);
	color: var(--rmp-ink, #06251f);
}
.rmp-dashboard-panel .rmp-member-dashboard {
	min-height: 100%;
	padding-block: clamp(24px, 5vw, 64px);
}
.rmp-dashboard-panel .rmp-member-dashboard > .rmp-shell {
	max-width: min(var(--rmp-shell-width, 1180px), calc(100vw - 36px));
}
.rmp-dashboard-close {
	position: sticky;
	top: 16px;
	float: right;
	z-index: 5;
	margin: 16px 16px 0 0;
	width: 44px;
	height: 44px;
	appearance: none;
	border: 1px solid color-mix(in srgb, var(--rmp-ink, #06251f) 12%, transparent);
	border-radius: 999px;
	background: rgba(255,255,255,.92);
	box-shadow: 0 16px 36px rgba(0, 35, 29, .14);
	color: var(--rmp-ink, #06251f);
	font-size: 1.45rem;
	line-height: 1;
	cursor: pointer;
}
.rmp-dashboard-open { overflow: hidden; }
@media (max-width: 860px) {
	.rmp-dashboard-panel {
		inset: 0;
		border-radius: 0;
		border-inline: 0;
	}
	.rmp-dashboard-close {
		top: max(10px, env(safe-area-inset-top));
		margin: max(10px, env(safe-area-inset-top)) 10px 0 0;
	}
	.rmp-dashboard-panel .rmp-member-dashboard { padding-block: 56px 30px; }
}

/* RMP v5.5: Nexus-style standalone reader portal and clearer sign-in code step. */
.rmp-reader-portal-html,
.rmp-reader-portal-page {
	min-height: 100%;
	background:
		radial-gradient(circle at 14% 10%, color-mix(in srgb, var(--rmp-glow, #6de7cf) 26%, transparent), transparent 34%),
		radial-gradient(circle at 88% 14%, color-mix(in srgb, var(--rmp-accent, #00a878) 14%, transparent), transparent 38%),
		linear-gradient(145deg, var(--rmp-bg-top, #f5fffb), var(--rmp-bg-bottom, #eef8ff));
}
.rmp-reader-portal-page .site-header,
.rmp-reader-portal-page .site-footer,
.rmp-reader-portal-page .rmp-classic-mobile-drawer,
.rmp-reader-portal-page .rmp-mobile-overlay { display: none !important; }
.rmp-reader-portal {
	min-height: 100vh;
	padding: clamp(18px, 4vw, 48px);
	background:
		linear-gradient(90deg, color-mix(in srgb, var(--rmp-grid-color, var(--rmp-accent, #00a878)) var(--rmp-grid-opacity, 6%), transparent) 1px, transparent 1px),
		linear-gradient(0deg, color-mix(in srgb, var(--rmp-grid-color, var(--rmp-accent, #00a878)) var(--rmp-grid-opacity, 6%), transparent) 1px, transparent 1px);
	background-size: var(--rmp-grid-size, 54px) var(--rmp-grid-size, 54px), var(--rmp-grid-size, 54px) var(--rmp-grid-size, 54px);
}
.rmp-reader-portal-brand {
	width: min(var(--rmp-shell-width, 1180px), 100%);
	margin: 0 auto clamp(20px, 4vw, 38px);
	display: flex;
	align-items: center;
	gap: .9rem;
	color: var(--rmp-ink, #06251f);
}
.rmp-reader-portal-logo {
	width: 48px;
	height: 48px;
	display: grid;
	place-items: center;
	border-radius: 16px;
	background: linear-gradient(135deg, var(--rmp-accent, #00a878), var(--rmp-glow, #6de7cf));
	color: #fff;
	font-weight: 950;
	box-shadow: 0 18px 42px color-mix(in srgb, var(--rmp-accent, #00a878) 25%, transparent);
}
.rmp-reader-portal-brand strong { display: block; font-weight: 950; letter-spacing: -.04em; line-height: 1; }
.rmp-reader-portal-brand small { display: block; color: var(--rmp-muted, #4d6967); font-weight: 750; margin-top: .2rem; }
.rmp-reader-portal-page .rmp-member-dashboard {
	min-height: auto;
	padding: 0 0 clamp(24px, 5vw, 70px);
}
.rmp-reader-portal-page .rmp-member-dashboard > .rmp-shell {
	max-width: min(var(--rmp-shell-width, 1180px), 100%);
}
.rmp-reader-portal-page .rmp-member-locked,
.rmp-reader-portal-page .rmp-member-empty,
.rmp-reader-portal-page .rmp-member-dash-head,
.rmp-reader-portal-page .rmp-member-file-card {
	background: rgba(255,255,255,.86);
	backdrop-filter: blur(18px);
}
.rmp-reader-portal-page .rmp-member-locked {
	margin-top: clamp(24px, 10vh, 90px);
}
.rmp-code-above {
	display: grid;
	gap: .35rem;
	padding: var(--rmp-login-code-box-padding, 16px);
	border: 1px solid color-mix(in srgb, var(--rmp-accent, #00a878) 22%, transparent);
	border-radius: var(--rmp-login-code-box-radius, 18px);
	background: color-mix(in srgb, var(--rmp-accent, #00a878) 8%, #fff 92%);
	box-shadow: 0 14px 34px color-mix(in srgb, var(--rmp-accent, #00a878) 10%, transparent);
}
.rmp-code-above span {
	font-size: .8rem;
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--rmp-accent, #00a878);
}
.rmp-code-above strong {
	font-size: clamp(2.1rem, 10vw, 3.6rem);
	line-height: .95;
	letter-spacing: .14em;
	font-weight: 950;
	font-variant-numeric: tabular-nums;
	color: var(--rmp-ink, #06251f);
	text-shadow: 0 12px 34px color-mix(in srgb, var(--rmp-accent, #00a878) 18%, transparent);
}
.rmp-code-above strong[hidden],
.rmp-code-above strong:empty { display: none; }
.rmp-code-above[hidden] { display: none !important; }
.rmp-code-above small {
	color: var(--rmp-muted, #4d6967);
	font-weight: 750;
}
.rmp-code-form #rmp-login-code {
	font-size: clamp(1.4rem, 8vw, var(--rmp-login-code-font-size, 39px));
	min-height: var(--rmp-login-code-input-height, 68px);
	text-align: center;
	letter-spacing: .22em;
	font-weight: 950;
	font-variant-numeric: tabular-nums;
}
@media (max-width: 560px) {
	.rmp-reader-portal { padding: 16px; }
	.rmp-reader-portal-brand { margin-bottom: 20px; }
	.rmp-reader-portal-logo { width: 42px; height: 42px; border-radius: 14px; }
	.rmp-reader-portal-page .rmp-member-locked { margin-top: 12px; }
}

/* RMP v5.6: predefined-password login and compact Nexus-style reader library header. */
.rmp-login-choice-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .7rem;
	align-items: stretch;
}
.rmp-button-secondary {
	appearance: none;
	border: 1px solid color-mix(in srgb, var(--rmp-accent, #00a878) 22%, transparent);
	background: rgba(255,255,255,.84);
	color: var(--rmp-ink, #06251f);
	box-shadow: none;
}
.rmp-reader-portal-page .rmp-reader-portal {
	padding: clamp(12px, 2.5vw, 28px);
}
.rmp-reader-portal-page .rmp-reader-portal-brand {
	margin-bottom: clamp(10px, 2vw, 18px);
}
.rmp-member-dashboard-streamlined {
	min-height: auto;
	padding: 0;
}
.rmp-member-dashboard-streamlined > .rmp-shell {
	max-width: min(var(--rmp-shell-width, 1180px), 100%);
}
.rmp-member-library-bar {
	display: grid;
	grid-template-columns: minmax(220px, .9fr) minmax(280px, 1.25fr) minmax(170px, auto);
	align-items: center;
	gap: clamp(10px, 2vw, 18px);
	border: 1px solid color-mix(in srgb, var(--rmp-accent, #00a878) 18%, transparent);
	border-radius: clamp(16px, var(--rmp-panel-radius, 34px), 34px);
	background: rgba(255,255,255,.88);
	backdrop-filter: blur(18px);
	box-shadow: 0 18px 52px rgba(0, 60, 54, .08);
	padding: clamp(10px, 1.7vw, 18px);
}
.rmp-member-library-brand,
.rmp-member-library-user,
.rmp-member-library-controls {
	display: flex;
	align-items: center;
	min-width: 0;
}
.rmp-member-library-brand { gap: .75rem; }
.rmp-member-library-mark {
	width: 42px;
	height: 42px;
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	border-radius: 14px;
	background: linear-gradient(135deg, var(--rmp-accent, #00a878), var(--rmp-glow, #6de7cf));
	color: #fff;
	font-weight: 950;
	box-shadow: 0 12px 30px color-mix(in srgb, var(--rmp-accent, #00a878) 20%, transparent);
}
.rmp-member-library-brand strong,
.rmp-member-library-user strong {
	display: block;
	font-weight: 950;
	letter-spacing: -.035em;
	line-height: 1.05;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.rmp-member-library-brand small,
.rmp-member-library-user span {
	display: block;
	font-size: .76rem;
	font-weight: 800;
	color: var(--rmp-muted, #4d6967);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.rmp-member-library-controls {
	justify-content: center;
	gap: .65rem;
}
.rmp-member-file-select {
	width: min(100%, 420px);
	min-height: 44px;
	border: 1px solid color-mix(in srgb, var(--rmp-accent, #00a878) 22%, transparent);
	border-radius: 999px;
	background: rgba(255,255,255,.92);
	color: var(--rmp-ink, #06251f);
	font: inherit;
	font-weight: 800;
	padding: 0 2.4rem 0 1rem;
}
.rmp-member-open-selected {
	min-height: 44px;
	padding-block: .62rem;
}
.rmp-member-library-user {
	justify-content: flex-end;
	gap: .55rem;
	text-align: right;
}
.rmp-member-library-user a {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	border-radius: 999px;
	padding: .45rem .75rem;
	font-weight: 900;
	text-decoration: none;
	color: var(--rmp-accent, #00a878);
	background: color-mix(in srgb, var(--rmp-accent, #00a878) 7%, #fff 93%);
}
.rmp-member-library-empty-note {
	font-weight: 850;
	color: var(--rmp-muted, #4d6967);
}
.rmp-member-library-main {
	min-height: 0;
	padding: 0;
	margin: 0;
}
.rmp-reader-portal-page .rmp-member-dash-head,
.rmp-reader-portal-page .rmp-member-file-grid {
	display: none !important;
}
@media (max-width: 900px) {
	.rmp-member-library-bar {
		grid-template-columns: 1fr;
		align-items: stretch;
	}
	.rmp-member-library-controls,
	.rmp-member-library-user {
		justify-content: stretch;
		text-align: left;
	}
	.rmp-member-library-user {
		align-items: center;
		justify-content: space-between;
	}
	.rmp-member-file-select,
	.rmp-member-open-selected {
		width: 100%;
	}
	.rmp-member-library-controls {
		display: grid;
		grid-template-columns: 1fr;
	}
}
@media (max-width: 560px) {
	.rmp-login-choice-row { grid-template-columns: 1fr; }
	.rmp-member-library-brand small { display: none; }
	.rmp-member-library-user { display: grid; grid-template-columns: 1fr auto; }
	.rmp-member-library-user span { grid-column: 1 / -1; }
}

/* RMP v5.7: true compact reader portal header + streamlined reader modal. */
.rmp-reader-portal-has-access .rmp-reader-portal {
	min-height: 100dvh;
	padding: 0;
	display: block;
}
.rmp-reader-portal-has-access .rmp-section.rmp-member-dashboard {
	min-height: 100dvh;
	padding: 0;
}
.rmp-reader-portal-has-access .rmp-member-dashboard .rmp-shell {
	width: 100%;
	max-width: none;
	padding: 0;
}
.rmp-reader-portal-has-access .rmp-member-library-main {
	min-height: calc(100dvh - 76px);
	padding-top: 76px;
}
.rmp-reader-portal-has-access .rmp-member-library-bar {
	position: fixed;
	inset: 0 0 auto 0;
	z-index: 40;
	width: 100%;
	min-height: 66px;
	margin: 0;
	border-radius: 0;
	border: 0;
	border-bottom: 1px solid color-mix(in srgb, var(--rmp-accent, #00a878) 18%, transparent);
	background:
		radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--rmp-accent, #00a878) 12%, transparent), transparent 34%),
		linear-gradient(120deg, rgba(255,255,255,.96), rgba(243,255,251,.9));
	box-shadow: 0 14px 44px rgba(0, 58, 48, .08);
	backdrop-filter: blur(18px);
	display: grid;
	grid-template-columns: minmax(180px, 1.2fr) minmax(260px, 1.4fr) auto;
	align-items: center;
	gap: clamp(10px, 1.6vw, 22px);
	padding: 10px clamp(14px, 3vw, 34px);
}
.rmp-reader-portal-has-access .rmp-member-library-brand {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}
.rmp-reader-portal-has-access .rmp-member-library-mark {
	width: 38px;
	height: 38px;
	border-radius: 13px;
	flex: 0 0 auto;
}
.rmp-reader-portal-has-access .rmp-member-library-brand strong,
.rmp-reader-portal-has-access .rmp-member-library-brand small,
.rmp-reader-portal-has-access .rmp-member-library-user strong,
.rmp-reader-portal-has-access .rmp-member-library-user span {
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.rmp-reader-portal-has-access .rmp-member-library-brand strong {
	font-size: .98rem;
	line-height: 1.05;
}
.rmp-reader-portal-has-access .rmp-member-library-brand small {
	max-width: 34ch;
	font-size: .78rem;
	line-height: 1.1;
}
.rmp-reader-portal-has-access .rmp-member-library-controls {
	display: grid;
	grid-template-columns: minmax(180px, 1fr) auto;
	align-items: center;
	gap: 8px;
	min-width: 0;
}
.rmp-reader-portal-has-access .rmp-member-file-select {
	width: 100%;
	min-height: 42px;
	border-radius: 14px;
	font-size: .9rem;
	font-weight: 800;
	padding-inline: 12px 36px;
	background-color: rgba(255,255,255,.92);
}
.rmp-reader-portal-has-access .rmp-member-open-selected {
	min-height: 42px;
	padding: .65rem .95rem;
	border-radius: 14px;
	white-space: nowrap;
	line-height: 1;
}
.rmp-reader-portal-has-access .rmp-member-library-user {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	min-width: 0;
	font-size: .86rem;
}
.rmp-reader-portal-has-access .rmp-member-library-user span {
	max-width: 9rem;
	font-weight: 750;
	color: var(--rmp-muted, #4d6967);
}
.rmp-reader-portal-has-access .rmp-member-library-user strong {
	max-width: 10rem;
	font-weight: 900;
}
.rmp-reader-portal-has-access .rmp-member-library-user a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: .55rem .9rem;
	border-radius: 999px;
	background: rgba(255,255,255,.86);
	border: 1px solid color-mix(in srgb, var(--rmp-accent, #00a878) 16%, transparent);
	font-weight: 900;
	text-decoration: none;
	white-space: nowrap;
}
.rmp-reader-portal-has-access .rmp-member-library-empty-note {
	font-weight: 850;
	color: var(--rmp-muted, #4d6967);
}

.rmp-reader-panel {
	inset: clamp(6px, 1vw, 12px);
	border-radius: clamp(14px, 1.4vw, 22px);
	grid-template-rows: auto minmax(0, 1fr);
}
.rmp-reader-topbar {
	min-height: 58px;
	padding: 8px clamp(10px, 1.4vw, 18px);
	gap: 10px;
	align-items: center;
	background: rgba(255,255,255,.95);
}
.rmp-reader-title-block {
	min-width: 0;
	display: grid;
	gap: 1px;
}
.rmp-reader-kicker {
	margin: 0;
	font-size: .66rem;
	letter-spacing: .13em;
}
.rmp-reader-topbar h2 {
	max-width: min(54vw, 780px);
	margin: 0;
	font-size: clamp(1rem, 1.7vw, 1.42rem);
	line-height: 1.05;
	letter-spacing: -.035em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.rmp-reader-topbar small {
	font-size: .74rem;
	line-height: 1.05;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.rmp-reader-tools {
	flex-wrap: nowrap;
	gap: 6px;
	min-width: 0;
}
.rmp-reader-tool,
.rmp-reader-close {
	min-height: 36px;
	padding: .48rem .68rem;
	font-size: .88rem;
	line-height: 1;
}
.rmp-reader-tools label {
	gap: 5px;
	margin: 0;
	white-space: nowrap;
}
.rmp-reader-tools input {
	width: 58px;
	min-height: 36px;
	border-radius: 12px;
}
.rmp-reader-body {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	min-height: 0;
}
.rmp-reader-toc {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: min(360px, 84vw);
	z-index: 6;
	transform: translateX(-104%);
	transition: transform .22s ease;
	box-shadow: 18px 0 44px rgba(0,0,0,.14);
	border-right: 1px solid color-mix(in srgb, var(--rmp-accent, #00a878) 18%, transparent);
	background: rgba(255,255,255,.98);
}
.rmp-reader-modal.toc-open .rmp-reader-toc {
	transform: translateX(0);
}
.rmp-reader-frame-wrap {
	min-height: 0;
}
.rmp-reader-frame {
	min-height: calc(100dvh - 88px);
	height: 100%;
}
.rmp-reader-loading {
	font-size: .95rem;
}

@media (max-width: 920px) {
	.rmp-reader-portal-has-access .rmp-member-library-bar {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			"brand user"
			"controls controls";
		align-items: center;
		padding: 10px 12px;
		gap: 8px 12px;
	}
	.rmp-reader-portal-has-access .rmp-member-library-brand { grid-area: brand; }
	.rmp-reader-portal-has-access .rmp-member-library-controls { grid-area: controls; }
	.rmp-reader-portal-has-access .rmp-member-library-user { grid-area: user; }
	.rmp-reader-portal-has-access .rmp-member-library-main {
		padding-top: 118px;
		min-height: calc(100dvh - 118px);
	}
}

@media (max-width: 700px) {
	.rmp-reader-portal-has-access .rmp-member-library-bar {
		grid-template-columns: 1fr;
		grid-template-areas:
			"brand"
			"controls"
			"user";
	}
	.rmp-reader-portal-has-access .rmp-member-library-brand small { display: none; }
	.rmp-reader-portal-has-access .rmp-member-library-controls {
		grid-template-columns: 1fr auto;
		width: 100%;
	}
	.rmp-reader-portal-has-access .rmp-member-open-selected {
		padding-inline: .85rem;
	}
	.rmp-reader-portal-has-access .rmp-member-library-user {
		justify-content: space-between;
		width: 100%;
	}
	.rmp-reader-portal-has-access .rmp-member-library-user span { display: none; }
	.rmp-reader-portal-has-access .rmp-member-library-user strong { max-width: 52vw; }
	.rmp-reader-portal-has-access .rmp-member-library-main {
		padding-top: 158px;
		min-height: calc(100dvh - 158px);
	}

	.rmp-reader-panel {
		inset: 0;
		border: 0;
		border-radius: 0;
	}
	.rmp-reader-topbar {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		align-items: stretch;
		gap: 6px;
		padding: calc(8px + env(safe-area-inset-top, 0px)) 8px 7px;
	}
	.rmp-reader-title-block {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: 8px;
	}
	.rmp-reader-kicker,
	.rmp-reader-topbar small {
		display: none;
	}
	.rmp-reader-topbar h2 {
		max-width: none;
		font-size: clamp(.95rem, 4.2vw, 1.12rem);
	}
	.rmp-reader-tools {
		width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		justify-content: flex-start;
		padding-bottom: 1px;
		scrollbar-width: none;
	}
	.rmp-reader-tools::-webkit-scrollbar { display: none; }
	.rmp-reader-tool,
	.rmp-reader-close {
		min-height: 34px;
		padding: .45rem .62rem;
		font-size: .82rem;
		flex: 0 0 auto;
	}
	.rmp-reader-tools label span { display: none; }
	.rmp-reader-tools input {
		width: 52px;
		min-height: 34px;
	}
	.rmp-reader-toc {
		width: min(88vw, 330px);
	}
	.rmp-reader-frame {
		min-height: calc(100dvh - 86px);
	}
}

@media (max-width: 410px) {
	.rmp-reader-portal-has-access .rmp-member-library-controls {
		grid-template-columns: 1fr;
	}
	.rmp-reader-portal-has-access .rmp-member-open-selected {
		width: 100%;
	}
	.rmp-reader-portal-has-access .rmp-member-library-main {
		padding-top: 194px;
		min-height: calc(100dvh - 194px);
	}
}

/* RMP v5.8: reader portal exits, account labels, and mobile drawer account visibility. */
.rmp-reader-portal-brand,
.rmp-member-library-brand {
	text-decoration: none;
	color: inherit;
}
.rmp-reader-portal-brand:hover,
.rmp-member-library-brand:hover {
	color: inherit;
	transform: translateY(-1px);
}
.rmp-member-library-brand:focus-visible,
.rmp-reader-portal-brand:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--rmp-accent, #00a878) 36%, transparent);
	outline-offset: 4px;
	border-radius: 18px;
}
.rmp-classic-mobile-drawer .rmp-mobile-account {
	display: block !important;
	margin: 0 0 var(--rmp-mobile-menu-search-margin, 16px) !important;
}
.rmp-classic-mobile-drawer .rmp-mobile-account .rmp-account-button {
	display: flex !important;
	width: 100%;
	justify-content: center;
	align-items: center;
	min-height: var(--rmp-mobile-menu-link-height, 52px);
	padding-inline: var(--rmp-mobile-menu-link-pad-x, 16px);
	padding-block: var(--rmp-mobile-menu-link-pad-y, 14px);
}
.rmp-classic-mobile-drawer .rmp-mobile-account:empty {
	display: none !important;
}
.rmp-reader-portal-page .rmp-member-library-user a,
.rmp-reader-portal-page .rmp-member-library-brand {
	-webkit-tap-highlight-color: transparent;
}

/* RMP v5.9: configurable reader-login flow and cleaner code-first mode. */
.rmp-login-choice-row.rmp-login-choice-row-single {
	grid-template-columns: 1fr;
}
.rmp-login-choice-row.rmp-login-choice-row-single .rmp-button {
	width: 100%;
}
.rmp-login-panel input[readonly][data-rmp-login-password] {
	-webkit-text-security: disc;
}
.rmp-login-panel .rmp-code-form .rmp-button-primary,
.rmp-login-choice-row .rmp-button {
	min-height: var(--rmp-login-button-height, 54px);
	border-radius: var(--rmp-login-button-radius, 12px);
	font-size: var(--rmp-login-button-font-size, 16px);
}
.rmp-login-panel .rmp-login-message:empty {
	display: none;
}
.rmp-code-form label[for="rmp-login-code"] {
	font-size: .95rem;
}
@media (max-width: 560px) {
	.rmp-login-panel {
		top: max(12px, env(safe-area-inset-top));
		left: 50%;
		transform: translateX(-50%);
		max-height: calc(100dvh - 24px - env(safe-area-inset-top));
		overflow: auto;
	}
	.rmp-code-above {
		padding: .9rem;
	}
}

/* RMP v6.0: clearer mobile drawer search, responsive reader dashboard header, and immediate login feedback. */
.rmp-classic-mobile-drawer .rmp-mobile-drawer-search {
	margin: 0 0 var(--rmp-mobile-menu-search-margin, 16px) !important;
	padding: 12px;
	border-radius: 18px;
	background: color-mix(in srgb, var(--rmp-bg-start, #eefcf7) 72%, #fff 28%);
	border: 1px solid color-mix(in srgb, var(--rmp-accent, #00a878) 14%, transparent);
}
.rmp-classic-mobile-drawer .rmp-mobile-drawer-search .rmp-search-shell {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px;
	width: 100%;
	min-height: var(--rmp-mobile-menu-search-height, 46px);
	padding: 4px;
	background: rgba(255,255,255,.86);
}
.rmp-classic-mobile-drawer .rmp-mobile-drawer-search .rmp-search-shell label,
.rmp-classic-mobile-drawer .rmp-mobile-drawer-search .rmp-search-shell input[type="search"] {
	min-width: 0;
	width: 100%;
}
.rmp-classic-mobile-drawer .rmp-mobile-drawer-search .rmp-search-shell button {
	min-width: 44px;
	padding-inline: 14px;
}
.rmp-classic-mobile-drawer .rmp-mobile-drawer-search .rmp-search-scope {
	margin: 8px 4px 0;
	padding: 0;
	font-size: .72rem;
	line-height: 1.25;
	letter-spacing: .08em;
	font-weight: 850;
	color: color-mix(in srgb, var(--rmp-accent, #00a878) 72%, var(--rmp-ink, #06251f) 28%);
	text-align: left;
}
.rmp-classic-mobile-drawer .rmp-mobile-account {
	order: 1;
	margin-bottom: 12px !important;
}
.rmp-classic-mobile-drawer .rmp-mobile-drawer-search {
	order: 2;
}
.rmp-classic-mobile-drawer .rmp-mobile-drawer-nav {
	order: 3;
}
.rmp-classic-mobile-drawer .rmp-menu a {
	font-size: .98rem;
	letter-spacing: -.01em;
}

.rmp-member-home-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: .52rem .9rem;
	border-radius: 999px;
	font-weight: 950;
	font-size: .86rem;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
	color: var(--rmp-accent, #00a878);
	background: color-mix(in srgb, var(--rmp-accent, #00a878) 8%, #fff 92%);
	border: 1px solid color-mix(in srgb, var(--rmp-accent, #00a878) 18%, transparent);
}
.rmp-member-home-link:hover,
.rmp-member-home-link:focus-visible {
	color: var(--rmp-ink, #06251f);
	background: #fff;
}
.rmp-reader-portal-has-access .rmp-member-library-bar {
	grid-template-columns: minmax(190px, auto) auto minmax(280px, 1fr) auto;
	grid-template-areas: "brand home controls user";
	gap: 10px clamp(10px, 1.3vw, 18px);
}
.rmp-reader-portal-has-access .rmp-member-library-brand { grid-area: brand; }
.rmp-reader-portal-has-access .rmp-member-home-link { grid-area: home; }
.rmp-reader-portal-has-access .rmp-member-library-controls { grid-area: controls; }
.rmp-reader-portal-has-access .rmp-member-library-user { grid-area: user; }
.rmp-reader-portal-has-access .rmp-member-library-brand strong {
	font-size: clamp(1.02rem, 1.1vw, 1.18rem);
	letter-spacing: -.045em;
}
.rmp-reader-portal-has-access .rmp-member-library-brand small {
	max-width: 18ch;
}
.rmp-reader-portal-has-access .rmp-member-library-user a:not(.rmp-member-home-link) {
	font-size: .88rem;
}

.rmp-login-message[data-state] {
	display: block;
	margin-top: var(--rmp-login-gap, 12px);
	padding: .8rem .95rem;
	border-radius: var(--rmp-login-message-radius, 18px);
	font-weight: 850;
	line-height: 1.35;
	background: color-mix(in srgb, var(--rmp-accent, #00a878) 7%, #fff 93%);
	border: 1px solid color-mix(in srgb, var(--rmp-accent, #00a878) 16%, transparent);
	color: var(--rmp-ink, #06251f);
}
.rmp-login-message[data-state="loading"] {
	background: color-mix(in srgb, #1f74ba 8%, #fff 92%);
	border-color: color-mix(in srgb, #1f74ba 22%, transparent);
	color: #165e99;
}
.rmp-login-message[data-state="info"] {
	background: color-mix(in srgb, #1f74ba 6%, #fff 94%);
	border-color: color-mix(in srgb, #1f74ba 16%, transparent);
	color: #165e99;
}
.rmp-login-message[data-state="success"] {
	background: color-mix(in srgb, var(--rmp-accent, #00a878) 9%, #fff 91%);
}
.rmp-code-form .rmp-button.is-loading,
.rmp-code-form .rmp-button:disabled {
	cursor: wait;
	opacity: .82;
}
.rmp-code-form .rmp-button.is-loading::after {
	content: "";
	display: inline-block;
	width: .8em;
	height: .8em;
	margin-left: .6em;
	border-radius: 999px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	vertical-align: -.1em;
	animation: rmp-spin 750ms linear infinite;
}
@keyframes rmp-spin { to { transform: rotate(360deg); } }

@media (max-width: 1080px) {
	.rmp-reader-portal-has-access .rmp-member-library-bar {
		grid-template-columns: minmax(0, 1fr) auto auto;
		grid-template-areas:
			"brand home user"
			"controls controls controls";
	}
	.rmp-reader-portal-has-access .rmp-member-library-controls {
		grid-template-columns: minmax(0, 1fr) auto;
	}
	.rmp-reader-portal-has-access .rmp-member-library-main {
		padding-top: 120px;
		min-height: calc(100dvh - 120px);
	}
}
@media (max-width: 700px) {
	.rmp-reader-portal-has-access .rmp-member-library-bar {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			"brand home"
			"controls controls"
			"user user";
		padding: 10px;
	}
	.rmp-reader-portal-has-access .rmp-member-library-brand strong {
		font-size: 1.02rem;
	}
	.rmp-reader-portal-has-access .rmp-member-library-brand small {
		display: none;
	}
	.rmp-reader-portal-has-access .rmp-member-home-link {
		min-height: 36px;
		padding: .48rem .78rem;
		font-size: .82rem;
	}
	.rmp-reader-portal-has-access .rmp-member-library-controls {
		grid-template-columns: 1fr auto;
	}
	.rmp-reader-portal-has-access .rmp-member-file-select,
	.rmp-reader-portal-has-access .rmp-member-open-selected {
		min-height: 42px;
	}
	.rmp-reader-portal-has-access .rmp-member-library-user {
		justify-content: space-between;
		gap: 8px;
		width: 100%;
	}
	.rmp-reader-portal-has-access .rmp-member-library-user strong {
		max-width: 44vw;
	}
	.rmp-reader-portal-has-access .rmp-member-library-main {
		padding-top: 164px;
		min-height: calc(100dvh - 164px);
	}
}
@media (max-width: 430px) {
	.rmp-reader-portal-has-access .rmp-member-library-controls {
		grid-template-columns: 1fr;
	}
	.rmp-reader-portal-has-access .rmp-member-open-selected {
		width: 100%;
	}
	.rmp-reader-portal-has-access .rmp-member-library-user {
		font-size: .82rem;
	}
	.rmp-reader-portal-has-access .rmp-member-library-main {
		padding-top: 204px;
		min-height: calc(100dvh - 204px);
	}
}


/* RMP v6.1: deeper reader login design controls. */
.rmp-login-panel .rmp-button {
	min-height: var(--rmp-login-button-height, 54px);
	border-radius: var(--rmp-login-button-radius, 12px);
	font-size: var(--rmp-login-button-font-size, 16px);
}
.rmp-login-panel .rmp-code-above:empty,
.rmp-login-panel .rmp-login-message:empty {
	display: none !important;
}
.rmp-login-panel .rmp-code-above small:empty {
	display: none;
}
@media (max-width: 560px) {
	.rmp-login-panel {
		width: min(100vw - 20px, var(--rmp-login-panel-width, 470px));
		padding: min(var(--rmp-login-panel-padding, 42px), 34px);
	}
	.rmp-login-panel h2 {
		font-size: clamp(2.2rem, 13vw, var(--rmp-login-title-size, 54px));
	}
}

/* RMP v6.3 PDF security + compact reader controls */
.rmp-pdf-header {
	align-items: center;
	padding: var(--rmp-pdf-header-pad-y, 6px) var(--rmp-pdf-header-pad-x, 0px);
	margin-bottom: .55rem;
}
.rmp-pdf-header-copy,
.rmp-reader-title-block {
	min-width: 0;
}
.rmp-pdf-header h2 {
	font-size: clamp(1rem, 1.6vw, var(--rmp-pdf-header-title-size, 30px));
	line-height: 1.02;
	letter-spacing: -.035em;
}
.rmp-pdf-header-compact .rmp-kicker,
.rmp-pdf-modal-header-compact .rmp-kicker {
	font-size: .68rem;
	margin-bottom: .15rem;
}
.rmp-pdf-header-compact h2,
.rmp-pdf-modal-header-compact h2 {
	font-size: clamp(1.05rem, 1.55vw, var(--rmp-pdf-modal-title-size, 26px));
	line-height: 1.05;
}
.rmp-pdf-header-minimal .rmp-kicker,
.rmp-pdf-modal-header-minimal .rmp-kicker {
	display: none;
}
.rmp-pdf-header-hidden {
	justify-content: flex-end;
	padding-block: 0;
	margin-bottom: .45rem;
}
.rmp-pdf-modal-panel {
	width: min(var(--rmp-pdf-modal-width, 1120px), calc(100vw - 2rem));
	padding: var(--rmp-pdf-modal-padding, 14px);
	border-radius: var(--rmp-pdf-modal-radius, var(--rmp-radius-panel));
	gap: .55rem;
}
.rmp-pdf-modal-header {
	min-height: 0;
	padding: var(--rmp-pdf-modal-header-pad-y, 8px) var(--rmp-pdf-modal-header-pad-x, 8px);
}
.rmp-pdf-modal-header h2 {
	font-size: clamp(1rem, 1.55vw, var(--rmp-pdf-modal-title-size, 26px));
	line-height: 1.05;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: min(64vw, 760px);
}
.rmp-pdf-modal-header-hidden {
	justify-content: flex-end;
	padding-block: 0;
}
.rmp-pdf-modal-actions .rmp-button[hidden],
.rmp-reader-tool[hidden] {
	display: none !important;
}
.rmp-pdf-close {
	width: 38px;
	height: 38px;
	font-size: 1.35rem;
}
.rmp-pdf-modal .rmp-pdf-frame-wrap {
	height: min(var(--rmp-pdf-height), calc(100vh - 116px));
	border-radius: max(0px, calc(var(--rmp-pdf-modal-radius, 28px) - 10px));
}
body.rmp-pdf-interaction-guard .rmp-pdf-modal,
body.rmp-pdf-interaction-guard .rmp-reader-modal {
	-webkit-user-select: none;
	user-select: none;
}
.rmp-reader-panel {
	inset: var(--rmp-reader-panel-inset, 10px);
	border-radius: var(--rmp-reader-panel-radius, 22px);
}
.rmp-reader-topbar {
	min-height: 0;
	padding: var(--rmp-reader-topbar-pad-y, 8px) var(--rmp-reader-topbar-pad-x, 14px);
	gap: .55rem;
}
.rmp-reader-topbar h2 {
	font-size: clamp(.95rem, 1.55vw, var(--rmp-reader-title-size, 21px));
}
.rmp-reader-header-minimal .rmp-reader-kicker,
.rmp-reader-header-hidden .rmp-reader-title-block,
.rmp-reader-header-minimal small {
	display: none;
}
.rmp-reader-header-hidden {
	justify-content: flex-end;
}
.rmp-reader-tool,
.rmp-reader-close {
	min-height: var(--rmp-reader-tool-height, 36px);
	border-radius: var(--rmp-reader-tool-radius, 999px);
}
.rmp-reader-tools input {
	min-height: var(--rmp-reader-tool-height, 36px);
	border-radius: var(--rmp-reader-tool-radius, 999px);
}
.rmp-reader-frame {
	min-height: calc(100dvh - 80px);
}
@media (max-width: 760px) {
	.rmp-pdf-modal-panel {
		width: calc(100vw - .8rem);
		max-height: calc(100vh - .8rem);
	}
	.rmp-pdf-modal-header {
		flex-direction: row;
		align-items: center;
	}
	.rmp-pdf-modal-actions {
		width: auto;
		justify-content: flex-end;
	}
	.rmp-pdf-modal .rmp-pdf-frame-wrap {
		height: min(var(--rmp-pdf-mobile-height), calc(100vh - 94px));
	}
	.rmp-reader-panel {
		inset: 0;
		border-radius: 0;
	}
}


/* RMP v6.5: dashboard file picker cards and left-rail layouts. */
.rmp-member-library-layout-cards_left .rmp-member-library-controls,
.rmp-member-library-layout-cards_grid .rmp-member-library-controls {
	justify-content: flex-start;
}
.rmp-member-library-layout-cards_left .rmp-member-library-empty-note,
.rmp-member-library-layout-cards_grid .rmp-member-library-empty-note {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: .45rem .8rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--rmp-accent, #00a878) 7%, #fff 93%);
	border: 1px solid color-mix(in srgb, var(--rmp-accent, #00a878) 14%, transparent);
}
.rmp-reader-portal-has-access .rmp-member-library-main-cards_left,
.rmp-reader-portal-has-access .rmp-member-library-main-cards_grid,
.rmp-member-library-main-cards_left,
.rmp-member-library-main-cards_grid {
	min-height: 100dvh;
	padding: calc(76px + clamp(16px, 3vw, 34px)) clamp(16px, 4vw, 56px) clamp(28px, 4vw, 56px);
}
.rmp-member-library-main-cards_left {
	display: grid;
	grid-template-columns: minmax(250px, min(390px, 34vw)) minmax(0, 1fr);
	gap: clamp(18px, 3vw, 36px);
	align-items: start;
}
.rmp-member-library-main-cards_grid {
	display: block;
}
.rmp-member-file-cards-panel {
	min-width: 0;
}
.rmp-member-file-cards-head {
	margin-bottom: clamp(16px, 2vw, 24px);
	max-width: 760px;
}
.rmp-member-file-cards-head .rmp-kicker {
	margin: 0 0 6px;
}
.rmp-member-file-cards-head h1 {
	margin: 0;
	font-size: clamp(2rem, 4vw, 4.6rem);
	line-height: .92;
	letter-spacing: -.065em;
	color: var(--rmp-ink, #06251f);
}
.rmp-member-file-cards-head p:not(.rmp-kicker) {
	margin: .8rem 0 0;
	max-width: 60ch;
	color: var(--rmp-muted, #4d6967);
	font-weight: 650;
}
.rmp-member-file-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 280px));
	gap: clamp(14px, 2vw, 22px);
	align-items: stretch;
	justify-content: start;
}
.rmp-member-library-main-cards_left .rmp-member-file-cards {
	grid-template-columns: 1fr;
	max-width: 390px;
}
.rmp-member-file-card {
	display: grid;
	grid-template-columns: minmax(74px, 34%) minmax(0, 1fr);
	gap: 14px;
	align-items: stretch;
	padding: 14px;
	border-radius: clamp(18px, var(--rmp-radius-card, 34px), 34px);
	background: rgba(255,255,255,.9);
	border: 1px solid color-mix(in srgb, var(--rmp-accent, #00a878) 15%, transparent);
	box-shadow: 0 18px 52px rgba(0, 58, 48, .08);
	backdrop-filter: blur(18px);
	min-width: 0;
}
.rmp-member-file-card-cover {
	appearance: none;
	border: 0;
	padding: 0;
	margin: 0;
	cursor: pointer;
	border-radius: clamp(14px, var(--rmp-radius-cover, 22px), 24px);
	background: color-mix(in srgb, var(--rmp-accent, #00a878) 10%, #fff 90%);
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--rmp-accent, #00a878) 16%, transparent);
	overflow: hidden;
	min-height: 130px;
	display: grid;
	place-items: center;
	color: var(--rmp-accent, #00a878);
	font-size: clamp(2rem, 4vw, 3.5rem);
	font-weight: 950;
}
.rmp-member-file-card-cover img {
	width: 100%;
	height: 100%;
	min-height: 130px;
	object-fit: cover;
	display: block;
}
.rmp-member-file-card-body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}
.rmp-member-file-card-kicker {
	margin: 0;
	font-size: .68rem;
	font-weight: 950;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--rmp-accent, #00a878);
}
.rmp-member-file-card h2 {
	margin: 0;
	font-size: clamp(1rem, 1.4vw, 1.28rem);
	line-height: 1.08;
	letter-spacing: -.04em;
	color: var(--rmp-ink, #06251f);
}
.rmp-member-file-card-desc {
	margin: 0;
	font-size: .86rem;
	line-height: 1.35;
	color: var(--rmp-muted, #4d6967);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.rmp-member-file-card-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: auto;
}
.rmp-member-file-card-meta span {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	padding: .2rem .5rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--rmp-accent, #00a878) 8%, #fff 92%);
	color: var(--rmp-muted, #4d6967);
	font-size: .72rem;
	font-weight: 850;
}
.rmp-member-file-card-open {
	width: 100%;
	min-height: 38px;
	border-radius: 14px;
	padding-block: .55rem;
	margin-top: 2px;
}
.rmp-member-library-placeholder {
	min-height: min(620px, calc(100dvh - 130px));
	border-radius: clamp(22px, var(--rmp-radius-panel, 34px), 38px);
	border: 1px dashed color-mix(in srgb, var(--rmp-accent, #00a878) 22%, transparent);
	background:
		radial-gradient(circle at 80% 10%, color-mix(in srgb, var(--rmp-accent, #00a878) 12%, transparent), transparent 32%),
		rgba(255,255,255,.42);
	display: grid;
	align-content: center;
	justify-items: start;
	padding: clamp(24px, 5vw, 64px);
	color: var(--rmp-ink, #06251f);
}
.rmp-member-library-placeholder h2 {
	max-width: 760px;
	margin: 0;
	font-size: clamp(2rem, 4.5vw, 5.2rem);
	line-height: .95;
	letter-spacing: -.07em;
}
.rmp-member-library-placeholder p:not(.rmp-kicker) {
	max-width: 55ch;
	font-weight: 650;
	color: var(--rmp-muted, #4d6967);
}
@media (max-width: 920px) {
	.rmp-reader-portal-has-access .rmp-member-library-main-cards_left,
	.rmp-reader-portal-has-access .rmp-member-library-main-cards_grid,
	.rmp-member-library-main-cards_left,
	.rmp-member-library-main-cards_grid {
		padding-top: calc(118px + 18px);
	}
	.rmp-member-library-main-cards_left {
		grid-template-columns: 1fr;
	}
	.rmp-member-library-main-cards_left .rmp-member-file-cards {
		grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 280px));
		max-width: none;
	}
	.rmp-member-library-placeholder {
		min-height: 260px;
	}
}
@media (max-width: 700px) {
	.rmp-reader-portal-has-access .rmp-member-library-main-cards_left,
	.rmp-reader-portal-has-access .rmp-member-library-main-cards_grid,
	.rmp-member-library-main-cards_left,
	.rmp-member-library-main-cards_grid {
		padding-top: calc(142px + 16px);
		padding-inline: 12px;
	}
	.rmp-member-file-cards {
		grid-template-columns: 1fr;
	}
	.rmp-member-file-card {
		grid-template-columns: 96px minmax(0, 1fr);
		padding: 12px;
	}
	.rmp-member-file-card-cover,
	.rmp-member-file-card-cover img {
		min-height: 118px;
	}
	.rmp-member-library-placeholder h2 {
		font-size: clamp(1.8rem, 9vw, 3.2rem);
	}
}
@media (max-width: 520px) {
	.rmp-member-file-card {
		grid-template-columns: 1fr;
	}
	.rmp-member-file-card-cover,
	.rmp-member-file-card-cover img {
		min-height: 180px;
	}
}

/* RMP v6.6: compact dashboard card workspace and safer long PDF titles. */
.rmp-member-file-card,
.rmp-member-file-card * {
	min-width: 0;
}
.rmp-member-file-card h2 {
	overflow-wrap: anywhere;
	word-break: break-word;
	hyphens: auto;
}
.rmp-member-library-main-cards_left {
	grid-template-columns: minmax(270px, min(460px, 38vw)) minmax(280px, 1fr);
	gap: clamp(18px, 2.4vw, 32px);
}
.rmp-member-library-main-cards_left .rmp-member-file-cards-panel {
	max-width: 520px;
}
.rmp-member-library-placeholder {
	min-height: clamp(240px, 42vh, 430px);
	align-self: start;
	align-content: start;
	padding: clamp(22px, 3.2vw, 42px);
	background:
		radial-gradient(circle at 82% 6%, color-mix(in srgb, var(--rmp-accent, #00a878) 8%, transparent), transparent 28%),
		rgba(255,255,255,.48);
}
.rmp-member-library-placeholder h2 {
	max-width: 18ch;
	font-size: clamp(1.55rem, 2.35vw, 2.85rem);
	line-height: 1.04;
	letter-spacing: -.055em;
}
.rmp-member-library-placeholder p:not(.rmp-kicker) {
	max-width: 42ch;
	font-size: clamp(.95rem, 1.05vw, 1.08rem);
	line-height: 1.45;
}
.rmp-member-library-placeholder .rmp-kicker {
	margin-bottom: clamp(14px, 2vw, 24px);
}
@media (min-width: 1180px) {
	.rmp-member-library-main-cards_left .rmp-member-file-card {
		grid-template-columns: minmax(92px, 34%) minmax(0, 1fr);
	}
}
@media (max-width: 920px) {
	.rmp-member-library-main-cards_left .rmp-member-file-cards-panel {
		max-width: none;
	}
	.rmp-member-library-placeholder {
		min-height: 220px;
	}
}

/* RMP v6.6: post/page protected PDF panel. */
.rmp-content-pdf-panel {
	margin: clamp(24px, 4vw, 48px) 0;
	padding: clamp(20px, 3vw, 34px);
	border-radius: clamp(20px, var(--rmp-radius-panel, 34px), 38px);
	border: 1px solid color-mix(in srgb, var(--rmp-accent, #00a878) 18%, transparent);
	background:
		radial-gradient(circle at 90% 0%, color-mix(in srgb, var(--rmp-accent, #00a878) 10%, transparent), transparent 30%),
		rgba(255,255,255,.76);
	box-shadow: 0 18px 52px rgba(0,58,48,.08);
}
.rmp-content-pdf-panel h2 {
	margin: .2rem 0 .35rem;
	font-size: clamp(1.45rem, 2.6vw, 2.6rem);
	line-height: 1.05;
	letter-spacing: -.05em;
	color: var(--rmp-ink, #06251f);
}
.rmp-content-pdf-panel p:not(.rmp-kicker) {
	max-width: 58ch;
	color: var(--rmp-muted, #4d6967);
	font-weight: 650;
}
.rmp-content-pdf-panel .rmp-button {
	margin-top: .4rem;
}
.rmp-content-pdf-panel-restricted {
	border-style: dashed;
}

/* RMP v6.7: backend-controlled microcopy markers and reader dashboard tuning. */
.rmp-kicker {
	gap: var(--rmp-kicker-gap, .55rem);
	letter-spacing: var(--rmp-kicker-tracking, .17em);
}
.rmp-kicker::before {
	width: var(--rmp-kicker-dot-size, .62rem);
	height: var(--rmp-kicker-dot-size, .62rem);
	box-shadow: 0 0 0 var(--rmp-kicker-dot-halo, 7px) rgb(var(--rmp-accent-rgb) / 0.14), 0 0 24px rgb(var(--rmp-accent-rgb) / 0.55);
}
body.rmp-hide-kicker-dots .rmp-kicker::before {
	display: none;
}
.rmp-member-file-card {
	gap: var(--rmp-member-card-gap, 14px);
	padding: var(--rmp-member-card-padding, 14px);
}
.rmp-member-file-card-cover,
.rmp-member-file-card-cover img {
	min-height: var(--rmp-member-cover-height, 130px);
}
.rmp-member-file-card h2 {
	font-size: clamp(.92rem, 1.35vw, var(--rmp-member-card-title-size, 20px));
}
.rmp-member-library-placeholder {
	min-height: var(--rmp-member-placeholder-min-height, 320px);
	padding: var(--rmp-member-placeholder-padding, 34px);
}
.rmp-member-library-placeholder h2 {
	font-size: clamp(1.35rem, 2.3vw, var(--rmp-member-placeholder-title-size, 38px));
}
.rmp-member-library-placeholder p:not(.rmp-kicker) {
	font-size: var(--rmp-member-placeholder-text-size, 17px);
}


/* RMP v6.9 reader feedback + richer dashboard file views */
.rmp-member-library-main-cards_featured .rmp-member-file-cards,
.rmp-member-library-main-cards_masonry .rmp-member-file-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
	align-items: stretch;
}
.rmp-member-library-main-cards_featured .rmp-member-file-card:first-child {
	grid-column: span 2;
}
.rmp-member-library-main-cards_featured .rmp-member-file-card:first-child .rmp-member-file-card-cover {
	min-height: calc(var(--rmp-member-cover-height, 130px) * 1.7);
}
.rmp-member-library-main-cards_compact .rmp-member-file-cards,
.rmp-member-library-main-cards_table .rmp-member-file-cards {
	display: grid;
	grid-template-columns: 1fr;
}
.rmp-member-library-main-cards_compact .rmp-member-file-card,
.rmp-member-library-main-cards_table .rmp-member-file-card {
	grid-template-columns: 86px 1fr;
	align-items: center;
	padding: max(10px, calc(var(--rmp-member-card-padding, 14px) * .75));
}
.rmp-member-library-main-cards_compact .rmp-member-file-card-cover,
.rmp-member-library-main-cards_table .rmp-member-file-card-cover {
	min-height: 76px;
	height: 76px;
}
.rmp-member-library-main-cards_compact .rmp-member-file-card h2,
.rmp-member-library-main-cards_table .rmp-member-file-card h2 {
	font-size: clamp(1rem, 1.8vw, 1.25rem);
}
.rmp-member-library-main-cards_table .rmp-member-file-card {
	box-shadow: none;
	border-radius: 18px;
	background: rgba(255,255,255,.78);
}
.rmp-member-library-main-cards_masonry .rmp-member-file-card:nth-child(3n+1) .rmp-member-file-card-cover { min-height: calc(var(--rmp-member-cover-height, 130px) * 1.25); }
.rmp-member-library-main-cards_masonry .rmp-member-file-card:nth-child(3n+2) .rmp-member-file-card-cover { min-height: calc(var(--rmp-member-cover-height, 130px) * .9); }
.rmp-reader-feedback-form {
	margin-top: 14px;
	padding: 14px;
	border: 1px solid rgba(25, 113, 194, .16);
	border-radius: 18px;
	background: linear-gradient(135deg, rgba(255,255,255,.86), rgba(239, 249, 255, .68));
	display: grid;
	gap: 8px;
}
.rmp-reader-feedback-form h3 {
	margin: 0;
	font-size: .98rem;
	letter-spacing: -.02em;
}
.rmp-reader-feedback-intro {
	margin: 0;
	font-size: .9rem;
	color: var(--rmp-muted, #526b7a);
}
.rmp-reader-feedback-label {
	font-size: .78rem;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--rmp-muted, #526b7a);
}
.rmp-reader-feedback-stars {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.rmp-reader-feedback-stars label {
	cursor: pointer;
}
.rmp-reader-feedback-stars input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.rmp-reader-feedback-stars span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	padding: 5px 9px;
	border-radius: 999px;
	background: rgba(255,255,255,.88);
	border: 1px solid rgba(25, 113, 194, .18);
	color: #c9793f;
	font-size: .8rem;
}
.rmp-reader-feedback-stars input:checked + span {
	background: #fff4e8;
	border-color: rgba(201, 121, 63, .45);
	box-shadow: 0 8px 22px rgba(201, 121, 63, .18);
}
.rmp-reader-feedback-form select,
.rmp-reader-feedback-form textarea {
	width: 100%;
	border-radius: 14px;
	border: 1px solid rgba(25, 113, 194, .22);
	background: rgba(255,255,255,.95);
	padding: 10px 12px;
}
.rmp-reader-feedback-public {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: .88rem;
	color: var(--rmp-muted, #526b7a);
}
.rmp-reader-feedback-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.rmp-reader-feedback-actions [data-rmp-feedback-message] {
	font-size: .88rem;
	font-weight: 800;
	color: var(--rmp-muted, #526b7a);
}
.rmp-reader-feedback-actions [data-rmp-feedback-message][data-state="success"] { color: #0b7d55; }
.rmp-reader-feedback-actions [data-rmp-feedback-message][data-state="error"] { color: #b42318; }
@media (max-width: 780px) {
	.rmp-member-library-main-cards_featured .rmp-member-file-card:first-child { grid-column: auto; }
	.rmp-member-library-main-cards_compact .rmp-member-file-card,
	.rmp-member-library-main-cards_table .rmp-member-file-card { grid-template-columns: 1fr; }
}


/* RMP v6.10.0 — About Author section and page template */
.rmp-author-section {
	color: var(--rmp-author-text, var(--rmp-text));
}
.rmp-author-panel {
	position: relative;
	display: grid;
	grid-template-columns: minmax(180px, var(--rmp-author-photo-width, 360px)) minmax(0, 1fr);
	gap: var(--rmp-author-gap, 34px);
	align-items: center;
	padding: clamp(26px, 4.5vw, 58px);
	border: 1px solid rgba(138, 198, 230, .34);
	border-radius: var(--rmp-author-radius, 34px);
	background:
		radial-gradient(circle at 86% 12%, rgba(43, 126, 191, .12), transparent 32%),
		linear-gradient(135deg, color-mix(in srgb, var(--rmp-author-panel, #f7fcff) 86%, #fff), #fff 70%);
	box-shadow: 0 22px 60px rgba(35, 92, 125, .12);
	overflow: hidden;
}
.rmp-author-layout-split-right .rmp-author-panel {
	grid-template-columns: minmax(0, 1fr) minmax(180px, var(--rmp-author-photo-width, 360px));
}
.rmp-author-layout-split-right .rmp-author-photo-wrap {
	order: 2;
}
.rmp-author-layout-editorial .rmp-author-panel {
	grid-template-columns: minmax(220px, .72fr) minmax(0, 1.28fr);
	align-items: stretch;
}
.rmp-author-layout-portrait-card .rmp-author-panel,
.rmp-author-layout-spotlight .rmp-author-panel,
.rmp-author-layout-minimal .rmp-author-panel {
	grid-template-columns: 1fr;
	text-align: center;
	justify-items: center;
}
.rmp-author-layout-minimal .rmp-author-photo-wrap {
	display: none;
}
.rmp-author-align-center .rmp-author-copy {
	text-align: center;
	align-items: center;
}
.rmp-author-copy {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	max-width: 820px;
}
.rmp-author-copy h2 {
	margin: .16em 0 .18em;
	font-size: clamp(2rem, 5vw, var(--rmp-author-title-size, 54px));
	line-height: .95;
	color: var(--rmp-author-text, var(--rmp-ink));
}
.rmp-author-copy h3 {
	margin: .1rem 0 .35rem;
	font-size: clamp(1.25rem, 2.2vw, 1.8rem);
	color: var(--rmp-author-text, var(--rmp-ink));
}
.rmp-author-role {
	margin: 0 0 1rem;
	font-weight: 800;
	color: var(--rmp-author-muted, var(--rmp-muted));
}
.rmp-author-bio,
.rmp-author-bio p {
	font-size: var(--rmp-author-body-size, 18px);
	line-height: 1.75;
	color: color-mix(in srgb, var(--rmp-author-text, #062236) 82%, #fff);
}
.rmp-author-quote {
	margin: 1.05rem 0 0;
	padding: 1.05rem 1.2rem;
	border-left: 4px solid var(--rmp-author-accent, var(--rmp-accent));
	border-radius: 18px;
	background: rgba(255, 255, 255, .68);
	box-shadow: inset 0 0 0 1px rgba(140, 196, 226, .25);
	color: var(--rmp-author-muted, var(--rmp-muted));
}
.rmp-author-quote p {
	margin: 0;
}
.rmp-author-credentials {
	display: flex;
	flex-wrap: wrap;
	gap: .65rem;
	padding: 0;
	margin: 1.1rem 0 0;
	list-style: none;
}
.rmp-author-credentials li {
	padding: .52rem .75rem;
	border: 1px solid color-mix(in srgb, var(--rmp-author-accent, #1f77bf) 28%, #fff);
	border-radius: 999px;
	background: color-mix(in srgb, var(--rmp-author-accent, #1f77bf) 10%, #fff);
	color: var(--rmp-author-text, var(--rmp-ink));
	font-weight: 800;
	font-size: .92rem;
}
.rmp-author-photo-wrap {
	position: relative;
	isolation: isolate;
	width: 100%;
	max-width: var(--rmp-author-photo-width, 360px);
	margin: 0;
	border-radius: var(--rmp-author-photo-radius, 28px);
	overflow: hidden;
	background: linear-gradient(135deg, rgba(255,255,255,.82), rgba(214,239,250,.74));
	box-shadow: 0 22px 54px rgba(16, 80, 120, .18);
}
.rmp-author-crop-portrait .rmp-author-photo-wrap { aspect-ratio: 4 / 5; }
.rmp-author-crop-square .rmp-author-photo-wrap { aspect-ratio: 1 / 1; }
.rmp-author-crop-circle .rmp-author-photo-wrap { aspect-ratio: 1 / 1; border-radius: 999px; }
.rmp-author-crop-wide .rmp-author-photo-wrap { aspect-ratio: 16 / 7; max-width: min(100%, 720px); }
.rmp-author-crop-landscape .rmp-author-photo-wrap { aspect-ratio: 4 / 3; }
.rmp-author-crop-natural .rmp-author-photo-wrap { aspect-ratio: auto; }
.rmp-author-photo-wrap img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 260px;
	object-fit: cover;
}
.rmp-author-crop-natural .rmp-author-photo-wrap img {
	height: auto;
	min-height: 0;
}
.rmp-author-photo-wrap::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	opacity: var(--rmp-author-overlay-opacity, .34);
}
.rmp-author-overlay-none .rmp-author-photo-wrap::after { opacity: 0; }
.rmp-author-overlay-soft .rmp-author-photo-wrap::after { background: linear-gradient(135deg, rgba(255,255,255,.45), rgba(32,132,194,.28)); }
.rmp-author-overlay-gradient .rmp-author-photo-wrap::after { background: linear-gradient(to top, rgba(4,32,52,.44), transparent 58%); }
.rmp-author-overlay-medical .rmp-author-photo-wrap::after { background: linear-gradient(135deg, rgba(28,164,214,.38), rgba(19,84,145,.28)); mix-blend-mode: multiply; }
.rmp-author-overlay-warm .rmp-author-photo-wrap::after { background: linear-gradient(135deg, rgba(213,116,70,.36), rgba(255,255,255,.15)); }
.rmp-author-overlay-duotone .rmp-author-photo-wrap::after { background: linear-gradient(135deg, rgba(0,95,150,.45), rgba(208,110,65,.4)); mix-blend-mode: color; }
.rmp-author-overlay-vignette .rmp-author-photo-wrap::after { background: radial-gradient(circle at 50% 38%, transparent 45%, rgba(5,30,48,.6)); }
.rmp-author-overlay-glass .rmp-author-photo-wrap::after { background: linear-gradient(110deg, rgba(255,255,255,.54) 0%, rgba(255,255,255,.08) 38%, rgba(35,142,200,.22) 100%); }
.rmp-author-photo-placeholder {
	display: grid;
	place-items: center;
	width: 100%;
	min-height: 300px;
	font-size: clamp(4rem, 12vw, 9rem);
	font-weight: 900;
	color: var(--rmp-author-accent, var(--rmp-accent));
	letter-spacing: -.08em;
}
.rmp-author-actions {
	margin-top: 1.25rem;
}
.rmp-author-page-template .rmp-author-section {
	padding-top: clamp(42px, 7vw, 86px);
}
.rmp-author-page-content .rmp-page-panel {
	padding: clamp(24px, 4vw, 52px);
	border: 1px solid rgba(138, 198, 230, .28);
	border-radius: 28px;
	background: rgba(255,255,255,.82);
	box-shadow: 0 18px 48px rgba(30, 75, 110, .08);
}
@media (max-width: 860px) {
	.rmp-author-panel,
	.rmp-author-layout-split-right .rmp-author-panel,
	.rmp-author-layout-editorial .rmp-author-panel {
		grid-template-columns: 1fr;
		justify-items: start;
	}
	.rmp-author-layout-split-right .rmp-author-photo-wrap { order: 0; }
	.rmp-author-photo-wrap { max-width: min(100%, var(--rmp-author-photo-width, 360px)); }
}
