
:root {
	--accent-main: #f9be00;
	--highlight: #d645ff;
	--accent-pressed: #c926ff;
	--bg: #100416;
	--card-bg: #1c0a26;
	--gradient-start: #9143c8;
	--gradient-mid: #561bb8;
	--body-color: #ffffff;
	--ink-soft: #bdbcbc;
	--banner-bg: #dc2626;
	--color-footer-text-x: #180626;
	--color-footer-hover-x: #3d0a5c;

	--font-title: "Poppins", sans-serif;
	--font-sans: "Inter", sans-serif;

	--text-h1: 52px; --type-h2: 32px; --size-h3: 24px; --text-h4: 19px; --text-h5: 16px; --type-h6: 14px;
	--text-base: 17px; --size-sm: 14px; --type-micro: 12px;
	--line-tight: 1.15; --line-normal: 1.55; --line-loose: 1.7;
	--letter-tight: 0; --ls-normal-x: 0; --letter-wide: 0.02em;
	--font-normal: 400; --weight-medium: 500; --weight-bold: 700;

	--gutter-2xs: 5px; --gap-xs: 10px; --spacing-sm: 15px; --gap-md: 25px;
	--gap-lg: 40px; --gap-xl: 60px; --gap-2xl: 90px; --gap-3xl: 140px;
	--sec-y-x: 52px;

	--content-width: 1400px;
	--text-width: 720px;
	--container-narrow-x: 720px; --container-default-x: 980px; --container-wide-x: 1140px;
	--pad-mobile: 16px; --container-padding-tablet-x: 32px; --pad-desktop: 48px;

	--bp-sm-x: 488px; --bp-md-x: 832px; --bp-lg-x: 1136px; --bp-xl-x: 1488px;

	--rounded-xs: 0; --round-sm: 4px; --round-md: 6px; --rounded-lg: 10px; --corner-pill: 9999px; --circle: 50%;
	--depth-md: 0 0 0 1px rgba(0,0,0,0.06); --elevation-3: 0 0 0 2px rgba(0,0,0,0.10), 0 8px 24px rgba(0,0,0,0.35);
	--stroke-thin: 1px; --border-medium-x: 4px; --border-thick-x: 6px;

	--duration-fast: 200ms; --duration-base: 300ms; --transition-slow: 500ms;
	--timing: cubic-bezier(0.16, 1, 0.3, 1); --ease-in-x: cubic-bezier(0.7, 0, 0.84, 0);
	--ease-in-out-x: cubic-bezier(0.83, 0, 0.17, 1); --ease-spring-x: cubic-bezier(0.34, 1.56, 0.64, 1);

	--header-space-x: 96px;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: clip; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--bg);
	color: var(--body-color);
	font-family: var(--font-sans);
	font-size: var(--text-base);
	font-weight: var(--font-normal);
	line-height: var(--line-normal);
	padding-top: var(--header-space-x);
}
body.is-home { padding-top: 0; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--highlight); text-decoration: none; }
a:hover { color: var(--accent-pressed); }
h1, h2, h3, h4, h5, h6 { margin: 0 0 var(--spacing-sm); line-height: var(--line-tight); }
p { margin: 0 0 var(--spacing-sm); }
ul { margin: 0; padding: 0; }

.skip-link {
	position: absolute; left: var(--gap-md); z-index: 200;
	background: var(--highlight); color: var(--bg);
	padding: var(--gap-xs) var(--gap-md); border-radius: var(--round-md);
}
.skip-link:not(:focus) { top: -200px !important; }
.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; }

.page-main { display: block; }

@media (prefers-reduced-motion: reduce) {
	* { animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; }
}

