@font-face {
	font-family: "Vaja Hero";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/Jost-VariableFont_wght.woff2") format("woff2");
}

:root {
	--bg: #090911;
	--bg-2: #10101c;
	--panel: rgba(17, 18, 31, 0.82);
	--panel-strong: #151624;
	--text: #f3f4f8;
	--muted: #a7abb8;
	--muted-2: #727989;
	--cyan: #4fd8ea;
	--magenta: #d94fb4;
	--violet: #b58cff;
	--gold: #d3b56b;
	--line: rgba(255, 255, 255, 0.13);
	--shadow: 0 24px 80px rgba(0, 0, 0, 0.45);
	--radius: 8px;
	--shell: min(1180px, calc(100vw - 40px));
	--font-hero: "Vaja Hero", Jost, Montserrat, "Avenir Next", Arial, sans-serif;
	--font-display: "Vaja Hero", Jost, Montserrat, "Avenir Next", Arial, sans-serif;
	--font-body: Inter, Roboto, Arial, Helvetica, sans-serif;
	--h2-size: clamp(1.9rem, 3vw, 3.15rem);
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

/* The UA stylesheet hides [hidden] elements, but any author `display` rule
   overrides it. .button sets display:inline-flex, so a hidden button would
   still render. Restore the intended behaviour globally. */
[hidden] {
	display: none !important;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--bg);
	color: var(--text);
	font-family: var(--font-body);
	line-height: 1.6;
}

h2 {
	font-size: var(--h2-size);
}

img,
iframe {
	display: block;
	max-width: 100%;
}

a {
	color: inherit;
	text-decoration: none;
}

a:hover,
a:focus-visible {
	color: var(--cyan);
}

button,
input,
textarea {
	font: inherit;
}

@keyframes vaja-neon-breathe {
	0%,
	100% {
		text-shadow: 0 0 22px rgba(79, 216, 234, 0.3), 0 0 10px rgba(181, 140, 255, 0.12);
	}

	50% {
		text-shadow: 0 0 34px rgba(79, 216, 234, 0.42), 0 0 18px rgba(181, 140, 255, 0.16);
	}
}

@keyframes vaja-video-enter {
	from {
		opacity: 0;
		transform: translateY(18px) scale(0.985);
	}

	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@keyframes vaja-modal-enter {
	from {
		opacity: 0;
		transform: translateY(18px) scale(0.96);
	}

	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@keyframes vaja-glitch-slice {
	0%,
	100% {
		clip-path: inset(0 0 86% 0);
		transform: translate(0, 0);
	}

	22% {
		clip-path: inset(18% 0 55% 0);
		transform: translate(-2px, 1px);
	}

	42% {
		clip-path: inset(48% 0 30% 0);
		transform: translate(2px, -1px);
	}

	64% {
		clip-path: inset(72% 0 8% 0);
		transform: translate(-1px, 0);
	}
}

@keyframes vaja-scanline-pass {
	from {
		background-position: 0 -120%;
	}

	to {
		background-position: 0 220%;
	}
}

@keyframes vaja-light-drift {
	from {
		opacity: 0;
		transform: translate3d(-26px, 24px, 0) rotate(var(--streak-angle, -18deg));
	}

	18%,
	72% {
		opacity: var(--streak-opacity, 0.28);
	}

	to {
		opacity: 0;
		transform: translate3d(42px, -36px, 0) rotate(var(--streak-angle, -18deg));
	}
}

.screen-reader-text,
.skip-link {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.skip-link:focus {
	top: 10px;
	left: 10px;
	z-index: 9999;
	width: auto;
	height: auto;
	padding: 10px 14px;
	clip: auto;
	background: var(--cyan);
	color: #03040a;
}

.section-shell {
	width: var(--shell);
	margin-inline: auto;
}

.site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	background: rgba(7, 7, 13, 0.78);
	border-bottom: 1px solid var(--line);
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
}

/* Keep the fixed site navigation below WordPress's logged-in admin bar. */
body.admin-bar .site-header {
	top: 32px;
}

body.admin-bar .skip-link:focus {
	top: 42px;
}

body.admin-bar .section[id] {
	scroll-margin-top: 128px;
}

.site-header__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: clamp(18px, 2vw, 34px);
	width: var(--shell);
	min-height: 82px;
	margin-inline: auto;
}

.site-brand {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 110px;
	padding: 9px 8px;
	isolation: isolate;
}

.site-brand::after {
	content: "";
	position: absolute;
	inset: 4px -8px;
	z-index: -1;
	border-radius: 999px;
	background: radial-gradient(circle, rgba(79, 216, 234, 0.24), rgba(181, 140, 255, 0.12) 42%, transparent 70%);
	opacity: 0;
	transform: scale(0.72);
	transition: opacity 220ms ease, transform 220ms ease;
}

.site-brand img,
.custom-logo {
	width: 100px;
	height: auto;
	transition: filter 220ms ease, transform 220ms ease;
}

.site-brand:hover::after,
.site-brand:focus-visible::after {
	opacity: 1;
	transform: scale(1.15);
}

.site-brand:hover img,
.site-brand:focus-visible img,
.site-brand:hover .custom-logo,
.site-brand:focus-visible .custom-logo {
	filter: drop-shadow(0 0 22px rgba(79, 216, 234, 0.48)) drop-shadow(0 0 24px rgba(181, 140, 255, 0.34));
	transform: scale(1.06);
}

.primary-nav {
	width: 100%;
}

.primary-nav--left {
	justify-self: end;
}

.primary-nav--right {
	justify-self: start;
}

.mobile-nav {
	display: none;
}

.primary-nav__list {
	display: flex;
	align-items: center;
	gap: clamp(16px, 1.45vw, 26px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.primary-nav--left .primary-nav__list {
	justify-content: flex-end;
}

.primary-nav--right .primary-nav__list {
	justify-content: flex-start;
}

.primary-nav__list li {
	position: relative;
}

.primary-nav__list a {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--text);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	transition: color 180ms ease, text-shadow 180ms ease, transform 180ms ease;
}

.primary-nav__list a::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 6px;
	left: 0;
	height: 2px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--cyan), var(--violet), var(--magenta));
	box-shadow: 0 0 16px rgba(181, 140, 255, 0.42);
	opacity: 0;
	transform: scaleX(0.16) translateY(3px);
	transform-origin: center;
	transition: opacity 180ms ease, transform 220ms ease, box-shadow 220ms ease;
}

.primary-nav__list a:hover,
.primary-nav__list a:focus-visible {
	color: var(--cyan);
	text-shadow: 0 0 18px rgba(181, 140, 255, 0.38);
	transform: translateY(-1px);
}

.primary-nav__list a:hover::after,
.primary-nav__list a:focus-visible::after {
	opacity: 1;
	transform: scaleX(1) translateY(0);
}

.primary-nav__list .sub-menu {
	position: absolute;
	top: calc(100% + 12px);
	left: 50%;
	z-index: 20;
	display: grid;
	min-width: 180px;
	margin: 0;
	padding: 10px;
	list-style: none;
	background: rgba(7, 7, 13, 0.96);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	opacity: 0;
	visibility: hidden;
	transform: translate(-50%, 8px);
	transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}

.primary-nav__list .sub-menu a {
	justify-content: center;
	min-height: 36px;
	padding-inline: 12px;
	white-space: nowrap;
}

.primary-nav__list li:hover > .sub-menu,
.primary-nav__list li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, 0);
}

.header-cta,
.button {
	position: relative;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	border-radius: var(--radius);
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, color 180ms ease;
}

.header-cta {
	padding: 0 18px;
	border: 1px solid rgba(79, 216, 234, 0.55);
	color: var(--cyan);
}

.button {
	padding: 0 24px;
	border: 1px solid transparent;
}

.button:disabled {
	cursor: wait;
	opacity: 0.7;
	transform: none;
}

.button:hover,
.button:focus-visible,
.header-cta:hover,
.header-cta:focus-visible {
	transform: translateY(-2px);
}

.button--primary {
	background: linear-gradient(135deg, var(--cyan), #71e5f3);
	color: #03040a;
	box-shadow: 0 0 20px rgba(79, 216, 234, 0.12);
}

.button--primary:hover,
.button--primary:focus-visible {
	background: linear-gradient(135deg, #74eeff, var(--violet));
	color: #03040a;
	border-color: rgba(181, 140, 255, 0.52);
	box-shadow: 0 0 36px rgba(79, 216, 234, 0.35), 0 0 24px rgba(181, 140, 255, 0.22);
}

.button--primary::after {
	content: "";
	position: absolute;
	inset: -40% auto -40% -70%;
	width: 46%;
	pointer-events: none;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.55), transparent);
	transform: skewX(-18deg);
	transition: left 520ms ease;
}

.button--primary:hover::after,
.button--primary:focus-visible::after {
	left: 125%;
}

.button--ghost {
	border-color: rgba(255, 255, 255, 0.28);
	background: rgba(255, 255, 255, 0.04);
	color: var(--text);
}

.button--ghost:hover,
.button--ghost:focus-visible {
	border-color: rgba(181, 140, 255, 0.72);
	background: linear-gradient(135deg, rgba(79, 216, 234, 0.12), rgba(181, 140, 255, 0.16));
	color: var(--text);
	box-shadow: 0 0 18px rgba(181, 140, 255, 0.12);
}

.button-row,
.hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.nav-toggle {
	display: none;
	width: 46px;
	height: 46px;
	padding: 0;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.04);
	color: var(--text);
}

.nav-toggle span:not(.screen-reader-text) {
	display: block;
	width: 18px;
	height: 2px;
	margin: 4px auto;
	background: currentColor;
}

.hero {
	position: relative;
	min-height: 0;
	padding-top: 82px;
	overflow: hidden;
	isolation: isolate;
	background: #04050b;
}

.hero__media {
	position: absolute;
	inset: 0;
	z-index: -3;
	background-image:
		linear-gradient(90deg, rgba(4, 5, 11, 0.92) 0%, rgba(4, 5, 11, 0.72) 42%, rgba(4, 5, 11, 0.4) 100%),
		linear-gradient(180deg, rgba(4, 5, 11, 0.1) 0%, rgba(4, 5, 11, 0.96) 100%),
		var(--hero-image);
	background-position: center;
	background-size: cover;
}

.hero__media::before,
.hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.hero__media::before {
	background:
		radial-gradient(circle at 18% 58%, rgba(79, 216, 234, 0.16), transparent 26%),
		radial-gradient(circle at 74% 34%, rgba(217, 79, 180, 0.22), transparent 30%),
		linear-gradient(115deg, transparent 0 34%, rgba(181, 140, 255, 0.07) 42%, transparent 54%);
	filter: blur(14px);
	opacity: 0.9;
}

.hero__media::after {
	background:
		linear-gradient(104deg, transparent 0 20%, rgba(255, 255, 255, 0.07) 21%, transparent 22% 52%, rgba(79, 216, 234, 0.07) 53%, transparent 54%),
		linear-gradient(180deg, transparent 0 66%, rgba(79, 216, 234, 0.06), rgba(217, 79, 180, 0.08) 86%, transparent 100%);
	mix-blend-mode: screen;
	opacity: 0.34;
}

.hero__particles {
	position: absolute;
	inset: 0;
	z-index: -1;
	overflow: hidden;
	pointer-events: none;
}

.hero__particles span {
	position: absolute;
	display: block;
	width: clamp(110px, 14vw, 210px);
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(79, 216, 234, 0.56), rgba(181, 140, 255, 0.38), transparent);
	filter: blur(0.4px);
	opacity: 0;
	animation: vaja-light-drift 9s linear infinite;
}

.hero__particles span:nth-child(1) {
	top: 22%;
	left: 7%;
	--streak-angle: -16deg;
	--streak-opacity: 0.24;
}

.hero__particles span:nth-child(2) {
	top: 38%;
	left: 58%;
	width: clamp(80px, 10vw, 150px);
	--streak-angle: 20deg;
	--streak-opacity: 0.18;
	animation-delay: -2.4s;
}

