/* Just Casino — Weltraum-Casino · dunkle Weltraum-Ästhetik, goldener Akzent.
   Design-System: TYPO-01 · SPACE-01 · CONT-08 · BP-06 · GEO-08 · MOTION-02 · NAME-04. */

/* ============================================================ 1. Tokens */
:root {
	/* Farben (colors.X.final) */
	--site-main-color: #171612;
	--site-secondary: #fdc804;
	--site-accent-dark: #c89603;
	--site-bg: #000000;
	--site-surface-raised: #141310;
	--site-gradient-start: #878686;
	--site-gradient-mid: #e23134;
	--site-foreground: #ffffff;
	--site-text-secondary: #c1c1c1;
	--site-notice-bg: #dc2626;
	--site-color-hairline: rgba(255, 255, 255, 0.08);
	--site-color-hairline-soft: rgba(255, 255, 255, 0.06);

	/* Typografie — TYPO-01 Editorial Big-Display */
	--site-heading-font: "Oswald", "Arial Narrow", system-ui, sans-serif;
	--site-font-text: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
	--site-type-h1: 64px;
	--site-fs-h2: 40px;
	--site-text-h3: 28px;
	--site-size-h4: 22px;
	--site-type-h5: 18px;
	--site-fs-h6: 16px;
	--site-size-body: 17px;
	--site-type-small: 14px;
	--site-size-xs: 12px;
	--site-lh-tight: 1.1;
	--site-lh-base: 1.5;
	--site-leading-loose: 1.75;
	--site-letter-tight: -0.02em;
	--site-ls-normal: 0;
	--site-ls-wide: 0.04em;
	--site-weight-regular: 400;
	--site-font-medium: 500;
	--site-fw-bold: 700;

	/* Abstände — SPACE-01 Modular 4px */
	--site-gutter-2xs: 4px;
	--site-gutter-xs: 8px;
	--site-spacing-sm: 12px;
	--site-gutter-md: 16px;
	--site-gutter-lg: 24px;
	--site-spacing-xl: 40px;
	--site-space-2xl: 64px;
	--site-gap-3xl: 96px;

	/* Container — CONT-08 */
	--site-shell-width: 1420px;
	--site-prose-width: 720px;
	--site-inset-mobile: 16px;
	--site-container-padding-tablet: 32px;
	--site-gutter-desktop: 56px;

	/* Breakpoints — BP-06 (Referenz) */
	--site-bp-sm: 580px;
	--site-bp-md: 860px;
	--site-bp-lg: 1160px;
	--site-bp-xl: 1520px;

	/* Geometrie — GEO-08 Soft Top, Sharp Bottom */
	--site-round-xs: 2px 2px 0 0;
	--site-rounded-sm: 6px 6px 0 0;
	--site-rounded-md: 12px 12px 0 0;
	--site-round-lg: 20px 20px 0 0;
	--site-radius-pill: 9999px 9999px 0 0;
	--site-round-circle: 50%;
	--site-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.4);
	--site-elevation-2: 0 4px 12px rgba(0, 0, 0, 0.5);
	--site-elevation-3: 0 10px 28px rgba(0, 0, 0, 0.6);
	--site-stroke-thin: 1px;
	--site-border-medium: 2px;
	--site-border-thick: 3px;

	/* Motion — MOTION-02 Subtle Refined */
	--site-duration-fast: 150ms;
	--site-speed-base: 200ms;
	--site-speed-slow: 300ms;
	--site-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
	--site-ease-in: cubic-bezier(0.55, 0.06, 0.68, 0.19);
	--site-ease-in-out: cubic-bezier(0.65, 0.05, 0.36, 1);

	--site-header-height-desktop: 120px;
	--site-topbar-mobile: 80px;
}

/* ============================================================ 2. Reset / Base */
*,
*::before,
*::after { box-sizing: border-box; }

html, body { overflow-x: clip; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	background: var(--site-bg);
	color: var(--site-foreground);
	font-family: var(--site-font-text);
	font-size: var(--site-size-body);
	font-weight: var(--site-weight-regular);
	line-height: var(--site-leading-loose);
	-webkit-font-smoothing: antialiased;
}

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

a { color: var(--site-secondary); text-decoration: none; }
a:hover { color: var(--site-accent-dark); text-decoration: underline; }

h1, h2, h3, h4, h5, h6 { margin: 0 0 var(--site-gutter-md); }

