/*
 * Stage D2B refinement layer.
 * This file intentionally follows the preserved 0.1.0 stylesheet so rollback
 * remains a package replacement rather than an in-place reconstruction.
 */

@font-face {
	font-family: "Barlow Condensed";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/BarlowCondensed-Medium.ttf") format("truetype");
}

@font-face {
	font-family: "Barlow Condensed";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/BarlowCondensed-Bold.ttf") format("truetype");
}

@font-face {
	font-family: "Barlow Condensed";
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	src: url("../fonts/BarlowCondensed-ExtraBold.ttf") format("truetype");
}

:root {
	--jam920-ink: #090c12;
	--jam920-navy: #121a28;
	--jam920-panel: #182338;
	--jam920-paper: #f4f0e7;
	--jam920-muted: #bdbab1;
	--jam920-red: #e65d50;
	--jam920-red-deep: #8f2d28;
	--jam920-gold: #e9b24e;
	--jam920-line: rgba(244, 240, 231, 0.15);
	--jam920-shadow: 0 26px 80px rgba(0, 0, 0, 0.34);
	--jam920-reading: 860px;
	--jam920-display: "Barlow Condensed", "Arial Narrow", "Roboto Condensed", Impact, sans-serif;
}

body.jam920-site-preview-body {
	background: var(--jam920-ink);
	font-size: 16px;
	line-height: 1.58;
}

/* CookieAdmin's floating re-consent control is not part of this isolated preview. */
body.jam920-site-preview-body .cookieadmin_re_consent {
	display: none !important;
}

.jam920-preview {
	background:
		radial-gradient(circle at 83% 8%, rgba(230, 93, 80, 0.12), transparent 32rem),
		linear-gradient(180deg, #090c12 0%, #111827 45%, #090c12 100%);
}

.jam920-preview__shell {
	width: min(1440px, calc(100% - clamp(2rem, 5vw, 6rem)));
}

.jam920-preview__header {
	background: rgba(9, 12, 18, 0.95);
}

.jam920-preview__header-inner {
	min-height: 72px;
}

.jam920-preview__wordmark {
	font-size: 1.35rem;
}

.jam920-preview__desktop-nav {
	gap: clamp(0.75rem, 1.5vw, 1.45rem);
}

.jam920-preview__desktop-nav a {
	font-size: 0.72rem;
	letter-spacing: 0.08em;
}

.jam920-preview__hero {
	padding: clamp(3.25rem, 6vw, 6rem) 0 0;
}

.jam920-preview__hero::after {
	background-image:
		linear-gradient(90deg, rgba(9, 12, 18, 0.25), transparent 55%),
		repeating-linear-gradient(115deg, transparent 0, transparent 39px, rgba(255, 255, 255, 0.012) 40px);
}

.jam920-preview__hero-layout {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(340px, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(2.5rem, 6vw, 6.5rem);
	align-items: center;
}

.jam920-preview__hero-copy {
	padding-bottom: clamp(2rem, 5vw, 4.5rem);
}

.jam920-preview__hero h1 {
	max-width: 17ch;
	margin: 0;
	font-family: "Arial Black", Impact, Haettenschweiler, sans-serif;
	font-size: clamp(2.25rem, 4.7vw, 4.9rem);
	font-weight: 950;
	letter-spacing: -0.048em;
	line-height: 0.98;
	text-wrap: balance;
	text-transform: none;
}

.jam920-preview__slogan {
	margin: 1.25rem 0 0;
	color: var(--jam920-gold);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.2rem, 2vw, 1.75rem);
	font-style: italic;
}

.jam920-preview__mission {
	max-width: 680px;
	margin: 1rem 0 1.8rem;
	font-family: inherit;
	font-size: clamp(1rem, 1.3vw, 1.18rem);
	line-height: 1.58;
}

.jam920-preview__hero-visual,
.jam920-preview__feature figure,
.jam920-preview__venue-layout figure {
	position: relative;
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--jam920-line);
	background: #07090d;
	box-shadow: var(--jam920-shadow);
}

.jam920-preview__hero-visual {
	align-self: end;
	aspect-ratio: 16 / 10;
	border-bottom: 0;
}

.jam920-preview__hero-visual::after,
.jam920-preview__feature figure::after,
.jam920-preview__venue-layout figure::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 60%, rgba(5, 7, 11, 0.86));
	content: "";
	pointer-events: none;
}

.jam920-preview__hero-visual img,
.jam920-preview__feature img,
.jam920-preview__venue-layout img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.jam920-preview__hero-visual img {
	object-position: 68% center;
}

.jam920-preview__hero-visual figcaption,
.jam920-preview__feature figcaption,
.jam920-preview__venue-layout figcaption {
	position: absolute;
	right: 1rem;
	bottom: 0.8rem;
	left: 1rem;
	z-index: 1;
	color: rgba(244, 240, 231, 0.82);
	font-size: 0.67rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-align: right;
	text-transform: uppercase;
}

.jam920-preview__hero-foot {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 2rem;
	align-items: center;
	padding: 1.35rem 0;
	border-top: 1px solid var(--jam920-line);
}

.jam920-preview__hero-foot > p {
	max-width: 730px;
	margin: 0;
	color: #ded9cd;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1rem, 1.8vw, 1.35rem);
}

.jam920-preview__hero-foot dl {
	display: flex;
	gap: clamp(1.5rem, 4vw, 3.5rem);
	margin: 0;
}

.jam920-preview__hero-foot dl div {
	display: grid;
	gap: 0.15rem;
}

.jam920-preview__hero-foot dt {
	color: var(--jam920-muted);
	font-size: 0.67rem;
	font-weight: 850;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.jam920-preview__hero-foot dd {
	margin: 0;
	font-size: 0.9rem;
	font-weight: 850;
}

.jam920-preview__date-finder {
	padding: clamp(2.5rem, 5vw, 4.5rem) 0;
	border-bottom: 1px solid rgba(9, 12, 18, 0.28);
	background: var(--jam920-paper);
	color: var(--jam920-ink);
}

.jam920-preview__date-finder-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.8fr);
	gap: clamp(2rem, 7vw, 7rem);
	align-items: end;
}

.jam920-preview__date-finder .jam920-preview__eyebrow {
	color: var(--jam920-red-deep);
}

.jam920-preview__date-finder h2 {
	margin: 0;
	font-family: "Arial Black", Impact, Haettenschweiler, sans-serif;
	font-size: clamp(2rem, 4vw, 4.25rem);
	letter-spacing: -0.045em;
	line-height: 0.97;
}

.jam920-preview__date-finder p:not(.jam920-preview__eyebrow) {
	max-width: 640px;
	margin: 1rem 0 0;
	color: #4f4c46;
}