.hero__particles span:nth-child(3) {
	top: 68%;
	left: 78%;
	--streak-angle: -24deg;
	--streak-opacity: 0.2;
	animation-delay: -5.1s;
}

.hero__particles span:nth-child(4) {
	top: 54%;
	left: 24%;
	width: clamp(60px, 8vw, 120px);
	--streak-angle: 12deg;
	--streak-opacity: 0.15;
	animation-delay: -7.2s;
}

.hero__particles span:nth-child(5) {
	top: 16%;
	left: 84%;
	width: clamp(72px, 9vw, 140px);
	--streak-angle: -8deg;
	--streak-opacity: 0.18;
	animation-delay: -3.7s;
}

.hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background:
		linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
	background-size: 100% 6px, 6px 100%;
	mix-blend-mode: screen;
	opacity: 0.28;
}

.hero__inner {
	display: grid;
	grid-template-columns: minmax(460px, 0.72fr) minmax(400px, 780px);
	align-items: start;
	gap: clamp(44px, 5vw, 76px);
	width: var(--shell);
	min-height: 0;
	padding-block: clamp(120px, 15vh, 160px) clamp(68px, 8vh, 96px);
}

.hero__copy {
	display: grid;
	justify-items: center;
	text-align: center;
}

.eyebrow {
	margin: 0 0 14px;
	color: var(--cyan);
	font-size: 0.74rem;
	font-weight: 900;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.hero .eyebrow {
	color: var(--text);
	text-shadow: 0 0 14px rgba(255, 255, 255, 0.18);
}

.hero h1 {
	margin: 0;
	color: var(--cyan);
	font-family: var(--font-hero);
	font-size: clamp(3.9rem, 7.3vw, 7.6rem);
	font-weight: 540;
	line-height: 0.9;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-shadow: 0 0 24px rgba(79, 216, 234, 0.36), 0 0 12px rgba(181, 140, 255, 0.18);
	animation: vaja-neon-breathe 5.8s ease-in-out infinite;
}

.hero__title-glitch {
	position: relative;
	display: inline-block;
	cursor: default;
	transition: color 190ms ease, text-shadow 190ms ease, filter 190ms ease;
}

.hero__title-glitch::before,
.hero__title-glitch::after {
	content: attr(data-text);
	position: absolute;
	inset: 0;
	pointer-events: none;
	opacity: 0;
	transition: opacity 180ms ease;
}

.hero__title-glitch::before {
	color: rgba(67, 34, 132, 0.9);
	text-shadow: 0 0 20px rgba(67, 34, 132, 0.72);
	mix-blend-mode: screen;
}

.hero__title-glitch::after {
	color: rgba(36, 16, 82, 0.88);
	text-shadow: 0 0 24px rgba(77, 36, 155, 0.58);
	background: linear-gradient(180deg, transparent 0%, rgba(95, 54, 180, 0.34) 48%, transparent 52%);
	background-size: 100% 220%;
	-webkit-background-clip: text;
	background-clip: text;
}

.hero__title-glitch:hover {
	color: #4a238f;
	text-shadow: 0 0 28px rgba(77, 36, 155, 0.62), 0 0 16px rgba(79, 216, 234, 0.14);
}

.hero__title-glitch:hover::before,
.hero__title-glitch:hover::after {
	opacity: 1;
}

.hero__title-glitch:hover::before {
	animation: vaja-glitch-slice 520ms steps(2, end) 1;
}

.hero__title-glitch:hover::after {
	animation: vaja-glitch-slice 520ms steps(2, end) reverse 1, vaja-scanline-pass 700ms linear 1;
}

.hero__lede {
	max-width: 570px;
	margin: 28px 0 20px;
	color: var(--text);
	font-size: clamp(1.25rem, 1.9vw, 2.05rem);
	font-weight: 800;
	line-height: 1.08;
	text-align: center;
}

.hero__lede em,
.hero__lede span {
	display: block;
}

.hero__lede em {
	font-style: italic;
}

.platform-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-top: 18px;
}

.platform-row a,
.social-row a {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.045);
	color: var(--muted);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.platform-row a {
	padding: 8px 12px;
}

.platform-row a:hover,
.platform-row a:focus-visible,
.social-row a:hover,
.social-row a:focus-visible {
	border-color: rgba(79, 216, 234, 0.64);
	background: linear-gradient(135deg, rgba(79, 216, 234, 0.14), rgba(181, 140, 255, 0.13));
	color: var(--text);
	box-shadow: 0 0 22px rgba(79, 216, 234, 0.18), inset 0 0 0 1px rgba(181, 140, 255, 0.16);
	transform: translateY(-2px);
}

.hero__card {
	align-self: start;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: var(--radius);
	background: rgba(8, 10, 18, 0.72);
	box-shadow: var(--shadow);
}

.hero__video {
	position: relative;
	margin-top: 0;
	border-color: rgba(255, 255, 255, 0.12);
	background:
		linear-gradient(180deg, rgba(79, 216, 234, 0.1), rgba(217, 79, 180, 0.06)),
		rgba(8, 10, 18, 0.8);
	cursor: pointer;
	animation: vaja-video-enter 780ms cubic-bezier(0.2, 0.78, 0.24, 1) 180ms both;
	transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
	transform: perspective(1000px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg));
	transform-style: preserve-3d;
	will-change: transform;
}

.hero__video::before {
	content: "";
	position: absolute;
	inset: -1px;
	z-index: 4;
	border: 1px solid rgba(79, 216, 234, 0);
	border-radius: inherit;
	pointer-events: none;
	box-shadow: 0 0 0 rgba(79, 216, 234, 0);
	transition: border-color 220ms ease, box-shadow 220ms ease;
}

.hero__video:hover,
.hero__video:focus-visible {
	border-color: rgba(255, 255, 255, 0.18);
	box-shadow: 0 30px 92px rgba(0, 0, 0, 0.58);
	outline: 0;
	transform: perspective(1000px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translateY(-4px) scale(1.018);
}

.hero__video:hover::before,
.hero__video:focus-visible::before {
	border-color: rgba(255, 255, 255, 0);
	box-shadow: none;
}

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

.hero__video-frame {
	position: relative;
	overflow: hidden;
	aspect-ratio: 1280 / 549;
	background: #000;
}

.hero__video-frame iframe,
.video-poster {
	width: 100%;
	height: 100%;
}

.hero__video-frame iframe {
	border: 0;
}

.video-poster {
	position: relative;
	display: block;
	padding: 0;
	border: 0;
	background: #000;
	cursor: pointer;
}

.video-poster img {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: filter 220ms ease, transform 300ms ease;
}

.video-poster::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	background: radial-gradient(circle at center, rgba(181, 140, 255, 0.12), transparent 42%);
	opacity: 0;
	transition: opacity 220ms ease;
}

.video-poster__play {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 3;
	width: 74px;
	height: 52px;
	border-radius: 15px;
	background: linear-gradient(135deg, var(--cyan), #62eefc);
	box-shadow: 0 0 30px rgba(79, 216, 234, 0.36), 0 0 26px rgba(181, 140, 255, 0.22);
	transform: translate(-50%, -50%);
	transition: background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.video-poster__play::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 52%;
	width: 0;
	height: 0;
	border-block: 11px solid transparent;
	border-left: 18px solid #fff;
	transform: translate(-50%, -50%);
}

.hero__video:hover .video-poster img,
.hero__video:focus-visible .video-poster img,
.video-poster:hover img {
	filter: saturate(1.12) contrast(1.06);
	transform: scale(1.025);
}

.hero__video:hover .video-poster::after,
.hero__video:focus-visible .video-poster::after,
.video-poster:hover::after {
	opacity: 1;
}

.hero__video:hover .video-poster__play,
.hero__video:focus-visible .video-poster__play,
.video-poster:hover .video-poster__play {
	background: linear-gradient(135deg, #7df4ff, var(--cyan));
	box-shadow: 0 0 38px rgba(79, 216, 234, 0.48), 0 0 34px rgba(181, 140, 255, 0.28);
	transform: translate(-50%, -50%) scale(1.06);
}

.has-video-lightbox,
.has-product-lightbox,
.has-press-lightbox {
	overflow: hidden;
}

.video-lightbox {
	position: fixed;
	inset: 0;
	z-index: 999;
	display: grid;
	place-items: center;
	padding: clamp(18px, 4vw, 52px);
	background:
		radial-gradient(circle at 50% 42%, rgba(181, 140, 255, 0.2), transparent 36%),
		linear-gradient(135deg, rgba(2, 3, 9, 0.94), rgba(10, 4, 18, 0.93));
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
}

.video-lightbox__dialog {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
	gap: 0;
	width: min(1320px, 94vw);
	max-height: calc(100vh - clamp(36px, 8vw, 104px));
	overflow: auto;
	border: 1px solid rgba(181, 140, 255, 0.6);
	border-radius: var(--radius);
	background:
		linear-gradient(145deg, rgba(79, 216, 234, 0.07), rgba(181, 140, 255, 0.08)),
		#05060d;
	box-shadow: 0 34px 120px rgba(0, 0, 0, 0.72), 0 0 34px rgba(79, 216, 234, 0.2), 0 0 70px rgba(181, 140, 255, 0.2);
	animation: vaja-modal-enter 360ms cubic-bezier(0.2, 0.78, 0.24, 1) both;
}

.video-lightbox__dialog::before {
	content: "";
	position: absolute;
	inset: -2px;
	z-index: -1;
	border-radius: calc(var(--radius) + 2px);
	background: linear-gradient(135deg, rgba(79, 216, 234, 0.84), rgba(181, 140, 255, 0.78), rgba(217, 79, 180, 0.62));
	opacity: 0.82;
	filter: blur(8px);
}

.video-lightbox__frame {
	position: relative;
	overflow: hidden;
	align-self: center;
	border-radius: var(--radius) 0 0 var(--radius);
	background: #000;
}

.video-lightbox__frame iframe {
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
}

.video-lightbox__details {
	display: grid;
	align-content: center;
	gap: 18px;
	padding: clamp(22px, 3vw, 34px);
	border-left: 1px solid rgba(255, 255, 255, 0.12);
	background:
		radial-gradient(circle at 100% 0%, rgba(79, 216, 234, 0.16), transparent 36%),
		rgba(10, 10, 18, 0.82);
}

.video-lightbox__details .eyebrow {
	margin: 0;
}

.video-lightbox__details h2 {
	margin: 0;
	font-family: var(--font-display);
	font-size: var(--h2-size);
	font-weight: 640;
	line-height: 0.92;
	letter-spacing: 0.025em;
	text-transform: uppercase;
}

.video-lightbox__details p:not(.eyebrow) {
	margin: 0;
	color: var(--muted);
}

.video-lightbox__actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.video-lightbox__actions .button {
	min-height: 42px;
	padding-inline: 12px;
	font-size: 0.7rem;
	text-align: center;
}

.video-lightbox__signup {
	display: grid;
	gap: 10px;
	margin-top: 6px;
	padding-top: 18px;
	border-top: 1px solid var(--line);
}

.video-lightbox__signup-title {
	color: var(--text);
	font-size: 0.8rem;
	font-weight: 900;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.video-lightbox__signup label {
	gap: 5px;
}

.video-lightbox__signup input {
	min-height: 42px;
}

.video-lightbox__close {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 2;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 999px;
	background: linear-gradient(135deg, rgba(79, 216, 234, 0.92), rgba(181, 140, 255, 0.92));
	color: #03040a;
	font-size: 1.7rem;
	font-weight: 900;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 0 28px rgba(181, 140, 255, 0.32);
}

.video-lightbox__close:hover,
.video-lightbox__close:focus-visible {
	box-shadow: 0 0 36px rgba(79, 216, 234, 0.4), 0 0 34px rgba(181, 140, 255, 0.34);
	transform: scale(1.05);
}

.hero__card > div:not(.hero__video-frame) {
	padding: 18px;
	border-top: 1px solid var(--line);
}

.hero__video-caption {
	background: rgba(0, 0, 0, 0.24);
}

.hero__card span,
.hero__card strong {
	display: block;
}

.hero__card span {
	color: var(--muted);
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
}

.hero__card strong {
	margin-top: 4px;
	color: var(--cyan);
	font-size: 1.05rem;
}

.stream-section {
	position: relative;
	scroll-margin-top: 96px;
	padding-block: 38px 64px;
	background:
		radial-gradient(circle at 18% 0%, rgba(79, 216, 234, 0.12), transparent 34%),
		radial-gradient(circle at 84% 24%, rgba(181, 140, 255, 0.14), transparent 34%),
		linear-gradient(180deg, #080913, #10101c);
	border-block: 1px solid var(--line);
}

.stream-section__header {
	margin-bottom: 24px;
}

.stream-section__header .eyebrow {
	margin: 0;
}

.stream-section__header h2 {
	margin: 8px 0 0;
	font-family: var(--font-display);
	font-size: var(--h2-size);
	font-weight: 640;
	line-height: 0.92;
	letter-spacing: 0.025em;
	text-transform: uppercase;
}

.stream-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px;
}

.stream-card {
	position: relative;
	overflow: hidden;
	display: grid;
	min-height: 162px;
	align-content: space-between;
	gap: 20px;
	padding: 22px;
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: var(--radius);
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.065), rgba(255, 255, 255, 0.018)),
		rgba(8, 10, 18, 0.82);
	box-shadow: 0 20px 58px rgba(0, 0, 0, 0.3);
	transition: border-color 190ms ease, box-shadow 190ms ease, transform 190ms ease, background 190ms ease;
}

.stream-card::before {
	content: "";
	position: absolute;
	inset: -40% -35% auto auto;
	width: 170px;
	height: 170px;
	border-radius: 50%;
	background: radial-gradient(circle, color-mix(in srgb, var(--platform-color), white 10%) 0%, transparent 68%);
	opacity: 0.18;
	transform: scale(0.82);
	transition: opacity 190ms ease, transform 190ms ease;
}

.stream-card::after {
	content: "";
	position: absolute;
	inset: auto 18px 14px 18px;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--platform-color), var(--violet), transparent);
	opacity: 0;
	transition: opacity 190ms ease;
}