h1 {
	font-family: var(--site-heading-font);
	font-weight: var(--site-fw-bold);
	font-size: var(--site-type-h1);
	line-height: var(--site-lh-tight);
	letter-spacing: var(--site-letter-tight);
	text-transform: uppercase;
}
h2 {
	font-family: var(--site-heading-font);
	font-weight: var(--site-fw-bold);
	font-size: var(--site-fs-h2);
	line-height: var(--site-lh-tight);
	letter-spacing: var(--site-letter-tight);
	margin-block-start: var(--site-gutter-lg);
}
h3 {
	font-family: var(--site-heading-font);
	font-weight: var(--site-fw-bold);
	font-size: var(--site-text-h3);
	line-height: var(--site-lh-tight);
}
h4 {
	font-family: var(--site-heading-font);
	font-weight: var(--site-fw-bold);
	font-size: var(--site-size-h4);
	line-height: var(--site-lh-tight);
}
h5, h6 {
	font-family: var(--site-font-text);
	font-weight: var(--site-font-medium);
	letter-spacing: var(--site-ls-wide);
	text-transform: uppercase;
}
p { margin: 0 0 var(--site-gutter-md); }
ul, ol { margin: 0 0 var(--site-gutter-md); padding-left: var(--site-gutter-lg); }
li { margin-bottom: var(--site-gutter-xs); }
strong { font-weight: var(--site-fw-bold); color: var(--site-foreground); }

/* ============================================================ 3. A11y / Utilities */
.skip-link {
	position: absolute;
	left: var(--site-gutter-md);
	z-index: 200;
	background: var(--site-secondary);
	color: var(--site-bg);
	padding: var(--site-gutter-xs) var(--site-gutter-md);
	border-radius: var(--site-rounded-sm);
	font-family: var(--site-heading-font);
	font-weight: var(--site-fw-bold);
}
.skip-link:not(:focus) { top: -200px !important; }
.skip-link:focus { top: var(--site-gutter-md); }

.sr-only {
	position: absolute;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0);
	white-space: nowrap; border: 0;
}

@media (prefers-reduced-motion: reduce) {
	* { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Einheitliche Sektionsbreite — alle *Inner teilen dieselbe max-width */
.zoneSliderInner,
.meshBunchInner,
.unitTrackInner,
.annexDisplayInner,
.spikeBunchInner,
.labelGroupInner,
.elementGroupInner,
.nookBodyInner,
.latchFooterInner,
.pivotGroupInner,
.precinctListInner,
.latchBodyInner,
.cellSetInner,
.wingGroupInner,
.ticketGridInner,
.axisGridInner,
.huskSpanInner {
	width: 100%;
	max-width: calc(var(--site-shell-width) + 2 * var(--site-gutter-desktop));
	margin-inline: auto;
	padding-inline: var(--site-gutter-desktop);
}

/* Universeller Primär-Button (CTA = <a>) */
.wfBtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--site-gutter-xs);
	min-height: 56px;
	padding-inline: var(--site-space-2xl);
	background: var(--site-secondary);
	color: var(--site-bg);
	font-family: var(--site-heading-font);
	font-weight: var(--site-fw-bold);
	font-size: var(--site-fs-h6);
	letter-spacing: var(--site-ls-wide);
	text-transform: uppercase;
	border: none;
	border-radius: var(--site-rounded-md);
	box-shadow: var(--site-elevation-2);
	cursor: pointer;
	transition: background var(--site-speed-base) var(--site-ease), transform var(--site-speed-base) var(--site-ease), box-shadow var(--site-speed-base) var(--site-ease);
}
.wfBtn:hover {
	background: var(--site-accent-dark);
	color: var(--site-bg);
	text-decoration: none;
	transform: translateY(-1px);
	box-shadow: var(--site-elevation-3);
}

/* ============================================================ 4. Header — HEAD-10 Tall Editorial + STICKY-02 */
.zoneSlider {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--site-bg);
	border-bottom: var(--site-stroke-thin) solid var(--site-color-hairline-soft);
	transition: padding var(--site-speed-base) var(--site-ease);
}
.zoneSliderInner { padding-block: var(--site-gutter-md); }
.zoneSlider.is-shrunk .zoneSliderInner { padding-block: var(--site-gutter-xs); }

