/* Homepage hero (parts/homepage/hero.php). Front page only.
 * Day by default; html[data-theme="night"] swaps the palette and crossfades the
 * sky. Motion is transform/opacity only, pauses off-screen (.is-paused, set by
 * assets/js/home-hero.js) and is removed for prefers-reduced-motion.
 */

/* Anton (OFL, assets/fonts/anton-OFL.txt) — wordmark only; latin is preloaded. */
@font-face {
	font-family: 'Anton';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../fonts/anton-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Anton';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../fonts/anton-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ========== Palette ========== */
.mrb-hero {
	--h-text: #0b1a2b;
	--h-muted: #475866;
	--h-accent: #13566e;
	--h-accent-2: #1f86ab;
	--h-line: rgb(19 86 110 / 0.16);
	--h-brand: linear-gradient(100deg, #0b1a2b 0%, #13566e 26%, #2a9bc4 45%, #0b1a2b 66%, #13566e 100%);
	--h-mr-stroke: rgb(19 86 110 / 0.62);
	--h-halo: rgb(255 206 102 / 0.62);
	--h-rays: rgb(255 214 128 / 0.30);
	--h-orbit: rgb(19 86 110 / 0.24);
	--h-orbit-dot: #f5a524;
	--h-orbit-glow: rgb(245 165 36 / 0.65);
	--h-shadow: rgb(11 26 43 / 0.26);
	--h-btn-bg: linear-gradient(120deg, #0e4356 0%, #13566e 45%, #1c7394 100%);
	--h-btn-text: #fff;
	--h-btn-glow: rgb(19 86 110 / 0.42);
	--h-ghost-text: #0b1a2b;
	--h-ghost-bg: rgb(255 255 255 / 0.62);
	--h-ghost-border: rgb(19 86 110 / 0.24);
	--h-card-bg: rgb(255 255 255 / 0.82);
	--h-card-border: rgb(19 86 110 / 0.12);
	--h-card-shadow: 0 14px 34px -14px rgb(11 26 43 / 0.28);
	--h-icon-bg: linear-gradient(135deg, #1f86ab, #13566e);
	--h-ridge-far: #c4e0ee;
	--h-ridge-near: var(--mrb-color-soft-accent, #d4eaf2);
	/* Knit */
	--k1: #2f8fb2;
	--k2: #13566e;
	--k3: #082b39;
	--k-stitch: rgb(214 240 250 / 0.2);
	--k-sheen: #ffffff;
	--k-rim1: #7fd3ee;
	--k-rim2: #0e4356;
	--k-outline: rgb(8 43 57 / 0.55);
	--k-seam: rgb(214 240 250 / 0.45);
	--k-slot1: #17394a;
	--k-slot2: #061821;
	--k-eye: #f4f8fa;
	--k-pupil: #0b1a2b;
	--k-night: 0;
	--k-label-bg: #fdf7ee;
	--k-label-text: #13566e;

	position: relative;
	isolation: isolate;
	overflow: hidden;
	overflow: clip;
	display: grid;
	align-items: center;
	--mrb-hero-offset: calc(var(--mrb-bar1-height, 88px) + 50px);
	min-block-size: clamp(38rem, calc(100svh - var(--mrb-hero-offset)), 58rem);
	color: var(--h-text);
	background: #eef7fd;
}

[data-theme="night"] .mrb-hero {
	--h-text: #eaf7ff;
	--h-muted: #a7b9c8;
	--h-accent: #9fe4ff;
	--h-accent-2: #38bdf8;
	--h-line: rgb(159 228 255 / 0.15);
	--h-brand: linear-gradient(100deg, #eaf7ff 0%, #9fe4ff 26%, #38bdf8 45%, #eaf7ff 66%, #9fe4ff 100%);
	--h-mr-stroke: rgb(159 228 255 / 0.6);
	--h-halo: rgb(56 189 248 / 0.42);
	--h-orbit: rgb(159 228 255 / 0.22);
	--h-orbit-dot: #9fe4ff;
	--h-orbit-glow: rgb(159 228 255 / 0.85);
	--h-shadow: rgb(0 0 0 / 0.55);
	--h-btn-bg: linear-gradient(120deg, #d6f4ff 0%, #9fe4ff 30%, #38bdf8 72%, #2b8fcf 100%);
	--h-btn-text: #04121c;
	--h-btn-glow: rgb(56 189 248 / 0.6);
	--h-ghost-text: #eaf7ff;
	--h-ghost-bg: rgb(159 228 255 / 0.05);
	--h-ghost-border: rgb(159 228 255 / 0.26);
	--h-card-bg: rgb(10 17 30 / 0.72);
	--h-card-border: rgb(159 228 255 / 0.16);
	--h-card-shadow: 0 16px 40px -16px rgb(0 0 0 / 0.7);
	--h-icon-bg: linear-gradient(135deg, #9fe4ff, #2b8fcf);
	--h-ridge-far: #0e1a28;
	--h-ridge-near: var(--mrb-color-soft-accent, #132a34);
	--k1: #34466b;
	--k2: #19223a;
	--k3: #070b14;
	--k-stitch: rgb(159 228 255 / 0.12);
	--k-sheen: #9fe4ff;
	--k-rim1: #9fe4ff;
	--k-rim2: #2b7fb8;
	--k-outline: rgb(159 228 255 / 0.4);
	--k-seam: rgb(159 228 255 / 0.3);
	--k-slot1: #1a2640;
	--k-slot2: #04070d;
	--k-night: 1;
	--k-label-bg: #9fe4ff;
	--k-label-text: #05101b;

	background: #05070d;
}

/* ========== Sky ========== */
.mrb-hero__sky,
.mrb-hero__layer,
.mrb-hero__particles {
	position: absolute;
	inset: 0;
	pointer-events: none;
}
.mrb-hero__sky { z-index: -1; }
.mrb-hero__particles { inline-size: 100%; block-size: 100%; }

.mrb-hero__layer {
	overflow: hidden;
	transition: opacity 0.8s ease, visibility 0s linear 0s;
}
.mrb-hero__layer--day {
	background:
		radial-gradient(60rem 38rem at 76% 4%, rgb(255 214 120 / 0.55), transparent 62%),
		radial-gradient(52rem 36rem at 6% 104%, rgb(159 228 255 / 0.55), transparent 62%),
		linear-gradient(180deg, #d3ebfa 0%, #eaf6fd 50%, #f6fbfe 100%);
}
.mrb-hero__layer--night {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.8s ease, visibility 0s linear 0.8s;
	background:
		radial-gradient(75rem 44rem at 50% -12%, #16243c 0%, transparent 62%),
		radial-gradient(56rem 38rem at 88% 112%, rgb(56 189 248 / 0.16), transparent 62%),
		linear-gradient(180deg, #070b14 0%, #05070d 100%);
}
[data-theme="night"] .mrb-hero__layer--night {
	opacity: 1;
	visibility: visible;
	transition: opacity 0.8s ease, visibility 0s linear 0s;
}
[data-theme="night"] .mrb-hero__layer--day {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.8s ease, visibility 0s linear 0.8s;
}
/* The hidden sky does not animate. */
.mrb-hero__layer--night *,
[data-theme="night"] .mrb-hero__layer--day * { animation-play-state: paused; }
[data-theme="night"] .mrb-hero__layer--night * { animation-play-state: running; }

/* Day: clouds drifting across. */
.mrb-hero__cloud {
	position: absolute;
	inset-inline-start: 0;
	inline-size: 17rem;
	block-size: 5.5rem;
	background:
		radial-gradient(34% 62% at 30% 62%, rgb(255 255 255 / 0.95) 58%, rgb(255 255 255 / 0) 72%),
		radial-gradient(28% 78% at 54% 46%, rgb(255 255 255 / 0.95) 58%, rgb(255 255 255 / 0) 72%),
		radial-gradient(30% 56% at 76% 66%, rgb(255 255 255 / 0.9) 58%, rgb(255 255 255 / 0) 72%);
	opacity: 0.85;
	will-change: transform;
	animation: mrb-hero-cloud 70s linear infinite;
}
.mrb-hero__cloud--1 { inset-block-start: 3.5rem; animation-delay: -18s; }
.mrb-hero__cloud--2 { inset-block-start: 15rem; scale: 0.7; opacity: 0.6; animation-duration: 95s; animation-delay: -62s; }
.mrb-hero__cloud--3 { inset-block-start: 27rem; scale: 0.55; opacity: 0.5; animation-duration: 120s; animation-delay: -30s; }
@keyframes mrb-hero-cloud {
	from { transform: translateX(-20rem); }
	to { transform: translateX(calc(100vw + 2rem)); }
}

/* Night: aurora + stars. */
.mrb-hero__blob {
	position: absolute;
	border-radius: 50%;
	opacity: 0.55;
	will-change: transform;
}
.mrb-hero__blob--1 {
	inline-size: 52vw; block-size: 52vw;
	inset-block-start: -14rem; inset-inline-start: -6%;
	background: radial-gradient(closest-side, rgb(56 189 248 / 0.55), transparent);
	animation: mrb-hero-drift-a 20s ease-in-out infinite;
}
.mrb-hero__blob--2 {
	inline-size: 44vw; block-size: 44vw;
	inset-block-start: 2rem; inset-inline-end: -12%;
	background: radial-gradient(closest-side, rgb(129 140 248 / 0.45), transparent);
	animation: mrb-hero-drift-b 26s ease-in-out infinite;
}
.mrb-hero__blob--3 {
	inline-size: 48vw; block-size: 48vw;
	inset-block-start: 26rem; inset-inline-start: 26%;
	background: radial-gradient(closest-side, rgb(45 212 191 / 0.3), transparent);
	animation: mrb-hero-drift-c 23s ease-in-out infinite;
}
@keyframes mrb-hero-drift-a { 50% { transform: translate3d(6%, 5%, 0) scale(1.12); } }
@keyframes mrb-hero-drift-b { 50% { transform: translate3d(-7%, 6%, 0) scale(0.92); } }
@keyframes mrb-hero-drift-c { 50% { transform: translate3d(5%, -7%, 0) scale(1.1); } }

.mrb-hero__stars {
	position: absolute;
	inset: 0 0 auto;
	block-size: 30rem;
	background-image:
		radial-gradient(1.5px 1.5px at 8% 14%, #fff 50%, transparent 51%),
		radial-gradient(1px 1px at 17% 38%, #cdefff 50%, transparent 51%),
		radial-gradient(1.5px 1.5px at 26% 8%, #fff 50%, transparent 51%),
		radial-gradient(1px 1px at 34% 26%, #fff 50%, transparent 51%),
		radial-gradient(2px 2px at 44% 12%, #e6f7ff 50%, transparent 51%),
		radial-gradient(1px 1px at 52% 44%, #fff 50%, transparent 51%),
		radial-gradient(1.5px 1.5px at 61% 20%, #cdefff 50%, transparent 51%),
		radial-gradient(1px 1px at 69% 6%, #fff 50%, transparent 51%),
		radial-gradient(2px 2px at 78% 30%, #fff 50%, transparent 51%),
		radial-gradient(1px 1px at 86% 12%, #e6f7ff 50%, transparent 51%),
		radial-gradient(1.5px 1.5px at 93% 40%, #fff 50%, transparent 51%),
		radial-gradient(1px 1px at 4% 52%, #fff 50%, transparent 51%),
		radial-gradient(1px 1px at 39% 58%, #cdefff 50%, transparent 51%),
		radial-gradient(1.5px 1.5px at 72% 54%, #fff 50%, transparent 51%);
	animation: mrb-hero-twinkle 5s ease-in-out infinite alternate;
}
@keyframes mrb-hero-twinkle {
	from { opacity: 0.45; }
	to { opacity: 1; }
}

/* Snowy ridge; its front layer matches the next section's background. */
.mrb-hero__ridge {
	position: absolute;
	inset-inline: 0;
	inset-block-end: -1px;
	inline-size: 100%;
	block-size: clamp(4.5rem, 11vw, 10rem);
}
.mrb-hero__ridge-far { fill: var(--h-ridge-far); transition: fill 0.8s ease; }
.mrb-hero__ridge-near { fill: var(--h-ridge-near); transition: fill 0.8s ease; }

/* ========== Layout ========== */
.mrb-hero__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
	align-items: center;
	gap: clamp(2rem, 5vw, 4.5rem);
	inline-size: 100%;
	max-inline-size: 84rem;
	margin-inline: auto;
	padding: clamp(2rem, 4vw, 3.5rem) var(--mrb-gutter, clamp(1rem, 4vw, 5rem)) clamp(5.5rem, 8.5vw, 7.5rem);
}

/* ========== Copy ========== */
.mrb-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0 0 1.5rem;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	color: var(--h-accent);
}
.mrb-hero__eyebrow::before {
	content: "";
	inline-size: 2.5rem;
	block-size: 1px;
	background: linear-gradient(90deg, transparent, currentColor);
}

.mrb-hero__title {
	margin: 0 0 1.75rem;
	font-family: 'Anton', Impact, 'Arial Narrow Bold', sans-serif;
	font-weight: 400;
	font-size: clamp(4rem, 1.4rem + 6.8vw, 8.25rem);
	line-height: 0.86;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: var(--h-text);
}
.mrb-hero__mr {
	display: block;
	margin-block-end: 0.2em;
	margin-inline-start: 0.04em;
	font-size: 0.34em;
	letter-spacing: 0.3em;
	color: transparent;
	-webkit-text-stroke: 1.4px var(--h-mr-stroke);
}
.mrb-hero__brand {
	display: block;
	padding-block-end: 0.04em;
	background: var(--h-brand);
	background-size: 230% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	animation: mrb-hero-shine 8s linear infinite;
}
@keyframes mrb-hero-shine { to { background-position: -230% 0; } }
.mrb-hero__kicker {
	display: block;
	margin-block-start: 0.55em;
	font-family: var(--mrb-font-header-nav, 'Cormorant Garamond', serif);
	font-size: clamp(1.375rem, 1rem + 1.1vw, 2.125rem);
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: 0;
	text-transform: none;
	color: var(--h-accent);
}
.mrb-hero__sr {
	position: absolute;
	inline-size: 1px;
	block-size: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.mrb-hero__lead {
	max-inline-size: 44ch;
	margin: 0 0 2rem;
	font-size: clamp(1rem, 0.95rem + 0.3vw, 1.125rem);
	line-height: 1.7;
	color: var(--h-muted);
}
.mrb-hero__lead strong { font-weight: 600; color: var(--h-text); }

/* ========== Buttons ========== */
.mrb-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.875rem;
}
.mrb-hero__btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.625rem;
	min-block-size: 3.25rem;
	padding: 0.875rem 1.75rem;
	overflow: hidden;
	border: 1px solid transparent;
	border-radius: 999px;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	line-height: 1.2;
	text-transform: uppercase;
	text-decoration: none;
	transition: transform 0.25s ease, box-shadow 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}
.mrb-hero__btn:hover { transform: translateY(-2px); text-decoration: none; }
.mrb-hero__btn:focus-visible {
	outline: 2px solid var(--h-accent-2);
	outline-offset: 3px;
}
.mrb-hero__btn--primary {
	color: var(--h-btn-text);
	background: var(--h-btn-bg);
	box-shadow: 0 12px 36px -12px var(--h-btn-glow);
}
.mrb-hero__btn--primary:hover {
	color: var(--h-btn-text);
	box-shadow: 0 20px 48px -12px var(--h-btn-glow);
}
/* Light sweep across the primary button on hover. */
.mrb-hero__btn--primary::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(110deg, transparent 30%, rgb(255 255 255 / 0.35) 50%, transparent 70%);
	transform: translateX(-120%);
	transition: transform 0.7s ease;
}
.mrb-hero__btn--primary:hover::after { transform: translateX(120%); }
.mrb-hero__btn--primary svg { transition: transform 0.25s ease; }
.mrb-hero__btn--primary:hover svg { transform: translateX(3px); }
.mrb-hero__btn--ghost {
	color: var(--h-ghost-text);
	background: var(--h-ghost-bg);
	border-color: var(--h-ghost-border);
}
.mrb-hero__btn--ghost:hover {
	color: var(--h-ghost-text);
	border-color: var(--h-accent-2);
}

/* ========== Stats ========== */
.mrb-hero__stats {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem clamp(1.75rem, 4vw, 3.25rem);
	margin: 2.25rem 0 0;
	padding-block-start: 1.5rem;
	border-block-start: 1px solid var(--h-line);
}
.mrb-hero__stat {
	display: flex;
	flex-direction: column-reverse;
	gap: 0.5rem;
}
.mrb-hero__stat dt {
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--h-muted);
}
.mrb-hero__stat dd {
	margin: 0;
	font-family: 'Anton', Impact, sans-serif;
	font-size: clamp(1.75rem, 1.3rem + 1.3vw, 2.5rem);
	line-height: 1;
	letter-spacing: 0.01em;
	color: var(--h-text);
}
.mrb-hero__stat dd span {
	font-family: var(--mrb-font-body, Inter, sans-serif);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--h-accent);
}

/* ========== Artwork ========== */
.mrb-hero__art {
	position: relative;
	display: grid;
	place-items: center;
	inline-size: min(100%, 34rem);
	aspect-ratio: 1;
	justify-self: center;
}
.mrb-hero__art > * { grid-area: 1 / 1; }
.mrb-hero__rays,
.mrb-hero__halo,
.mrb-hero__orbit {
	position: absolute;
	border-radius: 50%;
}
.mrb-hero__rays {
	inset: -14%;
	background: repeating-conic-gradient(from 0deg, var(--h-rays) 0deg 5deg, transparent 5deg 15deg);
	-webkit-mask: radial-gradient(closest-side, #000 18%, transparent 72%);
	mask: radial-gradient(closest-side, #000 18%, transparent 72%);
	animation: mrb-hero-spin 120s linear infinite;
	transition: opacity 0.8s ease;
}
[data-theme="night"] .mrb-hero__rays { opacity: 0; animation-play-state: paused; }
.mrb-hero__halo {
	inset: 10%;
	background: radial-gradient(closest-side, var(--h-halo), transparent);
	animation: mrb-hero-pulse 6s ease-in-out infinite;
}
.mrb-hero__orbit {
	inset: 3%;
	border: 1px dashed var(--h-orbit);
	animation: mrb-hero-spin 48s linear infinite;
}
.mrb-hero__orbit::after {
	content: "";
	position: absolute;
	inset-block-start: -4px;
	inset-inline-start: calc(50% - 4px);
	inline-size: 8px;
	block-size: 8px;
	border-radius: 50%;
	background: var(--h-orbit-dot);
	box-shadow: 0 0 14px 3px var(--h-orbit-glow);
}
.mrb-hero__orbit--inner {
	inset: 15%;
	border-style: solid;
	opacity: 0.7;
	animation-duration: 34s;
	animation-direction: reverse;
}
.mrb-hero__orbit--inner::after {
	inset-block-start: auto;
	inset-block-end: -3px;
	inline-size: 6px;
	block-size: 6px;
}
@keyframes mrb-hero-spin { to { transform: rotate(360deg); } }
@keyframes mrb-hero-pulse { 50% { transform: scale(1.07); opacity: 0.8; } }

.mrb-hero__shadow {
	align-self: end;
	inline-size: 42%;
	block-size: 7%;
	margin-block-end: 6%;
	border-radius: 50%;
	background: radial-gradient(closest-side, var(--h-shadow), transparent);
	animation: mrb-hero-shadow 7.5s ease-in-out infinite;
}
@keyframes mrb-hero-shadow { 50% { transform: scale(0.82); opacity: 0.7; } }

.mrb-hero__balaclava {
	position: relative;
	inline-size: 62%;
	block-size: auto;
	overflow: visible;
	margin-block-end: 4%;
	animation: mrb-hero-float 7.5s ease-in-out infinite;
}
@keyframes mrb-hero-float {
	0%, 100% { transform: translateY(-2.5%); }
	50% { transform: translateY(2.5%); }
}

/* SVG paints (gradient stops read the knit tokens). */
.mrbh-k1 { stop-color: var(--k1); }
.mrbh-k2 { stop-color: var(--k2); }
.mrbh-k3 { stop-color: var(--k3); }
.mrbh-rim1 { stop-color: var(--k-rim1); }
.mrbh-rim2 { stop-color: var(--k-rim2); }
.mrbh-sheen { stop-color: var(--k-sheen); }
.mrbh-slot1 { stop-color: var(--k-slot1); }
.mrbh-slot2 { stop-color: var(--k-slot2); }
.mrbh-stitch { fill: none; stroke: var(--k-stitch); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.mrbh-hem { fill: none; stroke: var(--k-seam); stroke-width: 1.5; stroke-dasharray: 3 4; }
.mrbh-fold { fill: none; stroke: #000; stroke-opacity: 0.14; stroke-width: 7; stroke-linecap: round; }
.mrbh-outline { fill: none; stroke: var(--k-outline); stroke-width: 2; }
.mrbh-seam { fill: none; stroke: var(--k-seam); stroke-width: 1.6; stroke-dasharray: 3 5; stroke-linecap: round; }
.mrbh-slot-rim { fill: none; stroke: url(#mrbh-rim); stroke-width: 7; stroke-opacity: 0.9; }
.mrbh-eye-white { fill: var(--k-eye); opacity: calc(1 - var(--k-night)); }
.mrbh-pupil { fill: var(--k-pupil); opacity: calc(1 - var(--k-night)); }
.mrbh-catch { fill: #fff; opacity: calc(1 - var(--k-night)); }
.mrbh-eye-glow { opacity: var(--k-night); }
.mrbh-eye-core { fill: #dff6ff; opacity: var(--k-night); }
.mrbh-label rect { fill: var(--k-label-bg); }
.mrbh-label text {
	fill: var(--k-label-text);
	font-family: var(--mrb-font-body, Inter, sans-serif);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1.6px;
}

/* Eyes: blink every few seconds; pupils follow the pointer (JS sets --look-x/-y). */
.mrb-hero__eyes {
	transform-box: fill-box;
	transform-origin: center;
	animation: mrb-hero-blink 5.5s ease-in-out infinite;
}
@keyframes mrb-hero-blink {
	0%, 90%, 96%, 100% { transform: scaleY(1); }
	93% { transform: scaleY(0.08); }
}
.mrb-hero__look {
	transform: translate(calc(var(--look-x, 0) * 6px), calc(var(--look-y, 0) * 3px));
	transition: transform 0.35s ease-out;
}

/* Trust badges floating around the artwork. */
.mrb-hero__badge {
	position: absolute;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0;
	padding: 0.625rem 1.125rem 0.625rem 0.625rem;
	border: 1px solid var(--h-card-border);
	border-radius: 1rem;
	background: var(--h-card-bg);
	box-shadow: var(--h-card-shadow);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--h-muted);
	animation: mrb-hero-bob 6s ease-in-out infinite;
}
.mrb-hero__badge strong {
	display: block;
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: none;
	color: var(--h-text);
}
.mrb-hero__badge-icon {
	display: grid;
	place-items: center;
	inline-size: 2.5rem;
	block-size: 2.5rem;
	flex: none;
	border-radius: 0.75rem;
	background: var(--h-icon-bg);
}
.mrb-hero__badge-icon svg { inline-size: 1.25rem; block-size: 1.25rem; fill: #fff; }
[data-theme="night"] .mrb-hero__badge-icon svg { fill: #04121c; }
.mrb-hero__badge--iso { inset-block-start: 14%; inset-inline-start: -2%; }
.mrb-hero__badge--sedex { inset-block-end: 16%; inset-inline-end: -3%; animation-delay: -3s; }
@keyframes mrb-hero-bob { 50% { transform: translateY(-8px); } }

/* ========== Entrance (secondary elements only; the h1 paints at once for LCP) ========== */
.mrb-hero__eyebrow,
.mrb-hero__lead,
.mrb-hero__actions,
.mrb-hero__stats,
.mrb-hero__art {
	animation: mrb-hero-rise 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}
.mrb-hero__lead { animation-delay: 0.12s; }
.mrb-hero__actions { animation-delay: 0.22s; }
.mrb-hero__stats { animation-delay: 0.32s; }
.mrb-hero__art { animation-delay: 0.1s; }
@keyframes mrb-hero-rise {
	from { opacity: 0; transform: translateY(18px); }
}

/* Off-screen or hidden tab: freeze everything. */
.mrb-hero.is-paused *,
.mrb-hero.is-paused *::before,
.mrb-hero.is-paused *::after { animation-play-state: paused !important; }

/* ========== Responsive ========== */
/* Small laptops / tablet landscape: still two columns, tighter. */
@media (max-width: 1199px) {
	.mrb-hero__title { font-size: clamp(4rem, 0.8rem + 7.6vw, 6.5rem); }
	.mrb-hero__btn { padding-inline: 1.375rem; }
	.mrb-hero__stats { gap: 1.25rem 1.75rem; }
	.mrb-hero__stat dt { letter-spacing: 0.12em; }
	.mrb-hero__badge--iso { inset-inline-start: -7%; }
	.mrb-hero__badge--sedex { inset-inline-end: -5%; }
}
/* The header drops its nav bar at 1024px. */
@media (max-width: 1024px) {
	.mrb-hero { --mrb-hero-offset: var(--mrb-bar1-height, 76px); }
}
/* One column: artwork first, compact, so the headline and buttons stay high. */
@media (max-width: 899px) {
	.mrb-hero { min-block-size: 0; }
	.mrb-hero__inner {
		grid-template-columns: minmax(0, 1fr);
		justify-items: center;
		gap: 0.25rem;
		padding-block-start: 1rem;
		text-align: center;
	}
	.mrb-hero__art { order: -1; inline-size: min(64vw, 22rem); }
	.mrb-hero__eyebrow { justify-content: center; }
	.mrb-hero__mr { margin-inline-start: 0; text-indent: 0.3em; }
	.mrb-hero__lead { margin-inline: auto; }
	.mrb-hero__actions,
	.mrb-hero__stats { justify-content: center; }
	.mrb-hero__stat { align-items: center; }
	.mrb-hero__badge--iso { inset-inline-start: -14%; }
	.mrb-hero__badge--sedex { inset-inline-end: -14%; }
}
@media (max-width: 599px) {
	.mrb-hero__art { inline-size: min(62vw, 16rem); }
	.mrb-hero__title { font-size: clamp(3.5rem, 19vw, 5.5rem); margin-block-end: 1.25rem; }
	.mrb-hero__eyebrow { margin-block-end: 1rem; letter-spacing: 0.24em; }
	.mrb-hero__eyebrow::before { display: none; }
	.mrb-hero__lead { margin-block-end: 1.5rem; }
	.mrb-hero__actions { flex-direction: column; align-items: stretch; inline-size: 100%; }
	.mrb-hero__stats {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 1rem;
		inline-size: 100%;
		margin-block-start: 1.75rem;
	}
	.mrb-hero__stat dt { font-size: 0.625rem; letter-spacing: 0.1em; }
	.mrb-hero__orbit--inner { display: none; }
	.mrb-hero__badge { padding: 0.4375rem 0.75rem 0.4375rem 0.4375rem; gap: 0.5rem; font-size: 0.5625rem; border-radius: 0.75rem; }
	.mrb-hero__badge strong { font-size: 0.8125rem; }
	.mrb-hero__badge-icon { inline-size: 1.875rem; block-size: 1.875rem; border-radius: 0.5rem; }
	.mrb-hero__badge-icon svg { inline-size: 1rem; block-size: 1rem; }
	.mrb-hero__badge--iso { inset-block-start: 8%; inset-inline-start: -8%; }
	.mrb-hero__badge--sedex { inset-block-end: 0; inset-inline-end: -10%; }
}

/* ========== Reduced motion: a still, complete scene ========== */
@media (prefers-reduced-motion: reduce) {
	.mrb-hero *,
	.mrb-hero *::before,
	.mrb-hero *::after {
		animation: none !important;
		transition: none !important;
	}
	.mrb-hero__particles { display: none; }
	.mrb-hero__cloud--1 { transform: translateX(8vw); }
	.mrb-hero__cloud--2 { transform: translateX(46vw); }
	.mrb-hero__cloud--3 { transform: translateX(70vw); }
}
