/* Section styles */

.glow-section {
	position: relative;
	padding: var(--space-3xl) 0;
}

.glow-section--flush {
	padding: 0;
}

.glow-section--dark {
	background: var(--bg);
}

.glow-section--elevated {
	background: var(--bg-elevated);
}

.glow-section__head {
	margin-bottom: var(--space-xl);
	max-width: 40rem;
}

.glow-section__title {
	font-size: clamp(2rem, 4vw, 3.25rem);
}

.glow-fullbleed {
	min-height: 100vh;
	min-height: 100dvh;
	display: flex;
	align-items: flex-end;
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.glow-fullbleed__media {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.glow-fullbleed__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.glow-fullbleed__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	/* Soft bottom scrim — image stays visible under text */
	background: linear-gradient(
		180deg,
		rgba(0, 0, 0, 0.14) 0%,
		rgba(0, 0, 0, 0.1) 40%,
		rgba(0, 0, 0, 0.42) 100%
	);
}

.glow-fullbleed__content {
	position: relative;
	z-index: 2;
	width: var(--container);
	margin-inline: auto;
	padding: calc(var(--header-h) + 2rem) 0 calc(var(--footer-h) + var(--space-lg));
	max-width: 40rem;
	text-shadow: 0 1px 24px rgba(0, 0, 0, 0.45);
}

/* Text over image on the right — still full-bleed photo, not a black panel */
.glow-fullbleed__content--right {
	margin-left: auto;
	margin-right: max(calc((100% - var(--container-wide)) / 2 + 1rem), 1.25rem);
	width: min(32rem, 88vw);
	max-width: none;
	padding: var(--space-xl) 0;
	align-self: center;
}

.glow-fullbleed--text-right {
	align-items: center;
}

.glow-fullbleed--text-right .glow-fullbleed__overlay {
	background: linear-gradient(
		105deg,
		rgba(0, 0, 0, 0.12) 0%,
		rgba(0, 0, 0, 0.2) 38%,
		rgba(0, 0, 0, 0.42) 62%,
		rgba(0, 0, 0, 0.55) 100%
	);
}

.glow-fullbleed--text-right .glow-fullbleed__media img {
	object-position: left center;
}

/* Positioning page — hero layout (shared .glow-hero intro) + body */
.glow-positioning-hero .glow-hero__slide img {
	object-position: 35% center;
}

.glow-positioning-hero .glow-hero__content {
	max-width: min(42rem, 100%);
}

.glow-positioning-hero .glow-hero__brand {
	font-size: clamp(1.85rem, 4vw, 3rem);
	max-width: 18ch;
}

.glow-positioning-hero__manifesto {
	display: grid;
	gap: 1rem;
	max-width: 38rem;
	margin-bottom: 0;
}

.glow-positioning-hero__manifesto p {
	margin: 0;
	color: rgba(234, 231, 226, 0.88);
	font-size: 0.98rem;
	line-height: 1.65;
}

.glow-positioning-stack {
	background: var(--bg);
	padding: 0;
	overflow: visible;
}

.glow-positioning-stack__list {
	display: block;
	position: relative;
	overflow: visible;
}

.glow-positioning-panel {
	position: sticky;
	top: var(--header-h);
	z-index: var(--z, 1);
	height: calc(100vh - var(--header-h));
	height: calc(100dvh - var(--header-h));
	margin: 0;
	padding: 0;
}

.glow-positioning-panel__pin {
	position: relative;
	isolation: isolate;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--bg);
	box-shadow: 0 -1px 0 rgba(234, 231, 226, 0.06);
	will-change: opacity, transform, filter;
	transform-origin: center center;
}

.glow-positioning-panel__pin::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		radial-gradient(
			ellipse 70% 55% at 50% 48%,
			rgba(140, 96, 48, 0.38) 0%,
			rgba(88, 58, 28, 0.24) 32%,
			rgba(28, 22, 14, 0.45) 58%,
			rgba(20, 18, 16, 0.88) 82%,
			var(--bg) 100%
		),
		radial-gradient(
			ellipse 90% 70% at 50% 50%,
			rgba(196, 163, 90, 0.14) 0%,
			transparent 55%
		);
}

.glow-positioning-panel.is-covered .glow-positioning-panel__pin {
	pointer-events: none;
}

.glow-positioning-panel__inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: min(48rem, 100%);
	margin-inline: auto;
	padding: 2rem 1.25rem calc(var(--footer-h) + 1.5rem);
	box-sizing: border-box;
	text-align: center;
}

.glow-positioning__label {
	margin: 0 0 1.25rem;
	font-family: var(--font-mono);
	font-size: 0.68rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--accent);
}

.glow-positioning-panel__lead {
	margin: 0 auto;
	font-family: var(--font-display);
	font-size: clamp(1.45rem, 3vw, 2.35rem);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 1.28;
	color: var(--text);
}

.glow-positioning-panel__copy {
	margin: 1.75rem auto 0;
	font-size: clamp(1.05rem, 1.6vw, 1.25rem);
	line-height: 1.65;
	color: rgba(234, 231, 226, 0.88);
	max-width: 48rem;
}

.glow-positioning__quote {
	margin: 0 auto;
	padding: 0;
	border: 0;
	max-width: min(36rem, 100%);
}

.glow-positioning__mark {
	display: block;
	font-family: var(--font-display);
	font-size: clamp(3.5rem, 8vw, 5.5rem);
	line-height: 0.7;
	color: var(--accent);
	opacity: 0.85;
	margin: 0 auto 0.5rem;
}

.glow-positioning__quote p {
	margin: 0 auto;
	font-family: var(--font-display);
	font-size: clamp(1.85rem, 4vw, 2.85rem);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 1.2;
	color: var(--text);
	max-width: none;
	white-space: nowrap;
}

@media (max-width: 640px) {
	.glow-positioning__quote p {
		white-space: normal;
		max-width: 18ch;
	}
}

@media (max-width: 900px) {
	.glow-positioning-panel {
		position: relative;
		top: auto;
		height: auto;
		z-index: auto;
	}

	.glow-positioning-panel__pin {
		opacity: 1 !important;
		transform: none !important;
		filter: none !important;
		min-height: 70vh;
		padding: 2.5rem 0;
	}

	.glow-positioning-panel__inner {
		max-width: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.glow-positioning-panel {
		position: relative;
		top: auto;
		height: auto;
	}

	.glow-positioning-panel__pin {
		opacity: 1 !important;
		transform: none !important;
		filter: none !important;
		min-height: 0;
		padding: 2.5rem 0;
	}
}

@media (max-width: 800px) {
	.glow-positioning-hero .glow-hero__slide img {
		object-position: center center;
	}
}

/* Hero */
.glow-hero {
	min-height: 100vh;
	min-height: 100dvh;
	display: flex;
	align-items: flex-end;
}

.glow-hero__slides {
	position: absolute;
	inset: 0;
	z-index: 0;
	opacity: 0;
	transform: scale(1.08);
	transition:
		opacity 1.35s var(--ease),
		transform 2.2s var(--ease);
}

.glow-hero.is-intro-bg .glow-hero__slides {
	opacity: 1;
	transform: none;
}

.glow-hero__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 2s var(--ease);
}

.glow-hero__slide.is-active {
	opacity: 1;
}

.glow-hero__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 58% 28%;
}

.glow-hero__slide:nth-child(2) img {
	object-position: 72% 42%;
}

.glow-hero .glow-fullbleed__overlay {
	z-index: 1;
	opacity: 0;
	transition: opacity 1.15s var(--ease);
	background:
		linear-gradient(
			105deg,
			rgba(0, 0, 0, 0.58) 0%,
			rgba(0, 0, 0, 0.38) 32%,
			rgba(0, 0, 0, 0.12) 58%,
			rgba(0, 0, 0, 0.18) 100%
		),
		linear-gradient(180deg, rgba(0, 0, 0, 0.12) 0%, transparent 35%, rgba(0, 0, 0, 0.48) 100%);
}

.glow-hero.is-intro-overlay .glow-fullbleed__overlay {
	opacity: 1;
}

.glow-hero__bar {
	position: relative;
	z-index: 2;
	width: var(--container-wide);
	margin-inline: auto;
	padding: calc(var(--header-h) + 1rem) 0 calc(var(--footer-h) + var(--space-md));
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
}

.glow-hero__content {
	max-width: min(38rem, 100%);
	flex: 0 1 auto;
	text-shadow: 0 1px 24px rgba(0, 0, 0, 0.45);
	opacity: 0;
	transform: translate3d(0, 1.75rem, 0);
	filter: blur(6px);
	transition:
		opacity 1s var(--ease),
		transform 1.05s var(--ease),
		filter 1.05s var(--ease);
}

.glow-hero.is-intro-text .glow-hero__content {
	opacity: 1;
	transform: none;
	filter: none;
}

.glow-hero__brand {
	font-family: var(--font-display);
	font-size: clamp(2.75rem, 7vw, 4.75rem);
	font-weight: 400;
	letter-spacing: -0.03em;
	margin: 0 0 0.65rem;
}

.glow-hero__headline {
	font-family: var(--font-display);
	font-size: clamp(1.35rem, 2.6vw, 1.85rem);
	font-weight: 400;
	line-height: 1.3;
	max-width: 22ch;
	margin: 0 0 1rem;
}

.glow-hero__body {
	max-width: 36rem;
	color: rgba(234, 231, 226, 0.88);
	font-size: 1rem;
	line-height: 1.6;
	margin: 0 0 1.25rem;
}

.glow-hero__body-line {
	display: block;
}

.glow-hero__cta {
	margin-top: 0;
	justify-content: flex-start;
	opacity: 0;
	transform: translate3d(0, 1rem, 0);
	transition:
		opacity 0.9s var(--ease),
		transform 0.95s var(--ease);
}

.glow-hero.is-intro-cta .glow-hero__cta {
	opacity: 1;
	transform: none;
}

.glow-hero__phase {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-top: 0;
	font-family: var(--font-mono);
	font-size: 0.62rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(234, 231, 226, 0.55);
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.4);
}

.glow-hero__phase-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	padding: 0;
	border: 1px solid rgba(234, 231, 226, 0.28);
	background: rgba(0, 0, 0, 0.25);
	color: var(--text);
	cursor: pointer;
	transition: border-color 0.3s var(--ease), color 0.3s var(--ease), background 0.3s var(--ease);
}

.glow-hero__phase-toggle:hover {
	border-color: var(--accent);
	color: var(--accent);
}

.glow-hero__phase-toggle .glow-hero__icon {
	display: block;
}

.glow-hero__phase-toggle .glow-hero__icon[hidden] {
	display: none;
}

.glow-hero__phase-track {
	width: 5.5rem;
	height: 1px;
	background: rgba(234, 231, 226, 0.25);
	position: relative;
}

.glow-hero__phase-fill {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 25%;
	background: var(--accent);
	transition: width 0.8s var(--ease);
}

.glow-hero__phase-end {
	min-width: 2.75rem;
	text-align: right;
}

@media (max-width: 800px) {
	.glow-hero__bar {
		width: var(--container);
	}

	.glow-hero__slide img {
		object-position: 55% 22%;
	}

	.glow-hero__slide:nth-child(2) img {
		object-position: 78% 38%;
	}

	.glow-hero .glow-fullbleed__overlay {
		background: linear-gradient(
			180deg,
			rgba(0, 0, 0, 0.22) 0%,
			rgba(0, 0, 0, 0.32) 40%,
			rgba(0, 0, 0, 0.62) 100%
		);
	}
}

