:root {
	--df26-ink: #28235f;
	--df26-ink-soft: #544f6a;
	--df26-blue: #177b9d;
	--df26-cyan: #2da4d2;
	--df26-teal: #176f73;
	--df26-purple: #6854c8;
	--df26-violet: #8734c8;
	--df26-coral: #cf254f;
	--df26-yellow: #efc73f;
	--df26-paper: #f8f7f5;
	--df26-white: #ffffff;
	--df26-line: #e9e5ed;
}

body {
	color: var(--df26-ink-soft);
}

body.df26-home #main-header,
body.df26-home #top-header {
	display: none;
}

body.df26-home #page-container {
	padding-top: 0 !important;
}

body.df26-home #main-content {
	background: var(--df26-paper);
}

body.df26-home .et_pb_section {
	padding: 76px 0;
}

body.df26-home .df26-home-nav.et_pb_section {
	padding: 0;
	background: rgba(255, 255, 255, 0.97);
	border-bottom: 1px solid var(--df26-line);
}

body.df26-home .df26-home-nav .et_pb_row {
	display: flex;
	align-items: center;
	width: 90%;
	max-width: 1220px;
	padding: 16px 0;
}

.df26-wordmark,
.df26-wordmark p {
	margin: 0;
}

.df26-wordmark a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--df26-ink);
	text-decoration: none;
}

.df26-wordmark-logo {
	display: block;
	width: min(100%, 280px);
	height: auto;
}

#main-header .logo_container #logo {
	width: auto;
	max-height: 46px !important;
}

#main-header.et-fixed-header .logo_container #logo {
	max-height: 34px !important;
}

.df26-wordmark-mark {
	display: inline-grid;
	width: 41px;
	height: 41px;
	place-items: center;
	border-radius: 50% 40% 55% 45%;
	background: linear-gradient(145deg, var(--df26-blue), var(--df26-purple));
	color: var(--df26-white);
	font-size: 22px;
	transform: rotate(-8deg);
}

.df26-wordmark-text {
	font-size: 22px;
	font-weight: 800;
	font-style: italic;
	background: linear-gradient(90deg, var(--df26-blue), var(--df26-purple), var(--df26-violet));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.df26-primary-menu,
.df26-inline-menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 5px;
	width: fit-content;
	margin: 0 0 0 auto !important;
	padding: 6px !important;
	border: 1px solid rgba(40, 35, 95, 0.1);
	border-radius: 999px;
	background: #f6f7fc;
	box-shadow: 0 8px 28px rgba(40, 35, 95, 0.08);
	list-style: none !important;
}

.df26-primary-menu li,
.df26-inline-menu li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.df26-primary-menu li::marker,
.df26-inline-menu li::marker {
	content: "";
}

.df26-primary-menu a,
.df26-inline-menu a {
	display: block;
	padding: 9px 14px;
	border-radius: 999px;
	color: var(--df26-ink);
	font-size: 14px;
	font-weight: 750;
	line-height: 1.2;
	text-decoration: none;
	transition: color 160ms ease, background-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.df26-primary-menu a:hover,
.df26-primary-menu a:focus-visible,
.df26-inline-menu a:hover,
.df26-inline-menu a:focus-visible {
	background: var(--df26-white);
	color: var(--df26-purple);
	box-shadow: 0 5px 14px rgba(40, 35, 95, 0.12);
	transform: translateY(-1px);
	outline: none;
}

.df26-primary-menu a[aria-current="page"],
.df26-inline-menu a[aria-current="page"] {
	background: linear-gradient(115deg, var(--df26-blue), var(--df26-purple) 68%, var(--df26-violet));
	color: var(--df26-white) !important;
	box-shadow: 0 8px 20px rgba(80, 74, 185, 0.38);
}

/* WordPress navigation: allow extra/long labels and arbitrary ordering. */
.df26-wp-menu {
	max-width: 100%;
	border-radius: 25px;
}

.df26-wp-menu li {
	position: relative;
	max-width: 100%;
}

.df26-wp-menu a {
	overflow-wrap: anywhere;
}

.df26-wp-menu .menu-item-has-children > a {
	padding-right: 40px;
}

.df26-wp-menu .sub-menu {
	width: 100%;
	margin: 8px 0 0 !important;
	padding: 8px !important;
	border: 1px solid var(--df26-line);
	border-radius: 16px;
	background: #f6f7fc;
	list-style: none;
}

.df26-submenu-toggle {
	display: none;
	position: absolute;
	top: 3px;
	right: 2px;
	width: 34px;
	height: 30px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #f6f7fc;
	color: var(--df26-ink);
	font: inherit;
	cursor: pointer;
}

.df26-menu-enhanced .df26-submenu-toggle {
	display: block;
}

.df26-menu-enhanced .sub-menu {
	display: none;
}

.df26-menu-enhanced .df26-submenu-open > .sub-menu {
	display: block;
}

.df26-submenu-toggle[aria-expanded="true"] span {
	display: inline-block;
	transform: rotate(180deg);
}

.df26-submenu-toggle:focus-visible {
	outline: 2px solid var(--df26-ink);
	outline-offset: 2px;
}

@media (min-width: 981px) {
	.df26-menu-enhanced > li > .sub-menu {
		position: absolute;
		top: 100%;
		right: 0;
		z-index: 999;
		width: 260px;
		max-width: 85vw;
		box-shadow: 0 12px 28px rgba(40, 35, 95, 0.15);
	}
}

/* Complete homepage-style header used on every inner page. */
body:not(.df26-home) #page-container {
	padding-top: 0 !important;
}