.zoneSliderRow { display: flex; align-items: center; }
.zoneSliderRowTop { justify-content: space-between; gap: var(--site-gutter-md); }
.zoneSliderRowBottom { justify-content: flex-start; gap: var(--site-gutter-lg); margin-top: var(--site-spacing-sm); }

.zoneSliderLogo { display: inline-flex; align-items: center; flex-shrink: 0; }
.zoneSliderLogoPill {
	display: inline-flex;
	align-items: center;
	background: #ffffff;
	padding: 6px 14px;
	border-radius: var(--site-rounded-md);
}
.zoneSliderLogoImg {
	height: 92px;
	width: auto;
	flex-shrink: 0;
	transition: height var(--site-speed-base) var(--site-ease);
}
.zoneSlider.is-shrunk .zoneSliderLogoImg { height: 64px; }

.zoneSliderToggle {
	display: none;
	margin-left: auto !important;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 48px; height: 48px;
	background: transparent;
	border: var(--site-stroke-thin) solid var(--site-color-hairline);
	border-radius: var(--site-rounded-sm);
	cursor: pointer;
}
.zoneSliderToggleBar { display: block; width: 22px; height: 2px; background: var(--site-foreground); margin-inline: auto; }

.zoneSliderNav { flex: 1; }
.zoneSliderNavList {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: var(--site-gutter-lg);
	list-style: none;
	margin: 0; padding: 0;
}
.zoneSliderNavItem { margin: 0; }
.zoneSliderLink {
	font-family: var(--site-heading-font);
	font-weight: var(--site-font-medium);
	font-size: var(--site-fs-h6);
	color: var(--site-foreground);
	white-space: nowrap;
	padding-block: var(--site-gutter-2xs);
}
.zoneSliderLink:hover { color: var(--site-secondary); text-decoration: none; }
.zoneSliderLink[aria-current="page"] { color: var(--site-secondary); }

.zoneSliderActions { display: flex; align-items: center; gap: var(--site-spacing-sm); margin-left: auto; }
.zoneSliderAuthBtn {
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
	flex-shrink: 0;
	padding: var(--site-gutter-xs) var(--site-gutter-lg);
	font-family: var(--site-heading-font);
	font-weight: var(--site-fw-bold);
	font-size: var(--site-type-small);
	letter-spacing: var(--site-ls-wide);
	text-transform: uppercase;
	border-radius: var(--site-rounded-sm);
}
.zoneSliderAuthLogin { border: var(--site-stroke-thin) solid var(--site-secondary); color: var(--site-secondary); background: transparent; }
.zoneSliderAuthLogin:hover { background: var(--site-foreground); color: var(--site-bg); text-decoration: none; }
.zoneSliderAuthRegister { background: var(--site-secondary); color: var(--site-bg); }
.zoneSliderAuthRegister:hover { background: var(--site-accent-dark); color: var(--site-bg); text-decoration: none; }

/* Mobile drawer */
.zoneSliderDrawer {
	display: none;
	position: absolute;
	left: 0; right: 0;
	top: 100%;
	z-index: 110;
	background: var(--site-main-color);
	border-top: var(--site-stroke-thin) solid var(--site-color-hairline);
	padding: var(--site-gutter-md) var(--site-inset-mobile) var(--site-gutter-lg);
	box-shadow: var(--site-elevation-3);
}
.zoneSliderDrawer.is-open { display: flex; flex-direction: column; gap: var(--site-gutter-xs); }
.zoneSliderDrawerList { list-style: none; margin: 0 0 var(--site-gutter-md); padding: 0; display: flex; flex-direction: column; gap: var(--site-gutter-2xs); }
.zoneSliderDrawerItem { margin: 0; }
.zoneSliderDrawerLink {
	display: block;
	font-family: var(--site-heading-font);
	font-weight: var(--site-font-medium);
	font-size: var(--site-type-h5);
	color: var(--site-foreground);
	padding: var(--site-gutter-xs) 0;
}
.zoneSliderDrawerLink[aria-current="page"] { color: var(--site-secondary); }
.zoneSliderDrawerAuth { display: flex; gap: var(--site-spacing-sm); margin-bottom: var(--site-gutter-md); }