@media (prefers-reduced-motion: reduce) {
	body.is-hero-intro:not(.is-intro-chrome) .glow-header,
	body.is-hero-intro:not(.is-intro-chrome) .glow-footer {
		transform: none;
		opacity: 1;
		pointer-events: auto;
	}

	.glow-hero__slides,
	.glow-hero .glow-fullbleed__overlay,
	.glow-hero__content,
	.glow-hero__cta {
		opacity: 1;
		transform: none;
		filter: none;
		transition: none;
	}
}

/* Crossing — full-viewport · intro: bg → overlay → text */
.glow-crossing {
	height: 100vh;
	height: 100dvh;
	max-height: 100vh;
	max-height: 100dvh;
	min-height: 100vh;
	min-height: 100dvh;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
}

.glow-crossing__media {
	opacity: 0;
	transform: scale(1.08);
	transition:
		opacity 1.35s var(--ease),
		transform 2.2s var(--ease);
}

.glow-crossing.is-intro-bg .glow-crossing__media {
	opacity: 1;
	transform: none;
}

.glow-crossing.is-intro-done .glow-crossing__media {
	transition: none;
}

.glow-crossing__media img {
	object-fit: cover;
	object-position: center 45%;
	width: 100%;
	height: 100%;
	will-change: transform;
}

.glow-crossing__overlay {
	opacity: 0;
	transition: opacity 1.15s var(--ease);
	background:
		linear-gradient(
			105deg,
			rgba(0, 0, 0, 0.52) 0%,
			rgba(0, 0, 0, 0.32) 38%,
			rgba(0, 0, 0, 0.12) 70%,
			rgba(0, 0, 0, 0.2) 100%
		),
		linear-gradient(180deg, rgba(0, 0, 0, 0.12) 0%, transparent 40%, rgba(0, 0, 0, 0.42) 100%);
}

.glow-crossing.is-intro-overlay .glow-crossing__overlay {
	opacity: 1;
}

.glow-crossing__bar {
	position: relative;
	z-index: 2;
	width: var(--container-wide);
	margin-inline: auto;
	padding: calc(var(--header-h) + 1rem) 0 calc(var(--footer-h) + var(--space-lg));
}

.glow-crossing__content {
	max-width: min(40rem, 100%);
	text-shadow: 0 1px 28px rgba(0, 0, 0, 0.45);
	opacity: 0;
	transform: translate3d(0, 1.75rem, 0);
	filter: blur(6px);
	transition:
		opacity 1s var(--ease),
		transform 1.05s var(--ease),
		filter 1.05s var(--ease);
}

.glow-crossing.is-intro-text .glow-crossing__content {
	opacity: 1;
	transform: none;
	filter: none;
}

.glow-crossing .glow-quote {
	max-width: 16ch;
	margin: 0 0 1.35rem;
	font-size: clamp(1.75rem, 4vw, 2.85rem);
	line-height: 1.22;
	font-weight: 400;
}

.glow-crossing .glow-quote__line {
	display: block;
}

.glow-crossing .glow-quote__line + .glow-quote__line {
	margin-top: 0.12em;
}

.glow-crossing__body {
	max-width: 36rem;
	color: rgba(234, 231, 226, 0.88);
	font-size: 1rem;
	line-height: 1.65;
	margin: 0 0 1rem;
}

.glow-crossing__body-line {
	display: block;
}

.glow-crossing__body--secondary {
	color: rgba(234, 231, 226, 0.72);
	font-size: 0.98rem;
	margin-bottom: 0;
}

@media (max-width: 800px) {
	.glow-crossing__bar {
		width: var(--container);
	}

	.glow-crossing .glow-quote {
		max-width: 20ch;
	}

	.glow-crossing__overlay {
		background: linear-gradient(
			180deg,
			rgba(0, 0, 0, 0.18) 0%,
			rgba(0, 0, 0, 0.28) 40%,
			rgba(0, 0, 0, 0.58) 100%
		);
	}
}

@media (prefers-reduced-motion: reduce) {
	.glow-crossing__media,
	.glow-crossing__overlay,
	.glow-crossing__content {
		opacity: 1;
		transform: none;
		filter: none;
		transition: none;
	}
}

/* Home hook — same crossing intro · shorter positioning line */
.glow-home-hook .glow-crossing__media img {
	object-position: 35% center;
}

.glow-home-hook .glow-quote {
	max-width: min(40rem, 100%);
}

.glow-home-hook .glow-quote__line {
	display: block;
}

.glow-home-hook .glow-quote__line + .glow-quote__line {
	margin-top: 0.2em;
}

@media (min-width: 801px) {
	.glow-hero__body-line--nowrap {
		white-space: nowrap;
	}

	.glow-crossing__content {
		max-width: min(72rem, 94vw);
	}

	.glow-crossing .glow-quote {
		max-width: none;
	}

	.glow-crossing .glow-quote__line,
	.glow-crossing__body-line {
		white-space: nowrap;
	}

	.glow-crossing__body {
		max-width: none;
	}

	.glow-home-hook .glow-quote {
		max-width: min(52rem, 94vw);
	}

	.glow-home-hook .glow-quote__line--nowrap {
		white-space: nowrap;
	}

	.glow-why__head .glow-section__title {
		max-width: none;
	}

	.glow-why__title-line {
		display: block;
		white-space: nowrap;
	}

	.glow-why__head .glow-lede {
		max-width: min(36rem, 100%);
	}

	.glow-apart__mast .glow-section__title {
		max-width: none;
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.glow-apart__title-line {
		display: block;
		white-space: nowrap;
		width: fit-content;
	}
}

.glow-home-hook__cta {
	margin-top: 1.5rem;
}

/* Why now — full-viewport pin · mast travels top→bottom · 4 columns */
.glow-why {
	background: var(--bg);
	padding: 0;
	overflow: visible;
}

.glow-why-pin {
	height: 260vh;
	height: 260dvh;
	position: relative;
}

.glow-why__frame {
	position: sticky;
	top: 0;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2px;
	height: 100vh;
	height: 100dvh;
	min-height: 0;
	isolation: isolate;
	background: rgba(234, 231, 226, 0.08);
	overflow: hidden;
}

.glow-why__head {
	position: relative;
	z-index: 2;
	height: 100%;
	min-width: 0;
	padding: 0;
	overflow: hidden;
	box-sizing: border-box;
	--why-head-progress: 0;
	background: color-mix(
		in srgb,
		var(--accent) calc(var(--why-head-progress) * 100%),
		#0a0a0a calc((1 - var(--why-head-progress)) * 100%)
	);
	border-right: 1px solid
		color-mix(
			in srgb,
			rgba(42, 36, 24, 0.28) calc(var(--why-head-progress) * 100%),
			rgba(234, 231, 226, 0.06) calc((1 - var(--why-head-progress)) * 100%)
		);
}

.glow-why__mast-inner {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	padding: calc(var(--header-h) + 0.85rem) 1.35rem 1.25rem;
	box-sizing: border-box;
	will-change: transform;
	transform: translate3d(0, 0, 0);
}

.glow-why__head .glow-plate {
	margin-bottom: 0.85rem;
	color: color-mix(
		in srgb,
		var(--accent-dark) calc(var(--why-head-progress) * 100%),
		var(--accent) calc((1 - var(--why-head-progress)) * 100%)
	);
}

.glow-why__head .glow-plate__rule {
	background: color-mix(
		in srgb,
		var(--accent-dark) calc(var(--why-head-progress) * 100%),
		var(--accent) calc((1 - var(--why-head-progress)) * 100%)
	);
}

.glow-why__head .glow-section__title {
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: -0.025em;
	margin: 0 0 0.85rem;
	line-height: 1.12;
	max-width: 9ch;
	color: color-mix(
		in srgb,
		var(--accent-dark) calc(var(--why-head-progress) * 100%),
		var(--text) calc((1 - var(--why-head-progress)) * 100%)
	);
}

.glow-why__head .glow-lede {
	margin: 0;
	font-size: clamp(0.88rem, 1.15vw, 1rem);
	line-height: 1.55;
	max-width: 28ch;
	color: color-mix(
		in srgb,
		rgba(42, 36, 24, 0.88) calc(var(--why-head-progress) * 100%),
		rgba(234, 231, 226, 0.82) calc((1 - var(--why-head-progress)) * 100%)
	);
}

.glow-pillar {
	position: relative;
	min-height: 0;
	height: 100%;
	overflow: hidden;
	isolation: isolate;
	display: flex;
	align-items: flex-end;
	padding: 0;
}

.glow-pillar img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	z-index: 0;
	transform: scale(1.06);
	filter: brightness(0.38) contrast(1.05) saturate(0.75);
	transition:
		transform 1.1s var(--ease),
		filter 0.9s var(--ease),
		opacity 0.9s var(--ease);
	opacity: 0.55;
}

.glow-pillar:nth-child(2) img {
	object-position: center 45%;
}

.glow-pillar:nth-child(3) img {
	object-position: center 40%;
}

.glow-pillar:nth-child(4) img {
	object-position: center 35%;
}

.glow-pillar.is-active img {
	opacity: 1;
	transform: scale(1);
	filter: brightness(0.9) contrast(1.08) saturate(0.95);
}

.glow-pillar.is-active:hover img {
	transform: scale(1.05);
	filter: brightness(0.98) contrast(1.08) saturate(1);
}

.glow-pillar::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(180deg, rgba(0, 0, 0, 0.22) 0%, transparent 30%, rgba(0, 0, 0, 0.88) 100%),
		linear-gradient(90deg, rgba(0, 0, 0, 0.12) 0%, transparent 45%);
	pointer-events: none;
	opacity: 0.35;
	transition: opacity 0.85s var(--ease);
}

.glow-pillar.is-active::after {
	opacity: 1;
}

.glow-pillar__content {
	position: relative;
	z-index: 2;
	padding: 1.35rem 1.15rem calc(var(--footer-h) + 1.1rem);
	width: 100%;
	opacity: 0;
	transform: translate3d(0, 2rem, 0);
	filter: blur(5px);
	transition:
		opacity 0.85s var(--ease),
		transform 0.9s var(--ease),
		filter 0.9s var(--ease);
}

.glow-pillar.is-active .glow-pillar__content {
	opacity: 1;
	transform: none;
	filter: none;
}

.glow-pillar__num {
	font-family: var(--font-display);
	font-size: clamp(3.75rem, 7vw, 6.25rem);
	line-height: 0.78;
	font-weight: 400;
	color: transparent;
	-webkit-text-stroke: 1.25px rgba(196, 163, 90, 0.35);
	margin-bottom: 0.5rem;
	letter-spacing: -0.04em;
	transition: -webkit-text-stroke-color 0.85s var(--ease);
}

.glow-pillar.is-active .glow-pillar__num {
	-webkit-text-stroke: 1.25px rgba(196, 163, 90, 0.72);
}

.glow-pillar h3 {
	font-family: var(--font-display);
	font-size: 2rem;
	font-weight: 400;
	max-width: 12ch;
	margin: 0 0 0.5rem;
	line-height: 1.25;
	letter-spacing: -0.015em;
}

.glow-pillar p {
	color: rgba(234, 231, 226, 0.78);
	font-size: 0.84rem;
	max-width: 26ch;
	line-height: 1.5;
	margin: 0;
}

