/* Theme-specific overrides layered on top of the migrated prototype styles. */

:root {
	color-scheme: light;
}

:root[data-theme-tone='dark'] {
	color-scheme: dark;
}

body {
	color: var(--color-surface-text, #18181b) !important;
	background: var(--color-page-canvas, var(--color-brand-sand, #f8f5f2));
}

:is(main#main-content, .site-content, #main) {
	color: var(--color-surface-text, #18181b);
}

.bg-black {
	background-color: #050505 !important;
}

.bg-black\/10 {
	background-color: rgb(5 5 5 / 0.1) !important;
}

[class~='bg-[var(--color-brand-gold)]'],
[class~='bg-[#d4af37]'] {
	color: var(--color-accent-contrast, #050505) !important;
}

[class~='bg-[var(--color-brand-gold)]'] :is(.text-black, .text-zinc-950),
[class~='bg-[#d4af37]'] :is(.text-black, .text-zinc-950) {
	color: var(--color-accent-contrast, #050505) !important;
}

[class~='bg-[var(--color-brand-emerald)]'],
[class~='bg-[#0f5132]'] {
	color: var(--color-primary-contrast, #ffffff) !important;
}

[class~='bg-[var(--color-brand-emerald)]'] :is(.text-white, [class~='text-white/60'], [class~='text-white/70'], [class~='text-white/80'], [class~='text-white/85']),
[class~='bg-[#0f5132]'] :is(.text-white, [class~='text-white/60'], [class~='text-white/70'], [class~='text-white/80'], [class~='text-white/85']) {
	color: var(--color-primary-contrast, #ffffff) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) [class~='text-[var(--color-brand-gold)]'],
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) [class~='text-[#d4af37]'] {
	color: var(--color-accent-text, var(--color-brand-gold)) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(h1, h2, h3, h4, h5, h6, p, span, div, summary, td, th, label).text-white:not(.bg-black):not(.bg-red-600):not(.sis-on-dark),
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(h1, h2, h3, h4, h5, h6, p, span, div, summary, td, th, label)[class~='text-white/60']:not(.sis-on-dark),
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(h1, h2, h3, h4, h5, h6, p, span, div, summary, td, th, label)[class~='text-white/70']:not(.sis-on-dark),
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(h1, h2, h3, h4, h5, h6, p, span, div, summary, td, th, label)[class~='text-white/80']:not(.sis-on-dark),
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(h1, h2, h3, h4, h5, h6, p, span, div, summary, td, th, label)[class~='text-white/85']:not(.sis-on-dark) {
	color: var(--color-surface-text, #18181b) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(.text-gray-700, .text-gray-600, .text-gray-500, .text-gray-400, .text-zinc-500, .text-zinc-400, .text-zinc-300, .text-zinc-200):not(.sis-on-dark) {
	color: var(--color-surface-muted, #57534e) !important;
}

:root[data-theme-tone='dark'] :is(main#main-content, .site-content, #main) :is(.text-gray-700, .text-gray-600, .text-gray-500, .text-gray-400, .text-zinc-600, .text-zinc-500, .text-zinc-400):not(.sis-on-light) {
	color: var(--color-surface-muted, #d4d4d8) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) .text-red-400 {
	color: #b91c1c !important;
}

:root[data-theme-tone='dark'] :is(main#main-content, .site-content, #main) .text-red-400 {
	color: #fca5a5 !important;
}

:is(main#main-content, .site-content, #main) .bg-red-600.text-white,
:is(main#main-content, .site-content, #main) [class~='bg-red-600'][class~='text-white'] {
	color: #ffffff !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(a, button)[class~='text-white']:not(.bg-black):not(.bg-red-600):not([class~='bg-zinc-700']):not(.sis-on-dark),
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(a, button)[class~='hover:text-white']:hover,
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(a, button)[class~='hover:text-white']:focus-visible {
	color: var(--color-surface-text, #18181b) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) [class~='hover:border-white']:hover,
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) [class~='hover:border-white']:focus-visible {
	border-color: var(--color-accent-text, var(--color-brand-gold)) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is([class~='bg-zinc-950'], [class~='bg-zinc-950/50'], [class~='bg-zinc-900'], [class~='bg-zinc-900/50'], [class~='bg-zinc-800'], [class~='bg-zinc-800/50']) {
	color: var(--color-surface-text, #18181b) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) [class~='bg-zinc-950'] {
	background-color: var(--color-surface-950, #ffffff) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) [class~='bg-zinc-900'] {
	background-color: var(--color-surface-900, #f6efe7) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) [class~='bg-zinc-900/50'] {
	background-color: rgb(var(--color-surface-900-rgb, 246 239 231) / 0.72) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) [class~='bg-zinc-800'] {
	background-color: var(--color-surface-800, #ebe0d2) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) [class~='bg-zinc-700'] {
	background-color: var(--color-control-bg, #ffffff) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) [class~='bg-zinc-800/50'] {
	background-color: rgb(var(--color-surface-800-rgb, 235 224 210) / 0.55) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) [class~='bg-zinc-950/50'] {
	background-color: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.72) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is([class~='hover:bg-zinc-950/50'], [class~='hover:bg-zinc-900/60'], [class~='hover:bg-zinc-800'], [class~='hover:bg-zinc-800/50']):hover,
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is([class~='hover:bg-zinc-950/50'], [class~='hover:bg-zinc-900/60'], [class~='hover:bg-zinc-800'], [class~='hover:bg-zinc-800/50']):focus-visible {
	background-color: rgb(var(--color-surface-800-rgb, 235 224 210) / 0.72) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) [class~='border-zinc-800'] {
	border-color: var(--color-surface-border, #d6c9bc) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is([class~='border-zinc-700'], [class~='border-zinc-600']) {
	border-color: var(--color-surface-border-strong, #b8a590) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(input, textarea, select):is([class~='bg-zinc-950'], [class~='bg-zinc-950/50'], [class~='bg-zinc-900'], [class~='bg-zinc-900/50'], [class~='bg-zinc-800'], [class~='bg-zinc-700'], [class~='bg-zinc-800/50']) {
	border-color: var(--color-control-border, #b8a590) !important;
	background-color: var(--color-control-bg, #ffffff) !important;
	color: var(--color-control-text, #18181b) !important;
	caret-color: var(--color-control-text, #18181b) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(input, textarea, select):is([class~='bg-zinc-950'], [class~='bg-zinc-950/50'], [class~='bg-zinc-900'], [class~='bg-zinc-900/50'], [class~='bg-zinc-800'], [class~='bg-zinc-700'], [class~='bg-zinc-800/50'])::placeholder {
	color: rgb(var(--color-surface-text-rgb, 24 24 27) / 0.48) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(a, button, input[type='submit'])[class~='bg-zinc-700'],
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(a, button, input[type='submit']).sis-btn-neutral {
	border-color: var(--color-button-neutral-border, var(--color-button-neutral-bg)) !important;
	background-color: var(--color-button-neutral-bg, #0f5132) !important;
	color: var(--color-button-neutral-text, #ffffff) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(a, button, input[type='submit'])[class~='bg-zinc-700']:hover,
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(a, button, input[type='submit'])[class~='bg-zinc-700']:focus-visible {
	color: var(--color-button-neutral-text, #ffffff) !important;
	filter: brightness(1.04);
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(button, input[type='submit'])[class~='bg-[var(--color-brand-gold)]'],
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(a, button)[class~='bg-[var(--color-brand-gold)]'] {
	color: var(--color-accent-contrast, #050505) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is([class~='bg-zinc-950'], [class~='bg-zinc-950/50'], [class~='bg-zinc-900'], [class~='bg-zinc-900/50'], [class~='bg-zinc-800'], [class~='bg-zinc-800/50']) :is([class~='text-white']):not([class~='bg-red-600']),
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is([class~='bg-zinc-950'], [class~='bg-zinc-950/50'], [class~='bg-zinc-900'], [class~='bg-zinc-900/50'], [class~='bg-zinc-800'], [class~='bg-zinc-800/50']):is([class~='text-white']):not([class~='bg-red-600']) {
	color: var(--color-surface-text, #18181b) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is([class~='bg-zinc-950'], [class~='bg-zinc-950/50'], [class~='bg-zinc-900'], [class~='bg-zinc-900/50'], [class~='bg-zinc-800'], [class~='bg-zinc-800/50']) :is([class~='text-white/60'], [class~='text-white/70'], [class~='text-white/80'], [class~='text-white/85'], [class~='text-zinc-200'], [class~='text-zinc-300'], [class~='text-zinc-400'], [class~='text-zinc-500'], [class~='text-gray-300'], [class~='text-gray-400'], [class~='text-gray-500']),
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is([class~='bg-zinc-950'], [class~='bg-zinc-950/50'], [class~='bg-zinc-900'], [class~='bg-zinc-900/50'], [class~='bg-zinc-800'], [class~='bg-zinc-800/50']):is([class~='text-white/60'], [class~='text-white/70'], [class~='text-white/80'], [class~='text-white/85'], [class~='text-zinc-200'], [class~='text-zinc-300'], [class~='text-zinc-400'], [class~='text-zinc-500'], [class~='text-gray-300'], [class~='text-gray-400'], [class~='text-gray-500']) {
	color: var(--color-surface-muted, #57534e) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is([class~='bg-zinc-950'], [class~='bg-zinc-950/50'], [class~='bg-zinc-900'], [class~='bg-zinc-900/50'], [class~='bg-zinc-800'], [class~='bg-zinc-800/50']) :is([class~='hover:text-white']):hover,
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is([class~='bg-zinc-950'], [class~='bg-zinc-950/50'], [class~='bg-zinc-900'], [class~='bg-zinc-900/50'], [class~='bg-zinc-800'], [class~='bg-zinc-800/50']) :is([class~='hover:text-white']):focus-visible,
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is([class~='bg-zinc-950'], [class~='bg-zinc-950/50'], [class~='bg-zinc-900'], [class~='bg-zinc-900/50'], [class~='bg-zinc-800'], [class~='bg-zinc-800/50']):is([class~='hover:text-white']):hover,
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is([class~='bg-zinc-950'], [class~='bg-zinc-950/50'], [class~='bg-zinc-900'], [class~='bg-zinc-900/50'], [class~='bg-zinc-800'], [class~='bg-zinc-800/50']):is([class~='hover:text-white']):focus-visible {
	color: var(--color-surface-text, #18181b) !important;
}

:is(main#main-content, .site-content, #main) :is(.bg-red-600.text-white, [class~='bg-red-600'][class~='text-white']) {
	color: #ffffff !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(input, textarea, select):is([class~='bg-zinc-950'], [class~='bg-zinc-950/50'], [class~='bg-zinc-900'], [class~='bg-zinc-900/50'], [class~='bg-zinc-800'], [class~='bg-zinc-800/50']) {
	caret-color: var(--color-surface-text, #18181b) !important;
}

:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(input, textarea, select):is([class~='bg-zinc-950'], [class~='bg-zinc-950/50'], [class~='bg-zinc-900'], [class~='bg-zinc-900/50'], [class~='bg-zinc-800'], [class~='bg-zinc-800/50'])::placeholder,
:root[data-theme-tone='light'] :is(main#main-content, .site-content, #main) :is(input, textarea, select)[class~='placeholder:text-white/40']::placeholder {
	color: rgb(var(--color-surface-text-rgb, 24 24 27) / 0.42) !important;
}

.material-symbols-rounded {
	font-family: 'Material Symbols Rounded';
	font-style: normal;
	font-weight: 400;
	letter-spacing: normal;
	line-height: 1;
	text-transform: none;
	white-space: nowrap;
	word-wrap: normal;
	direction: ltr;
	font-feature-settings: 'liga';
	-webkit-font-smoothing: antialiased;
	font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

.sis-icon {
	--sis-icon-box: 2rem;
	--sis-icon-size: 1.5rem;
	--sis-icon-fill: 0;
	--sis-icon-weight: 450;
	--sis-icon-opsz: 24;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--sis-icon-box);
	height: var(--sis-icon-box);
	flex: 0 0 var(--sis-icon-box);
	color: currentColor;
	line-height: 1;
}

.sis-icon--lg {
	--sis-icon-box: 2.75rem;
	--sis-icon-size: 2rem;
	--sis-icon-opsz: 32;
}

.sis-icon--gold {
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-icon--gold.sis-icon-surface,
.sis-icon--gold.sis-value-card-icon {
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.22);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.1);
}

.sis-icon > .material-symbols-rounded,
.material-symbols-rounded.sis-icon {
	margin: 0;
	font-size: var(--sis-icon-size);
	font-variation-settings: 'FILL' var(--sis-icon-fill), 'wght' var(--sis-icon-weight), 'GRAD' 0, 'opsz' var(--sis-icon-opsz);
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.focus\:not-sr-only:focus {
	position: static;
	width: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	clip: auto;
	white-space: normal;
}

.sis-menu,
.sis-submenu {
	list-style: none;
	margin: 0;
	padding-left: 0;
	padding-right: 0;
	padding-inline-start: 0;
	padding-inline-end: 0;
	}

.sis-menu-item {
	position: relative;
}

.sis-menu-item > a {
	text-decoration: none;
	transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.sis-site-logo img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
}

.sis-section-header {
	display: grid;
	gap: 1rem;
	align-items: end;
	margin-bottom: 2.5rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
}

.sis-section-heading {
	max-width: 42rem;
}

.sis-section-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0 0 0.75rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-section-eyebrow::after {
	content: '';
	width: 3rem;
	height: 1px;
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.45);
}

.sis-section-title {
	margin: 0;
	font-family: 'Playfair Display', serif;
	font-size: clamp(2rem, 3vw, 2.75rem);
	line-height: 1.05;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-section-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1rem;
	border: 1px solid var(--color-surface-border, #d6c9bc);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-surface-text, #18181b) !important;
	text-decoration: none;
	transition: border-color 0.18s ease, color 0.18s ease, background-color 0.18s ease;
}

.sis-section-link:hover,
.sis-section-link:focus-visible {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-home-hero {
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
	background: linear-gradient(135deg, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.98) 0%, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.94) 52%, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.98) 100%);
}

.sis-home-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(115deg, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.98) 0%, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.82) 28%, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.52) 52%, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.88) 100%);
	z-index: 1;
}

.sis-home-hero::after {
	content: '';
	position: absolute;
	left: -6rem;
	bottom: -7rem;
	width: 18rem;
	height: 18rem;
	background: radial-gradient(circle, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.18) 0%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0) 72%);
	z-index: 1;
}

.sis-home-hero-media {
	position: absolute;
	inset: 0;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	opacity: 0.24;
	filter: saturate(0.9) contrast(1.02);
	transform: scale(1.02);
	transform-origin: center;
	will-change: transform;
	}

.sis-home-hero-inner {
	position: relative;
	z-index: 2;
	display: grid;
	gap: 2rem;
	align-items: end;
	padding-top: clamp(4rem, 8vw, 6rem);
	padding-bottom: clamp(4rem, 8vw, 5.5rem);
	}

.sis-home-hero-copy {
	max-width: 48rem;
}

.sis-home-hero-kicker {
	margin: 0 0 1rem;
	font-size: 0.88rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-home-hero-title {
	margin: 0;
	font-family: 'Playfair Display', serif;
	font-size: clamp(3.4rem, 8vw, 6.6rem);
	line-height: 0.94;
	letter-spacing: 0;
	color: var(--color-surface-text, #18181b) !important;
	text-wrap: balance;
}

.sis-home-hero-title-accent {
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-home-hero-description {
	max-width: 44rem;
	margin: 1.5rem 0 0;
	font-size: clamp(1.2rem, 2vw, 1.6rem);
	line-height: 1.48;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-home-hero .btn-primary-lift {
	box-shadow: 0 18px 36px -26px rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.85);
}

.sis-home-hero .btn-secondary-lift {
	color: var(--color-surface-text, #18181b) !important;
	border-color: var(--color-surface-border-strong, #b8a590) !important;
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.72);
	backdrop-filter: blur(10px);
}

.sis-home-hero .btn-secondary-lift:hover,
.sis-home-hero .btn-secondary-lift:focus-visible {
	color: var(--color-accent-text, var(--color-brand-gold)) !important;
	border-color: var(--color-accent-text, var(--color-brand-gold)) !important;
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.9);
}

.sis-home-hero-proof {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.85rem;
	margin-top: 2rem;
}

.sis-home-hero-proof-item {
	display: grid;
	gap: 0.35rem;
	padding: 1rem 1.1rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.18);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.62);
	backdrop-filter: blur(10px);
	box-shadow: 0 16px 36px -32px rgba(15, 23, 42, 0.5);
}

.sis-home-hero-proof-value {
	font-family: 'Playfair Display', serif;
	font-size: clamp(1.7rem, 3vw, 2.4rem);
	line-height: 1;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-home-hero-proof-label {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-surface-muted, #57534e);
}

.sis-home-hero-panel {
	position: relative;
	display: grid;
	gap: 1rem;
	padding: 1.75rem;
	align-self: stretch;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.18);
	background-color: var(--color-brand-emerald, #0f5132);
	background-image: linear-gradient(180deg, rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.96) 0%, rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.88) 100%);
	backdrop-filter: blur(12px);
	box-shadow: 0 32px 48px -36px rgba(15, 23, 42, 0.55);
	color: #ffffff;
	overflow: hidden;
}

.sis-home-hero-panel::after {
	content: '';
	position: absolute;
	inset: auto -4rem -5rem auto;
	width: 14rem;
	height: 14rem;
	background: radial-gradient(circle, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.16) 0%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0) 72%);
	pointer-events: none;
}

.sis-home-hero-panel-kicker,
.sis-home-trust-kicker,
.sis-home-faculties-tag {
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.sis-home-hero-panel-kicker {
	margin: 0;
	color: rgba(255, 255, 255, 0.72);
}

.sis-home-hero-panel-title {
	margin: 0;
	font-family: 'Playfair Display', serif;
	font-size: clamp(1.7rem, 3vw, 2.4rem);
	line-height: 1.08;
	text-wrap: balance;
}

.sis-home-hero-panel-copy {
	margin: 0;
	font-size: 1rem;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.78);
}

.sis-home-hero-panel-list {
	display: grid;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sis-home-hero-panel-list li {
	position: relative;
	padding-left: 1.25rem;
	font-size: 0.95rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.88);
}

.sis-home-hero-panel-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.65rem;
	width: 0.45rem;
	height: 0.45rem;
	background: var(--color-brand-gold);
	border-radius: 999px;
}

.sis-home-hero-panel-mark {
	display: flex;
	justify-content: flex-end;
	margin-top: 0.25rem;
}

.sis-home-hero-panel-mark img {
	width: clamp(7rem, 22vw, 11rem);
	opacity: 0.28;
	filter: brightness(0) invert(1);
}

.sis-home-trust {
	background: linear-gradient(180deg, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.54) 0%, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.98) 42%, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.4) 100%);
	border-top: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
	border-bottom: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
	padding: clamp(4rem, 8vw, 5.5rem) 0;
}

.sis-home-trust-inner {
	display: grid;
	gap: 2rem;
	align-items: start;
}

.sis-home-trust-title {
	margin: 0;
	font-family: 'Playfair Display', serif;
	font-size: clamp(3rem, 6vw, 4.5rem);
	line-height: 0.98;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-home-trust-description {
	margin: 1.25rem 0 0;
	font-size: clamp(1.15rem, 2.4vw, 1.55rem);
	line-height: 1.6;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-home-trust-note {
	margin-top: 1.75rem;
	padding: 1.25rem 1.35rem;
	border-left: 3px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.55);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.76);
	box-shadow: 0 18px 36px -34px rgba(15, 23, 42, 0.4);
}

.sis-home-trust-note-title {
	margin: 0;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-home-trust-note-copy {
	margin: 0.75rem 0 0;
	font-size: 1rem;
	line-height: 1.65;
	color: var(--color-surface-muted, #57534e);
}

.sis-home-trust-list {
	display: grid;
	gap: 0.9rem;
	margin: 1.5rem 0 0;
	padding: 0;
	list-style: none;
}

.sis-home-trust-list li {
	position: relative;
	padding-left: 1.2rem;
	font-size: 0.98rem;
	line-height: 1.7;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-home-trust-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.7rem;
	width: 0.42rem;
	height: 0.42rem;
	background: var(--color-brand-gold);
	border-radius: 999px;
}

.sis-home-trust-stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	align-content: start;
}

.sis-stat-card {
	display: grid;
	gap: 0.6rem;
	height: 100%;
	padding: 1.5rem;
	border: 1px solid var(--color-surface-border, #d6c9bc);
	background: linear-gradient(180deg, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.96) 0%, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.92) 100%);
	box-shadow: 0 18px 36px -30px rgba(15, 23, 42, 0.28);
}

.sis-stat-value {
	font-family: 'Playfair Display', serif;
	font-size: clamp(2.5rem, 4vw, 3.5rem);
	font-weight: 700;
	line-height: 1;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-stat-label {
	margin: 0;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--color-surface-muted, #57534e);
}

.sis-feature-card {
	display: grid;
	gap: 1rem;
	height: 100%;
	padding: 0;
	border: 1px solid var(--color-surface-border, #d6c9bc);
	background: linear-gradient(180deg, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.96) 0%, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.92) 100%);
	box-shadow: 0 18px 36px -30px rgba(15, 23, 42, 0.28);
	text-decoration: none;
	overflow: hidden;
	transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.sis-feature-card:hover,
.sis-feature-card:focus-visible {
	transform: translateY(-3px);
	border-color: var(--color-accent-text, var(--color-brand-gold));
	box-shadow: 0 28px 48px -34px rgba(15, 23, 42, 0.32);
}

.sis-feature-card-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	margin: 1.5rem 1.5rem 0;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.24);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
	color: var(--color-accent-text, var(--color-brand-gold));
	font-size: 1.5rem;
}

.sis-feature-card-media {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	width: 100%;
	min-height: 9.5rem;
	overflow: hidden;
	border-bottom: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
	background: linear-gradient(145deg, rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.16) 0%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.14) 100%);
}

.sis-feature-card-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease, filter 0.22s ease;
}

.sis-feature-card-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgb(12 26 21 / 0.04) 0%, rgb(12 26 21 / 0.08) 44%, rgb(12 26 21 / 0.38) 100%);
	pointer-events: none;
}

.sis-feature-card:hover .sis-feature-card-image,
.sis-feature-card:focus-visible .sis-feature-card-image {
	transform: scale(1.035);
	filter: saturate(1.05);
}

.sis-feature-card-icon--media {
	position: absolute;
	left: 1rem;
	bottom: 1rem;
	z-index: 1;
	width: 2.85rem;
	height: 2.85rem;
	margin: 0;
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.88);
	backdrop-filter: blur(10px);
	box-shadow: 0 18px 30px -24px rgb(12 26 21 / 0.46);
}

.sis-feature-card-body {
	display: grid;
	gap: 0.6rem;
	padding: 0 1.5rem;
}

.sis-feature-card-meta {
	margin: 0;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-surface-muted, #57534e);
}

.sis-feature-card-title {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--color-surface-text, #18181b) !important;
	transition: color 0.18s ease;
}

.sis-feature-card-summary {
	margin: 0;
	font-size: 0.94rem;
	line-height: 1.62;
	color: var(--color-surface-muted, #57534e);
}

.sis-feature-card:hover .sis-feature-card-title,
.sis-feature-card:focus-visible .sis-feature-card-title {
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-feature-card-link {
	padding: 0 1.5rem 1.5rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-home-faculties-shell {
	display: grid;
	gap: 1.75rem;
	align-items: start;
}

.sis-home-faculties-intro {
	display: grid;
	gap: 1.1rem;
	padding: 1.5rem;
	border: 1px solid var(--color-surface-border, #d6c9bc);
	background: linear-gradient(180deg, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.96) 0%, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.92) 100%);
	box-shadow: 0 18px 36px -30px rgba(15, 23, 42, 0.28);
}

.sis-home-faculties-copy,
.sis-home-faculties-summary {
	margin: 0;
	font-size: 1rem;
	line-height: 1.7;
	color: var(--color-surface-muted, #57534e);
}

.sis-home-faculties-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}

.sis-home-faculties-tag {
	display: inline-flex;
	align-items: center;
	padding: 0.55rem 0.75rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.22);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.1);
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-home-faculties-grid {
	display: grid;
	gap: 1rem;
}

.sis-feature-card--lead {
	background: linear-gradient(180deg, rgb(var(--color-surface-950-rgb, 255 255 255) / 1) 0%, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.95) 100%);
}

.sis-feature-card--lead > .sis-feature-card-icon {
	margin: 1.85rem 1.85rem 0;
}

.sis-feature-card--lead .sis-feature-card-media {
	min-height: 13rem;
}

.sis-feature-card--lead .sis-feature-card-body {
	padding-inline: 1.85rem;
}

.sis-feature-card--lead .sis-feature-card-link {
	padding-inline: 1.85rem;
	padding-bottom: 1.85rem;
}

.sis-feature-card--lead .sis-feature-card-title {
	font-size: clamp(1.5rem, 2.8vw, 2.2rem);
	line-height: 1.18;
}

.sis-feature-card--lead .sis-feature-card-summary {
	font-size: 1rem;
	max-width: 34rem;
}

.sis-listing-hero {
	background: linear-gradient(180deg, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.74) 0%, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.98) 44%, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.46) 100%);
	border-top: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
	border-bottom: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
	padding-top: clamp(3.5rem, 7vw, 5rem) !important;
	padding-bottom: clamp(3.5rem, 7vw, 5rem) !important;
}

.sis-listing-hero-inner {
	display: grid;
	gap: 1.5rem;
	align-items: start;
}

.sis-listing-hero-copy {
	max-width: 46rem;
}

.sis-listing-kicker,
.sis-listing-panel-eyebrow,
.sis-result-summary {
	margin: 0;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-listing-title {
	margin: 0;
	font-family: 'Playfair Display', serif;
	font-size: clamp(2.8rem, 6vw, 4.7rem);
	line-height: 0.98;
	color: var(--color-surface-text, #18181b) !important;
	text-wrap: balance;
}

.sis-listing-description {
	margin: 1.25rem 0 0;
	font-size: clamp(1.08rem, 2.1vw, 1.35rem);
	line-height: 1.7;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-listing-search {
	margin-top: 1.75rem;
	padding: 1rem;
	max-width: 44rem;
}

.sis-listing-search-row {
	display: flex;
	gap: 0.75rem;
	align-items: stretch;
}

.sis-listing-search-input {
	flex: 1 1 auto;
	min-height: 3.5rem;
	padding: 0 1rem;
	border: 1px solid var(--color-surface-border-strong, #b8a590);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.82);
	color: var(--color-surface-text, #18181b) !important;
	font-size: 1rem;
	outline: none;
	transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.sis-listing-search-input:focus {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	box-shadow: 0 0 0 3px rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
}

.sis-listing-search-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 3.5rem;
	padding: 0 1.25rem;
	border: 1px solid var(--color-brand-gold);
	background: var(--color-brand-gold);
	color: #18181b;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	transition: transform 0.18s ease, filter 0.18s ease;
}

.sis-listing-search-button:hover,
.sis-listing-search-button:focus-visible {
	transform: translateY(-1px);
	filter: brightness(0.97);
}

.sis-listing-panel {
	display: grid;
	gap: 1rem;
	align-content: start;
	padding: 1.5rem;
}

.sis-listing-panel-copy {
	margin: 0;
	font-size: 0.98rem;
	line-height: 1.7;
	color: var(--color-surface-muted, #57534e);
}

.sis-listing-panel-stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.85rem;
}

.sis-listing-stat {
	display: grid;
	gap: 0.35rem;
	padding: 1rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.16);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.74);
}

.sis-listing-stat-value {
	font-family: 'Playfair Display', serif;
	font-size: clamp(1.65rem, 3vw, 2.4rem);
	line-height: 1;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-listing-stat-label {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-surface-muted, #57534e);
}

.sis-listing-panel-list {
	display: grid;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sis-listing-panel-list li {
	position: relative;
	padding-left: 1.05rem;
	font-size: 0.95rem;
	line-height: 1.65;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-listing-panel-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.72rem;
	width: 0.42rem;
	height: 0.42rem;
	background: var(--color-brand-gold);
	border-radius: 999px;
}

.sis-resource-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
	margin-top: 1.5rem;
}

.sis-listing-hero .sis-hero-text-link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0.72rem 0;
	color: var(--color-surface-text, #18181b) !important;
	font-size: 0.9rem;
	font-weight: 800;
	text-decoration: none;
}

.sis-listing-hero .sis-hero-text-link:hover,
.sis-listing-hero .sis-hero-text-link:focus-visible {
	color: var(--color-accent-text, var(--color-brand-gold)) !important;
}

.sis-resource-hero-panel {
	overflow: hidden;
	padding: 0;
}

.sis-resource-hero-panel > :not(.sis-resource-hero-image) {
	margin-left: 1.5rem;
	margin-right: 1.5rem;
}

.sis-resource-hero-panel > :last-child {
	margin-bottom: 1.5rem;
}

.sis-listing-panel-heading {
	color: var(--color-surface-text, #1f2933);
	font-family: var(--font-display, inherit);
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1.25;
}

.sis-resource-hero-image {
	min-height: 13.5rem;
	background-position: center;
	background-size: cover;
	border-bottom: 1px solid var(--color-surface-border, #d6c9bc);
}

.sis-portal-hero.sis-listing-hero {
	padding-top: clamp(1.75rem, 3vw, 2rem) !important;
	padding-bottom: clamp(1.75rem, 3vw, 2rem) !important;
}

.sis-portal-hero .sis-resource-hero-image {
	min-height: clamp(7rem, 12vw, 8.25rem);
}

.sis-portal-hero .sis-resource-hero-panel > :not(.sis-resource-hero-image) {
	margin-left: 1.1rem;
	margin-right: 1.1rem;
}

.sis-portal-hero .sis-resource-hero-panel > :last-child {
	margin-bottom: 1.1rem;
}

.sis-portal-hero .sis-listing-panel-stats {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.45rem;
}

.sis-portal-hero .sis-listing-stat {
	min-height: 4.25rem;
	padding: 0.7rem 0.75rem;
}

.sis-portal-hero .sis-listing-stat-value {
	font-size: clamp(1.25rem, 2vw, 1.65rem);
}

.sis-portal-hero .sis-listing-panel-list {
	gap: 0.35rem;
}

@media (max-width: 767px) {
	.sis-portal-hero .sis-listing-panel-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.sis-canvas-hero.sis-listing-hero {
	padding-top: clamp(2.25rem, 4vw, 3.25rem) !important;
	padding-bottom: clamp(2.25rem, 4vw, 3.25rem) !important;
}

.sis-canvas-hero .sis-listing-hero-inner {
	align-items: center;
	gap: clamp(1.25rem, 2.5vw, 2rem);
}

.sis-canvas-hero .sis-listing-title {
	font-size: clamp(2.35rem, 4.7vw, 3.85rem);
	line-height: 1.04;
}

.sis-canvas-hero .sis-listing-description {
	max-width: 42rem;
	font-size: clamp(1rem, 1.45vw, 1.15rem);
	line-height: 1.58;
}

.sis-canvas-hero .sis-resource-hero-image {
	min-height: clamp(9rem, 15vw, 11.25rem);
}

.sis-canvas-hero .sis-resource-hero-panel > :not(.sis-resource-hero-image) {
	margin-left: 1.25rem;
	margin-right: 1.25rem;
}

.sis-canvas-hero .sis-resource-hero-panel > :last-child {
	margin-bottom: 1.25rem;
}

.sis-canvas-hero .sis-listing-panel-stats {
	gap: 0.65rem;
}

.sis-canvas-hero .sis-listing-stat {
	padding: 0.85rem;
}

.sis-canvas-hero .sis-listing-stat-value {
	font-size: clamp(1.35rem, 2.2vw, 1.85rem);
}

.sis-canvas-access-section {
	padding-top: clamp(2.25rem, 4vw, 3.25rem);
}

.sis-staff-hero.sis-listing-hero {
	padding-top: clamp(2.5rem, 4.5vw, 3.75rem) !important;
	padding-bottom: clamp(2.75rem, 5vw, 4rem) !important;
}

.sis-staff-hero .sis-listing-hero-inner {
	align-items: center;
	gap: clamp(1.5rem, 3vw, 2.5rem);
}

.sis-staff-hero .sis-listing-title {
	font-size: clamp(2.45rem, 5vw, 4rem);
	line-height: 1.04;
}

.sis-staff-hero .sis-listing-description {
	max-width: 43rem;
	font-size: clamp(1rem, 1.6vw, 1.18rem);
	line-height: 1.65;
}

.sis-staff-hero-image {
	min-height: clamp(12rem, 18vw, 15rem);
	background-position: center 46%;
}

.sis-staff-hero-panel {
	box-shadow: 0 28px 70px -46px rgb(15 81 50 / 0.6);
}

.sis-staff-stats {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sis-staff-stats .sis-listing-stat {
	padding: 0.9rem;
}

.sis-staff-stats .sis-listing-stat-value {
	font-size: clamp(1.35rem, 2.2vw, 1.85rem);
}

.sis-staff-section {
	background: linear-gradient(180deg, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.58) 0%, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.96) 100%);
}

.sis-staff-section-header {
	grid-template-columns: minmax(0, 1fr) minmax(16rem, 28rem);
	gap: 1.25rem;
}

.sis-staff-section-copy {
	margin: 0;
	color: var(--color-surface-muted, #57534e);
	font-size: 0.98rem;
	line-height: 1.7;
}

.sis-staff-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
	gap: 1.25rem;
}

.sis-staff-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 24rem;
	overflow: hidden;
	padding: 1.25rem;
	color: var(--color-surface-text, #18181b) !important;
	text-decoration: none;
	background:
		linear-gradient(145deg, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.96), rgb(var(--color-surface-900-rgb, 246 239 231) / 0.82)),
		var(--color-surface, #fff);
	transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.sis-staff-card::before {
	content: '';
	position: absolute;
	inset: 0 0 auto;
	height: 0.34rem;
	background: linear-gradient(90deg, var(--color-brand-emerald, #0f5132), var(--color-brand-gold, #d4af37), #3b82f6);
}

.sis-staff-card:hover,
.sis-staff-card:focus-visible {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	box-shadow: 0 28px 56px -42px rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.52);
}

.sis-staff-card-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.2rem;
}

.sis-staff-avatar {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4.8rem;
	height: 4.8rem;
	flex: 0 0 auto;
	overflow: hidden;
	border-radius: 0.85rem;
	border: 1px solid rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.16);
	background:
		var(--sis-pattern-star),
		linear-gradient(135deg, rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.95), #1f7a5b 58%, #1d4ed8);
	background-size: 96px 96px, cover;
	color: #fff;
	box-shadow: 0 18px 34px -26px rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.75);
	isolation: isolate;
}

.sis-staff-avatar img,
.sis-staff-profile-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sis-staff-avatar-pattern {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, rgb(255 255 255 / 0.16), transparent 44%);
}

.sis-staff-avatar-pattern .material-symbols-rounded {
	font-size: 2rem;
	font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 32;
	line-height: 1;
	text-shadow: 0 10px 28px rgb(0 0 0 / 0.18);
}

.sis-staff-profile-avatar .sis-staff-avatar-pattern .material-symbols-rounded {
	font-size: 4.25rem;
}

.sis-staff-avatar--emerald {
	background:
		var(--sis-pattern-star),
		linear-gradient(135deg, #0f5132 0%, #1f7a5b 58%, #1d4ed8 100%);
}

.sis-staff-avatar--gold {
	background:
		var(--sis-pattern-star),
		linear-gradient(135deg, #624a08 0%, #b48818 52%, #0f5132 100%);
}

.sis-staff-avatar--blue {
	background:
		var(--sis-pattern-star),
		linear-gradient(135deg, #164e63 0%, #2563eb 52%, #0f5132 100%);
}

.sis-staff-avatar--plum {
	background:
		var(--sis-pattern-star),
		linear-gradient(135deg, #5b214f 0%, #7c3aed 52%, #0f5132 100%);
}

.sis-staff-avatar--slate {
	background:
		var(--sis-pattern-star),
		linear-gradient(135deg, #334155 0%, #0f766e 56%, #8a6a12 100%);
}

.sis-staff-profile-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.42rem 0.58rem;
	border: 1px solid rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.14);
	background: rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.08);
	color: var(--color-brand-emerald, #0f5132);
	font-size: 0.72rem;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}

.sis-staff-profile-badge .material-symbols-rounded {
	font-size: 1rem;
}

.sis-staff-role {
	display: inline-flex;
	width: fit-content;
	max-width: 100%;
	margin-top: 0.85rem;
	padding: 0.48rem 0.64rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.28);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
	color: var(--color-accent-text, var(--color-brand-gold));
	font-size: 0.76rem;
	font-weight: 800;
	line-height: 1.35;
}

.sis-staff-name {
	margin: 0;
	font-family: var(--font-display, 'Playfair Display', serif);
	font-size: 1.45rem;
	line-height: 1.16;
	color: var(--color-surface-text, #18181b) !important;
	transition: color 0.18s ease;
}

.sis-staff-card:hover .sis-staff-name,
.sis-staff-card:focus-visible .sis-staff-name {
	color: var(--color-accent-text, var(--color-brand-gold)) !important;
}

.sis-staff-arabic {
	margin: 0.45rem 0 0;
	color: var(--color-surface-muted, #57534e);
	font-size: 0.93rem;
	line-height: 1.55;
}

.sis-staff-summary {
	margin: 1rem 0 0;
	padding-top: 0.9rem;
	border-top: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
	color: var(--color-surface-muted, #57534e);
}

.sis-staff-summary span,
.sis-staff-focus-label {
	display: block;
	margin-bottom: 0.35rem;
	color: var(--color-surface-text, #18181b);
	font-size: 0.72rem;
	font-weight: 800;
	text-transform: uppercase;
}

.sis-staff-summary p {
	margin: 0;
	color: var(--color-surface-muted, #57534e);
	font-size: 0.95rem;
	line-height: 1.68;
}

.sis-staff-focus {
	margin-top: 1rem;
}

.sis-staff-focus-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.sis-staff-focus-list span,
.sis-staff-focus-list em {
	display: inline-flex;
	align-items: center;
	min-height: 1.8rem;
	padding: 0.28rem 0.52rem;
	border: 1px solid rgb(59 130 246 / 0.16);
	background: rgb(59 130 246 / 0.08);
	color: #1d4ed8;
	font-size: 0.78rem;
	font-style: normal;
	font-weight: 800;
	line-height: 1.25;
}

.sis-staff-link {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin-top: auto;
	padding-top: 1.25rem;
	color: var(--color-accent-text, var(--color-brand-gold));
	font-size: 0.86rem;
	font-weight: 800;
	text-transform: uppercase;
}

.sis-staff-link .material-symbols-rounded {
	font-size: 1rem;
	transition: transform 0.18s ease;
}

.sis-staff-card:hover .sis-staff-link .material-symbols-rounded,
.sis-staff-card:focus-visible .sis-staff-link .material-symbols-rounded {
	transform: translateX(0.18rem);
}

html[dir='rtl'] .sis-staff-card:hover .sis-staff-link .material-symbols-rounded,
html[dir='rtl'] .sis-staff-card:focus-visible .sis-staff-link .material-symbols-rounded {
	transform: translateX(-0.18rem);
}

.sis-staff-profile-section {
	background:
		linear-gradient(180deg, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.74), rgb(var(--color-surface-950-rgb, 255 255 255) / 1)),
		var(--color-surface, #fff);
}

.sis-staff-back-link {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin-bottom: 1.25rem;
	color: var(--color-brand-emerald, #0f5132) !important;
	font-size: 0.88rem;
	font-weight: 800;
	text-decoration: none;
}

.sis-staff-back-link:hover,
.sis-staff-back-link:focus-visible {
	color: var(--color-accent-text, var(--color-brand-gold)) !important;
}

.sis-staff-back-link .material-symbols-rounded {
	font-size: 1.05rem;
}

html[dir='rtl'] .sis-staff-back-link .material-symbols-rounded {
	transform: scaleX(-1);
}

.sis-staff-profile-card {
	display: grid;
	grid-template-columns: minmax(10rem, 14rem) minmax(0, 1fr) minmax(13rem, 18rem);
	gap: clamp(1.25rem, 3vw, 2rem);
	align-items: stretch;
	padding: clamp(1.25rem, 3vw, 2rem);
	overflow: hidden;
	background:
		linear-gradient(135deg, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.96), rgb(var(--color-surface-900-rgb, 246 239 231) / 0.72)),
		var(--color-surface, #fff);
}

.sis-staff-profile-media {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.sis-staff-profile-avatar {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1;
	width: 100%;
	min-height: 11rem;
	overflow: hidden;
	border-radius: 0.9rem;
	border: 1px solid rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.14);
	background:
		var(--sis-pattern-star),
		linear-gradient(135deg, var(--color-brand-emerald, #0f5132), #1f7a5b 58%, #1d4ed8);
	background-size: 96px 96px, cover;
	color: #fff;
	font-size: 2.4rem;
	font-weight: 900;
	isolation: isolate;
}

.sis-staff-profile-main {
	align-self: center;
}

.sis-staff-profile-name {
	margin: 0;
	font-family: var(--font-display, 'Playfair Display', serif);
	font-size: 2.45rem;
	line-height: 1.05;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-staff-profile-arabic {
	font-size: 1.05rem;
}

.sis-staff-profile-role {
	display: inline-flex;
	margin: 1rem 0 0;
	padding: 0.56rem 0.72rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.28);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
	color: var(--color-accent-text, var(--color-brand-gold));
	font-size: 0.92rem;
	font-weight: 800;
	line-height: 1.4;
}

.sis-staff-profile-bio {
	margin-top: 1.25rem;
	padding-top: 1rem;
	border-top: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
}

.sis-staff-profile-bio span,
.sis-staff-profile-panel span {
	display: block;
	margin-bottom: 0.35rem;
	color: var(--color-surface-text, #18181b);
	font-size: 0.74rem;
	font-weight: 900;
	text-transform: uppercase;
}

.sis-staff-profile-bio p {
	margin: 0;
	color: var(--color-surface-muted, #57534e);
	font-size: 1rem;
	line-height: 1.75;
}

.sis-staff-profile-side {
	display: grid;
	gap: 0.8rem;
	align-content: center;
}

.sis-staff-profile-panel {
	padding: 0.85rem;
	border: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.72);
}

.sis-staff-profile-panel strong {
	display: block;
	color: var(--color-surface-text, #18181b);
	font-size: 1rem;
	line-height: 1.4;
}

.sis-staff-courses {
	margin-top: clamp(2rem, 4vw, 3rem);
}

.sis-staff-course-card {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	padding: 1rem;
	color: var(--color-surface-text, #18181b) !important;
	text-decoration: none;
}

.sis-staff-course-card > .material-symbols-rounded {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.8rem;
	height: 2.8rem;
	flex: 0 0 auto;
	background: rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.08);
	color: var(--color-brand-emerald, #0f5132);
	font-size: 1.55rem;
}

.sis-staff-course-card h3 {
	margin: 0;
	color: var(--color-surface-text, #18181b) !important;
	font-size: 1rem;
	font-weight: 900;
	line-height: 1.35;
}

.sis-staff-course-card p {
	margin: 0.2rem 0 0;
	color: var(--color-accent-text, var(--color-brand-gold));
	font-size: 0.78rem;
	font-weight: 800;
}

@media screen and (max-width: 640px) {
	.sis-staff-stats {
		grid-template-columns: 1fr;
	}

	.sis-staff-section-header {
		grid-template-columns: 1fr;
	}

	.sis-staff-card {
		min-height: 0;
	}

	.sis-staff-role {
		max-width: 100%;
	}

	.sis-staff-profile-card {
		grid-template-columns: 1fr;
	}

	.sis-staff-profile-media {
		max-width: 14rem;
	}

	.sis-staff-profile-name {
		font-size: 2rem;
	}

	.sis-staff-profile-side {
		align-content: start;
	}
}

.sis-announcement-hero .sis-listing-panel-stats {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sis-listing-stat--wide .sis-listing-stat-value {
	font-size: clamp(1.25rem, 2.2vw, 1.7rem);
}

.sis-announcement-feature-section {
	padding-bottom: clamp(2.25rem, 4vw, 3.5rem);
}

.sis-announcement-feature {
	display: grid;
	gap: 1rem;
	align-items: stretch;
}

.sis-announcement-feature-card {
	display: grid;
	gap: 0;
	padding: 0;
	overflow: hidden;
}

.sis-announcement-feature-media {
	min-height: clamp(14rem, 32vw, 24rem);
	background-position: center;
	background-size: cover;
	border-bottom: 1px solid var(--color-surface-border, #d6c9bc);
}

.sis-announcement-feature-body {
	display: grid;
	gap: 1rem;
	padding: clamp(1.25rem, 3vw, 2rem);
}

.sis-announcement-feature-body .sis-archive-card-title {
	font-size: clamp(1.65rem, 3vw, 2.45rem);
}

.sis-announcement-quicklinks {
	display: grid;
	gap: 1rem;
}

.sis-announcement-quicklink {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	padding: 1rem;
	color: var(--color-surface-text, #18181b) !important;
	font-size: 0.94rem;
	font-weight: 800;
	text-decoration: none;
	text-transform: uppercase;
}

.sis-announcement-quicklink:hover,
.sis-announcement-quicklink:focus-visible {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	color: var(--color-accent-text, var(--color-brand-gold)) !important;
}

.sis-announcement-list-section {
	padding-top: clamp(2.25rem, 4vw, 3.5rem);
}

.sis-announcement-card {
	padding: 0;
}

.sis-announcement-card .sis-archive-card-body,
.sis-announcement-card .sis-archive-card-footer {
	padding-inline: 1.25rem;
}

.sis-announcement-card .sis-archive-card-body {
	padding-top: 1.25rem;
}

.sis-announcement-card .sis-archive-card-footer {
	padding-bottom: 1.25rem;
}

.sis-schedule-hero .sis-listing-hero-inner {
	align-items: center;
}

.sis-schedule-section {
	background: linear-gradient(180deg, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.5) 0%, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.96) 100%);
}

.sis-schedule-grid {
	display: grid;
	gap: 1.25rem;
}

.sis-schedule-day-card {
	display: grid;
	gap: 1.1rem;
	padding: clamp(1rem, 2vw, 1.45rem);
}

.sis-schedule-day-heading {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 0.9rem;
	align-items: center;
	padding-bottom: 1rem;
	border-bottom: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
}

.sis-schedule-count {
	padding: 0.5rem 0.7rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.22);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.1);
	color: var(--color-accent-text, var(--color-brand-gold));
	font-size: 0.72rem;
	font-weight: 800;
	text-transform: uppercase;
}

.sis-schedule-session-list {
	display: grid;
	gap: 0.8rem;
}

.sis-schedule-session-card {
	display: grid;
	gap: 1rem;
	padding: 1rem;
	border: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.74);
}

.sis-schedule-session-time {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.55rem;
}

.sis-schedule-session-time span {
	display: grid;
	gap: 0.25rem;
	padding: 0.7rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.16);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.08);
	color: var(--color-surface-text, #18181b);
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 0.88rem;
}

.sis-schedule-session-time time,
.sis-schedule-session-time small {
	display: block;
}

.sis-schedule-session-time small {
	margin-top: 0.2rem;
	color: var(--color-text-muted, #5f6b66);
	font-size: 0.68rem;
	overflow-wrap: anywhere;
}

.sis-home-local-time {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	align-items: baseline;
}

.sis-home-local-time small {
	opacity: 0.78;
}

.sis-live-room-grid,
.sis-schedule-room-list {
	display: grid;
	gap: 1rem;
}

.sis-live-room-grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr));
}

.sis-schedule-room {
	display: grid;
	grid-template-columns: minmax(8rem, 1fr) minmax(8rem, auto) auto;
	gap: 0.75rem;
	align-items: center;
	padding: 0.8rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.22);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.08);
}

.sis-schedule-room span {
	display: flex;
	gap: 0.45rem;
	align-items: center;
}

@media screen and (min-width: 600px) {
	.sis-schedule-session-time {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media screen and (max-width: 720px) {
	.sis-schedule-room {
		grid-template-columns: minmax(0, 1fr);
		align-items: stretch;
	}
}

.sis-schedule-session-time strong {
	color: var(--color-accent-text, var(--color-brand-gold));
	font-family: inherit;
	font-size: 0.66rem;
	text-transform: uppercase;
}

.sis-schedule-session-body h3 {
	margin: 0;
	color: var(--color-surface-text, #18181b) !important;
	font-size: 1rem;
	line-height: 1.35;
}

.sis-schedule-session-body p {
	margin: 0.4rem 0 0;
	color: var(--color-surface-muted, #57534e);
	font-size: 0.9rem;
	line-height: 1.55;
}

.sis-schedule-zoom-section {
	padding-top: 0;
}

.sis-schedule-zoom-panel {
	display: grid;
	gap: 1.25rem;
	align-items: center;
	padding: clamp(1.35rem, 3vw, 2rem);
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.38);
	background: linear-gradient(135deg, var(--color-brand-gold) 0%, #f5dc75 100%);
	color: #15110a;
}

.sis-schedule-zoom-panel h2 {
	margin: 0.35rem 0 0;
	font-family: var(--font-display, 'Playfair Display', serif);
	font-size: clamp(1.55rem, 3vw, 2.25rem);
	line-height: 1.15;
}

.sis-schedule-zoom-panel p {
	margin: 0.75rem 0 0;
	max-width: 46rem;
	color: rgb(21 17 10 / 0.78);
	line-height: 1.65;
}

.sis-schedule-zoom-details {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1rem;
}

.sis-schedule-zoom-details span {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.55rem 0.7rem;
	background: rgb(255 255 255 / 0.36);
	color: #15110a;
}

.sis-schedule-zoom-details code {
	font-weight: 800;
}

.sis-legal-section {
	background:
		var(--sis-pattern-star-dark),
		linear-gradient(180deg, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.98), rgb(var(--color-surface-900-rgb, 250 247 240) / 0.96));
	background-size: 96px 96px, cover;
}

.sis-legal-layout {
	display: grid;
	gap: 1.4rem;
	align-items: start;
}

.sis-legal-prose {
	padding: clamp(1.35rem, 3vw, 2rem);
}

.sis-legal-prose .prose {
	margin-top: 1.25rem;
	color: var(--color-surface-muted, #57534e);
}

.sis-legal-prose .prose :is(h2, h3, h4) {
	color: var(--color-surface-text, #18181b);
}

.sis-legal-prose .prose :is(p, li) {
	color: var(--color-surface-muted, #57534e);
}

.sis-legal-prose .prose a {
	color: var(--color-accent-text, var(--color-brand-gold));
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
}

.sis-legal-sidebar {
	display: grid;
	gap: 1rem;
}

.sis-legal-highlight {
	display: grid;
	gap: 0.72rem;
	padding: 1.2rem;
}

.sis-legal-highlight h3,
.sis-legal-cta h2 {
	margin: 0;
	font-family: var(--font-display, 'Playfair Display', serif);
	font-size: clamp(1.1rem, 2vw, 1.35rem);
	line-height: 1.15;
	color: var(--color-surface-text, #18181b);
}

.sis-legal-highlight p,
.sis-legal-cta p {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.65;
	color: var(--color-surface-muted, #57534e);
}

.sis-legal-cta {
	display: grid;
	gap: 0.9rem;
	align-items: start;
	padding: 1.25rem;
}

@media screen and (min-width: 900px) {
	.sis-announcement-feature {
		grid-template-columns: minmax(0, 1.25fr) minmax(15rem, 0.75fr);
	}

	.sis-schedule-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sis-schedule-zoom-panel {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.sis-legal-layout {
		grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.36fr);
	}
}

@media screen and (max-width: 640px) {
	.sis-announcement-hero .sis-listing-panel-stats,
	.sis-schedule-session-time {
		grid-template-columns: 1fr;
	}

	.sis-schedule-day-heading {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.sis-schedule-count {
		grid-column: 1 / -1;
		justify-self: start;
	}
}

.sis-magazine-layout {
	display: grid;
	gap: 1.25rem;
	align-items: start;
}

.sis-magazine-issues {
	display: grid;
	gap: 1.25rem;
}

.sis-magazine-feature {
	min-height: 20rem;
}

.sis-magazine-sidebar {
	display: grid;
	gap: 1rem;
}

#subscription {
	scroll-margin-top: 11rem;
}

.sis-resource-subscribe-form {
	display: grid;
	gap: 1rem;
	margin-top: 1rem;
}

.sis-resource-subscribe-form label {
	line-height: 1.35;
}

.sis-shop-hub {
	display: grid;
	gap: 2.5rem;
}

.sis-shop-pathways-section {
	padding-top: clamp(2rem, 4vw, 3.25rem);
	background:
		linear-gradient(180deg, rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.05), transparent 58%),
		var(--color-surface-soft, #f8f5ef);
}

.sis-shop-pathways-header {
	margin-bottom: 1rem;
}

.sis-shop-pathway {
	position: relative;
	display: grid;
	gap: 1rem;
	min-height: 17rem;
	padding: 1.35rem;
	overflow: hidden;
	text-decoration: none;
}

.sis-shop-pathway::before {
	content: '';
	position: absolute;
	inset: 0;
	border-top: 4px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.72);
	background: linear-gradient(135deg, rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.08), transparent 42%);
	pointer-events: none;
}

.sis-shop-pathway > * {
	position: relative;
	z-index: 1;
}

.sis-shop-pathway .sis-archive-card-icon {
	width: 3.25rem;
	height: 3.25rem;
}

.sis-shop-pathway-count {
	position: absolute;
	top: 1rem;
	right: 1rem;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	height: 2.75rem;
	padding: 0 0.65rem;
	border: 1px solid rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.18);
	background: rgb(255 255 255 / 0.86);
	color: rgb(var(--color-brand-emerald-rgb, 15 81 50) / 1);
	font-weight: 800;
	box-shadow: 0 14px 36px -26px rgb(24 24 27 / 0.55);
}

.sis-shop-pathway .sis-archive-card-link {
	margin-top: auto;
}

.sis-shop-pathway:hover .sis-archive-card-title,
.sis-shop-pathway:focus-visible .sis-archive-card-title {
	color: var(--color-accent-text, var(--color-brand-gold)) !important;
}

.sis-filter-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 2rem;
}

.sis-filter-chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.8rem 1rem;
	border: 1px solid var(--color-surface-border, #d6c9bc);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.72);
	color: var(--color-surface-text, #18181b) !important;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	transition: border-color 0.18s ease, background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.sis-filter-chip:hover,
.sis-filter-chip:focus-visible {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	color: var(--color-accent-text, var(--color-brand-gold));
	transform: translateY(-1px);
}

.sis-filter-chip[data-active='true'] {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	background: var(--color-brand-gold);
	color: #18181b;
	box-shadow: 0 18px 36px -28px rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.85);
}

.sis-listing-section {
	padding: clamp(2.75rem, 6vw, 4.5rem) 0;
}

.sis-result-summary {
	margin-bottom: 1.25rem;
	color: var(--color-surface-muted, #57534e);
}

.sis-result-list {
	display: grid;
	gap: 1rem;
}

.sis-listing-grid {
	display: grid;
	gap: 1rem;
}

.sis-archive-section {
	display: grid;
	gap: 1.25rem;
}

.sis-archive-section + .sis-archive-section {
	margin-top: 2.25rem;
}

.sis-archive-section-header {
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	justify-content: space-between;
	gap: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
}

.sis-archive-section-kicker {
	margin: 0;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-archive-section-title {
	margin: 0.35rem 0 0;
	font-family: 'Playfair Display', serif;
	font-size: clamp(1.5rem, 2.8vw, 2.15rem);
	line-height: 1.15;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-archive-section-note {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.6;
	color: var(--color-surface-muted, #57534e);
}

.sis-archive-card {
	display: grid;
	gap: 1rem;
	height: 100%;
	padding: 1.35rem;
	overflow: hidden;
}

.sis-archive-card-media {
	position: relative;
	min-height: 10.5rem;
	margin: -1.35rem -1.35rem 0;
	background-position: center;
	background-size: cover;
	border-bottom: 1px solid var(--color-surface-border, #d6c9bc);
}

.sis-archive-card-media::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgb(0 0 0 / 0.06) 0%, rgb(0 0 0 / 0.52) 100%);
}

.sis-archive-card-media-label {
	position: absolute;
	left: 1rem;
	right: 1rem;
	bottom: 0.9rem;
	z-index: 1;
	display: inline-flex;
	width: max-content;
	max-width: calc(100% - 2rem);
	padding: 0.45rem 0.65rem;
	background: rgb(255 255 255 / 0.9);
	color: var(--color-surface-text, #18181b);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: none;
	backdrop-filter: blur(8px);
}

.sis-archive-card-head {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
}

.sis-archive-card-body {
	display: grid;
	gap: 0.5rem;
	min-width: 0;
}

.sis-archive-card-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	flex-shrink: 0;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.2);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-archive-card-icon .material-symbols-rounded {
	font-size: 1.4rem;
}

.sis-archive-card-kicker {
	margin: 0;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: none;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-archive-card-title {
	margin: 0;
	font-size: 1.35rem;
	line-height: 1.25;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-archive-card-title-link {
	color: inherit;
	text-decoration: none;
	transition: color 0.18s ease;
}

.sis-archive-card:hover .sis-archive-card-title-link,
.sis-archive-card:focus-within .sis-archive-card-title-link {
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-archive-card-summary {
	margin: 0;
	font-size: 0.98rem;
	line-height: 1.68;
	color: var(--color-surface-muted, #57534e);
}

.sis-archive-card-meta {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.6;
	color: var(--color-surface-muted, #57534e);
}

.sis-archive-card-footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1rem;
	margin-top: auto;
}

.sis-archive-card-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: auto;
}

.sis-archive-card-link,
.sis-archive-card-link-secondary {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-decoration: none;
	transition: color 0.18s ease, transform 0.18s ease;
}

.sis-archive-card-link {
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-archive-card-link-secondary {
	color: var(--color-surface-text, #18181b) !important;
}

.sis-archive-card-link:hover,
.sis-archive-card-link:focus-visible,
.sis-archive-card-link-secondary:hover,
.sis-archive-card-link-secondary:focus-visible {
	transform: translateX(2px);
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-archive-card-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.sis-archive-badge {
	display: inline-flex;
	align-items: center;
	padding: 0.4rem 0.65rem;
	border: 1px solid var(--color-surface-border, #d6c9bc);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.74);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-surface-muted, #57534e);
}

.sis-archive-badge--accent {
	border-color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.22);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-archive-badge--live {
	border-color: rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.24);
	background: rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.12);
	color: rgb(var(--color-brand-emerald-rgb, 15 81 50) / 1);
}

.sis-404-page {
	background: var(--color-surface-soft, #f8f5ef);
}

.sis-404-hero {
	padding: clamp(2.75rem, 6vw, 5rem) 0 clamp(2.5rem, 5vw, 4rem);
	background:
		linear-gradient(135deg, rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.12), transparent 45%),
		linear-gradient(180deg, #ffffff, var(--color-surface-soft, #f8f5ef));
}

.sis-404-hero-inner {
	display: grid;
	gap: 1.4rem;
	align-items: center;
}

.sis-404-copy {
	display: grid;
	gap: 1rem;
	max-width: 48rem;
}

.sis-404-panel {
	position: relative;
	display: grid;
	gap: 0.85rem;
	padding: clamp(1.2rem, 3vw, 1.65rem);
	overflow: hidden;
}

.sis-404-code {
	display: block;
	font-family: var(--font-display, 'Playfair Display', serif);
	font-size: clamp(5rem, 16vw, 10rem);
	font-weight: 800;
	line-height: 0.85;
	color: rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.12);
}

.sis-404-routes {
	padding-top: clamp(2rem, 4vw, 3rem);
}

.sis-404-route-card {
	text-decoration: none;
}

.sis-support-page {
	background: var(--color-surface-soft, #f8f5ef);
}

.sis-support-lanes-section {
	padding-top: clamp(2.25rem, 4vw, 3.5rem);
}

.sis-support-lanes-grid {
	margin-top: 1.1rem;
}

.sis-support-lane-card {
	min-height: 15.5rem;
}

.sis-support-channels-section {
	border-top: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
	border-bottom: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
	background:
		linear-gradient(135deg, rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.06), transparent 48%),
		rgb(255 255 255 / 0.58);
}

.sis-support-centered-title {
	margin-bottom: 1rem;
	text-align: center;
}

.sis-support-channel-grid {
	display: grid;
	gap: 1rem;
	margin-top: 1.1rem;
}

.sis-support-channel-card {
	display: grid;
	gap: 0.45rem;
	padding: 1.2rem;
	text-align: left;
}

.sis-support-channel-value {
	margin: 0;
	color: var(--color-surface-text, #18181b) !important;
	font-weight: 700;
	text-decoration: none;
	overflow-wrap: anywhere;
}

a.sis-support-channel-value:hover,
a.sis-support-channel-value:focus-visible {
	color: var(--color-accent-text, var(--color-brand-gold)) !important;
}

.sis-support-cta-panel {
	display: grid;
	gap: 1rem;
	align-items: center;
}

.sis-support-cta-title {
	margin: 0;
	font-family: var(--font-display, 'Playfair Display', serif);
	font-size: clamp(1.25rem, 2.2vw, 1.6rem);
	line-height: 1.18;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-support-cta-copy {
	margin: 0.45rem 0 0;
	color: var(--color-surface-muted, #57534e);
	font-size: 0.95rem;
	line-height: 1.65;
}

@media screen and (min-width: 720px) {
	.sis-support-channel-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.sis-support-cta-panel {
		grid-template-columns: minmax(0, 1fr) auto;
	}
}

.sis-course-archive-shell {
	display: grid;
	gap: 1.25rem;
	align-items: start;
}

.sis-course-archive-sidebar,
.sis-course-archive-main {
	display: grid;
	gap: 1rem;
}

.sis-course-archive-sidebar {
	order: 2;
	align-self: start;
	--sis-course-sticky-top: 8.5rem;
	--sis-course-sticky-bottom: 1rem;
	--sis-course-sidebar-shift: 0px;
}

.sis-course-archive-main {
	order: 1;
}

.sis-course-sidebar-panel {
	display: grid;
	gap: 1.1rem;
	padding: 1.1rem;
	transform: translate3d(0, calc(var(--sis-course-sidebar-shift) * -1), 0);
	transform-origin: top center;
	transition: border-color 0.18s ease, box-shadow 0.18s ease;
	will-change: transform;
}

.sis-course-sidebar-head {
	display: grid;
	gap: 0.45rem;
}

.sis-course-sidebar-title {
	margin: 0;
	font-family: 'Playfair Display', serif;
	font-size: clamp(1.2rem, 2.1vw, 1.55rem);
	line-height: 1.15;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-course-sidebar-copy {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.58;
	color: var(--color-surface-muted, #57534e);
}

.sis-course-filter-section {
	display: grid;
	gap: 0.7rem;
	padding-top: 0.95rem;
	border-top: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
}

.sis-course-filter-section:first-of-type {
	padding-top: 0;
	border-top: 0;
}

.sis-course-filter-section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.sis-course-filter-section-title {
	margin: 0;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-course-filter-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2rem;
	height: 2rem;
	padding: 0 0.55rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.22);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-course-filter-options {
	display: grid;
	gap: 0.55rem;
}

.sis-course-filter-option {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.55rem;
	align-items: center;
	width: 100%;
	padding: 0.68rem 0.8rem;
	border: 1px solid var(--color-surface-border, #d6c9bc);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.74);
	color: var(--color-surface-text, #18181b) !important;
	font-size: 0.86rem;
	line-height: 1.35;
	text-align: left;
	transition: border-color 0.18s ease, background-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.sis-course-filter-option:hover,
.sis-course-filter-option:focus-visible {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	transform: translateY(-1px);
	box-shadow: 0 18px 36px -30px rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.7);
}

.sis-course-filter-option[data-active='true'] {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.14);
	box-shadow: 0 18px 36px -30px rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.75);
}

.sis-course-filter-option-count {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-surface-muted, #57534e);
}

.sis-course-filter-option[data-active='true'] .sis-course-filter-option-count {
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-course-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	justify-content: space-between;
	gap: 0.85rem 1rem;
	padding: 1.15rem 1.25rem;
}

.sis-course-toolbar-copy {
	display: grid;
	gap: 0.35rem;
	max-width: 36rem;
}

.sis-course-toolbar-status-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.8rem;
}

.sis-course-toolbar-title {
	margin: 0;
	font-family: 'Playfair Display', serif;
	font-size: clamp(1.35rem, 2.4vw, 1.95rem);
	line-height: 1.08;
	letter-spacing: 0;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-course-results-summary {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.58;
	color: var(--color-surface-muted, #57534e);
}

.sis-course-filter-status {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0.45rem 0.75rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.24);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
	font-size: 0.73rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-course-filter-status-spinner {
	width: 0.85rem;
	height: 0.85rem;
	border: 2px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.26);
	border-top-color: var(--color-accent-text, var(--color-brand-gold));
	border-radius: 999px;
	animation: sis-course-spinner 0.75s linear infinite;
}

.sis-course-results[data-loading='true'] {
	opacity: 0.72;
	transition: opacity 0.18s ease;
}

.sis-course-results[data-loading='true'] .sis-course-card {
	pointer-events: none;
}

.sis-course-filter-option:disabled,
.sis-course-reset-button:disabled,
.sis-course-view-btn:disabled {
	cursor: progress;
	opacity: 0.7;
	transform: none;
	box-shadow: none;
}

.sis-course-view-toggle {
	display: inline-grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.65rem;
	min-width: min(100%, 15rem);
}

.sis-course-view-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0.72rem 0.95rem;
	border: 1px solid var(--color-surface-border, #d6c9bc);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.72);
	color: var(--color-surface-text, #18181b) !important;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	transition: border-color 0.18s ease, background-color 0.18s ease, color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.sis-course-view-btn:hover,
.sis-course-view-btn:focus-visible {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	color: var(--color-accent-text, var(--color-brand-gold));
	transform: translateY(-1px);
	box-shadow: 0 18px 36px -30px rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.65);
}

.sis-course-view-btn[data-active='true'] {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	background: var(--color-brand-gold);
	color: var(--color-accent-contrast, #18181b) !important;
	box-shadow: 0 18px 36px -28px rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.75);
}

.sis-course-results {
	display: grid;
	gap: 0.85rem;
	grid-template-columns: minmax(0, 1fr);
}

.sis-course-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: stretch;
	min-height: 100%;
	padding: 0;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	background: linear-gradient(180deg, rgb(var(--color-surface-950-rgb, 255 255 255) / 1) 0%, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.44) 100%);
}

.sis-course-card-media {
	position: relative;
	display: block;
	min-height: 10.25rem;
	background: linear-gradient(180deg, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.84) 0%, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.98) 100%);
	border-bottom: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
	overflow: hidden;
}

.sis-course-card-image,
.sis-course-card-media-fallback {
	display: block;
	width: 100%;
	height: 100%;
}

.sis-course-card-image {
	object-fit: cover;
	min-height: 100%;
	transition: transform 0.5s ease, filter 0.22s ease;
}

.sis-course-card:hover .sis-course-card-image,
.sis-course-card:focus-visible .sis-course-card-image {
	transform: scale(1.035);
	filter: saturate(1.04);
}

.sis-course-card-media-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 0.9rem;
	pointer-events: none;
	background: linear-gradient(180deg, rgb(12 26 21 / 0.14) 0%, rgb(12 26 21 / 0) 42%, rgb(12 26 21 / 0.46) 100%);
	z-index: 1;
}

.sis-course-card-media-overlay .sis-archive-badge--accent {
	align-self: start;
	background: rgb(255 255 255 / 0.82);
	backdrop-filter: blur(10px);
	box-shadow: 0 16px 30px -24px rgb(12 26 21 / 0.38);
}

.sis-course-card-media-stat {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	justify-self: start;
	align-self: end;
	padding: 0.5rem 0.8rem;
	border: 1px solid rgb(255 255 255 / 0.36);
	background: rgb(7 15 12 / 0.82);
	backdrop-filter: blur(10px);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #ffffff;
}

.sis-course-card-media-stat .material-symbols-rounded {
	font-size: 1rem;
	color: #f4d35e;
}

.sis-course-card-media-fallback {
	display: grid;
	place-items: center;
	gap: 0.9rem;
	padding: 1.5rem;
	background:
		radial-gradient(circle at 20% 20%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.18) 0%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0) 36%),
		linear-gradient(145deg, rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.12) 0%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.14) 100%);
	text-align: center;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-course-card-media-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4rem;
	height: 4rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.24);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.7);
	color: var(--color-accent-text, var(--color-brand-gold));
	box-shadow: 0 20px 32px -28px rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.6);
}

.sis-course-card-media-icon .material-symbols-rounded {
	font-size: 1.8rem;
}

.sis-course-card-media-label {
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.sis-course-card-content {
	display: grid;
	gap: 0.72rem;
	padding: 1.15rem 1.2rem 1.05rem;
}

.sis-course-card-topline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.55rem;
}

.sis-course-card-code {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.36rem 0.58rem;
	border: 1px solid rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.18);
	background: rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.08);
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-course-card-code-label {
	opacity: 0.72;
}

.sis-course-card-code-value {
	color: var(--color-surface-text, #18181b) !important;
}

.sis-course-card-heading {
	display: grid;
	gap: 0.35rem;
}

.sis-course-card .sis-archive-card-title {
	font-size: clamp(1.18rem, 2vw, 1.48rem);
	line-height: 1.08;
	letter-spacing: 0;
	transition: color 0.18s ease;
}

.sis-course-card:hover .sis-archive-card-title,
.sis-course-card:focus-visible .sis-archive-card-title {
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-course-card .sis-archive-card-summary {
	font-size: 0.92rem;
	line-height: 1.58;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
}

.sis-course-card-facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(8.75rem, 1fr));
	gap: 0.45rem;
	margin-top: auto;
}

.sis-course-card-fact {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	min-width: 0;
	padding: 0.48rem 0.65rem;
	border: 1px solid var(--color-surface-border, #d6c9bc);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.82);
	font-size: 0.73rem;
	font-weight: 600;
	line-height: 1.34;
	color: var(--color-surface-muted, #57534e);
}

.sis-course-card-fact .material-symbols-rounded {
	flex: 0 0 auto;
	font-size: 1rem;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-course-card-fact--code {
	border-color: rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.18);
	background: rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.08);
	color: rgb(var(--color-brand-emerald-rgb, 15 81 50) / 1);
}

.sis-course-card-side {
	display: grid;
	gap: 0.8rem;
	align-content: center;
	padding: 1.05rem 1.15rem 1.15rem;
	border-top: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
	background: linear-gradient(180deg, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.18) 0%, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.44) 100%);
}

.sis-course-card-side-copy {
	display: grid;
	gap: 0.4rem;
}

.sis-course-card-side-eyebrow {
	margin: 0;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-surface-muted, #57534e);
}

.sis-course-card-stat {
	margin: 0;
	font-family: 'Playfair Display', serif;
	font-size: clamp(1.12rem, 1.8vw, 1.45rem);
	line-height: 1.05;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-course-card-side-note {
	margin: 0;
	font-size: 0.8rem;
	line-height: 1.48;
	color: var(--color-surface-muted, #57534e);
}

.sis-course-card-actions {
	display: grid;
	gap: 0.5rem;
}

.sis-course-card-action-primary {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.78rem 0.92rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.32);
	background: linear-gradient(135deg, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.22) 0%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.1) 100%);
	font-size: 0.71rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-surface-text, #18181b) !important;
	box-shadow: 0 18px 30px -26px rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.72);
}

.sis-course-card-action-primary .material-symbols-rounded {
	font-size: 1rem;
	color: var(--color-brand-emerald);
}

.sis-course-card-action-secondary {
	font-size: 0.74rem;
	line-height: 1.42;
	max-width: 18ch;
	color: var(--color-surface-muted, #57534e);
}

.sis-course-empty {
	display: grid;
	gap: 1rem;
	margin-top: 1rem;
}

.sis-course-reset-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.8rem 1rem;
	border: 1px solid var(--color-brand-gold);
	background: var(--color-brand-gold);
	color: #18181b;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	transition: transform 0.18s ease, filter 0.18s ease, box-shadow 0.18s ease;
}

.sis-course-reset-button:hover,
.sis-course-reset-button:focus-visible {
	transform: translateY(-1px);
	filter: brightness(0.97);
	box-shadow: 0 18px 36px -28px rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.75);
}

.sis-archive-badge--expired {
	border-color: rgb(var(--color-surface-text-rgb, 24 24 27) / 0.12);
	background: rgb(var(--color-surface-text-rgb, 24 24 27) / 0.05);
	color: var(--color-surface-muted, #57534e);
}

.sis-archive-badge--upcoming {
	border-color: rgb(14 116 144 / 0.24);
	background: rgb(14 116 144 / 0.12);
	color: rgb(14 116 144 / 1);
}

.sis-event-card-meta {
	display: grid;
	gap: 0.75rem;
}

.sis-event-card-meta-item {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	font-size: 0.9rem;
	line-height: 1.6;
	color: var(--color-surface-muted, #57534e);
}

.sis-event-card-meta-item .material-symbols-rounded {
	margin-top: 0.12rem;
	font-size: 1.05rem;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-resource-detail-page {
	background: var(--color-surface-soft, #f8f5ef);
}

.sis-resource-detail-hero .sis-listing-title {
	max-width: 12ch;
}

.sis-resource-detail-hero-image {
	position: relative;
	overflow: hidden;
	min-height: clamp(10rem, 16vw, 13rem);
	border: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
	background-color: rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.08);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	box-shadow: inset 0 0 0 999px rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
	isolation: isolate;
}

.sis-resource-detail-hero-image::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 48%, rgb(0 0 0 / 0.2));
	pointer-events: none;
}

.sis-resource-detail-badges {
	margin: 0 1.5rem 1.5rem;
}

.sis-resource-detail-section {
	padding-top: clamp(2.1rem, 4vw, 3.4rem);
}

.sis-resource-detail-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.34fr);
	gap: clamp(1rem, 2.5vw, 1.5rem);
	align-items: start;
}

.sis-resource-detail-card,
.sis-resource-meta-card,
.sis-resource-action-card {
	display: grid;
	gap: 1rem;
	padding: clamp(1.1rem, 2.4vw, 1.55rem);
}

.sis-resource-detail-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.24);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-resource-detail-content {
	color: var(--color-surface-muted, #57534e);
	font-size: 1rem;
	line-height: 1.72;
}

.sis-resource-detail-content :where(p, ul, ol, blockquote) {
	margin: 0 0 1rem;
}

.sis-resource-detail-content :where(h2, h3, h4) {
	margin: 1.5rem 0 0.65rem;
	color: var(--color-surface-text, #18181b);
	font-family: var(--font-display, 'Playfair Display', serif);
	line-height: 1.18;
}

.sis-resource-detail-content a {
	color: var(--color-accent-text, var(--color-brand-gold));
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.sis-resource-audio-player {
	padding: 0.85rem;
	border: 1px solid rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.18);
	background: rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.06);
}

.sis-resource-audio-player audio {
	display: block;
	width: 100%;
}

.sis-resource-detail-pages {
	margin-top: 1.25rem;
	color: var(--color-surface-muted, #57534e);
	font-size: 0.9rem;
}

.sis-resource-detail-sidebar {
	display: grid;
	gap: 1rem;
}

.sis-resource-sidebar-title {
	margin: 0;
	font-size: 1.12rem;
	font-weight: 850;
	line-height: 1.2;
	color: var(--color-surface-text, #18181b);
}

.sis-resource-meta-list {
	display: grid;
	gap: 0.75rem;
}

.sis-resource-meta-item {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.65rem;
	align-items: start;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
}

.sis-resource-meta-item:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.sis-resource-meta-item .material-symbols-rounded {
	margin-top: 0.15rem;
	color: var(--color-accent-text, var(--color-brand-gold));
	font-size: 1.1rem;
}

.sis-resource-meta-label,
.sis-resource-meta-value {
	display: block;
}

.sis-resource-meta-label {
	margin-bottom: 0.15rem;
	color: var(--color-surface-muted, #57534e);
	font-size: 0.68rem;
	font-weight: 850;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.sis-resource-meta-value {
	color: var(--color-surface-text, #18181b);
	font-size: 0.94rem;
	font-weight: 750;
	line-height: 1.42;
	overflow-wrap: anywhere;
}

.sis-resource-action-card :where(.sis-btn-primary, .sis-btn-secondary) {
	justify-content: center;
	text-align: center;
}

@media screen and (max-width: 1279px) {
	.sis-resource-detail-layout {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media screen and (max-width: 767px) {
	.sis-resource-detail-hero .sis-listing-title {
		max-width: none;
	}

	.sis-resource-detail-badges {
		margin-right: 1.05rem;
		margin-left: 1.05rem;
	}

	.sis-resource-detail-card,
	.sis-resource-meta-card,
	.sis-resource-action-card {
		padding: 1rem;
	}
}

.sis-pagination-shell {
	margin-top: 2rem;
}

.sis-pagination-shell .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
}

.sis-pagination-shell .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding: 0 0.95rem;
	border: 1px solid var(--color-surface-border, #d6c9bc);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.72);
	color: var(--color-surface-text, #18181b) !important;
	text-decoration: none;
	transition: border-color 0.18s ease, color 0.18s ease, background-color 0.18s ease;
}

.sis-pagination-shell .page-numbers:hover,
.sis-pagination-shell .page-numbers:focus-visible {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-pagination-shell .page-numbers.current {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	background: var(--color-brand-gold);
	color: var(--color-accent-contrast, #18181b) !important;
}

.sis-listing-empty {
	display: grid;
	gap: 1rem;
	max-width: 48rem;
	margin: 0 auto;
	padding: clamp(1.75rem, 4vw, 2.5rem);
	text-align: center;
}

.sis-listing-empty-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4rem;
	height: 4rem;
	margin: 0 auto;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.18);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-listing-empty-icon .material-symbols-rounded {
	font-size: 2rem;
}

.sis-listing-empty-title {
	margin: 0;
	font-family: 'Playfair Display', serif;
	font-size: clamp(1.85rem, 3vw, 2.4rem);
	line-height: 1.15;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-listing-empty-copy {
	margin: 0;
	font-size: 1rem;
	line-height: 1.7;
	color: var(--color-surface-muted, #57534e);
}

.sis-listing-empty-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
}

.sis-listing-empty-actions a {
	text-decoration: none;
}

.sis-page-hero {
	position: relative;
	overflow: hidden;
	padding-top: clamp(3.5rem, 7vw, 5rem) !important;
	padding-bottom: clamp(3.5rem, 7vw, 5rem) !important;
}

.sis-page-hero::before {
	content: '';
	position: absolute;
	top: -6rem;
	right: 0;
	width: 18rem;
	height: 18rem;
	background: radial-gradient(circle, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.16) 0%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0) 72%);
	pointer-events: none;
}

.sis-page-hero::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.16) 0%, rgb(var(--color-surface-950-rgb, 255 255 255) / 0) 52%);
	pointer-events: none;
}

.sis-page-hero > * {
	position: relative;
	z-index: 1;
}

.sis-kpi-card,
.sis-surface-card,
.sis-banner-panel,
.sis-form-shell {
	border: 1px solid var(--color-surface-border, #d6c9bc);
	background: linear-gradient(180deg, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.96) 0%, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.92) 100%);
	box-shadow: 0 20px 38px -32px rgba(15, 23, 42, 0.28);
}

:is(.sis-kpi-card, .sis-surface-card, .sis-banner-panel, .sis-form-shell) {
	color: var(--color-surface-text, #18181b) !important;
}

:is(.sis-kpi-card, .sis-surface-card, .sis-banner-panel, .sis-form-shell) :is(.text-white),
:is(.sis-kpi-card, .sis-surface-card, .sis-banner-panel, .sis-form-shell).text-white {
	color: var(--color-surface-text, #18181b) !important;
}

:is(.sis-kpi-card, .sis-surface-card, .sis-banner-panel, .sis-form-shell) :is(.text-zinc-500, .text-zinc-400, .text-zinc-300, .text-gray-700, .text-gray-500, .text-gray-400, .text-gray-300),
:is(.sis-kpi-card, .sis-surface-card, .sis-banner-panel, .sis-form-shell):is(.text-zinc-500, .text-zinc-400, .text-zinc-300, .text-gray-700, .text-gray-500, .text-gray-400, .text-gray-300) {
	color: var(--color-surface-muted, #57534e) !important;
}

:is(.sis-kpi-card, .sis-surface-card, .sis-banner-panel, .sis-form-shell) :is(.border-zinc-800, .border-zinc-700, .border-zinc-600),
:is(.sis-kpi-card, .sis-surface-card, .sis-banner-panel, .sis-form-shell):is(.border-zinc-800, .border-zinc-700, .border-zinc-600) {
	border-color: var(--color-surface-border, #d6c9bc) !important;
}

.sis-kpi-card {
	padding: 1.25rem 1.35rem;
}

a.sis-surface-card,
.sis-surface-card {
	text-decoration: none;
	transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

a.sis-surface-card:hover,
a.sis-surface-card:focus-visible {
	transform: translateY(-3px);
	border-color: var(--color-accent-text, var(--color-brand-gold));
	box-shadow: 0 28px 48px -34px rgba(15, 23, 42, 0.32);
}

.sis-banner-panel {
	padding: clamp(1.5rem, 3vw, 2rem);
}

.sis-form-shell {
	padding: clamp(1.5rem, 3vw, 2.25rem);
}

.sis-auth-grid {
	display: grid;
	gap: 1rem;
}

.sis-auth-card {
	display: grid;
	gap: 1rem;
	align-content: start;
}

.sis-auth-card-title {
	margin: 0;
	font-family: 'Playfair Display', serif;
	font-size: clamp(1.75rem, 3vw, 2.35rem);
	line-height: 1.12;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-auth-card-copy {
	margin: 0;
	font-size: 1rem;
	line-height: 1.7;
	color: var(--color-surface-muted, #57534e);
}

.sis-auth-form form {
	display: grid;
	gap: 1rem;
	margin-top: 0.25rem;
	width: 100%;
}

.sis-auth-form p {
	margin: 0;
	width: 100%;
}

.sis-auth-form label {
	display: block;
	margin-bottom: 0.45rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-surface-muted, #57534e);
}

.sis-auth-form input:not([type='checkbox']):not([type='submit']) {
	width: 100%;
	min-height: 3.4rem;
	padding: 0 1rem;
	border: 1px solid var(--color-surface-border-strong, #b8a590);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.88);
	color: var(--color-surface-text, #18181b) !important;
	font-size: 1rem;
	outline: none;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
	box-sizing: border-box;
}

.sis-auth-form input:not([type='checkbox']):not([type='submit']):focus {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	box-shadow: 0 0 0 3px rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 1);
}

.sis-auth-form .login-password a,
.sis-auth-inline-links a {
	color: var(--color-accent-text, var(--color-brand-gold));
	text-decoration: none;
	transition: color 0.18s ease;
}

.sis-auth-form .sis-student-login-form {
	gap: 1.05rem;
}

.sis-auth-form .sis-student-login-form .login-submit,
.sis-auth-form .sis-account-recovery-form .login-submit {
	display: grid;
	margin-top: 0.55rem;
	padding-top: 1rem;
}

.sis-auth-form .sis-student-login-form button[type='submit'],
.sis-auth-form .sis-account-recovery-form button[type='submit'] {
	width: 100%;
	min-height: 3.45rem;
	justify-content: center;
	border: 1px solid var(--color-brand-gold);
	background: var(--color-brand-gold);
	color: #18181b;
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	transition: transform 0.18s ease, filter 0.18s ease;
}

.sis-auth-form .sis-student-login-form button[type='submit']:hover,
.sis-auth-form .sis-student-login-form button[type='submit']:focus-visible,
.sis-auth-form .sis-account-recovery-form button[type='submit']:hover,
.sis-auth-form .sis-account-recovery-form button[type='submit']:focus-visible {
	transform: translateY(-1px);
	filter: brightness(0.97);
}

.sis-form-security-note {
	display: flex;
	gap: 0.55rem;
	align-items: flex-start;
	margin: 0;
	padding: 0.8rem 0.9rem;
	border: 1px solid rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.2);
	background: rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.06);
	color: var(--color-surface-muted, #57534e);
	font-size: 0.82rem;
	line-height: 1.5;
}

.sis-form-security-note .material-symbols-rounded {
	margin-top: 0.05rem;
	color: var(--color-brand-emerald, #0f5132);
	font-size: 1.1rem;
}

.sis-form-helper-copy {
	margin: -0.15rem 0 0 !important;
	color: var(--color-surface-muted, #57534e);
	font-size: 0.86rem;
	line-height: 1.55;
}

.sis-form-notice {
	margin: 1rem 0 0;
	padding: 0.9rem 1rem;
	border-inline-start: 0.24rem solid var(--color-brand-emerald, #0f5132);
	background: rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.08);
	color: var(--color-surface-text, #18181b);
	font-weight: 650;
	line-height: 1.55;
}

.sis-form-notice-error {
	border-inline-start-color: #9f1239;
	background: rgb(159 18 57 / 0.07);
}

.sis-form-notice-success {
	border-inline-start-color: var(--color-brand-emerald, #0f5132);
}

.sis-auth-form .login-password a:hover,
.sis-auth-form .login-password a:focus-visible,
.sis-auth-inline-links a:hover,
.sis-auth-inline-links a:focus-visible {
	color: var(--color-surface-text, #18181b) !important;
	text-decoration: underline;
	text-underline-offset: 0.18rem;
}

.sis-auth-form .login-remember label {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	margin-bottom: 0;
	font-size: 0.84rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: none;
	color: var(--color-surface-muted, #57534e);
}

.sis-auth-form input[type='checkbox'] {
	width: 1rem;
	height: 1rem;
	accent-color: var(--color-accent-text, var(--color-brand-gold));
	margin: 0;
	flex-shrink: 0;
}

.sis-auth-form .login-submit {
	margin-top: 0.25rem;
	padding-top: 0.25rem;
	border-top: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
}

.sis-auth-form input[type='submit'] {
	width: 100%;
	min-height: 3.4rem;
	padding: 0.95rem 1.2rem;
	border: 1px solid var(--color-brand-gold);
	background: var(--color-brand-gold);
	color: #18181b;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	transition: transform 0.18s ease, filter 0.18s ease;
	cursor: pointer;
}

.sis-auth-form input[type='submit']:hover,
.sis-auth-form input[type='submit']:focus-visible {
	transform: translateY(-1px);
	filter: brightness(0.97);
}

.sis-account-recovery-form button[type='submit'],
.sis-account-actions :is(.sis-btn-primary, .sis-btn-secondary) {
	width: 100%;
	min-height: 3.4rem;
	justify-content: center;
}

.sis-account-actions {
	display: grid;
	gap: 0.75rem;
	margin-top: 0.25rem;
}

.sis-account-helper-mark {
	width: 4.25rem;
	height: 4.25rem;
	margin-bottom: 0.2rem;
	box-shadow: none;
}

.sis-account-helper-mark .material-symbols-rounded {
	font-size: 2rem;
}

.sis-auth-inline-links,
.sis-auth-utility-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem 1rem;
	align-items: center;
}

.sis-auth-inline-links {
	font-size: 0.88rem;
	line-height: 1.5;
	color: var(--color-surface-muted, #57534e);
}

.sis-auth-utility-links a {
	text-decoration: none;
}

.sis-auth-support-list,
.sis-auth-gate-list {
	display: grid;
	gap: 0.8rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sis-auth-support-list li,
.sis-auth-gate-list li {
	position: relative;
	padding-left: 1.05rem;
	font-size: 0.95rem;
	line-height: 1.65;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-auth-support-list li::before,
.sis-auth-gate-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.72rem;
	width: 0.42rem;
	height: 0.42rem;
	background: var(--color-brand-gold);
	border-radius: 999px;
}

.sis-auth-gate {
	max-width: 48rem;
	margin: 0 auto;
	padding: 1.25rem 0 0;
}

.sis-auth-gate .sis-listing-empty {
	max-width: none;
	text-align: center;
}

.sis-auth-gate-list {
	max-width: 34rem;
	margin: 0 auto;
	text-align: left;
}

.sis-menu-item.has-children > a {
	padding-right: 1rem;
}

.sis-submenu {
	position: absolute;
	top: calc(100% - 0.25rem);
	left: 0;
	z-index: 80;
	display: none;
	gap: 0.25rem;
	min-width: 15rem;
	padding: 0.75rem;
	background: rgba(255, 255, 255, 0.98);
	border: 1px solid rgba(228, 228, 231, 0.95);
	box-shadow: 0 24px 48px -30px rgba(0, 0, 0, 0.45);
	opacity: 0;
	visibility: hidden;
	transform: translateY(0.5rem);
	pointer-events: none;
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
	backdrop-filter: blur(14px);
	}

.sis-submenu .sis-submenu {
	top: -0.75rem;
	left: calc(100% - 0.25rem);
	}

.sis-menu-item:hover > .sis-submenu,
.sis-menu-item:focus-within > .sis-submenu {
	display: grid;
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

.mobile-panel-animated {
	overflow: hidden;
	max-height: 0;
	opacity: 0;
	transition: max-height 0.22s ease, opacity 0.22s ease;
	}

.mobile-panel-animated.is-open {
	max-height: 80vh;
	opacity: 1;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	}

.sis-header-utility-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.45rem 0.7rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.sis-header-utility-link,
.sis-header-account-link {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	min-height: 2.35rem;
	color: rgb(255 255 255 / 0.82);
	text-decoration: none;
	transition: color 0.18s ease, border-color 0.18s ease, background-color 0.18s ease;
}

.sis-header-utility-link:hover,
.sis-header-utility-link:focus-visible,
.sis-header-account-link:hover,
.sis-header-account-link:focus-visible {
	color: #ffffff;
}

.sis-header-account-link {
	padding: 0 0.8rem;
	border: 1px solid rgb(255 255 255 / 0.16);
	background: rgb(255 255 255 / 0.06);
}

.sis-header-account-link.is-authenticated {
	border-color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.34);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
	color: #ffffff;
}

.sis-header-account-link .material-symbols-rounded {
	font-size: 1rem;
	color: currentColor;
	opacity: 1;
}

.sis-topbar .sis-header-utility-link,
.sis-topbar .sis-header-account-link,
.sis-topbar .sis-topbar-donate {
	min-height: 2.3rem;
	padding: 0 0.78rem;
	border: 1px solid rgb(255 255 255 / 0.2);
	background: rgb(255 255 255 / 0.08);
	color: #ffffff !important;
}

.sis-topbar .sis-header-account-link .material-symbols-rounded {
	color: #ffffff;
}

.sis-topbar #language-switcher {
	min-height: 2.3rem;
	overflow: hidden;
	border-color: rgb(255 255 255 / 0.28) !important;
	background: rgb(0 0 0 / 0.12);
}

.sis-topbar #language-switcher a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.3rem;
	color: #ffffff !important;
	text-decoration: none;
}

.sis-topbar #language-switcher a[class~='bg-[var(--color-brand-gold)]'] {
	background: var(--color-brand-gold) !important;
	color: var(--color-accent-contrast, #050505) !important;
}

.sis-topbar #language-switcher a:not([class~='bg-[var(--color-brand-gold)]']):hover,
.sis-topbar #language-switcher a:not([class~='bg-[var(--color-brand-gold)]']):focus-visible {
	background: rgb(255 255 255 / 0.12);
	color: #ffffff !important;
}

.sis-topbar .sis-header-utility-link:hover,
.sis-topbar .sis-header-utility-link:focus-visible,
.sis-topbar .sis-header-account-link:hover,
.sis-topbar .sis-header-account-link:focus-visible,
.sis-topbar .sis-topbar-donate:hover,
.sis-topbar .sis-topbar-donate:focus-visible {
	border-color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.48);
	background: rgb(255 255 255 / 0.14);
	color: #ffffff !important;
}

.sis-topbar .sis-header-search-trigger {
	border-color: rgb(255 255 255 / 0.92);
	background: #ffffff;
	color: var(--color-brand-emerald) !important;
}

.sis-topbar .sis-header-search-trigger:hover,
.sis-topbar .sis-header-search-trigger:focus-visible {
	border-color: var(--color-brand-gold);
	background: #fffaf0;
	color: var(--color-brand-emerald) !important;
}

.sis-topbar .sis-header-search-trigger-icon {
	border-color: rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.16);
	background: rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.1);
	color: var(--color-brand-emerald);
}

.sis-logo-row .sis-site-logo img {
	filter: drop-shadow(0 14px 20px rgb(15 81 50 / 0.08));
}

.sis-logo-row :is(a, button)[class~='border-zinc-300'] {
	background: #ffffff;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-logo-row :is(a, button)[class~='border-zinc-300']:hover,
.sis-logo-row :is(a, button)[class~='border-zinc-300']:focus-visible {
	border-color: var(--color-brand-emerald) !important;
	background: rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.08);
	color: var(--color-brand-emerald) !important;
}

.sis-logo-row :is(a, button)[class~='bg-[var(--color-brand-gold)]'] {
	color: var(--color-accent-contrast, #050505) !important;
}

.sis-logo-row .sis-header-portal-cta {
	border-color: rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.28) !important;
	background: #ffffff;
	color: var(--color-brand-emerald, #0f5132) !important;
	box-shadow: 0 12px 22px -20px rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.45);
}

.sis-logo-row .sis-header-portal-cta:hover,
.sis-logo-row .sis-header-portal-cta:focus-visible {
	border-color: var(--color-brand-emerald, #0f5132) !important;
	background: rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.09);
	color: var(--color-brand-emerald, #0f5132) !important;
}

.sis-logo-row .sis-header-apply-cta {
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.88);
	background-color: #f3d56b !important;
	background-image: linear-gradient(180deg, #f3d56b 0%, var(--color-brand-gold, #d4af37) 100%) !important;
	color: #111111 !important;
	box-shadow: 0 16px 24px -18px rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.72);
}

.sis-logo-row .sis-header-apply-cta:hover,
.sis-logo-row .sis-header-apply-cta:focus-visible {
	border-color: var(--color-brand-emerald, #0f5132);
	background-color: var(--color-brand-emerald, #0f5132) !important;
	background-image: none !important;
	color: #ffffff !important;
	box-shadow: 0 16px 24px -18px rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.55);
}

.sis-header-search-trigger {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	min-height: 44px;
	padding: 0.2rem 0.85rem 0.2rem 0.35rem;
	border: 1px solid rgb(255 255 255 / 0.16);
	background: rgb(255 255 255 / 0.08);
	color: #ffffff;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	transition: border-color 0.18s ease, background-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.sis-header-search-trigger:hover,
.sis-header-search-trigger:focus-visible {
	border-color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.42);
	background: rgb(255 255 255 / 0.12);
	transform: translateY(-1px);
	box-shadow: 0 16px 28px -24px rgb(0 0 0 / 0.4);
}

.sis-header-search-trigger-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.9rem;
	height: 1.9rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.24);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.16);
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-header-search-trigger-icon .material-symbols-rounded {
	font-size: 1rem;
}

.sis-header-search-trigger-label {
	line-height: 1;
}

.sis-mobile-topbar-action,
.sis-mobile-menu-toggle,
.sis-mobile-panel-close,
.sis-mobile-menu-action {
	text-decoration: none;
}

.sis-mobile-topbar-action {
	display: none;
}

.sis-mobile-menu-toggle .material-symbols-rounded,
.sis-mobile-panel-close .material-symbols-rounded {
	font-size: 1.25rem;
	line-height: 1;
}

.sis-mobile-panel-backdrop,
.sis-mobile-panel-close {
	cursor: pointer;
}

@media screen and (min-width: 768px) {
	.sis-mobile-topbar-action {
		display: none !important;
	}
}

@media screen and (max-width: 1279px) {
	body {
		padding-top: var(--sis-site-header-height, 7.25rem);
	}

	body.admin-bar {
		padding-top: calc(var(--sis-site-header-height, 7.25rem) + 46px);
	}

	.sis-site-header {
		position: fixed !important;
		top: 0;
		left: 0;
		right: 0;
		z-index: 80;
		width: 100%;
	}

	body.admin-bar .sis-site-header {
		top: 46px;
	}

	@media screen and (min-width: 783px) {
		body.admin-bar {
			padding-top: calc(var(--sis-site-header-height, 7.25rem) + 32px);
		}

		body.admin-bar .sis-site-header {
			top: 32px;
		}
	}

	.sis-top-menu {
		display: none !important;
	}

	.sis-logo-row-inner {
		min-height: 4.25rem;
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
	}

	.sis-logo-row .sis-site-logo {
		flex: 0 1 auto !important;
		width: auto;
		max-width: min(60vw, 13.5rem) !important;
	}

	.sis-logo-row .sis-site-logo :is(img, .custom-logo) {
		width: min(60vw, 12.75rem) !important;
		max-width: min(60vw, 12.75rem) !important;
		max-height: 3.3rem;
		height: auto !important;
		object-fit: contain;
	}

	.sis-mobile-menu-toggle {
		min-width: 2.9rem;
		min-height: 2.9rem;
		justify-content: center;
		border-color: var(--color-surface-border, #d6c9bc);
		background: var(--color-surface-950, #ffffff);
		color: var(--color-surface-text, #18181b) !important;
		box-shadow: 0 10px 24px -22px rgb(15 23 42 / 0.55);
	}

	.mobile-panel-animated {
		position: fixed !important;
		inset: 0;
		z-index: 120;
		display: block;
		max-height: none !important;
		border: 0 !important;
		background: transparent !important;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		overflow-x: hidden;
		overflow-y: auto;
		transition: opacity 0.22s ease, visibility 0.22s ease;
	}

	.mobile-panel-animated.hidden {
		display: none !important;
	}

	.mobile-panel-animated.is-open {
		max-height: none !important;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		overflow-y: auto;
	}

	.sis-mobile-panel-backdrop {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		border: 0;
		background: rgb(5 18 13 / 0.56);
		backdrop-filter: blur(3px);
	}

	.sis-mobile-panel-shell {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		z-index: 1;
		display: flex;
		width: min(92vw, 26rem);
		max-width: 100%;
		flex-direction: column;
		background: var(--color-surface-950, #ffffff);
		color: var(--color-surface-text, #18181b);
		box-shadow: -28px 0 60px -38px rgb(0 0 0 / 0.58);
		transform: translateX(1.25rem);
		transition: transform 0.22s ease;
	}

	.mobile-panel-animated.is-open .sis-mobile-panel-shell {
		transform: translateX(0);
	}

	html[dir='rtl'] .sis-mobile-panel-shell {
		right: auto;
		left: 0;
		transform: translateX(-1.25rem);
		box-shadow: 28px 0 60px -38px rgb(0 0 0 / 0.58);
	}

	html[dir='rtl'] .mobile-panel-animated.is-open .sis-mobile-panel-shell {
		transform: translateX(0);
	}

	.sis-mobile-panel-head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		min-height: 4.75rem;
		padding: max(0.8rem, env(safe-area-inset-top)) 1rem 0.8rem;
		border-bottom: 1px solid var(--color-surface-border, #d6c9bc);
		background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.96);
	}

	.sis-mobile-panel-logo {
		display: inline-flex;
		min-width: 0;
		align-items: center;
	}

	.sis-mobile-panel-logo :is(img, .custom-logo) {
		width: min(56vw, 12.75rem) !important;
		max-width: min(56vw, 12.75rem) !important;
		max-height: 3rem;
		height: auto !important;
		object-fit: contain;
	}

	.sis-mobile-panel-close {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2.9rem;
		height: 2.9rem;
		min-width: 2.9rem;
		min-height: 2.9rem;
		border: 1px solid var(--color-surface-border, #d6c9bc);
		background: rgb(var(--color-surface-900-rgb, 246 239 231) / 0.72);
		color: var(--color-surface-text, #18181b) !important;
	}

	.sis-mobile-panel-scroll {
		display: grid;
		gap: 0.9rem;
		min-height: 0;
		overflow-y: auto;
		padding: 1rem 1rem max(1.4rem, env(safe-area-inset-bottom));
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
	}

	.sis-mobile-menu-section {
		border: 1px solid var(--color-surface-border, #d6c9bc);
		background: rgb(var(--color-surface-900-rgb, 246 239 231) / 0.42);
	}

	.sis-mobile-menu-section-title {
		padding: 0.75rem 0.85rem;
		border-bottom: 1px solid var(--color-surface-border, #d6c9bc);
		color: var(--color-accent-text, var(--color-brand-gold));
		font-size: 0.72rem;
		font-weight: 800;
		letter-spacing: 0.14em;
		text-transform: uppercase;
	}

	.sis-mobile-menu-actions {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: 0.6rem;
		border: 0;
		background: transparent;
	}

	.sis-mobile-menu-action {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 2.9rem;
		padding: 0 0.8rem;
		border: 1px solid var(--color-surface-border-strong, #b8a590);
		background: var(--color-surface-950, #ffffff);
		color: var(--color-surface-text, #18181b) !important;
		font-size: 0.75rem;
		font-weight: 800;
		letter-spacing: 0.12em;
		text-align: center;
		text-transform: uppercase;
	}

	.sis-mobile-menu-action-primary {
		border-color: var(--color-brand-gold);
		background: var(--color-brand-gold);
		color: var(--color-accent-contrast, #050505) !important;
	}

	.sis-mobile-pill-grid {
		display: flex;
		flex-wrap: wrap;
		gap: 0.55rem;
		padding: 0.85rem;
	}

	.sis-mobile-pill-grid a,
	.sis-mobile-menu-footer a {
		min-height: 2.65rem;
		text-decoration: none;
	}

	.sis-mobile-primary-section :is(a, summary) {
		color: var(--color-surface-text, #18181b) !important;
	}

	.sis-mobile-primary-section summary {
		min-height: 3rem;
	}

	.sis-mobile-primary-section details[open] > summary {
		border-bottom: 1px solid var(--color-surface-border, #d6c9bc);
		background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.74);
	}

	.sis-mobile-menu-footer {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.55rem;
		padding-top: 0.1rem;
	}

	.sis-mobile-menu-footer a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border: 1px solid var(--color-surface-border, #d6c9bc);
		background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.72);
		color: var(--color-surface-text, #18181b) !important;
		font-size: 0.72rem;
		font-weight: 800;
		letter-spacing: 0.1em;
		text-transform: uppercase;
	}

	body[data-mobile-menu-open='true'] {
		overflow: hidden;
	}

	body[data-mobile-menu-open='true'] :is(.theme-switcher-widget, #cookie-consent-banner) {
		opacity: 0 !important;
		pointer-events: none !important;
		visibility: hidden !important;
	}
}

@media screen and (max-width: 767px) {
	.theme-switcher-widget {
		display: none !important;
	}

	.sis-topbar-inner {
		display: grid !important;
		grid-template-columns: auto minmax(0, 1fr);
		min-height: 3rem;
		gap: 0.5rem;
		padding-top: 0.45rem;
		padding-bottom: 0.45rem;
	}

	.sis-topbar #language-switcher {
		height: 2.15rem;
		min-width: 0;
	}

	.sis-topbar #language-switcher a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 2.1rem;
		min-height: 2.1rem;
		padding: 0 0.55rem;
		font-size: 0.68rem;
	}

	.sis-topbar-donate,
	.sis-header-utility-links .sis-desktop-topbar-action {
		display: none !important;
	}

	.sis-header-utility-links.sis-topbar-actions {
		flex-wrap: nowrap;
		justify-content: flex-end;
		gap: 0.35rem;
		min-width: 0;
	}

	.sis-mobile-topbar-action {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		gap: 0.28rem;
		min-width: 0;
		min-height: 2.15rem;
		padding: 0 0.48rem;
		border: 1px solid rgb(255 255 255 / 0.18);
		background: rgb(255 255 255 / 0.07);
		color: #ffffff !important;
		font-size: 0.66rem;
		font-weight: 800;
		letter-spacing: 0.06em;
		line-height: 1;
		text-transform: uppercase;
		white-space: nowrap;
	}

	.sis-mobile-topbar-action .material-symbols-rounded {
		font-size: 0.95rem;
		line-height: 1;
	}

	.sis-header-search-trigger {
		width: 44px;
		min-width: 44px;
		min-height: 44px;
		padding: 0;
		gap: 0;
		justify-content: center;
	}

	.sis-header-search-trigger-icon {
		width: 2.05rem;
		height: 2.05rem;
		border: 0;
		background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.2);
	}

	.sis-header-search-trigger-label {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

	.sis-logo-row-inner {
		min-height: 4rem;
		gap: 0.75rem;
	}

	.sis-mobile-menu-toggle {
		padding: 0 0.7rem;
	}
}

@media screen and (max-width: 374px) {
	.sis-mobile-topbar-action {
		width: 2.15rem;
		padding: 0;
	}

	.sis-mobile-topbar-action span:last-child,
	.sis-mobile-menu-toggle-label {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}
}

.search-overlay-animated {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.22s ease, visibility 0.22s ease;
	}

.search-overlay-animated.is-open {
	opacity: 1;
	visibility: visible;
	}

[data-search-overlay] {
	align-items: center;
	justify-content: center;
	padding: clamp(1rem, 4vw, 2rem);
	background-color: var(--color-brand-emerald, #0f5132);
	background-image: linear-gradient(140deg, rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.84) 0%, rgb(12 26 21 / 0.82) 100%);
	backdrop-filter: blur(18px);
	isolation: isolate;
	}

[data-search-overlay]::before,
[data-search-overlay]::after {
	content: '';
	position: absolute;
	pointer-events: none;
	}

[data-search-overlay]::before {
	inset: 0;
	background: linear-gradient(135deg, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.08) 0%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0) 42%, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.05) 100%);
	}

[data-search-overlay]::after {
	left: auto;
	right: -6rem;
	top: -5rem;
	width: 18rem;
	height: 18rem;
	background: radial-gradient(circle, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.26) 0%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0) 72%);
	}

[data-search-overlay]:not(.hidden) {
	display: flex;
	}

.sis-search-overlay-panel {
	position: relative;
	z-index: 1;
	width: min(100%, 64rem);
	display: grid;
	gap: 1.25rem;
	padding: clamp(1.5rem, 4vw, 2.5rem);
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.18);
	background-color: var(--color-surface-950, #ffffff);
	background-image: linear-gradient(180deg, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.98) 0%, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.95) 100%);
	box-shadow: 0 36px 64px -42px rgb(15 23 42 / 0.55);
	transform: translateY(1rem);
	transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.search-overlay-animated.is-open .sis-search-overlay-panel {
	transform: translateY(0);
}

.sis-search-overlay-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.sis-search-overlay-kicker {
	margin: 0;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-search-overlay-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border: 1px solid var(--color-surface-border, #d6c9bc);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.82);
	color: var(--color-surface-text, #18181b) !important;
	transition: border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.sis-search-overlay-close:hover,
.sis-search-overlay-close:focus-visible {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	color: var(--color-accent-text, var(--color-brand-gold));
	transform: translateY(-1px);
}

.sis-search-overlay-title {
	margin: 0;
	font-family: 'Playfair Display', serif;
	font-size: clamp(2.3rem, 5vw, 4rem);
	line-height: 1;
	color: var(--color-surface-text, #18181b) !important;
	text-wrap: balance;
}

.sis-search-overlay-copy {
	margin: 0;
	max-width: 42rem;
	font-size: clamp(1rem, 2vw, 1.2rem);
	line-height: 1.7;
	color: var(--color-surface-muted, #57534e);
}

.sis-search-overlay-form {
	display: grid;
	gap: 0.75rem;
}

.sis-search-overlay-row {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.75rem;
	padding: 0.75rem;
	border: 1px solid var(--color-surface-border-strong, #b8a590);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.86);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.45);
}

.sis-search-overlay-input-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.9rem;
	height: 2.9rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.18);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-search-overlay-input-icon .material-symbols-rounded {
	font-size: 1.2rem;
}

.sis-search-overlay-input {
	min-width: 0;
	min-height: 3.25rem;
	border: 0;
	background: transparent;
	color: var(--color-surface-text, #18181b) !important;
	font-size: clamp(1.05rem, 2.5vw, 1.45rem);
	line-height: 1.2;
	outline: none;
}

.sis-search-overlay-input::placeholder {
	color: rgb(var(--color-surface-text-rgb, 24 24 27) / 0.4);
}

.sis-search-overlay-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3.25rem;
	padding: 0 1.3rem;
	border: 1px solid var(--color-brand-gold);
	background: var(--color-brand-gold);
	color: #18181b;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	transition: transform 0.18s ease, filter 0.18s ease;
}

.sis-search-overlay-submit:hover,
.sis-search-overlay-submit:focus-visible {
	transform: translateY(-1px);
	filter: brightness(0.97);
}

.sis-search-overlay-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
}

.sis-search-overlay-link {
	display: inline-flex;
	align-items: center;
	min-height: 2.7rem;
	padding: 0 0.95rem;
	border: 1px solid var(--color-surface-border, #d6c9bc);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.78);
	color: var(--color-surface-text, #18181b) !important;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	text-decoration: none;
	transition: border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.sis-search-overlay-link:hover,
.sis-search-overlay-link:focus-visible {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	color: var(--color-accent-text, var(--color-brand-gold));
	transform: translateY(-1px);
}

body[data-overlay-open='true'] {
	overflow: hidden;
	}

footer a {
	text-decoration: none;
	}

footer.text-gray-700,
footer .text-gray-700,
footer .text-sm.text-gray-700,
footer .text-xs.text-gray-700 {
	color: var(--color-surface-muted, #57534e) !important;
	}

.theme-switcher-widget {
	color: #18181b;
	transition: opacity 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
	}

body:not([data-public-theme-switcher='true']) .theme-switcher-widget {
	display: none !important;
	opacity: 0 !important;
	pointer-events: none !important;
	visibility: hidden !important;
}

body[data-overlay-open='true'] .theme-switcher-widget {
	opacity: 0;
	pointer-events: none;
	transform: translateY(0.75rem);
	}

#cookie-consent-banner {
	left: 1rem;
	right: 1rem;
	bottom: 1rem;
	width: auto;
	max-width: none;
	padding: 0.85rem 1rem !important;
	z-index: 70 !important;
	border-color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.45) !important;
	background: rgb(9 20 18 / 0.96) !important;
	box-shadow: 0 18px 42px rgb(0 0 0 / 0.28);
	}

#cookie-consent-banner .space-y-4 {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.8rem;
}

#cookie-consent-banner :is(.space-y-2, .space-y-4) > :not([hidden]) ~ :not([hidden]) {
	margin-top: 0 !important;
}

#cookie-consent-banner p {
	margin: 0;
}

#cookie-consent-banner .space-y-2 {
	display: grid;
	gap: 0.18rem;
	min-width: 0;
}

#cookie-consent-banner .leading-6 {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	font-size: 0.8rem;
	line-height: 1.35;
}

#cookie-consent-banner .flex {
	flex-wrap: nowrap;
	flex-shrink: 0;
	gap: 0.45rem;
}

#cookie-consent-banner button {
	min-height: 2.75rem;
	padding: 0.55rem 0.72rem !important;
	white-space: nowrap;
}

#cookie-consent-banner :is(p, span, a) {
	color: #f7f4ed !important;
}

#cookie-consent-banner [data-cookie-decline] {
	color: #f7f4ed !important;
}

#cookie-consent-banner p:first-child,
#cookie-consent-banner a {
	color: #f4d35e !important;
}

#cookie-consent-banner [data-cookie-decline] {
	color: #ffffff !important;
}

#cookie-consent-banner [data-cookie-accept] {
	color: #050505 !important;
}

body[data-cookie-banner='visible'] #back-to-top {
	bottom: 5.5rem;
	}

body.customize-support {
	scroll-padding-top: 32px;
}

@media screen and (max-width: 640px) {
	.sis-home-hero-proof {
		grid-template-columns: 1fr;
	}

	.sis-home-trust-stats {
		grid-template-columns: 1fr;
	}

	.sis-listing-search-row {
		flex-direction: column;
	}

	.sis-listing-panel-stats {
		grid-template-columns: 1fr;
	}

	.sis-course-archive-sidebar {
		margin-top: 0.25rem;
	}

	.sis-course-toolbar,
	.sis-course-sidebar-panel,
	.sis-course-card-content,
	.sis-course-card-side {
		padding: 1.15rem;
	}

	.sis-course-view-toggle {
		width: 100%;
	}

	.sis-archive-card-footer {
		align-items: flex-start;
	}
}

@media screen and (max-width: 782px) {
	.sis-section-header {
		gap: 0.75rem;
		margin-bottom: 2rem;
	}

	body[data-cookie-banner='visible'] {
		padding-bottom: calc(var(--sis-cookie-banner-space, 7rem) + env(safe-area-inset-bottom, 0px));
	}

	body[data-cookie-banner='visible'] .theme-switcher-widget {
		bottom: 11rem !important;
	}

	body[data-cookie-banner='visible'] #back-to-top {
		bottom: 14rem;
	}

	body.customize-support {
		scroll-padding-top: 46px;
	}

	#cookie-consent-banner {
		left: 0.75rem !important;
		right: 0.75rem !important;
		bottom: calc(env(safe-area-inset-bottom, 0px) + 0.75rem) !important;
		max-height: min(32vh, 11rem);
		overflow-y: auto;
		padding: 0.85rem !important;
		font-size: 0.78rem;
	}

	#cookie-consent-banner .space-y-4 {
		display: grid;
		gap: 0.65rem;
	}

	#cookie-consent-banner .leading-6 {
		line-height: 1.45 !important;
	}

	#cookie-consent-banner button {
		min-height: 2.75rem;
	}
}

@media screen and (min-width: 768px) {
	.sis-home-hero-inner {
		grid-template-columns: minmax(0, 1.08fr) minmax(18rem, 0.92fr);
	}

	.sis-home-faculties-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sis-feature-card--lead {
		grid-column: span 2;
	}

	.sis-section-header {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 1.5rem;
	}

	#cookie-consent-banner {
		left: auto;
		right: 1rem;
		width: 24rem;
		max-width: calc(100vw - 2rem);
	}
}

@media screen and (min-width: 1024px) {
	.sis-home-hero-inner {
		grid-template-columns: minmax(0, 1.2fr) minmax(20rem, 0.8fr);
	}

	.sis-listing-hero-inner {
		grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
	}

	.sis-auth-grid {
		grid-template-columns: minmax(0, 1.05fr) minmax(18rem, 0.95fr);
	}

	.sis-course-archive-shell {
		grid-template-columns: minmax(13.75rem, 15.25rem) minmax(0, 1fr);
	}

	.sis-course-archive-sidebar {
		position: sticky;
		top: var(--sis-course-sticky-top);
		order: 0;
	}

	.sis-course-archive-main {
		order: 0;
	}

	.sis-course-sidebar-panel {
		gap: 0.9rem;
		padding: 0.95rem;
	}

	.sis-course-filter-section {
		gap: 0.6rem;
		padding-top: 0.8rem;
	}

	.sis-course-filter-option {
		padding: 0.62rem 0.74rem;
		font-size: 0.82rem;
	}

	.sis-course-filter-count {
		min-width: 1.75rem;
		height: 1.75rem;
		padding: 0 0.4rem;
		font-size: 0.7rem;
	}

	.sis-listing-grid--two {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sis-listing-grid--three {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.sis-listing-grid--four {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.sis-404-hero-inner {
		grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.42fr);
	}

	.sis-home-trust-inner {
		grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	}

	.sis-home-faculties-shell {
		grid-template-columns: minmax(18rem, 0.78fr) minmax(0, 1.22fr);
	}

	.sis-home-faculties-intro {
		position: sticky;
		top: 8.5rem;
	}
}

@media screen and (min-width: 768px) {
	.sis-course-results[data-view='cards'] {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (min-width: 900px) {
	.sis-course-archive-shell {
		grid-template-columns: minmax(13.5rem, 14.75rem) minmax(0, 1fr);
	}

	.sis-course-archive-sidebar {
		position: sticky;
		top: var(--sis-course-sticky-top);
		order: 0;
	}

	.sis-course-archive-main {
		order: 0;
	}

	.sis-course-sidebar-panel {
		gap: 0.95rem;
		padding: 1rem;
	}

	.sis-course-filter-section {
		gap: 0.62rem;
		padding-top: 0.84rem;
	}

	.sis-course-filter-option {
		padding: 0.64rem 0.76rem;
		font-size: 0.83rem;
	}

	.sis-course-filter-count {
		min-width: 1.82rem;
		height: 1.82rem;
		padding: 0 0.42rem;
		font-size: 0.72rem;
	}
}

@media screen and (min-width: 1280px) {
	.sis-course-results[data-view='cards'] {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media screen and (min-width: 782px) {
	.sis-course-results[data-view='list'] .sis-course-card {
		grid-template-columns: minmax(10.5rem, 11.75rem) minmax(0, 1fr) minmax(9.5rem, 10.75rem);
	}

	.sis-course-results[data-view='list'] .sis-course-card-media {
		min-height: auto;
		min-height: 100%;
		border-right: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
		border-bottom: 0;
	}

	.sis-course-results[data-view='list'] .sis-course-card-content {
		padding: 0.95rem 1rem;
		gap: 0.62rem;
	}

	.sis-course-results[data-view='list'] .sis-course-card .sis-archive-card-title {
		font-size: clamp(1.08rem, 1.6vw, 1.32rem);
	}

	.sis-course-results[data-view='list'] .sis-course-card .sis-archive-card-summary {
		font-size: 0.88rem;
		-webkit-line-clamp: 5;
	}

	.sis-course-results[data-view='list'] .sis-course-card-facts {
		grid-template-columns: minmax(0, 1fr);
		justify-items: start;
	}

	.sis-course-results[data-view='list'] .sis-course-card-fact {
		max-width: 15rem;
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		align-items: start;
		gap: 0.55rem;
	}

	.sis-course-results[data-view='list'] .sis-course-card-side {
		align-content: space-between;
		align-items: end;
		justify-content: space-between;
		text-align: right;
		border-top: 0;
		border-left: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
		padding: 0.95rem;
	}

	.sis-course-results[data-view='list'] .sis-course-card-topline {
		align-items: start;
	}

	.sis-course-results[data-view='list'] .sis-course-card-actions {
		justify-items: end;
	}

	.sis-course-results[data-view='list'] .sis-course-card-action-primary {
		min-width: min(100%, 13rem);
	}

	.sis-course-results[data-view='cards'] .sis-course-card-media {
		aspect-ratio: 2 / 1;
		min-height: auto;
	}

	.sis-course-results[data-view='cards'] .sis-course-card-content {
		padding: 1rem 1.05rem 0.85rem;
	}

	.sis-course-results[data-view='cards'] .sis-course-card .sis-archive-card-title {
		font-size: clamp(1.2rem, 1.7vw, 1.42rem);
	}

	.sis-course-results[data-view='cards'] .sis-course-card .sis-archive-card-summary {
		-webkit-line-clamp: 3;
	}

	.sis-course-results[data-view='cards'] .sis-course-card-side {
		grid-template-columns: minmax(0, 1fr);
		align-items: start;
		padding-top: 0.25rem;
		padding-inline: 1.05rem;
	}

	.sis-course-results[data-view='cards'] .sis-course-card-actions {
		grid-template-columns: minmax(0, 1fr);
	}

	.sis-course-results[data-view='cards'] .sis-course-card-facts {
		grid-template-columns: minmax(0, 1fr);
	}

	.sis-course-results[data-view='cards'] .sis-course-card-action-primary {
		width: 100%;
	}
}

@keyframes sis-course-spinner {
	to {
		transform: rotate(360deg);
	}
}

@media screen and (max-width: 767px) {
	.sis-search-overlay-panel {
		padding: 1.25rem;
	}

	.sis-search-overlay-row {
		grid-template-columns: minmax(0, 1fr);
	}

	.sis-search-overlay-input-icon {
		display: none;
	}

	.sis-search-overlay-submit {
		width: 100%;
	}
}

/* LearnPress profile refresh ------------------------------------------------ */

body.learnpress-profile section.py-20.reveal.reveal-up {
	padding-top: clamp(1.5rem, 3vw, 2.5rem);
	padding-bottom: clamp(3rem, 6vw, 4.5rem);
}

body.learnpress-profile section.py-20.reveal.reveal-up > .max-w-5xl.mx-auto.px-6 {
	box-sizing: border-box;
	width: 100%;
	max-width: 88rem;
	padding-left: clamp(1rem, 3vw, 2rem);
	padding-right: clamp(1rem, 3vw, 2rem);
}

body.learnpress-profile .prose.prose-invert.max-w-none.page {
	max-width: none;
}

body.learnpress-profile .prose.prose-invert.max-w-none.page > header.mb-8 {
	display: none;
}

body.learnpress-profile .prose.prose-invert.max-w-none.page > .text-gray-700 {
	color: inherit;
}

body.learnpress-profile .theme-switcher-widget {
	display: none !important;
}

#learn-press-profile.current-user > .lp-content-area > .lp-user-cover-image_background.lp-hidden {
	display: none !important;
}

/*
 * LearnPress still ships the legacy floated profile grid. The SIS profile
 * templates replace that grid with a full-width hero, horizontal navigation,
 * and workspace. Keep the structural reset specific to the branded profile so
 * plugin updates cannot compress it back into a sidebar layout.
 */
body.sis-lp-profile #learn-press-profile.lp-user-profile > .lp-content-area {
	box-sizing: border-box;
	width: 100%;
	max-width: none !important;
	padding-right: 0;
	padding-left: 0;
}

body.sis-lp-profile .sis-fallback-content-prose {
	width: 100%;
	max-width: none;
}

body.sis-lp-profile #learn-press-profile.lp-user-profile :is(.sis-profile-hero, .sis-profile-nav-shell, .lp-profile-content.sis-profile-content) {
	box-sizing: border-box;
	float: none;
	width: 100%;
	max-width: none;
	clear: both;
}

body.sis-lp-profile #learn-press-profile.lp-user-profile .lp-profile-content.sis-profile-content {
	margin-bottom: 0;
	padding-top: clamp(2rem, 4vw, 3rem);
}

body.sis-lp-profile #learn-press-profile.lp-user-profile .lp-profile-nav-tabs.sis-profile-tab-list {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	width: 100%;
	margin: 0;
	padding: 0.95rem 0 0.75rem;
	overflow-x: auto;
	white-space: nowrap;
}

body.sis-lp-profile #learn-press-profile.lp-user-profile .lp-profile-nav-tabs.sis-profile-tab-list > li.sis-profile-tab-item {
	flex: 0 0 auto;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

body.sis-lp-profile #learn-press-profile.lp-user-profile .lp-profile-nav-tabs.sis-profile-tab-list > li.sis-profile-tab-item > a.sis-profile-tab-link {
	display: inline-flex;
	width: auto;
	min-height: 3rem;
	padding: 0 1rem;
	line-height: 1.4;
}

body.sis-lp-profile #learn-press-profile.lp-user-profile .lp-profile-nav-tabs.sis-profile-tab-list > li.sis-profile-tab-item > a.sis-profile-tab-link::after {
	display: none !important;
}

body.sis-lp-profile #learn-press-profile.lp-user-profile .lp-profile-nav-tabs.sis-profile-tab-list > li.sis-profile-tab-item.is-active {
	background: transparent;
}

body.sis-lp-profile #learn-press-profile.lp-user-profile .lp-profile-nav-tabs.sis-profile-tab-list > li.sis-profile-tab-item.is-active > a.sis-profile-tab-link,
body.sis-lp-profile #learn-press-profile.lp-user-profile .lp-profile-nav-tabs.sis-profile-tab-list > li.sis-profile-tab-item.is-active > a.sis-profile-tab-link :is(i, .material-symbols-rounded) {
	color: #18181b;
}

.sis-profile-hero {
	position: relative;
	overflow: hidden;
	padding-top: clamp(3.75rem, 7vw, 5.5rem);
	padding-bottom: clamp(2.4rem, 5vw, 4rem);
	background:
		linear-gradient(120deg, rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.94) 0%, rgb(12 26 21 / 0.88) 45%, rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.92) 100%),
		linear-gradient(180deg, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.08) 0%, rgb(var(--color-surface-950-rgb, 255 255 255) / 0) 100%);
	border-bottom: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.22);
	color: #ffffff;
}

.sis-profile-hero::before,
.sis-profile-hero::after {
	content: '';
	position: absolute;
	pointer-events: none;
}

.sis-profile-hero::before {
	inset: 0;
	background: linear-gradient(135deg, rgb(255 255 255 / 0.18) 0%, rgb(255 255 255 / 0) 48%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.14) 100%);
	opacity: 0.92;
}

.sis-profile-hero::after {
	right: -7rem;
	top: -5rem;
	width: 20rem;
	height: 20rem;
	background: radial-gradient(circle, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.22) 0%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0) 72%);
}

.sis-profile-hero-media {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(100deg, rgb(12 26 21 / 0.74) 0%, rgb(12 26 21 / 0.35) 42%, rgb(12 26 21 / 0.82) 100%),
		var(--sis-profile-hero-image, radial-gradient(circle at top left, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.22) 0%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0) 46%), linear-gradient(135deg, rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.42) 0%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.16) 100%));
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	opacity: 0.92;
	transform: scale(1.03);
	transform-origin: center;
	filter: saturate(1.02) contrast(1.05);
}

.sis-profile-hero--fallback .sis-profile-hero-media {
	background-image:
		radial-gradient(circle at top left, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.22) 0%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0) 42%),
		linear-gradient(140deg, rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.72) 0%, rgb(12 26 21 / 0.24) 46%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.18) 100%);
	opacity: 1;
}

.sis-profile-hero > * {
	position: relative;
	z-index: 1;
}

.sis-profile-hero-inner {
	display: grid;
	gap: 2rem;
	align-items: end;
}

.sis-profile-hero-primary {
	display: grid;
	gap: 1.35rem;
	align-items: center;
}

.sis-profile-avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(5.75rem, 10vw, 7rem);
	height: clamp(5.75rem, 10vw, 7rem);
	border: 2px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.84);
	border-radius: 1.75rem;
	background: rgb(255 255 255 / 0.08);
	box-shadow: 0 24px 40px -32px rgb(0 0 0 / 0.7);
	overflow: hidden;
	backdrop-filter: blur(12px);
}

.sis-profile-avatar img,
.sis-profile-avatar .avatar {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sis-profile-identity {
	display: grid;
	gap: 0.8rem;
	max-width: 40rem;
}

.sis-profile-kicker,
.sis-profile-content-kicker,
.sis-profile-section-label {
	margin: 0;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgb(var(--color-accent-text-rgb, 212 175 55) / 0.96);
}

.sis-profile-name {
	margin: 0;
	font-family: 'Playfair Display', serif;
	font-size: clamp(2.4rem, 5vw, 4.6rem);
	line-height: 0.96;
	letter-spacing: 0;
	text-wrap: balance;
	color: #ffffff;
}

.sis-profile-name-ar {
	margin: 0;
	max-width: 34rem;
	font-size: clamp(1rem, 2vw, 1.2rem);
	line-height: 1.7;
	color: rgb(255 255 255 / 0.82);
}

.sis-profile-meta-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
}

.sis-profile-meta-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 2.65rem;
	padding: 0 0.9rem;
	border: 1px solid rgb(255 255 255 / 0.14);
	border-radius: 999px;
	background: rgb(255 255 255 / 0.08);
	backdrop-filter: blur(12px);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgb(255 255 255 / 0.92);
}

.sis-profile-meta-pill .material-symbols-rounded,
.sis-profile-meta-pill i {
	font-size: 1rem;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-profile-stat-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
	gap: 0.95rem;
	align-content: start;
}

.sis-profile-stat {
	display: grid;
	gap: 0.35rem;
	padding: 1rem 1.1rem;
	border: 1px solid rgb(255 255 255 / 0.14);
	border-radius: 1.2rem;
	background: rgb(8 17 14 / 0.34);
	backdrop-filter: blur(14px);
	box-shadow: 0 22px 38px -34px rgb(0 0 0 / 0.72);
}

.sis-profile-stat.is-accent {
	border-color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.32);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
}

.sis-profile-stat-label {
	margin: 0;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgb(255 255 255 / 0.7);
}

.sis-profile-stat-value {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.45;
	color: #ffffff;
}

.sis-profile-stat.is-accent .sis-profile-stat-value {
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-profile-hero-extras {
	margin-top: 1.35rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	align-items: center;
}

.sis-profile-hero-extras .lp-profile-left,
.sis-profile-hero-extras .lp-profile-right {
	display: grid;
	gap: 0.85rem;
	padding: 1rem;
	border: 1px solid rgb(255 255 255 / 0.14);
	border-radius: 1.25rem;
	background: rgb(8 17 14 / 0.28);
	backdrop-filter: blur(14px);
	box-shadow: 0 22px 38px -34px rgb(0 0 0 / 0.72);
}

.sis-profile-hero-extras .lp-profile-left {
	flex: 0 0 auto;
	align-items: center;
}

.sis-profile-hero-extras .lp-profile-right {
	flex: 1 1 18rem;
	align-content: center;
	max-width: min(100%, 26rem);
}

.sis-profile-hero-extras .user-avatar {
	position: relative;
	width: clamp(8rem, 18vw, 11rem);
}

.sis-profile-hero-extras .user-avatar > img.avatar {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.28);
	border-radius: 1.1rem;
	object-fit: cover;
	background: rgb(255 255 255 / 0.1);
}

.sis-profile-hero-extras .lp-btn-to-edit-avatar {
	position: absolute;
	right: 0.75rem;
	bottom: 0.75rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.2rem;
	padding: 0 0.85rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.3);
	border-radius: 999px;
	background: rgb(12 26 21 / 0.86);
	color: #ffffff;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	transition: transform 0.18s ease, border-color 0.18s ease, background-color 0.18s ease;
}

.sis-profile-hero-extras .lp-btn-to-edit-avatar:hover,
.sis-profile-hero-extras .lp-btn-to-edit-avatar:focus-visible {
	transform: translateY(-1px);
	border-color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.48);
	background: rgb(12 26 21 / 0.94);
}

.sis-profile-hero-extras .lp-profile-username {
	display: none;
}

.sis-profile-hero-extras .lp-profile-user-bio,
.sis-profile-hero-extras .lp-profile-user-bio p {
	margin: 0;
}

.sis-profile-hero-extras .lp-profile-user-bio p {
	font-size: 0.95rem;
	line-height: 1.7;
	color: rgb(255 255 255 / 0.82);
}

.sis-profile-nav-shell {
	position: sticky;
	top: 64px;
	z-index: 35;
	overflow: hidden;
	border-top: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
	border-bottom: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.9);
	backdrop-filter: blur(18px);
	box-shadow: 0 24px 38px -36px rgb(15 23 42 / 0.35);
}

.sis-profile-nav-inner {
	display: grid;
	gap: 0.85rem;
	min-width: 0;
}

.profile-nav.sis-profile-nav {
	max-width: 100%;
	overflow: hidden;
}

.sis-profile-tab-list,
.sis-profile-section-list {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scrollbar-width: none;
}

.sis-profile-tab-list::-webkit-scrollbar,
.sis-profile-section-list::-webkit-scrollbar {
	display: none;
}

.sis-profile-tab-list {
	padding: 0.95rem 0 0.75rem;
}

body.sis-learnpress .sis-profile-nav-shell,
body.sis-learnpress .sis-profile-nav-inner,
body.sis-learnpress .profile-nav.sis-profile-nav,
body.sis-learnpress .sis-profile-tab-list,
body.sis-learnpress .sis-profile-section-list {
	max-width: 100vw;
	contain: paint;
}

.sis-profile-tab-item,
.sis-profile-section-item {
	flex: 0 0 auto;
}

.sis-profile-tab-link,
.sis-profile-section-link {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	white-space: nowrap;
	text-decoration: none;
	transition: transform 0.18s ease, background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.sis-profile-tab-link {
	min-height: 3rem;
	padding: 0 1rem;
	border: 1px solid transparent;
	border-radius: 999px;
	background: transparent;
	font-size: 0.88rem;
	font-weight: 700;
	color: var(--color-surface-muted, #57534e);
}

.sis-profile-tab-link:hover,
.sis-profile-tab-link:focus-visible {
	border-color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.22);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.1);
	color: var(--color-surface-text, #18181b) !important;
	transform: translateY(-1px);
}

.sis-profile-tab-link.is-active {
	border-color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.3);
	background: linear-gradient(180deg, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.96) 0%, rgb(193 152 29 / 0.92) 100%);
	color: #18181b;
	box-shadow: 0 18px 28px -24px rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.7);
}

.sis-profile-tab-icon {
	font-size: 1.08rem;
}

.sis-profile-section-switcher {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.85rem;
	padding: 0 0 1rem;
	border-top: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
}

.sis-profile-section-label {
	font-size: 0.68rem;
	color: var(--color-surface-muted, #57534e);
}

.sis-profile-section-link {
	min-height: 2.35rem;
	padding: 0 0.9rem;
	border: 1px solid var(--color-surface-border, #d6c9bc);
	border-radius: 999px;
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.78);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--color-surface-muted, #57534e);
}

.sis-profile-section-link:hover,
.sis-profile-section-link:focus-visible {
	border-color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.34);
	color: var(--color-surface-text, #18181b) !important;
}

.sis-profile-section-link.is-active {
	border-color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.32);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-profile-content {
	padding-top: clamp(2rem, 4vw, 3rem);
	padding-bottom: clamp(3rem, 5vw, 4.5rem);
}

.sis-profile-content-shell {
	display: grid;
	gap: 1.3rem;
}

.sis-profile-content-header {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.85rem 1.25rem;
	align-items: end;
}

.sis-profile-content-heading {
	display: grid;
	gap: 0.5rem;
	max-width: 40rem;
}

.sis-profile-content-title {
	margin: 0;
	font-family: 'Playfair Display', serif;
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1;
	color: var(--color-surface-text, #18181b) !important;
}

.sis-profile-content-caption {
	margin: 0;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-surface-muted, #57534e);
}

.sis-profile-content-panel,
.sis-profile-panel {
	border: 1px solid var(--color-surface-border, #d6c9bc);
	border-radius: 1.6rem;
	background: linear-gradient(180deg, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.98) 0%, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.95) 100%);
	box-shadow: 0 26px 46px -38px rgb(15 23 42 / 0.28);
	color: var(--color-surface-text, #18181b) !important;
}

.sis-profile-content-panel {
	padding: clamp(1.35rem, 3vw, 2rem);
}

.sis-profile-tab-body {
	display: grid;
	gap: 1.5rem;
}

.sis-profile-dashboard {
	gap: 1.75rem;
}

.sis-profile-dashboard-grid {
	align-items: stretch;
}

.sis-profile-table-shell {
	border-radius: 1rem;
	overflow: hidden;
}

.sis-profile-table {
	border-collapse: collapse;
}

.sis-profile-empty-state {
	border-radius: 1rem;
}

.sis-profile-dashboard-actions {
	align-items: stretch;
}

.sis-profile-quick-link {
	border-radius: 1.2rem;
	text-decoration: none;
}

.sis-profile-quick-link:hover,
.sis-profile-quick-link:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 24px 40px -34px rgb(15 23 42 / 0.32);
}

.sis-profile-content-panel :is(h1, h2, h3, h4, h5, h6),
.sis-profile-panel :is(h1, h2, h3, h4, h5, h6) {
	color: var(--color-surface-text, #18181b) !important;
}

.sis-profile-content-panel :is(.text-white, .text-zinc-200, .text-zinc-300),
.sis-profile-panel :is(.text-white, .text-zinc-200, .text-zinc-300) {
	color: var(--color-surface-text, #18181b) !important;
}

.sis-profile-content-panel :is(.text-gray-500, .text-gray-400, .text-zinc-400, .text-zinc-500),
.sis-profile-panel :is(.text-gray-500, .text-gray-400, .text-zinc-400, .text-zinc-500) {
	color: var(--color-surface-muted, #57534e) !important;
}

.sis-profile-content-panel :is(.bg-zinc-900, .bg-zinc-800, .bg-zinc-800/50),
.sis-profile-panel :is(.bg-zinc-900, .bg-zinc-800, .bg-zinc-800/50) {
	background-color: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.82) !important;
}

.sis-profile-content-panel :is(.border-zinc-800, .border-zinc-700, .divide-zinc-800),
.sis-profile-panel :is(.border-zinc-800, .border-zinc-700, .divide-zinc-800) {
	border-color: var(--color-surface-border, #d6c9bc) !important;
}

.sis-profile-content-panel :is(table, form),
.sis-profile-panel :is(table, form) {
	width: 100%;
}

.sis-profile-content-panel :is(input:not([type='checkbox']):not([type='radio']):not([type='submit']), textarea, select),
.sis-profile-panel :is(input:not([type='checkbox']):not([type='radio']):not([type='submit']), textarea, select) {
	width: 100%;
	min-height: 3.1rem;
	padding: 0.8rem 1rem;
	border: 1px solid var(--color-surface-border-strong, #b8a590);
	border-radius: 0.95rem;
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.9);
	color: var(--color-surface-text, #18181b) !important;
	outline: none;
	box-sizing: border-box;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.sis-profile-content-panel :is(input:not([type='checkbox']):not([type='radio']):not([type='submit']), textarea, select):focus,
.sis-profile-panel :is(input:not([type='checkbox']):not([type='radio']):not([type='submit']), textarea, select):focus {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	box-shadow: 0 0 0 3px rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 1);
}

.sis-profile-content-panel :is(button, input[type='submit'], .button, .btn),
.sis-profile-panel :is(button, input[type='submit'], .button, .btn) {
	border-radius: 999px;
}

.sis-profile-content-panel table :is(th, td),
.sis-profile-panel table :is(th, td) {
	vertical-align: middle;
}

.sis-profile-content-panel .learn-press-message,
.sis-profile-content-panel .lp-message,
.sis-profile-panel .learn-press-message,
.sis-profile-panel .lp-message {
	padding: 1rem 1.1rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.24);
	border-radius: 1rem;
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.1);
}

@media screen and (max-width: 767px) {
	body.learnpress-profile section.py-20.reveal.reveal-up {
		padding-top: 1rem;
	}

	.sis-profile-hero {
		padding-top: 3rem;
		padding-bottom: 2.2rem;
	}

	.sis-profile-hero-extras .lp-profile-left,
	.sis-profile-hero-extras .lp-profile-right {
		width: 100%;
		max-width: none;
	}

	.sis-profile-hero-extras .user-avatar {
		width: min(100%, 9rem);
	}

	.sis-profile-tab-link {
		min-height: 2.85rem;
		padding: 0 0.85rem;
		font-size: 0.82rem;
	}

	.sis-profile-section-switcher {
		padding-bottom: 0.85rem;
	}

	.sis-profile-content-panel,
	.sis-profile-panel {
		border-radius: 1.2rem;
	}
}

@media screen and (min-width: 768px) {
	.sis-profile-hero-inner {
		grid-template-columns: minmax(0, 1.12fr) minmax(18rem, 0.88fr);
	}

	.sis-profile-hero-primary {
		grid-template-columns: auto minmax(0, 1fr);
	}
}

@media screen and (min-width: 1024px) {
	.sis-profile-tab-list {
		gap: 0.9rem;
	}

	.sis-profile-content-shell {
		gap: 1.5rem;
	}
}

@media screen and (max-width: 1023px) {
	.sis-submenu {
		position: static;
		display: grid;
		min-width: 0;
		padding: 0;
		border: 0;
		box-shadow: none;
		background: transparent;
		opacity: 1;
		visibility: visible;
		transform: none;
		pointer-events: auto;
	}
}
/* Global Heading Contrast Fix - Ensures headings match the theme surface text color instead of defaulting to white */
body:not(.home) .site-content h1:not(.text-white):not([class*="text-light"]):not(.has-text-color),
body:not(.home) .site-content h2:not(.text-white):not([class*="text-light"]):not(.has-text-color),
body:not(.home) .site-content h3:not(.text-white):not([class*="text-light"]):not(.has-text-color),
body:not(.home) .site-content h4:not(.text-white):not([class*="text-light"]):not(.has-text-color),
body:not(.home) .site-content h5:not(.text-white):not([class*="text-light"]):not(.has-text-color),
body:not(.home) .site-content h6:not(.text-white):not([class*="text-light"]):not(.has-text-color),
h1.entry-title, h2.entry-title, .page-title, .widget-title,
#main h1, #main h2, #main h3, #main h4, #main h5, #main h6 {
        color: var(--color-surface-text, #18181b) !important;
}

/* Ensure LearnPress and BuddyPress fallback to surface text */
#learn-press-profile :is(h1, h2, h3, h4, h5, h6):not(.text-white),
.learnpress :is(h1, h2, h3, h4, h5, h6):not(.text-white),
#buddypress :is(h1, h2, h3, h4, h5, h6):not(.text-white),
.woocommerce :is(h1, h2, h3, h4, h5, h6):not(.text-white) {
        color: var(--color-surface-text, #18181b) !important;
}

/* Keep intentional black-on-accent callouts readable after broad heading fallbacks. */
:is(#main, main#main-content, .site-content) :is([class~='bg-[var(--color-brand-gold)]'], [class~='bg-[#d4af37]']) :is(h1, h2, h3, h4, h5, h6, p, span, div).text-black,
:is(#main, main#main-content, .site-content) :is([class~='bg-[var(--color-brand-gold)]'], [class~='bg-[#d4af37]']) :is(h1, h2, h3, h4, h5, h6, p, span, div)[class~='text-black/80'],
:is(#main, main#main-content, .site-content) :is([class~='bg-[var(--color-brand-gold)]'], [class~='bg-[#d4af37]']) :is(h1, h2, h3, h4, h5, h6, p, span, div).text-zinc-950 {
	color: var(--color-accent-contrast, #050505) !important;
}

/* LearnPress compatibility layer ------------------------------------------ */

body.sis-learnpress {
	--sis-lp-panel-bg: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.96);
	--sis-lp-panel-soft: rgb(var(--color-surface-900-rgb, 246 239 231) / 0.92);
	--sis-lp-border: var(--color-surface-border, #d6c9bc);
	--sis-lp-text: var(--color-surface-text, #18181b);
	--sis-lp-muted: var(--color-surface-muted, #57534e);
	--sis-lp-accent: var(--color-accent-text, var(--color-brand-gold, #d4af37));
	--sis-lp-safe-bottom: 0px;
	max-width: 100%;
	overflow-x: hidden;
}

@supports selector(html:has(body)) {
	html:has(body.sis-learnpress) {
		max-width: 100%;
		overflow-x: hidden;
	}
}

body.sis-learnpress :is(.reveal, .reveal-up),
body.sis-learnpress :is(.sis-lp-course-shell, .sis-profile-hero-inner, .sis-profile-dashboard, .sis-profile-content, #learn-press-profile, #learn-press-checkout, #popup-course, #learn-press-content-item) {
	opacity: 1 !important;
	transform: none !important;
	visibility: visible !important;
}

body.sis-learnpress .theme-switcher-widget {
	display: none !important;
	opacity: 0 !important;
	pointer-events: none !important;
	visibility: hidden !important;
}

body.sis-learnpress[data-cookie-banner='visible'] {
	--sis-lp-safe-bottom: clamp(6rem, 16vh, 8.5rem);
}

body.sis-learnpress #cookie-consent-banner {
	left: 1rem;
	right: auto;
	bottom: 1rem;
	width: min(24rem, calc(100vw - 2rem));
	max-width: min(26rem, calc(100vw - 1.5rem));
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.34);
	box-shadow: 0 24px 46px -30px rgb(0 0 0 / 0.4);
}

body.sis-learnpress .top_heading_out {
	margin: 0 0 clamp(1rem, 3vw, 1.75rem);
	padding: clamp(1.15rem, 3vw, 2rem) clamp(1rem, 4vw, 2rem);
	border-bottom: 1px solid var(--sis-lp-border);
	background:
		linear-gradient(120deg, rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.96), rgb(13 24 22 / 0.9)),
		var(--color-brand-emerald, #0f5132);
	color: #ffffff;
}

body.sis-learnpress .top_heading_out :is(.top_site_main, .breadcrumbs-wrapper, .banner-wrapper, .container) {
	width: min(100%, 72rem);
	max-width: 72rem;
	margin-inline: auto;
	padding: 0;
	color: inherit;
}

body.sis-learnpress .top_heading_out .page-title {
	margin: 0;
	color: #ffffff !important;
	font-family: 'Playfair Display', serif;
	font-size: clamp(1.75rem, 4vw, 3.25rem);
	line-height: 1;
}

body.sis-learnpress .top_heading_out .breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0.8rem 0 0;
	padding: 0;
	list-style: none;
	color: rgb(255 255 255 / 0.82);
}

body.sis-learnpress .top_heading_out .breadcrumbs li {
	display: inline-flex;
	align-items: center;
	width: auto;
	color: inherit;
}

body.sis-learnpress .top_heading_out .breadcrumbs li + li::before {
	content: '/';
	margin-inline-end: 0.4rem;
	color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.82);
}

body.sis-learnpress .top_heading_out .breadcrumbs a {
	color: #ffffff;
	text-decoration: none;
}

body.sis-lp-page-checkout .top_heading_out {
	margin-bottom: 0.75rem;
	padding-block: clamp(0.85rem, 2vw, 1.25rem);
}

body.sis-lp-page-checkout .top_heading_out .page-title {
	font-size: clamp(1.55rem, 3vw, 2.25rem);
}

body.sis-lp-page-checkout .top_heading_out .breadcrumbs {
	margin-top: 0.45rem;
	font-size: 0.82rem;
}

body.sis-lp-classroom .top_heading_out {
	display: none !important;
}

body.sis-learnpress #thim-popup-login:not(.active) {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	overflow: hidden !important;
}

body.sis-learnpress .theme-switcher-widget {
	display: none !important;
}

.sis-lp-course-shell {
	color: var(--sis-lp-text);
	padding-top: clamp(1.5rem, 4vw, 3rem) !important;
	padding-bottom: calc(3rem + var(--sis-lp-safe-bottom)) !important;
}

.sis-lp-breadcrumb {
	margin-bottom: clamp(0.85rem, 2vw, 1.25rem) !important;
}

.sis-lp-course-hero {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: clamp(0.75rem, 1.5vw, 1rem);
	align-items: start;
	margin-bottom: clamp(1rem, 2.5vw, 1.6rem);
	padding: clamp(1rem, 2.5vw, 1.45rem);
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.26);
	border-radius: 0.5rem;
	background:
		linear-gradient(120deg, rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.94), rgb(13 24 22 / 0.92)),
		rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.92);
	box-shadow: 0 28px 48px -42px rgb(0 0 0 / 0.72);
}

.sis-lp-course-hero--media {
	grid-template-columns: minmax(11rem, 0.38fr) minmax(0, 1fr);
	align-items: stretch;
}

.sis-lp-course-hero :is(h1, h2, h3, p, span):not(.material-symbols-rounded) {
	color: rgb(255 255 255 / 0.92) !important;
}

.sis-lp-course-hero h1 {
	color: #ffffff !important;
	font-size: clamp(1.55rem, 3.2vw, 2.55rem) !important;
	text-shadow: 0 2px 14px rgb(0 0 0 / 0.28);
}

.sis-lp-course-hero .sis-lp-course-meta > span {
	color: rgb(255 255 255 / 0.78) !important;
}

:root[data-theme-tone='light'] body.sis-learnpress .sis-lp-course-hero :is(h1, h1.text-white, h1 span, .sis-lp-course-meta > span),
body.sis-learnpress .sis-lp-course-hero :is(h1, h1.text-white, h1 span, .sis-lp-course-meta > span) {
	color: #ffffff !important;
}

:root[data-theme-tone='light'] body.sis-learnpress #learn-press-course .sis-lp-course-hero h1.text-white,
:root[data-theme-tone='light'] body.sis-learnpress #learn-press-course .sis-lp-course-hero h1.text-white span,
body.sis-learnpress #learn-press-course .sis-lp-course-hero h1.text-white,
body.sis-learnpress #learn-press-course .sis-lp-course-hero h1.text-white span {
	color: #ffffff !important;
}

:root[data-theme-tone='light'] body.sis-learnpress .sis-lp-course-hero h1 .font-arabic,
body.sis-learnpress .sis-lp-course-hero h1 .font-arabic {
	color: rgb(255 255 255 / 0.96) !important;
	margin-top: 0.35rem !important;
	font-size: clamp(1.05rem, 2vw, 1.45rem) !important;
}

.sis-lp-course-visual {
	position: relative;
	min-width: 0;
}

.sis-lp-course-hero--media .sis-lp-course-visual {
	overflow: hidden;
	min-height: clamp(8rem, 15vw, 11.25rem);
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.26);
	border-radius: 0.5rem;
	background: rgb(255 255 255 / 0.08);
}

.sis-lp-course-hero-image {
	display: block;
	width: 100%;
	height: 100%;
	min-height: inherit;
	object-fit: cover;
}

.sis-lp-course-hero--media .sis-lp-course-visual::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgb(0 0 0 / 0.02) 35%, rgb(0 0 0 / 0.46) 100%);
	pointer-events: none;
}

.sis-lp-course-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(2.7rem, 6vw, 3.4rem);
	height: clamp(2.7rem, 6vw, 3.4rem);
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.45);
	border-radius: 0.5rem;
	background: rgb(255 255 255 / 0.08);
	color: var(--color-brand-gold, #d4af37);
}

.sis-lp-course-icon--overlay {
	position: absolute;
	left: 0.7rem;
	bottom: 0.7rem;
	z-index: 1;
	width: 2.75rem;
	height: 2.75rem;
	background: rgb(5 5 5 / 0.54);
	backdrop-filter: blur(10px);
}

.sis-lp-course-icon .material-symbols-rounded {
	font-size: clamp(1.55rem, 3vw, 2rem);
}

.sis-lp-course-heading {
	min-width: 0;
}

.sis-lp-course-meta > span {
	display: inline-flex;
	align-items: center;
	min-height: 1.35rem;
	font-size: 0.82rem;
}

.sis-lp-course-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(18rem, 22rem);
	gap: clamp(0.9rem, 2vw, 1.35rem);
	align-items: start;
}