body:not(.df26-home) #main-header.df26-global-header,
body:not(.df26-home) #main-header.df26-global-header.et-fixed-header {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	width: 100%;
	border: 0;
	background: transparent;
	box-shadow: none;
	transform: none !important;
}

.df26-site-topline {
	padding: 9px 5%;
	background: linear-gradient(90deg, var(--df26-blue), var(--df26-purple) 58%, var(--df26-violet));
}

.df26-site-topline p {
	margin: 0;
	padding: 0;
	color: var(--df26-white);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.55;
	letter-spacing: 0.08em;
	text-align: center;
}

.df26-site-navigation {
	border-bottom: 1px solid var(--df26-line);
	background: rgba(255, 255, 255, 0.97);
}

.df26-site-navigation-inner {
	display: flex;
	align-items: center;
	width: 90%;
	max-width: 1220px;
	margin: 0 auto;
	padding: 16px 0;
}

.df26-site-wordmark {
	display: flex;
	align-items: center;
	width: 33.333%;
	text-decoration: none;
}

.df26-site-wordmark .df26-wordmark-logo {
	width: min(100%, 280px);
	max-height: none !important;
}

.df26-site-menu {
	width: 66.667%;
}

.df26-global-header .df26-primary-menu {
	margin-left: auto !important;
}

/* Match Divi's desktop menu on inner pages to the homepage pill navigation. */
@media (min-width: 981px) {
	body:not(.df26-home) #main-header {
		border-bottom: 1px solid var(--df26-line);
		background: rgba(255, 255, 255, 0.98);
		box-shadow: 0 8px 28px rgba(40, 35, 95, 0.07);
	}

	body:not(.df26-home) #main-header .container {
		width: 90%;
		max-width: 1220px;
	}

	body:not(.df26-home) #et-top-navigation {
		display: flex;
		align-items: center;
		min-height: 96px;
		padding-top: 0 !important;
	}

	body:not(.df26-home) #top-menu-nav,
	body:not(.df26-home) #top-menu {
		display: flex;
		align-items: center;
	}

	body:not(.df26-home) #top-menu {
		gap: 5px;
		margin: 0;
		padding: 6px !important;
		border: 1px solid rgba(40, 35, 95, 0.1);
		border-radius: 999px;
		background: #f6f7fc;
		box-shadow: 0 8px 28px rgba(40, 35, 95, 0.08);
	}

	body:not(.df26-home) #top-menu > li {
		margin: 0;
		padding: 0;
	}

	body:not(.df26-home) #top-menu > li > a {
		display: block;
		padding: 9px 14px !important;
		border-radius: 999px;
		color: var(--df26-ink) !important;
		font-size: 14px;
		font-weight: 750;
		line-height: 1.2;
		transition: color 160ms ease, background-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
	}

	body:not(.df26-home) #top-menu > li > a:hover,
	body:not(.df26-home) #top-menu > li > a:focus-visible {
		background: var(--df26-white);
		color: var(--df26-purple) !important;
		box-shadow: 0 5px 14px rgba(40, 35, 95, 0.12);
		transform: translateY(-1px);
		opacity: 1;
		outline: none;
	}

	body:not(.df26-home) #top-menu > li.current-menu-item > a,
	body:not(.df26-home) #top-menu > li.current_page_item > a,
	body:not(.df26-home) #top-menu > li.current-menu-ancestor > a {
		background: linear-gradient(115deg, var(--df26-blue), var(--df26-purple) 68%, var(--df26-violet));
		color: var(--df26-white) !important;
		box-shadow: 0 8px 20px rgba(80, 74, 185, 0.38);
	}

	body:not(.df26-home) #et_top_search {
		display: none;
	}

	body:not(.df26-home) #main-header.et-fixed-header #et-top-navigation {
		min-height: 72px;
	}
}

body.df26-home .df26-topline.et_pb_section {
	padding: 9px 0;
	background: linear-gradient(90deg, var(--df26-blue), var(--df26-purple) 58%, var(--df26-violet));
}