/* ================= HEADER (HEAD-11 Floating Pill + STICKY-04) ================= */
.latchContainer {
	position: fixed;
	top: var(--gap-md);
	left: 50%;
	transform: translateX(-50%);
	width: 90%;
	max-width: 1100px;
	z-index: 50;
	background: rgba(16, 4, 22, 0.85);
	backdrop-filter: blur(12px);
	border-radius: var(--corner-pill);
	box-shadow: var(--depth-md);
	transition: transform var(--duration-base) var(--timing);
}
.latchContainer.is-hidden { transform: translateX(-50%) translateY(-180%); }
.latchContainer-bar {
	height: 56px;
	max-width: 1440px;
	margin: 0 auto;
	padding-inline: var(--gap-md);
	display: flex;
	align-items: center;
	gap: var(--gap-md);
}
.latchContainer-logo { flex-shrink: 0; display: inline-flex; align-items: center; }
.latchContainer-logo-img { flex-shrink: 0; height: 40px; width: auto; }
.latchContainer-logo img { height: 40px; width: auto; }
.latchContainer-nav { margin-left: auto; }
.latchContainer-nav-list { display: none; flex-wrap: nowrap; gap: var(--gap-md); list-style: none; }
.latchContainer-nav-item { display: inline-flex; }
.latchContainer-nav-link {
	font-family: var(--font-sans); font-weight: var(--weight-medium); font-size: var(--size-sm);
	color: var(--body-color); white-space: nowrap; padding-block: var(--gutter-2xs);
	transition: color var(--duration-fast) var(--timing);
}
.latchContainer-nav-link:hover, .latchContainer-nav-link[aria-current="page"] { color: var(--highlight); }
.latchContainer-toggle {
	margin-left: auto; flex-shrink: 0;
	display: inline-flex; flex-direction: column; justify-content: center; gap: 5px;
	width: 40px; height: 40px; padding: 8px;
	background: transparent; border: 0; cursor: pointer;
}
.latchContainer-toggle-bar { display: block; height: 2px; width: 100%; background: var(--body-color); border-radius: var(--corner-pill); transition: transform var(--duration-fast) var(--timing); }
.latchContainer-drawer {
	display: none;
	position: fixed; top: 84px; left: 5%; right: 5%;
	background: rgba(16, 4, 22, 0.97);
	backdrop-filter: blur(12px);
	border-radius: var(--rounded-lg);
	box-shadow: var(--elevation-3);
	z-index: 60;
	padding: var(--gap-md);
}
.latchContainer-drawer.is-open { display: flex; flex-direction: column; }
.latchContainer-drawer-list { list-style: none; display: flex; flex-direction: column; gap: var(--gap-xs); }
.latchContainer-drawer-item { display: block; }
.latchContainer-drawer-link {
	display: block; padding: var(--spacing-sm); font-family: var(--font-sans); font-weight: var(--weight-medium);
	font-size: var(--text-h5); color: var(--body-color); border-radius: var(--round-md);
}
.latchContainer-drawer-link:hover, .latchContainer-drawer-link[aria-current="page"] { color: var(--highlight); background: var(--card-bg); }

@media (min-width: 1136px) {
	.latchContainer-nav-list { display: flex; }
	.latchContainer-toggle { display: none; }
	.latchContainer-drawer { display: none; }
}