.sis-lp-course-main {
	display: grid;
	gap: 0.9rem;
	min-width: 0;
}

.sis-lp-content-panel,
.sis-lp-curriculum-panel,
.sis-lp-action-panel {
	border-radius: 0.5rem;
	background: var(--sis-lp-panel-bg);
	color: var(--sis-lp-text);
}

.sis-lp-content-panel {
	border-color: var(--sis-lp-border) !important;
}

.sis-lp-content-panel.p-8,
.sis-lp-action-panel.p-8 {
	padding: clamp(1rem, 2vw, 1.35rem) !important;
}

.sis-lp-content-panel h2 {
	margin-bottom: 0.55rem !important;
	font-size: 0.86rem;
	letter-spacing: 0;
}

.sis-lp-content-panel .prose {
	font-size: 1rem !important;
	line-height: 1.55 !important;
}

.sis-lp-content-panel :is(h1, h2, h3, h4, h5, h6, p, li, span, div):not(.material-symbols-rounded) {
	color: inherit;
}

.sis-lp-curriculum-panel {
	display: grid;
	gap: 0.65rem;
	padding: clamp(0.9rem, 2vw, 1.25rem);
	border: 1px solid var(--sis-lp-border);
}

.sis-lp-section-heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 0.2rem 1rem;
}

