:root {
	--numu-purple: #32004b;
	--numu-purple-2: #4c1767;
	--numu-purple-3: #6d3b82;
	--numu-gold: #ffda8b;
	--numu-gold-deep: #a86f19;
	--numu-lavender: #f6f2f8;
	--numu-lavender-2: #eee5f2;
	--numu-ink: #211b24;
	--numu-muted: #6e6770;
	--numu-line: #e8e0eb;
	--numu-white: #fff;
	--numu-shadow: 0 24px 70px rgba(50, 0, 75, .1);
}

html {
	scroll-behavior: smooth;
}

body.numu-prototype-active {
	direction: rtl;
	color: var(--numu-ink);
	font-family: Dubai, Tahoma, Arial, sans-serif;
	background: var(--numu-white);
}

body.numu-prototype-active #wpadminbar {
	display: none;
}

body.numu-prototype-active:not(.admin-bar) {
	margin-top: 0 !important;
}

body.numu-prototype-active .numu-notice--pilot {
	display: none !important;
}

body.numu-prototype-active > .wp-site-blocks > header,
body.numu-prototype-active > .wp-site-blocks > footer,
body.numu-prototype-active > .wp-site-blocks > .wp-block-template-part {
	display: none !important;
}

.numu-app-shell {
	min-height: 78px;
	padding: 12px max(24px, calc((100vw - 1180px) / 2));
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	background: #fff;
	border-bottom: 1px solid var(--numu-line);
	position: relative;
	z-index: 50;
}

.numu-app-brand img {
	display: block;
	width: 190px;
	max-height: 54px;
}

.numu-app-shell nav {
	display: flex;
	align-items: center;
	gap: 22px;
}

.numu-app-shell nav a {
	color: var(--numu-purple);
	text-decoration: none;
	font-weight: 800;
}

.numu-app-shell .numu-app-action {
	background: var(--numu-purple);
	color: #fff;
	padding: 11px 20px;
	border-radius: 999px;
}

body.numu-prototype-front > .wp-site-blocks > header,
body.numu-prototype-front > .wp-site-blocks > footer,
body.numu-prototype-front .wp-block-template-part,
body.numu-prototype-front .wp-block-post-title {
	display: none !important;
}

body.numu-prototype-front .wp-site-blocks,
body.numu-prototype-front .wp-block-post-content,
body.numu-prototype-front main.wp-block-group {
	margin: 0 !important;
	padding: 0 !important;
	max-width: none !important;
}

/* Twenty Twenty-Five uses a negative inline margin for its full-width page
 * wrapper. Keep the approved Academy canvas inside the viewport at all sizes. */
body.numu-prototype-front main#wp--skip-link--target > .wp-block-group.alignfull {
	width: 100% !important;
	max-width: none !important;
	margin-inline: 0 !important;
	padding-inline: 0 !important;
}

.numu-prototype-home,
.numu-prototype-home * {
	box-sizing: border-box;
}

.numu-prototype-home {
	background: #fff;
	min-height: 100vh;
	overflow: hidden;
}

/* The block theme constrains a direct child to its content width. The Academy
 * presentation is intentionally full-width, while this override remains scoped
 * to the staging-only Academy page. */
body.numu-prototype-front .wp-block-post-content > .numu-prototype-home {
	width: 100%;
	max-width: none !important;
}

body.numu-prototype-editorial > .wp-site-blocks > header,
body.numu-prototype-editorial > .wp-site-blocks > footer,
body.numu-prototype-editorial > .wp-site-blocks > .wp-block-template-part {
	display: none !important;
}

.numu-editorial-topbar {
	min-height: 78px;
	padding: 12px max(24px, calc((100vw - 1180px) / 2));
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	background: #fff;
	border-bottom: 1px solid var(--numu-line);
}

.numu-editorial-brand img {
	display: block;
	width: 190px;
	height: auto;
}

.numu-editorial-topbar nav {
	display: flex;
	align-items: center;
	gap: 22px;
}

.numu-editorial-topbar a {
	color: var(--numu-purple);
	text-decoration: none;
	font-size: 14px;
	font-weight: 800;
}

.numu-editorial-topbar .numu-editorial-account {
	padding: 11px 18px;
	border-radius: 999px;
	background: var(--numu-purple);
	color: #fff;
}

.numu-editorial-footer {
	padding: 28px max(24px, calc((100vw - 1180px) / 2));
	border-top: 1px solid var(--numu-line);
	background: #fff;
	color: var(--numu-muted);
	font-size: 13px;
}

.numu-prototype-home a:focus-visible,
.numu-prototype-home [tabindex]:focus-visible {
	outline: 3px solid var(--numu-gold-deep);
	outline-offset: 4px;
}

.numu-prototype-header {
	max-width: 1280px;
	margin: 0 auto;
	padding: 22px 32px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	background: rgba(255, 255, 255, .96);
	position: relative;
	z-index: 20;
}

.numu-brand img {
	display: block;
	width: 208px;
	max-height: 62px;
}

.numu-prototype-header nav {
	display: flex;
	align-items: center;
	gap: 24px;
}

.numu-prototype-header nav a {
	color: var(--numu-purple);
	text-decoration: none;
	font-weight: 700;
	font-size: 14px;
	white-space: nowrap;
}