/* ================= HERO (HERO-01 Full-Bleed Cinematic) ================= */
.nookHeader {
	position: relative;
	width: 100vw;
	margin-left: 50%;
	transform: translateX(-50%);
	min-height: 600px;
	height: 100vh;
	max-height: 900px;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
}
.nookHeader-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: 1; transition: transform 600ms var(--timing); }
.nookHeader:hover .nookHeader-image { transform: scale(1.03); }
.nookHeader-overlay { position: absolute; inset: 0; z-index: 2; background: linear-gradient(to bottom, rgba(0,0,0,0.15), rgba(16,4,22,0.82)); }
.nookHeader-content {
	position: relative; z-index: 3;
	width: 100%;
	max-width: calc(var(--content-width) + 2 * var(--pad-desktop));
	margin: 0 auto;
	padding: var(--gap-xl) var(--pad-desktop) var(--gap-2xl);
}
.nookHeader-title { font-family: var(--font-title); font-weight: var(--weight-bold); font-size: var(--text-h1); text-transform: uppercase; letter-spacing: var(--letter-tight); line-height: var(--line-tight); color: #ffffff; max-width: 720px; }
.nookHeader-subtitle { font-family: var(--font-sans); font-weight: var(--font-normal); font-size: var(--text-h5); color: rgba(255,255,255,0.88); line-height: var(--line-normal); max-width: 580px; margin-top: var(--gap-md); }
.nookHeader-cta {
	display: inline-block; margin-top: var(--gap-lg); height: 56px; line-height: 56px;
	padding-inline: var(--gap-xl); background: var(--highlight); color: var(--bg);
	font-family: var(--font-title); font-weight: var(--weight-bold); font-size: var(--type-h6);
	text-transform: uppercase; letter-spacing: var(--letter-wide); border-radius: var(--round-md);
	transition: background var(--duration-base) var(--timing), transform var(--duration-base) var(--ease-spring-x), box-shadow var(--duration-base) var(--timing);
}
.nookHeader-cta:hover { background: var(--accent-pressed); color: var(--bg); transform: translateY(-2px); box-shadow: var(--elevation-3); }

/* ================= shared section rhythm ================= */
.ticketDisplay, .zoneCarousel, .regionSpan, .sectionTile, .pivotBlock, .boxSet, .tagWrapper, .padList, .meshTile, .quarterBlock-wrap, .quarterBlock-articles {
	padding-block: var(--sec-y-x);
}
.ticketDisplay-inner, .zoneCarousel-inner, .regionSpan-inner, .sectionTile-inner, .pivotBlock-inner, .boxSet-inner, .tagWrapper-inner, .padList-inner, .meshTile-inner, .quarterBlock-inner, .quarterBlock-articles-inner, .meshSlider-inner, .areaRail-inner, .knobSlider-inner {
	max-width: calc(var(--content-width) + 2 * var(--pad-desktop));
	margin-inline: auto;
	padding-inline: var(--pad-desktop);
	width: 100%;
}

/* ================= PAGE HEADER (PHEAD-08 Tag Cluster) ================= */
.meshTile { background: var(--card-bg); }
.meshTile-tags { display: flex; flex-wrap: wrap; gap: var(--gap-xs); margin-bottom: var(--gap-md); }
.meshTile-tag {
	display: inline-block; padding: var(--gutter-2xs) var(--spacing-sm); border-radius: var(--corner-pill);
	font-size: var(--type-micro); text-transform: uppercase; letter-spacing: var(--letter-wide);
	background: var(--accent-main); color: var(--bg); font-weight: var(--weight-bold);
}
.meshTile-title { font-family: var(--font-title); font-weight: var(--weight-bold); font-size: var(--text-h1); color: var(--body-color); }
.meshTile-desc { font-size: var(--text-h5); color: var(--ink-soft); max-width: 820px; line-height: var(--line-normal); }
.meshTile-meta { margin-top: var(--spacing-sm); }
.meshTile-time { font-size: var(--size-sm); color: var(--ink-soft); }

/* ================= BREADCRUMBS (BREAD-03 Chevron Editorial) ================= */
.areaRail { padding-block: var(--gap-md); background: var(--bg); }
.areaRail-list { display: flex; flex-wrap: wrap; align-items: center; gap: var(--gap-xs); list-style: none; }
.areaRail-item { display: inline-flex; align-items: center; font-size: var(--size-sm); }
.areaRail-link { color: var(--ink-soft); }
.areaRail-link:hover { color: var(--highlight); }
.areaRail-current { color: var(--body-color); }
.areaRail-sep { color: var(--highlight); margin-inline: var(--gutter-2xs); }

/* ================= INLINE CTA (INLINE-CTA-01 Compact Banner) ================= */
.meshSlider { background: var(--accent-main); }
.meshSlider-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--gap-md); padding-block: var(--gap-md); }
.meshSlider-text { font-size: var(--text-h5); font-weight: var(--weight-bold); color: var(--bg); margin: 0; }
.meshSlider-btn {
	flex-shrink: 0; padding: var(--spacing-sm) var(--gap-lg); border-radius: var(--round-md);
	background: var(--highlight); color: var(--bg); font-weight: var(--weight-bold);
	text-transform: uppercase; letter-spacing: var(--letter-wide); font-size: var(--size-sm);
	transition: background var(--duration-base) var(--timing);
}
.meshSlider-btn:hover { background: var(--accent-pressed); color: var(--bg); }