.sis-lp-section-heading .sis-lp-kicker {
	grid-column: 1 / -1;
}

.sis-lp-kicker {
	margin: 0;
	font-size: 0.76rem;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--sis-lp-accent);
}

.sis-lp-section-heading h2,
.sis-lp-action-panel h2 {
	margin: 0;
	color: var(--sis-lp-text) !important;
	font-family: 'Playfair Display', serif;
	font-size: clamp(1.2rem, 2vw, 1.55rem);
	line-height: 1.12;
}

.sis-lp-course-aside {
	position: sticky;
	top: 1.5rem;
	min-width: 0;
}

.sis-lp-action-panel {
	display: grid;
	gap: 0.7rem;
	border-color: var(--sis-lp-border) !important;
	box-shadow: 0 20px 34px -32px rgb(15 23 42 / 0.45);
}

.sis-lp-native-actions {
	display: grid;
	gap: 0.55rem;
}

.sis-lp-native-actions :is(.course-price, .course-graduation, .lp-course-progress-wrapper, .course-results-progress, .course-remaining-time) {
	display: flex;
	align-items: center;
	margin: 0;
	min-height: 2.35rem;
	padding: 0.62rem 0.72rem;
	border: 1px solid var(--sis-lp-border);
	border-radius: 0.375rem;
	background: var(--sis-lp-panel-soft);
	color: var(--sis-lp-text);
}