.numu-prototype-header nav a:not(.numu-header-cta):hover {
	color: var(--numu-gold-deep);
}

.numu-prototype-header .numu-header-cta {
	color: #fff;
	background: var(--numu-purple);
	padding: 12px 21px;
	border-radius: 999px;
}

.numu-hero {
	max-width: 1280px;
	margin: 20px auto 0;
	padding: 76px 52px 86px;
	min-height: 630px;
	background: linear-gradient(180deg, #fff 0%, #fbf8fc 100%);
	border: 1px solid #f0eaf2;
	border-radius: 38px;
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
	align-items: center;
	gap: 62px;
	position: relative;
	overflow: hidden;
}

.numu-hero::before {
	content: "";
	position: absolute;
	inset: auto -140px -260px auto;
	width: 560px;
	height: 560px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 218, 139, .35), rgba(255, 218, 139, 0) 68%);
}

.numu-hero-copy {
	position: relative;
	z-index: 2;
}

.numu-eyebrow,
.numu-section-kicker {
	color: var(--numu-gold-deep);
	font-weight: 800;
	letter-spacing: .02em;
	margin: 0 0 15px;
}

.numu-hero h1 {
	color: var(--numu-purple);
	font-size: clamp(46px, 5.8vw, 78px);
	line-height: 1.14;
	margin: 0;
	max-width: 760px;
	letter-spacing: -.035em;
}

.numu-hero h1 span {
	display: block;
	color: var(--numu-purple-3);
}

.numu-hero-lead {
	font-size: 20px;
	line-height: 1.85;
	color: var(--numu-muted);
	max-width: 650px;
	margin: 25px 0 0;
}

.numu-hero-actions {
	display: flex;
	gap: 12px;
	margin-top: 34px;
	flex-wrap: wrap;
}

.numu-button {
	min-height: 50px;
	padding: 13px 23px;
	border-radius: 999px;
	font-weight: 800;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.numu-button-primary {
	background: var(--numu-purple);
	color: #fff;
	box-shadow: 0 12px 28px rgba(50, 0, 75, .18);
}

.numu-button-secondary {
	border: 1px solid var(--numu-line);
	background: #fff;
	color: var(--numu-purple);
}

.numu-button-muted {
	background: var(--numu-lavender);
	color: var(--numu-purple);
}

.numu-button-outline {
	border: 1px solid rgba(255, 255, 255, .28);
	color: #fff;
}

.numu-hero-points {
	list-style: none;
	padding: 0;
	margin: 30px 0 0;
	display: flex;
	gap: 12px 25px;
	flex-wrap: wrap;
	color: var(--numu-muted);
	font-size: 13px;
	font-weight: 700;
}

.numu-hero-points li::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--numu-gold-deep);
	margin-inline-end: 8px;
}

.numu-hero-visual {
	min-height: 470px;
	border-radius: 34px;
	background: linear-gradient(145deg, #250037, var(--numu-purple) 55%, #5f2875);
	position: relative;
	overflow: hidden;
	box-shadow: var(--numu-shadow);
}

.numu-orbit {
	position: absolute;
	border: 1px solid rgba(255, 218, 139, .28);
	border-radius: 50%;
}

.numu-orbit::after {
	content: "";
	position: absolute;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--numu-gold);
	box-shadow: 0 0 0 7px rgba(255, 218, 139, .12);
}

.numu-orbit-one {
	width: 430px;
	height: 430px;
	left: -120px;
	top: -110px;
}

.numu-orbit-one::after {
	right: 42px;
	top: 48px;
}

.numu-orbit-two {
	width: 280px;
	height: 280px;
	right: -90px;
	bottom: -75px;
}

.numu-orbit-two::after {
	left: 28px;
	top: 48px;
}

.numu-level-stack {
	position: absolute;
	inset: 0;
}

.numu-stack-card {
	position: absolute;
	width: 255px;
	min-height: 137px;
	padding: 22px 24px;
	background: rgba(255, 255, 255, .97);
	border: 1px solid rgba(255, 255, 255, .7);
	border-radius: 22px;
	box-shadow: 0 22px 50px rgba(11, 0, 16, .22);
	display: flex;
	flex-direction: column;
}

.numu-stack-card span {
	font-size: 13px;
	font-weight: 800;
	color: var(--numu-gold-deep);
}

.numu-stack-card strong {
	font-size: 31px;
	line-height: 1.25;
	color: var(--numu-purple);
	margin-top: 6px;
}

.numu-stack-card small {
	font-size: 12px;
	color: var(--numu-muted);
	margin-top: 10px;
}

.numu-stack-card-one {
	right: 38px;
	top: 48px;
	transform: rotate(2deg);
}

.numu-stack-card-two {
	left: 38px;
	top: 174px;
	transform: rotate(-2.5deg);
}

.numu-stack-card-three {
	right: 64px;
	bottom: 40px;
	transform: rotate(1deg);
}

.numu-section {
	max-width: 1180px;
	margin: 0 auto;
	padding: 105px 24px;
}

.numu-section h2,
.numu-knowledge h2,
.numu-closing h2 {
	color: var(--numu-purple);
	font-size: clamp(34px, 4.5vw, 54px);
	line-height: 1.25;
	margin: 0;
	letter-spacing: -.025em;
}

.numu-intro {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 90px;
	align-items: start;
}