.stream-card:hover,
.stream-card:focus-visible {
	border-color: var(--platform-color);
	border-color: color-mix(in srgb, var(--platform-color), white 18%);
	background:
		linear-gradient(145deg, rgba(79, 216, 234, 0.1), rgba(181, 140, 255, 0.09)),
		rgba(8, 10, 18, 0.92);
	box-shadow: 0 28px 78px rgba(0, 0, 0, 0.48), 0 0 28px color-mix(in srgb, var(--platform-color), transparent 58%), 0 0 34px rgba(181, 140, 255, 0.14);
	color: var(--text);
	outline: 0;
	transform: translateY(-5px) scale(1.018);
}

.stream-card:hover::before,
.stream-card:focus-visible::before {
	opacity: 0.34;
	transform: scale(1.08);
}

.stream-card:hover::after,
.stream-card:focus-visible::after {
	opacity: 0.92;
}

.stream-card--primary {
	border-color: rgba(79, 216, 234, 0.38);
	background:
		linear-gradient(145deg, rgba(30, 215, 96, 0.15), rgba(79, 216, 234, 0.07)),
		rgba(8, 10, 18, 0.88);
}

.stream-card__logo {
	display: grid;
	width: 52px;
	height: 52px;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.28);
	box-shadow: inset 0 0 18px rgba(255, 255, 255, 0.04);
}

.stream-card__logo img {
	width: 28px;
	height: 28px;
	object-fit: contain;
}

.stream-card__body {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 3px;
}

.stream-card__body span {
	color: var(--platform-color);
	color: color-mix(in srgb, var(--platform-color), white 20%);
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.stream-card__body strong {
	color: var(--text);
	font-size: clamp(1.15rem, 1.5vw, 1.45rem);
	line-height: 1.06;
}

.stream-card__arrow {
	position: absolute;
	top: 18px;
	right: 18px;
	display: grid;
	width: 30px;
	height: 30px;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 50%;
	color: var(--text);
	font-size: 1.05rem;
	font-weight: 900;
	transition: border-color 190ms ease, color 190ms ease, transform 190ms ease;
}

.stream-card:hover .stream-card__arrow,
.stream-card:focus-visible .stream-card__arrow {
	border-color: var(--platform-color);
	border-color: color-mix(in srgb, var(--platform-color), white 24%);
	color: var(--platform-color);
	transform: translate(2px, -2px) scale(1.06);
}

.story-band {
	border-block: 1px solid var(--line);
	background: linear-gradient(90deg, rgba(79, 216, 234, 0.08), rgba(217, 79, 180, 0.1));
}

.story-band a {
	color: var(--cyan);
	font-weight: 900;
	white-space: nowrap;
}

.story-band__inner {
	padding-block: 30px;
}

.story-band p {
	max-width: 980px;
	margin: 0;
	font-size: clamp(1.1rem, 2vw, 1.55rem);
	font-weight: 800;
	line-height: 1.35;
}

.reveal-item {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 500ms ease, transform 500ms cubic-bezier(0.2, 0.78, 0.24, 1);
}

.reveal-item.is-revealed {
	opacity: 1;
	transform: translateY(0);
}

/* Safety net: if JS never runs, nothing stays invisible. */
.no-js .reveal-item,
.reveal-item.is-instant {
	opacity: 1;
	transform: none;
	transition: none;
}

.section {
	position: relative;
	padding-block: 96px;
	background: var(--bg);
}

.section:nth-of-type(even) {
	background: var(--bg-2);
}

.split {
	display: grid;
	grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1fr);
	align-items: center;
	gap: 56px;
}

.split--reverse {
	grid-template-columns: minmax(0, 0.9fr) minmax(320px, 1.1fr);
}

.section-copy h2,
.section-heading h2,
.footer-signup h2,
.page-hero h1 {
	margin: 0;
	font-family: var(--font-display);
	font-size: var(--h2-size);
	font-weight: 640;
	line-height: 0.95;
	letter-spacing: 0.025em;
	text-transform: uppercase;
}

.release-layout .section-copy h2 {
	font-size: var(--h2-size);
	letter-spacing: 0.015em;
	line-height: 1;
	white-space: nowrap;
}

.contact-panel h2 {
	max-width: none;
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(1.25rem, 1.9vw, 1.85rem);
	font-weight: 640;
	line-height: 1.08;
	letter-spacing: 0.025em;
	text-transform: uppercase;
}

.contact-panel h2 span {
	display: block;
	white-space: nowrap;
}

.section-copy p,
.section-heading p:not(.eyebrow),
.contact-panel p,
.entry-content,
.post-summary {
	color: var(--muted);
	font-size: 1.05rem;
}

.release-cover,
.laurels-panel,
.video-frame,
.contact-panel,
.merch-card,
.post-summary {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--panel);
	box-shadow: var(--shadow);
}

.release-layout {
	display: grid;
	grid-template-columns: 1fr minmax(320px, 480px);
	align-items: center;
	gap: clamp(40px, 5vw, 72px);
}

.release-stat {
	margin: 16px 0 24px;
	color: var(--cyan);
	font-size: 0.8rem;
	font-weight: 900;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	line-height: 1.8;
}

.release-cover {
	padding: 14px;
}

.release-cover img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 4px;
}

.detail-list {
	display: grid;
	gap: 8px;
	margin: 28px 0;
	padding: 0;
	list-style: none;
}

.detail-list li {
	display: flex;
	gap: 14px;
	justify-content: space-between;
	padding-block: 10px;
	border-bottom: 1px solid var(--line);
}

.detail-list strong {
	color: var(--text);
}

.detail-list span {
	color: var(--muted);
	text-align: right;
}

.section-heading {
	max-width: 820px;
	margin-bottom: 36px;
}

.instagram-panel {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background:
		linear-gradient(145deg, rgba(75, 207, 226, 0.12), transparent 42%),
		rgba(9, 10, 18, 0.78);
	box-shadow: var(--shadow);
	padding: clamp(18px, 3vw, 30px);
}

.instagram-feed {
	position: relative;
	min-height: 420px;
}

.instagram-feed [class^="elfsight-app-"] {
	min-height: 420px;
}

.instagram-feed #sb_instagram {
	padding: 0 !important;
}

.instagram-feed #sb_instagram .sb_instagram_header,
.instagram-feed #sb_instagram #sbi_load {
	display: none !important;
}

.instagram-feed #sb_instagram #sbi_images {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(10px, 1.5vw, 18px);
	padding: 0 !important;
}

.instagram-feed #sb_instagram #sbi_images .sbi_item {
	width: 100% !important;
	padding: 0 !important;
	min-width: 0;
}

.instagram-feed #sb_instagram #sbi_images .sbi_item:nth-child(n + 10) {
	display: none !important;
}

.instagram-feed #sb_instagram .sbi_photo_wrap {
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.035);

}

.instagram-feed #sb_instagram .sbi_photo {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	overflow: hidden !important;
	background: transparent !important;
}

.instagram-feed #sb_instagram .sbi_photo img {
	position: absolute !important;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	transition: transform 280ms ease, filter 280ms ease;
}

.instagram-feed #sb_instagram .sbi_photo:hover img,
.instagram-feed #sb_instagram .sbi_photo:focus-visible img {
	transform: scale(1.035);
	filter: brightness(1.08);
}

.instagram-feed #sb_instagram .sbi_photo:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: -2px;
}

.instagram-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(10px, 1.5vw, 18px);
}

.instagram-grid__item {
	position: relative;
	overflow: hidden;
	aspect-ratio: 1;
	border: 1px solid var(--line);
	border-radius: 10px;
	background: #080913;
}

.instagram-grid__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 240ms ease, filter 240ms ease;
}

.instagram-grid__item:hover img,
.instagram-grid__item:focus-visible img {
	transform: scale(1.035);
	filter: brightness(1.08);
}

.instagram-grid__item:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 3px;
}

.instagram-fallback {
	margin: 18px 0 0;
	text-align: center;
}

.instagram-fallback a {
	color: var(--accent);
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.video-frame {
	position: relative;
	overflow: hidden;
	aspect-ratio: 16 / 9;
}

.video-frame iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

.laurels-panel {
	border-color: #413719;
	padding: 8px;
	background: #413719;
}

.laurels-panel img {
	width: 100%;
	max-height: 560px;
	object-fit: contain;
}

.album-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 18px;
}

.album-card {
	display: grid;
	grid-template-rows: auto 44px auto 1fr;
	min-width: 0;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--panel);
	overflow: hidden;
	transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease, background 200ms ease;
}

.album-card:hover,
.album-card:focus-visible {
	border-color: rgba(181, 140, 255, 0.58);
	background: linear-gradient(180deg, rgba(79, 216, 234, 0.08), rgba(181, 140, 255, 0.08)), var(--panel);
	box-shadow: 0 20px 58px rgba(0, 0, 0, 0.48), 0 0 24px rgba(181, 140, 255, 0.18);
	transform: translateY(-4px);
}

.album-card__art {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	padding: 0;
	overflow: hidden;
}

.album-card__art img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 280ms ease, filter 280ms ease;
}

.album-card:hover .album-card__art img,
.album-card:focus-visible .album-card__art img {
	filter: saturate(1.12) contrast(1.05);
	transform: scale(1.035);
}

.album-card__artist,
.album-card__title,
.album-card__meta {
	padding-inline: 14px;
}