.sis-lp-native-actions .course-price .price,
.sis-lp-native-actions .course-price .free,
.sis-lp-native-actions .course-price .origin-price {
	color: var(--sis-lp-text);
}

.sis-lp-action-panel .lp-course-buttons,
.sis-lp-action-panel .lp-course-buttons-wrapper {
	display: grid;
	gap: 0.55rem;
	width: 100%;
}

.sis-lp-action-panel .lp-course-buttons :is(form, div),
.sis-lp-action-panel .lp-course-buttons-wrapper :is(form, div) {
	width: 100%;
}

body.sis-learnpress :is(.lp-button, button.lp-button, .button-enroll-course, .button-purchase-course, .course-btn-continue, .btn-purchase-certificate) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-height: 2.55rem;
	padding: 0.72rem 1rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.74);
	border-radius: 0.375rem;
	background: var(--color-brand-gold, #d4af37);
	color: var(--color-accent-contrast, #050505) !important;
	font-weight: 700;
	line-height: 1.1;
	text-decoration: none;
	white-space: normal;
	cursor: pointer;
	transition: filter 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
}

body.sis-learnpress :is(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 3px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.62);
	outline-offset: 3px;
}

.sis-lp-action-panel :is(.lp-button, button.lp-button, .button-enroll-course, .button-purchase-course, .course-btn-continue, .btn-purchase-certificate) {
	width: 100%;
}