.numu-intro-copy p,
.numu-section-heading > p,
.numu-glossary-copy > p,
.numu-initiative-copy > p {
	font-size: 18px;
	line-height: 1.9;
	color: var(--numu-muted);
	margin: 0;
}

.numu-intro-copy p + p {
	font-size: 14px;
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid var(--numu-line);
}

.numu-programs {
	max-width: none;
	background: var(--numu-lavender);
	padding-left: max(24px, calc((100vw - 1180px) / 2));
	padding-right: max(24px, calc((100vw - 1180px) / 2));
}

.numu-section-heading {
	display: grid;
	grid-template-columns: 1fr .8fr;
	gap: 70px;
	align-items: end;
}

.numu-level-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 48px;
}

.numu-level-card {
	background: #fff;
	border: 1px solid var(--numu-line);
	border-radius: 28px;
	padding: 28px;
	min-height: 510px;
	display: flex;
	flex-direction: column;
	position: relative;
}

.numu-level-card.is-current {
	border-color: rgba(50, 0, 75, .25);
	box-shadow: var(--numu-shadow);
}

.numu-level-card-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
}

.numu-level-card-head > span {
	font-size: 14px;
	font-weight: 900;
	color: var(--numu-gold-deep);
}

.numu-level-card-head small {
	padding: 7px 11px;
	background: var(--numu-lavender);
	color: var(--numu-purple);
	border-radius: 999px;
	font-weight: 800;
}

.numu-level-card > p:not(.numu-level-description) {
	color: var(--numu-gold-deep);
	font-weight: 800;
	margin: 35px 0 4px;
}

.numu-level-card h3 {
	color: var(--numu-purple);
	font-size: 44px;
	line-height: 1.2;
	margin: 0;
}

.numu-level-description {
	color: var(--numu-muted);
	line-height: 1.85;
	margin: 19px 0 28px;
}

.numu-course-variants {
	display: grid;
	gap: 10px;
	margin-top: auto;
}

.numu-course-variants > * {
	min-height: 72px;
	border-radius: 16px;
	border: 1px solid var(--numu-line);
	padding: 14px 16px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	text-decoration: none;
	background: #fff;
}

.numu-course-variants a {
	border-color: var(--numu-purple);
	background: var(--numu-purple);
	color: #fff;
}

.numu-course-variants span {
	font-size: 13px;
	font-weight: 800;
}

.numu-course-variants b {
	font-size: 12px;
	color: var(--numu-muted);
}

.numu-course-variants a b {
	color: var(--numu-gold);
}

.numu-knowledge {
	background: var(--numu-purple);
	color: #fff;
	padding: 110px 24px;
	position: relative;
	overflow: hidden;
}

.numu-knowledge::before {
	content: "";
	position: absolute;
	width: 600px;
	height: 600px;
	left: -270px;
	top: -270px;
	border: 1px solid rgba(255, 218, 139, .14);
	border-radius: 50%;
}

