/*
 Theme Name:   Sedikit Terlibat Child
 Theme URI:    https://sedikitterlibat.id
 Description:  Child theme Astra — palette biru/teal redup (~15%), Inclusive Sans
 Author:       Sedikit Terlibat
 Author URI:   https://sedikitterlibat.id
 Template:     astra
 Version:      1.14.0
 Text Domain:  sedikitterlibat-child
*/

/* --------------------------------------------------------------------------
   Tokens — #0766AD / #29ADB2 redup ~15% → #065793 / #239397
   -------------------------------------------------------------------------- */
:root {
	--st-blue-950: #032d46;
	--st-blue-900: #043f6c;
	--st-blue-800: #065793;
	--st-blue-700: #0969a9;
	--st-blue-600: #287cb4;
	--st-teal-700: #1a7a7e;
	--st-teal-500: #239397;
	--st-teal-300: #50aaad;
	--st-ink: #0f1c2e;
	--st-muted: #3f5168;
	--st-surface: #f1f6f8;
	--st-surface-2: #ffffff;
	--st-line: #c5d5de;
	--st-radius: 16px;
	--st-radius-sm: 10px;
	--st-shadow: 0 14px 36px rgba(6, 87, 147, 0.12);
	--st-shadow-lg: 0 24px 52px rgba(6, 87, 147, 0.16);
	--st-font: "Inclusive Sans", system-ui, sans-serif;
	--st-header-h: 72px;
	--st-transition: 180ms ease;
	--st-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
	--st-focus: #043f6c;
	--st-focus-ring: #239397;
	--st-gutter: clamp(1.75rem, 7vw, 4rem);
	--st-content-max: 1040px;

	--st-bg: var(--st-surface-2);
	--st-bg-soft: var(--st-surface);
	--st-text: var(--st-ink);
	--st-text-muted: var(--st-muted);
	--st-border: var(--st-line);
	--st-brand: var(--st-blue-800);
	--st-brand-strong: var(--st-blue-900);
	--st-accent: var(--st-teal-500);
	--st-accent-text: #032d46;
	--st-header-bg: var(--st-blue-800);
	--st-header-fg: #eef7fa;
	--st-header-muted: rgba(238, 247, 250, 0.8);
	--st-card: #ffffff;
	--st-social: #eef7fa;
	--st-footer-bg: var(--st-blue-800);
	--st-footer-deep: var(--st-blue-900);
	--st-hero-1: #065793;
	--st-hero-2: #0d6c96;
	--st-hero-3: #239397;
	--st-glow: rgba(35, 147, 151, 0.24);
}

html[data-theme="dark"] {
	color-scheme: dark;
	--st-bg: #07131c;
	--st-bg-soft: #0b1c28;
	--st-text: #e8f2f6;
	--st-text-muted: #a7c0cb;
	--st-border: #2a4554;
	--st-brand: #5099be;
	--st-brand-strong: #87b3cb;
	--st-accent: #32a7ab;
	--st-accent-text: #032d46;
	--st-header-bg: #043f6c;
	--st-header-fg: #e8f2f6;
	--st-header-muted: rgba(232, 242, 246, 0.8);
	--st-card: #102433;
	--st-shadow: 0 14px 36px rgba(0, 0, 0, 0.4);
	--st-shadow-lg: 0 24px 52px rgba(0, 0, 0, 0.5);
	--st-focus: #32a7ab;
	--st-focus-ring: #5099be;
	--st-social: #e8f2f6;
	--st-footer-bg: #043f6c;
	--st-footer-deep: #032d46;
	--st-hero-1: #032d46;
	--st-hero-2: #043f6c;
	--st-hero-3: #065793;
	--st-glow: rgba(35, 147, 151, 0.18);
	--st-blue-950: #022030;
	--st-blue-900: #032d46;
	--st-blue-800: #043f6c;
	--st-blue-700: #065793;

	--ast-global-color-primary: #5099be;
	--ast-global-color-secondary: #32a7ab;
	--ast-global-color-0: #e8f2f6;
	--ast-global-color-1: #a7c0cb;
	--ast-global-color-2: #043f6c;
	--ast-global-color-3: #102433;
	--ast-global-color-4: #2a4554;
	--ast-global-color-5: #07131c;
	--ast-border-color: #2a4554;
}

/* --------------------------------------------------------------------------
   Base + a11y
   -------------------------------------------------------------------------- */
html { scroll-behavior: smooth; scroll-padding-top: 5.5rem; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

body,
button,
input,
select,
textarea,
.site-content,
.ast-container,
.site-header,
.site-footer {
	font-family: var(--st-font) !important;
}

body {
	background: var(--st-bg) !important;
	color: var(--st-text) !important;
	-webkit-font-smoothing: antialiased;
}

body.st-search-open { overflow: hidden; }

a { color: var(--st-brand); }
a:hover { color: var(--st-brand-strong); }

h1, h2, h3, h4, h5, h6,
.entry-title {
	font-family: var(--st-font) !important;
	color: var(--st-text) !important;
	letter-spacing: -0.025em;
}

/* Visible focus — WCAG 2.4.7 */
:focus { outline: none; }
:focus-visible {
	outline: 3px solid var(--st-focus-ring) !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 2px var(--st-focus) !important;
}

.ast-skip-link:focus,
a.skip-link:focus {
	position: fixed !important;
	top: 0.75rem;
	left: 0.75rem;
	z-index: 100001;
	padding: 0.75rem 1rem;
	background: var(--st-accent) !important;
	color: var(--st-accent-text) !important;
	font-weight: 700;
	border-radius: 8px;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	white-space: nowrap;
}

/* Dark mode — Astra / global surfaces */
html[data-theme="dark"] .site-content,
html[data-theme="dark"] #content,
html[data-theme="dark"] .ast-separate-container,
html[data-theme="dark"] .ast-article-single,
html[data-theme="dark"] .ast-article-post,
html[data-theme="dark"] .entry-content,
html[data-theme="dark"] .ast-comment-data-wrap,
html[data-theme="dark"] .ast-woocommerce-container {
	background: var(--st-bg) !important;
	color: var(--st-text) !important;
}

html[data-theme="dark"] .entry-meta,
html[data-theme="dark"] .entry-meta *,
html[data-theme="dark"] .ast-taxonomy-description,
html[data-theme="dark"] p {
	color: var(--st-text-muted);
}

html[data-theme="dark"] .entry-content a,
html[data-theme="dark"] .ast-article-single a {
	color: var(--st-brand);
}

html[data-theme="dark"] input,
html[data-theme="dark"] textarea,
html[data-theme="dark"] select {
	background: var(--st-bg-soft) !important;
	color: var(--st-text) !important;
	border-color: var(--st-border) !important;
}

/* --------------------------------------------------------------------------
   Header — desktop & mobile (brand blue, same family as hero)
   -------------------------------------------------------------------------- */
.main-header-bar,
.ast-primary-header-bar,
.ast-mobile-header-wrap,
#masthead,
.site-header {
	background: var(--st-header-bg) !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
	box-shadow: none !important;
}

/* Seamless header → hero on homepage */
.home #masthead,
.home .site-header,
.home .ast-primary-header-bar,
.home .ast-mobile-header-wrap,
.blog #masthead,
.front-page #masthead {
	border-bottom-color: transparent;
}

.ast-primary-header-bar .site-primary-header-wrap,
.ast-mobile-header-wrap .ast-main-header-wrap {
	min-height: var(--st-header-h);
}