/* ================= PROSE (PROSE-03 Bordered Sidebar Notes) ================= */
.ticketDisplay { background: var(--bg); }
.ticketDisplay-section { margin-bottom: var(--gap-lg); }
.ticketDisplay-h2 { font-family: var(--font-title); font-weight: var(--weight-bold); font-size: var(--type-h2); color: var(--body-color); margin-block-start: var(--gap-xl); margin-bottom: var(--gap-md); }
.ticketDisplay-section p, .ticketDisplay-section ul {
	padding-left: var(--gap-lg);
	border-left: 3px solid rgba(214, 69, 255, 0.35);
	color: var(--ink-soft);
	font-size: var(--text-base);
	line-height: var(--line-loose);
	margin-bottom: var(--gap-md);
}
.ticketDisplay-section:nth-of-type(even) p, .ticketDisplay-section:nth-of-type(even) ul { border-left-color: rgba(249, 190, 0, 0.5); }
.ticketDisplay-section ul { list-style: disc; }
.ticketDisplay-section li { margin-bottom: var(--gutter-2xs); margin-left: var(--gap-md); }
.ticketDisplay-section a { color: var(--highlight); text-decoration: underline; }
.ticketDisplay-section a:hover { color: var(--accent-pressed); }
.ticketDisplay-section strong { color: var(--body-color); }
.ticketDisplay-figure { margin: 0 0 var(--gap-lg); }
.ticketDisplay-figimg { width: 100%; border-radius: var(--round-md); border: var(--stroke-thin) solid rgba(255,255,255,0.1); }

/* ================= ITEMS GRID (GRID-02 Numbered Vertical Strip) ================= */
.zoneCarousel { background: var(--bg); }
.zoneCarousel-heading { font-family: var(--font-title); font-weight: var(--weight-bold); font-size: var(--type-h2); color: var(--body-color); margin-bottom: var(--gap-lg); }
.zoneCarousel-list { display: flex; flex-direction: column; }
.zoneCarousel-item {
	display: flex; gap: var(--gap-md); align-items: flex-start;
	padding-block: var(--gap-xl);
	border-bottom: 1px solid rgba(255,255,255,0.1);
}
.zoneCarousel-num { flex-shrink: 0; width: 80px; font-family: var(--font-title); font-weight: var(--weight-bold); font-size: var(--text-h1); letter-spacing: var(--letter-tight); color: var(--highlight); align-self: flex-start; transition: transform var(--duration-base) var(--timing); }
.zoneCarousel-item:hover .zoneCarousel-num { transform: scale(1.1); }
.zoneCarousel-body { flex: 1; }
.zoneCarousel-title { font-family: var(--font-title); font-weight: var(--weight-bold); font-size: var(--size-h3); color: var(--body-color); }
.zoneCarousel-text { font-size: var(--text-base); line-height: var(--line-loose); color: var(--ink-soft); max-width: 820px; margin: 0; }

/* ================= REVIEWS (REV-03 Carousel Horizontal Strip) ================= */
.regionSpan { background: var(--card-bg); }
.regionSpan-heading { font-family: var(--font-title); font-weight: var(--weight-bold); font-size: var(--type-h2); color: var(--body-color); margin-bottom: var(--gap-lg); }
.regionSpan-rail { display: flex; gap: var(--gap-md); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: var(--spacing-sm); scrollbar-width: thin; }
.regionSpan-card {
	flex-shrink: 0; width: 360px; min-height: 240px; scroll-snap-align: start;
	padding: var(--gap-lg); background: var(--bg); border: 1px solid rgba(255,255,255,0.12);
	border-radius: var(--round-md); display: flex; flex-direction: column; gap: var(--spacing-sm);
}
.regionSpan-card-head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--spacing-sm); }
.regionSpan-author { font-family: var(--font-title); font-weight: var(--weight-bold); font-size: var(--text-h5); color: var(--body-color); }
.regionSpan-date { font-size: var(--size-sm); color: var(--ink-soft); }
.regionSpan-rating { display: flex; flex-direction: column; gap: var(--gutter-2xs); }
.regionSpan-rating-val { font-size: var(--size-sm); color: var(--accent-main); font-weight: var(--weight-bold); }
.regionSpan-bar { position: relative; height: 4px; width: 60%; background: rgba(255,255,255,0.2); border-radius: var(--corner-pill); overflow: hidden; }
.regionSpan-bar-fill { position: absolute; inset: 0; height: 100%; background: var(--highlight); border-radius: var(--corner-pill); }
.regionSpan-text { font-size: var(--size-sm); line-height: var(--line-loose); color: var(--ink-soft); margin: 0; }
.regionSpan-dots { display: flex; gap: var(--gutter-2xs); justify-content: center; margin-top: var(--gap-md); }
.regionSpan-dot { width: 10px; height: 10px; padding: 0; border: 0; border-radius: var(--circle); background: rgba(255,255,255,0.3); cursor: pointer; }
.regionSpan-dot.is-active { background: var(--highlight); }

