/* SpinAUD Obsidian v2: cyberpunk HUD on OLED black. Palette kept: black, ember orange, gold. */
:root {
	color-scheme: dark;
	--sz-void: #000;
	--sz-ink-1: #07070a;
	--sz-ink-2: #0f0d0c;
	--sz-ink-3: #1a1511;
	--sz-fill: linear-gradient(160deg, rgba(34, 20, 10, .78), rgba(8, 8, 10, .86) 55%, rgba(18, 11, 6, .82));
	--sz-line: rgba(255, 138, 43, .34);
	--sz-line-dim: rgba(255, 255, 255, .08);
	--sz-line-hi: rgba(255, 200, 90, .8);
	--sz-text: #f6f0e6;
	--sz-muted: #b3a999;
	--sz-ember: #ff8a2b;
	--sz-gold: #ffc85a;
	--sz-ember-ink: #160900;
	--sz-grad: linear-gradient(120deg, #ffc85a 0%, #ff8a2b 48%, #f25a16 100%);
	--sz-neon: 0 0 6px rgba(255, 138, 43, .75), 0 0 22px rgba(255, 138, 43, .35);
	--sz-cut: 18px;
	--sz-cut-sm: 10px;
	--sz-blur: blur(16px) saturate(150%);
	--sz-font-d: "Turret Road", "Segoe UI", system-ui, sans-serif;
	--sz-font-m: "Kode Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
	--sz-font-b: "Rethink Sans", "Segoe UI", system-ui, sans-serif;
	--sz-shell: 1240px;
	--sz-gut: clamp(16px, 4vw, 32px);
	--sz-ease: cubic-bezier(.2, .8, .2, 1);
	--sz-dur: 200ms;
	--sz-head-h: 72px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--sz-head-h) + 56px); }
body {
	margin: 0;
	background: var(--sz-void);
	color: var(--sz-text);
	font: 400 16px/1.6 var(--sz-font-b);
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
/* grid floor + ember haze */
body::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background:
		radial-gradient(48vw 36vw at 92% -4%, rgba(255, 138, 43, .16), transparent 70%),
		radial-gradient(40vw 32vw at -6% 46%, rgba(255, 200, 90, .07), transparent 70%),
		linear-gradient(rgba(255, 138, 43, .055) 1px, transparent 1px) 0 0 / 56px 56px,
		linear-gradient(90deg, rgba(255, 138, 43, .055) 1px, transparent 1px) 0 0 / 56px 56px;
	-webkit-mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .55) 45%, #000 100%);
	mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .55) 45%, #000 100%);
}
/* scanlines */
body::after {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 90;
	pointer-events: none;
	background: repeating-linear-gradient(0deg, rgba(255, 255, 255, .022) 0 1px, transparent 1px 3px);
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--sz-gold); text-underline-offset: 3px; }
button { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--sz-gold); outline-offset: 3px; }
.sz-ico { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: square; stroke-linejoin: miter; }

.sz-shell { width: 100%; max-width: var(--sz-shell); margin-inline: auto; padding-inline: var(--sz-gut); }
.sz-skip { position: absolute; left: 12px; top: -60px; z-index: 100; padding: 10px 16px; background: var(--sz-gold); color: #000; font-weight: 700; }
.sz-skip:focus { top: 12px; }

/* angled glass panel: corners cut, neon edge (inset shadow on straight sides, gradient strokes on the diagonals) */
.sz-glass {
	--c: var(--sz-cut);
	--edge: rgba(255, 138, 43, .55);
	position: relative;
	isolation: isolate;
	clip-path: polygon(var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c));
	background:
		linear-gradient(135deg, transparent calc(50% - 1px), var(--edge) calc(50% - 1px) calc(50% + 1px), transparent calc(50% + 1px)) 0 0 / var(--c) var(--c) no-repeat,
		linear-gradient(135deg, transparent calc(50% - 1px), var(--edge) calc(50% - 1px) calc(50% + 1px), transparent calc(50% + 1px)) 100% 100% / var(--c) var(--c) no-repeat,
		var(--sz-fill);
	box-shadow: inset 0 0 0 1px var(--sz-line), inset 0 1px 0 rgba(255, 200, 90, .28), inset 0 0 42px rgba(255, 138, 43, .06);
	-webkit-backdrop-filter: var(--sz-blur);
	backdrop-filter: var(--sz-blur);
}

