/* Art academy / exhibition language */

/* Film grain + soft vignette over the whole site */
body::before {
	content: '';
	position: fixed;
	inset: 0;
	z-index: 90;
	pointer-events: none;
	opacity: 0.055;
	mix-blend-mode: overlay;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

body::after {
	content: '';
	position: fixed;
	inset: 0;
	z-index: 89;
	pointer-events: none;
	background: radial-gradient(ellipse at center, transparent 40%, rgba(0, 0, 0, 0.15) 100%);
}

/* Scroll progress — thin gold rule */
.glow-progress {
	position: fixed;
	top: 0;
	left: 0;
	height: 2px;
	width: 0%;
	z-index: 120;
	background: linear-gradient(90deg, transparent, var(--accent), #e8d5a3);
	pointer-events: none;
	transform-origin: left center;
}

/* Chapter rail — removed */

/* Exhibition plate / museum caption */
.glow-plate {
	display: inline-flex;
	align-items: baseline;
	gap: 0.65rem;
	font-family: var(--font-mono);
	font-size: 0.68rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--accent);
	margin-bottom: 1.15rem;
}

.glow-plate__rule {
	display: inline-block;
	width: 2.5rem;
	height: 1px;
	background: var(--accent);
	opacity: 0.7;
	transform: translateY(-0.2em);
}

.glow-caption {
	font-family: var(--font-mono);
	font-size: 0.68rem;
	letter-spacing: 0.08em;
	color: var(--text-muted);
	margin-top: 0.65rem;
	max-width: 28rem;
}

.glow-caption em {
	font-style: italic;
	color: rgba(234, 231, 226, 0.55);
}

/* Section index number — oversized editorial */
.glow-index {
	font-family: var(--font-display);
	font-weight: 400;
	font-size: clamp(calc(5rem * var(--title-scale)), calc(14vw * var(--title-scale)), calc(11rem * var(--title-scale)));
	line-height: 0.8;
	color: transparent;
	-webkit-text-stroke: 1px rgba(196, 163, 90, 0.35);
	letter-spacing: -0.04em;
	pointer-events: none;
	user-select: none;
}

.glow-section__head--editorial {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 1.5rem 2rem;
	align-items: end;
	max-width: none;
	margin-bottom: var(--space-2xl);
	padding-bottom: var(--space-lg);
	border-bottom: 1px solid var(--border);
}

.glow-section__head--editorial .glow-section__title {
	max-width: 16ch;
	font-size: clamp(calc(2.2rem * var(--title-scale)), calc(5vw * var(--title-scale)), calc(3.75rem * var(--title-scale)));
	font-weight: 400;
	letter-spacing: -0.02em;
	text-shadow: 0 0 48px rgba(196, 163, 90, 0.12);
}

.glow-section__head--editorial .glow-lede {
	grid-column: 2;
	max-width: 34rem;
}

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

	.glow-section__head--editorial .glow-index {
		font-size: 4.5rem;
	}

	.glow-section__head--editorial .glow-lede {
		grid-column: 1;
	}
}

/* Pull quote with hanging mark */
.glow-quote {
	position: relative;
	font-weight: 400;
	letter-spacing: -0.02em;
	font-variation-settings: 'SOFT' 50, 'WONK' 0.5;
}

.glow-quote::before {
	content: '“';
	position: absolute;
	left: -0.35em;
	top: -0.15em;
	font-size: 1.35em;
	color: var(--accent);
	opacity: 0.55;
	font-family: var(--font-display);
	line-height: 1;
}

/* Gallery frame — less “card app”, more exhibition */
.glow-frame {
	position: relative;
	isolation: isolate;
}

.glow-frame::after {
	content: '';
	position: absolute;
	inset: 0;
	border: 1px solid rgba(234, 231, 226, 0.12);
	pointer-events: none;
	z-index: 2;
	mix-blend-mode: soft-light;
}

.glow-card {
	background: transparent;
	border-radius: 0;
	border: 1px solid var(--border);
}

.glow-card__media {
	border-radius: 0;
	position: relative;
	overflow: hidden;
}

.glow-card__media::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 55%, rgba(0, 0, 0, 0.45));
	opacity: 0;
	transition: opacity 0.6s var(--ease);
}

.glow-card:hover .glow-card__media::after {
	opacity: 1;
}

.glow-card__body {
	padding: 1.5rem 0 0;
	border-top: 0;
}

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