@media (prefers-reduced-motion: reduce) {
	.glow-pillar img,
	.glow-pillar::after,
	.glow-pillar__content,
	.glow-pillar__num {
		transition: none;
	}

	.glow-pillar img {
		opacity: 1;
		transform: none;
		filter: brightness(0.9) contrast(1.08) saturate(0.95);
	}

	.glow-pillar::after,
	.glow-pillar__content {
		opacity: 1;
		transform: none;
		filter: none;
	}

	.glow-pillar__num {
		-webkit-text-stroke: 1.25px rgba(196, 163, 90, 0.72);
	}
}

@media (max-width: 900px) {
	.glow-why {
		height: auto;
		max-height: none;
		overflow: visible;
	}

	.glow-why-pin {
		height: auto;
	}

	.glow-why__frame {
		position: relative;
		top: auto;
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		height: 100vh;
		height: 100dvh;
		scrollbar-width: thin;
	}

	.glow-why__head,
	.glow-pillar {
		flex: 0 0 min(86vw, 22rem);
		scroll-snap-align: start;
		height: 100%;
		min-height: 100%;
	}

	.glow-why__head {
		position: relative;
	}

	.glow-why__mast-inner {
		position: absolute;
		top: auto;
		bottom: 0;
		transform: none !important;
		padding: calc(var(--header-h) + 1.25rem) 1.25rem calc(var(--footer-h) + 1.25rem);
	}

	.glow-why__head .glow-section__title {
		max-width: 10ch;
		font-size: 2rem;
	}

	.glow-pillar__num {
		font-size: clamp(3.5rem, 16vw, 5.25rem);
		-webkit-text-stroke: 1.25px rgba(196, 163, 90, 0.72);
	}

	.glow-pillar img {
		opacity: 1;
		transform: none;
		filter: brightness(0.9) contrast(1.08) saturate(0.95);
	}

	.glow-pillar::after,
	.glow-pillar__content {
		opacity: 1;
		transform: none;
		filter: none;
	}
}

/* Apart — sticky sibling stack (I stays while II–IV cover + fade) */
.glow-apart-section {
	background:
		radial-gradient(ellipse at 8% 4%, rgba(196, 163, 90, 0.05), transparent 40%),
		var(--bg);
	padding: calc(var(--header-h) + var(--space-lg)) 0 0;
	overflow: visible;
}

.glow-apart-mast-pin {
	position: relative;
	height: auto;
	margin-bottom: 0;
}

.glow-apart__mast-sticky {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	box-sizing: border-box;
	padding: clamp(2rem, 6vh, 3.5rem) 0 0;
}

.glow-apart__mast {
	position: relative;
	z-index: 0;
	width: min(52rem, 100%);
	max-width: 52rem;
	margin: 0 auto;
	overflow: visible;
	box-sizing: border-box;
	/* Glow pinned to card edge · text lifted via top + inner spacing only */
	padding: clamp(6rem, 15vh, 8.5rem) 0 0;
}

/* Sunrise glow — half-disk on the card horizon, cursor-light wash */
.glow-apart__sun {
	position: absolute;
	left: 50%;
	bottom: 0;
	top: auto;
	width: min(40rem, 100vw);
	height: min(40rem, 100vw);
	border-radius: 50%;
	pointer-events: none;
	z-index: 0;
	transform: translate(-50%, 50%) scale(var(--apart-sun-scale, 0.05));
	transform-origin: center center;
	opacity: var(--apart-sun-opacity, 0);
	clip-path: inset(0 0 50% 0);
	background:
		radial-gradient(circle, rgba(196, 163, 90, 0.17) 0%, rgba(196, 163, 90, 0.06) 38%, transparent 68%),
		radial-gradient(circle, rgba(232, 213, 163, 0.09) 0%, transparent 72%);
	filter: blur(20px);
	mix-blend-mode: screen;
	will-change: transform, opacity;
}

.glow-apart__mast-inner {
	position: relative;
	z-index: 1;
	width: min(40rem, 92%);
	margin: 0 auto;
	padding-bottom: clamp(2rem, 4.5vh, 3rem);
	will-change: transform, opacity;
	transform: translate3d(0, var(--apart-text-y, 4.5rem), 0);
	opacity: var(--apart-text-opacity, 0);
	visibility: var(--apart-text-visible, hidden);
	text-align: center;
}

.glow-apart__mast .glow-plate {
	margin-bottom: 0.85rem;
	justify-content: center;
}

.glow-apart__mast .glow-section__title {
	font-size: 2.5rem;
	font-weight: 400;
	letter-spacing: -0.02em;
	max-width: 18ch;
	line-height: 1.15;
	margin: 0 auto;
}

.glow-apart {
	display: block;
	position: relative;
	overflow: visible;
	margin-top: 0;
}

.glow-apart-ch {
	position: sticky;
	top: var(--header-h);
	z-index: var(--z, 1);
	height: calc(100vh - var(--header-h));
	height: calc(100dvh - var(--header-h));
	margin: 0;
	padding: 0;
}

.glow-apart-ch__pin {
	height: 100%;
	background:
		radial-gradient(ellipse at 12% 0%, rgba(196, 163, 90, 0.04), transparent 45%),
		var(--bg);
	box-shadow: 0 -1px 0 rgba(234, 231, 226, 0.06);
	will-change: opacity, transform, filter;
	transform-origin: center 35%;
}

.glow-apart-ch__frame {
	height: 100%;
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: clamp(1.25rem, 3vw, 2.75rem);
	align-items: center;
	padding: 1.25rem 0 calc(var(--footer-h) + 1rem);
	box-sizing: border-box;
}

/* So le: I/III hình rộng hơn · II/IV chữ trước nên cột chữ hẹp hơn một chút */
.glow-apart-ch--public .glow-apart-ch__frame,
.glow-apart-ch--data .glow-apart-ch__frame {
	grid-template-columns: 0.95fr 1.05fr;
}

.glow-apart-ch--legacy .glow-apart-ch__frame {
	grid-template-columns: 1.1fr 0.9fr;
}

.glow-apart-ch.is-covered .glow-apart-ch__pin {
	pointer-events: none;
}

.glow-apart-ch__media {
	position: relative;
	margin: 0;
	overflow: hidden;
	isolation: isolate;
	min-height: 0;
	height: auto;
	aspect-ratio: 4 / 3;
	max-height: min(52vh, 100%);
	width: 100%;
}

.glow-apart-ch__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 1.5s var(--ease);
}

.glow-apart-ch__media:hover img {
	transform: scale(1.04);
}

.glow-apart-ch__media--looks:hover img {
	transform: none;
}

.glow-apart-ch__media--macro img {
	object-position: 55% 40%;
	filter: contrast(1.08) saturate(0.88) brightness(0.92);
	transform: scale(1.12);
}

.glow-apart-ch__media--macro:hover img {
	transform: scale(1.16);
}

/* Material — Leica Looks-style compare slider */
.glow-apart-ch__media--looks {
	aspect-ratio: 16 / 10;
	max-height: min(58vh, 100%);
}

.glow-looks {
	width: 100%;
	height: 100%;
}

.glow-looks__stage {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: min(42vh, 420px);
	overflow: hidden;
	background: #0a0a0a;
}

.glow-looks__stage::after {
	content: '';
	position: absolute;
	inset: auto 0 0;
	z-index: 2;
	height: 18%;
	background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.35) 100%);
	pointer-events: none;
}

.glow-looks__slides {
	position: absolute;
	inset: 0;
}

.glow-looks__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 0.65s var(--ease);
	pointer-events: none;
}

.glow-looks__slide.is-active {
	opacity: 1;
	pointer-events: auto;
}

.glow-looks__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	display: block;
	transform: scale(1.14);
	transition: transform 1.2s var(--ease);
}

.glow-looks__slide[data-material='weave'] img {
	object-position: 50% 38%;
	filter: contrast(1.05) saturate(0.96);
}

.glow-looks__slide[data-material='bamboo'] img {
	object-position: 52% 22%;
}

.glow-looks__slide[data-look='warm'] img {
	filter: contrast(1.06) saturate(1.12) sepia(0.22) brightness(1.04);
}

.glow-looks__slide[data-material='wood'] img {
	object-position: 88% 48%;
}

.glow-looks__slide[data-look='bleach'] img {
	filter: contrast(1.08) saturate(0.42) brightness(1.06) hue-rotate(-6deg);
}

.glow-looks__slide[data-material='stone'] img {
	object-position: 28% 78%;
}

.glow-looks__slide[data-look='night'] img {
	filter: contrast(1.1) saturate(0.72) brightness(0.78);
}

.glow-looks__inset {
	position: absolute;
	top: 50%;
	left: clamp(0.85rem, 2.4vw, 1.5rem);
	z-index: 3;
	width: min(31%, 10.5rem);
	aspect-ratio: 5 / 4;
	overflow: hidden;
	border: 2px solid rgba(255, 255, 255, 0.92);
	box-shadow: 0 10px 32px rgba(0, 0, 0, 0.42);
	background: #111;
	transform: translateY(-50%);
}

.glow-looks__inset img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	display: block;
	transform: scale(1.1);
	filter: contrast(1.04) saturate(0.95);
	transition: opacity 0.35s var(--ease);
}

.glow-looks__nav {
	position: absolute;
	top: 50%;
	z-index: 4;
	width: 2.35rem;
	height: 2.35rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	display: grid;
	place-items: center;
	transform: translateY(-50%);
	background: rgba(8, 8, 8, 0.42);
	backdrop-filter: blur(6px);
	color: rgba(255, 255, 255, 0.88);
	font-size: 1rem;
	line-height: 1;
	cursor: pointer;
	transition:
		background 0.25s var(--ease),
		color 0.25s var(--ease),
		transform 0.25s var(--ease);
}

.glow-looks__nav:hover {
	background: rgba(8, 8, 8, 0.62);
	color: #fff;
}

.glow-looks__nav--prev {
	left: clamp(0.45rem, 1.1vw, 0.75rem);
	z-index: 5;
}

.glow-looks__nav--next {
	right: clamp(0.65rem, 1.5vw, 1rem);
}

.glow-looks__pager {
	position: absolute;
	left: 50%;
	bottom: clamp(0.75rem, 2vh, 1rem);
	z-index: 4;
	transform: translateX(-50%);
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.45rem 0.7rem;
	border-radius: var(--radius-pill);
	background: rgba(8, 8, 8, 0.48);
	backdrop-filter: blur(8px);
}

.glow-looks__pager button {
	width: 0.42rem;
	height: 0.42rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.38);
	cursor: pointer;
	transition:
		width 0.3s var(--ease),
		background 0.3s var(--ease),
		border-radius 0.3s var(--ease);
}

.glow-looks__pager button.is-active {
	width: 1.35rem;
	border-radius: var(--radius-pill);
	background: rgba(255, 255, 255, 0.92);
}

@media (prefers-reduced-motion: reduce) {
	.glow-looks__slide {
		transition: none;
	}

	.glow-looks__slide img {
		transition: none;
	}
}

.glow-apart-ch__media--doc img {
	object-position: center 60%;
	filter: contrast(1.02) saturate(0.9);
}

.glow-apart-ch__media--data img {
	object-position: center 45%;
	filter: contrast(1.06) saturate(0.85) brightness(0.82);
}

.glow-apart-ch__cap {
	position: absolute;
	left: 0.85rem;
	bottom: 0.85rem;
	z-index: 3;
	font-family: var(--font-mono);
	font-size: 0.58rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(234, 231, 226, 0.75);
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.55);
}