/* Align header content with homepage .st-wrap gutters */
#masthead .ast-container,
#masthead .site-primary-header-wrap,
.ast-mobile-header-wrap .ast-main-header-wrap,
.ast-mobile-header-wrap .ast-container,
.ast-mobile-header-wrap .main-header-bar > .ast-builder-grid-row-container,
.ast-mobile-header-wrap .ast-builder-grid-row {
	max-width: var(--st-content-max) !important;
	width: min(var(--st-content-max), calc(100% - (var(--st-gutter) * 2))) !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

@media (max-width: 921px) {
	.ast-mobile-header-wrap .main-header-bar,
	.ast-mobile-header-wrap .ast-primary-header-bar,
	.ast-mobile-header-wrap .site-header-focus-item {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
		box-sizing: border-box;
	}
	.ast-mobile-header-wrap .ast-builder-grid-row,
	.ast-mobile-header-wrap .ast-main-header-wrap,
	.ast-mobile-header-wrap .ast-container {
		width: 100% !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* Logo kiri, hamburger kanan — tidak mengumpul di tengah */
	.ast-mobile-header-wrap .ast-builder-grid-row {
		display: grid !important;
		grid-template-columns: 1fr auto !important;
		justify-content: space-between !important;
		align-items: center !important;
		gap: 0.75rem !important;
	}
	.ast-mobile-header-wrap .site-header-primary-section-left,
	.ast-mobile-header-wrap .ast-builder-grid-row > .site-header-primary-section-left,
	.ast-mobile-header-wrap [data-section="title_tagline"],
	.ast-mobile-header-wrap .ast-site-identity {
		justify-self: start !important;
		justify-content: flex-start !important;
		text-align: left !important;
		margin: 0 !important;
	}
	.ast-mobile-header-wrap .site-header-primary-section-right,
	.ast-mobile-header-wrap .ast-builder-grid-row > .site-header-primary-section-right,
	.ast-mobile-header-wrap .ast-mobile-menu-buttons,
	.ast-mobile-header-wrap .ast-button-wrap {
		justify-self: end !important;
		justify-content: flex-end !important;
		margin-left: auto !important;
	}
}

#masthead .ast-builder-grid-row {
	align-items: center;
	gap: 0.75rem;
}

.site-logo-img img,
.custom-logo {
	max-height: 44px;
	width: auto;
}

.site-title a {
	font-weight: 700 !important;
	color: var(--st-teal-300) !important;
	letter-spacing: -0.03em;
}

/* Nav denser so 7 items + tools fit — light on blue (desktop header only) */
#masthead .main-header-menu > .menu-item > .menu-link,
#masthead .ast-builder-menu:not(.ast-builder-menu-mobile) .menu-link,
#masthead .main-navigation .menu-link {
	font-size: 0.88rem !important;
	font-weight: 600 !important;
	color: var(--st-header-fg) !important;
	padding: 0.4rem 0.5rem !important;
	border-radius: 8px;
	line-height: 1.2 !important;
}

#masthead .main-header-menu > .menu-item > .menu-link:hover,
#masthead .main-header-menu > .current-menu-item > .menu-link,
#masthead .ast-builder-menu:not(.ast-builder-menu-mobile) .menu-link:hover,
#masthead .ast-builder-menu:not(.ast-builder-menu-mobile) .current-menu-item > .menu-link {
	color: #fff !important;
	background: rgba(255, 255, 255, 0.12) !important;
}

/* Social icons — light on brand header */
.ast-header-social-1 .ast-builder-social-element,
.ast-header-social-1 .ahfb-svg-iconset,
.ast-header-social-1 .ast-icon,
.ast-header-social-1 a,
.ast-header-social-1 svg,
.ast-header-social-1 svg *,
.site-header .ast-builder-social-element,
.site-header .ast-social-icon,
.site-header .ast-header-social-1 a .ahfb-svg-iconset svg,
.site-header .ast-header-social-1 a svg path,
.site-header .ast-header-social-1 a svg {
	color: var(--st-social) !important;
	fill: var(--st-social) !important;
	stroke: var(--st-social) !important;
	opacity: 1 !important;
}

html[data-theme="dark"] .ast-header-social-1 .ast-builder-social-element,
html[data-theme="dark"] .ast-header-social-1 .ahfb-svg-iconset,
html[data-theme="dark"] .ast-header-social-1 .ast-icon,
html[data-theme="dark"] .ast-header-social-1 a,
html[data-theme="dark"] .ast-header-social-1 svg,
html[data-theme="dark"] .ast-header-social-1 svg *,
html[data-theme="dark"] .site-header .ast-header-social-1 a svg path {
	color: var(--st-social) !important;
	fill: var(--st-social) !important;
	stroke: var(--st-social) !important;
	opacity: 1 !important;
}

.ast-header-social-1 a {
	min-width: 40px;
	min-height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
}

.ast-header-social-1 a:hover {
	background: rgba(255, 255, 255, 0.12);
}

.ast-header-social-1 .ast-social-stack,
.ast-header-social-1 .social-list,
.ast-header-social-1 ul,
.ast-header-social-1 .ast-builder-social-element,
[data-section="section-hb-social-icons-1"] .ast-builder-social-element {
	display: inline-flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	gap: 0.2rem !important;
	margin: 0 !important;
}

/* Hide social brand icons; keep tools cluster visible */
#masthead .ast-header-social-1 .ast-builder-social-element.header-social-item,
#masthead .ast-header-social-1 a.ast-builder-social-element,
#masthead .ast-header-social-1 .ast-instagram,
#masthead .ast-header-social-1 .ast-facebook,
#masthead .ast-header-social-1 .ast-twitter,
#masthead [data-section="section-hb-social-icons-1"] .ast-builder-social-element.header-social-item {
	display: none !important;
}

@media (max-width: 1180px) {
	/* Keep tools; hide header socials when menu is dense */
	.ast-header-social-1 > a,
	.ast-header-social-1 .ast-social-icon,
	.ast-header-social-1 .ast-builder-social-element:not(.st-header-tools) {
		display: none !important;
	}
	.main-header-menu > .menu-item > .menu-link,
	.ast-builder-menu .menu-link {
		font-size: 0.8rem !important;
		padding: 0.35rem 0.4rem !important;
	}
}

/* Never show Astra header social icons — socials live in mobile drawer only */
#masthead .ast-header-social-1 > a,
#masthead .ast-header-social-1 .ast-social-icon,
#masthead .ast-header-social-1 .ast-builder-social-element:not(.st-header-tools),
#masthead [data-section="section-hb-social-icons-1"] > a,
#masthead .ast-header-social-1 .ahfb-svg-iconset {
	display: none !important;
}

#masthead .ast-header-social-1 .st-header-tools,
#masthead .ast-header-social-1 .st-header-tools .st-tool,
#masthead .ast-header-social-1 .st-header-tools svg {
	display: inline-flex !important;
}

#masthead .ast-header-social-1 .st-header-tools .st-icon-moon {
	display: none !important;
}

html[data-theme="dark"] #masthead .ast-header-social-1 .st-header-tools .st-icon-sun {
	display: none !important;
}

html[data-theme="dark"] #masthead .ast-header-social-1 .st-header-tools .st-icon-moon {
	display: block !important;
}

/* Dark mode — comments / forms / cards on inner pages */
html[data-theme="dark"] #comments,
html[data-theme="dark"] .comments-area,
html[data-theme="dark"] .comment-respond,
html[data-theme="dark"] .ast-comment-formwrap,
html[data-theme="dark"] .comment-form,
html[data-theme="dark"] .ast-separate-container .ast-article-single,
html[data-theme="dark"] .ast-separate-container .comment-respond,
html[data-theme="dark"] .ast-plain-container,
html[data-theme="dark"] .site-content > .ast-container,
html[data-theme="dark"] #primary,
html[data-theme="dark"] .post-navigation,
html[data-theme="dark"] .ast-single-post .entry-header,
html[data-theme="dark"] .ast-comment-avatar-wrap,
html[data-theme="dark"] .ast-box-shadow-single {
	background: var(--st-bg) !important;
	color: var(--st-text) !important;
	box-shadow: none !important;
}

html[data-theme="dark"] .comment-reply-title,
html[data-theme="dark"] .comments-title,
html[data-theme="dark"] .comment-form label,
html[data-theme="dark"] .logged-in-as,
html[data-theme="dark"] .comment-notes,
html[data-theme="dark"] .post-navigation a,
html[data-theme="dark"] .nav-links a,
html[data-theme="dark"] .entry-meta,
html[data-theme="dark"] .entry-meta a {
	color: var(--st-text-muted) !important;
}

html[data-theme="dark"] .comment-form input,
html[data-theme="dark"] .comment-form textarea,
html[data-theme="dark"] .ast-comment-formwrap input,
html[data-theme="dark"] .ast-comment-formwrap textarea {
	background: var(--st-bg-soft) !important;
	color: var(--st-text) !important;
	border: 1px solid var(--st-border) !important;
}

html[data-theme="dark"] .form-submit .submit,
html[data-theme="dark"] .comment-form #submit {
	background: var(--st-brand) !important;
	color: var(--st-accent-text) !important;
	border: 0 !important;
}

/* Tools sit in social / trigger cells */
.ast-header-social-1,
.ast-header-social-1 .social-list,
[data-section="section-hb-social-icons-1"],
[data-section="section-header-mobile-trigger"] {
	display: inline-flex !important;
	align-items: center !important;
	flex-wrap: nowrap !important;
	gap: 0.35rem !important;
}

.st-header-tools {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin-left: 0.25rem;
	flex-shrink: 0;
}