/* ============================================================ 5. Breadcrumbs — BREAD-01 Inline Minimal Slash */
.huskSpan { padding-block: var(--site-gutter-md); background: var(--site-bg); }
.huskSpanList {
	display: flex; flex-wrap: wrap; align-items: center; gap: var(--site-gutter-xs);
	list-style: none; margin: 0; padding: 0;
	font-size: var(--site-type-small);
}
.huskSpanItem { display: inline-flex; align-items: center; gap: var(--site-gutter-xs); margin: 0; }
.huskSpanLink { color: var(--site-text-secondary); }
.huskSpanLink:hover { color: var(--site-secondary); }
.huskSpanCurrent { color: var(--site-foreground); }
.huskSpanSep { color: rgba(255, 255, 255, 0.55); }

/* ============================================================ 6. Hero — HERO-03 Centered Compact */
.unitTrack { padding-block: var(--site-gap-3xl) var(--site-spacing-xl); background: var(--site-bg); position: relative; }
.unitTrackContent { max-width: var(--site-prose-width); margin-inline: auto; text-align: center; }
.unitTrackTagline {
	display: inline-block;
	font-family: var(--site-heading-font);
	font-size: var(--site-size-xs);
	letter-spacing: var(--site-ls-wide);
	text-transform: uppercase;
	color: var(--site-secondary);
	margin-bottom: var(--site-gutter-md);
}
.unitTrackTitle { font-size: clamp(40px, 6vw, var(--site-type-h1)); }
.unitTrackSubtitle { color: var(--site-text-secondary); margin-block: var(--site-gutter-md); }
.unitTrackCta { margin-block: var(--site-gutter-lg); }
.unitTrackDisclaimer { display: block; font-size: var(--site-size-xs); color: var(--site-text-secondary); max-width: 480px; margin-inline: auto; }

/* ============================================================ 7. Page-Header — PHEAD-10 Manifesto */
.annexDisplay { padding-block: var(--site-space-2xl) var(--site-spacing-xl); background: var(--site-bg); text-align: center; }
.annexDisplayTitle { font-size: clamp(40px, 7vw, 80px); line-height: var(--site-lh-tight); }
.annexDisplayDot { display: block; color: var(--site-secondary); font-family: var(--site-heading-font); font-size: var(--site-fs-h2); line-height: 1; margin-block: var(--site-spacing-sm); }
.annexDisplayDesc { font-style: italic; font-size: var(--site-size-h4); color: var(--site-text-secondary); max-width: 600px; margin-inline: auto; }

/* ============================================================ 8. Prose — PROSE-04 Drop-Cap Magazine */
.latchFooter { padding-block: var(--site-space-2xl) var(--site-spacing-xl); }
.latchFooterProse { max-width: var(--site-prose-width); }
.latchFooterLead::first-letter {
	font-size: 4em;
	float: left;
	line-height: 0.8;
	margin-right: 0.1em;
	margin-top: 0.08em;
	color: var(--site-secondary);
	font-family: var(--site-heading-font);
	font-weight: var(--site-fw-bold);
}
.latchFooterFigure { margin: var(--site-gutter-lg) 0 0; }
.latchFooterFigure img { width: 100%; height: auto; border-radius: var(--site-rounded-md); border: var(--site-stroke-thin) solid var(--site-color-hairline); }
.latchFooterCaption { font-size: var(--site-type-small); color: var(--site-text-secondary); margin-top: var(--site-gutter-xs); font-style: italic; }

/* ============================================================ 9. Items-Grid — GRID-11 Mixed Block Sizes */
.spikeBunch { padding-block: var(--site-space-2xl) var(--site-spacing-xl); }
.spikeBunchGrid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--site-gutter-md);
}
.spikeBunchCard {
	border: var(--site-stroke-thin) solid var(--site-color-hairline);
	background: var(--site-surface-raised);
	border-radius: var(--site-rounded-md);
	padding: var(--site-gutter-lg);
	transition: box-shadow var(--site-speed-base) var(--site-ease);
}
.spikeBunchCard:hover { box-shadow: var(--site-elevation-2); }
.spikeBunchCard:nth-child(1) { grid-column: span 2; grid-row: span 2; }
.spikeBunchCard:nth-child(4) { grid-column: span 2; }
.spikeBunchCardTitle { font-size: var(--site-size-h4); margin-bottom: var(--site-spacing-sm); color: var(--site-foreground); }
.spikeBunchCard:nth-child(1) .spikeBunchCardTitle { font-size: var(--site-text-h3); }
.spikeBunchCardText { font-size: var(--site-type-small); color: var(--site-text-secondary); margin: 0; line-height: var(--site-lh-base); }