/* Center the row itself: text-align alone centers inside a left-anchored row. */
body.df26-home .df26-topline .et_pb_row {
	width: 90%;
	max-width: 1220px;
	padding: 0;
	margin: 0 auto !important;
}

body.df26-home .df26-topline .et_pb_text {
	padding: 0;
	margin: 0;
	text-align: center;
}

.df26-topline p {
	color: var(--df26-white);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-align: center;
}

body.df26-home .df26-hero.et_pb_section {
	position: relative;
	overflow: hidden;
	padding: 86px 0 90px;
	background:
		radial-gradient(circle at 18% 22%, rgba(45, 164, 210, 0.09) 0 1px, transparent 2px) 0 0 / 11px 11px,
		var(--df26-paper);
}

body.df26-home .df26-hero::before,
body.df26-home .df26-hero::after {
	position: absolute;
	content: '';
	width: 220px;
	height: 220px;
	border-radius: 50%;
	pointer-events: none;
}

body.df26-home .df26-hero::before {
	left: -105px;
	bottom: -80px;
	background: rgba(239, 199, 63, 0.46);
}

body.df26-home .df26-hero::after {
	right: -90px;
	top: 58px;
	background: rgba(52, 161, 166, 0.22);
}

.df26-kicker {
	margin-bottom: 13px;
	color: var(--df26-coral);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.df26-hero-title h1 {
	margin: 0 0 20px;
	padding: 0;
	color: var(--df26-ink);
	font-size: clamp(42px, 5.5vw, 76px);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.045em;
}

.df26-hero-title p {
	max-width: 650px;
	color: var(--df26-ink-soft);
	font-size: 19px;
	line-height: 1.55;
}

.df26-hero-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 24px;
	margin: 23px 0 7px;
}

.df26-hero-fact {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--df26-ink);
	font-weight: 800;
}

.df26-button-primary.et_pb_button_module_wrapper,
.df26-button-secondary.et_pb_button_module_wrapper {
	display: inline-block;
	margin: 20px 10px 0 0 !important;
}

.df26-button-primary .et_pb_button,
.df26-button-secondary .et_pb_button {
	border-radius: 999px !important;
	font-size: 16px !important;
	font-weight: 800 !important;
}

.df26-button-primary .et_pb_button {
	border-color: var(--df26-coral) !important;
	background: var(--df26-coral) !important;
	color: var(--df26-white) !important;
}

.df26-button-secondary .et_pb_button {
	border: 2px solid var(--df26-ink) !important;
	background: transparent !important;
	color: var(--df26-ink) !important;
}

.df26-poster-card {
	position: relative;
	z-index: 2;
	padding: 12px;
	border-radius: 25px;
	background: var(--df26-white);
	box-shadow: 0 26px 65px rgba(40, 35, 95, 0.18);
	transform: rotate(1.5deg);
}

.df26-poster-card img {
	width: 100%;
	border-radius: 17px;
	cursor: zoom-in;
}

.df26-poster-card img:focus-visible {
	outline: 4px solid var(--df26-cyan);
	outline-offset: 5px;
}

.df26-poster-card .df26-video-trigger {
	position: relative;
	display: block;
	border-radius: 17px;
}

.df26-poster-card .df26-video-trigger img { cursor: pointer; }

.df26-video-trigger:focus-visible {
	outline: 4px solid var(--df26-cyan);
	outline-offset: 5px;
}

.df26-video-play {
	position: absolute;
	top: 50%;
	left: 50%;
	display: grid;
	width: clamp(60px, 7vw, 82px);
	height: clamp(60px, 7vw, 82px);
	border: 3px solid #fff;
	border-radius: 50%;
	background: rgba(40, 35, 95, .86);
	box-shadow: 0 5px 25px rgba(0, 0, 0, .3);
	transform: translate(-50%, -50%);
	place-items: center;
	pointer-events: none;
}