/* Hero art direction */
.glow-hero__slides img {
	transform: scale(1.08);
	animation: glow-kenburns 22s var(--ease) infinite alternate;
}

.glow-hero__slide:nth-child(2) img {
	animation-delay: -6s;
}

.glow-hero__slide:nth-child(3) img {
	animation-delay: -12s;
}

.glow-hero__slide:nth-child(4) img {
	animation-delay: -18s;
}

@keyframes glow-kenburns {
	from {
		transform: scale(1.05) translate3d(0, 0, 0);
	}
	to {
		transform: scale(1.14) translate3d(-1.5%, -1%, 0);
	}
}

.glow-hero__brand {
	letter-spacing: -0.03em;
	font-weight: 400;
	text-shadow:
		0 0 80px rgba(196, 163, 90, 0.18),
		0 0 24px rgba(232, 213, 163, 0.08);
}

.glow-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.5rem;
	margin-top: 1.75rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(234, 231, 226, 0.18);
	font-family: var(--font-mono);
	font-size: 0.68rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(234, 231, 226, 0.55);
}

.glow-hero__scroll {
	display: none;
}

.glow-hero__scroll-line {
	display: none;
}

/* Fullbleed cinematic grade — keep photo readable under type */
.glow-fullbleed__media img,
.glow-hero__slide img {
	filter: contrast(1.04) saturate(0.94);
}

/* Crossing — monumental quote over the image */
.glow-crossing .glow-quote {
	font-size: clamp(calc(1.75rem * var(--title-scale)), calc(4vw * var(--title-scale)), calc(2.85rem * var(--title-scale)));
	max-width: 16ch;
	line-height: 1.22;
	text-shadow: 0 0 40px rgba(196, 163, 90, 0.1);
}

@media (min-width: 801px) {
	.glow-crossing .glow-quote {
		max-width: none;
	}
}

/* Pillars — outline catalogue numbers */
.glow-pillar__num {
	-webkit-text-stroke: 1px rgba(196, 163, 90, 0.65);
	color: transparent;
	font-weight: 400;
}

/* Edition cards — base in sections.css (journey) */
.glow-work__media {
	position: relative;
}

.glow-work__media img {
	border-radius: 0;
	filter: contrast(1.04) saturate(0.9);
}

.glow-diptych-label {
	display: flex;
	justify-content: space-between;
	margin-top: 0.5rem;
	font-family: var(--font-mono);
	font-size: 0.62rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--text-muted);
}

/* Timeline numbers styled in sections.css — programme layer */

/* Participate — full-bleed (see sections.css) */

.glow-btn {
	border-radius: 0;
	letter-spacing: 0.16em;
}

.glow-newsletter input,
.glow-subscribe input {
	border-radius: 0;
}

/* People — Biennale plates (see sections.css) */

.glow-logo-slot {
	border-radius: 0;
}

.glow-journal-teaser__media,
.glow-article__figure {
	border-radius: 0;
	border: 1px solid var(--border);
}

/* Ambient light wash on elevated sections */
.glow-section--elevated {
	background:
		radial-gradient(ellipse at 80% 0%, rgba(196, 163, 90, 0.08), transparent 45%),
		radial-gradient(ellipse at 20% 100%, var(--glow-warm), transparent 50%),
		var(--bg-elevated);
}

.glow-impact {
	background:
		radial-gradient(ellipse at 20% 30%, rgba(196, 163, 90, 0.12), transparent 40%),
		radial-gradient(ellipse at 80% 70%, var(--glow-warm), transparent 45%),
		var(--bg-elevated);
}

.glow-stat__value {
	font-weight: 400;
	letter-spacing: -0.03em;
	text-shadow: 0 0 48px rgba(196, 163, 90, 0.22);
}

/* Richer reveal choreography */
[data-reveal] {
	opacity: 0;
	transform: translateY(2rem);
	filter: blur(4px);
	transition:
		opacity 0.9s var(--ease),
		transform 0.9s var(--ease),
		filter 0.9s var(--ease);
}

[data-reveal].is-revealed {
	opacity: 1;
	transform: none;
	filter: none;
}

[data-reveal-stagger] > * {
	opacity: 0;
	transform: translateY(1.5rem);
	transition:
		opacity 0.75s var(--ease),
		transform 0.75s var(--ease);
}