/* ================= FAQ (FAQ-02 Always-Open List) ================= */
.sectionTile { background: var(--bg); }
.sectionTile-heading { font-family: var(--font-title); font-weight: var(--weight-bold); font-size: var(--type-h2); color: var(--body-color); margin-bottom: var(--gap-lg); }
.sectionTile-list { margin: 0; }
.sectionTile-question { font-family: var(--font-title); font-weight: var(--weight-bold); font-size: var(--text-h4); color: var(--body-color); margin-bottom: var(--spacing-sm); }
.sectionTile-answer { margin: 0 0 var(--gap-xl); font-size: var(--text-base); line-height: var(--line-loose); color: var(--ink-soft); }
.sectionTile-answer p { margin: 0; }

/* ================= CTA BLOCK (CTA-04 Minimal Text Link) ================= */
.pivotBlock { background: var(--card-bg); }
.pivotBlock-inner { text-align: center; }
.pivotBlock-title { font-family: var(--font-title); font-weight: var(--weight-bold); font-size: var(--text-h4); color: var(--body-color); }
.pivotBlock-text { font-size: var(--text-base); line-height: var(--line-loose); color: var(--ink-soft); margin-block: var(--gap-md); max-width: 720px; margin-inline: auto; }
.pivotBlock-link {
	display: inline-block; font-size: var(--type-h6); text-transform: uppercase; letter-spacing: var(--letter-wide);
	color: var(--highlight); text-decoration: underline; text-underline-offset: 4px; font-weight: var(--weight-bold);
	transition: padding-left var(--duration-fast) var(--timing), color var(--duration-fast) var(--timing);
}
.pivotBlock-link:hover { color: var(--accent-pressed); padding-left: 8px; text-decoration-thickness: 2px; }
.pivotBlock-arrow { display: inline-block; }

/* ================= DATA TABLE (TABLE-07 Two-Tone Columns) ================= */
.boxSet { background: var(--bg); }
.boxSet-scroll { overflow-x: auto; }
.boxSet-table { width: 100%; border-collapse: collapse; font-size: var(--size-sm); }
.boxSet-thead { background: var(--accent-main); }
.boxSet-th { padding: var(--gap-md); text-align: left; background: var(--accent-main); color: var(--bg); font-family: var(--font-title); font-weight: var(--weight-bold); white-space: nowrap; }
.boxSet-tr { border-bottom: 1px solid rgba(255,255,255,0.08); }
.boxSet-td { padding: var(--gap-md); color: var(--body-color); }
.boxSet-td:nth-child(even) { background: rgba(255,255,255,0.03); }

/* ================= LEGAL (LEGAL-08 Minimal Plain) ================= */
.tagWrapper { background: var(--bg); }
.tagWrapper-block { margin-bottom: var(--gap-lg); max-width: 820px; }
.tagWrapper-h3 { font-family: var(--font-sans); font-weight: var(--weight-bold); font-size: var(--size-h3); color: var(--body-color); }
.tagWrapper-p { font-size: var(--text-base); line-height: var(--line-loose); color: var(--ink-soft); }
.tagWrapper-contacts { list-style: disc; padding-left: var(--gap-lg); }
.tagWrapper-contact-item { color: var(--ink-soft); margin-bottom: var(--gutter-2xs); }
.tagWrapper-updated { font-size: var(--size-sm); color: var(--ink-soft); }
.tagWrapper-disclaimer { display: block; font-size: var(--size-sm); color: var(--ink-soft); margin-top: var(--gap-md); }