.df26-video-play svg { width: 38px; height: 38px; fill: #fff; }
.df26-video-trigger:hover .df26-video-play { background: #29235f; }

dialog.df26-video-lightbox {
	position: fixed;
	inset: 0;
	width: 100%;
	max-width: none;
	height: 100%;
	max-height: none;
	margin: 0;
	padding: 70px 18px 24px;
	border: 0;
	background: rgba(12, 10, 28, .94);
	color: #fff;
}

dialog.df26-video-lightbox[open] {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
}

.df26-video-lightbox::backdrop { background: rgba(12, 10, 28, .7); }
.df26-video-lightbox video {
	display: block;
	width: auto;
	height: auto;
	max-width: min(100%, 1100px);
	max-height: calc(100vh - 120px);
	max-height: calc(100dvh - 120px);
	object-fit: contain;
	background: #000;
	border-radius: 10px;
}
.df26-video-error { color: #fff; text-align: center; }
.df26-video-error a { color: #fff; text-decoration: underline; }

body.df26-lightbox-open {
	overflow: hidden;
}

.df26-poster-lightbox {
	position: fixed;
	z-index: 1000000;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 26px;
	background: rgba(12, 10, 28, 0.92);
}

.df26-poster-lightbox[hidden] {
	display: none;
}

.df26-poster-lightbox img {
	width: auto;
	max-width: min(92vw, 1100px);
	max-height: 92vh;
	border-radius: 10px;
	box-shadow: 0 28px 80px rgba(0, 0, 0, 0.55);
	object-fit: contain;
}

.df26-poster-lightbox-close {
	position: fixed;
	top: 18px;
	right: 22px;
	z-index: 1;
	display: grid;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 2px solid rgba(255, 255, 255, 0.75);
	border-radius: 50%;
	background: #211e43;
	color: var(--df26-white);
	font: 400 36px/1 Arial, sans-serif;
	place-items: center;
	cursor: pointer;
}

.df26-poster-lightbox-close:hover,
.df26-poster-lightbox-close:focus-visible {
	border-color: var(--df26-white);
	background: var(--df26-coral);
	outline: none;
}

.df26-countdown {
	margin-top: 20px;
	padding: 13px 17px;
	border-left: 4px solid var(--df26-yellow);
	background: rgba(255, 255, 255, 0.72);
	color: var(--df26-ink);
	font-weight: 700;
}

.df26-countdown strong {
	color: var(--df26-coral);
	font-size: 24px;
}

body.df26-home .df26-dark-section.et_pb_section {
	background: var(--df26-ink);
}

.df26-section-heading h2 {
	margin: 0 0 12px;
	padding: 0;
	color: var(--df26-ink);
	font-size: clamp(32px, 4.2vw, 48px);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.025em;
}

.df26-section-heading p {
	color: var(--df26-ink-soft);
	font-size: 17px;
	line-height: 1.65;
}

.df26-section-heading.df26-heading-light h2,
.df26-section-heading.df26-heading-light p {
	color: var(--df26-white);
}

.df26-day-card {
	height: 100%;
	padding: 28px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.09);
}

.df26-day-card h3 {
	color: var(--df26-yellow);
	font-size: 25px;
	font-weight: 800;
}

.df26-day-card p,
.df26-day-card li {
	color: var(--df26-white);
	line-height: 1.7;
}

.df26-day-card ul {
	margin: 12px 0 0;
}

.df26-feature-card {
	height: 100%;
	min-height: 200px;
	padding: 25px;
	border: 1px solid var(--df26-line);
	border-radius: 22px;
	background: var(--df26-white);
	box-shadow: 0 13px 32px rgba(40, 35, 95, 0.07);
}

.df26-feature-icon {
	display: inline-grid;
	width: 48px;
	height: 48px;
	place-items: center;
	border-radius: 16px;
	background: rgba(104, 84, 200, 0.12);
	font-size: 25px;
}

.df26-feature-card h3 {
	margin-top: 15px;
	color: var(--df26-ink);
	font-size: 22px;
	font-weight: 800;
}

.df26-feature-card p {
	color: var(--df26-ink-soft);
	line-height: 1.55;
}

body.df26-home .df26-concert-section.et_pb_section {
	background: var(--df26-teal);
}

.df26-video-placeholder {
	display: grid;
	min-height: 300px;
	place-items: center;
	padding: 30px;
	border-radius: 27px;
	background: linear-gradient(145deg, rgba(40, 35, 95, 0.94), rgba(104, 84, 200, 0.9));
	color: var(--df26-white);
	text-align: center;
}

.df26-video-play {
	display: grid;
	width: 68px;
	height: 68px;
	place-items: center;
	margin: 0 auto 15px;
	border-radius: 50%;
	background: var(--df26-yellow);
	color: var(--df26-ink);
	font-size: 27px;
}

.df26-concert-copy h2,
.df26-concert-copy h3,
.df26-concert-copy p {
	color: var(--df26-white);
}

.df26-concert-copy .df26-kicker {
	color: var(--df26-yellow);
}

.df26-concert-copy h2 {
	font-size: clamp(34px, 4.2vw, 52px);
	font-weight: 800;
	line-height: 1.05;
}

.df26-concert-copy p {
	font-size: 18px;
	line-height: 1.65;
}

.df26-concert-date {
	display: inline-block;
	margin-top: 10px;
	padding: 9px 13px;
	border-radius: 9px;
	background: var(--df26-yellow);
	color: var(--df26-ink);
	font-weight: 800;
}

.df26-location-card {
	min-height: 300px;
	padding: 36px;
	border-radius: 27px;
	background:
		linear-gradient(32deg, transparent 45%, rgba(255, 255, 255, 0.65) 46% 51%, transparent 52%),
		linear-gradient(-21deg, transparent 42%, rgba(255, 255, 255, 0.55) 43% 48%, transparent 49%),
		#add9e5;
}

.df26-location-pin {
	display: grid;
	width: 72px;
	height: 72px;
	place-items: center;
	margin: 68px auto 0;
	border-radius: 50% 50% 50% 0;
	background: var(--df26-coral);
	color: var(--df26-white);
	font-size: 20px;
	font-weight: 800;
	transform: rotate(-45deg);
}

.df26-location-pin span {
	transform: rotate(45deg);
}

.df26-press-card {
	padding: 40px;
	border-radius: 28px;
	background: linear-gradient(120deg, rgba(45, 164, 210, 0.14), rgba(135, 52, 200, 0.12));
}

.df26-press-card h2 {
	color: var(--df26-ink);
	font-size: clamp(30px, 4vw, 46px);
	font-weight: 800;
}

/* Homepage organizers, co-organizers, sponsor and supporters. */
.df26-partners-section.et_pb_section {
	padding: 76px 0 82px;
	border-top: 1px solid rgba(40, 35, 95, 0.08);
	background:
		radial-gradient(circle at 12% 18%, rgba(45, 164, 210, 0.08), transparent 24%),
		radial-gradient(circle at 88% 86%, rgba(135, 52, 200, 0.07), transparent 28%),
		var(--df26-white);
}

.df26-partners-section .et_pb_row {
	width: min(94%, 1400px);
	max-width: 1400px;
}

.df26-partners-heading {
	margin-bottom: 38px;
	text-align: center;
}

.df26-partners-heading .df26-kicker {
	margin-bottom: 8px;
}

.df26-partners-heading h2 {
	margin: 0;
	color: var(--df26-ink);
	font-size: clamp(30px, 3.6vw, 46px);
	font-weight: 800;
	line-height: 1.12;
}

.df26-partner-grid {
	display: grid;
	grid-template-columns: minmax(170px, 1fr) minmax(300px, 1.5fr) minmax(150px, 0.85fr) minmax(330px, 1.65fr);
	align-items: stretch;
	overflow: hidden;
	border: 1px solid rgba(40, 35, 95, 0.1);
	border-radius: 26px;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 18px 52px rgba(40, 35, 95, 0.09);
}

.df26-partner-group {
	min-width: 0;
	padding: 20px 22px 16px;
	border-left: 1px solid rgba(40, 35, 95, 0.1);
	text-align: center;
}

.df26-partner-group:first-child {
	border-left: 0;
}

.df26-partner-group h3 {
	display: flex;
	width: 100%;
	min-height: 32px;
	margin: 0 0 12px;
	align-items: center;
	justify-content: center;
	color: var(--df26-ink-soft);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.1em;
	line-height: 1.35;
	text-align: center;
	text-transform: none;
}

.df26-partner-logos {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 18px;
	height: calc(100% - 40px);
}

.df26-partner-logo {
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	min-width: 0;
	margin: 0;
}

.df26-partner-logo img {
	display: block;
	width: auto;
	max-width: 100%;
	height: 104px;
	margin: 0 auto;
	object-fit: contain;
}

.df26-partner-logo--wide img {
	height: 76px;
	margin-top: 14px;
}

.df26-partner-group--support .df26-partner-logo img {
	height: 82px;
}

.df26-partner-group--support .df26-partner-logo--wide img {
	height: 70px;
	margin-top: 8px;
}

/* Keep the two co-organizer marks on one centered horizontal line. */
.df26-partner-group--coorganizers .df26-partner-logos {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: center;
	gap: 18px;
}

.df26-partner-group--coorganizers .df26-partner-logo {
	width: 100%;
	flex: none;
}

.df26-partner-group--coorganizers .df26-partner-logo--square img {
	width: auto;
	height: 104px;
}

.df26-partner-group--coorganizers .df26-partner-logo--wide img {
	width: min(100%, 145px);
	height: auto;
	max-height: 64px;
	margin-top: 0;
}

.df26-partner-group--accessibility .df26-partner-logo--wide img {
	width: 150px;
	height: 104px;
	max-width: 100%;
	margin-top: 0;
	object-fit: contain;
	transform: translateY(-12px);
}

.df26-partner-logo figcaption {
	display: none;
}

@media (max-width: 1100px) {
	.df26-partner-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.df26-partner-group:nth-child(odd) {
		border-left: 0;
	}

	.df26-partner-group:nth-child(n + 3) {
		border-top: 1px solid rgba(40, 35, 95, 0.1);
	}
}

@media (max-width: 620px) {
	.df26-partners-section.et_pb_section {
		padding: 58px 0 62px;
	}

	.df26-partners-heading {
		margin-bottom: 28px;
	}

	.df26-partner-grid {
		grid-template-columns: 1fr;
		border-radius: 20px;
	}

	.df26-partner-group,
	.df26-partner-group:nth-child(odd) {
		padding: 24px 20px;
		border-top: 1px solid rgba(40, 35, 95, 0.1);
		border-left: 0;
	}

	.df26-partner-group:first-child {
		border-top: 0;
	}

	.df26-partner-logos {
		flex-wrap: wrap;
	}

	.df26-partner-logo {
		flex: 1 1 120px;
	}

	.df26-partner-logo figcaption {
		max-width: 180px;
	}
}

/* Social row, legal links and copyright inside the black Divi footer. */
#main-footer {
	background: #171717;
}

/* Preserve the original column proportions when ATLAS occupies a fifth column. */
@media (min-width: 1101px) {
	.df26-partner-grid:has(.df26-partner-group--accessibility) {
		grid-template-columns: minmax(170px, 1fr) minmax(300px, 1.5fr) minmax(150px, 0.85fr) minmax(330px, 1.65fr) minmax(180px, 0.9fr);
	}
}

.df26-footer-social {
	width: 90%;
	max-width: 1220px;
	margin: 0 auto;
	padding: 24px 0 0;
}

#df26-footer-social ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

#df26-footer-social li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

#df26-footer-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px !important;
	height: 40px !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #fff !important;
	text-decoration: none;
}

#df26-footer-social a::before {
	width: 40px;
	height: 40px;
	color: #fff !important;
	font-size: 18px;
	line-height: 40px;
	text-align: center;
}