.album-card__artist {
	align-self: start;
	padding-top: 18px;
	color: var(--cyan);
	font-family: Roboto, Inter, Arial, Helvetica, sans-serif;
	font-size: 0.71rem;
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.album-card__title {
	margin-top: 3px;
	font-size: 0.82rem;
	font-weight: 600;
	line-height: 1.15;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.album-card__meta {
	padding-bottom: 16px;
	color: var(--muted);
	font-size: 0.83rem;
	font-style: normal;
}

/* ---------- Press ---------- */
.press-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.press-card {
	display: grid;
	gap: 0;
	padding: 0;
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--panel-strong);
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
	transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
}

.press-card:hover,
.press-card:focus-visible {
	border-color: rgba(79, 216, 234, 0.45);
	box-shadow: 0 26px 70px rgba(0, 0, 0, 0.45);
	outline: 0;
	transform: translateY(-4px);
}

/* A fixed ratio plus cover is what keeps the grid tidy no matter what shape
   the client uploads. Do not swap this back to contain. */
.press-card__thumb {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #05060d;
}

.press-card__thumb img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	transition: transform 320ms ease;
}

.press-card:hover .press-card__thumb img {
	transform: scale(1.04);
}

.press-card__thumb::after {
	content: "";
	position: absolute;
	inset: auto 0 0 0;
	height: 46%;
	background: linear-gradient(180deg, transparent, rgba(5, 6, 13, 0.82));
}

.press-card__meta {
	display: grid;
	gap: 3px;
	padding: 14px 16px 16px;
}

.press-card__meta strong {
	font-family: var(--font-display);
	font-size: 1rem;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.press-card__meta em {
	color: var(--muted);
	font-size: 0.82rem;
	font-style: normal;
}

/* ---------- Press lightbox ---------- */
.press-lightbox {
	position: fixed;
	inset: 0;
	z-index: 999;
	display: grid;
	place-items: center;
	padding: clamp(18px, 4vw, 52px);
	background:
		radial-gradient(circle at 50% 42%, rgba(181, 140, 255, 0.18), transparent 36%),
		linear-gradient(135deg, rgba(2, 3, 9, 0.95), rgba(10, 4, 18, 0.94));
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
}

.press-lightbox__dialog {
	position: relative;
	display: grid;
	grid-template-rows: minmax(0, 1fr) auto;
	width: min(1180px, 95vw);
	max-height: calc(100vh - clamp(36px, 8vw, 104px));
	overflow: hidden;
	border: 1px solid rgba(181, 140, 255, 0.55);
	border-radius: var(--radius);
	background: #05060d;
	box-shadow: 0 34px 120px rgba(0, 0, 0, 0.72);
	animation: vaja-modal-enter 360ms cubic-bezier(0.2, 0.78, 0.24, 1) both;
}

.press-lightbox__figure {
	display: grid;
	place-items: center;
	min-height: 0;
	position: relative;
	height: min(76vh, 860px);
	padding: clamp(16px, 3vw, 28px) clamp(88px, 8vw, 112px) 48px;
	background: #0a0b13;
}

.press-lightbox__figure img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	border-radius: 4px;
	box-shadow: 0 18px 60px rgba(0, 0, 0, 0.5);
}

.press-lightbox__footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 18px clamp(16px, 3vw, 30px) 22px;
	border-top: 1px solid var(--line);
}

.press-lightbox__text {
	display: grid;
	gap: 4px;
	max-width: 560px;
}

.press-lightbox__text strong {
	font-family: var(--font-display);
	font-size: 1.05rem;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.press-lightbox__text span {
	color: var(--muted);
	font-size: 0.9rem;
	line-height: 1.5;
}

.press-lightbox__close {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 2;
	width: 38px;
	height: 38px;
	border: 1px solid var(--line);
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.62);
	color: var(--text);
	font-size: 1.4rem;
	line-height: 1;
	cursor: pointer;
	transition: border-color 190ms ease, color 190ms ease;
}

.press-lightbox__close:hover,
.press-lightbox__close:focus-visible {
	border-color: var(--cyan);
	color: var(--cyan);
	outline: 0;
}

@media (max-width: 860px) {
	.press-grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 782px) {
	body.admin-bar .site-header {
		top: 46px;
	}

	body.admin-bar .skip-link:focus {
		top: 56px;
	}

	body.admin-bar .section[id] {
		scroll-margin-top: 134px;
	}
}

@media (max-width: 620px) {
	.press-grid {
		grid-template-columns: 1fr;
	}

	.press-lightbox__footer {
		flex-direction: column;
		align-items: stretch;
	}
}

.merch-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.merch-card {
	display: grid;
	grid-template-columns: 1fr;
	align-content: start;
	gap: 18px;
	padding: 18px;
}

.merch-card img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 4px;
	background: #fff;
}

.merch-card h2,
.merch-card h3 {
	margin: 0;
	font-size: 1.08rem;
	line-height: 1.18;
}

.merch-card__title span {
	display: block;
	white-space: nowrap;
}

.merch-card__title span + span {
	margin-top: 0.32em;
}

.merch-card p {
	margin: 8px 0 0;
	color: var(--gold);
	font-weight: 900;
}

.merch-card__price {
	margin: 6px 0 0;
}

.merch-card__buy {
	margin-top: 14px;
	min-height: 38px;
	font-size: 0.72rem;
	padding: 0 18px;
}

.woocommerce-page #content.site-main {
	min-height: 100vh;
	padding-block: clamp(132px, 12vw, 172px) clamp(72px, 9vw, 118px);
	background:
		radial-gradient(circle at 18% 14%, rgba(79, 216, 234, 0.1), transparent 30%),
		radial-gradient(circle at 78% 18%, rgba(181, 140, 255, 0.13), transparent 32%),
		linear-gradient(180deg, rgba(12, 10, 22, 0.96), var(--bg) 48%);
}

.woocommerce-page #primary.content-area {
	width: var(--shell);
	margin-inline: auto;
}

.woocommerce-page #main.site-main {
	width: 100%;
}

.woocommerce-page #sidebar {
	display: none;
}

.woocommerce .woocommerce-breadcrumb {
	margin: 0 0 22px;
	color: var(--muted-2);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.woocommerce .woocommerce-breadcrumb a {
	color: var(--cyan);
}

.woocommerce div.product {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(340px, 0.75fr);
	gap: clamp(28px, 5vw, 64px);
	align-items: start;
	padding: clamp(22px, 4vw, 42px);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: var(--radius);
	background:
		linear-gradient(145deg, rgba(79, 216, 234, 0.07), rgba(181, 140, 255, 0.08)),
		var(--panel);
	box-shadow: var(--shadow), 0 0 38px rgba(181, 140, 255, 0.1);
}

.woocommerce div.product div.images,
.woocommerce-page div.product div.images,
.woocommerce div.product div.summary,
.woocommerce-page div.product div.summary {
	float: none;
	width: auto;
	margin: 0;
}

.woocommerce div.product div.images.woocommerce-product-gallery,
.woocommerce-page div.product div.images.woocommerce-product-gallery,
.woocommerce div.product div.summary.entry-summary,
.woocommerce-page div.product div.summary.entry-summary {
	float: none !important;
	clear: none !important;
	width: 100% !important;
	max-width: none;
}

.woocommerce div.product div.images {
	overflow: hidden;
	padding: clamp(12px, 2vw, 18px);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.055);
}

.woocommerce div.product div.images .woocommerce-product-gallery__image a {
	pointer-events: none;
	cursor: default;
}

.woocommerce div.product div.images img {
	width: 100%;
	border-radius: 5px;
	background: #fff;
	object-fit: contain;
}

.woocommerce div.product .summary {
	display: grid;
	gap: 16px;
	align-content: start;
	padding-top: clamp(4px, 1vw, 10px);
}

.woocommerce div.product .product_title {
	margin: 0;
	color: var(--text);
	font-family: var(--font-display);
	font-size: clamp(2.15rem, 4.4vw, 3.85rem);
	font-weight: 620;
	line-height: 0.95;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	margin: 0;
	color: var(--cyan);
	font-size: clamp(1.35rem, 2.2vw, 1.85rem);
	font-weight: 900;
	text-shadow: 0 0 18px rgba(79, 216, 234, 0.22);
}

.woocommerce div.product .woocommerce-product-details__short-description {
	color: var(--muted);
	font-size: 1.05rem;
}

.woocommerce div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 8px 0 0;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.woocommerce .quantity .qty {
	width: 76px;
	min-height: 48px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.045);
	color: var(--text);
	font-weight: 800;
	text-align: center;
}

.woocommerce div.product form.cart .button,
.woocommerce-page .woocommerce a.button,
.woocommerce-page .woocommerce button.button,
.woocommerce-page .woocommerce input.button,
.woocommerce-page .woocommerce #respond input#submit {
	min-height: 48px;
	padding: 0 24px;
	border: 1px solid rgba(79, 216, 234, 0.58);
	border-radius: var(--radius);
	background: linear-gradient(135deg, var(--cyan), #66e3f1);
	color: #03040a;
	font-size: 0.72rem;
	font-weight: 950;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	box-shadow: 0 12px 34px rgba(79, 216, 234, 0.18);
	transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
}

.woocommerce div.product form.cart .button:hover,
.woocommerce div.product form.cart .button:focus-visible,
.woocommerce-page .woocommerce a.button:hover,
.woocommerce-page .woocommerce a.button:focus-visible,
.woocommerce-page .woocommerce button.button:hover,
.woocommerce-page .woocommerce button.button:focus-visible,
.woocommerce-page .woocommerce input.button:hover,
.woocommerce-page .woocommerce input.button:focus-visible,
.woocommerce-page .woocommerce #respond input#submit:hover,
.woocommerce-page .woocommerce #respond input#submit:focus-visible {
	color: #03040a;
	filter: brightness(1.08);
	box-shadow: 0 16px 40px rgba(79, 216, 234, 0.25), 0 0 26px rgba(181, 140, 255, 0.16);
	transform: translateY(-2px);
}

.woocommerce div.product .product_meta {
	display: grid;
	gap: 8px;
	margin-top: 6px;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	color: var(--muted-2);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.woocommerce div.product .product_meta a,
.woocommerce div.product .product_meta .sku {
	color: var(--violet);
}

.woocommerce div.product .woocommerce-tabs,
.woocommerce .related.products {
	grid-column: 1 / -1;
	margin-top: clamp(28px, 5vw, 54px);
	padding: clamp(22px, 3vw, 32px);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.035);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	margin: 0 0 22px;
	padding: 0;
	border: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0 8px 8px 0;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.045);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	border-color: rgba(181, 140, 255, 0.55);
	background: rgba(181, 140, 255, 0.12);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: 10px 14px;
	color: var(--text);
	font-size: 0.76rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.woocommerce div.product .woocommerce-tabs .panel {
	margin: 0;
	color: var(--muted);
}

.woocommerce div.product .woocommerce-tabs .panel h2,
.woocommerce .related.products h2 {
	margin: 0 0 14px;
	color: var(--text);
	font-family: var(--font-display);
	font-size: var(--h2-size);
	font-weight: 620;
	line-height: 1;
	text-transform: uppercase;
}

.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error {
	width: var(--shell);
	margin: 0 auto 22px;
	border-top-color: var(--cyan);
	border-radius: var(--radius);
	background: var(--panel-strong);
	color: var(--text);
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.32);
}

.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before {
	color: var(--cyan);
}

.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin: 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	float: none;
	width: auto;
	margin: 0;
	padding: 16px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.04);
}

.woocommerce ul.products li.product a img {
	margin: 0 0 14px;
	border-radius: 5px;
	background: #fff;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: var(--text);
	font-size: 1rem;
	line-height: 1.2;
}

.contact-panel {
	display: grid;
	grid-template-columns: minmax(0, 0.82fr) minmax(380px, 0.9fr);
	gap: clamp(48px, 5vw, 72px);
	padding: 36px;
}

.contact-panel > div {
	min-width: 0;
}

form {
	display: grid;
	gap: 14px;
}

