.wx-header .wx-menu-btn,
.wx-header .wx-iconbtn {
	border: 0;
	border-radius: 0;
	padding: 0.35rem 0.15rem;
	background: transparent;
	color: inherit;
	font-family: var(--wx-mono);
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.wx-header__tools { gap: 1.25rem; }

.wx-burger {
	display: block;
	width: 22px;
	height: 11px;
	border-top: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
}

.wx-enter { background: #000; }

.wx-poster {
	background: var(--wx-bg);
	color: var(--wx-text);
}

.wx-poster__stage {
	position: relative;
	min-height: 100svh;
	display: grid;
	place-items: center;
	padding: 5rem 4.5rem 4rem;
	overflow: hidden;
}

.wx-poster__stage h1 {
	position: relative;
	z-index: 1;
	margin: 0;
	max-width: none;
	width: min(96vw, 1500px);
	text-align: center;
	font-weight: 600;
	font-size: clamp(3.6rem, 6.4vw, 8.2rem);
	line-height: 0.98;
	letter-spacing: -0.045em;
	color: var(--wx-text);
}

.wx-poster__media,
.wx-frame {
	position: absolute;
	z-index: 2;
	left: 50%;
	top: 50%;
	aspect-ratio: 16 / 9;
	transform: translate(-50%, -46%);
	overflow: hidden;
	background: transparent;
}

.wx-poster__media {
	width: min(26vw, 480px);
}

.wx-frame {
	width: min(1680px, calc(100% - 8rem));
	margin: 0;
	pointer-events: none;
	visibility: hidden;
	background: transparent;
}

.wx-poster__media video,
.wx-frame video,
.wx-film video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.wx-poster__side {
	position: absolute;
	top: 50%;
	z-index: 4;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	height: 22px;
	padding: 0 0 1px;
	border-bottom: 1px solid currentColor;
	font-family: var(--wx-mono);
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
	color: var(--wx-text);
}

.wx-poster__side--l { left: 88px; }
.wx-poster__side--r { right: 88px; }

.wx-poster__scroll {
	position: absolute;
	left: 50%;
	bottom: 1.6rem;
	z-index: 4;
	transform: translateX(-50%);
	margin: 0;
	font-family: var(--wx-mono);
	font-size: 0.68rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #8e93a1;
}

.wx-frame__poster {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.wx-frame:has(video) .wx-frame__poster { display: none; }

.wx-manifesto {
	display: grid;
	grid-template-columns: 0.7fr 1.6fr;
	gap: 2rem;
	width: min(1680px, calc(100% - (var(--wx-pad) * 2)));
	margin: 0 auto;
	padding: 5.5rem 0 2rem;
}

.wx-index {
	margin: 0;
	font-family: var(--wx-mono);
	font-size: clamp(2rem, 4vw, 3.5rem);
	font-weight: 500;
	letter-spacing: -0.04em;
	color: #6d7280;
}

.wx-manifesto__text {
	margin: 0 0 3rem;
	max-width: 18em;
	font-size: clamp(1.7rem, 2.6vw, 2.7rem);
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -0.035em;
}

.wx-stats {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem 3rem;
}

.wx-stats div {
	padding-top: 0.8rem;
	border-top: 1px solid var(--wx-line);
}

.wx-stats strong {
	display: block;
	font-size: clamp(3rem, 5vw, 5.4rem);
	font-weight: 600;
	letter-spacing: -0.05em;
	line-height: 1;
}

.wx-stats span {
	display: block;
	margin-top: 0.7rem;
	max-width: 14rem;
	color: var(--wx-muted);
	font-family: var(--wx-mono);
	font-size: 0.68rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.wx-block {
	width: min(1680px, calc(100% - (var(--wx-pad) * 2)));
	margin: 0 auto;
	padding: 4.5rem 0;
}

.wx-bento {
	display: grid;
	grid-template-columns: 0.82fr 1.35fr;
	gap: 0.85rem;
	min-height: 78vh;
}

.wx-bento__main,
.wx-bento__pair {
	display: grid;
	gap: 0.85rem;
	min-height: 0;
}

.wx-bento__main { grid-template-rows: 0.85fr 1.15fr; }
.wx-bento__pair { grid-template-columns: 1fr 1fr; }

.wx-niche {
	position: relative;
	display: flex;
	min-height: 16rem;
	overflow: hidden;
	background: #171719;
	color: #fff;
}

.wx-niche img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wx-niche span {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 0.35rem;
	width: 100%;
	padding: 1.25rem;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.62), rgba(0, 0, 0, 0.05) 55%);
	font-size: 0.98rem;
	line-height: 1.35;
}

.wx-niche small,
.wx-niche strong {
	font-family: var(--wx-mono);
	font-size: 0.68rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 500;
}

.wx-niche strong {
	font-family: var(--wx-font);
	font-size: clamp(1.4rem, 2vw, 2rem);
	letter-spacing: -0.03em;
	text-transform: none;
	font-weight: 600;
}

.wx-niche--tall { background: #f4f1ee; color: #121212; }
.wx-niche--tall span { background: linear-gradient(to top, rgba(244, 241, 238, 0.92), rgba(244, 241, 238, 0)); color: #121212; }
.wx-niche--ink { background: #121214; }

.wx-caphead {
	position: relative;
	display: grid;
	grid-template-columns: 0.55fr 1.6fr;
	align-items: end;
	margin-bottom: 2rem;
}

.wx-capbadge {
	position: absolute;
	left: 58%;
	top: 42%;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 6.5rem;
	height: 6.5rem;
	border-radius: 50%;
	background: var(--wx-accent);
	color: #fff;
	font-family: var(--wx-mono);
	font-size: 0.68rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-align: center;
}

.wx-display {
	margin: 0;
	font-size: clamp(4rem, 9vw, 8.5rem);
	font-weight: 600;
	line-height: 0.9;
	letter-spacing: -0.05em;
}

.wx-display span {
	position: relative;
	display: inline-block;
}

.wx-display span::after {
	content: attr(data-text);
	position: absolute;
	left: 0;
	top: 88%;
	transform: scaleY(-1);
	filter: blur(8px);
	opacity: 0.45;
	pointer-events: none;
	-webkit-mask-image: linear-gradient(#000, transparent 72%);
	mask-image: linear-gradient(#000, transparent 72%);
}

.wx-caprows { list-style: none; margin: 0; padding: 0; }

.wx-caprows a {
	display: grid;
	grid-template-columns: 4.5rem minmax(12rem, 0.85fr) minmax(16rem, 1.15fr) minmax(14rem, 0.9fr);
	gap: 1.25rem 1.5rem;
	align-items: center;
	min-height: 46vh;
	padding: 2rem 0;
	border-top: 1px solid var(--wx-line);
}

.wx-caprows li:last-child a { border-bottom: 1px solid var(--wx-line); }

.wx-caprows__n,
.wx-caprows__tags small {
	font-family: var(--wx-mono);
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wx-muted);
}

.wx-caprows strong {
	font-size: clamp(1.8rem, 3vw, 3.4rem);
	font-weight: 600;
	letter-spacing: -0.045em;
	line-height: 1.05;
}

.wx-caprows img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	background: var(--wx-tint);
}

.wx-caprows__copy { display: grid; gap: 1.25rem; align-content: center; }

.wx-caprows__copy em {
	font-style: normal;
	font-size: 1.05rem;
	line-height: 1.4;
	max-width: 22rem;
}

.wx-caprows__tags { display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem; }

.wx-caplist { list-style: none; margin: 0; padding: 0; }

.wx-caplist a {
	display: grid;
	grid-template-columns: 3.5rem minmax(12rem, 0.8fr) 1.2fr;
	gap: 1rem;
	align-items: center;
	padding: 1.45rem 0;
	border-top: 1px solid var(--wx-line);
}

.wx-caplist li:last-child a { border-bottom: 1px solid var(--wx-line); }

.wx-caplist span,
.wx-caplist em {
	font-family: var(--wx-mono);
	font-style: normal;
	font-size: 0.78rem;
	letter-spacing: 0.04em;
	color: var(--wx-muted);
}

.wx-caplist strong {
	font-size: clamp(1.6rem, 2.6vw, 2.7rem);
	font-weight: 600;
	letter-spacing: -0.04em;
}

.wx-block--film { width: 100%; padding-left: 0; padding-right: 0; }

.wx-film {
	aspect-ratio: 16 / 7;
	overflow: hidden;
	background: #000;
}

.wx-blockhead,
.wx-faqhead {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.wx-blockhead h2,
.wx-faqhead h2 {
	margin: 0;
	font-size: clamp(2.4rem, 5vw, 4.5rem);
	letter-spacing: -0.045em;
	line-height: 0.95;
}

.wx-blockhead a,
.wx-faqhead a {
	font-family: var(--wx-mono);
	font-size: 0.75rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.wx-masonry {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem 1rem;
	align-items: start;
}

.wx-masonry .wx-card { display: block; min-width: 0; }
.wx-masonry .wx-card:nth-child(2) { margin-top: 14%; }
.wx-masonry .wx-card:nth-child(3) { margin-top: 4%; }
.wx-masonry .wx-card:nth-child(5) { margin-top: 8%; }
.wx-masonry .wx-card__media { display: block; width: 100%; overflow: hidden; background: #171719; border-radius: 1.1rem; }
.wx-masonry .wx-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wx-masonry .wx-card--portrait .wx-card__media { aspect-ratio: 3 / 4; }
.wx-masonry .wx-card--landscape .wx-card__media { aspect-ratio: 16 / 10; }
.wx-masonry .wx-card--square .wx-card__media { aspect-ratio: 1; }
.wx-masonry .wx-card__meta { display: flex; justify-content: space-between; gap: 1rem; padding: 0.75rem 0 1.25rem; }
.wx-masonry .wx-card__meta strong { font-size: 1rem; letter-spacing: -0.02em; }
.wx-masonry .wx-card__meta em { font-style: normal; color: var(--wx-muted); font-size: 0.85rem; }

.wx-faqlist details { border-top: 1px solid var(--wx-line); }
.wx-faqlist details:last-child { border-bottom: 1px solid var(--wx-line); }
.wx-faqlist summary {
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	align-items: center;
	padding: 1.25rem 0;
	font-size: clamp(1.3rem, 2vw, 1.8rem);
	font-weight: 600;
	letter-spacing: -0.03em;
}
.wx-faqlist summary::after { content: "+"; font-weight: 500; }
.wx-faqlist details[open] summary::after { content: "–"; }
.wx-faqlist summary::-webkit-details-marker { display: none; }
.wx-faqlist details p {
	max-width: 42rem;
	margin: 0 0 1.25rem;
	color: var(--wx-muted);
}

.wx-stories {
	display: grid;
	grid-template-columns: 1.3fr 0.85fr 1.1fr;
	gap: 1rem;
}

.wx-story { display: flex; flex-direction: column; gap: 0.55rem; }
.wx-story img { width: 100%; aspect-ratio: 16 / 11; object-fit: cover; background: #171719; }
.wx-stories .wx-story:nth-child(2) img { aspect-ratio: 1; }
.wx-story strong { font-size: 1.15rem; letter-spacing: -0.03em; line-height: 1.25; }

.wx-marquee {
	overflow: hidden;
	border-block: 1px solid var(--wx-line);
	padding: 1.1rem 0;
}

.wx-marquee__track {
	font-size: clamp(2.4rem, 6vw, 5.5rem);
	font-weight: 600;
	letter-spacing: -0.045em;
	white-space: nowrap;
}

.wx-promo {
	position: relative;
	overflow: hidden;
	min-height: 78vh;
	display: grid;
	place-items: center;
	align-content: center;
	gap: 1.25rem;
	padding: 5rem var(--wx-pad);
	background: #002bba;
	color: #fff;
	text-align: center;
}

.wx-promo__chips {
	position: absolute;
	inset: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	pointer-events: none;
}

.wx-promo__chips li {
	position: absolute;
	padding: 0.7rem 1rem;
	border-radius: 999px;
	background: #fff;
	color: #121212;
	font-family: var(--wx-mono);
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.wx-promo__chips li:nth-child(1) { top: 16%; left: 10%; rotate: -12deg; }
.wx-promo__chips li:nth-child(2) { top: 22%; right: 14%; rotate: 8deg; }
.wx-promo__chips li:nth-child(3) { bottom: 24%; left: 18%; rotate: 6deg; }
.wx-promo__chips li:nth-child(4) { top: 48%; right: 8%; rotate: -8deg; }
.wx-promo__chips li:nth-child(5) { bottom: 16%; right: 22%; rotate: 14deg; }

.wx-promo > p,
.wx-promo h2,
.wx-promo > a { position: relative; z-index: 1; }

.wx-promo h2 {
	margin: 0;
	font-size: clamp(3.2rem, 7vw, 7rem);
	font-weight: 600;
	line-height: 0.92;
	letter-spacing: -0.05em;
}

.wx-promo a {
	display: inline-flex;
	margin-top: 0.5rem;
	padding: 0.85rem 1.4rem;
	border: 1px solid #fff;
	border-radius: 999px;
	font-family: var(--wx-mono);
	font-size: 0.75rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.wx-footer {
	position: relative;
	overflow: hidden;
	min-height: 70vh;
	padding: 8rem 0 2rem;
}
.wx-footer__grid,
.wx-footer__base { position: relative; z-index: 1; }
.wx-footer .wx-logo { font-size: clamp(4rem, 9vw, 8rem); line-height: 0.9; }
.wx-footer__art { position: absolute; pointer-events: none; user-select: none; }
.wx-footer__clouds--1 { top: 0; left: 0; width: min(28rem, 34vw); }
.wx-footer__clouds--2 { top: 6%; right: 0; width: min(24rem, 30vw); }
.wx-footer__clouds--3 { bottom: 0; left: 8%; width: min(36rem, 46vw); }
.wx-footer__planet--1 { top: 18%; right: 22%; width: 7rem; }
.wx-footer__planet--2 { top: 36%; left: 46%; width: 4.2rem; }

@media (max-width: 1024px) {
	html, body {
		overflow-x: clip !important;
		max-width: 100%;
	}
	.wx-shell,
	.wx-main,
	.wx-footer,
	.wx-cta,
	.wx-cta__chips {
		overflow-x: clip;
		max-width: 100%;
	}
	.wx-poster {
		overflow-x: clip;
	}
	.wx-poster__stage {
		padding: 5.5rem 1.25rem 4.5rem;
		align-content: end;
		justify-items: center;
		overflow-x: clip;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}
	/* Only the H1 link — not .wx-poster__side (higher specificity was
	   undoing display:none below and left absolute sides overlapping the title). */
	.wx-poster__stage > a:not(.wx-poster__side) {
		display: block;
		width: 100%;
		max-width: 100%;
	}
	.wx-poster__stage h1 {
		max-width: 100%;
		width: 100%;
		font-size: clamp(2.6rem, 12vw, 4rem);
	}
	.wx-poster__media {
		position: relative;
		inset: auto;
		left: auto;
		top: auto;
		right: auto;
		bottom: auto;
		width: 100%;
		max-width: 100%;
		transform: none;
		margin: 1.5rem auto 0;
		justify-self: stretch;
		box-sizing: border-box;
	}
	.wx-poster__media video {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
		display: block;
	}
	.wx-frame { display: none; }
	.wx-poster__stage > .wx-poster__side,
	.wx-poster__side,
	.wx-capbadge { display: none !important; }
	.wx-caprows a,
	.wx-masonry .wx-card:nth-child(2),
	.wx-masonry .wx-card:nth-child(3),
	.wx-masonry .wx-card:nth-child(5) { margin-top: 0; }
	.wx-manifesto,
	.wx-caphead,
	.wx-bento,
	.wx-bento__pair,
	.wx-masonry,
	.wx-stories,
	.wx-caprows a,
	.wx-caplist a { grid-template-columns: 1fr; }
	.wx-caprows { min-height: 0; }
	.wx-caprows a { min-height: 0; }
	.wx-bento,
	.wx-bento__main { min-height: 0; }
	.wx-niche { min-height: 18rem; }
	.wx-stats { grid-template-columns: 1fr 1fr; }
	.wx-block,
	.wx-manifesto,
	.wx-manifesto > div {
		min-width: 0;
		max-width: 100%;
	}
	.wx-manifesto__text,
	.wx-block p,
	.wx-block h2,
	.wx-block h1 {
		overflow-wrap: break-word;
		max-width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wx-display span::after { display: none; }
	.wx-promo__chips { display: none; }
}