#df26-footer-social svg {
	display: block;
	width: 18px;
	height: 18px;
	fill: currentColor;
}

#df26-footer-social a:hover {
	opacity: 0.75;
}

#df26-footer-social a:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 4px;
}

#df26-footer-social [hidden],
.df26-partners-section .et_pb_row[hidden],
.df26-partners-section .et_pb_column[hidden] {
	display: none !important;
}

#main-footer #footer-widgets,
#footer-bottom .et-social-icons {
	display: none !important;
}

#et-footer-nav,
#footer-bottom {
	background: transparent;
}

#et-footer-nav .container,
#footer-bottom .container {
	text-align: center;
}

#et-footer-nav .bottom-nav {
	padding: 20px 0 8px;
}

#et-footer-nav .bottom-nav li {
	padding-right: 0;
}

#et-footer-nav .bottom-nav li + li::before {
	margin: 0 10px;
	color: rgba(255, 255, 255, 0.55);
	content: "·";
}

#et-footer-nav .bottom-nav a,
#footer-info {
	color: var(--df26-white);
}

#et-footer-nav .bottom-nav a:hover {
	color: var(--df26-cyan);
	opacity: 1;
}

#footer-bottom {
	padding: 8px 0 20px;
}

#footer-info {
	float: none;
	padding-bottom: 0;
	text-align: center;
}

