:root {
	/* Independent caps retain MMF's existing section geometry by default. */
	--mmf-layout-shell-max: 1180px;
	--mmf-layout-nav-frame-max: 1180px;
	--mmf-layout-nav-side-gap: 20px;
	--mmf-layout-nav-inner-inset: 15px;
	--mmf-layout-content-max: 72rem;
	--mmf-layout-wide-max: 90rem;
	--mmf-layout-page-hero-max: 1120px;
	--mmf-layout-feature-max: 1792px;
	--mmf-layout-slogan-max: 1536px;
	--mmf-layout-supporters-max: 1720px;
	--mmf-layout-platform-max: 880px;
	--mmf-layout-gallery-max: 1040px;
	--mmf-layout-compact-max: 760px;
}

html {
	scroll-behavior: smooth;
}

/* Prevent background scroll when the mobile menu drawer is open */
html.mmf-menu-open,
html.mmf-menu-open body {
	overflow: hidden;
}

/*
 * iOS/Safari quirk: certain effects (notably backdrop-filter) on ancestors can
 * cause position:fixed descendants to be constrained/clipped by that ancestor.
 * When the mobile menu is open, disable the header glass effect to ensure the
 * full-screen drawer is truly full-screen.
 */
html.mmf-menu-open .mmf-header {
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

/* ── Barlow partout ── */
body,
button,
input,
select,
textarea,
h1, h2, h3, h4, h5, h6,
.wp-block-heading,
.wp-block-site-title a,
.wp-block-post-title a,

p, li, span, a, label,
.wp-element-button,
.wp-block-button__link {
	font-family: 'Barlow', sans-serif !important;
}

body {
	background:
		radial-gradient(circle at 8% 2%, rgba(238, 111, 92, 0.16), transparent 24rem),
		radial-gradient(circle at 88% 12%, rgba(193, 181, 218, 0.24), transparent 28rem),
		linear-gradient(180deg, rgba(248, 243, 243, 0.96), rgba(255, 255, 255, 1) 42rem),
		#ffffff;
	overflow-x: clip;
}

html {
	overflow-x: clip;
}

a {
	text-underline-offset: 0.18em;
}

/* ── Gentle scroll parallax ── */
.mmf-parallax-scene {
	--mmf-parallax-y: 0px;
	--mmf-parallax-scale: 1;
	position: relative;
	isolation: isolate;
}

.mmf-parallax-scene > * {
	transform: translate3d(0, var(--mmf-parallax-y), 0) scale(var(--mmf-parallax-scale));
	transform-origin: center;
	will-change: transform;
	transition: transform 0.16s linear;
}

.mmf-parallax-scene::before,
.mmf-parallax-scene::after {
	content: "";
	position: absolute;
	z-index: -1;
	pointer-events: none;
	border-radius: 999px;
	filter: blur(1px);
	opacity: var(--mmf-parallax-glow-opacity, 0.72);
	transform: translate3d(0, calc(var(--mmf-parallax-y) * -0.55), 0);
	transition: transform 0.16s linear, opacity 0.2s ease;
}

.mmf-parallax-scene::before {
	width: clamp(130px, 18vw, 280px);
	height: clamp(130px, 18vw, 280px);
	top: 8%;
	left: max(-7vw, -82px);
	background: radial-gradient(circle, rgba(238, 111, 92, 0.16), rgba(238, 111, 92, 0));
}

.mmf-parallax-scene::after {
	width: clamp(140px, 20vw, 320px);
	height: clamp(140px, 20vw, 320px);
	right: max(-8vw, -92px);
	bottom: 4%;
	background: radial-gradient(circle, rgba(193, 181, 218, 0.24), rgba(193, 181, 218, 0));
	transform: translate3d(0, calc(var(--mmf-parallax-y) * -0.82), 0);
}

.mmf-parallax-hero {
	min-height: clamp(120px, 18vh, 240px);
	display: grid;
	align-items: center;
	padding-block: clamp(0.75rem, 3vw, 1.75rem);
}

@media (max-width: 781px) {
	.mmf-parallax-hero {
		min-height: auto;
		padding-block: 0.75rem;
	}
}

.mmf-parallax-hero .wp-block-button {
	padding-top: 0;
}

.mmf-parallax-text {
	--mmf-parallax-glow-opacity: 0.44;
}

.mmf-parallax-hero .wp-block-buttons {
	margin: 0;
}

@media (max-width: 781px), (prefers-reduced-motion: reduce) {
	.mmf-parallax-scene > *,
	.mmf-parallax-scene::before,
	.mmf-parallax-scene::after {
		transform: none !important;
		transition: none;
		will-change: auto;
	}
}

.mmf-cta-button {
	margin-top: 0;
}

.mmf-cta-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: min(86vw, 420px);
	max-width: 100%;
	min-height: 74px;
	padding: 1.15rem clamp(2rem, 6vw, 3.75rem) !important;
	color: #1E2244 !important;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.56)) !important;
	border: 1px solid rgba(255, 255, 255, 0.86);
	border-radius: 999px;
	box-shadow:
		0 24px 64px rgba(30, 34, 68, 0.16),
		0 8px 24px rgba(238, 111, 92, 0.12),
		0 1px 0 rgba(255, 255, 255, 0.9) inset;
	backdrop-filter: blur(20px) saturate(1.35);
	-webkit-backdrop-filter: blur(20px) saturate(1.35);
	font-size: clamp(1.2rem, 2vw, 1.55rem);
	font-weight: 700;
	line-height: 1.15;
	text-align: center;
	text-decoration: none;
	transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

@media (max-width: 480px) {
	.mmf-cta-button .wp-block-button__link {
		width: min(92vw, 360px);
		min-height: 56px;
		padding: 0.9rem 1.4rem !important;
		font-size: 1.1rem;
		line-height: 1.2;
		white-space: normal;
	}
}

@media (max-width: 781px) {
	.mmf-cta-button .wp-block-button__link {
		box-shadow:
			0 16px 44px rgba(30, 34, 68, 0.14),
			0 6px 18px rgba(238, 111, 92, 0.1),
			0 1px 0 rgba(255, 255, 255, 0.9) inset;
		backdrop-filter: blur(14px) saturate(1.2);
		-webkit-backdrop-filter: blur(14px) saturate(1.2);
	}
}

/* Ensure the CTA stays centered even outside classic Gutenberg wrappers */
.mmf-parallax-hero .wp-block-buttons {
	display: flex;
	justify-content: center;
	padding-inline: 0;
}

.mmf-cta-button .wp-block-button__link:hover,
.mmf-cta-button .wp-block-button__link:focus-visible {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.68)) !important;
	box-shadow:
		0 28px 74px rgba(30, 34, 68, 0.2),
		0 10px 28px rgba(238, 111, 92, 0.16),
		0 1px 0 rgba(255, 255, 255, 0.95) inset;
	transform: translateY(-2px);
}
