﻿/**
 * Luckera Casino v 3.0 — compiled from SCSS partials.
 */
/**
 * Design tokens: luxury dark + gold + green CTA.
 */
:root {
	--nvc-font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--nvc-font-display: "Montserrat", var(--nvc-font-sans);

	--nvc-ink: #ffffff;
	--nvc-ink-muted: #b8b8b8;
	--nvc-ink-faint: #7a7a7a;

	--nvc-bg-0: #0f0f10;
	--nvc-bg-1: #1a1a1d;
	--nvc-bg-deep: #141416;
	--nvc-nav-active: #252528;
	--nvc-panel: rgba(26, 26, 29, 0.78);
	--nvc-line: rgba(255, 255, 255, 0.08);

	--nvc-gold: #d4af37;
	--nvc-gold-bright: #f5d67a;
	--nvc-gold-amber: #c89b3c;
	--nvc-gold-glow: rgba(212, 175, 55, 0.3);
	--nvc-gold-gradient: linear-gradient(135deg, #c89b3c, #f5d67a, #d4af37);

	--nvc-neon: #d4af37;
	--nvc-violet: #2a2418;
	--nvc-ice: #f5d67a;

	--nvc-cta: #3baa7b;
	--nvc-cta-hover: #4ecf95;
	--nvc-cta-glow: 0 0 1.35rem rgba(59, 170, 123, 0.45), 0 0 2.5rem rgba(59, 170, 123, 0.22);

	--nvc-header-bg: rgba(20, 20, 22, 0.62);
	--nvc-header-blur: 0.875rem;
	--nvc-login-bg: rgba(26, 26, 29, 0.95);
	--nvc-login-hover: rgba(42, 40, 34, 0.98);
	--nvc-hero-radius: 1.25rem;

	--nvc-radius-sm: 0.5rem;
	--nvc-radius-md: 0.75rem;
	--nvc-radius-lg: 1.5rem;
	--nvc-space-1: 0.5rem;
	--nvc-space-2: 1rem;
	--nvc-space-3: 1.5rem;
	--nvc-space-4: 2rem;
	--nvc-space-5: 3rem;
	--nvc-space-6: 4.5rem;
	--nvc-max: 90rem;

	--nvc-glow: 0 0 2.25rem var(--nvc-gold-glow), 0 0 3.75rem rgba(200, 155, 60, 0.12);
	--nvc-ease: cubic-bezier(0.4, 0, 0.2, 1);

	--nvc-blur-panel: 0.85rem;
	--nvc-glass-elevated: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 1.25rem 3rem rgba(0, 0, 0, 0.35);
	--nvc-gradient-accent-h: linear-gradient(90deg, var(--nvc-gold-amber), var(--nvc-gold-bright), var(--nvc-gold));
	--nvc-gradient-accent-v: linear-gradient(180deg, var(--nvc-gold-amber), var(--nvc-gold));
	--nvc-gradient-table-head: linear-gradient(135deg, rgba(212, 175, 55, 0.18), rgba(42, 36, 24, 0.2));
	--nvc-selection: rgba(212, 175, 55, 0.35);
}
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body.nvc-root {
	margin: 0;
	font-family: var(--nvc-font-sans);
	font-size: 1rem;
	line-height: 1.6;
	color: var(--nvc-ink);
	background: radial-gradient(110% 75% at 12% 100%, rgba(212, 175, 55, 0.1), transparent 52%),
		radial-gradient(90% 60% at 100% 0%, rgba(200, 155, 60, 0.08), transparent 45%), var(--nvc-bg-0);
	min-height: 100vh;
}

.nvc-ambient {
	position: fixed;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	background: radial-gradient(42rem 42rem at 8% 92%, rgba(212, 175, 55, 0.14), transparent 62%),
		radial-gradient(36rem 36rem at 88% 8%, rgba(245, 214, 122, 0.06), transparent 58%),
		repeating-linear-gradient(90deg, transparent, transparent 2px, rgba(212, 175, 55, 0.02) 2px, rgba(212, 175, 55, 0.02) 3px);
	filter: saturate(1.05);
}

.nvc-page {
	position: relative;
	z-index: 1;
	padding-bottom: var(--nvc-space-6);
}

.nvc-shell {
	width: min(100% - clamp(1rem, 3vw, var(--nvc-space-4)), var(--nvc-max));
	max-width: 100%;
	margin-inline: auto;
}

.nvc-u-vishid {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: inherit;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
}

.nvc-page input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
.nvc-page textarea,
.nvc-page select {
	background: var(--nvc-bg-deep);
	border: 1px solid var(--nvc-line);
	color: var(--nvc-ink);
	border-radius: var(--nvc-radius-sm);
	padding: 0.5rem 0.75rem;
	transition: border-color 0.2s var(--nvc-ease), box-shadow 0.2s var(--nvc-ease);
}

.nvc-page input:focus-visible,
.nvc-page textarea:focus-visible,
.nvc-page select:focus-visible {
	outline: none;
	border-color: rgba(212, 175, 55, 0.65);
	box-shadow: 0 0 0 1px rgba(212, 175, 55, 0.35), 0 0 1rem var(--nvc-gold-glow);
}

/* Masthead — frosted bar (blurred), centered nav */
.nvc-masthead {
	position: sticky;
	top: 0;
	z-index: 40;
	background: transparent;
	transition: box-shadow 0.35s var(--nvc-ease);
}

.nvc-masthead--pinned {
	box-shadow: 0 0.35rem 2rem rgba(212, 175, 55, 0.12);
}

.nvc-masthead__bar {
	background: var(--nvc-header-bg);
	backdrop-filter: blur(var(--nvc-header-blur)) saturate(1.12);
	-webkit-backdrop-filter: blur(var(--nvc-header-blur)) saturate(1.12);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.nvc-masthead__shell {
	display: flex;
	align-items: center;
	gap: var(--nvc-space-3);
	padding: 0.85rem 0;
	min-height: 4.25rem;
}

.nvc-masthead__brand {
	flex-shrink: 0;
}

.nvc-masthead__brand-link {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	text-decoration: none;
	color: var(--nvc-ink);
}

.nvc-masthead__mark {
	display: flex;
	align-items: center;
}

.nvc-masthead__mark-svg {
	width: 2.75rem;
	height: auto;
	display: block;
}

.nvc-masthead__wordmark {
	font-family: var(--nvc-font-display);
	font-weight: 800;
	font-size: clamp(1.05rem, 2.4vw, 1.25rem);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.nvc-masthead__logo .custom-logo-link {
	display: inline-flex;
	align-items: center;
}

.nvc-masthead__logo img {
	max-height: clamp(2.5rem, 5vw, 3.35rem);
	width: auto;
}

.nvc-masthead__nav {
	flex: 1;
	display: none;
	justify-content: center;
	min-width: 0;
}

.nvc-masthead__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.35rem 1.75rem;
}

.nvc-masthead__list a {
	text-decoration: none;
	font-weight: 600;
	font-size: 0.9rem;
	color: var(--nvc-ink);
	transition: color 0.2s var(--nvc-ease);
}

.nvc-masthead__list a:hover,
.nvc-masthead__list a:focus-visible {
	color: var(--nvc-ice);
}

.nvc-masthead .current-menu-item > a,
.nvc-masthead .current_page_item > a {
	background: var(--nvc-nav-active);
	color: var(--nvc-ink);
	padding: 0.4rem 0.95rem;
	border-radius: 0.625rem;
}

.nvc-masthead__more-item {
	list-style: none;
}

.nvc-masthead__more {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	padding: 0;
	border: none;
	border-radius: 0.5rem;
	background: transparent;
	color: var(--nvc-ink);
	cursor: pointer;
	transition: background 0.2s var(--nvc-ease);
}

.nvc-masthead__more:hover,
.nvc-masthead__more:focus-visible {
	background: rgba(255, 255, 255, 0.08);
}

.nvc-masthead__more-dots {
	font-size: 1.05rem;
	line-height: 1;
	letter-spacing: 0.02em;
	font-weight: 800;
	color: inherit;
}

.nvc-masthead__tools {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin-left: auto;
	flex-shrink: 0;
}

.nvc-masthead__tools .nvc-action--nav {
	display: none;
}

.nvc-burger {
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.35rem;
	width: 2.6rem;
	height: 2.6rem;
	border-radius: 0.625rem;
	border: 1px solid rgba(255, 255, 255, 0.12);
	background: rgba(255, 255, 255, 0.06);
	cursor: pointer;
}

.nvc-burger__bar {
	display: block;
	height: 2px;
	width: 1.1rem;
	margin-inline: auto;
	background: #fff;
	border-radius: 999px;
}

/* Drawer */
.nvc-drawer[hidden] {
	display: none;
}

.nvc-drawer:not([hidden]) {
	position: fixed;
	inset: 0;
	z-index: 60;
	display: block;
}

.nvc-drawer__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(5, 8, 22, 0.62);
	backdrop-filter: blur(0.25rem);
}

.nvc-drawer__panel {
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: min(22rem, 92vw);
	padding: var(--nvc-space-3);
	background: rgba(15, 15, 30, 0.97);
	border-left: 1px solid var(--nvc-line);
	display: flex;
	flex-direction: column;
	gap: var(--nvc-space-3);
	box-shadow: -1.5rem 0 4rem rgba(0, 0, 0, 0.5);
}

.nvc-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.nvc-drawer__title {
	margin: 0;
	font-family: var(--nvc-font-display);
}

.nvc-drawer__close {
	border: none;
	background: transparent;
	color: inherit;
	font-size: 1.75rem;
	cursor: pointer;
	line-height: 1;
}

.nvc-drawer__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--nvc-space-2);
}

