/*
 * ModulawAI Academy. Built on the theme's tokens (--ent-*), so light and dark follow the site toggle.
 * Language: editorial type (DM Sans, Cormorant Garamond italic accents), layered "double bezel"
 * cards, pill actions with the arrow in its own circle, and slow, weighted motion.
 */

:root {
	--mpa-ease: cubic-bezier(0.32, 0.72, 0, 1);
	--mpa-surface: var(--ent-bg);
	--mpa-highlight: rgba(255, 255, 255, 0.7);
	--mpa-good: #15803d;
	--mpa-warn: #b45309;
	--mpa-bad: #b91c1c;
	--mpa-bar: 46px;
	--mpa-header: 65px; /* the theme's sticky site header */
	--mpa-ring: 0 0 0 1px var(--ent-rule);
	--mpa-lift: 0 1px 2px color-mix(in srgb, var(--ent-ink) 4%, transparent), 0 28px 56px -32px color-mix(in srgb, var(--ent-ink) 26%, transparent);
	--mpa-bezel: 0 0 0 1px var(--ent-rule), 0 0 0 7px color-mix(in srgb, var(--ent-ink) 3.5%, transparent);
}

:root.dark {
	--mpa-surface: #121211;
	--mpa-highlight: rgba(255, 255, 255, 0.05);
	--mpa-good: #4ade80;
	--mpa-warn: #fbbf24;
	--mpa-bad: #f87171;
	--mpa-lift: 0 1px 2px rgba(0, 0, 0, 0.4), 0 28px 56px -30px rgba(0, 0, 0, 0.8);
}

/* ---------------------------------------------------------------- Shell */

.mpa-card,
.mpa-card__core,
.mpa-shell-card,
.mpa-shell-card__core,
.mpa-cta,
.mpa-callout,
.mpa-outline,
.mpa-tabs,
.mpa-empty {
	box-sizing: border-box;
}

body:has(.mpa-shell),
body:has(.mpa-catalog) {
	overflow-x: clip;
}

.mpa-shell {
	margin-block-start: 0 !important;
	background: var(--ent-bg);
	color: var(--ent-ink);
}

.mpa-shell a,
.mpa-catalog a {
	text-decoration: none;
}

.wp-site-blocks > .mpa-crumbbar,
.wp-site-blocks > .mpa-shell,
.wp-site-blocks > footer:has(.mpa-footer) {
	margin-block-start: 0;
}

/* ---------------------------------------------------------------- Breadcrumb bar */

/* Academy menu labels stay on one line. */
.ent-nav-primary .ent-nav-link {
	white-space: nowrap;
}

.mpa-crumbbar {
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--mpa-header));
	z-index: 90;
	border-bottom: 1px solid var(--ent-rule);
	background: color-mix(in srgb, var(--ent-bg) 84%, transparent);
	-webkit-backdrop-filter: blur(14px) saturate(150%);
	backdrop-filter: blur(14px) saturate(150%);
}

.mpa-crumbbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	max-width: 1152px;
	height: var(--mpa-bar);
	margin: 0 auto;
	padding: 0 1.5rem;
}

.mpa-crumbbar nav {
	min-width: 0;
}

.mpa-crumbbar__trail {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.8125rem;
	white-space: nowrap;
	min-width: 0;
}

.mpa-crumbbar__trail li {
	display: flex;
	flex: 0 1 auto;
	align-items: center;
	min-width: 0;
}

.mpa-crumbbar__trail li > a,
.mpa-crumbbar__trail li > span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.mpa-crumbbar__trail li + li::before {
	content: "";
	flex: none;
	width: 5px;
	height: 5px;
	margin: 0 0.8rem;
	border: solid var(--ent-rule-strong);
	border-width: 1.25px 1.25px 0 0;
	transform: rotate(45deg);
}

.mpa-crumbbar__trail a {
	color: var(--ent-muted);
	transition: color 0.4s var(--mpa-ease);
}

.mpa-crumbbar__trail a:hover {
	color: var(--ent-ink);
}

.mpa-crumbbar__trail [aria-current] {
	overflow: hidden;
	text-overflow: ellipsis;
	color: var(--ent-ink);
	font-weight: 500;
}

.mpa-crumbbar__progress {
	display: flex;
	flex: none;
	align-items: center;
	gap: 0.65rem;
	color: var(--ent-muted);
	font-size: 0.75rem;
	font-variant-numeric: tabular-nums;
}

.mpa-crumbbar__meter {
	width: 84px;
	height: 4px;
	overflow: hidden;
	border-radius: 99px;
	background: var(--ent-rule);
}

.mpa-crumbbar__meter span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--ent-ink);
	transform-origin: left;
	animation: mpa-grow 1.2s var(--mpa-ease) both;
}

/* ---------------------------------------------------------------- Page header */

.mpa-hero {
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid var(--ent-rule);
	background:
		radial-gradient(46rem 28rem at 8% -10%, color-mix(in srgb, var(--ent-accent) 13%, transparent), transparent 62%),
		radial-gradient(34rem 22rem at 100% 110%, color-mix(in srgb, var(--ent-accent) 7%, transparent), transparent 70%),
		var(--ent-bg);
}

/* A fine dot grid that fades out: texture without noise. */
.mpa-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(color-mix(in srgb, var(--ent-ink) 14%, transparent) 1px, transparent 1.2px);
	background-size: 22px 22px;
	-webkit-mask-image: radial-gradient(60rem 30rem at 85% 0%, #000, transparent 70%);
	mask-image: radial-gradient(60rem 30rem at 85% 0%, #000, transparent 70%);
	opacity: 0.55;
	pointer-events: none;
}

.mpa-hero__inner {
	position: relative;
	display: grid;
	max-width: 1152px;
	margin: 0 auto;
	padding: clamp(3.5rem, 7vw, 6.5rem) 1.5rem clamp(3rem, 6vw, 5rem);
}

.mpa-hero__inner.has-aside {
	grid-template-columns: minmax(0, 1fr) minmax(320px, 400px);
	gap: clamp(2.5rem, 6vw, 5.5rem);
	align-items: end;
}

.mpa-hero--catalog .mpa-hero__inner {
	align-items: center;
	padding-block: clamp(4rem, 9vw, 8rem) clamp(3.5rem, 7vw, 6rem);
}

.mpa-hero--lesson .mpa-hero__inner,
.mpa-hero--quiz .mpa-hero__inner {
	padding-block: clamp(2.75rem, 5vw, 4.25rem) clamp(2.25rem, 4vw, 3.25rem);
}

.mpa-hero__main > * {
	animation: mpa-rise 1s var(--mpa-ease) both;
}

.mpa-hero__main > *:nth-child(2) { animation-delay: 0.06s; }
.mpa-hero__main > *:nth-child(3) { animation-delay: 0.12s; }
.mpa-hero__main > *:nth-child(4) { animation-delay: 0.18s; }
.mpa-hero__main > *:nth-child(5) { animation-delay: 0.24s; }

.mpa-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	margin: 0;
	color: var(--ent-muted);
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.01em;
}

.mpa-eyebrow::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--ent-accent);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--ent-accent) 16%, transparent);
}

.mpa-pill {
	display: inline-flex;
	margin: 0;
	padding: 0.32rem 0.8rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--ent-ink) 4%, transparent);
	box-shadow: inset 0 0 0 1px var(--ent-rule);
	color: var(--ent-ink-soft);
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.mpa-hero__title {
	max-width: 19ch;
	margin: 1rem 0 0;
	color: var(--ent-ink);
	font-size: clamp(2.2rem, 4.6vw, 3.6rem);
	font-weight: 600;
	letter-spacing: -0.035em;
	line-height: 1.04;
	text-wrap: balance;
}

.mpa-hero--lesson .mpa-hero__title,
.mpa-hero--quiz .mpa-hero__title {
	max-width: 26ch;
	font-size: clamp(1.85rem, 3.4vw, 2.75rem);
}

.mpa-hero__title--display {
	max-width: 14ch;
	margin-top: 1.5rem;
	font-size: clamp(2.7rem, 6.4vw, 5.25rem);
	letter-spacing: -0.045em;
	line-height: 0.98;
}

.mpa-hero__title em {
	display: block;
	color: var(--ent-ink-soft);
	font-family: "Cormorant Garamond", Georgia, serif;
	font-style: italic;
	font-weight: 500;
	letter-spacing: -0.015em;
}

