/* cmsms stylesheet: fullScreenMaster modified: 11/13/26 17:18:50 */
body {
	font-family: "Albert Sans", system-ui, sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 100%;
	line-height: 160%;
	color: #111111;
	background-color: #f4f4f5;
	margin: 0px;
	padding: 0px;
}

* {
	box-sizing: border-box;
}

p {
	margin: 0px 0px 20px 0px;
}

h1 {
	font-weight: 700;
	font-size: 156%;
	line-height: 120%;
	margin: 0px 0px 4px 0px;
	color: #111111;
}

h2 {
	font-weight: 700;
	font-size: 138%;
	line-height: 120%;
	margin: 0px 0px 6px 0px;
	color: #111111;
}

h3 {
	font-weight: 700;
	font-size: 131%;
	line-height: 120%;
	margin: 0px 0px 10px 0px;
	color: #111111;
}

h4 {
	font-weight: 700;
	font-size: 113%;
	line-height: 130%;
	margin: 0px 0px 8px 0px;
	color: #111111;
}

h5 {
	font-weight: 600;
	font-size: 97%;
	line-height: 130%;
	margin: 0px 0px 8px 0px;
	color: #111111;
}

h6 {
	font-weight: 700;
	font-size: 81%;
	line-height: 130%;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin: 0px 0px 8px 0px;
	color: #77737a;
}

a {
	color: #223645;
	text-decoration: none;
	transition: color 0.4s, background-color 0.4s;
}

a:hover {
	color: #16242f;
}

a img {
	border: 0px;
}

input, textarea, select, button {
	font-family: inherit;
}

/* IDs are kept in the markup for JS hooks and anchors only — all styling lives in classes. */

/* Classes */

.outer {

}

.inner {
	width: calc(100% - 60px);
	max-width: 1880px;
	margin: 0px auto;
	position: relative;
}

.wizardInner {
	width: 940px;
	max-width: calc(100% - 60px);
	margin: 0px auto;
	display: flex;
	flex-direction: column;
	gap: 26px;
}

/* Structural chrome (compose with colour/flex classes; applied to the ID'd elements) */

.fullMinHeight {
	min-height: 100vh;
}

.minWidthZero {
	min-width: 0px;
}

.mainPadded {
	padding: 26px 31px;
}

.topBar {
	border-bottom: 1px solid #e4e2e5;
	padding: 0px 36px;
	height: 76px;
}

.siteHeader {
	position: relative;
}

.siteHeaderInner {
	min-height: 64px;
	padding-top: 8px;
	padding-bottom: 8px;
	gap: 16px;
}
.softBox {
	border: 1px solid #e4e2e5;
	border-radius: 8px;
}

.creditBar {
	padding: 14px 24px;
	border-top: 1px solid #e4e2e5;
}

.overlayScrim {
	display: none;
	position: fixed;
	top: 0px;
	left: 0px;
	right: 0px;
	bottom: 0px;
	z-index: 9000;
	background-color: rgba(17, 17, 17, 0.45);
	align-items: center;
	justify-content: center;
}

.modalBox {
	border-radius: 12px;
	width: 570px;
	max-width: calc(100% - 60px);
	box-shadow: 0px 16px 52px rgba(17, 17, 17, 0.3);
	overflow: hidden;
}

.toastTray {
	position: fixed;
	left: 0px;
	right: 0px;
	bottom: 28px;
	z-index: 9500;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	pointer-events: none;
}

.columnContainer {
	display: flex;
	gap: 18px;
}

.verticalContainer {
	flex-direction: column;
}

.allSpaceColumn {
	justify-content: space-between;
}

.rightColumnContent {
	justify-content: flex-end;
}

.centerColumn {
	align-items: center;
}

.equalColumn {
	flex: 1;
	min-width: 0px;
}

.columnContainer .heroMainColumn {
	flex: 2 1 0;
	min-width: 0px;
}

.columnContainer .heroSideColumn {
	flex: 1 1 0;
	min-width: 0px;
}

.standardVertical {
	padding-top: 42px;
	padding-bottom: 42px;
}

.standardPadded {
	padding: 24px;
}

.smallPadded {
	padding: 16px;
}

.bottomMargin {
	margin-bottom: 20px;
}

.topMargin {
	margin-top: 20px;
}

.centerBlock {
	text-align: center;
}

.mutedText {
	color: #67636a;
}

.tinyText {
	font-size: 90%;
}

.smallText {
	font-size: 97%;
}

.upperLabel {
	font-size: 81%;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #77737a;
	margin: 0px 0px 8px 0px;
	display: block;
}

/* Page header */

.pageHeader {
	display: flex;
	align-items: center;
	gap: 16px;
}

.pageHeader .headerActions {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 12px;
}

.pageTitle {
	margin: 0px;
	font-size: 156%;
	font-weight: 700;
}

.pageSubtitle {
	margin: 4px 0px 0px 0px;
	font-size: 100%;
	color: #67636a;
}

.eyebrow {
	font-size: 90%;
	font-weight: 600;
	color: #223645;
	margin: 0px 0px 2px 0px;
}

/* Toolbar / filters */

.toolbar {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.searchField {
	display: flex;
	align-items: center;
	gap: 9px;
	background-color: #ffffff;
	border: 1px solid #d9d7db;
	border-radius: 7px;
	padding: 9px 15px;
	font-size: 97%;
	color: #67636a;
	width: 300px;
}

.filterPill {
	background-color: #ffffff;
	border: 1px solid #d9d7db;
	border-radius: 7px;
	padding: 9px 15px;
	font-size: 97%;
	font-weight: 600;
	color: #292929;
	cursor: pointer;
	transition: border-color 0.3s;
}

.filterPill:hover {
	border-color: #223645;
}

.chipRow {
	display: flex;
	gap: 5px;
	font-size: 90%;
	font-weight: 600;
	margin-left: auto;
	flex-wrap: wrap;
}

.filterChip {
	color: #292929;
	padding: 5px 13px;
	border-radius: 20px;
	cursor: pointer;
	transition: background-color 0.3s, color 0.3s;
}

.filterChip:hover {
	background-color: #f2f1f3;
}

.filterChip.activeChip {
	background-color: #fdf7c5;
	color: #223645;
}

/* Data table */

.dataTable {
	background-color: #ffffff;
	border: 1px solid #e4e2e5;
	border-radius: 9px;
	overflow: hidden;
}

.bulkBar {
	display: none;
	align-items: center;
	background-color: #fdf7c5;
	padding: 12px 21px;
	font-size: 97%;
	font-weight: 600;
	color: #223645;
	gap: 18px;
}

.bulkBar.bulkBarOn {
	display: flex;
}

.bulkAction {
	cursor: pointer;
	text-decoration: underline;
	color: #223645;
}

.bulkAction:hover {
	color: #223645;
}

.bulkClear {
	margin-left: auto;
	cursor: pointer;
}

.tableHead, .tableRow {
	display: grid;
	grid-template-columns: 30px 2fr 1.6fr 1fr 0.9fr 0.8fr 0.6fr 30px;
	gap: 10px;
	padding: 11px 21px;
	align-items: center;
}

.tableHead {
	font-size: 81%;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #77737a;
	border-bottom: 1px solid #ebeaec;
	padding-top: 10px;
	padding-bottom: 10px;
}

.tableHead .sortable {
	cursor: pointer;
}

.tableHead .activeSort {
	color: #223645;
}

.tableHead .alignRight {
	text-align: right;
}

.tableRow {
	font-size: 103%;
	color: #292929;
	border-bottom: 1px solid #f2f1f3;
	transition: background-color 0.3s;
}

.tableRow:last-of-type {
	border-bottom: 0px;
}

.tableRow:hover {
	background-color: #f9f9fa;
}

.tableRow.rowSelected {
	background-color: #fefbe4;
}

.entrantName {
	font-weight: 600;
}

.entrantBiz {
	color: #77737a;
	font-weight: 400;
}

.cellRight {
	text-align: right;
	font-weight: 700;
}

.cellMuted {
	color: #77737a;
}

.rowMenu {
	color: #77737a;
	cursor: pointer;
	text-align: center;
}

.tableFoot {
	display: flex;
	align-items: center;
	padding: 11px 21px;
	font-size: 90%;
	color: #77737a;
	border-top: 1px solid #ebeaec;
}

.perPage {
	cursor: pointer;
}

/* Pagination */

.pager {
	margin-left: auto;
	display: flex;
	gap: 5px;
	font-weight: 600;
	font-size: 90%;
	color: #292929;
	align-items: center;
}

.pageStep {
	border: 1px solid #d9d7db;
	background-color: #ffffff;
	border-radius: 4px;
	padding: 3px 11px;
	cursor: pointer;
	transition: background-color 0.3s;
}

.pageStep:hover {
	background-color: #f2f1f3;
}

.pageStep.activePage {
	background-color: #223645;
	color: #ffffff;
	border-color: #223645;
}

.pageGap {
	padding: 3px 5px;
	color: #77737a;
}

/* Checkbox accent */

.entryCheck, .rowCheck {
	width: 16px;
	height: 16px;
	accent-color: #223645;
	cursor: pointer;
}

/* Avatars */

.avatar {
	width: 39px;
	height: 39px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 90%;
	font-weight: 700;
	flex: none;
}

.avatarSmall {
	width: 30px;
	height: 30px;
	font-size: 85%;
}

/* Buttons */

.blockButton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-sizing: border-box;
	font-size: 97%;
	font-weight: 700;
	line-height: 100%;
	padding: 11px 17px;
	border: 0px;
	border-radius: 7px;
	cursor: pointer;
	text-align: center;
	text-decoration: none;
	transition: color 0.4s, background-color 0.4s, border-color 0.4s;
}

.blockButton.fullButton {
	width: 100%;
}

.secondaryButton {
	background-color: #ffffff;
	border: 1px solid #d9d7db;
	color: #292929;
	font-weight: 600;
}

.secondaryButton:hover {
	background-color: #f2f1f3;
	color: #292929;
	text-decoration: none;
}

.textButton {
	background-color: transparent;
	color: #223645;
	padding: 11px 8px;
}

.textButton:hover {
	color: #16242f;
	text-decoration: none;
}

.disabledButton {
	background-color: #ebeaec;
	color: #77737a;
	cursor: not-allowed;
}

/* Status badges */

.statusBadge {
	display: inline-block;
	font-size: 90%;
	font-weight: 600;
	padding: 3px 11px;
	border-radius: 10px;
	line-height: 150%;
	white-space: nowrap;
}

.submittedBadge {
	background-color: #fdf7c5;
	color: #111111;
}

.judgingBadge {
	background-color: #fdf7c5;
	color: #223645;
}

.finalistBadge {
	background-color: #E9F2E6;
	color: #3E6B34;
}

.winnerBadge {
	background-color: #111111;
	color: #b78b1e;
	font-weight: 700;
}

.withdrawnBadge {
	background-color: #F7E5E5;
	color: #A33B3B;
}

.draftBadge {
	background-color: #ebeaec;
	color: #67636a;
}

/* Cards */

.infoCard {
	background-color: #ffffff;
	border: 1px solid #e4e2e5;
	border-radius: 9px;
	padding: 18px 21px;
}

.statCard {
	background-color: #ffffff;
	border: 1px solid #e4e2e5;
	border-radius: 9px;
	padding: 18px 21px;
	flex: 1;
	min-width: 0px;
}

.statLabel {
	font-size: 90%;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #77737a;
}

.statFigure {
	font-size: 194%;
	font-weight: 700;
	margin: 4px 0px 2px 0px;
	line-height: 110%;
}

.statUp {
	font-size: 90%;
	color: #3E6B34;
}

.featureCard {
	border-radius: 9px;
	padding: 21px;
	color: #ffffff;
	position: relative;
	overflow: hidden;
	flex: 1;
	min-width: 0px;
}