.nvc-drawer__list a {
	text-decoration: none;
	font-weight: 600;
}

.nvc-drawer__cta {
	margin-top: auto;
	display: grid;
	gap: var(--nvc-space-2);
}

/* Footer — same language as masthead: dark depth, gold accent, glass edge */
.nvc-foot {
	position: relative;
	margin-top: var(--nvc-space-6);
	padding: 0 0 var(--nvc-space-3);
	border-top: 1px solid rgba(255, 255, 255, 0.05);
	background: linear-gradient(180deg, rgba(24, 24, 30, 0.97) 0%, var(--nvc-bg-0) 55%, #060607 100%);
	box-shadow: inset 0 1px 0 rgba(212, 175, 55, 0.07);
	overflow: hidden;
}

.nvc-foot--tight {
	margin-top: var(--nvc-space-2);
}

.nvc-foot::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: var(--nvc-gradient-accent-h);
	opacity: 0.88;
	pointer-events: none;
}

.nvc-foot__grid {
	display: grid;
	gap: var(--nvc-space-4);
	padding-top: var(--nvc-space-5);
	padding-bottom: var(--nvc-space-4);
	text-align: center;
}

.nvc-foot__col--brand {
	max-width: 36ch;
	justify-self: center;
}

.nvc-foot__logo {
	margin: 0 0 var(--nvc-space-2);
}

.nvc-foot__logo .custom-logo-link {
	display: inline-flex;
	align-items: center;
}

.nvc-foot__logo img {
	display: block;
	width: auto;
	max-height: clamp(2.35rem, 4.8vw, 3rem);
}

.nvc-foot__name {
	font-family: var(--nvc-font-display);
	font-weight: 800;
	font-size: clamp(1rem, 2.2vw, 1.2rem);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin: 0 0 var(--nvc-space-2);
	background: var(--nvc-gold-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
	.nvc-foot__name {
		color: var(--nvc-gold-bright);
		background: none;
	}
}

.nvc-foot__tag {
	margin: 0;
	color: var(--nvc-ink-muted);
	font-size: 0.9rem;
	line-height: 1.55;
	max-width: 42ch;
	margin-inline: auto;
}

.nvc-foot__label {
	font-family: var(--nvc-font-display);
	font-weight: 700;
	font-size: 0.68rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin: 0 0 var(--nvc-space-2);
	color: var(--nvc-gold-amber);
}

.nvc-foot__menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.35rem;
	justify-items: center;
}

.nvc-foot__menu a {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.35rem 0;
	text-decoration: none;
	font-weight: 600;
	font-size: 0.9rem;
	color: var(--nvc-ink-muted);
	border-radius: var(--nvc-radius-sm);
	transition: color 0.2s var(--nvc-ease), background 0.2s var(--nvc-ease), box-shadow 0.2s var(--nvc-ease);
}

.nvc-foot__menu a:hover,
.nvc-foot__menu a:focus-visible {
	color: var(--nvc-ice);
}

.nvc-foot__menu a:focus-visible {
	outline: 2px solid rgba(212, 175, 55, 0.5);
	outline-offset: 2px;
}

.nvc-foot__menu .current-menu-item > a,
.nvc-foot__menu .current_page_item > a {
	color: var(--nvc-ink);
	background: rgba(255, 255, 255, 0.05);
	box-shadow: inset 0 0 0 1px rgba(212, 175, 55, 0.22);
	padding-inline: 0.65rem;
}

.nvc-foot__contact {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--nvc-space-2);
	justify-items: center;
}

.nvc-foot__contact-item {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.55;
	color: var(--nvc-ink-muted);
}

.nvc-foot__contact-link {
	font-weight: 600;
	color: inherit;
	text-decoration: none;
	transition: color 0.2s var(--nvc-ease);
}

.nvc-foot__contact-link:hover,
.nvc-foot__contact-link:focus-visible {
	color: var(--nvc-ice);
}

.nvc-foot__contact-link:focus-visible {
	outline: 2px solid rgba(212, 175, 55, 0.5);
	outline-offset: 2px;
	border-radius: 2px;
}

.nvc-foot__contact-text {
	font-weight: 600;
}

.nvc-foot__contact + .nvc-foot__social {
	margin-top: var(--nvc-space-3);
	padding-top: var(--nvc-space-3);
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.nvc-foot__social .nvc-foot__label {
	margin-top: 0;
}

.nvc-foot__social-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: center;
}

.nvc-foot__social-item {
	margin: 0;
	line-height: 0;
}

.nvc-foot__social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.65rem;
	height: 2.65rem;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.1);
	color: var(--nvc-ink-muted);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
	text-decoration: none;
	transition: color 0.2s var(--nvc-ease), border-color 0.2s var(--nvc-ease), box-shadow 0.25s var(--nvc-ease),
		transform 0.2s var(--nvc-ease), background 0.2s var(--nvc-ease);
}

.nvc-foot__social-link:hover,
.nvc-foot__social-link:focus-visible {
	color: var(--nvc-gold-bright);
	border-color: rgba(212, 175, 55, 0.45);
	background: rgba(42, 36, 24, 0.45);
	box-shadow: 0 0 1rem var(--nvc-gold-glow), inset 0 1px 0 rgba(255, 255, 255, 0.08);
	transform: translateY(-2px);
}

.nvc-foot__social-link:focus-visible {
	outline: 2px solid rgba(212, 175, 55, 0.45);
	outline-offset: 2px;
}

.nvc-foot__social-svg {
	display: block;
	width: 1.05rem;
	height: 1.05rem;
	flex-shrink: 0;
}

.nvc-foot__social-svg--vk text {
	font-family: var(--nvc-font-display), system-ui, sans-serif;
}

.nvc-foot__legal-strip {
	margin-top: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	background: rgba(0, 0, 0, 0.38);
	padding: var(--nvc-space-3) 0 var(--nvc-space-4);
	box-shadow: inset 0 1px 0 rgba(212, 175, 55, 0.04);
}

.nvc-foot__legal {
	margin: 0 auto;
	font-size: 0.8125rem;
	line-height: 1.6;
	color: var(--nvc-ink-faint);
	text-align: center;
	max-width: var(--nvc-max);
}

.nvc-foot__legal-sep {
	display: inline-block;
	width: 0.25rem;
}

.nvc-foot__legal-brand {
	color: var(--nvc-ink-muted);
	font-weight: 600;
}