.glow-apart-ch__body {
	min-width: 0;
}

.glow-apart-ch h3 {
	font-family: var(--font-display);
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 1.2;
	margin: 0 0 0.75rem;
}

.glow-apart-ch__lead {
	color: var(--text);
	font-size: clamp(0.92rem, 1.2vw, 1.02rem);
	line-height: 1.55;
	margin: 0 0 0.75rem;
}

.glow-apart-ch__body > p:not(.glow-card__num):not(.glow-apart-ch__lead):not(.glow-apart-ch__mantra) {
	color: var(--text-muted);
	font-size: clamp(0.88rem, 1.1vw, 0.96rem);
	line-height: 1.6;
	margin: 0 0 0.75rem;
}

.glow-apart-ch__mantra {
	font-family: var(--font-display);
	font-size: clamp(1rem, 1.5vw, 1.2rem);
	font-weight: 400;
	letter-spacing: -0.01em;
	color: var(--accent);
	line-height: 1.4;
	margin: 0.85rem 0 0;
	max-width: 22ch;
}

.glow-apart-ch__link {
	display: inline-block;
	margin-top: 0.5rem;
	font-family: var(--font-mono);
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--accent);
	border-bottom: 1px solid rgba(196, 163, 90, 0.35);
	padding-bottom: 0.2rem;
	transition: color 0.3s var(--ease), border-color 0.3s var(--ease);
}

.glow-apart-ch__link:hover {
	color: var(--text);
	border-color: var(--text);
}

.glow-apart-pair {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 0.85rem;
	align-items: center;
	min-height: 0;
	height: auto;
	max-height: min(52vh, 100%);
	width: 100%;
}

.glow-apart-pair__frame {
	margin: 0;
	position: relative;
	overflow: hidden;
	height: auto;
	aspect-ratio: 4 / 3;
	background: var(--bg-elevated);
}

.glow-apart-pair__frame img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: contrast(1.04) saturate(0.9);
}

.glow-apart-pair__frame figcaption {
	position: absolute;
	left: 0.75rem;
	bottom: 0.75rem;
	font-family: var(--font-mono);
	font-size: 0.58rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(234, 231, 226, 0.8);
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.5);
}

.glow-apart-pair__arrow {
	font-family: var(--font-display);
	font-size: 1.5rem;
	color: var(--accent);
	opacity: 0.7;
}

@media (max-width: 900px) {
	.glow-apart-section {
		padding-top: calc(var(--header-h) + var(--space-lg));
		padding-bottom: calc(var(--footer-h) + var(--space-xl));
	}

	.glow-apart-mast-pin {
		height: auto;
		margin-bottom: 0;
	}

	.glow-apart__mast {
		padding: clamp(4.5rem, 11vh, 6.5rem) 0 0;
	}

	.glow-apart__mast-sticky {
		position: relative;
		top: auto;
		height: auto;
	}

	.glow-apart__sun {
		transform: translate(-50%, 50%) scale(1);
		opacity: 0.92;
	}

	.glow-apart__mast-inner {
		opacity: 1;
		visibility: visible;
		transform: none !important;
	}

	.glow-apart-ch {
		position: relative;
		top: auto;
		height: auto;
		z-index: auto;
	}

	.glow-apart-ch__pin {
		opacity: 1 !important;
		transform: none !important;
		filter: none !important;
		box-shadow: none;
		height: auto;
	}

	.glow-apart-ch__frame,
	.glow-apart-ch--public .glow-apart-ch__frame,
	.glow-apart-ch--legacy .glow-apart-ch__frame,
	.glow-apart-ch--data .glow-apart-ch__frame {
		grid-template-columns: 1fr;
		gap: 1.5rem;
		height: auto;
		padding: 2rem 0;
	}

	.glow-apart-ch--public .glow-apart-ch__body {
		order: 1;
	}

	.glow-apart-ch--public .glow-apart-ch__media,
	.glow-apart-ch--data .glow-apart-ch__media {
		order: 2;
	}

	.glow-apart-ch--data .glow-apart-ch__body {
		order: 1;
	}

	.glow-apart-ch__media,
	.glow-apart-ch__media--macro,
	.glow-apart-ch__media--doc,
	.glow-apart-ch__media--data {
		height: auto;
		min-height: 0;
		aspect-ratio: 4 / 3;
	}

	.glow-apart-ch__media--looks {
		aspect-ratio: 16 / 11;
		max-height: none;
	}

	.glow-looks__stage {
		min-height: min(52vw, 18rem);
	}

	.glow-looks__inset {
		top: auto;
		bottom: clamp(2.75rem, 9vw, 3.25rem);
		left: clamp(0.65rem, 2vw, 0.85rem);
		width: min(38%, 8.25rem);
		transform: none;
	}

	.glow-looks__nav {
		width: 2rem;
		height: 2rem;
		font-size: 0.85rem;
	}

	.glow-apart-pair {
		order: 2;
		height: auto;
		min-height: 16rem;
		gap: 0.55rem;
	}

	.glow-apart-ch--legacy .glow-apart-ch__body {
		order: 1;
	}

	.glow-apart-pair__frame {
		aspect-ratio: 4 / 3;
		height: auto;
	}

	.glow-apart-pair__arrow {
		font-size: 1.1rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.glow-apart__sun {
		transform: translate(-50%, 50%) scale(1);
		opacity: 0.92;
	}

	.glow-apart__mast-inner {
		visibility: visible;
		opacity: 1;
		transform: none;
	}

	.glow-apart-ch {
		position: relative;
		top: auto;
		height: auto;
	}

	.glow-apart-ch__pin {
		opacity: 1 !important;
		transform: none !important;
		filter: none !important;
		height: auto;
	}
}

.glow-card__num {
	display: flex;
	font-family: var(--font-mono);
	font-size: 0.65rem;
	letter-spacing: 0.2em;
	color: var(--accent);
	margin-bottom: 0.55rem;
	text-transform: uppercase;
}

/* Code — Journey layout · vertical scrub 01–04 */
.glow-code-section {
	background: var(--bg-elevated);
	padding: 0;
	overflow: visible;
}

.glow-code-pin {
	position: relative;
	height: calc(var(--scrub-cards, 4) * 100vh);
	height: calc(var(--scrub-cards, 4) * 100dvh);
}

.glow-code-layout {
	position: sticky;
	top: var(--header-h);
	z-index: 2;
	height: calc(100vh - var(--header-h));
	height: calc(100dvh - var(--header-h));
	display: grid;
	grid-template-columns: 1fr 3fr;
	align-items: stretch;
	overflow: hidden;
	background: var(--bg-elevated);
}

.glow-code__mast {
	position: relative;
	padding: 0;
	box-sizing: border-box;
	background:
		radial-gradient(ellipse at 10% 0%, rgba(196, 163, 90, 0.1), transparent 50%),
		var(--bg-elevated);
	border-right: 1px solid rgba(234, 231, 226, 0.08);
	min-width: 0;
	overflow: hidden;
	height: 100%;
}

.glow-code__mast-inner {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	padding: 1.5rem 1.35rem 1.5rem clamp(1rem, 2.5vw, 2rem);
	box-sizing: border-box;
	will-change: transform;
	transform: translate3d(0, 0, 0);
}

.glow-code__mast .glow-section__title {
	font-size: clamp(1.35rem, 1.8vw, 1.85rem);
	font-weight: 400;
	letter-spacing: -0.025em;
	line-height: 1.15;
	margin: 0 0 0.85rem;
}

.glow-code__mast .glow-lede {
	margin: 0;
	font-size: clamp(0.82rem, 1vw, 0.95rem);
	line-height: 1.55;
	color: rgba(234, 231, 226, 0.78);
}

.glow-code__mast .glow-plate {
	margin-bottom: 0.85rem;
}

.glow-code {
	position: relative;
	overflow: hidden;
	min-width: 0;
	height: 100%;
}

.glow-code__track {
	display: flex;
	flex-direction: column;
	height: calc(var(--scrub-cards, 4) * 100%);
	width: 100%;
	will-change: transform;
	transform: translate3d(0, 0, 0);
}

.glow-code-card {
	position: relative;
	flex: 0 0 calc(100% / var(--scrub-cards, 4));
	height: calc(100% / var(--scrub-cards, 4));
	margin: 0;
	padding: 0;
	display: flex;
	align-items: flex-end;
	color: var(--text);
	border: 0;
	overflow: hidden;
	isolation: isolate;
}

.glow-code-card img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
	filter: contrast(1.05) saturate(0.9) brightness(0.88);
}

.glow-code-card::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(180deg, rgba(0, 0, 0, 0.14) 0%, transparent 35%, rgba(0, 0, 0, 0.62) 100%),
		linear-gradient(90deg, rgba(0, 0, 0, 0.22) 0%, transparent 50%);
	pointer-events: none;
}

.glow-code-card__content {
	position: relative;
	z-index: 2;
	padding: 1.5rem 1.5rem calc(var(--footer-h) + 1.25rem);
	width: 100%;
	max-width: 36rem;
	text-shadow: 0 1px 24px rgba(0, 0, 0, 0.45);
}

.glow-code-card__num {
	display: block;
	font-family: var(--font-display);
	font-size: clamp(4.5rem, 10vw, 8rem);
	font-weight: 400;
	line-height: 0.78;
	letter-spacing: -0.04em;
	color: transparent;
	-webkit-text-stroke: 1.5px rgba(196, 163, 90, 0.72);
	margin: 0 0 0.45rem;
}

.glow-code-card h3 {
	font-family: var(--font-display);
	font-size: clamp(1.45rem, 2.6vw, 2.2rem);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 1.15;
	max-width: 14ch;
	margin: 0 0 0.75rem;
}

.glow-code-card p {
	max-width: 32rem;
	margin: 0;
	color: rgba(234, 231, 226, 0.86);
	font-size: clamp(0.92rem, 1.2vw, 1.05rem);
	line-height: 1.6;
}

@media (max-width: 900px) {
	.glow-code-pin {
		height: auto;
	}

	.glow-code-layout {
		position: relative;
		top: auto;
		height: auto;
		grid-template-columns: 1fr;
		overflow: visible;
	}

	.glow-code__mast {
		height: auto;
		overflow: visible;
		border-right: 0;
		border-bottom: 1px solid var(--border);
	}

	.glow-code__mast-inner {
		position: relative;
		transform: none !important;
		padding: calc(var(--header-h) + 1.25rem) 1.25rem 1.5rem;
	}

	.glow-code__mast .glow-section__title {
		font-size: clamp(1.65rem, 6vw, 2.25rem);
	}

	.glow-code {
		overflow: visible;
		height: auto;
	}

	.glow-code__track {
		height: auto;
		transform: none !important;
	}

	.glow-code-card {
		flex: none;
		height: auto;
		min-height: 70vh;
	}

	.glow-code-card__num {
		font-size: clamp(4rem, 22vw, 6rem);
	}
}

@media (prefers-reduced-motion: reduce) {
	.glow-code-pin {
		height: auto;
	}

	.glow-code-layout {
		position: relative;
		top: auto;
		height: auto;
	}

	.glow-code__mast-inner,
	.glow-code__track {
		transform: none !important;
	}

	.glow-code-card {
		min-height: 70vh;
	}
}

/* Journey / Legacy — sticky viewport · horizontal scrub */
.glow-journey-section {
	background: var(--bg-elevated);
	padding: 0;
	overflow: visible;
}