[data-reveal-stagger].is-revealed > *:nth-child(1) {
	transition-delay: 0.05s;
}
[data-reveal-stagger].is-revealed > *:nth-child(2) {
	transition-delay: 0.15s;
}
[data-reveal-stagger].is-revealed > *:nth-child(3) {
	transition-delay: 0.25s;
}
[data-reveal-stagger].is-revealed > *:nth-child(4) {
	transition-delay: 0.35s;
}
[data-reveal-stagger].is-revealed > *:nth-child(5) {
	transition-delay: 0.45s;
}
[data-reveal-stagger].is-revealed > *:nth-child(6) {
	transition-delay: 0.55s;
}

[data-reveal-stagger].is-revealed > * {
	opacity: 1;
	transform: none;
}

/* Soft light cursor wash — subtle, not neon */
.glow-cursor-light {
	position: fixed;
	width: 44vmax;
	height: 44vmax;
	border-radius: 50%;
	pointer-events: none;
	z-index: 1;
	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%);
	transform: translate(-50%, -50%);
	opacity: 0;
	transition: opacity 0.6s var(--ease);
	mix-blend-mode: screen;
}

@media (hover: hover) and (pointer: fine) {
	.glow-cursor-light.is-on {
		opacity: 0.92;
	}
}

@media (prefers-reduced-motion: reduce) {
	.glow-hero__slides img,
	.glow-hero__scroll-line,
	[data-reveal],
	[data-reveal-stagger] > * {
		animation: none !important;
		transition: none !important;
		filter: none !important;
		opacity: 1 !important;
		transform: none !important;
	}

	.glow-cursor-light {
		display: none;
	}
}

/* Title / display typography — scaled by --title-scale; body & lede unchanged */
.glow-section__title {
	font-size: clamp(calc(2rem * var(--title-scale)), calc(4vw * var(--title-scale)), calc(3.25rem * var(--title-scale)));
	text-shadow: 0 0 40px rgba(196, 163, 90, 0.1);
}

.glow-quote {
	font-size: clamp(calc(1.5rem * var(--title-scale)), calc(3.2vw * var(--title-scale)), calc(2.35rem * var(--title-scale)));
}

.glow-home-hook .glow-quote {
	max-width: 32ch;
}

.glow-positioning-hero .glow-hero__brand {
	font-size: clamp(calc(1.85rem * var(--title-scale)), calc(4vw * var(--title-scale)), calc(3rem * var(--title-scale)));
}

.glow-positioning-panel__lead {
	font-size: clamp(calc(1.45rem * var(--title-scale)), calc(3vw * var(--title-scale)), calc(2.35rem * var(--title-scale)));
}

.glow-positioning__mark {
	font-size: clamp(calc(3.5rem * var(--title-scale)), calc(8vw * var(--title-scale)), calc(5.5rem * var(--title-scale)));
}

.glow-positioning__quote p {
	font-size: clamp(calc(1.85rem * var(--title-scale)), calc(4vw * var(--title-scale)), calc(2.85rem * var(--title-scale)));
}

.glow-hero__brand {
	font-size: clamp(calc(2.75rem * var(--title-scale)), calc(7vw * var(--title-scale)), calc(4.75rem * var(--title-scale)));
}

.glow-hero__headline {
	font-size: clamp(calc(1.25rem * var(--title-scale)), calc(2.4vw * var(--title-scale)), calc(1.75rem * var(--title-scale)));
}

.glow-why__head .glow-section__title {
	font-size: 2rem;
}

.glow-pillar__num {
	font-size: clamp(calc(3.75rem * var(--title-scale)), calc(7vw * var(--title-scale)), calc(6.25rem * var(--title-scale)));
}

.glow-pillar h3 {
	font-size: 2rem;
}

.glow-code-card__num {
	font-size: clamp(calc(4.5rem * var(--title-scale)), calc(10vw * var(--title-scale)), calc(8rem * var(--title-scale)));
}

.glow-code-card h3 {
	font-size: clamp(calc(1.45rem * var(--title-scale)), calc(2.6vw * var(--title-scale)), calc(2.2rem * var(--title-scale)));
}

.glow-code__mast .glow-section__title {
	font-size: clamp(calc(1.35rem * var(--title-scale)), calc(1.8vw * var(--title-scale)), calc(1.85rem * var(--title-scale)));
}

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

.glow-edition-card__num {
	font-size: clamp(calc(3.5rem * var(--title-scale)), calc(7vw * var(--title-scale)), calc(5.75rem * var(--title-scale)));
}

.glow-edition-card h3 {
	font-size: 2rem;
}

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