/* Floating CTA */
.nvc-float-cta {
	position: fixed;
	z-index: 45;
	right: var(--nvc-space-3);
	bottom: var(--nvc-space-3);
	padding: 0.85rem 1.25rem;
	border-radius: 0.625rem;
	background: linear-gradient(135deg, var(--nvc-cta), #2d8f63);
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	box-shadow: var(--nvc-cta-glow);
	transition: transform 0.25s var(--nvc-ease), box-shadow 0.25s var(--nvc-ease);
}

.nvc-float-cta:hover {
	transform: translateY(-2px);
	box-shadow: 0 0 1.75rem rgba(59, 170, 123, 0.55), 0 0 3rem rgba(59, 170, 123, 0.28);
}

/* Hero — same width as .nvc-shell (content column) */
.nvc-hero {
	position: relative;
	padding: var(--nvc-space-4) 0 var(--nvc-space-5);
	overflow: hidden;
}

.nvc-hero__card {
	position: relative;
	width: 100%;
	margin: 0;
	border-radius: var(--nvc-hero-radius);
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.08);
	box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(0, 0, 0, 0.35);
}

.nvc-hero__card-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.nvc-hero__aurora {
	position: absolute;
	inset: 0;
	z-index: 0;
	background: radial-gradient(ellipse 85% 55% at 18% 28%, rgba(212, 175, 55, 0.14), transparent 58%),
		radial-gradient(ellipse 70% 45% at 88% 72%, rgba(245, 214, 122, 0.08), transparent 52%),
		radial-gradient(circle at 50% 120%, rgba(200, 155, 60, 0.06), transparent 45%), var(--nvc-bg-1);
}

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

.nvc-hero__slide {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0;
	transition: opacity 1s var(--nvc-ease);
}

.nvc-hero__slide--active {
	opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
	.nvc-hero__slide {
		transition: opacity 0.35s ease;
	}
}

.nvc-hero__card-inner {
	position: relative;
	z-index: 1;
	display: grid;
	gap: var(--nvc-space-3);
	align-items: center;
	padding: clamp(1.5rem, 4vw, 2.75rem) clamp(1.25rem, 3vw, 3rem) 2.75rem;
	min-height: clamp(15rem, 42vw, 22rem);
	grid-template-columns: 1fr;
}

.nvc-hero__copy {
	display: grid;
	gap: var(--nvc-space-2);
	max-width: 36rem;
}

.nvc-hero__eyebrow {
	margin: 0;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-size: 0.72rem;
	color: rgba(255, 255, 255, 0.65);
}

.nvc-hero__title {
	margin: 0;
	display: grid;
	gap: 0.35rem;
	font-family: var(--nvc-font-display);
	color: var(--nvc-ink);
	line-height: 1.05;
}

.nvc-hero__title-line {
	font-size: clamp(1.25rem, 2.8vw, 1.85rem);
	font-weight: 700;
}

.nvc-hero__title-mega {
	font-size: clamp(1.85rem, 5.5vw, 3.35rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	text-shadow: 0 0 2.5rem rgba(212, 175, 55, 0.25);
}

.nvc-hero__sub {
	margin: 0;
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.95rem;
}

.nvc-hero__dots {
	position: absolute;
	z-index: 2;
	left: 50%;
	bottom: 1rem;
	transform: translateX(-50%);
	display: flex;
	gap: 0.45rem;
	align-items: center;
}

.nvc-hero__dot {
	appearance: none;
	margin: 0;
	padding: 0;
	border: 0;
	cursor: pointer;
	width: 1.35rem;
	height: 0.28rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.25);
	transition: background 0.25s var(--nvc-ease), transform 0.25s var(--nvc-ease);
}

.nvc-hero__dot:focus-visible {
	outline: 2px solid rgba(212, 175, 55, 0.85);
	outline-offset: 3px;
}

.nvc-hero__dot--active {
	background: var(--nvc-gold-gradient);
	box-shadow: 0 0 0.65rem var(--nvc-gold-glow);
	transform: scaleX(1.15);
}

@media (max-width: 47.99rem) {
	.nvc-hero__copy {
		text-align: center;
		justify-items: center;
		margin-inline: auto;
	}
}

@media (min-width: 30rem) {
	.nvc-masthead__tools .nvc-action--nav {
		display: inline-flex;
	}
}

@media (min-width: 48rem) {
	.nvc-masthead__nav {
		display: flex;
	}

	.nvc-burger {
		display: none;
	}
}

.nvc-band__head--games {
	margin-bottom: var(--nvc-space-3);
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--nvc-space-2);
}

.nvc-band__intro {
	display: grid;
	gap: var(--nvc-space-1);
	min-width: 0;
}

.nvc-band__chips {
	display: flex;
	flex-wrap: wrap;
	gap: var(--nvc-space-1);
}

.nvc-chip {
	border-radius: 999px;
	border: 1px solid var(--nvc-line);
	background: rgba(255, 255, 255, 0.04);
	color: inherit;
	padding: 0.45rem 0.9rem;
	font-weight: 600;
	cursor: pointer;
	transition: transform 0.2s var(--nvc-ease), box-shadow 0.2s var(--nvc-ease), border-color 0.2s var(--nvc-ease);
}

.nvc-chip--active,
.nvc-chip:hover {
	border-color: rgba(212, 175, 55, 0.5);
	box-shadow: 0 0 1.5rem rgba(212, 175, 55, 0.22);
	transform: translateY(-1px);
}

/* Discover strip (horizontal category pills under games) */
.nvc-explore {
	padding: 0 0 var(--nvc-space-4);
}

.nvc-explore__title {
	margin: 0 0 var(--nvc-space-2);
	font-family: var(--nvc-font-display);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.92);
}

.nvc-explore__bar {
	background: var(--nvc-bg-deep);
	border: 1px solid rgba(212, 175, 55, 0.12);
	border-radius: var(--nvc-radius-md);
	padding: 0.95rem 0.75rem;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
	min-width: 0;
}

.nvc-explore__track {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	padding-block: 0.35rem;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
	touch-action: pan-x pan-y;
	cursor: grab;
	scrollbar-width: none;
	-ms-overflow-style: none;
	transform: translateZ(0);
}

.nvc-explore__track::-webkit-scrollbar {
	display: none;
}

.nvc-explore__track.nvc-explore__track--dragging {
	cursor: grabbing;
	user-select: none;
}

.nvc-explore__track.nvc-explore__track--dragging * {
	user-select: none;
}

.nvc-explore__chip {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	min-height: 2.85rem;
	padding: 0.35rem 0.75rem;
	border: 1px solid rgba(255, 255, 255, 0.07);
	border-radius: var(--nvc-radius-sm);
	background: var(--nvc-bg-1);
	color: var(--nvc-ink);
	text-decoration: none;
	font-weight: 700;
	font-size: 0.78rem;
	line-height: 1.15;
	white-space: nowrap;
	touch-action: auto;
	-webkit-tap-highlight-color: transparent;
	transition: border-color 0.2s var(--nvc-ease), box-shadow 0.2s var(--nvc-ease), transform 0.2s var(--nvc-ease);
}

.nvc-explore__chip:hover {
	border-color: rgba(212, 175, 55, 0.45);
	box-shadow: 0 0 1rem rgba(212, 175, 55, 0.18);
	transform: translateY(-1px);
}

.nvc-explore__chip--filter {
	padding: 0.35rem 0.6rem;
	min-width: 2.75rem;
	justify-content: center;
	cursor: pointer;
	font: inherit;
	color: inherit;
}

.nvc-explore__chip--filter:hover {
	transform: translateY(-1px);
}

.nvc-explore__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.nvc-explore__glyph {
	display: block;
	width: 1.35rem;
	height: 1.35rem;
	color: #c9a94a;
	flex-shrink: 0;
}

.nvc-explore__chip--accent .nvc-explore__glyph {
	color: #4ade80;
}

.nvc-explore__text {
	display: flex;
	flex-direction: column;
	gap: 0.05em;
	text-align: left;
}

.nvc-explore__text--single {
	justify-content: center;
}

.nvc-explore__line1,
.nvc-explore__line2 {
	display: block;
}

.nvc-explore__line2 {
	font-size: 0.72em;
	font-weight: 700;
	opacity: 0.92;
}

/* Bands + mosaic */
.nvc-band {
	padding: var(--nvc-space-5) 0;
}

.nvc-band--studios {
	padding-block: 0.375rem;
}