body.sis-learnpress :is(.lp-button, button.lp-button, .button-enroll-course, .button-purchase-course, .course-btn-continue, .btn-purchase-certificate):hover,
body.sis-learnpress :is(.lp-button, button.lp-button, .button-enroll-course, .button-purchase-course, .course-btn-continue, .btn-purchase-certificate):focus-visible {
	filter: brightness(1.04);
	transform: translateY(-1px);
}

.sis-lp-action-links {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.45rem;
	padding-top: 0.65rem;
	border-top: 1px solid var(--sis-lp-border);
}

.sis-lp-action-links a {
	display: flex;
	align-items: center;
	min-height: 2.25rem;
	padding: 0.55rem 0.65rem;
	border: 1px solid var(--sis-lp-border);
	border-radius: 0.375rem;
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.68);
	color: var(--sis-lp-text);
	font-size: 0.84rem;
	font-weight: 700;
	line-height: 1.15;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.sis-lp-action-links a:hover,
.sis-lp-action-links a:focus-visible {
	border-color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.72);
	color: var(--sis-lp-accent);
}

#learn-press-course-curriculum {
	margin: 0;
	color: var(--sis-lp-text);
}

#learn-press-course-curriculum .curriculum-scrollable,
#learn-press-course-curriculum .curriculum-sections,
#learn-press-course-curriculum .section-content {
	margin: 0;
	padding: 0;
	list-style: none;
}