/* ============================================================ 10. Reviews — REV-04 Featured + List */
.elementGroup { padding-block: var(--site-space-2xl) var(--site-spacing-xl); }
.elementGroupFeatured {
	padding: var(--site-space-2xl);
	background: rgba(255, 255, 255, 0.05);
	border-radius: var(--site-round-lg);
	border-left: var(--site-border-thick) solid var(--site-secondary);
	margin-bottom: var(--site-spacing-xl);
}
.elementGroupFeaturedStars { color: var(--site-secondary); font-size: 28px; letter-spacing: 2px; margin-bottom: var(--site-spacing-sm); }
.elementGroupFeaturedText { font-size: var(--site-size-h4); font-style: italic; line-height: var(--site-lh-base); color: var(--site-foreground); margin-bottom: var(--site-spacing-sm); }
.elementGroupFeaturedCite { font-family: var(--site-heading-font); font-weight: var(--site-fw-bold); color: var(--site-secondary); font-style: normal; }
.elementGroupList { display: grid; grid-template-columns: 1fr 1fr; gap: var(--site-gutter-lg); }
.elementGroupItem { padding-top: var(--site-gutter-md); border-top: var(--site-stroke-thin) solid var(--site-color-hairline); }
.elementGroupItemHead { display: flex; align-items: center; justify-content: space-between; gap: var(--site-spacing-sm); margin-bottom: var(--site-gutter-xs); }
.elementGroupItemAuthor { font-family: var(--site-heading-font); font-weight: var(--site-fw-bold); color: var(--site-foreground); }
.elementGroupItemStars { color: var(--site-secondary); font-size: var(--site-type-small); letter-spacing: 1px; }
.elementGroupItemText { font-size: var(--site-type-small); color: var(--site-text-secondary); margin: 0; }

/* ============================================================ 11. FAQ — FAQ-02 Always-Open List */
.labelGroup { padding-block: var(--site-space-2xl) var(--site-spacing-xl); }
.labelGroupList { margin: 0; }
.labelGroupQuestion { font-family: var(--site-heading-font); font-weight: var(--site-fw-bold); font-size: var(--site-size-h4); color: var(--site-foreground); margin-bottom: var(--site-spacing-sm); }
.labelGroupAnswer { margin: 0 0 var(--site-spacing-xl); }
.labelGroupAnswer p { color: var(--site-text-secondary); margin: 0; }

/* ============================================================ 12. CTA — CTA-09 Eyebrow + H2 + Short Text */
.nookBody { padding-block: var(--site-space-2xl) var(--site-spacing-xl); }
.nookBodyInner { }
.nookBodyEyebrow { display: block; font-family: var(--site-heading-font); font-size: var(--site-size-xs); letter-spacing: var(--site-ls-wide); text-transform: uppercase; color: var(--site-secondary); margin-bottom: var(--site-gutter-xs); }
.nookBodyTitle { font-size: var(--site-fs-h2); }
.nookBodyText { max-width: 580px; color: var(--site-text-secondary); margin-bottom: var(--site-gutter-lg); }

/* ============================================================ 13. Data-Table — TABLE-02 Borderless Editorial */
.pivotGroup { padding-block: var(--site-space-2xl) var(--site-spacing-xl); }
.pivotGroupTable { width: 100%; border-collapse: collapse; }
.pivotGroupTable th {
	text-align: left;
	font-family: var(--site-heading-font);
	font-weight: var(--site-fw-bold);
	font-size: var(--site-type-small);
	letter-spacing: var(--site-ls-wide);
	text-transform: uppercase;
	color: var(--site-foreground);
	padding-block: var(--site-gutter-md);
	padding-inline: var(--site-gutter-md);
	border-bottom: var(--site-border-medium) solid var(--site-secondary);
}
.pivotGroupTable td {
	padding: var(--site-gutter-md);
	font-size: var(--site-size-body);
	color: var(--site-text-secondary);
	border-bottom: var(--site-stroke-thin) solid var(--site-color-hairline-soft);
}
.pivotGroupTable td:first-child { color: var(--site-foreground); font-weight: var(--site-font-medium); }
.pivotGroupTable tr:last-child td { border-bottom: none; }