.jam920-preview__date-form {
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 1px solid rgba(9, 12, 18, 0.18);
	border-top: 5px solid var(--jam920-red);
	background: #fff;
	box-shadow: 0 18px 48px rgba(9, 12, 18, 0.12);
}

.jam920-preview__date-form label {
	display: block;
	margin-bottom: 0.55rem;
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.jam920-preview__date-controls {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.65rem;
}

.jam920-preview__date-controls input,
.jam920-preview__date-controls button {
	min-height: 52px;
	border-radius: 0;
	font: inherit;
}

.jam920-preview__date-controls input {
	min-width: 0;
	padding: 0.75rem 0.9rem;
	border: 1px solid #a4a099;
	background: #fff;
	color: var(--jam920-ink);
	font-weight: 750;
}

.jam920-preview__date-controls button {
	padding: 0.75rem 1.15rem;
	border: 1px solid var(--jam920-red-deep);
	background: var(--jam920-red-deep);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	cursor: pointer;
}

.jam920-preview__date-controls button:hover {
	border-color: var(--jam920-ink);
	background: var(--jam920-ink);
}

.jam920-preview__reset {
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	margin-top: 0.65rem;
	color: var(--jam920-red-deep) !important;
	font-size: 0.82rem;
	font-weight: 850;
	text-underline-offset: 0.25em;
}

.jam920-preview__selected-date {
	padding-top: clamp(3rem, 5vw, 5rem);
	background: linear-gradient(180deg, rgba(233, 178, 78, 0.12), rgba(9, 12, 18, 0.1));
}

.jam920-preview__date-message {
	max-width: var(--jam920-reading);
	padding: clamp(1.5rem, 4vw, 2.5rem);
	border: 1px solid var(--jam920-line);
	border-left: 5px solid var(--jam920-gold);
	background: var(--jam920-navy);
}

.jam920-preview__date-message--error {
	border-left-color: var(--jam920-red);
}

.jam920-preview__date-message h2 {
	margin: 0;
	font-family: "Arial Black", Impact, Haettenschweiler, sans-serif;
	font-size: clamp(1.8rem, 4vw, 3.5rem);
	letter-spacing: -0.04em;
	line-height: 1;
}

.jam920-preview__date-message p:last-child {
	margin-bottom: 0;
	color: var(--jam920-muted);
}

.jam920-preview__section {
	padding: clamp(3.5rem, 6vw, 5.75rem) 0;
}

.jam920-preview__section-heading {
	grid-template-columns: minmax(0, 1fr) minmax(260px, 0.55fr);
	margin-bottom: 2rem;
}

.jam920-preview__section-heading h2,
.jam920-preview__submit h2,
.jam920-preview__feature h2 {
	font-size: clamp(2.15rem, 4.6vw, 4.65rem);
}

.jam920-preview__event-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	box-shadow: 0 18px 58px rgba(0, 0, 0, 0.26);
}

.jam920-preview__event-card {
	background: #121b2b;
}

.jam920-preview__event-card:hover {
	background: #162237;
}

.jam920-preview__event-content {
	padding: 1.25rem 1.15rem;
}

.jam920-preview__event-links {
	padding-top: 1.15rem;
}

.jam920-preview__schedule-band {
	padding: clamp(3.5rem, 6vw, 6rem) 0;
	border-bottom: 1px solid var(--jam920-line);
	background: rgba(5, 8, 13, 0.62);
}

.jam920-preview__schedule-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(2rem, 4vw, 4rem);
}

.jam920-preview__schedule-panel {
	min-width: 0;
}

.jam920-preview__compact-heading {
	min-height: 170px;
	margin-bottom: 1.35rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--jam920-line);
}

.jam920-preview__compact-heading h2 {
	margin: 0;
	font-family: "Arial Black", Impact, Haettenschweiler, sans-serif;
	font-size: clamp(1.8rem, 3.4vw, 3.55rem);
	letter-spacing: -0.04em;
	line-height: 0.98;
}

.jam920-preview__compact-heading > p:last-child {
	max-width: 560px;
	margin: 0.75rem 0 0;
	color: var(--jam920-muted);
}

.jam920-preview__event-list {
	border-top: 1px solid var(--jam920-line);
}

.jam920-preview__event-row {
	display: grid;
	grid-template-columns: 66px 86px minmax(0, 1fr) auto;
	gap: 0.85rem;
	align-items: center;
	min-width: 0;
	padding: 0.9rem 0;
	border-bottom: 1px solid var(--jam920-line);
}

.jam920-preview__event-row-date {
	display: grid;
	line-height: 1.15;
}

.jam920-preview__event-row-date span {
	color: var(--jam920-gold);
	font-size: 0.65rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.jam920-preview__event-row-date strong {
	font-size: 0.9rem;
}

.jam920-preview__event-row-time {
	margin: 0;
	color: var(--jam920-red);
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.jam920-preview__event-row-main {
	min-width: 0;
}

.jam920-preview__event-row-main h3,
.jam920-preview__event-row-main p {
	margin: 0;
}

.jam920-preview__event-row-main h3 {
	font-size: 0.98rem;
	line-height: 1.22;
	overflow-wrap: anywhere;
}

.jam920-preview__event-row-main h3 a {
	text-decoration: none;
}

.jam920-preview__event-row-main h3 a:hover {
	color: var(--jam920-gold);
}

.jam920-preview__event-row-main p {
	margin-top: 0.2rem;
	color: var(--jam920-muted);
	font-size: 0.78rem;
}

.jam920-preview__event-row-links {
	display: grid;
	gap: 0.15rem;
}

.jam920-preview__event-row-links a {
	min-height: 30px;
	display: flex;
	align-items: center;
	color: var(--jam920-muted);
	font-size: 0.65rem;
	font-weight: 850;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.jam920-preview__event-row-links a:hover {
	color: var(--jam920-paper);
}

.jam920-preview__empty--compact {
	padding: 1.5rem;
}

.jam920-preview__feature {
	padding: clamp(4rem, 7vw, 7rem) 0;
	border-bottom: 1px solid var(--jam920-line);
}

.jam920-preview__feature--band {
	background:
		linear-gradient(110deg, rgba(230, 93, 80, 0.17), transparent 48%),
		var(--jam920-panel);
}

.jam920-preview__feature-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.18fr) minmax(320px, 0.72fr);
	gap: clamp(2.5rem, 7vw, 7rem);
	align-items: center;
}

.jam920-preview__feature-layout figure {
	aspect-ratio: 16 / 10;
}

.jam920-preview__feature h2 {
	max-width: 9ch;
	margin: 0;
	font-family: "Arial Black", Impact, Haettenschweiler, sans-serif;
	letter-spacing: -0.045em;
	line-height: 0.96;
	text-transform: uppercase;
}

.jam920-preview__feature-lede {
	max-width: 620px;
	margin: 1.5rem 0 0;
	color: #d7d2c7;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.12rem, 1.8vw, 1.5rem);
}

.jam920-preview__placeholder-note {
	max-width: 600px;
	margin: 1.2rem 0 0;
	padding-left: 1rem;
	border-left: 3px solid var(--jam920-gold);
	color: var(--jam920-muted);
	font-size: 0.82rem;
}

.jam920-preview__about {
	background: #0d131e;
}

.jam920-preview__editorial-grid {
	grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.75fr);
	gap: clamp(1.5rem, 4vw, 3rem);
}