/* HUD brackets on the two square corners + a mono strip label */
.sz-hud::before, .sz-hud::after {
	content: "";
	position: absolute;
	width: 22px;
	height: 22px;
	pointer-events: none;
	z-index: 2;
	border: 0 solid var(--sz-gold);
	filter: drop-shadow(0 0 4px rgba(255, 200, 90, .6));
}
.sz-hud::before { top: 6px; right: 6px; border-top-width: 2px; border-right-width: 2px; }
.sz-hud::after { bottom: 6px; left: 6px; border-bottom-width: 2px; border-left-width: 2px; }
.sz-hud__label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: -2px 0 10px;
	padding: 0 22px 8px;
	border-bottom: 1px dashed rgba(255, 138, 43, .3);
	font: 400 11px/1.2 var(--sz-font-m);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--sz-muted);
}
.sz-hud__live { display: inline-flex; align-items: center; gap: 8px; color: var(--sz-gold); }
.sz-hud__live::before { content: ""; width: 7px; height: 7px; background: var(--sz-ember); box-shadow: var(--sz-neon); animation: sz-blink 1.6s steps(2, jump-none) infinite; }

/* decorative headings (no hN in theme) */
.sz-h { font-family: var(--sz-font-d); font-weight: 800; line-height: 1.08; letter-spacing: .01em; color: var(--sz-text); text-transform: uppercase; text-wrap: balance; }
.sz-h--sm { font-size: clamp(18px, 1.6vw, 22px); letter-spacing: .06em; }
.sz-h--lg { font-size: clamp(28px, 3vw, 40px); text-shadow: 0 0 18px rgba(255, 138, 43, .35); }
.sz-h--xl { font-size: clamp(32px, 4.6vw, 58px); text-shadow: 0 0 22px rgba(255, 138, 43, .35); }

/* glitch: two offset copies, plays once on load and again on hover */
.sz-glitch { position: relative; }
.sz-glitch::before, .sz-glitch::after {
	content: attr(data-text);
	position: absolute;
	inset: 0;
	pointer-events: none;
	opacity: 0;
}
.sz-glitch::before { color: var(--sz-ember); transform: translate(-3px, 0); clip-path: inset(0 0 58% 0); }
.sz-glitch::after { color: var(--sz-gold); transform: translate(3px, 0); clip-path: inset(56% 0 0 0); }
.sz-glitch::before, .sz-glitch::after { animation: sz-glitch 900ms steps(6, end) 400ms 1 both; }
.sz-hud:hover .sz-glitch::before, .sz-hud:hover .sz-glitch::after { animation: sz-glitch 600ms steps(5, end) 1 both; }

/* buttons: notched blades */
.sz-btn {
	--c: var(--sz-cut-sm);
	position: relative;
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 44px; padding: 10px 24px;
	border: 0; border-radius: 0;
	clip-path: polygon(var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c));
	background: rgba(20, 12, 6, .85);
	box-shadow: inset 0 0 0 1px var(--sz-line), inset 0 0 18px rgba(255, 138, 43, .08);
	color: var(--sz-text);
	font: 700 14px/1 var(--sz-font-d);
	letter-spacing: .14em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: transform var(--sz-dur) var(--sz-ease), box-shadow var(--sz-dur) var(--sz-ease), color var(--sz-dur) var(--sz-ease), text-shadow var(--sz-dur) var(--sz-ease);
}
.sz-btn:hover { transform: translateY(-1px); box-shadow: inset 0 0 0 1px var(--sz-line-hi), inset 0 0 24px rgba(255, 138, 43, .2); text-shadow: -2px 0 rgba(255, 138, 43, .8), 2px 0 rgba(255, 200, 90, .6); color: #fff; }
.sz-btn:active { transform: translateY(1px); }
.sz-btn--ember { background: var(--sz-grad); color: var(--sz-ember-ink); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), inset 0 -2px 0 rgba(120, 40, 0, .35); }
.sz-btn--ember:hover { color: var(--sz-ember-ink); text-shadow: -1px 0 rgba(255, 255, 255, .55), 1px 0 rgba(120, 40, 0, .5); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6), inset 0 -2px 0 rgba(120, 40, 0, .35), inset 0 0 0 999px rgba(255, 255, 255, .08); }
.sz-btn--soft { background: rgba(10, 8, 6, .8); }
.sz-btn--sm { min-height: 38px; padding: 8px 16px; font-size: 12px; --c: 8px; }
.sz-btn--lg { min-height: 52px; padding: 14px 30px; font-size: 15px; --c: 13px; }

.sz-chip { --c: 8px; display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 14px; clip-path: polygon(var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c)); background: rgba(20, 12, 6, .85); box-shadow: inset 0 0 0 1px var(--sz-line); color: var(--sz-text); text-decoration: none; font: 400 13px/1 var(--sz-font-m); letter-spacing: .06em; transition: box-shadow var(--sz-dur) var(--sz-ease); }
.sz-chip:hover { box-shadow: inset 0 0 0 1px var(--sz-line-hi); }
.sz-link { display: inline-flex; align-items: center; gap: 6px; color: var(--sz-gold); font: 400 13px/1 var(--sz-font-m); letter-spacing: .12em; text-transform: uppercase; text-decoration: none; min-height: 44px; }
.sz-link .sz-ico { width: 16px; height: 16px; transition: transform var(--sz-dur) var(--sz-ease); }
.sz-link:hover .sz-ico { transform: translateX(4px); }
.sz-dot { width: 8px; height: 8px; background: var(--sz-ember); box-shadow: var(--sz-neon); }