/* ================= CONTACT FORM (FORM-02 Two-Column) ================= */
.padList { background: var(--bg); }
.padList-inner { display: grid; grid-template-columns: 1fr; gap: var(--gap-xl); }
.padList-info { padding: var(--gap-lg); background: rgba(249, 190, 0, 0.06); border-radius: var(--round-md); }
.padList-info-title { font-family: var(--font-title); font-weight: var(--weight-bold); font-size: var(--size-h3); color: var(--body-color); }
.padList-intro { font-size: var(--text-base); color: var(--ink-soft); line-height: var(--line-loose); }
.padList-contacts { list-style: none; margin-top: var(--gap-md); }
.padList-contact-item { margin-bottom: var(--gap-xs); }
.padList-contact-link { color: var(--highlight); }
.padList-contact-link:hover { color: var(--accent-pressed); }
.padList-contact-text { color: var(--ink-soft); }
.padList-form { display: flex; flex-direction: column; gap: var(--gap-md); }
.padList-field { display: flex; flex-direction: column; gap: var(--gutter-2xs); }
.padList-label { font-size: var(--size-sm); font-weight: var(--weight-medium); color: var(--body-color); }
.padList-input, .padList-textarea {
	width: 100%; padding: var(--spacing-sm) var(--gap-md); font-family: var(--font-sans); font-size: var(--text-base);
	background: var(--card-bg); color: var(--body-color);
	border: 1px solid rgba(255,255,255,0.15); border-radius: var(--round-md);
}
.padList-input:focus, .padList-textarea:focus { outline: 2px solid var(--highlight); border-color: var(--highlight); }
.padList-textarea { resize: vertical; }
.padList-submit {
	align-self: flex-start; padding: var(--spacing-sm) var(--gap-xl); border: 0; border-radius: var(--round-md);
	background: var(--highlight); color: var(--bg); font-family: var(--font-title); font-weight: var(--weight-bold);
	text-transform: uppercase; letter-spacing: var(--letter-wide); font-size: var(--type-h6); cursor: pointer;
	transition: background var(--duration-base) var(--timing);
}
.padList-submit:hover { background: var(--accent-pressed); color: var(--bg); }
.padList-success { color: var(--accent-main); font-weight: var(--weight-bold); }

/* ================= AUTHOR CARD (AUTH-05 Compact Inline) + articles ================= */
.quarterBlock-wrap { background: var(--bg); }
.quarterBlock {
	display: flex; gap: var(--gap-md); align-items: flex-start;
	background: var(--card-bg); border-radius: var(--round-md); padding: var(--gap-md);
	max-width: 720px; margin-bottom: var(--gap-lg);
}
.quarterBlock-portrait { flex-shrink: 0; width: 112px; height: 112px; border-radius: var(--circle); object-fit: cover; }
.quarterBlock-body { display: flex; flex-direction: column; gap: var(--gutter-2xs); }
.quarterBlock-job { font-size: var(--type-micro); text-transform: uppercase; letter-spacing: var(--letter-wide); color: var(--highlight); font-weight: var(--weight-bold); }
.quarterBlock-name { font-size: var(--text-h4); font-weight: var(--weight-bold); color: var(--body-color); }
.quarterBlock-bio { font-size: var(--text-base); color: var(--ink-soft); line-height: var(--line-normal); margin: 0; }
.quarterBlock-expertise { max-width: 720px; }
.quarterBlock-exp-heading { font-family: var(--font-title); font-weight: var(--weight-bold); font-size: var(--size-h3); color: var(--body-color); }
.quarterBlock-exp-list { list-style: disc; padding-left: var(--gap-lg); }
.quarterBlock-exp-item { color: var(--ink-soft); margin-bottom: var(--gutter-2xs); }
.quarterBlock-articles { background: var(--card-bg); }
.quarterBlock-articles-heading { font-family: var(--font-title); font-weight: var(--weight-bold); font-size: var(--size-h3); color: var(--body-color); margin-bottom: var(--gap-md); }
.quarterBlock-articles-list { list-style: none; display: flex; flex-direction: column; gap: var(--spacing-sm); }
.quarterBlock-article-item { display: block; }
.quarterBlock-article-link { color: var(--highlight); font-size: var(--text-h5); font-weight: var(--weight-medium); }
.quarterBlock-article-link:hover { color: var(--accent-pressed); text-decoration: underline; }