.st-header-tools .st-tool {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 0.55rem;
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.1);
	color: var(--st-header-fg);
	cursor: pointer;
	transition: background var(--st-transition), border-color var(--st-transition);
	font-family: var(--st-font);
	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}

.st-header-tools .st-tool:hover {
	border-color: rgba(255, 255, 255, 0.55);
	background: rgba(255, 255, 255, 0.18);
	color: #fff;
}

.st-header-tools .st-tool svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.st-icon-moon { display: none; }
html[data-theme="dark"] .st-icon-sun { display: none; }
html[data-theme="dark"] .st-icon-moon { display: block; }
html[data-theme="dark"] .st-icon-moon { fill: currentColor; stroke: none; }

.st-lang-switch {
	gap: 0.1rem;
	padding-inline: 0.25rem;
	min-width: auto;
}

.st-lang-switch [data-lang] {
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	cursor: pointer;
	padding: 0.35rem 0.5rem;
	border-radius: 999px;
	min-height: 32px;
	text-decoration: none;
}

.st-lang-switch [data-lang].is-active,
.st-lang-switch a[aria-current="true"] {
	background: var(--st-accent);
	color: var(--st-accent-text) !important;
}

html[data-theme="dark"] .st-lang-switch [data-lang].is-active,
html[data-theme="dark"] .st-lang-switch a[aria-current="true"] {
	background: var(--st-accent);
	color: var(--st-accent-text) !important;
}

/* TranslatePress shortcode fallback inside header tools */
.st-lang-switch--trp .trp-language-switcher,
.st-lang-switch--trp .trp-ls-shortcode-language,
.st-lang-switch--trp .trp-ls-shortcode-current-language {
	display: inline-flex !important;
	align-items: center;
	gap: 0.25rem;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	list-style: none !important;
}

.st-lang-switch--trp a {
	color: inherit !important;
	text-decoration: none !important;
	padding: 0.35rem 0.5rem;
	border-radius: 999px;
	font-size: 0.85rem;
	font-weight: 600;
}

.st-lang-switch--trp .trp-ls-shortcode-current-language > a,
.st-lang-switch--trp .trp-ls-shortcode-current-language {
	background: var(--st-accent);
	color: var(--st-accent-text) !important;
	border-radius: 999px;
}

/* Mobile header tools */
.st-header-tools--mobile {
	margin-right: 0.25rem;
	margin-left: 0;
}

.ast-mobile-header-wrap .ast-button-wrap,
.ast-mobile-menu-trigger-minimal,
.menu-toggle,
button.menu-toggle.main-header-menu-toggle {
	color: var(--st-header-fg) !important;
	border: 1px solid rgba(255, 255, 255, 0.28) !important;
	background: rgba(255, 255, 255, 0.1) !important;
	border-radius: 999px !important;
	min-width: 44px !important;
	min-height: 44px !important;
	padding: 0.45rem !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	opacity: 1 !important;
	box-shadow: none !important;
}

.menu-toggle .mobile-menu-toggle-icon,
.menu-toggle .ahfb-svg-iconset,
.menu-toggle .ast-mobile-svg,
.menu-toggle svg,
.menu-toggle svg path,
button.menu-toggle .ast-menu-svg,
button.menu-toggle .ast-close-svg,
button.menu-toggle .ast-menu-svg path,
button.menu-toggle .ast-close-svg path {
	color: #fff !important;
	fill: #fff !important;
	stroke: none !important;
	opacity: 1 !important;
	width: 22px !important;
	height: 22px !important;
}

html[data-theme="dark"] .ast-mobile-header-wrap .menu-toggle,
html[data-theme="dark"] .ast-mobile-menu-buttons,
html[data-theme="dark"] button.menu-toggle.main-header-menu-toggle,
html[data-theme="dark"] .ast-mobile-menu-trigger-minimal {
	color: var(--st-header-fg) !important;
	background: rgba(255, 255, 255, 0.1) !important;
	border-color: rgba(255, 255, 255, 0.28) !important;
}

html[data-theme="dark"] .menu-toggle .mobile-menu-toggle-icon,
html[data-theme="dark"] .menu-toggle .ahfb-svg-iconset,
html[data-theme="dark"] .menu-toggle .ast-mobile-svg,
html[data-theme="dark"] .menu-toggle svg,
html[data-theme="dark"] .menu-toggle svg path,
html[data-theme="dark"] button.menu-toggle .ast-menu-svg,
html[data-theme="dark"] button.menu-toggle .ast-close-svg,
html[data-theme="dark"] button.menu-toggle .ast-menu-svg path,
html[data-theme="dark"] button.menu-toggle .ast-close-svg path {
	color: #fff !important;
	fill: #fff !important;
	opacity: 1 !important;
}

/* Mobile popup menu — readable light surface */
.ast-mobile-popup-drawer,
.ast-mobile-popup-content,
#ast-mobile-popup,
.ast-mobile-popup-inner,
.ast-mobile-popup-header,
.ast-mobile-header-wrap .ast-mobile-header-content,
.ast-desktop-popup-content {
	background: #ffffff !important;
	color: var(--st-ink) !important;
	border-color: var(--st-border) !important;
}

.ast-mobile-popup-drawer .menu-link,
.ast-mobile-popup-content .menu-link,
.ast-mobile-popup-drawer .sub-menu .menu-link,
#ast-mobile-popup .menu-item .menu-link,
.ast-builder-menu-mobile .menu-link,
.ast-mobile-popup-drawer .ast-builder-menu .menu-link,
.ast-mobile-popup-drawer .main-header-menu .menu-link {
	color: var(--st-ink) !important;
	background: transparent !important;
	border-color: var(--st-border) !important;
	font-size: 1rem !important;
	padding: 0.75rem 0.25rem !important;
}

.ast-mobile-popup-drawer .menu-link:hover,
.ast-mobile-popup-drawer .current-menu-item > .menu-link,
#ast-mobile-popup .current-menu-item > .menu-link {
	color: var(--st-brand) !important;
	background: color-mix(in srgb, var(--st-brand) 10%, transparent) !important;
}

.ast-mobile-popup-drawer .ast-mobile-popup-header,
.ast-mobile-popup-header,
.menu-toggle.close,
.ast-mobile-popup-drawer .menu-toggle,
.ast-mobile-popup-content .close,
#menu-toggle-close {
	background: #ffffff !important;
	color: var(--st-ink) !important;
	border-color: var(--st-border) !important;
}

#menu-toggle-close svg,
#menu-toggle-close path,
.ast-mobile-popup-header svg,
.ast-mobile-popup-header path {
	fill: var(--st-ink) !important;
	color: var(--st-ink) !important;
	stroke: var(--st-ink) !important;
}

html[data-theme="dark"] .st-mobile-popup-drawer,
html[data-theme="dark"] .ast-mobile-popup-drawer,
html[data-theme="dark"] .ast-mobile-popup-content,
html[data-theme="dark"] #ast-mobile-popup,
html[data-theme="dark"] .ast-mobile-popup-inner,
html[data-theme="dark"] .ast-mobile-popup-header,
html[data-theme="dark"] .ast-desktop-toggle-menu,
html[data-theme="dark"] .ast-mobile-popup-drawer .main-header-bar-navigation,
html[data-theme="dark"] .ast-mobile-popup-drawer .main-navigation,
html[data-theme="dark"] .ast-mobile-popup-drawer .ast-builder-menu,
html[data-theme="dark"] .ast-mobile-popup-drawer .menu-item,
html[data-theme="dark"] .ast-mobile-popup-drawer .sub-menu,
html[data-theme="dark"] .ast-main-header-nav-open .ast-mobile-popup-drawer {
	background: var(--st-bg-soft) !important;
	color: var(--st-text) !important;
	border-color: var(--st-border) !important;
}

html[data-theme="dark"] .ast-mobile-popup-drawer .menu-link,
html[data-theme="dark"] .ast-mobile-popup-content .menu-link,
html[data-theme="dark"] #ast-mobile-popup .menu-link,
html[data-theme="dark"] .ast-builder-menu-mobile .menu-link,
html[data-theme="dark"] .ast-mobile-popup-drawer .menu-item > .menu-link,
html[data-theme="dark"] .ast-mobile-popup-drawer a {
	color: #eef3fb !important;
}

html[data-theme="dark"] .ast-mobile-popup-drawer .menu-toggle,
html[data-theme="dark"] .ast-mobile-popup-header .menu-toggle,
html[data-theme="dark"] .ast-mobile-popup-drawer .close,
html[data-theme="dark"] .ast-mobile-popup-header {
	background: #0a1526 !important;
	color: #eef3fb !important;
	fill: #eef3fb !important;
}