.glow-journey-pin {
	position: relative;
	height: calc(var(--scrub-cards, 3) * 100vh);
	height: calc(var(--scrub-cards, 3) * 100dvh);
}

.glow-journey-layout {
	position: sticky;
	top: var(--header-h);
	z-index: 2;
	height: calc(100vh - var(--header-h));
	height: calc(100dvh - var(--header-h));
	display: grid;
	grid-template-columns: 1fr 3fr;
	align-items: stretch;
	overflow: hidden;
	background: var(--bg-elevated);
}

.glow-journey__mast {
	position: relative;
	padding: 0;
	box-sizing: border-box;
	--journey-mast-progress: 0;
	background: color-mix(
		in srgb,
		var(--accent) calc(var(--journey-mast-progress) * 100%),
		var(--bg-elevated) calc((1 - var(--journey-mast-progress)) * 100%)
	);
	border-right: 1px solid
		color-mix(
			in srgb,
			rgba(42, 36, 24, 0.28) calc(var(--journey-mast-progress) * 100%),
			rgba(234, 231, 226, 0.08) calc((1 - var(--journey-mast-progress)) * 100%)
		);
	min-width: 0;
	overflow: hidden;
	height: 100%;
}

.glow-journey__mast-inner {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	padding: 1.5rem 1.35rem 1.5rem clamp(1rem, 2.5vw, 2rem);
	box-sizing: border-box;
	will-change: transform;
	transform: translate3d(0, 0, 0);
}

.glow-journey__mast .glow-section__title {
	font-size: 2.5rem;
	font-weight: 400;
	letter-spacing: -0.025em;
	max-width: 12ch;
	line-height: 1.15;
	margin: 0 0 0.85rem;
	color: color-mix(
		in srgb,
		var(--accent-dark) calc(var(--journey-mast-progress) * 100%),
		var(--text) calc((1 - var(--journey-mast-progress)) * 100%)
	);
}

.glow-journey__mast .glow-lede {
	margin: 0;
	font-size: clamp(0.82rem, 1vw, 0.95rem);
	line-height: 1.55;
	color: color-mix(
		in srgb,
		rgba(42, 36, 24, 0.88) calc(var(--journey-mast-progress) * 100%),
		rgba(234, 231, 226, 0.78) calc((1 - var(--journey-mast-progress)) * 100%)
	);
}

.glow-journey__mast .glow-plate {
	margin-bottom: 0.85rem;
	color: color-mix(
		in srgb,
		var(--accent-dark) calc(var(--journey-mast-progress) * 100%),
		var(--accent) calc((1 - var(--journey-mast-progress)) * 100%)
	);
}

.glow-journey__mast .glow-plate__rule {
	background: color-mix(
		in srgb,
		var(--accent-dark) calc(var(--journey-mast-progress) * 100%),
		var(--accent) calc((1 - var(--journey-mast-progress)) * 100%)
	);
}

.glow-journey__mast .glow-legacy__cta {
	margin: 1.25rem 0 0;
}

.glow-journey__mast .glow-legacy__cta .glow-btn {
	font-size: 0.68rem;
	padding: 0.55rem 0.85rem;
}

.glow-journey {
	position: relative;
	overflow: hidden;
	min-width: 0;
	height: 100%;
}

.glow-journey__track {
	display: flex;
	height: 100%;
	width: calc(var(--scrub-cards, 3) * 100%);
	will-change: transform;
	transform: translate3d(0, 0, 0);
}

.glow-edition-card {
	position: relative;
	flex: 0 0 calc(100% / var(--scrub-cards, 3));
	width: calc(100% / var(--scrub-cards, 3));
	height: 100%;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: flex-end;
	color: var(--text);
	border: 0;
	border-radius: 0;
	overflow: hidden;
	isolation: isolate;
}

.glow-edition-card > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
	filter: brightness(0.88) contrast(1.06) saturate(0.92);
	transform: scale(1.02);
	transition: transform 2.4s var(--ease), filter 0.8s var(--ease);
}

.glow-edition-card:hover > img {
	transform: scale(1.08);
	filter: brightness(0.95) contrast(1.06) saturate(0.98);
}

.glow-edition-card::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(90deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.18) 50%, rgba(0, 0, 0, 0.1) 100%),
		linear-gradient(180deg, rgba(0, 0, 0, 0.12) 0%, transparent 32%, rgba(0, 0, 0, 0.62) 100%);
}

.glow-edition-card__content {
	position: relative;
	z-index: 2;
	width: 100%;
	padding: 2rem clamp(1.25rem, 3vw, 2.5rem) calc(var(--footer-h) + 2rem);
	box-sizing: border-box;
}

.glow-edition-card__num {
	display: block;
	font-family: var(--font-display);
	font-size: clamp(3.5rem, 7vw, 5.75rem);
	font-weight: 400;
	line-height: 0.78;
	letter-spacing: -0.04em;
	color: transparent;
	-webkit-text-stroke: 1.35px rgba(196, 163, 90, 0.78);
	margin: 0 0 0.55rem;
	text-shadow: none;
}

.glow-edition-card__meta {
	font-family: var(--font-mono);
	font-size: 0.62rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--accent);
	margin: 0 0 0.65rem;
	line-height: 1.45;
}

.glow-edition-card h3 {
	font-family: var(--font-display);
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 1.15;
	max-width: 16ch;
	margin: 0 0 0.75rem;
	text-shadow: 0 1px 24px rgba(0, 0, 0, 0.45);
}

.glow-edition-card p:not(.glow-edition-card__meta) {
	max-width: 38ch;
	margin: 0;
	color: rgba(234, 231, 226, 0.86);
	font-size: clamp(0.92rem, 1.2vw, 1.05rem);
	line-height: 1.55;
	text-shadow: 0 1px 18px rgba(0, 0, 0, 0.4);
}

@media (max-width: 900px) {
	.glow-journey-pin {
		height: auto;
	}

	.glow-journey-layout {
		position: relative;
		top: auto;
		height: auto;
		grid-template-columns: 1fr;
	}

	.glow-journey__mast {
		padding: 0;
		border-right: 0;
		border-bottom: 1px solid var(--border);
		overflow: visible;
		height: auto;
	}

	.glow-journey__mast-inner {
		position: relative;
		transform: none !important;
		padding: calc(var(--header-h) + 1.25rem) 1.25rem 1.5rem;
	}

	.glow-journey__mast .glow-section__title {
		max-width: 14ch;
		font-size: 2.5rem;
	}

	.glow-journey {
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		height: 70vh;
	}

	.glow-journey__track {
		width: max-content;
		transform: none !important;
	}

	.glow-edition-card {
		flex: 0 0 min(86vw, 22rem);
		width: min(86vw, 22rem);
		height: 70vh;
		scroll-snap-align: start;
	}
}

@media (prefers-reduced-motion: reduce) {
	.glow-journey-pin {
		height: auto;
	}

	.glow-journey-layout {
		position: relative;
		top: auto;
		height: auto;
	}

	.glow-journey__track {
		transform: none !important;
		flex-wrap: wrap;
		width: 100%;
	}

	.glow-edition-card {
		flex: 1 1 100%;
		width: 100%;
		min-height: 70vh;
	}
}

/* Edition detail */
.glow-edition-hero {
	min-height: 100vh;
	min-height: 100dvh;
}

.glow-hcmc__hero-copy {
	max-width: min(40rem, 100%);
}

.glow-hcmc__lead2 {
	margin: 1rem 0 0;
	color: rgba(234, 231, 226, 0.82);
	font-size: clamp(0.95rem, 1.2vw, 1.05rem);
	line-height: 1.65;
	max-width: 42ch;
}

.glow-hcmc-site-hero .glow-hero__slide img {
	object-position: center 42%;
}

.glow-hcmc-site-hero .glow-hero__brand {
	font-size: clamp(1.65rem, 3.2vw, 2.75rem);
	max-width: 20ch;
	line-height: 1.15;
}

.glow-hcmc-site-hero__line {
	display: block;
}

.glow-hcmc-site-hero__line + .glow-hcmc-site-hero__line {
	margin-top: 0.2em;
	white-space: nowrap;
}

.glow-hcmc-site-hero .glow-hero__body {
	max-width: 42ch;
}

.glow-hcmc-site {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: clamp(1.5rem, 4vw, 3.5rem);
	align-items: center;
	width: var(--container-wide);
	margin: 0 auto;
	padding: var(--space-2xl) 0;
}

.glow-hcmc-site__media {
	margin: 0;
	overflow: hidden;
	aspect-ratio: 16 / 10;
	min-height: 22rem;
}

.glow-hcmc-site__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: contrast(1.04) saturate(0.92);
}

.glow-hcmc-site__copy {
	max-width: 32rem;
	padding-right: 0.5rem;
}

.glow-hcmc-site__copy h3 {
	font-size: clamp(1.45rem, 2.4vw, 2.1rem);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 1.2;
	max-width: 18ch;
	margin: 0 0 1rem;
}

.glow-hcmc-site__copy p {
	margin: 0;
	color: var(--text-muted);
	font-size: 1rem;
	line-height: 1.65;
}

.glow-hcmc-work-section + .glow-hcmc-work-section {
	border-top: 1px solid rgba(234, 231, 226, 0.08);
}

.glow-hcmc-works-stack {
	position: relative;
	overflow: visible;
}

.glow-hcmc-works-intro,
.glow-hcmc-work-shell {
	position: sticky;
	top: var(--header-h);
	z-index: var(--z, 1);
	margin: 0;
	padding: 0;
}

.glow-hcmc-works-intro {
	height: calc(100vh - var(--header-h));
	height: calc(100dvh - var(--header-h));
}

.glow-hcmc-work-shell {
	z-index: 2;
}

.glow-hcmc-works-intro.is-covered .glow-hcmc-works-intro__pin {
	pointer-events: none;
}

.glow-hcmc-works-intro__pin {
	position: relative;
	isolation: isolate;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--bg);
	box-shadow: 0 -1px 0 rgba(234, 231, 226, 0.06);
	will-change: opacity, transform, filter;
	transform-origin: center center;
}

.glow-hcmc-works-intro__pin::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		radial-gradient(
			ellipse 72% 58% at 50% 46%,
			rgba(140, 96, 48, 0.34) 0%,
			rgba(88, 58, 28, 0.2) 34%,
			rgba(28, 22, 14, 0.42) 58%,
			rgba(20, 18, 16, 0.9) 82%,
			var(--bg) 100%
		),
		radial-gradient(
			ellipse 90% 70% at 50% 50%,
			rgba(196, 163, 90, 0.16) 0%,
			transparent 55%
		);
}

.glow-hcmc-works-intro__inner {
	position: relative;
	z-index: 1;
	width: min(46rem, 100%);
	margin-inline: auto;
	padding: 2rem 1.25rem calc(var(--footer-h) + 1.5rem);
	box-sizing: border-box;
	text-align: center;
}

.glow-hcmc-works-intro__label {
	margin: 0 auto 1.35rem;
	font-family: var(--font-mono);
	font-size: 0.72rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--accent);
}

.glow-hcmc-works-intro__quote {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
}

.glow-hcmc-works-intro__quote p {
	margin: 0 auto;
	font-family: var(--font-display);
	font-size: clamp(1.55rem, 3.2vw, 2.45rem);
	font-weight: 400;
	letter-spacing: -0.025em;
	line-height: 1.22;
	color: var(--text);
	text-align: center;
}