/* ================= AUTHOR BYLINE (BYLINE-04 Quote-Style) ================= */
.annexRegion { padding-block: var(--gap-xl); background: var(--bg); }
.annexRegion-quote { max-width: 600px; margin: 0 auto; text-align: center; position: relative; padding-top: var(--gap-lg); }
.annexRegion-quote::before { content: "“"; position: absolute; top: -10px; left: 50%; transform: translateX(-50%); color: var(--highlight); font-family: var(--font-title); font-size: var(--text-h1); line-height: 1; }
.annexRegion-text { font-family: var(--font-title); font-style: italic; font-size: var(--text-h4); color: var(--body-color); line-height: var(--line-normal); }
.annexRegion-attribution { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--gap-xs); margin-top: var(--gap-md); }
.annexRegion-portrait { width: 32px; height: 32px; border-radius: var(--circle); object-fit: cover; }
.annexRegion-name { font-style: normal; }
.annexRegion-name a { color: var(--highlight); font-weight: var(--weight-bold); }
.annexRegion-name a:hover { color: var(--accent-pressed); }
.annexRegion-role { font-size: var(--size-sm); font-style: italic; color: var(--ink-soft); }
.annexRegion-time { font-size: var(--size-sm); color: var(--ink-soft); }

/* ================= ERROR (ERR-03 Minimal No-Drama) ================= */
.chamberRail { padding-block: var(--gap-2xl); background: var(--bg); }
.chamberRail-box { max-width: 600px; margin-inline: auto; text-align: center; padding-inline: var(--pad-desktop); }
.chamberRail-title { font-family: var(--font-title); font-weight: var(--weight-bold); font-size: var(--type-h2); color: var(--body-color); }
.chamberRail-text { font-size: var(--text-base); line-height: var(--line-loose); color: var(--ink-soft); }
.chamberRail-button {
	display: inline-block; margin-top: var(--gap-md); height: 44px; line-height: 44px; padding-inline: var(--gap-xl);
	background: var(--highlight); color: var(--bg); border-radius: var(--round-md);
	font-family: var(--font-title); font-weight: var(--weight-bold); text-transform: uppercase; letter-spacing: var(--letter-wide);
	transition: background var(--duration-base) var(--timing);
}
.chamberRail-button:hover { background: var(--accent-pressed); color: var(--bg); }

/* ================= FOOTER (FOOT-05 Four-Column) ================= */
.knobSlider { background: var(--accent-main); color: var(--color-footer-text-x); }
.knobSlider-inner { display: grid; grid-template-columns: 1fr; gap: var(--gap-xl); padding-block: var(--sec-y-x); }
.knobSlider-col { display: block; }
.knobSlider-brand { display: flex; flex-direction: column; gap: var(--spacing-sm); }
.knobSlider-logo-img { height: 72px; width: auto; }
.knobSlider-tagline { font-size: var(--size-sm); color: var(--color-footer-text-x); line-height: var(--line-normal); max-width: 320px; margin: 0; }
.knobSlider-age { font-size: var(--size-sm); font-weight: var(--weight-bold); color: var(--color-footer-text-x); margin: 0; }
.knobSlider-heading { font-family: var(--font-title); font-weight: var(--weight-bold); font-size: var(--size-sm); text-transform: uppercase; letter-spacing: var(--letter-wide); color: var(--color-footer-text-x); margin-bottom: var(--gap-md); }
.knobSlider-nav-col { list-style: none; display: flex; flex-direction: column; gap: var(--gap-xs); }
.knobSlider-nav-item { display: block; }
.knobSlider-nav-link { font-family: var(--font-sans); font-weight: var(--font-normal); font-size: var(--size-sm); color: var(--color-footer-text-x); }
.knobSlider-nav-link:hover { color: var(--color-footer-hover-x); text-decoration: underline; }
.knobSlider-nav-text { font-size: var(--size-sm); color: var(--color-footer-text-x); }
.knobSlider-strip { border-top: 1px solid rgba(24, 6, 38, 0.25); }
.knobSlider-copy { max-width: calc(var(--content-width) + 2 * var(--pad-desktop)); margin: 0 auto; padding: var(--gap-md) var(--pad-desktop); text-align: center; font-size: var(--size-sm); color: var(--color-footer-text-x); }