.nvc-band__head:not(.nvc-band__head--games) {
	margin-bottom: var(--nvc-space-4);
	display: grid;
	gap: var(--nvc-space-1);
}

.nvc-band__title {
	margin: 0;
	font-family: var(--nvc-font-display);
	font-size: clamp(1.5rem, 2.6vw, 2.1rem);
}

.nvc-band__note {
	margin: 0;
	color: var(--nvc-ink-muted);
	max-width: 52ch;
}

/* Game grids: dense columns so slot tiles read smaller on screen */
.nvc-mosaic {
	display: grid;
	gap: var(--nvc-space-2);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nvc-stack {
	display: grid;
	gap: var(--nvc-space-3);
}

.nvc-cluster {
	display: grid;
	gap: var(--nvc-space-3);
}

/* data-nvc-reveal: optional hook; text always visible */
[data-nvc-reveal] {
	opacity: 1;
	transform: none;
}

/* Breakpoints */
@media (min-width: 30rem) {
	.nvc-mosaic {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 48rem) {
	/* 768 */
	.nvc-mosaic {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.nvc-foot__grid {
		align-items: start;
		gap: var(--nvc-space-4) var(--nvc-space-5);
		text-align: left;
	}

	.nvc-foot__col--brand {
		justify-self: start;
	}

	.nvc-foot__tag {
		margin-inline: 0;
	}

	.nvc-foot__menu,
	.nvc-foot__contact {
		justify-items: start;
	}

	.nvc-foot__social-list {
		justify-content: flex-start;
	}

	.nvc-foot__grid[data-nvc-foot-cols="2"] {
		grid-template-columns: 1.25fr 1fr;
	}

	.nvc-foot__grid[data-nvc-foot-cols="3"] {
		grid-template-columns: 1.15fr 1fr 1fr;
	}

	.nvc-foot__grid[data-nvc-foot-cols="4"] {
		grid-template-columns: 1.05fr 0.92fr 1fr 0.92fr;
	}

	.nvc-foot__col:not(.nvc-foot__col--brand) {
		padding-left: var(--nvc-space-4);
		border-left: 1px solid rgba(255, 255, 255, 0.06);
	}

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

	.nvc-band__head--games {
		flex-direction: row;
		align-items: flex-end;
		justify-content: space-between;
		gap: var(--nvc-space-3);
		margin-bottom: var(--nvc-space-4);
	}

	.nvc-band__chips {
		justify-content: flex-end;
		max-width: min(100%, 36rem);
	}
}

@media (min-width: 64rem) {
	/* 1024 */
	.nvc-mosaic {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

	.nvc-titlegame__layout {
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
		align-items: start;
	}
}

@media (min-width: 80rem) {
	/* 1280 */
	.nvc-mosaic {
		grid-template-columns: repeat(8, minmax(0, 1fr));
		gap: var(--nvc-space-2);
	}
}

/* Primary menu sub-flyouts */
.nvc-masthead .sub-menu {
	list-style: none;
	margin: 0;
	padding: var(--nvc-space-2);
	position: absolute;
	left: 0;
	top: 100%;
	min-width: 12rem;
	display: none;
	background: rgba(22, 24, 42, 0.72);
	backdrop-filter: blur(var(--nvc-header-blur)) saturate(1.12);
	-webkit-backdrop-filter: blur(var(--nvc-header-blur)) saturate(1.12);
	border: 1px solid var(--nvc-line);
	border-radius: var(--nvc-radius-md);
	box-shadow: 0 1.25rem 3rem rgba(0, 0, 0, 0.35);
	z-index: 50;
}

.nvc-masthead li {
	position: relative;
}

.nvc-masthead li:hover > .sub-menu,
.nvc-masthead li:focus-within > .sub-menu {
	display: grid;
	gap: var(--nvc-space-1);
}

.nvc-masthead .sub-menu a {
	display: block;
	padding: 0.35rem 0.5rem;
	border-radius: var(--nvc-radius-sm);
	text-decoration: none;
	color: var(--nvc-ink-muted);
	background: transparent;
}

.nvc-masthead .sub-menu a:hover,
.nvc-masthead .sub-menu a:focus-visible {
	background: rgba(212, 175, 55, 0.12);
	color: var(--nvc-ink);
}
/* Buttons / actions */
.nvc-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	padding: 0.65rem 1.2rem;
	border-radius: var(--nvc-radius-md);
	font-weight: 700;
	text-decoration: none;
	border: 1px solid transparent;
	cursor: pointer;
	transition: transform 0.2s var(--nvc-ease), box-shadow 0.25s var(--nvc-ease), background 0.25s var(--nvc-ease);
}

.nvc-action--solid {
	background: linear-gradient(135deg, var(--nvc-cta), #2d8f63);
	color: #fff;
	box-shadow: var(--nvc-cta-glow);
}

.nvc-action--solid:hover,
.nvc-action--solid:focus-visible {
	transform: translateY(-1px);
	box-shadow: 0 0 1.75rem rgba(59, 170, 123, 0.55), 0 0 3rem rgba(59, 170, 123, 0.28);
}

.nvc-action--ghost {
	background: rgba(255, 255, 255, 0.04);
	border-color: var(--nvc-line);
	color: var(--nvc-ink);
}

.nvc-action--ghost:hover,
.nvc-action--ghost:focus-visible {
	border-color: rgba(212, 175, 55, 0.55);
	box-shadow: 0 0 1rem var(--nvc-gold-glow);
	color: var(--nvc-gold-bright);
}

.nvc-action--login {
	background: var(--nvc-login-bg);
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.06);
}

.nvc-action--login:hover,
.nvc-action--login:focus-visible {
	background: var(--nvc-login-hover);
	transform: translateY(-1px);
}

.nvc-action--nav {
	padding: 0.55rem 1.1rem;
	font-size: 0.875rem;
	border-radius: 0.625rem;
}

.nvc-action--hero {
	width: 50%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 0.75rem 1rem;
	font-size: 1rem;
	border-radius: 3.125rem;
	box-shadow: var(--nvc-cta-glow), 0 0.35rem 1.75rem rgba(59, 170, 123, 0.35);
}

.nvc-action--xl {
	padding: 0.85rem 1.45rem;
	font-size: 1.02rem;
}

.nvc-action--expand {
	width: 100%;
}

/* Badges */
.nvc-badge {
	display: inline-flex;
	align-items: center;
	padding: 0.2rem 0.65rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	border: 1px solid var(--nvc-line);
	background: rgba(255, 255, 255, 0.04);
}

.nvc-badge--glow {
	border-color: rgba(212, 175, 55, 0.45);
	box-shadow: 0 0 1rem rgba(212, 175, 55, 0.25);
}

.nvc-badge--pulse {
	animation: nvc-pulse 2.8s ease-in-out infinite;
}

@keyframes nvc-pulse {
	0%,
	100% {
		box-shadow: 0 0 0 0 rgba(212, 175, 55, 0.35);
	}
	50% {
		box-shadow: 0 0 0 0.55rem rgba(212, 175, 55, 0);
	}
}

/* Score meter */
.nvc-score {
	display: inline-flex;
	align-items: center;
	gap: var(--nvc-space-2);
}

.nvc-score__meter {
	width: 8rem;
	height: 0.45rem;
	appearance: none;
	border: none;
}

.nvc-score__meter::-webkit-meter-bar {
	background: rgba(255, 255, 255, 0.08);
	border-radius: 999px;
}
.nvc-score__meter::-webkit-meter-optimum-value {
	background: linear-gradient(90deg, var(--nvc-ice), var(--nvc-neon));
	border-radius: 999px;
}

.nvc-score__meter::-moz-meter-bar {
	background: rgba(255, 255, 255, 0.08);
	border-radius: 999px;
}
.nvc-score__meter:-moz-meter-optimum {
	background: linear-gradient(90deg, var(--nvc-ice), var(--nvc-neon));
	border-radius: 999px;
}

.nvc-score__value {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

/* Game tiles */
.nvc-tile {
	border-radius: var(--nvc-radius-md);
	border: 1px solid var(--nvc-line);
	background: var(--nvc-panel);
	backdrop-filter: blur(0.85rem);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform 0.35s var(--nvc-ease), box-shadow 0.35s var(--nvc-ease);
}

.nvc-tile:hover {
	transform: translateY(-0.2rem) scale(1.015);
	box-shadow: var(--nvc-glow);
}

.nvc-tile__media {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

.nvc-tile__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s var(--nvc-ease);
}

.nvc-tile:hover .nvc-tile__media img {
	transform: scale(1.06);
}

.nvc-tile__shine {
	position: absolute;
	inset: -40%;
	background: radial-gradient(circle at 30% 20%, rgba(255, 255, 255, 0.25), transparent 55%);
	mix-blend-mode: screen;
	opacity: 0;
	transition: opacity 0.5s var(--nvc-ease);
}

.nvc-tile:hover .nvc-tile__shine {
	opacity: 1;
}

.nvc-tile__ph {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(140deg, rgba(42, 36, 24, 0.4), rgba(212, 175, 55, 0.12));
}

.nvc-tile__body {
	padding: 0.4rem 0.5rem 0.55rem;
	display: grid;
	gap: 0.15rem;
}

.nvc-tile__eyebrow {
	margin: 0;
	font-size: 0.62rem;
	line-height: 1.2;
	color: var(--nvc-ink-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.nvc-tile__title {
	margin: 0;
	font-size: 0.72rem;
	line-height: 1.25;
	font-family: var(--nvc-font-display);
}

.nvc-tile__title-link {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	text-decoration: none;
}

/* Spotlight */
.nvc-spotlight {
	display: grid;
	gap: var(--nvc-space-3);
	border-radius: var(--nvc-radius-lg);
	border: 1px solid var(--nvc-line);
	background: linear-gradient(135deg, rgba(42, 36, 24, 0.2), rgba(212, 175, 55, 0.08));
	backdrop-filter: blur(1rem);
	padding: var(--nvc-space-3);
}

.nvc-spotlight__visual {
	border-radius: var(--nvc-radius-md);
	overflow: hidden;
	min-height: 12rem;
}

.nvc-spotlight__img,
.nvc-spotlight__ph {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	min-height: 12rem;
}

.nvc-spotlight__ph {
	background: radial-gradient(circle at 30% 30%, rgba(212, 175, 55, 0.3), rgba(42, 36, 24, 0.25));
}

.nvc-spotlight__copy {
	display: grid;
	gap: var(--nvc-space-2);
	align-content: start;
}

.nvc-spotlight__kicker {
	margin: 0;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: var(--nvc-ice);
}

.nvc-spotlight__title {
	margin: 0;
	font-size: 1.45rem;
	font-family: var(--nvc-font-display);
}

.nvc-spotlight__bonus {
	margin: 0;
	color: var(--nvc-ink-muted);
}

.nvc-spotlight__row {
	display: flex;
	flex-wrap: wrap;
	gap: var(--nvc-space-2);
}

@media (min-width: 48rem) {
	.nvc-spotlight {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
		align-items: center;
	}
}

/* Bonus cards */
.nvc-bonus {
	border-radius: var(--nvc-radius-md);
	padding: var(--nvc-space-3);
	border: 1px solid var(--nvc-line);
	background: var(--nvc-panel);
	backdrop-filter: blur(0.9rem);
	display: grid;
	gap: var(--nvc-space-2);
}

.nvc-bonus__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--nvc-space-2);
}

.nvc-bonus__title {
	margin: 0;
	font-size: 1.1rem;
	font-family: var(--nvc-font-display);
}

.nvc-bonus__text {
	margin: 0;
	color: var(--nvc-ink-muted);
}

.nvc-bonus__meter {
	display: grid;
	gap: 0.35rem;
}

.nvc-bonus__label {
	font-size: 0.8rem;
	color: var(--nvc-ink-muted);
}

.nvc-bonus__bar {
	width: 100%;
	height: 0.55rem;
}

.nvc-bonus__bar::-webkit-meter-bar {
	background: rgba(255, 255, 255, 0.08);
	border-radius: 999px;
}
.nvc-bonus__bar::-webkit-meter-optimum-value {
	background: linear-gradient(90deg, var(--nvc-violet), var(--nvc-neon));
	border-radius: 999px;
}

.nvc-bonus__bar::-moz-meter-bar {
	background: rgba(255, 255, 255, 0.08);
	border-radius: 999px;
}
.nvc-bonus__bar:-moz-meter-optimum {
	background: linear-gradient(90deg, var(--nvc-violet), var(--nvc-neon));
	border-radius: 999px;
}

/* FAQ */
.nvc-faq__title {
	font-family: var(--nvc-font-display);
	margin: 0 0 var(--nvc-space-3);
}

.nvc-faq__list {
	display: grid;
	gap: var(--nvc-space-2);
}

.nvc-faq__item {
	border-radius: var(--nvc-radius-md);
	border: 1px solid var(--nvc-line);
	background: var(--nvc-panel);
	backdrop-filter: blur(0.7rem);
	padding: 0 var(--nvc-space-2);
}

.nvc-faq__q {
	cursor: pointer;
	font-weight: 700;
	padding: var(--nvc-space-2) 0;
	list-style: none;
}

.nvc-faq__q::-webkit-details-marker {
	display: none;
}

.nvc-faq__a {
	padding-bottom: var(--nvc-space-2);
	color: var(--nvc-ink-muted);
}

.nvc-faq__a p {
	margin: 0;
}

/* Responsible gambling */
.nvc-band--responsible {
	padding-top: var(--nvc-space-3);
	padding-bottom: 0;
}

.nvc-rg {
	border: 1px solid var(--nvc-line);
	border-radius: var(--nvc-radius-lg);
	padding: clamp(1rem, 2.6vw, 1.6rem);
	background: linear-gradient(145deg, rgba(212, 175, 55, 0.08), rgba(20, 20, 24, 0.75));
	backdrop-filter: blur(0.8rem);
}

.nvc-rg__head {
	display: grid;
	gap: 0.45rem;
	margin-bottom: var(--nvc-space-3);
}

.nvc-rg__title {
	margin: 0;
	font-family: var(--nvc-font-display);
	font-size: clamp(1.2rem, 2.5vw, 1.6rem);
}

.nvc-rg__note {
	margin: 0;
	color: var(--nvc-ink-muted);
	max-width: 70ch;
}

.nvc-rg__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--nvc-space-2);
	grid-template-columns: 1fr;
}

.nvc-rg__card {
	border: 1px solid var(--nvc-line);
	border-radius: var(--nvc-radius-md);
	padding: 0.9rem 0.95rem;
	background: rgba(16, 17, 26, 0.72);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.nvc-rg__card-title {
	margin: 0 0 0.4rem;
	font-family: var(--nvc-font-display);
	font-size: 0.95rem;
	color: var(--nvc-gold-bright);
}

.nvc-rg__card-text {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.55;
	color: var(--nvc-ink-muted);
}

@media (min-width: 48rem) {
	.nvc-rg__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64rem) {
	.nvc-rg__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* Payments */
.nvc-pay__title {
	font-family: var(--nvc-font-display);
	margin: 0 0 var(--nvc-space-3);
	text-align: center;
}

.nvc-pay__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	width: 100%;
	gap: var(--nvc-space-2);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 11.5rem), 1fr));
}