.glow-kh-works-intro .glow-hcmc-works-intro__quote p {
	font-size: clamp(1.75rem, 3.8vw, 2.85rem);
	line-height: 1.24;
}

.glow-hcmc-work-section .glow-code__mast .glow-section__title {
	max-width: 16ch;
}

.glow-code-card--media-only::after {
	background: linear-gradient(
		90deg,
		rgba(0, 0, 0, 0.18) 0%,
		transparent 28%
	);
}

.glow-code-card--media-only img {
	object-position: center 42%;
}

.glow-hcmc-eco-panel {
	position: relative;
	isolation: isolate;
	min-height: calc(100vh - var(--header-h));
	min-height: calc(100dvh - var(--header-h));
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--bg);
	box-shadow: 0 -1px 0 rgba(234, 231, 226, 0.06);
}

.glow-hcmc-eco-panel::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		radial-gradient(
			ellipse 70% 55% at 50% 48%,
			rgba(140, 96, 48, 0.38) 0%,
			rgba(88, 58, 28, 0.24) 32%,
			rgba(28, 22, 14, 0.45) 58%,
			rgba(20, 18, 16, 0.88) 82%,
			var(--bg) 100%
		),
		radial-gradient(
			ellipse 90% 70% at 50% 50%,
			rgba(196, 163, 90, 0.14) 0%,
			transparent 55%
		);
}

.glow-hcmc-eco-panel__inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: min(56rem, 100%);
	margin-inline: auto;
	padding: 2rem 1.25rem calc(var(--footer-h) + 1.5rem);
	box-sizing: border-box;
	text-align: center;
}

.glow-hcmc-eco-panel__title {
	margin: 0 auto 1.25rem;
	font-family: var(--font-display);
	font-size: clamp(1.45rem, 3vw, 2.35rem);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 1.28;
	color: var(--text);
}

.glow-hcmc-eco-panel__body {
	margin: 0 auto;
	font-size: clamp(1.05rem, 1.6vw, 1.25rem);
	line-height: 1.65;
	color: rgba(234, 231, 226, 0.88);
	max-width: 56rem;
}

.glow-hcmc-wish__panel img {
	filter: contrast(1.04) saturate(0.82) brightness(0.72);
}

.glow-hcmc-wish__panel::after {
	background:
		radial-gradient(ellipse at center, rgba(0, 0, 0, 0.22) 0%, rgba(0, 0, 0, 0.52) 100%),
		rgba(0, 0, 0, 0.18);
}

.glow-hcmc-wish__stage h2 {
	max-width: 16ch;
}

.glow-hcmc-wish__cta {
	margin-top: 0.25rem;
}

.glow-kh-wish__panel img {
	filter: contrast(1.06) saturate(0.9) brightness(0.68);
}

@media (min-width: 801px) {
	.glow-kh-wish .glow-participate__stage {
		width: min(64rem, 94vw);
	}

	.glow-kh-wish .glow-participate__stage h2 {
		max-width: none;
		font-size: clamp(1.45rem, 2.4vw, 2.1rem);
		line-height: 1.42;
		letter-spacing: -0.015em;
		margin-bottom: 1.25rem;
	}

	.glow-kh-wish__line {
		display: block;
	}

	.glow-kh-wish__line + .glow-kh-wish__line {
		margin-top: 0.12em;
	}
}

.glow-hn-hero .glow-contribute {
	width: min(40rem, 100%);
	margin-inline: 0;
}

.glow-hn-hero .glow-form-thanks {
	margin-top: 1rem;
	color: rgba(234, 231, 226, 0.88);
	font-size: 0.98rem;
}

.glow-hn-hero .glow-form-thanks[hidden] {
	display: none;
}

.glow-mech-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
	margin-top: var(--space-lg);
}

.glow-mech {
	padding: 1.35rem;
	border: 1px solid var(--border);
	border-radius: 0;
	background: rgba(255, 255, 255, 0.02);
}

.glow-mech h4 {
	font-size: 1.1rem;
	margin-bottom: 0.45rem;
}

.glow-mech p {
	color: var(--text-muted);
	font-size: 0.92rem;
}

@media (max-width: 900px) {
	.glow-hcmc-site {
		grid-template-columns: 1fr;
		width: var(--container);
		padding: var(--space-xl) 0;
	}

	.glow-hcmc-site__media {
		min-height: 16rem;
		aspect-ratio: 4 / 3;
	}

	.glow-hcmc-works-intro,
	.glow-hcmc-work-shell {
		position: relative;
		top: auto;
		height: auto;
	}

	.glow-hcmc-works-intro {
		min-height: auto;
	}

	.glow-hcmc-works-intro__pin {
		height: auto;
		min-height: calc(100vh - var(--header-h));
		min-height: calc(100dvh - var(--header-h));
	}

	.glow-mech-grid {
		grid-template-columns: 1fr;
	}
}

/* Programme timeline — scroll progress + light-up */
.glow-timeline {
	position: relative;
	display: grid;
	gap: 0;
	padding-left: clamp(1.75rem, 3vw, 2.5rem);
	margin-top: var(--space-xl);
}

.glow-timeline__rail {
	position: absolute;
	left: 0;
	top: 1.2rem;
	bottom: 0;
	width: 2px;
	pointer-events: none;
}

.glow-timeline__rail-track {
	position: absolute;
	inset: 0;
	background: rgba(196, 163, 90, 0.18);
}

.glow-timeline__rail-fill {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, var(--accent) 0%, #e8d5a3 100%);
	transform-origin: top center;
	transform: scaleY(0);
	box-shadow: 0 0 18px rgba(196, 163, 90, 0.35);
	will-change: transform;
}

.glow-timeline__item {
	position: relative;
	padding: 0 0 clamp(2.5rem, 5vw, 4rem);
	opacity: 0.38;
	filter: saturate(0.45);
	transform: translateY(1.25rem);
	transition:
		opacity 0.65s var(--ease),
		filter 0.75s var(--ease),
		transform 0.75s var(--ease);
}

.glow-timeline__item:last-child {
	padding-bottom: 0;
}

.glow-timeline__item::before {
	content: '';
	position: absolute;
	left: calc(-1 * clamp(1.75rem, 3vw, 2.5rem) - 0.28rem);
	top: 1.1rem;
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 50%;
	background: rgba(196, 163, 90, 0.28);
	box-shadow: 0 0 0 4px rgba(196, 163, 90, 0.06);
	transition: background 0.45s var(--ease), box-shadow 0.55s var(--ease), transform 0.45s var(--ease);
}

.glow-timeline__item.is-lit {
	opacity: 1;
	filter: none;
	transform: none;
}

.glow-timeline__item.is-lit::before {
	background: var(--accent);
	box-shadow:
		0 0 0 5px rgba(196, 163, 90, 0.16),
		0 0 22px rgba(196, 163, 90, 0.55);
	transform: scale(1.15);
}

.glow-timeline__num {
	font-family: var(--font-display);
	font-size: clamp(4.5rem, 10vw, 7.5rem);
	font-weight: 400;
	line-height: 0.85;
	letter-spacing: -0.04em;
	margin: 0 0 1rem;
	-webkit-text-stroke: 1px rgba(196, 163, 90, 0.28);
	color: transparent;
	user-select: none;
	transition:
		color 0.55s var(--ease),
		-webkit-text-stroke-color 0.55s var(--ease),
		text-shadow 0.55s var(--ease);
}

.glow-timeline__item.is-lit .glow-timeline__num {
	color: rgba(196, 163, 90, 0.22);
	-webkit-text-stroke: 1.5px rgba(196, 163, 90, 0.75);
	text-shadow: 0 0 40px rgba(196, 163, 90, 0.2);
}

.glow-timeline__body {
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
	gap: clamp(1.25rem, 3vw, 2.75rem);
	align-items: end;
}

.glow-timeline__media {
	margin: 0;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #111;
}

.glow-timeline__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	filter: contrast(1.02) saturate(0.75) brightness(0.82);
	transform: scale(1.04);
	transition: filter 0.8s var(--ease), transform 1.1s var(--ease);
}

.glow-timeline__item.is-lit .glow-timeline__media img {
	filter: contrast(1.05) saturate(0.95) brightness(0.98);
	transform: scale(1);
}

.glow-timeline__copy {
	padding-bottom: 0.35rem;
}

#programme .glow-section__title {
	font-size: 2.5rem;
}

.glow-timeline__item h3 {
	font-family: var(--font-display);
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 1.2;
	margin: 0 0 0.75rem;
	max-width: 22ch;
	transition: color 0.45s var(--ease);
}

.glow-timeline__item p {
	color: var(--text-muted);
	margin: 0;
	font-size: 1rem;
	line-height: 1.55;
	transition: color 0.45s var(--ease);
}

.glow-timeline__item.is-lit h3 {
	color: var(--text);
}

.glow-timeline__item.is-lit p {
	color: rgba(234, 231, 226, 0.82);
}

.glow-programme__close {
	margin-top: var(--space-2xl);
	max-width: none;
	width: 100%;
	font-size: clamp(1.85rem, 4.2vw, 3.15rem);
	line-height: 1.2;
	letter-spacing: -0.025em;
}

.glow-timeline__close {
	position: relative;
	padding-bottom: 0.15rem;
	opacity: 0;
	transform: translateY(1.25rem);
	transition:
		opacity 0.75s var(--ease),
		transform 0.75s var(--ease);
}

.glow-timeline__close.is-lit {
	opacity: 1;
	transform: none;
}

.glow-timeline__close::before {
	content: '';
	position: absolute;
	left: calc(-1 * clamp(1.75rem, 3vw, 2.5rem) - 0.28rem);
	top: 0.72rem;
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 50%;
	background: var(--accent);
	box-shadow:
		0 0 0 5px rgba(196, 163, 90, 0.16),
		0 0 22px rgba(196, 163, 90, 0.55);
	transform: scale(0.55);
	opacity: 0;
	transition:
		opacity 0.45s var(--ease),
		transform 0.55s var(--ease),
		box-shadow 0.55s var(--ease);
}

.glow-timeline__close.is-lit::before {
	opacity: 1;
	transform: scale(1);
}

@media (max-width: 800px) {
	.glow-timeline__body {
		grid-template-columns: 1fr;
		gap: 1.15rem;
	}

	.glow-timeline__media {
		aspect-ratio: 16 / 10;
	}

	.glow-timeline__num {
		font-size: clamp(3.5rem, 18vw, 5rem);
	}
}

@media (prefers-reduced-motion: reduce) {
	.glow-timeline__item {
		opacity: 1;
		filter: none;
		transform: none;
		transition: none;
	}

	.glow-timeline__close {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.glow-timeline__close::before {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.glow-timeline__rail-fill {
		transform: scaleY(1);
	}

	.glow-timeline__media img {
		transform: none;
		filter: contrast(1.04) saturate(0.9);
	}
}

/* Participate — full viewport */
.glow-participate-section {
	padding: 0;
	background: var(--bg-elevated);
}

.glow-participate {
	border-radius: 0;
	overflow: hidden;
	isolation: isolate;
	min-height: 100vh;
	min-height: 100dvh;
	display: grid;
	place-items: center;
	text-align: center;
	padding: calc(var(--header-h) + 2rem) 1.5rem calc(var(--footer-h) + 2rem);
	position: relative;
	box-sizing: border-box;
}

.glow-participate img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -2;
	filter: contrast(1.04) saturate(0.88) brightness(0.92);
}

.glow-participate::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		radial-gradient(ellipse at center, rgba(0, 0, 0, 0.22) 0%, rgba(0, 0, 0, 0.52) 100%),
		rgba(0, 0, 0, 0.18);
}