.mpa-hero__lead {
	max-width: 56ch;
	margin: 1.4rem 0 0;
	color: var(--ent-ink-soft);
	font-size: 1.0625rem;
	line-height: 1.65;
	text-wrap: pretty;
}

.mpa-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 1.9rem 0 0;
	padding: 0;
	list-style: none;
}

.mpa-facts li {
	padding: 0.4rem 0.85rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--ent-bg) 70%, transparent);
	box-shadow: inset 0 0 0 1px var(--ent-rule);
	color: var(--ent-ink-soft);
	font-size: 0.8125rem;
}

.mpa-stats {
	display: grid;
	grid-template-columns: repeat(3, auto);
	justify-content: start;
	gap: 0;
	max-width: 560px;
	margin: 2.75rem 0 0;
	padding: 1.4rem 0 0;
	border-top: 1px solid var(--ent-rule);
	list-style: none;
}

.mpa-stats li {
	display: grid;
	gap: 0.2rem;
	padding-right: 1.75rem;
}

.mpa-stats li + li {
	padding-left: 1.75rem;
	border-left: 1px solid var(--ent-rule);
}

.mpa-stats strong {
	font-size: 1.3rem;
	font-weight: 600;
	letter-spacing: -0.02em;
}

.mpa-stats span {
	color: var(--ent-muted);
	font-size: 0.78rem;
}

/* ---------------------------------------------------------------- Layered cards */

.mpa-shell-card {
	padding: 7px;
	border-radius: 24px;
	background: color-mix(in srgb, var(--ent-ink) 3.5%, transparent);
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ent-ink) 7%, transparent);
}

.mpa-shell-card__core {
	display: block;
	padding: 1.75rem;
	border-radius: 17px;
	background: var(--mpa-surface);
	box-shadow: inset 0 1px 0 var(--mpa-highlight), 0 0 0 1px var(--ent-rule), var(--mpa-lift);
}

/* ---------------------------------------------------------------- Buttons and links */

.mpa-btn,
.mpa-shell .llms-button-action,
.mpa-shell .llms-button-primary,
.mpa-shell button.llms-button-secondary,
.mpa-shell .llms-button-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.85rem;
	min-height: 2.9rem;
	margin: 0;
	padding: 0.45rem 1.4rem;
	border: 0;
	border-radius: 999px;
	background: var(--ent-ink);
	box-shadow: none;
	color: var(--ent-bg);
	font: 500 0.9rem/1 "DM Sans", system-ui, sans-serif;
	letter-spacing: 0.005em;
	text-decoration: none;
	text-transform: none;
	cursor: pointer;
	transition: background-color 0.45s var(--mpa-ease), color 0.45s var(--mpa-ease), transform 0.5s var(--mpa-ease), box-shadow 0.45s var(--mpa-ease);
}

.mpa-btn {
	padding-right: 0.45rem;
}

.mpa-btn:hover,
.mpa-shell .llms-button-action:hover,
.mpa-shell .llms-button-primary:hover {
	background: var(--ent-accent);
	color: var(--ent-bg);
}

.mpa-btn:active,
.mpa-shell .llms-button-action:active,
.mpa-shell .llms-button-primary:active,
.mpa-shell .llms-button-secondary:active {
	transform: scale(0.98);
}

.mpa-btn:focus-visible,
.mpa-shell .llms-button-action:focus-visible,
.mpa-shell .llms-button-secondary:focus-visible,
.mpa-card:focus-visible,
.mpa-link:focus-visible {
	outline: 2px solid var(--ent-accent);
	outline-offset: 3px;
}

.mpa-btn__icon {
	display: grid;
	flex: none;
	place-items: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: color-mix(in srgb, var(--ent-bg) 16%, transparent);
	transition: transform 0.55s var(--mpa-ease);
}

.mpa-btn:hover .mpa-btn__icon,
.mpa-card:hover .mpa-btn__icon {
	transform: translate(2px, -1px) scale(1.06);
}

.mpa-shell .llms-button-secondary,
.mpa-shell button.llms-button-secondary {
	background: transparent;
	box-shadow: inset 0 0 0 1px var(--ent-rule-strong);
	color: var(--ent-ink);
}

.mpa-shell .llms-button-secondary:hover {
	background: color-mix(in srgb, var(--ent-ink) 5%, transparent);
	color: var(--ent-ink);
}

.mpa-shell .llms-button-action[disabled],
.mpa-shell .llms-button-action.disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.mpa-link {
	color: var(--ent-ink-soft);
	font-size: 0.875rem;
	text-decoration: underline !important;
	text-decoration-color: var(--ent-rule-strong) !important;
	text-underline-offset: 4px;
	transition: color 0.4s var(--mpa-ease), text-decoration-color 0.4s var(--mpa-ease);
}

.mpa-link:hover {
	color: var(--ent-ink);
	text-decoration-color: currentColor !important;
}

/* ---------------------------------------------------------------- Course call to action */

.mpa-hero__aside {
	position: relative;
}

.mpa-cta {
	position: relative;
	margin: 0;
	padding: 1.75rem;
	border-radius: 20px;
	background: var(--mpa-surface);
	box-shadow: inset 0 1px 0 var(--mpa-highlight), var(--mpa-bezel), var(--mpa-lift);
}

.mpa-cta--done {
	background:
		radial-gradient(24rem 12rem at 0% 0%, color-mix(in srgb, var(--mpa-good) 10%, transparent), transparent 70%),
		var(--mpa-surface);
}

.mpa-cta__title {
	margin: 0;
	color: var(--ent-ink);
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: -0.015em;
}

.mpa-cta--done .mpa-cta__title::before {
	content: "";
	display: inline-block;
	width: 0.55rem;
	height: 0.55rem;
	margin-right: 0.6rem;
	border-radius: 50%;
	background: var(--mpa-good);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--mpa-good) 18%, transparent);
	vertical-align: 0.12em;
}

.mpa-cta__text {
	margin: 0.6rem 0 0;
	color: var(--ent-ink-soft);
	font-size: 0.9375rem;
	line-height: 1.6;
}

.mpa-cta .mpa-progress {
	margin-top: 1.1rem;
}

.mpa-cta__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1.25rem;
	margin: 1.5rem 0 0;
}

.mpa-progress {
	display: grid;
	gap: 0.55rem;
}

.mpa-progress__track {
	height: 6px;
	overflow: hidden;
	border-radius: 99px;
	background: var(--ent-rule);
}

.mpa-progress__track span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--ent-ink), color-mix(in srgb, var(--ent-ink) 70%, var(--ent-accent)));
	transform-origin: left;
	animation: mpa-grow 1.2s var(--mpa-ease) both;
}

.mpa-progress__label {
	color: var(--ent-muted);
	font-size: 0.8125rem;
	font-variant-numeric: tabular-nums;
}

/* Free learner account (public courses) */
.mpa-join__msg {
	margin: 1rem 0 0;
	padding: 0.7rem 0.9rem;
	border-radius: 10px;
	background: color-mix(in srgb, var(--mpa-bad) 10%, transparent);
	color: var(--ent-ink);
	font-size: 0.875rem;
}

.mpa-join__form {
	display: grid;
	gap: 0.85rem;
	margin: 1.25rem 0 0;
}

.mpa-join__form label {
	display: grid;
	gap: 0.35rem;
	color: var(--ent-ink-soft);
	font-size: 0.8125rem;
	font-weight: 500;
}

.mpa-join__form input[type="text"],
.mpa-join__form input[type="email"],
.mpa-join__form input[type="password"] {
	width: 100%;
	box-sizing: border-box;
	padding: 0.7rem 0.85rem;
	border: 0;
	border-radius: 10px;
	background: var(--ent-bg);
	box-shadow: inset 0 0 0 1px var(--ent-rule-strong);
	color: var(--ent-ink);
	font: 400 0.95rem/1.4 "DM Sans", system-ui, sans-serif;
	transition: box-shadow 0.4s var(--mpa-ease);
}

.mpa-join__form input:focus {
	outline: none;
	box-shadow: inset 0 0 0 1.5px var(--ent-accent), 0 0 0 4px color-mix(in srgb, var(--ent-accent) 14%, transparent);
}

.mpa-join__form .mpa-join__check {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	font-weight: 400;
	line-height: 1.5;
}

.mpa-join__check input {
	margin-top: 0.2rem;
	accent-color: var(--ent-ink);
}