.nvc-pay__cell {
	border-radius: var(--nvc-radius-md);
	padding: 0.75rem 1rem;
	border: 1px solid var(--nvc-line);
	background: linear-gradient(160deg, rgba(212, 175, 55, 0.07), rgba(42, 36, 24, 0.1));
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	min-width: 0;
	box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.28);
	text-align: center;
}

.nvc-pay__cell--has-logo {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(4.5rem, 1.2fr);
	align-items: stretch;
	column-gap: clamp(0.65rem, 2vw, 1rem);
	text-align: center;
}

.nvc-pay__text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	align-self: center;
	gap: 0.2rem;
	min-width: 0;
	width: 100%;
	text-align: center;
}

.nvc-pay__divider {
	width: 1px;
	min-height: 100%;
	align-self: stretch;
	justify-self: center;
	border-radius: 1px;
	background: linear-gradient(
		180deg,
		transparent 0%,
		rgba(212, 175, 55, 0.25) 12%,
		rgba(245, 214, 122, 0.65) 50%,
		rgba(212, 175, 55, 0.25) 88%,
		transparent 100%
	);
	box-shadow: 0 0 0.65rem rgba(212, 175, 55, 0.28);
}

.nvc-pay__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: clamp(2.35rem, 3.25vw, 2.85rem);
	width: 100%;
	max-width: 8.75rem;
	margin: 0;
	padding-inline: 0.35rem;
	min-width: 0;
	align-self: center;
}