html[data-theme="dark"] .ast-mobile-popup-drawer .menu-toggle .ast-mobile-svg,
html[data-theme="dark"] .ast-mobile-popup-drawer svg,
html[data-theme="dark"] .ast-mobile-popup-header svg {
	fill: #eef3fb !important;
	color: #eef3fb !important;
}

@media (max-width: 921px) {
	.st-header-tools--desktop { display: none !important; }
	.main-header-menu > .menu-item > .menu-link {
		font-size: 1rem !important;
		padding: 0.75rem 1rem !important;
	}
}

@media (min-width: 922px) {
	.st-header-tools--mobile { display: none !important; }
}

/* Mobile drawer extras — below menu */
.st-drawer-extras {
	display: flex !important;
	flex-direction: column;
	gap: 1rem;
	padding: 1.15rem 0 0.35rem;
	margin: 1rem 0 0;
	border-top: 1px solid var(--st-border);
	border-bottom: 0;
	visibility: visible !important;
	opacity: 1 !important;
}

.st-drawer-tools {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}

.st-drawer-tools .st-tool {
	border: 1px solid var(--st-border) !important;
	background: var(--st-bg-soft) !important;
	color: var(--st-ink) !important;
	opacity: 1 !important;
}

.st-drawer-tools .st-tool svg {
	stroke: currentColor !important;
	fill: none !important;
	opacity: 1 !important;
}

.st-drawer-tools .st-tool .st-icon-moon {
	fill: currentColor !important;
	stroke: none !important;
}

.st-drawer-tools .st-tool:hover {
	border-color: var(--st-brand) !important;
	background: color-mix(in srgb, var(--st-brand) 10%, var(--st-bg-soft)) !important;
	color: var(--st-brand) !important;
}

.st-drawer-tools .st-lang-switch [data-lang],
.st-drawer-tools .st-lang-switch a {
	color: var(--st-ink) !important;
}

.st-drawer-tools .st-lang-switch [data-lang].is-active,
.st-drawer-tools .st-lang-switch a[aria-current="true"] {
	background: var(--st-accent) !important;
	color: var(--st-accent-text) !important;
}

html[data-theme="dark"] .st-drawer-tools .st-tool {
	background: var(--st-card) !important;
	color: var(--st-text) !important;
	border-color: var(--st-border) !important;
}

html[data-theme="dark"] .st-drawer-tools .st-lang-switch [data-lang],
html[data-theme="dark"] .st-drawer-tools .st-lang-switch a {
	color: var(--st-text) !important;
}

html[data-theme="dark"] .st-drawer-tools .st-lang-switch [data-lang].is-active,
html[data-theme="dark"] .st-drawer-tools .st-lang-switch a[aria-current="true"] {
	background: var(--st-accent) !important;
	color: var(--st-accent-text) !important;
}

.st-drawer-social {
	display: flex !important;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.st-drawer-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 0.75rem;
	border-radius: 999px;
	border: 1px solid var(--st-border);
	background: var(--st-bg-soft);
	color: var(--st-ink) !important;
	text-decoration: none !important;
	font-size: 0.8rem;
	font-weight: 700;
}

.st-drawer-social a:hover {
	border-color: var(--st-brand);
	color: var(--st-brand-strong) !important;
}

.st-drawer-social svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}

/* --------------------------------------------------------------------------
   Search overlay
   -------------------------------------------------------------------------- */
.st-search-overlay {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: none;
	align-items: flex-start;
	justify-content: center;
	padding: max(12vh, 4rem) 1.25rem 2rem;
	background: rgba(7, 26, 51, 0.64);
	backdrop-filter: blur(8px);
}

.st-search-overlay.is-open { display: flex; }

.st-search-panel {
	width: min(640px, 100%);
	background: var(--st-card);
	border: 1px solid var(--st-border);
	border-radius: var(--st-radius);
	box-shadow: var(--st-shadow-lg);
	padding: 1.15rem;
	color: var(--st-text);
}