.jam920-preview__editorial-grid article {
	padding: clamp(1.75rem, 4vw, 3.2rem);
	border: 1px solid var(--jam920-line);
	border-top: 5px solid var(--jam920-red);
}

.jam920-preview__editorial-grid blockquote {
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: 0;
	padding: clamp(1.75rem, 4vw, 3.2rem);
	border-left: 5px solid var(--jam920-gold);
	background: var(--jam920-paper);
	color: var(--jam920-ink);
}

.jam920-preview__editorial-grid blockquote p {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.45rem, 3vw, 2.45rem);
	font-style: italic;
	line-height: 1.25;
}

.jam920-preview__editorial-grid blockquote cite {
	margin-top: 1.25rem;
	color: #615d56;
	font-size: 0.7rem;
	font-style: normal;
	font-weight: 850;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.jam920-preview__feature--venue {
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
	background: #151e2e;
}

.jam920-preview__venue-layout {
	display: grid;
	grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1fr);
	gap: clamp(2.5rem, 7vw, 7rem);
	align-items: center;
}

.jam920-preview__venue-layout figure {
	aspect-ratio: 4 / 3;
}

.jam920-preview__venue-layout h2 {
	max-width: none;
}

.jam920-preview__venue-layout > div > p:last-child {
	max-width: 650px;
	margin: 1.2rem 0 0;
	color: var(--jam920-muted);
}

.jam920-preview__submit {
	padding: clamp(3.5rem, 6vw, 5.5rem) 0;
	background: #7d2925;
}

.jam920-preview__submit-grid {
	grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.65fr);
}

.jam920-preview__submit-actions button {
	min-height: 54px;
}

.jam920-preview__footer {
	padding: 2.5rem 0;
}

@media (min-width: 1921px) {
	.jam920-preview__shell {
		width: min(1480px, calc(100% - 10rem));
	}

	.jam920-preview__hero h1 {
		font-size: 5rem;
	}
}

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

	.jam920-preview__event-row {
		grid-template-columns: 58px 78px minmax(0, 1fr);
	}

	.jam920-preview__event-row-links {
		grid-column: 3;
		display: flex;
		gap: 1rem;
	}
}

@media (max-width: 1024px) {
	.jam920-preview__hero-layout {
		grid-template-columns: minmax(300px, 0.88fr) minmax(0, 1.12fr);
		gap: 2.5rem;
	}

	.jam920-preview__hero h1 {
		font-size: clamp(2.1rem, 5.2vw, 3.8rem);
	}

	.jam920-preview__schedule-columns {
		gap: 2rem;
	}

	.jam920-preview__feature-layout {
		grid-template-columns: minmax(0, 1.05fr) minmax(290px, 0.75fr);
		gap: 3rem;
	}
}

@media (max-width: 900px) {
	.jam920-preview__hero-layout,
	.jam920-preview__date-finder-grid,
	.jam920-preview__feature-layout,
	.jam920-preview__venue-layout {
		grid-template-columns: 1fr;
	}

	.jam920-preview__hero-copy {
		max-width: 760px;
		padding-bottom: 0;
	}

	.jam920-preview__hero h1 {
		max-width: 18ch;
		font-size: clamp(2.35rem, 7.5vw, 4.45rem);
	}

	.jam920-preview__hero-visual {
		width: min(100%, 780px);
	}

	.jam920-preview__date-finder-grid {
		align-items: start;
	}

	.jam920-preview__date-form {
		max-width: 660px;
	}

	.jam920-preview__feature-layout figure {
		width: min(100%, 760px);
	}

	.jam920-preview__feature-layout > div {
		max-width: 760px;
	}

	.jam920-preview__venue-layout figure {
		width: min(100%, 650px);
	}
}

@media (max-width: 820px) {
	.jam920-preview__desktop-nav {
		display: none;
	}

	.jam920-preview__mobile-nav {
		display: block;
	}

	.jam920-preview__schedule-columns {
		grid-template-columns: 1fr;
	}

	.jam920-preview__compact-heading {
		min-height: 0;
	}

	.jam920-preview__schedule-panel + .jam920-preview__schedule-panel {
		padding-top: 1rem;
	}

	.jam920-preview__editorial-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 720px) {
	.jam920-preview__shell {
		width: min(100% - 1.5rem, 1440px);
	}

	.jam920-preview__hero {
		padding-top: 3rem;
	}

	.jam920-preview__hero-layout {
		gap: 2rem;
	}

	.jam920-preview__hero-foot {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.jam920-preview__hero-foot dl {
		justify-content: space-between;
	}

	.jam920-preview__section-heading {
		grid-template-columns: 1fr;
		gap: 0.8rem;
	}

	.jam920-preview__date-controls {
		grid-template-columns: 1fr;
	}

	.jam920-preview__date-controls button {
		width: 100%;
	}

	.jam920-preview__submit-grid {
		grid-template-columns: 1fr;
	}
}

/*
 * Phase 6A: homepage refinement and stable editorial presentation contract.
 */
.jam920-preview__brand-line {
	font-size: clamp(0.76rem, 0.9vw, 0.92rem);
}

.jam920-preview__schedule-panel--plan {
	position: relative;
	overflow: hidden;
	border-color: rgba(233, 178, 78, 0.42);
	background:
		linear-gradient(145deg, rgba(233, 178, 78, 0.09), transparent 52%),
		rgba(244, 240, 231, 0.035);
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.22);
}

.jam920-preview__schedule-panel--plan::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 5px;
	background: linear-gradient(90deg, var(--jam920-gold), var(--jam920-red));
	content: "";
}

.jam920-preview__schedule-panel--plan .jam920-preview__compact-heading h2 {
	font-size: clamp(2.4rem, 4.2vw, 4rem);
	line-height: 0.94;
}

.jam920-preview__editorial {
	position: relative;
	overflow: hidden;
	padding: clamp(4rem, 7vw, 7rem) 0;
	border-top: 1px solid rgba(91, 63, 41, 0.24);
	border-bottom: 1px solid rgba(91, 63, 41, 0.3);
	background:
		radial-gradient(circle at 88% 10%, rgba(143, 45, 40, 0.13), transparent 27rem),
		repeating-linear-gradient(115deg, transparent 0, transparent 54px, rgba(75, 52, 35, 0.018) 55px),
		linear-gradient(145deg, #d8c5a3 0%, #eee2cb 46%, #cbb18a 100%);
	color: #211a15;
}

.jam920-preview__editorial::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.18), transparent 24%, transparent 76%, rgba(74, 49, 31, 0.06));
	content: "";
	pointer-events: none;
}