/* ============================================================ 14. Legal — LEGAL-04 Bordered Article Box */
.precinctList { padding-block: var(--site-space-2xl) var(--site-spacing-xl); }
.precinctListBox {
	position: relative;
	max-width: var(--site-prose-width);
	background: var(--site-surface-raised);
	padding: var(--site-space-2xl);
	border-radius: var(--site-round-lg);
	border: var(--site-stroke-thin) solid var(--site-color-hairline);
	box-shadow: var(--site-shadow-sm);
}
.precinctListUpdated { position: absolute; top: var(--site-gutter-md); right: var(--site-gutter-md); font-size: var(--site-size-xs); color: var(--site-text-secondary); }
.precinctListIntro { color: var(--site-text-secondary); margin-bottom: var(--site-gutter-lg); }
.precinctListHeading { font-size: var(--site-text-h3); margin-block: var(--site-gutter-lg) var(--site-spacing-sm); }
.precinctListPara { color: var(--site-text-secondary); }
.precinctListSubhead { font-size: var(--site-type-h5); text-transform: none; letter-spacing: var(--site-ls-normal); margin-block: var(--site-gutter-lg) var(--site-gutter-xs); color: var(--site-foreground); }
.precinctListSupport { margin: 0 0 var(--site-gutter-md); color: var(--site-text-secondary); }
.precinctListDisclaimer { font-size: var(--site-type-small); color: var(--site-text-secondary); font-style: italic; margin-top: var(--site-gutter-lg); padding-top: var(--site-gutter-md); border-top: var(--site-stroke-thin) solid var(--site-color-hairline); }

/* ============================================================ 15. Contact-Form — FORM-05 Bordered Editorial */
.latchBody { padding-block: var(--site-space-2xl) var(--site-spacing-xl); }
.latchBodyIntro { max-width: var(--site-prose-width); color: var(--site-text-secondary); margin-bottom: var(--site-gutter-lg); }
.latchBodyForm { max-width: var(--site-prose-width); border: var(--site-border-medium) solid var(--site-secondary); padding: var(--site-spacing-xl); border-radius: var(--site-rounded-md); }
.latchBodyField { margin-bottom: var(--site-gutter-lg); }
.latchBodyLabel { display: block; font-size: var(--site-type-small); font-weight: var(--site-font-medium); letter-spacing: var(--site-ls-wide); text-transform: uppercase; color: var(--site-text-secondary); margin-bottom: var(--site-gutter-xs); }
.latchBodyInput,
.latchBodyTextarea {
	width: 100%;
	background: transparent;
	border: none;
	border-bottom: var(--site-stroke-thin) solid rgba(255, 255, 255, 0.2);
	color: var(--site-foreground);
	font-family: var(--site-font-text);
	font-size: var(--site-type-h5);
	padding: var(--site-gutter-xs) 0;
}
.latchBodyInput:focus,
.latchBodyTextarea:focus { outline: none; border-bottom-color: var(--site-secondary); }
.latchBodyTextarea { resize: vertical; min-height: 120px; }
.latchBodySubmit { margin-top: var(--site-spacing-sm); }
.latchBodySuccess { display: none; padding: var(--site-gutter-lg); background: rgba(253, 200, 4, 0.12); border-left: var(--site-border-thick) solid var(--site-secondary); color: var(--site-foreground); border-radius: var(--site-rounded-sm); }
.latchBodySuccess.is-visible { display: block; }

/* ============================================================ 16. Author-Card — AUTH-07 Quote-Style with Portrait */
.cellSet { padding-block: var(--site-space-2xl) var(--site-spacing-xl); }
.cellSetCard {
	display: grid;
	grid-template-columns: 100px 1fr;
	gap: var(--site-gutter-lg);
	background: var(--site-surface-raised);
	padding: var(--site-spacing-xl);
	border-radius: var(--site-rounded-md);
	border-left: var(--site-border-thick) solid var(--site-secondary);
}
.cellSetPortrait { width: 100px; height: 100px; border-radius: var(--site-round-circle); object-fit: cover; }
.cellSetBody { display: flex; flex-direction: column; }
.cellSetQuoteMark { font-family: var(--site-heading-font); font-size: var(--site-type-h1); line-height: 0.6; color: var(--site-secondary); }
.cellSetBio { font-style: italic; font-size: var(--site-type-h5); line-height: var(--site-lh-base); color: var(--site-foreground); margin: 0 0 var(--site-spacing-sm); }
.cellSetAttribution { font-size: var(--site-type-small); letter-spacing: var(--site-ls-wide); color: var(--site-text-secondary); }
.cellSetArticles { margin-top: var(--site-spacing-xl); max-width: var(--site-prose-width); }
.cellSetArticlesHeading { font-size: var(--site-size-h4); margin-bottom: var(--site-gutter-md); }
.cellSetArticlesList { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--site-spacing-sm); }
.cellSetArticlesItem { margin: 0; padding-top: var(--site-spacing-sm); border-top: var(--site-stroke-thin) solid var(--site-color-hairline); }
.cellSetArticlesLink { font-family: var(--site-heading-font); font-weight: var(--site-font-medium); font-size: var(--site-fs-h6); }