/* Contact page. */
.df26-contact-section.et_pb_section {
	padding: 36px 0 86px;
	background: var(--df26-paper);
}

.df26-contact-intro {
	padding: 22px 28px 22px 0;
}

.df26-contact-intro h2 {
	color: var(--df26-ink);
	font-size: clamp(30px, 4vw, 44px);
	font-weight: 800;
	line-height: 1.1;
}

.df26-contact-intro p {
	color: var(--df26-ink-soft);
	font-size: 17px;
	line-height: 1.7;
}

.df26-contact-form {
	padding: 34px;
	border: 1px solid var(--df26-line);
	border-radius: 24px;
	background: var(--df26-white);
	box-shadow: 0 20px 55px rgba(40, 35, 95, 0.1);
}

.df26-contact-form .et_pb_contact_main_title {
	margin-bottom: 22px;
	color: var(--df26-ink);
	font-size: 28px;
	font-weight: 800;
}

.df26-contact-form .et_pb_contact_field {
	margin-bottom: 18px;
}

.df26-contact-form .input,
.df26-contact-form textarea {
	padding: 15px 17px !important;
	border: 1px solid rgba(40, 35, 95, 0.13) !important;
	border-radius: 14px !important;
	background: #f6f7fc !important;
	color: var(--df26-ink) !important;
	font-size: 16px !important;
}

.df26-contact-form textarea {
	min-height: 170px;
}

.df26-contact-form .input:focus,
.df26-contact-form textarea:focus {
	border-color: var(--df26-cyan) !important;
	box-shadow: 0 0 0 3px rgba(45, 164, 210, 0.15);
	outline: none;
}

.df26-contact-form .et_pb_contact_submit {
	padding: 11px 24px !important;
	background: linear-gradient(115deg, var(--df26-blue), var(--df26-purple) 68%, var(--df26-violet)) !important;
	color: var(--df26-white) !important;
	box-shadow: 0 8px 20px rgba(80, 74, 185, 0.25);
}