.numu-knowledge-inner {
	max-width: 1180px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

.numu-section-heading-light h2,
.numu-section-heading-light > p {
	color: #fff;
}

.numu-section-heading-light > p {
	opacity: .72;
}

.numu-knowledge-layout {
	display: grid;
	grid-template-columns: 1.2fr .8fr;
	gap: 20px;
	margin-top: 48px;
}

.numu-article-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.numu-article-list article {
	background: #fff;
	color: var(--numu-ink);
	border-radius: 22px;
	padding: 23px;
	min-height: 300px;
	display: flex;
	flex-direction: column;
}

.numu-article-list article > span,
.numu-video-copy > p {
	color: var(--numu-gold-deep);
	font-size: 12px;
	font-weight: 900;
	margin: 0;
}

.numu-article-list h3 {
	color: var(--numu-purple);
	font-size: 23px;
	line-height: 1.5;
	margin: 24px 0 12px;
}

.numu-article-list p {
	color: var(--numu-muted);
	font-size: 14px;
	line-height: 1.8;
	margin: 0;
}

.numu-article-list small {
	color: var(--numu-purple);
	font-weight: 800;
	margin-top: auto;
	padding-top: 24px;
}

.numu-video-feature {
	background: #fff;
	border-radius: 24px;
	overflow: hidden;
	color: var(--numu-ink);
}

.numu-video-poster {
	min-height: 188px;
	background: linear-gradient(135deg, var(--numu-gold) 0%, #f5bf59 100%);
	position: relative;
	display: grid;
	place-items: center;
}

.numu-video-poster::before,
.numu-video-poster::after {
	content: "";
	position: absolute;
	border: 1px solid rgba(50, 0, 75, .2);
	border-radius: 50%;
}

.numu-video-poster::before {
	width: 230px;
	height: 230px;
	right: -90px;
	top: -115px;
}

.numu-video-poster::after {
	width: 120px;
	height: 120px;
	left: -25px;
	bottom: -60px;
}

.numu-play {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: var(--numu-purple);
	color: #fff;
	display: grid;
	place-items: center;
	padding-inline-start: 4px;
	font-size: 22px;
	box-shadow: 0 12px 30px rgba(50, 0, 75, .22);
}

.numu-video-poster small {
	position: absolute;
	bottom: 14px;
	color: rgba(50, 0, 75, .72);
	font-weight: 800;
	font-size: 11px;
}

.numu-video-copy {
	padding: 24px;
}

.numu-video-copy h3 {
	color: var(--numu-purple);
	font-size: 27px;
	margin: 9px 0;
}

.numu-video-copy > span {
	display: block;
	color: var(--numu-muted);
	font-size: 14px;
}

.numu-video-copy > b {
	display: inline-flex;
	margin-top: 19px;
	padding: 7px 12px;
	background: var(--numu-lavender);
	color: var(--numu-purple);
	border-radius: 999px;
	font-size: 12px;
}

.numu-glossary {
	display: grid;
	grid-template-columns: .88fr 1.12fr;
	gap: 80px;
	align-items: center;
}

.numu-glossary-copy > p {
	margin: 23px 0 27px;
}

.numu-term-cloud {
	min-height: 390px;
	border-radius: 32px;
	background: var(--numu-lavender);
	padding: 42px;
	display: flex;
	align-content: center;
	align-items: center;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap;
	position: relative;
}

.numu-term-cloud::before {
	content: "أ ب";
	position: absolute;
	color: rgba(50, 0, 75, .05);
	font-size: 190px;
	font-weight: 900;
}

.numu-term-cloud span {
	position: relative;
	z-index: 1;
	padding: 11px 17px;
	border: 1px solid rgba(50, 0, 75, .12);
	border-radius: 999px;
	background: rgba(255, 255, 255, .88);
	color: var(--numu-purple);
	font-weight: 800;
	box-shadow: 0 7px 18px rgba(50, 0, 75, .05);
}

.numu-initiatives {
	max-width: none;
	background: #1f022d;
	color: #fff;
	padding-left: max(24px, calc((100vw - 1180px) / 2));
	padding-right: max(24px, calc((100vw - 1180px) / 2));
	display: grid;
	grid-template-columns: .8fr 1.2fr;
	gap: 70px;
	align-items: center;
}

.numu-initiative-copy h2,
.numu-initiative-copy > p {
	color: #fff;
}

.numu-initiative-copy > p {
	margin: 24px 0 30px;
	opacity: .72;
}

.numu-initiative-facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 30px;
}

.numu-initiative-facts span {
	border-top: 1px solid rgba(255, 255, 255, .2);
	padding-top: 15px;
	font-size: 12px;
	color: rgba(255, 255, 255, .68);
}

.numu-initiative-facts b {
	display: block;
	font-size: 26px;
	color: var(--numu-gold);
	margin-bottom: 4px;
}

.numu-initiative-gallery {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 265px 220px;
	gap: 12px;
}

.numu-initiative-gallery img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 20px;
	display: block;
}

.numu-initiative-gallery .numu-initiative-wide {
	grid-column: 1 / -1;
	object-position: center 38%;
}

.numu-closing {
	max-width: 1180px;
	margin: 110px auto;
	padding: 55px 58px;
	border-radius: 32px;
	background: var(--numu-gold);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
}

.numu-closing p {
	color: var(--numu-gold-deep);
	font-weight: 900;
	margin: 0 0 8px;
}

.numu-closing h2 {
	font-size: clamp(28px, 3.4vw, 43px);
	max-width: 760px;
}

.numu-closing .numu-button {
	flex: 0 0 auto;
}

.numu-prototype-footer {
	background: var(--numu-purple);
	color: rgba(255, 255, 255, .72);
	padding: 64px max(32px, calc((100vw - 1180px) / 2)) 30px;
	display: grid;
	grid-template-columns: .9fr 1.1fr;
	gap: 50px 80px;
}

.numu-footer-brand img {
	width: 195px;
	filter: brightness(0) invert(1);
}

.numu-footer-brand p {
	margin: 18px 0 0;
}

.numu-footer-links {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
}

.numu-footer-links > div {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.numu-footer-links b {
	color: var(--numu-gold);
	margin-bottom: 5px;
}

.numu-footer-links a {
	color: rgba(255, 255, 255, .74);
	text-decoration: none;
	font-size: 13px;
}

.numu-footer-disclaimer {
	grid-column: 1 / -1;
	border-top: 1px solid rgba(255, 255, 255, .12);
	padding-top: 24px;
	margin: 0;
	font-size: 12px;
}

.numu-lesson-prototype {
	max-width: 1180px;
	margin: 0 auto;
	padding: 12px 24px 42px;
}

.numu-viewer-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 18px;
}

.numu-viewer-heading p {
	color: var(--numu-gold-deep);
	font-weight: 800;
	margin: 0 0 4px;
}

.numu-viewer-heading h2 {
	color: var(--numu-purple);
	margin: 0;
	font-size: 30px;
}