.nvc-pay__logo-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center center;
	filter: drop-shadow(0 0.15rem 0.35rem rgba(0, 0, 0, 0.35));
}

.nvc-pay__label {
	font-weight: 800;
	font-family: var(--nvc-font-display);
}

.nvc-pay__sub {
	color: var(--nvc-ink-muted);
	font-size: 0.9rem;
}

/* Providers */
.nvc-studios__title {
	font-family: var(--nvc-font-display);
	margin: 0;
}

.nvc-studios__rail {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	width: 100%;
	gap: var(--nvc-space-2);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 9.25rem), 1fr));
}

.nvc-studios__chip {
	border-radius: var(--nvc-radius-md);
	border: 1px solid var(--nvc-line);
	padding: 0.75rem 1rem;
	background: rgba(255, 255, 255, 0.04);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-width: 0;
	min-height: 6.75rem;
	width: 100%;
	text-align: center;
}

.nvc-studios__chip-link {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex: 1 1 auto;
	align-self: stretch;
	gap: 0.5rem;
	text-decoration: none;
	color: inherit;
	min-width: 0;
	width: 100%;
	min-height: 0;
}

.nvc-studios__chip-link:hover .nvc-studios__heading {
	color: var(--nvc-ice);
}

.nvc-studios__heading {
	font-weight: 700;
	font-size: 0.9rem;
	line-height: 1.25;
	color: var(--nvc-ink);
	width: 100%;
}

.nvc-studios__logo-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 auto;
	width: 100%;
	min-height: 3.75rem;
}

.nvc-studios__logo-img {
	display: block;
	margin: 0 auto;
	width: auto;
	max-width: min(100%, 9.5rem);
	max-height: clamp(2.75rem, 5vw, 4.25rem);
	height: auto;
	object-fit: contain;
	object-position: center;
}

/* Editorial / prose */
.nvc-editorial {
	padding: var(--nvc-space-5) 0 var(--nvc-space-6);
}

.nvc-editorial__shell {
	display: grid;
	gap: var(--nvc-space-4);
}

.nvc-editorial__h {
	margin: 0 0 var(--nvc-space-2);
	font-family: var(--nvc-font-display);
	font-size: clamp(1.75rem, 3vw, 2.25rem);
}

.nvc-editorial__body {
	border-radius: var(--nvc-radius-lg);
	border: 1px solid var(--nvc-line);
	padding: var(--nvc-space-4);
	background: var(--nvc-panel);
	backdrop-filter: blur(var(--nvc-blur-panel));
	-webkit-backdrop-filter: blur(var(--nvc-blur-panel));
}

.nvc-editorial__aside {
	border-radius: var(--nvc-radius-lg);
	border: 1px dashed rgba(212, 175, 55, 0.35);
	padding: var(--nvc-space-3);
	background: rgba(255, 255, 255, 0.02);
}

.nvc-editorial__subh {
	margin: 0 0 var(--nvc-space-2);
	font-family: var(--nvc-font-display);
}

/* Editorial panel: images/figures span full inner width (edge to edge inside the card). Tables stay in text column. */
.nvc-editorial__body.nvc-prose > :where(figure:not(.wp-block-table)) {
	margin-inline: calc(-1 * var(--nvc-space-4));
	width: calc(100% + 2 * var(--nvc-space-4));
	max-width: none;
}

.nvc-editorial__body.nvc-prose > :where(figure:not(.wp-block-table)) > :where(img, video) {
	width: 100%;
	height: auto;
	display: block;
}

.nvc-editorial__body.nvc-prose > p:has(> img:only-child) {
	margin-inline: calc(-1 * var(--nvc-space-4));
	width: calc(100% + 2 * var(--nvc-space-4));
	max-width: none;
}

.nvc-editorial__body.nvc-prose > p:has(> img:only-child) img {
	width: 100%;
	max-width: none;
}

.nvc-editorial__body.nvc-prose > :where(div.wp-block-image) {
	margin-inline: calc(-1 * var(--nvc-space-4));
	width: calc(100% + 2 * var(--nvc-space-4));
	max-width: none;
}

.nvc-editorial__body.nvc-prose > :where(div.wp-block-image) :where(figure) {
	margin-inline: 0;
	width: 100%;
	max-width: none;
}

.nvc-editorial__extra.nvc-prose > :where(figure:not(.wp-block-table)) {
	margin-inline: calc(-1 * var(--nvc-space-3));
	width: calc(100% + 2 * var(--nvc-space-3));
	max-width: none;
}

.nvc-editorial__extra.nvc-prose > :where(figure:not(.wp-block-table)) > :where(img, video) {
	width: 100%;
	height: auto;
	display: block;
}

.nvc-editorial__extra.nvc-prose > p:has(> img:only-child) {
	margin-inline: calc(-1 * var(--nvc-space-3));
	width: calc(100% + 2 * var(--nvc-space-3));
	max-width: none;
}

.nvc-editorial__extra.nvc-prose > p:has(> img:only-child) img {
	width: 100%;
	max-width: none;
}

.nvc-editorial__extra.nvc-prose > :where(div.wp-block-image) {
	margin-inline: calc(-1 * var(--nvc-space-3));
	width: calc(100% + 2 * var(--nvc-space-3));
	max-width: none;
}

.nvc-editorial__extra.nvc-prose > :where(div.wp-block-image) :where(figure) {
	margin-inline: 0;
	width: 100%;
	max-width: none;
}

/* Add class `nvc-prose--panel` on article / page / review / game bodies (see templates) */
.nvc-prose--panel {
	border-radius: var(--nvc-radius-lg);
	border: 1px solid var(--nvc-line);
	padding: var(--nvc-space-4);
	background: var(--nvc-panel);
	backdrop-filter: blur(var(--nvc-blur-panel));
	-webkit-backdrop-filter: blur(var(--nvc-blur-panel));
	box-shadow: var(--nvc-glass-elevated);
}

/* Post / page / CPT body copy — NV neon / violet, glass, Montserrat rhythm */
.nvc-prose {
	font-size: clamp(1rem, 0.35vw + 0.92rem, 1.0625rem);
	line-height: 1.68;
	color: rgba(255, 255, 255, 0.88);
}

.nvc-prose ::selection {
	background: var(--nvc-selection);
	color: var(--nvc-ink);
}

.nvc-prose > :first-child {
	margin-top: 0;
}

.nvc-prose > :last-child {
	margin-bottom: 0;
}

.nvc-prose :where(h1, h2, h3, h4, h5, h6) {
	font-family: var(--nvc-font-display);
	font-weight: 800;
	color: var(--nvc-ink);
	line-height: 1.2;
	letter-spacing: -0.02em;
}

.nvc-prose h1 {
	margin: var(--nvc-space-5) 0 var(--nvc-space-2);
	font-size: clamp(1.65rem, 2.8vw, 2.1rem);
}

.nvc-prose h2 {
	position: relative;
	margin: var(--nvc-space-5) 0 var(--nvc-space-2);
	padding-bottom: var(--nvc-space-2);
	font-size: clamp(1.45rem, 2.4vw, 1.85rem);
}

.nvc-prose h2::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: min(4.75rem, 42%);
	height: 2px;
	border-radius: 999px;
	background: var(--nvc-gradient-accent-h);
	box-shadow: 0 0 0.85rem rgba(212, 175, 55, 0.4);
}

.nvc-prose h3 {
	position: relative;
	margin: var(--nvc-space-4) 0 var(--nvc-space-2);
	padding-left: 0.85rem;
	font-size: clamp(1.2rem, 2vw, 1.45rem);
	font-weight: 700;
}