.jam920-preview__editorial > .jam920-preview__shell {
	position: relative;
	z-index: 1;
}

.jam920-preview__editorial-heading {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.62fr);
	gap: clamp(1.5rem, 5vw, 5rem);
	align-items: end;
	margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.jam920-preview__editorial-heading .jam920-preview__eyebrow {
	grid-column: 1 / -1;
	margin-bottom: -1rem;
	color: #7f2d28;
}

.jam920-preview__editorial-heading h2,
.jam920-preview__editorial-card h3,
.jam920-preview__editorial-note h3 {
	margin: 0;
	font-family: var(--jam920-display);
	font-weight: 800;
	letter-spacing: -0.025em;
}

.jam920-preview__editorial-heading h2 {
	max-width: 14ch;
	font-size: clamp(2.5rem, 5.2vw, 5.2rem);
	line-height: 0.93;
}

.jam920-preview__editorial-heading > p:last-child {
	max-width: 38rem;
	margin: 0;
	color: #544538;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.06rem, 1.6vw, 1.34rem);
	line-height: 1.55;
}

.jam920-preview__editorial-features {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.25rem, 3vw, 2.4rem);
}

.jam920-preview__editorial-card {
	overflow: hidden;
	border: 1px solid rgba(68, 44, 29, 0.2);
	border-radius: 1.5rem;
	background: rgba(250, 244, 232, 0.72);
	box-shadow: 0 24px 55px rgba(67, 43, 27, 0.16);
}

.jam920-preview__editorial-media {
	position: relative;
	width: 100%;
	margin: 0;
	overflow: hidden;
	aspect-ratio: 16 / 10;
	background: #241c17;
}

.jam920-preview__editorial-media picture,
.jam920-preview__editorial-media img {
	width: 100%;
	height: 100%;
	display: block;
}

.jam920-preview__editorial-media img {
	object-fit: cover;
	object-position: var(--jam920-focal-point, 50% 50%);
}

.jam920-preview__editorial-media::after {
	position: absolute;
	inset: 55% 0 0;
	background: linear-gradient(180deg, transparent, rgba(20, 14, 10, 0.82));
	content: "";
	pointer-events: none;
}