.numu-fullscreen,
.numu-viewer-controls button {
	border: 1px solid var(--numu-purple);
	background: #fff;
	color: var(--numu-purple);
	border-radius: 999px;
	padding: 11px 20px;
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

.numu-slide-viewer {
	border: 1px solid var(--numu-line);
	border-radius: 24px;
	background: #faf8fc;
	padding: 18px;
	outline: none;
}

.numu-slide-viewer:focus-visible {
	box-shadow: 0 0 0 4px rgba(50, 0, 75, .18);
}

.numu-slides {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 14px 40px rgba(50, 0, 75, .09);
}

.numu-slide {
	display: none;
	margin: 0;
	width: 100%;
	height: 100%;
}

.numu-slide.is-active {
	display: block;
}

.numu-slide img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.numu-viewer-controls {
	direction: rtl;
	display: grid;
	grid-template-columns: 120px 1fr 120px;
	align-items: center;
	gap: 12px;
	margin-top: 18px;
}

.numu-viewer-controls [data-numu-next] {
	background: var(--numu-purple);
	color: #fff;
}

.numu-viewer-controls button:disabled {
	opacity: .4;
	cursor: not-allowed;
}

.numu-viewer-controls span {
	text-align: center;
	color: var(--numu-purple);
	font-weight: 800;
}

.numu-viewer-help {
	text-align: center;
	color: var(--numu-muted);
	font-size: 13px;
	margin: 12px 0 0;
}

/* Published Knowledge Center and glossary surfaces. These rules remain scoped
 * to the staging-only Numu presentation plugin and do not alter Tutor LMS. */
.numu-editorial-page {
	background: var(--numu-lavender);
	min-height: calc(100vh - 78px);
	padding: 52px 24px 76px;
}

.numu-editorial-shell {
	width: min(1180px, 100%);
	margin: 0 auto;
}

.numu-editorial-kicker {
	margin: 0 0 10px;
	color: var(--numu-gold-deep);
	font-size: 14px;
	font-weight: 900;
}

.numu-editorial-page h1 {
	max-width: 860px;
	margin: 0;
	color: var(--numu-purple);
	font-size: clamp(34px, 4.4vw, 56px);
	line-height: 1.3;
}

.numu-editorial-intro {
	max-width: 700px;
	margin: 15px 0 0;
	color: var(--numu-muted);
	font-size: 18px;
	line-height: 1.9;
}

.numu-editorial-search {
	display: flex;
	gap: 10px;
	max-width: 680px;
	margin-top: 30px;
}

.numu-editorial-search input {
	min-width: 0;
	min-height: 52px;
	flex: 1;
	padding: 13px 16px;
	color: var(--numu-ink);
	border: 1px solid var(--numu-line);
	border-radius: 15px;
	background: #fff;
	font: inherit;
}

.numu-editorial-search button {
	min-height: 52px;
	padding: 10px 22px;
	border: 0;
	border-radius: 15px;
	background: var(--numu-purple);
	color: #fff;
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

.numu-editorial-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 30px;
}

.numu-editorial-grid--terms {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.numu-editorial-card {
	display: flex;
	flex-direction: column;
	min-height: 275px;
	padding: 25px;
	border: 1px solid var(--numu-line);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(50, 0, 75, .035);
}

.numu-editorial-card > span {
	color: var(--numu-gold-deep);
	font-size: 13px;
	font-weight: 900;
}

.numu-editorial-card h2 {
	margin: 19px 0 11px;
	color: var(--numu-purple);
	font-size: 25px;
	line-height: 1.45;
}

.numu-editorial-card h2 a,
.numu-editorial-link,
.numu-article-link {
	color: inherit;
	text-decoration: none;
}

.numu-editorial-card p {
	margin: 0;
	color: var(--numu-muted);
	line-height: 1.85;
}

.numu-editorial-link,
.numu-article-link {
	margin-top: auto;
	padding-top: 22px;
	color: var(--numu-purple);
	font-weight: 900;
}

.numu-editorial-pagination {
	margin-top: 32px;
	color: var(--numu-purple);
	font-weight: 800;
}

.numu-editorial-pagination .page-numbers {
	display: inline-flex;
	margin-inline-end: 6px;
	padding: 7px 11px;
	border: 1px solid var(--numu-line);
	border-radius: 10px;
	background: #fff;
	color: inherit;
	text-decoration: none;
}

.numu-editorial-empty {
	margin-top: 28px;
	padding: 24px;
	border: 1px dashed var(--numu-line);
	border-radius: 18px;
	background: #fff;
	color: var(--numu-muted);
}

.numu-editorial-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 24px;
	color: var(--numu-muted);
	font-size: 14px;
}

.numu-editorial-breadcrumb a {
	color: var(--numu-purple);
	font-weight: 800;
	text-decoration: none;
}

.numu-editorial-breadcrumb b {
	color: var(--numu-purple);
}

.numu-editorial-body {
	max-width: 860px;
	margin-top: 32px;
	padding: clamp(26px, 4vw, 52px);
	border: 1px solid var(--numu-line);
	border-radius: 26px;
	background: #fff;
}

.numu-editorial-body h2,
.numu-editorial-body h3 {
	margin: 34px 0 13px;
	color: var(--numu-purple);
	line-height: 1.45;
}

.numu-editorial-body h2 {
	font-size: 29px;
}

.numu-editorial-body p,
.numu-editorial-body li {
	color: var(--numu-muted);
	font-size: 17px;
	line-height: 2;
}

.numu-editorial-body p:first-child {
	margin-top: 0;
	color: var(--numu-ink);
	font-size: 20px;
}

.numu-editorial-disclaimer {
	max-width: 860px;
	margin: 22px 0 0;
	padding: 17px 20px;
	border-right: 4px solid var(--numu-gold);
	border-radius: 14px;
	background: #fff9ea;
	color: var(--numu-muted);
	font-size: 14px;
	line-height: 1.8;
}

.numu-editorial-term-hero {
	max-width: 860px;
	padding: clamp(28px, 5vw, 52px);
	border: 1px solid var(--numu-line);
	border-radius: 28px;
	background: linear-gradient(135deg, #fff, #f2e9f5);
}

.numu-editorial-term-body {
	margin-top: 24px;
}

.numu-slide-viewer:fullscreen {
	padding: 24px;
	background: #13001d;
	display: grid;
	align-content: center;
}

.numu-slide-viewer:fullscreen .numu-slides {
	max-height: calc(100vh - 130px);
	margin: auto;
}

@media (max-width: 1120px) {
	.numu-prototype-header nav {
		gap: 16px;
	}

	.numu-prototype-header nav a {
		font-size: 13px;
	}

	.numu-hero {
		margin-inline: 18px;
		grid-template-columns: 1fr 420px;
		padding-inline: 40px;
	}
}

@media (max-width: 920px) {
	.numu-prototype-header {
		padding: 18px 20px;
	}

	.numu-prototype-header nav > a:not(.numu-header-cta) {
		display: none;
	}

	.numu-brand img {
		width: 170px;
	}

	.numu-hero {
		margin: 6px 16px 0;
		padding: 54px 28px;
		grid-template-columns: 1fr;
		gap: 42px;
		min-height: auto;
	}

	.numu-hero h1 {
		font-size: clamp(40px, 10vw, 62px);
	}

	.numu-hero-visual {
		min-height: 430px;
	}

	.numu-intro,
	.numu-section-heading,
	.numu-glossary,
	.numu-initiatives {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.numu-level-grid {
		grid-template-columns: 1fr;
	}

	.numu-level-card {
		min-height: auto;
	}

	.numu-course-variants {
		margin-top: 10px;
	}

	.numu-knowledge-layout {
		grid-template-columns: 1fr;
	}

	.numu-article-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.numu-initiatives {
		padding-top: 90px;
		padding-bottom: 90px;
	}

	.numu-closing {
		margin: 72px 18px;
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 680px) {
	.numu-section,
	.numu-knowledge {
		padding-top: 76px;
		padding-bottom: 76px;
	}

	.numu-hero {
		border-radius: 26px;
		padding: 43px 21px 24px;
	}

	.numu-hero-lead {
		font-size: 17px;
	}

	.numu-hero-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.numu-button {
		width: 100%;
	}

	.numu-hero-points {
		align-items: flex-start;
		flex-direction: column;
	}

	.numu-hero-visual {
		min-height: 390px;
		border-radius: 24px;
	}

	.numu-stack-card {
		width: min(230px, calc(100% - 52px));
		min-height: 119px;
		padding: 17px 19px;
	}

	.numu-stack-card strong {
		font-size: 26px;
	}

	.numu-stack-card-one {
		right: 20px;
		top: 34px;
	}

	.numu-stack-card-two {
		left: 20px;
		top: 142px;
	}

	.numu-stack-card-three {
		right: 36px;
		bottom: 27px;
	}

	.numu-section-heading {
		gap: 20px;
	}

	.numu-article-list {
		grid-template-columns: 1fr;
	}

	.numu-article-list article {
		min-height: 245px;
	}

	.numu-term-cloud {
		min-height: 310px;
		padding: 25px;
	}

	.numu-initiative-facts {
		grid-template-columns: 1fr;
	}

	.numu-initiative-gallery {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 190px 170px;
	}

	.numu-closing {
		padding: 38px 24px;
	}

	.numu-prototype-footer {
		grid-template-columns: 1fr;
		gap: 38px;
	}

	.numu-footer-links {
		grid-template-columns: 1fr 1fr;
	}

	.numu-footer-disclaimer {
		grid-column: 1;
	}

	.numu-viewer-heading {
		align-items: flex-start;
		flex-direction: column;
	}

	.numu-lesson-prototype {
		padding-inline: 12px;
	}

	.numu-slide-viewer {
		padding: 8px;
		border-radius: 16px;
	}

	.numu-viewer-controls {
		grid-template-columns: 1fr auto 1fr;
	}

	.numu-viewer-controls button {
		padding-inline: 10px;
	}

	.numu-viewer-help {
		display: none;
	}

	.numu-editorial-page {
		padding: 34px 16px 54px;
	}

	.numu-editorial-search {
		flex-direction: column;
	}

	.numu-editorial-search button {
		width: 100%;
	}

	.numu-editorial-grid,
	.numu-editorial-grid--terms {
		grid-template-columns: 1fr;
	}

	.numu-editorial-topbar {
		padding: 13px 18px;
	}

	.numu-editorial-brand img {
		width: 155px;
	}

	.numu-editorial-topbar nav > a:not(.numu-editorial-account) {
		display: none;
	}

	.numu-editorial-card {
		min-height: 230px;
	}
}

@media (max-width: 560px) {
	.numu-prototype-header .numu-header-cta {
		padding: 10px 14px;
		font-size: 13px;
	}

	.numu-app-shell {
		min-height: 68px;
		padding: 10px 14px;
	}

	.numu-app-brand img {
		width: 150px;
	}

	.numu-app-shell nav > a:not(.numu-app-action) {
		display: none;
	}

	.numu-app-shell .numu-app-action {
		padding: 9px 14px;
		font-size: 13px;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition: none !important;
		animation: none !important;
	}
}

/* Independent approved editorial document surfaces. They intentionally own
 * their complete page chrome so a block theme cannot add a second header. */
.numu-editorial-document{margin:0;background:#f7f3f8;color:#271a2c;font-family:Tajawal,Dubai,Tahoma,Arial,sans-serif}.numu-editorial-document *{box-sizing:border-box}.nu-topbar{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px max(24px,calc((100vw - 1180px)/2));background:#fff;border-bottom:1px solid #e9e0ec}.nu-brand img{display:block;width:190px;height:auto}.nu-nav{display:flex;align-items:center;gap:24px}.nu-nav a{color:#716878;font-size:15px;font-weight:700;text-decoration:none}.nu-nav a[aria-current="page"]{color:#32004b}.nu-account{display:inline-flex;align-items:center;gap:9px;padding:9px 14px;color:#32004b;background:#f7f0f9;border-radius:999px;font-size:14px;font-weight:700;text-decoration:none}.nu-account:before{content:"";width:10px;height:10px;border-radius:50%;background:#ffda8b}.nu-shell{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:52px 0 72px}.nu-eyebrow{margin:0 0 10px;color:#5a216e;font-size:14px;font-weight:800}.nu-page-title{margin:0;color:#32004b;font-size:clamp(30px,4vw,48px);line-height:1.25}.nu-page-intro{max-width:660px;margin:14px 0 0;color:#716878;font-size:17px;line-height:1.9}.nu-filter-row{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 20px}.nu-filter-row span{padding:8px 14px;border:1px solid #e9e0ec;border-radius:999px;color:#716878;font-size:14px;font-weight:700;background:#fff}.nu-filter-row span:first-child{border-color:#32004b;color:#32004b}.nu-resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.nu-resource{display:flex;flex-direction:column;min-height:252px;padding:24px;border-radius:19px;background:#fff;border:1px solid #e9e0ec;box-shadow:0 8px 24px rgba(50,0,75,.035)}.nu-resource .nu-kind{color:#5a216e;font-size:13px;font-weight:800}.nu-resource h2{margin:17px 0 10px;color:#32004b;font-size:23px;line-height:1.45}.nu-resource h2 a,.nu-resource a{color:inherit;text-decoration:none}.nu-resource p{margin:0;color:#716878;line-height:1.75}.nu-resource>a{margin-top:auto;padding-top:20px;color:#32004b;font-weight:800}.nu-series{margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:28px;border-radius:22px;background:#eee3f2}.nu-series span{color:#5a216e;font-size:14px;font-weight:800}.nu-series h2{margin:9px 0 0;color:#32004b;font-size:25px}.nu-series p{margin:8px 0 0;color:#716878}.nu-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 21px;border:1px solid #d9c8df;border-radius:999px;color:#32004b;font-size:15px;font-weight:800;text-decoration:none;background:transparent}.nu-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;color:#716878;font-size:14px}.nu-breadcrumb a{color:#716878;text-decoration:none}.nu-breadcrumb b{color:#32004b}.nu-article-body,.nu-term-detail{margin-top:34px;padding:clamp(25px,4vw,48px);border:1px solid #e9e0ec;border-radius:24px;background:#fff}.nu-article-body h2,.nu-article-body h3,.nu-term-detail h2,.nu-term-detail h3{margin:35px 0 12px;color:#32004b;font-size:27px}.nu-article-body p,.nu-article-body li,.nu-term-detail p,.nu-term-detail li{color:#716878;font-size:17px;line-height:2}.nu-disclaimer{margin-top:22px;padding:17px 20px;border-right:4px solid #ffda8b;border-radius:14px;color:#716878;background:#fff9ea;line-height:1.8}.nu-glossary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:26px}.nu-term{padding:23px;border:1px solid #e9e0ec;border-radius:18px;background:#fff}.nu-term h2{margin:0 0 8px;color:#32004b;font-size:22px}.nu-term h2 a,.nu-term-link{color:inherit;text-decoration:none}.nu-term p{margin:12px 0 0;color:#716878;line-height:1.75}.nu-term-link{display:inline-flex;margin-top:18px;color:#32004b;font-size:14px;font-weight:800}.nu-term-hero{padding:clamp(28px,5vw,52px);border:1px solid #e9e0ec;border-radius:26px;background:linear-gradient(135deg,#fff,#f2e9f5)}.nu-pagination{margin-top:30px;color:#32004b}.nu-pagination a{text-decoration:none}.nu-empty{margin-top:26px;padding:22px;border-radius:17px;color:#716878;background:#fff;border:1px dashed #d8cadf}.nu-footer{padding:28px max(24px,calc((100vw - 1180px)/2));color:#716878;background:#fff;border-top:1px solid #e9e0ec;font-size:13px}@media(max-width:900px){.nu-topbar{flex-wrap:wrap}.nu-nav{order:3;width:100%;overflow-x:auto;padding-bottom:4px}.nu-resource-grid{grid-template-columns:1fr 1fr}.nu-glossary-grid{grid-template-columns:1fr}.nu-series{display:block}.nu-series .nu-button{margin-top:20px}}@media(max-width:620px){.nu-topbar{padding:13px 18px;gap:12px}.nu-brand img{width:155px}.nu-account{padding:8px 10px;font-size:12px}.nu-nav{gap:18px;font-size:14px}.nu-shell{width:min(100% - 32px,1180px);padding:34px 0 52px}.nu-resource-grid{grid-template-columns:1fr}.nu-resource{min-height:230px}}

/* Approved final-assessment treatment applied to Tutor's native 4.0.1 flow.
 * The form and attempt lifecycle stay owned by Tutor; only presentation changes. */
body.numu-prototype-assessment-page {
	background: #f7f3f8;
	font-family: Tajawal, Dubai, Tahoma, Arial, sans-serif;
}

body.numu-prototype-assessment-page .tutor-learning-header {
	border-bottom: 1px solid #e9e0ec;
	background: #fff;
}

body.numu-prototype-assessment-page .tutor-learning-area-content {
	background: #f7f3f8;
}

body.numu-prototype-assessment-page .tutor-quiz-intro {
	max-width: 920px;
	margin: 42px auto;
	padding: clamp(30px, 5vw, 62px);
	border-radius: 28px;
	color: #fff;
	background: linear-gradient(135deg, #2b003f, #5a216e);
	box-shadow: 0 20px 55px rgba(50, 0, 75, .12);
}

body.numu-prototype-assessment-page .tutor-quiz-intro-icon {
	display: none;
}

body.numu-prototype-assessment-page .tutor-quiz-intro-title,
body.numu-prototype-assessment-page .tutor-quiz-intro-description,
body.numu-prototype-assessment-page .tutor-quiz-intro td,
body.numu-prototype-assessment-page .tutor-quiz-intro th {
	color: #fff;
}

body.numu-prototype-assessment-page .tutor-quiz-intro-title {
	font-size: clamp(30px, 4vw, 48px);
	line-height: 1.35;
}

body.numu-prototype-assessment-page .tutor-quiz-intro-description {
	color: rgba(255, 255, 255, .8);
	line-height: 1.9;
}

body.numu-prototype-assessment-page .tutor-quiz-intro table {
	border-color: rgba(255, 255, 255, .2);
}

body.numu-prototype-assessment-page .tutor-quiz-intro .tutor-btn-primary {
	border-color: #ffda8b;
	background: #ffda8b;
	color: #32004b;
	font-weight: 900;
}

body.numu-prototype-assessment-page .tutor-quiz-intro .tutor-btn-ghost {
	color: rgba(255, 255, 255, .82);
}

body.numu-prototype-assessment-page .tutor-quiz-question,
body.numu-prototype-assessment-page .tutor-quiz-question-item {
	border-radius: 22px;
	background: #fff;
}

@media (max-width: 620px) {
	body.numu-prototype-assessment-page .tutor-quiz-intro {
		margin: 22px 16px;
		padding: 26px 20px;
	}
}

/* Simple legal pages approved for the initial launch. */
.nu-legal-hero {
	padding: clamp(30px, 5vw, 56px);
	border: 1px solid #e9e0ec;
	border-radius: 28px;
	background: linear-gradient(135deg, #fff, #f1e7f4);
}

.nu-legal-hero small {
	display: block;
	margin-top: 18px;
	color: #716878;
}

.nu-legal-content {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-top: 26px;
}

.nu-legal-content section {
	padding: 26px;
	border: 1px solid #e9e0ec;
	border-radius: 20px;
	background: #fff;
}

.nu-legal-content h2 {
	margin: 0 0 10px;
	color: #32004b;
	font-size: 21px;
}

.nu-legal-content p {
	margin: 0;
	color: #716878;
	font-size: 16px;
	line-height: 1.95;
}

.nu-legal-content a {
	color: #5a216e;
	font-weight: 800;
}

.nu-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.nu-footer p {
	margin: 0;
}

.nu-footer nav {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.nu-footer a {
	color: #5a216e;
	font-weight: 700;
	text-decoration: none;
}

/* Tutor modal presentation: keep Tutor behavior, replace its English/blue skin. */
body.numu-prototype-active .tutor-modal-content {
	direction: rtl;
	border: 1px solid #e9e0ec;
	border-radius: 24px;
	font-family: Tajawal, Dubai, Tahoma, Arial, sans-serif;
	box-shadow: 0 24px 70px rgba(50, 0, 75, .18);
}

body.numu-prototype-active .tutor-modal-content h1,
body.numu-prototype-active .tutor-modal-content h2,
body.numu-prototype-active .tutor-modal-content h3,
body.numu-prototype-active .tutor-modal-content h4,
body.numu-prototype-active .tutor-modal-content h5 {
	color: #32004b;
}

body.numu-prototype-active .tutor-modal-content svg {
	color: #5a216e;
}

body.numu-prototype-active .tutor-modal-content .tutor-btn-primary,
body.numu-prototype-active .tutor-modal-content .tutor-btn-danger,
body.numu-prototype-active .tutor-modal-content button[type="submit"] {
	border-color: #32004b;
	background: #32004b;
	color: #fff;
}

body.numu-prototype-active .tutor-modal-content .tutor-btn-outline-primary,
body.numu-prototype-active .tutor-modal-content .tutor-btn-ghost {
	border-color: #d9c8df;
	color: #32004b;
}

body.numu-prototype-active .tutor-finish-course-progress {
	accent-color: #5a216e;
}

@media (max-width: 720px) {
	.nu-legal-content {
		grid-template-columns: 1fr;
	}

	.nu-footer {
		align-items: flex-start;
		flex-direction: column;
	}
}