.glow-participate__stage,
.glow-participate__thanks {
	position: relative;
	z-index: 1;
	margin-inline: auto;
}

.glow-plate--center {
	justify-content: center;
}

.glow-participate h2 {
	font-family: var(--font-display);
	font-size: clamp(2rem, 4.5vw, 3.15rem);
	font-weight: 400;
	letter-spacing: -0.025em;
	line-height: 1.12;
	max-width: 14ch;
	margin: 0 auto 1rem;
}

.glow-participate__lead {
	max-width: 48rem;
	margin: 0 auto 1.75rem;
	color: rgba(234, 231, 226, 0.9);
	font-size: 1.02rem;
	line-height: 1.55;
}

.glow-contribute {
	display: flex;
	width: min(40rem, 100%);
	margin-inline: auto;
	gap: 0.4rem;
	padding: 0.35rem;
	border: 1px solid rgba(234, 231, 226, 0.28);
	border-radius: 0;
	background: rgba(0, 0, 0, 0.4);
	backdrop-filter: blur(8px);
}

.glow-contribute input {
	flex: 1;
	min-width: 0;
	border: 0;
	background: transparent;
	color: var(--text);
	padding: 0.75rem 1rem;
	outline: none;
	font-family: var(--font-body);
	font-size: 0.98rem;
}

.glow-contribute input::placeholder {
	color: var(--text-muted);
}

.glow-participate__thanks {
	opacity: 0;
	transform: translateY(0.75rem);
	pointer-events: none;
}

.glow-participate__thanks[hidden] {
	display: none;
}

.glow-participate.is-submitted .glow-participate__thanks {
	display: block;
	opacity: 1;
	transform: none;
	pointer-events: auto;
	animation: glow-ritual-in 0.9s var(--ease) both;
}

.glow-participate__thanks-quote {
	font-size: clamp(1.65rem, 3.5vw, 2.55rem);
	max-width: 16ch;
	margin: 0 auto 1.15rem;
	line-height: 1.2;
}

.glow-participate__thanks-note {
	max-width: 28rem;
	margin: 0 auto;
	color: rgba(234, 231, 226, 0.72);
	font-size: 0.98rem;
	line-height: 1.5;
}

@keyframes glow-ritual-in {
	from {
		opacity: 0;
		transform: translateY(1rem);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@media (max-width: 640px) {
	.glow-contribute {
		flex-direction: column;
	}

	.glow-contribute .glow-btn {
		width: 100%;
	}
}

/* Impact — full-viewport live dashboard */
.glow-impact {
	background: var(--bg-elevated);
	padding: 0;
}

.glow-impact__stage {
	min-height: 100vh;
	min-height: 100dvh;
	display: grid;
	align-items: center;
	padding: calc(var(--header-h) + 2rem) 0 calc(var(--footer-h) + 2rem);
	box-sizing: border-box;
}

.glow-impact__inner {
	width: var(--container);
	margin-inline: auto;
}

.glow-impact__head {
	margin-bottom: clamp(2.5rem, 6vh, 4rem);
}

.glow-impact__head .glow-section__title {
	font-size: clamp(2.2rem, 5vw, 3.75rem);
	font-weight: 400;
	letter-spacing: -0.025em;
	max-width: 14ch;
	line-height: 1.1;
	margin: 0;
}

.glow-impact__live {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	font-family: var(--font-mono);
	font-size: 0.7rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--accent);
	margin-bottom: 1rem;
}

.glow-impact__live::before {
	content: '';
	width: 0.45rem;
	height: 0.45rem;
	border-radius: 50%;
	background: var(--accent);
	box-shadow: 0 0 0 0 rgba(196, 163, 90, 0.5);
	animation: glow-pulse 1.8s infinite;
}

@keyframes glow-pulse {
	70% {
		box-shadow: 0 0 0 0.55rem rgba(196, 163, 90, 0);
	}
}

.glow-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(2rem, 4vw, 3.5rem) clamp(1.5rem, 3vw, 2.75rem);
	margin: 0;
	padding: 0;
	border: 0;
}

.glow-stat {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 0.65rem;
	padding: 0;
	box-sizing: border-box;
	border: 0;
	min-width: 0;
}

.glow-stat__value {
	font-family: var(--font-display);
	font-size: clamp(2rem, 4.5vw, 3.75rem);
	font-weight: 400;
	letter-spacing: -0.035em;
	color: var(--accent);
	line-height: 0.95;
	margin: 0;
}

.glow-stat__label {
	color: rgba(234, 231, 226, 0.78);
	font-size: clamp(0.82rem, 1.1vw, 0.95rem);
	line-height: 1.35;
	max-width: none;
	white-space: nowrap;
}

@media (max-width: 800px) {
	.glow-stats {
		grid-template-columns: repeat(2, 1fr);
		gap: 2rem 1.5rem;
	}

	.glow-impact__head .glow-section__title {
		max-width: 12ch;
	}
}

@media (max-width: 520px) {
	.glow-stat__value {
		font-size: clamp(1.85rem, 10vw, 2.5rem);
	}
}

/* Journal teaser — magazine spread */
.glow-journal-teaser {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
}

.glow-journal-teaser__copy .glow-section__title {
	font-size: clamp(2.1rem, 4.2vw, 3.25rem);
	font-weight: 400;
	letter-spacing: -0.025em;
	max-width: 12ch;
	line-height: 1.12;
	margin-bottom: 1.15rem;
}

.glow-journal-teaser__copy .glow-lede {
	max-width: 34rem;
	margin-bottom: 1.75rem;
	color: rgba(234, 231, 226, 0.82);
}

.glow-journal-pillars {
	list-style: none;
	margin: 0 0 2rem;
	padding: 0;
	display: grid;
	gap: 1rem;
	max-width: 34rem;
}

.glow-journal-pillars li {
	display: grid;
	gap: 0.2rem;
	padding-top: 0.85rem;
	border-top: 1px solid rgba(234, 231, 226, 0.12);
	font-size: 0.95rem;
	line-height: 1.45;
	color: var(--text-muted);
}

.glow-journal-pillars__name {
	font-family: var(--font-mono);
	font-size: 0.68rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--accent);
}

.glow-journal-teaser__media {
	display: grid;
	gap: 0;
	border: 1px solid rgba(234, 231, 226, 0.14);
	overflow: hidden;
}

.glow-journal-teaser__media figure {
	margin: 0;
	overflow: hidden;
}

.glow-journal-teaser__media img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	display: block;
	filter: contrast(1.04) saturate(0.92);
}

.glow-journal-teaser .glow-cta-row {
	margin-top: 0;
}

@media (max-width: 900px) {
	.glow-journal-teaser {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.glow-journal-teaser__media {
		order: -1;
	}

	.glow-journal-teaser__copy .glow-section__title {
		max-width: 14ch;
	}
}

/* People — portrait grid · scroll reveals lần lượt */
.glow-people-section {
	background:
		radial-gradient(ellipse at 50% 0%, rgba(196, 163, 90, 0.05), transparent 45%),
		var(--bg);
	padding: 0;
	overflow: visible;
}

.glow-people-pin {
	position: relative;
	height: 220vh;
	height: 220dvh;
}

.glow-people-sticky {
	position: sticky;
	top: var(--header-h);
	z-index: 2;
	min-height: calc(100vh - var(--header-h));
	min-height: calc(100dvh - var(--header-h));
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 2rem 0 calc(var(--footer-h) + 2rem);
}

.glow-people__head {
	margin-bottom: 0;
}

#people .glow-section__title {
	font-size: 2.5rem;
}

.glow-people-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: clamp(1rem, 2vw, 1.5rem);
	margin-top: var(--space-xl);
}

.glow-people__head,
.glow-person {
	opacity: 0;
	transform: translate3d(0, 1.5rem, 0);
	filter: blur(4px);
	transition:
		opacity 0.7s var(--ease),
		transform 0.75s var(--ease),
		filter 0.75s var(--ease);
}

.glow-people__head.is-lit,
.glow-person.is-lit {
	opacity: 1;
	transform: none;
	filter: none;
}

.glow-person {
	text-align: left;
	min-width: 0;
}

.glow-person__photo {
	position: relative;
	aspect-ratio: 3 / 4;
	margin: 0 0 0.9rem;
	overflow: hidden;
	border: 1px solid rgba(234, 231, 226, 0.14);
	background:
		radial-gradient(ellipse at 50% 35%, rgba(234, 231, 226, 0.06), transparent 55%),
		linear-gradient(180deg, #1a1a1a 0%, #101010 100%);
	filter: grayscale(1);
	transition: border-color 0.4s var(--ease), filter 0.7s var(--ease);
}

.glow-person:hover .glow-person__photo,
.glow-person:focus-within .glow-person__photo {
	border-color: rgba(196, 163, 90, 0.28);
	filter: grayscale(0.35);
}

.glow-person__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	filter: grayscale(1) contrast(1.06) brightness(0.92);
	transition: filter 0.7s var(--ease), transform 1.2s var(--ease);
}

.glow-person__slot {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	font-family: var(--font-mono);
	font-size: 0.62rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(234, 231, 226, 0.28);
}

.glow-person:hover .glow-person__photo img,
.glow-person:focus-within .glow-person__photo img {
	filter: grayscale(0.2) contrast(1.04) brightness(0.96);
	transform: scale(1.02);
}

.glow-person__role {
	font-family: var(--font-mono);
	font-size: 0.62rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--accent);
	margin: 0 0 0.4rem;
}

.glow-person h3 {
	font-family: var(--font-display);
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: -0.015em;
	line-height: 1.25;
	margin: 0;
}

.glow-person__bio {
	margin: 0.5rem 0 0;
	font-size: 0.75rem;
	line-height: 1.55;
	color: var(--text-muted);
	max-width: none;
}

@media (max-width: 1000px) {
	.glow-people-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 900px) {
	.glow-people-pin {
		height: auto;
	}

	.glow-people-sticky {
		position: relative;
		top: auto;
		min-height: 0;
		padding: calc(var(--header-h) + var(--space-xl)) 0 calc(var(--footer-h) + var(--space-xl));
	}

	.glow-people__head,
	.glow-person {
		opacity: 1;
		transform: none;
		filter: none;
	}
}

@media (max-width: 640px) {
	.glow-people-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (prefers-reduced-motion: reduce) {
	.glow-people-pin {
		height: auto;
	}

	.glow-people-sticky {
		position: relative;
		top: auto;
		min-height: 0;
	}

	.glow-people__head,
	.glow-person {
		opacity: 1;
		transform: none;
		filter: none;
		transition: none;
	}
}

/* Partners — scroll reveal · nhóm tài trợ theo tier */
.glow-partners-section {
	background:
		radial-gradient(ellipse at 20% 0%, rgba(196, 163, 90, 0.04), transparent 40%),
		var(--bg);
	padding: 0;
	overflow: visible;
}

.glow-partners-pin {
	position: relative;
	height: 240vh;
	height: 240dvh;
}

.glow-partners-sticky {
	position: sticky;
	top: var(--header-h);
	z-index: 2;
	min-height: calc(100vh - var(--header-h));
	min-height: calc(100dvh - var(--header-h));
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 2rem 0 calc(var(--footer-h) + 2rem);
}

.glow-partners__head {
	margin-bottom: var(--space-lg);
}

.glow-partners__body {
	max-width: 42rem;
	margin: 1rem 0 0;
	font-size: 1rem;
	line-height: 1.6;
	color: var(--text-muted);
}

#partners .glow-section__title {
	font-size: 2.5rem;
}

