:root {
	--c-blue-1: #0079bc;
	--c-blue-2: #1f8baf;
	--c-teal: #46aeb7;
	--c-green: #67b59e;
	--c-gray: #6e8183;
	--c-blue-gray: #76a3ac;
	--c-gold: #f9a61e;
	--c-ma-gold: #c09a55;
	--c-ink: #2b2b2b;
	--c-off-black: #1a1a1a;
	--c-paper: #ffffff;
	--c-soft: #f7f8f9;
	--c-border: #e8ecef;
	--ma-wrap: min(1180px, calc(100vw - 40px));
}

.mastery-academy-page,
.editor-styles-wrapper {
	font-family: "Jost", sans-serif;
	color: var(--c-ink);
	background: var(--c-paper);
}

.mastery-academy-page {
	margin: 0;
}

.mastery-academy-page * {
	box-sizing: border-box;
}

.ma-shell {
	background:
		radial-gradient(circle at top right, rgba(70, 174, 183, 0.08), transparent 32%),
		linear-gradient(180deg, rgba(247, 248, 249, 0.7), rgba(255, 255, 255, 0));
	min-height: 100vh;
	padding-bottom: 132px;
}

.ma-library-shell {
	padding-bottom: 0;
}

.ma-topic-hub-shell {
	padding-bottom: 0;
}

.ma-topic-hub-page [hidden] {
	display: none !important;
}

.ma-wrap {
	width: var(--ma-wrap);
	margin: 0 auto;
}

.ma-topbar {
	border-bottom: 1px solid var(--c-border);
	background: rgba(255, 255, 255, 0.94);
	backdrop-filter: blur(10px);
	position: sticky;
	top: 0;
	z-index: 20;
}

.ma-topbar-inner,
.ma-topbar-actions,
.ma-footer-cta-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.ma-topbar-inner {
	padding: 18px 0;
}

.ma-wordmark,
.ma-topbar-link {
	text-decoration: none;
}

.ma-wordmark {
	font-weight: 700;
	letter-spacing: -0.02em;
	font-size: 1.05rem;
}

.ma-wordmark-accent,
.ma-display-accent {
	color: var(--c-blue-1);
}

.ma-wordmark-muted,
.ma-display-muted {
	color: var(--c-gray);
}

.ma-topbar-link {
	color: var(--c-ink);
	font-size: 0.95rem;
}

.ma-button,
.ma-prose .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 13px 18px;
	border-radius: 999px;
	border: 1px solid transparent;
	background: var(--c-blue-1);
	color: var(--c-paper);
	font-weight: 600;
	text-decoration: none;
	transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
	box-shadow: 0 12px 24px rgba(0, 121, 188, 0.12);
}

.ma-button:hover,
.ma-prose .wp-block-button__link:hover {
	transform: translateY(-1px);
	box-shadow: 0 16px 28px rgba(0, 121, 188, 0.16);
}

.ma-button-gold {
	background: var(--c-ma-gold);
	box-shadow: 0 12px 24px rgba(192, 154, 85, 0.2);
}

.ma-hero {
	padding: 72px 0 52px;
}

.ma-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.7fr);
	gap: 32px;
	align-items: start;
}

.ma-kicker,
.ma-eyebrow {
	margin: 0 0 14px;
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.ma-kicker {
	color: var(--c-ma-gold);
}

.ma-display {
	margin: 0;
	font-size: clamp(3rem, 10vw, 6.25rem);
	line-height: 0.88;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	font-weight: 700;
}

.ma-display-small {
	font-size: clamp(2rem, 6vw, 3.4rem);
	line-height: 1.02;
}

.ma-hero-title span {
	display: block;
}

.ma-deck,
.ma-prose {
	font-size: 1.04rem;
	line-height: 1.7;
}

.ma-deck {
	max-width: 62ch;
	margin: 24px 0 0;
}

.ma-hero-meta {
	padding: 24px;
	border: 1px solid var(--c-border);
	background: var(--c-soft);
}

.ma-meta-line {
	margin: 0 0 12px;
	font-size: 1rem;
	font-weight: 600;
}

.ma-meta-help,
.ma-footer-note {
	margin: 0;
	color: var(--c-gray);
}

.ma-content {
	padding: 0 0 80px;
}

.ma-library-hero {
	padding: 84px 0 52px;
}

.ma-topic-subnav {
	position: sticky;
	top: 75px;
	z-index: 18;
	background: rgba(255, 255, 255, 0.95);
	border-bottom: 1px solid var(--c-border);
}

.ma-topic-subnav-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 16px 0;
}