/* ================= COOKIE BANNER (COOK-04 Slide-Up + Backdrop) ================= */
.pivotHeader-backdrop { display: none; position: fixed; inset: 0; z-index: 89; background: rgba(0,0,0,0.4); }
.pivotHeader-backdrop.is-visible { display: block; }
.pivotHeader {
	display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 90;
	background: var(--bg); border-top: 4px solid var(--highlight);
	padding: var(--gap-xl) var(--pad-desktop);
	transform: translateY(100%); transition: transform var(--transition-slow) var(--timing);
}
.pivotHeader.is-visible { display: block; transform: translateY(0); }
.pivotHeader-inner { max-width: calc(var(--content-width) + 2 * var(--pad-desktop)); margin-inline: auto; display: flex; flex-direction: column; align-items: center; gap: var(--gap-md); text-align: center; }
.pivotHeader-title { font-family: var(--font-title); font-weight: var(--weight-bold); font-size: var(--text-h4); color: var(--body-color); margin: 0; }
.pivotHeader-message { max-width: 720px; line-height: var(--line-loose); color: var(--ink-soft); margin: 0; }
.pivotHeader-actions { display: flex; flex-wrap: wrap; gap: var(--gap-md); justify-content: center; }
.pivotHeader-button { height: 48px; padding-inline: var(--gap-lg); border: 0; border-radius: var(--round-md); font-family: var(--font-sans); font-weight: var(--weight-bold); font-size: var(--size-sm); cursor: pointer; }
.pivotHeader-accept { background: var(--highlight); color: var(--bg); }
.pivotHeader-accept:hover { background: var(--accent-pressed); color: var(--bg); }
.pivotHeader-decline { background: var(--card-bg); color: var(--body-color); border: 1px solid rgba(255,255,255,0.2); }
.pivotHeader-decline:hover { background: rgba(255,255,255,0.12); color: var(--body-color); }

/* ================= responsive ================= */
@media (min-width: 832px) {
	.padList-inner { grid-template-columns: 1fr 2fr; }
	.knobSlider-inner { grid-template-columns: 1.5fr 1fr 1fr 1fr; }
	.quarterBlock-inner { display: block; }
}
@media (min-width: 488px) and (max-width: 831px) {
	.knobSlider-inner { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 1135px) {
	:root { --text-h1: 30px; --type-h2: 24px; --size-h3: 20px; --text-h4: 17px; --text-h5: 15px; --type-h6: 13px; --text-base: 16px; --size-sm: 13px; --type-micro: 11px; }
	.ticketDisplay-inner, .zoneCarousel-inner, .regionSpan-inner, .sectionTile-inner, .pivotBlock-inner, .boxSet-inner, .tagWrapper-inner, .padList-inner, .meshTile-inner, .quarterBlock-inner, .quarterBlock-articles-inner, .meshSlider-inner, .areaRail-inner, .knobSlider-inner { padding-inline: var(--container-padding-tablet-x); }
	.nookHeader-content { padding-inline: var(--container-padding-tablet-x); }
	.zoneCarousel-num { width: 56px; }
}
@media (max-width: 487px) {
	:root { --header-space-x: 84px; }
	.ticketDisplay-inner, .zoneCarousel-inner, .regionSpan-inner, .sectionTile-inner, .pivotBlock-inner, .boxSet-inner, .tagWrapper-inner, .padList-inner, .meshTile-inner, .quarterBlock-inner, .quarterBlock-articles-inner, .meshSlider-inner, .areaRail-inner, .knobSlider-inner { padding-inline: var(--pad-mobile); }
	.nookHeader-content { padding-inline: var(--pad-mobile); }
	.nookHeader-cta { display: block; text-align: center; height: 52px; line-height: 52px; }
	.zoneCarousel-item { flex-direction: column; gap: var(--gap-xs); }
	.regionSpan-card { width: 280px; }
	.meshSlider-inner { flex-direction: column; align-items: stretch; }
	.meshSlider-btn { text-align: center; }
	.pivotHeader { padding: var(--gap-md) var(--pad-mobile); }
	.pivotHeader-actions { flex-direction: column; width: 100%; }
	.pivotHeader-button { width: 100%; }
}