#learn-press-course-curriculum .curriculum-sections {
	display: grid;
	gap: 0.55rem;
}

#learn-press-course-curriculum .section {
	overflow: hidden;
	border: 1px solid var(--sis-lp-border);
	border-radius: 0.5rem;
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.86);
}

#learn-press-course-curriculum .section-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.65rem;
	padding: 0.65rem 0.8rem;
	background: var(--sis-lp-panel-soft);
}

#learn-press-course-curriculum .section-left {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 0.5rem;
	width: 100%;
	min-width: 0;
	cursor: pointer;
}

#learn-press-course-curriculum .section-left:focus-visible {
	outline: 3px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.62);
	outline-offset: 3px;
}

#learn-press-course-curriculum .section-title-wrap {
	display: grid;
	gap: 0.15rem;
	min-width: 0;
}

#learn-press-course-curriculum .section-title {
	margin: 0;
	color: var(--sis-lp-text) !important;
	font-size: 0.92rem;
	font-weight: 800;
	line-height: 1.22;
}

#learn-press-course-curriculum .section-desc {
	margin: 0.35rem 0 0;
	color: var(--sis-lp-muted);
	font-size: 0.9rem;
	font-weight: 500;
}

#learn-press-course-curriculum .section-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 1.55rem;
	padding: 0.22rem 0.5rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.28);
	border-radius: 999px;
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.11);
	color: var(--sis-lp-accent);
	font-size: 0.7rem;
	font-weight: 800;
	white-space: nowrap;
}

#learn-press-course-curriculum .section-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.55rem;
	height: 1.55rem;
	border: 1px solid var(--sis-lp-border);
	border-radius: 999px;
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.74);
	color: var(--sis-lp-text);
}

#learn-press-course-curriculum .section.closed .section-content,
#learn-press-course-curriculum .section-content[hidden] {
	display: none;
}

#learn-press-course-curriculum .section-content {
	display: grid;
}

#learn-press-course-curriculum .course-item {
	border-top: 1px solid var(--sis-lp-border);
}

#learn-press-course-curriculum .section-item-link {
	display: grid;
	grid-template-columns: 1.35rem minmax(0, 1fr) auto;
	column-gap: 0.65rem;
	row-gap: 0.15rem;
	align-items: center;
	min-height: 2.8rem;
	padding: 0.48rem 0.78rem;
	color: var(--sis-lp-text);
	text-decoration: none;
}

#learn-press-course-curriculum .section-item-link::before {
	grid-column: 1;
	grid-row: 1;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 1.35rem !important;
	min-width: 1.35rem;
	height: 1.35rem;
	margin: 0 !important;
	border-radius: 999px;
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
	color: var(--sis-lp-accent);
	font-size: 0.78rem;
	text-align: center;
}

#learn-press-course-curriculum .section-item-link:hover,
#learn-press-course-curriculum .section-item-link:focus-visible {
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.1);
}

#learn-press-course-curriculum :is(.item-name, .item-title, .course-item-title) {
	grid-column: 2;
	grid-row: 1;
	min-width: 0;
	color: var(--sis-lp-text);
	font-size: 0.9rem;
	font-weight: 700;
	overflow-wrap: anywhere;
}

#learn-press-course-curriculum .course-item-meta {
	grid-column: 3;
	grid-row: 1;
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.35rem;
	width: auto;
	min-width: 1.35rem;
	margin: 0;
	color: var(--sis-lp-muted);
	font-size: 0.75rem;
	white-space: nowrap;
}

#learn-press-course-curriculum :is(.item-meta, .item-status, .duration, .count-questions, .question-count) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--sis-lp-muted);
	font-size: 0.75rem;
}

#learn-press-course-curriculum .course-item.item-locked .section-item-link,
#learn-press-course-curriculum .section-item-link[aria-disabled='true'] {
	cursor: not-allowed;
	background: rgb(var(--color-surface-900-rgb, 246 239 231) / 0.35);
	opacity: 0.78;
}

#learn-press-course-curriculum .course-item.item-preview .section-item-link {
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.08);
}

#learn-press-course-curriculum .course-item.current .section-item-link {
	box-shadow: inset 4px 0 0 var(--color-brand-gold, #d4af37);
}

#learn-press-course-curriculum .learn-press-progress {
	min-width: 6rem;
	height: 0.45rem;
	overflow: hidden;
	border-radius: 999px;
	background: rgb(var(--color-surface-800-rgb, 226 218 207) / 0.9);
}

#learn-press-course-curriculum .learn-press-progress__active {
	height: 100%;
	border-radius: inherit;
	background: var(--color-brand-gold, #d4af37);
}

body.sis-learnpress :is(.learn-press-message, .lp-message, .message) {
	padding: 1rem 1.1rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.28);
	border-radius: 0.5rem;
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.1);
	color: var(--sis-lp-text);
}

body.sis-learnpress #learn-press-checkout {
	box-sizing: border-box;
	width: min(58rem, calc(100vw - 2rem)) !important;
	max-width: min(58rem, calc(100vw - 2rem)) !important;
	margin: clamp(0.75rem, 2vw, 1.25rem) auto clamp(2.5rem, 5vw, 4rem) !important;
	padding: clamp(0.9rem, 2vw, 1.25rem) !important;
	border: 1px solid var(--sis-lp-border);
	border-radius: 0.5rem;
	background:
		linear-gradient(180deg, rgb(var(--color-surface-950-rgb, 255 255 255) / 0.98), rgb(var(--color-surface-900-rgb, 246 239 231) / 0.92)),
		var(--sis-lp-panel-bg);
	box-shadow: 0 26px 46px -38px rgb(15 23 42 / 0.26);
}

body.sis-learnpress #learn-press-checkout .learn-press-message.error {
	display: block;
	margin: 0 0 0.85rem;
	padding: 0.75rem 0.9rem;
	border-color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.3);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.11);
	font-size: 0.94rem;
	font-weight: 700;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

body.sis-learnpress #learn-press-checkout .learn-press-message.error a {
	display: inline;
	color: var(--sis-lp-text);
	text-decoration-color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.7);
}

body.sis-learnpress #learn-press-checkout .learn-press-message.error::after {
	content: 'Browse courses or return to your profile to continue learning.';
	display: block;
	margin-top: 0.25rem;
	color: var(--sis-lp-muted);
	font-size: 0.8rem;
	font-weight: 600;
	line-height: 1.35;
}

body.sis-learnpress #learn-press-checkout-form {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.88fr);
	gap: 0.85rem;
	align-items: start;
	width: 100%;
	margin: 0 !important;
}

body.sis-learnpress #learn-press-checkout-form > .lp-checkout-form__after {
	grid-column: 1;
	grid-row: 1;
	display: grid;
	gap: 0.75rem;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	min-width: 0;
}

body.sis-learnpress #learn-press-checkout-form > .lp-checkout-form__before {
	grid-column: 2;
	grid-row: 1;
	display: grid;
	gap: 0.75rem;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	min-width: 0;
}

body.sis-learnpress #learn-press-checkout-form > input[type='radio'] {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

body.sis-learnpress #learn-press-checkout :is(#checkout-account-login, #checkout-order, .learn-press-checkout-comment) {
	margin: 0 !important;
	padding: 0.85rem;
	border: 1px solid var(--sis-lp-border);
	border-radius: 0.5rem;
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.76);
	color: var(--sis-lp-text);
	overflow: visible !important;
}

body.sis-learnpress #learn-press-checkout :is(#checkout-account-login, #checkout-order, .learn-press-checkout-comment, #checkout-payment) h4 {
	margin: 0 0 0.65rem;
	color: var(--sis-lp-text) !important;
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.2;
	text-transform: none;
}

body.sis-learnpress #checkout-account-login .lp-form-fields {
	display: grid;
	gap: 0.58rem;
	margin: 0 0 0.65rem;
	padding: 0;
	list-style: none;
}

body.sis-learnpress #checkout-account-login .form-field {
	margin: 0;
}

body.sis-learnpress #checkout-account-login label {
	display: block;
	margin: 0 0 0.24rem;
	color: var(--sis-lp-text);
	font-size: 0.82rem;
	font-weight: 700;
	line-height: 1.25;
}

body.sis-learnpress #checkout-account-login :is(input[type='text'], input[type='password']) {
	width: 100%;
	min-height: 2.35rem;
	padding: 0.54rem 0.7rem;
	border: 1px solid var(--sis-lp-border);
	border-radius: 0.375rem;
	background: var(--sis-lp-panel-bg);
	color: var(--sis-lp-text);
	font-size: 0.9rem;
}

body.sis-learnpress #checkout-account-login .lp-checkout-remember {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin: 0;
	padding-top: 0.1rem;
	color: var(--sis-lp-muted);
	font-size: 0.82rem;
	line-height: 1.2;
}

body.sis-learnpress #checkout-account-login .lp-checkout-remember label {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	width: auto;
	margin: 0;
	color: var(--sis-lp-muted);
	font-size: inherit;
	font-weight: 600;
}

body.sis-learnpress #checkout-account-login .lp-checkout-remember input[type='checkbox'] {
	position: static;
	width: 1rem;
	height: 1rem;
	margin: 0;
	accent-color: var(--color-brand-gold, #d4af37);
}

body.sis-learnpress #checkout-account-login .lp-lost-password-link {
	color: var(--sis-lp-muted);
	text-decoration: underline;
	text-decoration-color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.38);
}

body.sis-learnpress #checkout-account-login .lp-checkout-sign-up-link:empty {
	display: none;
}

body.sis-learnpress #checkout-order .lp-checkout-order__inner {
	overflow: hidden;
	border: 1px solid var(--sis-lp-border);
	border-radius: 0.375rem;
	background: var(--sis-lp-panel-bg);
}

body.sis-learnpress #checkout-order table {
	border: 0;
	border-radius: 0;
	border-collapse: collapse;
	background: transparent;
}

body.sis-learnpress #checkout-order :is(th, td) {
	padding: 0.58rem 0.65rem;
	border: 0;
	border-bottom: 1px solid var(--sis-lp-border);
	color: var(--sis-lp-text);
	font-size: 0.88rem;
	line-height: 1.25;
	vertical-align: middle;
}

body.sis-learnpress #checkout-order .course-thumbnail {
	display: none !important;
	width: 0 !important;
	min-width: 0 !important;
	padding: 0 !important;
}

body.sis-learnpress #checkout-order .course-name a {
	display: block;
	color: var(--sis-lp-text);
	font-weight: 800;
	text-decoration: none;
	overflow-wrap: anywhere;
}

body.sis-learnpress #checkout-order .col-number {
	width: 5.5rem;
	color: var(--sis-lp-muted);
	text-align: right;
	white-space: nowrap;
}

body.sis-learnpress #checkout-order tfoot tr:last-child :is(th, td) {
	border-bottom: 0;
}

body.sis-learnpress #checkout-order .order-total :is(th, td) {
	font-size: 1rem;
	font-weight: 900;
}

body.sis-learnpress .learn-press-checkout-comment {
	display: grid;
	gap: 0.45rem;
}

body.sis-learnpress .learn-press-checkout-comment h4 {
	margin: 0 !important;
	font-size: 0.88rem !important;
}

body.sis-learnpress .learn-press-checkout-comment textarea.order-comments {
	display: block;
	width: 100%;
	min-height: 5.25rem;
	height: 5.25rem;
	padding: 0.62rem 0.7rem;
	border: 1px solid var(--sis-lp-border);
	border-radius: 0.375rem;
	background: var(--sis-lp-panel-bg);
	color: var(--sis-lp-text);
	font-size: 0.88rem;
	line-height: 1.45;
	resize: vertical;
}

body.sis-learnpress #checkout-payment {
	margin: 0 !important;
	padding: 0;
}

body.sis-learnpress #checkout-payment .place-order-action {
	margin: 0;
}

body.sis-learnpress #learn-press-checkout-place-order {
	width: 100%;
	min-height: 2.5rem;
	border-radius: 0.375rem;
}

body.sis-learnpress #learn-press-checkout .lp-terms-and-conditions {
	margin: 0.65rem 0 0;
	color: var(--sis-lp-muted);
	font-size: 0.78rem;
	line-height: 1.4;
}

body.sis-learnpress #learn-press-checkout :is(table, .lp-list-table) {
	width: 100%;
	border: 1px solid var(--sis-lp-border);
	border-radius: 0.5rem;
	overflow: hidden;
	background: var(--sis-lp-panel-bg);
}

@media screen and (max-width: 815px) {
	body.sis-learnpress #learn-press-checkout {
		width: min(100%, calc(100vw - 1rem)) !important;
		max-width: min(100%, calc(100vw - 1rem)) !important;
		margin-top: 0.75rem !important;
		padding: 0.85rem !important;
	}

	body.sis-learnpress #learn-press-checkout .learn-press-message.error {
		margin-bottom: 0.75rem;
		padding: 0.72rem 0.78rem;
		font-size: 0.88rem;
	}

	body.sis-learnpress #learn-press-checkout-form {
		grid-template-columns: minmax(0, 1fr);
		gap: 0.75rem;
	}

	body.sis-learnpress #learn-press-checkout-form > .lp-checkout-form__after {
		grid-column: 1;
		grid-row: 1;
	}

	body.sis-learnpress #learn-press-checkout-form > .lp-checkout-form__before {
		grid-column: 1;
		grid-row: 2;
	}

	body.sis-learnpress #learn-press-checkout :is(#checkout-account-login, #checkout-order, .learn-press-checkout-comment) {
		padding: 0.75rem;
	}

	body.sis-learnpress #checkout-account-login .lp-checkout-remember {
		align-items: flex-start;
	}

	body.sis-learnpress #checkout-order :is(th, td) {
		padding: 0.55rem;
		font-size: 0.84rem;
	}

	body.sis-learnpress #checkout-order .col-number {
		width: 4.75rem;
	}
}

#popup-course,
#learn-press-content-item {
	background: var(--sis-lp-panel-bg);
	color: var(--sis-lp-text);
}

body.sis-learnpress #popup-course {
	padding-bottom: var(--sis-lp-safe-bottom);
}

body.sis-lp-classroom {
	overflow: hidden;
}

body.sis-lp-classroom :is(footer, .site-footer, #colophon, #loginform, .login form) {
	display: none !important;
}

body.sis-lp-classroom #popup-course {
	min-height: 100vh;
}

body.sis-learnpress #popup-header {
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.98) !important;
	border-bottom: 1px solid var(--sis-lp-border);
	box-shadow: 0 20px 34px -34px rgb(15 23 42 / 0.42);
	color: var(--sis-lp-text);
}

body.sis-learnpress #popup-header :is(a, button, .popup-header__inner, .course-title, .items-progress) {
	color: var(--sis-lp-text) !important;
}

body.sis-learnpress #learn-press-item-comments {
	display: none !important;
}

#popup-course :is(.course-curriculum, .curriculum-sections, .section-content),
#learn-press-content-item :is(.content-item-wrap, .content-item-summary, .learn-press-content-item-container) {
	color: var(--sis-lp-text);
}

#popup-course :is(.lp-course-curriculum, .course-section, .course-section__items, .course-item__link),
#learn-press-content-item :is(.content-item-summary, .content-item-description, .course-item-nav) {
	border-color: var(--sis-lp-border);
	color: var(--sis-lp-text);
}

#popup-course .lp-course-curriculum {
	background: var(--sis-lp-panel-bg);
}

#popup-course .course-section {
	border: 1px solid var(--sis-lp-border);
	border-radius: 0.5rem;
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.9);
}

#popup-course .course-section-header {
	background: var(--sis-lp-panel-soft);
	color: var(--sis-lp-text);
}

#popup-course .course-item__link {
	min-height: 3rem;
	text-decoration: none;
}

#popup-course .course-item.current .course-item__link,
#popup-course .course-item__link:hover,
#popup-course .course-item__link:focus-visible {
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.1);
}

#popup-course :is(.course-section__title, .course-item-title, .course-item__content, .course-item__left) {
	color: var(--sis-lp-text);
}

#popup-course :is(.course-section__description, .course-curriculum-info, .course-count-section, .course-count-lesson, .course-duration) {
	color: var(--sis-lp-muted);
}

#learn-press-content-item .content-item-summary {
	padding: clamp(1rem, 3vw, 2rem);
	border-radius: 0.5rem;
	background: var(--sis-lp-panel-bg);
}

#learn-press-content-item .content-item-description {
	line-height: 1.75;
}

#learn-press-content-item .content-item-description iframe[src*='youtube.com/embed'],
#learn-press-content-item .content-item-description iframe[src*='youtube-nocookie.com/embed'] {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	aspect-ratio: 16 / 9;
	margin-inline: auto;
	border: 0;
	border-radius: 0.5rem;
}

#learn-press-content-item .course-item-nav a {
	color: var(--sis-lp-text);
	text-decoration: none;
}

#learn-press-content-item .course-item-nav a:hover,
#learn-press-content-item .course-item-nav a:focus-visible {
	color: var(--sis-lp-accent);
}

#popup-course :is(h1, h2, h3, h4, h5, h6),
#learn-press-content-item :is(h1, h2, h3, h4, h5, h6) {
	color: var(--sis-lp-text) !important;
}

#learn-press-checkout,
#learn-press-checkout-form,
body.sis-lp-profile #learn-press-profile {
	color: var(--sis-lp-text);
}

body.sis-learnpress :is(#learn-press-checkout-form, .learn-press-form, .lp-list-table, .order-comments, .learn-press-profile-course__tab__inner) {
	border-color: var(--sis-lp-border);
	border-radius: 0.5rem;
}

body.sis-learnpress :is(input:not([type='checkbox']):not([type='radio']):not([type='submit']), textarea, select) {
	max-width: 100%;
	color: var(--sis-lp-text);
}

#learn-press-profile :is(.learn-press-profile-course__tab__inner, .lp-profile-content, .lp-tab-sections, .profile-courses, .profile-quizzes, .profile-orders) {
	color: var(--sis-lp-text);
}

#learn-press-profile :is(table, .lp-list-table) {
	width: 100%;
	border-collapse: collapse;
	color: var(--sis-lp-text);
}

#learn-press-profile :is(th, td) {
	border-color: var(--sis-lp-border);
	color: var(--sis-lp-text);
}

.learnpress-certificates-profile,
.profile-certificates,
.wrap-content-certificates {
	color: var(--sis-lp-text);
}

.learnpress-certificates-profile .profile-heading,
.profile-certificates .profile-heading,
.wrap-content-certificates .profile-heading {
	margin: 0 0 1rem;
	color: var(--sis-lp-text) !important;
	font-family: 'Playfair Display', serif;
	font-size: clamp(1.45rem, 3vw, 2.1rem);
	line-height: 1.12;
}

.profile-certificates {
	display: grid;
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.profile-certificates .course,
.learnpress-certificates-profile .certificate,
.single-certificate-content .certificate {
	padding: 1rem;
	border: 1px solid var(--sis-lp-border);
	border-radius: 0.5rem;
	background: var(--sis-lp-panel-bg);
}

.certificate-preview,
.certificate-preview-inner {
	max-width: 100%;
}

.single-certificate-content .certificate-result {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	margin-inline: auto;
}

.certificate-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
}

.sis-lp-course-extra-tabs,
.sis-lp-extension-hooks {
	display: grid;
	gap: 1rem;
	margin-top: 1.5rem;
}

.sis-lp-extra-tab,
.sis-lp-extension-hooks > * {
	padding: clamp(1rem, 2vw, 1.5rem);
	border: 1px solid var(--sis-lp-border);
	border-radius: 0.5rem;
	background: var(--sis-lp-panel-bg);
	color: var(--sis-lp-text);
}

.sis-lp-extra-tab h3 {
	margin: 0 0 0.75rem;
	color: var(--sis-lp-accent);
	font-size: 1.1rem;
	font-weight: 800;
	line-height: 1.25;
}

.sis-lp-extra-tab-content,
.sis-lp-extension-hooks {
	color: var(--sis-lp-text);
	overflow-wrap: anywhere;
}

.sis-lp-extra-tab-content :is(a, button),
.sis-lp-extension-hooks :is(a, button) {
	max-width: 100%;
}

@media screen and (max-width: 1023px) {
	.sis-lp-course-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.sis-lp-course-aside {
		position: static;
		order: -1;
	}

	.sis-lp-course-main {
		order: 0;
	}
}

@media screen and (max-width: 640px) {
	.sis-lp-course-shell {
		padding-top: 1rem !important;
	}

	.sis-lp-breadcrumb {
		margin-bottom: 0.65rem !important;
		font-size: 0.76rem !important;
	}

	.sis-lp-course-hero {
		grid-template-columns: 2.35rem minmax(0, 1fr);
		gap: 0.65rem;
		margin-bottom: 0.85rem;
		padding: 0.9rem;
	}

	.sis-lp-course-hero--media {
		grid-template-columns: 5.25rem minmax(0, 1fr);
		align-items: center;
	}

	.sis-lp-course-hero--media .sis-lp-course-visual {
		min-height: 5.25rem;
		aspect-ratio: 1;
	}

	.sis-lp-course-hero-image {
		min-height: 5.25rem;
	}

	.sis-lp-course-icon {
		width: 2.35rem;
		height: 2.35rem;
	}

	.sis-lp-course-icon--overlay {
		left: 0.4rem;
		bottom: 0.4rem;
		width: 1.85rem;
		height: 1.85rem;
		border-radius: 0.42rem;
	}

	.sis-lp-course-icon .material-symbols-rounded {
		font-size: 1.35rem;
	}

	.sis-lp-course-icon--overlay .material-symbols-rounded {
		font-size: 1.05rem;
	}

	.sis-lp-course-hero h1 {
		font-size: 1.45rem !important;
	}

	body.sis-learnpress .sis-lp-course-hero h1 .font-arabic {
		font-size: 1.05rem !important;
	}

	.sis-lp-course-meta {
		gap: 0.25rem 0.55rem !important;
		margin-top: 0.55rem !important;
	}

	.sis-lp-content-panel.p-8,
	.sis-lp-action-panel.p-8 {
		padding: 0.95rem !important;
	}

	.sis-lp-action-links a {
		font-size: 0.78rem;
	}

	#learn-press-course-curriculum .section-header,
	#learn-press-course-curriculum .section-item-link {
		padding-left: 0.65rem;
		padding-right: 0.65rem;
	}

	#learn-press-course-curriculum .section-item-link {
		grid-template-columns: 1.25rem minmax(0, 1fr) auto;
		column-gap: 0.55rem;
		min-height: 2.75rem;
	}

	#learn-press-course-curriculum .section-item-link::before {
		width: 1.25rem !important;
		min-width: 1.25rem;
		height: 1.25rem;
	}
}

@media screen and (max-width: 782px) {
	body.sis-learnpress[data-cookie-banner='visible'] {
		--sis-lp-safe-bottom: 10.5rem;
	}

	body.sis-learnpress #cookie-consent-banner {
		left: 0.75rem;
		right: 0.75rem;
		bottom: 0.75rem;
		max-width: none;
		padding: 0.9rem;
	}

	body.sis-learnpress #popup-course {
		display: flex !important;
		flex-direction: column;
		overflow-x: hidden;
		overflow-y: auto;
		background: var(--sis-lp-panel-bg);
	}

	body.sis-learnpress #popup-header {
		position: sticky !important;
		top: 0;
		left: 0 !important;
		z-index: 40;
		order: 0;
		width: 100% !important;
		min-height: 4rem;
		background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.96);
		border-bottom: 1px solid var(--sis-lp-border);
	}

	body.sis-learnpress #popup-content {
		position: relative !important;
		left: 0 !important;
		order: 1;
		width: 100% !important;
		min-width: 0;
		height: auto !important;
		margin: 0 !important;
		padding: 0.9rem;
		overflow: visible;
		transform: none !important;
	}

	body.sis-learnpress #learn-press-content-item,
	body.sis-learnpress #learn-press-content-item :is(.content-item-scrollable, .content-item-wrap, .content-item-summary) {
		position: relative !important;
		left: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0;
		margin: 0 !important;
		transform: none !important;
	}

body.sis-learnpress #popup-sidebar {
		position: relative !important;
		left: 0 !important;
		order: 2;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: 42vh;
		margin: 0 !important;
		overflow: auto;
		border-top: 1px solid var(--sis-lp-border);
		background: var(--sis-lp-panel-bg);
		transform: none !important;
	}

	body.sis-learnpress #popup-sidebar::before {
		content: 'Course contents';
		position: sticky;
		top: 0;
		z-index: 2;
		display: block;
		padding: 0.75rem 1rem;
		border-bottom: 1px solid var(--sis-lp-border);
		background: var(--sis-lp-panel-soft);
		color: var(--sis-lp-text);
		font-size: 0.78rem;
		font-weight: 800;
		letter-spacing: 0.12em;
		text-transform: uppercase;
	}

	body.sis-learnpress #popup-sidebar :is(.search-course, .course-curriculum) {
		position: static !important;
		width: 100% !important;
		max-width: 100%;
		height: auto !important;
	}

	body.sis-learnpress #popup-footer {
		position: sticky !important;
		left: 0 !important;
		bottom: 0;
		z-index: 35;
		order: 3;
		width: 100% !important;
		background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.96);
		border-top: 1px solid var(--sis-lp-border);
	}

	body.sis-learnpress #learn-press-content-item .course-item-nav {
		position: sticky;
		bottom: 0.75rem;
		z-index: 5;
		display: flex;
		justify-content: flex-end;
		width: 100%;
		margin-top: 1rem;
	}
}

body.learnpress-profile .theme-switcher-widget,
body.sis-learnpress .theme-switcher-widget {
	display: none !important;
	opacity: 0 !important;
	pointer-events: none !important;
	visibility: hidden !important;
}

@media screen and (max-width: 767px) {
	.theme-switcher-widget {
		display: flex !important;
		left: 50% !important;
		right: auto !important;
		top: auto !important;
		bottom: calc(env(safe-area-inset-bottom, 0px) + 0.75rem) !important;
		width: auto !important;
		max-width: calc(100vw - 1.5rem);
		max-height: none;
		overflow-x: auto;
		overflow-y: hidden;
		transform: translateX(-50%) !important;
		z-index: 92 !important;
		padding: 0.35rem !important;
		border-radius: 999px;
	}

	.theme-switcher-widget .theme-switcher-themes {
		flex-direction: row !important;
		gap: 0.35rem !important;
	}

	.theme-switcher-widget .theme-btn {
		width: 2.75rem !important;
		height: 2.75rem !important;
		min-width: 2.75rem !important;
		min-height: 2.75rem !important;
	}

	body[data-cookie-banner='visible'] .theme-switcher-widget {
		bottom: calc(env(safe-area-inset-bottom, 0px) + 11rem) !important;
	}
}

body[data-overlay-open='true'] .theme-switcher-widget,
body[data-mobile-menu-open='true'] .theme-switcher-widget {
	opacity: 0 !important;
	pointer-events: none !important;
	visibility: hidden !important;
}

body.sis-learnpress .theme-switcher-widget {
	display: none !important;
	opacity: 0 !important;
	pointer-events: none !important;
	visibility: hidden !important;
}

/* Editable utility pages: How To Use and Coming Soon. */
.sis-section-copy {
	max-width: 48rem;
	margin: 0;
	font-size: clamp(0.98rem, 1.25vw, 1.08rem);
	line-height: 1.58;
	color: var(--color-surface-muted, #57534e);
}

.sis-how-hero-actions,
.sis-coming-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1rem;
}