.ma-topic-subnav-back {
	color: var(--c-blue-1);
	font-weight: 600;
	text-decoration: none;
}

.ma-topic-hero {
	padding: 64px 0 36px;
}

.ma-topic-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
}

.ma-topic-hero-meta-line {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-bottom: 18px;
}

.ma-topic-icon-large {
	width: 72px;
	height: 72px;
	font-size: 1.2rem;
}

.ma-topic-count-line {
	margin: 4px 0 0;
	font-size: 0.95rem;
	color: var(--c-gray);
	font-variant-numeric: tabular-nums;
}

.ma-topic-hero-title span {
	display: block;
}

.ma-topic-hero-tagline {
	max-width: 48ch;
	margin: 22px 0 0;
	font-style: italic;
	font-size: 1.08rem;
	line-height: 1.65;
}

.ma-topic-filters {
	padding: 0 0 32px;
}

.ma-filter-chip-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.ma-filter-chip {
	padding: 10px 16px;
	border-radius: 999px;
	border: 1px solid var(--c-border);
	background: var(--c-paper);
	color: var(--c-ink);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}

.ma-filter-chip.is-active {
	background: var(--c-blue-1);
	border-color: var(--c-blue-1);
	color: var(--c-paper);
}

.ma-topic-sections {
	padding: 0 0 72px;
}

.ma-topic-sections-wrap {
	display: flex;
	flex-direction: column;
	gap: 44px;
}

.ma-topic-section {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.ma-topic-section-head {
	display: grid;
	grid-template-columns: 76px minmax(0, 1fr);
	gap: 20px;
	align-items: start;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--c-border);
}

.ma-topic-section-number {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1;
	color: var(--c-blue-gray);
	font-variant-numeric: tabular-nums;
}

.ma-topic-section-title {
	margin: 0 0 6px;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	text-transform: uppercase;
}

.ma-topic-section-description {
	margin: 0;
	color: var(--c-gray);
	line-height: 1.6;
}

.ma-lesson-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.ma-lesson-card {
	display: flex;
	flex-direction: column;
	min-height: 220px;
	padding: 22px;
	border: 1px solid var(--c-border);
	background: var(--c-paper);
}

.ma-lesson-card-top {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 18px;
}

.ma-lesson-type-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 8px;
	font-size: 1rem;
	font-weight: 700;
}

.ma-lesson-type-tag {
	font-size: 0.74rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.ma-lesson-card-title {
	margin: 0 0 10px;
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.1;
}

.ma-lesson-card-summary {
	margin: 0;
	line-height: 1.6;
	color: var(--c-gray);
}

.ma-lesson-card-footer {
	margin-top: auto;
	padding-top: 18px;
}

.ma-lesson-card-link {
	color: var(--c-ink);
	font-weight: 600;
	text-decoration: none;
}

.ma-lesson-card-link-disabled {
	color: var(--c-gray);
}

.ma-lesson-card-video .ma-lesson-type-icon {
	background: var(--c-off-black);
	color: var(--c-paper);
}

.ma-lesson-card-video .ma-lesson-type-tag {
	color: var(--c-blue-1);
}

.ma-lesson-card-tutorial .ma-lesson-type-icon {
	background: var(--c-soft);
	color: var(--c-gray);
}

.ma-lesson-card-tutorial .ma-lesson-type-tag {
	color: var(--c-gray);
}

.ma-lesson-card-template .ma-lesson-type-icon {
	background: rgba(192, 154, 85, 0.14);
	color: var(--c-ma-gold);
}

.ma-lesson-card-template .ma-lesson-type-tag {
	color: var(--c-ma-gold);
}

.ma-topic-footer-cta {
	padding: 48px 0;
	background: var(--c-off-black);
	color: var(--c-paper);
}

.ma-topic-footer-cta .ma-eyebrow {
	color: var(--c-ma-gold);
}

.ma-topic-footer-cta .ma-display span {
	display: block;
}

.ma-topic-footer-cta-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.ma-topic-empty {
	padding: 100px 0;
}

.ma-library-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.68fr);
	gap: 40px;
	align-items: start;
}

.ma-library-title span {
	display: block;
}