label {
	display: grid;
	gap: 7px;
	color: var(--muted);
	font-size: 0.76rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.signup-form--mailchimp em {
	color: var(--cyan);
	font-style: normal;
}

input,
textarea {
	width: 100%;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: rgba(0, 0, 0, 0.24);
	color: var(--text);
	font-weight: 400;
	padding: 12px 14px;
	transition: border-color 180ms ease, box-shadow 180ms ease;
}

input:focus,
textarea:focus {
	outline: none;
	border-color: var(--cyan);
	box-shadow: 0 0 0 3px rgba(79, 216, 234, 0.18), 0 0 14px rgba(79, 216, 234, 0.12);
}

.footer-signup input {
	min-height: 45px;
	border-color: rgba(79, 216, 234, 0.28);
	background: rgba(79, 216, 234, 0.14);
}

.footer-signup input:focus {
	border-color: var(--cyan);
	box-shadow: 0 0 0 3px rgba(79, 216, 234, 0.18), 0 0 18px rgba(79, 216, 234, 0.14);
}

textarea {
	resize: vertical;
}

.mailchimp-hidden {
	position: absolute;
	left: -5000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.form-note {
	margin: 0 0 4px;
	padding: 10px 12px;
	border-radius: var(--radius);
	font-weight: 800;
}

.mailchimp-status {
	grid-column: 1 / -1;
	display: none;
	margin: 0;
	font-size: 0.82rem;
	line-height: 1.45;
}

.mailchimp-status:not(:empty) {
	display: block;
}

.mailchimp-status--pending {
	background: rgba(181, 140, 255, 0.12);
	color: var(--violet);
}

.mailchimp-status--success {
	background: rgba(79, 216, 234, 0.12);
	color: var(--cyan);
}

.mailchimp-status--error {
	background: rgba(217, 79, 180, 0.12);
	color: #ff9dde;
}

.form-note--success {
	background: rgba(79, 216, 234, 0.12);
	color: var(--cyan);
}

.form-note--error {
	background: rgba(217, 79, 180, 0.12);
	color: #ff9dde;
}

.sponsor-strip {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	align-items: center;
}

.sponsor-strip a {
	display: grid;
	min-height: 132px;
	place-items: center;
	padding: 18px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.92);
	transition: border-color 190ms ease, box-shadow 190ms ease, transform 190ms ease;
}

.sponsor-strip a:hover,
.sponsor-strip a:focus-visible {
	border-color: rgba(79, 216, 234, 0.55);
	box-shadow: 0 0 24px rgba(79, 216, 234, 0.2);
	transform: translateY(-2px);
}

.sponsor-strip img {
	width: 100%;
	max-height: 96px;
	object-fit: contain;
}

.sponsors-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.sponsor-card {
	position: relative;
	overflow: hidden;
	display: grid;
	gap: 16px;
	padding: 18px;
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: var(--radius);
	background:
		linear-gradient(145deg, rgba(79, 216, 234, 0.08), rgba(181, 140, 255, 0.08)),
		var(--panel);
	box-shadow: var(--shadow);
	transition: border-color 190ms ease, box-shadow 190ms ease, transform 190ms ease;
}

.sponsor-card::after {
	content: "";
	position: absolute;
	inset: auto 18px 14px;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--cyan), var(--violet), transparent);
	opacity: 0;
	transition: opacity 190ms ease;
}

.sponsor-card:hover,
.sponsor-card:focus-visible {
	border-color: rgba(79, 216, 234, 0.54);
	box-shadow: 0 28px 78px rgba(0, 0, 0, 0.46), 0 0 30px rgba(79, 216, 234, 0.18), 0 0 34px rgba(181, 140, 255, 0.16);
	color: var(--text);
	outline: 0;
	transform: translateY(-5px);
}

.sponsor-card:hover::after,
.sponsor-card:focus-visible::after {
	opacity: 0.9;
}

.sponsor-card__logo {
	display: grid;
	min-height: 190px;
	place-items: center;
	padding: 22px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--radius);
	background: rgba(255, 255, 255, 0.94);
}

.sponsor-card__logo img {
	width: 100%;
	max-height: 150px;
	object-fit: contain;
}

.sponsor-card__name {
	color: var(--text);
	font-family: Roboto, sans-serif;
	font-size: 1.1rem;
	font-weight: 900;
	line-height: 1.1;
}

.sponsor-card__action {
	color: var(--cyan);
	font-family: Roboto, sans-serif;
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.players-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(24px, 3vw, 48px);
	align-items: start;
}

.player-panel {
	display: grid;
	gap: 14px;
}

.player-panel iframe {
	border-radius: var(--radius);
	border: 1px solid var(--line);
}

@media (max-width: 720px) {
	.players-grid {
		grid-template-columns: 1fr;
	}
}

.site-footer {
	padding-block: 70px 28px;
	background: #05060b;
	border-top: 1px solid var(--line);
}

.footer-grid {
	display: grid;
	grid-template-columns: 1fr minmax(360px, 0.95fr) minmax(180px, 0.45fr);
	gap: 36px;
	align-items: start;
}

.footer-brand img {
	width: 88px;
	margin-bottom: 18px;
}

.footer-brand p,
.footer-signup p,
.footer-bottom p {
	color: var(--muted);
}

.footer-signup h2 {
	max-width: 360px;
	font-size: var(--h2-size);
	line-height: 1;
}

.social-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 20px;
}

.social-row a {
	padding: 7px 10px;
}

.signup-form {
	grid-template-columns: 1fr 1fr auto;
	align-items: end;
	gap: 14px;
	overflow: hidden;
}

.signup-form .button--primary {
	min-height: 45px;
	min-width: 144px;
	border-color: rgba(79, 216, 234, 0.58);
	background: var(--cyan);
	box-shadow: 0 0 20px rgba(79, 216, 234, 0.18);
}

.signup-form .button--primary:hover,
.signup-form .button--primary:focus-visible {
	background: linear-gradient(135deg, #74eeff, var(--violet));
	box-shadow: 0 0 28px rgba(79, 216, 234, 0.28), 0 0 18px rgba(181, 140, 255, 0.16);
}

.signup-form .button--primary::after {
	content: none;
}

.footer-links {
	display: grid;
	gap: 10px;
}

.footer-links a {
	color: var(--muted);
	transition: color 180ms ease, text-shadow 180ms ease, transform 180ms ease;
}

.footer-links a:hover,
.footer-links a:focus-visible {
	color: var(--violet);
	text-shadow: 0 0 18px rgba(181, 140, 255, 0.34);
	transform: translateX(3px);
}

.footer-bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px 24px;
	margin-top: 54px;
	padding-top: 24px;
	border-top: 1px solid var(--line);
}

.footer-bottom a {
	color: var(--cyan);
	transition: color 180ms ease, text-shadow 180ms ease;
}

.footer-bottom a:hover,
.footer-bottom a:focus-visible {
	color: var(--violet);
	text-shadow: 0 0 18px rgba(181, 140, 255, 0.34);
}

.page-hero {
	padding-block: 176px clamp(64px, 8vh, 120px);
	text-align: center;
	background:
		linear-gradient(90deg, rgba(4, 5, 11, 0.9), rgba(4, 5, 11, 0.55)),
		url("../images/cyber-city.webp") center / cover;
	border-bottom: 1px solid var(--line);
}

.page-hero--bio {
	background:
		linear-gradient(90deg, rgba(4, 5, 11, 0.92), rgba(4, 5, 11, 0.58)),
		url("../images/vaja-portrait.webp") center / cover;
}

.page-hero--sponsors {
	background:
		radial-gradient(circle at 50% 30%, rgba(79, 216, 234, 0.14), transparent 28%),
		linear-gradient(90deg, rgba(4, 5, 11, 0.93), rgba(12, 8, 22, 0.72)),
		url("../images/cyber-city.webp") center / cover;
}

.entry-content {
	max-width: 860px;
}

.bio-layout {
	max-width: 980px;
}

.bio-content {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--panel);
	box-shadow: var(--shadow);
	padding: clamp(26px, 5vw, 58px);
	color: var(--muted);
	font-size: clamp(1.03rem, 1.55vw, 1.2rem);
	line-height: 1.75;
}

.bio-content p {
	margin: 0 0 1.25em;
}