.sis-how-hero-panel,
.sis-coming-panel {
	--sis-utility-panel-padding: clamp(1rem, 2vw, 1.35rem);
	display: grid;
	gap: 0.85rem;
	align-self: stretch;
	overflow: hidden;
	padding: var(--sis-utility-panel-padding);
}

.sis-how-hero-image,
.sis-coming-hero-image {
	min-height: clamp(8rem, 16vw, 11rem);
	margin: calc(0rem - var(--sis-utility-panel-padding)) calc(0rem - var(--sis-utility-panel-padding)) 0;
}

.sis-how-proof-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.55rem;
}

.sis-how-section-header,
.sis-coming-section-header {
	max-width: 56rem;
}

.sis-how-step-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(0.8rem, 1.8vw, 1rem);
}

.sis-how-step-card {
	position: relative;
	display: grid;
	gap: 0.75rem;
	min-height: 100%;
	padding: 1.05rem;
	text-decoration: none;
}

.sis-how-step-number {
	position: absolute;
	top: 0.9rem;
	right: 0.9rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.85rem;
	height: 1.85rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.32);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
	color: var(--color-accent-text, var(--color-brand-gold));
	font-size: 0.8rem;
	font-weight: 900;
}

.sis-how-step-icon,
.sis-how-guide-icon,
.sis-coming-feature-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.22);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-how-step-body {
	display: grid;
	gap: 0.45rem;
	min-width: 0;
}

.sis-how-step-title,
.sis-how-guide-title {
	font-size: 1.05rem;
	font-weight: 850;
	line-height: 1.2;
	color: var(--color-surface-text, #18181b);
}

.sis-how-step-copy,
.sis-how-guide-copy {
	font-size: 0.9rem;
	line-height: 1.48;
	color: var(--color-surface-muted, #57534e);
}

.sis-how-step-link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin-top: 0.2rem;
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-how-guide-band {
	background: linear-gradient(180deg, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.5), rgb(var(--color-surface-950-rgb, 255 255 255) / 0));
}

.sis-how-guide-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.85rem;
}

.sis-how-guide-row {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.85rem;
	padding: 0.95rem;
	text-decoration: none;
}

.sis-how-guide-body {
	display: grid;
	gap: 0.25rem;
	min-width: 0;
}

.sis-how-guide-arrow {
	font-size: 1.15rem;
	color: var(--color-accent-text, var(--color-brand-gold));
	transition: transform 0.18s ease;
}

a.sis-how-guide-row:hover .sis-how-guide-arrow,
a.sis-how-guide-row:focus-visible .sis-how-guide-arrow {
	transform: translateX(0.18rem);
}

[dir='rtl'] a.sis-how-guide-row:hover .sis-how-guide-arrow,
[dir='rtl'] a.sis-how-guide-row:focus-visible .sis-how-guide-arrow {
	transform: translateX(-0.18rem);
}

.sis-how-faq-list {
	display: grid;
	gap: 0.7rem;
}

.sis-how-faq-card {
	padding: 0;
	overflow: hidden;
}

.sis-how-faq-card summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 3.4rem;
	padding: 0.9rem 1rem;
	cursor: pointer;
	list-style: none;
	font-weight: 800;
	color: var(--color-surface-text, #18181b);
}

.sis-how-faq-card summary::-webkit-details-marker {
	display: none;
}

.sis-how-faq-card summary .material-symbols-rounded {
	flex-shrink: 0;
	color: var(--color-accent-text, var(--color-brand-gold));
	transition: transform 0.18s ease;
}

.sis-how-faq-card[open] summary .material-symbols-rounded {
	transform: rotate(180deg);
}

.sis-how-faq-card p {
	margin: 0;
	padding: 0 1rem 1rem;
	font-size: 0.96rem;
	line-height: 1.58;
	color: var(--color-surface-muted, #57534e);
}

.sis-how-cta {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: clamp(1rem, 2.4vw, 1.5rem);
	padding: clamp(1.25rem, 2.6vw, 1.8rem);
}

.sis-how-cta-title,
.sis-coming-form-title,
.sis-coming-feature-card h3 {
	margin: 0;
	font-size: clamp(1.35rem, 2.35vw, 1.9rem);
	line-height: 1.15;
	color: var(--color-surface-text, #18181b);
}

.sis-how-cta-copy,
.sis-coming-form-copy,
.sis-coming-feature-card p {
	margin: 0.55rem 0 0;
	font-size: 0.98rem;
	line-height: 1.55;
	color: var(--color-surface-muted, #57534e);
}

.sis-how-cta-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 0.65rem;
}

.sis-coming-hero-inner {
	grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.42fr);
}

.sis-coming-date-card {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.9rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.22);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.11);
}

.sis-coming-date-card > .material-symbols-rounded {
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-coming-date-card > span:last-child {
	display: grid;
	gap: 0.1rem;
}

.sis-coming-date-label {
	font-size: 0.64rem;
	font-weight: 850;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--color-surface-muted, #57534e);
}

.sis-coming-date-value {
	font-size: 1.05rem;
	font-weight: 900;
	color: var(--color-surface-text, #18181b);
}

.sis-coming-layout {
	display: grid;
	grid-template-columns: minmax(18rem, 0.42fr) minmax(0, 1fr);
	gap: clamp(1rem, 2.4vw, 1.4rem);
	align-items: start;
}

.sis-coming-form-card {
	display: grid;
	gap: 0.9rem;
	padding: clamp(1.15rem, 2.3vw, 1.55rem);
}

.sis-coming-form {
	display: grid;
	gap: 0.7rem;
}

.sis-coming-form input[type='email'] {
	width: 100%;
	min-height: 2.85rem;
	padding: 0.75rem 0.9rem;
	border: 1px solid var(--color-control-border, #b8a590);
	background: var(--color-control-bg, #ffffff);
	color: var(--color-control-text, #18181b);
	font-size: 0.94rem;
	outline: none;
}

.sis-coming-form input[type='email']:focus {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	box-shadow: 0 0 0 3px rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.18);
}

.sis-coming-back-link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	width: max-content;
	color: var(--color-accent-text, var(--color-brand-gold));
	font-size: 0.78rem;
	font-weight: 850;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
}

.sis-coming-features {
	min-width: 0;
}

.sis-coming-feature-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.85rem;
}

.sis-coming-feature-card {
	display: grid;
	gap: 0.65rem;
	padding: 1rem;
}

@media screen and (max-width: 1023px) {
	.sis-how-step-grid,
	.sis-coming-feature-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sis-coming-hero-inner,
	.sis-coming-layout {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media screen and (max-width: 767px) {
	.sis-how-hero-actions,
	.sis-coming-hero-actions,
	.sis-how-cta-actions {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}

	.sis-how-hero-actions :is(.sis-btn-primary, .sis-btn-secondary),
	.sis-coming-hero-actions :is(.sis-btn-primary, .sis-btn-secondary),
	.sis-how-cta-actions :is(.sis-btn-primary, .sis-btn-secondary) {
		width: 100%;
	}

	.sis-how-proof-grid {
		gap: 0.42rem;
	}

	.sis-how-step-grid,
	.sis-how-guide-list,
	.sis-coming-feature-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.sis-how-step-card,
	.sis-how-guide-row,
	.sis-coming-feature-card {
		padding: 0.9rem;
	}

	.sis-how-step-card {
		grid-template-columns: auto minmax(0, 1fr);
		align-items: start;
	}

	.sis-how-step-number {
		top: 0.75rem;
		right: 0.75rem;
		width: 1.55rem;
		height: 1.55rem;
		font-size: 0.7rem;
	}

	.sis-how-step-icon {
		width: 2.35rem;
		height: 2.35rem;
	}

	.sis-how-step-body {
		padding-inline-end: 1.65rem;
	}

	.sis-how-cta {
		grid-template-columns: minmax(0, 1fr);
	}

	.sis-how-cta-actions {
		justify-content: stretch;
	}
}

/* Editorial fallback shell for default WordPress/plugin pages. */
.sis-fallback-hero-inner {
	grid-template-columns: minmax(0, 1.08fr) minmax(17rem, 0.52fr);
}

.sis-fallback-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.1rem;
}

.sis-fallback-hero-panel {
	display: grid;
	gap: 0.9rem;
	align-self: stretch;
	padding: clamp(1.1rem, 2vw, 1.4rem);
	overflow: hidden;
}

.sis-fallback-hero-media {
	position: relative;
	overflow: hidden;
	aspect-ratio: 16 / 10;
	margin: -0.2rem -0.2rem 0;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.22);
	background: rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.1);
}

.sis-fallback-hero-media::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgb(0 0 0 / 0) 42%, rgb(0 0 0 / 0.34) 100%);
	pointer-events: none;
}

.sis-fallback-hero-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sis-fallback-hero-mark {
	display: inline-grid;
	width: clamp(4.75rem, 9vw, 6.5rem);
	height: clamp(4.75rem, 9vw, 6.5rem);
	place-items: center;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.28);
	background:
		radial-gradient(circle at 25% 20%, rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.24), transparent 48%),
		linear-gradient(135deg, rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.16), rgb(var(--color-surface-950-rgb, 255 255 255) / 0.78));
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-fallback-hero-mark .material-symbols-rounded {
	font-size: clamp(2.2rem, 5vw, 3.2rem);
	font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 40;
}