.ma-library-subtitle {
	max-width: 34ch;
	margin: 22px 0 0;
	font-size: 1.08rem;
	line-height: 1.65;
}

.ma-library-stats {
	display: grid;
	grid-template-columns: 1fr;
	border-top: 1px solid var(--c-border);
	border-bottom: 1px solid var(--c-border);
	background: rgba(255, 255, 255, 0.74);
}

.ma-library-stat {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	padding: 18px 0;
	border-bottom: 1px solid var(--c-border);
	font-variant-numeric: tabular-nums;
}

.ma-library-stat:last-child {
	border-bottom: 0;
}

.ma-library-stat-value {
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1;
}

.ma-library-stat-label {
	color: var(--c-gray);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 0.76rem;
	text-align: right;
}

.ma-library-intro-band {
	padding: 24px 0;
	background: var(--c-soft);
	border-top: 1px solid var(--c-border);
	border-bottom: 1px solid var(--c-border);
}

.ma-library-intro-band p {
	margin: 0;
	font-size: 1.1rem;
	line-height: 1.65;
}

.ma-library-section {
	padding: 64px 0;
}

.ma-library-section-soft {
	background: var(--c-soft);
}

.ma-library-section-head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 28px;
}

.ma-library-section-copy {
	max-width: 36ch;
	margin: 0;
	color: var(--c-gray);
	line-height: 1.6;
}

.ma-call-grid,
.ma-topic-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.ma-call-card,
.ma-topic-card {
	min-height: 180px;
	padding: 22px;
	border: 1px solid var(--c-border);
	background: var(--c-paper);
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.ma-call-card:hover,
.ma-topic-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 18px 40px rgba(20, 39, 49, 0.08);
}

.ma-call-card-featured {
	background: var(--c-off-black);
	border-color: rgba(192, 154, 85, 0.22);
	color: var(--c-paper);
}

.ma-call-card-featured .ma-eyebrow,
.ma-call-card-featured .ma-call-card-link {
	color: var(--c-ma-gold);
}

.ma-call-card-title,
.ma-topic-title {
	margin: 0 0 12px;
	font-weight: 700;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	line-height: 1.02;
}

.ma-call-card-title {
	font-size: 1.7rem;
}

.ma-call-card-summary {
	margin: 0 0 18px;
	color: inherit;
	line-height: 1.6;
}

.ma-call-card-link,
.ma-topic-link {
	color: var(--c-blue-1);
	font-weight: 600;
	text-decoration: none;
}

.ma-topic-card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 260px;
}

.ma-topic-card-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 18px;
}