.nvc-prose h3::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.12em;
	bottom: 0.12em;
	width: 3px;
	border-radius: 999px;
	background: var(--nvc-gradient-accent-v);
	box-shadow: 0 0 0.65rem rgba(212, 175, 55, 0.35);
}

.nvc-prose h4 {
	margin: var(--nvc-space-3) 0 var(--nvc-space-1);
	font-size: 1.1rem;
	font-weight: 700;
	letter-spacing: 0;
	color: rgba(255, 255, 255, 0.96);
}

.nvc-prose h5 {
	margin: var(--nvc-space-3) 0 var(--nvc-space-1);
	font-size: 1rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--nvc-ice);
}

.nvc-prose h6 {
	margin: var(--nvc-space-2) 0 var(--nvc-space-1);
	font-size: 0.8125rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--nvc-ink-muted);
}

.nvc-prose p {
	margin: 0 0 var(--nvc-space-3);
	color: inherit;
}

.nvc-prose :where(ul, ol) {
	margin: 0 0 var(--nvc-space-3);
	padding-left: 1.35rem;
	color: inherit;
}

.nvc-prose > ul,
.nvc-prose > ol {
	padding: var(--nvc-space-2) var(--nvc-space-3);
	padding-left: calc(var(--nvc-space-3) + 1.2rem);
	background: rgba(22, 24, 42, 0.75);
	border: 1px solid var(--nvc-line);
	border-radius: var(--nvc-radius-md);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
	backdrop-filter: blur(0.5rem);
	-webkit-backdrop-filter: blur(0.5rem);
}

.nvc-prose :where(ul, ol) ul,
.nvc-prose :where(ul, ol) ol {
	margin-bottom: var(--nvc-space-1);
	margin-top: var(--nvc-space-1);
}

.nvc-prose li {
	margin: 0 0 var(--nvc-space-1);
	padding-inline-start: 0.2rem;
}

.nvc-prose li::marker {
	color: var(--nvc-ice);
}

.nvc-prose :where(ul) {
	list-style-type: disc;
}

.nvc-prose :where(ol) {
	list-style-type: decimal;
}

.nvc-prose dt {
	font-weight: 700;
	color: var(--nvc-ink);
	margin-top: var(--nvc-space-2);
}

.nvc-prose dd {
	margin: var(--nvc-space-1) 0 var(--nvc-space-2) 0.5rem;
	color: inherit;
}

.nvc-prose blockquote,
.nvc-prose .wp-block-quote {
	margin: var(--nvc-space-4) 0;
	padding: var(--nvc-space-3) var(--nvc-space-3) var(--nvc-space-3) var(--nvc-space-4);
	border-left: 0.25rem solid var(--nvc-neon);
	border-radius: 0 var(--nvc-radius-md) var(--nvc-radius-md) 0;
	background:
		linear-gradient(135deg, rgba(212, 175, 55, 0.1), rgba(42, 36, 24, 0.07)),
		rgba(255, 255, 255, 0.03);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.06),
		0 0.5rem 1.75rem rgba(212, 175, 55, 0.08);
	color: rgba(255, 255, 255, 0.92);
	font-style: normal;
	backdrop-filter: blur(0.4rem);
	-webkit-backdrop-filter: blur(0.4rem);
}

.nvc-prose blockquote p,
.nvc-prose .wp-block-quote p {
	margin-bottom: var(--nvc-space-2);
	color: inherit;
}

.nvc-prose blockquote p:last-child,
.nvc-prose .wp-block-quote p:last-child {
	margin-bottom: 0;
}

.nvc-prose blockquote cite,
.nvc-prose .wp-block-quote cite {
	display: block;
	margin-top: var(--nvc-space-2);
	font-size: 0.875rem;
	font-style: normal;
	color: var(--nvc-ink-muted);
}

.nvc-prose .wp-block-pullquote {
	margin: var(--nvc-space-4) 0;
	padding: var(--nvc-space-4);
	text-align: center;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--nvc-radius-lg);
	background: var(--nvc-panel);
	backdrop-filter: blur(0.75rem);
	-webkit-backdrop-filter: blur(0.75rem);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.06),
		0 0 2rem rgba(212, 175, 55, 0.12),
		0 0 3rem rgba(42, 36, 24, 0.1);
}

.nvc-prose .wp-block-pullquote blockquote {
	margin: 0;
	padding: 0;
	border: none;
	background: none;
	box-shadow: none;
}

.nvc-prose .wp-block-pullquote p {
	font-family: var(--nvc-font-display);
	font-size: clamp(1.15rem, 2.2vw, 1.5rem);
	font-weight: 700;
	line-height: 1.35;
	color: var(--nvc-ink);
	text-shadow: 0 0 1.5rem rgba(212, 175, 55, 0.2);
}

.nvc-prose a {
	color: var(--nvc-ice);
	text-decoration: underline;
	text-decoration-thickness: 0.07em;
	text-underline-offset: 0.2em;
	transition: color 0.2s var(--nvc-ease), text-decoration-color 0.2s var(--nvc-ease);
}

.nvc-prose a:hover,
.nvc-prose a:focus-visible {
	color: #fff;
	text-decoration-color: rgba(212, 175, 55, 0.75);
	text-shadow: 0 0 1rem rgba(212, 175, 55, 0.35);
}

.nvc-prose strong,
.nvc-prose b {
	font-weight: 700;
	color: var(--nvc-ink);
}

.nvc-prose em,
.nvc-prose i {
	font-style: italic;
}

.nvc-prose :where(sub, sup) {
	font-size: 0.75em;
}

.nvc-prose hr,
.nvc-prose .wp-block-separator {
	margin: var(--nvc-space-5) 0;
	border: none;
	height: 1px;
	background: linear-gradient(
		90deg,
		transparent,
		rgba(42, 36, 24, 0.5),
		rgba(212, 175, 55, 0.55),
		rgba(42, 36, 24, 0.5),
		transparent
	);
	opacity: 1;
	box-shadow: 0 0 0.75rem rgba(212, 175, 55, 0.2);
}

.nvc-prose .wp-block-separator.is-style-wide {
	height: 2px;
	border-radius: 999px;
	box-shadow: 0 0 1rem rgba(212, 175, 55, 0.25);
}

.nvc-prose code,
.nvc-prose kbd {
	font-family: ui-monospace, "Cascadia Code", "Segoe UI Mono", Menlo, Consolas, monospace;
	font-size: 0.88em;
	padding: 0.12em 0.4em;
	border-radius: var(--nvc-radius-sm);
	background: rgba(0, 0, 0, 0.35);
	border: 1px solid var(--nvc-line);
	color: #e8eaf2;
}

.nvc-prose pre,
.nvc-prose .wp-block-code {
	margin: var(--nvc-space-4) 0;
	padding: var(--nvc-space-3);
	overflow-x: auto;
	border-radius: var(--nvc-radius-md);
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: linear-gradient(165deg, rgba(22, 24, 42, 0.95), rgba(10, 11, 22, 0.98));
	box-shadow:
		inset 0 0 0 1px rgba(212, 175, 55, 0.12),
		0 0.75rem 2rem rgba(0, 0, 0, 0.4);
	font-size: 0.875rem;
	line-height: 1.55;
	tab-size: 2;
}

.nvc-prose pre code,
.nvc-prose .wp-block-code code {
	padding: 0;
	border: none;
	background: none;
	font-size: inherit;
	color: #d8dce8;
}

.nvc-prose :where(figure) {
	margin: var(--nvc-space-4) 0;
}

.nvc-prose figcaption,
.nvc-prose .wp-element-caption {
	margin-top: var(--nvc-space-2);
	font-size: 0.75rem;
	line-height: 1.45;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(177, 181, 195, 0.95);
	text-align: center;
	max-width: 100%;
}

.nvc-prose :where(figure) img,
.nvc-prose p > img {
	border-radius: var(--nvc-radius-sm);
	border: 1px solid rgba(255, 255, 255, 0.08);
	box-shadow: 0 1rem 2.25rem rgba(0, 0, 0, 0.35);
}