.glow-apart-ch h3 {
	font-size: 2rem;
}

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

.glow-apart-ch__mantra {
	font-size: clamp(calc(1rem * var(--title-scale)), calc(1.5vw * var(--title-scale)), calc(1.2rem * var(--title-scale)));
}

.glow-hcmc-site__copy h3 {
	font-size: clamp(calc(1.45rem * var(--title-scale)), calc(2.4vw * var(--title-scale)), calc(2.1rem * var(--title-scale)));
}

.glow-hcmc-works-intro__quote p {
	font-size: clamp(calc(1.55rem * var(--title-scale)), calc(3.2vw * var(--title-scale)), calc(2.45rem * var(--title-scale)));
}

.glow-kh-works-intro .glow-hcmc-works-intro__quote p {
	font-size: clamp(calc(1.75rem * var(--title-scale)), calc(3.8vw * var(--title-scale)), calc(2.85rem * var(--title-scale)));
}

.glow-work__body h3 {
	font-size: clamp(calc(1.5rem * var(--title-scale)), calc(3vw * var(--title-scale)), calc(2.1rem * var(--title-scale)));
}

.glow-hcmc-eco h3 {
	font-size: clamp(calc(1.35rem * var(--title-scale)), calc(2.2vw * var(--title-scale)), calc(1.85rem * var(--title-scale)));
}

.glow-hcmc-cta__prompt {
	font-size: clamp(calc(1.45rem * var(--title-scale)), calc(2.6vw * var(--title-scale)), calc(2.15rem * var(--title-scale)));
}

.glow-timeline__num {
	font-size: clamp(calc(4.5rem * var(--title-scale)), calc(10vw * var(--title-scale)), calc(7.5rem * var(--title-scale)));
}

.glow-timeline__item h3 {
	font-size: 2rem;
}

.glow-programme__close {
	font-size: clamp(calc(1.85rem * var(--title-scale)), calc(4.2vw * var(--title-scale)), calc(3.15rem * var(--title-scale)));
}

.glow-participate h2 {
	font-size: clamp(calc(2rem * var(--title-scale)), calc(4.5vw * var(--title-scale)), calc(3.15rem * var(--title-scale)));
}

.glow-participate__thanks-quote {
	font-size: clamp(calc(1.65rem * var(--title-scale)), calc(3.5vw * var(--title-scale)), calc(2.55rem * var(--title-scale)));
}

.glow-impact__head .glow-section__title {
	font-size: clamp(calc(2.2rem * var(--title-scale)), calc(5vw * var(--title-scale)), calc(3.75rem * var(--title-scale)));
}

.glow-stat__value {
	font-size: clamp(calc(2rem * var(--title-scale)), calc(4.5vw * var(--title-scale)), calc(3.75rem * var(--title-scale)));
}

.glow-journal-teaser__copy .glow-section__title {
	font-size: clamp(calc(2.1rem * var(--title-scale)), calc(4.2vw * var(--title-scale)), calc(3.25rem * var(--title-scale)));
}

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

.glow-credits__name--hero {
	font-size: clamp(calc(2.4rem * var(--title-scale)), calc(5.5vw * var(--title-scale)), calc(3.75rem * var(--title-scale)));
}

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

.glow-page-hero h1 {
	font-size: clamp(calc(2.5rem * var(--title-scale)), calc(6vw * var(--title-scale)), calc(4rem * var(--title-scale)));
}

.glow-journal-item h2 {
	font-size: clamp(calc(1.45rem * var(--title-scale)), calc(2.6vw * var(--title-scale)), calc(2rem * var(--title-scale)));
}

.glow-article h1 {
	font-size: clamp(calc(2.2rem * var(--title-scale)), calc(5vw * var(--title-scale)), calc(3.5rem * var(--title-scale)));
}

.glow-person h3 {
	font-size: 1rem;
}

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

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

@media (max-width: 900px) {
	.glow-why__head .glow-section__title {
		font-size: 2rem;
	}

	.glow-pillar__num {
		font-size: clamp(calc(3.5rem * var(--title-scale)), calc(16vw * var(--title-scale)), calc(5.25rem * var(--title-scale)));
	}

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

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

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

@media (max-width: 800px) {
	.glow-timeline__num {
		font-size: clamp(calc(3.5rem * var(--title-scale)), calc(18vw * var(--title-scale)), calc(5rem * var(--title-scale)));
	}
}

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