/* header */
.sz-head { position: sticky; top: 0; z-index: 40; background: rgba(0, 0, 0, .78); -webkit-backdrop-filter: blur(14px) saturate(150%); backdrop-filter: blur(14px) saturate(150%); }
.sz-head::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--sz-ember) 18%, var(--sz-gold) 50%, var(--sz-ember) 82%, transparent); box-shadow: 0 0 12px rgba(255, 138, 43, .6); }
.sz-head__row { display: flex; align-items: center; gap: 24px; min-height: var(--sz-head-h); }
.sz-head__brand { flex: none; display: block; filter: drop-shadow(0 0 10px rgba(255, 138, 43, .35)); }
.sz-head__logo { width: 168px; height: auto; }
.sz-head__nav { flex: 1; min-width: 0; }
.sz-head__auth { display: flex; gap: 10px; flex: none; }
.sz-head__burger { --c: 9px; display: none; width: 44px; height: 44px; border: 0; clip-path: polygon(var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c)); background: rgba(20, 12, 6, .9); box-shadow: inset 0 0 0 1px var(--sz-line); cursor: pointer; align-items: center; justify-content: center; margin-left: auto; color: var(--sz-gold); }

.sz-menu { list-style: none; margin: 0; padding: 0; display: flex; justify-content: center; gap: 2px; }
.sz-menu__item { position: relative; }
.sz-menu__link { position: relative; display: flex; align-items: center; min-height: 44px; padding: 8px 14px; color: var(--sz-muted); font: 400 13px/1 var(--sz-font-m); letter-spacing: .12em; text-transform: uppercase; text-decoration: none; transition: color var(--sz-dur) var(--sz-ease); }
.sz-menu__link::before, .sz-menu__link::after { color: var(--sz-ember); opacity: 0; transition: opacity var(--sz-dur) var(--sz-ease), transform var(--sz-dur) var(--sz-ease); }
.sz-menu__link::before { content: "["; margin-right: 6px; transform: translateX(4px); }
.sz-menu__link::after { content: "]"; margin-left: 6px; transform: translateX(-4px); }
.sz-menu__link:hover, .sz-menu__item.is-current > .sz-menu__link { color: var(--sz-text); }
.sz-menu__link:hover::before, .sz-menu__link:hover::after, .sz-menu__item.is-current > .sz-menu__link::before, .sz-menu__item.is-current > .sz-menu__link::after { opacity: 1; transform: none; }
.sz-menu__item.is-current > .sz-menu__link { color: var(--sz-gold); text-shadow: 0 0 10px rgba(255, 200, 90, .45); }
.sz-menu__sub { list-style: none; margin: 0; padding: 8px; position: absolute; top: calc(100% + 6px); left: 0; min-width: 220px; background: #0b0907; box-shadow: inset 0 0 0 1px var(--sz-line), 0 18px 40px rgba(0, 0, 0, .9); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity var(--sz-dur) var(--sz-ease), transform var(--sz-dur) var(--sz-ease), visibility 0s linear var(--sz-dur); }
.sz-menu__item.has-kids:hover > .sz-menu__sub, .sz-menu__item.has-kids:focus-within > .sz-menu__sub { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }

/* ticker */
.sz-ticker { position: relative; overflow: hidden; background: linear-gradient(90deg, rgba(255, 138, 43, .14), rgba(255, 200, 90, .06), rgba(255, 138, 43, .14)); border-bottom: 1px solid rgba(255, 138, 43, .25); }
.sz-ticker__track { display: flex; width: max-content; animation: sz-marquee 46s linear infinite; }
.sz-ticker:hover .sz-ticker__track { animation-play-state: paused; }
.sz-ticker__set { display: flex; flex: none; }
.sz-ticker__item { display: inline-flex; align-items: center; gap: 8px; padding: 9px 22px; font: 400 12px/1 var(--sz-font-m); letter-spacing: .14em; text-transform: uppercase; color: var(--sz-muted); white-space: nowrap; }
.sz-ticker__item::before { content: ""; width: 6px; height: 6px; background: var(--sz-ember); transform: rotate(45deg); }
.sz-ticker__item b { color: var(--sz-gold); font-weight: 600; }

/* drawer: opaque on purpose */
.sz-drawer { position: fixed; inset: 0; z-index: 60; background: rgba(0, 0, 0, .75); }
.sz-drawer[hidden] { display: none; }
.sz-drawer__panel { position: absolute; inset: 0 0 0 auto; width: min(360px, 88vw); background: linear-gradient(rgba(255, 138, 43, .05) 1px, transparent 1px) 0 0 / 100% 40px, #080706; box-shadow: inset 1px 0 0 var(--sz-ember), -12px 0 40px rgba(255, 138, 43, .12); padding: 18px 18px 28px; overflow-y: auto; display: flex; flex-direction: column; gap: 18px; }
.sz-drawer__top { display: flex; align-items: center; justify-content: space-between; }
.sz-drawer__logo { width: 140px; }
.sz-drawer__close { --c: 9px; width: 44px; height: 44px; border: 0; clip-path: polygon(var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c)); background: rgba(20, 12, 6, .9); box-shadow: inset 0 0 0 1px var(--sz-line); cursor: pointer; display: flex; align-items: center; justify-content: center; color: var(--sz-gold); }
.sz-menu--drawer { flex-direction: column; gap: 2px; }
.sz-menu--drawer .sz-menu__link { font-size: 15px; color: var(--sz-text); padding-right: 52px; border-bottom: 1px dashed rgba(255, 138, 43, .16); }
.sz-menu--drawer .sz-menu__sub { position: static; opacity: 1; visibility: visible; transform: none; display: none; box-shadow: none; background: transparent; padding: 0 0 4px 12px; min-width: 0; }
.sz-menu--drawer .is-open > .sz-menu__sub { display: block; }
.sz-sub-toggle { position: absolute; right: 0; top: 0; width: 44px; height: 44px; border: 0; background: transparent; cursor: pointer; display: flex; align-items: center; justify-content: center; color: var(--sz-gold); }
.sz-sub-toggle .sz-ico { transition: transform var(--sz-dur) var(--sz-ease); }
.sz-sub-toggle[aria-expanded="true"] .sz-ico { transform: rotate(180deg); }
.sz-drawer__auth { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: auto; }

.sz-main { display: block; padding-bottom: 32px; counter-reset: sz-sec; }

/* hero */
.sz-hero { padding: 28px 0 8px; }
.sz-hero__grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 20px; align-items: stretch; }
.sz-slider { padding: 14px; }
.sz-slider__track { --c: 12px; display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; clip-path: polygon(var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c)); }
.sz-slider__track::-webkit-scrollbar { display: none; }
.sz-slider__slide { flex: 0 0 100%; scroll-snap-align: start; aspect-ratio: 16 / 9; background: var(--sz-ink-2); }
.sz-slider__slide img { width: 100%; height: 100%; object-fit: cover; }
.sz-slider__nav { --c: 8px; position: absolute; top: 54%; translate: 0 -50%; z-index: 3; width: 44px; height: 44px; border: 0; clip-path: polygon(var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c)); background: rgba(0, 0, 0, .7); box-shadow: inset 0 0 0 1px var(--sz-line-hi); color: var(--sz-gold); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background-color var(--sz-dur) var(--sz-ease); }
.sz-slider__nav:hover { background: rgba(255, 138, 43, .3); }
.sz-slider__nav--prev { left: 26px; }
.sz-slider__nav--next { right: 26px; }
.sz-slider__dots { position: absolute; left: 0; right: 0; bottom: 22px; z-index: 3; display: flex; justify-content: center; gap: 2px; }
.sz-slider__dot { width: 28px; height: 24px; border: 0; padding: 0; background: transparent; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.sz-slider__dot::before { content: ""; width: 14px; height: 4px; background: rgba(255, 255, 255, .45); transform: skewX(-30deg); transition: width var(--sz-dur) var(--sz-ease), background-color var(--sz-dur) var(--sz-ease); }
.sz-slider__dot[aria-current="true"]::before { width: 24px; background: var(--sz-gold); box-shadow: 0 0 8px rgba(255, 200, 90, .8); }

.sz-pass { padding: clamp(22px, 2.6vw, 34px); display: flex; flex-direction: column; gap: 16px; justify-content: center; }
.sz-pass__eyebrow { display: inline-flex; align-items: center; gap: 10px; font: 400 12px/1 var(--sz-font-m); letter-spacing: .2em; text-transform: uppercase; color: var(--sz-gold); }
.sz-pass__eyebrow::before { content: ">"; color: var(--sz-ember); }
.sz-pass__lede { margin: 0; color: var(--sz-muted); }
.sz-pass__stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 4px 0 0; }
.sz-pass__stats div { --c: 8px; padding: 12px 14px; clip-path: polygon(var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c)); background: rgba(0, 0, 0, .7); box-shadow: inset 0 0 0 1px rgba(255, 138, 43, .25); }
.sz-pass__stats dt { font: 400 11px/1.2 var(--sz-font-m); text-transform: uppercase; letter-spacing: .14em; color: var(--sz-muted); }
.sz-pass__stats dd { margin: 6px 0 8px; font: 800 24px/1 var(--sz-font-d); color: var(--sz-gold); text-shadow: 0 0 12px rgba(255, 200, 90, .45); font-variant-numeric: tabular-nums; }
.sz-meter { display: block; height: 5px; background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .12) 0 6px, transparent 6px 8px); }
.sz-meter i { display: block; height: 100%; width: calc(var(--v) * 100%); background: repeating-linear-gradient(90deg, var(--sz-ember) 0 6px, transparent 6px 8px); filter: drop-shadow(0 0 4px rgba(255, 138, 43, .8)); }
.sz-pass__cta { display: flex; flex-wrap: wrap; gap: 10px; }