.nvc-prose .wp-block-table {
	margin: var(--nvc-space-4) 0;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border-radius: var(--nvc-radius-md);
	border: 1px solid var(--nvc-line);
	background: rgba(22, 24, 42, 0.45);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.04),
		0 0.5rem 1.5rem rgba(0, 0, 0, 0.2);
}

.nvc-prose > table {
	margin: var(--nvc-space-4) 0;
}

.nvc-prose table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.94rem;
	line-height: 1.5;
}

.nvc-prose thead th {
	text-align: left;
	font-family: var(--nvc-font-display);
	font-weight: 700;
	font-size: 0.8125rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--nvc-ink);
	background: var(--nvc-gradient-table-head);
	border-bottom: 1px solid rgba(212, 175, 55, 0.4);
}

.nvc-prose :where(th, td) {
	padding: 0.65rem 0.85rem;
	border: 1px solid var(--nvc-line);
	vertical-align: top;
}

.nvc-prose tbody tr:nth-child(even) {
	background: rgba(255, 255, 255, 0.02);
}

.nvc-prose tbody tr:hover {
	background: rgba(255, 255, 255, 0.04);
}

.nvc-prose .has-small-font-size {
	font-size: 0.875rem;
}

.nvc-prose .has-medium-font-size {
	font-size: 1rem;
}

.nvc-prose .has-large-font-size {
	font-size: clamp(1.15rem, 2vw, 1.35rem);
}

.nvc-prose .has-x-large-font-size {
	font-size: clamp(1.35rem, 2.5vw, 1.75rem);
}

.nvc-prose .wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: var(--nvc-space-2);
	margin: var(--nvc-space-3) 0;
}

.nvc-prose .wp-block-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.65rem 1.35rem;
	border-radius: 0.625rem;
	font-weight: 700;
	font-size: 0.9375rem;
	text-decoration: none;
	border: 1px solid transparent;
	transition: transform 0.2s var(--nvc-ease), box-shadow 0.2s var(--nvc-ease), filter 0.2s var(--nvc-ease);
}

.nvc-prose .wp-block-button:not(.is-style-outline) .wp-block-button__link {
	background: linear-gradient(135deg, var(--nvc-cta), #2d8f63);
	color: #fff;
	box-shadow: var(--nvc-cta-glow);
}

.nvc-prose .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.nvc-prose .wp-block-button:not(.is-style-outline) .wp-block-button__link:focus-visible {
	filter: brightness(1.08);
	transform: translateY(-2px);
	box-shadow: 0 0 1.75rem rgba(59, 170, 123, 0.45);
}

.nvc-prose .wp-block-button.is-style-outline .wp-block-button__link {
	background: rgba(255, 255, 255, 0.04);
	border-color: rgba(212, 175, 55, 0.5);
	color: var(--nvc-gold-bright);
}

.nvc-prose .wp-block-button.is-style-outline .wp-block-button__link:hover,
.nvc-prose .wp-block-button.is-style-outline .wp-block-button__link:focus-visible {
	background: rgba(212, 175, 55, 0.12);
	border-color: var(--nvc-ice);
	color: #fff;
}

/* Stream / cards */
.nvc-stream {
	padding: var(--nvc-space-5) 0;
	display: grid;
	gap: var(--nvc-space-4);
}

.nvc-stream__head {
	display: grid;
	gap: var(--nvc-space-1);
}

.nvc-stream__h {
	margin: 0;
	font-family: var(--nvc-font-display);
	font-size: clamp(1.75rem, 3vw, 2.4rem);
}

.nvc-stream__lede {
	margin: 0;
	color: var(--nvc-ink-muted);
	max-width: 48ch;
}

.nvc-stream__rail {
	display: grid;
	gap: var(--nvc-space-3);
}

@media (min-width: 48rem) {
	.nvc-stream__rail {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.nvc-card {
	border-radius: var(--nvc-radius-md);
	border: 1px solid var(--nvc-line);
	background: var(--nvc-panel);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	backdrop-filter: blur(0.75rem);
	transition: transform 0.3s var(--nvc-ease), box-shadow 0.3s var(--nvc-ease);
}

.nvc-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--nvc-glow);
}

.nvc-card__media {
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.nvc-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.nvc-card__ph {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 10rem;
	background: linear-gradient(135deg, rgba(42, 36, 24, 0.32), rgba(212, 175, 55, 0.12));
}

.nvc-card__body {
	padding: var(--nvc-space-3);
	display: grid;
	gap: var(--nvc-space-2);
	align-content: start;
}

.nvc-card__title {
	margin: 0;
	font-size: 1.2rem;
	font-family: var(--nvc-font-display);
}

.nvc-card__title a {
	text-decoration: none;
}

.nvc-card__excerpt {
	color: var(--nvc-ink-muted);
	font-size: 0.95rem;
}

/* Article / page sheet */
.nvc-article,
.nvc-sheet,
.nvc-arch,
.nvc-review,
.nvc-titlegame {
	padding: var(--nvc-space-5) 0;
}

.nvc-article__mast,
.nvc-sheet__mast,
.nvc-arch__head {
	display: grid;
	gap: var(--nvc-space-2);
	margin-bottom: var(--nvc-space-3);
}

.nvc-article__title,
.nvc-sheet__title,
.nvc-arch__h {
	margin: 0;
	font-family: var(--nvc-font-display);
	font-size: clamp(2rem, 3.4vw, 2.75rem);
}

.nvc-article__eyebrow {
	margin: 0;
	color: var(--nvc-ice);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 0.75rem;
}

.nvc-article__byline {
	margin: 0;
	color: var(--nvc-ink-muted);
}

.nvc-article__figure {
	margin: 0 0 var(--nvc-space-3);
	border-radius: var(--nvc-radius-lg);
	overflow: hidden;
	border: 1px solid var(--nvc-line);
}

.nvc-article__tags {
	margin-top: var(--nvc-space-4);
	font-size: 0.9rem;
	color: var(--nvc-ink-muted);
}

.nvc-pager {
	margin: var(--nvc-space-4) 0 0;
	display: flex;
	justify-content: center;
	gap: var(--nvc-space-2);
}

.nvc-pager .page-numbers {
	padding: 0.35rem 0.75rem;
	border-radius: 999px;
	border: 1px solid var(--nvc-line);
	text-decoration: none;
}

.nvc-pager .page-numbers.current {
	background: var(--nvc-gold-gradient);
	color: #0f0f10;
	border-color: transparent;
	box-shadow: 0 0 1rem var(--nvc-gold-glow);
	font-weight: 700;
}

.nvc-empty {
	color: var(--nvc-ink-muted);
}

/* Review / game singles */
.nvc-review__mast {
	display: grid;
	gap: var(--nvc-space-2);
}

.nvc-review__eyebrow {
	margin: 0;
	color: var(--nvc-ice);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-size: 0.75rem;
	font-weight: 700;
}

.nvc-review__title {
	margin: 0;
	font-family: var(--nvc-font-display);
	font-size: clamp(2rem, 3.5vw, 3rem);
}

.nvc-review__scoreline {
	display: flex;
	flex-wrap: wrap;
	gap: var(--nvc-space-2);
	align-items: center;
}

.nvc-review__figure {
	margin: var(--nvc-space-3) 0;
	border-radius: var(--nvc-radius-lg);
	overflow: hidden;
	border: 1px solid var(--nvc-line);
}

.nvc-titlegame__mast {
	display: grid;
	gap: var(--nvc-space-2);
	margin-bottom: var(--nvc-space-3);
}

.nvc-titlegame__title {
	margin: 0;
	font-family: var(--nvc-font-display);
	font-size: clamp(1.85rem, 3vw, 2.6rem);
}

.nvc-titlegame__meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--nvc-space-1);
}

.nvc-titlegame__layout {
	display: grid;
	gap: var(--nvc-space-3);
}

.nvc-titlegame__visual {
	border-radius: var(--nvc-radius-lg);
	overflow: hidden;
	border: 1px solid var(--nvc-line);
}

.nvc-titlegame__cover {
	width: 100%;
	height: auto;
}

.nvc-titlegame__ph {
	display: block;
	min-height: 14rem;
	background: linear-gradient(145deg, rgba(212, 175, 55, 0.25), rgba(42, 36, 24, 0.22));
}