.df26-contact-form .et_pb_contact_submit:hover,
.df26-contact-form .et_pb_contact_submit:focus-visible {
	box-shadow: 0 10px 24px rgba(80, 74, 185, 0.38);
	transform: translateY(-1px);
}

@media (max-width: 980px) {
	body:not(.df26-home) #main-header {
		border-bottom: 1px solid var(--df26-line);
		box-shadow: 0 8px 28px rgba(40, 35, 95, 0.07);
	}

	body:not(.df26-home) .mobile_menu_bar::before {
		color: var(--df26-purple);
	}

	body:not(.df26-home) .et_mobile_menu {
		padding: 10px;
		border-top: 3px solid var(--df26-purple);
		border-radius: 0 0 18px 18px;
		box-shadow: 0 18px 38px rgba(40, 35, 95, 0.14);
	}

	body:not(.df26-home) .et_mobile_menu li a {
		border-bottom: 0;
		border-radius: 12px;
		color: var(--df26-ink);
		font-weight: 700;
	}

	body:not(.df26-home) .et_mobile_menu li.current-menu-item > a,
	body:not(.df26-home) .et_mobile_menu li.current_page_item > a {
		background: linear-gradient(115deg, var(--df26-blue), var(--df26-purple) 68%, var(--df26-violet));
		color: var(--df26-white);
	}
}

/* Inner starter pages. */
.df26-inner-hero.et_pb_section {
	padding: 86px 0;
	background: linear-gradient(115deg, var(--df26-ink), var(--df26-purple));
}

.df26-inner-hero h1,
.df26-inner-hero p {
	color: var(--df26-white);
}

.df26-inner-hero h1 {
	font-size: clamp(40px, 6vw, 68px);
	font-weight: 800;
	line-height: 1;
}

.df26-content-panel {
	padding: 34px;
	border: 1px solid var(--df26-line);
	border-radius: 22px;
	background: var(--df26-white);
}

.df26-content-panel h2,
.df26-content-panel h3 {
	color: var(--df26-ink);
	font-weight: 800;
}

.df26-content-panel p,
.df26-content-panel li {
	font-size: 17px;
	line-height: 1.75;
}

@media (max-width: 980px) {
	body.df26-home .df26-home-nav .et_pb_row,
	.df26-site-navigation-inner {
		display: block;
	}

	.df26-site-wordmark,
	.df26-site-menu {
		width: 100%;
	}

	.df26-primary-menu,
	.df26-inline-menu {
		justify-content: flex-start;
		margin: 14px 0 0 !important;
	}

	.df26-poster-card {
		max-width: 540px;
		margin: 35px auto 0;
		transform: none;
	}

	.df26-feature-card {
		margin-bottom: 18px;
	}
}

@media (max-width: 767px) {
	body.df26-home .et_pb_section {
		padding: 58px 0;
	}

	body.df26-home .df26-hero.et_pb_section {
		padding: 60px 0 65px;
	}

	.df26-topline p {
		font-size: 11px;
		letter-spacing: 0.04em;
	}

	.df26-site-topline p {
		font-size: 11px;
		letter-spacing: 0.04em;
	}

	.df26-wordmark-text {
		font-size: 19px;
	}

	.df26-wordmark-logo {
		width: min(100%, 240px);
	}

	.df26-primary-menu,
	.df26-inline-menu {
		width: 100%;
		border-radius: 20px;
	}

	.df26-primary-menu li,
	.df26-inline-menu li {
		flex: 1 1 auto;
	}

	.df26-primary-menu a,
	.df26-inline-menu a {
		padding: 10px 12px;
		text-align: center;
	}

	.df26-hero-title h1 {
		font-size: 43px;
	}

	.df26-hero-title p,
	.df26-section-heading p,
	.df26-concert-copy p {
		font-size: 16px;
	}

	.df26-button-primary.et_pb_button_module_wrapper,
	.df26-button-secondary.et_pb_button_module_wrapper {
		display: block;
		margin-right: 0 !important;
	}

	.df26-button-primary .et_pb_button,
	.df26-button-secondary .et_pb_button {
		width: 100%;
		text-align: center;
	}

	.df26-day-card,
	.df26-press-card,
	.df26-content-panel {
		padding: 24px;
	}
}

/* Open Call: native Divi columns and buttons, ready for two Instagram embeds. */
.df26-open-call-hero.et_pb_section {
	padding: 64px 0;
}

.df26-open-call-hero h1 {
	font-size: clamp(34px, 5vw, 60px);
	line-height: 1.15;
}

.df26-open-call-hero p:not(.df26-kicker) {
	max-width: 760px;
	margin-top: 16px;
	font-size: 18px;
	line-height: 1.7;
}

.df26-open-call-section.et_pb_section {
	padding: 48px 0 80px;
	background: var(--df26-paper);
}