/* bands with numbered HUD heads */
.sz-band { padding: clamp(28px, 4vw, 48px) 0 0; }
.sz-band__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.sz-band__head .sz-h { display: flex; align-items: center; gap: 14px; flex: 1; min-width: 0; }
.sz-band__head .sz-h::before { counter-increment: sz-sec; content: "0" counter(sz-sec) " //"; font: 400 12px/1 var(--sz-font-m); letter-spacing: .12em; color: var(--sz-ember); flex: none; }
.sz-band__head .sz-h::after { content: ""; flex: 1; height: 1px; min-width: 24px; background: linear-gradient(90deg, rgba(255, 138, 43, .6), transparent); }

.sz-cats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
.sz-cat {
	--c: 14px;
	position: relative;
	overflow: hidden;
	display: flex; flex-direction: column; align-items: center; gap: 8px;
	padding: 26px 10px 16px;
	clip-path: polygon(var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c));
	background: linear-gradient(180deg, rgba(40, 22, 10, .8), rgba(6, 6, 8, .92));
	box-shadow: inset 0 0 0 1px rgba(255, 138, 43, .28);
	color: var(--sz-text);
	text-decoration: none;
	transition: transform var(--sz-dur) var(--sz-ease), box-shadow var(--sz-dur) var(--sz-ease);
}
.sz-cat::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 40%; background: linear-gradient(180deg, transparent, rgba(255, 200, 90, .18), transparent); transform: translateY(-110%); transition: transform 600ms var(--sz-ease); pointer-events: none; }
.sz-cat:hover { transform: translateY(-3px); box-shadow: inset 0 0 0 1px var(--sz-line-hi), inset 0 0 28px rgba(255, 138, 43, .2); }
.sz-cat:hover::after { transform: translateY(260%); }
.sz-cat__code { position: absolute; top: 8px; left: 16px; font: 400 10px/1 var(--sz-font-m); letter-spacing: .14em; color: var(--sz-ember); }
.sz-cat__art { width: 100%; max-width: 100px; aspect-ratio: 1; }
.sz-cat__art img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 0 10px rgba(255, 138, 43, .3)); }
.sz-cat__label { font: 700 14px/1.2 var(--sz-font-d); letter-spacing: .08em; text-transform: uppercase; text-align: center; }