.sis-fallback-panel-eyebrow {
	margin: 0;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-fallback-panel-copy {
	margin: 0;
	font-size: 0.94rem;
	line-height: 1.55;
	color: var(--color-surface-muted, #57534e);
}

.sis-fallback-content-section {
	padding-top: var(--sis-density-section-y-tight, clamp(1.65rem, 3.8vw, 2.65rem));
}

.sis-fallback-content-card {
	padding: clamp(1.3rem, 2.6vw, 2rem);
}

.sis-fallback-content-prose {
	display: grid;
	gap: 1rem;
	max-width: 76ch;
	color: var(--color-surface-text, #18181b);
}

.sis-fallback-content-prose :is(h2, h3, h4) {
	margin: 1.15em 0 0.45em;
	color: var(--color-surface-text, #18181b);
	line-height: 1.15;
}

.sis-fallback-content-prose h2 {
	font-size: clamp(1.45rem, 2.6vw, 2rem);
}

.sis-fallback-content-prose h3 {
	font-size: clamp(1.2rem, 2vw, 1.55rem);
}

.sis-fallback-content-prose :is(p, li) {
	font-size: clamp(0.98rem, 1.25vw, 1.06rem);
	line-height: 1.72;
	color: var(--color-surface-muted, #57534e);
}

.sis-fallback-content-prose :is(ul, ol) {
	display: grid;
	gap: 0.45rem;
	padding-inline-start: 1.35rem;
}

.sis-fallback-content-prose a {
	color: var(--color-accent-text, var(--color-brand-gold));
	font-weight: 700;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
}

.sis-fallback-content-prose :is(img, iframe, video) {
	max-width: 100%;
	border: 1px solid var(--color-surface-border, #d6c9bc);
}

.sis-fallback-content-prose img {
	height: auto;
}

.sis-fallback-page-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-top: 1rem;
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--color-surface-muted, #57534e);
}

.sis-fallback-page-links span,
.sis-fallback-page-links a {
	display: inline-flex;
	padding: 0.35rem 0.55rem;
	border: 1px solid var(--color-surface-border, #d6c9bc);
	background: rgb(var(--color-surface-900-rgb, 246 239 231) / 0.6);
	color: var(--color-surface-text, #18181b);
	text-decoration: none;
}

.sis-fallback-quick-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.9rem;
	margin-top: clamp(1rem, 2.2vw, 1.45rem);
}

.sis-fallback-quick-card {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.85rem;
	padding: 1rem;
	text-decoration: none;
}

.sis-fallback-quick-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.55rem;
	height: 2.55rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.22);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.12);
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-fallback-quick-body {
	display: grid;
	gap: 0.2rem;
	min-width: 0;
}

.sis-fallback-quick-title {
	font-size: 0.98rem;
	font-weight: 800;
	color: var(--color-surface-text, #18181b);
}

.sis-fallback-quick-copy {
	font-size: 0.82rem;
	line-height: 1.4;
	color: var(--color-surface-muted, #57534e);
}

.sis-fallback-quick-arrow {
	font-size: 1.15rem;
	color: var(--color-accent-text, var(--color-brand-gold));
	transition: transform 0.18s ease;
}

.sis-fallback-quick-card:hover .sis-fallback-quick-arrow,
.sis-fallback-quick-card:focus-visible .sis-fallback-quick-arrow {
	transform: translateX(0.18rem);
}

.sis-fallback-comments {
	margin-top: clamp(1rem, 2.2vw, 1.45rem);
	padding: clamp(1.2rem, 2.4vw, 1.8rem);
}

@media screen and (max-width: 1023px) {
	.sis-fallback-hero-inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.sis-fallback-quick-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media screen and (max-width: 767px) {
	.sis-fallback-hero-panel {
		grid-template-columns: auto minmax(0, 1fr);
		align-items: center;
		gap: 0.75rem;
		padding: 0.9rem;
	}

	.sis-fallback-hero-media,
	.sis-fallback-hero-mark {
		width: 4.2rem;
		height: 4.2rem;
		aspect-ratio: 1;
		margin: 0;
	}

	.sis-fallback-hero-media {
		grid-row: span 2;
	}

	.sis-fallback-hero-mark {
		grid-row: span 2;
	}

	.sis-fallback-panel-eyebrow {
		font-size: 0.6rem;
		letter-spacing: 0.11em;
	}

	.sis-fallback-panel-copy {
		display: -webkit-box;
		overflow: hidden;
		font-size: 0.82rem;
		line-height: 1.35;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.sis-fallback-hero-actions {
		gap: 0.55rem;
	}

	.sis-fallback-hero-actions :is(.sis-btn-primary, .sis-btn-secondary) {
		width: 100%;
		justify-content: center;
		min-height: 2.55rem;
		padding: 0.68rem 1rem;
	}

	.sis-fallback-content-card {
		padding: 1rem;
	}

	.sis-fallback-content-prose {
		max-width: none;
	}

	.sis-fallback-quick-card {
		padding: 0.85rem;
	}
}

@media screen and (max-width: 767px) {
	body.sis-learnpress .theme-switcher-widget {
		display: none !important;
		opacity: 0 !important;
		pointer-events: none !important;
		visibility: hidden !important;
	}
}

/* Production default: palette controls are internal, not public page chrome. */
body:not([data-public-theme-switcher='true']) .theme-switcher-widget,
body.learnpress-profile:not([data-public-theme-switcher='true']) .theme-switcher-widget,
body.sis-learnpress:not([data-public-theme-switcher='true']) .theme-switcher-widget {
	display: none !important;
	opacity: 0 !important;
	pointer-events: none !important;
	visibility: hidden !important;
}

/* Compact editorial density pass: keep the academy visual language while moving real content into the first fold. */
:root {
	--sis-density-hero-y: clamp(1.55rem, 3.6vw, 2.55rem);
	--sis-density-hero-y-tight: clamp(1.1rem, 2.5vw, 1.9rem);
	--sis-density-section-y: clamp(2.15rem, 4.8vw, 3.35rem);
	--sis-density-section-y-tight: clamp(1.65rem, 3.8vw, 2.65rem);
}

.sis-section-header {
	gap: 0.8rem;
	margin-bottom: clamp(1.35rem, 2.8vw, 1.9rem);
	padding-bottom: 0.9rem;
}

.sis-section-eyebrow {
	margin-bottom: 0.5rem;
}

.sis-section-title {
	font-size: clamp(1.75rem, 2.65vw, 2.35rem);
	line-height: 1.08;
}

.sis-home-hero-inner {
	align-items: center;
	gap: clamp(1rem, 2.2vw, 1.5rem);
	padding-top: var(--sis-density-hero-y);
	padding-bottom: var(--sis-density-hero-y);
}

.sis-home-hero-kicker {
	margin-bottom: 0.65rem;
	font-size: 0.76rem;
	letter-spacing: 0.14em;
}

.sis-home-hero-title {
	font-size: clamp(2.45rem, 5.2vw, 4.6rem);
	line-height: 0.99;
	letter-spacing: 0;
}

.sis-home-hero-description {
	max-width: 39rem;
	margin-top: 0.95rem;
	font-size: clamp(1.02rem, 1.45vw, 1.22rem);
	line-height: 1.5;
}

.sis-home-hero :is(.btn-primary-lift, .btn-secondary-lift) {
	min-height: 2.75rem;
	padding: 0.72rem 1.35rem !important;
	font-size: 0.94rem;
}

.sis-home-hero-proof {
	gap: 0.65rem;
	margin-top: 1.15rem;
}

.sis-home-hero-proof-item {
	gap: 0.25rem;
	padding: 0.78rem 0.9rem;
}

.sis-home-hero-proof-value {
	font-size: clamp(1.45rem, 2.35vw, 1.95rem);
}

.sis-home-hero-proof-label {
	font-size: 0.64rem;
	letter-spacing: 0.12em;
}

.sis-home-hero-panel {
	align-self: center;
	gap: 0.72rem;
	padding: 1.2rem;
}

.sis-home-hero-panel-title {
	font-size: clamp(1.4rem, 2.2vw, 1.9rem);
	line-height: 1.1;
}

.sis-home-hero-panel-copy {
	font-size: 0.92rem;
	line-height: 1.48;
}

.sis-home-hero-panel-list {
	gap: 0.48rem;
}

.sis-home-hero-panel-list li {
	font-size: 0.86rem;
	line-height: 1.4;
}

.sis-home-hero-panel-list li::before {
	top: 0.54rem;
}

.sis-home-hero-panel-mark img {
	width: clamp(5rem, 12vw, 7.25rem);
}

.sis-home-trust {
	padding: var(--sis-density-section-y) 0;
}

.sis-home-trust-inner {
	gap: 1.35rem;
}

.sis-home-trust-title {
	font-size: clamp(2.25rem, 4.6vw, 3.45rem);
	line-height: 1.02;
}

.sis-home-trust-description {
	margin-top: 0.9rem;
	font-size: clamp(1rem, 1.55vw, 1.22rem);
	line-height: 1.5;
}

.sis-home-trust-note {
	margin-top: 1rem;
	padding: 0.95rem 1.05rem;
}

.sis-home-trust-list {
	gap: 0.55rem;
	margin-top: 1rem;
}

.sis-home-trust-list li {
	font-size: 0.92rem;
	line-height: 1.48;
}

.sis-stat-card {
	gap: 0.42rem;
	padding: 1.08rem;
}

.sis-stat-value {
	font-size: clamp(2rem, 3vw, 2.75rem);
}

.sis-stat-label {
	font-size: 0.68rem;
	letter-spacing: 0.16em;
}

.sis-listing-hero,
.sis-page-hero {
	padding-top: var(--sis-density-hero-y-tight) !important;
	padding-bottom: var(--sis-density-hero-y-tight) !important;
}

.sis-listing-hero-inner {
	align-items: center;
	gap: clamp(1rem, 2vw, 1.3rem);
}

.sis-listing-kicker,
.sis-listing-panel-eyebrow,
.sis-result-summary,
.sis-archive-section-kicker {
	font-size: 0.7rem;
	letter-spacing: 0.14em;
}

.sis-listing-title {
	font-size: clamp(2.2rem, 4.55vw, 3.45rem);
	line-height: 1.04;
	letter-spacing: 0;
}

.sis-listing-description {
	max-width: 41rem;
	margin-top: 0.85rem;
	font-size: clamp(0.98rem, 1.35vw, 1.12rem);
	line-height: 1.5;
}

.sis-resource-hero-actions {
	gap: 0.6rem;
	margin-top: 0.9rem;
}

.sis-listing-panel {
	padding: 1.05rem;
}

.sis-listing-panel-copy,
.sis-listing-panel-list li {
	font-size: 0.88rem;
	line-height: 1.42;
}

.sis-listing-panel-list {
	gap: 0.45rem;
}

.sis-listing-panel-list li::before {
	top: 0.52rem;
}

.sis-listing-panel-stats {
	gap: 0.55rem;
}

.sis-listing-stat {
	padding: 0.72rem;
}

.sis-listing-stat-value {
	font-size: clamp(1.35rem, 2.2vw, 1.85rem);
}

.sis-listing-stat-label {
	font-size: 0.62rem;
	letter-spacing: 0.12em;
}

.sis-resource-hero-panel > :not(.sis-resource-hero-image) {
	margin-left: 1.05rem;
	margin-right: 1.05rem;
}

.sis-resource-hero-panel > :last-child {
	margin-bottom: 1.05rem;
}

.sis-resource-hero-image,
.sis-staff-hero-image {
	min-height: clamp(8.75rem, 13vw, 10.5rem);
}

.sis-staff-hero.sis-listing-hero {
	padding-top: var(--sis-density-hero-y-tight) !important;
	padding-bottom: var(--sis-density-hero-y-tight) !important;
}

.sis-staff-hero .sis-listing-title {
	font-size: clamp(2.15rem, 4.4vw, 3.4rem);
}

.sis-listing-section.sis-staff-section {
	padding-top: var(--sis-density-section-y-tight) !important;
}

.sis-staff-section .sis-section-header {
	margin-bottom: 1rem;
	padding-bottom: 0.75rem;
}

.sis-listing-section,
main#main-content > :is(.py-16, .py-20, .py-24, .py-32) {
	padding-top: var(--sis-density-section-y) !important;
	padding-bottom: var(--sis-density-section-y) !important;
}

main#main-content > :is(.pt-16, .pt-20, .pt-24, .pt-32) {
	padding-top: var(--sis-density-section-y) !important;
}

main#main-content > :is(.pb-16, .pb-20, .pb-24, .pb-32) {
	padding-bottom: var(--sis-density-section-y) !important;
}

.sis-archive-section-header {
	gap: 0.75rem;
	padding-bottom: 0.75rem;
}

.sis-archive-section-title {
	font-size: clamp(1.35rem, 2.35vw, 1.9rem);
}

.sis-archive-section-note {
	font-size: 0.88rem;
	line-height: 1.48;
}

.sis-archive-section-header + .mt-10,
main#main-content .mt-10 {
	margin-top: 1.5rem !important;
}

.sis-archive-card {
	gap: 0.8rem;
	padding: 1.05rem;
}

.sis-lp-course-shell {
	padding-top: var(--sis-density-section-y-tight) !important;
}

.sis-lp-course-hero {
	margin-bottom: 1rem;
	padding: 1rem;
}

.sis-canvas-hero.sis-listing-hero {
	padding-top: var(--sis-density-hero-y-tight) !important;
	padding-bottom: var(--sis-density-hero-y-tight) !important;
}

.sis-canvas-hero .sis-listing-hero-inner {
	gap: clamp(0.85rem, 1.7vw, 1.15rem);
}

.sis-canvas-hero .sis-listing-title {
	font-size: clamp(2.05rem, 4.2vw, 3.2rem);
}

.sis-canvas-hero .sis-resource-hero-panel {
	display: grid;
	grid-template-columns: minmax(9rem, 0.34fr) minmax(0, 1fr);
	gap: 0.75rem 0.95rem;
	align-items: stretch;
	padding: 1rem;
}

.sis-canvas-hero .sis-resource-hero-image {
	grid-row: 1 / span 4;
	width: 100%;
	height: 100%;
	min-height: 0;
	border-right: 1px solid var(--color-surface-border, #d6c9bc);
	border-bottom: 0;
	background-position: center 42%;
}

.sis-canvas-hero .sis-resource-hero-panel > :not(.sis-resource-hero-image) {
	margin-left: 0;
	margin-right: 0;
}

.sis-canvas-hero .sis-resource-hero-panel > :last-child {
	margin-bottom: 0;
}

.sis-canvas-hero .sis-listing-panel-stats {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.45rem;
}

.sis-canvas-hero .sis-listing-stat {
	min-height: auto;
	padding: 0.55rem;
}

.sis-canvas-hero .sis-listing-stat-value {
	font-size: clamp(1.18rem, 1.8vw, 1.45rem);
}

@media screen and (max-width: 767px) {
	:root {
		--sis-density-hero-y: clamp(0.85rem, 3.2vw, 1.15rem);
		--sis-density-hero-y-tight: clamp(0.75rem, 2.9vw, 1rem);
		--sis-density-section-y: clamp(1.75rem, 5vw, 2.25rem);
		--sis-density-section-y-tight: clamp(1.35rem, 4vw, 1.9rem);
	}

	.sis-home-hero-inner,
	.sis-listing-hero-inner {
		gap: 0.62rem;
	}

	.sis-home-hero-title {
		font-size: clamp(1.78rem, 9vw, 2.28rem);
		line-height: 1.03;
	}

	.sis-home-hero-description,
	.sis-listing-description {
		font-size: 0.9rem;
		line-height: 1.38;
	}

	.sis-home-hero-description {
		display: -webkit-box;
		overflow: hidden;
		margin-top: 0.48rem;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.sis-home-hero :is(.btn-primary-lift, .btn-secondary-lift),
	.sis-resource-hero-actions :is(.sis-btn-primary, .sis-btn-secondary) {
		flex: 1 1 min(100%, 9.5rem);
		min-height: 2.55rem;
		padding: 0.66rem 0.9rem !important;
		font-size: 0.78rem;
		letter-spacing: 0.08em;
	}

	.sis-canvas-hero.sis-listing-hero {
		padding-top: var(--sis-density-hero-y-tight) !important;
		padding-bottom: var(--sis-density-hero-y-tight) !important;
	}

	.sis-canvas-hero .sis-listing-hero-inner {
		gap: 0.55rem;
	}

	.sis-canvas-hero .sis-listing-description {
		display: -webkit-box;
		overflow: hidden;
		font-size: 0.86rem;
		line-height: 1.3;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.sis-coming-hero-actions {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.5rem;
	}

	.sis-coming-hero-actions :is(.sis-btn-primary, .sis-btn-secondary) {
		min-height: 2.45rem;
		padding: 0.6rem 0.72rem !important;
		font-size: 0.78rem;
	}

	.sis-coming-panel {
		gap: 0.44rem;
		padding: 0.68rem;
	}

	.sis-coming-date-card {
		gap: 0.55rem;
		padding: 0.62rem;
	}

	.sis-coming-date-value {
		font-size: 0.94rem;
	}

	.sis-coming-panel .sis-listing-panel-copy {
		display: -webkit-box;
		overflow: hidden;
		font-size: 0.8rem;
		line-height: 1.3;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.sis-listing-hero-inner > .sis-listing-panel:not(.sis-resource-hero-panel, .sis-coming-panel) {
		gap: 0.42rem;
		padding: 0.62rem;
	}

	.sis-listing-hero-inner > .sis-listing-panel:not(.sis-resource-hero-panel, .sis-coming-panel) .sis-listing-panel-copy {
		display: -webkit-box;
		overflow: hidden;
		font-size: 0.8rem;
		line-height: 1.28;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 1;
	}

	.sis-listing-hero-inner > .sis-listing-panel:not(.sis-resource-hero-panel, .sis-coming-panel) :is(.sis-listing-panel-stats, .sis-listing-panel-list) {
		display: none;
	}

	.sis-home-hero-proof {
		display: none;
	}

	.sis-home-hero-proof-item {
		padding: 0.55rem 0.45rem;
	}

	.sis-home-hero-proof-value {
		font-size: 1.2rem;
	}

	.sis-home-hero-proof-label {
		font-size: 0.54rem;
		letter-spacing: 0.05em;
		line-height: 1.18;
	}

	.sis-home-hero-panel {
		gap: 0.38rem;
		padding: 0.68rem;
	}

	.sis-home-hero-panel-title {
		font-size: 1.08rem;
		line-height: 1.08;
	}

	.sis-home-hero-panel-copy {
		display: -webkit-box;
		overflow: hidden;
		font-size: 0.82rem;
		line-height: 1.34;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.sis-home-hero-panel-list {
		display: none;
	}

	.sis-home-hero-panel-mark {
		display: none;
	}

	.sis-home-trust-inner,
	.sis-home-trust-stats {
		gap: 0.85rem;
	}

	.sis-home-trust-stats {
		order: -1;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sis-home-trust-copy {
		order: 1;
	}

	.sis-home-trust-title,
	.sis-listing-title {
		font-size: clamp(1.74rem, 8.4vw, 2.18rem);
		line-height: 1.05;
	}

	.sis-home-trust-description,
	.sis-home-trust-list li {
		font-size: 0.9rem;
		line-height: 1.42;
	}

	.sis-home-trust-note {
		padding: 0.82rem;
	}

	.sis-stat-card {
		padding: 0.9rem;
	}

	.sis-listing-panel {
		padding: 0.82rem;
	}

	.sis-resource-hero-panel {
		display: grid;
		grid-template-columns: minmax(4.35rem, 5.2rem) minmax(0, 1fr);
		gap: 0.42rem 0.55rem;
		align-items: stretch;
		padding: 0.62rem;
	}

	.sis-resource-hero-panel > :not(.sis-resource-hero-image) {
		margin-left: 0;
		margin-right: 0;
	}

	.sis-resource-hero-panel > :last-child {
		margin-bottom: 0;
	}

	.sis-resource-hero-image,
	.sis-staff-hero-image {
		grid-row: 1 / span 4;
		width: 100%;
		height: 100%;
		min-height: 0;
		border-right: 1px solid var(--color-surface-border, #d6c9bc);
		border-bottom: 0;
	}

	.sis-resource-hero-panel .sis-listing-panel-copy {
		display: -webkit-box;
		overflow: hidden;
		font-size: 0.78rem;
		line-height: 1.28;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 1;
	}

	.sis-resource-hero-panel .sis-listing-panel-stats {
		display: none;
	}

	.sis-resource-hero-panel .sis-listing-panel-list {
		display: none;
	}

	.sis-resource-hero-panel .sis-archive-card-badges {
		gap: 0.32rem;
	}

	.sis-resource-hero-panel .sis-archive-badge {
		padding: 0.3rem 0.42rem;
		font-size: 0.56rem;
		letter-spacing: 0.07em;
	}

	.sis-staff-stats {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.sis-resource-hero-panel .sis-staff-stats {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.sis-staff-hero .sis-listing-description,
	.sis-staff-hero .sis-listing-panel-heading {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.sis-staff-hero .sis-listing-panel-heading {
		font-size: 1.18rem;
		line-height: 1.08;
	}

	.sis-listing-stat {
		padding: 0.5rem;
	}

	.sis-listing-stat-value {
		font-size: 1.08rem;
	}

	.sis-listing-stat-label {
		font-size: 0.5rem;
		letter-spacing: 0.06em;
		line-height: 1.15;
	}

	.sis-listing-panel-list {
		gap: 0.28rem;
	}

	.sis-listing-panel-list li {
		font-size: 0.78rem;
		line-height: 1.26;
	}

	.sis-section-header {
		margin-bottom: 1.2rem;
	}

	.sis-archive-section-header {
		display: grid;
		gap: 0.55rem;
	}

	.sis-archive-card {
		padding: 0.95rem;
	}

	.sis-staff-section {
		padding-top: 1rem !important;
	}

	.sis-staff-section .sis-section-header {
		margin-bottom: 0.7rem;
		padding-bottom: 0.55rem;
	}

	.sis-staff-section .sis-section-title {
		font-size: clamp(1.45rem, 7.2vw, 1.9rem);
	}

	.sis-staff-section-copy {
		display: -webkit-box;
		overflow: hidden;
		font-size: 0.84rem;
		line-height: 1.32;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}
}

body:not([data-public-theme-switcher='true']) .theme-switcher-widget,
body.learnpress-profile:not([data-public-theme-switcher='true']) .theme-switcher-widget,
body.sis-learnpress:not([data-public-theme-switcher='true']) .theme-switcher-widget {
	display: none !important;
	opacity: 0 !important;
	pointer-events: none !important;
	visibility: hidden !important;
}

@media screen and (min-width: 1024px) {
	.sis-magazine-layout {
		grid-template-columns: minmax(0, 1fr) minmax(18rem, 23rem);
	}
}

body.sis-learnpress .theme-switcher-widget {
	display: none !important;
	opacity: 0 !important;
	pointer-events: none !important;
	visibility: hidden !important;
}

@media screen and (max-width: 767px) {
	body.sis-learnpress .theme-switcher-widget {
		display: none !important;
		opacity: 0 !important;
		pointer-events: none !important;
		visibility: hidden !important;
	}
}

body.sis-learnpress .theme-switcher-widget {
	display: none !important;
	opacity: 0 !important;
	pointer-events: none !important;
	visibility: hidden !important;
}

@media screen and (max-width: 767px) {
	body.sis-learnpress .theme-switcher-widget {
		display: none !important;
		opacity: 0 !important;
		pointer-events: none !important;
		visibility: hidden !important;
	}
}

/* Keep the public appearance switcher available on every public surface. */
body.learnpress-profile .theme-switcher-widget,
body.sis-learnpress .theme-switcher-widget {
	display: flex !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	visibility: visible !important;
}

@media screen and (max-width: 767px) {
	.theme-switcher-widget,
	body.learnpress-profile .theme-switcher-widget,
	body.sis-learnpress .theme-switcher-widget {
		display: flex !important;
		left: 0 !important;
		right: auto !important;
		top: 50% !important;
		bottom: auto !important;
		width: 1.75rem !important;
		max-width: 1.75rem;
		max-height: calc(100vh - 8rem);
		overflow: visible;
		transform: translateY(-50%) !important;
		z-index: 92 !important;
		padding: 0.4rem 0 !important;
		border-radius: 0 0.75rem 0.75rem 0;
	}

	.theme-switcher-widget .theme-switcher-themes {
		flex-direction: column !important;
		gap: 0.4rem !important;
	}

	.theme-switcher-widget .theme-btn {
		width: 1.15rem !important;
		height: 1.15rem !important;
		min-width: 1.15rem !important;
		min-height: 1.15rem !important;
	}

	body[data-cookie-banner='visible'] .theme-switcher-widget {
		bottom: auto !important;
	}
}

body[data-overlay-open='true'] .theme-switcher-widget,
body[data-mobile-menu-open='true'] .theme-switcher-widget {
	opacity: 0 !important;
	pointer-events: none !important;
	visibility: hidden !important;
}

body.sis-learnpress .theme-switcher-widget {
	display: none !important;
	opacity: 0 !important;
	pointer-events: none !important;
	visibility: hidden !important;
}

@media screen and (max-width: 767px) {
	body.sis-learnpress .theme-switcher-widget {
		display: none !important;
		opacity: 0 !important;
		pointer-events: none !important;
		visibility: hidden !important;
	}
}

/* Production default: palette controls are internal, not public page chrome. */
body:not([data-public-theme-switcher='true']) .theme-switcher-widget,
body.learnpress-profile:not([data-public-theme-switcher='true']) .theme-switcher-widget,
body.sis-learnpress:not([data-public-theme-switcher='true']) .theme-switcher-widget {
	display: none !important;
	opacity: 0 !important;
	pointer-events: none !important;
	visibility: hidden !important;
}

/* ============================================================
   Pattern library: typographic covers
   Generated cover art for resource cards (books, audio, magazine,
   shop) when no featured image exists. Replaces the old behavior
   of falling back to the page hero photo on every card.
   Rendered by sss_theme_render_typographic_cover() in
   inc/pattern-library.php.
   ============================================================ */

:root {
	--sis-pattern-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='0.08' stroke-width='1'%3E%3Cpath d='M48 8 L88 48 L48 88 L8 48 Z'/%3E%3Crect x='19.72' y='19.72' width='56.56' height='56.56'/%3E%3Cpath d='M48 0 V96 M0 48 H96'/%3E%3Cpath d='M0 0 L96 96 M96 0 L0 96'/%3E%3C/g%3E%3C/svg%3E");
}

.sis-typo-cover {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	padding: 1.75rem 2.1rem;
	text-align: center;
	background-color: var(--sis-cover-bg, var(--color-brand-emerald, #0f5132));
	background-image: var(--sis-pattern-star);
	background-size: 96px 96px;
	background-position: center;
}

/* Photos get a legibility gradient from .sis-archive-card-media::after;
   covers are self-colored and must not be darkened. */
.sis-typo-cover::after {
	content: none;
}

.sis-typo-cover-frame {
	position: absolute;
	inset: 10px;
	border: 1px solid rgb(var(--sis-cover-accent-rgb, 212 175 55) / 0.55);
	pointer-events: none;
}

.sis-typo-cover-frame::before {
	content: '';
	position: absolute;
	inset: 3px;
	border: 1px solid rgb(var(--sis-cover-accent-rgb, 212 175 55) / 0.22);
}

.sis-typo-cover-kicker {
	position: relative;
	z-index: 1;
	margin: 0;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sis-cover-accent, var(--color-brand-gold, #d4af37));
}

.sis-typo-cover-title {
	position: relative;
	z-index: 1;
	margin: 0;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	font-family: 'Playfair Display', serif;
	font-size: 1.12rem;
	line-height: 1.35;
	color: var(--sis-cover-ink, #f7f1e3);
}

.sis-typo-cover-title--arabic {
	font-family: 'Noto Kufi Arabic', 'Inter', sans-serif;
	font-size: 1.18rem;
	line-height: 1.55;
}

.sis-typo-cover-icon {
	position: relative;
	z-index: 1;
	display: inline-flex;
	color: var(--sis-cover-accent, var(--color-brand-gold, #d4af37));
	opacity: 0.85;
}

.sis-typo-cover-icon .material-symbols-rounded {
	font-size: 1.25rem;
}

/* Category color schemes: deterministic per category via
   sss_theme_get_typo_cover_scheme(). Manuscript-inspired tones
   anchored to the brand emerald/gold palette. */
.sis-typo-cover--emerald {
	--sis-cover-bg: #0f5132;
	--sis-cover-ink: #f7f1e3;
	--sis-cover-accent: #d4af37;
	--sis-cover-accent-rgb: 212 175 55;
}

.sis-typo-cover--night {
	--sis-cover-bg: #22304d;
	--sis-cover-ink: #eef1f8;
	--sis-cover-accent: #c9a84c;
	--sis-cover-accent-rgb: 201 168 76;
}

.sis-typo-cover--maroon {
	--sis-cover-bg: #61302c;
	--sis-cover-ink: #f8ece4;
	--sis-cover-accent: #e0b25a;
	--sis-cover-accent-rgb: 224 178 90;
}

.sis-typo-cover--teal {
	--sis-cover-bg: #174a4e;
	--sis-cover-ink: #ecf5f4;
	--sis-cover-accent: #cfa64b;
	--sis-cover-accent-rgb: 207 166 75;
}

.sis-typo-cover--umber {
	--sis-cover-bg: #5e451d;
	--sis-cover-ink: #f8f0e0;
	--sis-cover-accent: #e3c06a;
	--sis-cover-accent-rgb: 227 192 106;
}

/* One light scheme so cover walls don't read uniformly dark. */
.sis-typo-cover--gold {
	--sis-cover-bg: #c29a35;
	--sis-cover-ink: #241c04;
	--sis-cover-accent: #3d3208;
	--sis-cover-accent-rgb: 61 50 8;
}

.sis-typo-cover--gold .sis-typo-cover-frame {
	border-color: rgb(61 50 8 / 0.45);
}

/* ---- Pattern P8: closing CTA band ---- */

:root {
	--sis-pattern-star-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cg fill='none' stroke='%23241c04' stroke-opacity='0.08' stroke-width='1'%3E%3Cpath d='M48 8 L88 48 L48 88 L8 48 Z'/%3E%3Crect x='19.72' y='19.72' width='56.56' height='56.56'/%3E%3Cpath d='M48 0 V96 M0 48 H96'/%3E%3Cpath d='M0 0 L96 96 M96 0 L0 96'/%3E%3C/g%3E%3C/svg%3E");
}

.sis-cta-band {
	display: grid;
	gap: 1.25rem;
	align-items: center;
	padding: clamp(1.5rem, 3.5vw, 2.4rem);
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.38);
	background:
		var(--sis-pattern-star-dark),
		linear-gradient(135deg, var(--color-brand-gold) 0%, #f5dc75 100%);
	background-size: 96px 96px, cover;
	color: #15110a;
}

@media (min-width: 768px) {
	.sis-cta-band {
		grid-template-columns: minmax(0, 1fr) auto;
	}
}

.sis-cta-band-kicker {
	margin: 0;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgb(21 17 10 / 0.65);
}

.sis-cta-band-title {
	margin: 0.35rem 0 0;
	font-family: var(--font-display, 'Playfair Display', serif);
	font-size: clamp(1.55rem, 3vw, 2.25rem);
	line-height: 1.15;
	color: #15110a !important;
}

.sis-cta-band-text {
	margin: 0.75rem 0 0;
	max-width: 46rem;
	color: rgb(21 17 10 / 0.78);
	line-height: 1.65;
}

.sis-cta-band-button {
	justify-self: start;
	padding: 0.85rem 1.5rem;
	white-space: nowrap;
}

@media (min-width: 768px) {
	.sis-cta-band-button {
		justify-self: end;
	}
}

/* ---- Pattern P10: FAQ accordion ---- */

.sis-faq-list {
	display: grid;
	gap: 0.85rem;
	max-width: 52rem;
}

.sis-faq-item {
	padding: 0;
	overflow: hidden;
}

.sis-faq-question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.1rem 1.35rem;
	cursor: pointer;
	list-style: none;
	font-weight: 700;
	font-size: 1.02rem;
	color: var(--color-surface-text, #18181b);
}

.sis-faq-question::-webkit-details-marker {
	display: none;
}

.sis-faq-question:hover,
.sis-faq-question:focus-visible {
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-faq-marker {
	flex-shrink: 0;
	color: var(--color-accent-text, var(--color-brand-gold));
	transition: transform 0.2s ease;
}

.sis-faq-item[open] .sis-faq-marker {
	transform: rotate(180deg);
}

.sis-faq-answer {
	margin: 0;
	padding: 0 1.35rem 1.2rem;
	max-width: 44rem;
	color: var(--color-surface-muted, #57534e);
	line-height: 1.7;
}

/* ---- Pattern P1c: compact hero (utility/legal pages) ---- */
/* Title + one-liner only; no photo panel, no stat card. */

.sis-listing-hero--compact .sis-listing-hero-inner {
	grid-template-columns: minmax(0, 1fr);
}

.sis-listing-hero--compact .sis-listing-hero-copy {
	max-width: 46rem;
}

/* ---- Pattern P2/P5/P9/P11 and date media additions ---- */

.sis-pattern-section {
	background:
		var(--sis-pattern-star-dark),
		linear-gradient(180deg, rgb(var(--color-surface-900-rgb, 246 239 231) / 0.54), rgb(var(--color-surface-950-rgb, 255 255 255) / 0.96));
	background-size: 96px 96px, cover;
}

.sis-pattern-dark {
	background:
		var(--sis-pattern-star),
		linear-gradient(135deg, rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.98), #123f31 56%, #24324e 100%);
	background-size: 96px 96px, cover;
	color: #fff;
}

.sis-date-cover {
	position: relative;
	display: grid;
	gap: 0.75rem;
	align-content: center;
	justify-items: center;
	padding: 1.35rem;
	background-color: var(--sis-cover-bg, var(--color-brand-emerald, #0f5132));
	background-image: var(--sis-pattern-star);
	background-size: 96px 96px;
	color: var(--sis-cover-ink, #f7f1e3);
	text-align: center;
}

.sis-date-cover::after {
	content: none;
}

.sis-date-cover-frame {
	position: absolute;
	inset: 10px;
	border: 1px solid rgb(var(--sis-cover-accent-rgb, 212 175 55) / 0.36);
	pointer-events: none;
}

.sis-date-cover--pinned .sis-date-cover-frame {
	inset: 8px;
	border-color: rgb(var(--sis-cover-accent-rgb, 212 175 55) / 0.66);
}

.sis-date-cover-tile {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	min-width: 5.25rem;
	min-height: 5.25rem;
	padding: 0.55rem;
	border: 1px solid rgb(var(--sis-cover-accent-rgb, 212 175 55) / 0.55);
	background: rgb(255 255 255 / 0.12);
	backdrop-filter: blur(6px);
}

.sis-date-cover--pinned .sis-date-cover-tile {
	background: rgb(var(--sis-cover-accent-rgb, 212 175 55) / 0.18);
}

.sis-date-cover-month {
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sis-cover-accent, var(--color-brand-gold, #d4af37));
}

.sis-date-cover-day {
	font-family: var(--font-display, 'Playfair Display', serif);
	font-size: 3rem;
	font-weight: 800;
	line-height: 0.9;
	color: var(--sis-cover-ink, #f7f1e3);
}

.sis-date-cover-kicker,
.sis-date-cover-title,
.sis-date-cover-icon {
	position: relative;
	z-index: 1;
}

.sis-date-cover-kicker {
	margin: 0;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sis-cover-accent, var(--color-brand-gold, #d4af37));
}

.sis-date-cover-title {
	margin: 0;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	font-size: 0.95rem;
	font-weight: 800;
	line-height: 1.35;
}

.sis-date-cover-icon .material-symbols-rounded {
	color: var(--sis-cover-accent, var(--color-brand-gold, #d4af37));
	font-size: 1.2rem;
}

.sis-date-cover--pinned .sis-date-cover-icon .material-symbols-rounded {
	font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 32;
}

.sis-value-trio {
	display: grid;
	gap: 1rem;
}

.sis-value-card {
	display: grid;
	gap: 0.85rem;
	padding: clamp(1.15rem, 2.4vw, 1.55rem);
	color: var(--color-surface-text, #18181b) !important;
	text-decoration: none;
}

.sis-value-card-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.22);
	background: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.1);
	color: var(--color-accent-text, var(--color-brand-gold));
}

.sis-value-card-icon .material-symbols-rounded {
	font-size: 1.45rem;
}

.sis-value-card h3,
.sis-process-step h3 {
	margin: 0;
	color: var(--color-surface-text, #18181b) !important;
	font-size: 1.08rem;
	font-weight: 800;
	line-height: 1.35;
}

.sis-value-card p,
.sis-process-step p {
	margin: 0;
	color: var(--color-surface-muted, #57534e);
	font-size: 0.95rem;
	line-height: 1.7;
}

.sis-process-shell {
	display: grid;
	gap: clamp(1.25rem, 3vw, 2rem);
	padding: clamp(1.35rem, 3vw, 2rem);
}

.sis-process-copy {
	max-width: 36rem;
}

.sis-process-list {
	display: grid;
	gap: 0.9rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sis-process-step {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 1rem;
	align-items: start;
	padding: 1rem;
	border: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.72);
}

.sis-process-index {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	background: var(--color-brand-gold, #d4af37);
	color: #15110a;
	font-weight: 900;
}

.sis-quote-band {
	position: relative;
	overflow: hidden;
	padding: clamp(1.6rem, 4vw, 2.75rem);
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.28);
	box-shadow: 0 28px 56px -42px rgb(var(--color-brand-emerald-rgb, 15 81 50) / 0.66);
}

.sis-quote-band blockquote {
	position: relative;
	z-index: 1;
	margin: 0;
	max-width: 54rem;
	font-family: var(--font-display, 'Playfair Display', serif);
	font-size: 2.55rem;
	line-height: 1.18;
	color: #fff;
	text-wrap: balance;
}

.sis-quote-band figcaption {
	position: relative;
	z-index: 1;
	margin-top: 1.1rem;
	color: rgb(255 255 255 / 0.76);
	font-size: 0.86rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.sis-quote-band figcaption span {
	display: block;
	margin-top: 0.35rem;
	color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.92);
}

.sis-quote-mark {
	position: absolute;
	right: clamp(1rem, 3vw, 2rem);
	top: -1.4rem;
	color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.22);
	font-family: var(--font-display, 'Playfair Display', serif);
	font-size: 9rem;
	line-height: 1;
	pointer-events: none;
}

.sis-form-shell form {
	display: grid;
	gap: 1rem;
}

.sis-form-shell form :is(input, select, textarea, button, a) {
	min-height: 44px;
}

.sis-form-shell :is(label, .sis-form-label) {
	line-height: 1.35;
}

.sis-form-shell [data-form-message] {
	border-radius: 0;
}

.sis-form-shell [data-form-message].bg-emerald-900\/40 {
	background: rgb(236 253 245 / 0.96) !important;
	border-color: #047857 !important;
	color: #065f46 !important;
}

.sis-form-shell [data-form-message].bg-red-900\/40 {
	background: rgb(254 242 242 / 0.96) !important;
	border-color: #b91c1c !important;
	color: #991b1b !important;
}

.sis-form-progress-list {
	display: grid;
	gap: 0.5rem;
}

.sis-form-actions {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.sis-form-actions .sis-btn-primary {
	min-width: min(100%, 14rem);
}

.sis-form-actions .sis-archive-card-link {
	min-height: 44px;
	align-items: center;
}

@media (max-width: 639px) {
	.sis-form-actions {
		align-items: stretch;
		flex-direction: column;
	}
}

.sis-donation-layout {
	display: grid;
	gap: 1.5rem;
	align-items: start;
}

.sis-donation-amount-chips {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.65rem;
}

.sis-donation-amount-chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3.25rem;
	border: 1px solid var(--color-surface-border, #d6c9bc);
	background: #fff;
	color: var(--color-surface-text, #18181b);
	font-size: 0.95rem;
	font-weight: 900;
	transition: border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.sis-donation-amount-chip:hover,
.sis-donation-amount-chip:focus-visible,
.sis-donation-amount-chip.is-selected {
	border-color: var(--color-accent-text, var(--color-brand-gold));
	color: var(--color-accent-text, var(--color-brand-gold));
	transform: translateY(-1px);
}

.sis-course-load-more-wrap {
	display: flex;
	justify-content: center;
	margin-top: 1.5rem;
}

.sis-course-load-more {
	min-height: 44px;
	padding: 0.85rem 1.35rem;
	border: 1px solid var(--color-brand-gold, #d4af37);
	background: var(--color-brand-gold, #d4af37);
	color: #15110a;
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.sis-course-card[hidden] {
	display: none !important;
}

.sis-feature-card .sis-typo-cover {
	min-height: 9.5rem;
	margin: 0;
	border-bottom: 1px solid rgb(var(--color-surface-text-rgb, 24 24 27) / 0.08);
}

.sis-feature-card-title,
.sis-course-card .sis-archive-card-title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.sis-course-card {
	position: relative;
}

.sis-course-card:focus-visible,
.sis-feature-card:focus-visible,
.sis-archive-card:focus-visible,
.sis-value-card:focus-visible,
.sis-faq-question:focus-visible {
	outline: 3px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.55);
	outline-offset: 3px;
}

.sis-header-utility-link {
	border: 0 !important;
	background: transparent !important;
}

@media (max-width: 639px) {
	.sis-date-cover-day {
		font-size: 2.35rem;
	}

	.sis-quote-band blockquote {
		font-size: 1.7rem;
	}

	.sis-quote-mark {
		font-size: 6rem;
	}
}

@media (min-width: 640px) {
	.sis-donation-amount-chips {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

@media (min-width: 768px) {
	.sis-value-trio {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 900px) {
	.sis-process-shell,
	.sis-donation-layout {
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	}
}

/* ---- WP-1.2 homepage hero conformance ---- */

.sis-home-hero {
	background:
		var(--sis-pattern-star),
		linear-gradient(135deg, #0f5132 0%, #123f31 54%, #213f3a 100%) !important;
	background-size: 96px 96px, cover !important;
	color: #fff;
}

.sis-home-hero::before {
	background: linear-gradient(90deg, rgb(15 81 50 / 0.94) 0%, rgb(15 81 50 / 0.82) 48%, rgb(15 81 50 / 0.66) 100%) !important;
}

.sis-home-hero::after {
	content: none;
}

.sis-home-hero-media {
	opacity: 0.06 !important;
}

.sis-home-hero-kicker,
.sis-home-hero-description,
.sis-home-hero-proof-label {
	color: rgb(255 255 255 / 0.78) !important;
}

.sis-home-hero-title,
.sis-home-hero-proof-value {
	color: #fff !important;
	letter-spacing: 0;
}

.sis-home-hero-proof-item {
	background: rgb(255 255 255 / 0.08);
	border-color: rgb(255 255 255 / 0.14);
	box-shadow: none;
}

.sis-home-hero .sis-hero-text-link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0.75rem 0;
	color: rgb(255 255 255 / 0.88) !important;
	text-decoration: none;
}

.sis-home-hero .sis-hero-text-link:hover,
.sis-home-hero .sis-hero-text-link:focus-visible {
	color: var(--color-brand-gold, #d4af37) !important;
}

.sis-home-hero-panel {
	background: rgb(255 255 255 / 0.08) !important;
	border-color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.28) !important;
	box-shadow: 0 32px 54px -42px rgb(0 0 0 / 0.66);
}

.sis-home-hero-arch {
	aspect-ratio: 4 / 5;
	width: min(100%, 19rem);
	margin: 0 auto 1rem;
	overflow: hidden;
	border: 2px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.62);
	border-radius: 999px 999px 0 0;
	background: rgb(255 255 255 / 0.08);
}

.sis-home-hero-arch img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(0.96) contrast(1.04);
}

.sis-home-hero-panel-mark {
	display: none;
}

/* ---- Motion slider layer ---- */

@keyframes sis-hero-drift {
	0%,
	100% {
		transform: scale(1.02) translate3d(0, 0, 0);
	}

	50% {
		transform: scale(1.08) translate3d(1.1rem, -0.7rem, 0);
	}
}

.sis-slider {
	--sis-slider-gap: 1rem;
	--sis-slider-slide-width: 86%;
	display: grid;
	gap: 1rem;
	min-width: 0;
	position: relative;
}

.sis-slider-viewport {
	min-width: 0;
	margin: -0.25rem;
	padding: 0.25rem;
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-x: contain;
	scroll-padding-inline: 0.25rem;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.sis-slider-viewport::-webkit-scrollbar {
	display: none;
}

.sis-slider-viewport:focus-visible {
	outline: 3px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.44);
	outline-offset: 4px;
}

.sis-slider-track {
	display: flex;
	align-items: stretch;
	gap: var(--sis-slider-gap);
	min-width: 0;
	margin: 0;
	padding: 0;
}

.sis-slider-slide {
	display: flex;
	flex: 0 0 var(--sis-slider-slide-width);
	min-width: 0;
	scroll-snap-align: start;
	scroll-snap-stop: always;
	transition: opacity 0.28s ease, transform 0.28s ease;
}

.sis-slider-slide > :is(a, article, div, figure) {
	width: 100%;
}

.sis-slider-static .sis-slider-slide {
	flex: 1 1 0;
	opacity: 1 !important;
	transform: none !important;
}

.sis-slider-static .sis-slider-controls {
	display: none;
}

.sis-slider-ready .sis-slider-slide:not(.is-active) {
	opacity: 0.82;
	transform: translateY(0.18rem);
}

.sis-slider-ready .sis-slider-slide.is-active {
	opacity: 1;
	transform: translateY(0);
}

.sis-slider-controls {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	min-height: 2.75rem;
}

.sis-slider-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	flex: 0 0 auto;
	border: 1px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.36);
	background: rgb(var(--color-surface-950-rgb, 255 255 255) / 0.86);
	color: var(--color-surface-text, #18181b);
	cursor: pointer;
	transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.sis-slider-button:hover,
.sis-slider-button:focus-visible {
	border-color: var(--color-brand-gold, #d4af37);
	background: var(--color-brand-gold, #d4af37);
	color: #15110a;
	transform: translateY(-1px);
}

.sis-slider-button:focus-visible {
	outline: 3px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.42);
	outline-offset: 3px;
}

.sis-slider-button:disabled {
	opacity: 0.4;
	cursor: not-allowed;
	transform: none;
}

.sis-slider-button .material-symbols-rounded {
	font-size: 1.25rem;
}

.sis-slider-dots {
	display: flex;
	align-items: center;
	flex: 1 1 auto;
	gap: 0.4rem;
	min-width: 0;
}

.sis-slider-dot {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 2.75rem;
	flex: 0 0 1.5rem;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.sis-slider-dot::before {
	content: '';
	display: block;
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 999px;
	background: rgb(var(--color-surface-text-rgb, 24 24 27) / 0.22);
	transition: width 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
}

.sis-slider-dot:hover::before,
.sis-slider-dot:focus-visible::before,
.sis-slider-dot.is-active::before {
	width: 1.45rem;
	background: var(--color-brand-gold, #d4af37);
	transform: translateY(-1px);
}

.sis-slider-dot:focus-visible {
	outline: 3px solid rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.42);
	outline-offset: 3px;
}

.sis-slider--dark .sis-slider-button,
.sis-home-hero-story-slider .sis-slider-button {
	background: rgb(255 255 255 / 0.08);
	color: #fff;
	border-color: rgb(var(--color-brand-gold-rgb, 212 175 55) / 0.36);
}

.sis-slider--dark .sis-slider-button:hover,
.sis-slider--dark .sis-slider-button:focus-visible,
.sis-home-hero-story-slider .sis-slider-button:hover,
.sis-home-hero-story-slider .sis-slider-button:focus-visible {
	background: var(--color-brand-gold, #d4af37);
	color: #15110a;
}

.sis-slider--dark .sis-slider-dot::before,
.sis-home-hero-story-slider .sis-slider-dot::before {
	background: rgb(255 255 255 / 0.28);
}

.sis-slider--dark .sis-slider-dot.is-active::before,
.sis-home-hero-story-slider .sis-slider-dot.is-active::before {
	background: var(--color-brand-gold, #d4af37);
}

.sis-home-hero-media {
	animation: sis-hero-drift 18s ease-in-out infinite;
	animation-play-state: paused;
}

.sis-home-hero.is-slider-in-view .sis-home-hero-media {
	animation-play-state: running;
}

.sis-home-hero-story-slider {
	align-content: stretch;
	padding: clamp(1rem, 2.2vw, 1.35rem);
}

.sis-home-hero-story-slider .sis-slider-viewport {
	margin: 0;
	padding: 0;
}

.sis-home-hero-story-slide {
	--sis-slider-slide-width: 100%;
	display: grid;
	gap: 1rem;
	align-content: start;
	color: #fff;
}

.sis-home-hero-story-slide.sis-slider-slide {
	flex-basis: 100%;
}

.sis-home-hero-story-slide .sis-home-hero-arch {
	margin-bottom: 0.15rem;
}

.sis-home-faculties-grid.sis-slider,
.sis-listing-grid.sis-slider,
.sis-value-trio.sis-slider {
	display: grid;
	grid-template-columns: 1fr !important;
}

.sis-slider--feature-courses {
	--sis-slider-slide-width: 88%;
}

.sis-slider--events {
	--sis-slider-slide-width: 82%;
}

.sis-slider--feature-courses .sis-feature-card--lead {
	grid-column: auto;
}

.sis-slider--values,
.sis-slider--timeline,
.sis-slider--donation-impact {
	--sis-slider-slide-width: 88%;
}

.sis-slider--steps {
	--sis-slider-slide-width: 88%;
}

.sis-process-steps-slider {
	min-width: 0;
}

.sis-process-list.sis-slider-track {
	display: flex;
	gap: var(--sis-slider-gap);
}

.sis-process-step.sis-slider-slide {
	display: grid;
	flex-basis: var(--sis-slider-slide-width);
	height: auto;
}

.sis-slider--admissions .sis-slider-slide > a,
.sis-slider--study-routes .sis-slider-slide > a {
	display: grid;
	height: 100%;
	padding: 1.35rem;
	text-decoration: none;
}

.sis-slider--donation-impact .sis-slider-slide > a,
.sis-slider--timeline .sis-slider-slide > article,
.sis-slider--values .sis-slider-slide > :is(a, article) {
	height: 100%;
}

html[dir='rtl'] .sis-slider-button .material-symbols-rounded {
	transform: scaleX(-1);
}

@media (min-width: 640px) {
	.sis-slider {
		--sis-slider-slide-width: 58%;
	}

	.sis-slider--cards {
		--sis-slider-slide-width: 48%;
	}

	.sis-slider--events {
		--sis-slider-slide-width: 62%;
	}

	.sis-slider--values,
	.sis-slider--timeline,
	.sis-slider--donation-impact,
	.sis-slider--steps {
		--sis-slider-slide-width: 56%;
	}
}

@media (min-width: 1024px) {
	.sis-slider--cards {
		--sis-slider-slide-width: 32%;
	}

	.sis-slider--feature-courses {
		--sis-slider-slide-width: 43%;
	}

	.sis-slider--events {
		--sis-slider-slide-width: 56%;
	}

	.sis-slider--values,
	.sis-slider--timeline,
	.sis-slider--donation-impact {
		--sis-slider-slide-width: 42%;
	}

	.sis-slider--steps {
		--sis-slider-slide-width: 44%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sis-home-hero-media,
	.sis-slider-slide {
		animation: none !important;
		transition: none !important;
	}

	.sis-slider-viewport {
		scroll-behavior: auto !important;
	}
}

html[data-motion-mode='reduce'] .sis-home-hero-media {
	animation: none !important;
}