.df26-open-call-row.et_pb_row {
	width: 90%;
	max-width: 1120px;
	padding: 0;
}

.df26-call-card.et_pb_column {
	min-width: 0;
	padding: 32px;
	border: 1px solid var(--df26-line);
	border-top: 5px solid var(--df26-blue);
	border-radius: 22px;
	background: var(--df26-white);
	box-shadow: 0 16px 40px rgba(40, 35, 95, 0.07);
}

.df26-call-card--speakers.et_pb_column {
	border-top-color: var(--df26-purple);
}

.df26-call-card .df26-kicker {
	color: var(--df26-blue);
}

.df26-call-card--speakers .df26-kicker {
	color: var(--df26-purple);
}

.df26-call-intro h2 {
	color: var(--df26-ink);
	font-size: clamp(27px, 3vw, 34px);
	font-weight: 800;
	line-height: 1.2;
}

.df26-call-intro p {
	color: var(--df26-ink-soft);
	font-size: 17px;
	line-height: 1.7;
}

.df26-call-card .et_pb_module {
	margin-bottom: 24px;
}

.df26-call-card .et_pb_module:last-child {
	margin-bottom: 0;
}

.df26-open-call-section .df26-call-button.et_pb_button {
	display: inline-block;
	max-width: 100%;
	padding: 13px 20px !important;
	border: 0 !important;
	border-radius: 12px;
	background: var(--df26-blue);
	color: var(--df26-white) !important;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5 !important;
	text-align: center;
	white-space: normal;
}

.df26-call-card--speakers .df26-call-button.et_pb_button {
	background: var(--df26-purple);
}

.df26-open-call-section .df26-call-button.et_pb_button::after {
	display: none;
}

.df26-open-call-section .df26-call-button.et_pb_button:hover {
	background: var(--df26-ink);
}

.df26-open-call-section .df26-call-button.et_pb_button:focus-visible {
	outline: 3px solid var(--df26-ink);
	outline-offset: 4px;
}

.df26-call-instagram .instagram-media,
.df26-call-instagram iframe {
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.df26-instagram-placeholder {
	display: none;
}

/* Keep empty slots discoverable/editable without exposing instructions publicly. */
body.et-fb .df26-instagram-placeholder {
	display: block;
	padding: 24px;
	border: 2px dashed var(--df26-line);
	border-radius: 12px;
	color: var(--df26-ink-soft);
	font-size: 15px;
	line-height: 1.6;
}

@media (max-width: 980px) {
	.df26-open-call-row.et_pb_row {
		max-width: 640px;
	}

	.df26-open-call-row > .df26-call-card.et_pb_column {
		margin-bottom: 28px;
	}

	.df26-open-call-row > .df26-call-card.et_pb_column:last-child {
		margin-bottom: 0;
	}
}

@media (max-width: 767px) {
	.df26-open-call-hero.et_pb_section {
		padding: 40px 0;
	}

	.df26-open-call-hero .et_pb_row {
		width: 90%;
	}

	.df26-call-card.et_pb_column {
		padding: 24px 18px;
	}

	.df26-open-call-section .df26-call-button.et_pb_button {
		width: 100%;
	}
}

/* The saved program row has desktop-only 45% width / 400px height in Divi.
 * Override those dimensions only when columns stack. Use the stable section ID,
 * not generated row numbers, and leave the saved page/video module untouched. */
@media (max-width: 980px) {
	body.df26-home #df26-program.et_pb_section {
		height: auto !important;
		max-height: none !important;
		padding: 48px 0 !important;
	}

	body.df26-home #df26-program > .et_pb_row {
		display: block;
		width: calc(100% - 40px) !important;
		max-width: 680px !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		margin: 0 auto !important;
		padding: 0 !important;
	}

	body.df26-home #df26-program > .et_pb_row + .et_pb_row {
		margin-top: 28px !important;
	}

	body.df26-home #df26-program > .et_pb_row > .et_pb_column {
		float: none;
		width: 100% !important;
		height: auto !important;
		min-width: 0;
		max-height: none !important;
		margin: 0 0 28px !important;
	}

	body.df26-home #df26-program > .et_pb_row > .et_pb_column:last-child {
		margin-bottom: 0 !important;
	}

	body.df26-home #df26-program .et_pb_video {
		width: 100%;
		max-width: 340px;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	body.df26-home #df26-program .df26-concert-copy h2 {
		font-size: clamp(28px, 8vw, 36px);
		line-height: 1.18;
		word-break: normal;
		overflow-wrap: normal;
		hyphens: manual;
	}

	body.df26-home #df26-program .df26-concert-date {
		max-width: 100%;
		white-space: normal;
		text-align: center;
		line-height: 1.5;
	}
}

@media (max-width: 767px) {
	body.df26-home #df26-program .et_pb_video {
		max-width: 280px;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}