.sz-events { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 14px; }
.sz-event { display: flex; flex-direction: column; gap: 8px; }
.sz-event__img { --c: 12px; width: 100%; aspect-ratio: 1; object-fit: contain; clip-path: polygon(var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c)); background: var(--sz-ink-2); transition: transform var(--sz-dur) var(--sz-ease), filter var(--sz-dur) var(--sz-ease); }
.sz-event:hover .sz-event__img { transform: translateY(-3px); filter: brightness(1.12); }
.sz-event__name { font: 400 11px/1.3 var(--sz-font-m); letter-spacing: .1em; text-transform: uppercase; color: var(--sz-muted); text-align: center; }

.sz-deals { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.sz-deal { --c: 16px; display: grid; grid-template-columns: 1fr auto; gap: 12px; padding: 10px 10px 14px; align-items: center; transition: transform var(--sz-dur) var(--sz-ease), box-shadow var(--sz-dur) var(--sz-ease); }
.sz-deal:hover { transform: translateY(-3px); box-shadow: inset 0 0 0 1px var(--sz-line-hi), inset 0 0 40px rgba(255, 138, 43, .14); }
.sz-deal__code { position: absolute; top: 18px; left: 22px; z-index: 2; padding: 4px 8px; background: rgba(0, 0, 0, .78); box-shadow: inset 0 0 0 1px var(--sz-line); font: 400 10px/1 var(--sz-font-m); letter-spacing: .14em; color: var(--sz-gold); }
.sz-deal__art { --c: 10px; grid-column: 1 / -1; aspect-ratio: 16 / 9; overflow: hidden; clip-path: polygon(var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c)); background: var(--sz-ink-2); }
.sz-deal__art img { width: 100%; height: 100%; object-fit: cover; transition: transform 400ms var(--sz-ease); }
.sz-deal:hover .sz-deal__art img { transform: scale(1.04); }
.sz-deal__meta { display: flex; flex-direction: column; gap: 4px; padding-left: 6px; min-width: 0; }
.sz-deal__name { font: 700 15px/1.2 var(--sz-font-d); letter-spacing: .04em; text-transform: uppercase; }
.sz-deal__tag { font: 400 12px/1.3 var(--sz-font-m); color: var(--sz-gold); }
.sz-deal__cta { margin-right: 4px; }