.bio-content a {
	color: var(--cyan);
	font-weight: 900;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

.bio-content h2 {
	margin: 1.25em 0 0.5em;
	color: var(--text);
	font-family: var(--font-display);
	font-size: var(--h2-size);
	font-weight: 640;
	line-height: 0.95;
	letter-spacing: 0.025em;
	text-transform: uppercase;
}

.bio-intro {
	color: var(--text);
	font-size: clamp(1.35rem, 2.2vw, 2rem);
	font-weight: 900;
	line-height: 1.22;
}

.bio-timeline {
	display: grid;
	gap: 18px;
	margin: 0 0 1.6em;
	padding: 0;
	list-style: none;
}

.bio-timeline li {
	display: grid;
	grid-template-columns: 112px 1fr;
	gap: 18px;
	padding-block: 16px;
	border-top: 1px solid var(--line);
}

.bio-timeline strong {
	color: var(--cyan);
	font-size: 0.85rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.bio-timeline span {
	color: var(--muted);
}

.entry-content a {
	color: var(--cyan);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

.entry-content h2,
.entry-content h3 {
	color: var(--text);
	line-height: 1.15;
}

.featured-image {
	margin-bottom: 28px;
	overflow: hidden;
	border-radius: var(--radius);
}

.content-list {
	display: grid;
	gap: 22px;
}

.post-summary {
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: 24px;
	padding: 18px;
}

.post-summary__image img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: 4px;
}

.post-summary h2 {
	margin: 0;
}

.entry-meta {
	margin-block: 5px 10px;
	color: var(--gold);
	font-size: 0.8rem;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0.12em;
}

@media (max-width: 1080px) {
	.stream-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.sponsors-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.album-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.press-grid {
		grid-template-columns: 1fr 1fr;
	}

	.merch-grid {
		grid-template-columns: 1fr 1fr;
	}

	.merch-card {
		grid-template-columns: 1fr;
	}

	.woocommerce div.product {
		grid-template-columns: 1fr;
	}

	.woocommerce div.product .product_title {
		font-size: clamp(2rem, 8vw, 3.45rem);
	}
}

@media (max-width: 860px) {
	.site-header__inner {
		grid-template-columns: auto 1fr auto;
		justify-content: space-between;
		min-height: 72px;
	}

	.header-right {
		justify-content: flex-end;
	}

	.site-brand {
		width: 88px;
		padding: 8px 7px;
	}

	.site-brand img,
	.custom-logo {
		width: 78px;
	}

	.header-cta {
		display: none;
	}

	.nav-toggle {
		display: block;
	}

	.primary-nav--left,
	.primary-nav--right {
		display: none;
	}

	.mobile-nav {
		position: absolute;
		top: 72px;
		left: 0;
		right: 0;
		display: none;
		width: 100%;
		padding: 18px 20px 24px;
		background: linear-gradient(180deg, rgba(7, 7, 13, 0.99), rgba(14, 12, 24, 0.98));
		border-bottom: 1px solid var(--line);
		box-shadow: 0 24px 70px rgba(0, 0, 0, 0.44);
	}

	.mobile-nav.is-open {
		display: block;
	}

	.mobile-nav .primary-nav__list {
		display: grid;
		gap: 4px;
	}

	.mobile-nav .primary-nav__list a {
		justify-content: center;
		min-height: 42px;
		padding-inline: 12px;
		border: 1px solid transparent;
		border-radius: var(--radius);
	}

	.mobile-nav .primary-nav__list a:hover,
	.mobile-nav .primary-nav__list a:focus-visible {
		background: rgba(181, 140, 255, 0.09);
		border-color: rgba(79, 216, 234, 0.18);
	}

	.primary-nav__list .sub-menu {
		position: static;
		min-width: 0;
		padding: 0 0 0 16px;
		background: transparent;
		border: 0;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		transform: none;
	}

	.primary-nav__list .sub-menu a {
		justify-content: flex-start;
		min-height: 34px;
		color: var(--muted);
	}

	.hero {
		padding-top: 72px;
	}

	.hero__inner,
	.split,
	.split--reverse,
	.release-layout,
	.contact-panel,
	.footer-grid {
		grid-template-columns: 1fr;
	}

	.hero__inner {
		min-height: auto;
		gap: 34px;
		padding-block: 58px 58px;
	}

	.hero h1 {
		font-size: clamp(3.7rem, 17vw, 6.6rem);
	}

	.hero__card {
		align-self: auto;
	}

	.hero__video {
		margin-top: 0;
	}

	.video-lightbox {
		padding: 18px;
	}

	.video-lightbox__dialog {
		grid-template-columns: 1fr;
		width: min(720px, 100%);
	}

	.video-lightbox__frame {
		border-radius: var(--radius) var(--radius) 0 0;
	}

	.video-lightbox__details {
		align-content: start;
		border-top: 1px solid rgba(255, 255, 255, 0.12);
		border-left: 0;
	}

	.section {
		padding-block: 72px;
	}

	.contact-panel {
		padding: 26px;
	}

	.contact-panel h2 span {
		white-space: normal;
	}

	.signup-form {
		grid-template-columns: 1fr;
	}

	.sponsor-strip {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sponsor-card__logo {
		min-height: 160px;
	}

	.post-summary {
		grid-template-columns: 1fr;
	}

	.woocommerce-page #content.site-main {
		padding-block: 108px 74px;
	}

	.woocommerce div.product {
		padding: 18px;
	}

	.woocommerce div.product form.cart {
		display: grid;
		grid-template-columns: 84px 1fr;
	}

	.woocommerce div.product form.cart .button {
		width: 100%;
	}

	.woocommerce ul.products {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 720px) {
	.stream-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	:root {
		--shell: min(100vw - 28px, 1180px);
	}

	.hero__actions .button,
	.button-row .button {
		width: 100%;
	}

	.platform-row a {
		flex: 1 1 calc(50% - 8px);
		justify-content: center;
		text-align: center;
	}

	.stream-grid {
		grid-template-columns: 1fr;
	}

	.stream-card {
		min-height: 132px;
	}

	.video-lightbox {
		padding: 12px;
	}

	.video-lightbox__dialog {
		max-height: calc(100vh - 24px);
	}

	.video-lightbox__details {
		padding: 18px;
	}

	.video-lightbox__actions {
		grid-template-columns: 1fr;
	}

	.video-lightbox__close {
		top: 8px;
		right: 8px;
		width: 38px;
		height: 38px;
	}

	.album-grid,
	.press-grid,
	.merch-grid,
	.sponsors-grid {
		grid-template-columns: 1fr;
	}

	.instagram-feed,
	.instagram-feed [class^="elfsight-app-"] {
		min-height: 320px;
	}

	.instagram-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.instagram-feed #sb_instagram #sbi_images {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.instagram-feed #sb_instagram #sbi_images .sbi_item:nth-child(n + 7) {
		display: none !important;
	}

	.merch-card {
		grid-template-columns: 1fr;
	}

	.merch-card img {
		max-height: 260px;
	}

	.bio-timeline li {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.detail-list li {
		display: grid;
		gap: 2px;
	}

	.detail-list span {
		text-align: left;
	}

	.page-hero {
		padding-block: 136px 62px;
	}

	.woocommerce-page #content.site-main {
		padding-block: 96px 58px;
	}

	.woocommerce .woocommerce-breadcrumb {
		font-size: 0.68rem;
		line-height: 1.5;
	}

	.woocommerce div.product {
		padding: 14px;
	}

	.woocommerce div.product .product_title {
		font-size: clamp(1.9rem, 10vw, 2.65rem);
	}

	.woocommerce div.product form.cart {
		grid-template-columns: 1fr;
	}

	.woocommerce .quantity .qty {
		width: 100%;
	}

	.woocommerce div.product .woocommerce-tabs,
	.woocommerce .related.products {
		padding: 18px;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.001ms !important;
	}

	.reveal-item {
		opacity: 1;
		filter: none;
		transform: none;
	}

	.hero__particles {
		display: none;
	}

	.hero__video,
	.hero__video:hover,
	.hero__video:focus-visible {
		transform: none;
	}
}

/* ---------- Masterclass ---------- */
.page-hero--masterclass .mc-lede {
	max-width: 720px;
	margin: 18px auto 0;
	color: var(--muted);
	font-size: clamp(1rem, 1.4vw, 1.15rem);
	line-height: 1.6;
}

.button-row--centered {
	justify-content: center;
}

/* The lede sets margin-bottom:0, so the CTA row has to own this gap. */
.page-hero--masterclass .button-row {
	margin-top: 28px;
}

.mc-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.mc-card {
	padding: 26px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.015)),
		rgba(8, 10, 18, 0.8);
	transition: border-color 190ms ease, transform 190ms ease, box-shadow 190ms ease;
}

.mc-card:hover {
	border-color: rgba(79, 216, 234, 0.4);
	box-shadow: 0 24px 62px rgba(0, 0, 0, 0.4);
	transform: translateY(-4px);
}