.st-search-panel form {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.st-search-panel input[type="search"] {
	flex: 1 1 220px;
	border: 1px solid var(--st-border);
	border-radius: var(--st-radius-sm);
	padding: 0.9rem 1rem;
	font-family: var(--st-font);
	font-size: 1rem;
	background: var(--st-bg);
	color: var(--st-text);
	min-height: 48px;
}

.st-search-panel button[type="submit"] {
	border: 0;
	border-radius: var(--st-radius-sm);
	padding: 0.9rem 1.15rem;
	min-height: 48px;
	background: var(--st-blue-800);
	color: #fff;
	font-family: var(--st-font);
	font-weight: 700;
	cursor: pointer;
}

html[data-theme="dark"] .st-search-panel button[type="submit"] {
	background: var(--st-brand);
	color: var(--st-accent-text);
}

.st-search-close {
	margin-top: 0.85rem;
	border: 1px solid var(--st-border);
	border-radius: 999px;
	background: transparent;
	color: var(--st-text);
	font-family: var(--st-font);
	font-weight: 600;
	cursor: pointer;
	min-height: 44px;
	padding: 0.5rem 1rem;
}

@keyframes st-rise {
	from { opacity: 0; transform: translateY(10px); }
	to { opacity: 1; transform: translateY(0); }
}

/* --------------------------------------------------------------------------
   Homepage
   -------------------------------------------------------------------------- */
.st-home { background: var(--st-bg); }

.home .site-content > .ast-container,
.home #content > .ast-container,
.home .ast-container {
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: 100% !important;
}

.home .site-content { padding-top: 0 !important; }

.st-section {
	padding: clamp(3.25rem, 6vw, 5.5rem) 0;
	position: relative;
}

.st-section + .st-section { border-top: 1px solid var(--st-border); }

html[data-theme="dark"] .st-section + .st-section {
	border-top-color: #2d4060 !important;
}

html[data-theme="dark"] .st-home {
	background: #070f1c !important;
}

.st-wrap {
	width: min(var(--st-content-max), calc(100% - (var(--st-gutter) * 2)));
	margin-inline: auto;
}

.st-kicker {
	display: inline-block;
	margin-bottom: 0.85rem;
	padding: 0.38rem 0.75rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--st-accent) 22%, #fff);
	color: var(--st-blue-900);
	font-size: 0.78rem;
	font-weight: 750;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

html[data-theme="dark"] .st-kicker {
	background: rgba(35, 147, 151, 0.22);
	color: var(--st-teal-300);
}

.st-section h2 {
	margin: 0 0 0.65rem;
	font-size: clamp(1.7rem, 3vw, 2.3rem);
	line-height: 1.15;
}

.st-lead {
	max-width: 40rem;
	margin: 0;
	color: var(--st-text-muted);
	font-size: 1.05rem;
	line-height: 1.65;
}

.st-section-head {
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.85rem;
}

.st-link-more {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-weight: 700;
	text-decoration: none;
	color: var(--st-brand);
	min-height: 44px;
	padding: 0.35rem 0.15rem;
}

/* Hero */
.st-hero {
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	min-height: calc(100vh - var(--st-header-h));
	min-height: calc(100svh - var(--st-header-h));
	padding: clamp(3rem, 6vw, 5rem) 0;
	margin-top: 0;
	background:
		radial-gradient(ellipse 70% 55% at 90% 0%, var(--st-glow), transparent 55%),
		linear-gradient(148deg, var(--st-hero-1) 0%, var(--st-hero-2) 48%, var(--st-hero-3) 100%);
	color: #f4f8ff;
	border-top: 0 !important;
}

/* Optional photo background — scrim keeps copy readable */
.st-hero__media,
.st-hero__scrim {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.st-hero__media {
	z-index: 0;
	background-color: var(--st-hero-1);
	background-image: var(--st-hero-image);
	background-size: cover;
	background-position: center right;
	background-repeat: no-repeat;
	transform: scale(1.02);
	filter: saturate(0.88) contrast(0.96);
}

.st-hero__scrim {
	z-index: 1;
	background:
		linear-gradient(
			105deg,
			color-mix(in srgb, var(--st-hero-1) 94%, transparent) 0%,
			color-mix(in srgb, var(--st-hero-1) 88%, transparent) 38%,
			color-mix(in srgb, var(--st-hero-2) 62%, transparent) 68%,
			color-mix(in srgb, var(--st-hero-3) 42%, transparent) 100%
		),
		linear-gradient(
			to top,
			color-mix(in srgb, var(--st-hero-1) 55%, transparent) 0%,
			transparent 42%
		),
		radial-gradient(ellipse 70% 55% at 90% 0%, var(--st-glow), transparent 55%);
}

.st-hero--overlay-light .st-hero__scrim {
	background:
		linear-gradient(
			105deg,
			color-mix(in srgb, var(--st-hero-1) 86%, transparent) 0%,
			color-mix(in srgb, var(--st-hero-1) 72%, transparent) 40%,
			color-mix(in srgb, var(--st-hero-2) 45%, transparent) 72%,
			color-mix(in srgb, var(--st-hero-3) 28%, transparent) 100%
		),
		linear-gradient(
			to top,
			color-mix(in srgb, var(--st-hero-1) 40%, transparent) 0%,
			transparent 40%
		);
}

.st-hero--overlay-strong .st-hero__scrim {
	background:
		linear-gradient(
			105deg,
			color-mix(in srgb, var(--st-hero-1) 97%, transparent) 0%,
			color-mix(in srgb, var(--st-hero-1) 93%, transparent) 42%,
			color-mix(in srgb, var(--st-hero-2) 78%, transparent) 70%,
			color-mix(in srgb, var(--st-hero-3) 58%, transparent) 100%
		),
		linear-gradient(
			to top,
			color-mix(in srgb, var(--st-hero-1) 65%, transparent) 0%,
			transparent 45%
		);
}

.st-hero--has-image {
	background: var(--st-hero-1);
}

@media (max-width: 900px) {
	.st-hero__media {
		background-position: center center;
	}
	.st-hero--has-image .st-hero__scrim,
	.st-hero--overlay-light .st-hero__scrim,
	.st-hero--overlay-strong .st-hero__scrim {
		background:
			linear-gradient(
				180deg,
				color-mix(in srgb, var(--st-hero-1) 88%, transparent) 0%,
				color-mix(in srgb, var(--st-hero-2) 78%, transparent) 55%,
				color-mix(in srgb, var(--st-hero-1) 86%, transparent) 100%
			);
	}
	.st-hero--overlay-strong .st-hero__scrim {
		background:
			linear-gradient(
				180deg,
				color-mix(in srgb, var(--st-hero-1) 94%, transparent) 0%,
				color-mix(in srgb, var(--st-hero-2) 90%, transparent) 55%,
				color-mix(in srgb, var(--st-hero-1) 94%, transparent) 100%
			);
	}
}

.st-hero .st-wrap {
	position: relative;
	z-index: 2;
	width: min(var(--st-content-max), calc(100% - (var(--st-gutter) * 2)));
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.85fr);
	gap: clamp(1.5rem, 4vw, 2.75rem);
	align-items: center;
}

@media (max-width: 900px) {
	.st-hero {
		min-height: 100vh;
		min-height: 100svh;
		min-height: 100dvh;
		align-items: flex-start;
		padding:
			calc(var(--st-header-h) + clamp(1.75rem, 6vw, 2.75rem))
			0
			clamp(2rem, 6vw, 3rem);
	}
	body.admin-bar .st-hero {
		padding-top: calc(var(--st-header-h) + 32px + clamp(1.5rem, 5vw, 2.25rem));
	}
	.st-hero .st-wrap {
		grid-template-columns: 1fr;
		align-content: start;
		gap: 1.25rem;
		width: min(var(--st-content-max), calc(100% - 3.5rem));
	}
	.st-hero-copy {
		max-width: 36rem;
	}
	.st-hero h1 {
		max-width: 12ch;
		font-size: clamp(1.85rem, 8.5vw, 2.45rem);
	}
	.st-hero .st-lead {
		font-size: 0.98rem;
		max-width: 34rem;
	}
	/* Keep primary CTAs visible and tappable on mobile */
	.st-hero-actions {
		display: flex !important;
		flex-direction: column;
		align-items: stretch;
		gap: 0.65rem;
		margin-top: 1.25rem;
		width: 100%;
	}
	.st-hero-actions .st-btn {
		width: 100%;
		justify-content: center;
	}
	/* Compact spotlight under CTAs */
	.st-hero-panel {
		display: block;
	}
	.st-hero-spotlight {
		padding: 1rem 1rem 0.95rem;
	}
	.st-hero-spotlight__excerpt {
		display: none;
	}
}

.st-hero .st-kicker {
	background: rgba(35, 147, 151, 0.22);
	color: #d7f5f6;
}

.st-hero h1 {
	max-width: 14ch;
	margin: 0 0 1rem;
	color: #fff !important;
	font-size: clamp(2.2rem, 5.5vw, 3.85rem);
	line-height: 1.08;
	overflow-wrap: anywhere;
}

.st-hero .st-lead {
	color: rgba(244, 248, 255, 0.92);
	max-width: 36rem;
}

.st-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.5rem;
}

.st-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	min-height: 48px;
	padding: 0.75rem 1.25rem;
	border-radius: 999px;
	border: 2px solid transparent;
	font-family: var(--st-font);
	font-weight: 750;
	text-decoration: none;
	transition: transform var(--st-transition), background var(--st-transition), box-shadow var(--st-transition);
}

.st-btn:hover { transform: translateY(-1px); }

.st-btn-primary {
	background: var(--st-accent);
	color: var(--st-accent-text) !important;
	box-shadow: 0 10px 24px rgba(35, 147, 151, 0.28);
}

.st-btn-ghost {
	border-color: rgba(255, 255, 255, 0.7);
	color: #fff !important;
	background: rgba(255, 255, 255, 0.08);
}

.st-hero-panel {
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: calc(var(--st-radius) + 2px);
	background: rgba(12, 45, 74, 0.42);
	backdrop-filter: blur(10px);
	padding: 0;
	overflow: hidden;
}

.st-hero--has-image .st-hero-panel {
	background: rgba(12, 45, 74, 0.55);
}

.st-hero-spotlight {
	display: block;
	padding: 1.25rem 1.2rem 1.15rem;
	color: inherit !important;
	text-decoration: none !important;
	transition: background var(--st-transition);
}

.st-hero-spotlight:hover {
	background: rgba(255, 255, 255, 0.06);
}

.st-hero-spotlight__kicker {
	display: inline-block;
	margin-bottom: 0.65rem;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	background: rgba(35, 147, 151, 0.22);
	color: #d7f5f6;
	font-size: 0.72rem;
	font-weight: 750;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.st-hero-spotlight__title {
	margin: 0 0 0.45rem !important;
	color: #fff !important;
	font-size: clamp(1.15rem, 2.2vw, 1.45rem) !important;
	line-height: 1.25 !important;
}

.st-hero-spotlight__meta {
	margin: 0 0 0.65rem;
	color: rgba(244, 248, 255, 0.72);
	font-size: 0.85rem;
	line-height: 1.4;
}

.st-hero-spotlight__excerpt {
	margin: 0 0 0.9rem;
	color: rgba(244, 248, 255, 0.9);
	font-size: 0.95rem;
	line-height: 1.55;
}

.st-hero-spotlight__cta {
	display: inline-flex;
	color: var(--st-teal-300);
	font-weight: 750;
	font-size: 0.92rem;
}

/* Cards */
.st-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 900px) {
	.st-grid { grid-template-columns: 1fr; }
}

.st-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--st-border);
	border-radius: var(--st-radius);
	background: var(--st-card);
	box-shadow: var(--st-shadow);
	text-decoration: none;
	color: inherit;
	transition: transform var(--st-transition), border-color var(--st-transition), box-shadow var(--st-transition);
}

.st-card:hover {
	transform: translateY(-3px);
	border-color: color-mix(in srgb, var(--st-brand) 35%, var(--st-border));
	box-shadow: var(--st-shadow-lg);
	color: inherit;
}