.mpa-join__form .mpa-btn {
	justify-self: start;
	margin-top: 0.25rem;
}

.mpa-join__fine {
	margin: 0;
	color: var(--ent-muted);
	font-size: 0.75rem;
	line-height: 1.5;
}

.mpa-join__fine a {
	color: var(--ent-ink-soft);
	text-decoration: underline;
}

.mpa-join__sso {
	display: grid;
	gap: 0.5rem;
	justify-items: start;
}

.mpa-join__or {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 1.25rem 0 1rem;
	color: var(--ent-muted);
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.mpa-join__or::before,
.mpa-join__or::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--ent-rule);
}

.mpa-join__switch {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.25rem;
	margin: 1rem 0 0;
}

.mpa-hp {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.mpa-next {
	margin-top: 1.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--ent-rule);
}

.mpa-next__title {
	margin: 0;
	color: var(--ent-ink);
	font-size: 0.95rem;
	font-weight: 600;
}

.mpa-next .mpa-cta__actions {
	margin-top: 0.9rem;
}

/* ---------------------------------------------------------------- Body */

.mpa-body {
	box-sizing: content-box;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	max-width: 1152px;
	margin: 0 auto !important;
	padding: clamp(3rem, 6vw, 5rem) 1.5rem clamp(4.5rem, 9vw, 7.5rem);
}

.mpa-body:has(.mpa-outline) {
	grid-template-columns: 250px minmax(0, 1fr);
	gap: clamp(2.5rem, 6vw, 5.5rem);
	align-items: start;
}

.mpa-content {
	max-width: 720px;
	margin: 0 !important;
}

.mpa-content > .wp-block-post-content > * + * {
	margin-block-start: 1.25rem;
}

.mpa-content p,
.mpa-content li {
	color: var(--ent-ink-soft);
	font-size: 1.0625rem;
	line-height: 1.75;
	text-wrap: pretty;
}

.mpa-content h3 {
	margin: 2.5rem 0 0.75rem;
	color: var(--ent-ink);
	font-size: 1.3rem;
	font-weight: 600;
	letter-spacing: -0.02em;
}

.mpa-content strong {
	color: var(--ent-ink);
	font-weight: 600;
}

.mpa-content .wp-block-post-content > ul {
	display: grid;
	gap: 0.6rem;
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
}

.mpa-content .wp-block-post-content > ul li {
	position: relative;
	padding-left: 1.5rem;
}

.mpa-content .wp-block-post-content > ul li::before {
	content: "";
	position: absolute;
	left: 0.2rem;
	top: 0.78em;
	width: 7px;
	height: 1.5px;
	background: var(--ent-accent);
}

.mpa-content a:not([class]) {
	color: var(--ent-ink);
	text-decoration: underline;
	text-decoration-color: var(--ent-rule-strong);
	text-underline-offset: 3px;
}

.mpa-h2 {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin: 3.5rem 0 1.25rem !important;
	color: var(--ent-muted);
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.mpa-h2::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--ent-rule);
}

.wp-block-post-content > .mpa-h2:first-child,
.mpa-content .mpa-h2:first-child {
	margin-top: 0 !important;
}

/* LifterLMS notices (restricted access and the like). */
.mpa-shell .llms-notice {
	margin: 0 0 1.5rem;
	padding: 1rem 1.25rem;
	border: 0;
	border-radius: 14px;
	background: color-mix(in srgb, var(--ent-ink) 3%, var(--ent-bg));
	box-shadow: var(--mpa-ring);
	color: var(--ent-ink-soft);
	font-size: 0.9375rem;
}

/* ---------------------------------------------------------------- Course outline (syllabus) */

.mpa-shell .llms-syllabus-wrapper {
	margin: 0;
	padding: 0;
	counter-reset: mpa-lesson;
	text-align: left;
}

.mpa-shell .llms-syllabus-wrapper .llms-section-title:only-of-type {
	display: none;
}

.mpa-shell .llms-syllabus-wrapper .llms-section-title {
	margin: 2rem 0 0.75rem;
	padding: 0;
	background: none;
	color: var(--ent-ink);
	font-size: 1rem;
	font-weight: 600;
}

.mpa-shell .llms-syllabus-wrapper .llms-lesson-preview {
	counter-increment: mpa-lesson;
	display: block;
	width: auto;
	margin: 0;
	border: 0;
	border-top: 1px solid var(--ent-rule);
	border-radius: 0;
	background: none;
	box-shadow: none;
}

.mpa-shell .llms-syllabus-wrapper .llms-lesson-preview:last-child {
	border-bottom: 1px solid var(--ent-rule);
}

.mpa-shell .llms-syllabus-wrapper .llms-lesson-preview section {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
}

.mpa-shell .llms-lesson-preview .llms-lesson-link {
	position: relative;
	display: flex;
	flex: 1;
	align-items: center;
	gap: 1.1rem;
	margin: 0;
	padding: 1.15rem 0.5rem;
	border-radius: 10px;
	background: none;
	color: var(--ent-ink);
	transition: background-color 0.45s var(--mpa-ease);
}

.mpa-shell .llms-syllabus-wrapper .llms-lesson-link::before {
	content: counter(mpa-lesson, decimal-leading-zero);
	display: grid;
	flex: none;
	place-items: center;
	width: 2.15rem;
	height: 2.15rem;
	border-radius: 50%;
	box-shadow: inset 0 0 0 1px var(--ent-rule-strong);
	color: var(--ent-muted);
	font-size: 0.75rem;
	font-variant-numeric: tabular-nums;
	transition: box-shadow 0.45s var(--mpa-ease), color 0.45s var(--mpa-ease);
}

.mpa-shell .llms-syllabus-wrapper .llms-lesson-preview.is-complete .llms-lesson-link::before {
	content: "";
	background: var(--ent-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8.5l2.6 2.5L12 5.5'/%3E%3C/svg%3E") center / 14px no-repeat;
	box-shadow: none;
}

:root.dark .mpa-shell .llms-syllabus-wrapper .llms-lesson-preview.is-complete .llms-lesson-link::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%230a0a0a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8.5l2.6 2.5L12 5.5'/%3E%3C/svg%3E");
}

.mpa-shell .llms-syllabus-wrapper a.llms-lesson-link::after {
	content: "";
	width: 7px;
	height: 7px;
	margin-left: auto;
	margin-right: 0.5rem;
	border: solid var(--ent-muted);
	border-width: 1.5px 1.5px 0 0;
	opacity: 0;
	transform: translateX(-6px) rotate(45deg);
	transition: opacity 0.45s var(--mpa-ease), transform 0.55s var(--mpa-ease);
}

.mpa-shell .llms-syllabus-wrapper a.llms-lesson-link:hover {
	background: color-mix(in srgb, var(--ent-ink) 3%, transparent);
}

.mpa-shell .llms-syllabus-wrapper a.llms-lesson-link:hover::before {
	box-shadow: inset 0 0 0 1px var(--ent-ink);
	color: var(--ent-ink);
}

.mpa-shell .llms-syllabus-wrapper a.llms-lesson-link:hover::after {
	opacity: 1;
	transform: translateX(0) rotate(45deg);
}

.mpa-shell .llms-lesson-preview .llms-lesson-preview-row {
	display: contents;
}

.mpa-shell .llms-lesson-preview .llms-extra {
	display: none;
}

.mpa-shell .llms-lesson-preview .llms-main {
	flex: 1;
	min-width: 0;
	padding: 0;
}

.mpa-shell .llms-lesson-preview .llms-lesson-title {
	text-decoration: none !important;
	margin: 0;
	color: var(--ent-ink);
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: -0.01em;
}

.mpa-shell .llms-lesson-preview .llms-lesson-excerpt,
.mpa-shell .llms-syllabus-wrapper .llms-lesson-preview .llms-lesson-meta:empty,
.mpa-shell .llms-favorite-wrapper,
.mpa-shell .llms-favorite-btn,
.mpa-shell .llms-favorites-count,
.mpa-shell .llms-lesson-preview .screen-reader-text {
	display: none !important;
}

.mpa-shell .llms-syllabus-wrapper .llms-lesson-meta {
	flex: none;
	margin: 0;
	padding: 0 0.5rem 0 0;
}

.mpa-shell .llms-lesson-has-quiz {
	padding: 0.25rem 0.6rem;
	border-radius: 999px;
	box-shadow: inset 0 0 0 1px var(--ent-rule);
	color: var(--ent-muted);
	font-size: 0.72rem;
}