.mc-card h3 {
	margin: 0 0 8px;
	font-family: var(--font-display);
	font-size: 1.12rem;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.mc-card p {
	margin: 0;
	color: var(--muted);
	font-size: 0.94rem;
	line-height: 1.6;
}

.mc-tiers {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	align-items: stretch;
}

.mc-tier {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	padding: 32px 26px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: rgba(8, 10, 18, 0.82);
}

.mc-tier--featured {
	border-color: rgba(79, 216, 234, 0.45);
	background:
		linear-gradient(145deg, rgba(79, 216, 234, 0.12), rgba(181, 140, 255, 0.07)),
		rgba(8, 10, 18, 0.9);
	box-shadow: 0 26px 70px rgba(0, 0, 0, 0.45);
}

.mc-tier__badge {
	align-self: start;
	padding: 5px 11px;
	border-radius: 999px;
	background: rgba(79, 216, 234, 0.16);
	color: var(--cyan);
	font-size: 0.68rem;
	font-weight: 900;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.mc-tier h3 {
	margin: 0;
	font-family: var(--font-display);
	font-size: 1.25rem;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.mc-tier__price {
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(2rem, 3.4vw, 2.85rem);
	font-weight: 640;
	line-height: 1;
}

.mc-tier__summary,
.mc-tier__unit {
	margin: 0;
	color: var(--muted);
	font-size: 0.9rem;
}

.mc-tier__unit {
	color: var(--cyan);
}

/* margin-top:auto pins every CTA to the card floor regardless of copy length */
.mc-tier .button {
	margin-top: auto;
	align-self: stretch;
}

.mc-tier__badge--placeholder {
	visibility: hidden;
}

.mc-faq {
	display: grid;
	gap: 10px;
	max-width: 860px;
}

.mc-faq__item {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: rgba(8, 10, 18, 0.72);
}

.mc-faq__item summary {
	padding: 18px 22px;
	cursor: pointer;
	font-family: var(--font-display);
	font-size: 1.02rem;
	letter-spacing: 0.015em;
	list-style: none;
}

.mc-faq__item summary::-webkit-details-marker {
	display: none;
}

.mc-faq__item summary::after {
	content: "+";
	float: right;
	color: var(--cyan);
	font-size: 1.3rem;
	line-height: 1;
}

.mc-faq__item[open] summary::after {
	content: "\2013";
}

.mc-faq__item p {
	margin: 0;
	padding: 0 22px 20px;
	color: var(--muted);
	font-size: 0.95rem;
	line-height: 1.65;
}

.mc-cta {
	display: grid;
	justify-items: center;
	gap: 14px;
	text-align: center;
}

.mc-cta h2 {
	margin: 0;
	font-family: var(--font-display);
	font-size: var(--h2-size);
	font-weight: 640;
	letter-spacing: 0.025em;
	text-transform: uppercase;
}

.mc-cta p {
	max-width: 620px;
	margin: 0;
	color: var(--muted);
}

@media (max-width: 860px) {
	.mc-grid,
	.mc-tiers {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 620px) {
	.mc-grid,
	.mc-tiers {
		grid-template-columns: 1fr;
	}
}

/* ---------- Product lightbox ---------- */
.product-lightbox {
	position: fixed;
	inset: 0;
	z-index: 999;
	display: grid;
	place-items: center;
	padding: clamp(18px, 4vw, 52px);
	background:
		radial-gradient(circle at 50% 42%, rgba(181, 140, 255, 0.2), transparent 36%),
		linear-gradient(135deg, rgba(2, 3, 9, 0.94), rgba(10, 4, 18, 0.93));
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
}

.product-lightbox__dialog {
	position: relative;
	width: min(720px, 94vw);
	max-height: calc(100vh - clamp(36px, 8vw, 104px));
	overflow: auto;
	padding: clamp(28px, 4vw, 44px);
	border: 1px solid rgba(181, 140, 255, 0.6);
	border-radius: var(--radius);
	background:
		linear-gradient(145deg, rgba(79, 216, 234, 0.07), rgba(181, 140, 255, 0.08)),
		#05060d;
	box-shadow: 0 34px 120px rgba(0, 0, 0, 0.72), 0 0 34px rgba(79, 216, 234, 0.2);
	animation: vaja-modal-enter 360ms cubic-bezier(0.2, 0.78, 0.24, 1) both;
}

.product-lightbox__close {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 38px;
	height: 38px;
	border: 1px solid var(--line);
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.4);
	color: var(--text);
	font-size: 1.4rem;
	line-height: 1;
	cursor: pointer;
	transition: border-color 190ms ease, color 190ms ease;
}

.product-lightbox__close:hover,
.product-lightbox__close:focus-visible {
	border-color: var(--cyan);
	color: var(--cyan);
	outline: 0;
}

.product-lightbox__loading {
	margin: 0;
	color: var(--muted);
	text-align: center;
}

/* The injected markup is WooCommerce's, and sits outside .woocommerce, so the
   store styles do not reach it. Restyle it to the theme here. */
.product-lightbox .product_title {
	margin: 0 0 10px;
	padding-right: 44px;
	font-family: inherit;
	font-size: 1.08rem;
	font-weight: 700;
	line-height: 1.18;
	letter-spacing: normal;
	text-transform: none;
}

.product-lightbox .product-title__line {
	display: block;
	white-space: nowrap;
}

.product-lightbox .product-title__line + .product-title__line {
	margin-top: 0.28em;
}

.product-lightbox .price {
	display: block;
	margin: 0 0 18px;
	color: var(--cyan);
	font-family: var(--font-display);
	font-size: clamp(1.6rem, 2.6vw, 2.2rem);
	font-weight: 640;
}

.product-lightbox .price del {
	opacity: 0.5;
}

.product-lightbox .woocommerce-product-details__short-description,
.product-lightbox__description {
	margin-bottom: 22px;
	color: var(--muted);
	font-size: 0.96rem;
	line-height: 1.65;
}

/* Separate the description from the add-to-cart row it follows. */
.product-lightbox__description {
	margin-top: 26px;
	padding-top: 22px;
	border-top: 1px solid var(--line);
}

.product-lightbox__description h2 {
	margin: 0 0 8px;
	font-family: var(--font-display);
	font-size: 1rem;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.product-lightbox form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 0;
}

.product-lightbox .quantity input {
	width: 96px;
	padding: 13px 8px 13px 14px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: rgba(0, 0, 0, 0.35);
	color: var(--text);
	font: inherit;
	text-align: center;
}

.product-lightbox button[type="submit"] {
	flex: 1 1 200px;
	padding: 15px 26px;
	border: 0;
	border-radius: var(--radius);
	background: var(--cyan);
	color: #04121a;
	font-family: var(--font-display);
	font-size: 0.86rem;
	font-weight: 900;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	cursor: pointer;
	transition: transform 190ms ease, box-shadow 190ms ease;
}

.product-lightbox button[type="submit"]:hover,
.product-lightbox button[type="submit"]:focus-visible {
	box-shadow: 0 0 28px rgba(79, 216, 234, 0.5);
	outline: 0;
	transform: translateY(-2px);
}

.product-lightbox .product_meta,
.product-lightbox .woocommerce-product-rating,
.product-lightbox .woocommerce-tabs {
	display: none;
}

/* ---------- Press gallery controls ---------- */
.press-lightbox__cta {
	flex: 0 0 auto;
	min-height: 36px;
	padding: 0 18px;
	font-size: 0.68rem;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.vaja-nav {
	position: relative;
	z-index: 3;
	display: grid;
	width: 54px;
	height: 54px;
	place-items: center;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: linear-gradient(142deg, #c79bff 0%, var(--violet) 42%, #7a3fd6 100%);
	color: #fff;
	cursor: pointer;
	box-shadow:
		0 12px 34px rgba(122, 63, 214, 0.5),
		inset 0 0 0 1px rgba(255, 255, 255, 0.22),
		inset 0 -6px 14px rgba(0, 0, 0, 0.22);
	transition:
		transform 280ms cubic-bezier(0.2, 0.78, 0.24, 1),
		box-shadow 280ms ease,
		filter 280ms ease;
}

.press-lightbox__figure .vaja-nav {
	position: absolute;
	top: 50%;
	margin-top: -27px;
}

.press-lightbox__figure .vaja-nav--prev { left: clamp(20px, 2.4vw, 34px); }
.press-lightbox__figure .vaja-nav--next { right: clamp(20px, 2.4vw, 34px); }

.vaja-nav svg {
	width: 22px;
	height: 22px;
	transition: transform 280ms cubic-bezier(0.2, 0.78, 0.24, 1);
}

/* Slow radar ping so the control reads as interactive without nagging. */
.vaja-nav::after {
	content: "";
	position: absolute;
	inset: -2px;
	border: 2px solid var(--violet);
	border-radius: 50%;
	opacity: 0;
	animation: vaja-nav-ping 3.4s cubic-bezier(0.2, 0.7, 0.3, 1) infinite;
}

.vaja-nav--next::after { animation-delay: 0.35s; }

@keyframes vaja-nav-ping {
	0%        { transform: scale(1);    opacity: 0.55; }
	60%, 100% { transform: scale(1.34); opacity: 0; }
}

.vaja-nav:hover,
.vaja-nav:focus-visible {
	filter: brightness(1.12) saturate(1.1);
	outline: 0;
	transform: scale(1.11);
	box-shadow:
		0 18px 46px rgba(122, 63, 214, 0.68),
		0 0 30px rgba(181, 140, 255, 0.55),
		inset 0 0 0 1px rgba(255, 255, 255, 0.32);
}

.vaja-nav:focus-visible {
	outline: 2px solid var(--cyan);
	outline-offset: 5px;
}

.vaja-nav--next:hover svg,
.vaja-nav--next:focus-visible svg { transform: translateX(3px); }

.vaja-nav--prev:hover svg,
.vaja-nav--prev:focus-visible svg { transform: translateX(-3px); }

.vaja-nav:active { transform: scale(0.94); }

.press-lightbox__counter {
	position: absolute;
	bottom: 14px;
	left: 50%;
	transform: translateX(-50%);
	padding: 5px 13px;
	border: 1px solid rgba(181, 140, 255, 0.32);
	border-radius: 999px;
	background: rgba(8, 6, 18, 0.72);
	color: var(--violet);
	font-size: 0.7rem;
	font-weight: 900;
	letter-spacing: 0.14em;
}

/* Slide the new clipping in from whichever side the reader is heading. */
@keyframes vaja-slide-next {
	from { opacity: 0; transform: translateX(34px) scale(0.985); }
	to   { opacity: 1; transform: none; }
}

@keyframes vaja-slide-prev {
	from { opacity: 0; transform: translateX(-34px) scale(0.985); }
	to   { opacity: 1; transform: none; }
}

.press-lightbox__figure.is-entering-next img {
	animation: vaja-slide-next 430ms cubic-bezier(0.2, 0.78, 0.24, 1) both;
}

.press-lightbox__figure.is-entering-prev img {
	animation: vaja-slide-prev 430ms cubic-bezier(0.2, 0.78, 0.24, 1) both;
}

@media (max-width: 620px) {
	.vaja-nav {
		width: 44px;
		height: 44px;
	}

	.vaja-nav svg { width: 18px; height: 18px; }

	.press-lightbox__figure .vaja-nav { margin-top: -22px; }
	.press-lightbox__figure .vaja-nav--prev { left: 14px; }
	.press-lightbox__figure .vaja-nav--next { right: 14px; }

	.press-lightbox__figure {
		padding: 14px 66px 34px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.vaja-nav::after { animation: none; }

	.press-lightbox__figure.is-entering-next img,
	.press-lightbox__figure.is-entering-prev img { animation: none; }
}

/* ---------- Product lightbox: product photo ---------- */
.product-lightbox__body.has-media {
	display: grid;
	grid-template-columns: minmax(0, 0.82fr) minmax(0, 1fr);
	gap: clamp(20px, 3vw, 34px);
	align-items: start;
}

.product-lightbox__media {
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: #0a0b13;
}

.product-lightbox__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.product-lightbox__detail {
	min-width: 0;
}

@media (max-width: 720px) {
	.product-lightbox__body.has-media {
		grid-template-columns: 1fr;
	}

	.product-lightbox__media img {
		aspect-ratio: 16 / 10;
	}
}

/* ---------- Product lightbox: gallery nav ---------- */
.product-lightbox__nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin: 0;
	padding: 12px 14px;
	border-top: 1px solid var(--line);
}

.product-lightbox__nav .vaja-nav {
	width: 38px;
	height: 38px;
	box-shadow:
		0 7px 20px rgba(122, 63, 214, 0.42),
		inset 0 0 0 1px rgba(255, 255, 255, 0.22),
		inset 0 -4px 9px rgba(0, 0, 0, 0.2);
}

.product-lightbox__nav .vaja-nav svg {
	width: 16px;
	height: 16px;
}

.product-lightbox__count {
	min-width: 58px;
	color: var(--violet);
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.14em;
	text-align: center;
}

@keyframes vaja-product-next {
	from { opacity: 0; transform: translateX(26px); }
	to   { opacity: 1; transform: none; }
}

@keyframes vaja-product-prev {
	from { opacity: 0; transform: translateX(-26px); }
	to   { opacity: 1; transform: none; }
}

.product-lightbox__body.is-entering-next {
	animation: vaja-product-next 380ms cubic-bezier(0.2, 0.78, 0.24, 1) both;
}

.product-lightbox__body.is-entering-prev {
	animation: vaja-product-prev 380ms cubic-bezier(0.2, 0.78, 0.24, 1) both;
}

/* ---------- Clickable merch thumbnails ---------- */
.merch-card__media {
	display: block;
	overflow: hidden;
	border-radius: 4px;
	cursor: pointer;
}

.merch-card__media img {
	transition: transform 320ms cubic-bezier(0.2, 0.78, 0.24, 1);
}

.merch-card__media:hover img,
.merch-card__media:focus-visible img {
	transform: scale(1.04);
}

.merch-card__media:focus-visible {
	outline: 2px solid var(--cyan);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	.product-lightbox__body.is-entering-next,
	.product-lightbox__body.is-entering-prev { animation: none; }

	.merch-card__media:hover img { transform: none; }
}

/* ==========================================================================
   WooCommerce Blocks: Cart and Checkout
   The store runs the block-based cart/checkout, which uses the wc-block-*
   namespace rather than the classic .woocommerce classes this theme already
   styles. Without these rules the blocks fall back to WooCommerce's own
   light-theme defaults on a dark page.
   ========================================================================== */

.wc-block-cart,
.wc-block-checkout {
	color: var(--text);
	font-family: var(--font-body);
}

.wc-block-cart a,
.wc-block-checkout a {
	color: var(--cyan);
}

/* ---- headings ---- */
.wc-block-cart__totals-title,
.wc-block-components-title,
.wc-block-cart-items__header {
	color: var(--text);
	font-family: var(--font-display);
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.wc-block-cart-items__header {
	border-bottom: 1px solid var(--line);
	color: var(--muted-2);
	font-size: 0.72rem;
	font-weight: 900;
}

/* ---- line items ---- */
.wc-block-cart-items__row,
.wc-block-cart-item__wrap {
	border-color: var(--line);
}

.wc-block-cart-items__row {
	border-bottom: 1px solid var(--line);
}

.wc-block-cart-item__image img {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: #fff;
}

.wc-block-components-product-name {
	color: var(--text);
	font-family: var(--font-display);
	font-size: 1.02rem;
	letter-spacing: 0.015em;
	text-decoration: none;
}

.wc-block-components-product-name:hover {
	color: var(--cyan);
}

.wc-block-components-product-metadata,
.wc-block-components-product-metadata__description {
	color: var(--muted);
	font-size: 0.88rem;
}

.wc-block-cart-item__remove-link {
	color: var(--muted-2);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.wc-block-cart-item__remove-link:hover {
	color: var(--magenta);
}

.wc-block-components-formatted-money-amount,
.wc-block-cart-item__total {
	color: var(--text);
	font-weight: 700;
}

/* ---- quantity stepper ---- */
.wc-block-components-quantity-selector {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: rgba(0, 0, 0, 0.32);
}

.wc-block-components-quantity-selector::after {
	border-color: var(--line);
}

.wc-block-components-quantity-selector__input {
	background: transparent;
	color: var(--text);
	font-family: var(--font-body);
}

.wc-block-components-quantity-selector__button {
	background: transparent;
	color: var(--muted);
	transition: color 180ms ease;
}

.wc-block-components-quantity-selector__button:hover:not(:disabled) {
	color: var(--cyan);
}

/* ---- totals sidebar ---- */
.wc-block-components-sidebar {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--panel);
	box-shadow: var(--shadow);
	padding: clamp(18px, 2.4vw, 26px);
}

.wc-block-components-totals-item {
	color: var(--muted);
}

.wc-block-components-totals-item__label {
	color: var(--muted);
}

.wc-block-components-totals-item__value {
	color: var(--text);
	font-weight: 700;
}

.wc-block-components-totals-footer-item {
	border-top: 1px solid var(--line);
	color: var(--text);
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--cyan);
	font-family: var(--font-display);
	font-size: 1.45rem;
}

.wc-block-components-panel__button,
.wc-block-components-totals-coupon__button {
	color: var(--cyan);
}

/* ---- buttons: match the theme's primary button ---- */
.wc-block-cart__submit-button,
.wc-block-components-button:not(.is-link) {
	border: 0;
	border-radius: var(--radius);
	background-color: var(--cyan);
	color: #04121a;
	font-family: var(--font-display);
	font-size: 0.8rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.wc-block-cart__submit-button:hover,
.wc-block-components-button:not(.is-link):hover {
	background-color: var(--cyan);
	box-shadow: 0 0 26px rgba(79, 216, 234, 0.45);
	transform: translateY(-2px);
}

.wc-block-components-button.is-link {
	color: var(--cyan);
}

/* ---- form fields ---- */
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="number"],
.wc-block-components-textarea,
.wc-block-components-select__container,
.wc-block-components-combobox-control input {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: rgba(0, 0, 0, 0.32);
	color: var(--text);
	font-family: var(--font-body);
}

.wc-block-components-text-input input:focus,
.wc-block-components-textarea:focus {
	border-color: var(--cyan);
	box-shadow: 0 0 0 1px var(--cyan);
	outline: 0;
}

.wc-block-components-text-input label,
.wc-block-components-checkbox__label,
.wc-block-components-radio-control__label,
.wc-block-components-form .wc-block-components-title {
	color: var(--muted);
}

.wc-block-components-text-input.is-active label {
	color: var(--cyan);
}

/* ---- checkout blocks ---- */
.wc-block-checkout__form,
.wc-block-components-checkout-step {
	border-color: var(--line);
}

.wc-block-components-checkout-step__title {
	color: var(--text);
	font-family: var(--font-display);
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.wc-block-components-checkout-step__description,
.wc-block-components-checkout-step__heading-content {
	color: var(--muted);
}

.wc-block-components-radio-control-accordion-option,
.wc-block-components-radio-control__option {
	border-color: var(--line);
}

.wc-block-components-radio-control-accordion-content {
	color: var(--muted);
}

.wc-block-components-order-summary-item__description,
.wc-block-components-order-summary-item__individual-price {
	color: var(--muted);
}

/* ---- notices ---- */
.wc-block-components-notice-banner {
	border-radius: var(--radius);
	background: var(--panel-strong);
	color: var(--text);
}

.wc-block-components-notice-banner.is-error {
	border-color: var(--magenta);
}

.wc-block-components-notice-banner.is-success {
	border-color: var(--cyan);
}

/* ---- empty cart ---- */
.wp-block-woocommerce-empty-cart-block {
	color: var(--muted);
}

.wp-block-woocommerce-empty-cart-block h2,
.wc-block-cart__empty-cart__title {
	color: var(--text);
	font-family: var(--font-display);
	text-transform: uppercase;
}

/* ---- page shell ---- */
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main {
	padding-block: clamp(48px, 6vw, 88px);
}

@media (max-width: 780px) {
	.wc-block-components-sidebar {
		padding: 18px;
	}
}

/* --------------------------------------------------------------------------
   Blocks overrides that need to beat WooCommerce's own specificity.
   Verified empirically: a plain rule appended after theme.css still loses,
   so these carry !important deliberately rather than by habit.
   -------------------------------------------------------------------------- */
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-combobox-control input,
.wc-block-components-select select {
	background-color: rgba(0, 0, 0, 0.32) !important;
	border-color: var(--line) !important;
	color: var(--text) !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-textarea:focus {
	border-color: var(--cyan) !important;
	box-shadow: 0 0 0 1px var(--cyan) !important;
}

.wc-block-components-text-input input::placeholder {
	color: var(--muted-2) !important;
}

/* Autofill repaints the field white in Chrome. */
.wc-block-components-text-input input:-webkit-autofill {
	-webkit-text-fill-color: var(--text) !important;
	-webkit-box-shadow: 0 0 0 60px #14151f inset !important;
}

.wc-block-components-notice-banner {
	background-color: var(--panel-strong) !important;
	color: var(--text) !important;
}

.wc-block-components-notice-banner.is-error { border-color: var(--magenta) !important; }
.wc-block-components-notice-banner.is-success { border-color: var(--cyan) !important; }
.wc-block-components-notice-banner.is-info { border-color: var(--violet) !important; }

.wc-block-components-notice-banner > .wc-block-components-notice-banner__content {
	color: var(--text) !important;
}

/* ---- checkout order summary ---- */
.wc-block-components-checkout-order-summary__title,
.wc-block-components-checkout-order-summary__title-text {
	color: var(--text);
	font-family: var(--font-display);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.wc-block-components-checkout-order-summary__title-price {
	color: var(--cyan);
	font-weight: 700;
}

.wc-block-components-checkout-order-summary__content,
.wc-block-components-order-summary-item {
	border-color: var(--line);
	color: var(--muted);
}

.wc-block-components-order-summary-item__title,
.wc-block-components-order-summary-item__total-price {
	color: var(--text);
}

.wc-block-components-order-summary-item__quantity {
	border: 1px solid var(--line);
	background: var(--panel-strong);
	color: var(--text);
}

/* ---- payment step ---- */
.wc-block-checkout__payment-method .wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option {
	border-color: var(--line);
}

.wc-block-checkout__payment-method label,
.wc-block-components-radio-control__label {
	color: var(--text);
}

.wc-block-checkout__no-payment-methods-notice {
	background-color: var(--panel-strong) !important;
	color: var(--text) !important;
}

/* ---------- Header cart ---------- */
.header-right {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(12px, 1.6vw, 26px);
}

.cart-link {
	position: relative;
	display: grid;
	flex: 0 0 auto;
	width: 42px;
	height: 42px;
	place-items: center;
	border: 1px solid rgba(79, 216, 234, 0.42);
	border-radius: 50%;
	color: var(--cyan);
	transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;
}

.cart-link:hover,
.cart-link:focus-visible {
	border-color: var(--cyan);
	box-shadow: 0 0 22px rgba(79, 216, 234, 0.34);
	outline: 0;
	transform: translateY(-2px);
}

.cart-link:focus-visible {
	outline: 2px solid var(--cyan);
	outline-offset: 3px;
}

.cart-link svg {
	width: 21px;
	height: 21px;
}

.cart-link__count {
	position: absolute;
	top: -5px;
	right: -5px;
	min-width: 19px;
	height: 19px;
	padding: 0 5px;
	border-radius: 999px;
	background: var(--cyan);
	color: #04121a;
	font-family: var(--font-display);
	font-size: 0.64rem;
	font-weight: 900;
	line-height: 19px;
	text-align: center;
}

.cart-link__count.is-empty {
	display: none;
}

@media (max-width: 620px) {
	.cart-link {
		width: 38px;
		height: 38px;
	}

	.cart-link svg {
		width: 19px;
		height: 19px;
	}
}

/* ==========================================================================
   WooCommerce classic cart and checkout
   The cart/checkout pages use the classic shortcodes, which render the
   .shop_table / .cart_totals markup rather than the wc-block-* namespace.
   ========================================================================== */

.woocommerce-cart .site-main,
.woocommerce-checkout .site-main {
	padding-block: clamp(40px, 5vw, 76px);
}

.woocommerce-cart .site-main > .woocommerce,
.woocommerce-checkout .site-main > .woocommerce {
	width: var(--shell);
	margin-inline: auto;
}

/* ---- notices ---- */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
	border-top: 0;
	border-left: 3px solid var(--cyan);
	border-radius: var(--radius);
	background: var(--panel-strong);
	color: var(--text);
}

.woocommerce-notices-wrapper .woocommerce-error {
	border-left-color: var(--magenta);
}

.woocommerce-notices-wrapper .woocommerce-message::before,
.woocommerce-notices-wrapper .woocommerce-info::before {
	color: var(--cyan);
}

/* ---- the line item table ---- */
.woocommerce table.shop_table {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	border-collapse: separate;
	color: var(--text);
}

.woocommerce table.shop_table th {
	border-bottom: 1px solid var(--line);
	color: var(--muted-2);
	font-family: var(--font-display);
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.woocommerce table.shop_table td {
	border-top: 1px solid var(--line);
	padding: 16px 12px;
	vertical-align: middle;
}

.woocommerce table.shop_table tbody tr:first-child td {
	border-top: 0;
}

.woocommerce table.cart img,
.woocommerce .product-thumbnail img {
	width: 68px;
	height: 68px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: #fff;
	object-fit: cover;
}

.woocommerce table.cart .product-name a {
	color: var(--text);
	font-family: var(--font-display);
	font-size: 1rem;
	letter-spacing: 0.015em;
	text-decoration: none;
}

.woocommerce table.cart .product-name a:hover {
	color: var(--cyan);
}

.woocommerce .woocommerce-Price-amount {
	color: var(--text);
	font-weight: 700;
}

.woocommerce td.product-remove a.remove {
	color: var(--muted-2) !important;
	font-weight: 400;
}

.woocommerce td.product-remove a.remove:hover {
	background: transparent !important;
	color: var(--magenta) !important;
}

/* ---- quantity stepper ---- */
.woocommerce .quantity input.qty,
.woocommerce div.product form.cart .quantity input.qty {
	width: 76px;
	padding: 11px 8px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: rgba(0, 0, 0, 0.34);
	color: var(--text);
	font-family: var(--font-body);
	text-align: center;
}

/* ---- coupon + actions row ---- */
.woocommerce table.cart td.actions {
	border-top: 1px solid var(--line);
	padding: 18px 12px;
}

.woocommerce table.cart td.actions .coupon {
	display: flex;
	gap: 10px;
	align-items: center;
}

.woocommerce #coupon_code,
.woocommerce input[type="text"]#coupon_code {
	width: auto;
	min-width: 190px;
	padding: 12px 14px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: rgba(0, 0, 0, 0.34);
	color: var(--text);
	font-family: var(--font-body);
}

/* ---- buttons ---- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit {
	border: 0;
	border-radius: var(--radius);
	background-color: var(--cyan);
	color: #04121a;
	font-family: var(--font-display);
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	line-height: 1;
	padding: 15px 24px;
	text-transform: uppercase;
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
	background-color: var(--cyan);
	box-shadow: 0 0 26px rgba(79, 216, 234, 0.45);
	color: #04121a;
	transform: translateY(-2px);
}

.woocommerce button.button:disabled,
.woocommerce button.button[disabled] {
	background-color: rgba(79, 216, 234, 0.28);
	color: rgba(4, 18, 26, 0.6);
}

/* Secondary action ("Update cart") should not compete with checkout. */
.woocommerce table.cart td.actions button[name="update_cart"] {
	background: transparent;
	border: 1px solid var(--line);
	color: var(--muted);
}

.woocommerce table.cart td.actions button[name="update_cart"]:hover:not(:disabled) {
	border-color: var(--cyan);
	box-shadow: none;
	color: var(--cyan);
}

/* ---- totals panel ---- */
.cart-collaterals .cart_totals,
.woocommerce .cart_totals {
	padding: clamp(18px, 2.4vw, 26px);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--panel);
	box-shadow: var(--shadow);
}

.woocommerce .cart_totals h2 {
	margin: 0 0 14px;
	font-family: var(--font-display);
	font-size: 1.15rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.woocommerce .cart_totals table.shop_table {
	border: 0;
}

.woocommerce .cart_totals table.shop_table th,
.woocommerce .cart_totals table.shop_table td {
	border-top: 1px solid var(--line);
	padding: 12px 0;
	background: transparent;
}

.woocommerce .cart_totals .order-total th,
.woocommerce .cart_totals .order-total td {
	color: var(--text);
}

.woocommerce .cart_totals .order-total .woocommerce-Price-amount {
	color: var(--cyan);
	font-family: var(--font-display);
	font-size: 1.35rem;
}

.woocommerce .wc-proceed-to-checkout {
	padding-top: 16px;
}

.woocommerce .wc-proceed-to-checkout a.checkout-button {
	display: block;
	text-align: center;
}

/* ---- checkout ---- */
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading {
	font-family: var(--font-display);
	font-size: 1.15rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.woocommerce form .form-row label {
	color: var(--muted);
	font-size: 0.86rem;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single {
	padding: 12px 14px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: rgba(0, 0, 0, 0.34);
	color: var(--text);
	font-family: var(--font-body);
	line-height: 1.4;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
	border-color: var(--cyan);
	box-shadow: 0 0 0 1px var(--cyan);
	outline: 0;
}

.woocommerce .select2-container .select2-selection__rendered {
	color: var(--text);
	line-height: 1.4;
}

.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-payment {
	border-radius: var(--radius);
	background: var(--panel) !important;
}

.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods {
	border-bottom: 1px solid var(--line);
}

.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li {
	color: var(--text);
}

.woocommerce-checkout .woocommerce-checkout-payment div.payment_box {
	background: var(--panel-strong);
	color: var(--muted);
}

.woocommerce-checkout .woocommerce-checkout-payment div.payment_box::before {
	border-bottom-color: var(--panel-strong);
}

.woocommerce-checkout #place_order {
	width: 100%;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
.woocommerce-privacy-policy-text {
	color: var(--muted);
	font-size: 0.88rem;
}

@media (max-width: 780px) {
	.woocommerce table.shop_table_responsive tr td {
		border-top: 1px solid var(--line);
		text-align: right;
	}

	.woocommerce table.cart td.actions .coupon {
		flex-direction: column;
		align-items: stretch;
	}
}