/* ============================================================ 17. Author-Byline — BYLINE-04 Quote-Style */
.wingGroup { padding-block: var(--site-spacing-xl); }
.wingGroupQuote { max-width: 600px; margin-inline: auto; text-align: center; position: relative; }
.wingGroupMark { display: block; font-family: var(--site-heading-font); font-size: var(--site-type-h1); line-height: 0.5; color: var(--site-secondary); }
.wingGroupText { font-family: var(--site-heading-font); font-size: var(--site-size-h4); font-style: italic; color: var(--site-foreground); margin: 0 0 var(--site-gutter-md); line-height: var(--site-lh-base); }
.wingGroupAttribution { display: inline-flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: var(--site-gutter-xs); }
.wingGroupPortrait { width: 32px; height: 32px; border-radius: var(--site-round-circle); object-fit: cover; }
.wingGroupName { font-style: normal; }
.wingGroupName a { color: var(--site-secondary); font-weight: var(--site-fw-bold); }
.wingGroupRole { font-size: var(--site-type-small); font-style: italic; color: var(--site-text-secondary); }
.wingGroupDates { display: block; font-size: var(--site-size-xs); color: var(--site-text-secondary); margin-top: var(--site-gutter-xs); letter-spacing: var(--site-ls-wide); }
.wingGroupDates time { color: var(--site-text-secondary); }

/* ============================================================ 18. Error-Block — ERR-02 Split Editorial */
.axisGrid { padding-block: var(--site-gap-3xl) var(--site-spacing-xl); }
.axisGridLayout { display: grid; grid-template-columns: 1fr 1fr; gap: var(--site-space-2xl); align-items: center; }
.axisGridLeft { display: flex; flex-direction: column; gap: var(--site-gutter-md); align-items: flex-start; }
.axisGridText { color: var(--site-text-secondary); margin: 0; }
.axisGridBig { font-family: var(--site-heading-font); font-weight: var(--site-fw-bold); font-size: clamp(120px, 24vw, 280px); line-height: var(--site-lh-tight); color: var(--site-secondary); align-self: start; }

/* ============================================================ 19. Cookie-Banner — COOK-02 Full-Width Bottom Strip */
.ticketGrid {
	position: fixed;
	bottom: 0; left: 0; right: 0;
	z-index: 90;
	background: var(--site-main-color);
	border-top: var(--site-stroke-thin) solid var(--site-color-hairline);
	padding-block: var(--site-gutter-md);
}
.ticketGrid[hidden] { display: none; }
.ticketGridInner { display: flex; align-items: center; justify-content: space-between; gap: var(--site-gutter-md); }
.ticketGridMessage { flex: 1; font-size: var(--site-type-small); color: var(--site-text-secondary); margin: 0; }
.ticketGridActions { display: flex; flex-shrink: 0; gap: var(--site-spacing-sm); }
.ticketGridBtn {
	font-family: var(--site-heading-font);
	font-weight: var(--site-fw-bold);
	font-size: var(--site-type-small);
	letter-spacing: var(--site-ls-wide);
	text-transform: uppercase;
	padding: var(--site-gutter-xs) var(--site-gutter-lg);
	border-radius: var(--site-rounded-sm);
	border: var(--site-stroke-thin) solid var(--site-secondary);
	cursor: pointer;
}
.ticketGridAccept { background: var(--site-secondary); color: var(--site-bg); }
.ticketGridAccept:hover { background: var(--site-accent-dark); color: var(--site-bg); }
.ticketGridDecline { background: transparent; color: var(--site-secondary); }
.ticketGridDecline:hover { background: var(--site-foreground); color: var(--site-bg); }