.mpa-shell .llms-lesson-has-quiz i {
	display: none;
}

/* ---------------------------------------------------------------- Lesson pages */

.mpa-outline {
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--mpa-header) + var(--mpa-bar) + 2rem);
	font-size: 0.875rem;
}

.mpa-outline__title {
	margin: 0 0 1.25rem;
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.mpa-outline__title a {
	color: var(--ent-muted);
}

.mpa-outline__title a:hover {
	color: var(--ent-ink);
}

.mpa-outline ol {
	position: relative;
	display: grid;
	gap: 0.15rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mpa-outline ol::before {
	content: "";
	position: absolute;
	left: 0.7rem;
	top: 0.9rem;
	bottom: 0.9rem;
	width: 1px;
	background: var(--ent-rule);
}

.mpa-outline li {
	position: relative;
	padding: 0.5rem 0 0.5rem 2.2rem;
	line-height: 1.4;
}

.mpa-outline__dot {
	position: absolute;
	left: 0;
	top: 0.45rem;
	display: grid;
	place-items: center;
	width: 1.4rem;
	height: 1.4rem;
	border-radius: 50%;
	background: var(--ent-bg);
	box-shadow: inset 0 0 0 1px var(--ent-rule-strong);
	color: var(--ent-muted);
	font-size: 0.66rem;
	font-variant-numeric: tabular-nums;
}

.mpa-outline li.is-done .mpa-outline__dot {
	background: var(--ent-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8.5l2.6 2.5L12 5.5'/%3E%3C/svg%3E") center / 11px no-repeat;
	box-shadow: none;
}

:root.dark .mpa-outline li.is-done .mpa-outline__dot {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%230a0a0a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8.5l2.6 2.5L12 5.5'/%3E%3C/svg%3E");
}

.mpa-outline li.is-current .mpa-outline__dot {
	box-shadow: inset 0 0 0 1.5px var(--ent-accent), 0 0 0 4px color-mix(in srgb, var(--ent-accent) 14%, transparent);
	color: var(--ent-accent);
	font-weight: 600;
}

.mpa-outline li > a,
.mpa-outline li > span {
	color: var(--ent-ink-soft);
	transition: color 0.4s var(--mpa-ease);
}

.mpa-outline li > a:hover,
.mpa-outline li > a[aria-current] {
	color: var(--ent-ink);
}

.mpa-outline li > a[aria-current] {
	font-weight: 600;
}

.mpa-outline li > span {
	color: var(--ent-muted);
}

.mpa-outline__quiz {
	display: inline-flex;
	margin-top: 0.45rem;
	padding: 0.2rem 0.6rem;
	border-radius: 999px;
	box-shadow: inset 0 0 0 1px var(--ent-rule);
	color: var(--ent-muted) !important;
	font-size: 0.72rem;
}

.mpa-outline__quiz.is-current {
	box-shadow: inset 0 0 0 1.5px var(--ent-accent);
	color: var(--ent-accent) !important;
}

.mpa-outline .mpa-progress {
	margin-top: 1.75rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--ent-rule);
}

.mpa-shell .llms-lesson-button-wrapper {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	margin: 3.5rem 0 0;
	padding: 1.5rem 0 0;
	border-top: 1px solid var(--ent-rule);
	color: var(--ent-muted);
	font-size: 0.875rem;
	text-align: left;
}

.mpa-shell .llms-lesson-button-wrapper form {
	margin: 0;
}

/* "Lesson Complete": LifterLMS prints bare text once a lesson is done. */
.mpa-shell .llms-lesson-button-wrapper:not(:has(form, a)) {
	color: var(--mpa-good);
	font-weight: 600;
}

.mpa-shell .llms-lesson-button-wrapper:not(:has(form, a))::before {
	content: "";
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 0 4px color-mix(in srgb, currentColor 18%, transparent);
}

.mpa-shell .llms-course-navigation {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin: 1.5rem 0 0;
	padding: 0;
}

.mpa-shell .llms-course-navigation .llms-course-nav {
	width: auto;
	margin: 0;
	padding: 0;
	float: none;
}

.mpa-shell .llms-course-navigation .llms-next-lesson:only-child {
	grid-column: 2;
}

.mpa-shell .llms-course-navigation .llms-lesson-preview {
	width: auto;
	margin: 0;
	border: 0;
	border-radius: 18px;
	background: var(--mpa-surface);
	box-shadow: inset 0 1px 0 var(--mpa-highlight), var(--mpa-ring);
	transition: transform 0.6s var(--mpa-ease), box-shadow 0.5s var(--mpa-ease);
}

.mpa-shell .llms-course-navigation .llms-lesson-preview:hover {
	transform: translateY(-2px);
	box-shadow: inset 0 1px 0 var(--mpa-highlight), 0 0 0 1px var(--ent-rule-strong), var(--mpa-lift);
}

.mpa-shell .llms-course-navigation .llms-lesson-preview section {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
}

.mpa-shell .llms-course-navigation .llms-lesson-link {
	border: 0;
	display: block;
	padding: 1.2rem 1.4rem;
	background: none;
}

.mpa-shell .llms-course-navigation .llms-next-lesson .llms-lesson-link {
	text-align: right;
}

.mpa-shell .llms-course-navigation .llms-pre-text {
	margin: 0 0 0.35rem;
	color: var(--ent-muted);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.mpa-shell .llms-course-navigation .llms-lesson-title {
	font-size: 0.98rem;
	font-weight: 600;
}

.mpa-shell .llms-course-navigation .llms-lesson-meta,
.mpa-shell .llms-course-navigation .llms-extra,
.mpa-shell .llms-course-navigation .llms-lesson-excerpt {
	display: none;
}

/* ---------------------------------------------------------------- Quiz */

.mpa-shell .llms-quiz-wrapper,
.mpa-shell .llms-quiz-ui {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
}

.mpa-shell .llms-quiz-meta-info {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	list-style: none;
}

.mpa-shell .llms-quiz-meta-item span {
	margin-left: 0.25rem;
	color: var(--ent-ink);
	font-weight: 600;
}

.mpa-shell .llms-quiz-meta-title,
.mpa-shell .llms-quiz-results-title {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin: 0 0 1.25rem;
	color: var(--ent-muted);
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.mpa-shell .llms-quiz-meta-title::after,
.mpa-shell .llms-quiz-results-title::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--ent-rule);
}

.mpa-shell .llms-quiz-meta-info ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mpa-shell .llms-quiz-meta-item {
	margin: 0;
	padding: 0.45rem 0.9rem;
	border-radius: 999px;
	box-shadow: inset 0 0 0 1px var(--ent-rule);
	color: var(--ent-ink-soft);
	font-size: 0.8125rem;
}

.mpa-shell .llms-quiz-meta-item::before {
	display: none;
}

.mpa-shell .llms-quiz-buttons,
.mpa-shell .llms-quiz-wrapper ~ .llms-quiz-buttons {
	margin: 2rem 0 0;
	text-align: left;
}

.mpa-shell .llms-quiz-counter {
	color: var(--ent-muted);
	font-size: 0.8125rem;
	font-variant-numeric: tabular-nums;
}

.mpa-shell .llms-quiz-ui .llms-progress {
	height: 4px;
	margin: 0 0 2.25rem;
	overflow: hidden;
	border-radius: 99px;
	background: var(--ent-rule);
}

.mpa-shell .llms-quiz-ui .llms-progress .progress-bar-complete {
	border-radius: inherit;
	background: var(--ent-ink);
	transition: width 0.7s var(--mpa-ease);
}

.mpa-shell .llms-question-wrapper .llms-question-text {
	margin: 0 0 1.75rem;
	color: var(--ent-ink);
	font-size: clamp(1.35rem, 2.6vw, 1.85rem);
	font-weight: 600;
	letter-spacing: -0.025em;
	line-height: 1.2;
	text-wrap: balance;
}

.mpa-shell .llms-question-wrapper .llms-question-choices {
	display: grid;
	gap: 0.7rem;
}

.mpa-shell .llms-question-wrapper .llms-question-choices .llms-choice {
	border: 0;
}

.mpa-shell .llms-question-wrapper .llms-question-choices .llms-choice input {
	position: absolute;
	opacity: 0;
}

.mpa-shell .llms-question-wrapper .llms-question-choices .llms-choice input + label {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 3.6rem;
	padding: 0.85rem 1.2rem 0.85rem 3.9rem;
	border-radius: 16px;
	background: var(--mpa-surface);
	box-shadow: inset 0 1px 0 var(--mpa-highlight), var(--mpa-ring);
	cursor: pointer;
	transition: box-shadow 0.45s var(--mpa-ease), background-color 0.45s var(--mpa-ease), transform 0.5s var(--mpa-ease);
}

.mpa-shell .llms-question-wrapper .llms-question-choices .llms-choice input + label:hover {
	box-shadow: inset 0 1px 0 var(--mpa-highlight), 0 0 0 1px var(--ent-rule-strong);
}

.mpa-shell .llms-question-wrapper .llms-question-choices .llms-choice input + label:active {
	transform: scale(0.995);
}

.mpa-shell .llms-question-wrapper .llms-question-choices .llms-choice input + label::before {
	left: 1.1rem;
	top: 50%;
	width: 1.9rem;
	height: 1.9rem;
	background: transparent;
	box-shadow: inset 0 0 0 1px var(--ent-rule-strong);
	color: var(--ent-ink-soft);
	font-size: 0.78rem;
	font-weight: 600;
	transform: translateY(-50%);
	transition: background-color 0.45s var(--mpa-ease), color 0.45s var(--mpa-ease), box-shadow 0.45s var(--mpa-ease);
}

.mpa-shell .llms-question-wrapper .llms-question-choices .llms-choice input:checked + label {
	background: color-mix(in srgb, var(--ent-accent) 6%, var(--mpa-surface));
	box-shadow: inset 0 0 0 1.5px var(--ent-accent);
}

.mpa-shell .llms-question-wrapper .llms-question-choices .llms-choice input:checked + label::before {
	background: var(--ent-accent);
	box-shadow: none;
	color: var(--ent-bg);
}

.mpa-shell .llms-question-wrapper .llms-question-choices .llms-choice input:focus-visible + label {
	outline: 2px solid var(--ent-accent);
	outline-offset: 3px;
}

.mpa-shell .llms-question-wrapper .llms-question-choices .llms-choice input:focus + label::before,
.mpa-shell .llms-question-wrapper .llms-question-choices .llms-choice input:not(:checked) + label.hovered::before {
	box-shadow: inset 0 0 0 1px var(--ent-ink);
}

.mpa-shell .llms-question-wrapper .llms-question-choices .llms-choice .llms-choice-text {
	margin: 0;
	color: var(--ent-ink);
	font-size: 1rem;
	line-height: 1.5;
}

.mpa-shell .llms-quiz-nav,
.mpa-shell #llms-quiz-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 2rem;
}

.mpa-shell .llms-spinning {
	border-radius: 16px;
	background: color-mix(in srgb, var(--ent-bg) 72%, transparent);
}

.mpa-shell .llms-spinner,
.mpa-shell .llms-spinner.default {
	width: 26px;
	height: 26px;
	margin: -13px 0 0 -13px;
	border: 2px solid var(--ent-rule-strong);
	border-top-color: var(--ent-ink);
	border-radius: 50%;
	animation: mpa-spin 0.8s linear infinite;
}

.mpa-shell .llms-quiz-question-wrapper .llms-quiz-loading,
.mpa-shell .llms-quiz-loading {
	bottom: 1.25rem;
	color: var(--ent-muted);
	font-size: 0.8125rem;
	letter-spacing: 0.01em;
}

.mpa-shell .llms-quiz-question-wrapper {
	min-height: 18rem;
}

/* Exam rules and retake notice, above the start button */
.mpa-exam {
	margin: 1.75rem 0 0;
	padding: 1.25rem 1.4rem;
	border-radius: 16px;
	background: var(--mpa-surface);
	box-shadow: inset 0 1px 0 var(--mpa-highlight), var(--mpa-ring);
}

.mpa-exam__title {
	margin: 0;
	color: var(--ent-ink);
	font-size: 1rem;
	font-weight: 600;
}

.mpa-exam__text {
	margin: 0.4rem 0 0;
	color: var(--ent-ink-soft);
	font-size: 0.9rem;
	line-height: 1.6;
}

.mpa-exam__text a {
	color: var(--ent-ink);
	text-decoration: underline;
}

.mpa-exam__rules {
	display: grid;
	gap: 0.4rem;
	margin: 0.75rem 0 0;
	padding: 0;
	list-style: none;
}

.mpa-exam__rules li {
	position: relative;
	padding-left: 1.2rem;
	color: var(--ent-ink-soft);
	font-size: 0.9rem;
	line-height: 1.55;
}

.mpa-exam__rules li::before {
	content: "";
	position: absolute;
	left: 0.15rem;
	top: 0.7em;
	width: 6px;
	height: 1.5px;
	background: var(--ent-accent);
}

/* Exam timer: stays in view under the breadcrumb bar; amber at half time, red near the end. */
.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-quiz-timer,
.mpa-shell .llms-quiz-timer {
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--mpa-header) + var(--mpa-bar) + 0.75rem);
	z-index: 80;
	float: right;
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	margin: 0 0 1rem 1rem;
	padding: 0.5rem 0.9rem;
	border: 0;
	border-radius: 999px;
	background: var(--mpa-surface);
	box-shadow: inset 0 0 0 1px var(--ent-rule-strong), var(--mpa-lift);
	color: var(--ent-ink);
	font-size: 0.9rem;
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	letter-spacing: 0.02em;
}