.glow-partners-tiers {
	display: grid;
	gap: clamp(1.25rem, 2.5vh, 1.75rem);
}

.glow-partner-tier {
	margin-bottom: 0;
}

.glow-partners__head,
.glow-partner-tier {
	opacity: 0;
	transform: translate3d(0, 1.35rem, 0);
	filter: blur(4px);
	transition:
		opacity 0.7s var(--ease),
		transform 0.75s var(--ease),
		filter 0.75s var(--ease);
}

.glow-partners__head.is-lit,
.glow-partner-tier.is-lit {
	opacity: 1;
	transform: none;
	filter: none;
}

.glow-partner-tier h3 {
	font-family: var(--font-body);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--text-muted);
	margin: 0 0 1rem;
}

.glow-logo-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 0.75rem;
}

.glow-logo-slot {
	display: grid;
	place-items: center;
	min-height: 5rem;
	border: 1px solid var(--border);
	border-radius: 0.75rem;
	color: var(--text-muted);
	font-size: 0.85rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	background: rgba(255, 255, 255, 0.02);
}

@media (max-width: 900px) {
	.glow-partners-pin {
		height: auto;
	}

	.glow-partners-sticky {
		position: relative;
		top: auto;
		min-height: 0;
		padding: calc(var(--header-h) + var(--space-xl)) 0 calc(var(--footer-h) + var(--space-xl));
	}

	.glow-partners__head,
	.glow-partner-tier {
		opacity: 1;
		transform: none;
		filter: none;
	}

	.glow-logo-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 560px) {
	.glow-logo-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (prefers-reduced-motion: reduce) {
	.glow-partners-pin {
		height: auto;
	}

	.glow-partners-sticky {
		position: relative;
		top: auto;
		min-height: 0;
	}

	.glow-partners__head,
	.glow-partner-tier {
		opacity: 1;
		transform: none;
		filter: none;
		transition: none;
	}
}

/* Contact — film end-credits on artwork */
.glow-contact-section {
	background: var(--bg);
}

.glow-contact-stage {
	position: relative;
	min-height: 100vh;
	min-height: 100dvh;
	isolation: isolate;
	overflow: hidden;
	display: grid;
	place-items: center;
	padding: calc(var(--header-h) + 2.5rem) 1.5rem calc(var(--footer-h) + 2.25rem);
	box-sizing: border-box;
}

.glow-contact-stage__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.glow-contact-stage__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 68% center;
	filter: contrast(1.04) saturate(0.85) brightness(0.62);
	transform: scale(1.02);
}

.glow-contact-stage__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: rgba(8, 7, 6, 0.78);
}

.glow-contact-stage__panel {
	position: relative;
	z-index: 2;
	width: min(56rem, 100%);
	text-align: center;
	margin-inline: auto;
}

.glow-credits {
	display: grid;
	gap: 0;
}

.glow-credits__block {
	display: grid;
	gap: 1.5rem;
	justify-items: center;
}

.glow-credits__block--lead {
	gap: 0.85rem;
	padding-bottom: 2.5rem;
	margin-bottom: 0.5rem;
	border-bottom: 1px solid rgba(196, 163, 90, 0.35);
}

.glow-credits__chapter {
	width: 100%;
	padding: 2.75rem 1.25rem 2.85rem;
	box-sizing: border-box;
}

/* Clear chapter break: Creative Direction ↔ Offices */
.glow-credits__chapter + .glow-credits__chapter {
	position: relative;
	margin-top: 1.75rem;
	padding: 3.25rem 1.5rem 3rem;
	border-top: none;
	background: rgba(0, 0, 0, 0.18);
	box-shadow: inset 0 0 0 1px rgba(196, 163, 90, 0.14);
}

.glow-credits__chapter + .glow-credits__chapter::before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	width: min(12rem, 42%);
	height: 1px;
	transform: translate(-50%, -50%);
	background: linear-gradient(
		90deg,
		transparent 0%,
		rgba(196, 163, 90, 0.55) 22%,
		rgba(196, 163, 90, 0.9) 50%,
		rgba(196, 163, 90, 0.55) 78%,
		transparent 100%
	);
}

.glow-credits__heading {
	margin: 0;
	font-family: var(--font-mono);
	font-size: 0.68rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--accent);
}

.glow-credits__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1.65rem;
	width: 100%;
}

.glow-credits__list--row {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem 1.5rem;
	align-items: start;
}

.glow-credits__item {
	display: grid;
	gap: 0.35rem;
	justify-items: center;
}

.glow-credits__list--row .glow-credits__item {
	position: relative;
	padding-inline: 0.5rem;
}

.glow-credits__list--row .glow-credits__item:not(:last-child)::after {
	content: '';
	position: absolute;
	top: 0.35rem;
	right: -0.75rem;
	width: 1px;
	height: 2.25rem;
	background: rgba(196, 163, 90, 0.28);
}

.glow-credits__role {
	margin: 0;
	font-family: var(--font-mono);
	font-size: 0.68rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(196, 163, 90, 0.9);
}

.glow-credits__name {
	margin: 0;
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 1.15;
	color: var(--text);
}

.glow-credits__name--hero {
	font-size: clamp(2.4rem, 5.5vw, 3.75rem);
	letter-spacing: -0.03em;
	line-height: 1.02;
}

.glow-credits__meta {
	margin: 0;
	font-family: var(--font-mono);
	font-size: 0.75rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(234, 231, 226, 0.62);
}

.glow-contact__offices {
	margin: 0;
	width: 100%;
}

.glow-contact__city {
	font-size: 1.5rem;
}

.glow-contact__address {
	margin: 0;
	max-width: 20ch;
	font-family: var(--font-mono);
	font-size: 0.75rem;
	letter-spacing: 0.04em;
	line-height: 1.55;
	color: rgba(234, 231, 226, 0.72);
}

.glow-contact__links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.85rem 1.75rem;
	margin-top: 2.25rem;
}

.glow-contact__links a {
	font-family: var(--font-mono);
	font-size: 0.66rem;
	letter-spacing: 0.06em;
	text-transform: lowercase;
	color: var(--accent);
	text-decoration: none;
	border-bottom: 1px solid rgba(196, 163, 90, 0.3);
	padding-bottom: 0.15rem;
	transition: border-color 0.3s var(--ease), color 0.3s var(--ease);
}

.glow-contact__links a:hover {
	color: var(--text);
	border-color: rgba(234, 231, 226, 0.65);
}

@media (max-width: 900px) {
	.glow-credits__list--row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.5rem 1rem;
	}

	.glow-credits__list--row .glow-credits__item:not(:last-child)::after {
		display: none;
	}
}

@media (max-width: 640px) {
	.glow-contact-stage {
		min-height: auto;
		padding-top: calc(var(--header-h) + 2rem);
		padding-bottom: calc(var(--footer-h) + 1.75rem);
	}

	.glow-credits {
		gap: 0;
	}

	.glow-credits__chapter {
		padding: 2rem 0 2.25rem;
	}

	.glow-credits__chapter + .glow-credits__chapter {
		margin-top: 0.35rem;
		padding-top: 2.25rem;
	}

	.glow-credits__list--row {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}

	.glow-contact__links {
		gap: 0.7rem 1.15rem;
	}
}

/* Journal pages */
.glow-page-hero {
	padding: calc(var(--header-h) + 3rem) 0 var(--space-xl);
}

.glow-page-hero h1 {
	font-size: clamp(2.5rem, 6vw, 4rem);
	font-weight: 400;
	letter-spacing: -0.03em;
	max-width: 12ch;
}

.glow-journal-list {
	display: grid;
	gap: 0;
	padding-bottom: var(--space-3xl);
}

.glow-journal-item {
	display: grid;
	grid-template-columns: 10rem 7.5rem 1fr;
	gap: 1.25rem 1.5rem;
	padding: 2rem 0;
	border-top: 1px solid var(--border);
	align-items: start;
}

.glow-journal-item:last-child {
	border-bottom: 1px solid var(--border);
}

.glow-journal-item__cat {
	font-family: var(--font-mono);
	font-size: 0.68rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--accent);
	padding-top: 0.2rem;
}

.glow-journal-item__media {
	display: block;
	overflow: hidden;
	border: 1px solid rgba(234, 231, 226, 0.12);
	aspect-ratio: 4 / 3;
	background: var(--bg-soft);
	line-height: 0;
}

.glow-journal-item__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	filter: grayscale(0.25) contrast(1.04) brightness(0.92);
	transition:
		filter 0.45s var(--ease),
		transform 0.7s var(--ease);
}

.glow-journal-item:hover .glow-journal-item__media img,
.glow-journal-item:focus-within .glow-journal-item__media img {
	filter: grayscale(0) contrast(1.05) brightness(0.98);
	transform: scale(1.04);
}

.glow-journal-item__body {
	display: grid;
	gap: 0.45rem;
	min-width: 0;
	padding-top: 0.05rem;
}

.glow-journal-item h2 {
	font-size: clamp(1.45rem, 2.6vw, 2rem);
	font-weight: 400;
	letter-spacing: -0.02em;
	margin: 0;
	max-width: 22ch;
}

.glow-journal-item h2 a:hover {
	color: var(--accent);
}

.glow-journal-item p {
	color: var(--text-muted);
	max-width: 40rem;
	margin: 0;
	line-height: 1.55;
}

.glow-article {
	padding-bottom: var(--space-3xl);
}

.glow-article__meta {
	font-size: 0.75rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--accent);
	margin-bottom: 1rem;
}

.glow-article h1 {
	font-size: clamp(2.2rem, 5vw, 3.5rem);
	font-weight: 400;
	letter-spacing: -0.03em;
	max-width: 16ch;
	margin-bottom: 1.5rem;
}

.glow-article__figure {
	margin: 0 0 var(--space-xl);
	border-radius: 0;
	overflow: hidden;
	border: 1px solid rgba(234, 231, 226, 0.12);
}

.glow-article__figure img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.glow-article__body {
	max-width: 40rem;
	font-size: 1.125rem;
	line-height: 1.75;
}

.glow-article__body p {
	margin-bottom: 1.25rem;
	color: rgba(234, 231, 226, 0.9);
}

@media (max-width: 640px) {
	.glow-journal-item {
		grid-template-columns: 5.5rem 1fr;
		grid-template-areas:
			'cat cat'
			'media body';
		gap: 0.75rem 1rem;
		align-items: start;
	}

	.glow-journal-item__cat {
		grid-area: cat;
	}

	.glow-journal-item__media {
		grid-area: media;
	}

	.glow-journal-item__body {
		grid-area: body;
	}
}

/* Hanoi teaser */
.glow-hanoi {
	min-height: 60vh;
	display: flex;
	align-items: flex-end;
}

.glow-hanoi__content {
	padding-bottom: var(--space-2xl);
}

.glow-subscribe {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 1.25rem;
	max-width: 28rem;
}

.glow-subscribe input {
	flex: 1;
	min-width: 12rem;
	background: rgba(0, 0, 0, 0.35);
	border: 1px solid var(--border);
	border-radius: var(--radius-pill);
	padding: 0.7rem 1rem;
	color: var(--text);
}