.st-card-media {
	aspect-ratio: 16 / 10;
	background: linear-gradient(135deg, #043f6c, #065793 55%, #239397);
}

.st-card:nth-child(2) .st-card-media {
	background: linear-gradient(145deg, #032d46, #065793 45%, #239397);
}

.st-card:nth-child(3) .st-card-media {
	background: linear-gradient(160deg, #043f6c, #0969a9 50%, #50aaad);
}

.st-card-body {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	padding: 1.1rem 1.15rem 1.25rem;
	flex: 1;
}

.st-card-meta {
	color: var(--st-text-muted);
	font-size: 0.82rem;
	font-weight: 650;
}

.st-card h3 {
	margin: 0;
	font-size: 1.08rem;
	line-height: 1.3;
	color: var(--st-text) !important;
}

.st-card p {
	margin: 0;
	color: var(--st-text-muted);
	line-height: 1.55;
	font-size: 0.95rem;
}

.st-card-tag {
	align-self: start;
	padding: 0.28rem 0.55rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--st-blue-700) 14%, transparent);
	color: var(--st-brand);
	font-size: 0.72rem;
	font-weight: 750;
	text-transform: uppercase;
}

.st-card-foot {
	margin-top: auto;
	padding-top: 0.3rem;
	font-size: 0.88rem;
	font-weight: 700;
	color: var(--st-brand);
}

.st-featured {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	margin-bottom: 1rem;
	border: 1px solid var(--st-border);
	border-radius: calc(var(--st-radius) + 2px);
	overflow: hidden;
	background: var(--st-card);
	box-shadow: var(--st-shadow);
	text-decoration: none;
	color: inherit;
}

.st-featured:hover {
	box-shadow: var(--st-shadow-lg);
	color: inherit;
}

.st-featured-media {
	min-height: 240px;
	background:
		radial-gradient(circle at 20% 20%, rgba(35, 147, 151, 0.45), transparent 45%),
		linear-gradient(145deg, #043f6c, #065793);
}

.st-featured-body {
	padding: clamp(1.25rem, 3vw, 1.85rem);
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.65rem;
}

.st-featured-body h3 {
	margin: 0;
	font-size: clamp(1.25rem, 2.3vw, 1.75rem);
	line-height: 1.2;
	color: var(--st-text) !important;
}

@media (max-width: 800px) {
	.st-featured { grid-template-columns: 1fr; }
	.st-featured-media { min-height: 160px; }
}

.st-programs {
	background: var(--st-bg-soft);
}

html[data-theme="dark"] .st-programs {
	background: var(--st-bg-soft) !important;
}

html[data-theme="dark"] .st-programs .st-card,
html[data-theme="dark"] .st-publications .st-card,
html[data-theme="dark"] .st-featured,
html[data-theme="dark"] .st-partner {
	background: var(--st-card) !important;
	border-color: var(--st-border) !important;
	color: var(--st-text) !important;
}

html[data-theme="dark"] .st-programs .st-card h3,
html[data-theme="dark"] .st-publications .st-card h3,
html[data-theme="dark"] .st-featured-body h3,
html[data-theme="dark"] .st-section h2 {
	color: var(--st-text) !important;
}

html[data-theme="dark"] .st-programs .st-card p,
html[data-theme="dark"] .st-programs .st-card-meta,
html[data-theme="dark"] .st-lead,
html[data-theme="dark"] .st-partner__name {
	color: var(--st-text-muted) !important;
}

html[data-theme="dark"] .st-partner__logo {
	background: color-mix(in srgb, var(--st-brand) 16%, var(--st-card));
	border-color: var(--st-border);
}

html[data-theme="dark"] .st-partner__initials {
	color: var(--st-brand-strong);
}

html[data-theme="dark"] .st-card-foot,
html[data-theme="dark"] .st-link-more,
html[data-theme="dark"] .st-card-tag {
	color: var(--st-brand) !important;
}

html[data-theme="dark"] .st-card-tag {
	background: color-mix(in srgb, var(--st-brand) 18%, transparent) !important;
}

.st-event-date {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 12px;
	background: var(--st-blue-900);
	color: #fff;
	flex-shrink: 0;
}

html[data-theme="dark"] .st-event-date {
	background: var(--st-blue-700);
	color: #fff;
}

.st-event-date strong { font-size: 1.2rem; line-height: 1; }
.st-event-date span {
	font-size: 0.68rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	opacity: 0.9;
}

.st-program-row {
	display: flex;
	gap: 0.85rem;
	align-items: flex-start;
}

.st-partners-strip {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.85rem;
}

@media (max-width: 900px) {
	.st-partners-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
	.st-partners-strip { grid-template-columns: 1fr; }
}

.st-partner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.7rem;
	min-height: 112px;
	padding: 1rem 0.85rem;
	border: 1px solid var(--st-border);
	border-radius: var(--st-radius);
	background: var(--st-card);
	color: var(--st-text);
	text-align: center;
}

.st-partner__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 14px;
	background: color-mix(in srgb, var(--st-brand) 12%, var(--st-bg-soft));
	border: 1px solid color-mix(in srgb, var(--st-brand) 18%, var(--st-border));
	overflow: hidden;
}

.st-partner__logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 0.35rem;
}

.st-partner__initials {
	font-size: 0.85rem;
	font-weight: 750;
	letter-spacing: 0.04em;
	color: var(--st-brand-strong);
}

.st-partner__name {
	margin: 0;
	font-size: 0.88rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--st-text);
}

.st-cta {
	background: linear-gradient(120deg, var(--st-hero-1), var(--st-hero-2) 55%, var(--st-hero-3));
	color: #fff;
	border-top: 0 !important;
}

html[data-theme="dark"] .st-cta {
	background: linear-gradient(120deg, var(--st-hero-1), var(--st-hero-2) 50%, var(--st-hero-3)) !important;
	border-color: transparent !important;
}

.st-cta .st-wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1.15rem;
}

.st-cta h2 { color: #fff !important; margin-bottom: 0.4rem; }
.st-cta .st-lead { color: rgba(244, 248, 255, 0.9); }
.st-cta .st-kicker {
	background: rgba(35, 147, 151, 0.22);
	color: #d7f5f6;
}

html[data-theme="dark"] .st-cta .st-lead {
	color: rgba(244, 248, 255, 0.92) !important;
}

html[data-theme="dark"] .st-cta .st-btn-primary {
	background: var(--st-accent) !important;
	color: var(--st-accent-text) !important;
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */
.st-footer-demo {
	background: var(--st-footer-bg);
	color: #e8eef8;
	padding: clamp(2.5rem, 5vw, 3.5rem) 0 0;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.st-footer-demo__grid {
	display: grid;
	grid-template-columns: 1.3fr repeat(3, minmax(0, 1fr));
	gap: 1.75rem;
}

.st-footer-col__title {
	margin: 0 0 0.85rem !important;
	color: #fff !important;
	font-size: 0.9rem !important;
	font-weight: 750 !important;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.st-footer-col p {
	margin: 0;
	color: #c5d3e6;
	line-height: 1.6;
	font-size: 0.95rem;
}

.st-footer-links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.st-footer-links li {
	margin: 0 0 0.5rem;
	color: #c5d3e6;
	font-size: 0.95rem;
	line-height: 1.45;
}

.st-footer-links a {
	color: #dce7f7 !important;
	text-decoration: none;
}

.st-footer-links a:hover {
	color: var(--st-teal-300) !important;
}

.st-footer-legal {
	margin-top: 1.75rem;
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	background: var(--st-footer-deep);
	padding: 1rem 0 1.15rem;
}

.st-footer-legal__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1.25rem;
}

.st-footer-legal__copy {
	margin: 0;
	color: #b7c6da;
	font-size: 0.88rem;
	text-align: left;
}

.st-footer-legal__nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.35rem 0.55rem;
	font-size: 0.88rem;
}

.st-footer-legal__nav a {
	color: #dce7f7 !important;
	text-decoration: none;
}

.st-footer-legal__nav a:hover {
	color: var(--st-teal-300) !important;
}

.st-footer-legal__sep {
	color: #7f93ad;
}

@media (max-width: 560px) {
	.st-footer-legal__inner {
		flex-direction: column;
		align-items: flex-start;
	}
	.st-footer-legal__nav {
		justify-content: flex-start;
	}
	.st-footer-legal__copy {
		text-align: left;
	}
}

/* Hide leftover Astra demo widgets when our footer demo is present */
.st-has-demo-footer .site-primary-footer-wrap,
.st-has-demo-footer .ast-footer-overlay .site-footer-primary-section-wrap,
.st-has-demo-footer .site-footer .site-primary-footer-wrap,
.st-has-demo-footer .site-footer .ast-builder-grid-row-wrapper,
.st-has-demo-footer .site-footer .footer-widget-area,
.st-has-demo-footer .site-footer [data-section*="footer-widget"],
.st-has-demo-footer .site-footer .ast-footer-widget-area,
.st-has-demo-footer .site-primary-footer-section,
.st-has-demo-footer .site-below-footer-wrap,
.st-has-demo-footer .ast-small-footer,
.st-has-demo-footer .site-footer .site-below-footer-wrap,
.st-has-demo-footer .site-footer .ast-footer-copyright,
.st-has-demo-footer footer#colophon .site-below-footer-wrap {
	display: none !important;
}

.site-footer,
.ast-footer-overlay,
.site-footer .ast-builder-grid-row,
.site-footer .site-primary-footer-wrap,
.site-footer .site-below-footer-wrap,
footer#colophon {
	background: var(--st-footer-bg) !important;
	color: #e8eef8 !important;
}