.mpa-shell .llms-quiz-timer i {
	display: none;
}

.mpa-shell .llms-quiz-timer::before {
	content: "Time left";
	color: var(--ent-muted);
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.04em;
}

.mpa-shell .llms-quiz-timer .llms-tiles {
	margin: 0;
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-quiz-timer.color-half,
.mpa-shell .llms-quiz-timer.color-half {
	box-shadow: inset 0 0 0 1.5px var(--mpa-warn), var(--mpa-lift);
	color: var(--mpa-warn);
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-quiz-timer.color-empty,
.mpa-shell .llms-quiz-timer.color-empty {
	box-shadow: inset 0 0 0 1.5px var(--mpa-bad), var(--mpa-lift);
	color: var(--mpa-bad);
	animation: mpa-pulse 1.6s var(--mpa-ease) infinite;
}

@keyframes mpa-pulse {
	50% {
		opacity: 0.65;
	}
}

/* Results */
.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-quiz-results {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: clamp(1.5rem, 4vw, 3rem);
	margin: 0 0 3rem;
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-quiz-results-aside,
.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-quiz-results-main {
	width: auto;
	float: none;
	margin: 0;
	padding: 0;
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-donut {
	width: 180px;
	height: 180px;
	background: color-mix(in srgb, var(--ent-ink) 6%, transparent);
	color: var(--ent-ink);
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-donut svg path {
	stroke: var(--ent-accent);
	stroke-width: 22px;
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-donut.passing svg path {
	stroke: var(--mpa-good);
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-donut.failing svg path {
	stroke: var(--mpa-bad);
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-donut .inside {
	background: var(--ent-bg);
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-donut .percentage {
	color: var(--ent-ink);
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: -0.03em;
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-donut .caption {
	color: var(--ent-muted);
	font-size: 0.8125rem;
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-quiz-results-aside ul {
	margin: 1.25rem 0 0;
	padding: 0;
	list-style: none;
	color: var(--ent-muted);
	font-size: 0.8125rem;
	line-height: 1.8;
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-quiz-attempt-results {
	margin: 0;
	padding: 0;
	list-style: none;
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-quiz-attempt-results .llms-quiz-attempt-question {
	margin: 0 0 0.6rem;
	border-radius: 14px;
	background: var(--mpa-surface);
	box-shadow: var(--mpa-ring);
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-quiz-results > .llms-quiz-results-title {
	grid-column: 1 / -1;
	margin-bottom: 0;
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-quiz-results-aside .llms-quiz-meta-info {
	display: grid;
	gap: 0.4rem;
	margin-top: 1.5rem;
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-quiz-results-aside .llms-quiz-meta-item {
	padding: 0;
	box-shadow: none;
	color: var(--ent-muted);
	font-size: 0.8125rem;
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-quiz-attempt-question .llms-quiz-attempt-question-header {
	margin: 0;
	padding: 0;
	background: none;
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-quiz-attempt-question .toggle-answer {
	display: flex;
	align-items: center;
	gap: 1rem;
	width: 100%;
	margin: 0;
	padding: 1rem 1.2rem;
	border: 0;
	border-radius: 14px;
	background: none;
	box-shadow: none;
	color: var(--ent-ink);
	font: inherit;
	text-align: left;
	cursor: pointer;
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-quiz-attempt-question .toggle-answer:hover {
	background: color-mix(in srgb, var(--ent-ink) 3%, transparent);
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-quiz-attempt-question .llms-question-title {
	flex: 1;
	min-width: 0;
	margin: 0;
	color: var(--ent-ink);
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.45;
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-quiz-attempt-question .llms-points {
	flex: none;
	color: var(--ent-muted);
	font-size: 0.78rem;
	white-space: nowrap;
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-quiz-attempt-question .llms-toggle-answer-icon {
	flex: none;
	width: 7px;
	height: 7px;
	border: solid var(--ent-muted);
	border-width: 0 1.5px 1.5px 0;
	transform: rotate(45deg) translateY(-2px);
	transition: transform 0.5s var(--mpa-ease);
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-quiz-attempt-question .toggle-answer[aria-expanded="true"] .llms-toggle-answer-icon {
	transform: rotate(-135deg) translateY(-2px);
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-quiz-attempt-question .llms-status-icon-tip {
	flex: none;
	position: static;
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-quiz-attempt-question .llms-status-icon {
	display: grid;
	place-items: center;
	width: 1.6rem;
	height: 1.6rem;
	border-radius: 50%;
	color: var(--ent-bg);
	font-size: 0.7rem;
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-quiz-attempt-question.correct .llms-status-icon {
	background: var(--mpa-good);
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-quiz-attempt-question.incorrect .llms-status-icon {
	background: var(--mpa-bad);
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-quiz-attempt-answers {
	margin: 0.4rem 0 0;
	padding: 0;
	list-style: none;
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-quiz-results-label {
	margin: 0.75rem 0 0;
	color: var(--ent-muted);
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-quiz-attempt-question .llms-quiz-attempt-question-main {
	padding: 0 1.2rem 1.1rem;
	color: var(--ent-ink-soft);
	font-size: 0.9rem;
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-quiz-results-history {
	text-align: left;
	margin: 2rem 0 3rem;
	color: var(--ent-muted);
	font-size: 0.875rem;
}

.single-llms_quiz .mpa-shell #llms-quiz-wrapper .llms-quiz-results-history select {
	margin-left: 0;
	padding: 0.45rem 2rem 0.45rem 0.75rem;
	border: 0;
	border-radius: 10px;
	background-color: var(--mpa-surface);
	box-shadow: var(--mpa-ring);
	color: var(--ent-ink);
	font: inherit;
}

/* Badge earned */
.mpa-callout {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem 2rem;
	margin: 0 0 3rem;
	padding: 1.6rem 1.75rem;
	border-radius: 20px;
	background:
		radial-gradient(28rem 12rem at 0% 0%, color-mix(in srgb, var(--mpa-good) 11%, transparent), transparent 70%),
		var(--mpa-surface);
	box-shadow: inset 0 1px 0 var(--mpa-highlight), var(--mpa-bezel), var(--mpa-lift);
}

.mpa-callout__title {
	margin: 0;
	color: var(--ent-ink);
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: -0.015em;
}

.mpa-callout__text {
	max-width: 46ch;
	margin: 0.4rem 0 0;
	color: var(--ent-ink-soft);
	font-size: 0.9375rem;
	line-height: 1.6;
}

.mpa-callout__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1.25rem;
}

/* ---------------------------------------------------------------- LifterLMS toasts */

.llms-notifications .llms-notification,
.llms-notification {
	border: 0 !important;
	border-radius: 16px;
	background: var(--mpa-surface);
	box-shadow: inset 0 1px 0 var(--mpa-highlight), var(--mpa-bezel), var(--mpa-lift);
	color: var(--ent-ink);
	font-family: "DM Sans", system-ui, sans-serif;
}

.llms-notification .llms-notification-aside {
	display: none;
}

.llms-notification .llms-notification-main {
	width: auto;
	padding: 0;
}

.llms-notification .llms-notification-title {
	color: var(--ent-ink);
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: -0.01em;
}

.llms-notification .llms-notification-body {
	color: var(--ent-ink-soft);
	font-size: 0.875rem;
	line-height: 1.55;
}

.llms-notification .llms-progress {
	height: 4px;
	border-radius: 99px;
	background: var(--ent-rule);
}

.llms-notification .llms-progress .progress-bar-complete {
	border-radius: inherit;
	background: var(--ent-ink);
}

.llms-notification .llms-notification-dismiss {
	color: var(--ent-muted);
}

/* ---------------------------------------------------------------- Catalog */

.mpa-catalog {
	width: 100vw;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	margin-block: 0 !important;
	color: var(--ent-ink);
}

.mpa-catalog__body {
	max-width: 1152px;
	margin: 0 auto;
	padding: clamp(3rem, 6vw, 4.5rem) 1.5rem clamp(4.5rem, 9vw, 7.5rem);
}

.mpa-tabs {
	display: inline-flex;
	max-width: 100%;
	gap: 0.15rem;
	padding: 4px;
	overflow-x: auto;
	border-radius: 999px;
	background: color-mix(in srgb, var(--ent-ink) 4%, transparent);
	box-shadow: inset 0 0 0 1px var(--ent-rule);
	scrollbar-width: none;
}

.mpa-tabs a {
	flex: none;
	padding: 0.55rem 1.05rem;
	border-radius: 999px;
	color: var(--ent-ink-soft);
	font-size: 0.875rem;
	white-space: nowrap;
	transition: background-color 0.45s var(--mpa-ease), color 0.45s var(--mpa-ease), box-shadow 0.45s var(--mpa-ease);
}

.mpa-tabs a:hover {
	color: var(--ent-ink);
}

.mpa-tabs a[aria-current] {
	background: var(--mpa-surface);
	box-shadow: inset 0 1px 0 var(--mpa-highlight), 0 0 0 1px var(--ent-rule), 0 4px 12px -6px color-mix(in srgb, var(--ent-ink) 25%, transparent);
	color: var(--ent-ink);
	font-weight: 500;
}

.mpa-tabs a span {
	margin-left: 0.35rem;
	color: var(--ent-muted);
	font-size: 0.75rem;
	font-variant-numeric: tabular-nums;
}

.mpa-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 1.5rem;
	margin-top: 2rem;
}

.mpa-card {
	grid-column: span 6;
	display: block;
	padding: 7px;
	border-radius: 26px;
	background: color-mix(in srgb, var(--ent-ink) 3.5%, transparent);
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ent-ink) 7%, transparent);
	color: var(--ent-ink);
	transition: transform 0.7s var(--mpa-ease);
}

.mpa-card.is-featured:not(:only-child) {
	grid-column: span 7;
}

.mpa-card.is-featured + .mpa-card {
	grid-column: span 5;
}

.mpa-card:only-child {
	grid-column: span 8;
}

.mpa-card__core {
	display: flex;
	flex-direction: column;
	min-height: 16rem;
	height: 100%;
	padding: 1.75rem;
	border-radius: 19px;
	background: var(--mpa-surface);
	box-shadow: inset 0 1px 0 var(--mpa-highlight), 0 0 0 1px var(--ent-rule), var(--mpa-lift);
	transition: box-shadow 0.6s var(--mpa-ease);
}

.mpa-card.is-featured .mpa-card__core {
	background:
		radial-gradient(30rem 16rem at 100% 0%, color-mix(in srgb, var(--ent-accent) 9%, transparent), transparent 70%),
		var(--mpa-surface);
}

.mpa-card:hover {
	transform: translateY(-4px);
}

.mpa-card:hover .mpa-card__core {
	box-shadow: inset 0 1px 0 var(--mpa-highlight), 0 0 0 1px var(--ent-rule-strong), 0 2px 4px color-mix(in srgb, var(--ent-ink) 5%, transparent), 0 40px 70px -36px color-mix(in srgb, var(--ent-ink) 32%, transparent);
}

.mpa-card:active {
	transform: translateY(-2px) scale(0.995);
}

.mpa-card__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}

.mpa-chip {
	padding: 0.26rem 0.65rem;
	border-radius: 999px;
	box-shadow: inset 0 0 0 1px var(--ent-rule);
	color: var(--ent-ink-soft);
	font-size: 0.72rem;
	font-weight: 500;
}

.mpa-chip--accent {
	background: color-mix(in srgb, var(--ent-accent) 8%, transparent);
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ent-accent) 30%, transparent);
	color: var(--ent-accent);
}

.mpa-card__title {
	display: block;
	margin: 1.5rem 0 0.6rem;
	font-size: clamp(1.3rem, 2.2vw, 1.6rem);
	font-weight: 600;
	letter-spacing: -0.025em;
	line-height: 1.15;
}

.mpa-card__text {
	display: block;
	max-width: 52ch;
	color: var(--ent-ink-soft);
	font-size: 0.9375rem;
	line-height: 1.6;
}

.mpa-card__foot {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-top: auto;
	padding-top: 1.75rem;
	color: var(--ent-muted);
	font-size: 0.8125rem;
}

.mpa-card__foot > span:first-child {
	margin-right: auto;
}

.mpa-card__go {
	color: var(--ent-ink);
	font-weight: 500;
}

.mpa-card__foot .mpa-btn__icon {
	background: var(--ent-ink);
	color: var(--ent-bg);
}

.mpa-status {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.28rem 0.7rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--ent-ink) 6%, transparent);
	color: var(--ent-ink-soft);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.01em;
}

.mpa-status::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
}

.mpa-status--done,
.mpa-status--valid {
	background: color-mix(in srgb, var(--mpa-good) 12%, transparent);
	color: var(--mpa-good);
}

.mpa-status--expired {
	background: color-mix(in srgb, var(--mpa-warn) 12%, transparent);
	color: var(--mpa-warn);
}

.mpa-status--revoked {
	background: color-mix(in srgb, var(--mpa-bad) 12%, transparent);
	color: var(--mpa-bad);
}

.mpa-empty {
	margin-top: 2rem;
	padding: 3rem 1.5rem;
	border-radius: 22px;
	box-shadow: inset 0 0 0 1px var(--ent-rule);
	background-image: repeating-linear-gradient(135deg, transparent 0 10px, color-mix(in srgb, var(--ent-ink) 2.5%, transparent) 10px 11px);
	text-align: center;
	color: var(--ent-ink-soft);
}

.mpa-empty__title {
	margin: 0 0 0.4rem;
	color: var(--ent-ink);
	font-weight: 600;
}

/* Credential preview in the catalog header */
.mpa-credential {
	position: relative;
	transform: rotate(-1.5deg);
	transition: transform 0.9s var(--mpa-ease);
}

.mpa-credential:hover {
	transform: rotate(0deg) translateY(-3px);
}

.mpa-hero--catalog .mpa-hero__aside::before {
	content: "";
	position: absolute;
	inset: 8% -4% -6% 10%;
	border-radius: 26px;
	background: color-mix(in srgb, var(--ent-ink) 3%, transparent);
	box-shadow: inset 0 0 0 1px var(--ent-rule);
	transform: rotate(3.5deg);
}

.mpa-credential .mpa-shell-card__core {
	padding: 1.9rem;
}

.mpa-credential__top,
.mpa-cert__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.mpa-badge-art {
	display: block;
	width: 96px;
	height: 96px;
}

.mpa-badge-art--sm {
	width: 64px;
	height: 64px;
}

.mpa-seal {
	display: grid;
	place-items: center;
	color: var(--ent-accent);
}

.mpa-credential__kicker,
.mpa-cert__kicker {
	margin: 1.75rem 0 0.35rem;
	color: var(--ent-muted);
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.mpa-credential__name {
	margin: 0;
	color: var(--ent-ink);
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 2.15rem;
	font-style: italic;
	font-weight: 500;
	letter-spacing: -0.01em;
	line-height: 1.05;
}

.mpa-credential__meta,
.mpa-cert__meta {
	display: grid;
	margin: 1.6rem 0 0;
	padding: 0;
}

.mpa-credential__meta div,
.mpa-cert__meta div {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.65rem 0;
	border-top: 1px solid var(--ent-rule);
	font-size: 0.8125rem;
}

.mpa-credential__meta dt,
.mpa-cert__meta dt {
	color: var(--ent-muted);
}

.mpa-credential__meta dd,
.mpa-cert__meta dd {
	margin: 0;
	color: var(--ent-ink);
	text-align: right;
}

/* How it works */
.mpa-steps {
	margin-top: clamp(4.5rem, 9vw, 7rem);
}

.mpa-steps ol {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2.5rem;
	margin: 1.75rem 0 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

.mpa-steps li {
	display: grid;
	align-content: start;
	gap: 0.5rem;
	padding-top: 1.4rem;
	border-top: 1px solid var(--ent-rule);
}

.mpa-steps__n {
	color: var(--ent-accent);
	font-size: 0.75rem;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.08em;
}

.mpa-steps strong {
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: -0.02em;
}

.mpa-steps li > span:last-child {
	color: var(--ent-ink-soft);
	font-size: 0.9375rem;
	line-height: 1.6;
}

/* ---------------------------------------------------------------- Academy sign-in */

.mpa-signin__inner {
	max-width: 30rem;
}

.mpa-signin .mpa-shell-card__core {
	padding: clamp(1.75rem, 5vw, 2.5rem);
}

.mpa-signin__eyebrow {
	margin: 0 0 0.75rem;
	color: var(--ent-muted);
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.mpa-signin__title {
	margin: 0;
	color: var(--ent-ink);
	font: 600 clamp(1.75rem, 4vw, 2.1rem)/1.15 "DM Sans", system-ui, sans-serif;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

.mpa-signin__title em {
	font-family: "Cormorant Garamond", Georgia, serif;
	font-style: italic;
	font-weight: 500;
}

.mpa-signin__lead {
	margin: 0.6rem 0 0;
	color: var(--ent-ink-soft);
	font-size: 0.95rem;
	line-height: 1.55;
}

.mpa-signin .mpa-join__form .mpa-btn {
	justify-self: stretch;
	justify-content: space-between;
}

.mpa-signin__note {
	margin: 1.25rem 0 0;
	color: var(--ent-muted);
	font-size: 0.875rem;
	text-align: center;
}

.mpa-signin__note a {
	color: var(--ent-ink);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* "Sign in with ModulawAI" as the second choice: outlined, not filled. */
.mpa-btn.mpa-btn--quiet {
	background: transparent;
	box-shadow: inset 0 0 0 1px var(--ent-rule-strong);
	color: var(--ent-ink);
}

.mpa-btn.mpa-btn--quiet:hover {
	background: color-mix(in srgb, var(--ent-ink) 5%, transparent);
	color: var(--ent-ink);
}

.mpa-btn.mpa-btn--quiet .mpa-btn__icon {
	background: color-mix(in srgb, var(--ent-ink) 7%, transparent);
}

/* ---------------------------------------------------------------- Account (/account/) */

.mpa-account__inner {
	max-width: 760px;
}

.mpa-account .mpa-signin__title {
	margin-bottom: 1.5rem;
}

.mpa-join__msg--info {
	background: color-mix(in srgb, var(--ent-accent) 10%, transparent);
}

.mpa-tabs {
	display: flex;
	gap: 0.25rem;
	margin: 0 0 1rem;
	padding: 0.25rem;
	overflow-x: auto;
	border-radius: 12px;
	background: color-mix(in srgb, var(--ent-ink) 4%, transparent);
	box-shadow: inset 0 0 0 1px var(--ent-rule);
}

.mpa-tabs__tab {
	flex: none;
	padding: 0.55rem 0.95rem;
	border-radius: 9px;
	color: var(--ent-ink-soft);
	font-size: 0.875rem;
	font-weight: 500;
	text-decoration: none;
	transition: background-color 0.35s var(--mpa-ease), color 0.35s var(--mpa-ease);
}

.mpa-tabs__tab:hover {
	color: var(--ent-ink);
}

.mpa-tabs__tab[aria-current="page"] {
	background: var(--ent-bg);
	box-shadow: 0 1px 2px color-mix(in srgb, var(--ent-ink) 10%, transparent), inset 0 0 0 1px var(--ent-rule);
	color: var(--ent-ink);
}

.mpa-tabs__tab:focus-visible {
	outline: 2px solid var(--ent-accent);
	outline-offset: 2px;
}

.mpa-acct-firm {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin: 0 0 1.5rem;
	padding: 1rem 1.1rem;
	border-radius: 12px;
	background: color-mix(in srgb, var(--ent-accent) 8%, transparent);
}

.mpa-acct-firm__k,
.mpa-acct-dl dt {
	margin: 0;
	color: var(--ent-muted);
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.mpa-acct-firm__v {
	margin: 0.2rem 0 0;
	color: var(--ent-ink);
	font-weight: 600;
}

.mpa-acct-list {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mpa-acct-course {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1.5rem;
	padding: 1rem 0;
	border-top: 1px solid var(--ent-rule);
}

.mpa-acct-course:first-child {
	border-top: 0;
	padding-top: 0;
}

.mpa-acct-course__body {
	flex: 1 1 16rem;
	min-width: 0;
}

.mpa-acct-course__t {
	color: var(--ent-ink);
	font-weight: 600;
	text-decoration: none;
}

.mpa-acct-course__t:hover {
	text-decoration: underline;
}

.mpa-acct-course__s {
	margin: 0.35rem 0 0;
	color: var(--ent-muted);
	font-size: 0.875rem;
}

.mpa-acct-empty {
	display: grid;
	gap: 0.5rem;
	justify-items: start;
	color: var(--ent-ink-soft);
}

.mpa-acct-empty p {
	margin: 0;
}

.mpa-acct-empty__t {
	color: var(--ent-ink);
	font-weight: 600;
}

.mpa-acct-dl {
	display: grid;
	gap: 1rem;
	margin: 0;
}

.mpa-acct-dl > div {
	display: grid;
	gap: 0.25rem;
}

.mpa-acct-dl dd {
	margin: 0;
	color: var(--ent-ink);
	overflow-wrap: anywhere;
}

.mpa-acct-more {
	margin: 1.5rem 0 0;
}

/* ---------------------------------------------------------------- Badge verification */

.mpa-verify {
	min-height: 70vh;
	background:
		radial-gradient(46rem 28rem at 50% -10%, color-mix(in srgb, var(--ent-accent) 12%, transparent), transparent 65%),
		var(--ent-bg);
}

.mpa-verify__inner {
	max-width: 720px;
	margin: 0 auto;
	padding: clamp(3.5rem, 8vw, 6rem) 1.5rem clamp(4.5rem, 9vw, 7rem);
}

.mpa-cert .mpa-shell-card__core {
	padding: clamp(2rem, 5vw, 3.25rem);
}

.mpa-cert__holder {
	margin: 0;
	color: var(--ent-ink);
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: clamp(2.6rem, 6vw, 4rem);
	font-style: italic;
	font-weight: 500;
	letter-spacing: -0.015em;
	line-height: 1.02;
}

.mpa-cert__holder--small {
	margin-top: 1.25rem;
	font-size: clamp(2rem, 4.5vw, 2.8rem);
}

.mpa-cert__course {
	margin: 0;
	color: var(--ent-ink);
	font-size: clamp(1.3rem, 2.6vw, 1.65rem);
	font-weight: 600;
	letter-spacing: -0.025em;
}

.mpa-cert__meta {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 2rem;
	margin-top: 2.25rem;
}

.mpa-cert__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1.5rem;
	margin-top: 2.25rem;
}

.mpa-verify__note {
	max-width: 62ch;
	margin: 1.75rem auto 0;
	color: var(--ent-muted);
	font-size: 0.875rem;
	line-height: 1.65;
	text-align: center;
}

.mpa-verify__note a {
	color: var(--ent-ink-soft);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.mpa-mono {
	font-family: ui-monospace, "SF Mono", Menlo, monospace;
	font-size: 0.78rem;
	word-break: break-all;
}

/* ---------------------------------------------------------------- Footer */

.mpa-footer {
	margin: 0;
	border-top: 1px solid var(--ent-rule);
	background: var(--ent-bg);
	color: var(--ent-muted);
}

.mpa-footer__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 2rem;
	max-width: 1152px;
	margin: 0 auto;
	padding: 1.75rem 1.5rem;
}

.mpa-footer__brand {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.4rem 1rem;
	margin: 0;
	font-size: 0.8125rem;
}

.mpa-footer__brand a {
	color: var(--ent-ink);
	font-size: 0.9375rem;
	font-weight: 600;
	letter-spacing: -0.015em;
	text-decoration: none;
}

.mpa-footer__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.4rem;
}

.mpa-footer__links a {
	color: var(--ent-muted);
	font-size: 0.8125rem;
	text-decoration: none;
	transition: color 0.4s var(--mpa-ease);
}

.mpa-footer__links a:hover {
	color: var(--ent-ink);
}

/* ---------------------------------------------------------------- Motion */

@keyframes mpa-rise {
	from {
		opacity: 0;
		transform: translateY(14px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes mpa-spin {
	to {
		transform: rotate(360deg);
	}
}

@keyframes mpa-grow {
	from {
		transform: scaleX(0);
	}
	to {
		transform: scaleX(1);
	}
}

.mpa-reveal.is-pending {
	opacity: 0;
	transform: translateY(22px);
}

.mpa-reveal.is-in {
	opacity: 1;
	transform: none;
	transition: opacity 1s var(--mpa-ease) calc(var(--mpa-i, 0) * 80ms), transform 1.1s var(--mpa-ease) calc(var(--mpa-i, 0) * 80ms);
}

.mpa-hero__aside.mpa-reveal,
.mpa-hero--catalog .mpa-hero__aside {
	animation: mpa-rise 1.1s var(--mpa-ease) 0.18s both;
}

@media (prefers-reduced-motion: reduce) {
	.mpa-shell *,
	.mpa-catalog *,
	.mpa-hero__main > *,
	.mpa-hero__aside {
		animation: none !important;
		transition: none !important;
	}

	.mpa-credential {
		transform: none;
	}
}

/* ---------------------------------------------------------------- Smaller screens */

@media (max-width: 960px) {
	/* The breadcrumb bar and the lesson cards carry progress and navigation on small screens. */
	.mpa-outline {
		display: none;
	}

	.mpa-hero__inner.has-aside {
		grid-template-columns: minmax(0, 1fr);
		align-items: start;
	}

	.mpa-body:has(.mpa-outline) {
		grid-template-columns: minmax(0, 1fr);
	}

	.mpa-outline {
		position: static;
		padding-bottom: 1.75rem;
		border-bottom: 1px solid var(--ent-rule);
	}

	.mpa-card,
	.mpa-card.is-featured:not(:only-child),
	.mpa-card.is-featured + .mpa-card,
	.mpa-card:only-child {
		grid-column: 1 / -1;
	}

	.mpa-steps ol {
		grid-template-columns: minmax(0, 1fr);
		gap: 1.5rem;
	}

	.mpa-shell .llms-quiz-results {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 768px) {
	.mpa-hero__inner,
	.mpa-body,
	.mpa-catalog__body,
	.mpa-verify__inner,
	.mpa-crumbbar__inner,
	.mpa-footer__inner {
		padding-left: 16px;
		padding-right: 16px;
	}

	.mpa-credential,
	.mpa-credential:hover {
		transform: none;
	}

	.mpa-hero--catalog .mpa-hero__aside::before {
		display: none;
	}

	.mpa-stats {
		grid-template-columns: minmax(0, 1fr);
		gap: 0.9rem;
	}

	.mpa-stats li,
	.mpa-stats li + li {
		padding: 0;
		border-left: 0;
	}

	.mpa-shell .llms-course-navigation {
		grid-template-columns: minmax(0, 1fr);
	}

	.mpa-shell .llms-course-navigation .llms-next-lesson:only-child {
		grid-column: auto;
	}

	.mpa-crumbbar__meter {
		width: 40px;
	}

	.mpa-crumbbar__trail li:not(:nth-last-child(-n + 2)) {
		display: none;
	}

	.mpa-crumbbar__trail li:nth-last-child(2):not(:first-child)::before {
		display: none;
	}
}

@media (max-width: 480px) {
	/* Logo, section name, theme toggle and menu button must fit a phone. */
	.ent-nav {
		gap: 0.75rem;
	}

	.ent-brand .ent-logo {
		height: 20px;
	}

	.ent-brand-wrap {
		gap: 0.6rem;
	}

	.ent-brand-tag {
		padding-left: 0.6rem;
		font-size: 0.95rem;
	}

	.mpa-cert__meta {
		grid-template-columns: minmax(0, 1fr);
	}
}