.jam920-preview__editorial-media figcaption {
	position: absolute;
	right: 1rem;
	bottom: 0.75rem;
	left: 1rem;
	z-index: 1;
	color: rgba(255, 250, 240, 0.78);
	font-size: 0.68rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.jam920-preview__editorial-card-copy {
	padding: clamp(1.5rem, 3vw, 2.35rem);
}

.jam920-preview__editorial .jam920-preview__kicker {
	margin: 0 0 0.55rem;
	color: #8f2d28;
	font-family: var(--jam920-display);
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.jam920-preview__editorial-card h3 {
	font-size: clamp(2rem, 3.5vw, 3.3rem);
	line-height: 0.96;
}

.jam920-preview__editorial-card-copy > p:last-of-type {
	margin: 1rem 0 0;
	color: #544538;
	line-height: 1.62;
}

.jam920-preview__editorial-card-copy > a {
	display: inline-flex;
	margin-top: 1.2rem;
	color: #7f2d28;
	font-family: var(--jam920-display);
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.jam920-preview__editorial-note {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 0.72fr);
	gap: clamp(1.5rem, 4vw, 3.5rem);
	align-items: center;
	margin-top: clamp(1.25rem, 3vw, 2.4rem);
	padding: clamp(1.6rem, 4vw, 3.2rem);
	border: 1px solid rgba(68, 44, 29, 0.22);
	border-left: 6px solid #8f2d28;
	border-radius: 1.4rem;
	background: rgba(246, 237, 219, 0.7);
}

.jam920-preview__editorial-note h3 {
	font-size: clamp(2rem, 3.8vw, 3.6rem);
	line-height: 0.96;
}

.jam920-preview__editorial-note > div > p:last-child {
	max-width: 44rem;
	margin: 1rem 0 0;
	color: #544538;
}

.jam920-preview__editorial-note blockquote {
	margin: 0;
	padding: 0 0 0 clamp(1.2rem, 3vw, 2.2rem);
	border-left: 2px solid rgba(127, 45, 40, 0.32);
}

.jam920-preview__editorial-note blockquote p {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.25rem, 2.4vw, 2rem);
	font-style: italic;
	line-height: 1.35;
}

.jam920-preview__editorial-note cite {
	display: block;
	margin-top: 1rem;
	color: #6c5a4a;
	font-family: var(--jam920-display);
	font-size: 0.72rem;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

#find-a-date,
#selected-date,
#directory-results,
#tonight,
#weekend,
#plan-ahead,
#new-calendar,
#editorial,
#featured-band,
#featured-venue,
#editorial-feature,
#submit {
	scroll-margin-top: 130px;
}

@media (max-width: 900px) {
	.jam920-preview__editorial-heading,
	.jam920-preview__editorial-note {
		grid-template-columns: 1fr;
	}

	.jam920-preview__editorial-heading .jam920-preview__eyebrow {
		margin-bottom: -0.5rem;
	}

	.jam920-preview__editorial-features {
		grid-template-columns: 1fr;
	}

	.jam920-preview__editorial-note blockquote {
		padding: 1.25rem 0 0;
		border-top: 2px solid rgba(127, 45, 40, 0.32);
		border-left: 0;
	}
}

@media (max-width: 820px) {
	.jam920-preview__brand-line {
		font-size: clamp(0.67rem, 1.9vw, 0.8rem);
	}
}

@media (max-width: 720px) {
	.jam920-preview__date-controls input,
	.jam920-preview__date-controls button {
		width: 100%;
	}

	.jam920-preview__date-controls button {
		white-space: normal;
	}

	.jam920-preview__editorial {
		padding-block: 3.75rem;
	}

	.jam920-preview__editorial-heading h2 {
		font-size: clamp(2.35rem, 11vw, 3.5rem);
	}
}

@media (max-width: 430px) {
	.jam920-preview__brand-line {
		font-size: clamp(0.62rem, 2.7vw, 0.72rem);
		white-space: normal;
	}

	.jam920-preview__editorial-card,
	.jam920-preview__editorial-note {
		border-radius: 1.1rem;
	}
}

/* Phase 6B managed editorial and story presentation. */
.jam920-preview__hero-visual picture { display: block; width: 100%; height: 100%; }
.jam920-preview__hero-visual picture img { width: 100%; height: 100%; object-fit: cover; object-position: var(--jam920-focal-point, 50% 50%); }
.jam920-preview__editorial-excerpt { position: relative; }
.jam920-preview__editorial-excerpt--faded { max-height: 6.8rem; overflow: hidden; }
.jam920-preview__editorial-excerpt--faded::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 3rem; background: linear-gradient(transparent, #efe1c6); pointer-events: none; }
.jam920-preview__story-link, .jam920-story__home { display: inline-flex; margin-top: 1rem; color: #7d2925; font-family: var(--jam920-display); font-weight: 800; letter-spacing: .04em; text-transform: uppercase; text-decoration: none; }
.jam920-story-body { margin: 0; background: #0a1019; }
.jam920-story__home { color: var(--jam920-gold); }
.jam920-story__article { width: min(860px, calc(100% - 2rem)); margin: clamp(3rem, 8vw, 7rem) auto; padding: clamp(1.25rem, 5vw, 4.5rem); border-radius: 1.5rem; background: #f5eddf; color: #1d2430; box-shadow: 0 30px 90px rgba(0,0,0,.35); }
.jam920-story__article > h1 { max-width: 15ch; margin: .4rem 0 1.5rem; font-family: var(--jam920-display); font-size: clamp(2.5rem, 8vw, 5.4rem); line-height: .92; }
.jam920-story__lead, .jam920-story__content figure { margin: 2rem 0; }
.jam920-story__lead img, .jam920-story__content figure img { display: block; width: 100%; height: auto; border-radius: 1rem; }
.jam920-story figcaption { margin-top: .55rem; color: #68707b; font-size: .8rem; }
.jam920-story__content { font-family: Georgia, serif; font-size: clamp(1.05rem, 2vw, 1.25rem); line-height: 1.75; }
.jam920-story__content p { margin: 0 0 1.4em; }
.jam920-story__article footer { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(32,40,52,.2); }
.jam920-story__article footer a { color: #7d2925; font-weight: 800; text-decoration: none; }

@media (max-width: 620px) {
	.jam920-story__home { align-self: center; margin: 0; font-size: .72rem; }
	.jam920-story__article { margin-block: 1rem 3rem; border-radius: 1rem; }
}

body.jam920-editorial-preview-mobile { background: #303743; }
body.jam920-editorial-preview-mobile .jam920-preview { width: min(390px, 100%); margin-inline: auto; box-shadow: 0 0 60px rgba(0,0,0,.55); }
body.jam920-editorial-preview-desktop .jam920-preview { max-width: 1440px; margin-inline: auto; }

@media (max-width: 620px) {
	.jam920-preview__header-inner {
		min-height: 66px;
	}

	.jam920-preview__wordmark {
		font-size: 1.15rem;
	}

	.jam920-preview__hero h1 {
		font-size: clamp(2.1rem, 11vw, 3.55rem);
	}

	.jam920-preview__hero-visual {
		aspect-ratio: 4 / 3;
	}

	.jam920-preview__hero-foot dl {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.jam920-preview__event-grid {
		grid-template-columns: 1fr;
	}

	.jam920-preview__event-card {
		grid-template-columns: 76px minmax(0, 1fr);
	}

	.jam920-preview__event-date {
		padding: 0.9rem 0.75rem;
	}

	.jam920-preview__event-row {
		grid-template-columns: 54px minmax(0, 1fr);
		gap: 0.55rem 0.8rem;
	}

	.jam920-preview__event-row-time {
		grid-column: 2;
		grid-row: 1;
		align-self: start;
		padding-top: 0.05rem;
	}

	.jam920-preview__event-row-main {
		grid-column: 2;
	}

	.jam920-preview__event-row-links {
		grid-column: 2;
	}

	.jam920-preview__feature,
	.jam920-preview__feature--venue {
		padding-block: 3.5rem;
	}

	.jam920-preview__feature-layout,
	.jam920-preview__venue-layout {
		gap: 2rem;
	}

	.jam920-preview__feature-layout figure {
		aspect-ratio: 4 / 3;
	}

	.jam920-preview__hero-visual figcaption,
	.jam920-preview__feature figcaption,
	.jam920-preview__venue-layout figcaption {
		right: 0.7rem;
		bottom: 0.55rem;
		left: 0.7rem;
		font-size: 0.58rem;
	}
}

@media (max-width: 430px) {
	.jam920-preview__hero h1 {
		font-size: clamp(2rem, 10.5vw, 2.8rem);
	}

	.jam920-preview__slogan {
		font-size: 1.18rem;
	}

	.jam920-preview__hero-foot dl {
		grid-template-columns: 1fr;
		gap: 0.65rem;
	}

	.jam920-preview__date-form {
		padding: 1rem;
	}

	.jam920-preview__section,
	.jam920-preview__schedule-band {
		padding-block: 3.25rem;
	}
}

/*
 * D2B closeout: approved brand artwork, selective condensed typography,
 * integrated date discovery, and softer editorial geometry.
 */
.jam920-preview__header-inner {
	min-height: 116px;
}

.jam920-preview__brand {
	display: flex;
	width: clamp(390px, 34vw, 520px);
	max-width: calc(100% - 470px);
	flex: 0 1 auto;
	flex-direction: column;
	align-items: flex-start;
	padding: 0.65rem 0 0.55rem;
}

.jam920-preview__wordmark {
	width: clamp(230px, 19vw, 305px);
	max-width: none;
	display: block;
	flex: 0 1 auto;
	font-size: 0;
	line-height: 0;
}

.jam920-preview__wordmark picture,
.jam920-preview__wordmark img {
	width: 100%;
	height: auto;
	display: block;
}

.jam920-preview__brand-line {
	max-width: none;
	margin: 0.2rem 0 0;
	color: var(--jam920-gold);
	font-family: var(--jam920-display);
	font-size: clamp(0.64rem, 0.74vw, 0.78rem);
	font-weight: 700;
	letter-spacing: 0.025em;
	line-height: 1.15;
	white-space: nowrap;
}

.jam920-preview__desktop-nav a,
.jam920-preview__mobile-nav summary,
.jam920-preview__mobile-nav nav a,
.jam920-preview__eyebrow,
.jam920-preview__date-form label,
.jam920-preview__date-controls input,
.jam920-preview__date-controls button,
.jam920-preview__reset,
.jam920-preview__event-date,
.jam920-preview__event-time,
.jam920-preview__event-row-date,
.jam920-preview__event-row-time,
.jam920-preview__event-row-links,
.jam920-preview__submit-actions button {
	font-family: var(--jam920-display);
}

.jam920-preview__hero h1,
.jam920-preview__date-finder h2,
.jam920-preview__date-message h2,
.jam920-preview__section-heading h2,
.jam920-preview__submit h2,
.jam920-preview__feature h2,
.jam920-preview__compact-heading h2 {
	font-family: var(--jam920-display);
	font-weight: 800;
	letter-spacing: -0.025em;
}

.jam920-preview__hero h1 em {
	display: block;
	margin-top: 0.32em;
	color: var(--jam920-gold);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.75rem, 3.15vw, 3.35rem);
	font-style: italic;
	font-weight: 700;
	letter-spacing: -0.035em;
	line-height: 1.02;
}

.jam920-preview__desktop-nav a,
.jam920-preview__mobile-nav summary,
.jam920-preview__mobile-nav nav a,
.jam920-preview__date-form label,
.jam920-preview__date-controls button,
.jam920-preview__reset,
.jam920-preview__event-time,
.jam920-preview__event-row-time,
.jam920-preview__event-row-links,
.jam920-preview__submit-actions button {
	font-weight: 700;
	letter-spacing: 0.075em;
}

.jam920-preview__hero-visual,
.jam920-preview__feature figure,
.jam920-preview__venue-layout figure {
	border-radius: clamp(1.15rem, 2vw, 1.75rem);
}

.jam920-preview__date-finder {
	position: relative;
	overflow: hidden;
	padding: clamp(3rem, 5.5vw, 5rem) 0;
	border-top: 1px solid rgba(233, 178, 78, 0.2);
	border-bottom: 1px solid var(--jam920-line);
	background:
		radial-gradient(circle at 84% 18%, rgba(230, 93, 80, 0.2), transparent 24rem),
		linear-gradient(130deg, #121a28 0%, #0b1019 68%, #15111a 100%);
	color: var(--jam920-paper);
}

.jam920-preview__date-finder::before {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.025), transparent),
		repeating-linear-gradient(115deg, transparent 0, transparent 49px, rgba(255, 255, 255, 0.012) 50px);
	content: "";
	pointer-events: none;
}

.jam920-preview__date-finder-grid {
	position: relative;
	z-index: 1;
	grid-template-columns: minmax(0, 0.95fr) minmax(370px, 0.72fr);
	align-items: center;
}

.jam920-preview__date-finder .jam920-preview__eyebrow {
	color: var(--jam920-gold);
}

.jam920-preview__date-finder p:not(.jam920-preview__eyebrow) {
	color: var(--jam920-muted);
}

.jam920-preview__date-form {
	padding: clamp(1.2rem, 2.5vw, 1.8rem);
	border: 1px solid rgba(244, 240, 231, 0.18);
	border-radius: 1.55rem;
	background: rgba(7, 10, 16, 0.72);
	box-shadow:
		0 24px 58px rgba(0, 0, 0, 0.3),
		0 0 0 1px rgba(230, 93, 80, 0.07),
		0 0 42px rgba(230, 93, 80, 0.08);
	backdrop-filter: blur(14px);
}

.jam920-preview__date-form label {
	color: var(--jam920-paper);
	font-size: 0.86rem;
}

.jam920-preview__date-controls {
	gap: 0.75rem;
}

.jam920-preview__date-controls input,
.jam920-preview__date-controls button {
	min-height: 54px;
	border-radius: 999px;
}

.jam920-preview__date-controls input {
	padding: 0.7rem 1.15rem;
	border: 1px solid rgba(244, 240, 231, 0.28);
	background: rgba(244, 240, 231, 0.08);
	color: var(--jam920-paper);
	color-scheme: dark;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.jam920-preview__date-controls input:focus-visible {
	border-color: var(--jam920-gold);
	outline: 3px solid rgba(233, 178, 78, 0.22);
	outline-offset: 2px;
}

.jam920-preview__date-controls button {
	padding-inline: 1.45rem;
	border: 1px solid #ef766b;
	background: linear-gradient(135deg, #a93630, #7d2925);
	box-shadow:
		0 10px 28px rgba(143, 45, 40, 0.34),
		0 0 22px rgba(230, 93, 80, 0.16);
}

.jam920-preview__date-controls button:hover,
.jam920-preview__date-controls button:focus-visible {
	border-color: var(--jam920-gold);
	background: linear-gradient(135deg, #ba4038, #8f2d28);
	outline: none;
}

.jam920-preview__primary-link {
	min-height: 54px;
	padding: 0.8rem 1.45rem;
	border: 1px solid #ef766b;
	border-radius: 999px;
	background: linear-gradient(135deg, #a93630, #7d2925);
	box-shadow:
		0 10px 28px rgba(143, 45, 40, 0.34),
		0 0 22px rgba(230, 93, 80, 0.16);
	color: var(--jam920-paper) !important;
	font-family: var(--jam920-display);
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.075em;
}

.jam920-preview__primary-link:hover,
.jam920-preview__primary-link:focus-visible {
	border-color: var(--jam920-gold);
	background: linear-gradient(135deg, #ba4038, #8f2d28);
	color: var(--jam920-paper) !important;
	outline: none;
}

.jam920-preview__reset {
	min-height: 38px;
	margin-top: 0.8rem;
	padding: 0.35rem 0.8rem;
	border: 1px solid rgba(244, 240, 231, 0.2);
	border-radius: 999px;
	color: var(--jam920-muted) !important;
	text-decoration: none;
}

.jam920-preview__reset:hover,
.jam920-preview__reset:focus-visible {
	border-color: var(--jam920-gold);
	color: var(--jam920-paper) !important;
	outline: none;
}

.jam920-preview__date-message {
	border-radius: 1.35rem;
}

.jam920-preview__event-grid {
	gap: clamp(0.85rem, 1.5vw, 1.25rem);
	box-shadow: none;
}

.jam920-preview__event-card {
	overflow: hidden;
	border: 1px solid var(--jam920-line);
	border-radius: 1.15rem;
	box-shadow: 0 16px 44px rgba(0, 0, 0, 0.2);
}

.jam920-preview__event-row {
	margin-top: 0.7rem;
	padding: 0.9rem 0.95rem;
	border: 1px solid rgba(244, 240, 231, 0.11);
	border-radius: 0.9rem;
	background: rgba(244, 240, 231, 0.025);
}

.jam920-preview__event-list {
	border-top: 0;
}

.jam920-preview__editorial-grid article,
.jam920-preview__editorial-grid blockquote {
	border-radius: 1.35rem;
}

.jam920-preview__submit-actions button {
	border-radius: 999px;
}

.jam920-preview__footer-logo {
	width: min(270px, 72vw);
	height: auto;
	display: block;
	margin-bottom: 0.9rem;
}

.jam920-preview__listing-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.75rem;
	margin-top: 1.25rem;
}

.jam920-preview__listing-link,
.jam920-preview__pagination-link {
	display: inline-flex;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	padding: 0.65rem 1.05rem;
	border: 1px solid rgba(239, 118, 107, 0.72);
	border-radius: 999px;
	background: linear-gradient(135deg, #a93630, #7d2925);
	color: var(--jam920-paper) !important;
	font-family: "Barlow Condensed", sans-serif;
	font-size: 0.92rem;
	font-weight: 700;
	letter-spacing: 0.045em;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	box-shadow: 0 10px 28px rgba(143, 45, 40, 0.24);
}

.jam920-preview__listing-link:hover,
.jam920-preview__listing-link:focus-visible,
.jam920-preview__pagination-link:hover,
.jam920-preview__pagination-link:focus-visible {
	border-color: var(--jam920-gold);
	background: linear-gradient(135deg, #ba4038, #8f2d28);
	outline: 3px solid rgba(233, 178, 78, 0.2);
	outline-offset: 2px;
}

.jam920-preview__listing-link--secondary {
	border-color: rgba(244, 240, 231, 0.22);
	background: rgba(244, 240, 231, 0.045);
	box-shadow: none;
}

.jam920-preview__results {
	min-height: 48vh;
}

.jam920-preview__pagination {
	display: grid;
	grid-template-columns: minmax(120px, 1fr) auto minmax(120px, 1fr);
	align-items: center;
	gap: 0.8rem;
	margin-top: 1.4rem;
}

.jam920-preview__pagination-link:first-child {
	justify-self: start;
}

.jam920-preview__pagination-link:last-child {
	justify-self: end;
}

.jam920-preview__pagination-link--disabled {
	visibility: hidden;
}

.jam920-preview__pagination-status {
	color: var(--jam920-muted);
	font-family: "Barlow Condensed", sans-serif;
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-align: center;
	text-transform: uppercase;
}

@media (max-width: 1024px) {
	.jam920-preview__brand {
		width: clamp(345px, 45vw, 430px);
		max-width: calc(100% - 112px);
	}

	.jam920-preview__wordmark {
		width: clamp(220px, 25vw, 270px);
		max-width: 100%;
	}
}

@media (max-width: 900px) {
	.jam920-preview__date-finder-grid {
		grid-template-columns: 1fr;
	}

	.jam920-preview__event-grid--weekend-summary .jam920-preview__event-card:nth-child(n + 9),
	.jam920-preview__event-grid--tonight-summary .jam920-preview__event-card:nth-child(n + 7) {
		display: none;
	}
}

@media (max-width: 820px) {
	.jam920-preview__header-inner {
		position: relative;
		min-height: 108px;
	}

	.jam920-preview__brand {
		width: 100%;
		max-width: none;
		padding-right: 6rem;
	}

	.jam920-preview__wordmark {
		width: min(240px, calc(100vw - 145px));
		max-width: none;
	}

	.jam920-preview__brand-line {
		max-width: none;
		font-size: clamp(0.55rem, 1.55vw, 0.67rem);
	}

	.jam920-preview__mobile-nav {
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
	}
}

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

	.jam920-preview__date-controls button {
		width: 100%;
	}

	.jam920-preview__event-grid--weekend-summary .jam920-preview__event-card:nth-child(n + 7),
	.jam920-preview__event-grid--tonight-summary .jam920-preview__event-card:nth-child(n + 5) {
		display: none;
	}

	.jam920-preview__listing-actions {
		justify-content: stretch;
	}

	.jam920-preview__listing-link {
		width: 100%;
	}

	.jam920-preview__pagination {
		grid-template-columns: 1fr 1fr;
	}

	.jam920-preview__pagination-status {
		grid-column: 1 / -1;
		grid-row: 1;
	}

	.jam920-preview__pagination-link {
		width: 100%;
	}

	.jam920-preview__pagination-link:first-child {
		grid-column: 1;
		grid-row: 2;
	}

	.jam920-preview__pagination-link:last-child {
		grid-column: 2;
		grid-row: 2;
	}
}

@media (max-width: 430px) {
	.jam920-preview__header-inner {
		min-height: 100px;
		gap: 0.75rem;
	}

	.jam920-preview__brand {
		width: 100%;
		max-width: none;
		padding-block: 0.55rem;
		padding-right: 5.25rem;
	}

	.jam920-preview__wordmark {
		width: min(205px, calc(100vw - 126px));
	}

	.jam920-preview__brand-line {
		max-width: none;
		font-size: clamp(0.48rem, 2.05vw, 0.58rem);
		line-height: 1.08;
	}

	.jam920-preview__date-form {
		padding: 1rem;
		border-radius: 1.2rem;
	}

	.jam920-preview__event-row {
		padding-inline: 0.75rem;
	}
}

/* Artist and venue schedule search. */
.jam920-preview__finder-forms {
	display: grid;
	gap: 1rem;
}

.jam920-preview__directory-controls {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.75rem;
}

.jam920-preview__directory-field {
	position: relative;
	min-width: 0;
}

.jam920-preview__directory-controls input,
.jam920-preview__directory-controls button {
	min-height: 54px;
	border-radius: 999px;
	font-family: var(--jam920-display);
}

.jam920-preview__directory-controls input {
	width: 100%;
	min-width: 0;
	padding: 0.7rem 1.15rem;
	border: 1px solid rgba(244, 240, 231, 0.28);
	background: rgba(244, 240, 231, 0.08);
	color: var(--jam920-paper);
	font-weight: 500;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
	-webkit-appearance: none;
	appearance: none;
}

.jam920-preview__directory-controls input::placeholder {
	color: rgba(244, 240, 231, 0.62);
}

.jam920-preview__directory-controls input:focus-visible {
	border-color: var(--jam920-gold);
	outline: 3px solid rgba(233, 178, 78, 0.22);
	outline-offset: 2px;
}

.jam920-preview__directory-controls button {
	padding: 0.75rem 1.45rem;
	border: 1px solid #ef766b;
	background: linear-gradient(135deg, #a93630, #7d2925);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.075em;
	text-transform: uppercase;
	cursor: pointer;
	box-shadow:
		0 10px 28px rgba(143, 45, 40, 0.34),
		0 0 22px rgba(230, 93, 80, 0.16);
}

.jam920-preview__directory-controls button:hover,
.jam920-preview__directory-controls button:focus-visible {
	border-color: var(--jam920-gold);
	background: linear-gradient(135deg, #ba4038, #8f2d28);
	outline: none;
}

.jam920-preview__date-finder .jam920-preview__form-note {
	margin: 0.65rem 0 0;
	color: var(--jam920-muted);
	font-size: 0.78rem;
	line-height: 1.4;
}

.jam920-preview__directory-options {
	position: absolute;
	top: calc(100% + 0.45rem);
	right: 0;
	left: 0;
	z-index: 20;
	max-height: 340px;
	overflow-y: auto;
	padding: 0.4rem;
	border: 1px solid rgba(244, 240, 231, 0.22);
	border-radius: 1rem;
	background: #101827;
	box-shadow: 0 22px 55px rgba(0, 0, 0, 0.48);
}

.jam920-preview__directory-option {
	width: 100%;
	display: grid;
	gap: 0.12rem;
	padding: 0.75rem 0.85rem;
	border: 0;
	border-radius: 0.7rem;
	background: transparent;
	color: var(--jam920-paper);
	text-align: left;
	cursor: pointer;
}

.jam920-preview__directory-option:hover,
.jam920-preview__directory-option[aria-selected="true"] {
	background: rgba(230, 93, 80, 0.2);
	outline: 1px solid rgba(239, 118, 107, 0.42);
}

.jam920-preview__directory-option-name {
	font-size: 0.94rem;
	font-weight: 800;
	line-height: 1.2;
}

.jam920-preview__directory-option-meta {
	color: var(--jam920-muted);
	font-family: var(--jam920-display);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.055em;
	text-transform: uppercase;
}

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

	.jam920-preview__directory-controls button {
		width: 100%;
	}
}

/* Keep the Phase 6A header sizing after the earlier D2B breakpoint rules. */
.jam920-preview__brand-line {
	font-size: clamp(0.76rem, 0.9vw, 0.92rem);
}

@media (max-width: 820px) {
	.jam920-preview__brand-line {
		font-size: clamp(0.67rem, 1.9vw, 0.8rem);
	}
}

@media (max-width: 430px) {
	.jam920-preview__brand-line {
		font-size: clamp(0.62rem, 2.7vw, 0.72rem);
		white-space: normal;
	}
}

/* Phase 7: public polish, independent spotlights, and protected submissions. */
.jam920-preview__hero-actions { display:flex; flex-wrap:nowrap; gap:.75rem; margin-top:1.45rem; }
.jam920-preview__hero-layout--copy-only { grid-template-columns:minmax(0,760px); }
.jam920-preview__hero-actions .jam920-preview__primary-link { display:inline-flex; align-items:center; justify-content:center; min-height:48px; margin:0; padding:.72rem 1.05rem; text-align:center; }
.jam920-preview__primary-link--secondary { background:transparent; border:1px solid rgba(238,225,194,.58); color:#f4e8cb; }
.jam920-preview__hero-visual figcaption { display:flex; flex-wrap:wrap; gap:.35rem .7rem; }
.jam920-preview__hero-visual figcaption small { font-size:inherit; opacity:.78; }
.jam920-preview__spotlight-actions { display:flex; flex-wrap:wrap; gap:.55rem .9rem; margin-top:1rem; }
.jam920-preview__spotlight-actions a { display:inline-flex; min-height:42px; align-items:center; }
.jam920-preview__sound-booth { align-self:center; color:#f1c65e; min-width:min(320px,100%); padding:1rem 0; text-align:center; }
.jam920-preview__sound-booth span { display:block; font-family:"Barlow Condensed",sans-serif; font-size:clamp(1.25rem,2.4vw,2rem); font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.jam920-preview__sound-booth svg { display:block; width:100%; height:auto; margin-top:.55rem; overflow:visible; }
.jam920-preview__sound-booth path { fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2.8; vector-effect:non-scaling-stroke; }
.jam920-preview__submission-forms { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; padding-bottom:3.5rem; }
.jam920-submission-choice { align-self:start; border:1px solid rgba(240,194,82,.3); border-radius:18px; background:rgba(8,13,21,.72); overflow:hidden; }
.jam920-submission-choice[open] { grid-column:1 / -1; }
.jam920-submission-choice > summary { display:grid; gap:.2rem; min-height:92px; padding:1.25rem 1.4rem; color:#fff; cursor:pointer; list-style:none; }
.jam920-submission-choice > summary::-webkit-details-marker { display:none; }
.jam920-submission-choice > summary::after { content:"+"; grid-column:2; grid-row:1 / span 2; align-self:center; color:#f1c65e; font-size:2rem; font-weight:700; }
.jam920-submission-choice[open] > summary::after { content:"−"; }
.jam920-submission-choice > summary span { font-family:"Barlow Condensed",sans-serif; font-size:1.65rem; font-weight:800; text-transform:uppercase; }
.jam920-submission-choice > summary small { color:#d8ceb9; font-size:.95rem; }
.jam920-submission-choice > summary:focus-visible { outline:3px solid #f1c65e; outline-offset:-4px; }
.jam920-submission-form { position:relative; display:grid; gap:1rem; padding:clamp(1.15rem,2.4vw,2rem); border:1px solid rgba(240,194,82,.25); border-radius:18px; background:rgba(8,13,21,.72); }
.jam920-submission-choice .jam920-submission-form { border:0; border-top:1px solid rgba(240,194,82,.2); border-radius:0; background:rgba(2,7,13,.45); }
.jam920-submission-form__heading h3 { margin:.2rem 0 .45rem; font-size:clamp(1.65rem,3vw,2.25rem); }
.jam920-submission-form__heading p { margin:0; }
.jam920-submission-form__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.9rem; }
.jam920-submission-form label { display:grid; gap:.42rem; color:#f2e6ca; font-weight:700; }
.jam920-submission-form label em { color:#f1c65e; font-size:.78em; font-style:normal; text-transform:uppercase; }
.jam920-submission-form input,.jam920-submission-form textarea { width:100%; min-height:48px; border:1px solid rgba(242,230,202,.32); border-radius:9px; background:#080d15; color:#fff; padding:.72rem .8rem; font:inherit; }
.jam920-submission-form textarea { min-height:7rem; resize:vertical; }
.jam920-submission-form input:focus,.jam920-submission-form textarea:focus { border-color:#f1c65e; outline:3px solid rgba(241,198,94,.25); outline-offset:1px; }
.jam920-submission-form > button { width:fit-content; min-height:48px; padding:.75rem 1.25rem; border:0; border-radius:999px; background:#a8322d; color:#fff; font-weight:800; cursor:pointer; }
.jam920-submission-form__honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.jam920-submission-form__errors,.jam920-submission-success { border-left:4px solid #f1c65e; background:rgba(241,198,94,.1); padding:.85rem 1rem; }
.jam920-submission-form__errors ul { margin-bottom:0; }
.cf-turnstile { min-height:65px; }

@media (max-width:760px) {
	.jam920-preview__hero-actions { width:100%; gap:.5rem; }
	.jam920-preview__hero-actions .jam920-preview__primary-link { flex:1 1 0; padding-inline:.65rem; font-size:.9rem; }
	.jam920-preview__submission-forms,.jam920-submission-form__grid { grid-template-columns:1fr; }
	.jam920-submission-choice[open] { grid-column:auto; }
	.jam920-preview__sound-booth { min-width:0; }
}