.featureCard.purpleFeature, .purpleFeature {
	background-image: linear-gradient(135deg, #111111, #292929);
}

.featureCard.inkFeature {
	background-image: linear-gradient(135deg, #111111, #292929);
	color: #fdf7c5;
}

.featureCard.goldFeature {
	background-image: linear-gradient(135deg, #7d5f14, #b78b1e);
	color: #FFFFFF;
}

.featureCard.goldFeature h2,
.featureCard.goldFeature .weightSemi,
.featureCard.purpleFeature h2 {
	color: #FFFFFF;
}

.featureCard.goldFeature .featureKicker,
.featureCard.goldFeature .upperLabel {
	color: #fdf7c5;
}

.featureStar {
	position: absolute;
	right: -18px;
	top: -18px;
	font-size: 619%;
	color: #b78b1e;
	opacity: 0.15;
	line-height: 100%;
}

.featureKicker {
	font-size: 81%;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: #b78b1e;
	position: relative;
}

/* Progress bars */

.progressTrack {
	height: 6px;
	border-radius: 3px;
	background-color: #ebeaec;
	overflow: hidden;
}

.progressFill {
	height: 6px;
	border-radius: 3px;
	background-color: #b78b1e;
}

.progressFill.purpleFill {
	background-color: #223645;
}

/* Forms */

.fieldLabel {
	display: block;
	font-size: 97%;
	font-weight: 600;
	color: #292929;
	margin-bottom: 6px;
}

.fieldLabel.errorLabel {
	color: #A33B3B;
}

.reqStar {
	color: #A33B3B;
}

.textInput, .textArea, .selectInput {
	width: 100%;
	box-sizing: border-box;
	background-color: #ffffff;
	border: 1px solid #d9d7db;
	border-radius: 7px;
	padding: 11px 15px;
	font-size: 106%;
	color: #111111;
	outline: none;
	transition: border-color 0.3s, box-shadow 0.3s;
}

.textArea {
	resize: vertical;
	line-height: 150%;
}

.textInput:focus, .textArea:focus, .selectInput:focus {
	border-color: #223645;
	box-shadow: 0px 0px 0px 3px #fdf7c5;
}

.textInput.errorInput {
	border-color: #A33B3B;
	box-shadow: 0px 0px 0px 3px #F7E5E5;
}

.fieldHelp {
	font-size: 90%;
	color: #67636a;
	margin-top: 5px;
}

.fieldHelp.errorHelp {
	color: #A33B3B;
}

.fieldCount {
	font-size: 90%;
	color: #67636a;
	margin-top: 5px;
	text-align: right;
}

.fakeSelect {
	background-color: #ffffff;
	border: 1px solid #d9d7db;
	border-radius: 7px;
	padding: 11px 15px;
	font-size: 106%;
	color: #111111;
	display: flex;
	cursor: pointer;
}

.fakeSelect .caret {
	margin-left: auto;
	color: #67636a;
}

.checkRow {
	display: flex;
	align-items: center;
	gap: 11px;
	cursor: pointer;
	font-size: 106%;
	color: #292929;
}

.checkRow input {
	width: 16px;
	height: 16px;
	accent-color: #223645;
}

/* File upload */

.dropZone {
	border: 1.5px dashed #b78b1e;
	background-color: #fefcf0;
	border-radius: 9px;
	padding: 26px;
	text-align: center;
	cursor: pointer;
}

.dropIcon {
	font-size: 138%;
	color: #b78b1e;
}

.fileRow {
	display: flex;
	align-items: center;
	gap: 12px;
	background-color: #ffffff;
	border: 1px solid #e4e2e5;
	border-radius: 7px;
	padding: 10px 14px;
	margin-top: 10px;
	font-size: 97%;
}

.fileTag {
	width: 36px;
	height: 36px;
	border-radius: 6px;
	background-color: #fdf7c5;
	color: #223645;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 81%;
	font-weight: 700;
	flex: none;
}

.fileRemove {
	color: #A33B3B;
	cursor: pointer;
	font-weight: 700;
}

/* Form vocabulary — the standard classes for building forms */

.hidden {
	display: none;
}

.inputRow {
	margin-bottom: 20px;
}

.inputRow:last-child {
	margin-bottom: 0px;
}

.inputRow label {
	display: block;
	font-size: 97%;
	font-weight: 600;
	color: #292929;
	margin-bottom: 6px;
}

.inputRow label.errorLabel {
	color: #A33B3B;
}

.inputRow label.optionItem,
.inputRow label.toggleField {
	display: flex;
	margin-bottom: 0px;
}

.fullWidthInput {
	width: 100%;
	box-sizing: border-box;
}

.selectInput {
	cursor: pointer;
}

.multiSelect {
	min-height: 130px;
	padding: 8px;
	cursor: default;
}

.fileInput {
	font-size: 97%;
	color: #292929;
}

.fileInput::file-selector-button {
	font-family: inherit;
	font-size: 90%;
	font-weight: 600;
	color: #292929;
	background-color: #ffffff;
	border: 1px solid #d9d7db;
	border-radius: 7px;
	padding: 8px 13px;
	margin-right: 12px;
	cursor: pointer;
	transition: background-color 0.3s;
}

.fileInput::file-selector-button:hover {
	background-color: #f2f1f3;
}

.rangeInput {
	accent-color: #223645;
	height: 24px;
}

/* checkbox / radio option list — wrap options in columnContainer verticalContainer gapSmall */

.optionList {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.optionItem {
	display: flex;
	align-items: center;
	gap: 11px;
	cursor: pointer;
	font-size: 106%;
	color: #292929;
}

.optionItem input {
	width: 16px;
	height: 16px;
	accent-color: #223645;
	flex: none;
}

/* toggle switch (pure CSS) */

.toggleField {
	display: flex;
	align-items: center;
	gap: 11px;
	cursor: pointer;
	font-size: 106%;
	color: #292929;
}

.toggleInput {
	position: absolute;
	opacity: 0;
	width: 0px;
	height: 0px;
}

.toggleTrack {
	width: 38px;
	height: 22px;
	border-radius: 11px;
	background-color: #c8c6ca;
	position: relative;
	flex: none;
	transition: background-color 0.3s;
}

.toggleTrack::after {
	content: "";
	position: absolute;
	top: 2px;
	left: 2px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background-color: #ffffff;
	transition: left 0.3s;
}

.toggleInput:checked + .toggleTrack {
	background-color: #223645;
}

.toggleInput:checked + .toggleTrack::after {
	left: 18px;
}

/* segmented control */

.segmented {
	display: inline-flex;
	background-color: #ebeaec;
	border-radius: 8px;
	padding: 3px;
	font-size: 97%;
	font-weight: 600;
}

.segItem {
	padding: 7px 16px;
	border-radius: 6px;
	color: #292929;
	cursor: pointer;
	transition: background-color 0.3s, color 0.3s;
}

.segItem.segActive {
	background-color: #ffffff;
	color: #111111;
	box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.08);
}

/* drag & drop highlight (added to .dropZone by sitejs.js) */

.dropActive {
	border-color: #223645;
	background-color: #fefbe4;
}

/* form buttons */

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	font-size: 97%;
	font-weight: 700;
	line-height: 100%;
	padding: 11px 20px;
	border: 1px solid transparent;
	border-radius: 7px;
	cursor: pointer;
	text-align: center;
	text-decoration: none;
	transition: color 0.4s, background-color 0.4s, border-color 0.4s;
}

.btnActive {
	background-color: #b78b1e;
	color: #ffffff;
}

.btnActive:hover {
	background-color: #111111;
	color: #fdf7c5;
	text-decoration: none;
}

.fbsubmit {
	min-width: 120px;
}

.fbcancel {
	background-color: #ffffff;
	border-color: #d9d7db;
	color: #292929;
	font-weight: 600;
}

.fbcancel:hover {
	background-color: #f2f1f3;
	color: #292929;
}

.submitRow {
	display: flex;
	gap: 12px;
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid #e4e2e5;
}

/* Wizard stepper */

.stepper {
	display: flex;
	align-items: center;
}

.stepItem {
	display: flex;
	align-items: center;
	gap: 10px;
}

.stepDot {
	width: 31px;
	height: 31px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 90%;
	font-weight: 700;
	flex: none;
}

.stepDone {
	background-color: #3E6B34;
	color: #ffffff;
}

.stepCurrent {
	background-color: #223645;
	color: #ffffff;
}

.stepFuture {
	background-color: #ebeaec;
	color: #67636a;
}

.stepLabel {
	font-size: 97%;
	font-weight: 600;
}

.stepLabel.doneLabel {
	color: #3E6B34;
}

.stepLabel.currentLabel {
	color: #111111;
	font-weight: 700;
}

.stepLabel.futureLabel {
	color: #67636a;
}

.stepLine {
	flex: 1;
	height: 2px;
	margin: 0px 13px;
	background-color: #e4e2e5;
}

.stepLine.doneLine {
	background-color: #3E6B34;
}

/* Category picker cards */

.pickGrid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 13px;
}

.pickCard {
	background-color: #ffffff;
	border: 1px solid #e4e2e5;
	border-radius: 9px;
	padding: 18px;
	cursor: pointer;
	position: relative;
	transition: border-color 0.3s;
}

.pickCard:hover {
	border-color: #223645;
}

.pickCard.pickedCard {
	border: 2px solid #223645;
}

.pickTick {
	position: absolute;
	top: 13px;
	right: 13px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background-color: #223645;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 81%;
	font-weight: 700;
}

.pickTitle {
	font-size: 106%;
	font-weight: 700;
}

.pickBlurb {
	font-size: 94%;
	color: #67636a;
	margin-top: 4px;
}

/* Judging score panel */

.scoreGrid {
	display: grid;
	grid-template-columns: 1fr 430px;
	gap: 18px;
	align-items: start;
}

.qCard {
	background-color: #ffffff;
	border: 1px solid #e4e2e5;
	border-radius: 9px;
	padding: 18px 21px;
}

.qCard p {
	margin: 10px 0px 0px 0px;
	font-size: 106%;
	line-height: 165%;
	color: #292929;
}

.scorePanel {
	background-color: #ffffff;
	border: 1px solid #e4e2e5;
	border-radius: 9px;
	padding: 18px 21px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.scoreCriterion .scoreHeadRow {
	display: flex;
	font-size: 97%;
	font-weight: 600;
	color: #292929;
	margin-bottom: 7px;
}

.scoreCriterion .scoreValue {
	margin-left: auto;
	color: #223645;
}

.scoreCriterion .scoreValue.emptyScore {
	color: #77737a;
}

.scoreBar {
	display: flex;
	gap: 4px;
}

.scoreCell {
	flex: 1;
	height: 28px;
	border-radius: 4px;
	background-color: #ebeaec;
	cursor: pointer;
	transition: background-color 0.2s;
}

.scoreCell.scoreOn {
	background-color: #223645;
}

.docRow {
	background-color: #ffffff;
	border: 1px solid #e4e2e5;
	border-radius: 9px;
	padding: 14px 21px;
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 97%;
}

.docView {
	font-weight: 700;
	color: #223645;
	cursor: pointer;
}

.flagLink {
	color: #A33B3B;
	font-size: 97%;
	font-weight: 600;
	padding: 4px;
	text-align: center;
	cursor: pointer;
}

/* Modal internals */

.modalHead {
	display: flex;
	align-items: center;
	padding: 18px 24px;
	border-bottom: 1px solid #ebeaec;
}

.modalTitle {
	font-size: 122%;
	font-weight: 700;
}

.modalClose {
	margin-left: auto;
	color: #77737a;
	cursor: pointer;
	font-size: 113%;
}

.modalBody {
	padding: 21px 24px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	font-size: 103%;
}

.modalFoot {
	display: flex;
	justify-content: flex-end;
	gap: 11px;
	padding: 16px 24px;
	background-color: #fafafa;
	border-top: 1px solid #ebeaec;
}

.judgeOption {
	display: flex;
	align-items: center;
	gap: 13px;
	border: 1px solid #e4e2e5;
	border-radius: 8px;
	padding: 13px 15px;
	cursor: pointer;
	transition: border-color 0.3s;
}

.judgeOption:hover {
	border-color: #223645;
}

.judgeOption.pickedJudge {
	border: 2px solid #223645;
}

.judgeOption .judgeName {
	font-weight: 700;
}

.judgeOption .judgeMeta {
	color: #67636a;
	font-size: 90%;
}

/* Toasts */

.toast {
	display: flex;
	align-items: center;
	gap: 13px;
	background-color: #111111;
	color: #ffffff;
	border-radius: 9px;
	padding: 14px 18px;
	font-size: 103%;
	box-shadow: 0px 8px 26px rgba(17, 17, 17, 0.25);
	pointer-events: auto;
}

.toast.dangerToast {
	background-color: #A33B3B;
}

.toastTick {
	color: #7FBF72;
}

.toastStar {
	color: #b78b1e;
}

.toastUndo {
	margin-left: auto;
	color: #b78b1e;
	font-weight: 700;
	cursor: pointer;
}

.toastClose {
	margin-left: auto;
	color: #67636a;
	cursor: pointer;
}

/* Empty state */

.emptyState {
	background-color: #ffffff;
	border: 1px solid #e4e2e5;
	border-radius: 9px;
	padding: 52px;
	text-align: center;
}

.emptyStar {
	font-size: 213%;
	color: #b78b1e;
}

/* Dashboard */

.topAlign {
	align-items: flex-start;
}

.dashColumns {
	display: flex;
	gap: 18px;
	align-items: flex-start;
}

.dashMainCol {
	flex: 1;
	min-width: 0px;
}

.dashSideCol {
	width: 390px;
	flex: none;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.statGrid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

.statFigure .statSuffix {
	font-size: 58%;
	font-weight: 700;
	color: #67636a;
}

.cardHead {
	display: flex;
	align-items: center;
	gap: 13px;
	padding: 14px 0px;
	border-bottom: 1px solid #ebeaec;
}

.padFlush {
  padding-left: 0px;
  padding-right: 0px;
}

.cardHeadTitle {
	font-size: 113%;
	font-weight: 700;
	color: #111111;
}

.cardLink {
	margin-left: auto;
	font-size: 90%;
	font-weight: 600;
	color: #223645;
	cursor: pointer;
}

.miniHead, .miniRow {
	display: grid;
	grid-template-columns: 2.1fr 1.7fr 1fr 0.9fr 0.5fr;
	gap: 10px;
	padding: 11px 21px;
	align-items: center;
}

.miniHead {
	font-size: 81%;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #77737a;
	border-bottom: 1px solid #ebeaec;
}

.miniRow {
	font-size: 103%;
	color: #292929;
	border-bottom: 1px solid #f2f1f3;
}

.miniRow:last-of-type {
	border-bottom: 0px;
}

.galaStats {
	display: flex;
	gap: 18px;
	margin-top: 13px;
	font-size: 90%;
	position: relative;
}

.galaStats b {
	font-size: 122%;
}

.galaSub {
	font-size: 97%;
	opacity: 0.8;
	margin-top: 2px;
	position: relative;
}

.progressRow .progressRowHead {
	display: flex;
	font-size: 97%;
	color: #292929;
	margin-bottom: 5px;
}

.progressRow .progressRowHead b {
	margin-left: auto;
	font-weight: 700;
}

/* Utilities — compose these on elements instead of inline styles */

/* flex + position helpers */
.flexRow {
	display: flex;
}

.alignCenter {
	align-items: center;
}

.justifyCenter {
	justify-content: center;
}

.flexOne {
	flex: 1;
}

.pushRight {
	margin-left: auto;
}

.resetLeft {
	margin-left: 0px;
}

.relative {
	position: relative;
}

.fullHeightColumn {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

/* gap overrides (default columnContainer gap is 18px) */
.gapSmall {
	gap: 8px;
}

.gapMid {
	gap: 12px;
}

.gapLarge {
	gap: 16px;
}

/* margin helpers */
.noMargin {
	margin: 0px;
}

.noBottomMargin {
	margin-bottom: 0px;
}

.spaceTop2 {
	margin-top: 2px;
}

.spaceTop3 {
	margin-top: 3px;
}

.spaceTop5 {
	margin-top: 5px;
}

.spaceTop7 {
	margin-top: 7px;
}

.spaceTop8 {
	margin-top: 8px;
}

.spaceTop13 {
	margin-top: 13px;
}

.spaceTop14 {
	margin-top: 14px;
}

/* font weight */
.weightNormal {
	font-weight: 400;
}

.weightSemi {
	font-weight: 600;
}

.weightBold {
	font-weight: 700;
}

/* font size steps (%, on top of tinyText 90% and smallText 97%) */
.size103 {
	font-size: 103%;
}

.size106 {
	font-size: 106%;
}

.size122 {
	font-size: 122%;
}

.size163 {
	font-size: 163%;
}

/* width helpers (progress-bar fills and column overrides) */
.width41 {
	width: 41%;
}

.width43 {
	width: 43%;
}

.width46 {
	width: 46%;
}

.width64 {
	width: 64%;
}

.width76 {
	width: 76%;
}

.width87 {
	width: 87%;
}

.width90 {
	width: 90%;
}

.searchNarrow {
	width: 240px;
}

/* small named bits reused across pages */
.secondaryFront {
	color: #292929;
}

.tickAvatar {
	width: 22px;
	height: 22px;
	font-size: 81%;
}

.dividerTop {
	border-top: 1px solid #ebeaec;
	margin-top: 13px;
	padding-top: 12px;
}

.padWide {
	padding: 24px 28px;
}

/* Tab system */

.tabList {
	align-self: flex-start;
}

.tabButton {
	border: 0px;
	background-color: transparent;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}

.tabButton:focus-visible {
	outline: 2px solid #223645;
	outline-offset: 2px;
}

.tabPanel {
	min-width: 0px;
}

.tabPanel[hidden] {
	display: none;
}

/* Category question concertina */

.questionToggle {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border: 0px;
	background-color: transparent;
	font: inherit;
	white-space: nowrap;
}

.questionToggle:hover {
	color: #223645;
	text-decoration: underline;
}

.questionToggle:focus-visible {
	outline: 2px solid #223645;
	outline-offset: 3px;
	border-radius: 3px;
}

.questionToggleIcon {
	display: inline-block;
	font-size: 88%;
	transition: transform 0.2s;
}

.questionToggle[aria-expanded="true"] .questionToggleIcon {
	transform: rotate(180deg);
}

.questionPanel[hidden] {
	display: none;
}

/* Colours — Back classes */

/* "purpleBack" is kept as a class name for compatibility — it is now the brand gold primary button */

.purpleBack, a.purpleBack:link, a.purpleBack:visited,
button.purpleBack, input.purpleBack {
	background-color: #b78b1e;
	color: #ffffff;
}

a.purpleBack:hover, button.purpleBack:hover, input.purpleBack:hover,
.blockButton.purpleBack:hover {
	background-color: #111111;
	color: #fdf7c5;
	text-decoration: none;
}

.purpleTintBack {
	background-color: #fdf7c5;
	color: #223645;
}

.goldBack, a.goldBack:link, a.goldBack:visited,
button.goldBack, input.goldBack {
	background-color: #b78b1e;
	color: #ffffff;
}

a.goldBack:hover, button.goldBack:hover, input.goldBack:hover,
.blockButton.goldBack:hover {
	background-color: #111111;
	color: #fdf7c5;
	text-decoration: none;
}

.dangerBack, a.dangerBack:link, a.dangerBack:visited,
button.dangerBack, input.dangerBack {
	background-color: #A33B3B;
	color: #ffffff;
}

a.dangerBack:hover, button.dangerBack:hover, input.dangerBack:hover,
.blockButton.dangerBack:hover {
	background-color: #872F2F;
	color: #ffffff;
	text-decoration: none;
}

.inkBack {
	background-color: #111111;
	color: #ffffff;
}

.canvasBack {
	background-color: #fafafa;
}

.whiteBack {
	background-color: #ffffff;
}

/* Colours — Front classes */

.purpleFront {
	color: #223645;
}

.goldFront {
	color: #b78b1e;
}

.inkFront {
	color: #111111;
}

.mutedFront {
	color: #67636a;
}

.successFront {
	color: #3E6B34;
}

.dangerFront {
	color: #A33B3B;
}

.whiteFront {
	color: #ffffff;
}

.awardsContactsProfile .pageHeader,
.awardsContactsCrmList .pageHeader,
.awardsContactsCrmDetail .pageHeader,
.awardsContactsCrmDetail .tabList,
.awardsContactsCrmList .toolbar {
    flex-wrap: wrap;
}

.awardsContactsCrmList .dataTable {
    overflow-x: auto;
}

.awardsContactsCrmList .tableHead,
.awardsContactsCrmList .tableRow {
    min-width: 60rem;
    grid-template-columns: 30px 2fr 1.6fr 1fr 0.9fr 0.8fr 0.6fr minmax(5rem, auto);
}

.awardsContactsCrmDetail .tabList {
    max-width: 100%;
}

.awardsContactsCrmDetail .infoCard,
.awardsContactsCrmDetail .dashMainCol {
    min-width: 0;
    overflow-wrap: anywhere;
}

@media (max-width: 960px) {
    .awardsContactsCrmDetail .dashColumns {
        flex-direction: column;
    }

    .awardsContactsCrmDetail .dashMainCol,
    .awardsContactsCrmDetail .dashSideCol {
        width: 100%;
        max-width: 100%;
        flex: auto;
    }
}

/* ==========================================================
   AWARDS ENTRIES - APPLICANT
   ========================================================== */

.aeApplicant .wizardInner {
    width: 100%;
    max-width: 940px;
    min-width: 0;
    box-sizing: border-box;
}

.aeApplicant .aeEntryHeader {
    flex-wrap: wrap;
    height: auto;
    min-height: 75px;
    flex-shrink: 0;
    box-sizing: border-box;
}

.aeApplicant .aeEntryHeader > div {
    min-width: 0;
    overflow-wrap: anywhere;
}

.aeApplicant .headerActions {
    margin-left: auto;
}

.aeApplicant .submitRow,
.aeApplicant .fileRow {
    flex-wrap: wrap;
}

.aeApplicant .infoCard,
.aeApplicant .inputRow {
    min-width: 0;
    overflow-wrap: anywhere;
}

.aeApplicant input,
.aeApplicant select,
.aeApplicant textarea {
    max-width: 100%;
    box-sizing: border-box;
}

.aeApplicant .fileRow form {
    margin-left: auto;
}

.aeApplicant .aeQuestionSection {
    margin-bottom: 24px;
}

.aeApplicant .stepper {
    display: flex;
    gap: 12px;
}

.aeApplicant .aeAnswerCount {
    overflow-wrap: anywhere;
    text-align: left;
}

.aeApplicant .aeAnswerCount[data-ae-length-state="above"],
.aeApplicant .aeAnswerCount[data-ae-length-state="below"],
.aeApplicant .aeAnswerCount[data-ae-length-state="incomplete"] {
    color: #A33B3B;
}

.aeApplicant .aeAnswerCount[data-ae-length-state="within"] {
    color: #3E6B34;
}

.aeApplicant .aeLengthAnnouncement {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 640px) {
    .aeApplicant .wizardInner {
        padding: 0 12px;
    }

    .aeApplicant .padWide {
        padding: 16px;
    }

    .aeApplicant .aeEntryHeader {
        padding: 16px;
        gap: 12px;
    }

    .aeApplicant .headerActions {
        text-align: right;
    }

    .aeApplicant .stepper {
        flex-wrap: wrap;
    }
}

/* ==========================================================
   AWARDS ENTRIES - REGIONAL REVIEW QUEUE
   ========================================================== */

.aeRegionalReview .inner {
    box-sizing: border-box;
    min-width: 0;
}

.aeRegionalReview .pageHeader {
    flex-wrap: wrap;
}

.aeRegionalReview .pageHeader > div {
    min-width: 0;
    overflow-wrap: anywhere;
}

.aeRegionalReview .aeReviewFilters {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    align-items: end;
}

.aeRegionalReview .aeReviewFilters .inputRow {
    margin: 0;
    min-width: 0;
}

.aeRegionalReview .aeReviewFilters input,
.aeRegionalReview .aeReviewFilters select {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.aeRegionalReview .aeReviewFilterActions,
.aeRegionalReview .submitRow,
.aeRegionalReview .tableFoot {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.aeRegionalReview .aeReviewTable {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.aeRegionalReview .aeReviewTable th,
.aeRegionalReview .aeReviewTable td {
    text-align: left;
    padding: 14px 12px;
    vertical-align: top;
    overflow-wrap: anywhere;
    border-bottom: 1px solid #e4e2e5;
}

.aeRegionalReview .aeReviewTable th {
    font-size: 90%;
}

.aeRegionalReview .statusBadge {
    white-space: normal;
}

@media (max-width: 760px) {
    .aeRegionalReview .inner {
        padding-left: 12px;
        padding-right: 12px;
    }

    .aeRegionalReview .aeReviewFilters {
        grid-template-columns: 1fr;
    }

    .aeRegionalReview .aeReviewTable thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
    }

    .aeRegionalReview .aeReviewTable,
    .aeRegionalReview .aeReviewTable tbody {
        display: block;
    }

    .aeRegionalReview .aeReviewTable tr {
        display: block;
        padding: 8px;
        border-bottom: 1px solid #e4e2e5;
    }

    .aeRegionalReview .aeReviewTable td {
        display: grid;
        grid-template-columns: 30% minmax(0, 1fr);
        gap: 12px;
        border: 0;
        padding: 8px;
    }

    .aeRegionalReview .aeReviewTable td::before {
        content: attr(data-label);
        font-weight: 600;
    }

    .aeRegionalReview .aeReviewTable td[colspan] {
        display: block;
    }

    .aeRegionalReview .aeReviewTable td[colspan]::before {
        content: none;
    }
}

/* ==========================================================
   AWARDS ENTRIES - REVIEW DETAIL
   ========================================================== */

.aeReviewDetail {
    min-width: 0;
}

.aeReviewDetail .aeReviewHeading,
.aeReviewDetail .pageTitle {
    overflow-wrap: anywhere;
}

.aeReviewDetail .aeReviewState {
    margin-top: 8px;
}

.aeReviewDetail .aeReviewSummaries,
.aeReviewDetail .aeReviewDecisions {
    display: grid;
    gap: 18px;
    align-items: start;
}

.aeRegionalDetail .aeReviewSummaries {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.aeReviewDetail .aeReviewDecisions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 20px;
}

.aeReviewDetail .aeReviewSummaries > *,
.aeReviewDetail .aeReviewDecisions > * {
    min-width: 0;
    margin: 0;
    box-sizing: border-box;
}

.aeReviewDetail fieldset,
.aeReviewDetail .infoCard,
.aeReviewDetail .tabPanel {
    min-width: 0;
    overflow-wrap: anywhere;
}

.aeReviewDetail .inputRow {
    display: block;
    margin: 16px 0;
}

.aeReviewDetail .inputRow > label {
    display: block;
    font-weight: bold;
    margin-bottom: 6px;
}

.aeReviewDetail textarea,
.aeReviewDetail select {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.aeReviewDetail .fieldHelp {
    margin: 6px 0;
    font-size: 90%;
}

.aeReviewDetail .ae-character-count {
    display: block;
    margin: 6px 0;
    font-size: 90%;
}

.aeReviewDetail .optionItem {
    display: block;
    margin: 12px 0;
}

.aeReviewDetail .submitRow {
    margin-top: 12px;
}

.aeReviewDetail button {
    white-space: normal;
}

.aeRegionalDetail .inner {
    min-width: 0;
    box-sizing: border-box;
}

.aeRegionalDetail .pageHeader {
    flex-wrap: wrap;
    gap: 18px;
}

.aeRegionalDetail .pageHeader > div {
    min-width: 0;
}

.aeRegionalDetail .tabList {
    display: inline-flex;
    flex-wrap: wrap;
}

.aeRegionalDetail .tabButton {
    border: 0;
    background: transparent;
    font: inherit;
}

.aeReviewDetail a:focus-visible,
.aeReviewDetail button:focus-visible {
    outline: 2px solid #223645;
    outline-offset: 3px;
}

.aeRegionalDetail .tabPanel[hidden] {
    display: none;
}

@media (max-width: 1000px) {
    .aeReviewDetail .aeReviewDecisions {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .aeRegionalDetail .aeReviewSummaries {
        grid-template-columns: 1fr;
    }

    .aeRegionalDetail .inner {
        padding-left: 12px;
        padding-right: 12px;
    }

    .aeRegionalDetail .padWide {
        padding: 16px;
    }
}

/* ==========================================================
   AWARDS EVENTS
   ========================================================== */

.awardsEventPresentation .heroMainColumn,
.awardsEventPresentation .heroSideColumn,
.awardsEventPresentation .cardHead > * {
    min-width: 0;
}

.awardsEventPresentation .cardHead {
    flex-wrap: wrap;
}

.awardsEventPresentation img {
    max-width: 100%;
    object-fit: contain;
}

.awardsEventPresentation .awardsEventSponsors img {
    width: 112px;
    height: auto;
}

.awardsEventPresentation .awardsCategorySponsor {
    margin-left: auto;
    max-width: 300px;
}

.awardsEventPresentation .awardsCategorySponsor img {
    width: 72px;
    height: auto;
}

.awardsEventPresentation .awardsSponsorCompact {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: center;
}

.awardsEventPresentation .awardsSponsorCompact a {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.awardsEventPresentation .awardsSponsorCompact ul {
    margin: 0;
}

.awardsEventPresentation a:focus-visible {
    outline: 3px solid currentColor;
    outline-offset: 3px;
}

.awardsEventPresentation .blockButton {
    white-space: normal;
}

.awardsEventPresentation {
    overflow-wrap: anywhere;
}

@media (max-width: 760px) {
    .awardsEventPresentation > .columnContainer.topAlign,
    .awardsEventPresentation .awardsEventSponsors .columnContainer.topAlign,
    .awardsEventPresentation .awardsCategorySponsor .columnContainer.topAlign {
        flex-direction: column;
    }

    .awardsEventPresentation > .columnContainer.topAlign > .heroMainColumn,
    .awardsEventPresentation > .columnContainer.topAlign > .heroSideColumn {
        width: 100%;
        flex-basis: auto;
    }

    .awardsEventPresentation .pageHeader {
        flex-wrap: wrap;
        gap: 12px;
    }

    .awardsEventPresentation .awardsCategorySponsor {
        max-width: 100%;
    }
}
/* cmsms stylesheet: footer modified: 11/13/26 17:18:50 */
/* ==========================================================
   FOOTER — every page
   Load after fullScreenMaster (it uses .mainPadded and .textInput).
   ========================================================== */

.siteFooter {
	background-image: linear-gradient(135deg, #111111, #292929);
	color: #fdf7c5;
}

/* Newsletter strip */

.footerSubscribe {
	background-image: linear-gradient(135deg, #cba245, #b78b1e 45%, #b78b1e);
}

.footerSubscribeInner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px 32px;
	padding-top: 30px;
	padding-bottom: 30px;
}

.footerSubscribeText h2 {
	margin: 0px;
	font-size: 156%;
	color: #111111;
}

.footerSubscribeText p {
	margin: 4px 0px 0px 0px;
	font-size: 113%;
	font-weight: 600;
	color: #111111;
}

/* MailerLite form: #mlb2-48510599 wrapper holds the form and the success message */

.footerSubscribeForm {
	flex: 0 1 480px;
	min-width: 0px;
}

.footerSubscribeRow {
	display: flex;
	gap: 10px;
}

.footerEmailGroup {
	flex: 1;
	min-width: 0px;
}

.footerSubscribe .footerEmail {
	border-color: rgba(17, 17, 17, 0.35);
}

.footerRecaptcha {
	margin-top: 12px;
}

/* MailerLite adds .ml-error to a field group that fails validation */

.footerSubscribe .ml-error .footerEmail {
	border-color: #a33b3b;
	box-shadow: 0px 0px 0px 3px #f7e5e5;
}

.footerSubscribe .footerRecaptcha.ml-error iframe {
	outline: 2px solid #a33b3b;
	border-radius: 3px;
}

.footerSubscribeSuccess p {
	margin: 0px;
	font-size: 113%;
	font-weight: 600;
	color: #111111;
}

.footerSubscribe .footerSubscribeButton,
.footerSubscribe button.footerSubscribeButton {
	background-color: #111111;
	color: #fdf7c5;
}

.footerSubscribe .footerSubscribeButton:hover {
	background-color: #292929;
	color: #ffffff;
}

.footerSubscribeButton {
	flex: none;
	padding: 13px 24px;
	font-size: 103%;
}

/* Loading button, shown by MailerLite while the signup is sending */

.footerSubscribeButton.loading {
	min-width: 115px;
	cursor: default;
}

.footerSubscribeSpinner {
	display: block;
	width: 14px;
	height: 14px;
	border: 3px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: footerSubscribeSpin 1s linear infinite;
}

@keyframes footerSubscribeSpin {
	to {
		transform: rotate(360deg);
	}
}

/* Logo, links and social */

.footerMain {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 24px 40px;
	padding-top: 36px;
	padding-bottom: 32px;
	border-bottom: 1px solid rgba(183, 139, 30, 0.2);
}

.footerLogo img {
	display: block;
	width: 96px;
	height: 96px;
}

.footerLinks {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 28px;
}

.footerLinks a,
.footerLinks a:link,
.footerLinks a:visited {
	color: #fdf7c5;
	font-weight: 600;
}

.footerLinks a:hover {
	color: #b78b1e;
}

.footerLinks a:focus-visible,
.footerLogo:focus-visible {
	outline: 2px solid #b78b1e;
	outline-offset: 3px;
	border-radius: 3px;
}

.siteFooter .navSocial {
	margin-top: 0px;
	gap: 10px;
}

.siteFooter .navSocialLink {
	width: 38px;
	height: 38px;
	font-size: 113%;
}

/* Copyright */

.footerBase {
	padding-top: 18px;
	padding-bottom: 22px;
	text-align: center;
}

.footerBase p {
	margin: 0px;
	font-size: 90%;
	color: rgba(253, 247, 197, 0.7);
}


/* ==========================================================
   BREAKPOINTS
   ========================================================== */

@media (max-width: 1024px) {
	.footerMain {
		grid-template-columns: minmax(0, 1fr);
		justify-items: center;
		text-align: center;
	}

	.siteFooter .navSocial {
		justify-content: center;
	}
}

@media (max-width: 740px) {
	.footerSubscribeInner {
		flex-direction: column;
		align-items: stretch;
		text-align: center;
	}

	.footerSubscribeForm {
		flex: none;
	}

	.footerSubscribeRow {
		flex-direction: column;
	}

	.footerRecaptcha {
		display: flex;
		justify-content: center;
	}

	.footerLinks {
		gap: 10px 20px;
	}
}

@media (max-width: 400px) {
	.footerRecaptcha .g-recaptcha {
		transform: scale(0.88);
		transform-origin: center top;
	}
}

/* ==========================================================
   COOKIE BANNER — floating card, bottom left
   ========================================================== */

.consentPanel {
	position: fixed;
	left: 24px;
	bottom: 24px;
	z-index: 900;
	width: min(420px, calc(100vw - 48px));
	overflow: hidden;
	padding: 24px 26px 22px 26px;
	border-top: 4px solid #b78b1e;
	border-radius: 12px;
	background-image: linear-gradient(135deg, #111111, #292929);
	color: #fdf7c5;
	box-shadow: 0px 18px 44px rgba(17, 17, 17, 0.45);
}

.consentPanel[hidden] {
	display: none;
}

.consentPanelStar {
	position: absolute;
	right: -14px;
	top: -26px;
	font-size: 700%;
	line-height: 100%;
	color: #b78b1e;
	opacity: 0.15;
	pointer-events: none;
}

.consentPanelTitle {
	position: relative;
	margin: 0px 0px 8px 0px;
	color: #ffffff;
	font-size: 125%;
}

.consentPanelText {
	position: relative;
	margin: 0px 0px 18px 0px;
	font-size: 94%;
	line-height: 155%;
}

.consentPanelText a,
.consentPanelText a:visited {
	color: #b78b1e;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.consentPanelText a:hover {
	color: #ffffff;
}

.consentPanelButtons {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.consentPanelButton {
	padding: 12px 14px;
	border-radius: 8px;
	font: inherit;
	font-size: 94%;
	font-weight: 700;
	cursor: pointer;
	transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}

.consentAccept {
	border: 1px solid #b78b1e;
	background-color: #b78b1e;
	color: #ffffff;
}

.consentAccept:hover {
	border-color: #fdf7c5;
	background-color: #fdf7c5;
	color: #111111;
}

.consentReject {
	border: 1px solid rgba(253, 247, 197, 0.6);
	background-color: transparent;
	color: #ffffff;
}

.consentReject:hover {
	border-color: #ffffff;
	background-color: rgba(255, 255, 255, 0.1);
}

.consentPanelButton:focus-visible,
.consentPanelText a:focus-visible {
	outline: 2px solid #fdf7c5;
	outline-offset: 2px;
}

@media (max-width: 740px) {
	.consentPanel {
		left: 12px;
		right: 12px;
		bottom: 12px;
		width: auto;
		padding: 20px 20px 18px 20px;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.consentPanel:not([hidden]) {
		animation: consentPanelIn 0.4s ease-out;
	}

	@keyframes consentPanelIn {
		from {
			opacity: 0;
			transform: translateY(16px);
		}
		to {
			opacity: 1;
			transform: translateY(0px);
		}
	}
}
/* cmsms stylesheet: brochure modified: 11/13/26 17:18:50 */
/* Entries countdown in the hero (homepage content swaps it for the
   Explore button at 8am on 18 November 2026) */

.homeHeroCountdown {
	margin: 26px 0px 0px 0px;
	font-size: 138%;
	line-height: 140%;
	font-weight: 600;
	color: #111111;
}

.homeHeroCountdownTime {
	display: block;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
}

.homeCountdownButton[hidden] {
	display: none;
}

/* Explore button in the "Why should I enter?" split */

.homeSplitText .homeSplitButton {
	margin-top: 24px;
}

/* Slim gala banner under the homepage hero */

.homeGalaBanner {
	padding: 14px 24px;
	border-radius: 12px;
	background-image: linear-gradient(135deg, #111111, #292929);
	color: #fdf7c5;
	text-align: center;
}

.homeGalaBanner p {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 4px 0px;
	margin: 0px;
	line-height: 150%;
}

.homeGalaBannerTitle {
	font-weight: 700;
	color: #ffffff;
}

.homeGalaBannerStar {
	color: #b78b1e;
}

.homeGalaBannerItem::before {
	content: "\00B7";
	margin: 0px 12px;
	font-weight: 700;
	color: #b78b1e;
}

.homeGalaBannerNote {
	font-weight: 600;
	color: #b78b1e;
}

/* Replaces the gala block buttons until tickets go on sale */

.homeGalaNote {
	max-width: 640px;
	margin: 26px auto 0px auto;
	font-size: 113%;
	font-weight: 700;
	color: #b78b1e;
}

/* ==========================================================
   BROCHURE PAGES — public marketing pages (home, about, winners)
   Load after the layout stylesheets and before menu.css
   ========================================================== */

/* Shared section pieces */

.brochureSection {
	margin: 0px 0px 30px 0px;
}

.homeSectionHead {
	max-width: 760px;
	margin-bottom: 22px;
}

.homeSectionTitle {
	font-size: 194%;
	line-height: 115%;
	margin: 0px 0px 14px 0px;
}

.homeSectionHead .homeSectionTitle {
	margin-bottom: 0px;
}

.homeButtonRow {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 26px;
}

.homeButtonRow .blockButton {
	padding: 14px 24px;
	font-size: 103%;
}

.homeGhostButton,
a.homeGhostButton:link,
a.homeGhostButton:visited {
	background-color: transparent;
	color: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.55);
}

a.homeGhostButton:hover {
	background-color: rgba(255, 255, 255, 0.12);
	color: #ffffff;
}

/* Hero — gold with purple type */

.homeHero {
	position: relative;
	overflow: hidden;
	border-radius: 12px;
	padding: 52px;
	background-image: linear-gradient(135deg, #a7a4a9, #89858b 55%, #7c787e);
	color: #292929;
}

.homeHero .featureStar {
	right: -40px;
	top: -70px;
	font-size: 1400%;
	color: #ffffff;
	opacity: 0.3;
}

.homeHero .featureKicker {
	color: #111111;
}

.homeHeroGrid {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	gap: 44px;
	align-items: center;
}

.homeHeroTitle {
	color: #111111;
	font-size: 363%;
	line-height: 100%;
	letter-spacing: -0.02em;
	margin: 12px 0px 18px 0px;
}

.homeHeroLead {
	font-size: 138%;
	line-height: 140%;
	font-weight: 600;
	color: #111111;
	margin-bottom: 18px;
}

.homeHeroText p {
	max-width: 620px;
}

.homeHeroBadge {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 8px 16px;
	border: 1px solid rgba(17, 17, 17, 0.3);
	border-radius: 30px;
	background-color: rgba(255, 255, 255, 0.35);
	color: #111111;
	font-size: 97%;
	font-weight: 600;
	margin: 4px 0px 0px 0px;
}

.homeHeroBadge span {
	color: #111111;
}

.homeHero .homeGhostButton,
.homeHero a.homeGhostButton:link,
.homeHero a.homeGhostButton:visited {
	color: #111111;
	border-color: rgba(17, 17, 17, 0.55);
}

.homeHero a.homeGhostButton:hover {
	background-color: rgba(17, 17, 17, 0.1);
	color: #111111;
}

.homeHeroImage {
	margin: 0px;
}

.homeHeroImage img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border: 4px solid #111111;
	border-radius: 10px;
	box-shadow: 0px 18px 40px rgba(17, 17, 17, 0.35);
	transform: rotate(1.5deg);
}

/* Hero slideshow (see hero slideshow script in sitejs.js) */

.heroSlides {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border: 4px solid #111111;
	border-radius: 10px;
	background-color: #111111;
	box-shadow: 0px 18px 40px rgba(17, 17, 17, 0.35);
	transform: rotate(1.5deg);
}

.heroSlides img {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	object-fit: cover;
	border: 0px;
	border-radius: 0px;
	box-shadow: none;
	transform: none;
	opacity: 0;
	transition: opacity 1s ease;
}

.heroSlides img.slideActive {
	opacity: 1;
}

.heroSlidesPause {
	position: absolute;
	right: 12px;
	bottom: 12px;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0px;
	border: 0px;
	border-radius: 50%;
	background-color: rgba(17, 17, 17, 0.6);
	color: #ffffff;
	cursor: pointer;
	transition: background-color 0.3s;
}

.heroSlidesPause:hover {
	background-color: #b78b1e;
}

.heroSlidesPause:focus-visible {
	outline: 2px solid #b78b1e;
	outline-offset: 2px;
}

.heroSlidesPause span {
	display: block;
	width: 10px;
	height: 12px;
	border-left: 3px solid currentColor;
	border-right: 3px solid currentColor;
}

.heroSlidesPause.isPaused span {
	width: 0px;
	height: 0px;
	margin-left: 3px;
	border-left: 10px solid currentColor;
	border-right: 0px;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
}

@media (prefers-reduced-motion: reduce) {
	.heroSlides img {
		transition: none;
	}
}

/* Countdown — black and gold band */

.homeCountdown {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-top: 40px;
	padding: 18px 24px;
	border-radius: 10px;
	background-image: linear-gradient(135deg, #111111, #292929);
}

.homeCountdownLabel {
	margin: 0px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #b78b1e;
}

.homeCountdownClock {
	display: flex;
	gap: 12px;
}

.homeCountdownClock span {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 76px;
	padding: 8px 10px;
	border: 1px solid rgba(183, 139, 30, 0.3);
	border-radius: 8px;
	background-color: rgba(255, 255, 255, 0.06);
	color: #fdf7c5;
	font-size: 81%;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.homeCountdownClock b {
	font-size: 213%;
	line-height: 110%;
	font-weight: 700;
	letter-spacing: 0em;
	color: #ffffff;
}

/* Key facts */

.homeFacts {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.homeFact {
	background-color: #ffffff;
	border: 1px solid #e4e2e5;
	border-top: 4px solid #b78b1e;
	border-radius: 9px;
	padding: 20px 22px;
}

.homeFactIcon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background-color: #fdf7c5;
	color: #223645;
	margin-bottom: 12px;
}

.homeFactTitle {
	font-size: 113%;
	font-weight: 700;
	margin: 0px 0px 4px 0px;
}

.homeFactText {
	margin: 0px;
	font-size: 97%;
	line-height: 150%;
	color: #67636a;
}

/* Text and photo split */

.homeSplit {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 44px;
	align-items: center;
	background-color: #ffffff;
	border: 1px solid #e4e2e5;
	border-radius: 12px;
	padding: 44px;
}

.homeSplitText p {
	font-size: 106%;
	line-height: 170%;
}

.homeSplitText p:last-child {
	margin-bottom: 0px;
}

.homeSplitText .homeIntroLead {
	font-size: 122%;
	line-height: 155%;
	font-weight: 600;
	color: #223645;
}

.homeMosaic {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
	grid-template-rows: repeat(2, 200px);
	gap: 12px;
}

.homeMosaic img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 9px;
}

.homeMosaic img:first-child {
	grid-row: 1 / 3;
}

/* Benefits */

.homeBenefitGrid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.homeBenefitIntro {
	margin: 0px;
	font-size: 113%;
	line-height: 165%;
	color: #292929;
}

.homeBenefit {
	background-color: #ffffff;
	border: 1px solid #e4e2e5;
	border-radius: 12px;
	padding: 28px;
}

.homeBenefitNumber {
	display: block;
	font-size: 250%;
	font-weight: 700;
	line-height: 100%;
	color: #b78b1e;
	margin-bottom: 14px;
}

.homeBenefit h3 {
	color: #111111;
}

.homeBenefit p {
	line-height: 165%;
	color: #292929;
}

.homeBenefit p:last-child {
	margin-bottom: 0px;
}

.homeBenefit .homeBenefitNote {
	background-color: #fdf7c5;
	color: #223645;
	border-radius: 8px;
	padding: 12px 14px;
	font-size: 97%;
	font-weight: 600;
	line-height: 150%;
}

/* Headline sponsor */

.homeSponsor {
	display: flex;
	align-items: center;
	gap: 36px;
	padding: 36px 44px;
	border-radius: 12px;
	background-image: linear-gradient(135deg, #111111, #292929);
	color: #fdf7c5;
}

.homeSponsorLogo {
	flex: none;
	width: 150px;
	padding: 12px;
	border-radius: 12px;
	background-color: #ffffff;
}

.homeSponsorLogo img {
	display: block;
	width: 100%;
	height: auto;
}

.homeSponsorText h2 {
	color: #ffffff;
	font-size: 175%;
	margin: 6px 0px 8px 0px;
}

.homeSponsorText p:last-child {
	margin-bottom: 0px;
}

.homeSponsorLink {
	margin-left: auto;
	flex: none;
}

/* Who can enter and the process */

.homeEnterGrid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-bottom: 30px;
}

.homeEnterCard {
	padding: 28px;
	border-left: 4px solid #b78b1e;
}

.homeEnterCard p:last-child {
	margin-bottom: 0px;
}

.homeStepsTitle {
	margin-bottom: 14px;
}

.homeSteps {
	list-style: none;
	margin: 0px;
	padding: 0px;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.homeSteps li {
	background-color: #ffffff;
	border: 1px solid #e4e2e5;
	border-radius: 12px;
	padding: 24px 22px;
}

.homeStepNumber {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: #111111;
	color: #ffffff;
	font-weight: 700;
	margin-bottom: 14px;
}

.homeSteps li:last-child .homeStepNumber {
	background-color: #b78b1e;
	color: #ffffff;
}

.homeSteps p {
	margin: 0px;
	font-size: 97%;
	line-height: 155%;
	color: #292929;
}

/* Gallery (rotating — see gallery script in sitejs.js) */

.homeGalleryHead {
	max-width: none;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}

.homeGalleryPause {
	flex: none;
}

.homeGalleryGrid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: 220px;
	gap: 12px;
}

.homeGalleryItem {
	position: relative;
	margin: 0px;
	border-radius: 10px;
	overflow: hidden;
	background-color: #e4e2e5;
	transition: transform 0.7s ease, opacity 0.4s ease;
}

.homeGalleryItem:first-child {
	grid-column: span 2;
	grid-row: span 2;
}

.homeGalleryItem:nth-child(n+6) {
	display: none;
}

.homeGalleryItem.galleryLeaving {
	opacity: 0;
}

.homeGalleryItem.galleryEntering {
	opacity: 0;
	transition: none;
}

.homeGalleryItem img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s;
}

.homeGalleryItem:hover img {
	transform: scale(1.04);
}

.homeGalleryItem figcaption {
	position: absolute;
	left: 0px;
	right: 0px;
	bottom: 0px;
	padding: 30px 14px 12px 14px;
	background-image: linear-gradient(rgba(17, 17, 17, 0), rgba(17, 17, 17, 0.78));
	color: #ffffff;
	font-size: 90%;
	font-weight: 600;
	line-height: 130%;
}

@media (prefers-reduced-motion: reduce) {
	.homeGalleryItem {
		transition: none;
	}
}

/* Gala night call to action */

.homeGala {
	position: relative;
	overflow: hidden;
	border-radius: 12px;
	padding: 56px 52px;
	background-image: linear-gradient(135deg, #111111, #292929);
	color: #fdf7c5;
	text-align: center;
}

.homeGala .featureStar {
	top: auto;
	right: auto;
	left: -40px;
	bottom: -90px;
	font-size: 1200%;
}

.homeGalaInner {
	position: relative;
}

.homeGala h2 {
	color: #ffffff;
	font-size: 263%;
	line-height: 110%;
	margin: 12px 0px 16px 0px;
}

.homeGala h2 span {
	display: block;
	color: #b78b1e;
}

.homeGalaLead {
	max-width: 640px;
	margin: 0px auto 26px auto;
	font-size: 113%;
	line-height: 160%;
}

.homeGalaDetails {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
	margin: 0px;
	padding: 0px;
}

.homeGalaDetails div {
	min-width: 200px;
	padding: 14px 20px;
	border: 1px solid rgba(183, 139, 30, 0.35);
	border-radius: 10px;
	background-color: rgba(255, 255, 255, 0.04);
}

.homeGalaDetails dt {
	font-size: 81%;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #b78b1e;
}

.homeGalaDetails dd {
	margin: 4px 0px 0px 0px;
	color: #ffffff;
	font-weight: 600;
}

.homeGala .homeButtonRow {
	justify-content: center;
}


/* ==========================================================
   ABOUT PAGE
   ========================================================== */

/* Compact page hero (reuses the gold homeHero) */

.pageHero {
	padding: 40px 44px;
}

.pageHero .homeHeroTitle {
	font-size: 288%;
}

.pageHero .homeHeroImage img {
	aspect-ratio: 3 / 2;
}

.pageHero .featureStar {
	font-size: 1000%;
	top: -50px;
}

/* FAQ */

.aboutFaq {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 44px;
	align-items: start;
	background-color: #ffffff;
	border: 1px solid #e4e2e5;
	border-radius: 12px;
	padding: 44px;
}

.aboutFaqMain .homeSectionTitle {
	margin-bottom: 22px;
}

.aboutFaqItem {
	border: 1px solid #e2e0e3;
	border-radius: 10px;
	margin-bottom: 12px;
	overflow: hidden;
}

.aboutFaqItem:last-child {
	margin-bottom: 0px;
}

.aboutFaqItem summary {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 18px 22px;
	cursor: pointer;
	list-style: none;
	background-color: #111111;
	color: #ffffff;
	font-size: 110%;
	font-weight: 700;
	transition: background-color 0.3s;
}

.aboutFaqItem summary::-webkit-details-marker {
	display: none;
}

.aboutFaqItem summary::after {
	content: "";
	margin-left: auto;
	flex-shrink: 0;
	width: 8px;
	height: 8px;
	border-right: 2px solid #b78b1e;
	border-bottom: 2px solid #b78b1e;
	transform: rotate(45deg);
	transition: transform 0.3s;
}

.aboutFaqItem[open] summary::after {
	transform: rotate(-135deg);
}

.aboutFaqItem summary:hover,
.aboutFaqItem[open] summary {
	background-color: #292929;
}

.aboutFaqItem summary:focus-visible {
	outline: 2px solid #b78b1e;
	outline-offset: -4px;
}

.aboutFaqBody {
	padding: 20px 22px 22px 22px;
	background-color: #ffffff;
	line-height: 165%;
	color: #292929;
}

.aboutFaqBody p:last-child {
	margin-bottom: 0px;
}

.aboutFaqBody ul {
	margin: 0px 0px 20px 0px;
	padding: 0px 0px 0px 22px;
}

.aboutFaqBody li {
	margin-bottom: 6px;
}

.aboutFaqBody li::marker {
	color: #b78b1e;
}

.aboutFaqAside {
	position: sticky;
	top: 26px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.aboutFaqAside img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	border: 4px solid #b78b1e;
	border-radius: 12px;
}


/* ==========================================================
   WINNERS PAGE
   ========================================================== */

.winnersGrid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.winnersCategory {
	background-color: #ffffff;
	border: 1px solid #e4e2e5;
	border-radius: 12px;
	padding: 26px 28px 28px 28px;
}

.winnersCategoryWide {
	grid-column: 1 / -1;
}

.winnersCategoryTitle {
	margin: 0px 0px 16px 0px;
	font-size: 138%;
	line-height: 120%;
	text-align: center;
}

.winnersGold {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}

.winnersGold .winnerCard {
	flex: 0 1 300px;
}

.winnersSilver,
.winnersSpecial {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.winnersSilver {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid #ebeaec;
}

.winnersSpecial {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

/* Cards */

.winnerCard {
	border-radius: 9px;
	text-align: center;
}

.winnerCardBody {
	padding: 14px 16px;
}

.winnerLabel {
	display: block;
	margin-bottom: 3px;
	font-size: 76%;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.winnerName {
	margin: 0px;
	font-weight: 700;
	line-height: 135%;
	overflow-wrap: anywhere;
}

.winnerGold {
	background-image: linear-gradient(135deg, #cba245, #b78b1e 55%, #a37b18);
	color: #111111;
	box-shadow: 0px 8px 20px rgba(183, 139, 30, 0.3);
}

.winnerGold .winnerLabel {
	color: #111111;
}

.winnerGold .winnerName {
	font-size: 113%;
}

.winnerSilver {
	display: flex;
	align-items: center;
	justify-content: center;
	background-image: linear-gradient(135deg, #F7F7F8, #E3E4E8);
	border: 1px solid #D6D8DE;
	color: #292929;
}

.winnerSilver .winnerCardBody {
	padding: 10px 12px;
}

.winnerSilver .winnerLabel {
	color: #6E717A;
}

.winnerSilver .winnerName {
	font-size: 94%;
}

.winnerSpecial {
	background-image: linear-gradient(135deg, #111111, #292929);
	color: #ffffff;
}

.winnerSpecial .winnerLabel {
	color: #b78b1e;
	font-size: 90%;
	letter-spacing: 0.04em;
}


/* ==========================================================
   SPONSORSHIP PAGE
   ========================================================== */

.sponsorPanel {
	background-color: #ffffff;
	border: 1px solid #e4e2e5;
	border-radius: 12px;
	padding: 44px;
}

.sponsorPoints {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin: 6px 0px 30px 0px;
	padding: 0px;
	list-style: none;
}

.sponsorPoints li {
	position: relative;
	padding: 18px 20px 18px 52px;
	border: 1px solid #e4e2e5;
	border-left: 4px solid #b78b1e;
	border-radius: 10px;
	background-color: #fafafa;
	font-weight: 600;
	line-height: 150%;
	color: #292929;
}

.sponsorPoints li::before {
	content: "\2605";
	position: absolute;
	left: 18px;
	top: 17px;
	color: #b78b1e;
	font-size: 113%;
}

.sponsorPanelText {
	max-width: 900px;
}

.sponsorPanelText p {
	font-size: 106%;
	line-height: 170%;
}

.sponsorPanelText p:last-child {
	margin-bottom: 0px;
}

.sponsorPanelText .homeIntroLead {
	font-size: 122%;
	line-height: 155%;
	font-weight: 600;
	color: #223645;
}

/* Packages */

.sponsorPackages {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.sponsorPackage {
	display: flex;
	flex-direction: column;
	border-radius: 12px;
	padding: 28px 24px;
}

.sponsorPackageName {
	margin: 0px 0px 6px 0px;
	font-size: 125%;
	color: inherit;
}

.sponsorPackagePrice {
	margin: 0px 0px 18px 0px;
	padding-bottom: 18px;
	border-bottom: 1px solid rgba(17, 17, 17, 0.15);
	font-size: 213%;
	font-weight: 700;
	line-height: 110%;
}

.sponsorPackagePrice span {
	font-size: 42%;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	vertical-align: middle;
}

.sponsorPackageList {
	margin: 0px;
	padding: 0px;
	list-style: none;
}

.sponsorPackageList li {
	position: relative;
	padding: 7px 0px 7px 24px;
	font-size: 97%;
	line-height: 150%;
}

.sponsorPackageList li::before {
	content: "\2713";
	position: absolute;
	left: 0px;
	top: 7px;
	font-weight: 700;
}

.sponsorGold {
	background-image: linear-gradient(135deg, #cba245, #b78b1e 55%, #a37b18);
	color: #111111;
	box-shadow: 0px 10px 26px rgba(183, 139, 30, 0.35);
}

.sponsorGold .sponsorPackageList li::before {
	color: #111111;
}

.sponsorSilver {
	background-image: linear-gradient(135deg, #F7F7F8, #DADCE1);
	border: 1px solid #D6D8DE;
	color: #292929;
}

.sponsorSilver .sponsorPackageList li::before {
	color: #6E717A;
}

.sponsorBronze {
	background-image: linear-gradient(135deg, #EDC59A, #D79A62 50%, #B97A45);
	color: #2B1A0C;
}

.sponsorBronze .sponsorPackagePrice {
	border-bottom-color: rgba(43, 26, 12, 0.2);
}

.sponsorBronze .sponsorPackageList li::before {
	color: #5A3418;
}

.sponsorProgramme {
	background-color: #ffffff;
	border: 1px solid #e4e2e5;
	border-top: 4px solid #111111;
	color: #292929;
}

.sponsorProgramme .sponsorPackageName {
	color: #111111;
}

.sponsorProgramme .sponsorPackagePrice {
	border-bottom-color: #ebeaec;
}

.sponsorProgramme .sponsorPackageList li::before {
	color: #b78b1e;
}

/* Contact band */

.sponsorContact {
	position: relative;
	overflow: hidden;
	border-radius: 12px;
	padding: 40px 52px;
	background-image: linear-gradient(135deg, #111111, #292929);
	color: #fdf7c5;
	text-align: center;
}

.sponsorContact .featureStar {
	top: auto;
	right: auto;
	left: -40px;
	bottom: -90px;
	font-size: 1000%;
}

.sponsorContact p {
	position: relative;
	max-width: 760px;
	margin: 0px auto;
	font-size: 122%;
	line-height: 160%;
	font-weight: 600;
}

.sponsorContactLink,
a.sponsorContactLink:link,
a.sponsorContactLink:visited {
	display: inline-block;
	color: #b78b1e;
	font-weight: 700;
	overflow-wrap: anywhere;
}

a.sponsorContactLink:hover {
	color: #ffffff;
}


/* ==========================================================
   JUDGES PAGE (pop-up handled by the judges script in sitejs.js)
   ========================================================== */

.judgesGrid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 220px));
	justify-content: center;
	gap: 16px;
}

.judgeOpen {
	display: block;
	width: 100%;
	padding: 0px;
	border: 1px solid #e4e2e5;
	border-radius: 12px;
	overflow: hidden;
	background-color: #ffffff;
	color: inherit;
	font: inherit;
	text-align: center;
	cursor: pointer;
	transition: transform 0.3s, box-shadow 0.3s;
}

.judgeCard {
	display: flex;
}

.judgeCard .judgeOpen {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.judgeCard .judgeName {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.judgeOpen:hover {
	transform: translateY(-4px);
	box-shadow: 0px 14px 30px rgba(17, 17, 17, 0.15);
}

.judgeOpen:focus-visible {
	outline: 3px solid #223645;
	outline-offset: 3px;
}

.judgePhoto {
	display: block;
	overflow: hidden;
	background-color: #e4e2e5;
}

.judgePhoto img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	transition: transform 0.5s;
}

.judgeOpen:hover .judgePhoto img {
	transform: scale(1.04);
}

.judgeName {
	display: block;
	padding: 12px 10px 14px 10px;
	border-top: 4px solid #b78b1e;
	font-size: 103%;
	font-weight: 700;
	color: #111111;
}

/* Pop-up */

.judgeDialog {
	width: min(940px, calc(100% - 40px));
	max-width: none;
	max-height: calc(100vh - 60px);
	padding: 0px;
	border: 0px;
	border-radius: 14px;
	overflow: hidden;
	background-color: #ffffff;
	color: #292929;
	box-shadow: 0px 24px 60px rgba(17, 17, 17, 0.35);
}

.judgeDialog::backdrop {
	background-color: rgba(17, 17, 17, 0.65);
}

body:has(.judgeDialog[open]) {
	overflow: hidden;
}

.judgeDialogInner {
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr);
	max-height: calc(100vh - 60px);
}

.judgeDialogMedia {
	padding: 24px;
	background-image: linear-gradient(135deg, #cba245, #b78b1e 55%, #a37b18);
}

.judgeDialogPhoto {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border: 4px solid #ffffff;
	border-radius: 10px;
	box-shadow: 0px 12px 28px rgba(17, 17, 17, 0.25);
}

.judgeDialogText {
	max-height: calc(100vh - 60px);
	padding: 40px 44px 40px 40px;
	overflow-y: auto;
	overscroll-behavior: contain;
}

.judgeDialogText h2 {
	margin: 0px 0px 18px 0px;
	padding-bottom: 14px;
	border-bottom: 3px solid #b78b1e;
	font-size: 194%;
	color: #111111;
}

.judgeDialogBio p {
	line-height: 170%;
}

.judgeDialogBio p:last-child {
	margin-bottom: 0px;
}

.judgeDialogBio a {
	color: #223645;
	font-weight: 600;
	text-decoration: underline;
}

.judgeDialogBio a:hover {
	color: #16242f;
}

.judgeDialogClose {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0px;
	border: 0px;
	border-radius: 50%;
	background-color: #111111;
	color: #ffffff;
	font-size: 156%;
	line-height: 100%;
	cursor: pointer;
	transition: background-color 0.3s;
}

.judgeDialogClose:hover {
	background-color: #b78b1e;
}

.judgeDialogClose:focus-visible {
	outline: 2px solid #b78b1e;
	outline-offset: 2px;
}


/* ==========================================================
   SPONSORS PAGE (event sponsor cards and pop-up reuse the judges styles and script)
   ========================================================== */

.sponsorHeadline,
.sponsorEvents {
	background-color: #ffffff;
	border: 1px solid #e4e2e5;
	border-radius: 12px;
	padding: 40px 44px 44px 44px;
}

.sponsorSectionTitle {
	margin: 0px 0px 26px 0px;
	font-size: 175%;
	text-align: center;
}

.sponsorHeadlineGrid {
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr);
	gap: 40px;
	align-items: start;
	max-width: 1100px;
	margin: 0px auto;
}

.sponsorHeadlineLogo {
	display: block;
	width: 100%;
	max-width: 300px;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background-color: #ffffff;
	border: 1px solid #e4e2e5;
	border-bottom: 4px solid #b78b1e;
	border-radius: 12px;
	box-shadow: 0px 10px 24px rgba(17, 17, 17, 0.08);
}

/* Event sponsor logos (350px square, always on white) */

.sponsorGrid .judgePhoto {
	background-color: #ffffff;
}

.sponsorGrid .judgePhoto img {
	object-fit: contain;
}

.sponsorGrid .judgeOpen:hover .judgePhoto img {
	transform: scale(1.03);
}

.sponsorGrid .judgeName {
	border-top: 1px solid #e4e2e5;
	box-shadow: inset 0px 3px 0px #b78b1e;
}

.sponsorDialog .judgeDialogMedia {
	background-image: none;
	background-color: #ffffff;
	border-right: 1px solid #e4e2e5;
}

.sponsorDialog .judgeDialogPhoto {
	object-fit: contain;
	border: 0px;
	border-radius: 0px;
	box-shadow: none;
}

.sponsorHeadlineText h3 {
	margin: 0px 0px 6px 0px;
	font-size: 175%;
	color: #111111;
}

.sponsorHeadlineText p {
	line-height: 170%;
}

.sponsorHeadlineText p:last-child {
	margin-bottom: 0px;
}

.sponsorWebsite a,
.sponsorWebsite a:link,
.sponsorWebsite a:visited {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #223645;
	font-weight: 700;
	text-decoration: none;
}

.sponsorWebsite a::after {
	content: "\2197";
	font-size: 90%;
}

.sponsorWebsite a:hover {
	color: #16242f;
	text-decoration: underline;
}

.judgeDialogBio ul {
	margin: 0px 0px 20px 0px;
	padding: 0px 0px 0px 22px;
	line-height: 165%;
}

.judgeDialogBio li {
	margin-bottom: 8px;
}

.judgeDialogBio li::marker {
	color: #b78b1e;
}


/* ==========================================================
   BREAKPOINTS
   ========================================================== */

/* Laptop */

@media (max-width: 1280px) {
	.homeGalaBannerNote {
		flex-basis: 100%;
	}

	.homeGalaBannerNote::before {
		display: none;
	}

	.homeHero {
		padding: 44px;
	}

	.homeHeroTitle {
		font-size: 313%;
	}

	.homeFacts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.homeSteps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sponsorPackages,
	.sponsorPoints {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Large tablet */

@media (max-width: 1024px) {
	.homeHeroGrid {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}

	.homeHeroText p {
		max-width: none;
	}

	.homeHeroImage {
		max-width: none;
	}

	.homeHeroImage img,
	.heroSlides {
		transform: none;
	}

	.homeSplit {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
		padding: 36px;
	}

	.homeSponsor {
		flex-wrap: wrap;
		padding: 32px 36px;
	}

	.homeSponsorLink {
		margin-left: 0px;
	}

	.homeGalleryGrid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-auto-rows: 200px;
	}

	.aboutFaq {
		grid-template-columns: minmax(0, 1fr);
		padding: 36px;
	}

	.sponsorPanel {
		padding: 36px;
	}

	.judgeDialogInner {
		grid-template-columns: 240px minmax(0, 1fr);
	}

	.sponsorHeadline,
	.sponsorEvents {
		padding: 32px 30px 36px 30px;
	}

	.sponsorHeadlineGrid {
		grid-template-columns: 220px minmax(0, 1fr);
		gap: 28px;
	}

	.aboutFaqAside {
		position: static;
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: start;
	}
}

/* Small tablet and phone */

@media (max-width: 740px) {
	.homeGalaBanner {
		padding: 14px 18px;
	}

	.homeGalaBannerTitle {
		flex-basis: 100%;
	}

	.homeGalaBannerTitle + .homeGalaBannerItem::before {
		display: none;
	}

	.brochureSection {
		margin-bottom: 22px;
	}

	.homeSectionTitle {
		font-size: 156%;
	}

	.homeHero {
		padding: 30px 22px;
	}

	.homeHeroTitle {
		font-size: 238%;
	}

	.homeHeroLead {
		font-size: 119%;
	}

	.homeCountdown {
		flex-direction: column;
		align-items: stretch;
		padding: 16px;
	}

	.homeCountdownClock span {
		flex: 1;
		min-width: 0px;
	}

	.homeFacts,
	.homeEnterGrid,
	.homeSteps,
	.homeBenefitGrid {
		grid-template-columns: minmax(0, 1fr);
	}

	.homeSplit {
		padding: 26px 22px;
	}

	.homeMosaic {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		grid-template-rows: auto;
	}

	.homeMosaic img {
		height: auto;
		aspect-ratio: 4 / 3;
	}

	.homeMosaic img:first-child {
		grid-row: auto;
		grid-column: 1 / 3;
	}

	.homeBenefit,
	.homeEnterCard {
		padding: 22px;
	}

	.homeSponsor {
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
		padding: 26px 22px;
	}

	.homeGalleryGrid {
		grid-auto-rows: 150px;
	}

	.homeGala {
		padding: 36px 22px;
	}

	.homeGala h2 {
		font-size: 194%;
	}

	.homeGalaDetails div {
		flex: 1 1 100%;
	}

	.homeButtonRow .blockButton {
		flex: 1 1 100%;
	}

	.pageHero {
		padding: 30px 22px;
	}

	.pageHero .homeHeroTitle {
		font-size: 213%;
	}

	.aboutFaq {
		padding: 26px 22px;
	}

	.aboutFaqItem summary {
		padding: 15px 16px;
		font-size: 103%;
	}

	.aboutFaqBody {
		padding: 16px 16px 18px 16px;
	}

	.aboutFaqAside {
		grid-template-columns: minmax(0, 1fr);
	}

	.aboutFaqAside img {
		aspect-ratio: 4 / 3;
	}

	.winnersGrid,
	.winnersSpecial {
		grid-template-columns: minmax(0, 1fr);
	}

	.winnersCategory {
		padding: 22px 18px 24px 18px;
	}

	.winnersGold .winnerCard {
		flex: 1 1 100%;
	}

	.sponsorPanel,
	.sponsorContact {
		padding: 26px 22px;
	}

	.sponsorPackages,
	.sponsorPoints {
		grid-template-columns: minmax(0, 1fr);
	}

	.sponsorContact p {
		font-size: 106%;
	}

	.judgesGrid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.judgeName {
		padding: 12px 10px 14px 10px;
		font-size: 97%;
	}

	.judgeDialog {
		width: calc(100% - 24px);
		max-height: calc(100vh - 24px);
	}

	.judgeDialogInner {
		display: block;
		max-height: calc(100vh - 24px);
		overflow-y: auto;
	}

	.judgeDialogMedia {
		padding: 16px;
	}

	.judgeDialogPhoto {
		max-width: 260px;
		margin: 0px auto;
	}

	.judgeDialogText {
		max-height: none;
		padding: 24px 20px 28px 20px;
		overflow-y: visible;
	}

	.judgeDialogText h2 {
		font-size: 150%;
		padding-right: 40px;
	}

	.sponsorHeadline,
	.sponsorEvents {
		padding: 24px 18px 26px 18px;
	}

	.sponsorSectionTitle {
		font-size: 138%;
		margin-bottom: 18px;
	}

	.sponsorHeadlineGrid {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}

	.sponsorHeadlineLogo {
		max-width: 240px;
		margin: 0px auto;
	}

	.sponsorDialog .judgeDialogMedia {
		border-right: 0px;
		border-bottom: 1px solid #e4e2e5;
	}
}

/* ==========================================================
   MEDIA HEROES
   Full-width video (home) or still image (interior pages)
   with a translucent content panel over the left-hand side.
   Paste at the very END of brochure.css.
   ========================================================== */

.mediaHero {
	position: relative;
	display: flex;
	align-items: center;
	min-height: clamp(500px, 68vh, 700px);
	margin: -26px -31px 30px -31px;	/* cancels .mainPadded so the media runs edge to edge */
	padding: 48px 31px;
	overflow: hidden;
	background-color: #111111;	/* shows until the video or image loads */
}

.mediaHeroStill {
	min-height: clamp(380px, 50vh, 500px);
}

/* Backdrop — the video or image layer */

.mediaHeroBackdrop {
	position: absolute;
	inset: 0px;
	overflow: hidden;
	container-type: size;
}

.mediaHeroBackdrop img {
	position: absolute;
	inset: 0px;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 70% 50%;	/* favours the right, where the panel doesn't cover */
}

/* Vimeo iframe scaled to cover the area like background-size: cover */

.mediaHeroBackdrop iframe {
	position: absolute;
	top: 50%;
	left: 50%;
	width: max(100cqw, 177.78cqh);
	height: max(56.25cqw, 100cqh);
	transform: translate(-50%, -50%);
	border: 0px;
	pointer-events: none;
}

/* Translucent content panel (keeps the homeHero star, fade and type) */

.mediaHero .heroPanel {
	position: relative;
	z-index: 1;
	width: min(100%, 600px);
	margin: 0px;
	padding: 34px 40px;
	background-image: linear-gradient(135deg, rgba(167, 164, 169, 0.84), rgba(137, 133, 139, 0.84) 55%, rgba(124, 120, 126, 0.84));
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	box-shadow: 0px 18px 40px rgba(17, 17, 17, 0.35);
}

.mediaHero .heroPanel .featureStar {
	right: -30px;
	top: -50px;
	font-size: 900%;
}

.mediaHero .heroPanel .homeHeroTitle {
	font-size: 288%;
	margin: 10px 0px 14px 0px;
}

.mediaHero .heroPanel .homeHeroLead {
	font-size: 119%;
	margin-bottom: 14px;
}

.mediaHero .heroPanel .homeHeroText p {
	max-width: none;
}

.mediaHero .heroPanel .homeButtonRow {
	margin-top: 20px;
}

/* Pause button sits bottom right of the video (reuses .heroSlidesPause) */

.mediaHero .mediaHeroPause {
	right: 20px;
	bottom: 20px;
}

@media (max-width: 480px) {
	.homeHeroCountdown {
		font-size: 119%;
	}

	.homeGalaBannerItem {
		flex-basis: 100%;
	}

	.homeGalaBannerItem::before {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mediaHeroBackdrop iframe,
	.mediaHero .mediaHeroPause {
		display: none;
	}
}

/* Laptop */

@media (max-width: 1280px) {
	.mediaHero .heroPanel {
		width: min(100%, 540px);
		padding: 30px 34px;
	}

	.mediaHero .heroPanel .homeHeroTitle {
		font-size: 250%;
	}
}

/* Small tablet and phone — media shows as a strip above the panel */

@media (max-width: 740px) {
	.mediaHero,
	.mediaHeroStill {
		display: block;
		min-height: 0px;
		padding: 200px 16px 16px 16px;
	}

	.mediaHero .heroPanel {
		width: 100%;
		padding: 26px 22px;
	}

	.mediaHero .heroPanel .homeHeroTitle {
		font-size: 213%;
	}

	.mediaHero .mediaHeroPause {
		top: 16px;
		right: 16px;
		bottom: auto;
	}
}

/* ==========================================================
   PODCAST PAGE
   ========================================================== */

.podcastQuestions {
	display: grid;
	gap: 10px;
	margin: 0px 0px 22px 0px;
	padding: 0px;
	list-style: none;
	counter-reset: podcastQuestion;
}

.podcastQuestions li {
	display: flex;
	align-items: center;
	gap: 12px;
	counter-increment: podcastQuestion;
	color: #111111;
	font-size: 106%;
	font-weight: 600;
}

.podcastQuestions li::before {
	content: counter(podcastQuestion);
	display: flex;
	flex: 0 0 32px;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background-color: #111111;
	color: #b78b1e;
	font-weight: 700;
}

.podcastPhoto {
	justify-self: center;
	width: 100%;
	max-width: 420px;
	margin: 0px;
}

.podcastPhoto img {
	display: block;
	width: 100%;
	height: auto;
	border: 4px solid #111111;
	border-radius: 10px;
	box-shadow: 0px 18px 40px rgba(17, 17, 17, 0.25);
	transform: rotate(1.5deg);
}

/* Episode band (reuses the black .homeGala band) */

.podcastLength {
	margin: 0px 0px 22px 0px;
	color: #fdf7c5;
	font-weight: 600;
}

.podcastPlayer {
	max-width: 760px;
	margin: 0px auto 36px auto;
	border-radius: 10px;
	overflow: hidden;
}

.podcastPlayer iframe {
	display: block;
	width: 100%;
	height: 90px;
	border: 0px;
}

.podcastCoversTitle {
	color: #ffffff;
	font-size: 150%;
	margin: 0px 0px 16px 0px;
}

.podcastTimestamps {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	max-width: 860px;
	margin: 0px auto;
	padding: 0px;
	list-style: none;
	text-align: left;
}

.podcastTimestamps li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 12px 16px;
	border: 1px solid rgba(183, 139, 30, 0.35);
	border-radius: 10px;
	background-color: rgba(255, 255, 255, 0.04);
	color: #ffffff;
	line-height: 145%;
}

.podcastTime {
	flex: 0 0 auto;
	min-width: 52px;
	padding: 2px 8px;
	border-radius: 6px;
	background-color: #b78b1e;
	color: #ffffff;
	font-size: 90%;
	font-weight: 700;
	text-align: center;
}

/* Want to hear more */

.podcastMore {
	padding: 44px;
	border: 1px solid #e4e2e5;
	border-radius: 12px;
	background-color: #ffffff;
	text-align: center;
}

.podcastMore .homeSectionTitle {
	margin: 0px;
}

.podcastMore .homeButtonRow {
	justify-content: center;
	margin-top: 18px;
}

@media (max-width: 1024px) {
	.podcastPhoto {
		max-width: 360px;
	}

	.podcastPhoto img {
		transform: none;
	}
}

@media (max-width: 740px) {
	.podcastTimestamps {
		grid-template-columns: minmax(0, 1fr);
	}

	.podcastMore {
		padding: 30px 22px;
	}
}


/* ==========================================================
   LEGAL PAGES — Terms and Conditions, Privacy Policy
   Paste at the very END of brochure.css
   ========================================================== */

.legalPage {
	padding: 44px 52px;
	border: 1px solid #e4e2e5;
	border-radius: 12px;
	background-color: #ffffff;
}



.legalPage h2 {
	margin: 34px 0px 12px 0px;
	padding-top: 24px;
	border-top: 1px solid #e4e2e5;
	color: #111111;
	font-size: 144%;
	line-height: 125%;
}

.legalPage h2:first-child {
	margin-top: 0px;
	padding-top: 0px;
	border-top: 0px;
}

.legalPage p,
.legalPage li {
	line-height: 170%;
}

.legalPage ol,
.legalPage ul {
	margin: 0px 0px 22px 0px;
	padding-left: 24px;
}

.legalPage li {
	margin-bottom: 8px;
	padding-left: 6px;
}

.legalPage li::marker {
	color: #b78b1e;
	font-weight: 700;
}

/* Text links only — buttons (.blockButton) keep their own styling */

.legalPage a:not(.blockButton),
.legalPage a:not(.blockButton):visited {
	color: #223645;
	text-decoration: underline;
	text-underline-offset: 2px;
	overflow-wrap: anywhere;
}

.legalPage a:not(.blockButton):hover {
	color: #b78b1e;
}

.legalUpdated {
	color: #67636a;
	font-size: 90%;
	font-weight: 600;
}

@media (max-width: 740px) {
	.legalPage {
		padding: 28px 22px;
	}

	.legalPage h2 {
		font-size: 125%;
	}
}
/* cmsms stylesheet: menu modified: 11/13/26 17:18:50 */
/* ==========================================================
   MENU — sidebar navigation, all screen sizes
   Load this stylesheet LAST, after every layout stylesheet.
   Brand palette: black #111111, charcoal #292929, gold #b78b1e,
   cream #fdf7c5, grey #89858b, navy #223645, white.
   ========================================================== */

/* Sidebar panel */

.sidebar {
	width: 273px;
	flex: none;
	background-color: #111111;
	border-left: 1px solid #292929;
	display: flex;
	flex-direction: column;
	padding: 24px 16px;
	gap: 3px;
}

.logoBlock {
	margin: 0px 30px 16px 30px;
}

.logoImg {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 5px;
}

.navFoot {
	margin-top: auto;
	padding: 13px 8px 4px 8px;
	border-top: 1px solid #292929;
}

/* Menu list resets */

.sidebar ul {
	margin: 0px;
	padding: 0px;
}

.sidebar li {
	margin: 0px;
	padding: 0px;
	list-style: none;
}

/* Menu items (links and toggle buttons) */

.navItem {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 14px;
	border-radius: 7px;
	color: #ffffff;
	font-size: 106%;
	cursor: pointer;
	transition: background-color 0.3s, color 0.3s;
}

.navItem:hover {
	background-color: #292929;
	color: #fdf7c5;
	text-decoration: none;
}

button.navItem {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	margin: 0px;
	border: 0px;
	background-color: transparent;
	font: inherit;
	font-size: 106%;
	line-height: inherit;
	text-align: left;
	color: #ffffff;
}

button.navItem:hover {
	background-color: #292929;
	color: #fdf7c5;
}

button.navItem:focus-visible,
a.navItem:focus-visible {
	outline: 2px solid #b78b1e;
	outline-offset: 2px;
}

/* Menu icons */

.navIcon {
	width: 1em;
	height: 1em;
	flex-shrink: 0;
	stroke: #b78b1e;
	fill: #111111;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.navItem:hover .navIcon {
	stroke: #b78b1e;
	fill: #292929;
}

/* Concertina submenus */

.subMenu {
	max-height: 0px;
	overflow: hidden;
	visibility: hidden;
	transition: max-height 0.3s ease, visibility 0s linear 0.3s;
}

.subMenu.subOpen {
	visibility: visible;
	transition: max-height 0.3s ease, visibility 0s linear 0s;
}

.subMenu .navItem {
	margin-left: 10px;
	color: #b78b1e;
	font-size: 97%;
}

.subMenu .navItem:hover {
	color: #fdf7c5;
}

button.navToggle::after {
	content: "";
	margin-left: auto;
	margin-right: 4px;
	width: 7px;
	height: 7px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.3s;
	flex-shrink: 0;
}

button.navToggle[aria-expanded="true"]::after {
	transform: rotate(-135deg);
}

/* Outlined item (Login) — gold border so it stands out from the
   other links; padding trimmed by 1px to allow for the border */

.navItem.navItemOutline {
	margin-top: 8px;
	padding: 9px 13px;
	border: 1px solid rgba(183, 139, 30, 0.6);
}

.navItem.navItemOutline:hover {
	border-color: #b78b1e;
}

/* Current page (class added by sitejs.js) — kept after the
   submenu rules so it wins over the submenu colours */

.navItem.activeNav,
.subMenu .navItem.activeNav,
.navItem.activeNav:hover {
	background-color: #b78b1e;
	color: #ffffff;
}

.navItem.activeNav .navIcon {
	stroke: #ffffff;
	fill: #b78b1e;
}

/* Count badges and section labels */

.navCount {
	margin-left: auto;
	background-color: #b78b1e;
	color: #ffffff;
	font-size: 81%;
	font-weight: 700;
	padding: 1px 9px;
	border-radius: 9px;
}

.navSectionLabel {
	font-size: 81%;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: #89858b;
	padding: 6px 14px 2px 14px;
}

/* Contact box (directly under the logo, above the menu) */

.navContact {
	margin: 0px 0px 18px 0px;
	padding: 14px 12px;
	border: 1px solid rgba(183, 139, 30, 0.4);
	border-radius: 10px;
	background-color: #292929;
	text-align: center;
}

.navContactIcon {
	width: 1em;
	height: 1em;
	flex-shrink: 0;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.navContactLink {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	padding: 4px 0px;
	color: #ffffff;
	font-size: 90%;
	line-height: 130%;
	overflow-wrap: anywhere;
}

.navContactLink .navContactIcon {
	width: 1em;
	height: 1em;
	color: #b78b1e;
}

.navContactLink:hover {
	color: #fdf7c5;
}

.navContactLink + .navContactLink {
	margin-top: 4px;
}

.navSocial {
	display: flex;
	justify-content: center;
	gap: 6px;
	margin-top: 10px;
}

.navSocialLink {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 25px;
	height: 25px;
	border: 1px solid rgba(183, 139, 30, 0.6);
	border-radius: 50%;
	color: #b78b1e;
	font-size: 79%;
	transition: background-color 0.3s, color 0.3s;
}

.navSocialLink:hover {
	background-color: #b78b1e;
	color: #ffffff;
}

.navContactLink:focus-visible,
.navSocialLink:focus-visible {
	outline: 2px solid #b78b1e;
	outline-offset: 2px;
}

/* Signed-in user badge (sits in .navFoot when logged in) */

.userChip {
	display: flex;
	align-items: center;
	gap: 12px;
}

.userChip .userName {
	color: #ffffff;
	font-weight: 600;
}

.userChip .userRole {
	color: #89858b;
}

.userChipText {
	font-size: 94%;
	line-height: 130%;
}

.userChip .userName,
.userChip .userRole {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.userChip .signOut {
	color: #b78b1e;
	font-size: 90%;
	text-decoration: none;
}

.userChip .signOut:hover,
.userChip .signOut:focus-visible {
	text-decoration: underline;
}

.siteHeader {
	display: none;
}

/* Mobile header controls (shown at 1024px and below) */

.miniLogo,
.menuButton {
	display: none;
}

.miniLogoImg {
	display: block;
	width: auto;
	height: 48px;
}

.menuButton {
	-webkit-appearance: none;
	appearance: none;
	position: relative;
	z-index: 9100;
	margin-left: auto;
	width: 44px;
	height: 44px;
	padding: 0px;
	border: 0px;
	border-radius: 7px;
	background-color: #111111;
	color: #b78b1e;
	cursor: pointer;
	align-items: center;
	justify-content: center;
	transition: background-color 0.3s;
}

.menuButton:hover {
	background-color: #292929;
}

.menuButton:focus-visible {
	outline: 2px solid #b78b1e;
	outline-offset: 2px;
}

.menuButtonBars,
.menuButtonBars::before,
.menuButtonBars::after {
	display: block;
	width: 22px;
	height: 2px;
	border-radius: 1px;
	background-color: currentColor;
	transition: transform 0.3s, background-color 0.3s;
}

.menuButtonBars {
	position: relative;
}

.menuButtonBars::before,
.menuButtonBars::after {
	content: "";
	position: absolute;
	left: 0px;
}

.menuButtonBars::before {
	top: -7px;
}

.menuButtonBars::after {
	top: 7px;
}

.menuButton[aria-expanded="true"] .menuButtonBars {
	background-color: transparent;
}

.menuButton[aria-expanded="true"] .menuButtonBars::before {
	transform: translateY(7px) rotate(45deg);
}

.menuButton[aria-expanded="true"] .menuButtonBars::after {
	transform: translateY(-7px) rotate(-45deg);
}


/* ==========================================================
   BREAKPOINTS
   ========================================================== */

/* Large laptop */

@media (max-width: 1440px) {
	.sidebar {
		width: 256px;
	}
}

/* Laptop */

@media (max-width: 1280px) {
	.sidebar {
		width: 240px;
		padding: 20px 12px;
	}

	.logoBlock {
		margin: 0px 6px 14px 6px;
	}
}

/* Large tablet and below — sidebar becomes the slide-out panel */

@media (max-width: 1024px) {
	.siteHeader {
		display: block;
		background-color: #111111;
	}

	.miniLogo {
		display: block;
	}

	.menuButton {
		display: flex;
		border: 1px solid rgba(183, 139, 30, 0.5);
	}

	.sidebar {
		position: fixed;
		top: 0px;
		right: 0px;
		bottom: 0px;
		z-index: 9050;
		width: 280px;
		max-width: 85vw;
		padding: 80px 16px 24px 16px;
		overflow-y: auto;
		border-left: 0px;
		transform: translateX(100%);
		visibility: hidden;
		transition: transform 0.3s ease, visibility 0s linear 0.3s;
	}

	.navOpen .sidebar {
		transform: translateX(0%);
		visibility: visible;
		box-shadow: -8px 0px 30px rgba(17, 17, 17, 0.4);
		transition: transform 0.3s ease, visibility 0s linear 0s;
	}

	.sidebar .logoBlock {
		display: none;
	}

	.navScrim {
		position: fixed;
		top: 0px;
		left: 0px;
		right: 0px;
		bottom: 0px;
		z-index: 9040;
		background-color: rgba(17, 17, 17, 0.55);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s, visibility 0s linear 0.3s;
	}

	.navOpen .navScrim {
		opacity: 1;
		visibility: visible;
		transition: opacity 0.3s, visibility 0s linear 0s;
	}

	body.navOpen {
		overflow: hidden;
	}
}

/* Small tablet and phone — panel adjustments if needed. */

@media (max-width: 740px) {

}