.site-footer .ast-builder-footer-grid-columns,
.site-footer .site-footer-primary-section,
.site-footer .ast-builder-grid-row {
	padding-top: 2.25rem;
	padding-bottom: 1.5rem;
	gap: 1.5rem !important;
	align-items: start;
}

.site-footer a,
.ast-footer-overlay a,
.site-footer .widget a,
.site-footer .menu-link {
	color: #dce7f7 !important;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

.site-footer a:hover,
.site-footer .menu-link:hover {
	color: var(--st-teal-300) !important;
}

.footer-widget-area .widget-title,
.ast-footer-widget .widget-title,
.site-footer .widget-title,
.site-footer h2,
.site-footer h3,
.site-footer .widget .widget-title {
	color: #ffffff !important;
	font-size: 0.9rem !important;
	font-weight: 750 !important;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	margin-bottom: 0.85rem !important;
}

.site-footer .widget,
.site-footer p,
.site-footer li {
	color: #c5d3e6 !important;
	font-size: 0.95rem;
	line-height: 1.55;
}

.site-footer .widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-footer .widget li {
	margin: 0 0 0.45rem;
}

.ast-small-footer,
.site-footer .site-below-footer-wrap,
.site-footer .ast-footer-copyright,
.site-footer .ast-small-footer-section {
	border-top: 1px solid rgba(255, 255, 255, 0.14) !important;
	background: var(--st-footer-deep) !important;
	color: #b7c6da !important;
	padding-top: 1rem !important;
	padding-bottom: 1.15rem !important;
}

.site-footer .ast-footer-social-1 a,
.site-footer .ast-builder-social-element {
	color: #e8eef8 !important;
	fill: #e8eef8 !important;
	opacity: 1 !important;
}

@media (max-width: 921px) {
	.site-footer .ast-builder-grid-row {
		grid-template-columns: 1fr 1fr !important;
	}
	.st-footer-demo__grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 560px) {
	.site-footer .ast-builder-grid-row {
		grid-template-columns: 1fr !important;
	}
	.st-footer-demo__grid {
		grid-template-columns: 1fr;
	}
	.st-wrap { width: min(var(--st-content-max), calc(100% - 2.75rem)); }
}

@media (prefers-reduced-motion: no-preference) {
	.st-hero h1,
	.st-hero .st-lead,
	.st-hero-actions,
	.st-hero-panel {
		animation: st-rise 0.55s var(--st-ease-out) both;
	}
	.st-hero .st-lead { animation-delay: 0.05s; }
	.st-hero-actions { animation-delay: 0.1s; }
	.st-hero-panel { animation-delay: 0.12s; }
}

/* --------------------------------------------------------------------------
   Inner pages
   -------------------------------------------------------------------------- */
.st-page .entry-header,
.ast-page-builder-template .entry-header,
.page-template-template-profile .entry-header,
.page-template-template-programs .entry-header,
.page-template-template-partnerships .entry-header,
.page-template-template-donate .entry-header,
.page-template-template-publications .entry-header,
.page-template-template-contact .entry-header {
	display: none !important;
}

.page-template-template-profile #content > .ast-container,
.page-template-template-programs #content > .ast-container,
.page-template-template-partnerships #content > .ast-container,
.page-template-template-donate #content > .ast-container,
.page-template-template-publications #content > .ast-container,
.page-template-template-contact #content > .ast-container,
.st-page {
	max-width: none;
	padding: 0;
	width: 100%;
}

.st-page-hero {
	padding: clamp(4.5rem, 8vw, 6rem) 0 clamp(2.5rem, 5vw, 3.5rem);
	background:
		radial-gradient(ellipse 60% 50% at 100% 0%, var(--st-glow), transparent 55%),
		linear-gradient(145deg, var(--st-hero-1) 0%, var(--st-hero-2) 60%, var(--st-hero-3) 100%);
	color: #f4f8ff;
}

.st-page-hero .st-kicker {
	background: rgba(35, 147, 151, 0.22);
	color: #d7f5f6;
}

.st-page-hero h1 {
	margin: 0 0 0.85rem;
	color: #fff !important;
	font-size: clamp(2rem, 4.5vw, 3.1rem);
	line-height: 1.12;
	max-width: 18ch;
}

.st-page-hero .st-lead {
	color: rgba(244, 248, 255, 0.92);
	max-width: 40rem;
}

.st-section--soft {
	background: var(--st-bg-soft);
}

html[data-theme="dark"] .st-section--soft {
	background: #0c1829 !important;
}

.st-prose {
	max-width: 42rem;
}

.st-prose h2 {
	margin: 0 0 0.75rem;
	font-size: clamp(1.5rem, 2.5vw, 2rem);
}

.st-prose p {
	color: var(--st-text-muted);
	line-height: 1.65;
	font-size: 1.05rem;
}

.st-checklist,
.st-steps {
	margin: 1rem 0 0;
	padding-left: 1.2rem;
	color: var(--st-text-muted);
	line-height: 1.7;
}

.st-checklist li,
.st-steps li {
	margin-bottom: 0.45rem;
}

.st-split {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: clamp(1.25rem, 3vw, 2.5rem);
	align-items: start;
}

@media (max-width: 900px) {
	.st-split { grid-template-columns: 1fr; }
}

.st-callout {
	border: 1px solid var(--st-border);
	border-radius: var(--st-radius);
	background: var(--st-card);
	padding: 1.35rem 1.4rem;
	box-shadow: var(--st-shadow);
}

.st-callout--wide {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.st-callout h2,
.st-callout h3 {
	margin: 0 0 0.55rem;
	color: var(--st-text) !important;
}

.st-callout p {
	margin: 0 0 1rem;
	color: var(--st-text-muted);
}

.st-callout .st-btn { margin-top: 0.25rem; }

html[data-theme="dark"] .st-callout {
	background: #101f36 !important;
	border-color: #2d4060 !important;
}

.st-page .st-btn-primary {
	background: var(--st-accent);
	color: var(--st-accent-text) !important;
}

.st-form {
	border: 1px solid var(--st-border);
	border-radius: var(--st-radius);
	background: var(--st-card);
	padding: 1.25rem;
	box-shadow: var(--st-shadow);
}

.st-form__row {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin-bottom: 0.9rem;
}

.st-form label {
	font-weight: 650;
	font-size: 0.9rem;
	color: var(--st-text);
}

.st-form input,
.st-form select,
.st-form textarea {
	border: 1px solid var(--st-border);
	border-radius: 10px;
	padding: 0.75rem 0.85rem;
	font: inherit;
	background: var(--st-bg);
	color: var(--st-text);
	min-height: 44px;
}

.st-form textarea { min-height: 120px; resize: vertical; }

.st-form__note {
	margin: 0.85rem 0 0;
	color: var(--st-text-muted);
	font-size: 0.85rem;
	line-height: 1.45;
}

html[data-theme="dark"] .st-form {
	background: #101f36 !important;
	border-color: #2d4060 !important;
}

html[data-theme="dark"] .st-page-hero {
	background:
		radial-gradient(ellipse 60% 50% at 100% 0%, var(--st-glow), transparent 55%),
		linear-gradient(145deg, var(--st-hero-1) 0%, var(--st-hero-2) 60%, var(--st-hero-3) 100%);
}

.page-template-template-profile .site-content > .ast-container,
.page-template-template-programs .site-content > .ast-container,
.page-template-template-partnerships .site-content > .ast-container,
.page-template-template-donate .site-content > .ast-container,
.page-template-template-publications .site-content > .ast-container,
.page-template-template-contact .site-content > .ast-container {
	padding-top: 0 !important;
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* --------------------------------------------------------------------------
   Single post
   -------------------------------------------------------------------------- */
.single-post .site-content > .ast-container,
.single .site-content > .ast-container {
	padding-top: 0 !important;
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.single-post .ast-article-single > .entry-header,
.single .ast-article-single > .entry-header,
.st-page--single .entry-header {
	display: none !important;
}

.st-page-hero--single h1 {
	max-width: 22ch;
}

.st-single-meta {
	margin: 0 0 1rem;
	color: rgba(244, 248, 255, 0.82);
	font-size: 0.95rem;
	font-weight: 600;
}

.st-single-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	gap: clamp(1.25rem, 3vw, 2.5rem);
	align-items: start;
}

@media (max-width: 900px) {
	.st-single-layout { grid-template-columns: 1fr; }
}

.st-single-content {
	max-width: 44rem;
	color: var(--st-text);
	font-size: 1.05rem;
	line-height: 1.75;
}

.st-single-content > *:first-child { margin-top: 0; }

.st-single-content h2,
.st-single-content h3 {
	margin: 1.75rem 0 0.75rem;
	color: var(--st-text) !important;
	line-height: 1.25;
}

.st-single-content p,
.st-single-content li {
	color: var(--st-text-muted);
}

.st-single-content a {
	color: var(--st-brand);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

.st-single-content ul,
.st-single-content ol {
	padding-left: 1.25rem;
}

.st-aside-title {
	margin: 0 0 0.55rem !important;
	font-size: 1rem !important;
}

.st-post-nav__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

@media (max-width: 700px) {
	.st-post-nav__grid { grid-template-columns: 1fr; }
}

html[data-theme="dark"] .st-single-content,
html[data-theme="dark"] .st-single-content h2,
html[data-theme="dark"] .st-single-content h3 {
	color: #eef3fb !important;
}

html[data-theme="dark"] .st-single-content p,
html[data-theme="dark"] .st-single-content li {
	color: #b7c6da !important;
}

/* Hide default Astra comments block styling clash on custom single */
.st-page--single + #comments,
.single-post .ast-separate-container #comments {
	max-width: 1120px;
	margin-inline: auto;
	padding: 0 1.25rem 3rem;
}

/* Publications filter */
.st-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1.75rem;
}

.st-filter__item {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0.4rem 0.9rem;
	border: 1px solid var(--st-border);
	border-radius: 999px;
	background: var(--st-card);
	color: var(--st-text) !important;
	text-decoration: none;
	font-weight: 650;
	font-size: 0.88rem;
}

.st-filter__item:hover,
.st-filter__item.is-active {
	border-color: var(--st-brand);
	background: color-mix(in srgb, var(--st-brand) 12%, var(--st-card));
	color: var(--st-brand) !important;
}

html[data-theme="dark"] .st-filter__item {
	background: #101f36;
	border-color: #2d4060;
	color: #eef3fb !important;
}

html[data-theme="dark"] .st-filter__item.is-active {
	background: rgba(80, 153, 190, 0.16);
	color: #5099be !important;
}

/* Type-specific card media accents */
.st-card-media--berita {
	background: linear-gradient(135deg, #043f6c, #065793 55%, #287cb4) !important;
}
.st-card-media--esai {
	background: linear-gradient(135deg, #032d46, #065793 45%, #239397) !important;
}
.st-card-media--ulas-buku {
	background: linear-gradient(145deg, #043f6c, #0969a9 50%, #50aaad) !important;
}
.st-card-media--riset {
	background: linear-gradient(160deg, #032d46, #1a7a7e 55%, #50aaad) !important;
}

.st-single-factbox,
.st-callout--meta {
	margin-bottom: 1.25rem;
}

.st-fact-list {
	display: grid;
	grid-template-columns: 8.5rem 1fr;
	gap: 0.45rem 0.75rem;
	margin: 0;
}

.st-fact-list dt {
	margin: 0;
	font-weight: 700;
	color: var(--st-text);
	font-size: 0.88rem;
}

.st-fact-list dd {
	margin: 0;
	color: var(--st-text-muted);
	font-size: 0.95rem;
}

.st-fact-hint {
	margin: 0.75rem 0 0;
	font-size: 0.85rem;
	color: var(--st-text-muted);
}

html[data-theme="dark"] .st-fact-list dt {
	color: #eef3fb;
}

.st-page-hero--berita {
	background: linear-gradient(145deg, var(--st-hero-1) 0%, var(--st-hero-2) 55%, var(--st-hero-3) 100%);
}
.st-page-hero--esai {
	background: linear-gradient(145deg, var(--st-hero-1) 0%, #043f6c 50%, var(--st-hero-3) 100%);
}
.st-page-hero--ulas-buku {
	background: linear-gradient(145deg, #032d46 0%, var(--st-hero-2) 55%, #1a7a7e 100%);
}
.st-page-hero--riset {
	background: linear-gradient(145deg, var(--st-hero-1) 0%, #1a7a7e 50%, #239397 100%);
}

.st-page-hero--event {
	background: linear-gradient(145deg, var(--st-hero-1) 0%, var(--st-hero-2) 45%, #239397 120%);
}

.st-event-date--lg {
	width: 72px;
	height: 72px;
	margin-bottom: 0.85rem;
	font-size: 1rem;
}

.st-event-date--lg strong {
	font-size: 1.6rem;
}

.page-template-template-events .site-content > .ast-container,
.single-st_event .site-content > .ast-container {
	padding-top: 0 !important;
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* --------------------------------------------------------------------------
   Scroll to top — readable in light + dark
   -------------------------------------------------------------------------- */
#ast-scroll-top,
.ast-scroll-top-icon {
	background: var(--st-brand) !important;
	border: 1px solid transparent !important;
	color: #fff !important;
	box-shadow: var(--st-shadow) !important;
	opacity: 1 !important;
}

#ast-scroll-top .ast-icon,
#ast-scroll-top .ast-arrow-svg,
#ast-scroll-top svg,
#ast-scroll-top svg path,
#ast-scroll-top svg polygon,
#ast-scroll-top svg g {
	fill: #fff !important;
	stroke: none !important;
	color: #fff !important;
	opacity: 1 !important;
}

html[data-theme="dark"] #ast-scroll-top,
html[data-theme="dark"] .ast-scroll-top-icon {
	background: var(--st-accent) !important;
	border-color: transparent !important;
	color: var(--st-accent-text) !important;
}

html[data-theme="dark"] #ast-scroll-top .ast-icon,
html[data-theme="dark"] #ast-scroll-top .ast-arrow-svg,
html[data-theme="dark"] #ast-scroll-top svg,
html[data-theme="dark"] #ast-scroll-top svg path,
html[data-theme="dark"] #ast-scroll-top svg polygon,
html[data-theme="dark"] #ast-scroll-top svg g {
	fill: var(--st-accent-text) !important;
	color: var(--st-accent-text) !important;
	opacity: 1 !important;
}

/* --------------------------------------------------------------------------
   Team members
   -------------------------------------------------------------------------- */
.st-team-card {
	padding: 0;
	overflow: hidden;
}

.st-team-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.st-team-card__link:hover {
	color: inherit;
}

.st-team-card__photo {
	aspect-ratio: 1 / 1;
	background: linear-gradient(145deg, var(--st-hero-1), var(--st-hero-3));
	display: grid;
	place-items: center;
	overflow: hidden;
}

.st-team-card__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.st-team-card__initials {
	font-size: clamp(2rem, 4vw, 2.75rem);
	font-weight: 700;
	letter-spacing: 0.04em;
	color: rgba(255, 255, 255, 0.92);
}

.st-team-card .st-link-more {
	margin-top: auto;
	padding-top: 0.35rem;
}

.st-page-hero--team {
	background: linear-gradient(145deg, var(--st-hero-1) 0%, var(--st-hero-2) 50%, var(--st-hero-3) 100%);
}

.st-page-hero--program {
	background: linear-gradient(145deg, var(--st-hero-1) 0%, var(--st-hero-2) 45%, var(--st-hero-3) 100%);
}

.st-program-card {
	padding: 0;
	overflow: hidden;
}

.st-program-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.st-program-card__link:hover {
	color: inherit;
}

.st-program-card__media {
	aspect-ratio: 16 / 10;
}

.st-program-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.st-program-card .st-card-foot {
	margin-top: auto;
}

.st-program-feature {
	margin: 0 0 1.25rem;
	border-radius: var(--st-radius);
	overflow: hidden;
}

.st-program-feature img {
	width: 100%;
	height: auto;
	display: block;
}

.st-team-hero {
	display: grid;
	grid-template-columns: minmax(140px, 220px) minmax(0, 1fr);
	gap: clamp(1.25rem, 3vw, 2rem);
	align-items: center;
}

.st-team-hero__photo {
	aspect-ratio: 1 / 1;
	border-radius: var(--st-radius);
	overflow: hidden;
	background: color-mix(in srgb, #fff 12%, transparent);
	display: grid;
	place-items: center;
}

.st-team-hero__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.st-team-hero__initials {
	font-size: 3rem;
	font-weight: 700;
	color: rgba(255, 255, 255, 0.9);
}

@media (max-width: 640px) {
	.st-team-hero {
		grid-template-columns: 1fr;
		justify-items: start;
	}

	.st-team-hero__photo {
		width: min(180px, 55vw);
	}
}