.ma-topic-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border: 1px solid currentColor;
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ma-topic-status-label {
	margin: 0;
	color: var(--c-gray);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.ma-topic-title span {
	display: block;
}

.ma-topic-title {
	font-size: 2.1rem;
}

.ma-topic-title-accent {
	color: var(--topic-accent, var(--c-blue-1));
}

.ma-topic-title-muted {
	color: var(--c-gray);
}

.ma-topic-counts {
	margin: 0 0 10px;
	font-size: 0.92rem;
	font-variant-numeric: tabular-nums;
	color: var(--c-gray);
}

.ma-topic-tagline {
	margin: 0;
	font-style: italic;
	line-height: 1.6;
}

.ma-topic-card-footer {
	margin-top: 22px;
}

.ma-topic-link-disabled {
	color: var(--c-blue-gray);
}

.ma-accent-blue {
	--topic-accent: var(--c-blue-1);
}

.ma-accent-teal {
	--topic-accent: var(--c-teal);
}

.ma-accent-gold {
	--topic-accent: var(--c-ma-gold);
}

.ma-accent-blue-gray {
	--topic-accent: var(--c-blue-gray);
}

.ma-library-footer-cta {
	padding: 48px 0;
	background: var(--c-off-black);
	color: var(--c-paper);
}

.ma-library-footer-cta .ma-eyebrow {
	color: var(--c-ma-gold);
}

.ma-library-footer-cta .ma-display span {
	display: block;
}

.ma-library-footer-cta-inner,
.ma-library-bottom-footer-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.ma-library-bottom-footer {
	padding: 24px 0 34px;
}

.ma-library-bookmark-hint {
	margin: 0;
	color: var(--c-gray);
}

.ma-empty-state {
	margin: 0;
	padding: 28px;
	border: 1px dashed var(--c-border);
	background: rgba(255, 255, 255, 0.8);
}

.ma-footer-attribution {
	padding: 0 0 32px;
}

.ma-prose > * + * {
	margin-top: 1.2em;
}

.ma-prose h2,
.ma-prose h3,
.ma-prose h4,
.editor-styles-wrapper h2,
.editor-styles-wrapper h3,
.editor-styles-wrapper h4 {
	font-weight: 700;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	line-height: 1.05;
}

.ma-prose h2,
.editor-styles-wrapper h2 {
	font-size: clamp(2rem, 5vw, 3.3rem);
}

.ma-prose h3,
.editor-styles-wrapper h3 {
	font-size: clamp(1.4rem, 4vw, 2.1rem);
}

.ma-prose p,
.ma-prose li,
.editor-styles-wrapper p,
.editor-styles-wrapper li {
	line-height: 1.7;
}

.ma-prose a,
.editor-styles-wrapper a {
	color: var(--c-blue-1);
}

.ma-prose blockquote,
.editor-styles-wrapper blockquote {
	margin: 2.2rem 0;
	padding: 0 0 0 22px;
	border-left: 4px solid var(--c-teal);
	font-size: 1.12rem;
}

.ma-section {
	padding: 32px;
	margin: 36px 0;
	border: 1px solid var(--c-border);
}

.ma-section-soft,
.ma-intro-band {
	background: var(--c-soft);
}

.ma-section-heading {
	margin: 48px 0 20px;
}

.ma-button-row {
	margin: 28px 0;
}

.ma-button-row .wp-block-button__link {
	border-radius: 999px;
}

.ma-button-secondary .wp-block-button__link {
	background: transparent;
	color: var(--c-ink);
	border: 1px solid var(--c-border);
	box-shadow: none;
}

body.mastery-academy-page .ma-sticky-cta {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 40;
	padding: 14px 0 calc(14px + env(safe-area-inset-bottom));
	background: rgba(26, 26, 26, 0.96);
	color: var(--c-paper);
	box-shadow: 0 -10px 26px rgba(0, 0, 0, 0.14);
}

body.mastery-academy-page .ma-sticky-cta,
body.mastery-academy-page .ma-sticky-cta * {
	box-sizing: border-box;
}

body.mastery-academy-page .ma-sticky-cta {
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

body.mastery-academy-page .ma-sticky-cta .ma-eyebrow {
	color: var(--c-ma-gold);
}

body.mastery-academy-page .ma-sticky-cta-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

body.mastery-academy-page .ma-sticky-cta-copy {
	min-width: 0;
}

body.mastery-academy-page .ma-sticky-cta-title {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--c-paper);
}

body.mastery-academy-page .ma-sticky-title-mobile {
	display: none;
}

@media (max-width: 900px) {
	.ma-hero-grid,
	.ma-library-hero-grid,
	body.mastery-academy-page .ma-sticky-cta-inner,
	.ma-topbar-inner,
	.ma-topbar-actions,
	.ma-library-section-head,
	.ma-library-footer-cta-inner,
	.ma-library-bottom-footer-inner,
	.ma-topic-subnav-inner,
	.ma-topic-footer-cta-inner {
		grid-template-columns: 1fr;
		flex-direction: column;
		align-items: flex-start;
	}

	.ma-call-grid,
	.ma-topic-grid,
	.ma-lesson-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ma-display {
		line-height: 0.94;
	}
}

@media (max-width: 640px) {
	.ma-wrap {
		width: min(100vw - 28px, 100%);
	}

	.ma-hero {
		padding-top: 52px;
	}

	.ma-library-hero {
		padding-top: 58px;
	}

	.ma-topic-subnav {
		top: 69px;
	}

	.ma-section {
		padding: 24px;
	}

	.ma-shell {
		padding-bottom: 160px;
	}

	body.mastery-academy-page .ma-sticky-title-desktop {
		display: none;
	}

	body.mastery-academy-page .ma-sticky-title-mobile {
		display: inline;
	}

	.ma-call-grid,
	.ma-topic-grid,
	.ma-lesson-grid {
		grid-template-columns: 1fr;
	}

	.ma-library-stat {
		flex-direction: column;
		align-items: flex-start;
	}

	.ma-library-stat-label {
		text-align: left;
	}

	.ma-topic-section-head {
		grid-template-columns: 1fr;
	}
}