.sz-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.sz-duo__card { --c: 22px; display: grid; grid-template-columns: minmax(0, 220px) 1fr; gap: 20px; align-items: center; padding: 22px; }
.sz-duo__art { width: 100%; aspect-ratio: 1; object-fit: contain; filter: drop-shadow(0 0 18px rgba(255, 138, 43, .35)); }
.sz-duo__card--ref .sz-duo__art { --c: 10px; aspect-ratio: auto; object-fit: cover; clip-path: polygon(var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c)); filter: none; }
.sz-duo__copy { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.sz-duo__copy p { margin: 0; color: var(--sz-muted); }

/* read more block */
.sz-fold { padding: clamp(30px, 4vw, 52px) 0 0; }
.sz-fold__panel { --c: 24px; padding: clamp(18px, 3vw, 32px) clamp(20px, 3.4vw, 44px) clamp(20px, 3.4vw, 40px); }
.sz-fold__panel > .sz-hud__label { margin-bottom: 22px; padding-inline: 0; }
.sz-fold__body { position: relative; }
.sz-fold.is-folded .sz-fold__body { max-height: 560px; overflow: hidden; }
.sz-fold.is-folded .sz-fold__body::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 170px; background: linear-gradient(180deg, rgba(10, 8, 8, 0), #0a0808 90%); pointer-events: none; }
.sz-fold__bar { display: flex; justify-content: center; margin-top: 18px; }
.sz-fold__bar .sz-ico { transition: transform var(--sz-dur) var(--sz-ease); }
.sz-fold__less { display: none; }
.sz-fold.is-open .sz-fold__more { display: none; }
.sz-fold.is-open .sz-fold__less { display: inline; }
.sz-fold.is-open .sz-fold__bar .sz-ico { transform: rotate(180deg); }

/* prose: SEO headings live here */
.sz-prose { color: #e8e1d6; font-size: 17px; line-height: 1.75; overflow-wrap: anywhere; }
.sz-prose > :first-child { margin-top: 0; }
.sz-prose h1, .sz-prose h2, .sz-prose h3, .sz-prose h4 { font-family: var(--sz-font-d); color: var(--sz-text); line-height: 1.15; letter-spacing: .02em; margin: 1.6em 0 .6em; text-wrap: balance; }
.sz-prose h1 { font-size: clamp(28px, 3.4vw, 42px); font-weight: 800; text-transform: uppercase; text-shadow: 0 0 18px rgba(255, 138, 43, .35); }
.sz-prose h2 { font-size: clamp(23px, 2.5vw, 31px); font-weight: 800; padding: 6px 0 6px 16px; background: linear-gradient(90deg, rgba(255, 138, 43, .14), transparent 70%); box-shadow: inset 3px 0 0 var(--sz-ember); }
.sz-prose h3 { font-size: clamp(19px, 1.8vw, 23px); font-weight: 700; color: var(--sz-gold); }
.sz-prose h4 { font-size: 18px; font-weight: 700; }
.sz-prose p, .sz-prose ul, .sz-prose ol { margin: 0 0 1.1em; }
.sz-prose ul, .sz-prose ol { padding-left: 1.3em; }
.sz-prose li { margin-bottom: .4em; }
.sz-prose li::marker { color: var(--sz-ember); }
.sz-prose a { color: var(--sz-gold); }
.sz-prose strong { color: var(--sz-text); }
.sz-prose img { margin: 1.2em auto; box-shadow: 0 0 0 1px rgba(255, 138, 43, .3); }
.sz-prose blockquote { margin: 1.4em 0; padding: 16px 20px; background: rgba(255, 138, 43, .07); box-shadow: inset 3px 0 0 var(--sz-gold); }
.sz-prose table { width: 100%; border-collapse: collapse; font-size: 15px; }
.sz-prose th, .sz-prose td { padding: 11px 14px; border-bottom: 1px solid rgba(255, 138, 43, .18); text-align: left; vertical-align: top; }
.sz-prose th { font: 600 12px/1.3 var(--sz-font-m); letter-spacing: .1em; text-transform: uppercase; color: var(--sz-gold); background: rgba(255, 138, 43, .08); }
.sz-table-scroll { overflow-x: auto; margin: 0 0 1.2em; box-shadow: inset 0 0 0 1px rgba(255, 138, 43, .25); }
.sz-table-scroll table { min-width: 560px; margin: 0; }
.sz-prose details { margin: 0 0 10px; padding: 14px 18px; background: rgba(20, 12, 6, .8); box-shadow: inset 0 0 0 1px rgba(255, 138, 43, .25); }
.sz-prose summary { cursor: pointer; font-family: var(--sz-font-d); font-weight: 700; }

/* page hero */
.sz-phero { padding: 28px 0 0; }
.sz-phero__panel { --c: 26px; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 28px; align-items: center; padding: clamp(26px, 4vw, 52px); }
.sz-phero__panel:not(:has(.sz-phero__art)) { grid-template-columns: 1fr; }
.sz-phero__copy { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.sz-phero__lede { margin: 0; color: var(--sz-muted); font-size: 17px; max-width: 62ch; }
.sz-phero__art img { --c: 14px; width: 100%; clip-path: polygon(var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c)); }
.sz-404 { text-align: center; justify-items: center; }
.sz-404__code { font: 800 clamp(80px, 15vw, 160px)/1 var(--sz-font-d); color: var(--sz-gold); text-shadow: var(--sz-neon); }

/* blog */
.sz-posts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.sz-post { --c: 16px; padding: 0; transition: transform var(--sz-dur) var(--sz-ease), box-shadow var(--sz-dur) var(--sz-ease); }
.sz-post:hover { transform: translateY(-3px); box-shadow: inset 0 0 0 1px var(--sz-line-hi); }
.sz-post__link { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; }
.sz-post__art { aspect-ratio: 16 / 9; background: var(--sz-ink-2); overflow: hidden; }
.sz-post__art img { width: 100%; height: 100%; object-fit: cover; }
.sz-post__body { display: flex; flex-direction: column; gap: 8px; padding: 16px 18px 22px; }
.sz-post__cat { align-self: flex-start; font: 400 11px/1 var(--sz-font-m); letter-spacing: .14em; text-transform: uppercase; color: var(--sz-ember); }
.sz-post__title { font: 700 18px/1.25 var(--sz-font-d); }
.sz-post__ex { font-size: 15px; color: var(--sz-muted); }
.sz-post__date { font: 400 12px/1 var(--sz-font-m); color: var(--sz-muted); margin-top: auto; }
.sz-pager { margin-top: 24px; }
.sz-pager .nav-links { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.sz-pager .page-numbers { --c: 8px; display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 14px; clip-path: polygon(var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c)); background: rgba(20, 12, 6, .85); box-shadow: inset 0 0 0 1px var(--sz-line); color: var(--sz-text); text-decoration: none; font-family: var(--sz-font-m); }
.sz-pager .page-numbers.current { background: var(--sz-grad); color: var(--sz-ember-ink); font-weight: 700; }
.sz-pager .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.sz-empty { padding: 28px; text-align: center; color: var(--sz-muted); margin: 0; font-family: var(--sz-font-m); }
.sz-article { max-width: 880px; }
.sz-article__meta { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-bottom: 14px; color: var(--sz-muted); font: 400 12px/1.4 var(--sz-font-m); letter-spacing: .08em; text-transform: uppercase; }
.sz-article__body { --c: 24px; padding: clamp(20px, 3.4vw, 44px); }
.sz-article__tags { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 8px; }
.sz-article__tags a { font: 400 12px/1 var(--sz-font-m); padding: 8px 12px; background: rgba(20, 12, 6, .85); box-shadow: inset 0 0 0 1px var(--sz-line); text-decoration: none; }

/* footer */
.sz-foot { position: relative; margin-top: clamp(40px, 6vw, 80px); padding: 40px 0 28px; background: linear-gradient(180deg, rgba(255, 138, 43, .05), transparent 45%); }
.sz-foot::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--sz-ember), var(--sz-gold), var(--sz-ember), transparent); box-shadow: 0 0 14px rgba(255, 138, 43, .6); }
.sz-trust { list-style: none; margin: 0 0 34px; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.sz-trust__cell { --c: 12px; background: linear-gradient(180deg, #f4efe7, #d8d1c6); box-shadow: inset 0 0 0 2px rgba(255, 138, 43, .55); -webkit-backdrop-filter: none; backdrop-filter: none; display: flex; align-items: center; justify-content: center; min-height: 92px; padding: 14px 18px; }
.sz-trust__cell img { max-height: 50px; width: auto; object-fit: contain; }
.sz-foot__grid { display: grid; grid-template-columns: 1.2fr 1fr 1.2fr; gap: 28px; align-items: start; }
.sz-foot__brand, .sz-foot__nav { min-width: 0; }
.sz-foot__logo { width: 150px; }
.sz-foot__note { color: var(--sz-muted); font-size: 15px; margin: 14px 0; }
.sz-foot__social { display: flex; flex-wrap: wrap; gap: 10px; }
.sz-foot__menu { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 2px 16px; }
.sz-foot__menu .sz-menu__link { padding: 8px 0; }
.sz-foot__menu .sz-menu__link::before, .sz-foot__menu .sz-menu__link::after { display: none; }
.sz-foot__menu .sz-menu__link:hover { color: var(--sz-gold); }
.sz-foot__menu .is-current > .sz-menu__link { color: var(--sz-gold); text-shadow: none; }
.sz-foot__care { --c: 14px; display: flex; gap: 14px; align-items: flex-start; padding: 18px; }
.sz-foot__care p { margin: 0; font-size: 14px; color: var(--sz-muted); }
.sz-foot__badge { --c: 8px; flex: none; width: 46px; height: 46px; display: flex; align-items: center; justify-content: center; clip-path: polygon(var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c)); font: 800 15px/1 var(--sz-font-d); color: var(--sz-ember-ink); background: var(--sz-grad); }
.sz-foot__base { margin-top: 28px; padding-top: 18px; border-top: 1px dashed rgba(255, 138, 43, .2); font: 400 12px/1.4 var(--sz-font-m); letter-spacing: .1em; text-transform: uppercase; color: var(--sz-muted); text-align: center; }

/* mobile dock */
.sz-dock { display: none; }

@keyframes sz-marquee { to { transform: translateX(-50%); } }
@keyframes sz-blink { 50% { opacity: .25; } }
@keyframes sz-glitch {
	0% { opacity: 1; clip-path: inset(10% 0 70% 0); transform: translate(-4px, 0); }
	20% { clip-path: inset(60% 0 10% 0); transform: translate(4px, 0); }
	40% { clip-path: inset(30% 0 45% 0); transform: translate(-2px, 0); }
	60% { clip-path: inset(75% 0 5% 0); transform: translate(3px, 0); }
	80% { clip-path: inset(5% 0 80% 0); transform: translate(-3px, 0); }
	100% { opacity: 0; clip-path: inset(50% 0 50% 0); transform: none; }
}

@media (max-width: 1080px) {
	.sz-head__nav, .sz-head__auth { display: none; }
	.sz-head__burger { display: inline-flex; }
	.sz-hero__grid { grid-template-columns: 1fr; }
	.sz-events { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.sz-duo { grid-template-columns: 1fr; }
	.sz-foot__grid { grid-template-columns: 1fr 1fr; }
	.sz-foot__care { grid-column: 1 / -1; }
}
@media (max-width: 860px) {
	.sz-cats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.sz-deals, .sz-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sz-trust { grid-template-columns: 1fr 1fr; }
	.sz-phero__panel { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	:root { --sz-head-h: 62px; --sz-cut: 14px; }
	body { padding-bottom: 76px; }
	.sz-head__logo { width: 132px; }
	.sz-hero { padding-top: 16px; }
	.sz-slider { padding: 10px; }
	.sz-hud__label { padding: 0 14px 8px; font-size: 10px; }
	.sz-slider__nav { display: none; }
	.sz-slider__dots { bottom: 16px; }
	.sz-pass__cta .sz-btn { flex: 1; }
	.sz-cats { gap: 10px; }
	.sz-cat { padding: 24px 6px 14px; }
	.sz-cat__code { left: 12px; }
	.sz-cat__label { font-size: 12px; }
	.sz-events { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; padding-bottom: 6px; scrollbar-width: thin; }
	.sz-event { flex: 0 0 34%; scroll-snap-align: start; }
	.sz-posts { grid-template-columns: 1fr; }
	.sz-deals { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; margin-inline: calc(var(--sz-gut) * -1); padding: 0 var(--sz-gut) 8px; scroll-padding-inline: var(--sz-gut); scrollbar-width: thin; }
	.sz-deal { flex: 0 0 84%; scroll-snap-align: start; }
	.sz-deal:hover { transform: none; }
	.sz-duo__card { grid-template-columns: 1fr; padding: 18px; gap: 14px; }
	.sz-duo__art { max-width: 180px; margin-inline: auto; }
	.sz-duo__card--ref .sz-duo__art { max-width: 100%; }
	.sz-prose { font-size: 16px; }
	.sz-fold.is-folded .sz-fold__body { max-height: 480px; }
	.sz-foot__grid { grid-template-columns: 1fr; }
	.sz-trust__cell { min-height: 76px; }
	.sz-dock { --c: 14px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; position: fixed; left: 10px; right: 10px; bottom: max(10px, env(safe-area-inset-bottom)); z-index: 45; padding: 6px; clip-path: polygon(var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c)); background: rgba(8, 6, 4, .9); -webkit-backdrop-filter: blur(14px) saturate(150%); backdrop-filter: blur(14px) saturate(150%); box-shadow: inset 0 0 0 1px var(--sz-line), inset 0 1px 0 rgba(255, 200, 90, .35); }
	.sz-dock__item { --c: 8px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-height: 52px; border: 0; clip-path: polygon(var(--c) 0, 100% 0, 100% calc(100% - var(--c)), calc(100% - var(--c)) 100%, 0 100%, 0 var(--c)); background: transparent; color: var(--sz-muted); font: 400 10px/1 var(--sz-font-m); letter-spacing: .1em; text-transform: uppercase; text-decoration: none; cursor: pointer; }
	.sz-dock__item.is-current { color: var(--sz-gold); background: rgba(255, 138, 43, .12); }
	.sz-dock__item--cta { background: var(--sz-grad); color: var(--sz-ember-ink); font-weight: 600; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
	.sz-ticker__track { animation: none; }
	.sz-ticker__set + .sz-ticker__set { display: none; }
	.sz-glitch::before, .sz-glitch::after { display: none; }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.sz-head { background: #000; }
}