/* ============================================================ 20. Footer — FOOT-07 Side-Anchored Asymmetric */
.meshBunch { background: var(--site-main-color); padding-block: var(--site-space-2xl) var(--site-spacing-xl); }
.meshBunchInner { display: grid; grid-template-columns: 2fr 1fr; gap: var(--site-space-2xl); align-items: stretch; }
.meshBunchContent { display: flex; flex-direction: column; gap: var(--site-gutter-lg); }
.meshBunchLogo { display: inline-flex; align-items: center; }
.meshBunchLogoPill { display: inline-flex; background: #ffffff; padding: 6px 12px; border-radius: var(--site-rounded-md); }
.meshBunchLogoImg { height: 64px; width: auto; }
.meshBunchCols { display: flex; flex-wrap: wrap; gap: var(--site-space-2xl); }
.meshBunchColHeading { font-size: var(--site-fs-h6); text-transform: uppercase; letter-spacing: var(--site-ls-wide); color: var(--site-foreground); margin-bottom: var(--site-spacing-sm); }
.meshBunchNav { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--site-gutter-xs); }
.meshBunchNavItem { margin: 0; }
.meshBunchNavLink { color: var(--site-text-secondary); font-size: var(--site-type-small); }
.meshBunchNavLink:hover { color: var(--site-secondary); }
.meshBunchCopyright { font-size: var(--site-type-small); color: var(--site-text-secondary); }
.meshBunchDisclaimer { font-size: var(--site-size-xs); color: var(--site-text-secondary); max-width: 640px; }
.meshBunchAccentBlock {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--site-secondary);
	padding: var(--site-spacing-xl);
	border-radius: var(--site-rounded-md);
}
.meshBunchAccentLabel {
	background: var(--site-secondary);
	writing-mode: vertical-rl;
	transform: rotate(180deg);
	font-family: var(--site-heading-font);
	font-weight: var(--site-fw-bold);
	font-size: var(--site-fs-h2);
	letter-spacing: var(--site-letter-tight);
	text-transform: uppercase;
	color: var(--site-bg);
}

/* ============================================================ 21. Mobile / Responsive */
@media (max-width: 1099px) {
	:root {
		--site-type-h1: 36px;
		--site-fs-h2: 28px;
		--site-text-h3: 22px;
		--site-size-h4: 18px;
		--site-type-h5: 16px;
		--site-fs-h6: 14px;
		--site-size-body: 16px;
		--site-type-small: 13px;
		--site-size-xs: 11px;
	}

	.zoneSliderInner,
	.meshBunchInner,
	.unitTrackInner,
	.annexDisplayInner,
	.spikeBunchInner,
	.labelGroupInner,
	.elementGroupInner,
	.nookBodyInner,
	.latchFooterInner,
	.pivotGroupInner,
	.precinctListInner,
	.latchBodyInner,
	.cellSetInner,
	.wingGroupInner,
	.ticketGridInner,
	.axisGridInner,
	.huskSpanInner { padding-inline: var(--site-inset-mobile); }

	.zoneSliderNav { display: none; }
	.zoneSliderActions { display: none; }
	.zoneSliderToggle { display: flex; }
	.zoneSliderRowBottom { display: none; }
	.zoneSliderLogoImg { height: 60px; }
	.zoneSlider.is-shrunk .zoneSliderLogoImg { height: 52px; }

	.spikeBunchGrid { grid-template-columns: 1fr; }
	.spikeBunchCard:nth-child(1),
	.spikeBunchCard:nth-child(4) { grid-column: span 1; grid-row: span 1; }

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

	.axisGridLayout { grid-template-columns: 1fr; }
	.axisGridBig { order: -1; }

	.meshBunchInner { grid-template-columns: 1fr; }
	.meshBunchAccentBlock { padding: var(--site-gutter-lg); }
	.meshBunchAccentLabel { writing-mode: horizontal-tb; transform: none; }

	.cellSetCard { grid-template-columns: 1fr; }
	.cellSetPortrait { width: 88px; height: 88px; }

	.ticketGridInner { flex-direction: column; align-items: stretch; }
	.ticketGridActions { justify-content: stretch; }
	.ticketGridBtn { flex: 1; text-align: center; min-height: 44px; }
}

@media (max-width: 720px) {
	.ticketGrid { padding: 12px 14px !important; }
	.ticketGridMessage { font-size: 13px !important; line-height: 1.35 !important; }
}

